Skip to content

Add Ukrainian, Vietnamese and Turkish translations - #169

Merged
Nachtalb merged 4 commits into
masterfrom
feat/i18n-uk-vi-tr
Aug 13, 2026
Merged

Add Ukrainian, Vietnamese and Turkish translations#169
Nachtalb merged 4 commits into
masterfrom
feat/i18n-uk-vi-tr

Conversation

@Nachtalb

Copy link
Copy Markdown
Owner

Adds three more UI languages: Ukrainian (uk), Vietnamese (vi) and
Turkish (tr). Catalog count goes 15 → 18.

Unlike the previous batch, these were picked from actual usage rather than a
world-population ranking. A read-only query against the production
users.language_code column (6,439 users) put them as the three largest locales
with no catalog:

code users share
uk 56 0.88%
vi 40 0.63%
tr 34 0.53%

Everything below these drops to ko 15, ms 13, nl 13, th 11 and then single
digits across 40 distinct codes, so this is where the returns flatten out.
Coverage of users with a known language goes from ~96.3% to ~98.3%.

Purely additive — no behaviour change. Each language is one TOML catalog plus
one entry in _LANG_NAMES for the /settings picker; auto-detection off
Telegram's language_code starts working immediately.

Verification

Each catalog was checked against en.toml for identical key sets and ordering,
identical {placeholder} sets per key, identical HTML tag sequences, matching
\n counts and no untranslated leftovers. _LANG_NAMES and the shipped
*.toml files are asserted to be the same set.

Full local gate green: ruff check, ruff format --check, ty check,
pytest (558 passed).

Adds the three new catalogs to _LANG_NAMES so they are selectable via /settings, and updates the i18n catalog-count tests 15 -> 18.
@Nachtalb
Nachtalb merged commit d0cff42 into master Aug 13, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant