Ren’Pyで多言語に対応してみよう!

ゲーム制作コラム

(もう2月ですが、あけましておめでとうございます)
例の新作ゲーム制作が進んでから投稿しようと考えていたのですが、思った以上にストーリー以外のUI周りが固まらず難航しているので……
息抜きに取り組んでいた「自分の作品をローカライズ(多言語対応)」させよう!プロジェクトの方が割と良い形で進んでいるので、そちらの方の記事を書かせていただければなぁと思います。
※今回はsalt_crabさんのRen’Pyで制作したゲームをDeepL API x Pythonで自動翻訳するの記事を参考にさせていただいています。

概要

Ren’pyで制作した日本語の作品を多言語に対応させてみよう!

前提

まず、今回のローカライズ化にあたっての前提をここに記載しておきます
・Ren’pyを使用してゲームを作成している
・日本語で文章が記載されているScriptファイルが存在している。(日本語でなくても、自分が読める言語であれば良いです)
あった方が良いもの(最悪なくても良い)
・プログラミング環境(後述しますが、Pythonの開発環境があると楽かも……)

やったこと

1.翻訳用ファイルの作成・テキストを翻訳

まずは日本語の文章で記載されているScriptファイルから、翻訳用のファイルを作成します。
作成、と言っても自分で1から記載するのではなく、Ren’pyにやってもらいます。

Ren’pyランチャーから「翻訳の生成」を選択して

「言語」に翻訳に使う言語(最悪自分がわかれば良いです)を選択し、
「翻訳を空の文字列で生成する」にチェックを入れ、翻訳を生成します。
生成が完了すると、対象ゲームのgame/tl/○○(「言語」に入力した文字列)/に変換用ファイルが作成されます。
以下が、翻訳ファイルのscript.rpyです。

以下の要素がひとまとまりとなっています。

# game/script.rpy:○○(もともとのファイルのN行目)
translate english start_○○:
# "日本語の文章"
""←ここに翻訳した文章を記載する

後は、日本語の文章に対応した翻訳後の文章を記載していく形になります。
翻訳方法自体は翻訳サイトを使ったり、コードを書いて自動化させたり、いろいろな手法があるので、お好みでやってみてください。
※コードを書いて自動化させる手法についてはsalt_crabさんのRen’Pyで制作したゲームをDeepL API x Pythonで自動翻訳するという記事がとても参考になります。

2.翻訳用ファイルの作成・テキストを翻訳

翻訳が完了した!じゃあ早速起動してみよう!は、ちょっと待ってください。
このまま起動しても多言語には対応しません。
どうしてかというと、以下の2つの理由があるからです。
1.「言語を切り替える設定を追加していない」
2.「その言語で使うフォントを指定していない」

じゃあ、どこでその設定を追加するの?というと、screens.rpyで追加をします。
screen preferences():部分に以下を設定します

vbox:
                style_prefix "radio"
                label _("Language")
                textbutton _("日本語") action Language(None)
                textbutton _("English") text_font "○○(ここで使うフォントファイルを記載)" action Language("english"(翻訳ファイル生成の時に記載した「言語」を記載))

あ、英語の選択肢を追加する場合は、「English」で追加しましょうね。
「英語」と書いても海外の方は読めないので……
これでファイルを保存してゲームを起動してみると……

SETTINGに言語切り替え用選択肢が追加されました!
早速「English」を選択してみましょう

テキストが英語になりましたね!成功です!
この後も、設定で「日本語」を選択すると、途中からでも日本語の文章でゲームを進めることができます。

終わりに

今回は、Ren’pyで制作した日本語の作品を多言語に対応させてみました。
とりあえず英語で作成してみましたが、特に百合ゲーは台湾あたりで好まれている話を聞くので、他言語で対応させても良いかもしれないですね。
そもそも海外からもプレイできるようなフリーゲーム投稿プラットフォームがどこにあるかなど、他にも考えることはあるかもしれませんが、これは大きな一歩ですよ。本当に。
少しでも参考になっていただけたら幸いです!
それでは今回はここまで!

コメント

  1. GDIZ より:

    Hi! Sorry i just curious, what template did you use for your website? I want to use it on my website at https://www.gdiz.eu.org

    • tellme より:

      Sorry for the delay in replying.
      I am new to website design, so I am not sure if this answer is correct, but I am using Cocoon Child as my template.
      This is written through a translation site, so I apologize if there are any mistranslations.

タイトルとURLをコピーしました