PR

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

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

おおまかな実装手順

流れとしては

  1. プラグインを追加
  2. マネージャーPrefabを配置(常駐)
  3. localization.csvを作成してプロジェクトに追加
    (ここではGoogleスプレッドシードで作る)
  4. 既存のUIテキスト部分にコンポーネントを追加
  5. コンポーネントにcsvファイルで指定したキー(ID)を設定していく
  6. ゲームに合わせて言語切り替えの実装
  7. 文字が変更されることを確認する

となっています。

こうやってみると長そうですが、とてもシンプルで簡単な実装です

ひとつずつ説明するのでご安心ください

 

プラグインをインストール

まずは「TedLab_Localization.unitypackage」をダウンロードしてください。

該当ファイルをクリックすると「Download」というボタンが表示されるのでそれをクリックしてください。

 

.unitypackageの追加方法

プロジェクトに追加する方法はこちら

追加できたらTedLabというフォルダが
Assetsフォルダに作成されると思います!

 

ローカライズファイル(.csv)を作成

ここではGoogleスプレッドシートを使ってCSVを作成します。

基本的にはエクセルと同じようなものなので
エクセルを使ってCSVを出力できる方はそちらでもOKです!

 

シートを作成

ご自身のGoogleアカウントでログインして前述のURLにアクセスすると
下記のような画面になるので「空白」を押して新しいシートを作成しましょう。

シートを作成

 

翻訳リスト(仮)を作成

では翻訳のリストを作成していきます。
まずは下記を真似て、リストを作成してください。
※画像では見やすいように色や枠を変更していますが本来は不要です

翻訳リストを作る

まずは動作を確認するため仮で作成していきます。

各要素については説明していきたいと思います。

 

Key(キー)の解説

まずローカライズ機能を追加する時は「キー(Key)」と呼ばれるIDが必要になります。

例えばゲーム上のUIテキストに直接テキストを入れてしまうと言語を切り替えてもそのまま設定した文字が表示されてしまいます。なのでその代わりに

先ほど紹介した「Key」の文字列を設定してあげて
自動で言語に応じた文字が設定されるようにしてあげます。
※特に制約はありませんが、キー名は英語で指定する方がより安全です

上記の場合だと「Sample2」を指定すると日本語設定だと「スタート」、英語だと「Start」に自動で変化するようになります!

 

言語の増やし方

言語については先ほどの例では2言語(日本、英語)しかありません。

ほかにもスペイン語、フランス語、中国語などさまざまな言語を追加したいと思うのですが
その際はUnityの言語ID名と同じ文字列で新しい列をシートに追加してください。

このプラグインではスマホなどのシステム言語を参照してきて自動で切り替える機能なども入ってるのでID名を合わせておくと便利です。

イタリア語を追加したい場合は「Italian」という列を追加して
「English」や「Japanese」と同様に文字を入力してください

 

シートを作る時の注意点

現在シートを作る時の注意点は

  • 文字の中に改行などを入れない
    (必ず1行にする、改行にしたい場合は<br>タグなどを用いる)
  • 1つも翻訳するものがないcsvは読み込めない

などがあります。

読み込みでうまくいかなくなるので
上記にご注意ください

 

CSVを出力する

ローカライズのリストが完成したら、スプレッドシートを.csvで出力します。

csvを出力する

  1. まず「ファイル」を選択
  2. ダウンロードを選択
  3. カンマ区切りの値(.csv、現在のシート)を選択

となります。

これでダウンロードされればcsvファイルは完成です!

 

次のページ

次は実際にUnityでcsvファイルを配置して読み込んでいきたいと思います。

コメント

スポンサーリンク
Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました