mirror of
https://github.com/storytold/wordcraft.git
synced 2026-11-14 06:22:41 +00:00
i18n: File › Home greeting in every interface language
`home_page` already passes "Good morning", "Good afternoon" and "Good evening" through `tl!`, but nine catalogs had no entry, so File › Home opened in English in German, Estonian, Japanese, Brazilian Portuguese, Serbian (Cyrillic and Latin), Ukrainian and Chinese (Simplified and Traditional). Adds the three greetings to each, and a test that every language has them. Co-authored-by: CRBBeesy <CRBBeesy@users.noreply.github.com>
This commit is contained in:
11 files changed
+64
-2
No files matched your search
@@ -2287,3 +2287,8 @@
|
||||
Type a size in any unit, such as 5 cm or 300 px. The other side follows, so the picture keeps its proportions. Geben Sie eine Größe in einer beliebigen Einheit ein, z. B. 5 cm oder 300 px. Die andere Seite passt sich an, sodass das Bild seine Proportionen behält.
|
||||
|
||||
Import… Importieren…
|
||||
|
||||
# File › Home greeting
|
||||
Good morning Guten Morgen
|
||||
Good afternoon Guten Tag
|
||||
Good evening Guten Abend
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 25.
|
@@ -2322,3 +2322,8 @@
|
||||
Type a size in any unit, such as 5 cm or 300 px. The other side follows, so the picture keeps its proportions. Sisesta suurus mis tahes ühikus, näiteks 5 cm või 300 px. Teine külg muutub kaasa, nii et pilt säilitab oma proportsioonid.
|
||||
|
||||
Import… Impordi…
|
||||
|
||||
# File › Home greeting
|
||||
Good morning Tere hommikust
|
||||
Good afternoon Tere päevast
|
||||
Good evening Tere õhtust
|
||||
|
Can't render this file because it contains an unexpected character in line 847 and column 23.
|
@@ -2288,3 +2288,8 @@
|
||||
Type a size in any unit, such as 5 cm or 300 px. The other side follows, so the picture keeps its proportions. 5 cm や 300 px など、任意の単位でサイズを入力します。もう一方の辺も合わせて変わるため、図の縦横比は保たれます。
|
||||
|
||||
Import… インポート…
|
||||
|
||||
# File › Home greeting
|
||||
Good morning おはようございます
|
||||
Good afternoon こんにちは
|
||||
Good evening こんばんは
|
||||
|
Can't render this file because it contains an unexpected character in line 925 and column 23.
|
@@ -2300,3 +2300,8 @@
|
||||
Type a size in any unit, such as 5 cm or 300 px. The other side follows, so the picture keeps its proportions. Digite um tamanho em qualquer unidade, como 5 cm ou 300 px. O outro lado acompanha, e a imagem mantém as proporções.
|
||||
|
||||
Import… Importar…
|
||||
|
||||
# File › Home greeting
|
||||
Good morning Bom dia
|
||||
Good afternoon Boa tarde
|
||||
Good evening Boa noite
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 25.
|
@@ -2298,3 +2298,8 @@
|
||||
Type a size in any unit, such as 5 cm or 300 px. The other side follows, so the picture keeps its proportions. Unesite veličinu u bilo kojoj jedinici, na primer 5 cm ili 300 px. Druga strana se prilagođava, pa slika zadržava svoje proporcije.
|
||||
|
||||
Import… Uvezi…
|
||||
|
||||
# File › Home greeting
|
||||
Good morning Dobro jutro
|
||||
Good afternoon Dobar dan
|
||||
Good evening Dobro veče
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 25.
|
@@ -2302,3 +2302,8 @@
|
||||
Type a size in any unit, such as 5 cm or 300 px. The other side follows, so the picture keeps its proportions. Унесите величину у било којој јединици, на пример 5 cm или 300 px. Друга страна се прилагођава, па слика задржава своје пропорције.
|
||||
|
||||
Import… Увези…
|
||||
|
||||
# File › Home greeting
|
||||
Good morning Добро јутро
|
||||
Good afternoon Добар дан
|
||||
Good evening Добро вече
|
||||
|
Can't render this file because it contains an unexpected character in line 11 and column 25.
|
@@ -152,6 +152,22 @@ fn every_tab_and_command_is_translated() {
|
||||
assert!(missing.is_empty(), "untranslated: {missing:#?}");
|
||||
}
|
||||
|
||||
/// File › Home opens with a greeting for the time of day (`backstage::home_page`); every
|
||||
/// language has all three, so the page doesn't start in English.
|
||||
#[test]
|
||||
fn the_file_home_greeting_is_translated_in_every_language() {
|
||||
let mut missing = Vec::new();
|
||||
for l in Lang::all().filter(|l| *l != Lang::EN) {
|
||||
for s in ["Good morning", "Good afternoon", "Good evening"] {
|
||||
if !has(l, s) {
|
||||
missing.push(format!("{}: {s:?}", l.code()));
|
||||
}
|
||||
}
|
||||
}
|
||||
assert!(missing.is_empty(), "untranslated: {missing:#?}");
|
||||
assert_eq!(tr(lang("pt-br"), "Good afternoon"), "Boa tarde");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn korean_print_settings_and_printer_feedback_are_translated() {
|
||||
let korean = lang("ko");
|
||||
|
||||
@@ -2300,3 +2300,8 @@
|
||||
Type a size in any unit, such as 5 cm or 300 px. The other side follows, so the picture keeps its proportions. Введіть розмір у будь-яких одиницях, наприклад 5 cm або 300 px. Інша сторона зміниться разом із нею, тож зображення збереже пропорції.
|
||||
|
||||
Import… Імпортувати…
|
||||
|
||||
# File › Home greeting
|
||||
Good morning Доброго ранку
|
||||
Good afternoon Добрий день
|
||||
Good evening Добрий вечір
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 31.
|
@@ -2300,3 +2300,8 @@
|
||||
Type a size in any unit, such as 5 cm or 300 px. The other side follows, so the picture keeps its proportions. 可用任意单位输入大小,例如 5 cm 或 300 px。另一边随之调整,图片保持原有比例。
|
||||
|
||||
Import… 导入…
|
||||
|
||||
# File › Home greeting
|
||||
Good morning 早上好
|
||||
Good afternoon 下午好
|
||||
Good evening 晚上好
|
||||
|
Can't render this file because it contains an unexpected character in line 7 and column 25.
|
@@ -2289,3 +2289,8 @@
|
||||
Type a size in any unit, such as 5 cm or 300 px. The other side follows, so the picture keeps its proportions. 可用任何單位輸入大小,例如 5 cm 或 300 px。另一邊隨之調整,圖片保持原有比例。
|
||||
|
||||
Import… 匯入…
|
||||
|
||||
# File › Home greeting
|
||||
Good morning 早安
|
||||
Good afternoon 午安
|
||||
Good evening 晚安
|
||||
|
Can't render this file because it contains an unexpected character in line 926 and column 23.
|
@@ -1,6 +1,6 @@
|
||||
# Localization parity with Microsoft Word
|
||||
|
||||
> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-16 · **Change:** minor (how to install the Hunspell dictionaries on Windows, macOS and Linux: `docs/spelling-dictionaries.md`; previously minor: Read Aloud speaks each sentence in its own language, #1843; previously minor: Indonesian proofing: id-ID spelling from the installed Hunspell dictionary, dictionary-driven suggestions, generic checks with Indonesian messages, #498; previously trivial: print-area strings translated in every catalog; previously trivial: Italian: the interface audit checks the Italian catalog, `Privacy Settings` wording; previously trivial: Italian grammar: `po'`, `qual è`, `È`, `un`/`un'` rules; more elisions and truncations in spelling; previously trivial: Czech interface catalog completed, 2,447 entries; previously trivial: interface audit runs in CI again: size labels translated, 20 strings in every catalog, Read Aloud error race fixed, #1128; previously trivial: Review › Language reaches every language again — Set Proofing Language… and Set As Default, #860; previously minor: Italian proofing: it-IT spelling from the installed Hunspell dictionary, accent-first suggestions, conservative grammar with Italian messages; previously minor: Portuguese proofing; previously trivial: Turkish interface catalog completed, 2,325 entries, #774; previously minor: Hungarian interface added; previously trivial: sorting and table numbers follow the text's language, #836, #837; previously minor: Polish interface; Polish proofing — spelling, grammar, hyphenation — and a proofing language per run; previously minor: Turkish interface added; previously major: first version; catalogs measured from `crates/ui-egui/src/i18n`, Word's languages from its bundle listing) · **Target:** Microsoft Word (Microsoft 365) for Mac 16.113.4
|
||||
> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-20 · **Change:** trivial (the File › Home greeting is translated in every catalog; previously minor: how to install the Hunspell dictionaries on Windows, macOS and Linux: `docs/spelling-dictionaries.md`; previously minor: Read Aloud speaks each sentence in its own language, #1843; previously minor: Indonesian proofing: id-ID spelling from the installed Hunspell dictionary, dictionary-driven suggestions, generic checks with Indonesian messages, #498; previously trivial: print-area strings translated in every catalog; previously trivial: Italian: the interface audit checks the Italian catalog, `Privacy Settings` wording; previously trivial: Italian grammar: `po'`, `qual è`, `È`, `un`/`un'` rules; more elisions and truncations in spelling; previously trivial: Czech interface catalog completed, 2,447 entries; previously trivial: interface audit runs in CI again: size labels translated, 20 strings in every catalog, Read Aloud error race fixed, #1128; previously trivial: Review › Language reaches every language again — Set Proofing Language… and Set As Default, #860; previously minor: Italian proofing: it-IT spelling from the installed Hunspell dictionary, accent-first suggestions, conservative grammar with Italian messages; previously minor: Portuguese proofing; previously trivial: Turkish interface catalog completed, 2,325 entries, #774; previously minor: Hungarian interface added; previously trivial: sorting and table numbers follow the text's language, #836, #837; previously minor: Polish interface; Polish proofing — spelling, grammar, hyphenation — and a proofing language per run; previously minor: Turkish interface added; previously major: first version; catalogs measured from `crates/ui-egui/src/i18n`, Word's languages from its bundle listing) · **Target:** Microsoft Word (Microsoft 365) for Mac 16.113.4
|
||||
|
||||
Interface languages, script support and proofing per language. How translation works (catalog
|
||||
format, adding a language, clean-room rule): `crates/ui-egui/src/i18n/mod.rs`.
|
||||
@@ -26,7 +26,7 @@ native-speaker review (human).
|
||||
`pl`, `pl-PL` and `pl_PL.UTF-8` system locales pick Polish automatically.
|
||||
- Of the 675 English strings a scan extracts from `tl!(…)` calls and command labels/locations, each
|
||||
catalog covers **661 (98%)**. Some newer dialog and pane strings (Equation tab tooltips, Zotero,
|
||||
Read Aloud, Backstage greetings) aren't wrapped in `tl!` yet, so they show in English in every
|
||||
Read Aloud) aren't wrapped in `tl!` yet, so they show in English in every
|
||||
language: the true share of visible strings is **~93–95%** (estimated).
|
||||
- Pending PRs: Norwegian Bokmål (#208) and Nynorsk (#210), Hebrew with RTL (#20).
|
||||
- **Proofing: English, Polish, Portuguese, Italian, Russian, Czech and Indonesian**, chosen per run from its language (`w:lang`, resolved through
|
||||
@@ -198,6 +198,7 @@ WordCraft keeps 2,54 cm).
|
||||
|
||||
| Date | Change | Summary |
|
||||
|---|---|---|
|
||||
| 2026-10-20 | trivial | File › Home's greeting (Good morning / afternoon / evening) added to the nine catalogs that lacked it (de, et, ja, pt-br, sr, sr-latn, uk, zh-hans, zh-hant); a test keeps it in every language |
|
||||
| 2026-10-14 | trivial | The sentence-capital rule (English, Polish, Croatian, Italian, Turkish, Portuguese) skips the first word of a list item (#1741) |
|
||||
| 2026-10-16 | minor | Indonesian proofing (#498): id-ID spelling from the installed Hunspell `id_ID` dictionary (not bundled), Czech's dictionary-driven suggestions, repeated-word (hyphenated reduplication offered) and spacing checks with Indonesian messages; Review › Language, the status bar, Set Proofing Language and File › Options › Proofing list Indonesian; estimates unchanged |
|
||||
| 2026-10-16 | trivial | Read Aloud picks a voice for the sentence's language (run tag, else script) when the default voice doesn't speak it, reads Windows text as UTF-8 |
|
||||
|
||||
Reference in new issue
Block a user