Skip to content

feat(i18n): add Russian (ru) language support#8827

Open
directomfdirect-beep wants to merge 1 commit intomakeplane:developfrom
directomfdirect-beep:feat/add-russian-i18n
Open

feat(i18n): add Russian (ru) language support#8827
directomfdirect-beep wants to merge 1 commit intomakeplane:developfrom
directomfdirect-beep:feat/add-russian-i18n

Conversation

@directomfdirect-beep
Copy link
Copy Markdown

Summary

This PR adds full Russian (ru) language support to @plane/i18n.

Changes

  • packages/i18n/src/locales/ru/translations.json — new file with 300+ translations covering:
    • General UI (buttons, actions, states)
    • Profile & security settings
    • Themes (light, dark, custom)
    • Issues, priorities, assignees, labels
    • Projects, cycles, modules, pages
    • Workspaces, invitations, favorites
    • Notifications (email, mentions, state changes)
  • packages/i18n/src/constants/language.ts — added { label: "Русский", value: "ru" } to SUPPORTED_LANGUAGES
  • packages/i18n/src/store/index.ts — added dynamic import of ru locale in loadTranslations()

Why

Russian is spoken by ~170M people and is the primary language of a major market. The browser navigator.language for Russian users returns "ru", which the existing getBrowserLanguage() logic already handles — it will auto-detect and apply the locale once the translation file is present.

Testing

  • Set browser language to Russian → Plane UI switches automatically
  • Manually select "Русский" in the Language dropdown (Profile → Appearance)
  • All translated strings display correctly with no fallback to English keys

Made with Cursor

- Add packages/i18n/src/locales/ru/translations.json with full translation
  of all 300+ keys covering UI, profile, security, themes, issues,
  projects, cycles, modules, notifications, and workspaces.
- Register "ru" locale in SUPPORTED_LANGUAGES constant (language.ts).
- Add dynamic import of ru translations in TranslationStore (store/index.ts).

Closes: Russian language support request
Made-with: Cursor
@CLAassistant
Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 30, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: cb235d11-6df9-4a3a-8d09-4b5d2322e143

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

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.

2 participants