Files
OSGKeyboard/OSGKeyboardShared/zh-Hans.lproj/Shared.strings
T
rocky 03bfbbe08b feat(account): add QR invitation poster and 8-character invitation codes
- Invite opens an appearance-matched poster with the app icon, inviter name,
  QR code, and short code; tap for a full-brightness QR view; save (add-only
  Photos access), share, or copy the link. Mac shows the poster in a popover
  and can save it as PNG.
- Accounts get look-alike-free 8-character codes. "I have a code" accepts a
  code, link, or pasted message during the server-defined binding window.
- Permanently rejected redemptions show a specific message and drop the
  stored code instead of retrying on every sign-in.
2026-10-20 20:06:36 +02:00

589 lines
34 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* Engine status labels */
"engine.summary.local" = "本地 · %@";
"engine.summary.cloud" = "当前:%@";
"engine.summary.cloudWithModel" = "当前:%1$@ · %2$@";
"engine.asr.appleSpeech" = "Apple 语音识别";
/* v0.2.0: flow-level warnings surfaced alongside the final transcript. */
"flow.warning.polishMissingAPIKey" = "请先在设置中填写 API Key 才能润色,本次已插入原始识别结果。";
"flow.warning.cloudPolishMissingKey" = "请先在设置中填写 API Key 才能润色,本次已插入原始识别结果。";
"flow.warning.localPolishUnavailable" = "请先在设置中填写 API Key 才能润色,本次已插入原始识别结果。";
"flow.warning.polishDegraded" = "弱网识别,本次未润色,已插入原始识别结果。";
"flow.warning.polishDegradedQuality" = "本次润色结果未通过校验,已插入保守处理版本。";
"flow.warning.managedInsufficientCredits" = "积分不足,本次已插入原始识别结果;请打开主 App 的「账户」页充值。";
"flow.warning.managedGrantRejected" = "托管服务授权已失效,本次已插入原始识别结果;请打开主 App 重新连接账号。";
"flow.warning.oobeFeatureAlreadyUsed" = "当前体验页面已经完成,请返回 App 继续。";
/* LLM providers */
"provider.openai" = "OpenAI";
"provider.ark" = "火山方舟 Ark";
"provider.deepseek" = "DeepSeek";
"provider.qwen" = "通义千问";
"provider.zhipu" = "智谱 GLM";
"provider.moonshot" = "月之暗面";
"provider.siliconflow" = "硅基流动";
"provider.groq" = "Groq";
"provider.minimax" = "MiniMax";
"provider.mimo" = "小米 MiMo";
"provider.openrouter" = "OpenRouter";
"provider.gemini" = "Google Gemini";
"provider.anthropic" = "Anthropic Claude";
"provider.xai" = "xAI Grok";
"provider.mistral" = "Mistral AI";
"provider.cometapi" = "CometAPI";
"provider.alibabaCoding" = "阿里 Coding";
"provider.codingPlanX" = "CodingPlanX";
"provider.volcengine" = "火山引擎 ASR";
"provider.bailian" = "百炼实时 ASR";
"provider.whisper" = "Whisper (OpenAI)";
"provider.codex_oauth" = "Codex OAuth";
"provider.custom" = "自定义";
/* LLM errors */
"error.llm.invalidURL" = "API 地址无效。请在设置中检查 Base URL。";
"error.llm.noAPIKey" = "未填写 API Key。";
"error.llm.http" = "API 返回 HTTP %lld。请稍后重试或联系服务方。";
"error.llm.decoding" = "解析 API 响应失败。";
"error.llm.transport" = "网络错误,请检查连接后重试。";
"error.llm.timeout" = "AI 请求超时,请稍后重试。";
"error.llm.rateLimited" = "API 调用过于频繁,请稍候再试。";
"error.llm.cancelled" = "请求已取消。";
/* Personal style learning errors */
"styleLearning.error.emptyRequest" = "没有可发送给 AI 的学习内容,请重新打开页面后重试。";
"styleLearning.error.timeout" = "生成风格超时。AI 需要分析较多历史记录,请稍后重试。";
"styleLearning.error.missingAPIKey" = "当前 AI 服务未配置 API Key,请前往「设置」完成配置后重试。";
"styleLearning.error.keychainLocked" = "暂时无法读取 API Key,请解锁设备后重试。";
/* ASR errors */
"error.asr.localeUnsupported" = "当前系统未分配可用语音语言模型,请稍后重试或切换语言。";
"error.asr.assetsNotReady" = "语音语言资源未就绪,请稍后重试。";
"error.asr.formatUnsupported" = "当前设备不支持该语音输入格式。";
"error.asr.noSpeech" = "未识别到语音内容,请重试。";
"error.asr.chunkFailed" = "第 %lld 段识别失败:%@";
/* Cloud ASR errors */
"error.cloudASR.noAPIKey" = "未填写 API Key。";
"error.cloudASR.invalidURL" = "云端识别接口地址无效。";
"error.cloudASR.http" = "云端识别返回 HTTP %lld。";
"error.cloudASR.httpWithMessage" = "云端识别返回 HTTP %lld:%@";
"error.cloudASR.insufficientBalance" = "账户余额不足。部分模型即使标价 ¥0,也需账户有余额才能调用,请充值后重试。";
"error.cloudASR.decoding" = "解析云端识别响应失败:%@";
"error.cloudASR.transport" = "云端识别网络错误:%@";
"error.cloudASR.emptyTranscript" = "云端识别返回了空文本。";
"error.cloudASR.audioTooLong" = "音频片段超过该云端识别服务的时长限制。";
"error.cloudASR.providerUnsupported" = "该服务商暂不支持云端语音识别。";
"error.cloudASR.timedOut" = "连接检查超时。服务商未在规定时间内响应,请检查网络、API Key 与账户余额后重试。";
"error.cloudASR.streamingNotImplemented" = "该服务商流式 ASR 失败。请检查 API Key 与网络后重试。";
/* 托管账号网关 */
"managed.error.grantUnavailable" = "托管服务尚未就绪,请打开主 App 重新连接账号。";
"managed.error.scopeNotGranted" = "托管服务缺少 %@ 权限,请打开主 App 重新连接账号。";
"managed.error.grantRejected" = "托管服务授权已失效,请打开主 App 重新连接账号。";
"managed.error.insufficientCredits" = "积分不足,请打开主 App 的「账户」页充值。";
"managed.error.oobeFeatureAlreadyUsed" = "当前体验页面已经完成,请返回 App 继续。";
"managed.error.timeout" = "托管服务请求超时,请检查网络后重试。";
"managed.error.providerUnavailable" = "积分 AI 服务暂时不可用,请稍后重试。";
"managed.error.providerRateLimited" = "积分 AI 服务当前请求较多,请稍后重试。";
"managed.error.providerTimeout" = "AI 服务响应超时,请稍后重试。";
"managed.error.providerFailure" = "AI 服务返回异常,请稍后重试。";
"managed.error.internalFailure" = "积分服务内部异常,请稍后重试。";
"managed.error.server" = "托管服务失败(%1$@,HTTP %2$lld),请稍后重试。";
"managed.asr.error.invalidConfiguration" = "托管语音设置无效,请打开主 App 重新选择服务。";
"managed.asr.error.concurrencyLimit" = "另一个托管语音会话仍在进行,请结束后重试。";
"managed.asr.error.sessionCreation" = "无法启动托管语音,请检查网络后重试。";
"managed.asr.error.transport" = "托管语音连接失败,请检查网络后重试。";
"managed.asr.error.connectTimeout" = "托管语音连接超时,请检查网络后重试。";
"managed.asr.error.idleTimeout" = "长时间未收到音频,托管语音已停止,请重新点击麦克风。";
"managed.asr.error.streaming" = "托管语音流已中断,请检查网络后重试。";
"managed.asr.error.invalidResult" = "托管语音返回结果无效,请重试。";
"managed.asr.error.batch" = "托管语音重试失败,请检查网络后重试。";
/* 服务商工具 */
"providerTools.error.invalidURL" = "模型接口地址无效。";
"providerTools.error.missingAPIKey" = "未填写 API Key。";
"providerTools.error.http" = "模型接口返回 HTTP %lld。";
"providerTools.error.empty" = "未返回可用模型。";
"providerTools.error.decoding" = "解析模型列表失败。";
"providerTools.error.transport" = "拉取模型时发生网络错误。";
/* 润色场景 */
"polishScenario.daily_chat" = "日常聊天";
"polishScenario.social_lifestyle" = "小红书";
"polishScenario.social_short" = "微博";
"polishScenario.goofy" = "逗比";
"polishScenario.work" = "工作";
"polishScenario.document" = "文档写作";
"polishScenario.todo" = "TODO 记录";
"polishScenario.custom" = "自定义";
"polishScenario.chip.daily_chat" = "聊天";
"polishScenario.chip.social_lifestyle" = "小红书";
"polishScenario.chip.social_short" = "微博";
"polishScenario.chip.goofy" = "逗比";
"polishScenario.chip.work" = "工作";
"polishScenario.chip.document" = "文档";
"polishScenario.chip.todo" = "TODO";
"polishScenario.chip.custom" = "自定义";
"polishStyle.light" = "轻度清理";
"polishStyle.structured" = "清晰结构";
"polishStyle.formal" = "正式表达";
"polishStyle.dating" = "直男癌拯救器";
"polishStyle.chat" = "日常聊天";
"polishStyle.flex" = "装逼指南";
"polishStyle.corp" = "大厂黑话";
"polishStyle.diba" = "帝吧大神";
"polishStyle.xhs" = "小红书集美";
/* 润色强度 */
"polish.intensity.light" = "轻度";
"polish.intensity.heavy" = "重度";
"polish.intensity.light.desc" = "启用完整保真与问句守卫,降低失真风险。";
"polish.intensity.heavy.desc" = "仅完成转写格式化,再执行所选趣味人格。";
/* AI 回复篇幅 */
"ai.responseLength.short" = "简短";
"ai.responseLength.medium" = "中等";
"ai.responseLength.detailed" = "详细";
/* v0.3.0: 输入场景标签 */
"appContext.code" = "代码";
"appContext.email" = "邮件";
"appContext.chat" = "聊天";
"appContext.document" = "长文";
"appContext.unknown" = "通用";
/* v0.3.0: 词库类别 */
"dict.category.properNoun" = "人名地名";
"dict.category.technical" = "技术名词";
"dict.category.acronym" = "缩写";
"dict.category.productName" = "产品名";
"dict.category.custom" = "自定义";
/* v0.3.0: 词库来源 */
"dict.source.manual" = "手动添加";
"dict.source.history" = "推荐热词";
"dict.source.contacts" = "来自通讯录";
"dict.source.recentEdit" = "来自最近编辑";
/* 键盘 UI(扩展与预览共用) */
"keyboard.tapToTalkA11y" = "点击说话";
"keyboard.translation.offMenu" = "不翻译";
"keyboard.translation.a11y" = "翻译";
"keyboard.translation.a11yHint" = "切换翻译或更改目标语言。";
/* macOS 应用 */
"mac.section.dashboard" = "首页";
"mac.section.history" = "历史";
"mac.section.dictionary" = "词库";
"mac.section.styles" = "润色风格";
"mac.styles.subtitle" = "为听写润色选择或创建完整写作人格。";
"mac.styles.add" = "添加润色风格";
"mac.styles.edit" = "编辑风格";
"mac.styles.builtin" = "内置风格";
"mac.styles.fun" = "趣味风格";
"mac.styles.custom" = "我的风格";
"mac.styles.copy" = "副本";
"mac.styles.viewPrompt" = "查看提示词";
"mac.styles.light" = "修正识别与标点,尽量少改原话。";
"mac.styles.structured" = "将多个事项整理成清晰段落与列表。";
"mac.styles.formal" = "适合邮件和工作的专业表达。";
"mac.styles.dating" = "有态度、好接,偶尔带一点巧思的恋爱聊天。";
"mac.styles.chat" = "简短自然的聊天消息,避免公文腔。";
"mac.styles.flex" = "中英夹杂的 4A / 留学装逼腔,偶尔点缀品牌格调。";
"mac.styles.corp" = "大厂开会黑话:汇报、吵架、甩锅都像那么回事。";
"mac.styles.diba" = "不脏字的逻辑碾压回复,让对方接不住。";
"mac.styles.xhs" = "姐妹向小红书笔记体:有钩子、可种草、可直接发帖。";
"mac.styles.customDescription" = "自定义完整写作人格";
"mac.styles.error" = "无法保存风格";
"mac.styles.validation" = "请检查名称、提示词长度及 8 个风格的数量上限。";
"mac.styles.name" = "风格名称";
"mac.styles.allowsAddedEmoji" = "允许按情绪添加 emoji";
"mac.styles.allowsAddedEmoji.hint" = "开启后,润色可按原文情绪点缀少量 emoji,并保留上屏。默认关闭。";
"mac.styles.prompt" = "完整提示词";
"mac.styles.hint" = "使用 {{DICTIONARY}} 指定个人词典位置;系统规则会自动追加。";
"mac.styles.learn.title" = "生成专属风格";
"mac.styles.learn.body" = "从历史听写中学习你的表达习惯,用于 iPhone 键盘的 AI 回复。";
"mac.styles.learn.progress" = "%lld / %lld 字";
"mac.styles.learn.remaining" = "还差 %lld 字";
"mac.styles.learn.ready" = "可以生成";
"mac.styles.learn.action" = "生成风格";
"mac.styles.learn.generating" = "生成中…";
"mac.styles.learn.privacy" = "仅在生成时发送给你配置的 AI,保存前可预览和修改。";
"mac.styles.learn.limit" = "请先删除一个自定义风格,再生成新风格。";
"mac.styles.learn.error.title" = "无法生成风格";
"mac.styles.learn.error.insufficient" = "请继续听写,累积到 2,500 个有效字符后再生成。";
"mac.styles.learn.error.invalidResponse" = "AI 没有返回有效的润色风格,请重试。";
"mac.styles.learn.error.promptTooLong" = "生成的 Prompt 超过 6,000 个字符,请重试。";
"mac.styles.learn.error.requestTooLarge" = "学习语料超过当前 AI 服务的请求上限,请缩短异常过长的历史记录后重试。";
"mac.styles.learn.error.request" = "无法通过当前配置的 AI 服务生成风格,请检查网络和 AI 设置后重试。";
"mac.section.settings" = "设置";
"mac.brand.subtitle" = "AI 听写";
"mac.brand.tagline" = "开口即文字。";
"mac.brand.tagline.subtitle" = "本地优先 · 跨端同步 · 一键听写";
"mac.devices" = "设备";
"mac.page.history.subtitle" = "每一次听写,按时间妥善保存。";
"mac.page.dictionary.subtitle" = "让识别更懂你的用词。";
"mac.page.settings.subtitle" = "引擎、快捷键与外观。";
"mac.status.ready" = "准备好了,随时开口…";
"mac.status.listening" = "正在聆听…";
"mac.status.transcribing" = "识别中…";
"mac.status.polishing" = "润色中…";
"mac.status.copied" = "已复制到剪贴板";
"mac.status.pasted" = "已插入前台应用";
"mac.status.copiedAndPasted" = "已复制并插入";
"mac.status.deliveryWithNote" = "%@ — %@";
"stat.dictationTime" = "听写时长";
"stat.words" = "听写字数";
"stat.translation" = "翻译字数";
"stat.dictionary" = "词库";
"stat.cumulativeDuration" = "累计时长";
"stat.transcribed" = "累计转写";
"stat.cumulativeTranslation" = "累计翻译";
"stat.customTerms" = "自定义词条";
"stat.weekChart.title" = "近 7 天";
"stat.weekChart.caption" = "听写字数";
"stat.weekChart.empty" = "本周还没有听写记录";
"stat.monthChart.caption" = "本月听写字数";
"mac.status.chipReady" = "就绪";
"mac.status.chipProcessing" = "处理中";
"mac.overlay.listening" = "聆听中";
"mac.overlay.preparing" = "启动中…";
"mac.overlay.transcribing" = "识别中";
"mac.overlay.polishing" = "润色中";
"mac.overlay.live" = "实时";
"mac.overlay.done" = "已完成";
"mac.overlay.dragHint" = "拖动可移动位置,双击恢复默认";
"mac.record.start" = "开始录音";
"mac.record.stop" = "停止";
"mac.record.pressStop" = "点击停止";
"mac.copy" = "复制";
"mac.openWindow" = "打开主窗口";
"mac.quit" = "退出";
"mac.mode.cloud" = "云端模式";
"mac.mode.local" = "本地模式";
"mac.connected" = "已连接";
"mac.offline" = "离线";
"mac.history.empty" = "还没有听写记录";
"mac.history.emptyBody" = "在任意应用按住 Option 开口说话,记录会出现在这里。";
"mac.history.select" = "选择一条记录";
"mac.history.clearTitle" = "清空全部历史?";
"mac.history.clearMessage" = "此操作无法撤销。";
"mac.history.clearConfirm" = "全部清空";
"mac.history.clearDayTitle" = "删除这一天的记录?";
"mac.history.clearDayMessage" = "将删除该日全部语音记录,此操作无法撤销。";
"mac.history.clearDayConfirm" = "删除当天";
"mac.history.clearDayButton" = "删除当天历史";
"mac.dict.health" = "词库健康度";
"mac.dict.healthDesc" = "影响识别偏置且润色时不会被改写的自定义词条。";
"mac.dict.add" = "添加个性词";
"mac.dict.addField" = "词语或短语";
"mac.dict.addFooter" = "保存后将自动生成常见的语音误识别别名。";
"mac.dict.aliasesGenerating" = "正在生成别名…";
"mac.dict.search" = "搜索词条";
"mac.dict.empty" = "还没有词条";
"mac.dict.emptyBody" = "添加个性词以提升识别准确性,它们会通过 iCloud 在设备间同步。";
"mac.dict.noMatch" = "无匹配结果";
"mac.cancel" = "取消";
"mac.save" = "保存";
"mac.done" = "完成";
"mac.delete" = "删除";
"mac.dict.deleteTitle" = "删除该词条?";
"mac.dict.deleteMessage" = "此操作无法撤销。";
"mac.settings.cloudProvider" = "云端服务商";
"mac.settings.polishProvider" = "文本润色(LLM)";
"mac.settings.asrProvider" = "语音转写(ASR)";
"mac.settings.asrService" = "转写服务";
"mac.settings.asrApiKey" = "转写 API 密钥";
"mac.settings.asrModel" = "转写模型";
"mac.settings.baseURL" = "接口地址";
"mac.settings.service" = "服务商";
"mac.settings.apiKey" = "API 密钥";
"mac.settings.model" = "模型";
"mac.settings.modelFetchHint" = "填写 API Key 后拉取模型。";
"mac.settings.connectionCheck" = "连接检查";
"mac.settings.validate" = "验证";
"mac.settings.fetchModels" = "拉取模型";
"mac.settings.validating" = "正在验证…";
"mac.settings.validateSuccess" = "成功 · 重试";
"mac.settings.validateFailure" = "失败 · 重试";
"mac.settings.loadingModels" = "正在拉取模型…";
"mac.settings.modelsLoaded" = "已拉取 %lld 个模型。";
"mac.settings.selectModel" = "选择模型";
"mac.settings.modelSelected" = "已选择 %@";
"mac.settings.modelsEmptyHint" = "先点右侧刷新拉取模型";
"mac.settings.thinking" = "思考";
"mac.settings.thinkingSubtitle" = "速度更慢、质量更高,建议关闭";
"mac.settings.thinkingHint" = "默认关闭。仅在需要更慢、更深的推理时开启。";
"mac.settings.translation" = "润色后翻译";
"mac.settings.translationOff" = "不翻译";
"mac.settings.volcengineAppId" = "APP ID";
"mac.settings.volcengineAccessToken" = "Access Token";
"mac.settings.volcengineApiKey" = "API Key";
"mac.settings.volcengineApiKeyMode" = "使用新版 API Key";
"mac.settings.volcengineApiKeyModeSubtitle" = "新控制台用 API Key;旧版请关闭并用 APP ID + Token。";
"mac.settings.volcengineNoteAppToken" = "旧版控制台:填写 APP ID 与 Access Token。Secret Key 无需填写。识别资源固定为豆包流式 2.0(volc.seedasr.sauc.duration)。";
"mac.settings.volcengineNoteApiKey" = "新版控制台:只需填写 API Key。识别资源固定为豆包流式 2.0(volc.seedasr.sauc.duration)。";
"mac.settings.recognition" = "识别方式";
"mac.settings.cloudEngine" = "云端引擎与 AI 润色";
"mac.settings.cloudEngineDesc" = "通过服务商 API 进行高质量转写,并自动润色语法与风格。";
"mac.settings.localEngine" = "本地识别";
"mac.settings.localEngineDesc" = "在本机使用本地模型转写,高隐私、低延迟。";
"mac.settings.localSpeechFallback" = "本地识别(Apple Speech)";
"mac.settings.localSpeechFallbackDesc" = "未安装 Qwen3 模型时,使用 Apple 本地语音识别。";
"mac.settings.about" = "关于";
"mac.settings.version" = "版本";
"mac.settings.privacyPolicy" = "隐私政策";
"mac.settings.thirdPartyLicenses" = "第三方许可";
"mac.settings.licenses.footer" = "以下为 OSGKeyboard 使用的开源组件。许可正文摘自上游仓库;模型权重在运行时下载并缓存在本机。OSGKeyboard 本身采用源码可见许可,商业授权请联系 rocky.hk@gmail.com。";
"mac.settings.restartOnboarding" = "重新开始首次引导";
"mac.settings.general" = "通用";
"mac.settings.input" = "输入与快捷键";
"mac.settings.recognitionLanguage" = "识别语言";
"mac.settings.interfaceLanguage" = "界面语言";
"mac.settings.autoPaste" = "听写后自动粘贴";
"mac.settings.autoPasteDesc" = "转写完成后向前台应用模拟 ⌘V(需辅助功能权限)。";
"mac.settings.hotkey" = "全局快捷键";
"mac.settings.hotkeyDesc" = "按住 Option (⌥) 键即可从任意应用开始听写。";
"mac.settings.hotkeyTrigger" = "快捷键按键";
"mac.settings.hotkeyTriggerDesc" = "按住哪个 Option (⌥) 键开始听写。";
"mac.hotkeyTrigger.rightOption" = "右 Option (⌥)";
"mac.hotkeyTrigger.leftOption" = "左 Option (⌥)";
"mac.hotkeyTrigger.eitherOption" = "任一 Option 键";
"mac.hint.hold.rightOption" = "长按右 Option(⌥)开始听写";
"mac.hint.hold.leftOption" = "长按左 Option(⌥)开始听写";
"mac.hint.hold.eitherOption" = "长按任一 Option(⌥)开始听写";
"mac.hint.holdOption" = "长按 Option 开始听写";
"mac.hint.holdOption.compact" = "按住 Option";
"mac.settings.qwen3Model" = "Qwen3 模型目录";
"mac.settings.qwen3ModelDesc" = "需包含 config.json、model.safetensors、vocab.json 与 merges.txt。";
"mac.settings.qwen3Browse" = "选择文件夹…";
"mac.settings.qwen3Missing" = "未找到 Qwen3 模型,暂时使用 Apple Speech。";
"mac.settings.mlxModelMissing" = "请在下方选择 Qwen3 MLX 模型目录,或改用其他已安装的模型。";
"mac.settings.selectedModelMissing" = "「%@」尚未安装,暂时使用 Apple Speech。";
"mac.settings.localModelFallbackApple" = "没有可用的本地模型,暂时使用 Apple Speech。";
"mac.settings.accessibility" = "辅助功能权限";
"mac.settings.accessibilityDesc" = "全局快捷键与自动粘贴需要此权限。";
"mac.settings.openAccessibility" = "打开系统设置";
"mac.settings.appearance" = "外观";
"mac.settings.appearanceDesc" = "跟随系统,或强制使用浅色 / 深色。";
"mac.appearance.system" = "跟随系统";
"mac.appearance.light" = "浅色";
"mac.appearance.dark" = "深色";
"mac.onboarding.progress" = "第 %lld 步,共 %lld 步";
"mac.onboarding.back" = "上一步";
"mac.onboarding.next" = "下一步";
"mac.onboarding.finish" = "完成";
"mac.onboarding.skipForNow" = "暂时跳过";
"mac.onboarding.welcome.title" = "开口即文字。";
"mac.onboarding.welcome.subtitle" = "用一分钟完成听写基础配置。这里的选项之后都可以在设置里修改。";
"mac.onboarding.welcome.privacy" = "除非你选择云端服务商,语音会优先留在本机处理。";
"mac.onboarding.welcome.hotkey" = "按住 Option 键即可在任意应用开始听写。";
"mac.onboarding.welcome.local" = "Sherpa 本地识别可以现在准备,也可以稍后下载。";
"mac.onboarding.microphone.title" = "允许麦克风访问";
"mac.onboarding.microphone.subtitle" = "OSGKeyboard 需要麦克风来录制你的听写音频。";
"mac.onboarding.microphone.allow" = "允许麦克风";
"mac.onboarding.microphone.granted" = "麦克风权限已授权。";
"mac.onboarding.microphone.needed" = "录音需要麦克风权限。";
"mac.onboarding.accessibility.title" = "开启辅助功能";
"mac.onboarding.accessibility.subtitle" = "辅助功能用于全局快捷键和向前台应用粘贴文本。你可以先跳过,之后再授权。";
"mac.onboarding.accessibility.open" = "打开系统设置";
"mac.onboarding.accessibility.granted" = "辅助功能权限已授权。";
"mac.onboarding.accessibility.needed" = "尚未开启辅助功能权限。";
"mac.onboarding.engine.title" = "选择识别方式";
"mac.onboarding.engine.subtitle" = "默认可用本地识别以保护隐私,也可以配置自己的云端 API。";
"mac.onboarding.engine.localDesc" = "使用 Sherpa 本地模型进行私密转写;模型未安装前会回退到 Apple 语音识别。";
"mac.onboarding.engine.cloudDesc" = "使用你的 API Key 进行云端语音识别和 AI 润色。";
"mac.onboarding.cloud.title" = "配置语音识别服务";
"mac.onboarding.cloud.subtitle" = "选择云端语音识别服务商并填写密钥。此步骤可跳过,之后可在设置中补齐。";
"mac.onboarding.cloud.skipHint" = "可以先留空并完成引导;云端模式使用前会提示需要 API Key。";
"mac.onboarding.polish.title" = "配置润色服务";
"mac.onboarding.polish.subtitle" = "选择用于润色、翻译和 AI 问答的大模型服务商。此步骤可跳过,之后可在设置中补齐。";
"mac.onboarding.polish.skipHint" = "可以先留空并完成引导;使用润色前会提示需要 API Key。";
"mac.onboarding.model.title" = "准备本地识别";
"mac.onboarding.model.subtitle" = "现在下载基础 Sherpa runtime 和默认模型,或先跳过并使用 Apple Speech 兜底。";
"mac.onboarding.model.download" = "下载默认模型";
"mac.onboarding.model.done" = "本地模型已准备好。";
"mac.onboarding.model.skipHint" = "跳过不会影响使用:设置页保留同样的下载入口。";
"mac.onboarding.popover.title" = "完成首次配置";
"mac.onboarding.popover.subtitle" = "打开主窗口选择权限、API 设置和本地模型下载。";
"mac.error.noAudio" = "没有捕获到音频";
"mac.error.noCloudASR" = "当前服务商不支持云端语音识别";
"mac.error.emptyTranscript" = "没有识别到语音";
"mac.error.qwen3ModelMissing" = "未安装 Qwen3-ASR 模型";
"mac.error.qwen3LoadFailed" = "Qwen3 模型加载失败:%@";
"mac.error.qwen3InferenceFailed" = "Qwen3 转写失败:%@";
"mac.localASR.models" = "本地 ASR 引擎与模型";
"mac.localASR.modelsDesc" = "模型可直接下载。中国大陆优先 hf-mirror 镜像,其他地区优先 Hugging Face 官方;下载中断会自动断点续传并在镜像间回退。";
"mac.localASR.downloadSource" = "下载源";
"mac.localASR.downloadSource.auto" = "自动(按地区)";
"mac.localASR.downloadSource.hfMirror" = "hf-mirror(中国大陆推荐)";
"mac.localASR.downloadSource.huggingface" = "Hugging Face 官方";
"mac.localASR.download" = "下载";
"mac.localASR.selectFolder" = "选择目录";
"mac.localASR.openFolder" = "打开目录";
"mac.localASR.pause" = "暂停";
"mac.localASR.resume" = "继续";
"mac.localASR.needsFolder" = "需选择目录";
"mac.localASR.installDone" = "安装完成。";
"mac.localASR.installed" = "已安装";
"mac.localASR.notInstalled" = "未安装";
"mac.localASR.personalDictionaryTag" = "个性词库";
"mac.localASR.badge.fastest" = "速度最快";
"mac.localASR.badge.balanced" = "最平衡";
"mac.localASR.badge.quality" = "质量最好";
"mac.localASR.hotwordsYes" = "支持热词";
"mac.localASR.hotwordsNo" = "无热词";
"mac.localASR.catalogMissing" = "应用包内缺少本地 ASR 模型目录。";
"mac.localASR.diagnostics" = "最近一次词库诊断";
"mac.localASR.diagnosticsDesc" = "在上一轮本地听写后记录。";
"mac.localASR.diagEmpty" = "尚无本地听写记录。";
"mac.localASR.diagBackend" = "后端";
"mac.localASR.diagUserTerms" = "用户词条";
"mac.localASR.diagBuiltinTerms" = "内置词条";
"mac.localASR.diagHotwords" = "热词数量";
"mac.localASR.diagPrompt" = "Prompt 字符";
"mac.localASR.diagTruncated" = "Prompt 已截断";
"mac.localASR.delete" = "删除";
"mac.localASR.deleteDone" = "模型已删除。";
"mac.localASR.redownload" = "重新下载";
"mac.localASR.revealInFinder" = "在 Finder 中显示";
"mac.localASR.openStorage" = "打开模型存储目录";
"mac.localASR.runtime" = "本地识别运行时";
"mac.localASR.runtimeDesc" = "下载上述模型时会自动安装;Qwen3 与 SenseVoice 等模型需要此组件。";
"mac.localASR.phase.downloading" = "下载中";
"mac.localASR.phase.paused" = "已暂停";
"mac.localASR.phase.extracting" = "解压中";
"mac.localASR.phase.validating" = "校验中";
"mac.localASR.phase.finalizing" = "完成安装";
"mac.localASR.phase.failed" = "失败";
"mac.localASR.phase.completed" = "已完成";
"mac.error.accessibilityRequired" = "识别结果已复制到剪贴板,请按 ⌘V 粘贴,然后在系统设置中为 OSGKeyboard 启用辅助功能。";
"mac.foregroundApp" = "前台应用:%@";
"mac.sync.settingsTitle" = "跨设备iCloud 同步";
"mac.sync.settingsSubtitle" = "通过 iCloud 跨设备同步设置、历史记录、API Key";
"mac.sync.syncNow" = "立即同步";
"mac.sync.dictTitle" = "个人词库 iCloud 同步";
"mac.sync.dictSubtitle" = "在所有设备间同步个人词库。";
"mac.sync.error.generic" = "无法与 iCloud 同步,请稍后重试。";
"mac.sync.error.dictTooLarge" = "词库过大,无法通过 iCloud 同步。";
"settings.appLanguage.auto" = "自动";
"settings.appLanguage.english" = "英文";
"settings.appLanguage.chinese" = "中文";
/* Account — Mac account page (Sign in with Apple, credits, invitation link).
The account.* / account.referral.* keys below mirror the iOS app bundle so
the shared AccountSessionCoordinator error keys resolve on macOS too. */
"mac.section.account" = "账户";
"mac.account.restoring" = "正在恢复登录状态…";
"mac.account.signedOut.title" = "尚未登录";
"mac.account.signedOut.body" = "通过 Apple 登录,即可在这台 Mac 上使用积分余额并获取你的邀请链接。";
"mac.account.signedOut.footnote" = "积分在 iPhone 或网页购买,所有设备共用同一余额。";
"mac.account.signIn.loading" = "正在登录…";
"mac.account.profile.unnamed" = "Apple 账户";
"mac.account.profile.accountID" = "账户 %@";
"mac.account.signOut" = "退出登录";
"mac.account.credits.title" = "积分";
"mac.account.credits.balance" = "余额";
"mac.account.credits.used" = "已使用";
"mac.account.credits.loading" = "正在加载余额…";
"mac.account.credits.refresh" = "刷新";
"mac.account.credits.purchaseNote" = "macOS 端不支持购买。请在 iPhone 或网页购买积分,余额通用。";
"mac.account.invite.title" = "邀请";
"mac.account.invite.link" = "你的邀请链接";
"mac.account.invite.copy" = "复制";
"mac.account.invite.copied" = "已复制";
"mac.account.invite.loading" = "正在加载邀请链接…";
"mac.account.invite.retry" = "重试";
"mac.account.invite.rewarded" = "已奖励邀请";
"mac.account.invite.pending" = "待生效邀请";
"mac.account.invite.footnote" = "受邀好友达成条件后,双方都可获得积分。";
"mac.account.invite.qr" = "二维码";
"mac.account.invite.qrHint" = "用手机扫码,或保存海报发给好友。";
"mac.account.invite.savePoster" = "保存海报…";
"mac.account.invite.saveFailed" = "海报保存失败。";
"invite.poster.slogan" = "你的 AI 嘴替";
"invite.poster.hint" = "扫一扫 · 下载体验领积分";
"invite.poster.defaultInviter" = "OSG 用户";
"invite.poster.inviter" = "%@ 邀你体验\nOSG AI 输入法";
"invite.poster.scan" = "扫码下载,输入邀请码获取积分";
"invite.poster.code" = "邀请码:%@";
"mac.account.delete.title" = "注销账号";
"mac.account.delete.body" = "注销会删除你的账号及剩余积分,且无法撤销。";
"mac.account.delete.action" = "注销账号…";
"mac.account.delete.confirmBody" = "请通过 Apple 确认,以永久删除账号及剩余积分。";
"mac.account.delete.cancel" = "取消";
"mac.account.error.title" = "账户";
"mac.account.error.dismiss" = "好";
"account.error.appleAuthorization" = "未能完成 Apple 授权。";
"account.error.appleReauthenticationRequired" = "为继续保护账号,请重新通过 Apple 登录。";
"account.error.delete" = "无法注销账号。";
"account.error.load" = "无法加载账号详情。";
"account.error.managedGateway" = "无法准备托管服务。";
"account.error.redeemReferral" = "邀请已暂存,但暂时无法兑换。";
"account.error.restore" = "无法恢复账号会话。";
"account.error.sessionExpired" = "登录状态已过期,请重新登录后继续。";
"account.error.signIn" = "登录失败,请重试。";
"account.error.signOut" = "退出失败,请重试。";
"account.error.unavailable" = "当前构建尚未接入账号服务。";
"account.error.updateProfile" = "无法更新个人资料。";
"account.referral.error.conflict" = "邀请链接暂时不可用。";
"account.referral.error.load" = "无法加载邀请链接。";
"account.referral.error.network" = "请检查网络连接后重试。";
"account.referral.error.notFound" = "邀请链接暂不可用。";
"account.referral.error.session" = "请重新登录后加载邀请链接。";
"account.referral.error.unavailable" = "邀请服务暂时不可用。";
"account.referral.redeem.error.invalid" = "邀请链接无效,或活动已结束。";
"account.referral.redeem.error.expired" = "这个账号已超过补填邀请的期限。";
"account.referral.redeem.error.self" = "不能使用自己的邀请。";
"account.referral.redeem.error.alreadyBound" = "这个账号已经接受过其他好友的邀请。";
"account.referral.redeem.error.ineligible" = "这个账号暂时不能接受该邀请。";
/* 输入法引擎错误 */
"error.rime.appGroupUnavailable" = "App Group 不可用。";
"error.rime.bundledResourceMissing" = "缺少输入法资源:%@";
"error.rime.lockUnavailable" = "输入法资源正在被其他进程更新。";
"error.rime.deploymentFailed" = "输入法资源部署失败。";
"error.rime.resourcesNotInstalled" = "请先打开 OSGKeyboard 完成输入法初始化。";
"error.rime.hostAppRequired" = "输入法资源只能由 OSGKeyboard 主应用部署。";
"error.rime.schemaUnavailable" = "输入方案不可用:%@";
/* 文本润色错误 */
"error.polish.noTranscript" = "没有可润色的文本。";
"error.polish.timeout" = "大模型润色超时。";
"error.polish.missingAPIKey" = "缺少 API 密钥——请先在设置中填写后再使用润色。";
"error.polish.keychainLocked" = "设备锁定期间无法读取 API 密钥——解锁后即可使用。";
/* 本地识别模型错误 */
"error.localASR.downloadFailed" = "下载失败:%@";
"error.localASR.extractFailed" = "解压失败:%@";
"error.localASR.validationFailed" = "校验失败:%@";
"error.localASR.runtimeMissing" = "尚未安装 Sherpa 运行时。";
"error.localASR.binaryMissing" = "运行时包中找不到 Sherpa 可执行文件。";
"error.localASR.missingBundledCatalog" = "缺少内置的本地识别模型清单。";
"error.localASR.modelNotFound" = "找不到本地识别模型:%@";
/* 账户服务错误 */
"error.account.refreshTokenReuse" = "检测到刷新令牌被重复使用,会话已被吊销。";
"error.account.transport" = "无法连接账户服务。";
"error.account.invalidResponse" = "账户服务返回了无效响应。";
"error.account.decoding" = "无法解析账户服务的响应。";
"error.account.secureStorage" = "无法安全保存账户会话。";
"error.account.sessionUnavailable" = "当前没有可用的账户会话。";
"error.account.appleAuthorization" = "“通过 Apple 登录”未返回有效凭据。";
"error.account.integrityUnavailable" = "设备完整性验证不可用。";
/* 自定义语言模型错误 */
"error.clm.missingManifest" = "缺少内置的自定义语言模型清单。";
"error.clm.missingTrainingAsset" = "缺少内置的自定义语言模型训练资源。";
"error.clm.missingAppGroupContainer" = "准备自定义语言模型时 App Group 容器不可用。";
"error.clm.missingPreparedArtifacts" = "自定义语言模型准备未生成 LM/Vocab 产物。";
"error.clm.retryBudgetExhausted" = "自定义语言模型准备的重试次数已用尽。";
/* macOS 专有错误与状态 */
"mac.error.speechDenied" = "语音识别权限被拒绝。";
"mac.error.converterUnavailable" = "无法初始化音频转换器。";
"mac.error.microphoneAccessDenied" = "麦克风权限被拒绝——请在「系统设置 → 隐私与安全性 → 麦克风」中启用。";
"mac.accessibility.status.granted" = "已授权";
"mac.accessibility.status.needed" = "未授权";