# Vue: Gestion des pluriels et des branches
URL: https://generaltranslation.com/fr/docs/vue/guides/handling-plurals-and-branches.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Comment traduire du contenu Vue fondé sur le nombre et des conditions avec `<Plural>` et `<Branch>`.

Les paramètres régionaux peuvent exiger des formes du pluriel et des formulations différentes selon une condition. Représentez chaque alternative finie dans des emplacements nommés afin que la CLI puisse extraire chaque phrase complète.

Utilisez [`<Plural>`](/docs/vue/reference/components/plural) lorsqu’un nombre détermine la formulation à utiliser. Utilisez [`<Branch>`](/docs/vue/reference/components/branch) pour les états, les forfaits, les valeurs booléennes et d’autres valeurs nommées.

## Choisir des pluriels ou des branches [#choose]

* Utilisez [`<Plural>`](/docs/vue/reference/components/plural) lorsqu’un nombre détermine la formulation.
* Utilisez [`<Branch>`](/docs/vue/reference/components/branch) lorsqu’une autre valeur détermine la formulation.
* Placez l’un ou l’autre de ces composants dans [`<T>`](/docs/vue/reference/components/t) afin que chaque emplacement nommé appartienne à l’entrée traduite.
* Utilisez l’emplacement par défaut comme contenu de secours pour une catégorie ou une branche non reconnue.
* Encapsulez les valeurs d’exécution de chaque formulation avec [`<Num>`](/docs/vue/reference/components/num), [`<Var>`](/docs/vue/reference/components/var) ou un autre composant de formatage.

## Gérer le pluriel avec `<Plural>` [#plural]

Transmettez le décompte via `:n` et fournissez des emplacements nommés pour les catégories utilisées par le paramètre régional source :

```vue
<script setup lang="ts">
import { Num, Plural, T } from 'gt-vue';

defineProps<{ count: number }>();
</script>

<template>
  <T>
    <Plural :n="count">
      <template #one>
        You have <Num :value="count" /> message.
      </template>
      <template #other>
        You have <Num :value="count" /> messages.
      </template>
      <template #default>
        You have new messages.
      </template>
    </Plural>
  </T>
</template>
```

[`<Plural>`](/docs/vue/reference/components/plural) combine des remplacements numériques pour les valeurs exactes `0`, `1` et `2` avec les [règles de pluriel Unicode CLDR](https://cldr.unicode.org/index/cldr-spec/plural-rules) du paramètre régional actif. L’anglais utilise généralement les catégories `one` et `other` ; les traductions dans les langues cibles peuvent comporter d’autres catégories, telles que `zero`, `two`, `few` et `many`.

Ne modélisez pas la grammaire du pluriel avec `count === 1` ni en ajoutant un suffixe. Ces raccourcis encodent les règles de la langue source plutôt que celles du paramètre régional actif.

## Effectuer un branchement selon une valeur nommée [#branch]

Transmettez une chaîne, un nombre ou un booléen via `:branch`, puis utilisez un emplacement nommé statiquement pour chaque valeur attendue :

```vue
<script setup lang="ts">
import { Branch, T } from 'gt-vue';

defineProps<{ plan: 'free' | 'pro' | 'enterprise' }>();
</script>

<template>
  <T>
    <Branch :branch="plan">
      <template #free>Upgrade to unlock more.</template>
      <template #pro>Thanks for going Pro!</template>
      <template #enterprise>Contact your account manager.</template>
      <template #default>Welcome.</template>
    </Branch>
  </T>
</template>
```

Chaque emplacement est inclus dans le composant [`<T>`](/docs/vue/reference/components/t) englobant, mais seule la branche active s’affiche. Si aucun emplacement nommé ne correspond, [`<Branch>`](/docs/vue/reference/components/branch) affiche l’emplacement par défaut.

## Remplacez les conditions inline [#conditionals]

Un `v-if` inline modifie la structure traduite au moment de l’exécution. Placez plutôt les alternatives finies dans [`<Branch>`](/docs/vue/reference/components/branch) :

```vue
<!-- ❌ Structure à l'exécution masquée à la traduction -->
<T>
  <span v-if="isActive">Active</span>
  <span v-else>Inactive</span>
</T>

<!-- ✅ Chaque phrase est visible lors de l'extraction -->
<T>
  <Branch :branch="isActive ? 'active' : 'inactive'">
    <template #active>Active</template>
    <template #inactive>Inactive</template>
  </Branch>
</T>
```

Les noms d’emplacements doivent être statiques et inconditionnels. Si l’ensemble des alternatives n’est pas fini au build, conservez ce contenu d’exécution hors de [`<T>`](/docs/vue/reference/components/t) ou préservez-le sous forme de [`<Var>`](/docs/vue/reference/components/var) opaque.

## Next steps

- /docs/vue/guides/formatting-variables
- /docs/vue/guides/translating-content
- /docs/vue/guides/translating-strings
- /docs/vue/guides/managing-locales

## Sitemap

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