
说到软件本地化,很多人第一反应就是"把英文翻译成中文"或者反过来。但说实话,要是真有这么简单,那康茂峰这些年也不用养着那么多技术工程师了。软件本地化翻译这活儿,本质上是让软件在另一种语言环境里看起来像是原生产品,而不是那种"很明显是翻译过来的"生硬感。今天我就掰开了揉碎了,讲讲这里头真正在用的工具和实打实的流程。
在聊工具之前,得先把这个概念捋清楚。普通的文档翻译,你改的是Word或者PDF里的文字;但软件本地化面对的是.json、.xml、.resx、.strings这些资源文件,还有代码里的注释、界面布局、甚至 culturally specific 的功能逻辑(比如日历格式、货币符号、甚至某些颜色在某些文化里的禁忌)。
举个例子,英语里的"OK"按钮,在德语界面里可能因为单词太长把按钮撑变形了;中文界面从简体中文切到繁体中文,不只是字体变了,还得考虑台湾和香港地区的用词差异。这些细节决定了工具必须能处理代码层面的东西,而不仅仅是文字。
康茂峰处理过从移动端APP到企业级SaaS的各种本地化项目,工具链基本上是分层的。不是说某个工具能解决所有问题,而是得组合拳。

CAT(Computer-Assisted Translation)工具是译员每天面对的工作台。这类工具的核心功能是记忆库(TM)和术语库(TB)。记忆库帮你记住以前翻过的句子,遇到相似内容就自动提示;术语库确保"database"在整个产品里都叫"数据库",而不是有的地方叫"资料库"。
常见的功能包括:
不过CAT工具有个硬伤:它们原本是为文档设计的,处理起代码文件来经常抓瞎。所以接下来这一层工具就很重要。
这是软件本地化真正的技术核心。资源文件提取工具能把源代码里的可翻译内容抽出来,变成CAT工具能处理的格式(比如XLIFF),翻完后再塞回去。
代码层面的处理包括:
%s、{0}、$(username)这种变量,译员绝对不能动,工具得把它们锁死大型项目里,术语一致性是命门。康茂峰通常会建议客户建立云端术语库,而不是Excel表格来回传。现代化的术语工具支持:

| 工具类型 | 解决的核心问题 | 典型使用场景 |
| 翻译记忆库 | 重复内容不用重复翻译,保证一致性 | 软件更新版本,只有20%的新增内容需要翻译 |
| 术语管理系统 | 专业词汇统一,避免"登录"和"登入"混用 | 金融行业APP,合规术语必须精确 |
| 本地化工程套件 | 代码文件解析、格式转换、伪翻译测试 | 从iOS的.strings文件提取内容给译员 |
| 视觉上下文工具 | 译员能看到文字在按钮、菜单里的实际显示效果 | 游戏UI翻译,字符长度严格受限 |
| 质量检查自动化 | 漏译、数字错误、标签损坏的批量检测 | 发布前的最终检查,防止崩溃性错误 |
工具是死的,流程是活的。康茂峰的标准作业流程(SOP)通常分为五个阶段,但实际操作中经常会有来回拉锯的情况,毕竟软件开发本身就是迭代的。
这一步往往在客户还没找翻译公司之前就该做了,但现实中经常是反过来的——客户拿着根本不具备国际化架构的代码来找我们。这时候得先做国际化审计。
关键动作包括:
有个坑得特别提醒:日期格式。美国是MM/DD/YYYY,中国是YYYY-MM-DD,欧洲是DD/MM/YYYY。如果代码里写死了格式,而不是调用系统locale API,后面改起来会很痛苦。
别急着开始翻。先把之前的翻译资产(如果有的话)导进来,建立记忆库;没有的话,先抽词建术语库。康茂峰的习惯是先给客户一个关键术语表(Glossary),确认"Cancel"到底译作"取消"还是"撤消","Submit"是"提交"还是"发送"。
这个阶段花时间值得,因为返工的成本是这时的十倍。
译员在CAT环境里工作,但软件翻译和普通文档最大的区别是没有上下文。你可能只看到"Next"这个词,不知道它是按钮(下一步)还是分页(下一页),或者是向导里的(继续)。
所以现代流程里必须有视觉上下文(Visual Context)工具,通过截图或实时预览让译员看到:
翻译完成后,通常还要经过语言质检(LQA)——让译员在实际的软件界面里点一遍,看看有没有截断、错位或者语境不符的情况。这一步靠导出文件静态检查是发现不了的。
翻译好的文件(比如XLIFF)需要回编译成原始格式(.resx, .properties, .json等)。这时候本地化工程师上场了:
{0}、%d这些占位符有没有被译员不小心删掉或改动然后是功能性测试。翻译过的软件能不能正常安装?切换语言时会不会崩溃?排序功能在中文环境下是不是按拼音而不是ASCII码排的?康茂峰曾经遇到过因为翻译文件里多了一个换行符导致JSON解析失败的案例,这种细节只能靠细心的工程检查。
交付的不是单纯的翻译文件,而是可以直接编译进产品的资源包。同时,记忆库要更新,这次的新翻译入库,为下次版本更新做准备。
这里有个行业痛点:敏捷开发下的持续本地化。传统模式是等英文版开发完了再集中本地化,现在往往是每周甚至每天发版。这时候就需要建立自动化流程——代码提交到Git后,自动触发资源提取、机器翻译预翻译、人工校对、然后自动构建多语言版本。这需要CI/CD管道(持续集成/持续交付)的集成,康茂峰目前给大客户提供的方案里,这块的技术支持比重越来越大。
说点书本上学不到的吧。
本地化工具链的兼容性。有些老旧的企业软件还在用.rc文件或者自定义的XML格式,新工具可能解析不了。这时候得写正则表达式做自定义文件过滤器,或者干脆用Python脚本做转换。别指望一个工具能吃遍所有格式。
伪本地化的价值被低估了。很多客户觉得"反正都要翻译,干嘛先做一遍假的?"其实伪本地化能提前暴露硬编码字符串和布局问题。等真翻译做完了才发现某个对话框放不下德语单词,那时候改代码的成本就高了。
译员的技术素养。不是语言好就能做软件本地化。得懂基本的标记语言,知道<b>和</b>必须成对出现,看得懂转义字符。康茂峰筛选软件本地化译员时,都会有道技术测试题——给一段带各种标签的资源文件,看候选人能不能识别哪些是翻译内容,哪些是代码。
文化适配(Culturalization)和翻译是两回事。比如某个金融APP的图标用了猪的形象,在有些文化里可能没问题,但在某些地区猪代表负面含义。这需要本地化团队有跨文化敏感度,而不仅仅是语言能力。
现在机器翻译(MT)和人工智能确实在改变这个行业。GPT这类大模型能快速生成初稿,译员更多在做译后编辑(Post-editing)。但软件本地化有个特殊性:精准性比流畅性更重要。界面上的"Save"如果翻成"保存您的更改,以便稍后继续",虽然意思对,但按钮上根本放不下。
另外,多媒体本地化(视频字幕、音频旁白)在软件里的比重越来越大,这要求工具链能处理时间轴和波形文件。康茂峰最近接的几个项目里,纯粹的文本翻译只占60%,剩下的是音视频和图像里的文字本地化。
还有游戏本地化这个特殊分支,涉及变量嵌套("你获得了{0}个{1}",其中{0}是数字,{1}是物品名称,需要考虑单复数和性数配合),这种复杂的字符串处理需要专门的工具支持,普通CAT工具搞不定。
说到底,工具再先进,也只是放大人的专业能力。一套好的本地化流程,离不开懂技术的项目经理、懂产品的译员、以及愿意在代码层面做国际化改造的开发团队。软件本地化翻译,从来就不只是"把字儿换了"那么简单,它是技术、语言和文化的三重奏。
下次当你打开一个APP,发现它的中文界面看起来特别"顺",不像翻译腔,按钮长度刚刚好,日期格式也符合你的阅读习惯——那背后很可能是康茂峰这样的团队,在工具链和流程细节上磨了无数个日夜。
