如何用XUnity.AutoTranslator轻松实现Unity游戏实时翻译:完整指南
【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator
XUnity.AutoTranslator是一款强大的Unity游戏实时翻译插件,能够自动翻译游戏中的文本内容,同时提供手动翻译所需的工具。无论你是想玩日文游戏但不懂日语,还是想为游戏制作本地化MOD,这款插件都是你的理想选择。它支持多种翻译服务和插件框架,为玩家提供了便捷的游戏本地化体验。
🚀 快速上手:5分钟安装指南
XUnity.AutoTranslator支持多种安装方式,新手推荐使用BepInEx框架,老手可以选择独立安装。
安装方式对比
| 安装方式 | 适合人群 | 依赖要求 | 推荐度 |
|---|---|---|---|
| BepInEx插件 | 大多数用户 | 需要先安装BepInEx | ⭐⭐⭐⭐⭐ |
| 独立安装(ReiPatcher) | 不想装插件管理器的用户 | 无额外依赖 | ⭐⭐⭐⭐ |
| MelonLoader插件 | MelonLoader用户 | 需要MelonLoader | ⭐⭐⭐ |
| IPA插件 | IPA用户 | 需要IPA | ⭐⭐ |
| UnityInjector插件 | UnityInjector用户 | 需要UnityInjector | ⭐ |
BepInEx安装步骤(推荐)
- 下载插件:从发布页面下载
XUnity.AutoTranslator-BepInEx-{VERSION}.zip - 解压文件:直接解压到游戏根目录,确保DLL文件放在BepInEx文件夹中
- 启动游戏:运行游戏,插件会自动创建配置文件
- 配置翻译服务:在
BepInEx/config/AutoTranslatorConfig.ini中设置翻译端点
文件结构应如下所示:
游戏目录/ ├── BepInEx/ │ ├── core/ │ │ └── XUnity.Common.dll │ ├── plugins/ │ │ └── XUnity.AutoTranslator/ │ │ ├── XUnity.AutoTranslator.Plugin.Core.dll │ │ ├── XUnity.AutoTranslator.Plugin.BepInEx.dll │ │ ├── XUnity.AutoTranslator.Plugin.ExtProtocol.dll │ │ ├── ExIni.dll │ │ └── Translators/ │ │ └── GoogleTranslate.dll │ └── Translation/ │ └── Text/ │ └── _AutoGeneratedTranslations.txt独立安装步骤(无需插件管理器)
对于不想安装插件管理器的用户,独立安装是最简单的选择:
- 下载
XUnity.AutoTranslator-ReiPatcher-{VERSION}.zip - 解压到游戏目录,确保"SetupReiPatcherAndAutoTranslator.exe"与其他可执行文件放在一起
- 运行"SetupReiPatcherAndAutoTranslator.exe"设置ReiPatcher
- 运行创建的快捷方式启动游戏
🔧 核心功能详解
支持的文本框架
XUnity.AutoTranslator支持几乎所有Unity文本框架:
- UGUI- Unity的标准UI系统
- NGUI- 流行的第三方UI系统
- TextMeshPro- 现代文本渲染系统
- IMGUI- Unity的即时模式GUI(默认禁用)
- TextMesh- 3D空间中的文本(默认禁用)
- FairyGUI for Unity- 流行的UI框架
- Utage- 视觉小说游戏引擎
快捷键操作
插件提供了一系列快捷键,让翻译控制更加便捷:
| 快捷键 | 功能描述 |
|---|---|
| ALT + 0 | 切换XUnity AutoTranslator UI界面 |
| ALT + 1 | 切换翻译聚合器UI |
| ALT + T | 在所有文本的翻译和未翻译版本之间切换 |
| ALT + R | 重新加载翻译文件(修改翻译后立即生效) |
| ALT + U | 手动挂钩文本组件 |
| ALT + F | 在覆盖字体和默认字体之间切换 |
| ALT + Q | 重启插件(在连续错误导致关闭时使用) |
🌐 翻译服务选择
内置翻译器
XUnity.AutoTranslator支持多种翻译服务,满足不同用户需求:
免费翻译服务(无需API密钥):
- GoogleTranslate- 基于在线Google翻译,稳定但可能受限
- GoogleTranslateV2- 新版Google翻译API,正在测试中
- BingTranslate- 基于Bing翻译服务
- DeepLTranslate- DeepL翻译,质量出色
- PapagoTranslate- Naver的Papago翻译服务
付费翻译服务(需要API密钥):
- GoogleTranslateLegitimate- Google Cloud翻译API,首年$300额度
- BingTranslateLegitimate- Azure文本翻译,每月200万字符免费
- DeepLLegitimate- DeepL API,每月50万字符免费
- BaiduTranslate- 百度翻译API,每月5万字符免费
- YandexTranslate- Yandex翻译,每天100万字符免费
本地翻译软件:
- LecPowerTranslator15- 需要安装LEC Power Translator软件
- ezTrans XP- 日韩翻译软件,需要安装ezTrans XP和Ehnd
配置翻译端点
在配置文件中简单设置即可切换翻译服务:
[Service] Endpoint=GoogleTranslate ; 使用的翻译端点 FallbackEndpoint= ; 主端点失败时的备用端点 [General] Language=en ; 目标语言(如en、zh、ja) FromLanguage=ja ; 源语言(游戏原始语言)⚙️ 高级配置技巧
性能优化设置
[Behaviour] MaxCharactersPerTranslation=200 ; 每次翻译的最大字符数 EnableBatching=True ; 启用翻译批处理 UseStaticTranslations=True ; 使用内置静态翻译缓存 CacheRegexLookups=False ; 缓存正则表达式查找结果UI调整配置
[TextFrameworks] EnableUGUI=True ; 启用UGUI翻译 EnableTextMeshPro=True ; 启用TextMeshPro翻译 EnableIMGUI=False ; 禁用IMGUI翻译(默认) [Behaviour] EnableUIResizing=True ; 启用UI自动调整大小 OverrideFont= ; 覆盖UGUI字体 FallbackFontTextMeshPro= ; TextMeshPro备用字体纹理翻译设置
[Texture] EnableTextureTranslation=False ; 启用纹理翻译 EnableTextureDumping=False ; 启用纹理转储(性能影响大) TextureDirectory=Translation\{Lang}\Texture ; 纹理目录 TextureHashGenerationStrategy=FromImageName ; 纹理哈希生成策略📁 文件结构与翻译管理
翻译文件组织
Translation/ └── en/ ; 目标语言目录 ├── Text/ │ ├── _AutoGeneratedTranslations.txt ; 自动生成的翻译 │ ├── _Substitutions.txt ; 替换规则 │ ├── _Preprocessors.txt ; 预处理规则 │ ├── _Postprocessors.txt ; 后处理规则 │ └── manual_translations.txt ; 手动翻译 └── Texture/ ; 纹理翻译目录手动翻译管理
编辑自动生成的翻译:
- 修改
_AutoGeneratedTranslations.txt文件中的翻译 - 按ALT+R重新加载翻译立即生效
- 修改
创建手动翻译文件:
- 在
Translation/{Lang}/Text/目录中创建新的.txt文件 - 从
_AutoGeneratedTranslations.txt复制需要手动翻译的内容 - 插件会优先使用手动翻译文件中的内容
- 在
使用正则表达式:
r:"^物品 ([0-9]+)$"=Item $1 sr:"^([0-9]{2}) ([\S\s]+)$"=$1 $2
🔍 常见问题与解决方案
| 问题 | 解决方案 |
|---|---|
| 游戏在应用翻译后停止工作 | 设置TextGetterCompatibilityMode=True |
| 某些文本没有被翻译 | 1. 检查文本框架是否启用 2. 按ALT+U手动挂钩 3. 启用IMGUI翻译(如果来自其他MOD) |
| 翻译质量不佳 | 1. 调整IgnoreWhitespaceInDialogue设置2. 使用预处理/后处理文件 3. 尝试不同的翻译服务 |
| 内存占用过高 | 1. 禁用纹理缓存CacheTexturesInMemory=False2. 减少 MaxCharactersPerTranslation值3. 关闭不需要的文本框架 |
| 翻译速度慢 | 1. 启用EnableBatching=True2. 使用本地翻译软件 3. 增加静态翻译缓存 |
| 字体显示异常 | 1. 设置合适的OverrideFont2. 调整 ResizeUILineSpacingScale3. 使用 FallbackFontTextMeshPro |
调试技巧
启用控制台输出:
[Debug] EnableConsole=True EnableLog=True使用调试快捷键:
- CTRL + ALT + NP7:打印加载的场景名称和ID
- CTRL + ALT + NP6:将GameObject层次结构输出到文件
检查翻译缓存:
- 查看
_AutoGeneratedTranslations.txt文件 - 检查是否有重复或冲突的翻译条目
- 查看
🛠️ 高级功能
插件特定翻译
为特定插件创建专用翻译:
- 在
Translation/{Lang}/Text/Plugins/目录中创建插件名称的文件夹 - 在文件夹中创建翻译文件
- 添加
#enable fallback指令以启用回退到通用翻译
翻译范围限定
使用指令限定翻译应用范围:
#set level 1,2,3 ; 仅在这些场景中应用翻译 #set exe game1,game2 ; 仅在这些可执行文件中应用翻译 #set required-resolution height > 1280 && width > 720 ; 分辨率要求UI字体调整
创建resizer.txt文件控制字体大小:
CharaCustom/CustomControl/CanvasDraw=ChangeFontSizeByPercentage(0.5) UI/Menu/Text=AutoResize(true, 12, 36)📦 重新分发指南
如果你要为特定游戏重新分发XUnity.AutoTranslator:
✅应该做的:
- 包含尽可能多的预翻译内容在
_AutoGeneratedTranslations.txt中 - 使用默认的GoogleTranslate作为端点
- 启用日志测试游戏行为
- 保持插件版本最新
❌不应该做的:
- 使用非默认翻译端点配置(如DeepLTranslate)
- 启用
EnableTextureDumping=True - 启用
OutputUntranslatableText=True - 设置
MaxCharactersPerTranslation超过400
🎯 最佳实践建议
游戏翻译工作流
初始设置阶段:
- 使用默认配置启动游戏
- 让插件自动生成翻译缓存
- 检查哪些文本框架需要启用
翻译优化阶段:
- 编辑
_AutoGeneratedTranslations.txt修正错误翻译 - 创建替换规则文件处理专有名词
- 配置UI调整确保文本显示正常
- 编辑
最终发布阶段:
- 禁用所有调试选项
- 验证翻译文件完整性
- 测试所有游戏功能是否正常
性能优化技巧
- 对于大型游戏,启用
EnableBatching=True减少API调用 - 使用
UseStaticTranslations=True利用内置缓存 - 适当调整
MaxCharactersPerTranslation避免过长文本 - 禁用不需要的文本框架减少开销
兼容性注意事项
- IL2CPP游戏支持有限,可能需要额外插件
- 某些游戏可能需要
TextGetterCompatibilityMode=True - 旧版Unity游戏可能需要
EnableLegacyTextureLoading=True - 使用MonoMod钩子解决特殊方法挂钩问题
🔗 相关资源与下一步
官方文档与源码
- 核心插件源码:
src/XUnity.AutoTranslator.Plugin.Core/ - 翻译器实现:
src/Translators/ - BepInEx适配:
src/XUnity.AutoTranslator.Plugin.BepInEx/ - 资源重定向器:
src/XUnity.ResourceRedirector/
社区资源
- 查看
CHANGELOG.md了解版本更新 - 参考
README.md获取详细技术文档 - 访问项目仓库获取最新版本和问题反馈
下一步行动建议
- 新手用户:从BepInEx安装开始,使用默认配置体验基本功能
- 进阶用户:尝试不同的翻译服务,优化配置参数
- MOD制作者:学习插件API,为特定游戏创建优化配置
- 开发者:查看源码实现自定义翻译器或资源重定向器
XUnity.AutoTranslator为Unity游戏本地化提供了完整的解决方案,无论你是普通玩家想要游玩外语游戏,还是MOD制作者想要创建本地化补丁,这个工具都能满足你的需求。通过合理的配置和使用,你可以获得流畅的游戏翻译体验。
记住,好的翻译需要耐心和调整。从简单的配置开始,逐步优化,你会发现这个插件的强大之处。祝你游戏愉快!🎮
【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考