Unity游戏翻译神器XUnity.AutoTranslator:零基础完成游戏汉化,只需走完这4个阶段
Unity游戏翻译神器XUnity.AutoTranslator:零基础完成游戏汉化,只需走完这4个阶段
【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator
买到了心心念念的日文游戏,却发现自己连菜单都看不懂?XUnity.AutoTranslator 就是为解决 Unity 游戏翻译难题而生的免费开源插件,它能自动识别游戏画面上的文字、调用在线或本地翻译引擎实时替换成中文,全程不需要你动游戏文件,更不用写一行代码。这篇教程会带着你从零开始,一步步走到"精调汉化"的进阶玩法,全程 30 分钟内可见效果。
为什么说它是新手最省心的Unity游戏翻译插件?
市面上打着"汉化"旗号的工具不少,但大多要么只能翻译固定文本,要么要求你手动改游戏资源。XUnity.AutoTranslator 的思路完全不同,它的三个核心卖点一眼就能看出差异化:
✨即插即用、不改游戏本体—— 它通过"钩子"在运行时拦截并替换文本,游戏原文件保持原样,卸载插件即可还原,玩坏了也不怕。
✨四路安装方式全覆盖—— 独立安装(ReiPatcher)免依赖即点即用,同时也支持 BepInEx、MelonLoader、IPA、UnityInjector 这四类主流插件框架,几乎覆盖了市面上所有 Unity 游戏的 mod 环境。
✨翻译引擎自由切换—— 免费在线接口(Google、Bing、DeepL、Papago)、付费 API(Google Cloud、DeepL API、百度、彩云)、离线本地软件(ezTrans XP、LEC Power Translator 15)乃至自建翻译服务,全都可以在配置文件里一键切换。
阶段一:10分钟完成Unity游戏翻译插件安装,三条路线任选
安装是整个过程中唯一需要"动手"的部分,但一点也不难。启动游戏后插件会自动生成AutoTranslator配置目录,所以别急着配置,先把插件装进游戏再说。
路线A:独立安装(最省事,推荐新手)
- 从项目 Releases 页面下载
XUnity.AutoTranslator-ReiPatcher-{版本号}.zip。 - 把压缩包内容直接解压到游戏根目录,确保
SetupReiPatcherAndAutoTranslator.exe和游戏主程序同级。 - 双击运行安装程序,等它完成打补丁。
- 使用桌面生成的"游戏名 (Patch and Run)"快捷方式启动游戏,之后就可以直接用原版
.exe启动了。
💡 如果游戏已经装了 BepInEx 这类插件管理器,请走下面的路线B,独立安装会和它们打架。
路线B:BepInEx 插件方式(mod 玩家最常用)
- 先按 BepInEx 官方文档装好 BepInEx 本体。
- 下载
XUnity.AutoTranslator-BepInEx-{版本号}.zip,解压到游戏根目录。 - 启动游戏,插件会自动加载到
BepInEx/plugins/XUnity.AutoTranslator目录下。
路线C:MelonLoader、IPA、UnityInjector 方式
对应框架的用户分别下载XUnity.AutoTranslator-MelonMod、XUnity.AutoTranslator-IPA、XUnity.AutoTranslator-UnityInjector三个包,按压缩包内目录结构分别放入Mods、UserLibs、Plugins或UnityInjector文件夹即可,其余流程一致。
安装成功的验证方法:游戏内按ALT+0(注意是数字 0,不是字母 O),能弹出设置界面就说明插件已经活了。
阶段二:5步完成Unity游戏中文翻译设置,第一次看到中文
安装只是热身,配置才是重头戏。第一次启动后,插件会在AutoTranslator/Translation目录下生成配置文件,打开它,跟着下面 5 步走。
第1步:选定翻译引擎
找到[Service]小节,Endpoint就是翻译引擎开关。默认是GoogleTranslate,免费、支持语言最广,适合先跑通流程:
[Service] Endpoint=GoogleTranslate FallbackEndpoint=如果你追求翻译质量,可以改成DeepLTranslate,它的译文质量在免费方案里公认最好。想彻底离线就改成ezTransXP(需已安装 ezTrans XP 与 Ehnd)或LecPowerTranslator15(需已安装对应软件)。
第2步:配置源语言与目标语言
游戏原文是什么语言、你想翻成什么语言,都在[General]里定:
[General] Language=zh-CN FromLanguage=ja日语游戏翻中文就是上面这样;玩英文游戏改成FromLanguage=en即可。
第3步:打开对应文本框架开关
不同游戏用的 UI 文字组件不同,插件按框架分开关管理。找不到翻译时先来这看看:
[TextFrameworks] EnableUGUI=True EnableNGUI=True EnableTextMeshPro=True EnableTextMesh=False EnableIMGUI=False其中TextMesh(3D 空间漂浮文字)和IMGUI(老式即时模式界面)默认关闭,如果游戏里有部分文字没翻到,把对应项改成True试试。
第4步:进游戏实测
启动游戏后,对话框文字会在 1~2 秒内被替换成中文。按ALT+T可以在原文和译文之间来回切换,方便你随时比对。
第5步:按需微调[Behaviour]基础参数
如果发现连数字、道具名都跑去在线翻译,可以在[Behaviour]里把MinDialogueChars调高(默认 20,表示超过 20 个字符才当作对话去翻译),短文本交给本地缓存处理,既能提速又能省流量。
阶段三:3招让自动翻译升级成专属汉化,文本质量肉眼可见
自动翻译只是起点。真正让 XUnity.AutoTranslator 拉开差距的,是它那套"人可以随时插手"的翻译文件体系。所有翻译文件都是纯文本,放在AutoTranslator/Translation/目录下,游戏运行中按ALT+R即可热重载,改完立刻生效。
第1招:手动修正——把自动译文"据为己有"
每次自动翻译的结果都会追加到_AutoGeneratedTranslations.txt。你打开它,找到某句翻得不顺的日文,直接改等号右边的中文并保存、按ALT+R,这句话从此就按你的译文显示,再也不会被在线接口覆盖。
想彻底掌控某段文本时,可以把条目剪切到新建的.txt文件里——插件会读取该目录下所有文本文件,而_AutoGeneratedTranslations.txt永远拥有最低优先级,你的手工译文稳赢自动译文。
第2招:正则表达式——批量处理"长得像"的文本
游戏里最烦人的就是同一种格式刷屏:シンプルリング 01、シンプルリング 02……逐条手动翻会疯掉。这时用标准正则,一行搞定一类:
r:"^シンプルリング ([0-9]+)$"=Simple Ring $1如果游戏喜欢把多段文本拼在一起显示(比如道具名+数值),就用分割正则sr:,先把文本拆开分别翻译再拼回去:
sr:"^([0-9]{2}) ([\S\s]+)$"=$1 $2配合这条规则,你只需要维护一句シンプルリング=Simple Ring的普通词条,就能覆盖01 シンプルリング、02 シンプルリング等所有组合,翻译文件瞬间瘦身。
第3招:替换表、预处理与插件级翻译
- 替换表:在
_Substitutions.txt里维护人名、专有名词的强制替换,解决"同一角色名被翻成好几个版本"的痛点。 - 前后处理:
_Preprocessors.txt在文本发给翻译引擎前改写,_Postprocessors.txt在译文回来后二次修正,适合清理 HTML 实体、统一标点。 - 插件级翻译:如果某些 mod 的 UI 有自己的文本,可在
Translation/{语言}/Text/Plugins/下创建以插件 dll 命名的文件夹,放入独立词条,并在文件里加一行#enable fallback,让未命中的文本回落到通用翻译。
附:常用快捷键清单
| 快捷键 | 作用 |
|---|---|
ALT+0 | 开关设置界面 |
ALT+T | 原文/译文切换 |
ALT+R | 重载全部翻译文件 |
ALT+U | 手动触发文本钩子(默认钩子漏抓时用) |
ALT+F | 切换字体覆盖(配置了 OverrideFont 时生效) |
ALT+Q | 重启插件(翻译接口报错被自动关闭后使用) |
阶段四:5个高频排错场景,专治Unity游戏翻译不生效、乱码、卡顿
到了这个阶段,插件基本已经跑通,剩下的是见招拆招。下面是新手最容易撞上的 5 个场景及解决办法。
场景1:进游戏发现一个字都没翻
按优先级排查:先看BepInEx/LogOutput.log确认插件是否加载成功;再确认[TextFrameworks]里对应框架开关已打开;最后按ALT+U手动钩取一次文本。多数情况下,问题出在默认关闭的文本框架上,而不是插件本身。
场景2:翻译后文字溢出、被截断
中文普遍比日文占地方,UI 装不下是常态。插件默认开启了EnableUIResizing=True,会尽力调整文字组件的溢出策略。还不行的话,在Translation目录放一个resizer.txt,按路径精准缩字:
CharaCustom/CustomControl/CanvasDraw=ChangeFontSizeByPercentage(0.5)这条规则会把指定路径下所有文本字号缩到原来的 50%。想拿到组件的准确路径,打开[Behaviour]里的EnableTextPathLogging=True看日志即可。
场景3:中文显示成方框/乱码
这是字体问题——游戏自带的字体不含中文字形。在[Behaviour]中配置OverrideFont(UGUI 用)或FallbackFontTextMeshPro(TextMeshPro 用),指定一个带中文字形的字体文件即可。配好后按ALT+F可以在原字体和覆盖字体间切换对比。
场景4:游戏卡顿、翻译请求太多
插件内置了 15 条防刷机制:同一文本 1 秒内不重复请求、全局最多 8000 次请求、同时只发 1 个请求、结果全部进内存和磁盘缓存……这些默认策略已经相当克制。如果你发现某个场景还是卡,把[Behaviour]里的EnableBatching=True保持开启,并检查是不是把EnableIMGUI这类开关开得太宽了。
场景5:遇到 IL2CPP 打包的游戏
插件对 IL2CPP 游戏有专门支持(需使用 BepInEx 6 或 MelonLoader 的 IL2CPP 专用包),但功能不如 Mono 版完整:IMGUI 文本暂不支持、TextGetterCompatibilityMode暂不可用、个别文本组件需要ALT+U手动刷新。玩这类游戏时,记得降低预期、多用快捷键辅助。
新手避坑清单:6个最常见的Unity游戏汉化翻译误区
- 装了插件管理器还用独立安装—— 会造成补丁冲突,记住"有 BepInEx 走 BepInEx,没有才用 ReiPatcher"。
- 不区分 Endpoint 和 FallbackEndpoint——
FallbackEndpoint只是主端点失败时的备胎,不是备用翻译源,别指望它能双引擎出译文。 - 把正则写进自动生成文件—— 以
_开头的自动生成文件(如_AutoGeneratedTranslations.txt)不识别正则,正则请放到普通翻译文件里。 - 中文乱码就怪翻译引擎—— 九成是字体问题,先试
OverrideFont/FallbackFontTextMeshPro。 - 开着付费 API 长时间挂机—— 插件会尽量省请求,但不会替你兜底账单,使用付费端点前先看清免费额度。
- 到处分享自己的 API Key—— 如果 Key 意外泄露,立刻去服务商后台吊销重发,这是所有在线翻译端点通用的安全底线。
翻译引擎怎么选:一张对比表终结选择困难
| 引擎 | 是否需要Key | 免费额度 | 适合场景 |
|---|---|---|---|
| GoogleTranslate | 否 | 无限制 | 先跑通流程、应急尝鲜 |
| DeepLTranslate | 否 | 无限制 | 剧情向游戏,译文质量高 |
| PapagoTranslate | 否 | 无限制 | 韩语游戏,韩译准确度高 |
| BaiduTranslate | 是 | 每月5万字符 | 中文母语用户、国内网络环境 |
| LingoCloudTranslate | 是 | 认证后每月100万字符 | 日中英三语互译 |
| ezTrans XP | 需装软件 | 无限制 | 离线日韩翻译、注重隐私 |
| LecPowerTranslator15 | 需装软件 | 无限制 | 完全离线、稳定不出错 |
| GoogleTranslateLegitimate / DeepLLegitimate | 是 | 各有试用额度 | 追求稳定、可付费 |
选型建议就一句话:先用免费的 Google 或 DeepL 跑通,再根据质量需求决定要不要上付费端点。
开发者入口:给Unity游戏翻译生态添砖加瓦
如果你会写 C#,这个项目为你留好了两道扩展口:
- 新增翻译引擎:在
src/Translators/目录下参照现有实现(比如DeepLTranslate、BaiduTranslate)写一个端点插件,编译后丢进Translators文件夹即可被主插件识别,代码量远比想象中少。 - 调用翻译 API:游戏内其他 mod 可以这样集成翻译能力:
// 同步查询缓存 if (AutoTranslator.Default.TryTranslate(untranslatedText, out string translation)) { // 命中缓存,直接用 } // 异步请求在线翻译 AutoTranslator.Default.TranslateAsync(untranslatedText, result => { if (result.Succeeded) { // 拿到翻译结果 } });核心逻辑集中在XUnity.AutoTranslator.Plugin.Core/下,接口定义清晰,适合作为二次开发的参考。项目还提供了ExtProtocol扩展协议,可以让翻译服务跑在独立进程里,解决部分 Unity/Mono 版本的网络库兼容问题。
资源汇总与行动号召
到这里,你已经从"看不懂日文"走到了"能自己调教翻译质量"的程度。把上面 4 个阶段走完,XUnity.AutoTranslator 带给你的就不仅仅是一个汉化插件,而是一套可以持续积累、随玩随改的专属翻译库。
想深入研究的资料都在这:
- 安装与完整配置说明:项目根目录的
README.md,覆盖所有安装路线和全部配置项注释。 - 版本更新记录:
CHANGELOG.md,看每个版本新增了哪些端点、修了哪些 bug。 - 翻译端点源码:
src/Translators/,想自己实现引擎就从这里入手。 - 获取源码:
git clone https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator
现在就去下载对应你游戏框架的安装包,按下ALT+0打开设置界面,选好翻译引擎,让第一款属于你的中文 Unity 游戏在今晚跑起来吧。如果卡在某个环节,回看上面的阶段四排错清单,绝大多数问题都能在十分钟内自己解决。
【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
