Slide 1

Slide 1 text

Unity Localization で 多言語対応実装しよう 2022/05/13 yokohama unity #10 Denik (@xrdnk) Unity / VR Engineer

Slide 2

Slide 2 text

自己紹介 Denik (@xrdnk) ◼ Unity / VR エンジニア ◼ MyDearest, Inc. ◼ Dyschronia 鋭意制作中

Slide 3

Slide 3 text

Unity Localization (Unity L10N) Unity 公式提供のローカライゼーションパッケージ L10N = L "ocalizatio"(10文字) N なので L10N 似たようなワードとして i18n,g11n,m17n がある 利用場面 ◼ アプリの多言語対応を行いたい ◼ 定型文のような固定テキストの管理を楽にしたい

Slide 4

Slide 4 text

ローカライズ可能な対象 デフォルトで提供 ◼ 文字列 (string) ◼ 画像 (Texture/Sprite) ◼ 音声(AudioClip) 拡張を実装すればどんなアセットファイルでも可能 自作の ScriptableObject にも対応 本発表では主に文字列のローカライズ部分を紹介していく

Slide 5

Slide 5 text

文字列のローカライズ対応の手順 1. ローカライズ文字データをテーブルに設定する 2. どのローカライズ文字データを当てはめるか設定する 3. 言語を変更して確認する

Slide 6

Slide 6 text

String Table Collection ローカライズ文字データの KVS データベース 赤枠の部分を TableEntry と呼ぶ 一意な Key に対して各言語に対応する Value を設定

Slide 7

Slide 7 text

Localize String Event 言語が変わったら自動的にテキスト表示を変更するコンポーネント テキストがあるオブジェクトに基本的に一緒にアタッチする

Slide 8

Slide 8 text

String Reference Table Entry を参照するクラス (AssetReference に近い) String Table Collection で作成した Table Entry を設定する

Slide 9

Slide 9 text

Locale Game View Menu Unity L10N をインストールすると Game View の右上に ロケール(言語)を選択する UI が表示されます Preferences > Localization > Locale Game View Menu の チェックを外すと Game View から表示されなくなります

Slide 10

Slide 10 text

Google SpreadSheet 連携 テーブルデータは CSV または GSS で簡単に連携できます Unity Localization の String Table と CSV ファイル・Google SpreadSheet を連携させる - デニッキ! https://xrdnk.hateblo.jp/entry/unity_localization_google_spreadsheet_

Slide 11

Slide 11 text

Game Object Localizer 各言語によって GameObject の設定を変更することが出来ます 例えばテキストの幅を変える等が出来ます 日本語で縦文字対応する時にも利用できてよいです

Slide 12

Slide 12 text

総括 ◼ Unity L10N 機能紹介 ◼ 文字列のローカライズ対応 ◼ Google SpreadSheet 連携 ◼ ロケールに応じた UI サイズの変更