# General Translation Python SDKs: t
URL: https://generaltranslation.com/es/docs/python/reference/functions/t.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Traduce e interpola una cadena de ICU MessageFormat con General Translation en Python. Referencia de la API para t.

Traduce e interpola una cadena de ICU MessageFormat en la configuración regional activa de la solicitud. `t` es la principal función de traducción orientada al usuario.

## Resumen general [#overview]

Llama a `t` con una cadena de origen y las variables de interpolación como argumentos con nombre. Devuelve la cadena traducida e interpolada para la configuración regional actual, y usa la cadena de origen interpolada como alternativa cuando no se encuentra ninguna traducción.

```python
from gt_flask import t  # o bien: from gt_fastapi import t, o bien: from gt_i18n import t

message = t("Hello, {name}!", name="World")
```

Firma:

```python
t(message: str, **kwargs: object) -> str
```

*Nota: `t` usa el administrador activo, por lo que [`initialize_gt`](/docs/python/reference/functions/initialize-gt) (o [`set_i18n_manager`](/docs/python/reference/functions/set-i18n-manager)) debe ejecutarse primero. De lo contrario, genera `RuntimeError`.*

## Cómo funciona [#how-it-works]

* **Comprobación de la configuración regional.** Lee la configuración regional actual desde el administrador. Si esa configuración regional no requiere traducción (por ejemplo, si coincide con la configuración regional predeterminada), omite la búsqueda e interpola solo el texto fuente.
* **Búsqueda por hash.** De lo contrario, calcula el hash del mensaje (con `_context`, `_id` y `_max_chars`) y lee de la caché en memoria la traducción almacenada para esa configuración regional. La caché es síncrona, por lo que la traducción ya debe estar cargada; consulta [carga anticipada](/docs/python/guides/configuring#preload).
* **Interpolación.** La traducción encontrada se interpola con ICU MessageFormat, usando tus variables y el texto fuente como `__fallback` para resolver las variables `_gt_` declaradas.
* **Contenido alternativo.** Si no se encuentra ninguna traducción, interpola y devuelve la cadena fuente.

## Parámetros [#parameters]

| Parámetro             | Descripción                                             | Tipo                        | Opcional | Predeterminado |
| --------------------- | ------------------------------------------------------- | --------------------------- | -------- | -------------- |
| [`message`](#message) | La cadena de origen de ICU MessageFormat.                  | `str`                       | No       | —              |
| [`kwargs`](#kwargs)   | Variables de interpolación y opciones reservadas de GT. | argumentos de palabra clave | Sí       | —              |

### `message` [#message]

**Tipo** `str` · **Obligatorio**

La cadena de origen de ICU MessageFormat que se va a traducir e interpolar.

### `kwargs` [#kwargs]

**Tipo** argumentos por palabra clave · **Opcional**

Variables de interpolación que coinciden con los marcadores de posición de ICU, además de estas opciones reservadas de GT, que se excluyen de la interpolación y se incorporan al hash del mensaje:

* `_context` (`str`) — contexto adicional para desambiguar traducciones con el mismo texto de origen.
* `_id` (`str`) — un identificador personalizado para la entrada de traducción.
* `_max_chars` (`int`) — longitud máxima de caracteres aplicada a la salida.

*Una variable de usuario cuyo nombre comienza con un solo guion bajo (por ejemplo, `_name`) se sigue tratando como una variable de interpolación; solo las tres claves anteriores están reservadas.*

## Devuelve [#returns]

**Tipo** `str`

La cadena traducida e interpolada, o el texto fuente interpolado si no hay traducción disponible.

## Ejemplos [#examples]

```python
# Traducción simple
t("Hello, world!")
```

```python
# Con variables
t("Hello, {name}!", name="Alice")
```

```python
# Con contexto para desambiguar texto de origen idéntico
t("Bank", _context="financial institution")
t("Bank", _context="river bank")
```

```python
# Con f-strings y declare_var — envuelve los valores dinámicos para que se conserven
from gt_flask import t, declare_var

# Antes de i18n:
message = f"{name} goes home"

# Después de i18n — envuelve con t() y declare_var():
message = t(f"{declare_var(name, name='name')} goes home")
```

```python
# Con un límite de caracteres
t("This is a very long message that might need truncation", _max_chars=20)
```

## Sitemap

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