【更新】推荐给大家一个Unity游戏的动态翻译插件(BepInEx版)

最近我和H萌都发了两个Unity制作的游戏,正好我自己淘到的那个インサルトオーダー的资源自带一个翻译插件,后来花时间研究了一下,找到了插件的发布网址,发现还不错,起码日语盲能勉强玩下去了。功能还不错,最主要的缺点就是反应比较慢。10/21修订了一些由于疏忽打错字的地方。

英语比较好的想自己研究一下的可以点这个链接:

https://github.com/bbepis/XUnity.AutoTranslator

接下来我这个教程是面向那些看不懂又或是懒得弄的人:

  1. 首先要确保游戏目录是纯英文或数字,否则安装完插件后游戏将无法打开。
  2. 下载BepInEx插件和XUnity Auto Translator插件。XUnity Auto Translator还支持其他插件框架,不过由于我只试了BepInEx,所以本教程用BepInEx来讲解。以下为当前最新版。
  3. BepInEx_x86_v4.1.zip
    BepInEx_x64_v4.1.zip
    XUnity.AutoTranslator-BepIn-2.15.2.zip

  4. 根据游戏是32位还是64位来下载上面的文件,32位游戏只能用BepInEx_x86,64位游戏只能用BepInEx_x64_v4.1.zip。判断程序是32位还是64位的方法(前提你是64位系统):打开游戏,打开任务管理器,在任务管理器中右键你的游戏,点转到进程,如果游戏的进程名后面有一个*32,那就是32位的,如果没有就是64位的。例如H萌发的那个インサルトオーダー就是32位的,我发的Eliminator是64位的。
  5. 0
  6. 先将BepInEx压缩包内所有文件复制到游戏的主程序目录中。以インサルトオーダー为例,这个游戏在外面的Launcher只是个启动器,并不是游戏的主程序,游戏的主程序是GameDate文件夹里的io.exe。之后打开游戏将插件初始化,之后退出。判断游戏主程序的方法:Unity游戏的主程序大多数情况下都和一个”程序名_Data”的文件夹在一起,例如本游戏的主程序是io.exe,同目录下有一个io_Data文件夹,那么这个io.exe就是游戏的主程序啦。
  7. 1
  8. 初始化之后会在BepInEx文件夹里config.ini的配置文件,打开它,将里面的第一项console=false改成console=true,这样以后打开游戏会在后面弹出一个命令提示符的窗口,可以方便你监视插件有没有正常运行以及是否报错。保存并关闭这个文档。这步可做可不做,对使用没什么影响。
  9. 2
  10. 之后我们将XUnity.AutoTranslator-BepIn压缩包里的文件夹也复制到游戏主程序的目录下,与之前的BepInEx文件夹合并,之后再次打开游戏将游戏初始化,之后再退出。
  11. 3
  12. 自动翻译的插件初始化后会在BepInEx文件夹内生成一个AutoTranslatorConfig.ini配置文件和一个Translation文件夹,前者是翻译插件的配置文件,后者里存的是翻译后的对照文档。由于插件的默认设置是日化英,所以我们接下来要做的就是把Translation文件夹里的那个英文版的对照文件删掉(_AutoGeneratedTranslations.en.txt),之后再打开AutoTranslatorConfig.ini,将Language=en改成Language=zh,其他的不用变。保存并关闭。整个插件就配置完成了。

4

这个翻译插件是利用网络上的几大机翻平台来动态翻译游戏内文本的,因此需要全程联网。支持”GoogleTranslate”, “GoogleTranslateLegitimate”, “BaiduTranslate”, “YandexTranslate”, “WatsonTranslate”, “ExciteTranslate”,没错,百度也是支持的,我为此还专门去申请了一个百度翻译API,然而不知道为什么就是获取不了翻译。除了GoogleTranslate以外全都需要注册和申请的,之后要把对应的AppId填写到配置文件中,具体做法我这里就不提了,有兴趣的可以去看一下这个插件的说明档。顺便说一下,H萌那个版本的主菜单就是繁体中文的(难道要出官方汉化??)。下载我的那个版本的绅士直接把上面说的最后一步做了就OK了,不用再下载什么了。

这个插件的优点就是你不用等别人出汉化了,但缺点就是翻译比较慢,还比较考验网速,机翻经常出现对原文本的误解。一般切个屏出去弄点什么再切回来也就是差不多好了,但ADV的时候总要等文本就比较烦了。外面那个命令提示符的窗口总会弹出一些黄字和红字的,基本如果配置正确的话,那些你完全不用管,单纯的网络问题造成的翻译超时,会自动重新连接的。
这个翻译插件有几个快捷键:
Alt+T:在翻译的文本和原文本之间切换。遇到无法理解觉得是翻错的时候可以切回去看看原文是什么。
Alt+D:抛弃未翻译的文本(如果没有设置endpoint)。endpoint在配置文件里的一个设置,如果endpoint为空,则插件只会用本地的的对照文本来翻译游戏。
Alt+R:重新加载翻译文件。当你在游戏运行中修改了文本文件时会有用。
Alt+U:手动Hook。插件有的时候不会自动采集到一些文本。用这个可以让他重新检查。

使用的时候千万不要乱按这些快捷键,可能会造成重复翻译,翻译后的中文被当成日文再翻译一遍神马的。
如果有绅士已经玩完了整个游戏并自动翻译了所有文本,又或是有能力的绅士自行对翻译文本进行了纠错和美化,可以把Translation文件夹里的_AutoGeneratedTranslations.zh.txt分享给别人,别人在用的时候直接丢进Translation文件夹里就行,但要确保配置文件里的Endpoint=是空的,Language=zh。

至懒人32位版

一些比较高级的游戏,打开时控制台可能会弹出如下错误(例如下面这款游戏),将BepInEx文件夹内的config.ini里的entrypoint-assembly=UnityEngine.dll改成entrypoint-assembly=UnityEngine.CoreModule.dll即可。

查看我的收藏夹
琉璃神社★ACG.GY原创文章,转载请保留原文地址: http://www.liuli.eu/wp/66414.html

请为这个作品打分:《【更新】推荐给大家一个Unity游戏的动态翻译插件(BepInEx版)》

1 分2 分3 分4 分5 分 推到首页 (23 人评价, 平均: 4.74 分 )
Loading...

【更新】推荐给大家一个Unity游戏的动态翻译插件(BepInEx版)》上有50条评论

  1. 虽然感谢分享但是讲道理,mikonisomi社的那个io没有翻译也玩得下去吧大概?撸得起劲呢还有谁会去仔细看对话和剧情,都ctrl跳掉了,不知有没有跟我一样的。
    unity 3d引擎开发的个人感觉一大好处就是基本上不用转区什么的就能很好运行,加上这些插件什么的不知会不会影响运行的稳定性。

    • 也不全是,这个翻译插件的作者是面向日语游戏的,本身兼容性就不高,对其他语言的兼容性也待考量。我有一个叫Atlantic Fleet的Unity游戏,用了这个插件就会崩溃。

  2. 怎么将翻译软件初始化啊。。。是解压之后直接打开游戏的吗? 我没有发现主程序里产生config.ini 小白求拯救。。。

  3. 测试的就是这个游戏,然后用的是X86 32位,有config.int配置文件生成,但是改了ture之后仍然没有什么弹窗,不知道什么情况。
    之后的那个翻译程序也是按照流程来进行的,但是改了zh之后发现文件夹里面没有生成AutoGeneratedTranslations.zh.txt这个文件(是明白人看了en的就知道这个文件是什么东西),所以仍然没有翻译。
    所以说我是在哪一步出了问题?

  4. 老师,我弄了三个小时,用的懒人包,就是不知道为什么按照最后一步执行后还是日文,但是如果把ini文件中的zh改成en却会正常翻译为英文,能请您指导一下吗?谢谢

  5. 老师,我研究了一晚上,用的懒人包,我发现当我按照最后一步执行后,还是日文,但是此时如果把zh换成en的话,则会正常地被翻译出来,您能指导一下么?谢谢

  6. 老师,我研究了一晚上,当我使用懒人包并按照正确步骤最后一步做了之后还是日文,但是如果我把文件中zh换成en则会按照正常的日译英进行,这是为什么呢?您方便的话请指导一下,谢谢

    • 你看看Translation文件夹里有没有_AutoGeneratedTranslations.zh.txt这个文件,打开后看看里面有没有翻译,里面的格式是“原文本”=“翻译文本”,如果所有的等号右边都没有东西的话应该是网络的问题,翻译比较慢,切屏出去干点别的等一等,如果是一直都没有翻译的话可能就是你运行商的问题了。

  7. 简体中文是zh-CN,但是显示字体怎么调整?[TextFrameworks]下边的参数看不明白,我这文本已经得到正确的,但是显示空间不足大部分的字都是“口口口口”。不论简中还是繁中。
    另:下边[Behaviour]OverrideFont= ,是可以自定义的,可以从xonsole的红字中找到正确的英文字体名称。

发表评论

电子邮件地址不会被公开。 必填项已用*标注