537a68552a
Reduce perceived latency from key release to final text: - Adaptive chunking: 2.5s first chunk + 5s follow-ups so short utterances start on-device recognition while still recording. - Session-level ASR warmup and audio-format cache reuse to remove per-utterance cold-start of SpeechAnalyzer. - Mirror live pipelined partials to the keyboard transcript line via a new flow.transcriptionPartial App Group key + Darwin ping. Also commits the accumulated custom language model, Flow session, keyboard extension restructure, and Xiaomi MiMo provider work in progress on this branch.
90 lines
3.8 KiB
Plaintext
90 lines
3.8 KiB
Plaintext
/* 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.cloudPolishMissingKey" = "云端润色需要先在设置中填写 API Key,本次已插入原始识别结果。";
|
|
"flow.warning.localPolishUnavailable" = "内置润色暂不可用,本次已插入原始识别结果。";
|
|
|
|
/* LLM providers */
|
|
"provider.openai" = "OpenAI";
|
|
"provider.deepseek" = "DeepSeek";
|
|
"provider.qwen" = "通义千问";
|
|
"provider.zhipu" = "智谱 GLM";
|
|
"provider.moonshot" = "月之暗面";
|
|
"provider.mimo" = "小米 MiMo";
|
|
"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.rateLimited" = "API 调用过于频繁,请稍候再试。";
|
|
"error.llm.cancelled" = "请求已取消。";
|
|
|
|
/* ASR errors */
|
|
"error.asr.localeUnsupported" = "当前系统未分配可用语音语言模型,请稍后重试或切换语言。";
|
|
"error.asr.assetsNotReady" = "语音语言资源未就绪,请稍后重试。";
|
|
"error.asr.formatUnsupported" = "当前设备不支持该语音输入格式。";
|
|
"error.asr.noSpeech" = "未识别到语音内容,请重试。";
|
|
"error.asr.chunkFailed" = "第 %lld 段识别失败:%@";
|
|
|
|
/* 润色场景 */
|
|
"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" = "自定义";
|
|
|
|
/* v0.3.0: 润色档位 */
|
|
"polish.intensity.off" = "关闭";
|
|
"polish.intensity.light" = "轻度";
|
|
"polish.intensity.medium" = "中度";
|
|
"polish.intensity.heavy" = "深度";
|
|
"polish.intensity.off.desc" = "不润色;词库为空时直接插入识别原文,有词条时仅做 ASR 纠错。";
|
|
"polish.intensity.light.desc" = "仅清除孤立语气词和重复口误;标点和结构化仍会生效。";
|
|
"polish.intensity.medium.desc" = "纠正识别错误、清除语气词、润色语句;始终补标点与结构化。推荐默认。";
|
|
"polish.intensity.heavy.desc" = "可重组段落、拆长句、自动编号。适合会议纪要与报告。";
|
|
|
|
/* 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.chip" = "翻译";
|
|
"keyboard.translation.offMenu" = "不翻译";
|
|
"keyboard.translation.a11y" = "翻译";
|
|
"keyboard.translation.a11yHint" = "切换翻译或更改目标语言。";
|