翻訳のインポート
ゲームと国際化
ゲームコミュニティは単一言語や単一文化ではありません。さまざまな言語と文化で構成されています。まさに Godot コミュニティと同じです。プレイヤーが自分の言語でゲームを体験できるようにしたい場合、提供する必要があるものの1つがテキスト翻訳です。Godot は国際化テキストシステムを通じてこれをサポートしています。
通常のデスクトップアプリケーションまたはモバイルアプリケーションでは、国際化されたテキストは通常、リソースファイル(またはGNUのもののための.poファイル)に配置されます。ただし、ゲームはアプリケーションよりも複数のテキストを使用できるため、多言語テキストの負荷を処理するための効率的なメソッドをサポートする必要があります。
多言語ゲームとアプリケーションを生成するには、2つの方法があります。どちらもkey:valueシステムに基づいています。1つ目は、1つの言語をキー(通常は英語)として使用し、2つ目は特定の識別子を使用することです。最初のアプローチは、ゲームが最初に英語でリリースされ、後で他の言語でリリースされた場合、開発が容易になりますが、同時に多くの言語で作業する場合は完全な悪夢です。
一般に、ゲームは2番目のアプローチを使用し、各文字列に一意のIDが使用されます。これにより、他の言語に翻訳されている間にテキストを修正できます。一意のIDには、数値、文字列、または数値を持つ文字列(とにかく一意の文字列にすぎません)を指定できます。
注釈
もっと強力なファイル形式を必要としているなら、gettext .po 形式で書かれた翻訳の読み込みもGodotはサポートしています。詳細は gettext を使ったローカライズ を見て下さい。
翻訳形式
画像を完成させ、翻訳を効率的にサポートできるようにするため、GodotにはCSVファイルを読み取ることができる特別なインポーターがあります。ほとんどのスプレッドシートエディタはこの形式でエクスポートできるため、唯一の要件はファイルが特別な配置を持っていることです。CSVファイルは バイト順マーク なしでUTF-8エンコーディングで保存する必要があります。
CSVファイルは次の形式にする必要があります:
keys |
<lang1> |
<lang2> |
<langN> |
|---|---|---|---|
KEY1 |
string |
string |
string |
KEY2 |
string |
string |
string |
KEYN |
string |
string |
string |
"lang" タグは、エンジンでサポートされている valid locales のいずれかの言語である必要があります。またはアンダースコア (_) で始まる列はコメントとなりインポートされません。"KEY" タグは一意で、文字列を普遍的に表す必要があります (通常は大文字で、他の文字列と区別します)。ランタイムにおいて、これらのキーは一致した翻訳文字列により置き換えられます。"KEY1" と "Key1" が異なるキーであるという事に注意して下さい。一番左上のセルは無視され、 空白もしくは別のコンテンツを持っています。次に例を示します:
keys |
en |
es |
ja |
|---|---|---|---|
GREET |
Hello, friend! |
Hola, amigo! |
こんにちは |
ASK |
How are you? |
Cómo está? |
元気ですか |
BYE |
Goodbye |
Adiós |
さようなら |
QUOTE |
"Hello" said the man. |
"Hola" dijo el hombre. |
「こんにちは」男は言いました |
同じ例を、コンマ区切りのプレーンテキストファイルとして以下に示します。これは、スプレッドシートで上記を編集した結果です。プレーンテキストバージョンを編集するときは、コンマ、区切り、または二重引用符を含むメッセージを二重引用符で囲むようにしてください。その場合、含まれるコンマは区切り文字として解析されず、同様に改行は新しいエントリを作成せず、そして二重引用符は囲み文字として解析されません。メッセージに含まれる可能性のある二重引用符は、その前に別の二重引用符を付けてエスケープしてください。または、インポートオプションでコンマ以外の区切り文字を選択することもできます。
keys,en,es,ja
GREET,"Hello, friend!","Hola, amigo!",こんにちは
ASK,How are you?,Cómo está?,元気ですか
BYE,Goodbye,Adiós,さようなら
QUOTE,"""Hello"" said the man.","""Hola"" dijo el hombre.",「こんにちは」男は言いました
CSVインポーター
GodotはデフォルトでCSVファイルを翻訳として扱います。インポートし、その横に 1つ以上の圧縮翻訳リソースファイルを生成します。
読み込むと、project.godot(またはプロジェクト設定)で指定された、ゲームの実行時に読み込む翻訳の一覧にも翻訳が追加されます。Godotでは、実行時に翻訳を読み込み、削除することもできます。
.csv ファイルを選択し、インポート ドックにアクセスしてインポートオプションを定義します。インポートした翻訳の圧縮を切り替えて、CSVファイルの解析時に使用する区切り文字を選択できます。
これらのオプションを変更した後は、必ず 再インポート をクリックしてください。