# General Translation React SDKs (gt-react, gt-next): T URL: https://generaltranslation.com/fr/docs/react/reference/components/t.mdx --- title: T description: Traduisez les éléments enfants JSX sur place avec General Translation gt-react. Référence de l’API pour T. --- Le composant `` est la principale méthode de traduction de `gt-react`. Il traduit ses éléments enfants JSX — texte brut et balisage imbriqué — selon le paramètre régional actif, sur place. *Disponible dans `gt-react`, `gt-next`, `gt-tanstack-start` et `gt-react-native`. Les exemples importent depuis `gt-react` ; importez plutôt depuis le package de votre framework.* ## Vue d’ensemble [#overview] Placez tout JSX statique dans `` pour qu’il soit traduit dans le paramètre régional actif. Utilisez des composants variables tels que [``](/docs/react/reference/components/var) et [``](/docs/react/reference/components/num) pour les valeurs dynamiques. ```tsx Today, I went to

the store to buy some groceries.

``` *Remarque : `` doit être rendu dans un [``](/docs/react/reference/components/gt-provider) afin de pouvoir accéder aux traductions. Pour les chaînes autonomes, utilisez plutôt [`useGT`](/docs/react/reference/hooks/use-gt).* ## Comment cela fonctionne [#how-it-works] * **Traduction au build.** En production, le contenu à l’intérieur d’un `` est traduit à l’étape de build (ou de déploiement), avant que les utilisateurs ne chargent l’application. Cela permet de préserver de bonnes performances à l’exécution, mais seul le contenu connu au moment du build peut être traduit. Les traductions générées sont servies depuis le CDN ou le résultat du build de votre application, et reviennent au contenu d’origine lorsqu’une traduction est absente. * **À la demande en développement.** Lorsqu’une clé API de développement est configurée, `` traduit à la demande afin que vous puissiez prévisualiser les paramètres régionaux pendant le prototypage. Pendant le chargement d’une traduction, `` renvoie `undefined` (sauf si la source et la cible partagent la même langue, comme `en-US` et `en-GB`) ; en cas d’erreur, il renvoie le contenu d’origine. Ce délai n’existe pas dans les builds de production. * **Traduit les descendants, pas les éléments enfant dynamiques.** `` traduit littéralement le JSX écrit entre ses balises. Le contenu transmis via une variable (par exemple, `{greeting}`) ne peut pas être traduit et provoque une erreur — encapsulez les valeurs dynamiques dans un composant variable. Règle pratique : tout ce qui se trouve littéralement entre les deux balises `` est traduit. Évitez d’imbriquer des composants ``. ## Props [#props] | Prop | Description | Type | Facultatif | Par défaut | | ------------------------------------- | ---------------------------------------------------------------- | ----------- | ---------- | ---------- | | [`children`](#children) | Le contenu JSX à traduire. | `ReactNode` | Non | — | | [`$context`](#context) | Contexte de désambiguïsation destiné aux traducteurs. | `string` | Oui | — | | [`$id`](#id) | Identifiant stable de l’entrée. | `string` | Oui | — | | [`$maxChars`](#max-chars) | Longueur maximale de la traduction. | `number` | Oui | — | | [`$requiresReview`](#requires-review) | Indique que la traduction doit être approuvée avant utilisation. | `boolean` | Oui | — | ### `children` [#children] **Type** `ReactNode` · **Obligatoire** Le contenu à traduire. Il peut s’agir de texte brut ou d’une structure JSX, y compris des composants variables et de branchement. Le contenu doit être statique ; les valeurs dynamiques doivent être encapsulées dans un composant variable. ### `$context` [#context] **Type** `string` · **Facultatif** Contexte supplémentaire permettant d’affiner la traduction. Utile pour lever les ambiguïtés afin que les traducteurs restituent le sens recherché. ### `$id` [#id] **Type** `string` · **Facultatif** Un identifiant stable pour l’entrée de traduction, qui garantit la cohérence des traductions et permet de retrouver facilement l’entrée dans le Translation Editor. ### `$maxChars` [#max-chars] **Type** `number` · **Facultatif** Le nombre maximal de caractères autorisé pour la traduction. La bibliothèque applique cette limite et tronque les sorties plus longues. ### `$requiresReview` [#requires-review] **Type** `boolean` · **Facultatif** Indique que le contenu traduit doit être approuvé avant d’être utilisé, afin qu’il soit mis en attente de révision au lieu d’être diffusé automatiquement. ## Exemples [#examples] ```tsx title="Greeting.tsx" import { T } from 'gt-react'; export default function Greeting() { return ( Hello, world! // [!code highlight] ); } ``` ```tsx title="DynamicGreeting.tsx" import { T, Var } from 'gt-react'; export default function DynamicGreeting({ user }) { return ( Hello, {user.name}! // [!code highlight] ); } ``` ```tsx title="ItemCount.tsx" import { T, Plural } from 'gt-react'; export default function ItemCount({ count }) { return ( You have an item.} other={<>You have items.} /> ); } ``` ```tsx title="DynamicContent.tsx" import { T } from 'gt-react'; export default function DynamicContent({ greeting }) { return ( {greeting} // ❌ les éléments enfants dynamiques ne peuvent pas être traduits — encapsulez dans // [!code highlight] ); } ``` ```tsx title="Descendants.tsx" import { T } from 'gt-react'; const ValidTranslation = ({ children }) =>
{children}
; const InvalidTranslation = () =>
No translation
; export default function Example() { return (
This is valid!
{/* traduit */} Hello, world! {/* traduit */} {/* non traduit — le contenu n'est pas littéral ici */}
); } ``` ## Remarques [#notes] * `` sert à traduire du contenu. Utilisez-le pour du texte brut ou des structures JSX, y compris des variables et la pluralisation. * Il doit être encapsulé dans un [``](/docs/react/reference/components/gt-provider) pour accéder au contexte de traduction. * Pour traduire des chaînes isolées comme les placeholders et les étiquettes, utilisez [`useGT`](/docs/react/reference/hooks/use-gt).