本篇教程由作者设定未经允许禁止转载。

我看了这位伙计的教程,我的意见是:很可怕。

首先,我极其不推荐去自己修改,去编译jar文件(如果这个jar模组属于你当我没说)。

其次,有了一个汉化文件我更推荐去i18n的官方直接提交你的语言文件,毕竟你都翻译出来了XD。

也可以去将你的语言文件发送到原作者那里请求提交一下,也是可以的。

好吧,在我说了那么多前置后,如果你只是想汉化你自己的整合的话,那就开始吧。


做过1.14+魔改的伙计肯定也知道一个叫做“kubejs”的mod,这个mod功能很强大,它包含了从材质到事件的所有需求。

那么我们这次就来利用一下它的资源覆盖。

我找到了一个没有汉化的mod物品:

通过数据包来汉化一些mod的语言文件-第1张图片

这个物品的语言文件位于primutils-1.0.4-hotfix.jar\assets\primutils\lang\en_us.json。

那么根据这个物品的语言位置,在kubejs\assets文件夹下也建立一个同样位置的文件夹,并且将这个文件丢进去:kubejs\assets\primutils\lang\en_us.json。

然后打开kubejs复制出来的这个文件,修改成你需要的语言:通过数据包来汉化一些mod的语言文件-第2张图片

(这里是jei的翻译,翻译时注意一下这个语言键到底是在翻译什么)。

通过数据包来汉化一些mod的语言文件-第3张图片

然后刷新一下你的资源包(虽然我更推荐退出重进,因为刷新资源包有时候时候有点小问题)。

接下来,你就能看到你的物品就是中文的了。


那么中文呢?中文也是一样的。

我找到了一个错误的翻译:

通过数据包来汉化一些mod的语言文件-第4张图片

这东西在核科学应该是氚单元,因为聚变反应需要氘单元和这个,但是很明显他不应该是“空单元”。

那么我们还是一样的,找到核科学的语言文件:Nuclear_Science-1.16.5-0.4.0-1.jar\assets\nuclearscience\lang\zh_cn.json。

但是,因为核科学有中文文件,所以你必须去找到他的zh_cn.json覆盖掉,不然那没什么作用。

然后根据上一步,创建一个相同的位置,并复制核科学之前的中文翻译进去:kubejs\assets\nuclearscience\lang\zh_cn.json。

找到那个东西的位置,并且修改,然后就完成了,非常的简单。


那你可能会说了:

“这和我手动去jar覆盖有什么区别?”

诶不,这种区别很大,首先你要知道,这种方法他不是靠修改jar覆盖的,这意味着你可以在各种地方发布你的整合包(当然如果不是可以省略)。

其次,这种方法还可以轻松调整模组物品的语言使其更加适合你的整合。

当然,这么做也有缺点:因为是覆盖文件,所以原来的语言文件就不会显示了,比如你覆盖了en_us(英文),并使其变成了中文,那么即便你的mc是英文的它也依旧会翻译成中文!