XUnity.AutoTranslator 完整指南:10 分钟让 Unity 游戏实现游戏内实时翻译
2026/8/24 11:56:22 网站建设 项目流程

XUnity.AutoTranslator 完整指南:10 分钟让 Unity 游戏实现游戏内实时翻译

【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator

XUnity.AutoTranslator 是一款开源的 Unity 游戏翻译插件:它在游戏运行期间自动抓取界面文字,调用你选定的翻译服务,再把译文贴回原位置。适合想在日、韩、英文 Unity 游戏里直接看中文的玩家,也适合想给 Mod 加汉化能力的开发者。

先确认能不能用:兼容性速查

装之前先对号入座,能省很多折腾。关键看三点:游戏用的脚本运行时、文本框架、你打算配的插件管理器。

检查项支持情况
标准 Mono 的 Unity 游戏✅ 完整支持,是首选目标
IL2CPP 编译的游戏部分支持:必须用 IL2CPP 专用安装包;部分文本变更检测不到,IMGUI 翻译与TextGetterCompatibilityMode不可用
插件管理器BepInEx(官方推荐)、MelonLoader、IPA、UnityInjector,另有不依赖管理器的 ReiPatcher 独立方案
文本框架UGUI、TextMeshPro、NGUI 默认开启;IMGUI(老式菜单界面用的文本系统)和 TextMesh(3D 空间里漂浮的文字)默认关闭;另支持 FairyGUI、Utage 等

怎么判断 IL2CPP:看游戏*_Data/Managed目录里有没有Assembly-CSharp.dll,通常没有就是 IL2CPP。这类游戏装上插件后,个别界面文字不刷新时按ALT+U手动补一次挂钩即可。

安装与首次启动:BepInEx 三步走

结论先行:新手直接用 BepInEx 包,三步搞定。

  1. 先按 BepInEx 自己的说明给游戏装好插件管理器;
  2. 下载 XUnity.AutoTranslator-BepInEx 安装包,整体解压到游戏根目录,dll 会自动落到BepInEx/plugins/XUnity.AutoTranslator/
  3. 启动游戏,等它自动生成配置。

首次启动后,配置文件出现在BepInEx/config/AutoTranslatorConfig.ini,翻译缓存默认写入Translation\{Lang}\Text\_AutoGeneratedTranslations.txt(BepInEx 方式下位于 BepInEx 目录内,MelonLoader 方式则放在游戏目录的AutoTranslator文件夹里)。{Lang}是目标语言的占位符,比如zh

其他路线一句话带过:MelonLoader 用户解压到ModsUserLibs即可;不想装任何管理器就走 ReiPatcher 独立包,运行SetupReiPatcherAndAutoTranslator.exe后用生成的快捷方式启动游戏。⚠️ 游戏里已经装了 BepInEx 之类管理器就别走 ReiPatcher,两套机制会冲突。

基础设置:三个键值加两个快捷键

打开配置文件,先只改这三项:

配置项示例说明
EndpointGoogleTranslate翻译引擎。免密钥的有 Google、Bing、DeepL、Papago 等;Baidu、Watson 等需填 AppId/Key
Languagezh翻译成什么语言
FromLanguageja游戏原文语言;不确定可填auto,但部分引擎下识别率略降
Endpoint=GoogleTranslate Language=zh FromLanguage=ja

再记两个快捷键:

  • ALT+U:手动触发一次文本挂钩。默认挂钩不总能逮住所有文字(比如动态生成的),按它补一次最管用;
  • ALT+T:在译文和原文之间来回切换,校对翻译时非常好用。

另外确认你游戏的文本框架开关:多数现代 Unity 游戏就是 UGUI + TextMeshPro,默认已开;玩到老式菜单或 3D 飘字,再把EnableIMGUIEnableTextMesh设为True

从能用到精准:手动修正、正则与中文字体

手动修正优先于重翻。自动缓存文件_AutoGeneratedTranslations.txt里逐行记录了原文和译文,哪句不满意直接改,按ALT+R立刻重载,不用重启游戏。注意这个文件优先级最低:同一句话若在你自建的文件里出现过,用你的版本。自建文件随意起名的.txt放在翻译目录下即可,还支持打包成 zip。

正则翻译治"模板句"。物品名、技能名经常带编号,例如:

r:"^シンプルリング ([0-9]+)$"=简单戒指 $1

把"シンプルリング 12"翻成"简单戒指 12"。注意:正则不能写在文件名以_开头的自动生成文件里,要放进普通翻译文件。

分割正则治"组合句"。游戏有时把序号和名称拼一起显示,如01 シンプルリング。与其为每个编号写一条规则,不如先拆开再各自查翻译:

sr:"^([0-9]{2}) ([\S\s]+)$"=$1 $2

一条规则覆盖所有编号变体,进阶玩家最常用的一招。

中文方块字用字体方案解决。日文游戏自带字体往往不含中文字形,译文会显示成"□□□"。UGUI 界面填OverrideFont指定一个中文字体;TextMeshPro 优先用FallbackFontTextMeshPro(回退字体只在缺字时生效,比整体覆盖OverrideFontTextMeshPro更稳)。仓库发布页提供了一批现成的 TextMeshPro 字体资源包,下载后放进游戏目录、在配置里写上文件名即可。

最后说缓存的价值:每翻过一句都会落盘缓存,同一句话一辈子只请求一次网络。配合EnableBatching=True(合并请求)和UseStaticTranslations=True(内置约 2000 条常用短语,高频台词不联网),网络压力会越来越小——你的缓存文件越攒越厚,就是自己的翻译资产,记得备份。

开发者接入:两条路接你自己的翻译管道

内置端点集中在 Translators 端点源码 下,每个子目录一个独立插件。接自家服务有两条路:

  • 最轻:CustomTranslate。它向[Custom] Url=指定的地址发 GET 请求,带fromtotext三个查询参数,响应体只返回译文纯文本就工作。注意 Unity 老版本的 Mono 对 SSL 支持不佳,内网测试建议先用 HTTP。
  • 最正规:自写端点插件。实现ITranslateEndpoint接口(不想从零写也可以继承HttpEndpoint/WwwEndpoint基类),编译出的 dll 丢进Translators文件夹,配置里就能像原生端点一样选用。接口定义在 ITranslateEndpoint.cs,完整说明见 官方 README。

另一块基础设施是内置的资源重定向模块(XUnity.ResourceRedirector):开启EnableTextAssetRedirector后,游戏加载的 TextAsset 等文本资源会被重定向到PreferredStoragePath指定的目录,你可以直接覆写文件内容,连贴图资源也能这样替换——这是做"不动原文件的精翻汉化包"的地基,重定向资源支持 zip 压缩存储,启动时自动索引。

常见问题

会修改我的游戏文件吗?BepInEx、MelonLoader 等管理器方式是纯运行时注入,不碰原文件;ReiPatcher 方式会打补丁,但移除插件文件即可恢复。

在线服务会不会把额度烧穿?不会,插件内置了 16 项防刷机制:新文字先等 1 秒确认不再变化才请求、单次会话最多 8000 条请求、同一时刻只发 1 个请求、队列积压 4000 条自动停机、连续 5 次无结果自动停机等。比手动乱点稳得多。

想临时看原文?ALT+T切换即可;纯想看某句对照,把ALT+T按个几秒钟很顺手。

完全不想联网行不行?行。选 ezTrans XP(需装该软件和 Ehnd)或 LEC Power Translator(需装软件并填InstallationPath),全程离线。

游戏一开翻译就卡死或逻辑错乱?先试TextGetterCompatibilityMode=True:它的原理是让游戏"以为"屏幕上显示的仍是原文,专治用界面文字驱动游戏逻辑的标题。

怎么彻底关掉自动翻译?ALT+0在插件界面里选空端点,或把Endpoint=置空。插件被错误停机后,用ALT+Q重启。

下一步:今晚就能跑起来

流程其实就三步:挑一条安装路线(新手选 BepInEx)、解压安装包进游戏目录、启动后改EndpointLanguageFromLanguage三处配置。剩下的时间用来攒你的缓存文件——自动翻译负责兜底,手动精修负责打磨,玩到第十个小时你会发现,这个插件已经比翻译软件更懂你玩的这款游戏。

【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询