feat(migrate): daemon-update prompt + migrate-to-seed UX polish + i18n

Fixes the Windows migrate-to-seed failure (the old bundled daemon lacked
z_exportmnemonic) and rounds out the flow:

- seed_wallet_creator: actionable "daemon too old" message instead of the
  raw "Method not found" RPC error.
- Startup daemon-update prompt: if the wallet bundles a newer node than the
  installed one, offer to update it (once per version, keyed on a new
  daemon_update_prompted_size setting; never silently clobbers a custom
  node). "Install bundled" now also works when attached to an external /
  leftover daemon (RPC-stops it, then swaps + restarts).
- Migrate-to-seed Intro pre-flight: detect an already-mnemonic wallet
  (offer backup instead), an old daemon, or a locked/disconnected wallet
  before offering to create anything.
- No-funds path: a zero-balance wallet can adopt the new seed wallet
  directly (behind an acknowledgement checkbox) instead of a dead sweep.
- Loading spinners on the Working/Sweeping/Adopting steps; sweep coverage
  for the new intro / no-funds surfaces.
- Translations for all 18 new strings across 8 languages (+ rebuilt CJK
  subset font).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-07 22:16:47 -05:00
parent 48c79567d7
commit 82e61da62f
17 changed files with 418 additions and 22 deletions

View File

@@ -227,6 +227,11 @@
"copy_uri": "URIをコピー",
"current_price": "現在の価格",
"custom_fees": "カスタム手数料",
"daemon_update_body": "このウォレットビルドには、現在インストールされているものよりも新しいDragonXードがバンドルされています。更新すると、インストール済みのdragonxdおよびdragonx-clidragonx-txが置き換えられ、その後ードを停止して再起動し、新しいバージョンが有効になります。新しいードには、古いものにない機能シードフレーズのサポートが追加されている場合があるため、更新を推奨します。",
"daemon_update_keep": "現在のまま使用",
"daemon_update_now": "今すぐ更新",
"daemon_update_safe": "ウォレット、鍵、ブロックチェーンデータには影響しません — 置き換えられるのはデーモンのプログラムファイルのみです。意図的にカスタムノードを実行している場合は、「現在のまま使用」を選択してください。",
"daemon_update_title": "ノードデーモンを更新しますか?",
"daemon_version": "デーモン",
"dark": "ダーク",
"date": "日付",
@@ -384,21 +389,33 @@
"merge_started": "統合操作を開始しました",
"merge_title": "アドレスに統合",
"mig_adopt": "これを自分のウォレットにする",
"mig_adopt_now": "シードウォレットを採用",
"mig_adopting": "新しいウォレットをインストールして再スキャン中…",
"mig_adopting_note": "ノードは新しいウォレットで再起動し、チェーンを再スキャンします — これには数分かかる場合があります。ウォレットは実行したままにしてください。自動的に再接続します。",
"mig_already_mnemonic": "このウォレットにはすでに24単語のシードフレーズがあります — 移行するものはありません。バックアップして、単語を安全な場所に保管してください。",
"mig_backed_up": "シードフレーズを書き写しました",
"mig_backup_instead": "シードフレーズをバックアップ",
"mig_balance": "現在のウォレット残高:%.8f DRGX少額の手数料を除く",
"mig_check_failed": "ウォレットを確認できませんでした。ロックが解除され、接続されていることを確認してから、再確認してください。",
"mig_checking_balance": "残高を確認中",
"mig_confirming": "ウォレットを切り替える前に、スイープがオンチェーンで確認されるのを待っています — これにより資金が実際に移動したことが保証されます。",
"mig_confs": "スイープの確認数:%d",
"mig_continue_sweep": "スイープに進む",
"mig_copy_seed": "シードをコピー",
"mig_create": "シードウォレットを作成",
"mig_daemon_too_old": "DragonXードが古すぎるため、シードウォレットを作成できません — これに必要なニーモニックのサポートがありません。ノードを更新してから(設定 → ノードとセキュリティ → バンドル版をインストール、または更新を確認)、もう一度お試しください。",
"mig_discard": "移行を破棄",
"mig_done": "移行が完了しました。ウォレットはシードフレーズで保護されるようになりました。",
"mig_done_btn": "完了",
"mig_done_detail": "デーモンが資金を表示するために再スキャンしています — 数分かかる場合があります。以前のウォレットはデータフォルダに .bak として保存されました。",
"mig_intro": "これは24単語のシードフレーズで保護された新規ウォレットを隔離されたード内に作成し、資金をそこへ移動できるようにします。現在のウォレットには一切変更を加えず、このステップでは資金は移動しません — まず新しいシードをバックアップし、その後、別の確定ステップとして資金をスイープします。",
"mig_later": "後で",
"mig_no_funds": "このウォレットには移行する資金がありません。新しいシードウォレットを直接採用できます — 現在の(空の)ウォレットをシードフレーズで保護されたものに置き換えます。念のため、古いウォレットはタイムスタンプ付きのバックアップとして退避されます。",
"mig_nofunds_confirm": "現在のウォレットが新しいシードウォレットに置き換えられることを理解しました",
"mig_not_connected": "先にノードへ接続してから、これを再度開いて移行してください。",
"mig_precheck_checking": "ウォレットを確認中",
"mig_receive_addr": "新しいウォレットの受信アドレス:",
"mig_recheck": "再確認",
"mig_remainder": "一部の資金がまだ旧ウォレットに残っています1回のトランザクションには入力が多すぎます — 切り替える前に残りをスイープしてください。",
"mig_remaining": "旧ウォレットの残り:%.8f DRGX",
"mig_seed_warning": "これら24単語を順番どおりに書き写し、オフラインで保管してください。これは新しいウォレットの唯一のバックアップです — 紛失すると、移行した資金は永久に失われます。",
@@ -411,6 +428,7 @@
"mig_to": "宛先: ",
"mig_txid": "txid: ",
"mig_unlock_first": "送金するには、まずウォレットのロックを解除してください。",
"mig_unlock_to_migrate": "先にウォレットのロックを解除してから、これを再度開いて移行してください。",
"mig_waiting_mine": "スイープトランザクションがマイニングされるのを待っています…",
"mig_working": "隔離されたノード内に新しいシードウォレットを作成中です — 数分かかる場合があります。メインウォレットは動作を続けます。",
"mine_when_idle": "アイドル時にマイニング",