技術ブログ

【Unity】タイトルロゴなど画像を端末の言語に合わせてローカライズ する

前書き

以前Textコンポーネントを端末の設定言語に合わせて翻訳する方法を紹介しましたが、そのスクリプトを少し改変するだけでテキスト以外もローカライズすることができます。
今回はタイトルロゴを例にImageのローカライズ方法を解説します。
↓Textのローカライズ方法はこちら↓

【Unity】端末の言語を取得して自動でローカライズする方法【5分で実装】前書き 日本以外にも簡単に世界中でリリースできる今時代に必須技術である外国語対応。 今回はその中でも特にユーザーフレンドリーな、端末...

実装

基本的に方法はテキストと同様です。

「LocalizeImage.cs」といいうC#ファイルを作り、以下のコードをコピペしてください。

    [SerializeField]
    Sprite img_Jp, img_En, img_Other;

    void Start()
    {
        //テキストコンポーネントを取得
        Image image = GetComponent<Image>();

        //端末の設定言語を取得して分岐する
        switch (Application.systemLanguage)
        {
            case SystemLanguage.Japanese:
                //日本語の場合
                image.sprite = img_Jp;
                break;
            case SystemLanguage.English:
                //英語の場合
                image.sprite = img_En;
                break;
            default:
                //上記以外の言語の場合
                image.sprite = img_Other;
                break;
        }
    }

そして上のファイルをTextが付いているオブジェクトにアタッチします。

すると以上のように表示されるので、各言語ごとに表示したい画像(Sprite)をセットすれば完了です。

確認

実機に書き出して確認してみましょう。

このようにiPhoneの言語設定を変更してアプリを起動すると、設定した言語のSpriteが表示されます。

↓役に立ったらシェアしてね↓