# General Translation Python SDKs: t URL: https://generaltranslation.com/es/docs/python/reference/functions/t.mdx --- title: t 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) ```