
从零开始玩转XUnity.AutoTranslatorUnity游戏实时汉化的全流程实战【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslatorXUnity.AutoTranslator 是一款面向 Unity 引擎游戏的自动翻译插件它会在游戏运行过程中实时抓取界面文字、调用在线翻译服务并替换成你设定的语言。这篇文章按准备→安装→首次运行→调优→排错的完整旅程展开手把手带你完成 Unity 游戏翻译插件的安装配置看完就能在自己的游戏里跑起来。先搞清楚它到底解决什么问题很多 Unity 游戏只有日文或英文界面汉化补丁又常常滞后、只适配特定版本。XUnity.AutoTranslator 的思路完全不同——它不修改游戏本体文件而是在运行时把即将显示的文字拦截下来翻译后再放回去。这意味着同一款游戏无论更新到哪个版本插件都能继续工作游戏里的对话、菜单、提示、甚至其他 mod 的文字都可能被它接管。它同时提供了自动与手动两套翻译手段自动翻译交给云端引擎手动翻译则通过文本文件精确控制每一个词句。下面我们按步骤来。出发之前确认你的游戏环境插件本身只是一个核心库需要依附在某个插件管理框架里运行支持以下五种方式安装方式前置要求适合人群BepInEx 插件已装 BepInEx 管理器绝大多数玩家官方推荐ReiPatcher 独立安装无任何前置不想装管理器、追求两步搞定MelonLoader 插件已装 MelonLoader使用该管理器的游戏IPA 插件已装 IPA部分老游戏UnityInjector 插件已装 UnityInjector极少数特殊环境建议优先走 BepInEx 路线它最稳定而且 MonoMod 相关依赖会被完整分发兼容性最好。另外注意如果游戏是 IL2CPP 编译的需要改用 BepInEx 6 的 IL2CPP 构建版并选择插件的 BepInEx-IL2CPP 安装包。第一步装好插件BepInEx 推荐路线先按照 BepInEx 自身的说明完成部署然后拿到 XUnity.AutoTranslator 的 BepInEx 版本压缩包直接解压到游戏根目录让 DLL 落入 BepInEx 目录即可。完成后目录结构大致如下{游戏目录}/BepInEx/core/XUnity.Common.dll {游戏目录}/BepInEx/plugins/XUnity.ResourceRedirector/XUnity.ResourceRedirector.dll {游戏目录}/BepInEx/plugins/XUnity.AutoTranslator/XUnity.AutoTranslator.Plugin.Core.dll {游戏目录}/BepInEx/plugins/XUnity.AutoTranslator/XUnity.AutoTranslator.Plugin.BepInEx.dll {游戏目录}/BepInEx/plugins/XUnity.AutoTranslator/Translators/{翻译引擎}.dll {游戏目录}/BepInEx/Translation/AnyTranslationFile.txt 首次启动后自动生成配置文件不需要你手动创建——第一次启动游戏时插件会自动生成位于BepInEx/config/XUnity.AutoTranslator.ini。另一条路ReiPatcher 独立安装如果游戏没装任何插件管理器独立安装反而更省事下载 ReiPatcher 版本压缩包解压到游戏目录让SetupReiPatcherAndAutoTranslator.exe与游戏主程序同级。运行该程序完成补丁注入。通过生成的游戏名 (Patch and Run).lnk快捷方式启动之后就可以直接双击游戏主程序了。特别提醒如果你已经装了受支持的插件管理器就不要再用这种方式两者混用会出问题。第一次成功运行看到翻译的那一刻启动游戏后先按ALT 0调出插件界面确认插件处于启用状态。默认配置下插件会抓取 UGUI、NGUI、TextMeshPro 框架的文字并调用 GoogleTranslate 翻译成英文。如果你的游戏界面出现了替换后的译文恭喜第一条通路已经打通。此时Translation\en\Text\_AutoGeneratedTranslations.txt会自动生成所有被翻译过的原文与译文都会记在里面这个文件是你之后做手动校对的起点。选对翻译引擎从免费到收费怎么取舍翻译引擎在配置里叫 Endpoint存放在Translators子目录。不同引擎的免费额度、稳定性和质量差异很大引擎认证特点GoogleTranslate免认证无限制但随时可能失效DeepLTranslate免认证质量突出免费档首选BingTranslate免认证无限制但不稳定BingTranslateLegitimateAPI 密钥每月免费 200 万字符GoogleTranslateLegitimateAPI 密钥一年 300 美元试用额度约 1500 万字符YandexTranslateAPI 密钥每日免费 100 万字符BaiduTranslateAppId/AppSecret认证后每月前 100 万字符免费LingoCloudTranslate免费 Token每月前 100 万字符免费CustomTranslate自定义 HTTP 接口面向开发者换引擎只需改一处[Service] EndpointDeepLTranslate ; 主翻译引擎 FallbackEndpointBingTranslate ; 主引擎失败时自动切换的备用引擎需要提醒的是使用密钥类服务时绝对不要把密钥分享出去泄露后要立刻到服务商后台吊销。另外所有免认证的在线引擎都有失效风险插件官方也提示过这一点。这些设置让翻译更聪明插件内置了一整套防刷屏机制同一段文字 1 秒内不重复请求、单次会话最多 8000 条、同一时间只发一个请求、结果全部缓存到磁盘。这些机制保证了免费额度不会被浪费你通常无需干预。但有几个配置值得主动调整[Behaviour] MaxCharactersPerTranslation200 ; 超过该长度的文本不翻译避免长句请求被拒 EnableBatchingTrue ; 批量合并翻译请求减少请求次数 UseStaticTranslationsTrue ; 启用内置常用词缓存进一步降低在线请求 HandleRichTextTrue ; 保留游戏内的富文本格式 IgnoreWhitespaceInDialogueTrue ; 翻译前清除对话文本多余换行提升翻译质量关于空白处理有个实战经验大多数翻译引擎会把多行文本逐行翻译原文里多余的换行往往导致译文支离破碎。IgnoreWhitespaceInDialogue正是为此设计配合MinDialogueChars判断对话长度后自动清理换行效果立竿见影。界面装不下的问题UI 自适应与字体替换翻译后文字变长是常态插件默认开启EnableUIResizing自动调整 UI 溢出方式。如果某些界面还是溢出可以建一个resizer.txt文件按路径精确控制CharaCustom/CustomControl/CanvasDrawChangeFontSizeByPercentage(0.5)等号左边是游戏对象的层级路径可用EnableTextPathLoggingTrue让插件把路径打印到日志里右边是操作命令多个命令用分号分隔。翻译成中文后最常见的另一个问题是字体缺字——游戏自带字体没有中文字形所有译文都变成方块。解决办法是指定字体[Behaviour] OverrideFont你的字体文件路径 ; UGUI 全局换字体 FallbackFontTextMeshProFonts Materials/LiberationSans SDF ; TextMeshPro 兜底字体TextMeshPro 场景下优先用FallbackFontTextMeshPro只在缺字时启用备用字体比整体替换更安全。手把手调校手动翻译、正则与场景限定自动翻译质量再高也难免有专有名词、人名被译错。手动翻译的流程很简单把_AutoGeneratedTranslations.txt里的词条复制到新建的 txt 文件放在Translation\en\Text目录下修改译文即可。自定义文件的优先级永远高于自动生成文件所以你可以放心覆盖任何词条。更高级的玩法是正则与替换r:^シンプルリング ([0-9])$Simple Ring $1以r:开头的是标准正则词条适用于数字变化但结构固定的文本。以sr:开头的则是拆分正则能把组合文本拆成多个部分分别翻译再拼回去处理装备属性面板这类场景非常有效。替换文件_Substitutions.txt则用来修正人名等总是被译错的词支持参数化私は{{A}}I am {{A}}如果你的游戏包含多个场景、想给不同场景不同译文可以开启EnableTranslationScopingTrue然后在翻译文件里用指令限定作用范围#set level 1,2,3 ; 仅应用于场景 ID 为 1、2、3 时 #set exe game1 ; 仅当以 game1.exe 启动时生效日常操作速查安装配置完成后真正高频使用的是这几个快捷键快捷键作用ALT 0开关插件界面ALT T在译文与原文之间切换ALT R立即重载翻译文件改完 txt 不用重启游戏ALT U手动扫描当前画面文本ALT F切换自定义字体需先配置 OverrideFontALT Q插件因连续报错停机后手动重启改完翻译文件按ALT R就能即时生效这是手动校对时最高频的操作。遇到这类问题怎么办游戏某些文字没被翻译。先检查[TextFrameworks]段落IMGUI 和 TextMesh 默认是关闭的许多 mod 界面正是 IMGUI 实现把EnableIMGUITrue打开并按下ALT U手动扫描。应用翻译后游戏卡死或逻辑错乱。部分游戏会用显示的文字来决定下一步逻辑此时开启兼容模式TextGetterCompatibilityModeTrue。判断方法很简单按ALT T切回原文后功能恢复正常就说明需要它。对话是一行行滚动出现的译文跟不上。这是 ADV 引擎常见的滚动文本机制开启GeneratePartialTranslationsTrue即可但非必要不要常开。中文显示成方块。按上文配置OverrideFont或FallbackFontTextMeshPro指定带中文字形的字体即可。想彻底关闭自动翻译。把配置里Endpoint留空或按ALT 0选择空引擎要完全卸载则删除 plugins 目录下的 XUnity.AutoTranslator 文件夹保留 XUnity.ResourceRedirector其他 mod 可能依赖它。写在最后马上动手从装框架、解压插件、改配置到手动校对整个过程熟练后不超过十分钟。就算某个免认证翻译引擎突然失效切换到FallbackEndpoint备用引擎或改一份密钥也能立刻续上。别犹豫去 Clone 一份源码研究或者直接拿起你最近卡在语言关的游戏按这篇文章走一遍很快你就能看到熟悉的母语界面了。git clone https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考