# gt-react: General Translation React SDK: Composants variables URL: https://generaltranslation.com/fr/docs/react/guides/variables.mdx --- title: Composants variables description: Comment utiliser les composants variables pour gérer du contenu dynamique dans les traductions --- {/* GÉNÉRÉ AUTOMATIQUEMENT : ne modifiez pas ce fichier directement. Modifiez plutôt le template dans content/docs-templates/. */} Les composants variables vous permettent d’inclure en toute sécurité du contenu dynamique dans les composants [``](/docs/react/api/components/t). Ils gèrent localement le formatage et la localisation sans envoyer de données à l’API de traduction, ce qui les rend particulièrement adaptés aux informations sensibles comme les noms d’utilisateur, les numéros de compte et les données financières. ## Composants disponibles * [``](/docs/react/api/components/var): Contenu dynamique brut, sans formatage * [``](/docs/react/api/components/num): Nombres avec un formatage selon le paramètre régional * [``](/docs/react/api/components/currency): Valeurs monétaires avec symbole et formatage * [``](/docs/react/api/components/datetime): Dates et heures selon les conventions du paramètre régional ## Démarrage rapide Les composants variables s’utilisent dans [``](/docs/react/api/components/t) pour gérer le contenu dynamique : ```jsx import { T, Var, Num, Currency, DateTime } from 'gt-react'; function UserProfile({ user }) { return (

Welcome back, {user.name}!

You have {user.itemCount} items.

Balance: {user.balance}

Last login: {user.lastLogin}

); } ``` ## Fonctionnement des composants variables Les composants variables résolvent le problème du contenu dynamique en : 1. **Encapsulant les valeurs dynamiques** pour pouvoir les utiliser dans [``](/docs/react/api/components/t) 2. **Gérant le formatage localement** à l’aide des API d’i18n intégrées au navigateur 3. **Préservant la confidentialité des données** — le contenu n’est jamais envoyé à l’API de traduction 4. **Adaptant la localisation** en fonction du paramètre régional actuel de l’utilisateur ```jsx // ❌ Ceci échoue - contenu dynamique dans

Hello {username}

// ✅ Ceci fonctionne - contenu dynamique encapsulé

Hello {username}

``` ## Guide des composants ### Var - Contenu dynamique brut Utilisez [``](/docs/react/api/components/var) pour tout contenu dynamique ne nécessitant pas de mise en forme particulière : ```jsx // Informations utilisateur

Hello, {user.name}!

Your account ID is {user.accountId}

// Rendu conditionnel Dashboard: {isAdmin ? : } ``` ### Num - Nombres mis en forme Utilisez [``](/docs/react/api/components/num) pour les nombres qui doivent respecter les règles de formatage du paramètre régional : ```jsx // Formatage de base des nombres You have {itemCount} items in your cart. // Utilisation autonome (équivalent à number.toLocaleString()) {totalItems} // Options de formatage personnalisées Distance: {distance} km ``` ### Currency - Valeurs d'argent Utilisez [``](/docs/react/api/components/currency) pour les montants monétaires : ```jsx // Formatage monétaire de base (USD par défaut) Your total is {total}. // Différentes devises Price: {price} // Formatage personnalisé {roundedAmount} ``` ### DateTime - Dates et heures Utilisez [``](/docs/react/api/components/datetime) pour les dates et heures : ```jsx // Formatage de date de base Order placed on {orderDate} // Formatage de l'heure Last updated: {timestamp} // Format de date personnalisé {eventDate} ``` ## Confidentialité et sécurité ### Les données restent locales Les composants variables gèrent toute la mise en forme localement à l’aide des [API Intl](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl) du navigateur. **Aucun contenu dynamique n’est envoyé à l’API de traduction**, ce qui les rend idéaux pour : * Les noms d’utilisateur et les informations personnelles * Les numéros de compte et les ID * Les données financières et les soldes * Les horodatages et les dates confidentiels ```jsx // Sécurisé - les données sensibles restent en local Account balance: {balance} Last login: {lastLoginTime} ``` ### Exception importante Attention aux composants [``](/docs/react/api/components/t) imbriqués dans des composants variables : ```jsx // ⚠️ Le contenu interne SERA envoyé pour traduction Hello, world! {/* Ceci sera traduit */} {privateData} {/* Ceci reste local */} ``` ## Utilisation autonome Les composants variables peuvent être utilisés en dehors de [``](/docs/react/api/components/t) pour du simple formatage : ```jsx // Ces éléments fonctionnent comme leurs méthodes .toLocale*() respectives {count} // count.toLocaleString() {price} // formatage du prix {date} // date.toLocaleDateString() ``` ## Problèmes courants ### Ignorer les options de localisation Pour [``](/docs/react/api/components/currency), veillez à renseigner la prop `currency` afin de préciser le type de devise. Cela garantit que le bon symbole monétaire et le format approprié sont utilisés lors de l’affichage de la valeur : ```jsx // ❌ USD par défaut - peut ne pas correspondre aux attentes des utilisateurs The item costs {price} // ✅ Spécifier explicitement la devise The item costs {price} ``` D’autres composants ont également des props facultatives qui vous permettent de personnaliser le formatage : ```jsx // Formatage de base {count} articles en stock // Formatage personnalisé {percentage} taux d'achèvement // Formatage de date Dernière mise à jour : {lastUpdate} ``` ## Étapes suivantes * [Guide des composants Branch](/docs/react/guides/branches) - Ajoutez une logique conditionnelle à vos traductions * [Guide de traduction des chaînes de caractères](/docs/react/guides/strings) - Traduisez du texte brut sans JSX * Références API : * [Composant ``](/docs/react/api/components/var) * [Composant ``](/docs/react/api/components/num) * [Composant ``](/docs/react/api/components/currency)