Skip to content

feat(desktop): added Russian language - #40701

Open
ponkalapon wants to merge 11 commits into
NousResearch:mainfrom
ponkalapon:feat/ru-i18n
Open

feat(desktop): added Russian language#40701
ponkalapon wants to merge 11 commits into
NousResearch:mainfrom
ponkalapon:feat/ru-i18n

Conversation

@ponkalapon

Copy link
Copy Markdown

Summary

  • added Russian (ru) locale to Hermes Desktop

@alt-glitch alt-glitch added type/feature New feature or request P3 Low — cosmetic, nice to have labels Jun 6, 2026
Comment thread apps/desktop/src/i18n/languages.ts Outdated
'ru-md': 'ru',
ru_md: 'ru',
'be': 'ru',
'uk': 'ru',

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚨 Russian imperialism alert: this change claims that the Ukrainian, Belarusian, and Kazakh languages ​​are actually Russian.

@teknium1 teknium1 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the Russian Desktop locale contribution. Current main still lacks ru: apps/desktop/src/i18n/catalog.ts:7-11 registers only en, zh, zh-hant, and ja; apps/desktop/src/i18n/types.ts:8 likewise excludes it. The linked maintainer triage on #53643 identifies this PR as the earliest canonical member of the duplicate cluster.

Problems

  • apps/desktop/src/i18n/languages.ts:83-85 maps be, uk, and kk to Russian. Belarusian, Ukrainian, and Kazakh are distinct languages; these aliases should not select ru.
  • The diff changes no tests. Current coverage validates aliases, persistence, and runtime text for existing locales in apps/desktop/src/i18n/languages.test.ts:6-42, context.test.tsx:187-209, and runtime.test.ts:31-47; add equivalent ru/ru-RU coverage.

Suggested changes

  • Keep only Russian language tags in the ru alias set.
  • Add normalization, config-persistence, and runtime-translation tests for Russian.
  • Salvage the semantic changes against current i18n files without the whole-file line-ending rewrites.

Automated hermes-sweeper review.

Comment thread apps/desktop/src/i18n/languages.ts Outdated
ru_kz: 'ru',
'ru-md': 'ru',
ru_md: 'ru',
'be': 'ru',

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

be, uk, and kk are Belarusian, Ukrainian, and Kazakh rather than Russian. Please remove these aliases so configuring one of those language tags does not silently select the Russian UI.

@teknium1 teknium1 added sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades sweeper:blast-contained Sweeper blast radius: contained — one narrow path / opt-in / few users labels Jul 14, 2026
@gramizor

Copy link
Copy Markdown

@ponkalapon, я подготовил продолжение вашего PR поверх feat/ru-i18n: ponkalapon#1

Ветка синхронизирована с current main, закрывает Russian Desktop i18n и проходит проверки. Upstream locale-PR не создавал — исходный #40701 и ваше авторство сохранены.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P3 Low — cosmetic, nice to have sweeper:blast-contained Sweeper blast radius: contained — one narrow path / opt-in / few users sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants