# General Translation React SDKs (gt-react, gt-next, gt-react-native): Gestion des pluriels et des branches
URL: https://generaltranslation.com/fr/docs/react/guides/handling-plurals-and-branches.mdx
---
title: Gestion des pluriels et des branches
description: Comment gérer la pluralisation React et le contenu traduit conditionnel avec et .
related:
links:
- /docs/react/guides/formatting-variables
- /docs/react/guides/translating-jsx
- /docs/react/guides/translating-strings
- /docs/react/guides/translating-with-dictionaries
---
Les paramètres régionaux utilisent différentes formes du pluriel : l’anglais utilise généralement `one` et `other`, tandis que certaines langues nécessitent des formes supplémentaires.
Utilisez [``](/docs/react/reference/components/plural) pour les formulations dépendant d’un nombre et [``](/docs/react/reference/components/branch) pour les autres contenus conditionnels.
## Choisir entre pluriels et branches [#choose]
* Utilisez [``](/docs/react/reference/components/plural) lorsqu’un nombre détermine la formulation, par exemple pour le nombre de messages ou les résultats de recherche.
* Utilisez [``](/docs/react/reference/components/branch) lorsqu’un état, un plan, une valeur booléenne ou une autre valeur détermine le contenu.
* Placez l’un ou l’autre de ces composants dans [``](/docs/react/reference/components/t) afin que chaque variante puisse être traduite.
* Encapsulez les valeurs dynamiques de chaque variante dans un [composant variable](/docs/react/guides/formatting-variables), tel que [``](/docs/react/reference/components/num) ou [``](/docs/react/reference/components/var).
Les deux composants fonctionnent de la même manière dans React, Next.js, TanStack Start et React Native. Seul le paquet à importer diffère.
## Gérer le pluriel avec `` [#plural]
Ne construisez pas les pluriels en vérifiant `count === 1` ou en ajoutant un `s` ; cela ne modélise que la grammaire anglaise. Passez le nombre via [`n`](/docs/react/reference/components/plural#n), puis fournissez les formes utilisées par votre langue source. [``](/docs/react/reference/components/plural) sélectionne la forme appropriée selon les [règles de pluriel Unicode CLDR](https://cldr.unicode.org/index/cldr-spec/plural-rules) du paramètre régional actif.
```tsx
import { T, Plural, Num } from 'gt-react';
You have {count} message.>}
other={<>You have {count} messages.>}
/>
;
```
```tsx
import { T, Plural, Num } from 'gt-next';
You have {count} message.>}
other={<>You have {count} messages.>}
/>
;
```
```tsx
import { T, Plural, Num } from 'gt-tanstack-start';
You have {count} message.>}
other={<>You have {count} messages.>}
/>
;
```
```tsx
import { T, Plural, Num } from 'gt-react-native';
You have {count} message.}
other={You have {count} messages.}
/>
;
```
Indiquez les [`catégories de pluriel`](/docs/react/reference/components/plural#form) utilisées par votre langue source — généralement `one` et `other` pour l’anglais. Les traducteurs fournissent les catégories requises par chaque langue cible, qui peuvent inclure `zero`, `two`, `few` et `many`.
Si aucune catégorie ne correspond, [`élément enfant`](/docs/react/reference/components/plural#children) s’affiche comme contenu de secours :
```tsx
One result>}>
{count} results
;
```
## Effectuer une branche selon une valeur avec `` [#branch]
Utilisez [``](/docs/react/reference/components/branch) lorsque le contenu dépend d’une valeur autre qu’un décompte. Passez la valeur via [`branch`](/docs/react/reference/components/branch#branch), ajoutez une [prop pour chaque valeur attendue](/docs/react/reference/components/branch#value) et utilisez [`élément enfant`](/docs/react/reference/components/branch#children) comme contenu de secours.
```tsx
Upgrade to unlock more.
}
pro={Thanks for going Pro!
}
>
Welcome.
;
```
Chaque branche est traduite indépendamment, afin que les traducteurs puissent adapter l’intégralité de sa formulation plutôt que de composer avec une condition JavaScript inline.
### Remplacer les conditions à l’intérieur de ``
Un opérateur ternaire inline rend l’élément enfant de [``](/docs/react/reference/components/t) dynamique et empêche une extraction fiable. Représentez la même condition avec [``](/docs/react/reference/components/branch) :
```tsx
// ❌ Conditionnelle inline
{isActive ? 'Active' : 'Inactive'};
// ✅ Branches traduisibles
Inactive
;
```
*Remarque : [``](/docs/react/reference/components/branch) ignore les attributs `data-*`, car les props non réservées représentent des valeurs de branche. Placez les identifiants de test et les autres attributs de données sur un élément englobant ; la règle de lint [`no-data-attrs-on-branch`](/docs/react/reference/lint-rules#no-data-attrs) signale cette erreur.*
## Next steps
- /docs/react/guides/formatting-variables
- /docs/react/guides/translating-jsx
- /docs/react/guides/translating-strings
- /docs/react/guides/translating-with-dictionaries