# gt-node: General Translation Node.js SDK: declareVar
URL: https://generaltranslation.com/fr/docs/node/reference/functions/declare-var.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Déclare une valeur comme non dérivable dans un appel à derive de General Translation. Référence de l’API pour declareVar.

Une valeur non dérivable est une valeur que le compilateur de General Translation ne peut pas analyser statiquement. Utilisez `declareVar` dans un appel à [`derive`](/docs/node/reference/functions/derive) pour isoler la partie d’une expression qui doit être traitée comme une variable d’exécution.

## Vue d’ensemble [#overview]

Appelez `declareVar` avec une valeur pour obtenir une chaîne ICU `select` encodée qui stocke cette valeur dans sa branche `other`. Cela permet au compilateur de garder le contenu environnant dérivable, tout en traitant la valeur encapsulée comme une variable.

```ts
import { declareVar, derive, getGT } from 'gt-node';

const gt = await getGT();
const message = gt(`My name is ${derive(declareVar(getName()))}`);
```

Signature :

```ts
declareVar(
  variable: string | number | boolean | null | undefined,
  options?: { $name?: string }
): string
```

## Fonctionnement [#how-it-works]

* **Marqueur non dérivable.** `declareVar` encapsule son argument dans une expression ICU `select` (`{_gt_, select, other {...}}`) afin que le compilateur le traite comme une variable plutôt que comme une valeur statique.
* **Nom facultatif.** Passez `$name` pour identifier la variable dans la sortie encodée.
* **Récupération.** Décodez une chaîne contenant la sortie de `declareVar` pour retrouver sa forme interpolée avec [`decodeVars`](/docs/node/reference/functions/decode-vars).

## Paramètres [#parameters]

| Paramètre               | Description                              | Type                                               | Facultatif | Par défaut |
| ----------------------- | ---------------------------------------- | -------------------------------------------------- | ---------- | ---------- |
| [`variable`](#variable) | La valeur à marquer comme non dérivable. | `string \| number \| boolean \| null \| undefined` | Non        | —          |
| [`options`](#options)   | Options de la déclaration.               | `{ $name?: string }`                               | Oui        | —          |

### `variable` [#variable]

**Type** `string | number | boolean | null | undefined` · **Obligatoire**

La valeur à marquer comme non dérivable. Elle est convertie en chaîne de caractères, puis nettoyée.

### `options` [#options]

**Type** `{ $name?: string }` · **Facultatif**

* `$name?: string` — un nom facultatif pour la variable, inclus dans la sortie encodée.

## Renvoie [#returns]

**Type** `string`

Une chaîne ICU `select` encodée contenant la valeur (et, le cas échéant, le nom).

## Exemples [#examples]

```ts
import { declareVar, derive, getGT } from 'gt-node';

function derivableName() {
  if (someCondition) {
    return declareVar(Math.random().toString());
  }
  return 'John Doe';
}

const gt = await getGT();
const greeting = gt(`My name is ${derive(derivableName())}`);
```

## Notes [#notes]

* Utilisez `declareVar` uniquement à l’intérieur d’un appel à [`derive`](/docs/node/reference/functions/derive).
* Décodez les variables encodées en texte avec [`decodeVars`](/docs/node/reference/functions/decode-vars).

## Sitemap

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