本文目录导读:

文档本地化管理多语言版本,核心在于解决“源文档变更”与“多语言翻译同步”之间的冲突,如果管理不当,会出现“英文更新了,中文还是旧版”或“翻译文件丢失”等问题。
以下是系统化的管理方案,分为策略层、工具层和流程层:
核心策略:确定“单一事实源”
这是最重要的原则,必须决定哪个语言版本是最终的权威版本。
- 源语言驱动(推荐):选择一种语言(通常为英文或开发语言)作为源语言。
- 更新都必须在源语言文档中完成。
- 其他语言版本严格跟随源语言更新。
- 好处:逻辑清晰,避免版本混乱。
- 语言平等:所有语言各自独立维护(不推荐用于技术文档或产品手册)。
- 每个语言版本都可以独立更新,无主次之分。
- 风险:容易出现内容不一致,维护成本极高,通常用于营销文案或法规要求的特定版本。
建议:绝大多数场景采用源语言驱动。
工具管理:从手工到自动化
根据团队规模和预算,选择合适的工具链:
初级方案(单人或小团队,预算极低)
- 工具:Git(代码仓库) + Markdown / ReStructuredText + 手动命名。
- 管理方法:
- 命名约定:
README.en.md、README.zh-CN.md、README.ja.md。 - 文件夹结构:
docs/ ├── en/ ├── zh-CN/ ├── ja/ └── images/ - 缺点:翻译进度靠人工记忆,无法自动检查更新。
- 命名约定:
中级方案(中型团队,有自动化需求)
- 工具:Crowdin、Transifex、Lokalise(SaaS 平台)或 Weblate(开源自建)。
- 工作流:
- 开发者将源文档(如
.md、.json、.yaml)推送到 Git 仓库。 - CI/CD 自动将文件同步到翻译平台。
- 翻译人员在线翻译(平台提供翻译记忆库、术语库、机器翻译集成)。
- 翻译完成后,平台自动生成目标语言文件,并创建 Pull Request 到 Git 仓库。
- 开发者将源文档(如
- 核心功能:
- 翻译记忆库:相同句子无需重复翻译。
- 术语库:确保关键术语翻译一致(如“Submit”不能有时是“提交”有时是“发送”)。
- 机器翻译:先用 MT 预翻译,人工再校对,降低成本。
- 更新检测:自动标记因源文档变更而“需要更新”的译文。
高级方案(大型企业或 SaaS 产品)
- 工具:Phrase、Smartling(企业级平台)。
- 特点:
- 强大的 API,可直接嵌入开发工作流。
- 支持上下文截图(翻译人员能看到 UI 截图,保证翻译长度匹配)。
- 专业的项目管理仪表盘(进度、成本、质量评分)。
- 提供伪翻译功能:在开发阶段,用特殊字符替换文本,测试 UI 布局兼容性。
流程管理:版本同步的艺术
无论用什么工具,流程设计决定最终效果。
审校流(Review Workflow)
- 必须区分:翻译(Translation)与审校(Review/Proofreading)。
- 角色:译者(Translator) + 审校员(Reviewer,通常是领域专家或资深母语者)。
- 状态:
待翻译→翻译中→待审校→已批准→已发布。
更新流(Update Workflow)—— 最易出问题的环节
当源文档(如英文)更新时,处理方式:
- 问题:英文文档第 3 段被重写,中文对应的第 3 段需要更新,但中文可能已经做了本地化调整。
- 最佳实践:
- 不要直接修改源文件,在翻译平台中,源文件的变更会自动标记为“Fuzzy”(模糊匹配)或“Untranslated”。
- 平台自动识别变更:只把变更的字符串推送给译者,而非整个文件。
- 锁定已发布版本:当新版本翻译进行时,旧版本文档依然可用,不受影响。
发布流(Publish Workflow)
- 分步发布:源文档发布后,不等待所有语言翻译完才发布,可以:
- 发布英文版,其他语言显示“正在翻译中”或使用英文占位。
- 设定翻译截止日期,到期后统一打包发布。
- 使用 CI/CD 钩子:当翻译平台标记某个语言文件“100% 已批准”时,自动触发构建和部署。
技术细节:代码与内容的分离
- 提取字符串:不要在文档中硬编码 UI 文本。
- 使用
gettext(.po/.mo文件) 或i18n框架。 - 建议使用结构化格式(JSON、YAML、Markdown + Front Matter)。
- 使用
- 图片本地化:
- 策略 A:图片中不含文字(最佳)。
- 策略 B:使用可编辑的矢量图(SVG),通过自动化工具替换其中的文字层。
- 策略 C:为每种语言准备独立的图片文件夹(
images/->images/zh-CN/)。
- 占位符与变量:
- 源文案:
Hello, {username}! You have {count} new messages. - 翻译文案:
你好,{username}!你有 {count} 条新消息。 - 关键:确保占位符在翻译后格式正确,不被误删。
- 源文案:
检查清单:避免的常见坑
- 长度膨胀:中文通常比英文短,但德语、俄语更长,UI 或 PDF 排版需留出 20-30% 的扩展空间。
- 文化敏感词:日期格式(MM/dd vs dd/MM)、货币、测量单位必须本地化。
- 硬编码文本:绝对不要在代码或文档模板中写死文字,必须通过变量引用。
- 忘记 RTL 语言:如果支持阿拉伯语、希伯来语,镜像布局需要单独处理。
- 忽略质量评估:仅靠人工审校不够,建议使用 BLEU 分数(自动评估)和 DPI(文档翻译质量指标)。
一个理想的自动化流程示例
- 开发:英文 Markdown 文档提交到 GitHub。
- CI:GitHub Action 触发,将文件推送到 Crowdin 平台。
- 翻译:Crowdin 自动检测到 10 个字符串变更,推送给翻译团队。
- 机器翻译:先用 DeepL 做预翻译。
- 人工审校:翻译员修改 5 处,审校员通过。
- 自动回传:Crowdin 创建 PR,将
zh-CN/、ja/的.md文件更新回 GitHub。 - 构建发布:GitHub Action 检测到
main分支有 PR 合并,自动构建多语言版本(如 astro build 或 docsify deploy),并推送到 CDN。
通过工具自动化 + 严格的流程纪律,多语言版本管理可以从“噩梦”变为“日常常规任务”。