Unity游戏翻译插件免费方案:XUnity.AutoTranslator 汉化安装配置与调优完整指南
【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator
深夜,你终于把心心念念的那款日系游戏下载完毕,兴冲冲双击启动,结果满屏假名扑面而来——这大概是很多玩家都经历过的心碎时刻。想跨过语言这道坎,你需要一个趁手的 Unity游戏翻译插件。本文要讲的 XUnity.AutoTranslator,正是一款开源免费、能在游戏运行时自动识别并翻译文本的插件,无需改动游戏文件,装好、配好、启动,汉化就能自动跟上。
一句话概括:它是一套"即插即用"的游戏内实时翻译方案,同时兼容 BepInEx、MelonLoader、IPA、UnityInjector 等主流插件框架,也支持脱离任何框架独立运行。
这个 Unity游戏翻译插件究竟能帮你省下什么?
先别急着装,花一分钟搞清它能带来什么,再决定要不要继续往下读:
- 省掉切屏翻译的麻烦:文本在游戏内直接变成目标语言,不用再 Alt+Tab 来回切换翻译软件;
- 兼容面广:无论你的游戏走的是 BepInEx 生态还是 MelonLoader 生态,都有对应的安装包;
- 免费且开放:项目完全开源,社区持续维护,翻译端点、文本框架、纹理替换等能力都可按需扩展;
- 不止自动翻译:它还内置了缓存、正则替换、逐插件翻译文件等机制,重度玩家可以把它调教得很顺手。
当然,前提是你的电脑能联网——自动翻译需要访问在线翻译服务,如果介意这一点,可以考虑文末提到的离线翻译方案。
安装前先想清楚:三条路怎么选?
在动手之前,先确认你的游戏目前"住"在哪个插件框架里。这个判断直接决定了后续的安装动作。
方式一:独立安装(ReiPatcher),适合"裸奔"游戏
如果你的游戏没有装任何插件管理器,用这一条最省事:
- 下载
XUnity.AutoTranslator-ReiPatcher-{VERSION}.zip压缩包; - 直接解压到游戏根目录,保证
SetupReiPatcherAndAutoTranslator.exe和游戏主程序 exe 在同一层; - 运行这个安装程序,它会自动把 ReiPatcher 配置好;
- 之后通过生成的"(游戏名)(Patch and Run)"快捷方式启动游戏,补丁会随启动自动注入;
- 后续再玩,直接双击游戏 exe 即可。
提醒:如果你的游戏已经装了受支持的插件管理器,就别再用这条路径,否则会互相打架。
方式二:BepInEx 插件,最推荐的一档
BepInEx 是目前 Unity 模组圈最主流的框架,官方也把它列为推荐选项:
- 下载
XUnity.AutoTranslator-BepInEx-{VERSION}.zip; - 解压到游戏根目录,让 DLL 文件落入
BepInEx/plugins/XUnity.AutoTranslator等对应目录; - 正常启动游戏,插件随框架自动加载。
方式三:MelonLoader 插件,另一大生态
如果你用的是 MelonLoader,流程同样简单:
- 下载
XUnity.AutoTranslator-MelonMod-{VERSION}.zip; - 把里面的 DLL 分别放到游戏目录的
Mods与UserLibs两个文件夹; - 启动游戏,插件即生效。
无论走哪条路,第一次启动后插件都会自动生成配置文件,接下来就轮到它上场了。
第一次启动,先做这三件小事
第一件:按 ALT+0 呼出设置界面
进入游戏后按ALT+0(是数字零,不是字母 O),就能打开插件自带的设置面板,翻译引擎、语言方向等选项都在这里。翻译引擎可以随时切换,不用重启游戏。
第二件:在 Translation 配置文件里定好语言
打开游戏目录下的AutoTranslator/Translation文件夹,找到自动生成的配置文件,把语言方向写清楚:
[General] Language=zh-CN ; 目标语言:简体中文 FromLanguage=ja ; 源语言:游戏原始语言是日语这里的关键是FromLanguage填对。部分翻译端点支持写auto让服务自动识别,但官方建议尽量显式指定,准确率更高。
第三件:确认文本框架开关
Unity 游戏里的文字组件五花八门,插件默认只开启了一部分文本钩子,剩下要靠你在配置文件里手动放行:
[TextFrameworks] EnableUGUI=True ; 最常见的 Unity UI 文本 EnableTextMeshPro=True ; 文字表现力更强的 TMP 组件 EnableNGUI=True ; 老牌 NGUI 插件文本如果你发现游戏里"有的地方翻了、有的地方没翻",十有八九是某个文本框架开关没打开——回到这里补上就行。
翻译引擎怎么挑?一张表看懂免费、付费与离线
引擎的选择直接决定翻译速度和文本质量,也决定你要不要掏钱。常见的几个选项对比如下:
| 引擎 | 是否需要密钥 | 特点 |
|---|---|---|
| Google Translate | 不需要 | 免费、语言覆盖最广,但接口偶有不稳定 |
| DeepL | 不需要 | 译文流畅度公认出色,适合剧情向游戏 |
| Bing Translate | 不需要 | 微软系服务,稳定性有保障 |
| Papago | 不需要 | 韩语翻译表现突出,适合韩国游戏 |
| Google Cloud / Azure 等正规 API | 需要 | 稳定可靠,有免费额度,适合商业化场景 |
| Lec Power Translator 15 | 无需联网 | 需本机安装该软件,适合离线环境 |
| ezTrans XP | 无需联网 | 日韩互译老牌工具,需配合 Ehnd 使用 |
另外,插件还支持CustomTranslate端点:只要提供一个符合约定的 HTTP 地址(携带from、to、text三个查询参数并返回纯文本结果),就能把翻译服务替换成你自己搭建的接口,自由度很高。
需要留个心眼:那些"免密钥"的在线端点本质上是借用公开网页接口,服务方一旦改版就可能失效,到时候在设置里换个引擎即可。
让翻译"变聪明"的三个进阶技巧
配置跑通只是及格线,想让体验更进一步,下面三招值得掌握。
技巧一:吃透两级缓存
插件把翻译结果存在两个地方:一是内存缓存,命中后毫秒级返回,几乎不拖慢游戏;二是磁盘缓存,以文本文件形式保存在 Translation 目录,下次启动直接复用。这意味着同一句话基本只会翻译一次,后续全是"读缓存"。
技巧二:用正则批量处理同类文本
遇到"物品 12"、"金币 999"这类带数字的文本,逐条翻译效率太低。正则替换可以一次搞定:
r:"^物品 ([0-9]+)$"=Item $1 sr:"^([0-9]{2}) ([\S\s]+)$"=$1 $2r:走的是正则替换,sr:则是替换后再把捕获组内容送去翻译,组合起来能处理很多"格式 + 内容"混合的文本。
技巧三:给单个插件开小灶
不同模组可能想把翻译文件分开管理。在Translation/Plugins下按插件名建文件夹放专属翻译即可;如果想让它没命中时回退到通用翻译表,在文件里加一行#enable fallback指令就行。专属文件优先级高,查不到再落到全局表。
不同游戏类型,参数怎么调最合适?
同一条配置不可能适配所有游戏,按类型微调效果立竿见影。
视觉小说:让对话识别更灵敏
文字密集、对话刷屏快,重点是把识别阈值调低、忽略空白干扰:
[Behaviour] MinDialogueChars=10 ; 更短的文本也当作对话处理 IgnoreWhitespaceInDialogue=True ; 忽略对话里的换行与空格 EnableUIResizing=True ; 译文变长时自动调整 UI角色扮演:给长文本留足空间
剧情文本往往很长,先提高单次翻译上限、关掉强制切分:
[Behaviour] MaxCharactersPerTranslation=300 ; 放宽单条文本长度上限 ForceSplitTextAfterCharacters=0 ; 不再强制截断长句 EnableTextMeshPro=True ; 确保 TMP 文本能被捕获动作游戏:以流畅度为第一优先级
战斗场景里卡顿最影响体验,适度收紧请求规模、多用缓存:
[Behaviour] TranslationBatchSize=2 ; 单批翻译量调小 MaxConcurrentRequests=1 ; 并发请求压到最低 EnableCaching=True ; 已翻译内容尽量走缓存核心思路其实就一句话:文本越重要、越愿意等,就放宽参数;画面越快、越吃性能,就收紧参数。
遇到问题先别慌:三张排查清单
场景一:文本完全没翻译
按顺序检查:先看BepInEx/LogOutput.log确认插件是否正常加载;再确认翻译引擎能正常联网;接着核对游戏版本与插件版本是否兼容;最后按ALT+R手动重载一遍翻译文件,往往能救活"卡住"的文本。
场景二:游戏变得卡顿
优先做减法:把并发请求数降到 1–2,拉长缓存有效期减少重复请求,关闭不需要翻译的 UI 元素,如果游戏里的图片文字你根本用不上,顺手把纹理翻译也关掉。
场景三:翻译质量不理想
先换引擎试试水;再用Substitutions.txt固定人名地名等专有名词;通过预处理器与后处理器文件做文本清洗;实在不行,直接编辑自动生成的_AutoGeneratedTranslations.txt,手工订正个别词句。
五个高频快捷键,建议截图收藏
| 快捷键 | 作用 |
|---|---|
ALT+0 | 打开 / 关闭设置界面 |
ALT+T | 在原文与译文之间切换显示 |
ALT+R | 重新加载翻译文件 |
ALT+U | 手动触发文本钩子,抓取漏网文本 |
ALT+F | 切换自定义字体覆盖(需先配置 OverrideFont) |
其中ALT+U最容易被忽视:有些游戏的特殊文本框架默认钩子抓不到,手动触发一下往往就有惊喜。
给开发者:两行代码接入翻译能力
如果你在做模组、想直接复用这套翻译管线,XUnity.AutoTranslator 提供了现成的 API:
// 同步查询:只读缓存,命中即返回 if (AutoTranslator.Default.TryTranslate(untranslatedText, out string translation)) { // 缓存命中,直接使用 translation } // 异步查询:缓存未命中时自动请求翻译端点 AutoTranslator.Default.TranslateAsync(untranslatedText, result => { if (result.Succeeded) { var translatedText = result.TranslatedText; } });一句话区分:TryTranslate适合"查得到就用,查不到就算"的场景,TranslateAsync适合"一定要拿到译文"的场景。
想参与社区也很简单:往src/Translators目录贡献新的翻译引擎实现,或修 bug、补文档、做测试,任何形式的反馈都能推动项目往前走。
写在最后
从"满屏假名"到"无缝畅玩",XUnity.AutoTranslator 用一套安装、几分钟配置就完成了这一切。它不挑框架、不收费、不锁死你的使用方式——普通玩家可以拿来即用,重度玩家可以精细调教,开发者还能在此基础上继续扩展。
如果你的收藏夹里还躺着几款因为语言问题没通关的游戏,不妨现在就把这份 Unity汉化插件配置教程用起来。装好、配好、启动,剩下的,交给它就好。
【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考