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:
@@ -1369,6 +1369,61 @@
|
||||
"warning_upper": "¡ADVERTENCIA!",
|
||||
"website": "Sitio Web",
|
||||
"window_opacity": "Opacidad de ventana",
|
||||
"wiz_acrylic": "Efectos de vidrio acrílico",
|
||||
"wiz_acrylic_desc": "Desenfoque translúcido en paneles (Desactivado lo apaga)",
|
||||
"wiz_already_encrypted": "La cartera ya está cifrada",
|
||||
"wiz_already_encrypted_desc": "Tu cartera está protegida con una frase de contraseña. No es necesaria ninguna acción adicional.",
|
||||
"wiz_appearance": "Apariencia",
|
||||
"wiz_bootstrap": "Bootstrap",
|
||||
"wiz_bootstrap_desc": "Descarga un bootstrap de la cadena de bloques para acelerar drásticamente la sincronización inicial.\\n\\nTu wallet.dat existente NO se modificará ni se reemplazará.",
|
||||
"wiz_bootstrap_failed": "Error en el bootstrap",
|
||||
"wiz_confirm": "Confirmar:",
|
||||
"wiz_continue": "Continuar",
|
||||
"wiz_daemon_sending_stop": "Enviando comando de detención...",
|
||||
"wiz_daemon_stop_failed": "El daemon no se detuvo — inténtalo manualmente.",
|
||||
"wiz_daemon_stopped_ok": "Daemon detenido.",
|
||||
"wiz_daemon_waiting_stop": "Esperando a que el daemon se cierre...",
|
||||
"wiz_download_failed": "Error de descarga",
|
||||
"wiz_encrypt_bg": "El cifrado se completará en segundo plano",
|
||||
"wiz_encrypt_continue": "Cifrar y continuar",
|
||||
"wiz_encrypt_desc": "Cifra tu cartera para proteger las claves privadas con una frase de contraseña.",
|
||||
"wiz_encrypt_warning": "Si pierdes tu frase de contraseña, pierdes el acceso a tus fondos.",
|
||||
"wiz_encryption": "Cifrado",
|
||||
"wiz_ext_daemon_running": "Daemon externo en ejecución",
|
||||
"wiz_ext_daemon_warning": "Debe detenerse antes de descargar un bootstrap; de lo contrario, los datos de la cadena podrían corromperse.",
|
||||
"wiz_level": "Nivel:",
|
||||
"wiz_lowspec_desc": "Desactivar todos los efectos visuales pesados",
|
||||
"wiz_off": "Desactivado",
|
||||
"wiz_pass_mismatch": "Las frases de contraseña no coinciden",
|
||||
"wiz_pass_spaces": "La frase de contraseña tiene espacios al inicio o al final — elimínalos",
|
||||
"wiz_pass_too_short": "La frase de contraseña debe tener al menos 8 caracteres (%zu/8)",
|
||||
"wiz_passphrase": "Frase de contraseña:",
|
||||
"wiz_pin_confirm": "Confirmar PIN:",
|
||||
"wiz_pin_invalid": "El PIN debe tener entre 4 y 8 dígitos",
|
||||
"wiz_pin_label": "PIN (4-8 dígitos):",
|
||||
"wiz_pin_mismatch": "Los PIN no coinciden",
|
||||
"wiz_pin_optional": "PIN de desbloqueo rápido (opcional)",
|
||||
"wiz_pin_title": "PIN de desbloqueo rápido",
|
||||
"wiz_scanline_desc": "Efecto de líneas de barrido CRT en la consola",
|
||||
"wiz_skip": "Omitir",
|
||||
"wiz_skip_confirm": "¿Continuar SIN cifrado? Las claves se almacenarán sin cifrar — haz clic en Omitir de nuevo para confirmar.",
|
||||
"wiz_step1": "Paso 1",
|
||||
"wiz_step2": "Paso 2",
|
||||
"wiz_step3": "Paso 3",
|
||||
"wiz_stop_daemon": "Detener daemon",
|
||||
"wiz_strength": "Seguridad: %s",
|
||||
"wiz_strength_fair": "Aceptable",
|
||||
"wiz_strength_good": "Buena",
|
||||
"wiz_strength_strong": "Fuerte",
|
||||
"wiz_strength_weak": "Débil",
|
||||
"wiz_theme_builtin": "Integrado",
|
||||
"wiz_theme_custom": "Personalizado",
|
||||
"wiz_theme_effects": "Efectos visuales del tema",
|
||||
"wiz_theme_effects_desc": "Bordes animados, capa de color",
|
||||
"wiz_theme_invalid": " (no válido)",
|
||||
"wiz_ui_opacity_desc": "Transparencia de tarjetas y barra lateral (1.0 = sólido)",
|
||||
"wiz_welcome_sub": "Unas cuantas opciones rápidas y tu nodo completo estará listo.",
|
||||
"wiz_welcome_title": "¡Bienvenido a ObsidianDragon!",
|
||||
"wizard_daemon_start_failed": "Error al iniciar el daemon — se reintentará automáticamente",
|
||||
"xmrig_browse_releases": "Ver todos los lanzamientos…",
|
||||
"xmrig_checking": "Buscando el minero más reciente…",
|
||||
|
||||
Reference in New Issue
Block a user