XUnity.AutoTranslator:十分钟让没中译的 Unity 游戏跑起来
【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator
玩日版 Unity 游戏却找不到中文字幕?XUnity.AutoTranslator 在游戏运行时挂钩它的文本组件,接一个翻译 API,就能把屏幕上的对话实时译成目标语言,不用改源码,也不用重做客户端。
把文件丢进这个文件夹
最快的一条路走 BepInEx 包,总共四步:
- 先在游戏根目录装好 BepInEx 本体,官方安装脚本会自动完成
- 从项目 Releases 页下载 BepInEx 版本的发布包
- 直接解压到游戏根目录,插件 dll 会落到
BepInEx/plugins/XUnity.AutoTranslator/下 - 启动游戏,首次运行会在插件目录自动生成
AutoTranslatorConfig.ini
如果你的游戏装不了 BepInEx(IL2CPP 编译的项目很常见),项目里还有 ReiPatcher 独立版、MelonLoader 版和 IPA 版,README 里有对应步骤,思路都一样:把 dll 放对地方。
再记一句:插件核心在src/XUnity.AutoTranslator.Plugin.Core/,每个翻译引擎是插件目录Translators子文件夹里单独的一个 dll。后面所有配置其实都是在"指认"这些 dll,理解了这个关系,看 ini 会轻松很多。
改三行 ini,拿到中文游戏
AutoTranslatorConfig.ini是标准 INI 文件:[段落]打头,里面一行一个键=值,首次生成的默认文件每行都带注释。第一次上手只需看三处:
[Service] Endpoint=GoogleTranslateV2 ; 翻译引擎,默认走谷歌免费接口 [General] Language=zh-CN ; 你希望游戏里看到的语言 FromLanguage=ja ; 游戏原本的语种Endpoint的值和Translators/下的 dll 名一一对应,改成 Bing、DeepL 或 Papago 都不用别的设置,免费引擎直接可用。要用百度这种带认证的引擎,就在它自己的段落里补上 AppId 和 AppSecret,密钥别外传。
Language和FromLanguage决定 API 往哪个语言对翻,改完之后所有被截获的文本都按新语言对处理。FromLanguage建议显式写上游戏的真实语种,自动识别的失误比想象中多。
还有一个容易误会的行为:一段文字第一次遇到时,插件发请求,结果写进插件目录Translation/zh/Text/下的缓存文件;下次启动已知文本直接读本地,不再请求。所以首通慢、二通快,翻译缓存越玩越厚,网络请求越玩越少。
调顺这几个开关,玩起来才舒服
ALT+T—— 按一下全游戏在译文和原文之间切换。怀疑某句翻译不准时按它对比,不用重启回去查原句。
ForceUIResizing—— 中文排版比原文密,文字经常撑破文本框。[Behaviour]段把它改成True(EnableUIResizing默认已开,这个更强势),UI 框会跟着译文长度自动缩放,改完你会注意到对话框不再截字。
ALT+R—— 想亲手改某句,直接编辑翻译 txt,保存后按这个组合键原地重载,不用重启。这也是"手动补丁 + 机翻"的入口:大批量交给机器,少数关键句自己修。
顺带一提,ALT+0能打开游戏内设置窗口,切引擎、改语言都在里面点,临时实验不必动 ini。
翻车了,改这两行
翻译生效时崩溃或卡死?
打开AutoTranslatorConfig.ini,找到[Behaviour]段,把TextGetterCompatibilityMode从False改成True,重启游戏。这个模式换一种取文本的方式,牺牲一点性能换稳定,卡在这一步的玩家比想象中多。
某块文字始终停在原文?
看[TextFrameworks]段。UGUI、NGUI、TextMeshPro 默认开启,IMGUI 和 TextMesh 默认关闭。把没被翻译的 UI 对应的游戏所用框架改成True——大量视觉小说把对话放在 IMGUI 里。
更新前,先备份 ini
升级插件前把AutoTranslatorConfig.ini拷一份出来,你选的引擎和语言都在里面。
【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考