Star 发表于 2020-9-22 13:39:52

【干货】简易版Mod汉化教程(完整版)

本帖最后由 Mod搬运工--Star 于 2020-10-8 17:49 编辑

目录:
2L:简单的文件介绍
3L:解包
4L:正式开始汉化
5L:打包
6L(已置顶):温馨提示

Star 发表于 2020-9-22 13:41:14

本帖最后由 Mod搬运工--Star 于 2020-10-8 13:55 编辑

温馨提示:在汉化前建议先与原作者取得联系并得到原作者的同意;如在mod文件里出现除了游戏文件以外的文本文档、html文件之类的东西,建议打包完之后放回到汉化版里(当然你也可以顺便汉化一下{:4_87:})。汉化过程中如遇到与原版一样的句子,千万不要照搬原版汉化补丁的文本,自己翻!汉化前请先确认该mod的汉化有没有人在做或者做完,并及时占坑,避免出现撞车的情况。

最后,感谢你为汉化奉献的一份力量!

本帖已于2020.10.8正式完结,以后会视需求相应调整。

Star 发表于 2020-9-22 13:40:01

本帖最后由 Star 于 2021-9-7 23:37 编辑

文件介绍:
文件格式:
在开发ddlc所使用的的renpy语言中有以下三种基本的文件格式。

1、rpy
https://i.loli.net/2020/09/25/4BKZuSXODLIiwGT.png
未经加密可以直接编辑的文件,启动游戏后会自动生成相应的rpyc文件。

2、rpyc
https://i.loli.net/2020/09/25/yAJl567Gp2N4CZi.png
经过加密的文件,无法直接打开编辑,通常情况下mod文件不会使用该格式,但是打包的时候只会打包rpyc文件而不是rpy文件。

3、rpa
https://i.loli.net/2020/09/25/eOCmLN9tKrUVH6A.png
打包好的文件,无法直接打开编辑,相当于一个只有renpy可以读取的文件夹,可以把任何东西塞进去,缩小游戏文件数量,便于传输和安装。需要使用解包软件将里面的rpyc或rpy文件解出来才能进行编辑。

优先级别:
rpy>rpyc>rpa
如果游戏根目录中同时出现以上介绍的三种文件格式,renpy会根据优先级别进行读取和运行。打个比方,你本来有一个rpa包体,你把里面的rpy解了出来,进行了修改,那么启动游戏的时候运行的就是解了出来的rpy文件,而不是rpa包体里的rpy文件。


Star 发表于 2020-9-22 13:40:16

本帖最后由 Star 于 2021-9-8 12:41 编辑

解包:
大多数的mod文件都是rpa包体,这时候就需要解包,才能对代码进行修改。

1、首先你需要一个解包器:https://pan.monika.love/s/xD1Hk

2、将解包器放入游戏根目录下,双击打开
https://i.loli.net/2020/09/25/TeAiVKL2c4JWhDN.png

3、输入9,回车确认,等待一段时间后就会将所有游戏文件解出来,如果没有的话需要启动一次游戏(太久没用了,我也忘了)。
https://i.loli.net/2020/09/25/w7YcgxvrhF6RbXn.png

Star 发表于 2020-9-22 13:40:36

本帖最后由 Star 于 2021-9-8 12:44 编辑

正式汉化:
终于到了最激动人心的汉化时间了{:4_87:}

1、首先,你需要一个编程软件,个人推荐Visual Studio Code

2、
【方法1,单语言】
一、使用编程软件打开rpy文件,寻找文本所在的文件,然后把文本替换成中文(注:括号、中括号、大括号里面的是代码,都不用动)。以下是基本固定的文本位置(每个mod的代码行数不同,在此只能给出大概的行数,准确行数需要自行查找(tip:vsc的查找功能很好用哦{:4_87:}),剧情文本不固定在哪个文件里,这个要看作者的习惯,所以自己找吧{:4_87:}),不常见的我就不给大家看了,那些汉了也是浪费时间,还有一些常见的可能会漏,抱歉哈:
注:绝大部分情况下,开头字母大写的是文本,开头字母小写的是代码

①screen.rpy,通常是设置界面之类的杂项
400行左右:
https://i.loli.net/2020/09/26/aChUKtywrqWQTjZ.png

450行到500行左右:
https://i.loli.net/2020/09/26/2LOtZxHycJNmAD5.png

800行左右(不确定有没有用):
https://i.loli.net/2020/09/26/Jp4zjbmSNRrshwM.png

950行左右:
https://i.loli.net/2020/09/26/RK4nJVi68MLblUp.png

1000行左右:
https://i.loli.net/2020/09/26/F6vshRa45zb9dPO.png
https://i.loli.net/2020/09/26/KarJPFsn1jAeY39.png

1100到1150行左右:
https://i.loli.net/2020/09/26/wCVZlmO2FeSzfhu.png

1400行左右:
https://i.loli.net/2020/09/26/a86kFeoJGcdXUBQ.png

1450行左右:
https://i.loli.net/2020/09/26/fVP2Kdz8iUbC1uX.png

1500行左右:
https://i.loli.net/2020/09/26/ly32vu5zIx8DYVa.png

②splash.rpy,通常是进入主界面之前的过场之类的东西
10行左右:
https://i.loli.net/2020/09/26/e2tHs5UJSurhGZ6.png

250行左右:
https://i.loli.net/2020/09/26/4X58mjQBz1rGbUq.png

250行到300行左右:
https://i.loli.net/2020/09/26/dCLQDelqHxvO5PW.png

300到350行左右:
https://i.loli.net/2020/09/26/nokwUchOzG3J7A8.png

二、由于绝大部分的英文字体包是不包含中文字体的,所以需要修改screen.rpy和gui.rpy中设置的字体。具体操作就是将原版的汉化补丁中的fonts.rpa扔进game文件夹里(不会还有人没有原版汉化补丁吧,不会吧不会吧。),然后修改screen.rpy和gui.rpy中所有.ttf或.otf后缀的文件名。新手不知道哪个打哪个的话全部改成wrht.ttf就行了,字体名前的路径不用动。例如:
https://i.loli.net/2020/09/27/R89qMFYay5wcvPu.png

至此,单语言版的汉化工作结束。


【方法2,双语言】
一、制作支持双语言的汉化需要用到renpy引擎:https://pan.monika.love/s/dpQsy
请务必使用该版本,否则极大可能出现问题。

二、打开renpy引擎(调中文我就不教了),随便创建一个工程。
https://i.loli.net/2020/09/27/nvg7xVYCGcaW9rp.png

三、点击你创建的新工程,打开game目录,回到上一级文件夹,将game文件夹删掉,然后安装你要汉化的mod(就是把mod装进原版里),完成后把安装好的game文件夹放进去。注意,解包的时候会在game文件夹下生成一些un开头的文件,务必把这些文件全部删掉,否则renpy会出现错误。
https://i.loli.net/2020/09/27/Gopk3AM6nJZvjfc.png
https://i.loli.net/2020/09/27/lCtRzpBUwkGgSPo.png
https://i.loli.net/2020/09/27/DXlrQIN2v8fgxmp.png

四、返回renpy引擎,按图片提示生成翻译文件。语言名称只能使用英文和数字,注意区分大小写,之后会用到。
https://i.loli.net/2020/10/08/N9pGm3iXA4lFjhM.png
https://i.loli.net/2020/10/08/ULGy4NOJbIutx86.png

五、重新打开工程文件夹,你会发现在game文件夹里多了个tl文件夹,里面的文件就是翻译文件。common.rpy里的是renpy的文本,不用管,用不上(嗯,也不能这么说,只能说mod用不上,像原版这种肯定用得上)。使用编程软件打开其它的文件,进行翻译工作。#后面的是注释,不会运行,所以不用管,只需要把翻译过来的文本打在空出来的引号中间就行了(注:括号、中括号、大括号里面的是代码,都不用改,照打就行了)。renpy自动生成的翻译文件可能不全,可以打开game文件夹里与翻译文件同名的rpy文件对照上面单语言翻译中需要翻译的地方进行检查,如果发现有漏的,可以仿照翻译文件里的格式自行添加。注意,在编程的时候,缩进是非常非常非常关键的,缩进不对的代码是没有办法运行的,像下面图片中的翻译代码,开头都有一格的缩进,也就是一个tab键,另外,在python语言中,空格也很重要,像下面的翻译代码,old和new后面都有一格的空格;再另外,在编程的时候一定只能使用英文的标点符号,别一个不小心打开了输入法。
https://i.loli.net/2020/10/08/Poaq4r7ASbiyEXR.png
像下面这种,有几个奇奇怪怪的字母的是代码,renpy已经帮你搬下来了,你只需要翻译上面那行引号里的文本并且打在下面的引号里就行了。
https://i.loli.net/2020/10/08/rflUuh7cHdEYwD8.png

六、汉化工作结束后,就需要设置汉化后的mod使用的字体了,这里我们可以使用原版汉化补丁里的字体。首先将原版的汉化补丁中的fonts.rpa扔进工程文件的game文件夹里。然后在工程文件里创建一个文本文档,命名为style.rpy(注意,需要连同txt的后缀一起改掉),用编程软件打开,在里面写上下面的代码(ttf后缀的是字体名,你也可以自己挑一个更合适的字体,前提是你要一个个试,看哪个字体对应什么地方,并且你还得会解包字体、打包字体,我就不教了)。同样的,这里也要注意缩进和空格,开头空出来的地方就是一格缩进,=后和font后都有一格空格。如果直接全部复制会出问题的话你就一行一行复制吧,dz论坛的代码窗口我也没用过,不知道有没有问题。这里面的Chinese就是你生成翻译文件的时候设定的语言名,如果和我的不一样记得自己改掉,注意区分大小写。论坛的代码窗口好像坏了,我就直接分享整个文件了。https://pan.monika.love/s/bQYcE
translate Chinese python:
    gui.default_font = "gui/font/wrht.ttf"
    gui.name_font = "gui/font/fzht.ttf"
    gui.interface_font = "gui/font/wrht.ttf"
    gui.choice_button_text_font = "gui/font/wrht.ttf"
    gui.button_text_font = "gui/font/wrht.ttf"
translate Chinese style edited:
    font "gui/font/wrht.ttf"
translate Chinese style poemgame_text:
    font "gui/font/wqywmh.ttf"
translate Chinese style navigation_button_text:
    font "gui/font/fzht.ttf"
translate Chinese style game_menu_label_text:
    font "gui/font/fzht.ttf"
translate Chinese style pref_label_text:
    font "gui/font/fzht.ttf"
translate Chinese style radio_button_text:
    font "gui/font/wqywmh.ttf"
translate Chinese style check_button_text:
    font "gui/font/wqywmh.ttf"


七、我们需要在设置里添加一个切换语言的按键。打开game文件夹里的screen.rpy,找到这个位置,把下面的代码复制到最图片最下面的位置,注意两个vbox要对齐,vbox处一共四格缩进。同样的,注意检查语言名(前面的Chinese是你要在设置里显示的文本,后面的Chinese是你设定的语言名),注意缩进和空格,哪里有空格和缩进就自己看吧。(注:这个地方的Language、English、Chinese三个文本也是可以在翻译文件中按照上面的代码翻译的。)同上,我把这里和下面那一步的代码一起放在这个txt文件里了。https://pan.monika.love/s/jpnfn
https://i.loli.net/2020/10/08/g5CHeDS9IGAvXMq.png
vbox:
    style_prefix "radio"
    label _("Language")
    textbutton _("English") action Language(None)
    textbutton _("Chinese") action Language("Chinese")
八、按照原先的程序,打包时不会连同tl翻译文件一起打包进去,所以我们需要一串代码让它一起打包进去。打开options.rpy,往下翻,找到以下的地方,把以下代码复制到最下面。同样的,注意缩进,这个地方没有空格,各位可以省点心了。
https://i.loli.net/2020/10/08/4dRafbCU8p36hDL.png
    build.classify("game/tl/**","scripts")
至此,双语言版的翻译工作结束。



Star 发表于 2020-9-22 13:40:51

本帖最后由 Star 于 2021-9-8 12:42 编辑

打包:

汉化工作的最后一步啦!

1、首先你需要一个renpy引擎:https://pan.monika.love/s/dpQsy
务必使用这个版本,使用其它版本大概率出现问题。

2、打开renpy引擎(调中文我就不教了),随便创建一个工程。
https://i.loli.net/2020/09/27/nvg7xVYCGcaW9rp.png

3、点击你创建的新工程,打开game目录,回到上一级文件夹,将game文件夹删掉,然后把汉化好的game文件夹复制进去。注意,解包的时候会在game文件夹下生成一些un开头的文件,打包前务必把这些文件全部删掉,否则renpy会出现错误。打包前需要先启动一次工程,生成rpyc文件,打包的时候只会打包rpyc文件。
https://i.loli.net/2020/09/27/Gopk3AM6nJZvjfc.png
https://i.loli.net/2020/09/27/lCtRzpBUwkGgSPo.png
https://i.loli.net/2020/09/27/DXlrQIN2v8fgxmp.png

4、回到renpy引擎,点击生成分发版,按照图片操作,完工{:4_87:}。因为在汉化版本中使用了原版汉化补丁的字体包,打包的时候是不会一起打包进去的,所以在上传或者发布前记得把字体包一起放进去。
https://i.loli.net/2020/09/27/GLt7R5cq6hrw3QV.png
https://i.loli.net/2020/09/27/v4V763ygtlWz1BO.png




Star 发表于 2020-9-25 14:05:14

开始更了{:4_87:}

mtr 发表于 2020-9-25 15:23:42

{:4_87:}

大帅曾是个蒟蒻 发表于 2020-9-25 20:06:51

{:4_87:}

星辰破风 发表于 2020-9-25 22:10:34

{:4_87:}
页: [1] 2 3
查看完整版本: 【干货】简易版Mod汉化教程(完整版)