# General Translation Python SDKs: interpolate_message URL: https://generaltranslation.com/es/docs/python/reference/functions/interpolate-message.mdx --- title: interpolate_message description: Interpola variables en una cadena con formato de mensajes ICU en General Translation Python. Referencia de la API de interpolate_message. --- Interpola variables en una cadena con formato de mensajes ICU. Este es el formateador de bajo nivel en el que se basan [`t`](/docs/python/reference/functions/t) y [`t_fallback`](/docs/python/reference/functions/t-fallback); no realiza ninguna búsqueda de traducción. ## Descripción general [#overview] Llama a `interpolate_message` con un mensaje, un diccionario de opciones y una configuración regional opcional. A diferencia de `t` y `t_fallback`, las variables se pasan en un `diccionario` como argumento posicional, no como argumentos por palabra clave. ```python from gt_i18n import interpolate_message interpolate_message("Hello, {name}!", {"name": "Alice"}) ``` Firma: ```python interpolate_message( message: str, options: dict[str, object], locale: str | None = None, ) -> str ``` Importa `interpolate_message` desde `gt_i18n`. Los paquetes del framework no lo reexportan. ## Cómo funciona [#how-it-works] * **Filtrado de variables.** Se eliminan las claves reservadas de GT de `options`, de modo que solo queden las variables del usuario. * **Variables declaradas.** Extrae las variables `_gt_` declaradas del mensaje `__fallback` (source) y, si existe alguna, reduce los selects indexados del mensaje a referencias simples para que la traducción pueda reordenarlos. * **Formato.** Formatea el mensaje con ICU MessageFormat usando las variables combinadas y luego aplica un límite de `_max_chars` cuando está configurado. * **Manejo de errores.** Si se produce un error de formato, vuelve a intentarlo con el source `__fallback` (borrando `__fallback` para evitar un bucle); si no hay contenido alternativo, devuelve el mensaje sin procesar, con el límite aplicado cuando `_max_chars` está configurado. ## Parámetros [#parameters] | Parámetro | Descripción | Tipo | Opcional | Predeterminado | | --------------------- | ----------------------------------------------------------- | ------------------- | -------- | -------------- | | [`message`](#message) | La cadena con formato de mensajes ICU que se va a interpolar. | `str` | No | — | | [`options`](#options) | Variables y opciones de GT como un diccionario. | `dict[str, object]` | No | — | | [`locale`](#locale) | Configuración regional usada para el formateo de ICU. | `str \| None` | Sí | `None` | ### `message` [#message] **Tipo** `str` · **Obligatorio** La cadena con formato de mensajes ICU que se interpolará. ### `options` [#options] **Tipo** `dict[str, object]` · **Obligatorio** Variables del usuario más keys opcionales de GT: `_max_chars` para establecer un límite, y `__fallback` (el mensaje de origen), que se usa para resolver las variables `_gt_` declaradas y para reintentar en caso de error. ### `locale` [#locale] **Tipo** `str | None` · **Opcional** · **Predeterminado** `None` La configuración regional que se pasa al formateo de ICU (para números, fechas y reglas de pluralización). ## Devuelve [#returns] **Tipo** `str` La cadena interpolada, o el mensaje original/de contenido alternativo si falla el formateo. ## Ejemplo [#example] ```python from gt_i18n import interpolate_message interpolate_message("{greeting}, {name}!", {"greeting": "Hi", "name": "Bob"}) # → "Hi, Bob!" # Mensaje traducido que hace referencia a variables declaradas en el origen por índice interpolate_message("Bienvenido de nuevo, {_gt_1}!", {"__fallback": source}) ```