Unity游戏翻译插件5分钟上手:从解压到游戏里出译文
【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator
打了一晚上日服,菜单、剧情、说明书全是天书,逐条截图扔给翻译软件来回切换?XUnity.AutoTranslator 是个 Unity 游戏运行时翻译插件:它拦截游戏文本,调用在线翻译服务替换回去,接在 BepInEx、MelonLoader 这类插件管理器上跑。
先花10秒判断:值不值得折腾 🤔
三件事对号入座,不符合的直接关掉页面:
| 判断项 | 能装 | 别装 |
|---|---|---|
| 编译方式 | Mono(体验最完整) | IL2CPP(Unity 一种编译模式,插件加载方式不同,能跑但部分文本钩子、IMGUI 翻译缺失,需另装 IL2CPP 版) |
| 操作系统 | Windows 10/11 64 位 | macOS、Linux 没有现成支持 |
| 目标游戏 | Unity 单机或网游客户端 | 非 Unity 游戏、纯服务端游戏无解 |
如果你的游戏是 Mono 且系统是 Win10/11,直接跳到「改这三行配置」那节。
一条命令跑起来 🚀
- 去 Releases 页下载
XUnity.AutoTranslator-BepInEx-{版本}.zip - 按 BepInEx 5.x 的常规流程装进游戏(游戏里还没有就先装 BepInEx 本体)
- 把插件压缩包内容直接解压到游戏根目录,DLL 会落到
BepInEx/core和BepInEx/plugins里 - 启动游戏
- 首次启动会生成配置文件和
Translation缓存目录,按ALT+T切换原文/译文验证
如果你用的是 MelonLoader、IPA 或 Uni 平台,解压目录不同,照 README 的 Installation 一节 对应的包做就行。
改这三行配置就能用 ⚙️
下面这段解决「翻译成什么语言、用哪家翻译」两个核心问题。改完直接覆盖到BepInEx/config/XUnity.AutoTranslator.cfg(首次启动游戏后自动生成),{Lang}占位符会被目标语言代码替换,别手动改。
[Service] Endpoint=GoogleTranslate # ← 改这里:想换 DeepLTranslate/BingTranslate 都行 [General] Language=zh-CN # ← 改这里:要翻译成的语言 FromLanguage=ja # ← 改这里:游戏原文语言,auto 不推荐 [Files] Directory=Translation\{Lang}\Text # 不用动 OutputFile=Translation\{Lang}\Text\_AutoGeneratedTranslations.txt # 不用动 SubstitutionFile=Translation\{Lang}\Text\_Substitutions.txt # 不用动 [TextFrameworks] EnableUGUI=True # 不用动 EnableNGUI=True # 不用动 EnableTextMeshPro=True # 不用动验证是否生效:启动游戏后按ALT+T,界面在原文和译文间切换;自动翻译出来的句子会落进Translation\{Lang}\Text\目录下的文件,下次进游戏直接走本地缓存。
你的游戏长什么样,就按哪种配
对话密集型(JRPG、视觉小说)
[Behaviour] MinDialogueChars=10 ; 对话更短也翻译为什么:默认 20 字符以下不视为对话,日服短句多,压低阈值能多抓一半文本。
UI 密集型(模拟经营、策略)
[Behaviour] MaxCharactersPerTranslation=400 EnableBatching=True CacheWhitespaceDifferences=True为什么:菜单描述和商店条目偏长,单次请求放宽到 400;批量合并请求省配额;空行差异也缓存,下次同文案不同排版照样命中。
文字逐字打出的视觉小说
[Behaviour] GeneratePartialTranslations=True为什么:文本是滚动「打」出来的,默认钩子只认完整句子,开这个才能把半句也翻译掉。
出问题了?对号入座 🛠
游戏启动直接闪退或卡死→ 多半是文本钩子和游戏逻辑打架 →[Behaviour]里加TextGetterCompatibilityMode=True
插件装上了但游戏一个字没变→ 游戏用的文本框架没开(默认只开 UGUI/NGUI/TextMeshPro,IMGUI 这类调试窗口类 UI 默认关)→ 在[TextFrameworks]里把对应EnableXXX改成True,再ALT+U手动刷一遍钩子
中文字全变方块→ 游戏字体不含中文字形 → 用OverrideFont(UGUI)或FallbackFontTextMeshPro指向一份支持中文的字体
翻译请求频繁中断、插件自己关了→ 触发了防滥用保护(连续 5 次无结果、或队列积压超 4000 会自杀)→ 换Endpoint或修网络,恢复后用ALT+Q重启插件
查问题只看一个日志就够:BepInEx 装在BepInEx/LogOutput.log,独立安装(ReiPatcher)在ReiPatcher目录的日志里。
想再深一层?
手动翻译:改Translation\{Lang}\Text\里的任意 txt,优先级高于自动缓存,适合做汉化补丁 → 目录里直接编辑,ALT+R热重载
前后处理规则:用正则给文本做模板替换、术语统一 →_Substitutions.txt和_Preprocessors.txt
纹理翻译:把游戏截图、贴图整体换掉,不止文字 → 配置[Texture]段
写自定义翻译器:接任意 HTTP 接口或本地模型 → 实现接口参考 src/Translators/ 里的现成端点
最后一句话 🎯
它省掉等官方本地化的时间,也省掉逐条查词典的时间,剩下的就是选个顺手的翻译端点开工。
【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考