docs.unity3d.com
    目次を表示する/隠す

    メソッド

    Pseudo-Localization Method (疑似ローカライゼーションメソッド) は、Pseudo-Localizer がアプリケーション内のテキストに変更を加えるために使用するメソッドです。全てのメソッドは、ローカライゼーションに関わる特定の種類の問題を発見するのに役立つように設計されています。

    以下の表は、各メソッドの出力を示したものです。

    メソッド 出力 説明
    未適用 This is an example string. The quick brown fox jumps over the lazy dog. Pseudo-Locale Method を適用する前のプレーンテキストです。
    Preserve Tags Ţĥîš îš åñ <color=red>éẋåɱþļé</color> šţŕîñĝ· Ţĥé ǫûîçķ ƀŕöŵñ ƒöẋ ĵûɱþš öṽéŕ ţĥé ļåžý ðöĝ· Preserve Tags は、文字列内の開始タグと終了タグを保持し、タグが後続の Pseudo Localization Method によって変更されないようにします。デフォルトでは、XML/リッチテキストタグ (< and and with > で始まるタグ) が保持されます。
    Character Substitutor _________________________
    ____________________________
    ______________________
    Character Substitutor は、文字列内の文字を他の文字に置き換えます。この例では文字が下線に置き換えられています。このメソッドは、UI 内にハードコードされているためにローカライゼーションシステムを経由しないテキストの発見に役立ちます。
    Accenter Ţĥîš îš åñ éẋåɱþļé šţŕîñĝ· Ţĥé ǫûîçķ ƀŕöŵñ ƒöẋ ĵûɱþš öṽéŕ ţĥé ļåžý ðöĝ· Accenter は、全ての文字をアクセント付きバージョンに置き換えます。このメソッドは、フォントがサポートしていない文字を特定したり、アクセント付きテキストが領域内に収まらない可能性がある箇所を特定するのに役立ちます。
    Encapsulator [This is an example string. The quick brown fox jumps over the lazy dog.] Encapsulator は、各文字列を囲む角括弧です。これは、テキストが切れている箇所や連結されている箇所の特定に役立ちます。
    Expander This is an example string. The quick brown fox jumps over the lazy dog.,rAR]/GDcU;"K9X&-l%Nj\ Expander は、ローカライゼーションの結果のテキストの (長さの) 拡張をシミュレートします。これは、文字列が長くなる言語に十分なスペースがない箇所や、テキストが切れてしまう可能性がある箇所の特定に役立ちます。
    Mirror .god yzal eht revo spmuj xof nworb kciuq ehT .gnirts elpmaxe na si sihT Mirror は文字列を反転させます。デザイン変更の際にこれを使用することで、右書き言語を表示した時の UI の見た目をシミュレートできます。

    メソッドは組み合わせることもできます。Pseudo-Localization システムは、これらのメソッドを、Methods リストに表示されている順に 1 つずつ適用します。例えば、デフォルトの Pseudo-Locale アセットには Accenter、Encapsulator、Expander が含まれており、結果は以下のようになります。

    [Ţĥîš îš åñ éẋåɱþļé šţŕîñĝ· Ţĥé ǫûîçķ ƀŕöŵñ ƒöẋ ĵûɱþš öṽéŕ ţĥé ļåžý ðöĝ·,ŕÅŔ⁆⁄ĜÐçÛ⁏″Ķ⑨Ẋ⅋‐ļ‰Ñĵ∖]

    Preserve Tags

    Preserve Tags メソッドは、後続のメソッドがその条件に一致するテキストを修正しないようにします。条件は、Opening の値で開始して Closing の値で閉じるタグで定義されます。Opening の値と Closing の値に挟まれたテキストが "読み取り専用" としてマークされ、後続の Pseudo-Localization Method によって修正されないようになります。これは、XML や Rich Text その他のタイプのタグが Pseudo-Localization によって修正されないようにするために役立ちます。

    Preserve Tags の Inspector ビュー

    プロパティ 説明
    Opening タグの始まりを示す、先頭の文字です。
    Closing タグの終わりを示す、末尾の文字です。

    Character Substitutor

    Character Substitutor は、文字列内の個々の文字を置き換えます。

    Character Substitutor の Inspector ビュー

    プロパティ 説明
    Substitution Method: Substitution Method ドロップダウンメニューは、置換方法 (To Upper、To Lower、List、Map) の指定に使用します。
    To Upper この文字列のコピーを大文字に変換して返します。
    To Lower この文字列のコピーを小文字に変換して返します。
    List この文字列のコピーを返しますが、文字列内の文字を、Pseudo-Localization Method の Replacement List で定義された文字に置き換えます。ハードコードされたテキストを見付けやすくするには、全ての文字に 1 つの項目を使用することが推奨されます。
    • List Mode
    List Mode ドロップダウンメニューには以下の 3 つのオプションが含まれています。
    • Random: 元の文字をリスト内のランダムな文字に置き換えます。
    • Loop From Previous: 元の最初の文字をリスト内の最初の文字に置き換え、元の 2 番目の文字をリスト内の 2 番目の文字に置き換えます (3 番目以降も同様)。これは複数の文字列にわたって実行されます。リストの末尾に到達するとリストの先頭から再び開始されます。
    • Loop From Start: 元の最初の文字をリスト内の最初の文字に、元の 2 番目の文字をリスト内の 2 番目の文字に置き換えます (3 番目以降も同様)。これは複数の文字列にわたっては実行されません。リストの末尾に到達するとリストの先頭から再び開始されます。
    • Replacement List
    Replacement List には、Character Substitutor が文字列内の元のテキスト文字を置き換えるために使用できる全ての文字が含まれます。 Size を使用して、置換後の文字として使用可能にする文字の数を設定できます。Element テキストフィールドには、使用したい文字を手動で入力できます。
    • Add Typical Character Set
    Replacement List に特定の言語で一般的に使用されている文字を追加するには、Add Typical Character Set ドロップダウンメニューから言語を選択してください。これは特に、不足している文字セットに関してフォントをテストするのに役立ちます。
    Map この文字列のコピーを、文字列内の特定の文字をユーザー定義の文字に置き換えた状態で返します。例えば、全ての小文字の e を大文字の E に置き換えるように指定したりすることができます。
    • Replacement Characters
    Replacement Characters リストを使用して、どの文字を何に置き換えるかを指定します。

    特定の置換を追加するには、Replacement Characters 折り畳みメニューを開き、テーブルのヘッダー内にあるプラス (+) ボタンを選択してください。Original 列に元の文字を入力し、Replacement 列に置換文字を入力します。

    Accenter

    Accenter は、全ての文字をアクセント付きバージョンに置き換えます。これは、アクセント付きテキスト文字が、高さの制限された領域の中に収まるかどうか確認するのに役立ちます。

    Accenter の Inspector ビュー

    プロパティ 説明
    Replacement Characters Replacement Characters リストを使用して、どの文字を何に置換するか指定します。Original 列に元の文字を入力し、Replacement 列に置換文字を入力してください。デフォルトでは、元の文字のアクセント付きバージョンに置き換わるように設定されています。

    これらのテキストフィールドは編集でき、行の隣にあるマイナス (-) ボタンを押すと削除できます。

    Encapsulator

    Encapsulator は、文字列の境界のどちらかの側に文字を追加します。これは複数の文字列を含むテキストの部分部分を視覚的に識別するのに役立ちます。デフォルトでは角括弧が挿入されます。

    Encapsulator の Inspector ビュー

    プロパティ 説明
    Start テキストの文字列の直前に表示する文字を設定します。これはデフォルトでは左角括弧に設定されています。
    End テキストの文字列の直後に表示する文字を設定します。これはデフォルトでは右角括弧に設定されています。

    連結された文字列は、しばしばローカライゼーションの問題を発生させます。理由としては、内容が特定の順序に固定されること (例えば、一部の言語では文章の目的語の前に動詞が来ますが、他の言語では動詞の前に目的語が来ます) 、また一部の翻訳はその前後の内容によって変化する場合があることが考慮されないことが挙げられます。 例えば、"You picked up 1 apple" という文字列は、スクリプト内では以下のように 2 つの文字列から構成される場合があります。

    string PickupItemText(int amount, string itemName)
    {
        string localizedText = LocalizeText("You picked up")
        string localizedItem = LocalizeText(itemName);
        return $"{localizedText} {amount} {localizedItem}";
    }
    

    この場合、疑似ローカライズされた文字列は [You picked up] 1 [apple] と表示されます。この文字列は、異なる文章構造を持つ言語には適切に翻訳されない可能性があります。より良い形で文字列を構築するひとつの方法は、Smart String を使用することです。

    Expander

    Expander は、ローカライゼーションの結果として起こるテキストの拡張をシミュレートします。これは、文字列が長くなる言語に十分なスペースがない箇所と、テキストが切れてしまう可能性が高い問題のある箇所を示します。 一部の言語 (英語を含む) では、長い文字列よりも短い文字列のほうがより拡張することがよくあります。Expander では、この問題をシミュレートするために、文字列の長さに応じて異なる拡張値を指定することができます。また、入力文字列の長さに応じて複数の規則を追加することもできます。

    Expander の Inspector ビュー

    プロパティ 説明
    String Length / Expansion(table) テーブルを使用して、文字列の長さに応じて文字列に追加する文字の数を定義してください。String Length の値は文字列内の文字の数を範囲で定義します。Expansion の値は、追加する文字の数を決定する乗数です。例えば、String Length が 0-10 で、この範囲の Expansion が 2 の場合、文字列の長さが 0-10 の全ての文字に 2 を掛け、それを文字列に追加します (したがって 7 文字の文字列の場合はadditional 14 文字が追加されて合計 21 文字になります)。

    デフォルトでは、Expander は以下の値を使用します。:
    • 0 - 10: 2
    • 10 - 20: 1
    • 20 - 30: 0.8
    • 30 - 50: 0.6
    • 50 - 70: 0.7
    • 70+ :0.3

    テーブルに新しい範囲を追加するには、テーブルのヘッダーの隣にあるプラス (+) ボタンをクリックしてください。新しい行の範囲は、直前の行の範囲の末尾から自動的に開始されます。

    どの程度拡張すれば良いか分からない場合は、下記の Guideline expansion values を参照してください。
    Location 追加的な文字を挿入する場所 (文字列の Start、End、あるいはBoth) を定義します。Both を選択すると、Pseudo-Localization システムによって、半分が文字列の先頭に、もう半分が文字列の末尾に適用されます (奇数値の場合は末尾にもう 1 つ追加されます)。これはデフォルトでは End に設定されています。
    Minimum String Length この値を使用して、疑似ローカライゼーション後の文字列の最小の長さを調整できます。Pseudo-Localization システムは、ランタイムで、この値と String Length の値の両方に基づいて文字列の長さを計算し、どちらか大きい方を使用します。
    Padding Characters Padding Characters リストには、Expander が文字列に文字を追加するために使用する全ての文字が一覧表示されます。Size を使用して使用可能な文字の数を定義し、Element テキストフィールドを使用して使用したい文字を手動で入力します。デフォルトでは Size は 93 に設定されており、Expander は全ての大文字、小文字、標準 US キーボードの記号を使用しています。

    Expansion の指針値

    以下の表は、English (英語) から翻訳する場合の Expansion (拡張) 値の指針を示すものです。

    言語 English からの Expansion 値
    Arabic +20% - +25%
    Croatian 15%
    Czech 10%
    Danish -10% - -15%
    Finnish -25% - -30%
    French +15% - +20%
    German +10% - +35%
    Greek 10%
    Hebrew -20% - -30%
    Hindi +15% - +35%
    Italian +10% - +25%
    Japanese -10% - -55%
    Korean -10% - -15%
    Norwegian -5% - -10%
    Polish +20% - +30%
    Portuguese +15% - +30%
    Russian 15%
    Spanish +15% - +30%
    Swedish -10%

    (出典: Andiamo)

    Mirror

    Mirror メソッドは、右書き言語をシミュレートするために入力文字列を反転させます。このメソッドには設定項目はありません。

    Mirror の Inspector ビュー

    カスタムメソッド

    新しい Pseudo-Localization Method を作成するには、IPseudoLocalizationMethod インターフェースを実装してください。Unity によって、Pseudo-Locale アセットの使用可能メソッドのリストにカスタムメソッドが追加されます。

    Pseudo-Locale アセットを適用する

    再生モードを開始すると、ゲームビューの右上の角にドロップダウンメニューが表示されます。これを使用して Pseudo-Locale アセットを使用できます。Pseudo-Locale アセットを選択すると、テキストが、その Pseudo-Locale アセットによって定義された疑似ローカライズ値に置き換えられます。

    テキストが置換される値は Pseudo-Locale アセットの Source Locale Code によって定義されます。例えば、English (en) をソースとして使用する Pseudo-Locale は English の文字列を読み込み、その文字列に疑似ローカライゼーションを適用します。1 つのプロジェクトに複数の Pseudo-Locale アセットを使用して、それぞれをカスタマイズして異なるソースロケールを使用するようにしたり特定の問題をhighlightすることができます。

    トップに戻る
    Copyright © 2023 Unity Technologies — 商標と利用規約
    • 法律関連
    • プライバシーポリシー
    • クッキー
    • 私の個人情報を販売または共有しない
    • Your Privacy Choices (Cookie Settings)