XUnity Auto Translator:Unity游戏自动翻译完整指南
【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator
面对外语Unity游戏时的语言障碍,XUnity Auto Translator提供了完整的实时翻译解决方案。这款开源工具能够在游戏运行时自动识别并翻译界面文本,支持多种翻译引擎和插件框架,让玩家无需等待官方本地化即可享受游戏内容。
🎯 核心功能与价值定位
XUnity Auto Translator的核心价值在于其无缝集成能力。它直接嵌入Unity游戏运行时环境,通过钩子技术捕获游戏中的文本渲染调用,实现即时翻译替换。不同于外部翻译工具,它能够:
- 实时文本替换:在游戏渲染过程中动态替换文本内容
- 多框架支持:兼容UGUI、NGUI、TextMeshPro等主流Unity UI框架
- 智能缓存系统:翻译结果自动保存,避免重复请求翻译服务
- 配置灵活性:支持在线翻译API和本地翻译软件
📋 安装与配置流程
选择合适的安装方式
根据游戏使用的插件管理器,选择对应的安装包:
| 安装方式 | 适用场景 | 核心文件位置 |
|---|---|---|
| 独立安装(ReiPatcher) | 无插件管理器的Unity游戏 | 游戏根目录/ReiPatcher/ |
| BepInEx插件 | 已使用BepInEx的游戏 | BepInEx/plugins/XUnity.AutoTranslator/ |
| MelonLoader插件 | 使用MelonLoader的游戏 | Mods/和UserLibs/目录 |
| IPA插件 | 使用IPA的游戏 | Plugins/目录 |
| UnityInjector插件 | 使用UnityInjector的游戏 | UnityInjector/目录 |
基本配置步骤
- 下载对应版本的安装包,解压到游戏目录
- 运行游戏一次生成默认配置文件
- 修改配置文件设置语言和翻译服务
关键配置项说明:
[Service] Endpoint=GoogleTranslate ; 选择翻译服务 [General] Language=zh-CN ; 目标语言(中文) FromLanguage=ja ; 源语言(日语) [Behaviour] MaxCharactersPerTranslation=200 ; 每次翻译最大字符数 EnableUIResizing=True ; 启用UI自动调整🔧 主要功能详解
翻译引擎选择
XUnity Auto Translator支持多种翻译服务,满足不同用户需求:
免费在线服务
- Google Translate:最常用的免费翻译服务
- Bing Translate:微软提供的翻译服务
- DeepL Translate:翻译质量较高
- Papago Translate:韩语翻译效果优秀
认证API服务
- Google Cloud Translation API:每月有免费额度
- DeepL API:专业级翻译质量
- 百度翻译API:中文翻译优化
- Yandex Translate:俄语翻译专家
本地翻译软件
- ezTrans XP:日语→韩语专业翻译
- LEC Power Translator 15:离线翻译解决方案
UI文本框架支持
工具支持所有主流Unity文本渲染框架:
| 框架名称 | 默认启用 | 说明 |
|---|---|---|
| UGUI | 是 | Unity官方UI系统 |
| NGUI | 是 | 流行的第三方UI系统 |
| TextMeshPro | 是 | 现代文本渲染方案 |
| IMGUI | 否 | Unity旧版即时模式GUI |
| FairyGUI | 是 | 专业UI解决方案 |
| Utage | 是 | 视觉小说游戏引擎 |
智能文本处理
正则表达式支持对于复杂的翻译场景,可以使用正则表达式进行精确控制:
# 替换特定格式的文本 r:"^アイテム ([0-9]+)$"=物品 $1 # 拆分复合文本分别翻译 sr:"^([0-9]{2}) ([\S\s]+)$"=$1 $2翻译范围限定避免翻译冲突,可以限定翻译只在特定场景生效:
#set level 1,2,3 # 只在场景1、2、3中生效 #set exe game1 # 只在game1.exe中生效🎮 实用操作指南
快捷键控制
游戏运行时可以使用以下快捷键控制翻译功能:
| 快捷键 | 功能说明 |
|---|---|
| ALT+0 | 打开/关闭设置界面 |
| ALT+1 | 切换翻译聚合器界面 |
| ALT+T | 切换翻译显示状态 |
| ALT+R | 重新加载翻译文件 |
| ALT+U | 手动触发文本钩取 |
| ALT+F | 切换字体覆盖(如配置了OverrideFont) |
性能优化建议
- 启用批处理:设置
EnableBatching=True减少API调用次数 - 合理设置字符限制:
MaxCharactersPerTranslation=200平衡质量与性能 - 使用静态翻译缓存:
UseStaticTranslations=True减少在线翻译需求 - 选择性启用框架:只启用游戏实际使用的文本框架
常见问题解决
翻译后游戏卡顿或崩溃
- 尝试设置
TextGetterCompatibilityMode=True - 检查是否启用了过多的文本框架
部分文本未被翻译
- 确认对应的文本框架已启用
- 尝试手动刷新:ALT+U触发手动钩取
- 检查文本是否以特殊字符开头
翻译质量不理想
- 尝试不同的翻译引擎
- 使用预处理器和后处理器优化文本
- 添加自定义替换规则到
_Substitutions.txt
🛠️ 高级配置与定制
翻译文件管理
翻译文件存储在Translation/{Language}/Text/目录中:
_AutoGeneratedTranslations.txt:自动生成的翻译_Substitutions.txt:文本替换规则_Preprocessors.txt:翻译前处理规则_Postprocessors.txt:翻译后处理规则
字体与UI调整
当翻译文本长度变化时,UI可能需要调整:
[Behaviour] OverrideFont= ; 覆盖UGUI字体 OverrideFontTextMeshPro= ; 覆盖TextMeshPro字体 FallbackFontTextMeshPro= ; TextMeshPro备用字体 ResizeUILineSpacingScale=0.80 ; 行间距缩放比例纹理翻译功能
从版本2.16.0开始支持纹理翻译:
[Texture] EnableTextureTranslation=True TextureDirectory=Translation\{Lang}\Texture EnableTextureDumping=False # 发布时务必设为False TextureHashGenerationStrategy=FromImageName📁 项目结构与源码参考
XUnity Auto Translator采用模块化设计,主要源码结构:
- 核心插件模块:src/XUnity.AutoTranslator.Plugin.Core/
- 翻译引擎实现:src/Translators/
- 资源重定向模块:src/XUnity.ResourceRedirector/
- 插件适配器:src/XUnity.AutoTranslator.Plugin.BepInEx/ 等
开发者集成
为模组添加翻译支持:
// 查询翻译 string originalText = "獲得経験値"; if(AutoTranslator.Default.TryTranslate(originalText, out string translation)) { // 使用翻译后的文本 textComponent.text = translation; }避免翻译干扰:
// 在GameObject名称中包含"XUAIGNORE" gameObject.name = "MyUI_XUAIGNORE"; // 或者使用"XUAIGNORETREE"忽略整个子树 parentObject.name = "UIRoot_XUAIGNORETREE";🔍 调试与故障排除
调试快捷键
| 快捷键 | 功能 |
|---|---|
| CTRL+ALT+NP9 | 模拟同步错误 |
| CTRL+ALT+NP8 | 模拟异步错误(延迟1秒) |
| CTRL+ALT+NP7 | 打印场景名称和ID到控制台 |
| CTRL+ALT+NP6 | 输出完整GameObject层次结构到hierarchy.txt |
日志与监控
启用调试日志查看详细运行信息:
[Debug] EnableConsole=True EnableLog=True📊 最佳实践总结
发布翻译模组注意事项
- 包含翻译缓存:分发时包含
_AutoGeneratedTranslations.txt文件 - 禁用调试功能:确保
EnableTextureDumping=False和OutputUntranslatableText=False - 测试稳定性:启用日志检查游戏是否出现异常行为
- 保持更新:定期更新到最新版本
性能优化配置
[Behaviour] MaxCharactersPerTranslation=200 EnableBatching=True UseStaticTranslations=True EnableUIResizing=True [Texture] CacheTexturesInMemory=True TextureHashGenerationStrategy=FromImageName🚀 开始使用
要开始使用XUnity Auto Translator,只需:
- 从项目仓库克隆或下载最新版本:
git clone https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator - 根据游戏环境选择对应的安装包
- 按照安装说明配置游戏
- 启动游戏并按ALT+0打开设置界面配置翻译服务
这款工具为Unity游戏玩家和开发者提供了强大的本地化支持,无论是想要畅玩外语游戏的普通用户,还是需要为游戏添加多语言支持的开发者,都能从中受益。通过合理的配置和使用,可以显著提升游戏的可访问性和用户体验。
【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考