fix(diagnostics): address adversarial review of the QoL UI (popup, staleness, DPI, i18n)
Follow-up to the node-banner / staleness-badge / alert-history features — a 5-dimension finder->verify review surfaced 4 real issues (the ImGui-stack-balance finder found none): - Alert popup grew off the right edge: pivot (0,1) pinned the panel's LEFT edge at the bell, which sits near the window's right edge, so a 320px panel overflowed rightward (an explicit SetNextWindowPos pivot skips ImGui's on-screen clamp). Anchor the bottom-RIGHT corner at the bell instead (pivot (1,1) at bellMax.x) so it grows left. - Staleness badge could flash red on reconnect: WalletState::clear() reset everything except the four last_*_update stamps, so the pre-outage timestamp survived and the badge briefly showed "Updated Nm ago" the same frame the node banner cleared. Zero the stamps in clear() (all readers treat 0 as "never"; app_network.cpp:1473 guards != 0). - Banner min-height floor wasn't DPI-scaled: std::max(minH, baseH*vScale()) now uses minH * dpiScale() so both operands are in scaled px. - New i18n keys weren't in res/lang/: back-filled all 16 diagnostics/QoL keys into the 8 language files, additively (128 insertions, 0 deletions). zh/ja/ko reworded around 2 glyphs missing from the CJK subset and hard-asserted tofu-free against the subset font. Build-clean both variants; ctest 1/1. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -48,6 +48,10 @@
|
||||
"advanced": "AVANÇADO",
|
||||
"advanced_effects": "Efeitos Avançados...",
|
||||
"ago": "atrás",
|
||||
"alerts_clear": "Limpar histórico de alertas",
|
||||
"alerts_history_tooltip": "Alertas recentes",
|
||||
"alerts_none": "Ainda não há alertas",
|
||||
"alerts_recent": "ALERTAS RECENTES",
|
||||
"all_filter": "Todos",
|
||||
"allow_custom_fees": "Permitir taxas personalizadas",
|
||||
"amount": "Valor",
|
||||
@@ -451,6 +455,8 @@
|
||||
"daemon_update_version": "Versão:",
|
||||
"daemon_version": "Daemon",
|
||||
"dark": "Escuro",
|
||||
"data_stale_prefix": "Atualizado",
|
||||
"data_stale_tooltip": "O saldo pode estar desatualizado — a carteira não recebeu uma atualização recente. Verifique a conexão com o seu nó.",
|
||||
"date": "Data",
|
||||
"date_label": "Data:",
|
||||
"debug_logging": "REGISTRO DE DEPURAÇÃO",
|
||||
@@ -956,6 +962,11 @@
|
||||
"no_transactions": "Nenhuma transação encontrada",
|
||||
"no_transactions_yet": "Nenhuma transação ainda",
|
||||
"node": "NÓ",
|
||||
"node_banner_crashed_title": "O nó parou inesperadamente",
|
||||
"node_banner_lite_open_failed": "Não foi possível abrir sua carteira",
|
||||
"node_banner_offline_title": "Não conectado ao nó DragonX",
|
||||
"node_banner_reconnect": "Reconectar",
|
||||
"node_banner_restart": "Reiniciar nó",
|
||||
"node_security": "NÓ & SEGURANÇA",
|
||||
"noise": "Ruído",
|
||||
"not_connected": "Não conectado ao daemon...",
|
||||
@@ -1291,12 +1302,14 @@
|
||||
"settings_configure_explorer": "Configurar links do explorador de blocos externo",
|
||||
"settings_configure_rpc": "Configurar conexão ao daemon dragonxd",
|
||||
"settings_connection": "Conexão",
|
||||
"settings_copy_diagnostics": "Copiar diagnósticos",
|
||||
"settings_copyright": "Copyright 2024-2026 Desenvolvedores DragonX | Licença GPLv3",
|
||||
"settings_custom": "Personalizado",
|
||||
"settings_data_dir": "Dir. de dados:",
|
||||
"settings_debug_changed": "Categorias de depuração alteradas — reinicie o daemon para aplicar",
|
||||
"settings_debug_restart_note": "As alterações entram em vigor após reiniciar o daemon.",
|
||||
"settings_debug_select": "Selecione categorias para ativar o registro de depuração do daemon (flags -debug=).",
|
||||
"settings_diagnostics_copied": "Diagnósticos copiados para a área de transferência",
|
||||
"settings_encrypt_first_pin": "Encripte a carteira primeiro para ativar o PIN",
|
||||
"settings_encrypt_wallet": "Encriptar carteira",
|
||||
"settings_explorer_hint": "As URLs devem incluir uma barra final. O txid/endereço será adicionado.",
|
||||
@@ -1317,6 +1330,7 @@
|
||||
"settings_not_found": "Não encontrado",
|
||||
"settings_open_app_dir": "Abrir pasta do aplicativo",
|
||||
"settings_open_data_dir": "Abrir pasta de dados",
|
||||
"settings_open_log_folder": "Abrir pasta de logs",
|
||||
"settings_other": "Outros",
|
||||
"settings_pin_active": "PIN",
|
||||
"settings_privacy": "Privacidade",
|
||||
@@ -1476,6 +1490,7 @@
|
||||
"tt_chat_timestamp": "Formato de horário apenas para esta aba: seguir o relógio geral do aplicativo, ou forçar 24-hour ou 12-hour",
|
||||
"tt_clear_ztx": "Excluir histórico de z-transações em cache local",
|
||||
"tt_clock_format": "Relógio de 24 ou 12 horas, em todo o app. O chat pode substituí-lo.",
|
||||
"tt_copy_diagnostics": "Copia um resumo para suporte (versão, estado do daemon/carteira/logs — sem segredos) para a área de transferência",
|
||||
"tt_custom_fees": "Ativar entrada manual de taxas ao enviar transações",
|
||||
"tt_custom_theme": "Tema personalizado ativo",
|
||||
"tt_daemon_install_bundled": "Parar o nó, sobrescrever o dragonxd instalado com a versão incluída nesta compilação da carteira e reiniciar",
|
||||
@@ -1529,6 +1544,7 @@
|
||||
"tt_open_app_dir": "Abrir a pasta ObsidianDragon (configurações, temas, logs) no gerenciador de arquivos",
|
||||
"tt_open_data_dir": "Abrir a pasta com os dados da sua carteira e da blockchain no gerenciador de arquivos",
|
||||
"tt_open_dir": "Clique para abrir no explorador de arquivos",
|
||||
"tt_open_log_folder": "Abre a pasta que contém os logs de depuração e de falhas",
|
||||
"tt_reduce_motion": "Desativar transições animadas e lerp de saldo para acessibilidade",
|
||||
"tt_remove_encrypt": "Remover encriptação e armazenar a carteira desprotegida",
|
||||
"tt_remove_pin": "Remover PIN e exigir frase secreta para desbloquear",
|
||||
|
||||
Reference in New Issue
Block a user