翻訳のインポート

ゲームと国際化

世界はさまざまな市場や文化に満ちており、収益を最大化するために、今日ではゲームは複数の言語でリリースされています。 これを解決するために、国際化されたテキストはどんな現代のゲームエンジンでもサポートされなければなりません。

通常のデスクトップアプリケーションまたはモバイルアプリケーションでは、国際化されたテキストは通常、リソースファイル(またはGNUのもののための.poファイル)に配置されます。ただし、ゲームはアプリケーションよりも複数のテキストを使用できるため、多言語テキストの負荷を処理するための効率的なメソッドをサポートする必要があります。

多言語ゲームとアプリケーションを生成するには、2つの方法があります。どちらもkey:valueシステムに基づいています。1つ目は、1つの言語をキー(通常は英語)として使用し、2つ目は特定の識別子を使用することです。最初のアプローチは、ゲームが最初に英語でリリースされ、後で他の言語でリリースされた場合、開発が容易になりますが、同時に多くの言語で作業する場合は完全な悪夢です。

一般に、ゲームは2番目のアプローチを使用し、各文字列に一意のIDが使用されます。これにより、他の言語に翻訳されている間にテキストを修正できます。一意のIDには、数値、文字列、または数値を持つ文字列(とにかく一意の文字列にすぎません)を指定できます。

注釈

もっと強力なファイル形式を必要としているなら、gettext .po 形式で書かれた翻訳の読み込みもGodotはサポートしています。詳細は:ref:doc_localization_using_gettext を見て下さい。

翻訳形式

画像を完成させ、翻訳を効率的にサポートするために、GodotにはCSVファイルを読み取ることができる特別なインポーターがあります。すべてのスプレッドシートエディタ(Libreoffice、Microsoft Office、Googleドキュメントなど)は、この形式にエクスポートすることができるので、唯一の要件は、ファイルが特別な配置を持っていることです。CSV ファイルは UTF-8エンコーディングに保存し、次のようにフォーマットする必要があります:

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
挨拶 Hello, friend! Hola, amigo! こんにちは
尋ねる How are you? Cómo está? 元気ですか
さようなら 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ファイルの解析時に使用する区切り文字を選択したりできます。

../../../_images/import_csv.png

これらのオプションを変更した後は、必ず「再インポート」をクリックしてください。