XUnity.AutoTranslator 使用指南:3 步给 Unity 游戏加上实时翻译
【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator
XUnity.AutoTranslator 是一个 Unity 游戏翻译插件:它自动识别游戏内的对话、菜单和界面文本,通过在线翻译服务实时翻译,并把结果写入本地缓存,下次遇到相同文本直接命中,速度快、不重复请求。
🧭 先做适配判断:它适合你的游戏吗
| 场景 | XUnity.AutoTranslator 的能力 |
|---|---|
| 游戏文本使用 UGUI、NGUI、TextMeshPro、TextMesh、FairyGUI、Utage 等文本框架 | 自动检测并翻译,开箱即用 |
| 文本以图片形式烘焙(角色立绘、地图文字) | 主流程不处理,纹理翻译属实验功能,需单独开启且性能开销大 |
| 游戏以 IL2CPP 方式编译 | 部分支持:部分文本变化需手动刷新,IMGUI 与插件专属翻译不可用 |
| 离线翻译需求 | 不支持,必须能访问所选翻译服务 |
| 想顺带翻译其他 MOD 的菜单 | 默认不处理,需手动开启 IMGUI 钩子 |
适合的类型:日英原版剧情 RPG、视觉小说、菜单密集的单机游戏,且为 Mono 编译({游戏名}_Data下有Managed目录)。 不适合的类型:文本全部画在图片里的游戏、无法访问任何翻译服务的环境、对 IL2CPP 功能完整性要求极高的场景。
✅ 动手前自检:一份打勾清单
| 检查项 | 要求 | 不满足时的替代办法 |
|---|---|---|
| 操作系统 | Windows | 换 Windows 环境运行,插件未提供 macOS/Linux 支持 |
| 编译类型 | Mono | IL2CPP 改走 IL2CPP 专用包,并接受功能缩水 |
| 插件管理器 | BepInEx 5/6、MelonLoader、IPA、UnityInjector 任一 | 走 ReiPatcher 独立安装路线,零依赖 |
| 网络 | 可达所选翻译服务 | 更换服务,或配置FallbackEndpoint备用端点 |
快速判断编译类型:游戏目录
{游戏名}_Data下存在Managed目录且里面是 DLL,一般为 Mono;只有il2cpp_data目录则基本是 IL2CPP。
🛠️ 四条接入路线:按你的游戏走对应分支
如果你的游戏已装 BepInEx → 走 A 路线
- 下载
XUnity.AutoTranslator-BepInEx-{VERSION}.zip发布包。 - 解压到游戏根目录,DLL 会落入
BepInEx/plugins/XUnity.AutoTranslator/。 - 启动游戏,等待配置文件自动生成。
如果你的游戏是 IL2CPP → 走 B 路线
- 先装好支持 IL2CPP 的 BepInEx 6 构建或 MelonLoader。
- 改用
BepInEx-IL2CPP或MelonMod-IL2CPP包,其余步骤与 A 路线一致。 - 接受已知限制:部分文本变化不会自动刷新,可配合社区的手动刷新辅助插件。
如果你没有任何插件管理器 → 走 C 路线(ReiPatcher 独立版)
- 下载
XUnity.AutoTranslator-ReiPatcher-{VERSION}.zip包。 - 解压到游戏根目录,运行
SetupReiPatcherAndAutoTranslator.exe。 - 之后用生成的"(Patch and Run)"快捷方式启动游戏。
若游戏里已存在 BepInEx 或 MelonLoader,不要使用 C 路线,两种注入方式叠加会导致冲突。
如果你用 MelonLoader / IPA / UnityInjector → 走 D 路线
- 下载对应的
MelonMod/IPA/UnityInjector发布包。 - 解压到游戏根目录,DLL 分别进入
Mods+UserLibs、Plugins或UnityInjector目录。 - 启动游戏。
验证是否装好了:
- 首次启动后,插件管理器目录下生成了 XUnity.AutoTranslator 配置文件。
- 游戏内按
Alt+0能呼出插件窗口。 - 按
Alt+T可在翻译前后文本之间切换,确认文本确实被替换。
⚙️ 最小可用配置三件套
配置文件里只需要动三项,其余全部保持默认:
[Service] Endpoint=GoogleTranslate [General] FromLanguage=ja Language=zh-Hans- 在
Endpoint选一个翻译服务:免密钥的 Google、Bing、DeepL 即可起步;用需要密钥的服务(百度、DeepL 官方版等)时,把密钥填进配置文件对应的节里。 FromLanguage填游戏原语言,Language填你的目标语言。- 确认缓存位置:翻译结果默认写入
Translation\{Lang}\Text\_AutoGeneratedTranslations.txt,{Lang}会自动替换为目标语言代码,目录无需手工创建。
免认证服务随时可能失效,这是其代价;请求失败时更换
Endpoint或补上FallbackEndpoint作为备份。
🎮 按游戏类型调优翻译
剧情向 RPG:对话长、换行多
文本特征:成段对话,原文换行会被翻译服务当成独立句子,整段质量明显下降。
- 保持
IgnoreWhitespaceInDialogue=True(默认开启),发送前清除多余空白。 - 译文撑破对话框时保留
EnableUIResizing=True;UGUI 游戏可再加ResizeUILineSpacingScale=0.8压缩行距。 - 游戏字体缺中文字形导致方块字时,给 UGUI 填
OverrideFont指向一个含中文的字库。
视觉小说:文字逐字滚动出现
文本特征:文本以滚动方式逐字显现,钩子捕获到的常是不完整文本,翻译缺失或错位。
- 开启
GeneratePartialTranslations=True,让插件按滚动进度生成部分翻译。 - 仅在该游戏确实逐字滚动时才开,否则会放大请求量。
UI 密集:短文本多、MOD 菜单多
文本特征:菜单项短而杂,很多来自 IMGUI 界面,排版紧凑。
- 在
[TextFrameworks]设EnableIMGUI=True,MOD 界面才会被翻译。 - 开启
EnableUIResizing=True,让插件自动调整组件溢出行为,减少文字被裁切。
🚑 故障排查决策树:按症状推进
- Alt+0 无反应,插件没加载→ 先查配置文件是否生成,没生成说明 DLL 放错位置 → 再看插件管理器日志里的加载报错 → 最后核对包版本与 Mono/IL2CPP 类型是否匹配。
- 部分文本没被翻译→ 到
[TextFrameworks]逐项开启对应框架(IMGUI、TextMesh 默认关闭)→ 按Alt+U触发手动钩子 → 用Alt+T对比确认是否属于"未接管"状态。 - 译文出现方块或乱码→ 优先按字体问题处理:UGUI 配
OverrideFont,TextMeshPro 配FallbackFontTextMeshPro。 - 翻译后游戏卡死或闪退→ 设
TextGetterCompatibilityMode=True→ 仍异常则调低MaxCharactersPerTranslation→ 最后把Endpoint=置空暂停自动翻译,逐项定位。 - 插件自行关闭,日志提示连续错误→ 检查所选服务是否可达 → 修复网络或更换
Endpoint→ 问题解决后按Alt+Q重启插件。
修改翻译文件后不必重启游戏,直接按
Alt+R重载即可。
🧩 进阶与开发者视角
自定义翻译规则。插件会读取Translation目录下所有.txt文件,手写条目优先级高于自动生成文件,可直接改错。文件内支持r:"正则"=替换的表达式翻译、sr:前缀把复合文本拆段后再查表,以及_Substitutions.txt里的固定术语(人名、道具名)。正则影响性能,尽量少写。
资源重定向。要做完整汉化补丁而非即时翻译,可在[ResourceRedirector]开启EnableTextAssetRedirector=True,并把PreferredStoragePath指向你的资源目录,插件会用你的版本替换游戏文本资源,实现见 XUnity.ResourceRedirector 模块。
API 集成与自定义服务。其他插件作者可调用TranslationRegistry.RegisterPluginSpecificTranslations注册专属翻译集;想接入自有翻译服务,参考 src/Translators/ 里的现成实现,实现ITranslateEndpoint接口即可。全部可配置项的准确定义见 src/XUnity.AutoTranslator.Plugin.Core/。
🏁 收尾:上线前检查清单
- 确认配置文件已生成,
Endpoint、FromLanguage、Language三项已填。 - 游戏内按
Alt+0呼出窗口,用Alt+T切换确认文本已被接管。 - 打开
_AutoGeneratedTranslations.txt,确认新译文正在写入。 - 手工修改两三条不满意的结果,按
Alt+R重载验证生效。 - 使用付费服务时核对月度额度,并备份
Translation目录。
更多参数解释见项目 README 的 Configuration 与 FAQ 章节,核心实现位于 src/,遇到配置疑问先在那里查一遍,再考虑社区求助。
【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考