工具
renpy laucher : https://www.renpy.org/latest.html
python : https://www.python.org/
解rpa : rpatool or unren,google應該有。
編輯器 : (推薦)atom,可另外下載renpy語言高亮插件
photoshop(選修) : 可以修改圖片內的英文,蛋疼(之後再加入如何讓renpy在不同語言下顯示不同翻譯的圖片的方法)
@Renpy中文教學(雪凡):https://www.openfoundry.org/foss-programs/8811
@Renpy 官方指引 :https://www.renpy.org/doc/html/translation.html
@code請看google doc版(巴哈不會用XD):
https://goo.gl/jyfMVJ@我個人是採用保留英文原版的漢化法,也就是用語言選項,如果真的要的話也可以直接進原版(英文)script修改,不過我沒試過,走直接修改的路徑的話,你不需要步驟10~13,風險是你如果不懂code可能會讓遊戲出錯,至少看一下雪凡大神的教學,我個人為對作者保持尊重會留下英文版,以上。
1.首先打開renpy laucher
2.進入設定(右下角),更改遊戲專案目錄,所有你要用renpy做/漢化的遊戲都會在這裡,也就是說,renpy laucher只會讀這裡面的遊戲專案。
3.將你要漢化的遊戲放入你設定的專案目錄內。這裡用the visit作為代表
4.打開the visit,你會看到這樣,說明一下,所有我們要的都在game裡面,文字、圖片...等
5.打開game,會類似這樣,有save(遊戲存檔),tl(翻譯文檔),和很多的rpa檔,rpa檔是renpy為了遊戲發行後的執行速度之類的原因壓縮的檔案,作者可以自己命名,像是這裡是images(圖片)和scripts(腳本),大蓋可以猜出裡面的內容,有的作者會用rpyc這種比較進階的加密方法
6.這時我們需要解開rpa才可以自由編輯,我是用unren,將unren放入你的game資料夾內,右鍵系統管理員身分執行
(我都直接9下去,全部解開限制)
7.這時你的/game會變這樣
8.我們要打開遊戲讓unren解一次代碼(打開遊戲隨便玩個2句就好),然後game會變成這樣(這邊已經手動刪除unren產生的檔案了)。(如果不行的話用rpatool一個一個解開也行)
10.這邊我們先打開screens.rpy,這裡要添加語言選項至遊戲選單內
我都放在check下面,程式碼在下面,記得要對齊,說明:在此例中添加"CHT"這種選項,
該選項的字形以DroidSansFallback.tff(自訂)呈現,當cht被選中時,將會執行語言"TranditionalChinese",CHS的範例也是類似
請將字型放置於/game
vbox: style_prefix "radio" label _("Language") # Real languages should go alphabetical order by English name. textbutton _("English") text_font "DejaVuSans.ttf" action Language(None) textbutton _("CHT") text_font "DroidSansFallback.ttf" action Language("TranditionalChinese") textbutton _("CHS") text_font "DroidSansFallback.ttf" action Language("SimplifiedChinese") |
11.打開renpy laucher,左側選擇專案,右下角按產生翻譯檔(generate translation),你需要手動輸入你要翻譯語言的名子(須符合你上面的actionlanguage後面的名子),然後按產生翻譯檔(沒錯他是一個按鈕),renpy laucher會自動產生翻譯檔至/game/tl/TranditionalChinese
12.這時候進入/game/tl,你應該會看到TranditionalChinese的資料夾,點進去,會看見script(故事腳本),screen(功能選項),common(一般用字),options(這一般是遊戲名稱),全都要翻譯,不過如果你已經翻過一次了的話,下次可以用renpy laucher轉移這些翻譯到其他專案(就是用上面那張圖的extract string translations 和merge string translation,不過這之後再說,而且我只推薦用於遊戲設定這些東西的翻譯,故事文本的翻譯因為牽扯上下文所以還是要好好翻)
這裡用script做範例,解釋一下
# game/script.rpy:356 #標是這句話在原始script的出處 translate TranditionalChinese begin_6d2b5115: #每一句都會這樣開頭請勿修改
# "Hi, My name is Chris, and what follows is my story." #原文 "嗨,我叫Chris,接下來是我的故事。" #翻譯
# game/script.rpy:357 translate TranditionalChinese begin_a970bbf0:
# "It all starts one morning when my mom tells me my aunt Nikki is coming to stay with us." "" #全新的翻譯檔都會是想這樣嗷嗷待哺TAT |
13.開始翻一點點(我會先翻screens,等等要確認中文顯示無誤)
14.打開/game/gui.rpy,尋找font,最簡單的方法是全部用DejaVuSans.ttf(請記得""),把它放到/game裡面就可以,然後開看看你的遊戲確認一下是否可以顯示中文(記得去改設定阿)
## Fonts and Font Sizes ########################################################
## The font used for in-game text. #遊戲內字形 define gui.text_font = "DejaVuSans.ttf"
## The font used for character names. #角色名字形 define gui.name_text_font = "DejaVuSans.ttf"
## The font used for out-of-game text. #選單字形? define gui.interface_text_font = "DejaVuSans.ttf" |
15.顯示正常後,開始翻吧,一去不復返....(故事文檔可能會有變數)
像下面這樣有可能是{}或是[],不懂renpy語言的話保留即可,還有在翻譯時不要用 " 當強調語,要用 ' ," 在程式內視為開始和結束。
16.請做bug測試,如果你是用語言選單的方法翻譯的話,遊戲應該不會出bug,除非是你在10和14這2步出錯。這裏我們要確認翻譯執行順暢。
17.如何發布,打開renpy launcher,執行Build distructions(建立釋出版),右上角選擇釋出版本,一般選windows,android有可能出bug除非你可以自行修改原始(英文)script內的程式碼,否則不建議。
按build,renpy laucher會自己打包成.zip,在專案目錄下,恭喜你完成漢化大業。