# General Translation React SDKs (gt-react, gt-next): declareVar URL: https://generaltranslation.com/it/docs/react/reference/functions/declare-var.mdx --- title: declareVar description: Contrassegna una variabile non traducibile all'interno del contenuto derivato con General Translation gt-react. Riferimento API per declareVar. --- La funzione `declareVar` contrassegna il contenuto dinamico all'interno del contenuto [`derive`](/docs/react/reference/functions/derive) che deve essere escluso dalla traduzione e gestito come variabile in fase di runtime. È l'equivalente in formato stringa del componente [``](/docs/react/reference/components/var). *Disponibile in `gt-react`, `gt-next`, `gt-tanstack-start` e `gt-react-native`. Gli esempi importano da `gt-react`; importa invece dal pacchetto del framework che usi.* ## Panoramica [#overview] Racchiudi un valore dinamico all'interno di una funzione analizzata da `derive`. `declareVar` lo racchiude in un segnaposto compatibile con ICU che, in runtime, restituisce il valore originale. ```tsx function getGreeting(name) { return 'Hello, ' + declareVar(name); // "Ciao, {_gt_, select, other {Brian}}" } gt(`${derive(getGreeting(name))}. How are you?`); // "Ciao, Brian. Come stai?" ``` *Nota: usa `declareVar` solo all'interno di funzioni chiamate da [`derive`](/docs/react/reference/functions/derive). Per rimuovere i marker ICU per l'elaborazione delle stringhe, usa [`decodeVars`](/docs/react/reference/functions/decode-vars).* ## Come funziona [#how-it-works] Quando `declareVar` avvolge un valore: 1. Converte il valore nel formato di un'istruzione ICU `select`. 2. Lo contrassegna come contenuto dinamico per il processo di traduzione. 3. Lo esclude dal calcolo dell'hash di traduzione. 4. Mantiene il valore originale per l'interpolazione in fase di runtime. L'output è una stringa compatibile con ICU MessageFormat: ```tsx declareVar('John'); // → "{_gt_, select, other {John}}" ``` ## Parametri [#parameters] | Parametro | Descrizione | Type | Facoltativo | Predefinito | | ----------------------- | ---------------------------------------------------- | -------------------------------------------------- | ----------- | ----------- | | [`variable`](#variable) | Il valore dinamico da contrassegnare come variabile. | `string \| number \| boolean \| null \| undefined` | No | — | | [`options`](#options) | Opzioni come `$name`. | `object` | Sì | — | ### `variable` [#variable] **Tipo** `string | number | boolean | null | undefined` · **Obbligatorio** Valore dinamico da contrassegnare come variabile. ### `options` [#options] **Tipo** `object` · **Facoltativo** Opzioni per la variabile. `options.$name` (`stringa`) imposta il nome della variabile nel contesto di traduzione, in modo analogo alla prop `name` di [``](/docs/react/reference/components/var). ## Valore restituito [#returns] **Tipo** `stringa` Una stringa contenente marker compatibili con ICU che preserva il valore originale e lo risolve in runtime. ## Esempi [#examples] ```tsx title="BasicUsage.tsx" import { derive, declareVar, gt } from 'gt-react'; function getGreeting(name) { return `Hello, ${declareVar(name)}!`; } function Component() { const name = 'Brian'; const message = gt(`${derive(getGreeting(name))} Welcome back.`); return

{message}

; } ``` ```tsx title="WithOtherFunctions.tsx" import { declareVar, derive, useGT } from 'gt-react'; function Component({ name1, name2 }) { const gt = useGT(); const message = gt('Hello, {name1}! My name is ' + derive(declareVar(name2)), { name1 }); return

{message}

; // "Ciao, Brian! Mi chiamo Archie" } ``` ## Note [#notes] * Usa `declareVar` solo all'interno di funzioni chiamate da [`derive`](/docs/react/reference/functions/derive). * Aggiunge marker ICU che potrebbero interferire con l'elaborazione delle stringhe; usa [`decodeVars`](/docs/react/reference/functions/decode-vars) per estrarre i valori originali quando necessario. * Le variabili sono escluse dalla traduzione e preservate nel Runtime. * Per la forma JSX, vedi il componente [``](/docs/react/reference/components/var).