# gt-react: General Translation React SDK: Composants de branchement conditionnel URL: https://generaltranslation.com/fr/docs/react/guides/branches.mdx --- title: Composants de branchement conditionnel description: Comment utiliser les composants de branchement conditionnel pour gérer du contenu conditionnel dans les traductions --- {/* GÉNÉRÉ AUTOMATIQUEMENT : ne modifiez pas directement. Modifiez plutôt le modèle dans content/docs-templates/. */} Les composants de branchement permettent d’afficher du contenu de manière conditionnelle dans les composants [``](/docs/react/api/components/t). Ils gèrent la logique dynamique, comme les conditions if/else et les règles de pluralisation, tout en garantissant que toutes les variantes de contenu peuvent être traduites correctement. ## Composants disponibles * [``](/docs/react/api/components/branch) : Affiche du contenu conditionnel selon des valeurs ou des états * [``](/docs/react/api/components/plural) : Pluralisation automatique à l’aide de règles propres au paramètre régional ## Démarrage rapide Les composants de branchement s’utilisent dans [``](/docs/react/api/components/t) pour gérer la logique conditionnelle : ```jsx import { T, Branch, Plural, Num, Var } from 'gt-react'; function NotificationPanel({ user, messageCount }) { return ( {user.name} is currently online

} away={

{user.name} is away

} >

{user.name} status unknown

You have {messageCount} message

} other={

You have {messageCount} messages

} />
); } ``` ## Comment fonctionnent les composants de branchement Les composants de branchement gèrent le rendu conditionnel dans les traductions en : 1. **Remplaçant les opérateurs ternaires** et la logique conditionnelle dans [``](/docs/react/api/components/t) 2. **Fournissant un contenu de remplacement** lorsque les conditions ne correspondent pas aux valeurs attendues 3. **Permettant de traduire** toutes les variantes de contenu possibles 4. **Appliquant automatiquement les règles du paramètre régional** pour la pluralisation ```jsx // ❌ Ceci ne fonctionne pas - logique conditionnelle dans

{isActive ? 'User is active' : 'User is inactive'}

// ✅ Ceci fonctionne - logique conditionnelle avec branchement User is active

} false={

User is inactive

} />
``` ## Guide des composants ### Branch - Contenu conditionnel Utilisez [``](/docs/react/api/components/branch) pour tout rendu conditionnel en fonction de valeurs ou d’états : ```jsx // Affichage du statut utilisateur Administrator Dashboard

} user={

User Dashboard

} guest={

Guest Access

} >

Access level unknown

// Conditions booléennes Welcome back!

} false={

Please log in

} />
// Niveaux d'abonnement Upgrade to unlock premium features

} premium={

Enjoy your premium experience

} enterprise={

Contact support for enterprise solutions

} >

Subscription status unavailable

``` ### Pluriel - Gestion intelligente du pluriel Utilisez [``](/docs/react/api/components/plural) pour le contenu qui varie selon la quantité : ```jsx // Pluralisation de base {itemCount} item in cart

} other={

{itemCount} items in cart

} />
// Gestion du zéro No new notifications

} one={

{notifications} notification

} other={

{notifications} notifications

} />
// Pluralisation complexe (suit les règles Unicode CLDR) Due today

} one={

Due in {days} day

} few={

Due in {days} days

} many={

Due in {days} days

} other={

Due in {days} days

} />
``` ### Combiner avec des composants variables Les composants de branchement et les composants variables fonctionnent parfaitement ensemble : ```jsx Order {order.id} is pending. Total: {order.total}

} shipped={

Order {order.id} shipped on {order.shippedDate}

} delivered={

Order {order.id} was delivered successfully

} >

Order status unknown

``` ## Quand utiliser les composants de branchement ### Remplacez les opérateurs ternaires Convertissez la logique conditionnelle afin de l’utiliser dans [``](/docs/react/api/components/t) : ```jsx // ❌ Impossible d'utiliser un ternaire dans {isActive ?

Active user

:

Inactive user

}
// ✅ Utilisez Branch à la place Active user

} false={

Inactive user

} />
``` ### Gérer des conditions multiples Remplacez les instructions `switch` ou les suites de conditions `if/else` : ```jsx // ❌ Logique conditionnelle complexe {status === 'loading' ?

Loading...

: status === 'error' ?

Error occurred

: status === 'success' ?

Success!

:

Unknown status

}
// ✅ Logique de branchement claire Loading...

} error={

Error occurred

} success={

Success!

} >

Unknown status

``` ### Règles de pluriel Remplacez la gestion manuelle des pluriels : ```jsx // ❌ Pluralisation manuelle {count === 1 ?

1 item

:

{count} items

}
// ✅ Pluralisation automatique {count} item

} other={

{count} items

} />
``` ## Utilisation autonome Les composants de branchement peuvent être utilisés en dehors de [``](/docs/react/api/components/t) pour de la logique pure, sans traduction : ```jsx // Rendu conditionnel pur } light={} > // Pluralisation pure } other={} /> ``` ## Problèmes fréquents ### Clés de branche manquantes Fournissez toujours un contenu de remplacement pour les valeurs sans correspondance : ```jsx // ❌ Aucun fallback pour les valeurs inattendues } user={} // Et si userRole est "moderator" ? /> // ✅ Toujours inclure un fallback } user={} > {/* Fallback pour toute autre valeur */} ``` ### Formes du pluriel incomplètes Fournissez les formes du pluriel nécessaires pour votre paramètre régional par défaut : ```jsx // ❌ Forme "other" manquante 1 item

} // Et pour 0, 2, 3, etc. ? /> // ✅ Inclure les formes nécessaires No items

} one={

1 item

} other={

{count} items

} /> ``` ### Logique imbriquée complexe Bien que cela fonctionne, nous vous recommandons de garder une logique conditionnelle simple et d’éviter les imbrications trop profondes : ```jsx // ❌ Imbrication complexe {/* Difficile à lire et à maintenir */} // ✅ Aplatir la logique ou utiliser plusieurs composants } active-offline={} inactive-online={} > ``` Pour en savoir plus sur les règles de pluriel, consultez la [documentation CLDR d’Unicode](https://cldr.unicode.org/index/cldr-spec/plural-rules). ## Étapes suivantes * [Guide de traduction des chaînes](/docs/react/guides/strings) - Traduisez du texte brut sans JSX * [Guide du contenu dynamique](/docs/key-concepts/dynamic-content) - Gérez la traduction en exécution * Références API : * [Composant ``](/docs/react/api/components/branch)