mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-14 19:26:56 -04:00
Add Russian (ru) interface translation
Add ru.tsv with the full interface coverage: every menu string, every tl! literal, the plurals (one/few/many) and the status/error messages (@msg). Registered as complete_menus with the Russian plural rule; every ru-* locale resolves to it. Keeps the product, workspace and perspective preset names in English like the other complete catalogs. Tests: russian_reads_as_russian, russian_plurals_have_three_forms, russian_glyphs_are_available_without_system_fonts; ru added to KEEPS_MENU_NAMES and COMPLETE_MESSAGES. Clean-room: written from the meaning of the English labels in the vocabulary Russian-speaking users of vector illustration software know (Слой, Образцы, Обработка контуров, Монтажная область, Обводка, Заливка), matching the Russian catalog of the sibling app PhotoCraft. No other application's localisation was copied.
This commit is contained in:
1 parent
85319c972c
commit
89b10cce52
6 files changed
+3682
-10
No files matched your search
+5
-4
@@ -135,7 +135,8 @@ in Taiwan; `zh-TW`, `zh-HK`, `zh-MO` and `zh-Hant-*` locales all resolve to it),
|
||||
complete, in the vocabulary used in mainland China; `zh-CN`, `zh-SG`, `zh-Hans-*` and a bare `zh` resolve to it,
|
||||
so the two scripts never mix), Japanese (`ja`, complete), Spanish (`es`, complete, in neutral
|
||||
international Spanish; every `es-*` locale such as `es-ES`, `es-MX`, `es-AR` or `es-419` resolves to it), Italian (`it`,
|
||||
complete; `it-IT`, `it-CH` and every other `it-*` locale resolve to it), Czech (`cs`, every menu label) and Brazilian Portuguese
|
||||
complete; `it-IT`, `it-CH` and every other `it-*` locale resolve to it), Russian (`ru`, complete; every `ru-*`
|
||||
locale such as `ru-RU`, `ru-BY` or `ru-KZ` resolves to it), Czech (`cs`, every menu label) and Brazilian Portuguese
|
||||
(`pt-br`, every menu label and every `tl!` literal). Untranslated text falls back to English until its rows are added.
|
||||
|
||||
- `tl!("…")` translates a literal into the language the UI is drawn in; `i18n::t(s)` is the same for a
|
||||
@@ -163,10 +164,10 @@ complete; `it-IT`, `it-CH` and every other `it-*` locale resolve to it), Czech (
|
||||
control channel, MCP and tests read them) and are translated only where the status bar draws them
|
||||
(`i18n::msg`). `@msg` catalog rows hold a whole message or a template such as
|
||||
`Couldn't open {name}: {e}`; `{_1}`, `{_2}` … stand for the format string's `{}`, and the values in the
|
||||
placeholders are translated in turn (the reason after `: {e}` is often a message too). Spanish and Italian cover every
|
||||
placeholders are translated in turn (the reason after `: {e}` is often a message too). Spanish, Italian and Russian cover every
|
||||
message literal the test scan finds (`complete_languages_translate_every_message`, languages listed in
|
||||
`COMPLETE_MESSAGES`): a new `Err("…")`, `Other(…)`, `#[error(…)]` or `status(…)` message needs an `es.tsv`
|
||||
and an `it.tsv` row (`VECTORCRAFT_I18N_DUMP_MESSAGES=messages.txt cargo test -p vectorcraft-ui-egui
|
||||
`COMPLETE_MESSAGES`): a new `Err("…")`, `Other(…)`, `#[error(…)]` or `status(…)` message needs an `es.tsv`,
|
||||
an `it.tsv` and a `ru.tsv` row (`VECTORCRAFT_I18N_DUMP_MESSAGES=messages.txt cargo test -p vectorcraft-ui-egui
|
||||
complete_languages_translate_every_message` lists them all). Other languages show messages in English
|
||||
until they add `@msg` rows.
|
||||
- Not translated on purpose: names that are user data (layers, swatches, fonts, documents), the tab
|
||||
|
||||
Reference in new issue
Block a user