# General Translation Python SDKs: interpolate_message
URL: https://generaltranslation.com/it/docs/python/reference/functions/interpolate-message.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Interpola le variabili in una stringa ICU MessageFormat in General Translation Python. Riferimento API per interpolate_message.

`interpolate_message` è il formattatore di basso livello su cui si basano [`t`](/docs/python/reference/functions/t) e [`t_fallback`](/docs/python/reference/functions/t-fallback). Riempie una stringa ICU MessageFormat con i valori delle variabili e non effettua alcuna ricerca di traduzione.

## Panoramica [#overview]

Chiama `interpolate_message` con un messaggio, un `dict` di opzioni e un&#39;impostazione regionale facoltativa. A differenza di [`t`](/docs/python/reference/functions/t) e [`t_fallback`](/docs/python/reference/functions/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&#39;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&#39;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&#39;interpolazione.

### `options` [#options]

**Tipo** `dict[str, object]` · **Obbligatorio**

Variabili dell&#39;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&#39;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})
```

## Sitemap

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