# gt-next: General Translation Next.js SDK: Il componente T URL: https://generaltranslation.com/it/docs/next/guides/t.mdx --- title: Il componente T description: Come internazionalizzare i componenti JSX con il componente T --- {/* GENERATO AUTOMATICAMENTE: non modificare direttamente. Modifica il template in content/docs-templates/ invece. */} Il [componente ``](/docs/next/api/components/t) è lo strumento principale per internazionalizzare i contenuti JSX nella tua applicazione Next.js. Avvolge gli elementi JSX e li traduce automaticamente in base all'impostazione regionale dell'utente. **Suggerimento:** Con l'[iniezione automatica di JSX](/docs/cli/features/auto-jsx-injection) abilitata, il compilatore può avvolgere automaticamente il tuo JSX in componenti di traduzione in fase di build. Nella maggior parte dei casi potresti non dover aggiungere manualmente ``. L'uso manuale di `` resta comunque utile quando hai bisogno di un controllo più granulare, ad esempio per impostare un `id` o un `context` specifico. ## Guida rapida Trasforma qualsiasi contenuto JSX statico racchiudendolo nel componente [``](/docs/next/api/components/t): ```jsx import { T } from 'gt-next'; // Prima function Greeting() { return

Hello, world!

; } // Dopo function Greeting() { return

Hello, world!

; } ``` Per i contenuti dinamici all'interno di [``](/docs/next/api/components/t), usa i [componenti variabili](/docs/next/guides/variables) e i [componenti di branching](/docs/next/guides/branches). ## Utilizzo di base Il [`componente `](/docs/next/api/components/t) accetta qualsiasi contenuto JSX come elemento figlio: ```jsx // Testo semplice Welcome to our app // Elementi HTML

Page Title

// JSX annidato complesso
Important: Please read carefully.
``` ## Opzioni di configurazione ### Aggiungere il contesto Fornisci il contesto di traduzione per i termini ambigui: ```jsx Click the toast to dismiss ``` ## Quando usare T Usa [``](/docs/next/api/components/t) **solo per contenuti statici**: ```jsx // ✅ Il contenuto statico funziona

Welcome to our site

// ❌ Il contenuto dinamico causa errori

Hello {username}

Today is {new Date()}

// ✅ Usa i componenti variabile per il contenuto dinamico

Hello {username}

``` I componenti variabili e di branching sono progettati per funzionare all'interno di [``](/docs/next/api/components/t) con contenuti dinamici. Per maggiori dettagli, consulta le guide [Componenti variabili](/docs/next/guides/variables) e [Componenti di branching](/docs/next/guides/branches). ## Esempi ### Elementi semplici ```jsx // Testo semplice Hello, world! // Pulsante con testo // Intestazione con stile

Welcome

``` ### Componenti complessi ```jsx // Menu di navigazione // Messaggio di avviso
Your session expires in 5 minutes
``` ### Con variabili Puoi usare i componenti variabili per la formattazione localizzata. ```jsx // Combinazione di testo statico con valori dinamici

Welcome back, {user.name}!

You have {user.friends.length} friends online

Your birthday is {user.birthday}

Your balance is {user.balance}

``` Scopri di più sul [componente ``](/docs/next/api/components/var) nella [guida ai componenti variabili](/docs/next/guides/variables). ## Setup di produzione ### Processo di build Integra la traduzione nella tua pipeline di build: ```json title="package.json" { "scripts": { "build": "npx gt translate && <...YOUR_BUILD_COMMAND...>" } } ``` ### Comportamento in sviluppo e in produzione * **Sviluppo**: Con una chiave API di sviluppo, le traduzioni vengono eseguite su richiesta quando i componenti vengono renderizzati. Vedrai le traduzioni in tempo reale mentre sviluppi. * **Produzione**: Tutte le traduzioni vengono precompilate durante la fase di build e saranno visibili una volta che l'applicazione sarà online. Imposta la chiave API di sviluppo nelle variabili d'ambiente per abilitare la traduzione in tempo reale durante lo sviluppo. Puoi crearne una nel Dashboard alla voce [Chiavi API](https://dash.generaltranslation.com/en-US/project/api-keys). ### Considerazioni sulla privacy Il contenuto dei componenti [``](/docs/next/api/components/t) viene inviato all'API di GT per la traduzione. Per i dati sensibili, usa i [Componenti variabili](/docs/next/guides/variables) per mantenere locali le informazioni private: ```jsx // Sicuro - i dati sensibili rimangono locali Welcome back, {username} ``` ## Quanto includere in un singolo `` Racchiudi **blocchi logici di contenuto** — contenuti che un traduttore leggerebbe e tradurrebbe naturalmente insieme. ```jsx // ✅ Corretto — raggruppare contenuti correlati fornisce ai traduttori il contesto completo

Welcome to Our Platform

Get started in minutes with our simple setup process.

// ✅ Corretto — ogni card è un'unità indipendente {features.map((feature) => (

{feature.title}

{feature.description}

))} // ❌ Troppo frammentato — spezza la traduzione e perde il contesto

Welcome to Our Platform

Get started in minutes with our simple setup process.

// ❌ Troppo ampio — racchiudere l'intera pagina rende la manutenzione più difficile {/* ...centinaia di righe di JSX... */} ``` **Regola pratica:** se il testo è collegato visivamente o semanticamente, racchiudilo in un unico ``. Suddividilo solo quando il contenuto è davvero indipendente (ad esempio, un'intestazione e un piè di pagina). Racchiudere più contenuto in un singolo `` offre ai traduttori un contesto migliore e produce traduzioni più naturali: alcune lingue ristrutturano le frasi o devono fare riferimento al contenuto circostante. ## Problemi comuni ### Limiti dei componenti [``](/docs/next/api/components/t) traduce solo i figli diretti, non il contenuto all’interno di altri componenti: ```jsx // ❌ Errato - il contenuto all'interno dei componenti non verrà tradotto function MyComponent() { return

This won't be translated

; }

This will be translated

{/* Il contenuto interno non verrà tradotto */}
// ✅ Corretto - racchiudi ogni componente singolarmente function MyComponent() { return

This will be translated

; }

This will be translated

``` ### Nidificazione dei componenti T ```jsx // ❌ Non annidare i componenti Hello world {/* Non farlo */} ``` ### Errori relativi ai contenuti dinamici La CLI genererà un errore se trova contenuti dinamici in [``](/docs/next/api/components/t). Racchiudi i valori dinamici nei componenti per variabili: ```jsx // ❌ Errato - il contenuto dinamico causa errori

Hello {username}

// ✅ Corretto - usa i componenti variabili

Hello {username}

``` Consulta la [Guida ai componenti variabili](/docs/next/guides/variables) per la gestione dei valori dinamici e la [Guida ai componenti di branching](/docs/next/guides/branches) per gestire i contenuti condizionali. ## Passi successivi **Vedilo in azione:** Dai un'occhiata all'[app di esempio sulle basi del componente ``](https://github.com/gt-examples/t-component-basics) per vedere una demo funzionante — [anteprima live](https://t-component-basics.generaltranslation.dev). * [Guida ai componenti variabili](/docs/next/guides/variables) - Gestisci i contenuti dinamici nelle traduzioni JSX * [Guida ai componenti di branching](/docs/next/guides/branches) - Aggiungi logica condizionale alle traduzioni