The first-run wizard predated the i18n system — every label, button, and help line was hardcoded English. Route them all through TR(): - 62 literals in app_wizard.cpp replaced with TR(). Where a wizard string is a parallel of existing content, it reuses the existing key (the whole bootstrap_* family, plus theme / language / balance_layout / low_spec_mode / ui_opacity / console_scanline / download / retry / cancel) so it inherits their translations and stays consistent with Settings. Button labels drop their ##id suffix and use TR(key) directly (the app's established TactileButton(TR(...)) pattern; the wizard's phase buttons never share a frame, so no id collision). - 55 new wiz_* English keys in i18n.cpp for the wizard-specific strings, and their translations back-filled across all 8 languages (es/de/fr/pt/ru/zh/ja/ko); format specifiers (%s, %zu) and newlines preserved. CJK subset rebuilt. Verified on the sweep: English renders with correct labels in place (all keys resolve), and a German run shows the reused + new keys translated end-to-end (Darstellung / Acryl-Glaseffekte / Verschlüsseln & Weiter …). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
96 KiB
96 KiB