# General Translation Changelog: gt 2.12.0: Dérivation d'Object et de dictionnaires
URL: https://generaltranslation.com/fr/blog/gt-cli_v2_12_0.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 
Authors: Ernest McCarter
Published: 2026-03-19

## Vue d’ensemble

[`derive()`](/docs/react/reference/functions/derive) peut désormais résoudre des valeurs depuis des Objects et des tableaux, et plus seulement à partir de valeurs de retour de fonction. La même prise en charge s’applique aussi au [`derive()`](/docs/python/reference/functions/derive) Python avec les dictionnaires et les listes. Cela signifie que la CLI peut extraire statiquement toutes les variantes possibles de chaîne à partir de structures de données au build, en créant une entrée de traduction distincte pour chacune d’elles.

Cela s’appuie sur la prise en charge des [tagged templates pour `derive()`](/devlog/gt-react_v10_15_0), ajoutée dans gt-react@10.15.0.

## Accès aux objets et aux tableaux

À partir d’un objet de variantes de chaînes, [`derive()`](/docs/react/reference/functions/derive) extrait chaque valeur :

```tsx
const labels = { success: "Saved", error: "Failed", pending: "Saving..." };

t`Status: ${derive(labels[status])}`;
```

La CLI résout les trois valeurs et enregistre une entrée de traduction distincte pour chacune.

Cela fonctionne aussi bien avec l’accès calculé (`obj[key]`) qu’avec l’accès statique (`obj.prop`) et prend en charge l’imbrication :

```tsx
const messages = {
  greeting: { formal: "Good evening", casual: "Hey" },
  farewell: { formal: "Goodbye", casual: "See ya" },
};

t`${derive(messages[category][tone])}`;
```

Les tableaux fonctionnent de la même façon :

```tsx
const ranks = ["Bronze", "Silver", "Gold", "Platinum"];

t`Your rank: ${derive(ranks[level])}`;
```

## Python

La même résolution Object/tableau fonctionne en Python avec les dictionnaires et les listes :

```python
from gt_flask import t, derive

labels = { "success": "Saved", "error": "Failed" }

t(derive(labels[status_key]))
```

```python
from gt_flask import t, derive

ranks = ["Bronze", "Silver", "Gold", "Platinum"]

t(derive(ranks[level]))
```

Passez l&#39;expression dérivée comme premier argument, ou placez-la dans une f-string transmise comme argument. La placer dans une valeur d&#39;interpolation par mot-clé n&#39;extrait pas les entrées du dictionnaire ou de la liste.

## Exigences

* Les objets et les tableaux doivent être déclarés avec `const` (TypeScript) ou au niveau du module (Python).
* La syntaxe de propagation (`...base`) est prise en charge et développée lors de l&#39;extraction.
* Les annotations TypeScript (`as const`, `satisfies`) sont automatiquement supprimées.
* Les propagations circulaires sont détectées et génèrent un avertissement au lieu de bloquer le processus.

## Liens

* [Précédent : `derive()` dans les tagged templates (gt-react@10.15.0)](/devlog/gt-react_v10_15_0)
* [Référence de l’API `derive()`](/docs/react/reference/functions/derive)
* [PR n°1137](https://github.com/generaltranslation/gt/pull/1137)

## Sitemap

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