mcpField
O
oma-translator

oma-translator

github.com/gracefullight其他49150 次安装今天更新
代码仓库

关于 oma-translator

oma-translator 是用于翻译、本地化和多语言内容审校的技能。它结合项目上下文处理术语、语气、占位符与结构,并在输出前进行校验。

主要功能

  1. 01结合上下文翻译与本地化
  2. 02审校翻译质量
  3. 03创建术语表和风格指南
  4. 04保留占位符与内容结构
  5. 05按翻译标准进行校验

适用场景

  1. 01翻译界面文案和错误消息
  2. 02本地化文档与 README
  3. 03检查译文是否自然
  4. 04为多语言项目整理术语表

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/gracefullight/stock-checker --skill oma-translator

安装后在 Claude Code 中输入/oma-translator确认已加载。

附带文件resources/anti-ai-patterns.mdresources/translation-rubric.md

详细介绍

Translator - 上下文感知翻译

调度

目标

翻译、审校或调整多语言内容,同时保留原意、语体、占位符、结构、领域术语,并符合目标语言的自然语序。

意图特征
  • 用户要求翻译、本地化、审查翻译质量、创建术语表,或调整 UI、文档或营销文案。
  • 用户需要结合上下文进行翻译,而非机械替换词语。
适用场景
  • 翻译 UI 字符串、错误消息或微文案
  • 翻译文档、README 或指南
  • 翻译营销文案或落地页
  • 审查现有译文是否自然
  • 创建术语表或翻译风格指南
  • 任何涉及多语言内容的任务
不适用场景
  • 设置 i18n 基础设施(提取键、路由、构建)-> 使用 dev-workflow
  • 在框架配置中添加新语言区域 -> 使用 dev-workflow
  • 代码层面的 l10n 模式(日期格式化、复数 API)-> 使用相应的 Agent
预期输入
  • 源文本、目标语言,以及可选的语言区域或受众
  • 现有语言区域文件、术语表、代码上下文或风格约束
  • 可选的用户/作者写作样本,用于在散文、营销文案、对话或改编任务中匹配语气
  • 占位符语法、格式约束和输出模式
预期输出
  • 自然的目标语言译文或审校结果
  • 保留占位符、代码片段、链接、标题、列表和文件结构
  • 当源文概念需要解释时提供译者注
  • 按需提供适用于批量处理的 i18n 文件输出
依赖项
  • 用于确定语体和术语的现有译文及周边代码
  • resources/translation-rubric.md 和 resources/anti-ai-patterns.md
  • 翻译 UI 字符串时使用的项目语言区域文件
  • 当任务要求保留或匹配特定作者的风格时,使用用户提供的语气样本
控制流特征
  • 根据内容类型、目标语言、批量大小、语体不确定性以及占位符/结构要求进行分支处理
  • 根据是否有适用的风格样本可用于校准进行分支处理
  • 读取语言区域文件和源文上下文;仅在明确要求编辑文件时才写入译文
  • 机械检查通过前不输出结果

结构流程

入口
  1. 确认源文本、目标语言、内容类型和输出模式。
  2. 在可用时,加载现有译文、术语表、文件上下文或代码上下文。
  3. 识别占位符、格式约束和歧义。
阶段
  1. 准备:确定语言、语体、领域和结构约束。
  2. 获取:阅读现有译文和周边上下文。
  3. 分析:分析源文含义、内涵、比喻性语言和术语。
  4. 执行:重构自然的目标语言内容。
  5. 验证:运行机械检查并应用翻译评估标准。
  6. 定稿:输出译文、审校意见或文件变更。
转换条件
  • 如果上下文不足,提出一个有针对性的问题。
  • 如果字符串数量超过 10 条,输出前必须进行验证。
  • 如果 CJK 输出中包含破折号或源语言痕迹,定稿前须重写。
  • 如果占位符或结构不匹配,进行修订并重新验证。
失败与恢复
  • 如果源文含义模糊,应指出歧义,而不是猜测。
  • 如果项目惯例与直译冲突,应遵循项目惯例,并在需要时作出说明。
  • 如果修改文件结构存在风险,应保留结构,仅修改内容值。
退出
  • 成功:目标文本自然、忠实、结构等效且已通过验证。
  • 部分成功:明确指出源文歧义或上下文缺失。
上下文推断

无需配置文件。应通过以下信息推断翻译上下文:

  1. 项目中已有的译文:扫描同级语言文件,匹配已有的语体、术语和风格
  2. 文件位置:messages/、locales/、.arb 文件可揭示框架和格式
  3. 周边代码:组件名称、注释和变量名称可提示领域和目标受众
  4. 源文本本身:语体、正式程度和句式结构可揭示意图

如果上下文不足以做出有把握的判断,请询问用户。优先提出一个有针对性的问题,而不是一次提出一组问题。

翻译方法
阶段 1:分析源文本

阅读源文本并识别:

  • 语体:正式、随意、会话式、技术性、文学性
  • 意图:告知、说服、指导、娱乐
  • 领域术语:需要统一翻译的词语(先查阅现有译文)
  • 文化典故:无法直接转换的习语、隐喻和幽默
  • 句子节奏:简短有力还是冗长流畅;注意平行结构、有意重复和强调模式
  • 理解难点:目标读者可能难以理解的术语或典故,例如缺乏标准译法的领域行话、文化典故(流行文化、历史、社会规范)、作者默认读者了解的隐含知识、文字游戏或双关语、具名概念(如“邓宁-克鲁格效应”)。针对每项,记录:原文术语、可能造成困惑的原因,以及可供译者注释使用的简洁通俗解释
  • 修辞性表达的处理方式:为每个隐喻、明喻、习语或修辞性表达分类,确定采用哪种处理方式:
    • 阐释:完全舍弃源语言意象,用自然的目标语言直接表达其本意
    • 替换:换成能传达相同含义和情感效果的目标语言习语或意象
    • 保留:如果原有意象在目标语言中同样自然,则予以保留
  • 情感内涵:承载超出词典含义之主观感受的词语(例如,“alarming”表达紧迫感,“haunting”带有挥之不去的不安感);记录需要在译文中保留的情感效果
阶段 2:提取含义

剥离源语言结构。思考:

  • 作者真正想表达什么?
  • 希望读者感受到什么情绪或语气?
  • 希望读者采取什么行动?

不要开始构思目标语言的句子。

阶段 2.5:设定翻译风格

风格设定分为两层:内容类型(文本属于哪一类)和表达方式(节奏有多简洁有力或正式)。两者缺一不可。

第 1 层:读取 .agents/oma-config.yaml 中的 translation_voice

translation_voice 字段控制全局的节奏和正式程度。共有三个值:

表达方式在内容类型默认风格基础上应用的覆盖规则
formal仅使用完整句子,不使用残句;严格采用 합니다体/です・ます,不删减赘词
balanced(默认)遵循内容类型的默认风格;仅在标签或单元格位置允许使用残句
interpreter所有内容类型均采用口译风格:简洁有力、以受众为先、口语化;在目标语言中自然时允许使用残句;删去正式表达中的赘词(“을 받았습니다” → “받음” / “을 모두” → 删除)

如果缺少此字段,则默认为 balanced。如果无法读取 oma-config.yaml,也默认为 balanced。

第 2 层:内容类型角色表
内容类型角色基本风格标记
UI 字符串/微文案UX 文案撰写者简洁、祈使、方便用户理解
文档/README/API 参考技术文档撰写者数据与说明并重,充分展开解释
基准测试/报告/变更日志技术记者数据与说明并重,语气客观
营销文案/落地页/主视觉文案品牌文案撰写者精简有力、以受众为先、大胆改写
博客文章/随笔随笔作家保留节奏和韵律,保持作者风格
文学/散文文学译者保留意象、风格一致性和叙述声音
对话/字幕/访谈口译员即时感、以受众为先、口语语体、在文中补充文化背景

分类启发式:

  • 文件位于 messages/、locales/,或文件名为 *.arb → UX 文案撰写者
  • 文件名为 README*、位于 docs/*,或 .md 文件中频繁出现代码块 → 技术文档撰写者
  • 评分表、基准测试统计数据、变更日志条目 → 技术记者
  • 页面/章节的主视觉文案 → 品牌文案撰写者
  • 源文中出现引号、破折号、说话者标签 → 口译员

不确定时,代码相关内容默认采用技术文档撰写者,散文默认采用随笔作家。绝不使用泛泛的“译者”角色。

组合各层

语气应用于内容类型角色之上。示例:

  • 内容类型 = technical reporter + 语气 = formal → 句子充分展开,不使用残句,严格使用 합니다体。
  • 内容类型 = technical reporter + 语气 = balanced → 正文使用完整句子,表格单元格允许使用残句(当前默认设置)。
  • 内容类型 = technical reporter + 语气 = interpreter → 节奏更有力,列表项允许使用残句(例如,“39 轮 / 8m 13s / $1.28(每个文件 $0.14)”,而不是“共进行了 39 轮,耗时 8m 13s,总计花费 $1.28(每个文件约 $0.14)”),删去“ 모두 받았습니다”这类赘语。

随后,在执行时将角色本地化为目标语言。以“技术记者”角色、interpreter 语气翻译成韩语,意味着要像一位韩国技术记者那样思考:重视节奏和受众的快速浏览,而非形式上的完整性。

可选第 3 层:语气样本校准

如果用户提供作者/用户的写作样本,请先进行分析再起草。将其作为风格约束,而非改变含义的许可。

提取以下特征:

  • 句子长度模式:短促有力、绵长流畅,或长短混合
  • 段落开篇习惯:开门见山、先交代背景、讲述轶事、提出问题,或进行对比
  • 用词层次:随意、技术性、学术性、文学性、直白,或精炼
  • 标点习惯:括号、冒号、逗号、分号、破折号,或少用标点
  • 过渡风格:明确使用连接词、突然转折、编号说明逻辑,或尽量少用提示语
  • 适合保留的惯用短语或口头禅

仅在风格相关的场景中应用:

  • 开启:博客文章、随笔、演讲、访谈、营销文案、叙事散文、改编请求,以及用户要求保留作者风格的用户撰写文档
  • 有限应用:技术文档和报告;匹配节奏和术语,但不加入个人立场
  • 关闭:UI 字符串、区域设置键值批次、法律/官方文本、精确政策文本,或任何结构和忠实度优先于作者风格的文本

约束:语气匹配可以调整节奏、措辞和句式,但不得添加源文中没有的新观点、第一人称视角、幽默、事实、示例或情绪色彩。

阶段 3:用目标语言重构

根据含义,以指定角色的身份,遵循目标语言规范进行重写:

语序:遵循目标语言的自然结构。

  • EN → KO:从 SVO 调整为 SOV,将动词移至句末,用助词替代介词
  • EN → JA:采用类似的 SOV 结构调整,并匹配敬语体系
  • EN → ZH:保持 SVO 结构,但调整修饰语的位置(中文中置于名词前)

语体匹配:

  • 根据项目中已有的译文,或源文本的语气进行判断
  • 调整正式程度标记(敬语、句尾形式、词汇等级)

拆分/合并句子:

  • 英语复合句通常拆分为更短的韩语/日语句子
  • 在某些语言中,英语项目符号可能会合并为流畅的段落

省略显而易见的内容:

  • 许多语言(韩语、日语、中文等)在上下文明确时允许省略主语或代词
  • 不要强行加入在目标语言中显得不自然的主语或代词
阶段 4:验证关卡(阻断式;确认所有项目后才能输出)

此阶段为必选项。跳过任何一项都属于错误,而非捷径。在生成最终译文前,先执行机械检查,再进行评估。

A. 机械检查(必须先于评估执行,且全部通过):

  • CJK 长破折号扫描:对于韩语、日语或中文目标语言,检查草稿中是否出现 —。每处都必须通过结构重构处理,绝不能仅替换为 :、( 或 ,。长破折号通常表示定义性的 X — Y 结构,在 CJK 语言中应改写为并列名词短语、定语从句或独立句。最终输出中不得出现长破折号,也不得残留任何机械替换的痕迹。(参见反 AI 规则 14 和 14a。)
  • 弯引号扫描:检查草稿中是否出现 “、”、‘、’。将其替换为直引号("、'),除非源文本明确使用弯引号、目标语言惯例要求使用弯引号(例如日语的「」/『』),或周边文件格式要求使用弯引号。
  • 占位符完整性:源文本中的每个 {name}、{{count}}、%s、<tag> 和 `code` 都必须在译文中保持原样。
  • 结构一致性:标题、列表符号、表格行、代码块和链接的数量及嵌套层级必须与源文本一致。
  • 语体一致性:全文使用同一种句尾风格(不要混用 -ㅂ니다 和 -다,也不要混用正式和随意语体)。
  • 同级内容风格匹配(如适用):如果目标内容所在位置已有同语言内容(如 Markdown 表格行、本地化文件中的相邻条目、术语表词条、文档中的列表项),请先阅读至少 3 个同级内容,并识别:(a)分隔符风格:逗号与 及/和/与、长破折号、冒号或换行;(b)动作动词形式:名词短语片段、完整动词短语或祈使句;(c)外来词密度;(d)语体和句尾风格。草稿必须遵循主导风格。如果草稿使用了同级内容中不存在的分隔符、动词形式或语体,必须阻止输出并修改。例如:同级内容使用逗号分隔的名词短语且不使用冒号,而草稿使用 X: Y and Z 结构,则必须修改。

如果任何机械检查未通过,请修改并重新检查。全部通过后才能进行评估。

B. 翻译评估标准(参见 resources/translation-rubric.md):

  1. 译文读起来是否像是用目标语言原创的?
  2. 领域术语是否与项目中已有译文一致?
  3. 全文语体是否一致?
  4. 是否保留了原意,而非只逐字翻译?
  5. 是否恰当地调整了文化典故?
  6. 是否保留了情感内涵,而非将其弱化为中性描述? C. 反 AI 模式(参见 resources/anti-ai-patterns.md):
  7. 不要堆砌 AI 词汇或夸大重要性
  8. 不要比原文更具宣传口吻
  9. 不要轮换使用同义词;术语应保持一致
  10. 不要沿用源语言的词序
  11. 不要添加不必要的粗体或格式标记(破折号已在机械检查 A 中涵盖)
  12. 不要使用欧化表达(不必要的连接词、被动语态、名词堆砌、过度名词化、强行使用代词、照搬强调句式)
  13. 不要残留“人性化”模式:泛泛的积极结论、“让我们深入探讨”式引导、诉诸权威的说服套路、公式化的“挑战/未来展望”章节、复述标题的开场、表情符号装饰,或含糊的媒体报道/知名度填充内容

D. 修辞性语言处理: 14. 是否按照分类决定(意译/替换/保留)处理了所有隐喻/习语? 15. 修辞表达在目标语言中是否自然,而非生硬直译?

E. 输出前检查(必须在输出前书面作答):

输出译文前,先分别用 1–2 句话回答以下每个问题:

  1. “对于这段内容,Stage 5 反思为何开启或关闭?”:必须引用“何时运行 Stage 5–7”部分中的具体分类规则。如果目标内容同时符合开启和关闭列表中的条件(例如 README 表格单元格既是短字符串,又属于文档),则默认开启。
  2. “我的草稿是否符合目标语境中同类内容的模式?”:必须至少提及一个具体的同类内容,以及相符(或不相符)的模式维度。
  3. “是否只是替换了源语言的结构痕迹(破折号、X 后接冒号、名词后接括号),而没有重新组织表达?”:必须回答“否”,并提供证据。

如果缺少任何一项回答,回答含糊,或只说“我觉得是”却没有证据,则输出前仍须进行 Stage 5 反思。

译者注指南

为读者可能难以理解的术语、文化引用或概念添加说明性注释时:

格式:译文(原文,通俗解释);对于只需注明原文的常见术语,使用 译文(原文)

按受众调整:

  • 技术读者:常见技术术语(API、deploy、refactor)无需注释。仅注释领域专有术语或新创术语
  • 普通读者:注释可更充分。用通俗语言解释术语、文化引用和领域概念
  • 短文本(少于 5 句话):尽量少加注释;仅注释目标受众可能不了解的术语

规则:

  • 仅在首次出现时添加注释;不要重复
  • 注释应简洁(尽量少于 10 个词)
  • 解释其含义,而不只是提供英文原文
  • 不要注释不言自明的术语或广为人知的外来词
  • 如果 Stage 1 中发现了理解难点,请使用预先规划好的解释
反思模式(非简单内容默认启用)

对于超过短片段长度的内容,默认(而非可选)执行反思环节(Stage 5–7)。实证研究(Slator 2024、Self-Refine 论文)表明,单次润色即可将翻译腔率降低约一半。跳过非简单内容的反思,是引发翻译腔投诉的最常见原因。

何时运行第 5–7 阶段

以下内容默认开启:

  • 文档(README、指南、API 参考)
  • 报告、基准测试、更新日志、博客文章
  • 营销文案和落地页
  • 任何超过约 3 句话的文本
  • 任何包含表格、项目符号列表或与文本混排的代码块的内容
  • 翻译审校模式

以下内容默认关闭(仅进行第 4 阶段验证):

  • 有既定术语表的单条简短 UI 字符串(少于 10 个词,且位于 UI 本地化文件中,例如 i18n 键、.arb、.json、messages/)
  • 批量 UI 键翻译,其中每个值相互独立且少于 1 句话
  • 用户明确要求“快速翻译”“跳过反思”或“직역”

优先级规则:当目标内容同时符合开启和关闭类别时,默认开启。常见冲突情况:

情况两者都符合的原因处理方式
README 表格单元格(内容短且属于文档)少于 10 个词,但位于 README*.md 中开启:README 属于文档
CHANGELOG 条目少于 10 个词,但位于更新日志中开启:更新日志属于文档
注册表中的技能描述名词短语较短,但会提交到 Git 跟踪的源文件中开启:任何 Git 跟踪的文本
i18n 文件中的工具提示少于 10 个词,且位于 messages/ 中关闭:本地化文件中的 UI 字符串

反思的成本可以接受;合并后的修订成本则不可接受。

如有疑问,请进行反思。成本约为 1.5–2 倍的 token;对于正文片段和欧式化表达模式,质量提升显著。

扩展工作流

完成第 1–4 阶段后,继续执行:

第 5 阶段:严格审校

以全新的视角对照源文重读译文,进行诊断性审校(暂不改写)。

先明确回答这个问题:“为什么下面的草稿读起来仍明显像机器翻译或 AI 生成的?” 用 3–7 条简短要点指出仍然存在的问题(例如:“最后一段的语体突然转为正式”“同一种连接结构重复出现三次”“正文中仍有标签或单元格以外的名词结尾片段”“照搬了一个比喻,而目标语言读者对它的理解不同”)。然后继续按以下清单审校:

  • 准确性:逐段对照。有无改动事实、数字或限定条件?
  • 欧化表达:检查是否存在不必要的连接词、被动语态、名词堆砌、过度名词化和生硬的代词(参见 resources/anti-ai-patterns.md)
  • 比喻表达的忠实度:对照第 1 阶段的比喻处理方案。是否都按分类决定处理?有无听起来不自然的直译?
  • 情感忠实度:主观或带有情感色彩的用词是否被弱化成中性描述?
  • 语气偏移:从头到尾的语体是否一致?是否中途发生变化(例如:正式的引言逐渐变成随意的说明)?
  • 表达与行文:指出读起来仍像“翻译腔”的句子(表达僵硬、语序不自然、过渡生硬)
  • 自然化表达模式:对于散文、营销文案、博客、报告和改编类任务,检查节奏是否呆板、段落结构是否过于整齐、是否存在路标式提示、泛泛的结尾、诉诸权威的陈词滥调、公式化的挑战与未来展望章节、装饰性表情符号、开头重复标题,以及填充短语
  • 与示例文风的契合度:如果提供了示例,检查句子节奏、段落开头、措辞、标点和过渡方式是否与示例一致,同时不添加无依据的含义
  • 译者注质量:数量是否过多或过少?是否准确、简洁?

第 6 阶段:修订

根据第 5 阶段的所有审校结果修改译文:

  • 修正准确性问题
  • 将欧化表达改写为自然的中文表达
  • 按照比喻处理方案重新诠释直译的比喻
  • 恢复被弱化的情感色彩
  • 调整僵硬的句子结构,使表达流畅
  • 根据审校建议调整译者注

第 7 阶段:润色

最后检查,确保译文达到可发布的质量:

  • 将译文作为独立文本通读:行文是否自然流畅?
  • 润顺段落之间仍显生硬的过渡
  • 确保全文叙述语气一致
  • 最后检查是否残留直译的比喻或翻译腔
  • 检查格式是否保留(标题、粗体、链接、代码块)
批量翻译规则

翻译多条字符串时(例如 UI 键):

  1. 先通读所有字符串,再开始翻译;上下文很重要
  2. 查看项目中的现有译文,确保术语和风格一致
  3. 确保整批内容的术语一致
  4. 原样保留变量和占位符({name}、{{count}}、%s、<tag>、`code`)
  5. 保留键结构:只翻译值,不翻译键
  6. UI 字符串的长度尽量与原文相近(避免译文长度达到原文的 3 倍,导致布局错乱)
Diff-Sync 模式(根据源文件差异修补现有翻译)

当英文源文件发生更改,需要将一个或多个现有目标语言翻译重新同步时使用。适用于 oma-docs v2 多语言同步、文档 PR 合并后手动补齐国际化翻译,或任何“源文件已更新,翻译却未更新”的情况。

输入:

  • 英文源文件的统一差异(/tmp/oma-en-diff.patch 或 git diff 片段)
  • 一个或多个目标语言文件路径(同一源文件的现有翻译)
  • 可选:各语言区域的术语表或术语提示

阶段覆盖:

  1. PREPARE:阅读差异。识别新增、修改和删除的部分。
  2. ACQUIRE:阅读每个目标文件。根据标题锚点和周围上下文映射源文件位置与目标文件位置,而不是根据行号(不同语言的行号不会匹配)。
  3. REASON:针对每个差异块,判断:
    • 新增部分:重新翻译,并插入到对应位置
    • 修改文本:本地化修改内容,替换目标文件中的对应内容
    • 删除文本:删除目标文件中的对应内容
    • 仅有格式调整(空白、格式):跳过;不要反复改动翻译
  4. ACT:使用 Edit 工具应用补丁。遵循现有翻译的语体、术语和风格(写入前至少重新阅读目标文件中 3 个同级部分)。
  5. VERIFY:运行第 4 阶段的机械检查(破折号、占位符完整性、结构一致性),并确保未修改任何未触及的部分。

差异同步硬性规则:

  • 只修改差异涉及的内容。 目标文件的其他部分必须保持字节级一致。如果发现差异范围之外的偏差,请标记,但不要在同一个补丁中自动修复。
  • 保持结构一致。 目标文件的标题层级、表格数量和列表结构必须与补丁应用后的源文件一致。
  • 不得假设行号对应。 始终通过标题文本和锚点导航,不要使用绝对行号。
  • 代码、正则表达式和标识符使用英文。 根据 i18n-guide 规则,代码块、JSON 键、文件路径、正则表达式模式、工作流名称以及 [OMA WORKFLOW: ...] 等系统标记均保持原样。

每个目标文件的输出格式:

Target: <path>
Sections updated: <list of heading paths>
Sections skipped: <list with reason, e.g. "no semantic change">
Ambiguities resolved: <terminology decisions made>

并行处理:当多个目标语言区域需要同步同一个源文件差异时,为每个语言区域并行分派一个 Agent。每个 Agent 获得相同的差异,但使用不同的目标文件路径。无需协调,因为目标文件互不相同。

输出格式
单段文本
Source (EN):
> original text

Translation (KO):
> translated text

Notes:
- [any decisions made about ambiguous terms or cultural adaptation]
批处理(i18n 文件)

按输入格式(JSON、ARB、YAML 等)输出,仅翻译值。

审阅模式
Original translation:
> existing translation

Suggested revision:
> improved translation

Why:
- [specific issues: unnatural word order, wrong register, inconsistent term, etc.]
故障排除
问题解决方案
源文本含义模糊标记并在翻译前询问上下文
某术语没有既定译法提出译法,并在应用前与用户确认
源文语体冲突遵循项目现有语体,并注明不一致之处
占位符位于句子中间调整句子结构;绝不破坏占位符语法
翻译内容对 UI 来说过长提供更短的替代译文并附注
某术语有多种可行译法选择最符合项目现有译法的一种;注明其他译法
目标语言需要使用有性别区分的形式遵循源文意图;目标语言允许时优先使用性别中立的形式
长文档语气前后不一致翻译后从头到尾重新阅读;将语体统一为全文的主导风格
执行方法

逐步遵循翻译方法(第 1 至第 4 阶段)。 提交前,对照 resources/translation-rubric.md 和 resources/anti-ai-patterns.md 进行检查。

执行协议(CLI 模式)

供应商专属执行协议由 oma agent:spawn 自动注入。 源文件位于 ../_shared/runtime/execution-protocols/{vendor}.md。

逻辑操作

操作
操作SSL 原语依据
阅读源文和上下文READ文本、本地化文件、代码上下文
选择语体和术语SELECT现有译文和领域术语
推断预期含义INFER含义提取阶段
编写译文WRITE目标语言重构
验证占位符和结构VALIDATE验证关卡
对照评分标准COMPARE翻译评分标准
报告译文或备注NOTIFY最终输出
工具和辅助材料
  • 现有本地化文件和周边代码
  • 翻译评分标准、反 AI 模式规则、术语表和风格参考
  • 仅在用户要求修改文件时使用文件编辑工具
标准工作流路径
1. Analyze source register, intent, domain terms, placeholders, and structure.
2. Reconstruct meaning in the target language, not word-for-word.
3. Run mechanical checks and `resources/translation-rubric.md` before emitting output.
4. For non-trivial prose, run Stage 5 humanization review before final polish; apply voice-sample calibration only when provided and appropriate.

对于 UI 文件,请先检查同级本地化文件:

rg "<source-key-or-term>" .
资源范围
范围资源目标
LOCAL_FS本地化文件、文档、README、源文本文件
CODEBASEUI 字符串周边的组件和代码上下文
MEMORY语体、术语表、歧义、验证备注
USER_DATA用户提供的文本和目标语言要求
前置条件
  • 已知源文本和目标语言。
  • 可以识别占位符和结构约束。
  • 歧义已解决,或已明确标出。
影响和副作用
  • 生成译文或翻译审校结果。
  • 仅在用户要求时修改本地化文件或文档。
  • 保留源文本结构和占位符。
防护规则
  1. 翻译前先检查现有本地化文件,以符合项目惯例
  2. 保留占位符和插值语法
  3. 翻译含义,而非逐字翻译
  4. 保留情感内涵:传达原文的感受,而不只是词典释义(例如,“alarming”表达紧迫感或担忧,而不只是“令人惊讶”)
  5. 在同一篇内容中保持语体一致
  6. 可拆分、合并或重构句子,使其符合目标语言的表达习惯
  7. 对有歧义的源文本应明确标出,不要自行猜测
  8. 保留领域术语:如果某个术语在领域内已有公认含义(例如 harness、scaffold、shim、polyfill、middleware),即使存在更简单的本地语言词语,也应保留
  9. 绝不逐字翻译
  10. 绝不在同一篇内容中混用语体(正式与随意)
  11. 绝不将领域专用术语替换为泛化说法(例如将“harness”译为“framework”,将“shim”译为“wrapper”)
  12. 除非已有译法如此处理,否则绝不翻译专有名词
  13. 绝不为了“听起来更好”而改变含义
  14. 对超过 10 条字符串的批次,绝不跳过验证阶段
  15. 绝不修改源文件结构(键、嵌套、注释)
  16. 绝不保留目标语言中不自然的源语言格式痕迹。对于 CJK 目标语言(韩语、日语、中文),必须重构破折号(—)、标题中的标题式大小写和句末的“-ing”分词短语,即使源文采用了这些格式。参见 resources/anti-ai-patterns.md 中的规则 2(-ing 短语)、14–15(破折号、标题式大小写)和 25(CJK 排版与片段)。
  17. 绝不通过编造个性来“润色”。除非源文或用户明确要求改编,否则不要添加第一人称、笑话、观点、示例、事实、引文、强化的情绪或不完美之处。
  18. 提供语气样例时,只匹配可观察到的风格特征:节奏、用词层级、标点习惯、过渡方式和段落结构。应优先保留源文含义并确保目标语言自然,而非一味模仿。

参考资料

  • 翻译评分标准:resources/translation-rubric.md(5 项评分指标:自然度、准确性、语体、术语、技术完整性)
  • 反 AI 模式:resources/anti-ai-patterns.md(AI 输出模式,以及应避免的欧化和翻译腔模式)
  • 上下文加载:../_shared/core/context-loading.md
  • 质量原则:../_shared/core/quality-principles.md

评论

支持 Markdown