Ren'Py 自身の翻訳が可能です。翻訳を完了すれば GUI や様々な Ren'Py メッセージ、新しいプロジェクト、ランチャーが翻訳されます。これはほとんどのゲームプレイと開発者をカバーするはずです。いまのところ、エラーメッセージすべての翻訳は可能ではありません。
新しい翻訳を作成するには :
Ren'Py ランチャーの起動
設定ページで、 "Open launcher project" を選択
"Generate Translations." を選択
翻訳する先の言語名を入力してください。。これは ASCII 文字の lower case とアンダースコアで構成され、 "japanese" や "russian" 、 "ancient_klingon" はすべて妥当な言語名です。
"Generate Translations." を選択
同じ手順が言語翻訳の更新に使用できます。作成された翻訳にアクセスするには、設定ページに戻り、新しく作成された言語を選択してください。デフォルトでは、翻訳は英語のコピーであることに注意してください。
翻訳ファイルは launcher/game/tl/language/ にあります。 script.rpy を除き、すべてのファイルは string translation 構文を使用して翻訳される翻訳文字列を含みます。いくつかの文字列は "## " で始まるかもしれません。それらは翻訳され、ラップされるコメントで、 options.rpy や gui.rpy ファイルに含まれます。
翻訳ファイル :
これは Ren'Py がプレイヤーに表示するインターフェースメッセージ(文字列)を含みます。
これはプレイヤーには表示されず、開発者との対話の文字列のみを含みます。
このファイルは Ren'Py が問題を抱えたとき、開発者やプレイヤーに表示される文字列を含みます。
このファイルはデフォルトの GUI に配置されたコメントを含みます。
このファイルはランチャーの一部として表示される文字列を含みます。
このファイルには現在の Ren'Py では使用されない文字列を含みます。
このファイルはデフォルトの option.rpy ファイルのコメントを翻訳する文字列を含みます。
このファイルはデフォルトの gui.rpy とデフォルトの screen.rpy ファイルのコメントで使用される文字列を含みます。
新しいプロジェクトが作成されると、このファイルの内容は script.rpy にコピーされます。
このファイルはデフォルトでは存在しませんが、必要なら作成されます。ランチャーのスタイルと作成されたゲームのフォントを設定します。
直訳できない翻訳があります。 "{#language name and font}" の翻訳はその言語の名前で置き換えられるべきであり、非アスキー文字を使用しているなら、ランチャーのフォントで囲ってください。
translate french strings:
old "{#language name and font}"
new "{font=fonts/Roboto-Light.ttf}Français{/font}"
これはランチャーがある言語でないときに、その言語名を表示するのに使用されます。
"{#in language font}" で始まる 翻訳は同様に囲まれる必要があります。例
translate french strings:
old "{#in language font}Start using Ren'Py in [lang_name]"
new "{font=fonts/Roboto-Light.ttf}Commencez à utiliser Ren'Py en [lang_name]{/font}"
殆どの西洋の言語をカバーするデフォルトのフォント(DejaVuSans)つきでRen'Py は配布されていますが、他のフォントがよく必要とされます。フォントは launcher/game/tl/language/style.rpy を編集して次のコードを追加して設定できます
init python:
translate_font("language", "myfont.ttf")
"language" は question 内の言語(例、 "japanese")で、 "myfont.ttf" は使用されるフォント (例 "MTLc3m.ttf")です。フォントファイルはランチャー内の launcher/game/tl/language ディレクトリに配置されなければなりません。
ランチャーに使用されるスタイルは translate python
ブロック内の変数の設定から設定できます。以下の変数が可能です。English 言語の翻訳を反映しているため、名前は少し乱雑です。
これらの変数はランチャーでのみ利用可能です。
gui.LIGHT_FONT
= "Roboto-Light.ttf" linkランチャーの通常のテキストに使用されるフォントのパスです。
gui.REGULAR_FONT
= "Roboto-Regular.ttf" linkランチャーの heavy-weight テキストで使用されるフォントのパスです。
gui.REGULAR_BOLD
= False linkTrue なら heavy-weight テキストは太字です。
gui.FONT_SCALE
= 1.0 linkランチャーの全てのテキストに適用されるスケーリング値です。
translate python
ブロックはこれらの変数を設定するために使用できます。例えば、以下は Arabic 翻訳のフォントを変更します。
translate arabic python:
gui.REGULAR_FONT = "DejaVuSans.ttf"
gui.LIGHT_FONT = "DejaVuSans.ttf"
gui.FONT_SCALE = .9
gui.REGULAR_BOLD = True
以下の関数を使用して、ランチャーの翻訳を設定できます。それらは init python
ブロックで呼び出されるべきです。
translate_font
(language, font) linkこれを使用して、 language のフォントを設定します。ランチャー内でフォントが使用され、その言語で生成されたゲームでも使用されます。フォントファイルは game/fonts に配置されるべきです。
フォントファイルの名前を指定する文字列です。
translate_define
(language, define, value, help=None) linkこれを使用して、ゲーム生成時の define を設定します。例えば、フォントのサイズを変更できます。
言語が指定されます。
define の名前です。
define が設定されるべき値を指定する文字列です (ie. "10" や "False", "'Font.ttf'")。
None でなければ、コメントは define の前に生成されます。define が gui.rpy に存在しないときのみ、コメントは生成されます。コメントを追加するのに "## " を使用する必要はなく、自動的に包まれます。
例えば、以下は台詞テキスのサイズを変更します。
translate_define("martian", "gui.text_size", 12)