# gt-react: General Translation React SDK: Compilateur URL: https://generaltranslation.com/fr/docs/react/concepts/compiler.mdx --- title: Compilateur description: Comment la CLI `gt` traite vos fichiers source React --- La CLI `gt` inclut un compilateur qui analyse vos fichiers source React au build. Il détecte les erreurs de traduction courantes et peut aussi automatiser l’ajout de composants de traduction autour du JSX. ## Fonctionnalités ### Détection du contenu dynamique Détecte le contenu dynamique non encapsulé dans les composants de traduction : ```jsx // ❌ Invalide - contenu dynamique non encapsulé Hello {userName} // ✅ Valide - contenu dynamique encapsulé dans un composant variable Hello {userName} ``` ### Validation des appels de fonction Détecte les arguments non littéraux transmis aux fonctions de traduction : ```jsx const gt = useGT(); // ❌ Invalide - littéraux de gabarit et concaténation gt(`Hello ${name}`) gt("Hello " + name) // ✅ Valide - littéraux de chaînes de caractères avec substitution de variables gt("Hello, {name}!", { name }) ``` ## Injection automatique de JSX Avec l’injection automatique de JSX activée, le compilateur entoure automatiquement les textes JSX traduisibles de composants de traduction — vous n’avez donc pas besoin d’ajouter manuellement des composants `` autour de chaque fragment de texte. ### Activer l’injection automatique de JSX Ajoutez `enableAutoJsxInjection` à votre `gt.config.json` : ```json title="gt.config.json" { "files": { "gt": { "output": "public/_gt/[locale].json", "parsingFlags": { "enableAutoJsxInjection": true } } } } ``` ### Avant et après Sans injection automatique de JSX, vous devez encapsuler le texte manuellement : ```jsx import { T } from 'gt-react'; function Welcome() { return (

Welcome to our app

); } ``` Avec l’injection automatique de JSX activée, vous écrivez simplement du JSX et le compilateur s’occupe du reste : ```jsx function Welcome() { return

Welcome to our app

; } ``` Le compilateur détecte le texte traduisible et l’entoure automatiquement lorsque vous exécutez `npx gt translate`. ### Ce que le compilateur respecte * **Les composants `` définis par l'utilisateur** sont laissés intacts — le compilateur n'encapsulera pas votre code une deuxième fois * **Les autres composants GT** comme ``, ``, `` et `` sont également respectés * **Les attributs textuels** (par ex. `placeholder`, `alt`) ne sont pas affectés — seuls les enfants JSX sont encapsulés * **Le contenu non textuel** comme les nombres et les booléens est ignoré