XUnity.AutoTranslator 完整实操指南:改 3 个配置项快速汉化 Unity 游戏
XUnity.AutoTranslator 完整实操指南:改 3 个配置项快速汉化 Unity 游戏
【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator
XUnity.AutoTranslator 是注入 Unity 游戏进程的实时汉化插件:自动抓取界面外文、调用翻译端点、把译文填回界面,并支持手动翻译文件精修。适合想立刻玩外语 Unity 游戏、不想自己写译文的玩家。
📦 安装前:一张表选对包
先打开游戏目录,看里面已经有什么,再决定下哪个包:
| 游戏目录现状 | 要下的包 | 安装动作 |
|---|---|---|
| 已装 BepInEx(官方推荐) | XUnity.AutoTranslator-BepInEx | 直接解压进游戏目录,让 DLL 落入BepInEx文件夹,启动游戏 |
| 已装 MelonLoader | XUnity.AutoTranslator-MelonMod | 解压后 DLL 分别进Mods和UserLibs |
| 已装 IPA | XUnity.AutoTranslator-IPA | 插件 DLL 放入Plugins目录 |
| 已装 UnityInjector | XUnity.AutoTranslator-UnityInjector | 解压进UnityInjector目录(注意不一定是游戏根目录) |
| 什么都没装 | XUnity.AutoTranslator-ReiPatcher | 解压到游戏根目录(与主程序 exe 同层),运行SetupReiPatcherAndAutoTranslator.exe,之后用它生成的 Patch and Run 快捷方式启动 |
两条容易翻车的点:
- 已装 BepInEx 之类的管理器却又跑了 ReiPatcher:两套注入方案会互相冲突,游戏直接起不来。正确做法是二选一,有管理器就用对应版本包。
- 游戏是 IL2CPP 运行时(近年新游戏居多)却下了普通包:DLL 加载不上,插件毫无动静。IL2CPP 游戏请选
BepInEx-IL2CPP、MelonMod-IL2CPP这类带后缀的包。
⚙️ 首次启动:3 个字段的最小配置
启动一次游戏后,插件会在自己的数据目录生成Config.ini(MelonLoader 下是AutoTranslator/Config.ini)。先别动其他项,只改这 3 个:
[General] Language改成zh-CN—— 你要的目标语言,写错或不支持只会不翻译,不报错[General] FromLanguage填游戏原文语言 —— 默认ja,英文游戏改en,原文语言填错译文会乱[Service] Endpoint选一个翻译端点 —— 默认是GoogleTranslateV2,免费网页接口能用;长期稳定可换需要申请密钥的端点(如 DeepL),本机装了 LEC/ezTrans 也能接离线端点,开发者可用CustomTranslate指向自己的 URL
改完存盘重开游戏即可。其余配置保持默认,哪里的文字出问题再回来开对应的开关。
⌨️ 日常使用:6 个按键速查
| 按键 | 作用 | 什么时候按 |
|---|---|---|
| ALT + 0 | 开关设置窗口 | 进游戏第一件事,能呼出就说明插件活着 |
| ALT + T | 原文/译文切换 | 不确定翻译是否生效,按一下对比 |
| ALT + R | 热加载翻译文件 | 改完手动译文文件,不用重开游戏 |
| ALT + U | 手动触发文本抓取 | 某句对话始终没被翻译时,当场抓一次 |
| ALT + F | 切换覆盖字体/默认字体 | 配了字体覆盖后临时对比效果 |
| ALT + Q | 重启已停机的插件 | 连续请求失败导致插件自我保护停机,修好网络后按一下即可恢复 |
🚑 卡壳了:3 步排查
- 游戏完全没变化,设置窗口呼不出 —— 多半是 DLL 目录放错或包版本与运行时不匹配;对照上面选型表核对文件位置,IL2CPP 游戏确认用了带后缀的包。
- 插件活着但不翻译,也没报错 —— 大概率
Language/FromLanguage拼写不被端点支持,写错会被静默忽略;核对成双方都支持的代码,如zh-CN与ja。 - 只有特定界面不翻 —— 该界面用的文本框架默认关闭(IMGUI、TextMesh 默认关,UGUI/NGUI/TextMeshPro 默认开);把
[TextFrameworks]里对应Enable*项设为 true 后重开游戏。
还救不回来,再考虑调大MaxCharactersPerTranslation(默认 200,上限 2500,超长文本会被跳过)或打开TextGetterCompatibilityMode。
✏️ 精修:3 个提升翻译质量的手法
手动翻译文件
跑过一次游戏后,插件会把结果自动写入Translation/{语言}/Text/_AutoGeneratedTranslations.txt,每行一条:
原文 = 译文
直接编辑后按 ALT + R 立即生效。想分层管理,就在Text目录另放 txt 或 zip,优先级更高;给特定模组单独做译文可放Text/Plugins/{模组名}/下。
正则批量处理模板文本
装备名"戒指 1、戒指 2"这类带编号的文本,一行覆盖全部:
r:"^.* ([0-9]+)$"=某物 $1
游戏把多段文字拼在一起显示时,用sr:前缀的拆分式正则先拆块再逐块翻译。
中文字体
译文成功却显示方块,说明游戏字体不含中文字形:UGUI 用OverrideFont指定覆盖字体,TextMeshPro 用FallbackFontTextMeshPro指定后备字体。译文太长撑爆按钮时,EnableUIResizing(默认开启)会自动处理缩放,个别地方不适再调ForceUIResizing。
🔧 进阶:默认关闭的功能
[Texture]贴图翻译:处理地图、立绘里嵌死的文字,支持导出与替换[ResourceRedirector]资源重定向:拦截资源加载,替换 TextAsset 等文件CustomTranslate:把翻译请求发往你自己的服务或本地模型EnableIMGUI/EnableTextMesh:补上这两种默认关闭的文本框架
收尾
卡住时先翻 README 的 FAQ 和端点列表,九成问题有现成答案。外语游戏吃灰这么久,改完 3 个配置项今天就能读得懂剧情,先按 ALT + 0 试试。
【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
