feat: add Russian language support#3212
Conversation
Add Russian (Русский) as a supported UI language: - Add Ru variant to UiLanguage enum in Rust backend - Add RU to generated TypeScript types - Add Russian to i18n language configuration and dropdown - Add Russian translation files (common, settings, projects, tasks, organization) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Russian requires 4 plural forms per Intl.PluralRules: - _one: 1, 21, 31... (файл) - _few: 2-4, 22-24... (файла) - _many: 5-20, 25-30... (файлов) - _other: fractional numbers (файлов) Added _few and _many forms for all 15 pluralized keys in common.json and tasks.json. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Aggressive review summary — PR #32121841-line addition of Russian (ru) language support across 9 locale files. Verdict: same as the rest of the queued language-pack PRs — maintainer policy decision; recommend batched ruling. Why this is a policy decisionThe diff is almost entirely translation values. Code-quality review can't substitute for native-Russian linguistic review. Mechanically: if the Sunsetting contextThe repo is sunsetting (banner #3388, project routes #3387). New locales cost translator effort and signal long-term support to that language community. Currently queued language-pack PRs: this one (#3212 Russian), #3096 (Portuguese), #3288 (Hebrew), #2785 (Turkish), #2434 (Turkish — different author). Recommendation to the maintainer: pick a single policy and apply to all queued language packs simultaneously. Splitting decisions PR-by-PR creates unfair-treatment perception across contributor communities. Three options:
Findings (technical)
VerdictDefer. Bundle with #3096, #3288, #2785, #2434 for a single ruling. — Reviewed by automated single-pass review (i18n batch policy decision; same shape as #3096 — see that comment for the option matrix). |

Summary
Ruvariant toUiLanguageenum in Rust backend (v6.rs)shared/types.ts) to includeRUlanguages.ts,config.ts)Test plan
cargo testto ensure Rust enum changes compilenode scripts/check-unused-i18n-keys.mjsto verify translation coverage🤖 Generated with Claude Code
Note
Low Risk
Low risk: this is primarily additive i18n work (new locale resources and wiring) plus a small enum/type expansion for language selection.
Overview
Adds Russian (RU) as a supported UI language end-to-end: extends the Rust
UiLanguageenum and generatedshared/types.tsunion, updates web i18n language mappings/config to recognizeRU/ru, and registers Russian resource bundles.Includes full Russian translation JSONs for the
common,settings,projects,tasks, andorganizationnamespaces so selecting RU in settings can render translated strings.Written by Cursor Bugbot for commit bea62a2. This will update automatically on new commits. Configure here.