# General Translation React SDKs (gt-react, gt-next, gt-react-native): declareVar
URL: https://generaltranslation.com/it/docs/react/reference/functions/declare-var.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Contrassegna una variabile non traducibile all'interno del contenuto derivato. Riferimento API per declareVar.

La funzione `declareVar` contrassegna il contenuto dinamico all&#39;interno del contenuto [`derive`](/docs/react/reference/functions/derive) che deve essere escluso dalla traduzione e gestito come variabile in fase di runtime. È l&#39;equivalente in formato stringa del componente [`<Var>`](/docs/react/reference/components/var).

*Disponibile in `gt-react`, `gt-next`, `gt-tanstack-start` e `gt-react-native`.*

## Panoramica [#overview]

Racchiudi un valore dinamico all&#39;interno di una funzione analizzata da [`derive`](/docs/react/reference/functions/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&#39;interno di funzioni chiamate da [`derive`](/docs/react/reference/functions/derive). Per rimuovere i marker ICU per l&#39;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&#39;istruzione ICU `select`.
2. Lo contrassegna come contenuto dinamico per il processo di traduzione.
3. Lo esclude dal calcolo dell&#39;hash di traduzione.
4. Mantiene il valore originale per l&#39;interpolazione in fase di runtime.

L&#39;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 [`<Var>`](/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]

*Gli esempi importano da `gt-react`; importa invece dal package del tuo framework.*

```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 <p>{message}</p>;
}
```

```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 <p>{message}</p>;
  // "Ciao, Brian! Mi chiamo Archie"
}
```

## Note [#notes]

* Usa `declareVar` solo all&#39;interno di funzioni chiamate da [`derive`](/docs/react/reference/functions/derive).
* Aggiunge marker ICU che potrebbero interferire con l&#39;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 [`<Var>`](/docs/react/reference/components/var).

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
