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": "AVISO!",
"website": "Website",
"window_opacity": "Opacidade da Janela",
"wiz_acrylic": "Efeitos de vidro acrílico",
"wiz_acrylic_desc": "Desfoque translúcido nos painéis (Desativado remove)",
"wiz_already_encrypted": "A carteira já está encriptada",
"wiz_already_encrypted_desc": "A sua carteira está protegida com uma frase-passe. Não é necessária nenhuma ação adicional.",
"wiz_appearance": "Aparência",
"wiz_bootstrap": "Bootstrap",
"wiz_bootstrap_desc": "Baixe um bootstrap da blockchain para acelerar drasticamente a sincronização inicial.\\n\\nO seu wallet.dat existente NÃO será modificado nem substituído.",
"wiz_bootstrap_failed": "Falha no bootstrap",
"wiz_confirm": "Confirmar:",
"wiz_continue": "Continuar",
"wiz_daemon_sending_stop": "A enviar comando de parada...",
"wiz_daemon_stop_failed": "O daemon não parou — tente manualmente.",
"wiz_daemon_stopped_ok": "Daemon parado.",
"wiz_daemon_waiting_stop": "A aguardar o encerramento do daemon...",
"wiz_download_failed": "Falha no download",
"wiz_encrypt_bg": "A encriptação será concluída em segundo plano",
"wiz_encrypt_continue": "Encriptar e continuar",
"wiz_encrypt_desc": "Encripte a sua carteira para proteger as chaves privadas com uma frase-passe.",
"wiz_encrypt_warning": "Se perder a sua frase-passe, perde o acesso aos seus fundos.",
"wiz_encryption": "Encriptação",
"wiz_ext_daemon_running": "Daemon externo em execução",
"wiz_ext_daemon_warning": "Deve ser parado antes de baixar um bootstrap, caso contrário os dados da cadeia podem ficar corrompidos.",
"wiz_level": "Nível:",
"wiz_lowspec_desc": "Desativar todos os efeitos visuais pesados",
"wiz_off": "Desativado",
"wiz_pass_mismatch": "As frases-passe não coincidem",
"wiz_pass_spaces": "A frase-passe tem espaços no início/fim — remova-os",
"wiz_pass_too_short": "A frase-passe deve ter pelo menos 8 caracteres (%zu/8)",
"wiz_passphrase": "Frase-passe:",
"wiz_pin_confirm": "Confirmar PIN:",
"wiz_pin_invalid": "O PIN deve ter 4-8 dígitos",
"wiz_pin_label": "PIN (4-8 dígitos):",
"wiz_pin_mismatch": "Os PINs não coincidem",
"wiz_pin_optional": "PIN de desbloqueio rápido (opcional)",
"wiz_pin_title": "PIN de desbloqueio rápido",
"wiz_scanline_desc": "Efeito de scanline CRT na consola",
"wiz_skip": "Ignorar",
"wiz_skip_confirm": "Continuar SEM encriptação? As chaves serão armazenadas sem encriptação — clique em Ignorar novamente para confirmar.",
"wiz_step1": "Passo 1",
"wiz_step2": "Passo 2",
"wiz_step3": "Passo 3",
"wiz_stop_daemon": "Parar daemon",
"wiz_strength": "Força: %s",
"wiz_strength_fair": "Razoável",
"wiz_strength_good": "Boa",
"wiz_strength_strong": "Forte",
"wiz_strength_weak": "Fraca",
"wiz_theme_builtin": "Integrado",
"wiz_theme_custom": "Personalizado",
"wiz_theme_effects": "Efeitos visuais do tema",
"wiz_theme_effects_desc": "Bordas animadas, matiz de cor",
"wiz_theme_invalid": " (inválido)",
"wiz_ui_opacity_desc": "Transparência de cartões e barra lateral (1.0 = sólido)",
"wiz_welcome_sub": "Algumas escolhas rápidas e o seu full node estará pronto.",
"wiz_welcome_title": "Bem-vindo ao ObsidianDragon!",
"wizard_daemon_start_failed": "Falha ao iniciar o daemon — será tentado novamente automaticamente",
"xmrig_browse_releases": "Navegar por todos os lançamentos…",
"xmrig_checking": "Verificando o minerador mais recente…",