# react-native: Il componente T URL: https://generaltranslation.com/it/docs/react-native/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/. */} Il [componente ``](/docs/react-native/api/components/t) è lo strumento principale per internazionalizzare i contenuti JSX nella tua applicazione React Native. 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ò racchiudere automaticamente il tuo JSX in componenti di traduzione durante la fase di build. Nella maggior parte dei casi, potresti non dover aggiungere `` manualmente. L'uso manuale di `` resta comunque utile quando ti serve un controllo più granulare, ad esempio per impostare un `id` o un `context` specifico. ## Guida rapida Trasforma qualsiasi contenuto JSX statico racchiudendolo in [``](/docs/react-native/api/components/t): ```jsx import { T } from 'gt-react-native'; // Prima function Greeting() { return

Hello, world!

; } // Dopo function Greeting() { return

Hello, world!

; } ``` Per contenuti dinamici all'interno di [``](/docs/react-native/api/components/t), usa i [Componenti variabili](/docs/react-native/guides/variables) e i [Componenti Branching](/docs/react-native/guides/branches). ## Utilizzo di base Il [componente ``](/docs/react-native/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 un contesto di traduzione per i termini ambigui: ```jsx Click the toast to dismiss ``` ## Quando usare T Usa [``](/docs/react-native/api/components/t) **solo per contenuti statici**: ```jsx // ✅ Il contenuto statico funziona

Benvenuto nel nostro sito

// ❌ Il contenuto dinamico causa errori

Ciao {username}

Oggi è {new Date()}

// ✅ Usa i componenti variabili per il contenuto dinamico

Ciao {username}

``` I componenti variabili e Branching sono progettati per essere utilizzati all'interno di [``](/docs/react-native/api/components/t) con contenuti dinamici. Per i dettagli, consulta le guide [componenti variabili](/docs/react-native/guides/variables) e [Branching Components](/docs/react-native/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 le 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/react-native/api/components/var) nella [Guida ai componenti variabili](/docs/react-native/guides/variables). ## Setup per la produzione ### Processo di build Aggiungi la traduzione alla pipeline di build: ```json title="package.json" { "scripts": { "build": "npx gt translate && <...YOUR_BUILD_COMMAND...>" } } ``` ### Comportamento in sviluppo e in produzione * **Sviluppo**: Con una API key di sviluppo, le traduzioni avvengono on-demand quando i componenti vengono renderizzati. Vedrai le traduzioni in tempo reale mentre sviluppi. * **Produzione**: Tutte le traduzioni vengono pre-generate durante la fase di build e saranno visibili una volta che l'applicazione sarà online. Imposta la tua API key di sviluppo nelle variabili d'ambiente per abilitare la traduzione live durante lo sviluppo. Puoi crearne una nella dashboard, in [API Keys](https://dash.generaltranslation.com/en-US/project/api-keys). ### Considerazioni sulla privacy Il contenuto dei componenti [``](/docs/react-native/api/components/t) viene inviato all'API di GT per la traduzione. Per i dati sensibili, usa i [Componenti variabili](/docs/react-native/guides/variables) per mantenere le informazioni private localmente: ```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 come un 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ù contenuti in un singolo `` offre ai traduttori un contesto migliore e produce traduzioni più naturali: alcune lingue ristrutturano le frasi o richiedono riferimenti al contenuto circostante. ## Problemi comuni ### Limiti dei componenti [``](/docs/react-native/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

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

Hello {username}

// ✅ Corretto - usa i componenti variabili

Hello {username}

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