feat(i18n): add Russian locale#3298
Conversation
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.
| "label": "Скрипт очистки (Cleanup)", | ||
| "helper": "Этот скрипт запускается внутри worktree после выполнения кодинг-агента, только если были внесены изменения. Используйте его для задач контроля качества, таких как запуск линтеров, форматировщиков, тестов или других этапов проверки.", | ||
| "parallelLabel": null, | ||
| "parallelHelper": null |
There was a problem hiding this comment.
Null values for nonexistent keys in cleanup section
Low Severity
The Russian locale adds "parallelLabel": null and "parallelHelper": null inside settings.repos.scripts.cleanup, but the English source locale (and every other locale) does not have these keys in the cleanup section — they only exist in the setup section. These are spurious keys with null values that don't correspond to any source key. Additionally, null values in JSON translation files bypass the get_json_keys and flattenStrings validation helpers (which filter for string-typed values), so the existing i18n consistency checks silently skip them.


Summary
Stacking
This PR is stacked on top of #3297.
Please review/merge #3297 first, then review this PR commit-by-commit or after rebasing.
Validation
QA / review notes
Note
Low Risk
Low risk: changes are primarily additive i18n resources and docs, with a small config/type expansion (
UiLanguage::RU) that could affect language selection but not core logic.Overview
Adds Russian as a selectable UI language end-to-end by extending the backend
UiLanguageenum / generated sharedUiLanguagetype and registeringRU→ruplus the Russian endonym in the frontend language registry.Registers Russian translation resources in the i18n config and introduces a full
rulocale pack across the existing namespaces (common,settings,projects,tasks,organization).Improves contributor workflow by documenting the i18n process (
docs/i18n.md), adding locale helper scripts (scripts/create-locale.mjs,scripts/check-locale-translation.mjs), and wiring them intopackage.jsonaslocale:newandlocale:check.Written by Cursor Bugbot for commit aa9eede. This will update automatically on new commits. Configure here.