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": "Guthaben",
|
||||
"balance_history_collecting": "Guthabenverlauf — Daten werden gesammelt...",
|
||||
"balance_layout": "Guthaben-Layout",
|
||||
"balance_layout_switched": "Layout: %s",
|
||||
"balance_mining_rate": "Schürfe %s",
|
||||
"balance_shielded_fmt": "Abgeschirmt: %.8f",
|
||||
"balance_syncing_pct": "Synchronisiere %.1f%%",
|
||||
"balance_transparent_fmt": "Transparent: %.8f",
|
||||
"ban": "Sperren",
|
||||
"banned_peers": "Gesperrte Peers",
|
||||
@@ -132,6 +135,7 @@
|
||||
"bootstrap_verifying": "Prüfsummen werden überprüft...",
|
||||
"bootstrap_wallet_protected": "(wallet.dat ist geschützt)",
|
||||
"bootstrap_warning": "Vorhandene Blockdaten (blocks, chainstate, notarizations) werden gelöscht und ersetzt. Ihre wallet.dat wird NICHT verändert oder gelöscht.",
|
||||
"byte_count_fmt": "%zu / %zu Byte",
|
||||
"cancel": "Abbrechen",
|
||||
"change_pass_confirm": "Neue bestätigen:",
|
||||
"change_pass_current": "Aktuelle Passphrase:",
|
||||
@@ -441,6 +445,7 @@
|
||||
"daemon_update_latest": "Neueste:",
|
||||
"daemon_update_loading": "Releases werden geladen…",
|
||||
"daemon_update_now": "Jetzt aktualisieren",
|
||||
"daemon_update_prompt_title": "Node-Daemon aktualisieren?",
|
||||
"daemon_update_reinstall": "Neu installieren",
|
||||
"daemon_update_restart_note": "Starten Sie den Daemon neu, um die neue Version auszuführen.",
|
||||
"daemon_update_restart_now": "Daemon jetzt neu starten",
|
||||
@@ -657,6 +662,7 @@
|
||||
"light": "Hell",
|
||||
"lite_account_label": "Konto",
|
||||
"lite_action": "Aktion",
|
||||
"lite_backend_unavailable": "Lite-Wallet-Backend nicht verfügbar",
|
||||
"lite_backup_keys": "Sicherung & Schlüssel",
|
||||
"lite_birthday_backup": "Geburtstag: %llu (auch diesen sichern)",
|
||||
"lite_birthday_hint": "Blockhöhe, ab der gescannt werden soll. Bei 0 belassen, falls unbekannt (langsamerer vollständiger Scan).",
|
||||
@@ -664,9 +670,12 @@
|
||||
"lite_console_backend_commands": "Backend-Befehle:",
|
||||
"lite_console_help_passthrough": "Jede andere Eingabe wird als Lite-Wallet-Konsolenbefehl ausgeführt.",
|
||||
"lite_copy": "Kopieren",
|
||||
"lite_could_not_start": "Der Vorgang konnte nicht gestartet werden",
|
||||
"lite_could_not_write": "Konnte nicht schreiben ",
|
||||
"lite_encrypt_wallet": "Wallet verschlüsseln",
|
||||
"lite_encryption_removed": "Verschlüsselung entfernt",
|
||||
"lite_enter_all_seed_words": "Alle 24 Seed-Wörter zur Wiederherstellung eingeben (%d erhalten)",
|
||||
"lite_enter_wallet_path": "Wallet-Pfad eingeben",
|
||||
"lite_hide_wipe": "Ausblenden & löschen",
|
||||
"lite_import": "Importieren",
|
||||
"lite_import_key_label": "Schlüssel importieren",
|
||||
@@ -920,6 +929,7 @@
|
||||
"mining_pool": "Pool",
|
||||
"mining_pool_fee": "Gebühr",
|
||||
"mining_pool_hashrate": "Pool-Hashrate",
|
||||
"mining_pool_needs_payout_tooltip": "Zuerst eine Auszahlungsadresse eingeben (Z-Adresse erzeugen)",
|
||||
"mining_pool_url": "Pool-URL",
|
||||
"mining_pools_header": "POOLS",
|
||||
"mining_recent_blocks": "LETZTE BLÖCKE",
|
||||
@@ -1121,6 +1131,8 @@
|
||||
"qr_failed": "QR-Code konnte nicht generiert werden",
|
||||
"qr_title": "QR-Code",
|
||||
"qr_unavailable": "QR nicht verfügbar",
|
||||
"quick_receive": "Schnell empfangen",
|
||||
"quick_send": "Schnell senden",
|
||||
"ram_daemon_gb": "Daemon: %.1f GB (%s)",
|
||||
"ram_daemon_mb": "Daemon: %.0f MB (%s)",
|
||||
"ram_system_gb": "System: %.1f / %.0f GB",
|
||||
@@ -1170,6 +1182,7 @@
|
||||
"rpc_connection": "RPC-Verbindung...",
|
||||
"rpc_host": "RPC-Host",
|
||||
"rpc_pass": "Passwort",
|
||||
"rpc_plaintext_remote_warning": "Die Remote-RPC-Verbindung verwendet unverschlüsseltes HTTP. Füge rpctls=1 zur DRAGONX.conf hinzu, falls dein Daemon TLS unterstützt.",
|
||||
"rpc_port": "Port",
|
||||
"rpc_user": "Benutzername",
|
||||
"save": "Speichern",
|
||||
@@ -1279,6 +1292,7 @@
|
||||
"send_tooltip_not_connected": "Nicht mit Daemon verbunden",
|
||||
"send_tooltip_select_source": "Wählen Sie zuerst eine Quelladresse",
|
||||
"send_tooltip_syncing": "Warten Sie auf die Blockchain-Synchronisierung",
|
||||
"send_tooltip_view_only": "Nur-Lese-Adresse — kein Spending Key, Senden nicht möglich",
|
||||
"send_total": "Gesamt",
|
||||
"send_transaction": "Transaktion senden",
|
||||
"send_tx_failed": "Transaktion fehlgeschlagen",
|
||||
@@ -1342,6 +1356,7 @@
|
||||
"settings_locked": "Gesperrt",
|
||||
"settings_merge_to_address": "An Adresse zusammenführen...",
|
||||
"settings_noise_opacity": "Rauschdichte:",
|
||||
"settings_not_connected": "Nicht mit dem Daemon verbunden",
|
||||
"settings_not_encrypted": "Nicht verschlüsselt",
|
||||
"settings_not_found": "Nicht gefunden",
|
||||
"settings_open_app_dir": "App-Ordner öffnen",
|
||||
@@ -1352,18 +1367,23 @@
|
||||
"settings_privacy": "Datenschutz",
|
||||
"settings_quick_unlock_pin": "Schnell-Entsperr-PIN",
|
||||
"settings_reduce_transparency": "Transparenz reduzieren",
|
||||
"settings_reloaded": "Einstellungen von der Festplatte neu geladen",
|
||||
"settings_remove_encryption": "Verschlüsselung entfernen",
|
||||
"settings_remove_pin": "PIN entfernen",
|
||||
"settings_request_payment": "Zahlung anfordern...",
|
||||
"settings_rescan_desc": "Blockchain nach fehlenden Transaktionen neu scannen",
|
||||
"settings_restart_daemon": "Daemon neu starten",
|
||||
"settings_rpc_connection": "RPC-Verbindung",
|
||||
"settings_rpc_error_prefix": "RPC-Fehler: ",
|
||||
"settings_rpc_note": "Hinweis: Verbindungseinstellungen werden automatisch aus DRAGONX.conf erkannt",
|
||||
"settings_rpc_ok": "RPC-Verbindung OK",
|
||||
"settings_save_shielded_desc": "Speichert z-addr Transaktionen in einer lokalen Datei zur Ansicht",
|
||||
"settings_save_shielded_local": "Geschirmten Transaktionsverlauf lokal speichern",
|
||||
"settings_saved": "Einstellungen gespeichert",
|
||||
"settings_set_pin": "PIN festlegen",
|
||||
"settings_shield_mining": "Mining abschirmen...",
|
||||
"settings_solid_colors_desc": "Feste Farben anstelle von Unschärfe-Effekten verwenden (Barrierefreiheit)",
|
||||
"settings_theme_refreshed": "Themenliste aktualisiert",
|
||||
"settings_tor_desc": "Alle Verbindungen für erhöhte Privatsphäre über Tor leiten",
|
||||
"settings_unlocked": "Entsperrt",
|
||||
"settings_use_tor_network": "Tor für Netzwerkverbindungen verwenden",
|
||||
@@ -1375,6 +1395,8 @@
|
||||
"settings_wallet_maintenance": "Wallet-Wartung",
|
||||
"settings_wallet_not_found": "Wallet-Datei nicht gefunden",
|
||||
"settings_wallet_size_label": "Wallet-Größe:",
|
||||
"settings_ztx_cleared": "Z-Transaktionsverlauf gelöscht",
|
||||
"settings_ztx_not_found": "Keine Verlaufsdatei gefunden",
|
||||
"setup_wizard": "Einrichtungsassistent",
|
||||
"share": "Teilen",
|
||||
"shield_check_status": "Status prüfen",
|
||||
@@ -1457,6 +1479,7 @@
|
||||
"theme": "Design",
|
||||
"theme_effects": "Design-Effekte",
|
||||
"theme_language": "THEMA & SPRACHE",
|
||||
"tile_click_to_open": "Zum Öffnen klicken",
|
||||
"time_days_ago": "vor %d Tagen",
|
||||
"time_hours_ago": "vor %d Stunden",
|
||||
"time_minutes_ago": "vor %d Minuten",
|
||||
@@ -1472,6 +1495,7 @@
|
||||
"tools": "WERKZEUGE",
|
||||
"tools_actions": "Werkzeuge & Aktionen...",
|
||||
"total": "Gesamt",
|
||||
"total_balance_label": "Gesamtguthaben",
|
||||
"transaction_id": "TRANSAKTIONS-ID",
|
||||
"transaction_sent": "Transaktion erfolgreich gesendet",
|
||||
"transaction_sent_msg": "Transaktion gesendet!",
|
||||
|
||||
Reference in New Issue
Block a user