Repository navigation
Commit c04bf71
feat(i18n): finish the six shell locales, not just their first 19 strings
The language menu has offered eight languages for a while, but only English
and Chinese had complete tables. The other six carried 19 of 90 keys -- the
landing buttons and the theme switcher -- and everything past that fell back
to English. So a German, Japanese, Korean, Spanish, Portuguese or Persian
visitor got their own language on the homepage and English the moment they
opened the AI panel, hit an autosave warning, or went to the saved-documents
page. 426 strings translated, and the tables are complete.
Two things the translations had to keep. Interpolation placeholders survive
verbatim ({size}, {title}, {when}, {days}, {count}, {page}, {pages}) --
message-placeholders cases already cover that. And Persian is RTL, so its
arrows point the other way: agentSwitchCloud reads "← به حالت ابری بروید",
not a left-to-right arrow flipped by the browser.
The suite gains a per-locale completeness case, because the old shape of this
bug is invisible: a missing key still renders, in English, and only a reader
of that language would ever notice. It walks every key in every table and
fails with the names of the ones still matching English. Two exceptions are
declared rather than assumed -- "Web Office" is the product name, and Spanish
"Error" is genuinely the English word.
The fallback path is still tested, but against a key no table defines instead
of a real one, so completeness and fallback cannot be satisfied by the same
gap. It also replaces a case that asserted German's agentSend was "Send",
which was the old deliberate-English behaviour this change removes.
Reverse-verified: drop historyOpen from the German table and the case fails
naming that key.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>1 parent aabd740 commit c04bf71
2 files changed
Lines changed: 541 additions & 12 deletions
0 commit comments