tor: translate per-user-tor strings, zh-Hant/HK auto-detect
Translate the 16 new per-user-Tor keys and the changed transport-neutral goblin.privacy.intro across all 9 non-English locales (de/es/fr/ja/ko/ru/tr/ zh-CN/zh-TW), replacing the slice-3 English placeholders. Confirm goblin.receive.copy was already translated everywhere. Normalize zh-Hant, zh-HK, and zh-Hant-* system locales to zh-TW (and zh-Hans(-*) to zh-CN) in setup_i18n, so Traditional-script systems that don't report the exact zh-TW tag still land on Traditional instead of falling through to the default locale. Note the zh-TW -> zh news-locale fold in news_locale_code as an intentional, low-priority tradeoff (Traditional readers see the same zh news feed as Simplified); no new pipeline added.
This commit is contained in:
+17
-17
@@ -363,8 +363,8 @@ goblin:
|
||||
connected_tor: "Über Tor verbunden"
|
||||
tor_ready: "Tor bereit · Relays…"
|
||||
connecting_tor: "Verbinde mit Tor…"
|
||||
connected_direct: "Connected (direct)"
|
||||
connecting_direct: "Connecting (direct)…"
|
||||
connected_direct: "Verbunden (direkt)"
|
||||
connecting_direct: "Verbinde (direkt)…"
|
||||
cant_reach_node: "Node nicht erreichbar"
|
||||
node_synced: "Node synchronisiert"
|
||||
syncing: "Synchronisiere…"
|
||||
@@ -485,8 +485,8 @@ goblin:
|
||||
privacy: "Privatsphäre"
|
||||
tor_routing: "Tor-Routing"
|
||||
messages_lookups: "Nachrichten & Abfragen"
|
||||
tor_on: "On"
|
||||
tor_off: "Off"
|
||||
tor_on: "Ein"
|
||||
tor_off: "Aus"
|
||||
auto_accept: "Automatisch annehmen"
|
||||
pairing: "Preiswährung"
|
||||
accept_anyone: "Jeder"
|
||||
@@ -644,7 +644,7 @@ goblin:
|
||||
delete_final: "Endgültig löschen"
|
||||
privacy:
|
||||
title: "Netzwerk-Privatsphäre"
|
||||
intro: "Goblin sendet seinen privaten Datenverkehr über Tor und verbirgt so deine IP vor dem Relay — die Verschlüsselung verbirgt den Rest, sodass ein Relay eine Zahlung nicht zu dir zurückverfolgen kann."
|
||||
intro: "Goblin sendet nur wenige Dinge über das Netzwerk. Hier siehst du, was dein Gerät verlässt und wie es dabei privat bleibt."
|
||||
payments: "Zahlungen"
|
||||
payments_blurb: "Jede nostr-Nachricht, die einen slatepack trägt."
|
||||
usernames: "Benutzernamen"
|
||||
@@ -655,14 +655,14 @@ goblin:
|
||||
direct_connection: "Direkte Verbindung"
|
||||
grin_node: "Grin-Node"
|
||||
grin_node_blurb: "Block-Synchronisierung und Übertragung deiner Transaktion ins Netzwerk. Dies sind öffentliche Chain-Daten, für alle gleich, und nicht mit deiner Identität verknüpft."
|
||||
how_privacy: "How your privacy works"
|
||||
how_privacy_blurb: "Payments and messages are sealed with authenticated encryption and delivered as private messages, so a relay can't read them or link a payment back to you."
|
||||
always_direct: "Always direct"
|
||||
tor_off: "Tor off"
|
||||
tor_on: "Tor on"
|
||||
tor_switch: "Route through Tor"
|
||||
tor_switch_sub: "Send your private traffic through the Tor network to hide your IP from relays."
|
||||
vpn_note: "With Tor off, relays can see your IP address. We recommend using at least a VPN."
|
||||
how_privacy: "So funktioniert deine Privatsphäre"
|
||||
how_privacy_blurb: "Zahlungen und Nachrichten werden mit authentifizierter Verschlüsselung versiegelt und als private Nachrichten zugestellt, sodass ein Relay sie weder lesen noch eine Zahlung zu dir zurückverfolgen kann."
|
||||
always_direct: "Immer direkt"
|
||||
tor_off: "Tor aus"
|
||||
tor_on: "Tor an"
|
||||
tor_switch: "Über Tor leiten"
|
||||
tor_switch_sub: "Sende deinen privaten Datenverkehr durch das Tor-Netzwerk, um deine IP vor Relays zu verbergen."
|
||||
vpn_note: "Wenn Tor aus ist, können Relays deine IP-Adresse sehen. Wir empfehlen, zumindest ein VPN zu verwenden."
|
||||
pairing:
|
||||
title: "Kopplung"
|
||||
intro: "Womit dein Guthaben und deine Beträge verglichen werden."
|
||||
@@ -809,8 +809,8 @@ goblin:
|
||||
working: "Arbeite…"
|
||||
onboarding:
|
||||
privacy:
|
||||
kicker: "NETWORK PRIVACY"
|
||||
continue: "Continue"
|
||||
kicker: "NETZWERK-PRIVATSPHÄRE"
|
||||
continue: "Weiter"
|
||||
intro:
|
||||
private_money_head: "Privates Geld"
|
||||
private_money_body: "Goblin ist ein Wallet für grin — digitales Bargeld ohne Beträge oder Adressen auf seiner Chain."
|
||||
@@ -872,8 +872,8 @@ goblin:
|
||||
key_being_made: "Schlüssel wird erstellt…"
|
||||
connected_tor: "über Tor verbunden"
|
||||
connecting_tor: "verbinde über Tor…"
|
||||
connected_direct: "connected (direct)"
|
||||
connecting_direct: "connecting (direct)…"
|
||||
connected_direct: "verbunden (direkt)"
|
||||
connecting_direct: "verbinde (direkt)…"
|
||||
fresh_key_blurb: "Ein Zahlungsschlüssel, der nicht Teil deines Seeds ist — jederzeit rotierbar, ohne deine Mittel zu berühren."
|
||||
restoring: "Deine Identitäten werden wiederhergestellt…"
|
||||
clean_slate_blurb: "Lust auf einen Neuanfang? Tausche jederzeit einen brandneuen Schlüssel ein — das neue Du ist nicht mit dem alten verknüpft. Gleiches Wallet, frisches Gesicht."
|
||||
|
||||
+17
-17
@@ -363,8 +363,8 @@ goblin:
|
||||
connected_tor: "Conectado por Tor"
|
||||
tor_ready: "Tor listo · relés…"
|
||||
connecting_tor: "Conectando a Tor…"
|
||||
connected_direct: "Connected (direct)"
|
||||
connecting_direct: "Connecting (direct)…"
|
||||
connected_direct: "Conectado (directo)"
|
||||
connecting_direct: "Conectando (directo)…"
|
||||
cant_reach_node: "No se puede conectar con el nodo"
|
||||
node_synced: "Nodo sincronizado"
|
||||
syncing: "Sincronizando…"
|
||||
@@ -485,8 +485,8 @@ goblin:
|
||||
privacy: "Privacidad"
|
||||
tor_routing: "Enrutamiento por Tor"
|
||||
messages_lookups: "Mensajes y consultas"
|
||||
tor_on: "On"
|
||||
tor_off: "Off"
|
||||
tor_on: "Activado"
|
||||
tor_off: "Desactivado"
|
||||
auto_accept: "Aceptación automática"
|
||||
pairing: "Moneda de referencia"
|
||||
accept_anyone: "Cualquiera"
|
||||
@@ -644,7 +644,7 @@ goblin:
|
||||
delete_final: "Eliminar permanentemente"
|
||||
privacy:
|
||||
title: "Privacidad de red"
|
||||
intro: "Goblin envía su tráfico privado a través de Tor, lo que oculta tu IP del relé — el cifrado oculta el resto, de modo que un relé no puede vincular un pago contigo."
|
||||
intro: "Goblin envía solo unas pocas cosas a través de la red. Esto es lo que sale de tu dispositivo, y cómo se mantiene privado."
|
||||
payments: "Pagos"
|
||||
payments_blurb: "Cada mensaje de nostr que transporta un slatepack."
|
||||
usernames: "nombres de usuario"
|
||||
@@ -655,14 +655,14 @@ goblin:
|
||||
direct_connection: "Conexión directa"
|
||||
grin_node: "Nodo de Grin"
|
||||
grin_node_blurb: "Sincronización de bloques y transmisión de tu transacción a la red. Estos son datos públicos de la cadena, iguales para todos, y no están vinculados a tu identidad."
|
||||
how_privacy: "How your privacy works"
|
||||
how_privacy_blurb: "Payments and messages are sealed with authenticated encryption and delivered as private messages, so a relay can't read them or link a payment back to you."
|
||||
always_direct: "Always direct"
|
||||
tor_off: "Tor off"
|
||||
tor_on: "Tor on"
|
||||
tor_switch: "Route through Tor"
|
||||
tor_switch_sub: "Send your private traffic through the Tor network to hide your IP from relays."
|
||||
vpn_note: "With Tor off, relays can see your IP address. We recommend using at least a VPN."
|
||||
how_privacy: "Cómo funciona tu privacidad"
|
||||
how_privacy_blurb: "Los pagos y mensajes se sellan con cifrado autenticado y se entregan como mensajes privados, de modo que un relé no puede leerlos ni vincular un pago contigo."
|
||||
always_direct: "Siempre directo"
|
||||
tor_off: "Tor desactivado"
|
||||
tor_on: "Tor activado"
|
||||
tor_switch: "Enrutar a través de Tor"
|
||||
tor_switch_sub: "Envía tu tráfico privado a través de la red Tor para ocultar tu IP de los relés."
|
||||
vpn_note: "Con Tor desactivado, los relés pueden ver tu dirección IP. Te recomendamos usar al menos una VPN."
|
||||
pairing:
|
||||
title: "Referencia de precio"
|
||||
intro: "Aquello contra lo que se muestran tu saldo y tus montos."
|
||||
@@ -809,8 +809,8 @@ goblin:
|
||||
working: "Procesando…"
|
||||
onboarding:
|
||||
privacy:
|
||||
kicker: "NETWORK PRIVACY"
|
||||
continue: "Continue"
|
||||
kicker: "PRIVACIDAD DE RED"
|
||||
continue: "Continuar"
|
||||
intro:
|
||||
private_money_head: "Dinero privado"
|
||||
private_money_body: "Goblin es una billetera para grin — dinero digital sin montos ni direcciones en su cadena."
|
||||
@@ -872,8 +872,8 @@ goblin:
|
||||
key_being_made: "creando clave…"
|
||||
connected_tor: "conectado por Tor"
|
||||
connecting_tor: "conectando por Tor…"
|
||||
connected_direct: "connected (direct)"
|
||||
connecting_direct: "connecting (direct)…"
|
||||
connected_direct: "conectado (directo)"
|
||||
connecting_direct: "conectando (directo)…"
|
||||
fresh_key_blurb: "Una clave de pago que no forma parte de tu frase de recuperación — rótala cuando quieras para mantener la privacidad, sin tocar tus fondos."
|
||||
restoring: "Restaurando tus identidades…"
|
||||
clean_slate_blurb: "¿Quieres empezar de cero? Cambia a una clave totalmente nueva cuando quieras — el nuevo tú no está vinculado al anterior. Misma billetera, cara nueva."
|
||||
|
||||
+17
-17
@@ -363,8 +363,8 @@ goblin:
|
||||
connected_tor: "Connecté via Tor"
|
||||
tor_ready: "Tor prêt · relais…"
|
||||
connecting_tor: "Connexion à Tor…"
|
||||
connected_direct: "Connected (direct)"
|
||||
connecting_direct: "Connecting (direct)…"
|
||||
connected_direct: "Connecté (direct)"
|
||||
connecting_direct: "Connexion (directe)…"
|
||||
cant_reach_node: "Nœud injoignable"
|
||||
node_synced: "Nœud synchronisé"
|
||||
syncing: "Synchronisation…"
|
||||
@@ -485,8 +485,8 @@ goblin:
|
||||
privacy: "Confidentialité"
|
||||
tor_routing: "Routage par Tor"
|
||||
messages_lookups: "Messages et recherches"
|
||||
tor_on: "On"
|
||||
tor_off: "Off"
|
||||
tor_on: "Activé"
|
||||
tor_off: "Désactivé"
|
||||
auto_accept: "Acceptation auto"
|
||||
pairing: "Devise des prix"
|
||||
accept_anyone: "Tout le monde"
|
||||
@@ -644,7 +644,7 @@ goblin:
|
||||
delete_final: "Supprimer définitivement"
|
||||
privacy:
|
||||
title: "Confidentialité réseau"
|
||||
intro: "Goblin envoie son trafic privé via Tor, qui masque votre IP au relais — le chiffrement masque le reste, afin qu'un relais ne puisse pas relier un paiement à vous."
|
||||
intro: "Goblin n'envoie que peu de choses sur le réseau. Voici ce qui quitte votre appareil, et comment cela reste privé."
|
||||
payments: "Paiements"
|
||||
payments_blurb: "Chaque message nostr transportant un slatepack."
|
||||
usernames: "Noms d'utilisateur"
|
||||
@@ -655,14 +655,14 @@ goblin:
|
||||
direct_connection: "Connexion directe"
|
||||
grin_node: "Nœud grin"
|
||||
grin_node_blurb: "Synchronisation des blocs et diffusion de votre transaction sur le réseau. Ce sont des données de chaîne publiques, identiques pour tous, et non liées à votre identité."
|
||||
how_privacy: "How your privacy works"
|
||||
how_privacy_blurb: "Payments and messages are sealed with authenticated encryption and delivered as private messages, so a relay can't read them or link a payment back to you."
|
||||
always_direct: "Always direct"
|
||||
tor_off: "Tor off"
|
||||
tor_on: "Tor on"
|
||||
tor_switch: "Route through Tor"
|
||||
tor_switch_sub: "Send your private traffic through the Tor network to hide your IP from relays."
|
||||
vpn_note: "With Tor off, relays can see your IP address. We recommend using at least a VPN."
|
||||
how_privacy: "Comment fonctionne votre confidentialité"
|
||||
how_privacy_blurb: "Les paiements et les messages sont scellés par un chiffrement authentifié et envoyés comme messages privés, de sorte qu'un relais ne peut ni les lire ni relier un paiement à vous."
|
||||
always_direct: "Toujours direct"
|
||||
tor_off: "Tor désactivé"
|
||||
tor_on: "Tor activé"
|
||||
tor_switch: "Acheminer via Tor"
|
||||
tor_switch_sub: "Envoyez votre trafic privé via le réseau Tor pour masquer votre IP aux relais."
|
||||
vpn_note: "Lorsque Tor est désactivé, les relais peuvent voir votre adresse IP. Nous vous recommandons d'utiliser au moins un VPN."
|
||||
pairing:
|
||||
title: "Appairage"
|
||||
intro: "Ce à quoi votre solde et vos montants sont comparés."
|
||||
@@ -809,8 +809,8 @@ goblin:
|
||||
working: "En cours…"
|
||||
onboarding:
|
||||
privacy:
|
||||
kicker: "NETWORK PRIVACY"
|
||||
continue: "Continue"
|
||||
kicker: "CONFIDENTIALITÉ RÉSEAU"
|
||||
continue: "Continuer"
|
||||
intro:
|
||||
private_money_head: "Argent privé"
|
||||
private_money_body: "Goblin est un portefeuille pour grin — de l'argent numérique sans montants ni adresses sur sa chaîne."
|
||||
@@ -872,8 +872,8 @@ goblin:
|
||||
key_being_made: "clé en cours de création…"
|
||||
connected_tor: "connecté via Tor"
|
||||
connecting_tor: "connexion via Tor…"
|
||||
connected_direct: "connected (direct)"
|
||||
connecting_direct: "connecting (direct)…"
|
||||
connected_direct: "connecté (direct)"
|
||||
connecting_direct: "connexion (directe)…"
|
||||
fresh_key_blurb: "Une clé de paiement qui ne fait pas partie de votre seed — renouvelable à tout moment, sans toucher à vos fonds."
|
||||
restoring: "Restauration de vos identités…"
|
||||
clean_slate_blurb: "Envie de repartir à zéro ? Remplacez par une toute nouvelle clé à tout moment — le nouveau vous n'est pas lié à l'ancien. Même portefeuille, nouveau visage."
|
||||
|
||||
+17
-17
@@ -363,8 +363,8 @@ goblin:
|
||||
connected_tor: "Tor経由で接続済み"
|
||||
tor_ready: "Tor準備完了 · リレー…"
|
||||
connecting_tor: "Torに接続中…"
|
||||
connected_direct: "Connected (direct)"
|
||||
connecting_direct: "Connecting (direct)…"
|
||||
connected_direct: "接続済み(直接)"
|
||||
connecting_direct: "接続中(直接)…"
|
||||
cant_reach_node: "ノードに接続できません"
|
||||
node_synced: "ノード同期済み"
|
||||
syncing: "同期中…"
|
||||
@@ -485,8 +485,8 @@ goblin:
|
||||
privacy: "プライバシー"
|
||||
tor_routing: "Torルーティング"
|
||||
messages_lookups: "メッセージと検索"
|
||||
tor_on: "On"
|
||||
tor_off: "Off"
|
||||
tor_on: "オン"
|
||||
tor_off: "オフ"
|
||||
auto_accept: "自動承認"
|
||||
pairing: "価格通貨"
|
||||
accept_anyone: "誰でも"
|
||||
@@ -644,7 +644,7 @@ goblin:
|
||||
delete_final: "完全に削除"
|
||||
privacy:
|
||||
title: "ネットワークプライバシー"
|
||||
intro: "Goblinはプライベートな通信をTor経由で送信し、リレーからIPアドレスを隠します — 暗号化がそれ以外の情報を隠すため、リレーが支払いをあなたに結び付けることはできません。"
|
||||
intro: "Goblinがネットワーク経由で送信するのはごくわずかな情報だけです。あなたの端末から出ていく情報と、それがどのように非公開に保たれるかをご覧ください。"
|
||||
payments: "支払い"
|
||||
payments_blurb: "slatepackを運ぶすべてのnostrメッセージです。"
|
||||
usernames: "ユーザー名"
|
||||
@@ -655,14 +655,14 @@ goblin:
|
||||
direct_connection: "直接接続"
|
||||
grin_node: "Grinノード"
|
||||
grin_node_blurb: "ブロックの同期と、取引をネットワークにブロードキャストする処理です。これは誰にとっても同じ公開されたチェーンデータであり、あなたのアイデンティティとは結び付いていません。"
|
||||
how_privacy: "How your privacy works"
|
||||
how_privacy_blurb: "Payments and messages are sealed with authenticated encryption and delivered as private messages, so a relay can't read them or link a payment back to you."
|
||||
always_direct: "Always direct"
|
||||
tor_off: "Tor off"
|
||||
tor_on: "Tor on"
|
||||
tor_switch: "Route through Tor"
|
||||
tor_switch_sub: "Send your private traffic through the Tor network to hide your IP from relays."
|
||||
vpn_note: "With Tor off, relays can see your IP address. We recommend using at least a VPN."
|
||||
how_privacy: "プライバシーの仕組み"
|
||||
how_privacy_blurb: "支払いとメッセージは認証付き暗号化で封印され、プライベートメッセージとして届けられます。そのためリレーはそれらを読み取ることも、支払いをあなたに結び付けることもできません。"
|
||||
always_direct: "常に直接接続"
|
||||
tor_off: "Torオフ"
|
||||
tor_on: "Torオン"
|
||||
tor_switch: "Tor経由でルーティング"
|
||||
tor_switch_sub: "プライベートな通信をTorネットワーク経由で送信し、リレーからIPアドレスを隠します。"
|
||||
vpn_note: "Torがオフの場合、リレーはあなたのIPアドレスを見ることができます。少なくともVPNの利用をお勧めします。"
|
||||
pairing:
|
||||
title: "価格通貨"
|
||||
intro: "残高や金額を表示する際の基準となる通貨です。"
|
||||
@@ -809,8 +809,8 @@ goblin:
|
||||
working: "処理中…"
|
||||
onboarding:
|
||||
privacy:
|
||||
kicker: "NETWORK PRIVACY"
|
||||
continue: "Continue"
|
||||
kicker: "ネットワークプライバシー"
|
||||
continue: "続ける"
|
||||
intro:
|
||||
private_money_head: "プライベートなお金"
|
||||
private_money_body: "Goblinはgrin用のウォレットです — チェーン上に金額もアドレスも残らないデジタルキャッシュです。"
|
||||
@@ -873,8 +873,8 @@ goblin:
|
||||
key_being_made: "キーを作成中…"
|
||||
connected_tor: "Tor経由で接続済み"
|
||||
connecting_tor: "Tor経由で接続中…"
|
||||
connected_direct: "connected (direct)"
|
||||
connecting_direct: "connecting (direct)…"
|
||||
connected_direct: "接続済み(直接)"
|
||||
connecting_direct: "接続中(直接)…"
|
||||
fresh_key_blurb: "リカバリーフレーズの一部ではない支払い用のキーです — 資金に影響を与えることなく、いつでもローテーションしてプライバシーを保てます。"
|
||||
restoring: "アイデンティティを復元しています…"
|
||||
clean_slate_blurb: "まっさらな状態にしたいですか? いつでもまったく新しいキーに切り替えられます — 新しいあなたは古いあなたと結び付きません。同じウォレットで、新しい顔になります。"
|
||||
|
||||
+17
-17
@@ -363,8 +363,8 @@ goblin:
|
||||
connected_tor: "Tor로 연결됨"
|
||||
tor_ready: "Tor 준비 완료 · 릴레이…"
|
||||
connecting_tor: "Tor에 연결하는 중…"
|
||||
connected_direct: "Connected (direct)"
|
||||
connecting_direct: "Connecting (direct)…"
|
||||
connected_direct: "연결됨 (직접)"
|
||||
connecting_direct: "연결 중 (직접)…"
|
||||
cant_reach_node: "노드에 연결할 수 없음"
|
||||
node_synced: "노드 동기화됨"
|
||||
syncing: "동기화하는 중…"
|
||||
@@ -485,8 +485,8 @@ goblin:
|
||||
privacy: "프라이버시"
|
||||
tor_routing: "Tor 라우팅"
|
||||
messages_lookups: "메시지 및 조회"
|
||||
tor_on: "On"
|
||||
tor_off: "Off"
|
||||
tor_on: "켜짐"
|
||||
tor_off: "꺼짐"
|
||||
auto_accept: "자동 수락"
|
||||
pairing: "기준 통화"
|
||||
accept_anyone: "누구나"
|
||||
@@ -644,7 +644,7 @@ goblin:
|
||||
delete_final: "영구 삭제"
|
||||
privacy:
|
||||
title: "네트워크 프라이버시"
|
||||
intro: "Goblin은 개인 트래픽을 Tor를 통해 전송해 릴레이로부터 내 IP를 숨깁니다 — 암호화가 나머지를 숨겨서 릴레이가 결제를 나와 연결 지을 수 없습니다."
|
||||
intro: "Goblin은 네트워크를 통해 아주 적은 정보만 전송합니다. 여기서 내 기기에서 무엇이 나가는지, 그리고 그것이 어떻게 비공개로 유지되는지 확인하세요."
|
||||
payments: "결제"
|
||||
payments_blurb: "slatepack을 담은 모든 nostr 메시지입니다."
|
||||
usernames: "사용자 이름"
|
||||
@@ -655,14 +655,14 @@ goblin:
|
||||
direct_connection: "직접 연결"
|
||||
grin_node: "Grin 노드"
|
||||
grin_node_blurb: "블록 동기화와 거래를 네트워크에 전파하는 과정입니다. 이는 모두에게 동일한 공개 체인 데이터이며 신원과 연결되지 않습니다."
|
||||
how_privacy: "How your privacy works"
|
||||
how_privacy_blurb: "Payments and messages are sealed with authenticated encryption and delivered as private messages, so a relay can't read them or link a payment back to you."
|
||||
always_direct: "Always direct"
|
||||
tor_off: "Tor off"
|
||||
tor_on: "Tor on"
|
||||
tor_switch: "Route through Tor"
|
||||
tor_switch_sub: "Send your private traffic through the Tor network to hide your IP from relays."
|
||||
vpn_note: "With Tor off, relays can see your IP address. We recommend using at least a VPN."
|
||||
how_privacy: "프라이버시가 작동하는 방식"
|
||||
how_privacy_blurb: "결제와 메시지는 인증된 암호화로 봉인되어 비공개 메시지로 전달되므로, 릴레이가 이를 읽거나 결제를 나와 연결 지을 수 없습니다."
|
||||
always_direct: "항상 직접 연결"
|
||||
tor_off: "Tor 꺼짐"
|
||||
tor_on: "Tor 켜짐"
|
||||
tor_switch: "Tor로 라우팅"
|
||||
tor_switch_sub: "개인 트래픽을 Tor 네트워크를 통해 전송해 릴레이로부터 IP를 숨깁니다."
|
||||
vpn_note: "Tor가 꺼져 있으면 릴레이가 내 IP 주소를 볼 수 있습니다. 최소한 VPN 사용을 권장합니다."
|
||||
pairing:
|
||||
title: "기준 통화"
|
||||
intro: "내 잔액과 금액이 어떤 통화로 표시되는지입니다."
|
||||
@@ -809,8 +809,8 @@ goblin:
|
||||
working: "처리하는 중…"
|
||||
onboarding:
|
||||
privacy:
|
||||
kicker: "NETWORK PRIVACY"
|
||||
continue: "Continue"
|
||||
kicker: "네트워크 프라이버시"
|
||||
continue: "계속"
|
||||
intro:
|
||||
private_money_head: "프라이빗한 돈"
|
||||
private_money_body: "Goblin은 grin을 위한 지갑입니다 — 체인에 금액도 주소도 남지 않는 디지털 현금입니다."
|
||||
@@ -872,8 +872,8 @@ goblin:
|
||||
key_being_made: "키를 만드는 중…"
|
||||
connected_tor: "Tor로 연결됨"
|
||||
connecting_tor: "Tor로 연결하는 중…"
|
||||
connected_direct: "connected (direct)"
|
||||
connecting_direct: "connecting (direct)…"
|
||||
connected_direct: "연결됨 (직접)"
|
||||
connecting_direct: "연결 중 (직접)…"
|
||||
fresh_key_blurb: "복구 문구에 속하지 않는 결제 키입니다 — 자금은 그대로 둔 채 언제든 교체해 프라이버시를 지키세요."
|
||||
restoring: "신원을 복원하는 중…"
|
||||
clean_slate_blurb: "새 출발을 원하시나요? 언제든 완전히 새로운 키로 바꾸세요 — 새로운 나는 이전과 연결되지 않습니다. 같은 지갑, 새로운 얼굴입니다."
|
||||
|
||||
+17
-17
@@ -363,8 +363,8 @@ goblin:
|
||||
connected_tor: "Подключено через Tor"
|
||||
tor_ready: "Tor готов · реле…"
|
||||
connecting_tor: "Подключение к Tor…"
|
||||
connected_direct: "Connected (direct)"
|
||||
connecting_direct: "Connecting (direct)…"
|
||||
connected_direct: "Подключено (напрямую)"
|
||||
connecting_direct: "Подключение (напрямую)…"
|
||||
cant_reach_node: "Нет связи с узлом"
|
||||
node_synced: "Узел синхронизирован"
|
||||
syncing: "Синхронизация…"
|
||||
@@ -485,8 +485,8 @@ goblin:
|
||||
privacy: "Приватность"
|
||||
tor_routing: "Маршрутизация через Tor"
|
||||
messages_lookups: "Сообщения и поиск"
|
||||
tor_on: "On"
|
||||
tor_off: "Off"
|
||||
tor_on: "Вкл"
|
||||
tor_off: "Выкл"
|
||||
auto_accept: "Автоприём"
|
||||
pairing: "Валюта цены"
|
||||
accept_anyone: "Любой"
|
||||
@@ -644,7 +644,7 @@ goblin:
|
||||
delete_final: "Удалить навсегда"
|
||||
privacy:
|
||||
title: "Сетевая приватность"
|
||||
intro: "Goblin отправляет приватный трафик через Tor, который скрывает ваш IP от реле — шифрование скрывает остальное, чтобы реле не могло связать платёж с вами."
|
||||
intro: "Goblin отправляет по сети лишь немногое. Вот что покидает ваше устройство и как это остаётся приватным."
|
||||
payments: "Платежи"
|
||||
payments_blurb: "Каждое nostr-сообщение, несущее slatepack."
|
||||
usernames: "Имена пользователей"
|
||||
@@ -655,14 +655,14 @@ goblin:
|
||||
direct_connection: "Прямое соединение"
|
||||
grin_node: "Узел Grin"
|
||||
grin_node_blurb: "Синхронизация блоков и трансляция транзакции в сеть. Это публичные данные цепочки, одинаковые для всех, и они не связаны с вашей личностью."
|
||||
how_privacy: "How your privacy works"
|
||||
how_privacy_blurb: "Payments and messages are sealed with authenticated encryption and delivered as private messages, so a relay can't read them or link a payment back to you."
|
||||
always_direct: "Always direct"
|
||||
tor_off: "Tor off"
|
||||
tor_on: "Tor on"
|
||||
tor_switch: "Route through Tor"
|
||||
tor_switch_sub: "Send your private traffic through the Tor network to hide your IP from relays."
|
||||
vpn_note: "With Tor off, relays can see your IP address. We recommend using at least a VPN."
|
||||
how_privacy: "Как работает ваша приватность"
|
||||
how_privacy_blurb: "Платежи и сообщения запечатываются аутентифицированным шифрованием и доставляются как приватные сообщения, поэтому реле не может их прочитать или связать платёж с вами."
|
||||
always_direct: "Всегда напрямую"
|
||||
tor_off: "Tor выключен"
|
||||
tor_on: "Tor включён"
|
||||
tor_switch: "Маршрутизировать через Tor"
|
||||
tor_switch_sub: "Отправляйте приватный трафик через сеть Tor, чтобы скрыть свой IP от реле."
|
||||
vpn_note: "Если Tor выключен, реле могут видеть ваш IP-адрес. Рекомендуем использовать хотя бы VPN."
|
||||
pairing:
|
||||
title: "Привязка"
|
||||
intro: "К чему привязаны отображаемые баланс и суммы."
|
||||
@@ -809,8 +809,8 @@ goblin:
|
||||
working: "Обработка…"
|
||||
onboarding:
|
||||
privacy:
|
||||
kicker: "NETWORK PRIVACY"
|
||||
continue: "Continue"
|
||||
kicker: "СЕТЕВАЯ ПРИВАТНОСТЬ"
|
||||
continue: "Продолжить"
|
||||
intro:
|
||||
private_money_head: "Приватные деньги"
|
||||
private_money_body: "Goblin — кошелёк для grin: цифровая наличность без сумм и адресов в её цепочке."
|
||||
@@ -872,8 +872,8 @@ goblin:
|
||||
key_being_made: "ключ создаётся…"
|
||||
connected_tor: "подключено через Tor"
|
||||
connecting_tor: "подключение через Tor…"
|
||||
connected_direct: "connected (direct)"
|
||||
connecting_direct: "connecting (direct)…"
|
||||
connected_direct: "подключено (напрямую)"
|
||||
connecting_direct: "подключение (напрямую)…"
|
||||
fresh_key_blurb: "Платёжный ключ, не связанный с seed-фразой — меняйте его в любой момент, не трогая средства."
|
||||
restoring: "Восстановление ваших личностей…"
|
||||
clean_slate_blurb: "Хотите начать с чистого листа? Подставьте совершенно новый ключ в любой момент — новый вы не связан со старым. Тот же кошелёк, новое лицо."
|
||||
|
||||
+17
-17
@@ -363,8 +363,8 @@ goblin:
|
||||
connected_tor: "Tor üzerinden bağlı"
|
||||
tor_ready: "Tor hazır · relaylar…"
|
||||
connecting_tor: "Tor'a bağlanılıyor…"
|
||||
connected_direct: "Connected (direct)"
|
||||
connecting_direct: "Connecting (direct)…"
|
||||
connected_direct: "Bağlandı (doğrudan)"
|
||||
connecting_direct: "Bağlanıyor (doğrudan)…"
|
||||
cant_reach_node: "Düğüme ulaşılamıyor"
|
||||
node_synced: "Düğüm eşitlendi"
|
||||
syncing: "Eşitleniyor…"
|
||||
@@ -485,8 +485,8 @@ goblin:
|
||||
privacy: "Gizlilik"
|
||||
tor_routing: "Tor yönlendirme"
|
||||
messages_lookups: "Mesajlar ve aramalar"
|
||||
tor_on: "On"
|
||||
tor_off: "Off"
|
||||
tor_on: "Açık"
|
||||
tor_off: "Kapalı"
|
||||
auto_accept: "Otomatik kabul"
|
||||
pairing: "Fiyat para birimi"
|
||||
accept_anyone: "Herkes"
|
||||
@@ -644,7 +644,7 @@ goblin:
|
||||
delete_final: "Kalıcı olarak sil"
|
||||
privacy:
|
||||
title: "Ağ gizliliği"
|
||||
intro: "Goblin özel trafiğini Tor üzerinden gönderir ve senin IP adresini relaydan gizler — şifreleme de gerisini gizler, böylece bir relay bir ödemeyi sana bağlayamaz."
|
||||
intro: "Goblin ağ üzerinden yalnızca birkaç şey gönderir. İşte cihazından neyin çıktığı ve bunun nasıl gizli kaldığı."
|
||||
payments: "Ödemeler"
|
||||
payments_blurb: "Slatepack taşıyan her nostr mesajı."
|
||||
usernames: "usernamelar"
|
||||
@@ -655,14 +655,14 @@ goblin:
|
||||
direct_connection: "Doğrudan bağlantı"
|
||||
grin_node: "Grin düğümü"
|
||||
grin_node_blurb: "Blok eşitleme ve işlemini ağa yayma. Bu, herkes için aynı olan genel zincir verisidir ve kimliğinle ilişkilendirilmez."
|
||||
how_privacy: "How your privacy works"
|
||||
how_privacy_blurb: "Payments and messages are sealed with authenticated encryption and delivered as private messages, so a relay can't read them or link a payment back to you."
|
||||
always_direct: "Always direct"
|
||||
tor_off: "Tor off"
|
||||
tor_on: "Tor on"
|
||||
tor_switch: "Route through Tor"
|
||||
tor_switch_sub: "Send your private traffic through the Tor network to hide your IP from relays."
|
||||
vpn_note: "With Tor off, relays can see your IP address. We recommend using at least a VPN."
|
||||
how_privacy: "Gizliliğin nasıl çalıştığı"
|
||||
how_privacy_blurb: "Ödemeler ve mesajlar kimlik doğrulamalı şifrelemeyle mühürlenip özel mesajlar olarak iletilir; böylece bir relay bunları okuyamaz veya bir ödemeyi sana bağlayamaz."
|
||||
always_direct: "Her zaman doğrudan"
|
||||
tor_off: "Tor kapalı"
|
||||
tor_on: "Tor açık"
|
||||
tor_switch: "Tor üzerinden yönlendir"
|
||||
tor_switch_sub: "Relaylardan IP adresini gizlemek için özel trafiğini Tor ağı üzerinden gönder."
|
||||
vpn_note: "Tor kapalıyken relaylar IP adresini görebilir. En azından bir VPN kullanmanı öneririz."
|
||||
pairing:
|
||||
title: "Eşleştirme"
|
||||
intro: "Bakiyenin ve tutarların neye göre gösterildiği."
|
||||
@@ -809,8 +809,8 @@ goblin:
|
||||
working: "Çalışıyor…"
|
||||
onboarding:
|
||||
privacy:
|
||||
kicker: "NETWORK PRIVACY"
|
||||
continue: "Continue"
|
||||
kicker: "AĞ GİZLİLİĞİ"
|
||||
continue: "Devam"
|
||||
intro:
|
||||
private_money_head: "Özel para"
|
||||
private_money_body: "Goblin, grin için bir cüzdan — zincirinde tutar ya da adres bulunmayan dijital nakit."
|
||||
@@ -872,8 +872,8 @@ goblin:
|
||||
key_being_made: "anahtar oluşturuluyor…"
|
||||
connected_tor: "Tor üzerinden bağlı"
|
||||
connecting_tor: "Tor üzerinden bağlanılıyor…"
|
||||
connected_direct: "connected (direct)"
|
||||
connecting_direct: "connecting (direct)…"
|
||||
connected_direct: "bağlandı (doğrudan)"
|
||||
connecting_direct: "bağlanıyor (doğrudan)…"
|
||||
fresh_key_blurb: "Seed'inin parçası olmayan bir ödeme anahtarı — paranı hiç ellemeden istediğin an döndür."
|
||||
restoring: "Kimliklerin geri yükleniyor…"
|
||||
clean_slate_blurb: "Temiz bir sayfa mı istiyorsun? İstediğin zaman yepyeni bir anahtar tak — yeni sen eskisine bağlı değil. Aynı cüzdan, yeni yüz."
|
||||
|
||||
+17
-17
@@ -363,8 +363,8 @@ goblin:
|
||||
connected_tor: "已通过 Tor 连接"
|
||||
tor_ready: "Tor 就绪 · 连接中继…"
|
||||
connecting_tor: "正在连接 Tor…"
|
||||
connected_direct: "Connected (direct)"
|
||||
connecting_direct: "Connecting (direct)…"
|
||||
connected_direct: "已连接(直连)"
|
||||
connecting_direct: "正在连接(直连)…"
|
||||
cant_reach_node: "无法连接节点"
|
||||
node_synced: "节点已同步"
|
||||
syncing: "同步中…"
|
||||
@@ -485,8 +485,8 @@ goblin:
|
||||
privacy: "隐私"
|
||||
tor_routing: "Tor 路由"
|
||||
messages_lookups: "消息和查询"
|
||||
tor_on: "On"
|
||||
tor_off: "Off"
|
||||
tor_on: "开启"
|
||||
tor_off: "关闭"
|
||||
auto_accept: "自动接受"
|
||||
pairing: "价格货币"
|
||||
accept_anyone: "任何人"
|
||||
@@ -644,7 +644,7 @@ goblin:
|
||||
delete_final: "永久删除"
|
||||
privacy:
|
||||
title: "网络隐私"
|
||||
intro: "Goblin 通过 Tor 发送其私密流量,向中继隐藏你的 IP — 加密隐藏其余部分,使中继无法将付款关联到你。"
|
||||
intro: "Goblin 只在网络上发送极少量信息。以下是离开你设备的内容,以及它如何保持私密。"
|
||||
payments: "付款"
|
||||
payments_blurb: "每条携带 slatepack 的 nostr 消息。"
|
||||
usernames: "用户名"
|
||||
@@ -655,14 +655,14 @@ goblin:
|
||||
direct_connection: "直接连接"
|
||||
grin_node: "Grin 节点"
|
||||
grin_node_blurb: "区块同步及向网络广播你的交易。这是公开的链上数据,对所有人都一样,且不与你的身份关联。"
|
||||
how_privacy: "How your privacy works"
|
||||
how_privacy_blurb: "Payments and messages are sealed with authenticated encryption and delivered as private messages, so a relay can't read them or link a payment back to you."
|
||||
always_direct: "Always direct"
|
||||
tor_off: "Tor off"
|
||||
tor_on: "Tor on"
|
||||
tor_switch: "Route through Tor"
|
||||
tor_switch_sub: "Send your private traffic through the Tor network to hide your IP from relays."
|
||||
vpn_note: "With Tor off, relays can see your IP address. We recommend using at least a VPN."
|
||||
how_privacy: "你的隐私如何运作"
|
||||
how_privacy_blurb: "付款和消息都用认证加密进行封装,并以私密消息的形式送达,因此中继既无法读取内容,也无法将付款关联到你。"
|
||||
always_direct: "始终直连"
|
||||
tor_off: "Tor 已关闭"
|
||||
tor_on: "Tor 已开启"
|
||||
tor_switch: "通过 Tor 路由"
|
||||
tor_switch_sub: "将你的私密流量通过 Tor 网络发送,向中继隐藏你的 IP。"
|
||||
vpn_note: "关闭 Tor 后,中继可以看到你的 IP 地址。我们建议你至少使用 VPN。"
|
||||
pairing:
|
||||
title: "配对"
|
||||
intro: "你的余额和金额以何种货币显示。"
|
||||
@@ -809,8 +809,8 @@ goblin:
|
||||
working: "处理中…"
|
||||
onboarding:
|
||||
privacy:
|
||||
kicker: "NETWORK PRIVACY"
|
||||
continue: "Continue"
|
||||
kicker: "网络隐私"
|
||||
continue: "继续"
|
||||
intro:
|
||||
private_money_head: "私密货币"
|
||||
private_money_body: "Goblin 是一个 grin 钱包 — 链上无金额、无地址的数字现金。"
|
||||
@@ -872,8 +872,8 @@ goblin:
|
||||
key_being_made: "正在生成密钥…"
|
||||
connected_tor: "已通过 Tor 连接"
|
||||
connecting_tor: "正在通过 Tor 连接…"
|
||||
connected_direct: "connected (direct)"
|
||||
connecting_direct: "connecting (direct)…"
|
||||
connected_direct: "已连接(直连)"
|
||||
connecting_direct: "正在连接(直连)…"
|
||||
fresh_key_blurb: "一个不属于助记词的支付密钥——可随时轮换以保护隐私,且不影响你的资金。"
|
||||
restoring: "正在恢复你的身份…"
|
||||
clean_slate_blurb: "想要全新开始?随时换上一个全新密钥 — 新的你与旧的毫无关联。同一个钱包,焕然一新。"
|
||||
|
||||
+17
-17
@@ -363,8 +363,8 @@ goblin:
|
||||
connected_tor: "已透過 Tor 連線"
|
||||
tor_ready: "Tor 就緒 · 連線中繼…"
|
||||
connecting_tor: "正在連線 Tor…"
|
||||
connected_direct: "Connected (direct)"
|
||||
connecting_direct: "Connecting (direct)…"
|
||||
connected_direct: "已連線(直連)"
|
||||
connecting_direct: "正在連線(直連)…"
|
||||
cant_reach_node: "無法連線節點"
|
||||
node_synced: "節點已同步"
|
||||
syncing: "同步中…"
|
||||
@@ -485,8 +485,8 @@ goblin:
|
||||
privacy: "隱私"
|
||||
tor_routing: "Tor 路由"
|
||||
messages_lookups: "訊息和查詢"
|
||||
tor_on: "On"
|
||||
tor_off: "Off"
|
||||
tor_on: "開啟"
|
||||
tor_off: "關閉"
|
||||
auto_accept: "自動接受"
|
||||
pairing: "價格貨幣"
|
||||
accept_anyone: "任何人"
|
||||
@@ -644,7 +644,7 @@ goblin:
|
||||
delete_final: "永久刪除"
|
||||
privacy:
|
||||
title: "網路隱私"
|
||||
intro: "Goblin 透過 Tor 傳送其私密流量,向中繼隱藏你的 IP — 加密隱藏其餘部分,使中繼無法將付款關聯到你。"
|
||||
intro: "Goblin 只在網路上傳送極少量資訊。以下是離開你裝置的內容,以及它如何保持私密。"
|
||||
payments: "付款"
|
||||
payments_blurb: "每條攜帶 slatepack 的 nostr 訊息。"
|
||||
usernames: "使用者名稱"
|
||||
@@ -655,14 +655,14 @@ goblin:
|
||||
direct_connection: "直接連線"
|
||||
grin_node: "Grin 節點"
|
||||
grin_node_blurb: "區塊同步及向網路廣播你的交易。這是公開的鏈上資料,對所有人都一樣,且不與你的身份關聯。"
|
||||
how_privacy: "How your privacy works"
|
||||
how_privacy_blurb: "Payments and messages are sealed with authenticated encryption and delivered as private messages, so a relay can't read them or link a payment back to you."
|
||||
always_direct: "Always direct"
|
||||
tor_off: "Tor off"
|
||||
tor_on: "Tor on"
|
||||
tor_switch: "Route through Tor"
|
||||
tor_switch_sub: "Send your private traffic through the Tor network to hide your IP from relays."
|
||||
vpn_note: "With Tor off, relays can see your IP address. We recommend using at least a VPN."
|
||||
how_privacy: "你的隱私如何運作"
|
||||
how_privacy_blurb: "付款和訊息都用認證加密進行封裝,並以私密訊息的形式送達,因此中繼既無法讀取內容,也無法將付款關聯到你。"
|
||||
always_direct: "始終直連"
|
||||
tor_off: "Tor 已關閉"
|
||||
tor_on: "Tor 已開啟"
|
||||
tor_switch: "透過 Tor 路由"
|
||||
tor_switch_sub: "將你的私密流量透過 Tor 網路傳送,向中繼隱藏你的 IP。"
|
||||
vpn_note: "關閉 Tor 後,中繼可以看到你的 IP 位址。我們建議你至少使用 VPN。"
|
||||
pairing:
|
||||
title: "配對"
|
||||
intro: "你的餘額和金額以何種貨幣顯示。"
|
||||
@@ -809,8 +809,8 @@ goblin:
|
||||
working: "處理中…"
|
||||
onboarding:
|
||||
privacy:
|
||||
kicker: "NETWORK PRIVACY"
|
||||
continue: "Continue"
|
||||
kicker: "網路隱私"
|
||||
continue: "繼續"
|
||||
intro:
|
||||
private_money_head: "私密貨幣"
|
||||
private_money_body: "Goblin 是一個 grin 錢包 — 鏈上無金額、無地址的數字現金。"
|
||||
@@ -872,8 +872,8 @@ goblin:
|
||||
key_being_made: "正在生成金鑰…"
|
||||
connected_tor: "已透過 Tor 連線"
|
||||
connecting_tor: "正在透過 Tor 連線…"
|
||||
connected_direct: "connected (direct)"
|
||||
connecting_direct: "connecting (direct)…"
|
||||
connected_direct: "已連線(直連)"
|
||||
connecting_direct: "正在連線(直連)…"
|
||||
fresh_key_blurb: "一個不屬於助記詞的支付金鑰——可隨時輪換以保護隱私,且不影響你的資金。"
|
||||
restoring: "正在恢復你的身份…"
|
||||
clean_slate_blurb: "想要全新開始?隨時換上一個全新金鑰 — 新的你與舊的毫無關聯。同一個錢包,煥然一新。"
|
||||
|
||||
@@ -451,6 +451,11 @@ fn news_pool(wallet: &Wallet) -> Vec<NewsItem> {
|
||||
/// Traditional readers currently match the same `zh` news as Simplified),
|
||||
/// and every other locale already is a two-letter primary. Region and
|
||||
/// separator (`-`/`_`) are dropped.
|
||||
///
|
||||
/// The `zh-TW` -> `zh` fold is intentional, not a bug: Traditional-script
|
||||
/// readers get the same `zh` news feed as Simplified readers (there is no
|
||||
/// separate Traditional article pipeline). This is an accepted, low-priority
|
||||
/// gap — building a distinct Traditional news feed is out of scope here.
|
||||
fn news_locale_code() -> String {
|
||||
let loc = rust_i18n::locale().to_string().to_lowercase();
|
||||
loc.split(['-', '_']).next().unwrap_or("en").to_string()
|
||||
|
||||
+17
@@ -371,6 +371,23 @@ fn setup_i18n() {
|
||||
// sys_locale may hand back either `zh-CN` or `zh_CN`; normalize the
|
||||
// separator so a region-specific locale can match its file name.
|
||||
let normalized = locale.replace('_', "-");
|
||||
// The OS may also report Chinese by script/region subtag instead of the
|
||||
// exact file names we ship (`zh-CN`, `zh-TW`): `zh-Hans`/`zh-Hans-CN` for
|
||||
// Simplified, and `zh-Hant`/`zh-Hant-TW`/`zh-Hant-HK`/`zh-HK` for
|
||||
// Traditional (Hong Kong has no locale file of its own but uses
|
||||
// Traditional characters, same as Taiwan). Fold those onto our two
|
||||
// Chinese locale files before the exact/primary-subtag match below, so
|
||||
// e.g. a Hong Kong or generic `zh-Hant` system lands on Traditional
|
||||
// instead of falling through to the default locale.
|
||||
let lower = normalized.to_lowercase();
|
||||
let normalized = if lower == "zh-hant" || lower == "zh-hk" || lower.starts_with("zh-hant-")
|
||||
{
|
||||
String::from("zh-TW")
|
||||
} else if lower == "zh-hans" || lower.starts_with("zh-hans-") {
|
||||
String::from("zh-CN")
|
||||
} else {
|
||||
normalized
|
||||
};
|
||||
let available = rust_i18n::available_locales!();
|
||||
// Prefer an exact region match (e.g. `zh-CN`, the only CJK locale and one
|
||||
// the bare-subtag fallback could never reach), then the language subtag
|
||||
|
||||
Reference in New Issue
Block a user