feat(balance): inline period-earnings in the address list and totals

Surfaces the period-earnings aggregator in the Balance tab:
- Toolbar (shared address list): interval pills (1H/1D/1M/1Y), a received-
  vs-net mode toggle, and a global show-all toggle, placed right of "Hide 0
  Balances". The New Z-Address / New mining address buttons move to a footer
  row across from "Showing X of Y" to make room.
- Per address: the row draws its earnings on line 2, left of the $USD value
  (green positive, red negative in net mode), shown when the global toggle
  is on or the address is opted in via a new "Show/Hide earnings" right-click
  item. Works in every layout via the shared list.
- Total: FormatTotalEarnings (gated on the global toggle, so the default
  appearance is unchanged) is wired into the compact hero (dashboard/minimal)
  and the classic layout, left of / beside their USD figure. The remaining
  layouts' totals are not wired yet.
- Settings > Appearance: an "Earnings Display Format" selector (Coin /
  Coin + fiat / Fiat).

New i18n keys are translated into all eight locales; the CJK subset font is
rebuilt for the new glyphs. Builds + test suites pass on both variants.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-10-15 11:22:12 -05:00
co-authored by Claude Opus 4.8
parent 2ef91ea7d4
commit 064c9d1b61
14 changed files with 335 additions and 40 deletions
+12
View File
@@ -639,6 +639,11 @@
"download": "Baixar",
"download_bootstrap": "Baixar Bootstrap",
"dragonx_green": "DragonX (Verde)",
"earnings_format": "Formato de exibição de ganhos",
"earnings_format_coin": "Apenas moeda",
"earnings_format_coin_fiat": "Moeda + fiduciária",
"earnings_format_fiat": "Apenas fiduciária",
"earnings_label": "Ganhos",
"edit": "Editar",
"empty_wallet_keys_suffix": "chaves",
"empty_wallet_open_manager": "Abrir gerenciador de carteiras",
@@ -942,6 +947,7 @@
"hidden_tag": " (oculto)",
"hide": "Ocultar",
"hide_address": "Ocultar endereço",
"hide_earnings": "Ocultar ganhos",
"hide_qr": "Ocultar QR",
"hide_zero_balances": "Ocultar saldos zero",
"history": "Histórico",
@@ -1920,6 +1926,7 @@
"shielded_type": "Blindado",
"shielding_notice": "Nota: Isso blindará fundos de um endereço transparente (T) para um endereço privado (Z).",
"show": "Mostrar",
"show_earnings": "Mostrar ganhos",
"show_hidden": "Mostrar ocultos (%d)",
"show_qr": "Mostrar QR",
"show_qr_code": "Mostrar Código QR",
@@ -2068,6 +2075,11 @@
"tt_debug_expand": "Expandir opções de registro de depuração",
"tt_delete_blockchain": "Excluir todos os dados da blockchain e iniciar uma nova sincronização. wallet.dat e configuração são preservados.",
"tt_download_bootstrap": "Baixar bootstrap da blockchain para acelerar a sincronização\nDados de blocos existentes serão substituídos",
"tt_earn_interval": "Período de ganhos: 1H = esta hora, 1D = hoje, 1M = este mês, 1Y = este ano",
"tt_earn_mode_inflows": "Modo de ganhos: valores recebidos (incluindo mineração)",
"tt_earn_mode_net": "Modo de ganhos: líquido (recebido menos enviado)",
"tt_earn_show_all": "Mostrar o valor de ganhos para cada endereço",
"tt_earnings_format": "Como os valores de ganhos por endereço e totais são exibidos",
"tt_encrypt": "Encriptar wallet.dat com uma frase secreta",
"tt_export_all": "Exportar todas as chaves privadas para um arquivo",
"tt_export_csv": "Exportar histórico de transações como planilha CSV",