# General Translation React SDKs (gt-react, gt-next, gt-react-native): `<Plural>`
URL: https://generaltranslation.com/fr/docs/react/reference/components/plural.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Affiche un contenu basé sur un nombre à l’aide des règles de pluriel du paramètre régional actif. Référence de l’API pour le composant `<Plural>`.

Le composant `<Plural>` modifie sa formulation en fonction d’un nombre afin que la phrase s’accorde avec celui-ci dans chaque langue. L’anglais en nécessite deux (« one item » / « two items »), tandis que d’autres langues peuvent en nécessiter jusqu’à six.

*Disponible dans `gt-react`, `gt-next`, `gt-tanstack-start` et `gt-react-native`.*

## Vue d’ensemble [#overview]

Passez le nombre via `n` et fournissez une prop `child` pour chaque forme du pluriel.

```tsx
<Plural
  n={count}
  one={<>You have one item.</>}
  other={<>You have some items.</>}
/>
```

*Remarque : placez `<Plural>` à l’intérieur d’un [`<T>`](/docs/react/reference/components/t) pour traduire les différentes branches, et encapsulez les valeurs dynamiques qu’il contient dans un composant variable tel que [`<Num>`](/docs/react/reference/components/num).*

## Fonctionnement [#how-it-works]

* **Sélection selon le paramètre régional.** La valeur de `n` est associée à une catégorie de pluriel selon les [règles de pluriel Unicode CLDR](https://cldr.unicode.org/index/cldr-spec/plural-rules) du paramètre régional actif. La branche correspondante est affichée.
* **Branche de secours.** Si la catégorie sélectionnée n’est pas disponible, `<Plural>` utilise `plural`, puis `other`. Il affiche `children` uniquement si aucune branche générique n’existe.
* **Contenu de secours en l’absence de nombre.** Si `n` est absent ou n’est pas un nombre valide, `<Plural>` affiche `children` comme contenu de secours au lieu de générer une erreur.

<Callout type="info">
  **Modifié dans la v11.1.8 :** Les catégories `zero` et `one` manquantes se replient désormais sur
  `plural` ou `other` avant `children`, conformément au comportement existant pour
  `two`, `few` et `many`.
</Callout>

## Quelles formes ajouter [#forms]

Vous n’avez besoin que des formes du pluriel utilisées par votre langue. Les formes possibles sont `zero`, `one`, `two`, `few`, `many`, `other`, ainsi que les alias `singular`, `dual` et `plural`.

* En `en-US`, utilisez `one` et `other` (ou `singular` et `plural`).
* En `zh-CN`, seul `other` est nécessaire.

Consultez les [règles de pluriel du CLDR](https://cldr.unicode.org/index/cldr-spec/plural-rules) pour connaître les formes de chaque langue.

## Props [#props]

| Prop                    | Description                                                                          | Type        | Facultatif | Par défaut               |
| ----------------------- | ------------------------------------------------------------------------------------ | ----------- | ---------- | ------------------------ |
| [`n`](#n)               | Le nombre qui détermine la forme du pluriel.                                         | `number`    | Non        | —                        |
| [`children`](#children) | Contenu de secours final lorsqu’aucune catégorie ni branche générique ne correspond. | `ReactNode` | Oui        | —                        |
| [`locales`](#locales)   | Surcharge du paramètre régional pour les règles du pluriel.                          | `string[]`  | Oui        | Paramètre régional actif |
| [`[form]`](#form)       | Contenu d’une catégorie de pluriel.                                                  | `ReactNode` | Oui        | —                        |

### `n` [#n]

**Type** `number` · **Requis**

Le nombre utilisé pour déterminer la forme du pluriel. S’il est absent ou n’est pas un nombre valide, `<Plural>` affiche `children` comme contenu de secours au lieu de provoquer une erreur.

### `children` [#children]

**Type** `ReactNode` · **Facultatif**

Contenu de secours affiché lorsqu’aucune catégorie exacte, branche `plural` ou branche `other` ne correspond à `n`.

### `locales` [#locales]

**Type** `string[]` · **Facultatif** · **Par défaut** paramètre régional actif

Paramètres régionaux dont les règles de pluriel s’appliquent. Si cette valeur est omise, le paramètre régional actif est utilisé.

### `[form]` [#form]

**Type** `ReactNode` · **Facultatif**

Une prop pour chaque catégorie de pluriel — `zero`, `one`, `two`, `few`, `many`, `other` (ou les alias `singular`, `dual` et `plural`). Les catégories disponibles dépendent du paramètre régional.

## Exemples [#examples]

*Les exemples importent depuis `gt-react` ; importez plutôt depuis le paquet de votre framework.*

```tsx title="BasicExample.tsx"
import { Plural } from 'gt-react';

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

```tsx title="FallbackExample.tsx"
import { Plural } from 'gt-react';

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

```tsx title="PluralExample.tsx"
import { T, Plural, Num } from 'gt-react';

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

## Remarques [#notes]

* `<Plural>` gère la pluralisation en fonction du paramètre régional actif.
* Les branches disponibles dépendent du paramètre régional et suivent les [règles de pluriel Unicode CLDR](https://cldr.unicode.org/index/cldr-spec/plural-rules).
* **Composant associé :** [`<Branch>`](/docs/react/reference/components/branch) gère un branchement arbitraire en fonction de valeurs.

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
