XUnity.AutoTranslator配置指南:从零实现Unity游戏AI实时翻译 1. 项目概述为什么你需要XUnity自动翻译器如果你是一个喜欢玩各种独立游戏、视觉小说或者小众Unity引擎游戏的玩家肯定遇到过这样的烦恼一款游戏非常有趣但偏偏没有中文。传统的汉化补丁要么等不到要么版本对不上。手动截图翻译效率低到令人发指还严重破坏游戏沉浸感。XUnity.AutoTranslator后文简称XUA就是为解决这个痛点而生的神器。它是一个运行在游戏进程内的插件能够实时拦截游戏引擎主要是Unity渲染的文本调用外部翻译服务进行翻译再将翻译结果“贴”回游戏画面。简单说它就是一个“游戏内嵌的实时翻译机”。而“如何快速配置”恰恰是新手面对这个强大工具时最大的门槛。网络上相关的教程要么过于零散要么版本陈旧或者默认你已经是个精通Unity Mod管理的老手。这篇指南的目的就是帮你跨过这个门槛。我会以一个从零开始的玩家视角带你走完从环境准备、工具安装、核心配置到实战优化的完整流程。无论你是只想玩通一款游戏还是想为自己喜欢的游戏贡献一份汉化这篇指南都能让你快速上手。2. 核心工具与前置环境准备在开始配置XUnity.AutoTranslator之前我们需要准备好一系列工具。别被这个列表吓到大部分都是点击即装的软件我会解释每一个的作用。2.1 必备运行环境.NET Framework与VC运行库XUA插件及其管理工具大多基于.NET框架开发。虽然Win10/11通常已内置但为确保兼容性特别是运行一些辅助配置工具时建议确认或安装。.NET Framework 4.8这是目前最广泛使用的版本。你可以通过微软官网下载安装。一个更简单的方法是当你首次运行某些工具遇到错误时Windows通常会提示你安装所需的运行时按照提示操作即可。Visual C Redistributable许多游戏和工具依赖它。建议安装从2015到2022的所有版本x86和x64。微软官方提供了“All-in-One”整合包搜索“Visual C Redistributable All in One”可以找到社区维护的安装包一键安装所有版本省时省力。注意安装这些运行库通常需要管理员权限。它们是许多Windows应用程序的基石安装没有风险。2.2 游戏Mod管理器的选择与安装XUA是一个插件Mod我们需要一个“加载器”把它注入到游戏进程中。对于Unity游戏主流选择有两个BepInEx这是目前Unity游戏Mod开发的事实标准兼容性极广社区支持最好。绝大多数Unity游戏的Mod都基于它。UnityModManager另一个流行的Mod管理器尤其对一些特定游戏如基于Unity的某些RPG支持很好。对于新手我强烈推荐无脑选择 BepInEx。它的安装通常非常简单找到游戏的安装目录在Steam库中右键游戏-管理-浏览本地文件。下载BepInEx的发布包通常是一个zip文件将其中的所有文件解压到游戏根目录。首次运行游戏BepInEx会自动完成初始化在游戏目录下生成BepInEx文件夹和doorstop_config.ini等配置文件。如果游戏启动后出现了BepInEx的控制台窗口或者BepInEx文件夹内生成了plugins等子文件夹就说明安装成功了。2.3 翻译服务的核心XUnity.AutoTranslator插件获取XUA插件本身托管在GitHub上。对于新手我不建议直接去GitHub下载源码编译而是使用已经编译好的发布版本。官方发布页在GitHub上搜索XUnity.AutoTranslator找到作者bbepis的仓库。进入Releases页面下载最新的XUnity.AutoTranslator-BepInEx-5.x.x.zip假设你用的是BepInEx 5。这个zip文件里包含了插件本体。安装将zip文件解压你会看到类似BepInEx的文件夹结构。直接将其整体拖拽或复制到你的游戏根目录与之前安装的BepInEx文件合并即可。确保插件DLL文件如TranslationMod.dll最终位于游戏根目录\BepInEx\plugins路径下。至此翻译引擎的“车身”和“底盘”已经就位。接下来我们需要为它选择并配置一台强大的“发动机”——翻译服务。3. 翻译引擎配置详解从免费到本地AIXUA的强大之处在于它支持多种翻译后端。你可以根据自身网络环境、对翻译质量的要求和预算甚至零预算来灵活选择。3.1 内置在线翻译引擎简单但受限XUA内置了对一些免费在线翻译API的支持如Google翻译、Bing翻译等。配置方法是在游戏目录下的BepInEx\config文件夹中找到并编辑AutoTranslatorConfig.ini文件。你需要找到类似下面的配置段[General] ; 翻译服务提供商例如GoogleTranslate, BingTranslate, etc. Translator GoogleTranslate并将Translator的值改为你想要的引擎。为什么我不推荐新手长期使用这个方案稳定性问题这些公共API接口可能随时变更或封锁导致翻译失败。速率限制有严格的请求频率限制翻译大量文本时容易触发。隐私顾虑所有需要翻译的游戏文本都会发送到这些第三方服务器。质量一般对于游戏文本特别是包含大量俚语、专有名词和特殊语境的句子通用翻译引擎的效果往往差强人意。它适合用于快速测试插件是否工作但不适合作为主力翻译方案。3.2 第三方聚合翻译服务折中之选有一些开源项目提供了对多个翻译引擎的聚合和代理服务例如YetAnotherTranslator或Crowdin Translate。它们可能内置了更好的错误处理和一些免费的额度。配置方式通常是在XUA中设置一个自定义的Endpoint端点将翻译请求发送到这些自建或公用的代理服务器。这需要你额外部署或寻找可用的服务地址对新手来说增加了复杂度且同样受限于底层引擎的质量和稳定性。3.3 本地AI大语言模型翻译终极解决方案这才是当前实现高质量、高自由度游戏实时翻译的“终极武器”。思路是在本地或你的局域网内部署一个开源的大语言模型LLM然后让XUA将游戏文本发送给这个本地模型进行翻译再将结果返回。这种方案的优势是压倒性的质量极高专用微调模型如Sakura模型对ACGN动画、漫画、游戏、小说内容的翻译质量远超通用引擎能更好地处理语气、梗、专有名词。完全离线文本不出本地绝对隐私且不受网络波动影响。无限制没有调用次数和频率限制想翻多少翻多少。可定制你可以根据自己的偏好调整模型的翻译风格如更口语化或更书面化。实现路径对接类OpenAI API的本地模型绝大多数开源LLM都提供了兼容OpenAI API格式的接口。这意味着只要你的本地模型服务启动了这样的APIXUA就可以像调用ChatGPT一样调用它。你需要做的是部署本地模型服务这听起来很复杂但现在已有许多一键启动工具。例如使用text-generation-webuiOobaboogas WebUI或LM Studio这类软件它们可以加载GGUF格式的模型文件并一键开启兼容OpenAI的API服务。你只需要下载一个合适的模型文件如Qwen或Sakura的GGUF版本用这些软件加载并启动API即可。配置XUA在AutoTranslatorConfig.ini中将Translator设置为Custom并在配置中指定你的本地API地址通常是http://127.0.0.1:5000/v1和API Key如果本地服务设置了的话通常可以留空或填dummy。一个具体的配置示例[General] Translator Custom [Custom] Endpoint http://127.0.0.1:5000/v1/chat/completions ; 如果你的本地服务需要填写API Key否则留空或填dummy AuthKey dummy RequestTemplate {model: sakura-14b-q4_K_M, messages: [{role: system, content: 你是一个专业的游戏翻译助手请将以下文本翻译成流畅、自然的中文保留原意和风格。}, {role: user, content: {0}}], max_tokens: 1000, temperature: 0.1} ResponseTemplate {$.choices[0].message.content}这里的RequestTemplate是一个JSON它定义了发送给本地模型的请求格式。你需要根据你使用的本地API服务的具体要求来调整model名称和system提示词。4. 实战配置流程一步一步带你走通理论说了这么多我们来一次完整的实战。假设我们要为一款名为《Fantasy Tale》的Unity游戏配置基于本地AI模型的XUA翻译。4.1 第一步游戏与BepInEx准备安装《Fantasy Tale》游戏。访问BepInEx的GitHub发布页下载与游戏架构x86/x64匹配的BepInEx 5.x 版本。将BepInEx压缩包内的所有文件解压到D:\Games\Fantasy Tale你的游戏根目录。运行一次游戏然后关闭。确认生成了BepInEx文件夹。4.2 第二步安装XUnity.AutoTranslator插件从GitHub下载XUnity.AutoTranslator-BepInEx-5.x.x.zip。解压该zip包将其中的BepInEx文件夹拖拽到游戏根目录合并所有文件。确认游戏根目录\BepInEx\plugins下存在XUnity.AutoTranslator.dll或类似文件。4.3 第三步部署本地大语言模型服务以LM Studio为例下载并安装 LM Studio。在LM Studio的“搜索”页面搜索一个适合翻译的模型例如Sakura-14B的GGUF版本或者Qwen2.5-7B-Instruct的GGUF版本。对于翻译任务7B-14B参数量的模型在消费级显卡上已有不错表现。下载模型文件。切换到“本地服务器”页面加载你刚下载的模型。在“服务器配置”中确保“启用兼容OpenAI的API服务器”是打开的记住端口号默认常为1234。点击“启动服务器”。当看到“Server running”的日志时说明你的本地AI翻译引擎已经就绪。保持LM Studio运行不要关闭。4.4 第四步配置XUA连接本地AI打开游戏根目录下的BepInEx\config\AutoTranslatorConfig.ini文件如果第一次运行可能需要先启动一次游戏才会生成。找到[General]部分修改或添加[General] ; 使用自定义翻译服务 Translator Custom ; 是否启用翻译 EnableTranslation true找到或创建[Custom]部分进行如下配置根据你的LM Studio端口调整[Custom] ; LM Studio 提供的 OpenAI 兼容 API 地址 Endpoint http://127.0.0.1:1234/v1/chat/completions ; LM Studio 通常不需要密钥 AuthKey dummy ; 请求模板告诉模型如何工作 RequestTemplate {model: 你所加载的模型名称, messages: [{role: system, content: 你是一个专业的游戏本地化翻译员。请将用户发送的英文/日文游戏文本翻译成流畅、自然、符合游戏语境的中文。如果是对话请使用口语化的表达如果是叙述或物品描述请保持适当的文学性。请直接输出翻译结果不要添加任何解释。}, {role: user, content: {0}}], max_tokens: 500, temperature: 0.2} ; 响应模板从模型的回复中提取翻译文本 ResponseTemplate {$.choices[0].message.content}关键点解释Endpoint必须和你的本地服务地址一致。LM Studio默认是http://127.0.0.1:1234/v1/chat/completions。model这里必须填写你在LM Studio中加载的模型的确切名称可以在LM Studio的模型加载界面看到。system提示词这是决定翻译质量的关键。我给出的示例是一个比较通用的游戏翻译指令你可以根据游戏类型进一步细化比如“这是一款西方奇幻RPG游戏请使用略带古风但易懂的译文风格”。temperature控制创造性的参数值越低如0.1-0.3翻译越稳定、忠实值越高越有创造性但可能偏离原意。翻译任务建议设低。4.5 第五步启动游戏与验证确保LM Studio的本地服务器仍在运行。正常启动游戏。如果配置正确游戏启动时BepInEx的控制台窗口可能会闪过或者你在游戏目录的BepInEx\Logs下能看到日志文件。进入游戏当遇到第一段非图片形式的文本时如开始界面的菜单、角色的第一句对话翻译不会立刻发生。XUA通常需要几秒钟来捕获文本并发送请求。当你看到原文被替换成中文时恭喜你配置成功了首次翻译可能会稍慢因为模型需要加载到显存/内存。后续翻译会利用缓存速度飞快。5. 高级调优与效率提升技巧基础功能跑通后你可以通过以下设置大幅提升体验。5.1 缓存与延迟设置优化翻译缓存能避免重复翻译相同的句子极大提升速度并节省资源。在AutoTranslatorConfig.ini中关注这些设置[General] ; 启用翻译缓存 EnableTranslationCache true ; 缓存文件路径默认即可 TranslationCachePath Translation\Cache ; 自动保存缓存的间隔秒 AutoSaveInterval 30 ; 延迟设置防止文本刷新过快导致重复翻译 DelayAfterTranslation 50 ; 翻译后延迟毫秒 DelayForNewText 100 ; 新文本出现后的延迟毫秒Delay设置对于视觉小说这类文字逐字出现或快速滚动的游戏非常重要能防止同一句话被拆分成多个短句发送翻译导致翻译结果破碎。5.2 术语表定制保持翻译一致性游戏里“Elf”是翻译成“精灵”还是“妖精”“Fireball”是“火球术”还是“火焰弹”术语表功能就是用来解决这个问题的。创建术语表文件在BepInEx\Translation文件夹下如果没有就新建创建一个文本文件命名为Replacements.txt。编写替换规则语法是原文译文一行一条。Elf精灵 Fireball火球术 Potion治疗药水 Kings Road王者之路启用术语表在配置文件中确保以下设置[General] EnableReplacement true ReplacementPath Translation\Replacements.txtXUA会在翻译前先进行术语替换确保关键名词的统一。你甚至可以在游戏过程中通过某些辅助工具如前面提到的“对接软件”动态添加新发现的术语。5.3 字体与UI显示优化翻译出来的中文显示为方框口口口这是字体缺失的典型问题。添加中文字体将一个中文字体文件如simhei.ttf黑体、msyh.ttc微软雅黑复制到BepInEx\Translation文件夹下。配置字体在AutoTranslatorConfig.ini中指定字体[Font] ; 启用自定义字体 UseCustomFont true ; 字体文件名 FontNames msyh.ttc ; 字体大小根据游戏UI调整 FontSize 20有些游戏可能需要更复杂的字体修补这时可以尝试社区提供的字体Mod或使用BepInEx.ConfigurationManager这类工具在游戏内实时调整参数。5.4 使用“对接软件”进行可视化管理和AI增强手动编辑INI文件对新手毕竟不友好。这就是开头提到的“Unity自动翻译对接软件”这类工具的价值所在。它们通常提供图形化界面点点鼠标就能完成上述所有复杂配置。一键安装自动为你安装和配置BepInEx和XUA插件。AI服务集成内置了连接本地或云端AI模型的简易配置流程。游戏管理统一管理多个已安装翻译插件的游戏。实时术语提取与编辑在游戏过程中快捷键提取当前文本中的生词直接加入术语表。对于追求便捷的新手在熟悉基本流程后使用这类“一站式”管理软件是效率最高的选择。你可以将其视为XUA的“增强型控制面板”。6. 常见问题排查与解决方案实录在实际操作中你几乎一定会遇到下面这些问题。别慌大部分都有解。6.1 游戏启动崩溃或无反应可能原因1BepInEx版本与游戏不兼容。排查查看游戏根目录下的LogOutput.log或BepInEx\Logs\LogOutput.log文件寻找错误信息。解决尝试更换BepInEx的版本如x86换x64或尝试更旧/更新的预览版。有些老游戏可能需要BepInEx Legacy版本。可能原因2插件冲突。排查暂时移除BepInEx\plugins目录下的所有其他插件DLL只保留XUA看游戏是否能正常启动。解决逐一添加其他插件找出冲突源。有时调整插件加载顺序通过修改文件名前缀如01_、02_可以解决。6.2 游戏内无任何翻译效果可能原因1翻译服务未正确连接或配置错误。排查首先检查BepInEx\Logs下的日志看是否有翻译请求的错误信息如“Connection failed”、“API error”等。解决如果使用在线引擎检查网络连接确认该服务在你的地区可用。如果使用本地AI确认本地API服务如LM Studio是否正在运行并检查Endpoint地址和端口号是否完全正确。可以在浏览器中访问http://127.0.0.1:1234/v1/models端口换成你的测试如果返回JSON数据说明服务正常。仔细核对RequestTemplate中的model名称必须与API服务中加载的模型名一字不差。可能原因2文本未被捕获。排查XUA主要捕获Unity的UI.Text和TextMesh组件。有些游戏使用自定义文本渲染或图片文字XUA无法处理。按F12键默认可以显示XUA的调试窗口看看是否有文本被捕获到。解决对于无法捕获的文本可能需要更高级的TextureHook纹理钩子或OCR方案这超出了基础配置范围。6.3 翻译速度慢或延迟高可能原因1本地AI模型响应慢。解决降低模型规模尝试参数量更小的模型如7B甚至3B速度会快很多质量对于一般游戏文本可能足够。调整生成参数在RequestTemplate中降低max_tokens如设为200提高temperature如0.5有时能加快生成。硬件限制确保模型主要运行在GPU上查看任务管理器GPU负载。如果只能用CPU速度会非常慢。可能原因2网络延迟使用在线服务时。解决无解考虑换用本地AI方案。6.4 翻译结果质量不佳可能原因提示词Prompt不够精准。解决优化RequestTemplate中的system提示词。这是提升AI翻译质量最有效的手段。例如明确任务“你是一个专业的日语游戏本地化员请将日文翻译成简体中文。”规定风格“译文风格轻松口语化适合现代背景的青少年角色对话。”处理专名“遇到英文专有名词如技能名、地名保留不译并在括号内提供中文释义。”格式要求“直接输出翻译结果不要添加‘翻译’等前缀。” 多尝试不同的提示词找到最适合当前游戏的“咒语”。6.5 中文显示为乱码或方框可能原因游戏字体不支持中文。解决如5.3节所述配置自定义中文字体。如果游戏使用了TextMeshProTMP情况会更复杂可能需要专门的TMP字体Asset补丁这需要寻找游戏社区是否已有相关资源。配置XUnity.AutoTranslator的过程就像为自己心爱的游戏搭建一座私人定制的语言桥梁。从最初面对各种术语和配置文件的茫然到最终看到流畅的中文在游戏界面上浮现这种成就感是独一无二的。本地AI模型的加入更是将这座桥梁从一座简陋的木桥升级成了钢铁大桥不仅更稳固离线通行体验翻译质量也上了好几个台阶。我个人的体会是第一次成功配置会花费一些时间但一旦跑通流程后续为其他Unity游戏配置就是复制粘贴、微调参数的事十分钟就能搞定。最重要的就是耐心尤其是仔细核对配置文件的每一个参数以及学会查看日志文件——那里藏着所有问题的答案。最后分享一个小技巧为你经常游玩的游戏单独建立一个配置文件夹把对应的AutoTranslatorConfig.ini和Replacements.txt备份出来。下次重装游戏或系统时就能瞬间恢复完美的汉化环境。游戏的世界没有语言边界希望这篇指南能帮你更自由地探索。