そういうのがいいブログ

アプリ個人開発 まるブログ

アプリ開発覚え書き

【Unity】多言語化パッケージ Localization 使用する文字を重複無しで簡単に抜き出す方法

はじめに

言語化パッケージのLocalizationを使用し
簡単に使用する文字を抜き出す方法のメモです。

TextMeshProを使用する際、使用する文字をフォントアセットへ登録する必要があります。
重複する文字を登録するのは容量の無駄になるためこれまで下記のサイト様にて
簡単に重複する文字を抜き出していました。

tools.ikunaga.net

Localizationパッケージを使用しているならもっと簡単な方法があるため残しておきます。

手順

Localizationパッケージを使用した文字抽出の手順です。

テキストのテーブルメニューを開きます。
 Unityエディタ上部の「Window」
 →「Asset Management」
 →「Localization Tables」


「Localization Tables」が開いたら
右上の縦に点が3つ並んでいるのボタンを押します。
→「Export」→「Character Set」にて
対応する言語の文字を抜き出すウインドウが表示されます。


あとは対象としたい言語をチェックして「Export Selected」を押すことで
チェックした言語で使用している文字がまとめて出力されます。

中国語で実施してみると・・・


このように使用している重複無しの文字が出力されました。

追加で登録する文字

重複しない文字を抜き出せたといって安心してはいけません。
下記の文字も併せて登録しておきましょう。

基本で入れたい文字

数字やアルファベットはテキストをスクリプトから変更する可能性があるため
下記は基本で入れておきたいところ

ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
0123456789
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

課金商品の通貨記号

課金商品があり、その金額をストア側から取得する場合、通貨記号も併せて表示されます。
フォントに通貨記号を登録していないと課金における重要な情報が
表示されなくなってしまうため忘れずに追加登録しておきましょう。


日本語:「¥」もしくは「円」
中国語:「元」
韓国語:「₩」(ウォン)もしくは「원」(ウォン)


言語別に個別に設定するのが面倒な場合は下記を追加しておけば 対応できると考えています。

¥$€£₪₹₸฿č₺₦₱₫ł₽₩원

追加したい文字をまとめ

追加で登録したい文字は以下になります

ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
0123456789
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
¥$€£₪₹₸฿č₺₦₱₫ł₽₩원


後から追加が面倒なら上記の文字を最初からTextTableに入れてしまえば良さそうですね


こちらを実行中に表示しようとするとエラーが発生するため
文字抽出が終わったら削除等しておいた方がよさそうです。

おわりに

Localizationパッケージは素晴らしい


marumaro7.hatenablog.com