news 2026/8/19 8:28:34

Unity游戏如何自动翻译成中文?10分钟上手XUnity.AutoTranslator免费翻译插件

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Unity游戏如何自动翻译成中文?10分钟上手XUnity.AutoTranslator免费翻译插件

Unity游戏如何自动翻译成中文?10分钟上手XUnity.AutoTranslator免费翻译插件

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

上周深夜,你终于下载好那款心心念念的日文RPG,满怀期待地点开游戏——结果满屏五十音图扑面而来:角色在说什么?道具有什么用?连"确定/取消"都得靠猜。这种"卡在第一步"的憋屈,玩过日韩游戏的玩家都懂。

今天要介绍的XUnity.AutoTranslator,就是专治这个问题的开源利器。它是一款能实时把 Unity 游戏里的文本自动翻译成中文的免费插件,装上之后,游戏里的对话、菜单、物品说明会一边显示一边翻译,不用切窗口、不用复制粘贴,体验接近官方汉化。

它到底怎么做到的?跟着下面的步骤走一遍,十分钟你就能看到熟悉的方块字出现在游戏里。

为什么它能"读"懂游戏里的文字

XUnity.AutoTranslator 的思路很简单:在游戏运行时"挂钩"(Hook)住所有文字组件,一发现有新文本出现,就交给翻译引擎处理,再把译文写回屏幕。整个过程完全自动,游戏原本的安装目录和资源文件一个都不用动。

它把这项工作拆成了三个可自由组合的部分:

  • 插件框架适配层:支持 BepInEx、MelonLoader、IPA、UnityInjector,你游戏里装了哪个管理器,它就能挂到哪个上;
  • 文本框架识别层:能识别 UGUI、NGUI、TextMeshPro、IMGUI、FairyGUI、UTAGE 等多种 UI 系统;
  • 翻译端点层:内置 Google、Bing、DeepL、百度、Yandex、Papago 等十余种翻译服务,还可以挂载第三方或自研端点。

翻译结果还会自动存进本地缓存文件,下次再遇到同一句话直接读取,省时又省钱。是不是已经开始心动了?那我们就从安装开始。

第一步:装好BepInEx插件管理器

BepInEx 是当前最主流的 Unity 游戏插件管理器,XUnity.AutoTranslator 对它的支持也最完善,推荐新手从这条路入手。

  1. 下载适合你游戏版本的 BepInEx,解压到游戏根目录(和游戏主程序 exe 放在一起);
  2. 直接运行一次游戏,看到游戏目录下出现BepInEx文件夹就说明安装成功;
  3. 关闭游戏,准备下一步。

注意:不同游戏需要的 BepInEx 版本可能不同(5.x 与 6.x 不通用),如果游戏社区有推荐的安装方式,以社区为准。

第二步:解压AutoTranslator插件包

从项目发布页下载XUnity.AutoTranslator-BepInEx安装包,解压后把里面的文件全部复制到游戏根目录,让它自动合并进BepInEx文件夹。正确的话,你的插件目录下应该能看到:

BepInEx/plugins/XUnity.AutoTranslator/ BepInEx/plugins/XUnity.ResourceRedirector/

提示:不要单独删除XUnity.ResourceRedirector目录,其他插件可能依赖它。

第三步:改两行配置把界面变成中文

再次启动游戏,让插件跑一次初始化。退出游戏后,打开BepInEx/config/AutoTranslatorConfig.ini,找到[Service][General]两段:

[Service] Endpoint=GoogleTranslateV2 [General] Language=zh FromLanguage=ja
  • Language=zh表示目标语言为中文;
  • FromLanguage=ja表示源语言为日语(按你玩的游戏改,比如ko是韩语);
  • Endpoint是翻译引擎,默认的 GoogleTranslateV2 无需注册即可用,追求翻译质量可以换成DeepLTranslate

保存文件,再次启动游戏,界面上的日文应该开始陆续变成中文了——这就是可验证的第一步成果。

第四步:记住这几个救命快捷键

快捷键作用什么时候用
ALT + 0打开/关闭翻译设置面板想切换引擎、看状态时
ALT + T在原文和译文间切换想确认某句话翻得对不对
ALT + R重新加载翻译文件手动改完翻译文件立刻生效
ALT + U手动触发文本挂钩某个文本一直没被翻到
ALT + F切换字体覆盖配了 OverrideFont 后对比效果
ALT + Q重启已停摆的翻译功能翻译服务连续报错被自动关闭后

注意:ALT + 0 里的"0"是数字零,不是字母 O,初次使用经常有人按错。

普通用户进阶:让翻译越用越"懂你"

自动翻译毕竟是机器翻译,偶尔会翻得生硬。好在 XUnity.AutoTranslator 支持手动精修,而且流程极其简单:

  1. 打开BepInEx/Translation/zh/Text/_AutoGeneratedTranslations.txt,里面按原文=译文的格式记录了所有翻译;
  2. 把不满意的行改掉,保存后按ALT + R立即生效,不用重启游戏;
  3. 想让某句话永远不再被自动翻译覆盖,就把它从自动文件里剪切到一个新建的.txt文件——自动文件优先级最低,你手写的永远说了算。

如果游戏里有些文本是"模板"式的(比如道具名、数值),正则表达式能帮你批量搞定。普通翻译用r:前缀:

r:"^アイテム ([0-9]+)$"=物品 $1

遇到"数字+文本"这种被游戏拼起来的复合文本,用分割器正则sr:,先把整句拆开分别翻译再拼回去:

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

提示:正则别滥用、别写得过宽,否则会拖慢游戏性能;也千万别把正则写进以_开头的自动生成文件里,那里不生效。

追求体验者进阶:解决乱码、错位和翻译质量

中文乱码怎么破?游戏自带字体往往没有中文字形,这是最常见的问题。对 UGUI 界面设置OverrideFont指定一个中文字体;对 TextMeshPro 则优先用FallbackFontTextMeshPro做后备字体——原文能用原字体显示的字不动,缺的字才用后备字体补上,效果最自然。

译文太长把UI撑爆了?确认EnableUIResizing=True,插件会自动调整组件的溢出方式,让长文本显示得下。个别顽固界面,还可以用resizer.txt文件按组件路径单独调整字号。

想少花钱、翻得更快?打开EnableBatching=True合并请求、UseStaticTranslations=True启用内置静态词典缓存、调低MaxCharactersPerTranslation限制单条翻译长度。另外别忘了:插件自带一整套防滥用机制——文本稳定 1 秒才发请求、同时只发一个请求、单局最多 8000 次——所以翻译偶尔"顿一下"是正常现象,不是坏了。

游戏要翻译图片?从 2.16 起支持纹理替换,在[Texture]段开启EnableTextureTranslation=True,配合EnableTextureDumping=True把游戏图片导出、改好中文再放回目录即可。注意转正式使用时务必关掉 Dumping,否则有性能损耗。

二次开发者进阶:把翻译能力装进你自己的MOD

XUnity.AutoTranslator 面向开发者开放了一整套 API,几行代码就能让自家 MOD 的文字也走翻译管线:

// 异步翻译:先查缓存,查不到再请求翻译端点 AutoTranslator.Default.TranslateAsync( untranslatedText, result => { if( result.Succeeded ) { var translatedText = result.TranslatedText; } } );

想实现自己的翻译引擎?实现ITranslateEndpoint接口(返回Id、实现Translate方法),把编译好的 DLL 丢进Translators目录,用户就能在配置里选择它。不想让 AutoTranslator 碰你 MOD 的界面?把包含文本的 GameObject 名字里加上XUAIGNORE(忽略自身)或XUAIGNORETREE(忽略整棵子树)即可。

对于需要整体替换游戏资源的场景,项目还附带独立的XUnity.ResourceRedirector资源重定向库,可以在不改动游戏文件的前提下替换 TextAsset、贴图等资源,且它完全可以脱离 AutoTranslator 单独使用。

避坑清单:十个常见问题一次说清

现象排查方向
界面上有文本没翻译确认对应文本框架已启用;按 ALT+U 手动挂钩
完全没反应检查Endpoint是否为空、网络是否可达
翻译一阵就停服务端连续失败会触发保护性关闭,按 ALT+Q 重启
游戏按译文执行逻辑出错开启TextGetterCompatibilityMode=True
中文显示成方块配置OverrideFont/FallbackFontTextMeshPro
UI 文字重叠、溢出确认EnableUIResizing=True
IL2CPP 游戏部分漏翻IL2CPP 支持尚不完整,需 ALT+U 手动刷新,且 TextGetter 兼容模式、IMGUI 不可用
请求太多怕扣费EnableBatching,调小MaxCharactersPerTranslation
想禁用自动翻译ALT+0 里选择空端点,或把Endpoint=清空
用了付费API密钥别外泄,确认所选引擎支持你的源/目标语言

社区生态:从一个人到一群人

XUnity.AutoTranslator 最迷人的地方在于它的开放性。社区已经为它写出了接入本地 Ollama 大模型的 LLM 翻译端点、Sugoi 离线翻译端点等第三方插件——这意味着你甚至可以不依赖在线服务,用本地模型完成翻译。项目本身的演进方向也集中在 AI 翻译集成、IL2CPP 支持完善和性能优化上。

如果你已经上手成功,不妨做三件小事:备份一份自己的配置文件关注更新日志(新版经常会修复特定游戏的兼容问题)、把自己手工打磨的翻译词典分享出来。你写下的每一行原文=译文,都在帮助下一个和曾经的你一样卡在语言关口的玩家。

语言从来不该是游戏乐趣的障碍。现在就动手装好 XUnity.AutoTranslator,十分钟后,你会发现那个"看不懂"的世界,原来可以这么亲切。🎮

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

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

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

特斯拉FSD v14险将车辆驶入路沟,自动驾驶信任危机再敲警钟

特斯拉全自动驾驶系统 v14.3.6 在高速行驶中突然试图驶向一个已经错过的出口,险些将车辆送入路边沟渠。事发当晚,车辆正以110公里/小时的速度在魁北克莫里斯地区的55号高速公路上行驶,系统版本为特斯拉目前最新硬件上运行的FSD(监…

作者头像 李华
网站建设 2026/8/19 8:17:12

基于Edge Impulse的暖气故障边缘智能检测:声音与振动分析实践

1. 项目缘起:为什么要在“边缘”检测暖气故障? 去年冬天,我负责维护的一个小型社区活动中心,其老旧的暖气系统在半夜毫无征兆地罢工了。第二天一早,工作人员发现室内温度已接近冰点,不仅影响了正常活动&…

作者头像 李华
网站建设 2026/8/19 8:17:08

有界性定理证明

题目 若函数f(x)f(x)f(x)在闭区间[a,b][a,b][a,b]上连续,那么函数f(x)f(x)f(x)在闭区间[a,b][a,b][a,b]上有界。 证明: 用反证法,不妨设f(x)f(x)f(x)在在闭区间[a,b][a,b][a,b]上无上界,那么一定可以在闭区间[a,b][a,b][a,b]上取到…

作者头像 李华
网站建设 2026/8/19 8:15:18

前端框架现代网页应用开发从需求拆出验证点

前端框架现代网页应用开发从需求拆出验证点 很多关于 Next.js 和 AI 结合的讨论,总是停留在调用一个现成 API 然后用 useState 渲染一串文本。然而,真实业务场景要复杂得多:当用户选择了一份 50 页的 PDF 文档并提问时,你需要从客…

作者头像 李华
网站建设 2026/8/19 8:12:41

TEMU上架软件:绕过滑块验证码与前端检测的穿甲方案

TEMU上架软件:绕过滑块验证码与前端检测的穿甲方案 电商这行,谁的速度快谁吃肉。TEMU的自动化上架,是店群运营中最耗人力也最容易出错的环节。 手动上架一个商品从填写标题、上传主图、设置SKU、填写详情到发布,熟练操作也要3-5…

作者头像 李华