CSVを配置する
Unityでcsvファイルを読み込みます。
配置場所は「Assets/TedLab/Localization/Resources」に配置します。
「localization.csv」に上書きしてしまうとプラグインの更新があった時にさらに上書きされてしまう可能性があるので名前を変えて「localization_〇〇.csv」にしました。
名前を変えておくと本プラグイン更新時に
上書きされる心配もなくなります!
あとcsvファイルの名前を変えた方はパス名も変更しておきましょう。
「Assets/TedLab/Localization/Data/TedLab_Localization」というアセットがあるので
名前を変えた場合は自分が追加したcsvファイルの名前に変更しておきます。
TedLab_Localizationファイルも上書きされないように
複製(選択してCommand+D)して新しく用意してもOKです。
マネージャを配置する
ローカライズするためにはcsvファイルを読み込んで
管理するプレハブをシーンに配置する必要があります。
下記の「Assets/TedLab/Localization/Prefab/LocalizationManager」プレハブをシーンに配置してください。
このプレハブはデフォルトで常駐になるようになっているので
必ず最初に通過するシーン(タイトルなど)に配置しておけばどのシーンでも使えるようになります。
また後述しますが、別の常駐オブジェクトの子として設定する場合を考慮してこの機能はOFFにすることも可能です。
マネージャへの設定
先ほど配置したマネージャのプレハブですが
設定項目について説明したいと思います。
これでマネージャ側の設定は完了です。
次はテキストUI側にキーを埋め込んでいきます!
テキストUIへの設定
言語に合わせて自動で変更するために下記のようにご自身が利用しているテキストを表示しているUIに「LocalizationTextUI.cs」を追加してください。
そして各項目に設定を行います。
これをご自身が利用しているテキストUI全てに
設定してあげると準備は完了です!
動作を確認する
すぐに確認したい場合はマネージャの「Default Langauge Name」を「English」などに変更してあげるとすぐに確認できるかと思います。
私の場合は設定画面にボタンを用意してマネージャに言語設定を行う形で対応しました。
こんな感じです。
簡易ローカライズ機能を作ってみました🔡🦅
シンプルな機能だけですが
カスタマイズもできるし、意外とアリかも🧐#indiedev #gamedev #unity #ゲーム開発 #ゲーム制作 #テッドラボ開発ログ pic.twitter.com/sAQZegYHDS— Tadapy@ゲーム制作とブログと動画 (@tadapy88) August 19, 2021
この仕組みだとリアルタイムにも切り替わるので
確認しやすいです!
スクリプトから言語を変更する
ちなみに言語をスクリプトから変えたい場合は
csvファイルに設定した言語名を指定して変更することができます。
TedLab.LocalizationManager.Instance.SetLangauge(“English”);
ボタンなどのイベントからでも設定できるので簡単です!
最終データでCSVファイルを更新する
最後に今回作成したスプレッドシート「仮のCSVファイル」をご自身のゲーム用にテキストに差し替えて.csvファイルを出力→Resourceフォルダのcsvと置き換えてください。
一度動作確認ができたら仮データは不要なので
ご自身のゲーム用に差し替えましょう!
活動内容のPR
下記が本サイトでの活動内容となります。
最後に
いかがでしたでしょうか。
今回はローカライズの仕組みを導入する方法をお伝えしました。
これでこれまで敬遠していた言語切り替えを対応していけそうです。
この仕組みを使ってまず1つアプリを言語対応していこうと思います。
また手が空いた時にローカライズする手順なども
動画にしていきたいと思います。
もし本プラグインに問題などありましたらここのコメントいただけましたら幸いです。
ではここまで本記事をお読みいただきありがとうございました。
コメント