写在前面:本地化不是发布前翻译一下
魏川做了一款 2D 冒险游戏。
故事发生在一座北方小城,玩家扮演返乡的年轻人,在旧书店、河堤、公交站和亲戚饭桌之间寻找父亲留下的线索。
游戏文本量不算巨大,大约 7 万中文字。
魏川一开始只打算做中文版,后来发现海外玩家对这类叙事冒险也有兴趣,便决定增加英文版。
他以为这只是找人翻译的问题。
结果本地化让项目延期 5 个月,Steam 新品节也错过了。
一、所有文本都写死在场景里
早期为了开发方便,魏川把很多文本直接写在脚本和场景节点里。
NPC 对话在事件脚本里。
物品描述在背包 UI 里。
提示文字在触发器组件里。
甚至有些文本被拆成几段,和动画时间轴绑在一起。
中文版开发时,这样做很快。
需要改一句话,直接打开对应场景改就行。
但要做英文版时,问题全部暴露。
他必须把文本一点点抽出来,补 key,整理表格,再回填。过程中不断漏掉边角文本:
- 按钮上的“返回”
- 存档失败提示
- 教程里的短句
- 物品检查时的临时吐槽
- 结局名单里的说明
本地化从翻译任务变成了工程返工。
二、UI 没有为不同语言留空间
中文短,英文长。
这件事魏川知道,但没有提前设计。
游戏里有很多精致的小 UI:旧车票、便签、短信气泡、书页边注。中文版看起来很漂亮,英文一放进去就开始溢出。
有些按钮要扩大,有些字体要缩小,有些文本要分页。
更麻烦的是,部分 UI 本来就是按中文排版做的,英文换行后节奏全乱。
他原本想保持视觉效果,只让译者压缩英文。
但很多句子压缩后语气变差,人物声音不再自然。
最后他不得不重做一批界面。
三、翻译缺少上下文
魏川找了一位熟悉游戏文本的译者。
译者质量不错,但仍然频繁提问:
- 这句话是谁说的
- 这个“他”指谁
- 这里是讽刺还是认真
- 这个地名是否有隐喻
- 玩家之前是否知道这件事
这些问题都合理。
可魏川没有准备术语表、角色说明、剧情流程和截图上下文。
译者只能根据表格猜。
猜错后,进游戏才发现语气不对。
来回沟通拖慢了进度,也让魏川意识到:本地化不是把文本交出去,而是一次完整的内容制作协作。
四、测试时间被压缩到最危险的位置
英文版整合完成时,距离他原定参加的 Steam 新品节只剩 9 天。
他本想简单跑一遍流程。
结果测试发现:
- 某些英文行导致对话框卡住
- 部分选择项超出按钮
- 一个变量 key 写错后显示为空
- 存档里记录的是中文文本,切语言后状态异常
这些问题不难理解,但很难在 9 天内放心修完。
魏川最终放弃参加那次新品节。
错过窗口后,他的发行节奏被打乱,宣传内容也要重新安排。
复盘:如果计划多语言,本地化要从第一天进入架构
这个案例的教训非常实用:
- 文本不要写死在场景和脚本里
- UI 要预留长文本和换行空间
- 尽早建立术语表和角色语气说明
- 本地化版本也需要完整测试周期
个人开发者不一定一开始就做多语言。
但如果你期待海外发行,就不能把本地化当成最后的包装。
翻译只是本地化的一部分。
真正昂贵的是你之前没有为它留下位置。
继续阅读
探索更多技术文章
浏览归档,发现更多关于系统设计、工具链和工程实践的内容。