如何一劳永逸地啃下外语 Unity 游戏:XUnity.AutoTranslator 从零到一实战全记录
如何一劳永逸地啃下外语 Unity 游戏XUnity.AutoTranslator 从零到一实战全记录【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator深夜 11 点你终于下载好那款心心念念的日文 RPG结果开场对话全是生肉。查词典、切翻译软件、对着截图逐句猜……一晚上只推进了十分钟剧情。如果你也经历过这种被语言卡死在第一关的时刻这篇 XUnity.AutoTranslator 使用教程就是为你准备的——它是一款开源的 Unity 游戏自动翻译插件能在游戏运行时实时把日文、韩文等文本替换成中文堪称语言障碍的终结者。装之前先弄明白它到底在替你做什么很多新手一上来就急着找安装包结果装完发现没反应于是开始怀疑人生。其实你只要理解它的工作流一切就豁然开朗了。插件在运行时做的事只有四步挂钩监听 UGUI、NGUI、TextMeshPro、IMGUI 等文本框架的赋值行为把即将上屏的原文截获查缓存去翻译词典里找原文的对应翻译找到就直接替换上屏不请求网络请求翻译找不到才发一次请求给翻译端点拿到结果写回缓存落盘所有新翻译自动追加到翻译文件下次进游戏直接命中不再重复花钱花流量。与其说它是翻译器不如说它是一本会自动生长的词典。所以它内置了 16 条反垃圾策略同一句文本一秒内不重复请求、整个游戏会话最多发 8000 次请求、同一时刻只允许一个请求在途、所有结果永久缓存落盘……这些设计保证了你的翻译服务不会被刷爆游戏也不会卡死。理解了这一点后面所有的配置项你都能自己推导出用途。从解压到第一句中文上屏两条安装路线怎么选项目支持 BepInEx、MelonLoader、IPA、UnityInjector 四种插件管理器外加一套完全独立的 ReiPatcher 方案。对新手我只推荐前两条路线路线 ABepInEx 插件推荐几乎零门槛步骤操作说明1给游戏装好 BepInEx按 BepInEx 官方流程操作2下载 XUnity.AutoTranslator-BepInEx 安装包认准名称中带 BepInEx 的包3解压到游戏根目录插件文件会自动落入 BepInEx/plugins/ 下4直接启动游戏配置文件会在首次启动时自动生成路线 BReiPatcher 独立安装适合不想碰插件管理器的用户解压到游戏目录后运行SetupReiPatcherAndAutoTranslator.exe再用生成的游戏名 (Patch and Run)快捷方式启动首次运行打一次补丁之后就能直接点 exe 进游戏了。注意如果游戏已经装了 BepInEx 这类管理器千万别再用这套方案两者会打架。开局三连改让翻译引擎先转起来游戏首次启动后会在数据目录生成Config.ini。别被它的几百行吓到你只需要动三个键就能跑起来[Service] EndpointGoogleTranslate ; 翻译引擎见下方表格 [General] FromLanguageja ; 游戏原文语言日文游戏填 ja Languagezh ; 目标语言中文填 zh翻译引擎选哪个项目内置了十几种端点藏在Translators子目录里。给你一张速查表端点需要密钥特点GoogleTranslate / BingTranslate / DeepLTranslate / PapagoTranslate否免费但非官方 API可能随时失效DeepL 质量尤其出色BaiduTranslateAppId AppSecret注册后每月前 5 万字符免费国内访问稳定YandexTranslate / WatsonTranslate / BingTranslateLegitimateAPI Key各有免费额度适合长期稳定使用CustomTranslate自建服务填一个返回纯文本的 HTTP 接口即可改完保存进游戏看到第一句中文上屏时你会体会到什么叫真香。顺手记下这几个快捷键它们比翻配置文件快得多ALTT在译文和原文间切换、ALTR热重载翻译文件、ALTU手动触发挂钩有些顽固文本默认钩子抓不到全靠它、ALT0开关翻译界面。当自动翻译不够用时三份人肉精修文件机器翻译的水平大家都懂人物名、专有名词经常翻得离谱。好在插件把人工接管的入口做得很贴心所有文件都在Translation\{语言}\Text\目录下第一份_AutoGeneratedTranslations.txt。插件自动生成的翻译全在这里格式是原文译文一行一条。你只要改掉错误条目按 ALTR 就能立即生效改过的条目优先级永远高于新生成的。第二份_Substitutions.txt。专门用来修总是被翻错的名字。比如把主角名固定成凌波丽原文会被参数化处理其余部分照常翻译私は{{A}}I am {{A}}第三份正则翻译文件。游戏里大量文本是模板化的比如シンプルリング 5这种物品名数字。你可以新建一个文本文件写r:^シンプルリング ([0-9])$简单戒指 $1前缀r:表示标准正则直接替换。更妙的是分割器正则sr:它先把原文拆成几段分别查词典再拼回去一条シンプルリングSimple Ring就能通吃01 シンプルリング、02 シンプルリング所有变体。注意正则千万别放进以_开头的自动生成文件否则不生效。进阶玩法给游戏换皮的纹理汉化和资源重定向文本搞定了还有一类顽固派——游戏里的图片文字菜单按钮、宣传图上的日文。项目从 2.16 版本起提供了纹理翻译能力思路很直接先把游戏内图片原样导出你用任何工具改好文字再放回对应目录覆盖。在配置里打开EnableTextureDumpingTrue让插件把图片导出到Translation\{Lang}\Texture处理完后把EnableTextureTranslation设为 True 并关掉 Dumping 即可。文件名的方括号里是哈希值别删。如果某款游戏资源全部打包在 AssetBundle 里那就轮到资源重定向模块出场了。它通过XUnity.ResourceRedirector把游戏加载的 TextAsset 等资源透明地替换成你提供的文件全程不动游戏本体游戏更新也不怕。Koikatsu恋活系列的汉化就是这么干的。顺带一提如果你玩的是 IL2CPP 引擎的游戏需要安装 BepInEx 6 并使用BepInEx-IL2CPP安装包其余配置完全一致。那些卡住新手的坑我都替你踩过问题一界面文字都翻译了但中文变成方块/问号。这是字体缺字不是插件坏了。UGUI 界面用OverrideFont指定一个带中文的字体文件TextMeshPro 更推荐FallbackFontTextMeshPro设置回退字体效果更稳。问题二翻译后文字溢出按钮、挤成一团。把EnableUIResizingTrue打开插件会自动做 UI 缩放适配还不够的话可以在 Text 目录放一个resizer.txt用ChangeFontSizeByPercentage(0.5)这种指令把指定路径下的文本字号统一缩小。问题三某些文本就是死活不翻译。先看它属于哪个框架很多框架默认是关的——IMGUI 和 TextMesh 需要手动把EnableIMGUI、EnableTextMesh改成 True。再不行就按 ALTU 手动挂钩或者换个翻译引擎试试。此外MaxCharactersPerTranslation默认 200 字符超长文本会被直接跳过需要的话可以调大。问题四翻译一多游戏就卡。把EnableBatchingTrue打开让支持的端点批量翻译UseStaticTranslations保持 True 用内置静态词典减少请求翻译文件别堆太多正则那是最容易被忽略的性能杀手。尾声语言不该成为你放弃一款好游戏的理由说实话第一次看到自己电脑里的日文 RPG 冒出中文对话框时那种原来这道门一直开着的感觉很奇妙。XUnity.AutoTranslator 的价值不只是省了几次查词典而是它把玩不懂变成了玩得动——并且这一切都建立在一套克制而聪明的机制上能缓存就不请求、能离线就不联网、能人工接管就绝不让你将就。想真正把它用到极致我的建议是先装起来跑通默认配置玩一个晚上然后把翻错的人名扔进_Substitutions.txt给物品名写几条r:正则最后再去翻翻Translation目录下的自动生成文件你会发现自己已经能读懂这个工具的脾性了。如果你还想给它换脑子——比如接入本地 Ollama 大模型——它的翻译端点是开放接口源码里src/Translators/目录躺着十几个现成实现可以参考动手能力强的可以试试写一个属于自己的端点。别让语言成为你和好游戏之间的墙。今晚就装上它去把那些欠了很久的剧情补完吧。【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考