コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】I2 Localization - 基本的な使い方

概要

2014/2/26 に「I2 Localization」がリリースされました

 
「I2 Localization」は高性能なローカライズシステムです
この記事では「I2 Localization」の基本的な使い方を紹介していきます

目次

検証環境

  • Unity 2017.4.7f1
  • I2 Localization 2.8.7 f1

設定方法

f:id:baba_s:20180803165647p:plain

「Resources」フォルダ内の「I2Languages」プレハブでローカライズの設定が可能です

言語の追加

f:id:baba_s:20180803165834p:plain

「Language」タブを選択します

f:id:baba_s:20180803165928p:plain

入力欄に言語名を入力するか、
プルダウンメニューから言語を選択して「Add」ボタンを押します

f:id:baba_s:20180803170044p:plain

これで言語の追加が完了しました

タームの追加

f:id:baba_s:20180803170215p:plain

「Terms」タブを選択します

f:id:baba_s:20180803170339p:plain

「+」ボタンを押して、ターム名を入力して「Create Key」を押します

f:id:baba_s:20180803170655p:plain

すると、タームが作成されます

f:id:baba_s:20180803170505p:plain

そして、言語名の横の入力欄にテキストを入力します

テキストのローカライズ

f:id:baba_s:20180803170843p:plain

Text コンポーネントがアタッチされたオブジェクトを選択して
「Add Component」から「I2 Localize」を選択します

f:id:baba_s:20180803171033p:plain

そして、「Term」のプルダウンメニューから使用したいタームを選択します

f:id:baba_s:20180803171156p:plain

これで、Text コンポーネントが使用するタームの設定が完了しました

ゲーム内の言語の変更

using I2.Loc;
using UnityEngine;

public class Example : MonoBehaviour
{
    private void Update()
    {
        if ( Input.GetKeyDown( KeyCode.Z ) )
        {
            LocalizationManager.CurrentLanguage = "Japanese";
        }
        else if ( Input.GetKeyDown( KeyCode.X ) )
        {
            LocalizationManager.CurrentLanguage = "English";
        }
    }
}

上記のように LocalizationManager.CurrentLanguage を使用することで
ゲーム中の言語を変更することができます

f:id:baba_s:20180803171813g:plain

以上が基本的な使い方になります