ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

游戏翻译工具实战:7个步骤让外语游戏实现实时汉化

游戏翻译工具实战:7个步骤让外语游戏实现实时汉化

游戏翻译工具实战:7个步骤让外语游戏实现实时汉化

【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator

想不装汉化补丁就把日文、英文游戏实时换成中文?XUnity.AutoTranslator 正是一款面向 Unity 引擎游戏的实时汉化工具,它能自动识别游戏画面里的文字并即时翻译回填,也支持手工维护译文。这份指南按"装前弄懂→动手安装→首次验证→调优提速→手工救场"的推进顺序,用 7 个可操作的步骤带新手走完全流程。

第一步:先弄懂它"实时"在哪里

很多人误以为这类工具是"截图翻译",其实它的工作方式完全不同。它做的是文本捕获(Text Hooking):在游戏运行时挂钩(Hook)文字组件的读写方法,把显示前的原始字符串截下来,交给翻译流程处理,再把结果写回去。整个过程发生在内存里,不修改游戏本体文件。

一次完整的翻译请求会走这样的流水线:

环节发生什么备注
捕获拦截 UI 文字组件的赋值动作支持 UGUI、NGUI、TextMeshPro、TextMesh、IMGUI 等
查缓存先在本地已翻译词条里查找命中则直接显示,不发网络请求
翻译未命中则发给在线翻译端点端点就是各翻译服务的插件
回填把译文写回文字组件可附带字号、换行等调整

这里有两个术语需要先记住:**翻译端点(Translate Endpoint)**指接入的翻译服务,比如 Google、DeepL、百度;翻译缓存指本地保存的历史译文,同一句话只翻译一次。核心实现代码在src/XUnity.AutoTranslator.Plugin.Core/Hooks/src/Translators/两个目录下,前者负责捕获文字,后者存放各翻译引擎的接入插件,有兴趣可以对照源码理解。

第二步:安装前先回答三个选择题

动手下载之前,先想清楚三件事,能省下后面一大半的折腾时间。

选择一:你的游戏用哪套 Mod 框架?

这个工具不绑定单一框架,官方支持多种挂载方式,默认推荐 BepInEx。对照下表挑一个:

挂载方式适用场景安装难度
BepInEx绝大多数 Unity 游戏,社区生态最好
MelonLoader部分采用 Melon 生态的游戏
IPA特定游戏所需的框架
UnityInjector老游戏或已有该环境
ReiPatcher 独立安装不想装任何 Mod 管理器时低(但易与框架冲突)

选择二:装哪个安装包?

发布包按挂载方式命名,例如XUnity.AutoTranslator-BepInEx-{版本号}.zip。选错了包,最常见的症状是启动游戏毫无反应。

选择三:装到哪个目录?

答案永远是游戏根目录,也就是游戏主程序 exe 所在的那一层。解压时不要把压缩包里的文件夹再嵌套一层,保证插件 dll 直接落进对应的BepInEx/plugins目录。

如果你想自己编译最新源码,可以 clone 仓库 https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 后用 Visual Studio 打开根目录的XUnity.AutoTranslator.sln构建,libs/目录下已备好各框架的依赖 dll。

第三步:以 BepInEx 为例,10 分钟完成部署

假设你的游戏是常见 Unity 引擎,按下面 4 步走,每一步都有明确的完成标志。

  1. 装好 BepInEx 本体:把 BepInEx 的压缩包解压到游戏根目录,先启动一次游戏再关闭,让框架生成必要的文件夹。✅ 完成标志:游戏根目录出现BepInEx文件夹
  2. 放入翻译插件:下载XUnity.AutoTranslator-BepInEx-{版本}.zip,解压后把其中所有文件覆盖进游戏根目录。✅ 完成标志:BepInEx/plugins/XUnity.AutoTranslator/目录下能看到XUnity.AutoTranslator.Plugin.Core.dllXUnity.AutoTranslator.Plugin.BepInEx.dllExIni.dll等文件
  3. 启动游戏:正常双击游戏 exe。插件会在首次运行时自动生成配置文件AutoTranslatorConfig.ini。✅ 完成标志:插件目录下出现这个 ini 文件
  4. 观察悬浮窗:游戏界面左上角应出现一个小窗口。✅ 完成标志:能看到窗口即挂载成功

如果第 3 步后什么都没生成,按"目录权限 → 杀毒软件拦截 → 框架版本是否匹配游戏"的顺序排查,这是出现频率最高的三个原因。

第四步:第一次启动后,用四个快捷键做体检

插件有一组全局快捷键,先记住最常用的四个:

快捷键作用适合场景
ALT+0开关翻译插件的控制面板查看状态、切换端点
ALT+T在译文与原文本之间切换对比翻译效果
ALT+R立即重载本地译文文件改完文本文件后刷新
ALT+U手动触发文字捕获游戏默认没抓到的文字

体检流程建议:进游戏 → 找一个有文字的场景 → 按 ALT+T 看能否在原文本和译文间切换 → 切回译文后观察是否有明显漏译。如果大部分文字没反应,先别急着怀疑插件坏了,八成是下面第五步要讲的配置问题。

第五步:翻译引擎怎么选,决定译文质量上限

翻译端点存放在插件目录下的Translators/子文件夹里,每个服务对应一个 dll。内置端点分两类:

免注册直接用的GoogleTranslateBingTranslateDeepLTranslatePapagoTranslate。优点是不需要任何账号,缺点是这类免费通道不稳定,官方 README 也明确提示"随时可能失效"。

注册拿密钥(API Key)的:稳定性好、有免费额度,适合长期使用。

端点要不要注册免费额度参考适合谁
BaiduTranslate要(AppId+密钥)每月前 5 万字符中日、中韩互译需求
YandexTranslate每天 100 万字符量大、多种语言
LingoCloudTranslate每月 100 万字符中日英三语场景
BingTranslateLegitimate每月 200 万字符微软系服务用户
DeepLLegitimate每月 50 万字符追求翻译文学性

选定后,打开AutoTranslatorConfig.ini,在[Service]段修改两行:

[Service] Endpoint=BaiduTranslate ; 主端点 FallbackEndpoint=GoogleTranslate ; 主端点失败时自动切换的备用端点

对应各服务的密钥填在文件下方的独立小节里,例如百度的[Baidu]段要填BaiduAppIdBaiduAppSecret。所有端点插件的源码都可以在src/Translators/下找到,比如src/Translators/BaiduTranslate/src/Translators/DeepLTranslate/

第六步:想让翻译更快更稳,只动三个开关

新手最容易在配置文件里迷路,其实日常只需关注三个地方。

开关一:手动指定源语言

[General]段的FromLanguage默认是ja(日语),Language默认是en。要汉化就改成:

[General] FromLanguage=ja Language=zh-CN

虽然部分端点支持FromLanguage=auto,但自动检测会明显拖慢速度、增加误判,能手动指定就别偷懒。

开关二:解决中文缺字

这是汉化到中文时几乎必遇的问题:游戏自带字体不含中文字形,译文显示成方块或空白。对策是在[Behaviour]段配置OverrideFont(UGUI 用)或FallbackFontTextMeshPro(TextMeshPro 用),指向一个包含中文字符的字体文件。这是"译文出来了但显示不全"时的第一排查项。

开关三:理解它的"防刷"逻辑,别催

插件内置了多道防滥用机制:同一句文本要等 1 秒无变化才会发起请求;同一时间只发一个请求;单次游戏会话最多 8000 次请求;连续失败会自动停摆。看到翻译"慢慢出"是正常现象,它是在主动保护你的端点额度。EnableBatching=True(批量合并请求)和内存+磁盘双缓存都能显著减少重复请求,保持默认即可。

第七步:自动翻译靠不住时,用手工词条救场

在线翻译难免有术语错误或剧情误译,好在这套工具把手写译文的口子留得很大。

自动翻译结果会实时写进Translation\{Lang}\Text\_AutoGeneratedTranslations.txt(Lang 指语言代码,如zh-CN)。你可以直接编辑这个文件,把错误词条改成你想要的样子,保存后按ALT+R立即生效,不用重启游戏。

想批量修正固定称谓,用替换文件_Substitutions.txt

主人公=主角

想处理带数字的道具名这类动态文本,可以用正则词条。标准正则以r:开头:

r:"^シンプルリング ([0-9]+)$"=Simple Ring $1

分割正则以sr:开头,把组合文本拆开翻译再拼回:

sr:"^([0-9]{2}) ([\S\s]+)$"=$1 $2

需要说明优先级:手工词条(包括替换文件里的)永远优先于自动生成文件里的译文。这一整套手工机制对应的文件模板,可以从src/XUnity.AutoTranslator.Plugin.Core/下的加载逻辑里看到完整的读取顺序。

三个新手最常踩的坑

坑一:部分文本框架默认是关的

EnableIMGUIEnableTextMesh默认是False。如果发现游戏里某些窗口(尤其是 Mod 自带 UI)永远不翻译,多半就是这个原因。改成True前要有心理准备:IMGUI 文本容易被频繁捕获,属于"能开但别乱开"的选项。

坑二:IL2CPP 版功能有缩水

对 IL2CPP 编译的游戏(Unity 2019.2 以后很多新作如此),插件支持并不完整:部分文字变化检测不到、IMGUI 不支持。判断依据是发布包名是否带-IL2CPP后缀,选错版本会直接装不上。

坑三:把免费端点当长期饭票

不注册的免费端点(Google、Bing、DeepL 等)随时可能因服务方改版而失效,这是 README 里反复强调的现实。追求稳定就把主端点换成带密钥的服务,并顺手配置FallbackEndpoint兜底。

上手核对清单

照着这张清单走一遍,能覆盖 90% 的新手问题:

  • 挂载框架与游戏匹配,插件 dll 在正确目录
  • 首次启动后生成了AutoTranslatorConfig.ini
  • FromLanguage已手动指定,Language已改为zh-CN
  • 主端点已选定,需要密钥的已填入对应小节
  • 中文出现方块字时已配置OverrideFontFallbackFontTextMeshPro
  • 试过 ALT+T 切换、ALT+R 重载
  • 确认Translation\{Lang}\Text\下有自动生成译文文件,且手工词条优先级生效

完成这些之后,下一步建议读一读项目根目录README.md的 Configuration 章节,里面详细解释了空白处理、UI 自适应缩放、TextMeshPro 字体加载等进阶选项;想深入了解文本是怎么被查表和匹配的,可以看src/XUnity.AutoTranslator.Plugin.Core/Parsing/下的解析相关源码。从"能跑起来"到"翻得准",中间差的往往只是一份属于自己的术语表。

【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

返回列表