Skip to content

i18n: add machine translations for all missing keys (ru, de, it, pt_BR, zh_Hans, zh_Hant) - #1570

Open
bhuvan-somisetty wants to merge 6 commits into
joinmarket-webui:develfrom
bhuvan-somisetty:i18n/ru-fill-missing
Open

bhuvan-somisetty wants to merge 6 commits into
joinmarket-webui:develfrom
bhuvan-somisetty:i18n/ru-fill-missing

Conversation

@bhuvan-somisetty

@bhuvan-somisetty bhuvan-somisetty commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

What does this PR do?

Fills in all missing translations for ru, de, it, pt_BR, zh_Hans and zh_Hant with machine translations, same approach as the fr one in #1565 (AI translation beats falling back to English; anyone who finds a better wording can improve it with a PR). Every locale except fr now has all 874 en keys.

Locale Keys before Added Notes
ru 498 394 + 42 few/many plural forms e.g. 1 транзакция / 3 транзакции / 5 транзакций
de 445 429 informal "du", like the existing strings
it 405 477 + many forms
pt_BR 405 477 + many forms
zh_Hans 426 448
zh_Hant 426 448 converted from the new zh_Hans strings with OpenCC (cn -> t), the same character set the existing zh_Hant strings use
  • Existing translations are not touched, only missing keys are added
  • Terminology follows the existing strings of each locale (e.g. Банка / Glas / Vaso / Frasco / 罐子 for jar, Fidelity Bond as Fidelity Bond / título de fidelidade / 保证金)
  • Each file now follows the key order of en, which makes future diffs easier to compare
  • One commit per language, so they can be reviewed separately

Builds on #1541: that PR adds the locale checks (variables, <Trans> components, plural forms) these translations were validated against. Only the i18n(<lang>): ... commits are new here; I'll rebase once #1541 is merged.

Testing

  • npx vitest run --project unit src/i18n passes: every {{ variable }}, <n> component and $t() reference matches en, and all plural forms each language needs are present
  • Checked with a script that none of the existing strings changed
  • Rendered with i18next, e.g. earn.report.chart_tooltip_transactions for 1 / 3 / 5 / 21: 1 транзакция / 3 транзакции / 5 транзакций / 21 транзакция, 1 Transaktion / 3 Transaktionen ..., 1 笔交易 ..., and the nested $t(...) precondition hints
  • prettier --check is clean

Visual Demo (For contributors especially)

Image Demo (if applicable):

Storybook per locale (before = #1541, after = this PR):

Before After
ru before ru after
ru before ru after
ru before ru after
ru before ru after
de before de after
de before de after
it before it after
it before it after
pt-BR before pt-BR after
pt-BR before pt-BR after
zh-Hans before zh-Hans after
zh-Hans before zh-Hans after
zh-Hant before zh-Hant after
zh-Hant before zh-Hant after

@bhuvan-somisetty bhuvan-somisetty changed the title i18n(ru): add machine translations for all missing keys i18n: add machine translations for all missing keys (ru, de, it, pt_BR, zh_Hans, zh_Hant) Oct 23, 2026
@bhuvan-somisetty

Copy link
Copy Markdown
Contributor Author

added de, it, pt_BR, zh_Hans and zh_Hant to this PR as well (one commit per language), so every locale except fr (#1565) now has all keys. screenshots for each are in the description

Fill the 394 keys that were missing in ru with machine translations,
plus the 42 few/many plural forms they need. Existing ru strings are
unchanged; the file now follows the key order of en.

Signed-off-by: bhuvan-somisetty <somisettybhuvan5@gmail.com>
Signed-off-by: bhuvan-somisetty <somisettybhuvan5@gmail.com>
Signed-off-by: bhuvan-somisetty <somisettybhuvan5@gmail.com>
Signed-off-by: bhuvan-somisetty <somisettybhuvan5@gmail.com>
Signed-off-by: bhuvan-somisetty <somisettybhuvan5@gmail.com>
Converted from the new zh_Hans strings with OpenCC (cn -> t), the same
character set the existing zh_Hant strings use.

Signed-off-by: bhuvan-somisetty <somisettybhuvan5@gmail.com>

This branch has not been deployed

No deployments
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