aboutsummaryrefslogtreecommitdiffstats
path: root/src/locales/zh.json
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-06-24 08:59:31 -0700
committerAdam Soltys <[email protected]>2026-06-24 08:59:31 -0700
commit17acf5ec80a0c0b0acc44a6a8373e154c68d4748 (patch)
treea3fb56b85cc9cd21962ed64b084294096948d75b /src/locales/zh.json
parentf59cca61111f38963099190bdbbce9a76bc3fafe (diff)
downloadcoinosv3-17acf5ec80a0c0b0acc44a6a8373e154c68d4748.tar.gz
coinosv3-17acf5ec80a0c0b0acc44a6a8373e154c68d4748.zip
Split translations into per-language files, lazy-loaded
Only English is bundled in index.html now; the other 19 languages are emitted as dist/locales/<code>.json and fetched on demand when a visitor actually uses one (via auto-detect, the picker, or ?lang=xx). This drops index.html from ~511KB to ~318KB; a non-English visitor fetches just their one ~8-10KB locale, which the service worker then caches for offline use. t() falls back to English until a locale resolves. - i18n.js keeps only en + a loadLocale() fetcher; locale data moved to src/locales/*.json. - build.js emits dist/locales/; dev.js serves /locales/<code>.json. - Deploy hook publishes the locales/ subdir. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Diffstat (limited to 'src/locales/zh.json')
-rw-r--r--src/locales/zh.json145
1 files changed, 145 insertions, 0 deletions
diff --git a/src/locales/zh.json b/src/locales/zh.json
new file mode 100644
index 0000000..c26db60
--- /dev/null
+++ b/src/locales/zh.json
@@ -0,0 +1,145 @@
+{
+ "passphrase": "口令",
+ "howItWorks": "工作原理",
+ "installApp": "安装应用",
+ "hiwBasicsTitle": "基础知识",
+ "hiwBasics1": "创建钱包时,页面会生成十二个随机单词。这些单词就是你钱包的钥匙。任何拥有它们的人都能花掉你的币,所以请把它们抄写在纸上,妥善保存在只有你能拿到的地方。",
+ "hiwBasics2": "如果你丢失了这十二个单词且没有备份,币就永远找不回来了。没有重置链接,也没有人可以求助,所以在存入资金前请先备份好它们。",
+ "hiwBasics3": "这里没有服务器,也没有账户。整个应用就是一个在你浏览器中运行的单一页面,因此没有人保管你的币,服务器上也不会有任何东西看到你的密钥。为了显示你的余额和历史记录,它会从公共区块浏览器读取数据(默认使用 mempool.space,或者你在设置中配置的自己的节点)。",
+ "hiwBasics4": "你甚至可以保存此页面,在完全没有网络的情况下直接从电脑打开它。它在离线状态下依然有效。",
+ "hiwBasics5": "它遵循通用的比特币标准(12 个单词的 BIP39 助记词和 BIP84 原生 SegWit 密钥),所以即使本站有一天消失了,你也可以在 Sparrow、Electrum 或任何其他标准钱包中恢复同样的助记词,你的币就在那里。",
+ "hiwTribute": "Hal Wallet 这个名字是为了致敬传奇密码朋克和比特币先驱 Hal Finney(1956–2014)。",
+ "signExport": "签名并(在别处广播)",
+ "scanQr": "扫描二维码",
+ "scanHint": "将摄像头对准 QR 码",
+ "scanNoCamera": "无法访问摄像头。",
+ "scanNoDecoder": "QR 扫描首次使用时需要联网。",
+ "scanUnrecognized": "无法从该 QR 码中读取比特币地址。",
+ "broadcastScanned": "广播交易?",
+ "broadcastNow": "广播",
+ "scanOffline": "你已离线——请重新连接以广播此交易。",
+ "loadingHistory": "正在加载交易…",
+ "explorer": "区块浏览器",
+ "explorerDesc": "本钱包用于查询余额和历史记录的服务器。将其指向你自己的节点以获得最高的隐私性。",
+ "explorerUrl": "服务器 URL",
+ "explorerUrlHint": "Esplora / electrs REST 基础地址,例如 https://mempool.space/api",
+ "deviceSync": "设备同步",
+ "deviceSyncDesc": "通过在 Nostr 中继上存储加密副本,让此钱包在你的各设备间保持同步——只有拥有你种子的设备才能读取它。关闭它可将所有内容仅保留在本设备上。",
+ "syncAcross": "跨设备同步",
+ "syncOn": "开",
+ "syncOff": "关",
+ "relaysLabel": "中继",
+ "relaysHint": "每行一个 wss:// URL。",
+ "home": "首页",
+ "logout": "退出",
+ "createNew": "新建",
+ "importExisting": "导入已有",
+ "genIntro": "生成一组新的 12 词助记词。请抄写下来。这是恢复钱包的唯一方式。",
+ "generateSeed": "生成助记词",
+ "writeDownWarn": "⚠ 请按顺序将这 12 个词抄在纸上。任何拿到它们的人都能花掉你的币。",
+ "copyPhrase": "复制助记词",
+ "regenerate": "重新生成",
+ "verifyBackup": "验证备份",
+ "skipVerification": "跳过验证",
+ "confirmBackupIntro": "请输入指定的词以确认你的备份。",
+ "wordN": "第 {n} 个词",
+ "reenterPassphrase": "再次输入密码短语",
+ "back": "← 返回",
+ "openWallet": "打开钱包",
+ "wordsMismatch": "这些词与你的助记词不符。请检查备份。",
+ "passphraseMismatch": "该密码短语与你输入的不符。",
+ "seedPhrase": "助记词",
+ "seedPlaceholder": "输入助记词,用空格分隔",
+ "optionalPassphrase": "可选密码短语",
+ "leaveBlank": "不使用请留空",
+ "show": "显示",
+ "hide": "隐藏",
+ "invalidSeed": "助记词无效——请检查拼写和顺序。",
+ "keysNote": "密钥永不离开你的浏览器。可完全离线使用。保存此页面并从本地打开。",
+ "balance": "余额",
+ "pending": "待确认",
+ "tabReceive": "接收",
+ "tabSend": "发送",
+ "tabHistory": "历史",
+ "tabSettings": "设置",
+ "copyAddress": "复制地址",
+ "paymentReceived": "已收到付款!",
+ "tapToProceed": "点击任意处继续",
+ "recipient": "收款人",
+ "recipients": "收款人",
+ "max": "全部",
+ "feeRate": "费率",
+ "feeEconomy": "经济",
+ "feeNormal": "普通",
+ "feePriority": "优先",
+ "feeCustom": "自定义",
+ "selectedRate": "所选费率:{n} sat/vB",
+ "coinSelection": "选币",
+ "automatic": "自动",
+ "manual": "手动",
+ "noCoins": "没有可用的币。",
+ "nSelected": "已选 {n}",
+ "addRecipient": "+ 添加收款人",
+ "reviewTx": "检查交易",
+ "remove": "移除",
+ "enterRecipientAddr": "请输入收款地址。",
+ "enterAddrForN": "请输入收款人 {n} 的地址。",
+ "enterValidAmtForN": "请输入收款人 {n} 的有效金额。",
+ "selectCoin": "请至少选择一枚币来花费。",
+ "networkFee": "网络手续费",
+ "offlineSignNote": "离线:现在签名,然后在联网设备上广播该交易。",
+ "signBroadcast": "签名并广播",
+ "signTx": "签名交易",
+ "broadcastFailed": "广播失败:{msg}",
+ "signingFailed": "签名失败:{msg}",
+ "done": "完成",
+ "txSignedNote": "✓ 交易已签名。请在任意联网设备上广播下方的代码(例如 mempool.space → Broadcast)。",
+ "transactionId": "交易 ID",
+ "signedTxRaw": "已签名交易(代码)",
+ "copyHex": "复制代码",
+ "downloadLabel": "下载",
+ "showQrAirgap": "显示二维码(用于离线传输)",
+ "txBroadcast": "✓ 交易已广播!",
+ "copyTxid": "复制交易 ID",
+ "viewOnMempool": "在 mempool.space 查看 ↗",
+ "noTxYet": "暂无交易。",
+ "received": "已收到",
+ "sent": "已发送",
+ "pendingTag": "⏳ 待确认",
+ "awaitingConfirmation": "等待确认",
+ "feeShort": "手续费 {x}",
+ "historyOffline": "离线模式下无法查看历史。",
+ "status": "状态",
+ "confirmed": "已确认",
+ "confirmedTag": "已确认",
+ "pendingInMempool": "待确认(在内存池)",
+ "block": "区块",
+ "date": "日期",
+ "copyId": "复制 ID",
+ "backToHistory": "← 返回历史",
+ "recoveryPhrase": "恢复助记词",
+ "recoveryWarn": "⚠ 任何看到这些词的人都能盗走你的资金。显示前请确保无人窥视。",
+ "bip39Passphrase": "密码短语",
+ "copyPassphrase": "复制密码短语",
+ "revealRecovery": "显示恢复助记词",
+ "offlineTransfer": "离线传输",
+ "offlineTransferDesc": "在联网设备上导出你的币,然后在离线设备上(使用此钱包和助记词)导入文件,即可离线签名。",
+ "exportSnapshot": "⤓ 导出快照",
+ "importSnapshot": "导入快照…",
+ "rescan": "重新扫描",
+ "rescanDesc": "当前地址会自动更新。仅当付款发到旧(重复使用)地址且未显示时才需重新扫描。",
+ "rescanWallet": "重新扫描钱包",
+ "scanning": "扫描中…",
+ "language": "语言",
+ "offlineBanner": "无法连接网络——离线工作。请在“设置”中导入快照以加载币。",
+ "retry": "重试",
+ "copied": "已复制",
+ "snapshotExported": "快照已导出",
+ "importedNCoins": "已导入 {n} 枚币",
+ "unmatchedSuffix": " · {n} 个地址不属于此钱包",
+ "importFailed": "导入失败:{msg}",
+ "copy": "复制",
+ "switchUnit": "切换 BTC / sats",
+ "footerMadeBy": "制作者",
+ "footerSourceOn": "源代码见"
+} \ No newline at end of file