欢迎光临散文网 会员登陆 & 注册

Ren'Py 游戏汉化全教学

2023-06-08 05:40 作者:晚江轶  | 我要投稿


目录

1.基本介绍

1.1 引擎相关

2.预备处理

2.1 环境配置

2.2 解包工具

2.2.1 Unrpa

2.2.2 Unrpyc

2.3 特殊情况注明

3.汉化详情

3.1 语言和UI

3.1.1 翻译文件生成

3.1.2 字体替换

3.1.3 UI调整

3.2 翻译

3.2.1 常见问题

4. 打包


1.基本介绍

“Ren'Py” 是一个基于Python的可视化游戏制作引擎——通过移动设备或电脑,包括文字、图像、声音来讲述一个交互性的故事。它既可以是可视化小说,也可以是生活、养成类的游戏,任何人都可以使用简单易学的代码来高效地写出一个剧本。这里我讲述是Windows的汉化方法。

1.1 引擎相关

Ren'Py 拥有不同的版本,因此在汉化前我们需要先确定游戏的对应版本(避免出现Bug)。下载并解压游戏后,打开然后找到/game目录下的 “script_version.txt” 文件,即可以确定此游戏所使用的引擎版本。

例如出现 “(8, 1, 0)”,引擎即版本为8.1.0,若出现“(7, 4, 8)”,引擎版本即为7.4.8(.txt文件用记事本或Word文档形式都可以打开)

确定版本之后,我们就需要下载对应的Ren'Py引擎。下载地址:https://renpy.org/release/X.X.X,“X.X.X”指的是版本,例如下载7.4.8的版本,网址即为:https://renpy.org/release/7.4.8(以此类推)。进入之后选择第一项,以“.exe”程序运行形式安装,下载好按照步骤安装即可。(最好安装到桌面,方便后期使用)

安装好后点开文件夹,点击“renpy.exe”,打开后的界面如下:(如果不是中文界面,切换语言在右下角的Preferences(设置)一栏,右方选择Simplified Chinese(简体中文))

确认无误后即可关闭程序,我们继续进行下一步。


2.预备处理

如果下载好的游戏/game目录下,出现了许多或一些(根据游戏体量决定)“.rpyc”和“.rpy”(文件名后缀)形式的文件,并且文件名相同且无遗漏,没有“.rpa”形式的文件出现,此游戏即无需解包,请直接跳至汉化。

如果下载好的游戏/game目录下,只出现了“.rpyc”或“.rpa”(包括同时有)形式的文件,没有(或零零散散只有几个)“.rpy”形式的文件,此游戏需要解包。

2.1 环境配置

首先,我们需要下载Python(版本一定要高于3.8),官方下载地址:https://www.python.org/downloads/windows/ (选择版本,看自己的系统是多少位,我选的是“python-3.8.1-amd64.exe”)

下载好后运行程序,一定要勾选下方两个选项,然后选择第一个选项 “Install Now”,等待安装完毕即可关闭。(若没有勾选的话,则需要手动配置,自行百度)

安装完成后,我们需要验证,在“开始”一栏输入“cmd”,会弹出来命令提示符窗口,直接输入“python”或“python -V”(输入代码都是英文字符,且不要加引号,以下皆如此),然后回车。如果显示了你所安装的版本,即为正常。(若没有显示,即需要手动配置环境变量。我这里的是2.7.18不用在意,因为我电脑上有两个版本的python。)

验证完成后关闭窗口,重新打开一次,直接输入“python -m pip install -U pip”,或者“pip install --upgrade pip”,等待pip完成升级后即可关闭(最后会显示Successfully)。

2.2 解包工具

这里会使用两款工具,分别用来解包“rpa”和“rpyc”形式的文件,两种形式都是引擎专用的打包格式,通常图片音频等资源也在这里面。常用的解压缩工具是无法使用的,但由于renpy是开源的,所以有开源的解包工具。

2.2.1 Unrpa

第一款工具“unrpa”基于python3开发运行,因此我们必须安装python。工具源地址:https://github.com/Lattyware/unrpa

方法一:在“开始”一栏输入“cmd”,会弹出来命令提示符窗口,直接输入“pip install unrpa"

方法二:下载“unrpa”所对应的“.whl”文件(wheel文件是库的源文件),然后在命令提示符窗口输入“pip install XXX.whl”(XXX指的是文件名,但不能有中文路径)。安装完成后,输入“unrpa -h”,检查是否有反应,如下即安装成功。

打开游戏文件夹,并找到/game目录下需要解包的文件,例如:/game中的“options.rpa”是我需要解包的文件,我们(最好)需要新建一个文件夹“output”(随意,但不能有中文),然后复制它的路径,假设为“C:\Users\Administrator\Desktop\Rain\game\output”。

代码即为:“unrpa -mp C:\Users\Administrator\Desktop\Rain\game\output C:\Users\Administrator\Desktop\Rain\game\options.rpa”(不要忘了每个之间隔开一个空格)

如图,解包成功。

“.rpa”解包标准格式如下,打开命令提示符窗口,输入“unrpa -mp” “放置文件处” “要解压的文件”

2.2.2 Unrpyc

第二款工具“unrpyc”基于python2开发运行,因此我们需要额外下载python2,方法步骤同上,需要注意的是“pip工具”和”path 添加”请在安装程序时一并勾选,不然需要手动配置。(手动配置百度,不难)

当我们的电脑同时安装两个python时,避免不了指令可能会出错,验证完成后,第一步仍是升级pip,如果原先的指令无法生效(运行的是python3),这个时候我们需要找到安装python2的源地址,例如我的是“C:\Python27”,找到“C:\Python27\Scripts\pip.exe”,用鼠标拖拽到命令提示符窗口中,然后空格,然后直接输入“install --upgrade pip”,回车。(这个方法是最简便的)

升级完成后,也是一样的操作方式。找到“C:\Python27\Scripts\pip.exe”,用鼠标拖拽到命令提示符窗口中,然后空格,然后直接输入“install unrpyc”,回车。

如果命令无效,可在网站上下载压缩包后解压到桌面,直接拖拽程序“unrpyc.py”到命令提示符窗口,然后空格,输入“-c” “要解压的文件”,回车。下载地址:https://github.com/CensoredUsername/unrpyc

“.rpyc”解包标准格式如下:打开命令提示符窗口,输入“unrpyc -c” “要解压的文件”

2.3 特殊情况注明

1. rpyc解包工具目前仅支持Ren’Py 8.0(不包括8.0)以下的版本,8.0以上的有些涉及到核心代码的无法解包。

2. apk解包,Ren’Py的apk中的所有文件加了X-,只需要解压apk,将其批量重命名即可。工具地址:https://github.com/DrDRR/RenPy-UnAPK

3. “.rpa”文件遇到无法解包的情况时一般与版本无关,我们可以使用“WinHex”(16进制编辑器)进行查看处理,将图中的“INDEX”改为“RPA-3.0 / 2.0”(若原来就是这样,或改了之后仍无法解包,可能是作者做了特殊加密处理,不建议进行强制解包)。

4. 所有资料内容皆来自开源网站,公开透明,本人仅做收集整理。解包的前提是经过作者本人允许,本人既不赞同也不支持任何损害创作者利益的行为,以上内容仅做学习交流。


3.汉化详情

《天演论》:“译事三难:信、达、雅。求其信,已大难矣!顾信矣,不达,虽译,犹不译也,则达尚焉。”信达雅,是翻译界严格恪守的原则。

3.1 语言和UI

3.1.1 翻译文件生成

首先,我们将需要翻译的游戏(之前下载好的)放在Ren’Py引擎目录下。然后打开Ren’Py引擎,找到对应的工程(即左边找到要翻译的那款游戏)使用SDK创建翻译文件(在程序中点击“生成翻译文件”),命名“schinese / chinese”。

然后,程序会在 /game/tl 的目录下生成许多新的“.rpy”文件,即我们需要翻译的文本。当游戏更新时,大部分情况下只需要把其中文件夹转移过去重新生成一次即可,程序会自动修补。

接着,我们需要下载“Atom编辑器”,修改代码时需要用到。(百度即可,安装很简单)或者也可使用Microsoft VS。(安装比较麻烦一些)

随后,我们找到游戏(解包后)中/game目录下的“screens.rpy”文件,用“Atom / Microsoft VS”打开(这里我用的是Atom,相比VS更简洁),按住“Ctrl” + F,搜索“screen preferences / preferences”,在上方对应格式的代码结束后的下一行,以相同格式添加如下代码:


            vbox:
                    style_prefix "radio"
                    label _("Language")
                    textbutton _("English") action Language(None)
                    textbutton "{font=XXX.ttf / XXX.otf}简体中文{/font}" action Language("schinese")


如图所示:(XXX.ttf / XXX.otf 指的是所使用的字体文件)

3.1.2 文字替换

在这之前,我们应该找到一款合适的字体去替换游戏的原字体,一般来说,其国外制作的游戏字体都不支持中文字体,不替换直接翻译会显示乱码。

找到/game目录下的所有字体文件,并依次替换掉,也不一定全部对应替换,但要考虑整体美观和实用性。(字体可以去网上直接下载放进游戏目录中,一定要注意是否支持中英文,及其他可能会用到的地方)

例如,我用“SourceHanSans-Regular.otf”(思源黑体)替换了游戏原系统文字“ABhio.ttf”,思源黑体当系统文字显示很适合,以此类推。

因此,上面的代码即为:(.otf和.ttf形式对游戏无影响)


textbutton "{font=SourceHanSans-Regular.otf}简体中文{/font}" action Language("schinese")


然后,我们需要使用“Ctrl” + F,搜索所有的游戏原字体。比如游戏原字体一共有三种,假设分别为“A.ttf”,“B.ttf”,“C.otf”,我们可以用两种或者三种字体,假设“AS.ttf”,“BS.ttf”来替换掉原来的。例如图中有三处使用的还是原字体,就需要找到之后全部替换掉。(有多少替换多少)

“screens.rpy”文件中的字体替换完成后,我们仍需把其他文件的字体全部替换,例如“options.rpy”,“gui.rpy”等等.rpy文件都需要替换,但/tl中的文件不用去管,全部替换完后就可以进行下一步了。(这步很费时间)

3.1.3 UI调整

由于不同文字之间的情况不同,特别是替换了字体之后,调整UI显得很重要,因此我们一般都需要修改UI的参数。而所有参数都需要去“gui.rpy”,“screen.rpy”等源文件中找,找到参数之后才可以自定义修改。    

具体情况需要具体来看,UI调整的过程比较消耗耐心。或者可以在该rpy前面加“define config.developer = "True" ”,开启renpy调试模式,使用“Shift”+R 即可重新加载文件,“Shift”+D进入开发者菜单,调试完成后再删除或改为“define config.developer = "False" ”

图片UI基本不需要调整,目前我还没有遇到过需要调整的情况。

3.2 翻译工作

在做好所有的准备工作后,翻译就可以进行了。相比起前面复杂的准备工作,汉化看起来实在轻松很多。(实际并不轻松)

在/tl目录下的所有rpy文件我们都需要点击查看,“common.rpy”,“options.rpy”,"screens.rpy"是游戏的核心文件,其翻译的内容基本为系统提示、主界面等等,我们需要一一对应翻译。如图所示:

游戏的故事主体一般会在“script.rpy”和其他一些rpy文件中。翻译时,我们也需要一行一行对应翻译,不能改变原文,也不能改动任何代码。(翻译没有水平一说,只有态度的好坏)

一定要记得每翻译一部分就点一下Atom左上角的Save,Atom没有自动保存的功能。也可以一边翻译一边在游戏中查看,顺便提高翻译的精确度。

如果有图片需要翻译,我们只需要把P好的图片放到/tl目录下与原图相对应的位置即可。例如原图所在位置/game/images/scn17,P好的图片位置就应该在/game/tl/images/scn17。

3.2.1 常见问题

在翻译的过程中难免会出现各种大大小小的问题,有一些问题在Ren'Py的中文论坛上可以找到解决办法,或者百度、B站 亦可。有一些是Ren'Py自身的Bug,无法解决。

在这里我不列举常见的问题了,因为基本都能找到答案。我只希望这篇如此详细地教学能让更多爱好汉化的人加入这个圈子,给更多的人带去快乐,而不是想着如何牟利和获取名声。

附上Ren'Py的参考文档:https://renpy.cn/doc/(疑难杂症基本包含在内)


4.打包

翻译并校对好游戏后,我们需要将游戏进行打包分发。

打开对应的Ren’Py引擎,点击“生成分发版”。Mac和Windows的版本打包非常简单,点击之后,按照指示即可完成打包。

“options.rpy”文件往下拉到最后几排,红线下面的代码即是“封包”的指令,删除后分发版不会像下载的游戏那样成为“.rpa”文件,不用解包即可看到源代码。根据个人情况可删可不删。

安卓打包时需要用到RAPT公具,配置Java(JDK)环境和其他一些信息,并创建秘钥。(打包过程需要下载一些墙外的东西,因此需要自行配置全局代理。打包时根据Ren'Py的指示即可)

APK安装包的图标与过场载入画面需在根目录放置三个文件:“android-icon_foreground.png”、“android-icon_background.png”、“android-presplash.png”。具体操作时可能会有细微差异, 但不会很难。

期待各位的作品。

感谢所有默默无闻汉化者的付出

感谢所有支持和热爱的朋友

——绿洲汉化组
























Ren'Py 游戏汉化全教学的评论 (共 条)

分享到微博请遵守国家法律