#!/usr/bin/env python3 """Add missing translation keys to all 8 language JSON files. Reads all keys from i18n.cpp, compares with each JSON, and adds missing translations. """ import json import re import sys from pathlib import Path ROOT = Path(__file__).resolve().parent.parent I18N_CPP = ROOT / "src" / "util" / "i18n.cpp" LANG_DIR = ROOT / "res" / "lang" # Extract English keys from i18n.cpp def load_english_keys(): keys = {} with open(I18N_CPP, "r") as f: for line in f: m = re.match(r'\s*strings_\["([^"]+)"\]\s*=\s*"(.*)";', line) if m: keys[m.group(1)] = m.group(2) return keys # All translations for the 158 missing keys TRANSLATIONS = { # --- Balance tab --- "hide_zero_balances": { "es": "Ocultar saldos 0", "de": "Nullsalden ausblenden", "fr": "Masquer les soldes à 0", "pt": "Ocultar saldos zero", "ru": "Скрыть нулевые балансы", "zh": "隐藏零余额", "ja": "残高0を非表示", "ko": "잔액 0 숨기기" }, "restore_address": { "es": "Restaurar dirección", "de": "Adresse wiederherstellen", "fr": "Restaurer l'adresse", "pt": "Restaurar endereço", "ru": "Восстановить адрес", "zh": "恢复地址", "ja": "アドレスを復元", "ko": "주소 복원" }, "hide_address": { "es": "Ocultar dirección", "de": "Adresse ausblenden", "fr": "Masquer l'adresse", "pt": "Ocultar endereço", "ru": "Скрыть адрес", "zh": "隐藏地址", "ja": "アドレスを非表示", "ko": "주소 숨기기" }, "remove_favorite": { "es": "Quitar favorito", "de": "Favorit entfernen", "fr": "Retirer des favoris", "pt": "Remover favorito", "ru": "Удалить из избранного", "zh": "移除收藏", "ja": "お気に入りを削除", "ko": "즐겨찾기 제거" }, "favorite_address": { "es": "Marcar como favorito", "de": "Als Favorit markieren", "fr": "Ajouter aux favoris", "pt": "Adicionar aos favoritos", "ru": "Добавить в избранное", "zh": "收藏地址", "ja": "お気に入りに追加", "ko": "즐겨찾기에 추가" }, "show_hidden": { "es": "Mostrar ocultos (%d)", "de": "Ausgeblendete anzeigen (%d)", "fr": "Afficher masqués (%d)", "pt": "Mostrar ocultos (%d)", "ru": "Показать скрытые (%d)", "zh": "显示已隐藏 (%d)", "ja": "非表示を表示 (%d)", "ko": "숨겨진 항목 표시 (%d)" }, # --- Settings: general / descriptions --- "settings_about_text": { "es": "Una billetera de criptomonedas blindada para DragonX (DRGX), creada con Dear ImGui para una experiencia ligera y portátil.", "de": "Eine geschirmte Kryptowährungs-Wallet für DragonX (DRGX), erstellt mit Dear ImGui für ein leichtes, portables Erlebnis.", "fr": "Un portefeuille de cryptomonnaie blindé pour DragonX (DRGX), construit avec Dear ImGui pour une expérience légère et portable.", "pt": "Uma carteira de criptomoeda blindada para DragonX (DRGX), criada com Dear ImGui para uma experiência leve e portátil.", "ru": "Защищённый криптовалютный кошелёк для DragonX (DRGX), созданный на Dear ImGui для лёгкого и портативного использования.", "zh": "DragonX (DRGX) 屏蔽加密货币钱包,使用 Dear ImGui 构建,提供轻量、便携的体验。", "ja": "DragonX (DRGX) 用のシールド暗号通貨ウォレット。Dear ImGui で構築された軽量でポータブルな体験。", "ko": "DragonX (DRGX)용 차폐 암호화폐 지갑으로, Dear ImGui로 제작되어 가볍고 휴대 가능합니다." }, "settings_copyright": { "es": "Copyright 2024-2026 Desarrolladores de DragonX | Licencia GPLv3", "de": "Copyright 2024-2026 DragonX-Entwickler | GPLv3-Lizenz", "fr": "Copyright 2024-2026 Développeurs DragonX | Licence GPLv3", "pt": "Copyright 2024-2026 Desenvolvedores DragonX | Licença GPLv3", "ru": "Copyright 2024-2026 Разработчики DragonX | Лицензия GPLv3", "zh": "版权所有 2024-2026 DragonX 开发者 | GPLv3 许可证", "ja": "Copyright 2024-2026 DragonX 開発者 | GPLv3 ライセンス", "ko": "Copyright 2024-2026 DragonX 개발자 | GPLv3 라이선스" }, # --- Settings: labels --- "settings_acrylic_level": { "es": "Nivel de acrílico:", "de": "Acrylstufe:", "fr": "Niveau acrylique :", "pt": "Nível acrílico:", "ru": "Уровень акрила:", "zh": "亚克力级别:", "ja": "アクリルレベル:", "ko": "아크릴 레벨:" }, "settings_noise_opacity": { "es": "Opacidad de ruido:", "de": "Rauschdichte:", "fr": "Opacité du bruit :", "pt": "Opacidade do ruído:", "ru": "Непрозрачность шума:", "zh": "噪点不透明度:", "ja": "ノイズ不透明度:", "ko": "노이즈 불투명도:" }, "settings_visual_effects": { "es": "Efectos visuales", "de": "Visuelle Effekte", "fr": "Effets visuels", "pt": "Efeitos visuais", "ru": "Визуальные эффекты", "zh": "视觉效果", "ja": "視覚効果", "ko": "시각 효과" }, "settings_privacy": { "es": "Privacidad", "de": "Datenschutz", "fr": "Confidentialité", "pt": "Privacidade", "ru": "Конфиденциальность", "zh": "隐私", "ja": "プライバシー", "ko": "개인 정보" }, "settings_other": { "es": "Otros", "de": "Sonstiges", "fr": "Autres", "pt": "Outros", "ru": "Прочее", "zh": "其他", "ja": "その他", "ko": "기타" }, "settings_connection": { "es": "Conexión", "de": "Verbindung", "fr": "Connexion", "pt": "Conexão", "ru": "Подключение", "zh": "连接", "ja": "接続", "ko": "연결" }, "settings_rpc_connection": { "es": "Conexión RPC", "de": "RPC-Verbindung", "fr": "Connexion RPC", "pt": "Conexão RPC", "ru": "RPC-соединение", "zh": "RPC 连接", "ja": "RPC 接続", "ko": "RPC 연결" }, "settings_configure_rpc": { "es": "Configurar conexión al daemon dragonxd", "de": "Verbindung zum dragonxd-Daemon konfigurieren", "fr": "Configurer la connexion au daemon dragonxd", "pt": "Configurar conexão ao daemon dragonxd", "ru": "Настроить подключение к демону dragonxd", "zh": "配置 dragonxd 守护进程连接", "ja": "dragonxd デーモンへの接続を設定", "ko": "dragonxd 데몬 연결 구성" }, "settings_rpc_note": { "es": "Nota: Los ajustes de conexión se detectan automáticamente desde DRAGONX.conf", "de": "Hinweis: Verbindungseinstellungen werden automatisch aus DRAGONX.conf erkannt", "fr": "Remarque : Les paramètres de connexion sont généralement détectés automatiquement depuis DRAGONX.conf", "pt": "Nota: As configurações de conexão são normalmente detectadas automaticamente do DRAGONX.conf", "ru": "Примечание: Настройки подключения обычно определяются автоматически из DRAGONX.conf", "zh": "注意:连接设置通常从 DRAGONX.conf 自动检测", "ja": "注意:接続設定は通常 DRAGONX.conf から自動検出されます", "ko": "참고: 연결 설정은 보통 DRAGONX.conf에서 자동 감지됩니다" }, "settings_wallet_maintenance": { "es": "Mantenimiento de billetera", "de": "Wallet-Wartung", "fr": "Maintenance du portefeuille", "pt": "Manutenção da carteira", "ru": "Обслуживание кошелька", "zh": "钱包维护", "ja": "ウォレットメンテナンス", "ko": "지갑 유지보수" }, "settings_wallet_info": { "es": "Información de billetera", "de": "Wallet-Informationen", "fr": "Informations du portefeuille", "pt": "Informações da carteira", "ru": "Информация о кошельке", "zh": "钱包信息", "ja": "ウォレット情報", "ko": "지갑 정보" }, "settings_wallet_file_size": { "es": "Tamaño del archivo de billetera: %s", "de": "Wallet-Dateigröße: %s", "fr": "Taille du fichier portefeuille : %s", "pt": "Tamanho do arquivo da carteira: %s", "ru": "Размер файла кошелька: %s", "zh": "钱包文件大小:%s", "ja": "ウォレットファイルサイズ:%s", "ko": "지갑 파일 크기: %s" }, "settings_wallet_location": { "es": "Ubicación de billetera: %s", "de": "Wallet-Speicherort: %s", "fr": "Emplacement du portefeuille : %s", "pt": "Localização da carteira: %s", "ru": "Расположение кошелька: %s", "zh": "钱包位置:%s", "ja": "ウォレットの場所:%s", "ko": "지갑 위치: %s" }, "settings_block_explorer_urls": { "es": "URLs del explorador de bloques", "de": "Block-Explorer-URLs", "fr": "URLs de l'explorateur de blocs", "pt": "URLs do explorador de blocos", "ru": "URL-адреса обозревателя блоков", "zh": "区块浏览器网址", "ja": "ブロックエクスプローラーURL", "ko": "블록 탐색기 URL" }, "settings_configure_explorer": { "es": "Configurar enlaces de explorador de bloques externo", "de": "Externe Block-Explorer-Links konfigurieren", "fr": "Configurer les liens vers l'explorateur de blocs externe", "pt": "Configurar links do explorador de blocos externo", "ru": "Настроить ссылки внешнего обозревателя блоков", "zh": "配置外部区块浏览器链接", "ja": "外部ブロックエクスプローラーリンクを設定", "ko": "외부 블록 탐색기 링크 구성" }, "settings_explorer_hint": { "es": "Las URLs deben incluir una barra final. Se añadirá el txid/dirección.", "de": "URLs sollten einen abschließenden Schrägstrich enthalten. Die txid/Adresse wird angehängt.", "fr": "Les URLs doivent inclure une barre oblique finale. Le txid/adresse sera ajouté.", "pt": "As URLs devem incluir uma barra final. O txid/endereço será adicionado.", "ru": "URL-адреса должны заканчиваться косой чертой. Txid/адрес будет добавлен.", "zh": "URL 应包含尾部斜杠。将自动附加 txid/地址。", "ja": "URLには末尾のスラッシュを含めてください。txid/アドレスが追加されます。", "ko": "URL에 후행 슬래시를 포함해야 합니다. txid/주소가 추가됩니다." }, "settings_reduce_transparency": { "es": "Reducir transparencia", "de": "Transparenz reduzieren", "fr": "Réduire la transparence", "pt": "Reduzir transparência", "ru": "Уменьшить прозрачность", "zh": "降低透明度", "ja": "透明度を下げる", "ko": "투명도 줄이기" }, # --- Settings: buttons --- "settings_address_book": { "es": "Libreta de direcciones...", "de": "Adressbuch...", "fr": "Carnet d'adresses...", "pt": "Livro de endereços...", "ru": "Адресная книга...", "zh": "地址簿...", "ja": "アドレス帳...", "ko": "주소록..." }, "settings_validate_address": { "es": "Validar dirección...", "de": "Adresse überprüfen...", "fr": "Valider l'adresse...", "pt": "Validar endereço...", "ru": "Проверить адрес...", "zh": "验证地址...", "ja": "アドレス検証...", "ko": "주소 확인..." }, "settings_request_payment": { "es": "Solicitar pago...", "de": "Zahlung anfordern...", "fr": "Demander un paiement...", "pt": "Solicitar pagamento...", "ru": "Запросить платёж...", "zh": "请求付款...", "ja": "支払い請求...", "ko": "결제 요청..." }, "settings_shield_mining": { "es": "Blindar minería...", "de": "Mining abschirmen...", "fr": "Blindage minage...", "pt": "Blindar mineração...", "ru": "Экранировать майнинг...", "zh": "屏蔽挖矿...", "ja": "マイニングシールド...", "ko": "채굴 차폐..." }, "settings_merge_to_address": { "es": "Fusionar a dirección...", "de": "An Adresse zusammenführen...", "fr": "Fusionner vers l'adresse...", "pt": "Fundir para endereço...", "ru": "Объединить на адрес...", "zh": "合并到地址...", "ja": "アドレスにマージ...", "ko": "주소로 병합..." }, "settings_clear_ztx": { "es": "Limpiar historial Z-Tx", "de": "Z-Tx-Verlauf löschen", "fr": "Effacer l'historique Z-Tx", "pt": "Limpar histórico Z-Tx", "ru": "Очистить историю Z-Tx", "zh": "清除 Z-Tx 历史", "ja": "Z-Tx 履歴をクリア", "ko": "Z-Tx 기록 삭제" }, "settings_clear_ztx_long": { "es": "Limpiar historial guardado de Z-transacciones", "de": "Gespeicherten Z-Transaktionsverlauf löschen", "fr": "Effacer l'historique sauvegardé des Z-transactions", "pt": "Limpar histórico salvo de Z-transações", "ru": "Очистить сохранённую историю Z-транзакций", "zh": "清除已保存的 Z-交易历史", "ja": "保存済みZ-トランザクション履歴をクリア", "ko": "저장된 Z-트랜잭션 기록 삭제" }, "settings_clear_ztx_desc": { "es": "Eliminar datos de transacciones blindadas almacenados localmente", "de": "Lokal gespeicherte geschirmte Transaktionsdaten löschen", "fr": "Supprimer les données de transactions blindées stockées localement", "pt": "Excluir dados de transações blindadas armazenados localmente", "ru": "Удалить локально сохранённые данные защищённых транзакций", "zh": "删除本地存储的屏蔽交易数据", "ja": "ローカルに保存されたシールドトランザクションデータを削除", "ko": "로컬에 저장된 차폐 거래 데이터 삭제" }, "settings_import_key": { "es": "Importar clave...", "de": "Schlüssel importieren...", "fr": "Importer la clé...", "pt": "Importar chave...", "ru": "Импортировать ключ...", "zh": "导入密钥...", "ja": "鍵をインポート...", "ko": "키 가져오기..." }, "settings_export_key": { "es": "Exportar clave...", "de": "Schlüssel exportieren...", "fr": "Exporter la clé...", "pt": "Exportar chave...", "ru": "Экспортировать ключ...", "zh": "导出密钥...", "ja": "鍵をエクスポート...", "ko": "키 내보내기..." }, "settings_export_all": { "es": "Exportar todo...", "de": "Alle exportieren...", "fr": "Tout exporter...", "pt": "Exportar tudo...", "ru": "Экспортировать все...", "zh": "全部导出...", "ja": "すべてエクスポート...", "ko": "모두 내보내기..." }, "settings_backup": { "es": "Respaldo...", "de": "Sicherung...", "fr": "Sauvegarde...", "pt": "Backup...", "ru": "Резервная копия...", "zh": "备份...", "ja": "バックアップ...", "ko": "백업..." }, "settings_export_csv": { "es": "Exportar CSV...", "de": "CSV exportieren...", "fr": "Exporter CSV...", "pt": "Exportar CSV...", "ru": "Экспорт CSV...", "zh": "导出 CSV...", "ja": "CSV エクスポート...", "ko": "CSV 내보내기..." }, "settings_encrypt_wallet": { "es": "Cifrar billetera", "de": "Wallet verschlüsseln", "fr": "Chiffrer le portefeuille", "pt": "Encriptar carteira", "ru": "Зашифровать кошелёк", "zh": "加密钱包", "ja": "ウォレットを暗号化", "ko": "지갑 암호화" }, "settings_change_passphrase": { "es": "Cambiar contraseña", "de": "Passphrase ändern", "fr": "Changer la phrase secrète", "pt": "Alterar frase secreta", "ru": "Сменить пароль", "zh": "更改密码", "ja": "パスフレーズを変更", "ko": "비밀번호 변경" }, "settings_lock_now": { "es": "Bloquear ahora", "de": "Jetzt sperren", "fr": "Verrouiller maintenant", "pt": "Bloquear agora", "ru": "Заблокировать сейчас", "zh": "立即锁定", "ja": "今すぐロック", "ko": "지금 잠금" }, "settings_remove_encryption": { "es": "Quitar cifrado", "de": "Verschlüsselung entfernen", "fr": "Supprimer le chiffrement", "pt": "Remover encriptação", "ru": "Удалить шифрование", "zh": "移除加密", "ja": "暗号化を解除", "ko": "암호화 제거" }, "settings_set_pin": { "es": "Establecer PIN", "de": "PIN festlegen", "fr": "Définir le PIN", "pt": "Definir PIN", "ru": "Установить PIN", "zh": "设置 PIN", "ja": "PIN を設定", "ko": "PIN 설정" }, "settings_change_pin": { "es": "Cambiar PIN", "de": "PIN ändern", "fr": "Changer le PIN", "pt": "Alterar PIN", "ru": "Изменить PIN", "zh": "更改 PIN", "ja": "PIN を変更", "ko": "PIN 변경" }, "settings_remove_pin": { "es": "Quitar PIN", "de": "PIN entfernen", "fr": "Supprimer le PIN", "pt": "Remover PIN", "ru": "Удалить PIN", "zh": "移除 PIN", "ja": "PIN を削除", "ko": "PIN 제거" }, "settings_restart_daemon": { "es": "Reiniciar daemon", "de": "Daemon neu starten", "fr": "Redémarrer le daemon", "pt": "Reiniciar daemon", "ru": "Перезапустить демон", "zh": "重启守护进程", "ja": "デーモンを再起動", "ko": "데몬 재시작" }, # --- Settings: status/labels --- "settings_not_encrypted": { "es": "Sin cifrar", "de": "Nicht verschlüsselt", "fr": "Non chiffré", "pt": "Não encriptado", "ru": "Не зашифрован", "zh": "未加密", "ja": "暗号化されていません", "ko": "암호화되지 않음" }, "settings_locked": { "es": "Bloqueado", "de": "Gesperrt", "fr": "Verrouillé", "pt": "Bloqueado", "ru": "Заблокирован", "zh": "已锁定", "ja": "ロック済み", "ko": "잠김" }, "settings_unlocked": { "es": "Desbloqueado", "de": "Entsperrt", "fr": "Déverrouillé", "pt": "Desbloqueado", "ru": "Разблокирован", "zh": "已解锁", "ja": "ロック解除", "ko": "잠금 해제" }, "settings_auto_lock": { "es": "BLOQUEO AUTOMÁTICO", "de": "AUTO-SPERRE", "fr": "VERROUILLAGE AUTO", "pt": "BLOQUEIO AUTOMÁTICO", "ru": "АВТОБЛОКИРОВКА", "zh": "自动锁定", "ja": "オートロック", "ko": "자동 잠금" }, "settings_quick_unlock_pin": { "es": "PIN de desbloqueo rápido", "de": "Schnell-Entsperr-PIN", "fr": "PIN de déverrouillage rapide", "pt": "PIN de desbloqueio rápido", "ru": "Быстрый PIN-код разблокировки", "zh": "快速解锁 PIN", "ja": "クイックアンロック PIN", "ko": "빠른 잠금 해제 PIN" }, "settings_pin_active": { "es": "PIN", "de": "PIN", "fr": "PIN", "pt": "PIN", "ru": "PIN", "zh": "PIN", "ja": "PIN", "ko": "PIN" }, "settings_encrypt_first_pin": { "es": "Primero cifre la billetera para habilitar el PIN", "de": "Verschlüsseln Sie zuerst die Wallet, um PIN zu aktivieren", "fr": "Chiffrez d'abord le portefeuille pour activer le PIN", "pt": "Encripte a carteira primeiro para ativar o PIN", "ru": "Сначала зашифруйте кошелёк, чтобы включить PIN", "zh": "请先加密钱包以启用 PIN", "ja": "PIN を有効にするには、まずウォレットを暗号化してください", "ko": "PIN을 활성화하려면 먼저 지갑을 암호화하세요" }, "settings_data_dir": { "es": "Dir. de datos:", "de": "Datenverzeichnis:", "fr": "Rép. de données :", "pt": "Dir. de dados:", "ru": "Каталог данных:", "zh": "数据目录:", "ja": "データディレクトリ:", "ko": "데이터 디렉터리:" }, "settings_wallet_size_label": { "es": "Tamaño de billetera:", "de": "Wallet-Größe:", "fr": "Taille du portefeuille :", "pt": "Tamanho da carteira:", "ru": "Размер кошелька:", "zh": "钱包大小:", "ja": "ウォレットサイズ:", "ko": "지갑 크기:" }, "settings_not_found": { "es": "No encontrado", "de": "Nicht gefunden", "fr": "Non trouvé", "pt": "Não encontrado", "ru": "Не найден", "zh": "未找到", "ja": "見つかりません", "ko": "찾을 수 없음" }, "settings_auto_detected": { "es": "Autodetectado de DRAGONX.conf", "de": "Automatisch erkannt aus DRAGONX.conf", "fr": "Détecté automatiquement depuis DRAGONX.conf", "pt": "Detectado automaticamente de DRAGONX.conf", "ru": "Автоопределено из DRAGONX.conf", "zh": "从 DRAGONX.conf 自动检测", "ja": "DRAGONX.conf から自動検出", "ko": "DRAGONX.conf에서 자동 감지" }, "settings_builtin": { "es": "Integrado", "de": "Integriert", "fr": "Intégré", "pt": "Integrado", "ru": "Встроенные", "zh": "内置", "ja": "内蔵", "ko": "내장" }, "settings_custom": { "es": "Personalizado", "de": "Benutzerdefiniert", "fr": "Personnalisé", "pt": "Personalizado", "ru": "Пользовательские", "zh": "自定义", "ja": "カスタム", "ko": "사용자 지정" }, "settings_gradient_bg": { "es": "Fondo degradado", "de": "Hintergrund-Verlauf", "fr": "Fond dégradé", "pt": "Fundo gradiente", "ru": "Градиент фона", "zh": "渐变背景", "ja": "グラデーション背景", "ko": "그라데이션 배경" }, "settings_idle_after": { "es": "después de", "de": "nach", "fr": "après", "pt": "após", "ru": "через", "zh": "之后", "ja": "経過後", "ko": "후" }, "settings_wallet_not_found": { "es": "Archivo de billetera no encontrado", "de": "Wallet-Datei nicht gefunden", "fr": "Fichier portefeuille introuvable", "pt": "Arquivo da carteira não encontrado", "ru": "Файл кошелька не найден", "zh": "未找到钱包文件", "ja": "ウォレットファイルが見つかりません", "ko": "지갑 파일을 찾을 수 없음" }, # --- Settings: checkbox labels --- "settings_save_shielded_local": { "es": "Guardar historial de transacciones blindadas localmente", "de": "Geschirmten Transaktionsverlauf lokal speichern", "fr": "Enregistrer l'historique des transactions blindées localement", "pt": "Salvar histórico de transações blindadas localmente", "ru": "Сохранять историю защищённых транзакций локально", "zh": "将屏蔽交易历史保存到本地", "ja": "シールドトランザクション履歴をローカルに保存", "ko": "차폐 거래 기록을 로컬에 저장" }, "settings_auto_shield_funds": { "es": "Blindar fondos transparentes automáticamente", "de": "Transparente Guthaben automatisch abschirmen", "fr": "Blindage automatique des fonds transparents", "pt": "Blindar fundos transparentes automaticamente", "ru": "Автоматически экранировать прозрачные средства", "zh": "自动屏蔽透明资金", "ja": "透明資金を自動シールド", "ko": "투명 자금 자동 차폐" }, "settings_use_tor_network": { "es": "Usar Tor para conexiones de red", "de": "Tor für Netzwerkverbindungen verwenden", "fr": "Utiliser Tor pour les connexions réseau", "pt": "Usar Tor para conexões de rede", "ru": "Использовать Tor для сетевых подключений", "zh": "使用 Tor 进行网络连接", "ja": "ネットワーク接続に Tor を使用", "ko": "네트워크 연결에 Tor 사용" }, # --- Settings: descriptions --- "settings_save_shielded_desc": { "es": "Almacena transacciones z-addr en un archivo local para visualización", "de": "Speichert z-addr Transaktionen in einer lokalen Datei zur Ansicht", "fr": "Stocke les transactions z-addr dans un fichier local pour consultation", "pt": "Armazena transações z-addr em um arquivo local para visualização", "ru": "Сохраняет z-addr транзакции в локальном файле для просмотра", "zh": "将 z-addr 交易存储在本地文件中以供查看", "ja": "z-addr トランザクションをローカルファイルに保存して表示", "ko": "z-addr 거래를 로컬 파일에 저장하여 조회" }, "settings_auto_shield_desc": { "es": "Mover automáticamente fondos transparentes a direcciones blindadas", "de": "Transparente Guthaben automatisch an geschirmte Adressen verschieben", "fr": "Déplacer automatiquement les fonds transparents vers des adresses blindées", "pt": "Mover automaticamente fundos transparentes para endereços blindados", "ru": "Автоматически перемещать прозрачные средства на экранированные адреса", "zh": "自动将透明资金转移到屏蔽地址", "ja": "透明資金を自動的にシールドアドレスに移動", "ko": "투명 자금을 자동으로 차폐 주소로 이동" }, "settings_tor_desc": { "es": "Enrutar todas las conexiones a través de Tor para mayor privacidad", "de": "Alle Verbindungen für erhöhte Privatsphäre über Tor leiten", "fr": "Acheminer toutes les connexions via Tor pour une confidentialité renforcée", "pt": "Rotear todas as conexões através do Tor para maior privacidade", "ru": "Маршрутизировать все соединения через Tor для повышения конфиденциальности", "zh": "通过 Tor 路由所有连接以增强隐私", "ja": "プライバシー向上のため全接続を Tor 経由にする", "ko": "향상된 개인 정보 보호를 위해 모든 연결을 Tor를 통해 라우팅" }, "settings_rescan_desc": { "es": "Reescanear la cadena de bloques en busca de transacciones faltantes", "de": "Blockchain nach fehlenden Transaktionen neu scannen", "fr": "Rescanner la blockchain pour les transactions manquantes", "pt": "Reescanear a blockchain em busca de transações ausentes", "ru": "Пересканировать блокчейн для поиска пропущенных транзакций", "zh": "重新扫描区块链以查找丢失的交易", "ja": "欠落したトランザクションのためにブロックチェーンを再スキャン", "ko": "누락된 거래를 찾기 위해 블록체인 재스캔" }, "settings_solid_colors_desc": { "es": "Usar colores sólidos en lugar de efectos de desenfoque (accesibilidad)", "de": "Feste Farben anstelle von Unschärfe-Effekten verwenden (Barrierefreiheit)", "fr": "Utiliser des couleurs unies au lieu des effets de flou (accessibilité)", "pt": "Usar cores sólidas em vez de efeitos de desfoque (acessibilidade)", "ru": "Использовать сплошные цвета вместо эффектов размытия (доступность)", "zh": "使用纯色代替模糊效果(无障碍功能)", "ja": "ぼかし効果の代わりに単色を使用(アクセシビリティ)", "ko": "블러 효과 대신 단색 사용 (접근성)" }, "settings_gradient_desc": { "es": "Reemplazar fondos con texturas por degradados suaves", "de": "Strukturierte Hintergründe durch sanfte Verläufe ersetzen", "fr": "Remplacer les arrière-plans texturés par des dégradés lisses", "pt": "Substituir fundos texturizados por gradientes suaves", "ru": "Заменить текстурные фоны плавными градиентами", "zh": "用平滑渐变替换纹理背景", "ja": "テクスチャ背景を滑らかなグラデーションに置換", "ko": "텍스처 배경을 부드러운 그라데이션으로 교체" }, "settings_language_note": { "es": "Nota: Parte del texto requiere reinicio para actualizarse", "de": "Hinweis: Manche Texte erfordern einen Neustart zur Aktualisierung", "fr": "Remarque : Certains textes nécessitent un redémarrage pour se mettre à jour", "pt": "Nota: Alguns textos requerem reinício para atualizar", "ru": "Примечание: Некоторый текст требует перезапуска для обновления", "zh": "注意:部分文本需要重启才能更新", "ja": "注意:一部のテキストは更新に再起動が必要です", "ko": "참고: 일부 텍스트는 업데이트하려면 다시 시작해야 합니다" }, # --- Settings: debug --- "debug_logging": { "es": "REGISTRO DE DEPURACIÓN", "de": "FEHLERPROTOKOLLIERUNG", "fr": "JOURNALISATION DE DÉBOGAGE", "pt": "REGISTRO DE DEPURAÇÃO", "ru": "ЖУРНАЛ ОТЛАДКИ", "zh": "调试日志", "ja": "デバッグログ", "ko": "디버그 로깅" }, "settings_debug_select": { "es": "Seleccione categorías para habilitar el registro de depuración del daemon (flags -debug=).", "de": "Kategorien auswählen, um Daemon-Fehlerprotokollierung zu aktivieren (-debug= Flags).", "fr": "Sélectionnez les catégories pour activer la journalisation de débogage du daemon (flags -debug=).", "pt": "Selecione categorias para ativar o registro de depuração do daemon (flags -debug=).", "ru": "Выберите категории для включения журнала отладки демона (флаги -debug=).", "zh": "选择要启用的守护进程调试日志类别(-debug= 标志)。", "ja": "デーモンのデバッグログを有効にするカテゴリを選択(-debug= フラグ)。", "ko": "데몬 디버그 로깅을 활성화할 카테고리를 선택하세요 (-debug= 플래그)." }, "settings_debug_restart_note": { "es": "Los cambios surten efecto después de reiniciar el daemon.", "de": "Änderungen werden nach einem Neustart des Daemons wirksam.", "fr": "Les modifications prennent effet après le redémarrage du daemon.", "pt": "As alterações entram em vigor após reiniciar o daemon.", "ru": "Изменения вступают в силу после перезапуска демона.", "zh": "更改将在重启守护进程后生效。", "ja": "変更はデーモンの再起動後に有効になります。", "ko": "변경 사항은 데몬을 다시 시작한 후에 적용됩니다." }, "settings_debug_changed": { "es": "Categorías de depuración cambiadas — reinicie el daemon para aplicar", "de": "Debug-Kategorien geändert — Daemon neu starten zum Anwenden", "fr": "Catégories de débogage modifiées — redémarrez le daemon pour appliquer", "pt": "Categorias de depuração alteradas — reinicie o daemon para aplicar", "ru": "Категории отладки изменены — перезапустите демон для применения", "zh": "调试类别已更改——重启守护进程以应用", "ja": "デバッグカテゴリが変更されました — デーモンを再起動して適用", "ko": "디버그 카테고리가 변경되었습니다 — 데몬을 재시작하여 적용" }, # --- Settings: confirmation dialog --- "confirm_clear_ztx_title": { "es": "Confirmar limpieza del historial Z-Tx", "de": "Z-Tx-Verlauf löschen bestätigen", "fr": "Confirmer l'effacement de l'historique Z-Tx", "pt": "Confirmar limpeza do histórico Z-Tx", "ru": "Подтвердить очистку истории Z-Tx", "zh": "确认清除 Z-Tx 历史", "ja": "Z-Tx 履歴クリアの確認", "ko": "Z-Tx 기록 삭제 확인" }, "confirm_clear_ztx_warning1": { "es": "Limpiar el historial de z-transacciones puede hacer que su saldo blindado se muestre como 0 hasta que se realice un reescaneo de la billetera.", "de": "Das Löschen des Z-Transaktionsverlaufs kann dazu führen, dass Ihr geschirmtes Guthaben als 0 angezeigt wird, bis ein Wallet-Rescan durchgeführt wird.", "fr": "L'effacement de l'historique des z-transactions peut faire apparaître votre solde blindé à 0 jusqu'à ce qu'un rescan du portefeuille soit effectué.", "pt": "Limpar o histórico de z-transações pode fazer com que seu saldo blindado apareça como 0 até que um reescaneamento da carteira seja realizado.", "ru": "Очистка истории z-транзакций может привести к отображению защищённого баланса как 0, пока не будет выполнено пересканирование кошелька.", "zh": "清除 z-交易历史可能导致您的屏蔽余额显示为 0,直到执行钱包重新扫描。", "ja": "z-トランザクション履歴をクリアすると、ウォレットの再スキャンが実行されるまでシールド残高が0と表示される場合があります。", "ko": "z-트랜잭션 기록을 삭제하면 지갑 재스캔이 수행될 때까지 차폐 잔액이 0으로 표시될 수 있습니다." }, "confirm_clear_ztx_warning2": { "es": "Si esto sucede, deberá reimportar las claves privadas de su dirección z con el reescaneo habilitado para recuperar su saldo.", "de": "Wenn dies geschieht, müssen Sie Ihre Z-Adresse-Privatschlüssel mit aktiviertem Rescan neu importieren, um Ihr Guthaben wiederherzustellen.", "fr": "Si cela se produit, vous devrez réimporter les clés privées de votre adresse z avec le rescan activé pour récupérer votre solde.", "pt": "Se isso acontecer, você precisará reimportar as chaves privadas do seu endereço z com reescaneamento habilitado para recuperar seu saldo.", "ru": "Если это произойдёт, вам потребуется повторно импортировать приватные ключи вашего z-адреса с включённым пересканированием для восстановления баланса.", "zh": "如果发生这种情况,您需要在启用重新扫描的情况下重新导入 z-地址私钥以恢复余额。", "ja": "これが発生した場合、残高を回復するにはz-アドレスの秘密鍵を再スキャンを有効にして再インポートする必要があります。", "ko": "이런 경우, 잔액을 복구하려면 재스캔을 활성화하여 z-주소 개인키를 다시 가져와야 합니다." }, "clear_anyway": { "es": "Limpiar de todos modos", "de": "Trotzdem löschen", "fr": "Effacer quand même", "pt": "Limpar mesmo assim", "ru": "Всё равно очистить", "zh": "仍然清除", "ja": "それでもクリア", "ko": "그래도 삭제" }, # --- Tooltips --- "tt_import_key": { "es": "Importar una clave privada (zkey o tkey) en esta billetera", "de": "Einen privaten Schlüssel (zkey oder tkey) in diese Wallet importieren", "fr": "Importer une clé privée (zkey ou tkey) dans ce portefeuille", "pt": "Importar uma chave privada (zkey ou tkey) nesta carteira", "ru": "Импортировать приватный ключ (zkey или tkey) в этот кошелёк", "zh": "将私钥(zkey 或 tkey)导入此钱包", "ja": "このウォレットに秘密鍵(zkey または tkey)をインポート", "ko": "이 지갑에 개인키 (zkey 또는 tkey) 가져오기" }, "tt_export_key": { "es": "Exportar la clave privada de la dirección seleccionada", "de": "Den privaten Schlüssel der ausgewählten Adresse exportieren", "fr": "Exporter la clé privée de l'adresse sélectionnée", "pt": "Exportar a chave privada do endereço selecionado", "ru": "Экспортировать приватный ключ выбранного адреса", "zh": "导出所选地址的私钥", "ja": "選択したアドレスの秘密鍵をエクスポート", "ko": "선택한 주소의 개인키 내보내기" }, "tt_export_all": { "es": "Exportar todas las claves privadas a un archivo", "de": "Alle privaten Schlüssel in eine Datei exportieren", "fr": "Exporter toutes les clés privées dans un fichier", "pt": "Exportar todas as chaves privadas para um arquivo", "ru": "Экспортировать все приватные ключи в файл", "zh": "将所有私钥导出到文件", "ja": "すべての秘密鍵をファイルにエクスポート", "ko": "모든 개인키를 파일로 내보내기" }, "tt_backup": { "es": "Crear una copia de seguridad de su wallet.dat", "de": "Eine Sicherungskopie Ihrer wallet.dat erstellen", "fr": "Créer une sauvegarde de votre wallet.dat", "pt": "Criar um backup do seu wallet.dat", "ru": "Создать резервную копию вашего wallet.dat", "zh": "创建 wallet.dat 的备份", "ja": "wallet.dat のバックアップを作成", "ko": "wallet.dat 백업 만들기" }, "tt_export_csv": { "es": "Exportar historial de transacciones como hoja de cálculo CSV", "de": "Transaktionsverlauf als CSV-Tabelle exportieren", "fr": "Exporter l'historique des transactions en feuille de calcul CSV", "pt": "Exportar histórico de transações como planilha CSV", "ru": "Экспортировать историю транзакций в виде таблицы CSV", "zh": "将交易历史导出为 CSV 电子表格", "ja": "トランザクション履歴を CSV スプレッドシートとしてエクスポート", "ko": "거래 내역을 CSV 스프레드시트로 내보내기" }, "tt_addr_url": { "es": "URL base para ver direcciones en un explorador de bloques", "de": "Basis-URL zum Anzeigen von Adressen in einem Block-Explorer", "fr": "URL de base pour consulter les adresses dans un explorateur de blocs", "pt": "URL base para visualizar endereços em um explorador de blocos", "ru": "Базовый URL для просмотра адресов в обозревателе блоков", "zh": "在区块浏览器中查看地址的基础 URL", "ja": "ブロックエクスプローラーでアドレスを表示するためのベース URL", "ko": "블록 탐색기에서 주소를 보기 위한 기본 URL" }, "tt_address_book": { "es": "Administrar direcciones guardadas para envío rápido", "de": "Gespeicherte Adressen für schnelles Senden verwalten", "fr": "Gérer les adresses enregistrées pour un envoi rapide", "pt": "Gerenciar endereços salvos para envio rápido", "ru": "Управление сохранёнными адресами для быстрой отправки", "zh": "管理已保存的地址以快速发送", "ja": "クイック送信用の保存済みアドレスを管理", "ko": "빠른 전송을 위해 저장된 주소 관리" }, "tt_auto_lock": { "es": "Bloquear billetera después de este tiempo de inactividad", "de": "Wallet nach dieser Inaktivitätszeit sperren", "fr": "Verrouiller le portefeuille après cette durée d'inactivité", "pt": "Bloquear carteira após este tempo de inatividade", "ru": "Заблокировать кошелёк после этого времени бездействия", "zh": "在此不活动时间后锁定钱包", "ja": "この無操作時間後にウォレットをロック", "ko": "이 비활성 시간 후 지갑 잠금" }, "tt_auto_shield": { "es": "Mover automáticamente el saldo transparente a direcciones blindadas para privacidad", "de": "Transparentes Guthaben automatisch an geschirmte Adressen für Datenschutz verschieben", "fr": "Déplacer automatiquement le solde transparent vers des adresses blindées pour la confidentialité", "pt": "Mover automaticamente o saldo transparente para endereços blindados para privacidade", "ru": "Автоматически перемещать прозрачный баланс на экранированные адреса для конфиденциальности", "zh": "自动将透明余额转移到屏蔽地址以增强隐私", "ja": "プライバシーのため透明残高を自動的にシールドアドレスに移動", "ko": "개인 정보 보호를 위해 투명 잔액을 자동으로 차폐 주소로 이동" }, "tt_block_explorer": { "es": "Abrir el explorador de bloques DragonX en su navegador", "de": "Den DragonX Block-Explorer im Browser öffnen", "fr": "Ouvrir l'explorateur de blocs DragonX dans votre navigateur", "pt": "Abrir o explorador de blocos DragonX no seu navegador", "ru": "Открыть обозреватель блоков DragonX в браузере", "zh": "在浏览器中打开 DragonX 区块浏览器", "ja": "ブラウザで DragonX ブロックエクスプローラーを開く", "ko": "브라우저에서 DragonX 블록 탐색기 열기" }, "tt_blur": { "es": "Cantidad de desenfoque (0%% = apagado, 100%% = máximo)", "de": "Unschärfe-Stärke (0%% = aus, 100%% = maximum)", "fr": "Quantité de flou (0%% = désactivé, 100%% = maximum)", "pt": "Quantidade de desfoque (0%% = desligado, 100%% = máximo)", "ru": "Степень размытия (0%% = выкл., 100%% = максимум)", "zh": "模糊程度(0%% = 关闭,100%% = 最大)", "ja": "ぼかし量(0%% = オフ、100%% = 最大)", "ko": "블러 양 (0%% = 끔, 100%% = 최대)" }, "tt_change_pass": { "es": "Cambiar la contraseña de cifrado de la billetera", "de": "Die Wallet-Verschlüsselungspassphrase ändern", "fr": "Changer la phrase secrète de chiffrement du portefeuille", "pt": "Alterar a frase secreta de encriptação da carteira", "ru": "Сменить пароль шифрования кошелька", "zh": "更改钱包加密密码", "ja": "ウォレットの暗号化パスフレーズを変更", "ko": "지갑 암호화 비밀번호 변경" }, "tt_change_pin": { "es": "Cambiar su PIN de desbloqueo", "de": "Ihre Entsperr-PIN ändern", "fr": "Changer votre PIN de déverrouillage", "pt": "Alterar seu PIN de desbloqueio", "ru": "Изменить PIN-код разблокировки", "zh": "更改您的解锁 PIN", "ja": "アンロック PIN を変更", "ko": "잠금 해제 PIN 변경" }, "tt_clear_ztx": { "es": "Eliminar historial de z-transacciones en caché local", "de": "Lokal zwischengespeicherten Z-Transaktionsverlauf löschen", "fr": "Supprimer l'historique des z-transactions mis en cache localement", "pt": "Excluir histórico de z-transações em cache local", "ru": "Удалить локально кешированную историю z-транзакций", "zh": "删除本地缓存的 z-交易历史", "ja": "ローカルにキャッシュされた z-トランザクション履歴を削除", "ko": "로컬에 캐시된 z-트랜잭션 기록 삭제" }, "tt_custom_fees": { "es": "Habilitar entrada manual de comisiones al enviar transacciones", "de": "Manuelle Gebühreneingabe beim Senden von Transaktionen aktivieren", "fr": "Activer la saisie manuelle des frais lors de l'envoi de transactions", "pt": "Ativar entrada manual de taxas ao enviar transações", "ru": "Включить ручной ввод комиссий при отправке транзакций", "zh": "发送交易时启用手动费用输入", "ja": "トランザクション送信時に手動手数料入力を有効化", "ko": "거래 전송 시 수동 수수료 입력 활성화" }, "tt_custom_theme": { "es": "Tema personalizado activo", "de": "Benutzerdefiniertes Theme aktiv", "fr": "Thème personnalisé actif", "pt": "Tema personalizado ativo", "ru": "Пользовательская тема активна", "zh": "自定义主题已激活", "ja": "カスタムテーマがアクティブ", "ko": "사용자 지정 테마 활성화됨" }, "tt_debug_collapse": { "es": "Colapsar opciones de registro de depuración", "de": "Debug-Protokollierungsoptionen einklappen", "fr": "Réduire les options de journalisation de débogage", "pt": "Recolher opções de registro de depuração", "ru": "Свернуть параметры журнала отладки", "zh": "折叠调试日志选项", "ja": "デバッグログオプションを折りたたむ", "ko": "디버그 로깅 옵션 접기" }, "tt_debug_expand": { "es": "Expandir opciones de registro de depuración", "de": "Debug-Protokollierungsoptionen ausklappen", "fr": "Développer les options de journalisation de débogage", "pt": "Expandir opções de registro de depuração", "ru": "Развернуть параметры журнала отладки", "zh": "展开调试日志选项", "ja": "デバッグログオプションを展開", "ko": "디버그 로깅 옵션 펼치기" }, "tt_encrypt": { "es": "Cifrar wallet.dat con una contraseña", "de": "wallet.dat mit einer Passphrase verschlüsseln", "fr": "Chiffrer wallet.dat avec une phrase secrète", "pt": "Encriptar wallet.dat com uma frase secreta", "ru": "Зашифровать wallet.dat паролем", "zh": "使用密码加密 wallet.dat", "ja": "パスフレーズで wallet.dat を暗号化", "ko": "비밀번호로 wallet.dat 암호화" }, "tt_fetch_prices": { "es": "Obtener precios de mercado de DRGX desde la API de CoinGecko", "de": "DRGX-Marktpreise von der CoinGecko-API abrufen", "fr": "Récupérer les prix du marché DRGX depuis l'API CoinGecko", "pt": "Obter preços de mercado DRGX da API CoinGecko", "ru": "Получить рыночные цены DRGX из API CoinGecko", "zh": "从 CoinGecko API 获取 DRGX 市场价格", "ja": "CoinGecko API から DRGX の市場価格を取得", "ko": "CoinGecko API에서 DRGX 시장 가격 가져오기" }, "tt_font_scale": { "es": "Escalar todo el texto y la interfaz (1.0x = predeterminado, hasta 1.5x).", "de": "Alle Texte und UI skalieren (1.0x = Standard, bis 1.5x).", "fr": "Mettre à l'échelle tout le texte et l'interface (1.0x = par défaut, jusqu'à 1.5x).", "pt": "Escalar todo o texto e interface (1.0x = padrão, até 1.5x).", "ru": "Масштабировать весь текст и интерфейс (1.0x = по умолчанию, до 1.5x).", "zh": "缩放所有文本和界面(1.0x = 默认,最大 1.5x)。", "ja": "すべてのテキストと UI をスケーリング(1.0x = デフォルト、最大 1.5x)。", "ko": "모든 텍스트 및 UI 크기 조정 (1.0x = 기본, 최대 1.5x)." }, "tt_idle_delay": { "es": "Cuánto tiempo esperar antes de empezar a minar", "de": "Wie lange vor dem Start des Minings gewartet werden soll", "fr": "Combien de temps attendre avant de commencer le minage", "pt": "Quanto tempo esperar antes de iniciar a mineração", "ru": "Сколько ждать перед началом майнинга", "zh": "开始挖矿前等待多长时间", "ja": "マイニング開始前の待機時間", "ko": "채굴 시작 전 대기 시간" }, "tt_keep_daemon": { "es": "El daemon se detendrá cuando ejecute el asistente de configuración", "de": "Der Daemon wird beim Ausführen des Einrichtungsassistenten gestoppt", "fr": "Le daemon s'arrêtera lors de l'exécution de l'assistant de configuration", "pt": "O daemon será parado ao executar o assistente de configuração", "ru": "Демон будет остановлен при запуске мастера настройки", "zh": "运行设置向导时守护进程仍会停止", "ja": "セットアップウィザード実行時にデーモンは停止します", "ko": "설정 마법사를 실행하면 데몬이 여전히 중지됩니다" }, "tt_language": { "es": "Idioma de la interfaz de la billetera", "de": "Schnittstellensprache der Wallet-UI", "fr": "Langue de l'interface du portefeuille", "pt": "Idioma da interface da carteira", "ru": "Язык интерфейса кошелька", "zh": "钱包界面语言", "ja": "ウォレット UI のインターフェース言語", "ko": "지갑 UI 인터페이스 언어" }, "tt_layout_hotkey": { "es": "Atajo: teclas de flecha izquierda/derecha para cambiar diseños de Balance", "de": "Hotkey: Links-/Rechts-Pfeiltasten zum Wechseln der Balance-Layouts", "fr": "Raccourci : touches fléchées gauche/droite pour changer les dispositions de Balance", "pt": "Atalho: teclas de seta esquerda/direita para alternar layouts de Saldo", "ru": "Горячая клавиша: стрелки влево/вправо для переключения раскладок Баланса", "zh": "快捷键:左/右箭头键切换余额布局", "ja": "ホットキー:左右矢印キーでバランスレイアウトを切り替え", "ko": "단축키: 좌/우 화살표 키로 잔액 레이아웃 전환" }, "tt_lock": { "es": "Bloquear la billetera inmediatamente", "de": "Die Wallet sofort sperren", "fr": "Verrouiller le portefeuille immédiatement", "pt": "Bloquear a carteira imediatamente", "ru": "Немедленно заблокировать кошелёк", "zh": "立即锁定钱包", "ja": "ウォレットを即座にロック", "ko": "지갑 즉시 잠금" }, "tt_low_spec": { "es": "Desactivar todos los efectos visuales pesados\\nAtajo: Ctrl+Shift+Down", "de": "Alle aufwendigen visuellen Effekte deaktivieren\\nHotkey: Ctrl+Shift+Down", "fr": "Désactiver tous les effets visuels lourds\\nRaccourci : Ctrl+Shift+Down", "pt": "Desativar todos os efeitos visuais pesados\\nAtalho: Ctrl+Shift+Down", "ru": "Отключить все тяжёлые визуальные эффекты\\nГорячая клавиша: Ctrl+Shift+Down", "zh": "禁用所有重度视觉效果\\n快捷键:Ctrl+Shift+Down", "ja": "すべての重い視覚効果を無効化\\nホットキー:Ctrl+Shift+Down", "ko": "모든 고부하 시각 효과 비활성화\\n단축키: Ctrl+Shift+Down" }, "tt_merge": { "es": "Consolidar múltiples UTXOs en una dirección", "de": "Mehrere UTXOs einer Adresse zusammenführen", "fr": "Consolider plusieurs UTXOs vers une adresse", "pt": "Consolidar múltiplos UTXOs em um endereço", "ru": "Объединить несколько UTXO в один адрес", "zh": "将多个 UTXO 合并到一个地址", "ja": "複数の UTXO を一つのアドレスに統合", "ko": "여러 UTXO를 하나의 주소로 통합" }, "tt_mine_idle": { "es": "Iniciar minería automáticamente cuando el\\nsistema esté inactivo (sin entrada de teclado/ratón)", "de": "Mining automatisch starten, wenn das\\nSystem inaktiv ist (keine Tastatur-/Mauseingabe)", "fr": "Démarrer le minage automatiquement quand le\\nsystème est inactif (aucune entrée clavier/souris)", "pt": "Iniciar mineração automaticamente quando o\\nsistema estiver ocioso (sem entrada de teclado/mouse)", "ru": "Автоматически начать майнинг при\\nпростое системы (нет ввода с клавиатуры/мыши)", "zh": "系统空闲时自动开始挖矿\\n(无键盘/鼠标输入)", "ja": "システムがアイドル状態(キーボード/マウス入力なし)\\nのとき自動的にマイニングを開始", "ko": "시스템이 유휴 상태(키보드/마우스 입력 없음)일 때\\n자동으로 채굴 시작" }, "tt_noise": { "es": "Intensidad de textura granulada (0%% = apagado, 100%% = máximo)", "de": "Körnungstextur-Intensität (0%% = aus, 100%% = maximum)", "fr": "Intensité de texture grainée (0%% = désactivé, 100%% = maximum)", "pt": "Intensidade de textura granulada (0%% = desligado, 100%% = máximo)", "ru": "Интенсивность зернистой текстуры (0%% = выкл., 100%% = максимум)", "zh": "颗粒纹理强度(0%% = 关闭,100%% = 最大)", "ja": "グレインテクスチャ強度(0%% = オフ、100%% = 最大)", "ko": "그레인 텍스처 강도 (0%% = 끔, 100%% = 최대)" }, "tt_open_dir": { "es": "Clic para abrir en explorador de archivos", "de": "Klicken, um im Dateimanager zu öffnen", "fr": "Cliquer pour ouvrir dans l'explorateur de fichiers", "pt": "Clique para abrir no explorador de arquivos", "ru": "Нажмите, чтобы открыть в проводнике", "zh": "点击在文件管理器中打开", "ja": "クリックしてファイルエクスプローラーで開く", "ko": "파일 탐색기에서 열려면 클릭" }, "tt_remove_encrypt": { "es": "Quitar cifrado y almacenar la billetera sin protección", "de": "Verschlüsselung entfernen und Wallet ungeschützt speichern", "fr": "Supprimer le chiffrement et stocker le portefeuille sans protection", "pt": "Remover encriptação e armazenar a carteira desprotegida", "ru": "Удалить шифрование и хранить кошелёк без защиты", "zh": "移除加密并以未受保护状态存储钱包", "ja": "暗号化を解除してウォレットを保護なしで保存", "ko": "암호화를 제거하고 지갑을 보호 없이 저장" }, "tt_remove_pin": { "es": "Quitar PIN y requerir contraseña para desbloquear", "de": "PIN entfernen und Passphrase zum Entsperren erfordern", "fr": "Supprimer le PIN et exiger la phrase secrète pour déverrouiller", "pt": "Remover PIN e exigir frase secreta para desbloquear", "ru": "Удалить PIN и требовать пароль для разблокировки", "zh": "移除 PIN 并要求密码解锁", "ja": "PIN を削除しアンロックにパスフレーズを要求", "ko": "PIN을 제거하고 잠금 해제 시 비밀번호 요구" }, "tt_report_bug": { "es": "Reportar un problema en el rastreador del proyecto", "de": "Ein Problem im Projekt-Tracker melden", "fr": "Signaler un problème dans le suivi de projet", "pt": "Reportar um problema no rastreador do projeto", "ru": "Сообщить о проблеме в трекере проекта", "zh": "在项目跟踪器中报告问题", "ja": "プロジェクトトラッカーで問題を報告", "ko": "프로젝트 트래커에서 문제 보고" }, "tt_request_payment": { "es": "Generar una solicitud de pago con código QR", "de": "Eine Zahlungsanforderung mit QR-Code generieren", "fr": "Générer une demande de paiement avec code QR", "pt": "Gerar uma solicitação de pagamento com código QR", "ru": "Сгенерировать запрос на оплату с QR-кодом", "zh": "生成带二维码的付款请求", "ja": "QR コード付きの支払い請求を生成", "ko": "QR 코드가 포함된 결제 요청 생성" }, "tt_rescan": { "es": "Reescanear la cadena de bloques en busca de transacciones faltantes", "de": "Blockchain nach fehlenden Transaktionen neu scannen", "fr": "Rescanner la blockchain pour les transactions manquantes", "pt": "Reescanear a blockchain em busca de transações ausentes", "ru": "Пересканировать блокчейн для поиска пропущенных транзакций", "zh": "重新扫描区块链以查找丢失的交易", "ja": "欠落したトランザクションのためにブロックチェーンを再スキャン", "ko": "누락된 거래를 찾기 위해 블록체인 재스캔" }, "tt_reset_settings": { "es": "Recargar configuraciones desde disco (deshacer cambios no guardados)", "de": "Einstellungen von der Festplatte neu laden (nicht gespeicherte Änderungen rückgängig machen)", "fr": "Recharger les paramètres depuis le disque (annuler les modifications non enregistrées)", "pt": "Recarregar configurações do disco (desfazer alterações não salvas)", "ru": "Перезагрузить настройки с диска (отменить несохранённые изменения)", "zh": "从磁盘重新加载设置(撤消未保存的更改)", "ja": "ディスクから設定を再読み込み(未保存の変更を元に戻す)", "ko": "디스크에서 설정 다시 로드 (저장되지 않은 변경 사항 취소)" }, "tt_restart_daemon": { "es": "Reiniciar el daemon para aplicar cambios de registro de depuración", "de": "Daemon neu starten, um Änderungen der Debug-Protokollierung anzuwenden", "fr": "Redémarrer le daemon pour appliquer les modifications de journalisation de débogage", "pt": "Reiniciar o daemon para aplicar alterações de registro de depuração", "ru": "Перезапустить демон для применения изменений журнала отладки", "zh": "重启守护进程以应用调试日志更改", "ja": "デバッグログ変更を適用するためにデーモンを再起動", "ko": "디버그 로깅 변경 사항을 적용하기 위해 데몬 재시작" }, "tt_rpc_host": { "es": "Nombre de host del daemon DragonX", "de": "Hostname des DragonX-Daemons", "fr": "Nom d'hôte du daemon DragonX", "pt": "Nome do host do daemon DragonX", "ru": "Имя хоста демона DragonX", "zh": "DragonX 守护进程主机名", "ja": "DragonX デーモンのホスト名", "ko": "DragonX 데몬 호스트 이름" }, "tt_rpc_pass": { "es": "Contraseña de autenticación RPC", "de": "RPC-Authentifizierungspasswort", "fr": "Mot de passe d'authentification RPC", "pt": "Senha de autenticação RPC", "ru": "Пароль аутентификации RPC", "zh": "RPC 认证密码", "ja": "RPC 認証パスワード", "ko": "RPC 인증 비밀번호" }, "tt_rpc_port": { "es": "Puerto para conexiones RPC del daemon", "de": "Port für RPC-Verbindungen des Daemons", "fr": "Port pour les connexions RPC du daemon", "pt": "Porta para conexões RPC do daemon", "ru": "Порт для RPC-подключений демона", "zh": "守护进程 RPC 连接端口", "ja": "デーモン RPC 接続用ポート", "ko": "데몬 RPC 연결 포트" }, "tt_rpc_user": { "es": "Nombre de usuario de autenticación RPC", "de": "RPC-Authentifizierungsbenutzername", "fr": "Nom d'utilisateur d'authentification RPC", "pt": "Nome de usuário de autenticação RPC", "ru": "Имя пользователя аутентификации RPC", "zh": "RPC 认证用户名", "ja": "RPC 認証ユーザー名", "ko": "RPC 인증 사용자 이름" }, "tt_save_settings": { "es": "Guardar todas las configuraciones en disco", "de": "Alle Einstellungen auf der Festplatte speichern", "fr": "Enregistrer tous les paramètres sur le disque", "pt": "Salvar todas as configurações no disco", "ru": "Сохранить все настройки на диск", "zh": "将所有设置保存到磁盘", "ja": "すべての設定をディスクに保存", "ko": "모든 설정을 디스크에 저장" }, "tt_save_ztx": { "es": "Almacenar historial de transacciones de z-address localmente para carga más rápida", "de": "Z-Adresse-Transaktionsverlauf lokal für schnelleres Laden speichern", "fr": "Stocker l'historique des transactions z-address localement pour un chargement plus rapide", "pt": "Armazenar histórico de transações z-address localmente para carregamento mais rápido", "ru": "Хранить историю транзакций z-адреса локально для более быстрой загрузки", "zh": "将 z-address 交易历史存储在本地以加快加载速度", "ja": "z-address トランザクション履歴をローカルに保存して高速読み込み", "ko": "z-address 거래 기록을 로컬에 저장하여 빠른 로딩" }, "tt_scan_themes": { "es": "Buscar nuevos temas.\\nColoque carpetas de temas en:\\n%s", "de": "Nach neuen Themes suchen.\\nTheme-Ordner ablegen in:\\n%s", "fr": "Rechercher de nouveaux thèmes.\\nPlacez les dossiers de thèmes dans :\\n%s", "pt": "Procurar novos temas.\\nColoque pastas de temas em:\\n%s", "ru": "Поиск новых тем.\\nРазместите папки тем в:\\n%s", "zh": "扫描新主题。\\n将主题文件夹放在:\\n%s", "ja": "新しいテーマをスキャン。\\nテーマフォルダーをここに配置:\\n%s", "ko": "새 테마 검색.\\n테마 폴더를 여기에 배치:\\n%s" }, "tt_scanline": { "es": "Efecto de líneas de escaneo CRT en la consola", "de": "CRT-Scanlinieneffekt in der Konsole", "fr": "Effet de lignes de balayage CRT dans la console", "pt": "Efeito de linhas de varredura CRT no console", "ru": "Эффект развёртки ЭЛТ в консоли", "zh": "控制台中的 CRT 扫描线效果", "ja": "コンソールでの CRT スキャンライン効果", "ko": "콘솔에서 CRT 스캔라인 효과" }, "tt_set_pin": { "es": "Establecer un PIN de 4-8 dígitos para desbloqueo rápido", "de": "Eine 4-8-stellige PIN für schnelles Entsperren festlegen", "fr": "Définir un PIN de 4-8 chiffres pour un déverrouillage rapide", "pt": "Definir um PIN de 4-8 dígitos para desbloqueio rápido", "ru": "Установить 4-8-значный PIN для быстрой разблокировки", "zh": "设置 4-8 位 PIN 以快速解锁", "ja": "クイックアンロック用の 4-8 桁 PIN を設定", "ko": "빠른 잠금 해제를 위한 4-8자리 PIN 설정" }, "tt_shield_mining": { "es": "Mover recompensas de minería transparentes a una dirección blindada", "de": "Transparente Mining-Belohnungen an eine geschirmte Adresse verschieben", "fr": "Déplacer les récompenses de minage transparentes vers une adresse blindée", "pt": "Mover recompensas de mineração transparentes para um endereço blindado", "ru": "Перевести прозрачные вознаграждения за майнинг на экранированный адрес", "zh": "将透明挖矿奖励转移到屏蔽地址", "ja": "透明マイニング報酬をシールドアドレスに移動", "ko": "투명 채굴 보상을 차폐 주소로 이동" }, "tt_simple_bg": { "es": "Usar un gradiente simple para el fondo\\nAtajo: Ctrl+Up", "de": "Einen einfachen Verlauf für den Hintergrund verwenden\\nHotkey: Ctrl+Up", "fr": "Utiliser un dégradé simple pour l'arrière-plan\\nRaccourci : Ctrl+Up", "pt": "Usar um gradiente simples para o fundo\\nAtalho: Ctrl+Up", "ru": "Использовать простой градиент для фона\\nГорячая клавиша: Ctrl+Up", "zh": "使用简单渐变作为背景\\n快捷键:Ctrl+Up", "ja": "背景にシンプルなグラデーションを使用\\nホットキー:Ctrl+Up", "ko": "배경에 단순 그라데이션 사용\\n단축키: Ctrl+Up" }, "tt_simple_bg_alt": { "es": "Usar una versión degradada de la imagen de fondo del tema\\nAtajo: Ctrl+Up", "de": "Eine Verlaufsversion des Theme-Hintergrundbilds verwenden\\nHotkey: Ctrl+Up", "fr": "Utiliser une version dégradée de l'image d'arrière-plan du thème\\nRaccourci : Ctrl+Up", "pt": "Usar uma versão gradiente da imagem de fundo do tema\\nAtalho: Ctrl+Up", "ru": "Использовать градиентную версию фонового изображения темы\\nГорячая клавиша: Ctrl+Up", "zh": "使用主题背景图像的渐变版本\\n快捷键:Ctrl+Up", "ja": "テーマ背景画像のグラデーション版を使用\\nホットキー:Ctrl+Up", "ko": "테마 배경 이미지의 그라데이션 버전 사용\\n단축키: Ctrl+Up" }, "tt_stop_external": { "es": "Se aplica al conectarse a un daemon\\niniciado fuera de esta billetera", "de": "Gilt bei Verbindung zu einem Daemon,\\nder außerhalb dieser Wallet gestartet wurde", "fr": "S'applique lors de la connexion à un daemon\\ndémarré en dehors de ce portefeuille", "pt": "Aplica-se ao conectar a um daemon\\niniciado fora desta carteira", "ru": "Применяется при подключении к демону,\\nзапущенному вне этого кошелька", "zh": "适用于连接到在此钱包\\n外部启动的守护进程", "ja": "このウォレット外で起動された\\nデーモンに接続する場合に適用", "ko": "이 지갑 외부에서 시작된\\n데몬에 연결할 때 적용" }, "tt_test_conn": { "es": "Verificar la conexión RPC al daemon", "de": "Die RPC-Verbindung zum Daemon überprüfen", "fr": "Vérifier la connexion RPC au daemon", "pt": "Verificar a conexão RPC ao daemon", "ru": "Проверить RPC-подключение к демону", "zh": "验证与守护进程的 RPC 连接", "ja": "デーモンへの RPC 接続を確認", "ko": "데몬에 대한 RPC 연결 확인" }, "tt_theme_effects": { "es": "Brillo, resplandor, ciclo de tono por tema", "de": "Schimmer, Glühen, Farbton-Zyklen pro Theme", "fr": "Scintillement, lueur, cycle de teinte par thème", "pt": "Brilho, luminescência, ciclo de matiz por tema", "ru": "Мерцание, свечение, циклическая смена оттенка по теме", "zh": "每个主题的闪烁、发光、色调循环", "ja": "テーマごとのシマー、グロー、色相サイクル", "ko": "테마별 반짝임, 글로우, 색조 순환" }, "tt_theme_hotkey": { "es": "Atajo: Ctrl+Izquierda/Derecha para cambiar temas", "de": "Hotkey: Ctrl+Links/Rechts zum Wechseln der Themes", "fr": "Raccourci : Ctrl+Gauche/Droite pour changer de thème", "pt": "Atalho: Ctrl+Esquerda/Direita para alternar temas", "ru": "Горячая клавиша: Ctrl+Влево/Вправо для переключения тем", "zh": "快捷键:Ctrl+左/右箭头切换主题", "ja": "ホットキー:Ctrl+左/右でテーマを切り替え", "ko": "단축키: Ctrl+왼쪽/오른쪽으로 테마 전환" }, "tt_tor": { "es": "Enrutar conexiones del daemon a través de la red Tor para anonimato", "de": "Daemon-Verbindungen für Anonymität über das Tor-Netzwerk leiten", "fr": "Acheminer les connexions du daemon via le réseau Tor pour l'anonymat", "pt": "Rotear conexões do daemon através da rede Tor para anonimato", "ru": "Маршрутизировать подключения демона через сеть Tor для анонимности", "zh": "通过 Tor 网络路由守护进程连接以实现匿名", "ja": "匿名性のためにデーモン接続を Tor ネットワーク経由でルーティング", "ko": "익명성을 위해 데몬 연결을 Tor 네트워크를 통해 라우팅" }, "tt_tx_url": { "es": "URL base para ver transacciones en un explorador de bloques", "de": "Basis-URL zum Anzeigen von Transaktionen in einem Block-Explorer", "fr": "URL de base pour consulter les transactions dans un explorateur de blocs", "pt": "URL base para visualizar transações em um explorador de blocos", "ru": "Базовый URL для просмотра транзакций в обозревателе блоков", "zh": "在区块浏览器中查看交易的基础 URL", "ja": "ブロックエクスプローラーでトランザクションを表示するためのベース URL", "ko": "블록 탐색기에서 거래를 보기 위한 기본 URL" }, "tt_ui_opacity": { "es": "Opacidad de tarjetas y barra lateral (100%% = totalmente opaco, menor = más transparente)", "de": "Karten- und Seitenleisten-Deckkraft (100%% = vollständig undurchsichtig, niedriger = durchsichtiger)", "fr": "Opacité des cartes et de la barre latérale (100%% = entièrement opaque, plus bas = plus transparent)", "pt": "Opacidade de cartões e barra lateral (100%% = totalmente opaco, menor = mais transparente)", "ru": "Непрозрачность карточек и боковой панели (100%% = полностью непрозрачно, ниже = прозрачнее)", "zh": "卡片和侧边栏不透明度(100%% = 完全不透明,越低越透明)", "ja": "カードとサイドバーの不透明度(100%% = 完全不透明、低い = より透過)", "ko": "카드 및 사이드바 불투명도 (100%% = 완전 불투명, 낮을수록 더 투명)" }, "tt_validate": { "es": "Comprobar si una dirección DragonX es válida", "de": "Prüfen, ob eine DragonX-Adresse gültig ist", "fr": "Vérifier si une adresse DragonX est valide", "pt": "Verificar se um endereço DragonX é válido", "ru": "Проверить, действителен ли адрес DragonX", "zh": "检查 DragonX 地址是否有效", "ja": "DragonX アドレスが有効かどうかを確認", "ko": "DragonX 주소가 유효한지 확인" }, "tt_verbose": { "es": "Registrar diagnósticos detallados de conexión,\\nestado del daemon e info de propietario de puerto\\nen la pestaña de Consola", "de": "Detaillierte Verbindungsdiagnosen,\\nDaemon-Status und Port-Besitzer-Info\\nin der Konsolen-Registerkarte protokollieren", "fr": "Journaliser les diagnostics de connexion détaillés,\\nl'état du daemon et les informations de propriétaire de port\\ndans l'onglet Console", "pt": "Registrar diagnósticos detalhados de conexão,\\nestado do daemon e info de proprietário de porta\\nna aba Console", "ru": "Записывать подробную диагностику подключений,\\nсостояние демона и информацию о владельце порта\\nна вкладке Консоль", "zh": "将详细连接诊断、守护进程状态\\n和端口所有者信息记录到控制台选项卡", "ja": "詳細な接続診断、デーモン状態、\\nポート所有者情報をコンソールタブに記録", "ko": "콘솔 탭에 상세 연결 진단,\\n데몬 상태 및 포트 소유자 정보 기록" }, "tt_website": { "es": "Abrir el sitio web de DragonX", "de": "Die DragonX-Website öffnen", "fr": "Ouvrir le site web DragonX", "pt": "Abrir o site do DragonX", "ru": "Открыть сайт DragonX", "zh": "打开 DragonX 网站", "ja": "DragonX ウェブサイトを開く", "ko": "DragonX 웹사이트 열기" }, "tt_window_opacity": { "es": "Opacidad del fondo (menor = escritorio visible a través de la ventana)", "de": "Hintergrund-Deckkraft (niedriger = Desktop durch Fenster sichtbar)", "fr": "Opacité de l'arrière-plan (plus bas = bureau visible à travers la fenêtre)", "pt": "Opacidade do fundo (menor = área de trabalho visível através da janela)", "ru": "Непрозрачность фона (ниже = рабочий стол виден сквозь окно)", "zh": "背景不透明度(越低 = 桌面透过窗口可见)", "ja": "背景の不透明度(低い = デスクトップがウィンドウ越しに見える)", "ko": "배경 불투명도 (낮을수록 = 창을 통해 바탕 화면이 보임)" }, "tt_wizard": { "es": "Volver a ejecutar el asistente de configuración inicial\\nEl daemon será reiniciado", "de": "Den Ersteinrichtungsassistenten erneut ausführen\\nDer Daemon wird neu gestartet", "fr": "Relancer l'assistant de configuration initiale\\nLe daemon sera redémarré", "pt": "Executar novamente o assistente de configuração inicial\\nO daemon será reiniciado", "ru": "Повторно запустить мастер начальной настройки\\nДемон будет перезапущен", "zh": "重新运行初始设置向导\\n守护进程将被重启", "ja": "初期セットアップウィザードを再実行\\nデーモンは再起動されます", "ko": "초기 설정 마법사 다시 실행\\n데몬이 재시작됩니다" }, # --- Misc dialog/tab strings --- "ram_wallet_gb": { "es": "Billetera: %.1f GB", "de": "Wallet: %.1f GB", "fr": "Portefeuille : %.1f Go", "pt": "Carteira: %.1f GB", "ru": "Кошелёк: %.1f ГБ", "zh": "钱包:%.1f GB", "ja": "ウォレット:%.1f GB", "ko": "지갑: %.1f GB" }, "ram_wallet_mb": { "es": "Billetera: %.0f MB", "de": "Wallet: %.0f MB", "fr": "Portefeuille : %.0f Mo", "pt": "Carteira: %.0f MB", "ru": "Кошелёк: %.0f МБ", "zh": "钱包:%.0f MB", "ja": "ウォレット:%.0f MB", "ko": "지갑: %.0f MB" }, "ram_daemon_gb": { "es": "Daemon: %.1f GB (%s)", "de": "Daemon: %.1f GB (%s)", "fr": "Daemon : %.1f Go (%s)", "pt": "Daemon: %.1f GB (%s)", "ru": "Демон: %.1f ГБ (%s)", "zh": "守护进程:%.1f GB (%s)", "ja": "デーモン:%.1f GB (%s)", "ko": "데몬: %.1f GB (%s)" }, "ram_daemon_mb": { "es": "Daemon: %.0f MB (%s)", "de": "Daemon: %.0f MB (%s)", "fr": "Daemon : %.0f Mo (%s)", "pt": "Daemon: %.0f MB (%s)", "ru": "Демон: %.0f МБ (%s)", "zh": "守护进程:%.0f MB (%s)", "ja": "デーモン:%.0f MB (%s)", "ko": "데몬: %.0f MB (%s)" }, "ram_system_gb": { "es": "Sistema: %.1f / %.0f GB", "de": "System: %.1f / %.0f GB", "fr": "Système : %.1f / %.0f Go", "pt": "Sistema: %.1f / %.0f GB", "ru": "Система: %.1f / %.0f ГБ", "zh": "系统:%.1f / %.0f GB", "ja": "システム:%.1f / %.0f GB", "ko": "시스템: %.1f / %.0f GB" }, "shield_operation_id": { "es": "ID de operación: %s", "de": "Vorgangs-ID: %s", "fr": "ID d'opération : %s", "pt": "ID da operação: %s", "ru": "ID операции: %s", "zh": "操作 ID:%s", "ja": "オペレーション ID:%s", "ko": "작업 ID: %s" }, "peers_peer_label": { "es": "Peer: %s", "de": "Peer: %s", "fr": "Pair : %s", "pt": "Peer: %s", "ru": "Пир: %s", "zh": "节点:%s", "ja": "ピア:%s", "ko": "피어: %s" }, "error_format": { "es": "Error: %s", "de": "Fehler: %s", "fr": "Erreur : %s", "pt": "Erro: %s", "ru": "Ошибка: %s", "zh": "错误:%s", "ja": "エラー:%s", "ko": "오류: %s" }, "key_export_click_retrieve": { "es": "Haga clic para recuperar la clave de su billetera", "de": "Klicken Sie, um den Schlüssel aus Ihrer Wallet abzurufen", "fr": "Cliquez pour récupérer la clé de votre portefeuille", "pt": "Clique para recuperar a chave da sua carteira", "ru": "Нажмите, чтобы получить ключ из вашего кошелька", "zh": "点击从钱包中获取密钥", "ja": "クリックしてウォレットからキーを取得", "ko": "지갑에서 키를 가져오려면 클릭" }, "key_export_viewing_keys_zonly": { "es": "Las claves de visualización solo están disponibles para direcciones blindadas (z)", "de": "Anzeigeschlüssel sind nur für geschirmte (z) Adressen verfügbar", "fr": "Les clés de visualisation ne sont disponibles que pour les adresses blindées (z)", "pt": "As chaves de visualização estão disponíveis apenas para endereços blindados (z)", "ru": "Ключи просмотра доступны только для экранированных (z) адресов", "zh": "查看密钥仅适用于屏蔽 (z) 地址", "ja": "ビューイングキーはシールド (z) アドレスでのみ利用可能です", "ko": "보기 키는 차폐 (z) 주소에만 사용할 수 있습니다" }, "backup_source": { "es": "Origen: %s", "de": "Quelle: %s", "fr": "Source : %s", "pt": "Origem: %s", "ru": "Источник: %s", "zh": "来源:%s", "ja": "ソース:%s", "ko": "소스: %s" }, "export_keys_progress": { "es": "Exportando %d/%d...", "de": "Exportiere %d/%d...", "fr": "Exportation %d/%d...", "pt": "Exportando %d/%d...", "ru": "Экспорт %d/%d...", "zh": "正在导出 %d/%d...", "ja": "エクスポート中 %d/%d...", "ko": "내보내는 중 %d/%d..." }, "import_key_progress": { "es": "Importando %d/%d...", "de": "Importiere %d/%d...", "fr": "Importation %d/%d...", "pt": "Importando %d/%d...", "ru": "Импорт %d/%d...", "zh": "正在导入 %d/%d...", "ja": "インポート中 %d/%d...", "ko": "가져오는 중 %d/%d..." }, "click_to_copy": { "es": "Clic para copiar", "de": "Klicken zum Kopieren", "fr": "Cliquez pour copier", "pt": "Clique para copiar", "ru": "Нажмите для копирования", "zh": "点击复制", "ja": "クリックしてコピー", "ko": "복사하려면 클릭" }, "block_hash_copied": { "es": "Hash de bloque copiado", "de": "Block-Hash kopiert", "fr": "Hash de bloc copié", "pt": "Hash do bloco copiado", "ru": "Хеш блока скопирован", "zh": "区块哈希已复制", "ja": "ブロックハッシュがコピーされました", "ko": "블록 해시 복사됨" }, "block_click_copy": { "es": "Clic para copiar", "de": "Klicken zum Kopieren", "fr": "Cliquez pour copier", "pt": "Clique para copiar", "ru": "Нажмите для копирования", "zh": "点击复制", "ja": "クリックしてコピー", "ko": "복사하려면 클릭" }, } def main(): eng = load_english_keys() langs = ["es", "de", "fr", "pt", "ru", "zh", "ja", "ko"] for lang in langs: path = LANG_DIR / f"{lang}.json" with open(path, "r", encoding="utf-8") as f: data = json.load(f) missing = set(eng.keys()) - set(data.keys()) added = 0 skipped = [] for key in sorted(missing): if key in TRANSLATIONS and lang in TRANSLATIONS[key]: data[key] = TRANSLATIONS[key][lang] added += 1 else: skipped.append(key) # Sort keys and write back sorted_data = dict(sorted(data.items())) with open(path, "w", encoding="utf-8") as f: json.dump(sorted_data, f, ensure_ascii=False, indent=4) f.write("\n") print(f"{lang}.json: added {added} keys (total: {len(sorted_data)})") if skipped: print(f" SKIPPED (no translation): {skipped}") if __name__ == "__main__": main()