{
  "tunnelSettings": {
    "title": "远程访问",
    "subtitle": "通过公网隧道，让手机 App 在外网也能连接本机网关。默认关闭以保护安全。",
    "needToken": "请先使用有效的网关访问令牌登录，再管理远程访问。",
    "riskBannerTitle": "安全提示",
    "riskBannerBody": "远程访问会把本机网关暴露到公网。仅在充分理解风险后开启。",
    "emptyStateTitle": "获取公网 HTTPS 地址",
    "emptyStateBody": "开启远程访问后，可从手机或任意网络连接此网关。",
    "publicUrlLabel": "公网地址",
    "showOptions": "更多选项",
    "hideOptions": "收起选项",
    "showAdvanced": "高级设置",
    "hideAdvanced": "收起高级设置",
    "pairWaitingForTunnel": "请先在上方开启远程访问，再在此扫描二维码配对移动 App。",
    "consentExpiredBanner": "远程访问安全说明已更新。请重新确认后再开启隧道或启用「启动时自动开启」。",
    "statusTitle": "状态",
    "loading": "正在加载隧道状态…",
    "statusConnected": "已连接",
    "statusConnecting": "连接中…",
    "statusReconnecting": "重新连接中…",
    "statusPreparingFrpc": "准备 frpc…",
    "statusRegistering": "注册隧道…",
    "statusProvisioningTls": "申请 HTTPS 证书…",
    "statusStartingFrpc": "连接 frp 服务器…",
    "statusError": "错误",
    "statusOff": "未开启",
    "frpcDownloading": "正在下载 frpc…",
    "frpcDownloadingPercent": "正在下载 frpc… {{percent}}%",
    "frpcDownloadingBytes": "正在下载 frpc… {{received}}",
    "frpcDownloadingUrlLabel": "下载地址",
    "frpcExtracting": "正在解压 frpc…",
    "startProgressTitle": "启动进度",
    "startProgressHint": "首次开启可能需要 2–4 分钟（DNS 传播 + HTTPS 证书）。DNS 验证失败会自动重试一次。公网地址会先显示，但隧道尚未完全就绪。",
    "startProgressElapsed": "当前步骤已进行 {{elapsed}}",
    "publicUrlPendingNotice": "公网地址已分配，请等待剩余步骤完成后再从外网访问。",
    "stepPrepareFrpc": "准备 frpc 客户端",
    "stepRegister": "向 Broker 注册",
    "stepRegisterDetail": "公网地址已分配，仍在申请 HTTPS 并连接 frp",
    "stepTls": "申请 HTTPS 证书",
    "stepTlsDetail": "正在为子域申请 TLS 证书",
    "stepTlsChecking": "检查已有证书",
    "stepTlsDnsChallenge": "发布 DNS 验证记录",
    "stepTlsDnsPropagation": "等待 DNS 在全球解析器生效（约 2–4 分钟）",
    "stepTlsCaValidation": "等待证书机构验证",
    "stepTlsIssuing": "签发证书中",
    "stepFrpcLogin": "连接 frpc 到 frp 服务器",
    "stepFrpcDetail": "等待 frpc 登录（最多约 60 秒）",
    "stepReconnectDetail": "frpc 中断后正在重连",
    "uptime": "运行时间",
    "lanHint": "若需同时生成局域网 + 隧道双地址 QR，请在「网关」设置中将 host 设为 0.0.0.0。",
    "pairTitle": "移动应用配对",
    "pairSubtitle": "使用移动客户端扫描后连接网关：应用会用一次性配对密钥换取访问令牌。",
    "pairTunnelActive": "远程访问已开启。二维码包含隧道地址、可用时的局域网地址，以及一次性配对密钥。",
    "pairBaseUrlLabel": "配对用的网关地址",
    "pairBaseUrlHint": "请填写手机能访问的地址（例如局域网 IP 与端口），可能与桌面浏览器当前地址不一致。",
    "pairBaseUrlPlaceholder": "http://192.168.x.x:28790",
    "pairBlockedTitle": "本机 localhost 尚无法配对",
    "pairBlockedLoopbackBody": "网关目前只监听本机（127.0.0.1），手机无法访问该地址。请先将网关暴露到局域网并使用下方 LAN 地址，或开启下方远程访问通过隧道配对。",
    "pairBlockedNextSteps": "或在下方开启远程访问，通过隧道配对。",
    "pairEnableLanButton": "开启局域网配对",
    "pairEnableLanConfirmTitle": "在局域网上暴露网关？",
    "pairEnableLanConfirmBody": "将把网关监听地址设为局域网（0.0.0.0）并重启网关。同一局域网内获得配对二维码或令牌的人可能访问你的助手。请仅在可信网络下继续。",
    "pairEnableLanEnabling": "正在开启局域网配对…",
    "pairEnableLanSecurityAuditLink": "查看网关安全审计",
    "pairSuggestedLanLabel": "本机检测到的局域网地址",
    "pairUseSuggestedUrl": "使用建议地址",
    "pairCandidatesTitle": "检测到的局域网地址",
    "pairSelectCandidateTitle": "选择局域网地址",
    "pairSelectCandidateHint": "请选择手机在本网络能访问的地址。移动应用可在配对前通过 GET /api/tunnel/pair/ping 探测连通性。",
    "pairMobileProbeHint": "移动应用：手动地址先用 POST /api/tunnel/pair/validate-url 校验，再用 GET /api/tunnel/pair/ping 探测，最后通过 POST /api/tunnel/exchange-token 用 ps 换取 token。",
    "pairQrDisabled": "在手机无法访问网关前，暂不提供可扫描的二维码。",
    "pairLocalhostWarning": "当前地址看起来像本机 localhost。局域网内的手机默认无法直连，请在网关监听局域网并改用 http://<本机局域网IP>:<端口>。",
    "pairSecurityNote": "二维码含一次性配对密钥（5 分钟有效、单次使用）。请在可信环境中展示，留意周围摄像头与他人。",
    "pairEncoding": "生成二维码中…",
    "pairImageError": "无法生成二维码，可复制配对链接。",
    "pairCopyLink": "复制配对链接",
    "pairCopied": "已复制配对链接",
    "pairSchemeHint": "应用注册的格式：xopc://gateway/mobile-connect?baseUrl=…&ps=…（通过 POST /api/tunnel/exchange-token 用 ps 换取 token）",
    "pairInvalidBaseUrl": "请输入以 http:// 或 https:// 开头的完整网关地址（无需路径）。",
    "pairTunnelPublicUrl": "隧道地址",
    "pairTunnelLanUrl": "局域网地址（已写入二维码）",
    "start": "开启远程访问",
    "stop": "断开连接",
    "release": "释放公网地址",
    "releaseHint": "在 Broker 上注销子域；下次开启将获得新的公网 URL。",
    "releaseConfirmTitle": "释放公网地址？",
    "releaseConfirmBody": "将在 frp.xopc.ai 注销隧道并清除本地凭证；再次开启远程访问时会分配新的子域。",
    "releaseConfirmLabel": "释放",
    "copyUrl": "复制公网地址",
    "copied": "已复制",
    "refreshQr": "刷新二维码",
    "optionsTitle": "选项",
    "autoStart": "网关启动时自动开启隧道",
    "autoStartHint": "需先成功开启一次远程访问并接受安全说明。",
    "autoStartConfirmTitle": "每次启动网关都开启隧道？",
    "autoStartConfirmBody": "只要网关在运行，就可能从公网访问。请确认你能接受该风险。",
    "autoStartConfirmLabel": "启用自动开启",
    "consentTitle": "开启远程访问",
    "consentIntro": "在暴露网关之前请仔细阅读：",
    "consentBullet1": "公网 URL 可能被他人用来访问你的网关 Bearer 令牌。",
    "consentBullet2": "流量经 frp.xopc.ai 转发（第三方基础设施）。",
    "consentBullet3": "请使用强令牌；不需要远程访问时请关闭隧道。",
    "consentCheckbox": "我已理解上述风险，并希望开启远程访问",
    "consentConfirm": "接受并开启",
    "consentReconfirm": "接受并继续",
    "consentCancel": "取消",
    "deeplinkTitle": "深链内容",
    "brokerNote": "流量经 frp.xopc.ai 转发，请妥善保管网关访问令牌。",
    "brokerDocsLink": "公网隧道安全文档",
    "brokerSecretTitle": "Tunnel Registration Key",
    "brokerSecretStepTitle": "步骤 1 · Tunnel Registration Key",
    "brokerSecretHint": "在 xopc Console 创建 Tunnel Registration Key，粘贴到下方并保存。密钥通过 X-Registration-Secret 向 frp.xopc.ai 注册，保存在本机 xopc.json 中。",
    "brokerSecretConsoleLink": "在 Console 创建 Tunnel Registration Key",
    "brokerSecretEnvHint": "当前通过旧版环境变量 XOPC_TUNNEL_REGISTRATION_SECRET 提供（优先级高于下方配置）。建议在 Console 创建新密钥并保存到此处后移除该环境变量。",
    "brokerSecretMaskedHelp": "密钥已保存在本机配置中。可查看、复制，或重新配置。",
    "brokerSecretPlaceholder": "粘贴 Tunnel Registration Key",
    "brokerSecretPlaceholderKeep": "粘贴新的 Tunnel Registration Key",
    "brokerSecretMissingHint": "请先在 Console 创建密钥，再粘贴到此处并保存。",
    "brokerSecretRequiredBeforeStart": "请先保存上方的 Tunnel Registration Key，再启动远程访问。",
    "brokerSecretSave": "保存密钥",
    "brokerSecretSaveAndContinue": "保存并继续",
    "brokerSecretClear": "清除已保存密钥",
    "brokerSecretSaved": "Tunnel Registration Key 已保存",
    "brokerSecretCleared": "已清除保存的 Tunnel Registration Key",
    "brokerSecretReadyTitle": "Tunnel Registration Key 已配置",
    "brokerSecretReadyHint": "可在下方启动远程访问；需要更换密钥时点击「重新配置」。",
    "brokerSecretReconfigure": "重新配置",
    "brokerSecretCancelReconfigure": "取消",
    "brokerSecretRevealFailed": "无法读取已保存的密钥",
    "brokerSecretNotInConfigFile": "密钥不在配置文件中，无法显示明文。",
    "copyKey": "复制密钥",
    "showKey": "显示密钥",
    "hideKey": "隐藏密钥",
    "flowStepStart": "步骤 2 · 启动远程访问"
  }
}
