i18n: back-fill daemon-startup hardening strings

Additively adds translations for the 6 new keys from this batch
(sb_daemon_extract_failed, sb_daemon_files_failed, loading_stall_{title,body,hint},
sb_plaintext_remote_blocked) across res/lang/*.json. es/de/fr/pt/ru get all 6; for
zh/ja/ko a string is only added when every glyph is already in the current
NotoSansCJK-Subset.ttf, since the subset can't be rebuilt here — 6 zh/ja/ko entries
whose glyphs aren't yet subsetted are left on the English fallback rather than render
as tofu. Written sorted, indent=4, ensure_ascii=False (matching add_missing_translations.py);
purely additive (42 insertions, 0 removals). The remaining 6 need a
scripts/build_cjk_subset.py font rebuild.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-08-02 12:05:53 -05:00
parent efb271cb9a
commit 56f9802fb9
8 changed files with 42 additions and 0 deletions

View File

@@ -734,6 +734,9 @@
"lite_working": "In Arbeit…", "lite_working": "In Arbeit…",
"loading": "Laden...", "loading": "Laden...",
"loading_addresses": "Adressen werden geladen...", "loading_addresses": "Adressen werden geladen...",
"loading_stall_body": "Der Daemon initialisiert seit %.0f s. Das kann nach einem Update oder beim ersten Start normal sein (Laden des Blockindex oder erneutes Scannen) die Verbindung wird automatisch hergestellt, sobald er bereit ist.",
"loading_stall_hint": "Hängt es noch? Öffne die Einstellungen und nutze „Daemon neu starten“ oder sieh in der Konsole nach Details.",
"loading_stall_title": "Dauert länger als erwartet",
"loading_transactions": "Transaktionen werden geladen", "loading_transactions": "Transaktionen werden geladen",
"local_hashrate": "Lokale Hashrate", "local_hashrate": "Lokale Hashrate",
"low_spec_mode": "Energiesparmodus", "low_spec_mode": "Energiesparmodus",
@@ -1154,6 +1157,8 @@
"sb_connecting_external": "Verbindung zu externem Daemon...", "sb_connecting_external": "Verbindung zu externem Daemon...",
"sb_connecting_generic": "Verbindung zum Daemon...", "sb_connecting_generic": "Verbindung zum Daemon...",
"sb_daemon_crashed": "Daemon ist %d mal abgestürzt", "sb_daemon_crashed": "Daemon ist %d mal abgestürzt",
"sb_daemon_extract_failed": "Daemon-Dateien konnten nicht geschrieben werden prüfe freien Speicherplatz und Berechtigungen.",
"sb_daemon_files_failed": "Daemon-Dateien konnten nicht nach %s geschrieben werden prüfe freien Speicherplatz und Berechtigungen.",
"sb_daemon_not_found": "Daemon nicht gefunden", "sb_daemon_not_found": "Daemon nicht gefunden",
"sb_daemon_start_failed": "dragonxd konnte nicht gestartet werden", "sb_daemon_start_failed": "dragonxd konnte nicht gestartet werden",
"sb_dragonxd_running": "dragonxd läuft", "sb_dragonxd_running": "dragonxd läuft",
@@ -1169,6 +1174,7 @@
"sb_net_mhs": "Netz: %.2f MH/s", "sb_net_mhs": "Netz: %.2f MH/s",
"sb_no_conf": "DRAGONX.conf nicht gefunden", "sb_no_conf": "DRAGONX.conf nicht gefunden",
"sb_peers": "Peers: %zu", "sb_peers": "Peers: %zu",
"sb_plaintext_remote_blocked": "RPC-Anmeldedaten werden nicht im Klartext an einen entfernten Host gesendet. Füge rpcallowplaintext=1 zu DRAGONX.conf hinzu, um dies zu erlauben, oder aktiviere TLS mit rpctls=1.",
"sb_rescanning": "Neuscan", "sb_rescanning": "Neuscan",
"sb_rescanning_pct": "Neuscan %.0f%%", "sb_rescanning_pct": "Neuscan %.0f%%",
"sb_restarting_daemon": "Daemon wird neu gestartet...", "sb_restarting_daemon": "Daemon wird neu gestartet...",

View File

@@ -734,6 +734,9 @@
"lite_working": "Trabajando…", "lite_working": "Trabajando…",
"loading": "Cargando...", "loading": "Cargando...",
"loading_addresses": "Cargando direcciones...", "loading_addresses": "Cargando direcciones...",
"loading_stall_body": "El daemon lleva %.0f s inicializándose. Esto puede ser normal tras una actualización o en el primer inicio (cargando el índice de bloques o reescaneando); se conectará automáticamente cuando esté listo.",
"loading_stall_hint": "¿Sigue bloqueado? Abre Ajustes y usa Reiniciar daemon, o revisa la Consola para más detalles.",
"loading_stall_title": "Está tardando más de lo esperado",
"loading_transactions": "Cargando transacciones", "loading_transactions": "Cargando transacciones",
"local_hashrate": "Tasa Hash Local", "local_hashrate": "Tasa Hash Local",
"low_spec_mode": "Modo bajo rendimiento", "low_spec_mode": "Modo bajo rendimiento",
@@ -1154,6 +1157,8 @@
"sb_connecting_external": "Conectando a daemon externo...", "sb_connecting_external": "Conectando a daemon externo...",
"sb_connecting_generic": "Conectando al daemon...", "sb_connecting_generic": "Conectando al daemon...",
"sb_daemon_crashed": "El daemon se bloqueó %d veces", "sb_daemon_crashed": "El daemon se bloqueó %d veces",
"sb_daemon_extract_failed": "No se pudieron escribir los archivos del daemon: comprueba el espacio libre en disco y los permisos.",
"sb_daemon_files_failed": "No se pudieron escribir los archivos del daemon en %s: comprueba el espacio libre en disco y los permisos.",
"sb_daemon_not_found": "Daemon no encontrado", "sb_daemon_not_found": "Daemon no encontrado",
"sb_daemon_start_failed": "No se pudo iniciar dragonxd", "sb_daemon_start_failed": "No se pudo iniciar dragonxd",
"sb_dragonxd_running": "dragonxd ejecutándose", "sb_dragonxd_running": "dragonxd ejecutándose",
@@ -1169,6 +1174,7 @@
"sb_net_mhs": "Red: %.2f MH/s", "sb_net_mhs": "Red: %.2f MH/s",
"sb_no_conf": "DRAGONX.conf no encontrado", "sb_no_conf": "DRAGONX.conf no encontrado",
"sb_peers": "Pares: %zu", "sb_peers": "Pares: %zu",
"sb_plaintext_remote_blocked": "Se rechaza enviar credenciales RPC en texto plano a un host remoto. Añade rpcallowplaintext=1 a DRAGONX.conf para permitirlo, o habilita TLS con rpctls=1.",
"sb_rescanning": "Reescaneando", "sb_rescanning": "Reescaneando",
"sb_rescanning_pct": "Reescaneando %.0f%%", "sb_rescanning_pct": "Reescaneando %.0f%%",
"sb_restarting_daemon": "Reiniciando daemon...", "sb_restarting_daemon": "Reiniciando daemon...",

View File

@@ -734,6 +734,9 @@
"lite_working": "En cours…", "lite_working": "En cours…",
"loading": "Chargement...", "loading": "Chargement...",
"loading_addresses": "Chargement des adresses...", "loading_addresses": "Chargement des adresses...",
"loading_stall_body": "Le démon s'initialise depuis %.0f s. Cela peut être normal après une mise à jour ou au premier lancement (chargement de l'index des blocs ou nouvelle analyse) — la connexion se fera automatiquement une fois prêt.",
"loading_stall_hint": "Toujours bloqué ? Ouvrez les Paramètres et utilisez Redémarrer le démon, ou consultez la Console pour plus de détails.",
"loading_stall_title": "Cela prend plus de temps que prévu",
"loading_transactions": "Chargement des transactions", "loading_transactions": "Chargement des transactions",
"local_hashrate": "Hashrate local", "local_hashrate": "Hashrate local",
"low_spec_mode": "Mode économie", "low_spec_mode": "Mode économie",
@@ -1154,6 +1157,8 @@
"sb_connecting_external": "Connexion au daemon externe...", "sb_connecting_external": "Connexion au daemon externe...",
"sb_connecting_generic": "Connexion au daemon...", "sb_connecting_generic": "Connexion au daemon...",
"sb_daemon_crashed": "Le daemon a planté %d fois", "sb_daemon_crashed": "Le daemon a planté %d fois",
"sb_daemon_extract_failed": "Échec de l'écriture des fichiers du démon — vérifiez l'espace disque libre et les permissions.",
"sb_daemon_files_failed": "Échec de l'écriture des fichiers du démon dans %s — vérifiez l'espace disque libre et les permissions.",
"sb_daemon_not_found": "Daemon introuvable", "sb_daemon_not_found": "Daemon introuvable",
"sb_daemon_start_failed": "Impossible de démarrer dragonxd", "sb_daemon_start_failed": "Impossible de démarrer dragonxd",
"sb_dragonxd_running": "dragonxd en cours", "sb_dragonxd_running": "dragonxd en cours",
@@ -1169,6 +1174,7 @@
"sb_net_mhs": "Rés: %.2f MH/s", "sb_net_mhs": "Rés: %.2f MH/s",
"sb_no_conf": "DRAGONX.conf introuvable", "sb_no_conf": "DRAGONX.conf introuvable",
"sb_peers": "Pairs : %zu", "sb_peers": "Pairs : %zu",
"sb_plaintext_remote_blocked": "Refus d'envoyer les identifiants RPC en clair vers un hôte distant. Ajoutez rpcallowplaintext=1 à DRAGONX.conf pour l'autoriser, ou activez TLS avec rpctls=1.",
"sb_rescanning": "Rescan", "sb_rescanning": "Rescan",
"sb_rescanning_pct": "Rescan %.0f%%", "sb_rescanning_pct": "Rescan %.0f%%",
"sb_restarting_daemon": "Redémarrage du daemon...", "sb_restarting_daemon": "Redémarrage du daemon...",

View File

@@ -734,6 +734,9 @@
"lite_working": "処理中…", "lite_working": "処理中…",
"loading": "読み込み中...", "loading": "読み込み中...",
"loading_addresses": "アドレスを読み込み中...", "loading_addresses": "アドレスを読み込み中...",
"loading_stall_body": "デーモンは %.0f 秒間初期化しています。アップデート後や初回起動時(ブロックインデックスの読み込みや再スキャン)は正常な場合があります。準備ができ次第、自動的に接続します。",
"loading_stall_hint": "まだ動かない場合は、設定を開いて「デーモンを再起動」を使うか、コンソールで詳細を確認してください。",
"loading_stall_title": "予想より時間がかかっています",
"loading_transactions": "トランザクションを読み込み中", "loading_transactions": "トランザクションを読み込み中",
"local_hashrate": "ローカルハッシュレート", "local_hashrate": "ローカルハッシュレート",
"low_spec_mode": "省電力モード", "low_spec_mode": "省電力モード",

View File

@@ -734,6 +734,8 @@
"lite_working": "작업 중…", "lite_working": "작업 중…",
"loading": "로딩 중...", "loading": "로딩 중...",
"loading_addresses": "주소 로딩 중...", "loading_addresses": "주소 로딩 중...",
"loading_stall_body": "데몬이 %.0f초 동안 초기화 중입니다. 업데이트 후나 첫 실행 시(블록 인덱스 로드 또는 재스캔)에는 정상일 수 있습니다. 준비되면 자동으로 연결됩니다.",
"loading_stall_title": "예상보다 오래 걸리고 있습니다",
"loading_transactions": "거래를 불러오는 중", "loading_transactions": "거래를 불러오는 중",
"local_hashrate": "로컬 해시레이트", "local_hashrate": "로컬 해시레이트",
"low_spec_mode": "저사양 모드", "low_spec_mode": "저사양 모드",
@@ -1154,6 +1156,8 @@
"sb_connecting_external": "외부 데몬에 연결 중...", "sb_connecting_external": "외부 데몬에 연결 중...",
"sb_connecting_generic": "데몬에 연결 중...", "sb_connecting_generic": "데몬에 연결 중...",
"sb_daemon_crashed": "데몬이 %d회 충돌함", "sb_daemon_crashed": "데몬이 %d회 충돌함",
"sb_daemon_extract_failed": "데몬 파일을 쓰지 못했습니다. 디스크 여유 공간과 권한을 확인하세요.",
"sb_daemon_files_failed": "%s에 데몬 파일을 쓰지 못했습니다. 디스크 여유 공간과 권한을 확인하세요.",
"sb_daemon_not_found": "데몬을 찾을 수 없음", "sb_daemon_not_found": "데몬을 찾을 수 없음",
"sb_daemon_start_failed": "dragonxd를 시작할 수 없습니다", "sb_daemon_start_failed": "dragonxd를 시작할 수 없습니다",
"sb_dragonxd_running": "dragonxd 실행 중", "sb_dragonxd_running": "dragonxd 실행 중",
@@ -1169,6 +1173,7 @@
"sb_net_mhs": "네트: %.2f MH/s", "sb_net_mhs": "네트: %.2f MH/s",
"sb_no_conf": "DRAGONX.conf를 찾을 수 없음", "sb_no_conf": "DRAGONX.conf를 찾을 수 없음",
"sb_peers": "피어: %zu", "sb_peers": "피어: %zu",
"sb_plaintext_remote_blocked": "원격 호스트로 RPC 자격 증명을 평문으로 보내는 것을 거부했습니다. 허용하려면 DRAGONX.conf에 rpcallowplaintext=1을 추가하거나 rpctls=1로 TLS를 활성화하세요.",
"sb_rescanning": "재스캔", "sb_rescanning": "재스캔",
"sb_rescanning_pct": "재스캔 %.0f%%", "sb_rescanning_pct": "재스캔 %.0f%%",
"sb_restarting_daemon": "데몬 재시작 중...", "sb_restarting_daemon": "데몬 재시작 중...",

View File

@@ -734,6 +734,9 @@
"lite_working": "Processando…", "lite_working": "Processando…",
"loading": "Carregando...", "loading": "Carregando...",
"loading_addresses": "Carregando endereços...", "loading_addresses": "Carregando endereços...",
"loading_stall_body": "O daemon está inicializando há %.0f s. Isso pode ser normal após uma atualização ou no primeiro início (carregando o índice de blocos ou reescaneando) — ele se conectará automaticamente quando estiver pronto.",
"loading_stall_hint": "Ainda travado? Abra as Configurações e use Reiniciar daemon, ou verifique o Console para mais detalhes.",
"loading_stall_title": "Está demorando mais do que o esperado",
"loading_transactions": "Carregando transações", "loading_transactions": "Carregando transações",
"local_hashrate": "Hashrate Local", "local_hashrate": "Hashrate Local",
"low_spec_mode": "Modo econômico", "low_spec_mode": "Modo econômico",
@@ -1154,6 +1157,8 @@
"sb_connecting_external": "Conectando ao daemon externo...", "sb_connecting_external": "Conectando ao daemon externo...",
"sb_connecting_generic": "Conectando ao daemon...", "sb_connecting_generic": "Conectando ao daemon...",
"sb_daemon_crashed": "O daemon travou %d vezes", "sb_daemon_crashed": "O daemon travou %d vezes",
"sb_daemon_extract_failed": "Falha ao gravar os arquivos do daemon — verifique o espaço livre em disco e as permissões.",
"sb_daemon_files_failed": "Falha ao gravar os arquivos do daemon em %s — verifique o espaço livre em disco e as permissões.",
"sb_daemon_not_found": "Daemon não encontrado", "sb_daemon_not_found": "Daemon não encontrado",
"sb_daemon_start_failed": "Não foi possível iniciar o dragonxd", "sb_daemon_start_failed": "Não foi possível iniciar o dragonxd",
"sb_dragonxd_running": "dragonxd em execução", "sb_dragonxd_running": "dragonxd em execução",
@@ -1169,6 +1174,7 @@
"sb_net_mhs": "Rede: %.2f MH/s", "sb_net_mhs": "Rede: %.2f MH/s",
"sb_no_conf": "DRAGONX.conf não encontrado", "sb_no_conf": "DRAGONX.conf não encontrado",
"sb_peers": "Pares: %zu", "sb_peers": "Pares: %zu",
"sb_plaintext_remote_blocked": "Recusando enviar credenciais RPC em texto simples para um host remoto. Adicione rpcallowplaintext=1 ao DRAGONX.conf para permitir, ou habilite TLS com rpctls=1.",
"sb_rescanning": "Reescaneando", "sb_rescanning": "Reescaneando",
"sb_rescanning_pct": "Reescaneando %.0f%%", "sb_rescanning_pct": "Reescaneando %.0f%%",
"sb_restarting_daemon": "Reiniciando daemon...", "sb_restarting_daemon": "Reiniciando daemon...",

View File

@@ -734,6 +734,9 @@
"lite_working": "Обработка…", "lite_working": "Обработка…",
"loading": "Загрузка...", "loading": "Загрузка...",
"loading_addresses": "Загрузка адресов...", "loading_addresses": "Загрузка адресов...",
"loading_stall_body": "Демон инициализируется уже %.0f с. Это может быть нормально после обновления или при первом запуске (загрузка индекса блоков или повторное сканирование) — соединение установится автоматически, когда он будет готов.",
"loading_stall_hint": "Всё ещё не отвечает? Откройте Настройки и нажмите «Перезапустить демон» или посмотрите подробности в Консоли.",
"loading_stall_title": "Занимает больше времени, чем ожидалось",
"loading_transactions": "Загрузка транзакций", "loading_transactions": "Загрузка транзакций",
"local_hashrate": "Локальный хешрейт", "local_hashrate": "Локальный хешрейт",
"low_spec_mode": "Режим экономии", "low_spec_mode": "Режим экономии",
@@ -1154,6 +1157,8 @@
"sb_connecting_external": "Подключение к внешнему демону...", "sb_connecting_external": "Подключение к внешнему демону...",
"sb_connecting_generic": "Подключение к демону...", "sb_connecting_generic": "Подключение к демону...",
"sb_daemon_crashed": "Демон упал %d раз", "sb_daemon_crashed": "Демон упал %d раз",
"sb_daemon_extract_failed": "Не удалось записать файлы демона — проверьте свободное место на диске и права доступа.",
"sb_daemon_files_failed": "Не удалось записать файлы демона в %s — проверьте свободное место на диске и права доступа.",
"sb_daemon_not_found": "Демон не найден", "sb_daemon_not_found": "Демон не найден",
"sb_daemon_start_failed": "Не удалось запустить dragonxd", "sb_daemon_start_failed": "Не удалось запустить dragonxd",
"sb_dragonxd_running": "dragonxd запущен", "sb_dragonxd_running": "dragonxd запущен",
@@ -1169,6 +1174,7 @@
"sb_net_mhs": "Сеть: %.2f MH/s", "sb_net_mhs": "Сеть: %.2f MH/s",
"sb_no_conf": "DRAGONX.conf не найден", "sb_no_conf": "DRAGONX.conf не найден",
"sb_peers": "Пиры: %zu", "sb_peers": "Пиры: %zu",
"sb_plaintext_remote_blocked": "Отправка учётных данных RPC открытым текстом на удалённый узел запрещена. Добавьте rpcallowplaintext=1 в DRAGONX.conf, чтобы разрешить, или включите TLS с помощью rpctls=1.",
"sb_rescanning": "Пересканирование", "sb_rescanning": "Пересканирование",
"sb_rescanning_pct": "Пересканирование %.0f%%", "sb_rescanning_pct": "Пересканирование %.0f%%",
"sb_restarting_daemon": "Перезапуск демона...", "sb_restarting_daemon": "Перезапуск демона...",

View File

@@ -734,6 +734,8 @@
"lite_working": "处理中…", "lite_working": "处理中…",
"loading": "加载中...", "loading": "加载中...",
"loading_addresses": "正在加载地址...", "loading_addresses": "正在加载地址...",
"loading_stall_body": "守护进程已初始化 %.0f 秒。更新后或首次启动时(加载区块索引或重新扫描)这可能是正常现象——就绪后会自动连接。",
"loading_stall_title": "耗时超出预期",
"loading_transactions": "正在加载交易", "loading_transactions": "正在加载交易",
"local_hashrate": "本地算力", "local_hashrate": "本地算力",
"low_spec_mode": "低配模式", "low_spec_mode": "低配模式",
@@ -1154,6 +1156,8 @@
"sb_connecting_external": "正在连接外部守护进程...", "sb_connecting_external": "正在连接外部守护进程...",
"sb_connecting_generic": "正在连接守护进程...", "sb_connecting_generic": "正在连接守护进程...",
"sb_daemon_crashed": "守护进程崩溃 %d 次", "sb_daemon_crashed": "守护进程崩溃 %d 次",
"sb_daemon_extract_failed": "无法写入守护进程文件——请检查磁盘剩余空间和权限。",
"sb_daemon_files_failed": "无法将守护进程文件写入 %s——请检查磁盘剩余空间和权限。",
"sb_daemon_not_found": "未找到守护进程", "sb_daemon_not_found": "未找到守护进程",
"sb_daemon_start_failed": "无法启动 dragonxd", "sb_daemon_start_failed": "无法启动 dragonxd",
"sb_dragonxd_running": "dragonxd 运行中", "sb_dragonxd_running": "dragonxd 运行中",