news 2026/8/22 14:52:26

XUnity.AutoTranslator:Unity 游戏自动翻译,装好改 3 行配置就能跑

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
XUnity.AutoTranslator:Unity 游戏自动翻译,装好改 3 行配置就能跑

XUnity.AutoTranslator:Unity 游戏自动翻译,装好改 3 行配置就能跑

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

XUnity.AutoTranslator 是一个 Unity 游戏自动翻译插件:它装进游戏进程,把游戏里的外文文本实时替换成中文,不改动游戏本体文件。按本文走一遍,10 分钟内装好并看到中文对话。

它做什么、不做什么

它改的是屏幕上的字,不改游戏文件。翻译结果会沉淀在Translation文件夹里,断网时自动翻译不可用,已生成的翻译仍可复用。

能力什么时候用不到
实时翻译 UGUI、NGUI、TextMeshPro 等 UI 上的对话和菜单离线游玩时,自动请求翻译服务无法工作
内置 Google、Bing、DeepL、百度等 15 个翻译端点,免费免密钥或带密钥可选免费端点走的是对方网页接口,对方一改接口就可能失效
导出游戏里带字的图片,修好放回即可被替换回游戏图片文字只能"换整张图",不能像文本那样实时翻
管理手动翻译、替换规则、正则模板,全部走本地文本文件插件不修改游戏安装包,也不会替你决定玩不玩某款游戏

"文本框架"= 游戏里文字是怎么画出来的技术方案,比如 Unity 自带的 UGUI、做菜单的 NGUI、高清文字的 TextMeshPro。"翻译端点"= 真正干翻译活的引擎 DLL,放在Translators目录里,装哪个用哪个。

动手前先判断

选错加载器,游戏能启动但插件静默失败,日志里什么都没有,这是最常见的装失败原因。

条件选择验证方法
游戏目录里能看到Managed文件夹Mono 编译,用 BepInEx 5 标准包(MelonLoader 游戏用 MelonMod 包)首次启动后生成XUnity.AutoTranslator.cfg,日志无报错
游戏目录里有GameAssembly.dllIL2CPP 编译,用 BepInEx 6 的 IL2CPP 包或 MelonMod-IL2CPP 包同上,且对话框文字能被翻译
不想装任何管理器用发行包里的 ReiPatcher 独立方案,双击运行一次即可出现{GameExeName} (Patch and Run).lnk快捷方式

判断不出来就都看一眼:有Managed基本是 Mono,有GameAssembly.dll基本是 IL2CPP。两种文件都不在,多半是独立方案的场景。

主流程:三步把翻译跑通

三步:放文件、改三行配置、修字体。每步都有成功标志。

阶段 1:把文件放进对的目录

按你用的管理器解压插件包,让 DLL 各就各位。BepInEx 方案:核心 DLL 进BepInEx/plugins/XUnity.AutoTranslator/,翻译引擎 DLL 进它的Translators子目录。MelonLoader 方案进ModsUserLibs,IPA 方案进Plugins,独立方案直接解压到游戏根目录。

成功标志:游戏能正常启动,管理器日志里出现XUnity.AutoTranslator的加载记录,游戏目录多出Translation文件夹和XUnity.AutoTranslator.cfg

卡住怎么办:游戏正常但毫无反应,九成是编译模式选错了包,回上一节对照;再看管理器日志(BepInEx 是LogOutput.log),有报错就是管理器没装对。

阶段 2:三行配置切语言

改完下面这段你会看到:重启游戏后,对话框里的日文变成中文。

[General] Language=zh-Hans ; 原值 en,改成目标语言 FromLanguage=ja ; 原语言,日游戏保持 ja [Service] Endpoint=GoogleTranslateV2 ; 免费端点,默认即此

成功标志:Translation\zh-Hans\Text\_AutoGeneratedTranslations.txt开始积累"原文=译文"的记录,这是插件自己生成的翻译存档。

卡住怎么办:还是英文,说明Language没改;中文出现但部分句子是方块,是字体问题,进阶段 3。

阶段 3:修字体方块

游戏自带字体里通常没有中文字形,方块是字体缺失,不是翻译失败。

UGUI 文字:改完这段你会看到:中文字形正常显示,ALT+F可随时切回默认字体。

[Behaviour] OverrideFont=C:\Fonts\某中文字体.ttf ; 指向任意带中文字形的 ttf

TextMeshPro 文字优先用备用字体,只在缺中文字符时启用,比全量替换稳:

[Behaviour] FallbackFontTextMeshPro=C:\Fonts\某中文字体.ttf

成功标志:方块消失,ALT+F在两种字体间切换正常。卡住怎么办:字体文件必须带中文字形,换一个再试;UGUI 游戏配了 TMP 字体也不生效。

按需进阶

只改你碰到的问题,没碰到的别动。

当你遇到机器翻错时:直接改Translation\zh-Hans\Text\_AutoGeneratedTranslations.txt里对应的行,按ALT+R立即重载,不用重启游戏。这个文件读取优先级最低,你手改的内容会一直生效。

当你发现人名地名乱翻时:在_Substitutions.txt里加替换规则,翻译前先把这些词换掉。

# _Substitutions.txt レム=莱姆 鬼滅の刃=鬼灭之刃

改完按ALT+R重载,专有名词从此固定。

当你看到数字跳动的文本时:在翻译文件里用模板写法,把变化部分包在{{A}}里,翻译只处理固定部分,占位内容最后填回原位。

我获得了{{A}}金币=I gained {{A}} coins

效果:数字每帧变也不会逐帧请求翻译,不会触发插件的防垃圾停机。

当游戏崩溃或行为异常时:可能是游戏拿屏幕上的文字做逻辑判断,翻译后它"不认识了"。在[Behaviour]段加一行:

[Behaviour] TextGetterCompatibilityMode=True ; 游戏读文本时仍返回原文

改完重启验证,逻辑判断恢复正常。

当游戏变卡或插件自己停摆时:把[TextFrameworks]里不需要的框架关掉(EnableIMGUIEnableTextMesh默认就是关的,别乱开),MaxCharactersPerTranslation保持默认 200 左右,长句子交给模板或手动翻译。插件在连续报错后会自行停机保护,排除网络问题后按ALT+Q重启它。

当图片里的文字也要翻译时[Texture]段开EnableTextureDumping=True,插件把可替换的图导出到Translation\zh-Hans\Texture\;修好图放回,再开EnableTextureTranslation=True。这是制作完整汉化包的必经路径。

当菜单或 3D 文字没被翻译时[TextFrameworks]段里每个框架对应一个Enable开关,给漏掉的框架开True,重启后按ALT+U手动触发一次文本扫描。

游戏内的快捷键:ALT+0打开插件界面,ALT+T切换原文/译文,ALT+R重载翻译文件,ALT+U手动扫描文本。

收尾自检表

对着这张表逐项确认,全勾上才算装完。

检查项状态
管理器日志里能看到插件加载且无报错
游戏目录已生成Translation文件夹和 cfg 文件
配置里Language=zh-Hans已保存
游戏对话显示为中文
中文字形正常,无方块

关掉这张表,打开游戏,从第一句对白的翻译开始。

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 14:47:43

单片机开发工具篇:(七)Keil MDK 如何更改已有工程的工程名

上一篇下一篇STM32CubeMX 的使用MDK 如何更改工程名 在 Keil MDK 中修改工程名称需要调整文件名和工程设置,以下是具体步骤: 步骤 1:修改工程文件名 打开工程所在的文件夹。 将以下文件重命名为新工程名: .uvprojx 文件&#…

作者头像 李华