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:
2026-08-18 17:54:15 -05:00
parent 0de44569b7
commit e24ca015d1
24 changed files with 599 additions and 148 deletions

View File

@@ -92,7 +92,10 @@
"balance": "余额",
"balance_history_collecting": "余额历史——正在收集数据…",
"balance_layout": "余额布局",
"balance_layout_switched": "布局:%s",
"balance_mining_rate": "挖矿中 %s",
"balance_shielded_fmt": "屏蔽:%.8f",
"balance_syncing_pct": "同步中 %.1f%%",
"balance_transparent_fmt": "透明:%.8f",
"ban": "封禁",
"banned_peers": "已封禁节点",
@@ -132,6 +135,7 @@
"bootstrap_verifying": "正在验证校验和...",
"bootstrap_wallet_protected": "(wallet.dat 已受保护)",
"bootstrap_warning": "现有区块数据blocks、chainstate、notarizations将被删除并替换。您的 wallet.dat 不会被修改或删除。",
"byte_count_fmt": "%zu / %zu 字节",
"cancel": "取消",
"change_pass_confirm": "确认新密码:",
"change_pass_current": "当前密码短语:",
@@ -441,6 +445,7 @@
"daemon_update_latest": "最新:",
"daemon_update_loading": "正在加载版本…",
"daemon_update_now": "立即更新",
"daemon_update_prompt_title": "是否更新节点守护进程?",
"daemon_update_reinstall": "重新安装",
"daemon_update_restart_note": "重启守护进程以开始运行新版本。",
"daemon_update_restart_now": "立即重启守护进程",
@@ -657,6 +662,7 @@
"light": "浅色",
"lite_account_label": "账户",
"lite_action": "操作",
"lite_backend_unavailable": "轻量钱包后端不可用",
"lite_backup_keys": "备份与密钥",
"lite_birthday_backup": "生日区块:%llu (也请一并备份)",
"lite_birthday_hint": "开始扫描的区块高度。如未知请保留 0完整扫描更慢。",
@@ -664,9 +670,12 @@
"lite_console_backend_commands": "后端命令:",
"lite_console_help_passthrough": "其他任何输入都将作为轻钱包控制台命令运行。",
"lite_copy": "复制",
"lite_could_not_start": "无法启动该操作",
"lite_could_not_write": "无法写入 ",
"lite_encrypt_wallet": "加密钱包",
"lite_encryption_removed": "已移除加密",
"lite_enter_all_seed_words": "请输入全部 24 个助记词以恢复(已输入 %d 个)",
"lite_enter_wallet_path": "请输入钱包路径",
"lite_hide_wipe": "隐藏并清除",
"lite_import": "导入",
"lite_import_key_label": "导入密钥",
@@ -919,6 +928,7 @@
"mining_pool": "矿池",
"mining_pool_fee": "费用",
"mining_pool_hashrate": "矿池算力",
"mining_pool_needs_payout_tooltip": "请先输入收款地址(生成一个 Z 地址)",
"mining_pool_url": "矿池 URL",
"mining_pools_header": "矿池",
"mining_recent_blocks": "最近区块",
@@ -1120,6 +1130,8 @@
"qr_failed": "无法生成二维码",
"qr_title": "二维码",
"qr_unavailable": "二维码不可用",
"quick_receive": "快速接收",
"quick_send": "快速发送",
"ram_daemon_gb": "守护进程:%.1f GB (%s)",
"ram_daemon_mb": "守护进程:%.0f MB (%s)",
"ram_system_gb": "系统:%.1f / %.0f GB",
@@ -1169,6 +1181,7 @@
"rpc_connection": "RPC 连接...",
"rpc_host": "RPC 主机",
"rpc_pass": "密码",
"rpc_plaintext_remote_warning": "远程 RPC 正在使用明文 HTTP。如果您的守护进程支持 TLS请在 DRAGONX.conf 中添加 rpctls=1。",
"rpc_port": "端口",
"rpc_user": "用户名",
"save": "保存",
@@ -1277,6 +1290,7 @@
"send_tooltip_not_connected": "未连接到守护进程",
"send_tooltip_select_source": "请先选择来源地址",
"send_tooltip_syncing": "请等待区块链同步",
"send_tooltip_view_only": "仅查看地址 — 无花费密钥,无法发送",
"send_total": "合计",
"send_transaction": "发送交易",
"send_tx_failed": "交易失败",
@@ -1340,6 +1354,7 @@
"settings_locked": "已锁定",
"settings_merge_to_address": "合并到地址...",
"settings_noise_opacity": "噪点不透明度:",
"settings_not_connected": "未连接到守护进程",
"settings_not_encrypted": "未加密",
"settings_not_found": "未找到",
"settings_open_app_dir": "打开应用文件夹",
@@ -1350,18 +1365,23 @@
"settings_privacy": "隐私",
"settings_quick_unlock_pin": "快速解锁 PIN",
"settings_reduce_transparency": "降低透明度",
"settings_reloaded": "已从磁盘重新加载设置",
"settings_remove_encryption": "移除加密",
"settings_remove_pin": "移除 PIN",
"settings_request_payment": "请求付款...",
"settings_rescan_desc": "重新扫描区块链以查找丢失的交易",
"settings_restart_daemon": "重启守护进程",
"settings_rpc_connection": "RPC 连接",
"settings_rpc_error_prefix": "RPC 错误:",
"settings_rpc_note": "注意:连接设置通常从 DRAGONX.conf 自动检测",
"settings_rpc_ok": "RPC 连接正常",
"settings_save_shielded_desc": "将 z-addr 交易存储在本地文件中以供查看",
"settings_save_shielded_local": "将屏蔽交易历史保存到本地",
"settings_saved": "设置已保存",
"settings_set_pin": "设置 PIN",
"settings_shield_mining": "屏蔽挖矿...",
"settings_solid_colors_desc": "使用纯色代替模糊效果(无障碍功能)",
"settings_theme_refreshed": "主题列表已刷新",
"settings_tor_desc": "通过 Tor 路由所有连接以增强隐私",
"settings_unlocked": "已解锁",
"settings_use_tor_network": "使用 Tor 进行网络连接",
@@ -1373,6 +1393,8 @@
"settings_wallet_maintenance": "钱包维护",
"settings_wallet_not_found": "未找到钱包文件",
"settings_wallet_size_label": "钱包大小:",
"settings_ztx_cleared": "Z 交易历史记录已清除",
"settings_ztx_not_found": "未找到历史记录文件",
"setup_wizard": "设置向导",
"share": "分享",
"shield_check_status": "检查状态",
@@ -1455,6 +1477,7 @@
"theme": "主题",
"theme_effects": "主题效果",
"theme_language": "主题与语言",
"tile_click_to_open": "点击打开",
"time_days_ago": "%d 天前",
"time_hours_ago": "%d 小时前",
"time_minutes_ago": "%d 分钟前",
@@ -1470,6 +1493,7 @@
"tools": "工具",
"tools_actions": "工具与操作...",
"total": "合计",
"total_balance_label": "总余额",
"transaction_id": "交易 ID",
"transaction_sent": "交易发送成功",
"transaction_sent_msg": "交易已发送!",