Godot和訳速報「ゲームのローカライゼーション」

Google翻訳の変換精度が上がって随分と実用的な文章を吐くようになりました。Google翻訳のアラ探しをしながら翻訳するとストレス無く作業が出来て助かります。

ゲームのローカライゼーション

イントロダクション

世界の言語が統一されていれば、それは素晴らしいことです。しかし現実には世界には沢山の言語があります。ニッチな市場に向けたゲームであれば母語のみでのリリースもありですが、より大きな市場を狙うには、別の言語圏に向けたローカライゼーションを視野に入れなくてはなりません。

Godotには、ローカライゼーションを助けるとても沢山の仕組みがありますので、このチュートリアルは、ローカラーゼーションを考える時に使えるヒント集のようなものとなっています。

ローカライゼーションは通常、専門のスタジオに有料でやってもらうものです。また、ローカライゼーション用のソフトウエアやファイルフォーマットは非常に沢山の種類があります。その中で最も一般的なのがスプレッドシートを用いた手法です。それぞれの言語向けに、スプレッドシートを作成し、それらをインポートして使います。詳細なプロセスは訳語ファイルのインポートのチュートリアルを参照してください。

訳語ファイルのインポートの設定

訳語ファイルは、プロジェクトに追加をしておけば、変更時にアップデートや再インポートが可能です。

Scene > Project Settings > Localizationから追加出来ます。

画像

プロジェクト内の全てのファイルについての訳語ファイルをこのダイアログで管理出来ます。

リソースのローカル化

言語圏によって文化も様々です。Godotには現在の言語に応じてアセット(リソース)を変換する機能があります。Remapタブはそのためのものです。

画像

リマッピングしたいアセットを選んで、どの言語でどのアセットを使用するかを設定してください。

キーをテキストに変換する

Buttom、Labelなどの一部のコントロールは、キーが設定されるする度に自動的に翻訳が行われます。例えばLabelに”MAIN_SCREEN_GREETING1″が割り当てられていて、別の言語のキーが存在する場合、このプロセスはロード時に実行されるため、プロジェクトに言語を変更したいダイアログがある場合、新しいテキストを有効化するには、シーンか設定シーンを再ロードする必要があります。

コードで実現する場合はObject.tr()関数が使用できます。これを設定しておけば、訳語ファイルを自動的に探してきて、変換をしてくれます。

level.set_text(tr("LEVEL_5_NAME"))
status.set_text(tr("GAME_STATUS_" + str(status_index)))

コントロールをリサイズ可能にする

テキストを翻訳すると、文が意図しない長さになってしまうことがあります。コントロールのサイズが固定されていると文章がはみ出してしまうかもしれません。シンプルな解決策としてコントロールのサイズを動的に変更する方法があります。詳しくはサイズとアンカーのチュートリアルを読んでください。

トランスレーションサーバー

Godotには、トランスレーションサーバーと言う翻訳管理をするローレベルAPIがあります。ランタイム内で訳語ファイルの追加や削除が可能で、言語を動的に変えることも出来ます。

コマンドライン

Godotを使用する際のオプションの指定で、言語の変換が正しく機能してるか確認するテストプレイが出来ます。例えばフランス語で実行したい場合は次のようになります。

c:\MyGame> godot -lang fr

プロジェクト名の翻訳

プロジェクトをエクスポートすると、プロジェクト名がアプリ名となります。言語圏によってプロジェクト名を変更したい場合は、プロジェクト設定のダイアログでapplication/nameを新しく設定し、ロケールの識別子と紐付けてください。

画像

ロケールの識別子についてはこのリストを見てください。

Add a Comment

メールアドレスの入力は任意です。(公開されることはありません)