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

    Plural Localization フォーマッター

    言語によって、名詞や単位表現の複数形 ("hour" と "hours" など) の扱い方は異なります。 英語のように 2 つの形式がある言語もあれば、形式が 1 つしかない言語も、3 つ以上ある言語もあります。Plural Localization Formatter (Plural Localization フォーマッター) は、Unicode の Common Locale Data Repository (共通ロケールデータリポジトリ) (CLDR) の方式に従って複数形を処理します。

    CLDR では、以下の複数形のカテゴリに、短いニーモニックタグが使用されます。

    • zero
    • one (単一)
    • two (双数)
    • few (小数)
    • many (別のクラスがある場合は分数にも使用される)
    • other (必須 - 一般的な複数形 - 形式が 1 つしかない言語の場合にも使用される)

    Plural Localization フォーマッターは、異なるテキストの選択にあたって 基数詞の 複数形化規則をサポートしています。ロケール毎の 複数形化の規則 の完全なリストは こちら に提供されています。

    Smart String の構造と、各部がどのように評価されるかを示した図

    Plural Localization フォーマッターは、Smart String が属する String Table のロケールを使用して、適用する複数形化規則を決定します。ロケールは Format Option でオーバーライドできます。例えば English (英語) を強制するには、Format Option に (en) を設定します。: {0:plural(en):is 1 item|are {} items}

    ノート: プレースホルダー {} は、現在の値を用いるための簡潔表現として使用できます。

    ノート: Plural フォーマッターは IEnumerable の値に対して使用することができます。この場合、IEnumerable カウントの Count が plural の値として使用されます。

    Smart String の例 引数 結果
    I have {0:plural:an apple|{} apples} English Locale:

    10
    I have 10 apples
    {0} {0:банан|банана|бананов} Russian Locale:

    1
    1 баzнан
    {0:p:{} manzana|{} manzanas} Spanish Locale:

    2
    2 Manzanas
    The following {0:plural:person is|people are} impressed: {0:list:{}|, |, and}.
    new[] { "Bob", "Alice" }
    
    The following people are impressed: bob, and alice.
    new[] { "Mohamed" }
    
    The following person is impressed: Mohamed.
    トップに戻る
    Copyright © 2023 Unity Technologies — 商標と利用規約
    • 法律関連
    • プライバシーポリシー
    • クッキー
    • 私の個人情報を販売または共有しない
    • Your Privacy Choices (Cookie Settings)