Skip to content

feat(i18n): add Russian (ru) locale for desktop app - #86273

Closed
Fenick2 wants to merge 1 commit into
NousResearch:mainfrom
Fenick2:feat/ru-locale
Closed

feat(i18n): add Russian (ru) locale for desktop app#86273
Fenick2 wants to merge 1 commit into
NousResearch:mainfrom
Fenick2:feat/ru-locale

Conversation

@Fenick2

@Fenick2 Fenick2 commented Aug 14, 2026

Copy link
Copy Markdown

Summary

Adds a complete Russian (ru) translation for the Hermes Desktop app.

  • New apps/desktop/src/i18n/ru.ts with full translation (3093 lines), validated against the Translations type with tsc (zero errors).
  • Registers ru in the Locale type (types.ts), the TRANSLATIONS catalog (catalog.ts), and LOCALE_OPTIONS / aliases (languages.ts).
  • Adds ru, ru-ru, russian, русский locale aliases.

Test plan

  • npx tsc -p . --noEmit passes with the new file (no errors in ru.ts)
  • Built the desktop bundle; Русский appears in the language picker
  • Selected Russian in Settings → Appearance → Language; UI switches to Russian

Users with display.language: ru now get a fully localized desktop interface.

🤖 Generated with Claude Code

- Add apps/desktop/src/i18n/ru.ts with full Russian translation
- Register 'ru' in Locale type, catalog, and LOCALE_OPTIONS
- Add ru/ru-ru/russian/русский aliases
@alt-glitch alt-glitch added type/feature New feature or request P3 Low — cosmetic, nice to have comp/desktop Electron desktop app (apps/desktop/*) area/i18n Localization, locales, translations sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades duplicate This issue or pull request already exists labels Aug 14, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

This was generated by AI during triage.

Duplicate of #72250. Both add the Russian Desktop locale through the same catalog, language alias, locale file, and type-registration mechanism; #72250 is the current canonical implementation with regression coverage.

@Enough1122

Copy link
Copy Markdown
Contributor

AI code review — automated review for reference, author can ignore or act on any point.

feat(i18n): add Russian (ru) locale for desktop app

Large, complete translation addition — the Translations type gives compile-time key parity, and the plural helper correctly implements Russian 1/few/many rules (including the mod100 == 11 / 12–14 exceptions). Observations:

  1. A prior triage comment flags this as a duplicate of feat(i18n): add complete Russian desktop locale #72250 (same catalog/locale/alias/type-registration mechanism). Worth coordinating before merge to avoid a duplicate-merge or a conflict on catalog.ts/languages.ts — if feat(i18n): add complete Russian desktop locale #72250 is canonical, this PR should either supersede it explicitly or be closed in its favor.

  2. The plural helper is defined inside ru.ts — if the Arabic locale (or a future Slavic one) defines its own copy, the pluralization logic will be duplicated per-locale and can drift. Consider extracting the plural rules into a shared helper (parameterized by language) that all locales use, so 1/2/5 уведомление-style rules stay consistent across the catalog.

  3. Minor style: providerCustomEndpoints: "Свои endpoint'ы" uses a transliterated plural ("endpoint'ы") which reads as slang; a native phrasing like «Свои конечные точки» or «Свои эндпоинты» would fit the settings context better. Also the embedsReset continuation line (around the Сбросить ${count} … entry) has inconsistent indentation — cosmetic.

@Fenick2

Fenick2 commented Aug 17, 2026

Copy link
Copy Markdown
Author

Superseded by #72250 (canonical Russian locale PR). Closing as duplicate.

@Fenick2 Fenick2 closed this Aug 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/i18n Localization, locales, translations comp/desktop Electron desktop app (apps/desktop/*) duplicate This issue or pull request already exists P3 Low — cosmetic, nice to have 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.

3 participants