Skip to content

feat(i18n): add Russian locale (52% translated) - #380

Merged
schnsrw merged 1 commit into
CasualOffice:mainfrom
SergeiKabak:i18n/ru-locale
Aug 4, 2026
Merged

feat(i18n): add Russian locale (52% translated)#380
schnsrw merged 1 commit into
CasualOffice:mainfrom
SergeiKabak:i18n/ru-locale

Conversation

@SergeiKabak

Copy link
Copy Markdown
Contributor

Summary

Adds packages/react/i18n/ru.json — a Russian (ru) locale, scaffolded with bun run i18n:new ru and translated per docs/i18n.md conventions.

Coverage: 476/922 keys (52%)

Translated: toolbar (all seven menus), formatting bar, alignment/lists/styles, color picker labels, common, dialogs (find & replace, hyperlink, insert table, split cell, insert image, insert symbol, image properties/position, equation), context menu, title bar, status bar, comments, tracked changes, suggesting banner, table tools, image transform/wrap, editor modes, hyperlink popup, header/footer, ruler, print, unsaved-changes, errors, share dialog, presence, footnotes, document outline.

Still null (English fallback): AI/chat/voice-typing sections, pageSetup, tableProperties, keyboardShortcuts, wordCount, and a few smaller feature areas.

Convention compliance

  • Typography terms (Sans Serif / Serif / Monospace) intentionally null, per the guide
  • ICU placeholders ({label}, {current}, …) and keyboard shortcuts preserved verbatim
  • Russian CLDR plural branches (one / few / many / other) where the source string pluralizes (e.g. comments.replyCount); _lang: ru drives Intl.PluralRules
  • bun run i18n:validate passes — all 922 keys in sync, no extras

How to verify

import ru from '@casualoffice/docs/i18n/ru.json';
<DocxEditor i18n={ru} />

Remaining sections can be filled in follow-ups — null keys fall back to English, so this is safe to merge partial.

Scaffolded via `bun run i18n:new ru`; 476/922 keys translated:
toolbar, formattingBar, menus, dialogs (find/replace, hyperlink,
insertTable, splitCell, insertImage, insertSymbol, imageProperties,
imagePosition, equation), context menu, comments, tracked changes,
header/footer, ruler, print, errors, share dialog, document outline.

Untranslated (null -> English fallback): AI/chat/voice typing,
pageSetup, tableProperties, keyboardShortcuts, wordCount and a few
smaller sections.

Per docs/i18n.md conventions: typography terms (Sans Serif / Serif /
Monospace) intentionally left null; ICU placeholders and keyboard
shortcuts preserved; Russian CLDR plural branches (one/few/many/other)
used where the source string pluralizes; _lang: ru drives
Intl.PluralRules.

Validated with `bun run i18n:validate` — all 922 keys in sync.
@schnsrw
schnsrw merged commit d116051 into CasualOffice:main Aug 4, 2026
5 of 6 checks passed
@schnsrw schnsrw self-assigned this Aug 4, 2026
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