本地化文件翻译
本地化文件翻译(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),在编辑器中以标签形式显示,翻译时不会被误删 - 重复识别:原文完全相同的句段会被标记为重复,可在筛选中区分「重复首句 / 其他重复 / 不重复」
使用流程
第一步:新建项目
- 左侧菜单「智能翻译 → 项目翻译」
- 点击「新建项目」,填写项目名称、备注、源语言、目标语言(可多选)
- 创建后自动进入项目文件列表
第二步:添加本地化文件
- 在项目内点击「添加文件」
- 文件模式选择「本地化文件」
- 选择文件,确认源语言与目标语言
- 添加成功后文件列表显示 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 | 应用或生成机器翻译 |
注意事项
- 不要删除或改写受保护的标签:译文中的占位符与内联标签必须与原文对应,否则程序和 QA 都会报错
- 源文件结构变更后重新解析:代码里新增/删除 key 时,在文件列表「更多 → 重新解析」重新抽取,已有翻译会保留
- 文件上限:单项目文件数与单文件字符数受套餐限制
- 导出前检查流程:只导出已完成审校的句段时,请先用流程筛选再导出
- 交稿会推进审核轮次:编辑器「交稿」会把文件的待审核版本号 +1,表示本轮句段已提交审核;配合「版本日志」可查看句段与文件的变更记录
常见问题
Q: 为什么「本地化文件」卡片是灰的?
A: 当前套餐未开通本地化文件权益。可升级套餐,或改用「普通文档」模式添加文件。
Q: 添加文件后 Key 数量比文件里的条目少?
A: 只统计叶子字符串句段。嵌套对象本身不算条目,纯注释、空对象不计入。
Q: 导出的文件里某些值变成了字符串?
A: 检查源文件中该值的类型是否被识别为 number/boolean/null。若原值本身是字符串(带引号),导出也会保持字符串。
Q: 重新解析会丢译文吗?
A: 不会。重新解析按 key 对齐,已有译文会保留;被删除的 key 会随之消失。
Q: 支持直接从代码里抽取字符串吗?
A: 当前需要通过项目已有的导出流程(如 i18n 抽取脚本)生成资源文件后再添加,编辑器不直接解析源码。
Q: 多目标语言如何管理?
A: 一个文件可配置多个目标语言,在编辑器顶部切换语言即可分别翻译;批量操作中的「复制译文到其他语言」可把当前语言译文复制到其他目标语言作为初稿。
