# General Translation Python SDKs: interpolate_message URL: https://generaltranslation.com/fr/docs/python/reference/functions/interpolate-message.mdx --- title: interpolate_message description: Interpoler des variables dans une chaîne ICU MessageFormat dans General Translation Python. Référence de l’API pour interpolate_message. --- Interpole des variables dans une chaîne ICU MessageFormat. Il s’agit du formateur de bas niveau sur lequel reposent [`t`](/docs/python/reference/functions/t) et [`t_fallback`](/docs/python/reference/functions/t-fallback) ; il n’effectue aucune recherche de traduction. ## Vue d’ensemble [#overview] Appelez `interpolate_message` avec un message, un dictionnaire d’options et un paramètre régional facultatif. Contrairement à `t` et `t_fallback`, les variables sont passées sous la forme d’un `dict` en argument positionnel, et non comme arguments nommés. ```python from gt_i18n import interpolate_message interpolate_message("Hello, {name}!", {"name": "Alice"}) ``` Signature : ```python interpolate_message( message: str, options: dict[str, object], locale: str | None = None, ) -> str ``` Importez `interpolate_message` depuis `gt_i18n`. Il n’est pas réexporté par les packages du framework. ## Fonctionnement [#how-it-works] * **Filtrage des variables.** Les clés GT réservées sont supprimées de `options`, de sorte qu’il ne reste que les variables utilisateur. * **Variables déclarées.** La fonction extrait les variables `_gt_` déclarées du message `__fallback` (source) et, lorsqu’il y en a, ramène les sélections indexées du message à de simples références afin qu’une traduction puisse les réordonner. * **Formatage.** Elle formate le message avec ICU MessageFormat à l’aide des variables combinées, puis applique une limite `_max_chars` lorsqu’elle est définie. * **Gestion des erreurs.** En cas d’erreur de formatage, elle réessaie avec le message source `__fallback` (en vidant `__fallback` pour éviter une boucle) ; en l’absence de contenu de secours, elle renvoie le message brut, avec la limite appliquée lorsque `_max_chars` est défini. ## Paramètres [#parameters] | Paramètre | Description | Type | Facultatif | Par défaut | | --------------------- | --------------------------------------------------- | ------------------- | ---------- | ---------- | | [`message`](#message) | La chaîne ICU MessageFormat à interpoler. | `str` | Non | — | | [`options`](#options) | Variables et options GT sous forme de dictionnaire. | `dict[str, object]` | Non | — | | [`locale`](#locale) | Paramètre régional utilisé pour le formatage ICU. | `str \| None` | Oui | `None` | ### `message` [#message] **Type** `str` · **Obligatoire** La chaîne au format ICU MessageFormat à interpoler. ### `options` [#options] **Type** `dict[str, object]` · **Obligatoire** Variables utilisateur, ainsi que des clés GT facultatives : `_max_chars` pour définir une limite, et `__fallback` (le message source), utilisés pour résoudre les variables `_gt_` déclarées et réessayer en cas d’erreur. ### `locale` [#locale] **Type** `str | None` · **Facultatif** · **Par défaut** `None` Le paramètre régional transmis au formatage ICU (pour les nombres, les dates et les règles de pluriel). ## Renvoie [#returns] **Type** `str` La chaîne interpolée, ou le message brut/contenu de secours si le formatage échoue. ## Exemple [#example] ```python from gt_i18n import interpolate_message interpolate_message("{greeting}, {name}!", {"greeting": "Hi", "name": "Bob"}) # → "Hi, Bob!" # Message traduit qui référence les variables déclarées dans la source par index interpolate_message("Bienvenido de nuevo, {_gt_1}!", {"__fallback": source}) ```