# gt-next: General Translation Next.js SDK: T URL: https://generaltranslation.com/it/docs/next/api/components/t.mdx --- title: T description: Riferimento API del componente T --- ## Panoramica Il componente `` è il metodo principale per la traduzione in `gt-next`. ```jsx Today, I went to {" the store"}

to buy some groceries.

``` Il componente `` supporta la traduzione sia di testo semplice sia di strutture JSX complesse. Inoltre, offre funzionalità per gestire variabili, plurali e traduzioni specifiche per il contesto. **Traduzione in fase di build:** Le traduzioni di `` vengono eseguite in fase di build. Questo significa che la traduzione avviene prima del deployment, riducendo la latenza. Assicurati di seguire la [guida al deployment disponibile qui](/docs/next/tutorials/quickdeploy). *** ## Riferimento ### Proprietà ### Descrizioni | Prop | Descrizione | | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `children` | Il contenuto da tradurre. Può includere testo semplice o strutture JSX. | | `id` | Un identificatore univoco facoltativo per la stringa di traduzione. Se non viene fornito, ne viene generato uno automaticamente in fase di build. | | `context` | Contesto aggiuntivo per affinare la traduzione. Utile per risolvere espressioni ambigue. | | `requiresReview` | Quando è `true`, la traduzione non viene erogata finché non viene approvata in una fase di revisione umana. Deve essere un valore booleano letterale. `$requiresReview` è un alias equivalente. | ### Restituisce `React.JSX.Element|undefined` che contiene la traduzione visualizzata o il contenuto di fallback in base alla configurazione fornita. *** ## Comportamento ### Produzione Durante il processo di CD, qualsiasi elemento figlio all'interno di un `` verrà tradotto prima del deployment della tua applicazione. Questo garantisce tempi di caricamento rapidi per tutte le impostazioni regionali, ma può tradurre solo i contenuti noti nella fase di build. Una volta generate, le traduzioni vengono (1) memorizzate nella CDN oppure (2) memorizzate nell'output di build della tua app, in base alla tua configurazione. Da lì, il contenuto tradotto viene servito ai tuoi utenti. Se una traduzione non viene trovata, verrà usato il contenuto originale come fallback. Assicurati di seguire la [guida al deployment disponibile qui](/docs/next/tutorials/quickdeploy). ### Sviluppo Durante lo sviluppo, la funzione `` tradurrà i contenuti su richiesta. Questo è utile per fare prototipi e vedere come apparirà la tua app in lingue diverse. Ricorda di aggiungere una chiave API Dev al tuo ambiente per abilitare questo comportamento. Durante il caricamento, `` restituirà undefined, a meno che le lingue non siano simili (en-US vs en-GB), anche se questo comportamento può essere personalizzato con le impostazioni di rendering. Se si verifica un errore, `` restituirà il contenuto originale. Noterai un ritardo durante la traduzione su richiesta in fase di sviluppo. Questo ritardo non si verificherà nelle build di produzione, a meno che il contenuto non venga tradotto esplicitamente su richiesta, cioè usando [``](/docs/next/api/components/tx) o [`tx`](/docs/next/api/strings/tx). *** ## Esempi ### Utilizzo di base `` traduce i relativi elementi figlio. ```jsx title="SimpleTranslation.jsx" copy import { T } from 'gt-next'; export default function Greeting() { return ( Hello, world! ); } ``` ### Con variabili Puoi usare il componente `` per contrassegnare gli elementi figli come variabili. In questo modo puoi indicare i contenuti che non devono essere tradotti. Di solito, i componenti `` racchiudono contenuti dinamici. ```jsx title="DynamicGreeting.jsx" copy import { T, Var } from 'gt-next'; export default function DynamicGreeting(user) { return ( Hello, {user.name}! ); } ``` ### Con i plurali Il componente `` supporta anche la gestione del plurale tramite il componente ``. ```jsx title="ItemCount.jsx" copy import { T, Plural } from 'gt-next'; export default function ItemCount({ count }) { return ( You have an item.} other={<>You have items.} /> ); } ``` ### Richiede revisione Usa `requiresReview` per fare in modo che una traduzione richieda una revisione umana prima di essere pubblicata in produzione. ```jsx title="ReviewedGreeting.jsx" copy import { T } from 'gt-next'; export default function ReviewedGreeting() { return ( {/* [!code highlight] */} Welcome to our platform! ); } ``` **Nota:** `requiresReview` controlla le traduzioni in fase di build e in produzione. La traduzione su richiesta in sviluppo è una comodità per l'anteprima in tempo reale e non è vincolata alla revisione, anche se l'intento di revisione viene comunque registrato nei metadati del contenuto. ### Limitazioni Il componente `` non traduce i contenuti dinamici. ```jsx title="DynamicContent.jsx" copy import { T } from 'gt-next'; export default function DynamicContent({greeting}) { return ( {greeting} {/* genererà un errore */} ); } ``` La funzione `` traduce i propri elementi figli. ```jsx title="Example.jsx" copy import { T } from 'gt-next'; const ValidTranslation = ({ children }) => (
{children}
); const InvalidTranslation = ({ children }) => (
No translation
); export default function Example() { return ( { /* [!code highlight] */}
This is valid!
{/* verrà tradotto */} { /* [!code highlight] */} Hello, world! {/* verrà tradotto */} {/* non verrà tradotto */}
); } ``` **Nota:** Come regola generale, viene tradotto qualsiasi contenuto che si trovi *letteralmente* tra i due `` nel file. Puoi sempre aggiungere un altro `` per tradurre il contenuto che non viene tradotto, anche se non è consigliabile annidare i componenti ``. *** ## Note * Il componente `` è progettato per tradurre i contenuti dell'applicazione. È il metodo principale per la localizzazione in `gt-next`. * Usa il componente `` per tradurre testo semplice o strutture JSX, incluse variabili e forme plurali. * Se usi il componente `` lato client, assicurati che sia racchiuso in un [``](/docs/next/api/components/gtprovider) per accedere al contesto di traduzione. * La prop `requiresReview` accetta solo un valore booleano letterale. Solo il valore `true` modifica l'hash del contenuto e sospende la traduzione finché non viene approvata. ## Passaggi successivi * Per le traduzioni su richiesta, consulta il componente [``](/docs/next/api/components/tx). * Per funzionalità più avanzate, consulta la [documentazione di riferimento di ``](/docs/next/guides/t). * Per tradurre le stringhe, consulta [`tx`](/docs/next/api/strings/tx), [`getGT`](/docs/next/api/strings/get-gt) e [`useGT`](/docs/next/api/strings/use-gt).