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": "ATTENTION !",
|
||||
"website": "Site web",
|
||||
"window_opacity": "Opacité de la fenêtre",
|
||||
"wiz_acrylic": "Effets de verre acrylique",
|
||||
"wiz_acrylic_desc": "Flou translucide sur les panneaux (Désactivé les coupe)",
|
||||
"wiz_already_encrypted": "Le portefeuille est déjà chiffré",
|
||||
"wiz_already_encrypted_desc": "Votre portefeuille est protégé par une phrase secrète. Aucune autre action n'est nécessaire.",
|
||||
"wiz_appearance": "Apparence",
|
||||
"wiz_bootstrap": "Amorçage",
|
||||
"wiz_bootstrap_desc": "Téléchargez un amorçage de la blockchain pour accélérer considérablement la synchronisation initiale.\n\nVotre fichier wallet.dat existant NE sera PAS modifié ni remplacé.",
|
||||
"wiz_bootstrap_failed": "Échec de l'amorçage",
|
||||
"wiz_confirm": "Confirmer :",
|
||||
"wiz_continue": "Continuer",
|
||||
"wiz_daemon_sending_stop": "Envoi de la commande d'arrêt...",
|
||||
"wiz_daemon_stop_failed": "Le démon ne s'est pas arrêté — essayez manuellement.",
|
||||
"wiz_daemon_stopped_ok": "Démon arrêté.",
|
||||
"wiz_daemon_waiting_stop": "En attente de l'arrêt du démon...",
|
||||
"wiz_download_failed": "Échec du téléchargement",
|
||||
"wiz_encrypt_bg": "Le chiffrement se terminera en arrière-plan",
|
||||
"wiz_encrypt_continue": "Chiffrer et continuer",
|
||||
"wiz_encrypt_desc": "Chiffrez votre portefeuille pour protéger les clés privées avec une phrase secrète.",
|
||||
"wiz_encrypt_warning": "Si vous perdez votre phrase secrète, vous perdez l'accès à vos fonds.",
|
||||
"wiz_encryption": "Chiffrement",
|
||||
"wiz_ext_daemon_running": "Démon externe en cours d'exécution",
|
||||
"wiz_ext_daemon_warning": "Il doit être arrêté avant de télécharger un amorçage, sinon les données de la chaîne pourraient être corrompues.",
|
||||
"wiz_level": "Niveau :",
|
||||
"wiz_lowspec_desc": "Désactiver tous les effets visuels lourds",
|
||||
"wiz_off": "Désactivé",
|
||||
"wiz_pass_mismatch": "Les phrases secrètes ne correspondent pas",
|
||||
"wiz_pass_spaces": "La phrase secrète comporte des espaces en début/fin — supprimez-les",
|
||||
"wiz_pass_too_short": "La phrase secrète doit comporter au moins 8 caractères (%zu/8)",
|
||||
"wiz_passphrase": "Phrase secrète :",
|
||||
"wiz_pin_confirm": "Confirmer le PIN :",
|
||||
"wiz_pin_invalid": "Le PIN doit comporter 4 à 8 chiffres",
|
||||
"wiz_pin_label": "PIN (4 à 8 chiffres) :",
|
||||
"wiz_pin_mismatch": "Les PIN ne correspondent pas",
|
||||
"wiz_pin_optional": "PIN de déverrouillage rapide (facultatif)",
|
||||
"wiz_pin_title": "PIN de déverrouillage rapide",
|
||||
"wiz_scanline_desc": "Effet de lignes de balayage CRT dans la console",
|
||||
"wiz_skip": "Ignorer",
|
||||
"wiz_skip_confirm": "Continuer SANS chiffrement ? Les clés seront stockées non chiffrées — cliquez à nouveau sur Ignorer pour confirmer.",
|
||||
"wiz_step1": "Étape 1",
|
||||
"wiz_step2": "Étape 2",
|
||||
"wiz_step3": "Étape 3",
|
||||
"wiz_stop_daemon": "Arrêter le démon",
|
||||
"wiz_strength": "Robustesse : %s",
|
||||
"wiz_strength_fair": "Moyenne",
|
||||
"wiz_strength_good": "Bonne",
|
||||
"wiz_strength_strong": "Forte",
|
||||
"wiz_strength_weak": "Faible",
|
||||
"wiz_theme_builtin": "Intégré",
|
||||
"wiz_theme_custom": "Personnalisé",
|
||||
"wiz_theme_effects": "Effets visuels du thème",
|
||||
"wiz_theme_effects_desc": "Bordures animées, voile de couleur",
|
||||
"wiz_theme_invalid": " (non valide)",
|
||||
"wiz_ui_opacity_desc": "Transparence des cartes et de la barre latérale (1.0 = opaque)",
|
||||
"wiz_welcome_sub": "Quelques choix rapides et votre nœud complet est prêt.",
|
||||
"wiz_welcome_title": "Bienvenue dans ObsidianDragon !",
|
||||
"wizard_daemon_start_failed": "Échec du démarrage du daemon — sera réessayé automatiquement",
|
||||
"xmrig_browse_releases": "Parcourir toutes les versions…",
|
||||
"xmrig_checking": "Recherche du dernier mineur…",
|
||||
|
||||
Reference in New Issue
Block a user