Components

<Plural>

<Plural>コンポーネントのAPIリファレンス

概要

文の活用を処理するために <Plural> コンポーネントを使用します。 「You have one item.」と「You have two items.」の文の違いを考えてみてください。

英語では、アイテムの数に応じて2つの異なる文を定義する必要があります。 他の言語では、最大で6つまで定義しなければならない場合もあります。

const count = 1;
<Plural n={count}
  singular={You have one item.}
  plural={You have some items.}
/>

リファレンス

Props

PropTypeDefault
[key]: string?
string | JSX.Element
-
locales??
string[]
undefined
children??
any
undefined
n?
number
-

[key]: string 構文は、任意のキーが複数形の分岐を表すことを示します。 例えば、singularplural のような分岐をパラメータとして追加できます。

説明

プロップ名説明
n複数形を決定するために使用される数値です。複数形の判定には必須です。
children一致する複数形の分岐が見つからなかった場合に表示されるフォールバックコンテンツです。
localesフォーマットに使用するロケールを指定するためのオプションです。指定しない場合は、デフォルトでユーザーのロケールが使用されます。ロケールの指定方法についてはこちらをご覧ください。
[key]: string複数形を表す分岐です。具体的な分岐はロケールによって異なります。

戻り値

n の複数形に対応するコンテンツ、またはフォールバックコンテンツを含む JSX.Element

例外

n が指定されていない、または有効な数値でない場合は Error をスローします。


どの形を追加すればよいですか?

あなたの言語で複数形のみを使用する必要があります。

利用可能な形は次のとおりです: "singular""plural""dual""zero""one""two""few""many""other"

  • あなたが "en-US" を使用している開発者の場合は、"singular""plural" の2つだけを使用してください。
  • あなたが "zh-CN" の開発者の場合は、"other" のみを使用してください。

さまざまな形についての詳細はこちらをご覧ください。


基本的な使い方

複数形の処理には <Plural> コンポーネントを使用します。

BasicExample.jsx
import { Plural } from 'gt-next';

export default function ItemCount({ count }) {
  return (
    <Plural n={count} 
      singular={You have one item.}
      plural={You have some items.}
    />
  );
}

フォールバック

n に渡された値がどの分岐にも一致しない場合、フォールバックを指定できます。

FallbackExample.jsx
import { Plural } from 'gt-next';

export default function ItemCount({ count }) {
  return (
    <Plural n={count}
      singular={You have one item.}
    >
      You have some items. // [!code highlight]
    </Plural>
  );
}

複数形の翻訳

翻訳するには、<T> コンポーネントを追加するだけです。

PluralExample.jsx
import { T, Plural } from 'gt-next';

export default function ItemCount({ count }) {
  return (
  <T id="itemCount">
    <Plural n={count}
      singular={You have an item.} 
      plural={You have some items.} 
    />
  );
}

変数の追加

複数形の文に変数を追加したい場合はどうすればよいでしょうか?

PluralExample.jsx
import { T, Plural, Num } from 'gt-next';

export default function ItemCount({ count }) {
  return (
    <Plural n={count}
      singular={You have <Num>{count}</Num> item.} 
      plural={You have <Num>{count}</Num> items.} 
    />
  );
}

<T> コンポーネント内では、すべての動的コンテンツを <Currency><DateTime><Num>、または <Var> でラップしてください。

<T id="itemCount">
  <Plural n={count}
    singular={You have <Num>{count}</Num> item.} 
    plural={You have <Num>{count}</Num> items.} 
  />
</T>

注意事項

  • <Plural>コンポーネントは複数形の処理に使用されます。
  • 利用可能な複数形の分岐(例:one、other、few、many)はロケールによって異なり、Unicode CLDR 複数形ルールに従います。

次のステップ

  • さらに多くの例については、ブランチコンポーネントのリファレンスドキュメントをこちらでご覧ください。
  • より高度な使い方として、<Plural><Currency><DateTime><Num><Var>などの変数コンポーネントと組み合わせて使用できます。変数コンポーネントの詳細はこちらをご覧ください。

複数形や分岐についてさらに詳しく知りたい場合は、Using Branching Componentsをご覧ください。

このガイドはいかがですか?