スポンサーリンク
前書き
日本以外にも簡単に世界中でリリースできる今時代に必須技術である外国語対応。
今回はその中でも特にユーザーフレンドリーな、端末の設定言語を取得して自動でローカライズする方法を解説します。
実装
「LocalizeText.cs」というC#ファイルを作り、以下のソースコードをコピー&ペーストしてください。
public class LocalizeText : MonoBehaviour
{
[SerializeField]
string text_Jp, text_En, text_Other;
void Start()
{
//テキストコンポーネントを取得
Text text = GetComponent<Text>();
//端末の設定言語を取得して分岐する
switch (Application.systemLanguage)
{
case SystemLanguage.Japanese:
//日本語の場合
text.text = text_Jp;
break;
case SystemLanguage.English:
//英語の場合
text.text = text_En;
break;
default:
//上記以外の言語の場合
text.text = text_Other;
break;
}
}
}
そして上のファイルをTextが付いているオブジェクトにアタッチします。
すると以上のように表示されるので、各言語ごとに表示したい文面をセットすれば完了です。
これをローカライズしたい全てのTextオブジェクトにアタッチして、それぞれに言語別の文面をセットするだけでゲーム自体の完全翻訳が可能です。
カスタマイズ
対応する言語を増やしたければ、string変数とswitch文の中身を追加するだけでできます。
例(中国語を追加したい場合)
srting変数にtext_Cnを追加
case SystemLanguage.Chinese: text.text = text_Chを追加
↓役に立ったらシェアしてね↓
スポンサーリンク
スポンサーリンク