# gt-react: General Translation React SDK: Le composant T URL: https://generaltranslation.com/fr/docs/react/guides/t.mdx --- title: Le composant T description: Comment internationaliser des composants JSX avec le composant T --- {/* GÉNÉRÉ AUTOMATIQUEMENT : ne modifiez pas directement. Modifiez le template dans content/docs-templates/ à la place. */} Le [composant ``](/docs/react/api/components/t) est l’outil principal pour internationaliser le contenu JSX de votre application React. Il encapsule vos éléments JSX et les traduit automatiquement en fonction du paramètre régional de l’utilisateur. **Astuce :** lorsque l’[injection JSX automatique](/docs/cli/features/auto-jsx-injection) est activée, le compilateur peut automatiquement encapsuler votre JSX dans des composants de traduction au build. Dans la plupart des cas, vous n’aurez peut-être pas besoin d’ajouter `` manuellement. L’utilisation manuelle de `` reste utile lorsque vous avez besoin d’un contrôle fin, par exemple pour définir un `id` ou un `context` spécifique. ## Démarrage rapide Transformez n’importe quel contenu JSX statique en l’encapsulant dans [``](/docs/react/api/components/t) : ```jsx import { T } from 'gt-react'; // Avant function Greeting() { return

Hello, world!

; } // Après function Greeting() { return

Hello, world!

; } ``` Pour le contenu dynamique dans [``](/docs/react/api/components/t), utilisez les [composants variables](/docs/react/guides/variables) et les [composants de branchement](/docs/react/guides/branches). ## Utilisation de base Le [composant ``](/docs/react/api/components/t) accepte n’importe quel contenu JSX comme enfant : ```jsx // Texte simple Welcome to our app // Éléments HTML

Page Title

// JSX imbriqué complexe
Important: Please read carefully.
``` ## Options de configuration ### Ajouter du contexte Ajoutez un contexte de traduction pour les termes ambigus : ```jsx Click the toast to dismiss ``` ## Quand utiliser T Utilisez [``](/docs/react/api/components/t) uniquement pour du **contenu statique** : ```jsx // ✅ Le contenu statique fonctionne

Welcome to our site

// ❌ Le contenu dynamique pose problème

Hello {username}

Today is {new Date()}

// ✅ Utilisez des composants variables pour le contenu dynamique

Hello {username}

``` Les composants variables et de branchement sont conçus pour être utilisés dans [``](/docs/react/api/components/t) avec du contenu dynamique. Consultez les guides [Composants variables](/docs/react/guides/variables) et [Composants de branchement](/docs/react/guides/branches) pour en savoir plus. ## Exemples ### Éléments simples ```jsx // Texte simple Hello, world! // Bouton avec texte // Titre avec mise en forme

Welcome

``` ### Composants complexes ```jsx // Menu de navigation // Message d'alerte
Your session expires in 5 minutes
``` ### Avec des variables Vous pouvez utiliser des composants variables pour le formatage localisé. ```jsx // Combinaison de texte statique et de valeurs dynamiques

Welcome back, {user.name}!

You have {user.friends.length} friends online

Your birthday is {user.birthday}

Your balance is {user.balance}

``` Pour en savoir plus sur le composant [``](/docs/react/api/components/var), consultez le [guide des composants variables](/docs/react/guides/variables). ## Configuration de production ### Processus de build Ajoutez la traduction à votre pipeline de build : ```json title="package.json" { "scripts": { "build": "npx gt translate && <...YOUR_BUILD_COMMAND...>" } } ``` ### Comportement en développement et en production * **Développement** : Avec une clé API de développement, les traductions se font on-demand au rendu des composants. Vous verrez les traductions en temps réel pendant le développement. * **Production** : Toutes les traductions sont pré-générées à l’étape de build et seront visibles une fois votre application en ligne. Définissez votre clé API de développement dans votre environnement pour activer la traduction en temps réel pendant le développement. Vous pouvez en créer une dans le dashboard, sous [Clés API](https://dash.generaltranslation.com/en-US/project/api-keys). ### Considérations relatives à la confidentialité Le contenu des composants [``](/docs/react/api/components/t) est envoyé à l’API GT pour être traduit. Pour les données sensibles, utilisez les [Composants variables](/docs/react/guides/variables) afin de conserver les informations privées en local : ```jsx // Sûr - les données sensibles restent locales Welcome back, {username} ``` ## Quelle quantité regrouper dans un seul `` Regroupez des **blocs de contenu logiques** — du contenu qu’un traducteur lirait et traduirait naturellement comme un ensemble. ```jsx // ✅ Bien — le contenu associé est regroupé pour donner aux traducteurs le contexte complet

Welcome to Our Platform

Get started in minutes with our simple setup process.

// ✅ Bien — chaque carte est une unité indépendante {features.map((feature) => (

{feature.title}

{feature.description}

))} // ❌ Trop fragmenté — découpe la traduction et perd le contexte

Welcome to Our Platform

Get started in minutes with our simple setup process.

// ❌ Trop large — envelopper toute la page complique la maintenance {/* ...des centaines de lignes de JSX... */} ``` **Règle générale :** si des textes sont liés visuellement ou sémantiquement, regroupez-les dans un seul ``. Ne les scindez que lorsque le contenu est réellement indépendant (par exemple, un en-tête ou un pied de page). Regrouper davantage de contenu dans un seul `` donne plus de contexte aux traducteurs, ce qui permet d’obtenir des traductions plus naturelles — certaines langues restructurent les phrases ou ont besoin de faire référence au contenu voisin. ## Problèmes courants ### Limites des composants [``](/docs/react/api/components/t) traduit uniquement les enfants directs, et non le contenu à l’intérieur d’autres composants : ```jsx // ❌ Incorrect - le contenu à l'intérieur des composants ne sera pas traduit function MyComponent() { return

Ceci ne sera pas traduit

; }

Ceci sera traduit

{/* Le contenu à l'intérieur ne sera pas traduit */}
// ✅ Correct - encapsulez chaque composant individuellement function MyComponent() { return

Ceci sera traduit

; }

Ceci sera traduit

``` ### Imbrication de composants T ```jsx // ❌ N'imbriquez pas les composants Hello world {/* Ne faites pas cela */} ``` ### Erreurs liées au contenu dynamique La CLI renverra une erreur si du contenu dynamique est présent dans [``](/docs/react/api/components/t). Encapsulez les valeurs dynamiques dans des composants variables : ```jsx // ❌ Incorrect - le contenu dynamique provoque une erreur

Hello {username}

// ✅ Correct - utiliser des composants variables

Hello {username}

``` Consultez le [guide des composants variables](/docs/react/guides/variables) pour gérer les valeurs dynamiques, et le [guide des composants de branchement](/docs/react/guides/branches) pour le contenu conditionnel. ## Étapes suivantes **Voyez-le en action :** Consultez l’[application d’exemple sur les bases du composant ``](https://github.com/gt-examples/t-component-basics) pour une démo fonctionnelle — [aperçu en direct](https://t-component-basics.generaltranslation.dev). * [Guide des composants variables](/docs/react/guides/variables) - Gérez le contenu dynamique dans les traductions JSX * [Guide des composants de branchement](/docs/react/guides/branches) - Ajoutez une logique conditionnelle à vos traductions