i18n(wizard): translate the first-run wizard (was all hardcoded English)

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>
This commit is contained in:
2026-07-12 01:41:18 -05:00
parent 758ea06ab7
commit 09e0b962c3
11 changed files with 581 additions and 84 deletions

View File

@@ -1369,6 +1369,61 @@
"warning_upper": "警告!",
"website": "ウェブサイト",
"window_opacity": "ウィンドウ透明度",
"wiz_acrylic": "アクリルガラス効果",
"wiz_acrylic_desc": "パネルの半透明ぼかし(オフで無効化)",
"wiz_already_encrypted": "ウォレットはすでに暗号化されています",
"wiz_already_encrypted_desc": "ウォレットはパスフレーズで保護されています。これ以上の操作は不要です。",
"wiz_appearance": "外観",
"wiz_bootstrap": "ブートストラップ",
"wiz_bootstrap_desc": "ブロックチェーンのブートストラップをダウンロードして初回同期を大幅に高速化します。\\n\\n既存の wallet.dat は変更も置き換えもされません。",
"wiz_bootstrap_failed": "ブートストラップに失敗しました",
"wiz_confirm": "確認:",
"wiz_continue": "続行",
"wiz_daemon_sending_stop": "停止コマンドを送信中...",
"wiz_daemon_stop_failed": "デーモンが停止しませんでした — 手動でお試しください。",
"wiz_daemon_stopped_ok": "デーモンを停止しました。",
"wiz_daemon_waiting_stop": "デーモンの終了を待機中...",
"wiz_download_failed": "ダウンロードに失敗しました",
"wiz_encrypt_bg": "暗号化はバックグラウンドで完了します",
"wiz_encrypt_continue": "暗号化して続行",
"wiz_encrypt_desc": "ウォレットを暗号化して、パスフレーズで秘密鍵を保護します。",
"wiz_encrypt_warning": "パスフレーズを紛失すると、資金にアクセスできなくなります。",
"wiz_encryption": "暗号化",
"wiz_ext_daemon_running": "外部デーモンが実行中です",
"wiz_ext_daemon_warning": "ブートストラップをダウンロードする前に停止する必要があります。停止しないとチェーンデータが破損する可能性があります。",
"wiz_level": "レベル:",
"wiz_lowspec_desc": "重い視覚効果をすべて無効にする",
"wiz_off": "オフ",
"wiz_pass_mismatch": "パスフレーズが一致しません",
"wiz_pass_spaces": "パスフレーズの先頭または末尾に空白があります — 削除してください",
"wiz_pass_too_short": "パスフレーズは 8 文字以上にしてください(%zu/8",
"wiz_passphrase": "パスフレーズ:",
"wiz_pin_confirm": "PIN の確認:",
"wiz_pin_invalid": "PIN は 4〜8 桁にしてください",
"wiz_pin_label": "PIN4〜8 桁):",
"wiz_pin_mismatch": "PIN が一致しません",
"wiz_pin_optional": "クイックロック解除 PIN任意",
"wiz_pin_title": "クイックロック解除 PIN",
"wiz_scanline_desc": "コンソールの CRT 走査線効果",
"wiz_skip": "スキップ",
"wiz_skip_confirm": "暗号化せずに続行しますか? 鍵は暗号化されずに保存されます — もう一度スキップをクリックして確認してください。",
"wiz_step1": "ステップ 1",
"wiz_step2": "ステップ 2",
"wiz_step3": "ステップ 3",
"wiz_stop_daemon": "デーモンを停止",
"wiz_strength": "強度:%s",
"wiz_strength_fair": "まずまず",
"wiz_strength_good": "良い",
"wiz_strength_strong": "強い",
"wiz_strength_weak": "弱い",
"wiz_theme_builtin": "内蔵",
"wiz_theme_custom": "カスタム",
"wiz_theme_effects": "テーマの視覚効果",
"wiz_theme_effects_desc": "枠のアニメーション、カラーウォッシュ",
"wiz_theme_invalid": " (無効)",
"wiz_ui_opacity_desc": "カードとサイドバーの透明度1.0 = 不透明)",
"wiz_welcome_sub": "いくつか選ぶだけでフルノードの準備が整います。",
"wiz_welcome_title": "ObsidianDragon へようこそ!",
"wizard_daemon_start_failed": "デーモンの起動に失敗しました — 自動的に再試行されます",
"xmrig_browse_releases": "すべてのリリースを表示…",
"xmrig_checking": "最新のマイナーを確認中…",