多言語に対応するアセットLeanLocalizationでTextMeshProを使うための設定を、自分用に記録。

1インポートと同時に、使いたいフォントも用意しておく。
2ゲームオブジェクトを作りインスペクターから、Lean Localizationをアタッチする。
3Localization>Languagesのプレファブから、使いたい言語を選んで、、、

4先ほど作ったゲームオブジェクトの子要素にする。
5Lean LocalizationインスペクターのTranslations欄に、適当な名前を入れてAddボタンを押す。

6するとゲームオブジェクトの子要素として、作ったばかりのMyPhraseOneというオブジェクトができている。

7 MyPhraseOneのTextに言葉を入れる。
*次の言語を入れた後、Modify>Auto Translateで翻訳してくれる。

8キャンバスを作り、TextMeshProでテキストを入れる。フォントのアセットを作るの忘れずに。
8−2下のようにアセットを作る
9適当な文章を入れ、LeanLocalizedTextを入れるとエラー。ちなみにUItextならエラーなし。この対応はディベロッパーさんが動画を出していたので、従う。

10、、とその前に、Yes, you just need to install the TextMeshPro package inside the Lean/Localization folder. という説明なので、
TextMeshProパッケージをLean/Localization folderに入れておく。
11 Localization > Scripts > Behavioursの中にあるLeanLocalizedTextを編集するのだが、このまま編集するとUnityの不都合でエラーになるそう。なので、このスクリプトをどこかに移す。下記の場合は、アセットのすぐ下に。
12using UnityEngine.UI をusing TMPro に変更
あとはエラーが出ている箇所を2番目の画像のように変える Text > TMP_Text
13今度はエラーなく、LeanLocalizedTextをアタッチできる。
14同じコンポーネント内の Listから、先ほど作ったMyPhraseOneを選ぶ

15これで再生する。2で作ったゲームオブジェクトのLeanLocalizationのListで言語を変換できる。(ボタンで言語を変更、言葉と画像を変更など、もちろん可能)
**日本語を選ぶと、四角。これはフォントがないから。

16TextMeshProでメインで使ってるフォントをクリックして、、
17FallbackFontのところに、日本語のフォントを入れる。これで足りないフォントをカバー。

18これで基本設定が終わり。ここから、ボタンつけたり、色々と。

ローカライズにも色々と方法があり、いくつか試していた。
UnityのローカライズパッケージもPackage Managerからインポートできる。項目が盛りだくさん^^;
今回試したLeanLocalizationは、機能がもっとシンプルといった印象。
これ以降CSVファイルを使うとかを勉強していきたい、とは思う^^;
公式のサイト
You must be logged in to post a comment.