スキップしてメイン コンテンツに移動

Godot Engineでローカライゼーション

Godot Engineでローカライゼーションする方法について。

ドキュメントにはスクリプトを使う方法とタイトルを変更する方法、リソースを変える方法は乗っているんですが、スクリプトを使わずにGUIノードのローカライズをする方法が乗っていなかったのでDiscordで聞いてきました。

テキストの準備

UTF8エンコーディングのcsvを用意します。下記のような感じで書いていきます。

,jaJP,en
KEY_HELLO,こんにちは,hello

読み込んでおく

Project > Project Setting > ローカライズタブ > 追加...でCSVのフォルダにある*.translationを追加する。

ここで、*.csvを指定すると上手く動きません。ちょっとハマりました。

適応する

スクリプトを使う方法

下記コードでOKです。
tr("KEY_HELLO")

GUIの文字列に対してスクリプト使わない方法

今回の本題。実はなにもしなくても、デフォルトで変換されます。
GUIノードのTextプロパティにキー(上のCSVの場合は、KEY_HELLO)をそのまま指定するだけで大丈夫でした。

どうやら当初言語指定が間違っていたみたいで(Fallbackの指定がja_JPなのに、csv上はjaとしか書いていなかった)、動いていなかったようです。

タイトルを変える方法

こちらも、キーのみを記述すればタイトルが変わります。

コメント

このブログの人気の投稿

Godot EngineでHUD表示

3D空間に2DUIの表示についてのメモ。 Viewportノードを作成し、その下に表示したい2D UIを作る: そして表示用のMeshInstanceも作成しておく。メッシュはQuad、マテリアルはMaterialOverrideに下のような感じに設定する: そして、最後に_ready( )に以下のコードを使用: # 名前とかは適宜変えてね func _ready( ):     $MeshInstance.material_override.albedo_texture = $Viewport.get_texture( ) 上下反転しているときは、テクスチャをFilpYするか、ViewportのRenderTarget/VFlipをtrueにすると直る。 Viewportにはスクリーンサイズを設定するところがあるので設定しわすれないように注意する。背景を透明化するときは、TransparentBgをtrueにする。 サンプルのGui in 3dでも使われている、ViewportTextureというのがあったけど、これはBillboardをtrueにすると上手く動かなかった。サンプルでは3Dで描画してたが、今回は常にこっちを向かせたかった。

Godot 溶岩シェーダー

Godot Engineで溶岩シェーダーを書きました。 https://bitbucket.org/arlez80/godot-magma-shader/src ぐるんぐるんの炎魔法用なので、ホントは溶岩ではないのですが、たぶん溶岩用に使うのが一番使いやすいと思います。 (動いているものはツイートしてます。 こちらで確認 できます。) 溶岩自体の色は赤で固定ではありません。シェーダーの引数にcolorというのがあって、それにGradientTextureを指定すると良い感じで色を変更できます。

Godot Maze Generator公開しました

ぐるんぐるんするゲーム、ぐるんぐるん(仮)を作っています。 そこで、自動で3Dダンジョンを生成するプログラムを作ったのですが、それだけを切り離して公開しました。 https://bitbucket.org/arlez80/godot-maze-generator 部屋を分離してダンジョンを生成します。あとはGridMapなんかを使ってダンジョンを3Dモデル化して使います。 生成したマップのサンプル: こんな感じになります。