Unity エディターでローカライズ品質をチェック

ローカライズの問題を、
プレイヤーより先に見つける。

すべての言語に、試運転を。

Localization Checker は、Unity の多言語 UI を検査するツールです。テキストのはみ出しや重なり、フォントにない文字、プレースホルダーやリッチテキストのエラー、未翻訳のテキストを見つけます。選択した言語と解像度を1 回のスキャンで検査し、ゲームの実行中に生成・更新される画面はプレイモードで確認できます。

既存の翻訳を検査するツールであり、翻訳や文章の書き換えは行いません。

Unity Asset Store · 近日公開Tuanjie Store(中国) · 近日公開itch.io · 近日公開 ドキュメントを読む(英語・簡体字中国語)

Unity 2022.3 LTS 以降(Unity 6 を含む)と Tuanjie Engine 2022.3 に対応します。TextMeshPro と従来の UI Text のテキストを検査できます。UI Toolkit のテキストは Unity 6 でのみ検査できます。

1 回のスキャンで、すべての言語を確認。

  1. プラグインウィンドウの上部。翻訳ファイル、スコープは「開いているシーン」、チェックする言語、テキストの言語は en、解像度は 1920x1080。

    翻訳を読み込み、言語と解像度を選ぶ

  2. すべての言語 × すべての解像度 × 5 種類のチェック

    スキャンは 1 回

  3. スキャン後の概要マトリクス。行は de、ja、(言語なし)、Sources、列ははみ出し、足りないグリフ、プレースホルダー、リッチテキストタグ、翻訳。ドイツ語のはみ出し 2 件と日本語の足りないグリフ 15 件が赤いセルで示されています。

    どの言語にどの問題があるか、1 つの表で

  4. シーンビューのヒートマップ。Demo のメインメニューのタイトルとボタンに番号付きの色枠が付き、凡例は 1(はみ出し)から 5(はみ出し寸前)まで。

    自分の UI の上に、問題の種類ごとに番号付きで表示

こんな問題が見つかります

Unity のシーンビュー。ドイツ語の終了ボタンのラベル「Spiel beenden」がボタンからはみ出しており、テキスト全体を囲む赤い枠が表示されている。「de · Text overflows · 1920x1080」のラベルが付いている。
ドイツ語の終了ボタンの文字が収まりません。プラグインが Unity で実測したはみ出しを示しています。
スキャン後の問題一覧。「星明かりの物語」「スタート」などの日本語テキストが Critical の「Missing glyphs」として 1 件ずつ並び、それぞれに Engine Metadata と ja が表示されています。
Demo のフォントでは表示できない日本語。1 回のスキャンで、テキストごとに 1 行ずつ一覧になります。

1 つのボタン、9 言語

Unity のシーンビュー。ドイツ語の終了ボタンのラベル「Spiel beenden」がボタンからはみ出しており、テキスト全体を囲む赤い枠が表示されている。「de · Text overflows · 1920x1080」のラベルが付いている。

英語を含む 9 言語の表示を再現したブラウザーアニメーションです。ドイツ語のテキストは枠からはみ出し、サンプルのフォントには中国語・日本語・韓国語のグリフが不足しています。診断枠とタグで両方の問題を示します。

足りない文字をフォント別に一覧

スキャン後の概要。言語 × チェック項目の表では日本語の Missing glyphs が 15 件。Language coverage では Lato SDF に日本語の文字がまったくないことが示され、「The scan’s missing characters by font」には Lato SDF.asset に足りない 56 文字と「Copy for Font Asset Creator」ボタンが並んでいます。
概要では、足りないグリフを言語ごとに集計し、どのフォントアセットがどの言語をカバーしているかを示し、足りない文字をフォント別に一覧にします。ワンクリックで Unity の Font Asset Creator に貼り付けられる形でコピーできます。

検査できること

  • テキストのはみ出しとレイアウト

    Unity のテキストエンジンで、UI のコピーを選択した言語・解像度ごとに計測します。はみ出し、テキストの切り詰め、Auto Size によって文字が小さくなりすぎる問題を検出します。対応するテキストコンポーネントでは、文字が収まる最大のフォントサイズ、Auto Size、折り返しなどの修正案もエンジンで試して提案します。

  • フォントにない文字とカバー率

    指定したフォントとフォールバックフォントでテキストを表示できるか検査します。内蔵の言語別文字セットを基準にフォントのカバー率を確認し、不足する文字をコピーして Font Asset Creator で使えます。Steam がフルサポートする言語のプリセットも用意しています。

  • プレースホルダー、タグ、翻訳

    プレースホルダーの欠落や変更、閉じられていないリッチテキストタグや誤った入れ子、翻訳の欠落や空欄、TODO マーカーを検出します。文字化けが疑われる箇所や原文と同じ翻訳は、確認が必要な項目として示します。ローカライズの仕組みに組み込まれていない、ハードコードされた UI テキストも見つけます。

  • プレイモードで画面を検査

    実行中のゲームで調べたい画面を開き、Localization Checker ウィンドウをアクティブにして F8 を押します。パトロールはプロジェクトのローカライズシステムで選択した言語を順に切り替え、表示中の UI を検査して言語ごとにスクリーンショットを撮影します。実行時に生成された UI も検査できます。

概要から個々の問題まで

言語別・検査項目別のマトリクス、Canvas ごとのホットスポット、言語別のフォントカバー率、フォントごとの不足文字を表示した Localization Checker の概要画面。
言語と問題の種類を比較し、影響を受ける画面とフォントのカバー率を確認できます。
重大度順に並んだ問題一覧で、ドイツ語の終了ボタンを選択している。シーンビューでは「Spiel beenden」のテキスト境界が枠で示されている。
問題を選択して、該当するオブジェクトを特定できます。プレビューに対応したスキャン結果では、翻訳を適用した表示も確認できます。
問題のあるテキストコンポーネントを番号付きの枠で示したシーンビューのヒートマップ。枠は問題の種類ごとに色分けされている。
ヒートマップで、UI のどこに問題があるかを確認できます。

プロジェクト内での動作

  • スキャンでは、非表示のプレビューシーンで UI のコピーを計測し、元のシーン、プレハブ、アセットを変更・保存しません。シーンビューのプレビューでは表示テキストを一時的に差し替え、終了後に元に戻します。プレビューとプレイモードでのパトロールの影響については、マニュアルをご確認ください。
  • エディター専用で、ビルドには何も含まれません。サードパーティの DLL は使わず、ネットワークにも接続しません。C# のソースコードをすべて同梱しています。
  • Unity Localization や I2 Localization のほか、自前の CSV、Excel、JSON、XLIFF、gettext PO ファイルにも対応します。プラグインの画面とドキュメントは英語と簡体字中国語で提供します。
  • 問題一覧は CSV またはオフラインで開ける HTML レポートに書き出せます。CI(継続的インテグレーション)向けのコマンドラインもあります。