feat: add Russian (ru) UI localization (#1043)

Adds a Russian (ru) UI locale. It's partial: anything not yet translated falls back to English.
This commit is contained in:
Alex Pro authored and GitHub committed 2026-10-14 12:11:25 -04:00
1 parent 563bcaff5b
commit 8ea1fd643f
6 files changed
+1001 -10

No files matched your search

+4 -3
View File
@@ -1,6 +1,6 @@
# UI localization
SolidCraft embeds its translations and works offline. English, Japanese, German, Korean and
SolidCraft embeds its translations and works offline. English, Japanese, German, Korean, Russian and
Chinese are currently registered in `crates/ui-egui/src/i18n.rs`. Adding a language requires an
embedded catalog and one registration there; the preferences selector and validation use the same
registry.
@@ -31,8 +31,9 @@ that looks untranslated. Two guards catch that in the build:
- `every_complete_catalog_carries_every_english_message` — adding a key to `en.json`
without giving it to a complete catalog fails the tests. English is the source catalog,
Japanese and Chinese are delivered complete; German and Korean are still partial — their
gaps are reported by `cargo xtask i18n` without failing the build.
Japanese and Chinese are delivered complete; German, Korean and Russian are partial — their
gaps fall back to English and are reported by `cargo xtask i18n` without failing the build. A
new label needs en, ja, zh, de and ko; Russian may follow later.
- `every_toolbar_tab_and_panel_is_in_the_english_catalog` — tabs and panels reach the UI as bare
source strings, resolved only by the English-label adapter, so a heading missing from `en.json`
can never translate.