RenPy中文空间

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 238|回复: 0

[教程] Ren'Py游戏《怪声之湖(Lake of Voices)》翻译汉化

[复制链接]
发表于 2018-9-25 21:37:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 龙氏 于 2018-10-29 09:22 编辑

网上搜来的一两篇Ren'Py游戏汉化教程,大部分内容说的是如何解包,然后,然后直接在脚本里改!改?改原语言?—— 那原语言怎么切回去,哦,直接是中文游戏了,不需要E文了,这样啊,懂了




正题:《怪声之湖(Lake of Voices)》翻译汉化

今天要拿来试试牛刀的Ren'Py游戏是:《怪声之湖(Lake of Voices)》是一部免费的恐怖题材视觉小说。

剧情讲述了Kikka 和同事Bemelle 因为任务需要,要在夜里穿过充满恐怖传说的沼泽区,在这里他们遇到了不同的同伴,同时,也遇到了只在传说和噩梦里才出现过,可以夺取他们生命的不可名状事物……。

Steam免费视觉小说很多,为何会选择《怪声之湖(Lake of Voices)》?

  • 免费,大家一边学习汉化,一边玩游戏。
  • 质量不错,无论美工、音乐,还是语音。没有浓浓的廉价感。
  • 恐怖题材,学习中就不会打瞌睡啦。

... ... 想到再加上 ... ...

《怪声之湖(Lake of Voices)》界面汉化(Google翻译)后效果:
《怪声之湖(Lake of Voices)》_主界面.PNG

《怪声之湖(Lake-of-Voices)》_设置界面.png


1:基础知识与准备工作

汉化(即游戏的翻译)文档:

想汉化,【多语言支持(Translating)】这文档必看:
多语言支持:https://www.renpy.cn/doc/translation.html
即,Ren'Py引擎制作的游戏,翻译其他语言,让其他语种的玩家也能看懂游戏。Steam上中国玩家对开发商评论留言:我们需要中文!

注意和 【Ren’Py多语言支持(Translating Ren'Py)】这文档的区分。
Ren’Py多语言支持:https://www.renpy.cn/doc/translating_renpy.html
即,Ren’Py引擎程序的多语言支持,含新建工程里默认脚本里的注释语言。
也就是我们常说的:Ren’Py引擎有没有中文版本啊?

然后?然后下载游戏,解包啊... ....

解包:
[精华] 最新Ren'Py引擎游戏解包教程(2018.03.18)
https://www.renpy.cn/forum.php?mod=viewthread&tid=16

新建一个名为:Lake of Voices文件夹。然后在这 Lake of Voices文件夹里,新建一个名为 game文件夹。
解包出的全部文件,放进这 game文件夹里。

看到没?Lake of Voices这游戏,连 rpyc脚本文件都不用解开,有现成的 rpy脚本文件。
不清楚 rpyc文件 和 rpy文件关系的同学,看文档”编程语言基础“里”文件“ 这节:https://www.renpy.cn/doc/languag ... ighlight=rpyc#files

这样一个名为:Lake of Voices 的Ren’Py工程做好了,放到你Ren’Py程序指定的工程目录里吧。
不知道Ren’Py工程目录在哪?
点击Ren’Py程序里的“设置”,就看到“工程目录”的路径了。也可以自定义工程目录目录的,点击那显示的路径就可以了。

方便测试工程,需启用开发者模式
一般在options.rpy里插入下面脚本:
[RenPy] 纯文本查看 复制代码
## 启用开发者模式 #############################################################
## 要使用开发者模式,您必须将以下的参数设为True 反之为 False ##
define config.developer = True

但以“config.developer”为关键字在游戏的options.rpy脚本里搜索,发现已有相关语句,见图:
config.developer.PNG
那么,我们将此句的 False 改为 True 即可。

2:语言切换

打开Ren’Py工程“Lake of Voices”的 screens.rpy,发现“设置(Settings)”采用的是 imagemap 做的,而不是界面(screen)按钮(Button),硬“塞”进去影响界面美观啊。
Settings.jpg

“设置”界面(screen)脚本位置,在screens.rpy里搜索“screen preferences ”见图:
screen preferences.PNG

追加切换语言脚本,修改后如下:
[RenPy] 纯文本查看 复制代码
screen preferences():

    tag menu
    if main_menu:
        add "gui/main menu/base.jpg"
    add "gui/navigation/back-drop.png"
    add "gui/settings/title.png"

    imagemap:
        ground "gui/settings/settings_idle.png"
        idle "gui/settings/settings_idle.png"
        hover "gui/settings/settings_active.png"
        selected_idle "gui/settings/settings_active.png"

        hotspot (678,892,150,41) action Preference("display", "window"), SelectedIf(_preferences.fullscreen==False) focus_mask None
        hotspot (678,938,192,41)  action Preference("display", "fullscreen") focus_mask None
        hotspot (1256,894,226,41) action Preference("skip", "toggle") focus_mask None
        hotspot (1256,938,234,41) action Preference("after choices", "toggle") focus_mask None
        hotspot (1256,984,209,41) action Preference("transitions", "toggle") focus_mask None

## 下面是追加的语言切换脚本。
        vbox:
#            style ## 觉得按钮难看,你可以自定义一个样式?
            xpos 0.08 ypos 0.8
            label _("Language")
            textbutton _("English") action Language(None)
            textbutton _("Chinese") action Language("Simplified_Chinese")

脚本写入后效果图:
设置里语言切换.jpg

当然也可以在游戏首次运行时,询问玩家使用哪种语言(只询问一次),避免一些玩家,面对不熟悉的语言很难找到切换语言位置。

具体方法是用 特殊脚本标签(label) 中的 splashscreen 标签:
特殊脚本标签(label).PNG

搜索怪声之湖(Lake of Voices)全部脚本,看是否有splashscreen 标签,没有就加上了。
结果是有的,就在script.rpy 脚本里,见图:
splashscreen.PNG

可以看到376行的 label start标签,也就是新建工程常看到的:# 游戏在此开始。
看脚本,此游戏的 splashscreen 标签,主要是显示 游戏logo用。

两种方式:文本选项图片选项
无论哪种方式,游戏 splashscreen 标签中原用于显示 游戏logo用的脚本,我们不去动他。

文本选项
游戏中字体内容,可先看第四小节:4:字体(fonts)、样式(style)、imagemap
原理是:调用相应语言字体,来显示对应文本选项

splashscreen 标签内脚本,修改如下:
[RenPy] 纯文本查看 复制代码
label splashscreen:
    python:
        if not persistent.set_volumes:
            persistent.set_volumes = True
             
            _preferences.volumes['music'] *= .5
            _preferences.volumes['sfx'] *= .5
            _preferences.volumes['voice'] *= .55
     
    scene expression "#111"
    with Dissolve(0.9)
 
    show logo1 with dissolve
    with Pause(1)
    show logo2 with dissolve
    with Pause(2)
     
    scene expression "#111"
    with Dissolve(0.7)
## 以上是游戏原脚本,不改动。

## 判断是否进行了语言选择。
    if persistent.Language_x is None: ## 判断是否为默认值,是说明游戏首次运行。

        menu: # 选项菜单
            "{font=RobotoSlab-Regular.ttf}Please select a language{/font}" ## “请选择语言”,这行也可以不要。

            ## 支持字体。
            "{font=RobotoSlab-Regular.ttf}English{/font}": ## 相应字体显示对应语言文本。
                $ renpy.change_language(None) ## “None”为默认语言。

            "{font=SourceHanSansCN-Regular.otf}简体中文{/font}": ## “SourceHanSansCN-Regular.otf”,是中文思源字体。
                $ renpy.change_language("Simplified_Chinese") ## 
                $ persistent.Language_x = True ## 采用 持久化数据(Persistent Data)来关闭语言选择的询问。
    return

图片选项

图片选项,不仅需要修改splashscreen 标签,还需要增加一个界面(screen),所以是 原353至377行 增修如下:
[RenPy] 纯文本查看 复制代码
###################### 语言选择询问 ###########################################
screen Language_select: ## 定义一个语言选择界面。
    vbox xalign 0.5 yalign 0.5:
        ## 点击图片按钮后,更改语言,并直接返回到主菜单。

        imagebutton auto "English_%s.png" action Language(None) , MainMenu(confirm=None)
        imagebutton auto "simplified_chinese_%s.png" action Language("Simplified_Chinese") , MainMenu(confirm=None)

label splashscreen:
    python:
        if not persistent.set_volumes:
            persistent.set_volumes = True
             
            _preferences.volumes['music'] *= .5
            _preferences.volumes['sfx'] *= .5
            _preferences.volumes['voice'] *= .55
     
    scene expression "#111"
    with Dissolve(0.9)
 
    show logo1 with dissolve
    with Pause(1)
    show logo2 with dissolve
    with Pause(2)
     
    scene expression "#111"
    with Dissolve(0.7)
## 以上是游戏原脚本,不改动。

## 判断是否进行了语言选择。
    if persistent.Language_x is None: ## 是默认值,说明游戏首次运行。
        $ persistent.Language_x = True ## 采用 持久化数据(Persistent Data)来关闭语言选择的询问。
        ## 注意先修改变量,再调用界面(screen),因为界面会直接返回主菜单,导致变量未更改。

        call screen Language_select ### 语言选择界面(screen)。
    return

# 游戏在此开始。
label start:

下面附件,是脚本用到的图片按钮(imagebutton)图片。
语言_图片按钮.zip (13.99 KB, 下载次数: 0)

评分

参与人数 1声望 +1 干货 +3 收起 理由
BuErShen + 1 + 3 精品文章!

查看全部评分

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|RenPy中文空间 ( 苏ICP备17067825号 | 苏公网安备 32092302000068号 )

GMT+8, 2018-11-20 01:28 , Processed in 0.045897 second(s), 28 queries , File On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表