Localize the Home experience on Android and iOS - #1490
Conversation
|
Gave this its own pass rather than folding it into the smaller ones. Mechanically it's in good shape — the What I verified as safe
The one live bug: a verdict that will render in English
I enumerated all 13 verdicts the engine can produce; 12 are present with German, this one isn't. It's invisible because of how iOS localizes here — let verdict = String(localized: String.LocalizationValue(d.verdict))The engine's English string is the lookup key, resolved at runtime. A missing key doesn't fail; it Naturally it's the longest, rarest branch that's missing, which is exactly what manual catalogue upkeep Why the two halves differ in robustness
What I'd ask for
Two things that are yours to decide, not defects
Also flagging that I can't verify the Android layout changes for longer German labels — that needs a device. |
|
Thanks for the detailed pass — the missing verdict and the silent runtime-key failure mode are both valid findings. Fixed in
One clarification: On translation quality and scope: I manually tested the Android German Home flow, including the localized layout adjustments. I intend to do a separate content-quality and consistency pass over the German translations; there are also pre-existing translations outside this change that need improvement. Expanding this PR into a general German copy rewrite would make an already broad localization-enablement change larger still. The primary goal here is to make the Home strings localizable instead of leaving English hardcoded/fallback copy. Translation quality can then be iterated with native-speaker reports rather than being blocked on strings that cannot be translated at all. Likewise, making missing iOS localization keys compile-time failures is worthwhile follow-up work, but not part of this PR. I already have separate parity-validation work that can compile iOS code on Linux; if that lands, it should improve this situation for future cross-platform development and validation. |
60a2ec0 to
c9c7ede
Compare
Summary
Translation notes
Android in German was manually tested, including the adjusted Home layout. The additional locale content was translated automatically and is covered by catalog completeness, placeholder, echo, and semantic regression checks. Native-speaker corrections are welcome; having complete localized surfaces should make contextual issues easier to spot and report than the previous English fallbacks.
Validation
python3 Tools/test_home_i18n.py— 27 tests passpython3 Tools/test_i18n_audit.py— 42 tests passpython3 Tools/i18n_audit.py --ci origin/main— pass./gradlew :app:assembleFullDebug --no-parallel --max-workers=1 --no-daemon— passPlatform note
The Apple catalog and semantic localization paths are covered by the focused automated tests and audits. An iOS/macOS Xcode app build could not be run on the Linux host used for this work and still needs CI or macOS verification.