# General Translation React SDKs (gt-react, gt-next): T URL: https://generaltranslation.com/it/docs/react/reference/components/t.mdx --- title: T description: Traduce i contenuti figli JSX in-place con General Translation gt-react. Riferimento API per T. --- Il componente `` è il principale metodo di traduzione in `gt-react`. Traduce i suoi contenuti figli JSX — testo semplice e markup annidato — nell'impostazione regionale attiva, in-place. *Disponibile in `gt-react`, `gt-next`, `gt-tanstack-start` e `gt-react-native`. Gli esempi importano da `gt-react`; importa invece dal pacchetto del tuo framework.* ## Panoramica [#overview] Racchiudi il JSX statico in `` e verrà tradotto nell'impostazione regionale attiva. Usa componenti variabili come [``](/docs/react/reference/components/var) e [``](/docs/react/reference/components/num) per i valori dinamici. ```tsx Today, I went to

the store to buy some groceries.

``` *Nota: `` deve essere renderizzato all'interno di [``](/docs/react/reference/components/gt-provider) per poter accedere alle traduzioni. Per le stringhe autonome, usa invece [`useGT`](/docs/react/reference/hooks/use-gt).* ## Come funziona [#how-it-works] * **Traduzione in fase di build.** In produzione, il contenuto all'interno di un `` viene tradotto durante la fase di build (o di distribuzione), prima che gli utenti carichino l'app. In questo modo il runtime resta veloce, ma si può tradurre solo il contenuto noto al build time. Le traduzioni generate vengono servite dalla CDN o dall'output di build della tua app e, se manca una traduzione, viene usato come fallback il contenuto originale. * **On-demand in sviluppo.** Con una chiave API di sviluppo configurata, `` traduce on-demand, così puoi visualizzare in anteprima le impostazioni regionali durante la prototipazione. Durante il caricamento di una traduzione, `` restituisce `undefined` (a meno che la sorgente e la destinazione non condividano la stessa lingua, come `en-US` e `en-GB`); in caso di errore, restituisce il contenuto originale. Questo ritardo non si verifica nelle build di produzione. * **Traduce i discendenti, non il contenuto figlio dinamico.** `` traduce letteralmente il JSX scritto tra i suoi tag. Il contenuto passato tramite una variabile (ad esempio `{greeting}`) non può essere tradotto e genera un errore: racchiudi i valori dinamici in un componente variabile. Una buona regola pratica: tutto ciò che è scritto letteralmente tra i due tag `` viene tradotto. Evita di annidare componenti ``. ## Props [#props] | Prop | Descrizione | Type | Facoltativo | Predefinito | | ------------------------------------- | ------------------------------------------------------------------ | ----------- | ----------- | ----------- | | [`children`](#children) | Il contenuto JSX da tradurre. | `ReactNode` | No | — | | [`$context`](#context) | Contesto di disambiguazione per i traduttori. | `string` | Sì | — | | [`$id`](#id) | Identificatore stabile della voce. | `string` | Sì | — | | [`$maxChars`](#max-chars) | Lunghezza massima della traduzione. | `number` | Sì | — | | [`$requiresReview`](#requires-review) | Indica che la traduzione richiede approvazione prima dell'uso. | `boolean` | Sì | — | ### `children` [#children] **Tipo** `ReactNode` · **Obbligatorio** Il contenuto da tradurre. Può essere semplice testo o una struttura JSX, inclusi componenti variabili e di branching. Il contenuto deve essere statico; i valori dinamici devono essere racchiusi in un componente variabile. ### `$context` [#context] **Tipo** `string` · **Facoltativo** Contesto aggiuntivo per affinare la traduzione. Utile per chiarire espressioni ambigue, così che i traduttori restituiscano il significato desiderato. ### `$id` [#id] **Tipo** `string` · **Facoltativo** Un identificatore stabile per la voce di traduzione, che garantisce la coerenza delle traduzioni e rende la voce facile da trovare nel Translation Editor. ### `$maxChars` [#max-chars] **Tipo** `number` · **Facoltativo** Il numero massimo di caratteri consentito per la traduzione. La library applica questo limite, troncando gli output più lunghi. ### `$requiresReview` [#requires-review] **Tipo** `boolean` · **Facoltativo** Contrassegna il contenuto tradotto come soggetto ad approvazione prima dell'uso, in modo che venga trattenuto per la revisione anziché essere pubblicato automaticamente. ## Esempi [#examples] ```tsx title="Greeting.tsx" import { T } from 'gt-react'; export default function Greeting() { return ( Hello, world! // [!code highlight] ); } ``` ```tsx title="DynamicGreeting.tsx" import { T, Var } from 'gt-react'; export default function DynamicGreeting({ user }) { return ( Hello, {user.name}! // [!code highlight] ); } ``` ```tsx title="ItemCount.tsx" import { T, Plural } from 'gt-react'; export default function ItemCount({ count }) { return ( You have an item.} other={<>You have items.} /> ); } ``` ```tsx title="DynamicContent.tsx" import { T } from 'gt-react'; export default function DynamicContent({ greeting }) { return ( {greeting} // ❌ il contenuto figlio dinamico non può essere tradotto — racchiudilo in // [!code highlight] ); } ``` ```tsx title="Descendants.tsx" import { T } from 'gt-react'; const ValidTranslation = ({ children }) =>
{children}
; const InvalidTranslation = () =>
No translation
; export default function Example() { return (
This is valid!
{/* tradotto */} Hello, world! {/* tradotto */} {/* non tradotto — il contenuto non è letterale qui */}
); } ``` ## Note [#notes] * `` serve a tradurre i contenuti. Usalo per testo semplice o strutture JSX, incluse variabili e pluralizzazione. * Deve essere racchiuso in un [``](/docs/react/reference/components/gt-provider) per accedere al contesto di traduzione. * Per tradurre stringhe indipendenti come segnaposto ed etichette, usa [`useGT`](/docs/react/reference/hooks/use-gt).