本地化文件翻译

面向软件开发者的键值型资源文件翻译:格式解析、句段编辑、预翻译与多格式导出

本地化文件翻译(Strings)

「本地化文件」是项目翻译支持的三类文件之一,专门处理键值型多语言资源文件(key = value 结构)。Transbox 会把文件解析成一条条带 key 的句段,在编辑器中逐条翻译,导出时按原结构回填,尽量不破坏代码层级。

本地化文件属于套餐权益(本地化文件)。当套餐未开通时,「添加文件」中的「本地化文件」卡片会置灰并提示升级,此时可先使用「普通文档」模式。

支持的文件格式

格式扩展名
JSON(含 Flutter ARB).json、.arb、.arb.json
YAML.yaml、.yml
Excel.xlsx
GNU gettext.po、.pot
Java Properties.properties
Android 字符串.xml
iOS 字符串.strings、.stringsdict
字幕.srt

同一后缀在不同解析模式下含义不同:.xml 在「本地化文件」模式下按 Android 字符串解析,在「普通文档」模式下按通用 XML 解析;.xlsx 在「本地化文件」模式下按 Key/原文列解析。添加文件时选择的文件模式决定用哪套解析器。

解析规则

  • 按 key 提取:每个叶子字符串成为一条句段,保留原始层级路径(如 navigation.home),导出时按路径回填
  • 保留值类型:JSON 中的 number / boolean / null 会被记录类型,导出时还原为原类型而不是字符串
  • 占位符与内联标签:{name}、%s、%1$@、<b>、<a href> 等会被识别为受保护片段(chunk),在编辑器中以标签形式显示,翻译时不会被误删
  • 重复识别:原文完全相同的句段会被标记为重复,可在筛选中区分「重复首句 / 其他重复 / 不重复」

使用流程

第一步:新建项目

  1. 左侧菜单「智能翻译 → 项目翻译」
  2. 点击「新建项目」,填写项目名称、备注、源语言、目标语言(可多选)
  3. 创建后自动进入项目文件列表

第二步:添加本地化文件

  1. 在项目内点击「添加文件」
  2. 文件模式选择「本地化文件」
  3. 选择文件,确认源语言与目标语言
  4. 添加成功后文件列表显示 Key 数量与更新时间
单个项目的文件数量与单个文件的源文字符数受套餐额度限制(分别对应「项目内文件数」与「单文件字符上限」)。超限时请拆分为多个项目或精简文件后再添加。

第三步:在编辑器中翻译

点击文件名或「去翻译」进入编辑器,界面分四层:

  • 顶部:文件名、源语言、目标语言切换、版本日志、偏好设置、交稿、导出、导入译文
  • 工具栏:搜索(key/原文/译文)、流程筛选、更多筛选、批量操作、QA、文件分析、预翻译、重新解析
  • 主体三栏
    • 左:句段列表(序号、原文、译文、状态标记)
    • 中:当前句段的译文编辑框,下方是「编辑历史 / QA 检查 / 评论」三个标签页
    • 右:垂直标签页「语料(记忆库 → 术语库 → 机器翻译)/ 添加术语 / AI 助手」
  • 底部状态栏:翻译进度、分页等

第四步:导出

顶部「导出」或文件列表「更多 → 导出」,可选:

  • 译文文件:按原格式导出(保持键结构与层级)
  • Excel 对照:原文译文两列,便于外部审阅
  • XLIFF 文件:交给其他 CAT 工具或外部译者
  • JSON 文件:统一的 JSON 对照结构

导出范围可按文件、语言、Key 条件(搜索/流程/已标记/重复类型/系统编辑来源)组合筛选。

第五步:回流译文

顶部「导入译文」支持 .json / .xlsx / .xliff / .xlf,导入时可设置:

  • 是否自动确认:导入后句段直接标记为已确认
  • 是否写入记忆库:把导入的原文译文对沉淀为记忆库条目
  • 推送到流程:导入后句段落在 翻译 / 审校 / 校对 / 发布 哪个阶段

项目级的「项目导入译文」可一次处理多个文件。

翻译辅助能力

记忆库与术语库匹配

右侧「语料」面板依次展示记忆库匹配、术语库匹配与机器翻译结果,可一键应用。匹配在每次切换句段时自动触发。

预翻译

工具栏「预翻译」可对当前筛选范围内的未翻译句段批量处理:

  • TM优先:先按记忆库匹配,未命中再调机器翻译
  • 仅TM:只用记忆库,不产生任何翻译费用
  • 仅MT:全部走机器翻译

可设置最低 TM 匹配率(默认 70%),执行过程有进度条,可随时停止。完成后会提示 TM 命中数、MT 数与失败数。

批量操作

「批量操作」只对当前筛选范围内的句段生效,包含:

  • 批量更新流程(目标流程 + 是否确认)
  • 批量清除译文
  • 复制原文到译文
  • 复制译文到其他语言
  • 对范围内句段执行 QA
  • 智能填充标记(按原文标签顺序补齐译文中的内联标签)

执行前会二次确认,执行中有进度显示。

QA 检查

QA 会对比原文与译文中的结构元素,覆盖:占位符缺失/多余、HTML 标签数量与配对、变量缺失/多余、首尾空白、标点、数字数量、特殊字符、术语一致性、URL 数量与改动、换行符数量、内联标签缺失/多余/顺序/配对/嵌套。

检查结果在中间栏「QA 检查」标签页逐条列出,可以逐条「忽略 / 恢复」;未被忽略的问题会计入句段与项目的 QA 计数。

文件分析

「文件分析」按当前目标语言给出:句段数、源文/译文字数、已译/未译/已确认/机翻/QA 句段、内部重复(重复总量、可传播重复量、重复组数)、已应用 TM 匹配率分布(100% / 90-99% / 80-89% / … / 未匹配)、流程分布。用于判断交付进度与工作量。

AI 助手

右侧「AI 助手」标签页针对当前句段与目标语言开启独立会话,可用于解释原文、给出多个译法、检查语气。项目「设置」里配置的 AI 提示词会作为系统提示词作用于本项目所有句段的 AI 助手。文件列表「更多 → Agent翻译」可让 Agent 按项目提示词批量翻译整个文件。

快捷键

快捷键功能
Ctrl + Enter确认当前译文并跳到下一条
Ctrl + S保存当前译文
Ctrl + F打开查找替换
Alt + ↑ / ↓上一条 / 下一条
Ctrl + Shift + C复制原文
Ctrl + 1应用第一条记忆库匹配
Ctrl + M应用或生成机器翻译

注意事项

  1. 不要删除或改写受保护的标签:译文中的占位符与内联标签必须与原文对应,否则程序和 QA 都会报错
  2. 源文件结构变更后重新解析:代码里新增/删除 key 时,在文件列表「更多 → 重新解析」重新抽取,已有翻译会保留
  3. 文件上限:单项目文件数与单文件字符数受套餐限制
  4. 导出前检查流程:只导出已完成审校的句段时,请先用流程筛选再导出
  5. 交稿会推进审核轮次:编辑器「交稿」会把文件的待审核版本号 +1,表示本轮句段已提交审核;配合「版本日志」可查看句段与文件的变更记录

常见问题

Q: 为什么「本地化文件」卡片是灰的?

A: 当前套餐未开通本地化文件权益。可升级套餐,或改用「普通文档」模式添加文件。

Q: 添加文件后 Key 数量比文件里的条目少?

A: 只统计叶子字符串句段。嵌套对象本身不算条目,纯注释、空对象不计入。

Q: 导出的文件里某些值变成了字符串?

A: 检查源文件中该值的类型是否被识别为 number/boolean/null。若原值本身是字符串(带引号),导出也会保持字符串。

Q: 重新解析会丢译文吗?

A: 不会。重新解析按 key 对齐,已有译文会保留;被删除的 key 会随之消失。

Q: 支持直接从代码里抽取字符串吗?

A: 当前需要通过项目已有的导出流程(如 i18n 抽取脚本)生成资源文件后再添加,编辑器不直接解析源码。

Q: 多目标语言如何管理?

A: 一个文件可配置多个目标语言,在编辑器顶部切换语言即可分别翻译;批量操作中的「复制译文到其他语言」可把当前语言译文复制到其他目标语言作为初稿。