PR

【無料Unityプラグイン】ローカライズ(言語切り替え)を実装しよう!

Unityでローカライズをしよう! Unity

CSVを配置する

Unityでcsvファイルを読み込みます。

配置場所は「Assets/TedLab/Localization/Resources」に配置します。

csvの配置場所

「localization.csv」に上書きしてしまうとプラグインの更新があった時にさらに上書きされてしまう可能性があるので名前を変えて「localization_〇〇.csv」にしました。

名前を変えておくと本プラグイン更新時に
上書きされる心配もなくなります!

 

あとcsvファイルの名前を変えた方はパス名も変更しておきましょう。
「Assets/TedLab/Localization/Data/TedLab_Localization」というアセットがあるので
名前を変えた場合は自分が追加したcsvファイルの名前に変更しておきます。

パスを変えておく

TedLab_Localizationファイルも上書きされないように

複製(選択してCommand+D)して新しく用意してもOKです。

 

マネージャを配置する

ローカライズするためにはcsvファイルを読み込んで
管理するプレハブをシーンに配置する必要があります。

下記の「Assets/TedLab/Localization/Prefab/LocalizationManager」プレハブをシーンに配置してください。

prefabの場所

このプレハブはデフォルトで常駐になるようになっているので
必ず最初に通過するシーン(タイトルなど)に配置しておけばどのシーンでも使えるようになります。

また後述しますが、別の常駐オブジェクトの子として設定する場合を考慮してこの機能はOFFにすることも可能です。

 

マネージャへの設定

先ほど配置したマネージャのプレハブですが
設定項目について説明したいと思います。

マネージャを設定

  • Localization Data
    先ほど配置したcsvファイルへのパスを設定したものです。
    もしここで複製したものをご自身で作られた方はこちらも変更してください。
  • Dont Destroy On Load
    どのシーンでも利用できるようにする設定です。
    すでに常駐の専用プレハブがあってそこにぶら下げたい方はOFFにすれば配置可能です。
  • Default Langauge Name
    特定の言語をデフォルト言語にしたい場合に設定します。(csvの言語名)
    「Override System Langauge」が有効の場合は無効になります。
  • Override System Langauge
    スマホなどのシステムでの言語を自動的に設定する設定です。
    特定の言語を確認したい時以外は基本ONにしておくと良いかと思います。

これでマネージャ側の設定は完了です。
次はテキストUI側にキーを埋め込んでいきます!

 

テキストUIへの設定

言語に合わせて自動で変更するために下記のようにご自身が利用しているテキストを表示しているUIに「LocalizationTextUI.cs」を追加してください。

テキストUIにキーを設定

そして各項目に設定を行います。

  • Ref Text
    利用しているものがTextコンポーネントの場合は
    コンポーネントをドラッグ&ドロップしてこちらに設定してください。
  • Ref Text Pro
    Text Mesh Pro UGUIを利用されている方は
    コンポーネントをこちらにドラッグ&ドロップして設定してください。
  • Key
    CSVファイルで作成したIDを表示した箇所に合わせて設定していきます。

これをご自身が利用しているテキストUI全てに
設定してあげると準備は完了です!

 

 

動作を確認する

すぐに確認したい場合はマネージャの「Default Langauge Name」を「English」などに変更してあげるとすぐに確認できるかと思います。

私の場合は設定画面にボタンを用意してマネージャに言語設定を行う形で対応しました。
こんな感じです。

この仕組みだとリアルタイムにも切り替わるので
確認しやすいです!

 

スクリプトから言語を変更する

ちなみに言語をスクリプトから変えたい場合は
csvファイルに設定した言語名を指定して変更することができます。

TedLab.LocalizationManager.Instance.SetLangauge(“English”);

ボタンなどのイベントからでも設定できるので簡単です!

 

最終データでCSVファイルを更新する

最後に今回作成したスプレッドシート「仮のCSVファイル」をご自身のゲーム用にテキストに差し替えて.csvファイルを出力→Resourceフォルダのcsvと置き換えてください。

一度動作確認ができたら仮データは不要なので
ご自身のゲーム用に差し替えましょう!

 

活動内容のPR

下記が本サイトでの活動内容となります。

他の開発動画を見る

 

最後に

いかがでしたでしょうか。
今回はローカライズの仕組みを導入する方法をお伝えしました。

これでこれまで敬遠していた言語切り替えを対応していけそうです。
この仕組みを使ってまず1つアプリを言語対応していこうと思います。

また手が空いた時にローカライズする手順なども
動画にしていきたいと思います。

 

もし本プラグインに問題などありましたらここのコメントいただけましたら幸いです。
ではここまで本記事をお読みいただきありがとうございました。

コメント

スポンサーリンク
タイトルとURLをコピーしました