# gt-react: General Translation React SDK: Compilatore
URL: https://generaltranslation.com/it/docs/react/concepts/compiler.mdx
---
title: Compilatore
description: Come la CLI `gt` elabora i tuoi file di origine React
---
La CLI `gt` include un compilatore che analizza i tuoi file di origine React nella fase di build. Rileva gli errori di traduzione più comuni e può anche automatizzare il wrapping del JSX nei componenti di traduzione.
## Funzionalità
### Rilevamento dei contenuti dinamici
Rileva contenuti dinamici non racchiusi nei componenti di traduzione:
```jsx
// ❌ Non valido - contenuto dinamico non racchiuso
Hello {userName}
// ✅ Valido - contenuto dinamico racchiuso nel componente variabile
Hello {userName}
```
### Validazione delle chiamate di funzione
Rileva gli argomenti non letterali passati alle funzioni di traduzione:
```jsx
const gt = useGT();
// ❌ Non valido - template literal e concatenazione
gt(`Hello ${name}`)
gt("Hello " + name)
// ✅ Valido - stringhe letterali con sostituzione di variabili
gt("Hello, {name}!", { name })
```
## Iniezione automatica di JSX
Con l'iniezione automatica di JSX abilitata, il compilatore racchiude automaticamente il testo JSX traducibile nei componenti di traduzione, quindi non devi aggiungere manualmente i componenti `` intorno a ogni porzione di testo.
### Attivare l'iniezione automatica di JSX
Aggiungi `enableAutoJsxInjection` al tuo `gt.config.json`:
```json title="gt.config.json"
{
"files": {
"gt": {
"output": "public/_gt/[locale].json",
"parsingFlags": {
"enableAutoJsxInjection": true
}
}
}
}
```
### Prima e dopo
Senza iniezione automatica di JSX, devi racchiudere il testo manualmente:
```jsx
import { T } from 'gt-react';
function Welcome() {
return (
Welcome to our app
);
}
```
Con iniezione automatica di JSX attivata, scrivi JSX normale e al resto pensa il compilatore:
```jsx
function Welcome() {
return Welcome to our app
;
}
```
Il compilatore rileva il testo traducibile e lo avvolge automaticamente quando esegui `npx gt translate`.
### Cosa rispetta il compilatore
* I **componenti `` scritti dall'utente** vengono lasciati invariati — il compilatore non avvolge il tuo codice due volte
* Anche **gli altri componenti GT** come ``, ``, `` e `` vengono rispettati
* Gli **attributi testuali** (ad esempio `placeholder`, `alt`) non vengono modificati — vengono racchiusi solo gli elementi figli JSX
* I **contenuti non testuali** come numeri e booleani vengono ignorati