# General Translation Python SDKs: Declarar variables y variantes
URL: https://generaltranslation.com/es/docs/python/guides/declaring-variables.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Cómo preservar valores dinámicos y generar variantes finitas en cadenas de Python traducidas con General Translation.

Algunos valores dentro de una cadena traducida no deben traducirse. El SDK de Python te ofrece dos marcadores para ello: [`declare_var`](/docs/python/reference/functions/declare-var) para valores realmente dinámicos, y [`derive`](/docs/python/reference/functions/derive) para un valor con un conjunto pequeño y fijo de resultados posibles.

## Conserva un valor dinámico con `declare_var` [#declare-var]

Envuelve un valor de tiempo de ejecución —un nombre de usuario, un correo electrónico o una cantidad— con [`declare_var`](/docs/python/reference/functions/declare-var) para que quede incrustado en el mensaje y se conserve en lugar de traducirse. Devuelve una construcción ICU `{_gt_, select, ...}` que se coloca dentro de una llamada a [`t`](/docs/python/reference/functions/t).

```python
from gt_flask import t, declare_var

t(f"Signed in as {declare_var(email, name='email')}")
```

El `name` opcional es una etiqueta descriptiva de la variable, útil para los traductores y para [`decode_vars`](/docs/python/reference/functions/decode-vars).

## Genera variantes finitas con `derive` [#derive]

Cuando una frase incorpora un valor con un conjunto pequeño y fijo de resultados posibles, no basta con traducirla una sola vez: en otros idiomas, las palabras que la rodean se flexionan de manera distinta según cada resultado. [`derive`](/docs/python/reference/functions/derive) marca ese valor para que la CLI genere una traducción independiente para cada variante. En tiempo de ejecución, [`derive`](/docs/python/reference/functions/derive) devuelve la entrada sin cambios; en el momento de la extracción, la CLI produce una entrada por resultado.

```python
from gt_flask import t, derive

gender = "male"
t(f"The {derive('boy' if gender == 'male' else 'girl')} is playing.")
# Genera: "The boy is playing." y "The girl is playing."
```

Cada variante se traduce de forma independiente, por lo que cada versión suena natural en todos los idiomas.

*Nota: Mantén reducido el conjunto de resultados derivados. Cada llamada adicional a [`derive`](/docs/python/reference/functions/derive) multiplica el número de entradas generadas.*

## Combina ambos [#combine]

Dentro de una oración derivada, aún puedes incrustar un valor realmente dinámico con [`declare_var`](/docs/python/reference/functions/declare-var) para conservarlo en lugar de traducirlo.

```python
from gt_flask import t, derive, declare_var

t(f"{declare_var(name, name='name')} adopted a {derive('cat' if is_cat else 'dog')}.")
```

## Recupera valores incrustados con `decode_vars` [#decode]

[`decode_vars`](/docs/python/reference/functions/decode-vars) reemplaza las construcciones `{_gt_, select, other {value}}` de una cadena por sus valores incrustados; es útil cuando necesitas recuperar la cadena sin formato, ya completada, a partir de una marcada.

```python
from gt_i18n import declare_var, decode_vars

marked = f"Signed in as {declare_var('a@b.com', name='email')}"
decode_vars(marked)  # "Sesión iniciada como a@b.com"
```

*Nota: [`declare_static`](/docs/python/reference/functions/declare-static) es un alias en desuso de [`derive`](/docs/python/reference/functions/derive) que se mantiene por compatibilidad con versiones anteriores. Usa [`derive`](/docs/python/reference/functions/derive) en el código nuevo.*

## Next steps

- /docs/python/guides/translating-strings
- /docs/python/guides/detecting-locale
- /docs/python/guides/configuring
- /docs/python/guides/storing-translations

## Sitemap

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