feat(ui): implement UI/UX audit — i18n, HiDPI, theme, destructive-action & overflow fixes
Implements all 26 confirmed UI/UX audit findings plus the 4 dashboard/timeline tile labels. Verified across full-node + Lite + Windows builds (ctest green) and an adversarial diff review (one market-tab delete regression caught + fixed). i18n coverage: - Balance hero/quick-actions/toasts + dashboard & timeline tiles (Total Balance, Shielded, Transparent, Quick Send, Quick Receive, Click to open, Market) - Send: Review Send / Cancel / Paste / view-only tooltip / memo byte counter - Settings: Lite lifecycle errors, plaintext-RPC security warning, 8 toasts - Mining pool-payout tooltip - Resolve daemon_update_title double-assignment collision (new daemon_update_prompt_title) - 23 new keys translated into all 8 locales; CJK subset font rebuilt HiDPI: DPI-scale the Send amount bar, mining thread-tile clamp bounds, receive loading skeleton, and sidebar notification-badge insets. Light theme: theme-aware material::SurfaceOverlay() for balance bar tracks and row-hover highlights; contacts active-pill foreground uses OnPrimary(). Destructive actions: arm/confirm for portfolio-group delete, saved pool/worker remove, and avatar-image delete. Interaction/overflow: route balance star/eye buttons and the console fold-toggle through popup-safe guards; clip peer addr/subver; truncate the balance custom label; measure Settings tool-button widths; mining stepper disabled-state feedback; +/- stepper buttons restyled to match the thread tiles. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -92,7 +92,10 @@
|
||||
"balance": "Solde",
|
||||
"balance_history_collecting": "Historique du solde — collecte des données...",
|
||||
"balance_layout": "Disposition du solde",
|
||||
"balance_layout_switched": "Disposition : %s",
|
||||
"balance_mining_rate": "Minage %s",
|
||||
"balance_shielded_fmt": "Blindé : %.8f",
|
||||
"balance_syncing_pct": "Synchronisation %.1f%%",
|
||||
"balance_transparent_fmt": "Transparent : %.8f",
|
||||
"ban": "Bannir",
|
||||
"banned_peers": "Pairs bannis",
|
||||
@@ -132,6 +135,7 @@
|
||||
"bootstrap_verifying": "Vérification des sommes de contrôle...",
|
||||
"bootstrap_wallet_protected": "(wallet.dat est protégé)",
|
||||
"bootstrap_warning": "Les données de blocs existantes (blocks, chainstate, notarizations) seront supprimées et remplacées. Votre wallet.dat ne sera PAS modifié ni supprimé.",
|
||||
"byte_count_fmt": "%zu / %zu octets",
|
||||
"cancel": "Annuler",
|
||||
"change_pass_confirm": "Confirmer la nouvelle :",
|
||||
"change_pass_current": "Phrase secrète actuelle :",
|
||||
@@ -441,6 +445,7 @@
|
||||
"daemon_update_latest": "Dernière :",
|
||||
"daemon_update_loading": "Chargement des versions…",
|
||||
"daemon_update_now": "Mettre à jour",
|
||||
"daemon_update_prompt_title": "Mettre à jour le démon du nœud ?",
|
||||
"daemon_update_reinstall": "Réinstaller",
|
||||
"daemon_update_restart_note": "Redémarrez le daemon pour lancer la nouvelle version.",
|
||||
"daemon_update_restart_now": "Redémarrer le daemon maintenant",
|
||||
@@ -657,6 +662,7 @@
|
||||
"light": "Clair",
|
||||
"lite_account_label": "Compte",
|
||||
"lite_action": "Action",
|
||||
"lite_backend_unavailable": "Backend du portefeuille léger indisponible",
|
||||
"lite_backup_keys": "Sauvegarde et clés",
|
||||
"lite_birthday_backup": "Date de création : %llu (à sauvegarder également)",
|
||||
"lite_birthday_hint": "Hauteur de bloc à partir de laquelle commencer l'analyse. Laissez 0 si inconnue (analyse complète plus lente).",
|
||||
@@ -664,9 +670,12 @@
|
||||
"lite_console_backend_commands": "Commandes du backend :",
|
||||
"lite_console_help_passthrough": "Toute autre entrée est exécutée comme une commande de la console du portefeuille lite.",
|
||||
"lite_copy": "Copier",
|
||||
"lite_could_not_start": "Impossible de démarrer l'opération",
|
||||
"lite_could_not_write": "Impossible d'écrire ",
|
||||
"lite_encrypt_wallet": "Chiffrer le portefeuille",
|
||||
"lite_encryption_removed": "Chiffrement supprimé",
|
||||
"lite_enter_all_seed_words": "Entrez les 24 mots de la phrase de récupération (%d obtenus)",
|
||||
"lite_enter_wallet_path": "Entrez un chemin de portefeuille",
|
||||
"lite_hide_wipe": "Masquer et effacer",
|
||||
"lite_import": "Importer",
|
||||
"lite_import_key_label": "Importer une clé",
|
||||
@@ -920,6 +929,7 @@
|
||||
"mining_pool": "Pool",
|
||||
"mining_pool_fee": "Frais",
|
||||
"mining_pool_hashrate": "Hashrate du pool",
|
||||
"mining_pool_needs_payout_tooltip": "Entrez d'abord une adresse de paiement (générez une adresse Z)",
|
||||
"mining_pool_url": "URL du pool",
|
||||
"mining_pools_header": "POOLS",
|
||||
"mining_recent_blocks": "BLOCS RÉCENTS",
|
||||
@@ -1121,6 +1131,8 @@
|
||||
"qr_failed": "Échec de la génération du code QR",
|
||||
"qr_title": "Code QR",
|
||||
"qr_unavailable": "QR indisponible",
|
||||
"quick_receive": "Réception rapide",
|
||||
"quick_send": "Envoi rapide",
|
||||
"ram_daemon_gb": "Daemon : %.1f Go (%s)",
|
||||
"ram_daemon_mb": "Daemon : %.0f Mo (%s)",
|
||||
"ram_system_gb": "Système : %.1f / %.0f Go",
|
||||
@@ -1170,6 +1182,7 @@
|
||||
"rpc_connection": "Connexion RPC...",
|
||||
"rpc_host": "Hôte RPC",
|
||||
"rpc_pass": "Mot de passe",
|
||||
"rpc_plaintext_remote_warning": "Le RPC distant utilise du HTTP en clair. Ajoutez rpctls=1 à DRAGONX.conf si votre démon prend en charge TLS.",
|
||||
"rpc_port": "Port",
|
||||
"rpc_user": "Nom d'utilisateur",
|
||||
"save": "Enregistrer",
|
||||
@@ -1279,6 +1292,7 @@
|
||||
"send_tooltip_not_connected": "Non connecté au daemon",
|
||||
"send_tooltip_select_source": "Sélectionnez d'abord une adresse source",
|
||||
"send_tooltip_syncing": "Attendez la synchronisation de la blockchain",
|
||||
"send_tooltip_view_only": "Adresse en lecture seule — pas de clé de dépense, envoi impossible",
|
||||
"send_total": "Total",
|
||||
"send_transaction": "Envoyer la transaction",
|
||||
"send_tx_failed": "Transaction échouée",
|
||||
@@ -1342,6 +1356,7 @@
|
||||
"settings_locked": "Verrouillé",
|
||||
"settings_merge_to_address": "Fusionner vers l'adresse...",
|
||||
"settings_noise_opacity": "Opacité du bruit :",
|
||||
"settings_not_connected": "Non connecté au démon",
|
||||
"settings_not_encrypted": "Non chiffré",
|
||||
"settings_not_found": "Non trouvé",
|
||||
"settings_open_app_dir": "Ouvrir le dossier de l'application",
|
||||
@@ -1352,18 +1367,23 @@
|
||||
"settings_privacy": "Confidentialité",
|
||||
"settings_quick_unlock_pin": "PIN de déverrouillage rapide",
|
||||
"settings_reduce_transparency": "Réduire la transparence",
|
||||
"settings_reloaded": "Paramètres rechargés depuis le disque",
|
||||
"settings_remove_encryption": "Supprimer le chiffrement",
|
||||
"settings_remove_pin": "Supprimer le PIN",
|
||||
"settings_request_payment": "Demander un paiement...",
|
||||
"settings_rescan_desc": "Rescanner la blockchain pour les transactions manquantes",
|
||||
"settings_restart_daemon": "Redémarrer le daemon",
|
||||
"settings_rpc_connection": "Connexion RPC",
|
||||
"settings_rpc_error_prefix": "Erreur RPC : ",
|
||||
"settings_rpc_note": "Remarque : Les paramètres de connexion sont généralement détectés automatiquement depuis DRAGONX.conf",
|
||||
"settings_rpc_ok": "Connexion RPC OK",
|
||||
"settings_save_shielded_desc": "Stocke les transactions z-addr dans un fichier local pour consultation",
|
||||
"settings_save_shielded_local": "Enregistrer l'historique des transactions blindées localement",
|
||||
"settings_saved": "Paramètres enregistrés",
|
||||
"settings_set_pin": "Définir le PIN",
|
||||
"settings_shield_mining": "Blindage minage...",
|
||||
"settings_solid_colors_desc": "Utiliser des couleurs unies au lieu des effets de flou (accessibilité)",
|
||||
"settings_theme_refreshed": "Liste des thèmes actualisée",
|
||||
"settings_tor_desc": "Acheminer toutes les connexions via Tor pour une confidentialité renforcée",
|
||||
"settings_unlocked": "Déverrouillé",
|
||||
"settings_use_tor_network": "Utiliser Tor pour les connexions réseau",
|
||||
@@ -1375,6 +1395,8 @@
|
||||
"settings_wallet_maintenance": "Maintenance du portefeuille",
|
||||
"settings_wallet_not_found": "Fichier portefeuille introuvable",
|
||||
"settings_wallet_size_label": "Taille du portefeuille :",
|
||||
"settings_ztx_cleared": "Historique des transactions Z effacé",
|
||||
"settings_ztx_not_found": "Aucun fichier d'historique trouvé",
|
||||
"setup_wizard": "Assistant de configuration",
|
||||
"share": "Partager",
|
||||
"shield_check_status": "Vérifier le statut",
|
||||
@@ -1457,6 +1479,7 @@
|
||||
"theme": "Thème",
|
||||
"theme_effects": "Effets de thème",
|
||||
"theme_language": "THÈME & LANGUE",
|
||||
"tile_click_to_open": "Cliquer pour ouvrir",
|
||||
"time_days_ago": "il y a %d jours",
|
||||
"time_hours_ago": "il y a %d heures",
|
||||
"time_minutes_ago": "il y a %d minutes",
|
||||
@@ -1472,6 +1495,7 @@
|
||||
"tools": "OUTILS",
|
||||
"tools_actions": "Outils & Actions...",
|
||||
"total": "Total",
|
||||
"total_balance_label": "Solde total",
|
||||
"transaction_id": "ID DE TRANSACTION",
|
||||
"transaction_sent": "Transaction envoyée avec succès",
|
||||
"transaction_sent_msg": "Transaction envoyée !",
|
||||
|
||||
Reference in New Issue
Block a user