# General Translation Changelog: gt 2.12.0: Derivación de objetos y diccionarios
URL: https://generaltranslation.com/es/blog/gt-cli_v2_12_0.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 
Authors: Ernest McCarter
Published: 2026-03-19

## Descripción general

[`derive()`](/docs/react/reference/functions/derive) ahora puede resolver valores de objetos y listas, no solo valores devueltos por funciones. Esta misma compatibilidad también se extiende a [`derive()`](/docs/python/reference/functions/derive) de Python con diccionarios y listas. Esto significa que la CLI puede extraer estáticamente todas las posibles variantes de cadena de las estructuras de datos en tiempo de construcción, creando una entrada de traducción independiente para cada una.

Esto se basa en la [compatibilidad con tagged template para `derive()`](/devlog/gt-react_v10_15_0) añadida en gt-react@10.15.0.

## Acceso a objetos y listas

Dado un objeto con variantes de cadena, [`derive()`](/docs/react/reference/functions/derive) extrae todos los valores:

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

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

La CLI resuelve los tres valores y registra una entrada de traducción independiente para cada uno.

Esto funciona tanto con acceso calculado (`obj[key]`) como con acceso estático (`obj.prop`) y admite anidamiento:

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

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

Las listas funcionan igual:

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

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

## Python

La misma resolución de objeto/lista funciona en Python con diccionarios y listas:

```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]))
```

Pasa la expresión derivada como primer argumento o colócala dentro de una f-string que se pase como ese argumento. Si la colocas en el valor de una interpolación con clave, no se extraerán las entradas del diccionario ni de la lista.

## Requisitos

* Los objetos y arrays deben declararse con `const` (TypeScript) o a nivel de módulo (Python).
* Se admite la sintaxis spread (`...base`) y se aplana durante la extracción.
* Las anotaciones de TypeScript (`as const`, `satisfies`) se desenvuelven automáticamente.
* Los spreads circulares se detectan y generan una advertencia en lugar de dejar el proceso colgado.

## Enlaces

* [Anterior: `derive()` en tagged templates (gt-react@10.15.0)](/devlog/gt-react_v10_15_0)
* [Referencia de la API de `derive()`](/docs/react/reference/functions/derive)
* [PR #1137](https://github.com/generaltranslation/gt/pull/1137)

## Sitemap

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