ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

XUnity翻译器零门槛上手:给Unity游戏装个“隐形字幕组“,从部署到调优一篇讲透

XUnity翻译器零门槛上手:给Unity游戏装个“隐形字幕组“,从部署到调优一篇讲透 XUnity翻译器零门槛上手给Unity游戏装个隐形字幕组从部署到调优一篇讲透【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator你心心念念的日式RPG终于下载完毕可一打开满屏假名立刻把兴致浇灭大半——这是无数玩家与XUnity翻译器XUnity.AutoTranslator相遇前的日常。这款开源插件专为Unity游戏文本实时翻译而生它钻进游戏运行时把UGUI、TextMeshPro等组件里的文字抓出来译成中文再写回屏幕全程无需切出游戏。截图翻译要反复切窗口OCR面对竖排文本经常抓瞎手动查词又慢得像逐字爬格子而它一步到位。它凭什么读懂游戏文本用过字幕插件的人都会好奇窗口翻译工具那么笨重它凭什么能做到行云流水方案在运行时挂钩。XUnity翻译器不靠截屏和OCR而是用 Harmony/MonoMod 这类钩子直接挂在 Unity 的文本组件上。它覆盖的文本框架相当广UGUI、NGUI、TextMeshPro、IMGUI、TextMesh、FairyGUI连 Utage 这类视觉小说引擎也没落下。文本一经设置插件先查本地缓存命中就直接替换没命中才送往翻译引擎拿到译文后写回组件并缓存到磁盘避免同一句话反复请求。ALTT可以在原文与译文之间一键切换方便随时对比核对。这套逻辑的实现集中在src/XUnity.AutoTranslator.Plugin.Core/的 Hooks 与 Text 目录下源码结构清晰好奇的玩家可以顺手翻一翻。[!TIP] 一句话记住它就像给游戏常驻了一个隐形字幕组翻译是就地替换而不是外挂一层。动工之前把环境清单过一遍很多人装汉化插件翻车不是插件的问题而是环境没对齐。先回答三个问题你的游戏是 Mono 还是 IL2CPP 构建IL2CPP 版本需要 BepInEx 6并搭配专用的 BepInEx-IL2CPP 插件包。装好插件管理器了吗XUnity翻译器支持 BepInEx最推荐、MelonLoader、IPA、UnityInjector也可以走 ReiPatcher 独立打补丁模式适合不想装管理器的场景。游戏能否正常启动先保证原版能跑再谈汉化。✅ 环境自查清单游戏本体可正常启动已安装对应版本的 BepInExMono 用 5.xIL2CPP 用 6.x网络可访问翻译服务在线端点的前提一句话小结环境对齐了后面每一步都是复制粘贴。五步完成插件部署BepInEx 路径文件该放哪这是新手最容易懵的一步。 第一步拿到构建产物。想从源码自己编译的可以先把仓库拉下来git clone https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator用 Visual Studio 打开XUnity.AutoTranslator.sln编译不想折腾编译的直接用发行包。第二步拷贝文件。以 BepInEx 为例最终目录结构长这样游戏根目录/ ├── BepInEx/ │ ├── core/ │ │ ├── Mono.Cecil.dll │ │ ├── MonoMod.RuntimeDetour.dll │ │ └── MonoMod.Utils.dll │ ├── plugins/ │ │ └── XUnity.AutoTranslator/ │ │ ├── XUnity.AutoTranslator.Plugin.Core.dll │ │ ├── XUnity.AutoTranslator.Plugin.BepInEx.dll │ │ ├── XUnity.AutoTranslator.Plugin.ExtProtocol.dll │ │ └── Translators/ ← 翻译端点放这里 │ └── config/ ← 首次启动后自动生成配置 └── Translation/ └── zh-CN/Text/ ← 翻译文本缓存目录第三步启动游戏。插件会在BepInEx/config/下自动生成AutoTranslatorConfig.ini并在游戏目录生成Translation文件夹。第四步验证。游戏内按ALT0应能唤出插件界面看到文本开始被替换。第五步补翻译端点。把选定的翻译器 dll如GoogleTranslate.dll放进Translators/子目录。一句话小结从解压到看见译文通常不超过五分钟。三行配置让翻译上线默认配置拿来即用但想让结果更合口味只需动三个地方。打开AutoTranslatorConfig.ini[Service] EndpointGoogleTranslateV2 ; 主翻译端点 FallbackEndpointDeepLTranslate ; 主端点失败时的备用端点 [General] FromLanguageja ; 游戏原文语言尽量别用 auto Languagezh-CN ; 翻译目标语言FromLanguage手动指定如日文ja、英文en能显著提高识别准确率FallbackEndpoint相当于双保险主端点抽风时自动切换改完配置记得重启游戏或直接ALTR热重载。一句话小结主端点 备用端点 明确的源语言三行就够撑起完整的汉化体验。翻译引擎怎么选一张对照表解决免费的端点稳不稳、收费的划不划算是选型时最纠结的点。端点是否需要密钥免费额度参考适合场景GoogleTranslateV2否无限但可能不稳通用首选开箱即用DeepLTranslate否在线版可用质量上乘剧情文本、追求翻译质感BaiduTranslate需要 AppId/Secret每月约5万字符中日互译、中文质量好BingTranslateLegitimate需要密钥每月约200万字符稳定量大YandexTranslate需要 API Key每日约100万字符量大且免费LingoCloudTranslate需要 Token每月约100万字符中、日、英三语PapagoTranslate否免密钥韩语场景友好CustomTranslate自定义URL自建服务开发者自接 HTTP 端点⚠️ 注意免密钥的在线端点可能随时因接口调整而失效这正是FallbackEndpoint存在的意义。密钥类服务务必妥善保管别外传。一句话小结求省事选 Google/DeepL求稳定选带免费额度的密钥端点追求极致可控就自己搭 CustomTranslate。 三种游戏场景的配置对照同一种配置不可能通吃所有游戏按类型微调才顺手。游戏类型核心痛点推荐调整RPG / 视觉小说长对话多、换行乱MinDialogueChars20、IgnoreWhitespaceInDialogueTrue、EnableUIResizingTrue、MaxCharactersPerTranslation适当调大策略 / 经营菜单、道具说明密集EnableUGUITrue、EnableTextMeshProTrue、EnableNGUITrue全开EnableBatchingTrue提高吞吐动作 / 快节奏帧率敏感、UI 闪烁关掉EnableTextureScanOnSceneLoad、EnableTextureDumping必要时调低MaxCharactersPerTranslation减少请求量关键配置项说明EnableUIResizingTrue译文比原文长时自动处理溢出是文本出框问题的默认解药IgnoreWhitespaceInDialogue把对话里多余换行吞掉避免整段文字被拆得七零八落所有开关都写在[TextFrameworks]与[Behaviour]段注释写得很清楚按需开关即可。一句话小结对话多的保整菜单多的保全动作快的保帧。中文显示成豆腐块先查字体很多游戏默认字体不含中文字形译文显示成一排排方块——这不是翻译坏了是字体没跟上。两个常用解法UGUI 文本在[Behaviour]里配OverrideFont指向一个含中文字形的字体TextMeshPro 文本优先用FallbackFontTextMeshPro追加备用字体而不是整体覆盖风险更小。再配合ForceUIResizing与ForceSplitTextAfterCharacters中文长句的换行与溢出问题也能一并缓解。社区里有很多现成的中文字体资源找到对应 Unity 版本下载即可无需自己造轮子。一句话小结方块字 字体缺字形把中文字体塞进去就解决。 汉化翻车按这张清单排查症状1部分文本始终不翻译。先看[TextFrameworks]——IMGUI 与 TextMesh 默认关闭遇到这类文本框架的游戏需要手动打开也可以用ALTU强制手动挂钩。症状2翻译一阵阵失灵。免费端点不稳定是常态换Endpoint、补上FallbackEndpoint、检查网络插件因连续错误自动关闭后可用ALTQ重启前提是你已排除根因。症状3游戏明显变卡。通常是纹理扫描、转储这类高开销功能在空转关掉EnableTextureDumping、EnableTextureScanOnSceneLoad必要时降低MaxCharactersPerTranslation请求少了负担自然小。症状4专有名词被乱翻。这不是 bug是术语没教育它解决方案见下一节。一句话小结先看框架开关再看端点状态最后才是性能和术语问题。 进阶玩法让翻译真正懂你的游戏走到这里你已经能流畅汉化接下来是把它调教成你的形状。手动翻译文件。在Translation/zh-CN/Text/下建一个.txt按原文译文逐行写入例如HP生命值。游戏里再次出现的同一句话会直接命中不再走在线端点。替换与正则。_Substitutions.txt适合把总被翻错的人名提前替换翻译文件里还支持两类正则r:^シンプルリング ([0-9])$Simple Ring $1 sr:^([0-9]{2}) ([\S\s])$$1 $2r:是直接匹配文本的标准正则sr:是先把长句拆成几段分别翻译再拼回的拆分正则遇到游戏把多段文本拼成一句显示时非常管用。注意以_开头的自动生成文件里不能写正则。图片里的文字也能翻。[Texture]段开启EnableTextureDumping导出游戏图片用画图工具改好后放回Translation/zh-CN/Texture/再开EnableTextureTranslation即可生效ALTT可对比原图与译图。更深一层资源重定向。[ResourceRedirector]支持把 TextAsset 等资源重定向到外部文件社区里恋活Koikatsu等游戏的场景文本、Excel 数据汉化就是这么做的相关实现见src/XUnity.AutoTranslator.KoikatsuResources/。插件还预留了可扩展的端点接口社区已经冒出接入本地大模型翻译的第三方方案属于玩法越来越丰富的方向。一句话小结文本翻译打底、替换正则精修、纹理和资源重定向兜底三层配合就是完全体。最后一节现在轮到你把语言这堵墙拆掉了回顾这一趟先搞懂它如何在运行时挂钩文本再按清单备齐环境五步部署、三行配置、一张对照表选好引擎接着按游戏类型微调、处理字体、排查故障最后用词典与正则把翻译打磨到顺手。整套流程走下来你其实已经掌握了一门Unity游戏汉化的通用手艺。XUnity翻译器真正讨喜的地方在于它把看得懂画面却读不懂台词这件事从一项需要耐心的苦差事变成了一次五分钟的配置。从此那些躺在愿望单里、因为语言而迟迟没有打开的游戏都可以重新捡起来了。现在轮到你把语言这堵墙拆掉了。挑一款压箱底的外语游戏装好插件打开游戏——让台词替你说话。【免费下载链接】XUnity.AutoTranslator项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表