XUnity.AutoTranslator完整上手指南:5个问答搞定外语游戏实时汉化
【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator
打开刚下载的日文RPG,满屏假名让人寸步难行;想玩的独立游戏只有英文界面,查一个选项就要切出去开翻译软件。XUnity.AutoTranslator是一款免费开源的Unity游戏实时翻译插件,它能在不触碰任何游戏文件的前提下,动态捕获界面、对话、道具描述等文本并即时转换为中文。这篇指南以五个高频疑问为主线,穿插一次真实的踩坑复盘,带你从零跑通这套汉化方案。
先弄清它靠什么"看见"游戏里的文字
游戏画面里的文字,无论看起来多花哨,渲染时几乎都要经过统一的"文本组件"接口——UGUI、TextMeshPro、NGUI、FairyGUI是Unity生态里最常见的几套。XUnity.AutoTranslator做的事,就像在游戏的眼睛上架了一副实时字幕眼镜:它在运行时挂接到这些文本接口上,文字一出现就被截获、送去翻译、再把结果写回画面。
三个关键特质值得记住:
- 不改游戏本体文件,官方更新后通常仍可用;
- 支持BepInEx、MelonLoader、IPA、UnityInjector等多种加载器,适配不同引擎和运行环境;
- 翻译结果会被缓存到本地文件,同一句话只向在线服务请求一次,越玩越"省流量"。
它默认还内置了约两千条常用日英对照短语,常见短句根本不会触发网络请求。
疑问一:工具到底怎么装进游戏?
绝大多数Unity游戏推荐走BepInEx路线,整体只需四步:
- 先为游戏安装BepInEx插件管理器(按BepInEx官方说明操作);
- 获取本项目发布包:clone仓库 https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 后,从releases下载对应框架的压缩包;
- 把压缩包解压到游戏根目录,让dll文件落入BepInEx对应的plugins、core等文件夹;
- 启动游戏,左上角出现可拖动的悬浮窗即代表加载成功。
🔧 部署进度 25% → 50% → 75% → 100%
启动后第一件事,是按 ALT+0 唤出插件主界面,确认左侧能列出游戏里实时捕获到的文字。能看见文字在滚动,说明挂钩成功;一片空白,说明文本框架未启用,需要到配置文件里把对应的开关打开。
疑问二:装上后满屏方块乱码?
这是汉化中文时最经典的翻车现场——插件工作正常,翻译也返回了,但游戏默认字体是西文字库,根本不含中文字形,于是每个字都渲染成"口口口"。
解决方案在配置文件的[Behaviour]小节:
- OverrideFont:给UGUI文本统一指定自定义字体文件;
- FallbackFontTextMeshPro:为TextMeshPro追加一个回退字体,仅当原字体缺字时启用,推荐优先用它;
- 中文社区有大量针对不同Unity版本打包好的中文字体资源,下载后将字体放入游戏目录,把文件名填进配置即可。
顺带一提,若游戏中部分文字显示为"斜线+小圈"的怪字符,多半是源代码文本里的HTML实体未被解码,把配置项 HtmlEntityPreprocessing 设为True即可。
疑问三:翻译质量平平,如何调教?
不同在线翻译服务各有脾气,先按游戏语种选主引擎:
| 引擎 | 适合场景 | 是否需要密钥 |
|---|---|---|
| GoogleTranslate | 通用、语种覆盖广 | 否(不稳定) |
| DeepLTranslate | 英德法等欧洲语言,文学性强 | 否(不稳定) |
| BaiduTranslate | 中日、中韩互译 | 需要AppId与AppSecret |
| PapagoTranslate | 日韩互译 | 否 |
| YandexTranslate | 俄语及多语种 | 需要API Key |
选定引擎后,第二步是建立自己的"术语主权"。项目会在游戏目录生成几个文本文件,全部以"原文=译文"的格式书写:
- _Substitutions.txt:替换规则,在翻译前生效,适合修正人名地名等常被翻错的词;
- _Preprocessors.txt:预处理,文本发给翻译服务前先做替换;
- _Postprocessors.txt:后处理,收到译文后再修正,比如统一"技能冷却"为"技能CD"。
例如某游戏里角色名"ルナ"总被翻译成"月亮",在_Substitutions.txt里写一行ルナ=露娜,此后所有该名字都会正确显示。这就是"让工具记住你的语言习惯"的魔法。
疑问四:中文太长,对话框装不下怎么办?
日文原文精炼,翻成中文后普遍膨胀20%以上,按钮、对话框、任务栏很容易溢出。别急着改游戏分辨率,[Behaviour]小节这几个开关才是正解:
- EnableUIResizing:翻译后自动调整文本组件溢出方式,默认开启;
- ForceUIResizing:不管是否翻译,一律按缩放逻辑处理,对付顽固UI时打开;
- ResizeUILineSpacingScale:按比例压缩行距,填0.80大约能多塞一行;
- ForceSplitTextAfterCharacters:译文超过指定字符数时强制换行,适合超长道具说明。
原理上,插件调整的不是控件尺寸,而是文本溢出策略(Overflow),让文字更聪明地"撑"进原有空间,而不是粗暴拉大界面。
疑问五:想自己做一份汉化补丁,可行吗?
完全可以,而且这正是此工具的另一半价值。游戏运行后,所有自动翻译结果都会写入 _AutoGeneratedTranslations.txt,你可以直接编辑它修正个别翻译,按 ALT+R 立即热重载,不必重启游戏。
更有意思的是分发玩法:
- 把 _AutoGeneratedTranslations.txt 里的条目复制到自己的txt文件,放进 Translation 目录,游戏启动时会自动读取(zip压缩包也支持),且自定义文件的优先级高于自动生成文件;
- 图片类文本(招牌、海报、漫画对话框)走另一条路:开启EnableTextureDumping后,插件会把游戏内贴图按哈希命名导出到 Texture 目录,你替换掉图片内容、保留文件名中的哈希值,再开启EnableTextureTranslation,游戏内就会加载你的汉化图。
一位汉化组朋友的亲身体验:"以前做一个日系RPG的图片汉化,要写脚本逐帧抓图;现在把dumping打开睡一觉,第二天醒来几百张图已经按名字排好,我只负责改图,效率翻了好几倍。"
实战复盘:从满屏日文到无障碍通关
用一次真实流程收束全文。玩家小李拿到一款只有日文的Unity恋爱模拟游戏,他的完整路径是:
- 装BepInEx → 装插件 → 启动,第一步就卡住:悬浮窗没出现。排查后发现是杀毒软件拦截了BepInEx进程,加入白名单后解决;
- 能翻译了,但中文全是方块。按上述方案配置中文字体,乱码消失;
- 剧情对话质量一般,把引擎从Google换成百度,并加了角色名替换规则,观感明显提升;
- 对话框文字溢出,开启ForceUIResizing并设置行距0.85,界面清爽;
- 玩了三天后导出未翻译文本人工润色,最终攒出一份本地词库,即使断网也能靠缓存正常游玩。
小李的原话:"从'看不懂只好放弃'到'通关后意犹未尽',中间只隔了一个下午的配置时间。"这正是这类工具存在的意义——让语言不再成为玩游戏的决策因素。
常见问题排查速查表
| 症状 | 可能原因 | 解决方法 |
|---|---|---|
| 悬浮窗不出现 | 加载器版本与游戏不匹配、被安全软件拦截 | 确认BepInEx版本,将游戏与工具进程加入白名单 |
| 显示方块乱码 | 游戏字体不含中文字形 | 配置OverrideFont或FallbackFontTextMeshPro |
| 部分文本不翻译 | 对应文本框架默认关闭 | 在配置中打开EnableTextMesh、EnableIMGUI等开关 |
| 翻译迟迟不出结果 | 插件会先等待1秒确认文本稳定,再排队请求 | 属正常防抖机制,静候即可;若超30秒无反应检查网络 |
| 界面文字溢出 | 译文长度超过原文 | 开启UI缩放相关配置并设置强制换行阈值 |
| 翻译结果混乱 | 源语言识别错误 | 在FromLanguage中手动指定游戏原始语言,勿依赖auto |
| 游戏更新后失效 | 官方改动文本接口 | 更新插件版本并重新启用未开启的文本框架 |
现在就开始你的无障碍游戏之旅
语言壁垒不该由玩家买单。无论你是被日文剧情劝退的RPG爱好者,还是想给冷门独立游戏做本地化的热心人,XUnity.AutoTranslator都能把"等汉化"变成"马上玩"。从今天下午开始:备份游戏目录,clone仓库,装好BepInEx,解压插件,然后打开那款被你搁置许久的外语游戏——这次,你看到的不再是看不懂的陌生文字,而是一个终于向你敞开的世界。
【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考