跳到主要内容
返回博客
TranslateHub·产品本地化·

游戏本地化翻译指南:UI 文案、占位符、复数规则与多语言测试

游戏翻译不只是把剧情翻成外语。本文详解按钮文案、任务描述、角色对话、变量占位符、ICU 复数、字体截断、术语表、伪本地化和实机 LQA 的完整工作流。

游戏界面、任务提示、可切换语言的 UI 卡片和变量占位符组成的游戏本地化主题矢量插画
主题插画:AI 生成,用于辅助说明文章场景。

游戏本地化最容易暴露问题的地方,往往不是一大段剧情,而是玩家每天都会点击的按钮。源语言里写着 “Claim”,译成“索赔”在词典里可能说得通,但放在游戏领奖页面,玩家更期待看到“领取奖励”。游戏翻译必须知道文本出现在哪里、玩家要做什么以及变量如何变化。

本文面向独立游戏团队、客户端开发者、运营和本地化负责人,系统讲解游戏 UI 翻译、任务与剧情文本、变量占位符、复数和性别、字体布局以及上线前语言质量测试(LQA)。示例是通用工程实践,不代表 TranslateHub 直接读取 Unity、Unreal 或特定游戏引擎项目文件;集成时需要由项目侧完成文本提取、回填与测试。

一、游戏本地化和普通文章翻译,差别在哪里?

文章译文可以通过上下文段落解释含义,游戏 UI 却经常只有几个字,还受按钮宽度、动态数值和当前玩法状态限制。“Save”在存档菜单里是“保存”,在救援任务里可能是“营救”;同样的英文文本不能在整个项目中套用一个固定译法。

通常需要至少区分四类内容:

内容类型翻译重点常见风险
导航与按钮操作意图、长度、与实际交互一致动词选错、按钮截断
物品与技能名词术语、等级、数值和单位同一技能多种译名
任务与系统提示条件、时间、否定和状态把“尚未完成”误成“已完成”
剧情与角色对白人设、语气、文化语境和叙事连续性性格漂移、前后称谓不一致

翻译启动前先说明目标语言、目标市场、年龄分级相关要求,以及用户使用的操作设备。移动端小屏幕、主机界面和 PC 鼠标交互,常常需要不同长度和可见区域的文案策略。

二、先建立稳定的文本 Key,不要用原文直接当唯一标识

把界面上所有句子导出成一个电子表格,看起来可以立即开始翻译,但如果只用英文原句匹配,很快会遇到歧义。例如 “Open” 可能是“打开背包”,也可能表示房间状态“开放中”。同一个词在不同模块的含义可能完全不同。

建议为每条文案建立稳定 key,并保存场景说明、最大可用空间、截图、变量定义和源文案版本。翻译人员应看到文本使用的交互背景,而不是只看一个没有上下文的字符串。

{
  "key": "battle.reward.claim_button",
  "source": "Claim",
  "context": "战斗胜利后领取奖励的主按钮",
  "targetLocale": "zh-CN",
  "maxWidthPx": 136,
  "variables": []
}

这是项目内部的本地化任务示例,不是某个翻译 API 的固定格式。maxWidthPx 是特定界面下的设计约束,实际能放多少字还取决于字体、字号、字重和平台渲染方式;不能据此推出通用的汉字数量限制。

当同一 key 的源文含义发生变化时,应更新版本标识并触发重新评审;删除或弃用的 key 也要清理,避免游戏包中继续保留旧文案并误触发回退。

三、按钮、导航与 HUD 文案怎么翻译才符合玩家预期?

交互文案首先要准确描述点击后的动作,而不是追求逐字对应。比如 “Resume” 在暂停菜单中通常表示“继续游戏”;“Retry” 要区分是重新挑战本局、重新请求网络,还是再次尝试领取奖励。

可以建立统一的动作词表,明确 “Start / Continue / Resume / Retry / Claim / Equip / Unequip” 在具体游戏里的推荐译法与例外。列表中每一项最好附上截图与入口位置;英文相同但含义不同的情况应使用不同 key。

对 HUD(抬头显示界面)中的短提示,优先使用玩家熟悉且不会产生歧义的表达。省略号、省略主语或缩写可以节省空间,却可能让新玩家不知道操作后果。尤其涉及购买、消耗稀有道具和不可逆操作时,明确性通常比简短更重要。

新用户教程应在目标语言下完整走一遍,确认弹窗、按钮、提示箭头和任务目标之间没有冲突。按钮写“返回”,点击后却关闭整个活动页面,会被玩家认为是交互错误,而不仅是翻译问题。

四、变量占位符怎样保护?不要让翻译破坏程序格式

游戏文案常把动态数据插入句子,例如玩家名称、剩余次数、道具数量与倒计时。翻译时最重要的是保证变量标识不丢失、类型正确,并允许目标语言改变语序。

假设项目采用花括号命名占位符:

{
  "source": "{player} obtained {count} coins.",
  "zh-CN": "{player} 获得了 {count} 枚金币。",
  "ja-JP": "{player} はコインを {count} 枚獲得しました。"
}

这只展示一种占位符约定。你的项目可能使用 %s、{0} 或专门的消息格式,不能把一个项目的占位符语法直接应用到另一个引擎中。最稳妥的策略是解析实际格式,保护变量标识,翻译可见文字,再校验变量集合与类型。

例如从源文提取的变量集合为 {player, count},目标文案也必须包含同样的变量,不能翻出额外的 {price}。同时检查是否把两次出现的相同变量误删为一次,以及是否把大括号变成了全角字符。

变量含有用户输入时,还需考虑显示安全与敏感信息。昵称可能包含长字符串、换行或双向文字控制符,渲染层不能把任意昵称都当成安全的富文本标记。

五、复数规则:为什么不能简单写“1 个 / N 个”?

英语里“1 coin / 2 coins”的变化比较容易察觉,但其他语言的复数形式不一定只分单复数。仅凭中文的“若干个”思路设计一个可替换字符串,可能无法正确支持目标市场。

Unicode CLDR 使用 zero、one、two、few、many、other 等复数类别;不同语言使用的类别不同,不能假设六种形式每种语言都需要。可参考 Unicode CLDR Plural Rules 的说明。

一种工程方法是使用与项目运行时兼容的消息格式,如 ICU MessageFormat 风格的复数分支。下面仅作语法设计示例:

{count, plural,
  one {# coin}
  other {# coins}
}

翻译流程不应把这些分支表达式当普通句子随意改写。应解析消息模板、明确变量类型,并由运行时根据 locale 与实际数值选择分支。对每种目标语言,测试 0、1、2、5、21 及小数等代表性值,再依据该语言的规则补充样本。

注意复数之外还有序数、性别、格变化与礼貌等级等问题。某些语言需要因说话人或对象变化而选择不同句式,不能只用一个英文字符串加变量解决所有语法关系。

六、任务目标和剧情对白,怎么处理上下文与语气?

剧情常跨越多个章节,同一角色的称谓、口头禅与正式程度需要持续一致。只给翻译人员发逐行文本,会让一句“我会找到你”缺少说话对象和情绪背景,最终出现不符合角色人设的译法。

建议按章节或剧情节点提供最低必要上下文:说话者、听话者、地点、之前发生的事、关键道具以及台词用途。对剧透敏感的内容,可以通过受控权限提供摘要,而不是让每个人接触全部剧情资料。

任务文本尤其要区别目标、条件、进度和奖励。例如“在夜间击败首领”不能省略“夜间”;“完成后可领取”不能翻成“已经领取”。如果一个任务存在多个完成条件,应保留其逻辑关系与数值,不应为了自然表达随意合并。

对拟声词、笑话、双关和文化梗,可以允许改写,但要事先约定保留的核心效果,并经过剧情与市场负责人审核。文化适配不是强制把所有角色名改成本地常见名字,而是服务于玩家的理解与作品设定。

七、字体、字宽与自动换行,如何提前排查?

UI 翻译完成后,最直观的问题通常是文字被截断。德语复合词、阿拉伯语方向、中文标点与不同平台字体渲染都可能让布局表现与英文测试版不同。不要以字符串长度相同为标准判断布局安全。

可以先做伪本地化测试:把源文扩展为更长的测试串,加入重音字符或不同文字系统样本,在不完成全部翻译的情况下暴露固定宽度、字符缺失和布局挤压的问题。伪本地化是测试手段,不是面向玩家发布的真实译文。

每种目标语言还需检查字体是否覆盖所需字符,是否正确处理断行、字符组合和从右向左的文本布局。对于动态 UI,例如战斗中的飘字、道具卡片和弹窗标题,应在最极端的数值与文本长度下测试。

宽度不足时优先优化组件布局、缩短非必要表达或调整版面层级。不要直接把关键操作说明缩小到难以阅读,也不要为了不截断而删除具有法律或购买含义的限定条件。

游戏本地化质量流程:提取字符串、附加上下文、术语与占位符检查、伪本地化、实机 LQA
语言审校与实机测试相互补充:文本正确不等于游戏界面可正确显示或理解。

八、如何搭建游戏翻译的术语表和风格指南?

一个实用术语表通常包括源词、首选译法、禁用译法、定义、上下文、角色或物品归属、首次出现位置和版本。对“mana”“stamina”“charge”这类容易一词多义的概念,应注明它们在游戏机制中的确切含义。

风格指南则回答另外一组问题:目标语言是正式还是轻松,按钮是否使用动词,数字与单位如何写,是否保留英文缩写,标点和角色称谓如何统一。两者共同作用,才能避免翻译人员仅依赖个别句子的字面意思。

术语并非越多越好。不要把所有常见动词都强制唯一译法;应优先锁定世界观核心概念、商品和货币名称、玩法状态、技能与道具,再对具体上下文设例外规则。

如果团队采用多种翻译引擎,术语结果也需要评审与回归。引擎切换只是候选文本来源变化,不能跳过项目既有的风格与 QA 门槛。可结合翻译质量评估框架定义评分标准。

九、翻译 API 如何接入游戏本地化流水线?

推荐将引擎资源和语言文件的生成过程分开:导出源字符串及上下文 → 去重并保护结构 → 翻译候选 → 校验变量与标签 → 人工审校 → 回写语言包 → 构建与实机 LQA。

例如项目使用 JSON 资源文件时,可以先遍历值节点,只抽取允许翻译的自然语言内容;key、变量标识、富文本标签与资源引用则必须保持结构。不要直接对整个 JSON 文件执行自由文本翻译,否则一个引号或逗号错误就可能导致客户端无法解析。

TranslateHub 的文本翻译 API 文档可用于规划文字翻译环节,但不能将它默认理解为原生支持游戏工程文件导入、变量自动保护、字体覆盖检测或引擎一键发布。资源提取器、格式校验器和构建插件需要按项目技术栈实现。

对于反复出现的系统消息,可以结合内容哈希与术语规则版本做增量处理;源文本改动后应重新生成候选译文。关于 JSON 资源的组织方式,另见 SaaS JSON 多语言本地化指南;其结构校验原则同样适用于部分游戏文本。

十、上线前的 LQA 应怎么做?哪些案例必须覆盖?

语言质量测试(LQA)应由熟悉目标语言且能操作游戏的人在真实构建中检查,而不是只在 Excel 表格中判断译文。测试计划最好按系统与语言维度组织:登录、教程、背包、商城、战斗、剧情、任务、设置、帮助与错误提示。

测试场景重点检查
低血量、满背包等异常状态提示是否保留正确行为与条件
长昵称、最大伤害值、超长物品名动态变量是否溢出或遮挡
0、1、2、5、21 个道具复数分支和单位表达是否自然
未翻译 key、缺少语言资源回退策略是否清楚且不会暴露内部 key
不同平台字体与文本方向缺字、换行、选择框和光标定位
商城购买与退款提示金额、币种、确认动作及风险提示
多轮对话与任务跳转角色称谓、进度和上下文一致性

记录问题时附上语言、客户端版本、场景路径、截图或录像、文本 key、实际结果和预期结果。无法稳定复现的问题也要注明设备和操作条件,避免只留下“这句翻译不好”这种难以修复的反馈。

上线后可观察与语言相关的客服问题、任务放弃节点和回退事件,作为下一轮改进线索。但不能直接把玩家留存或转化变化全部归因于翻译;应结合产品改版、活动和流量来源分析。

十一、游戏本地化常见问题 FAQ

游戏 UI 翻译可以直接用通用翻译工具吗?

可以用于生成初稿,但应同时提供界面上下文并检查按钮行为、文本宽度和变量格式。关键购买与状态提示必须经过实际场景验证。

游戏翻译为什么经常出现同一个词不同译法?

因为原文同形词可能跨多个玩法或缺少术语规则。按文本 key 保存用途、定义和推荐译法,比全局替换一个英文单词更可靠。

变量占位符被翻译了怎么办?

先回退这条候选文本,核对模板语法与变量集合,再采用解析保护和自动校验;不要直接用正则替换所有花括号内容而不做测试。

所有语言都只有单数和复数两种形式吗?

不是。应依据目标语言的 CLDR 复数规则及运行时格式实现分支,按代表性数值测试,不能把英文规则推广到所有语言。

游戏本地化只完成语言表就能上线吗?

不能。字体覆盖、自动换行、按钮宽度、动态文案、剧情衔接和实机交互仍需要 LQA,否则会出现语言表正确但画面无法使用的问题。

没有完整游戏项目,也能先开展翻译吗?

可以先导出带稳定 key 和上下文的资源,建立术语与风格规则并生成候选译文;但最终仍需要在实际游戏构建中验证并修复显示问题。

十二、总结:让译文在游戏规则和界面里真正成立

游戏本地化是一套持续的工程过程,而不是一次性的批量文本替换。稳定 key、术语与上下文、占位符检查、语言规则、伪本地化和实机 LQA 共同决定了玩家最终看到的质量。

如果计划从单一语言扩展到多个市场,建议先选一个目标语言跑通完整链路,再逐步增加语言、内容类型与自动化检查。结合翻译 API 选型指南评估翻译能力,并把语言包构建与回滚纳入现有发布流程,通常比上线前一次性处理所有文本更可控。

继续阅读

全部文章 →