# General Translation React SDKs (gt-react, gt-next): Derive URL: https://generaltranslation.com/it/docs/react/reference/components/derive.mdx --- title: Derive description: Contrassegna varianti finite di contenuto da estrarre all'interno di una traduzione con General Translation gt-react. Riferimento API per Derive. --- Il componente `` gestisce la suddivisione delle frasi e il contenuto riutilizzabile senza compromettere la concordanza grammaticale, la coniugazione o l'ordine delle parole. Indica alla CLI di catalogare tutti i possibili valori del contenuto figlio e di creare una voce di traduzione separata per ciascuno. *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 un valore o una chiamata di funzione il cui risultato può variare. La CLI considera ogni possibile esito come se fosse racchiuso nel proprio [``](/docs/react/reference/components/t). ```tsx The beautiful {getSubject(gender)} plays with the ball. ``` Questo produce due voci: "Il bel ragazzo gioca con la palla" e "La bella ragazza gioca con la palla". *Nota: `` è una funzionalità avanzata. Può generare un numero sorprendentemente elevato di voci di traduzione e ogni possibile combinazione di contenuti deve essere analizzabile staticamente. Per la forma stringa, vedi [`derive`](/docs/react/reference/functions/derive).* ## Come funziona [#how-it-works] * **Analisi in fase di build.** Durante la build, la CLI analizza il contenuto figlio di ogni `` e crea una voce di traduzione separata per ogni possibile esito, così l'accordo grammaticale e l'ordine delle parole vengono gestiti correttamente in ogni lingua. * **Rendering invariato a runtime.** A runtime, `` esegue il rendering del contenuto figlio risolto così com'è; la derivazione influisce solo sull'estrazione. * **Requisito statico.** Il contenuto figlio deve essere determinabile in fase di build. La sintassi supportata include letterali di tipo stringa, numerico e booleano; espressioni JSX con `` annidati e [``](/docs/react/reference/components/var); operatori ternari; e invocazioni di funzione con esiti analizzabili staticamente. I valori dinamici devono essere racchiusi in ``. ## Props [#props] | Prop | Descrizione | Type | Facoltativo | Predefinito | | ----------------------- | ------------------------------------------------------------------- | ----------- | ----------- | ----------- | | [`children`](#children) | Contenuto statico i cui possibili valori sono analizzati dalla CLI. | `ReactNode` | No | — | ### `children` [#children] **Tipo** `ReactNode` · **Obbligatorio** Contenuto statico: un valore letterale, un'espressione ternaria o un'invocazione di funzione con esiti analizzabili staticamente. La CLI genera una voce di traduzione per ogni valore possibile. ## Esempi [#examples] ```tsx title="BasicExample.tsx" import { T, Derive } from 'gt-react'; export default function Example({ gender }) { return ( The {gender === 'male' ? 'boy' : 'girl'} is beautiful. ); } // Crea: "The boy is beautiful" e "The girl is beautiful" ``` ```tsx title="FunctionInvocation.tsx" import { T, Derive } from 'gt-react'; function getSubject(gender) { return gender === 'male' ? 'boy' : 'girl'; } export default function Example({ gender }) { return ( The {getSubject(gender)} is beautiful. ); } ``` ```tsx title="MultipleDerive.tsx" import { T, Derive } from 'gt-react'; function getSubject(gender) { return gender === 'male' ? 'boy' : 'girl'; } function getObject(toy) { return toy === 'ball' ? 'ball' : 'crayon'; } export default function PlayExample({ gender, toy }) { return ( {getSubject(gender)} plays with the{' '} {getObject(toy)}. ); } // Crea quattro voci (2 × 2): boy/girl × ball/crayon ``` ## Limitazioni [#limitations] * **Crescita esponenziale.** Ogni `` aggiuntivo moltiplica il numero totale di voci di traduzione. Usalo con giudizio e, quando possibile, preferisci strutture più semplici. * **Il contenuto variabile deve essere racchiuso.** Qualsiasi contenuto dinamico o variabile nei valori restituiti da funzioni statiche deve essere racchiuso in [``](/docs/react/reference/components/var), altrimenti la build fallisce. ```tsx // ✅ Corretto function getContent() { return <>Hello, {userName}!; } // ❌ Errato — causa errori di build function getContent() { return <>Hello, {userName}!; } ```