# General Translation Python SDKs: interpolate_message URL: https://generaltranslation.com/it/docs/python/reference/functions/interpolate-message.mdx --- title: interpolate_message description: Interpola le variabili in una stringa ICU MessageFormat in General Translation Python. Riferimento API per interpolate_message. --- Interpola le variabili in una stringa ICU MessageFormat. Si tratta del formattatore di basso livello su cui si basano [`t`](/docs/python/reference/functions/t) e [`t_fallback`](/docs/python/reference/functions/t-fallback); non effettua alcuna ricerca di traduzione. ## Panoramica [#overview] Chiama `interpolate_message` con un messaggio, un `dict` di opzioni e un'impostazione regionale facoltativa. A differenza di `t` e `t_fallback`, le variabili vengono passate come `dict` posizionale, non come argomenti con nome. ```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` da `gt_i18n`. Il framework non lo riesporta nei suoi pacchetti. ## Come funziona [#how-it-works] * **Filtro delle variabili.** Le chiavi GT riservate vengono rimosse da `options`, lasciando solo le variabili dell'utente. * **Variabili dichiarate.** Estrae le variabili `_gt_` dichiarate dal messaggio `__fallback` (sorgente) e, quando presenti, riduce le select indicizzate nel messaggio a riferimenti semplici, così che la traduzione possa riordinarle. * **Formattazione.** Formatta il messaggio con ICU MessageFormat usando l'insieme combinato delle variabili, quindi applica il limite `_max_chars` se impostato. * **Gestione degli errori.** In caso di errore di formattazione, riprova con la sorgente `__fallback` (azzerando `__fallback` per evitare un loop); se non è disponibile un fallback, restituisce il messaggio non elaborato, applicando il limite se `_max_chars` è impostato. ## Parametri [#parameters] | Parametro | Descrizione | Tipo | Facoltativo | Predefinito | | --------------------- | ------------------------------------------------------- | ------------------- | ----------- | ----------- | | [`message`](#message) | La stringa ICU MessageFormat da interpolare. | `str` | No | — | | [`options`](#options) | Variabili e opzioni GT come dizionario. | `dict[str, object]` | No | — | | [`locale`](#locale) | Impostazione regionale usata per la formattazione ICU. | `str \| None` | Sì | `None` | ### `message` [#message] **Tipo** `str` · **Obbligatorio** La stringa ICU MessageFormat in cui eseguire l'interpolazione. ### `options` [#options] **Tipo** `dict[str, object]` · **Obbligatorio** Variabili dell'utente più chiavi GT facoltative: `_max_chars` per impostare un limite e `__fallback` (il messaggio sorgente), usato per risolvere le variabili `_gt_` dichiarate e per ritentare in caso di errore. ### `locale` [#locale] **Tipo** `str | None` · **Facoltativo** · **Predefinito** `None` L'impostazione regionale passata alla formattazione ICU (per numeri, date e regole di plurale). ## Restituisce [#returns] **Tipo** `str` La stringa interpolata, oppure il messaggio originale/fallback se la formattazione non va a buon fine. ## Esempio [#example] ```python from gt_i18n import interpolate_message interpolate_message("{greeting}, {name}!", {"greeting": "Hi", "name": "Bob"}) # → "Hi, Bob!" # Messaggio tradotto che fa riferimento alle variabili dichiarate dalla sorgente per indice interpolate_message("Bienvenido de nuevo, {_gt_1}!", {"__fallback": source}) ```