Unity游戏汉化从零到全通:免费实时翻译插件的完整实操手册
【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator
面对满屏日文、韩文或英文的 Unity 游戏,多数玩家的第一反应是等汉化组填坑,而缺乏人气的作品往往等到退坑也没等到中文。XUnity.AutoTranslator 正是为解决这一痛点而生的游戏实时翻译插件:它不触碰游戏本体文件,而是在运行时自动识别并翻译游戏内文本,是目前 Unity 游戏汉化圈子里口碑最好、使用门槛最低的免费方案之一。本文不按"功能清单"式的流水账讲解,而是把新手从安装到调优会踩的坑,按"遇到问题—解决问题"的顺序逐一拆开讲透。
装之前先弄清三件事
第一,它到底是怎么"偷"出文本的?
插件通过钩子(Hook)监听游戏里负责显示文字的组件,比如 UGUI、TextMeshPro、NGUI 这些主流 UI 框架,把显示中的原文抓出来发给翻译引擎,拿到结果后再原路写回界面。整个过程在游戏运行时完成,你不需要像传统汉化那样解包、改文件、封包,游戏本体目录始终保持原样。
第二,它需要联网吗?
需要。自动翻译本质是调用在线翻译服务,首次翻译某句话时会向服务端发请求。如果游戏环境完全没有网络,自动翻译这一条路就走不通,只能依赖手动翻译文件。
第三,装它会不会把游戏搞坏?
正常安装不会修改任何游戏原始文件,卸载时把相关插件目录删掉即可恢复原状。不过要留意:如果游戏里已经装了其他插件管理器,安装方式要选对(下文第三章专门讲),否则可能出现插件互相打架的情况。
装了却看不见中文?先按这份清单自查
这是新手最常遇到的第一个问题:按步骤装完、进游戏,屏幕上还是原文。别急着重装,按下表顺序逐项排查,九成问题都出在这几处。
| 排查项 | 怎么做 | 常见结论 |
|---|---|---|
| 插件是否真的加载了 | 查看游戏目录下的BepInEx/LogOutput.log或对应管理器日志 | 搜不到XUnity.AutoTranslator字样说明没装上 |
| 翻译引擎是否可访问 | 在浏览器里打开对应翻译服务页面 | 网络不通时插件会反复报错并可能自动停摆 |
| 文本框架开关 | 打开配置文件,确认EnableUGUI、EnableTextMeshPro等为True | 默认只开了常用几项,IMGUI 和 TextMesh 默认是关的 |
| 语言方向是否写反 | 核对FromLanguage(游戏原文语言)与Language(目标语言) | 写成一样等于没翻译 |
其中"文本框架"这一项最容易被忽略。不少老游戏用的界面框架比较冷门,插件出于性能考虑默认没有全部开启,导致"游戏一半被翻译、一半还是原文"。这种情况下,把配置里对应开关改为True再按ALT+R重载即可。
配置文件会在游戏首次启动时自动生成,路径一般在游戏根目录下BepInEx/config中,或者独立安装时的AutoTranslator相关目录里,文件名类似AutoTranslatorConfig.ini。
翻译引擎怎么选:四张表看清全貌
插件本身只负责"抓文本、写回结果",真正干活的是翻译引擎。不同引擎的稳定性、质量和费用差别很大,选错引擎是"翻译断断续续""结果像乱码"的头号原因。
免费且免认证的引擎,适合绝大多数玩家:
| 引擎 | 特点 | 适合场景 |
|---|---|---|
| GoogleTranslate | 语言覆盖广、响应快,无需任何密钥 | 大多数游戏的首选 |
| BingTranslate | 微软服务,整体稳定 | 被 Google 接口抽风困扰时备选 |
| DeepLTranslate | 号称质量最接近人工,无需认证 | 剧情密度高的 RPG、视觉小说 |
| PapagoTranslate | 韩语准确度突出 | 韩国开发的游戏 |
| LingoCloudTranslate | 中、日、英三语,中文环境友好 | 日中互译场景 |
需要申请密钥的"正规军"引擎:
| 引擎 | 获取方式 | 免费额度参考 |
|---|---|---|
| GoogleTranslateLegitimate | Google Cloud API Key | 新用户有试用额度 |
| BingTranslateLegitimate | Azure 订阅密钥 | 每月约 200 万字符 |
| YandexTranslate | Yandex API Key | 每日约 100 万字符 |
| BaiduTranslate | 百度翻译开放平台 AppId/Secret | 注册后有月度免费额度 |
| WatsonTranslate | IBM Cloud 凭证 | 每月约 100 万字符 |
完全离线的方案:如果游戏环境没网,或者你介意文本被送去第三方服务器,可以用 LecPowerTranslator15(需本机安装该翻译软件)或 ezTrans XP(需本机安装软件及 Ehnd 插件),两者都不需要联网,代价是翻译质量相对生硬。
开发者向的自定义端点:CustomTranslate允许把请求转发到你自己的 HTTP 服务,需要懂一点后端知识才能驾驭,普通玩家直接跳过即可。
换引擎只需要改配置文件里的一行:
[Service] Endpoint=DeepLTranslate FallbackEndpoint=GoogleTranslateEndpoint是主引擎,FallbackEndpoint是主引擎失败时自动接力的备用引擎,建议一主一备搭配使用。
三条安装路线怎么选
根据你电脑里已有的插件环境,安装路径完全不同。装错路线的典型后果是:插件管理器互相抢地盘,游戏直接起不来。
| 安装方式 | 前置条件 | 适合谁 | 关键动作 |
|---|---|---|---|
| 独立安装(ReiPatcher) | 什么都不用装 | 完全没接触过插件管理器的纯新手 | 解压后运行SetupReiPatcherAndAutoTranslator.exe |
| BepInEx 插件 | 已装 BepInEx | 玩模组的老玩家 | 把压缩包内容解压到游戏目录,DLL 落入BepInEx/plugins |
| MelonLoader 插件 | 已装 MelonLoader | MelonLoader 生态用户 | DLL 分别放入Mods与UserLibs |
如果游戏用的是 IL2CPP 后端(较新的 Unity 游戏很多是这种),需要搭配 BepInEx 6 的 IL2CPP 版本并选择对应的BepInEx-IL2CPP安装包,普通 Mono 版装上去不会生效。
对绝大多数人,我建议直接走独立安装:下载对应版本的压缩包,解压到游戏根目录,让安装程序与其他 exe 同级,运行一次,之后用生成的快捷方式启动游戏即可。全程不需要碰命令行,也不需要理解任何插件原理。
第一次进游戏,先按这组快捷键
插件内置了一套全局快捷键,先把它们记熟,比翻文档高效得多:
| 快捷键 | 作用 |
|---|---|
ALT+0 | 打开/关闭设置与翻译聚合窗口 |
ALT+T | 在原文与译文之间来回切换 |
ALT+R | 立刻重载翻译文件(改完配置或翻译表后最常用) |
ALT+U | 手动触发文本抓取,默认钩子漏抓时救急用 |
ALT+F | 切换自定义字体与默认字体(需配置了字体覆盖) |
ALT+Q | 插件因连续报错自动停机后,手动重启它 |
首次进入游戏后按ALT+0打开设置界面,把引擎与语言调好,接下来就交给插件自己跑。此时你会发现界面上原文与译文交替闪现,几秒后缓存生效,同一句话就不再重复请求翻译了。
翻译质量不满意?从这四个旋钮逐个调
机翻结果十有八九不够完美,但插件给了足够多的"人工干预旋钮",调完之后的体验能上一个大台阶。
旋钮一:手动翻译文件。插件会把翻译过的每句话自动记录到Translation\{语言}\Text\_AutoGeneratedTranslations.txt,这个文件里是"原文=译文"的格式。发现某句翻得不对,直接改这个文件,保存后按ALT+R重载,下次就按你的译文显示。这也是汉化组最常用的协作方式——把文件交给懂语言的人逐句校对。
旋钮二:替换表。人名、专有名词最容易翻错,比如角色名被音译成奇怪的字。在_Substitutions.txt里可以定义"看到原文就替换"的规则:
セシリア=塞西莉亚这一行的意思是:翻译前先把"セシリア"占住,翻译完再放回"塞西莉亚",保证人名稳定不漂移。
旋钮三:正则表达式。对带编号、带变量的文本非常有用。比如游戏里大量出现"获得金币 1234 枚"这类句式,与其让引擎逐句翻,不如用一条规则整体处理:
r:"获得金币 ([0-9]+) 枚"=Gold +$1正则规则要节制使用、并尽量限定范围,因为规则越多,性能开销越大。另外注意:正则不能放在下划线开头的自动生成文件里,要放在单独的手动翻译文件中。
旋钮四:前后处理。配置文件里的PreprocessorsFile和PostprocessorsFile分别对应"发给引擎之前"和"拿到结果之后"的文本加工,适合处理引擎不擅长的特殊符号与换行。此外,很多中文字体缺失变音符号,可以通过RomajiPostProcessing与TranslationPostProcessing选项自动清理。
游戏卡顿、翻译断流:先分清是谁的锅
插件内置了一整套"防滥用"机制,本质上是在保护翻译服务和保护你:它同一时间只发一个请求、同一句话变化不足一秒不会发送、单次会话请求总量有上限。翻译服务连续无响应时会自动停机,避免死循环刷爆接口。理解这套机制后,遇到以下现象就很好解释了。
现象一:翻译请求排队,界面更新有延迟。这是正常现象,插件刻意用 1 秒延迟确认文本稳定后才发送,防止把滚动中的半句话发出去。剧本密集的视觉小说里感觉尤其明显。
现象二:插件突然停机,日志提示连续错误。通常是翻译引擎被限流或网络波动。先换备用引擎,再按ALT+Q重启。如果频繁发生,考虑把Endpoint换成更稳的付费引擎。
现象三:游戏本身掉帧。先确认不是引擎请求排队导致的假卡顿。可以关闭不需要的文本框架,比如用不到 IMGUI 就保持EnableIMGUI=False;纹理翻译(EnableTextureTranslation)会带来显著的性能开销,不是刚需就别开。缓存类配置建议保留默认:
[Behaviour] EnableBatching=True UseStaticTranslations=True MaxCharactersPerTranslation=200EnableBatching让支持的引擎把多条翻译打包成一次请求,UseStaticTranslations使用内置常用短语表拦截一部分请求,这两项开着能显著减少网络往返。
不同游戏类型,配置各有侧重
同样是汉化,视觉小说、RPG 和动作游戏的痛点完全不同,插件也提供了对应参数:
| 游戏类型 | 常见痛点 | 推荐调整 |
|---|---|---|
| 视觉小说/ADV | 对话滚动入场,句子没翻完 | GeneratePartialTranslations=True,调低MinDialogueChars让短句也被识别为对话 |
| RPG/剧情向 | 文本长、界面元素多 | 调高MaxCharactersPerTranslation,开启EnableUIResizing让译文溢出时自动调整排版 |
| 动作/快节奏 | 追求即时反馈 | 保持默认防滥用参数即可,不要盲目调大请求量 |
翻译成中文后最常见的副作用是"字显示不全"——游戏自带的字体不含中文字形。UGUI 界面可以通过OverrideFont指定中文字体文件;TextMeshPro 更推荐用FallbackFontTextMeshPro,它让游戏在缺字时才切换到你的字体,对原版风格的破坏最小。
进阶玩法:给特定插件定制翻译与图片汉化
给某个插件单独做翻译。如果某个模组插件的界面也想汉化,且翻译结果与其他地方冲突,可以在Translation\{语言}\Text\Plugins\下按插件 DLL 名建文件夹,把翻译文件放进去。文件里加上一行指令,允许它回退到通用翻译:
#enable fallback汉化图片里的文字。部分游戏把关键信息直接画在贴图上(比如地图、立绘上的文字)。插件支持把游戏内的纹理导出到Translation\{语言}\Texture目录,你可以在图片上手动P上中文后放回原位,游戏加载时会用你的图替换原图。此功能需要在配置中开启:
[Texture] EnableTextureTranslation=True EnableTextureDumping=True注意纹理导出有明确的性能代价,只在确实需要时开启,用完记得关掉。
重定向资源文件。更进一步,插件还能拦截游戏加载的资源(如 TextAsset 文本资源),配合[ResourceRedirector]区域的开关实现整包文本替换。这套能力更多面向想制作完整汉化补丁的进阶用户,普通玩家知道有这条路即可。
从入门到上手,最后只差一次启动
回头看整篇文章,你会发现 XUnity.AutoTranslator 的全部使用逻辑可以压缩成一句话:选对安装路线 → 配好引擎和语言 → 让缓存跑起来 → 不满意就改翻译文件。它把 Unity 游戏汉化的门槛从"会解包、会编程"降到了"会解压、会记事本",这正是它多年来被社区持续维护、反复推荐的底气所在。
如果你手头正好有一款想玩却看不懂语言的 Unity 游戏,现在就可以下载对应版本的压缩包,按本文第三章选一条安装路线,进游戏后按ALT+0调好语言,然后享受第一次"界面瞬间变成中文"的惊喜。遇到任何本文没覆盖到的细节,随时查看项目根目录的README.md,那里有全部配置项与快捷键的官方说明;想研究实现原理的开发者,也可以直接阅读src/XUnity.AutoTranslator.Plugin.Core目录下的源码,从TranslationManager.cs开始,理解一条文本从被捕获到写回界面的完整旅程。
好的工具值得被更多人用上,而学会它,也许只需要你接下来的一次点击。
【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考