# General Translation Python SDKs: msg
URL: https://generaltranslation.com/fr/docs/python/reference/functions/msg.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Enregistre un message avec ses options de traduction sous forme de chaîne encodée dans General Translation Python. Référence de l’API pour msg.

Renvoie une chaîne encodée qui regroupe un message et ses options de traduction, afin qu’elle puisse être décodée et résolue ultérieurement. Utilisez-le lorsque vous composez un message à un endroit et le traitez à un autre.

## Vue d’ensemble [#overview]

Appelez `msg` avec une chaîne source et toutes les variables ou options réservées nécessaires. Sans argument nommé, elle renvoie le message inchangé. Avec des options, elle renvoie une chaîne encodée `{interpolated}:{base64options}` que [`m_fallback`](/docs/python/reference/functions/m-fallback), [`decode_msg`](/docs/python/reference/functions/decode-msg) et [`decode_options`](/docs/python/reference/functions/decode-options) peuvent lire.

```python
from gt_i18n import msg

msg("Save", _context="button")
```

Signature :

```python
msg(message: str, **kwargs: object) -> str
```

Importez `msg` depuis `gt_i18n`. Il n’est pas réexporté par les packages du framework.

## Fonctionnement [#how-it-works]

* **Raccourci sans options.** Lorsque `kwargs` est vide, la fonction renvoie `message` tel quel.
* **Interpolation.** La fonction interpole le message avec les variables utilisateur (clés réservées exclues) pour le préfixe lisible par l’humain.
* **Encodage.** Elle calcule le hachage du message (ou réutilise un `__hash` fourni), puis encode en base64 un payload JSON d’options incluant tous les kwargs ainsi que `__source` et `__hash`, et renvoie `"{interpolated}:{encoded}"`.
* **Tolérance aux erreurs.** Si l’interpolation échoue, la fonction renvoie le message d’origine.

## Paramètres [#parameters]

| Paramètre             | Description                                                                          | Type             | Facultatif | Par défaut |
| --------------------- | ------------------------------------------------------------------------------------ | ---------------- | ---------- | ---------- |
| [`message`](#message) | La chaîne source au format ICU MessageFormat.                                        | `str`            | Non        | —          |
| [`kwargs`](#kwargs)   | Variables d’interpolation et options GT réservées (`_context`, `_id`, `_max_chars`). | arguments nommés | Oui        | —          |

### `message` [#message]

**Type** `str` · **Obligatoire**

La chaîne source au format ICU MessageFormat à enregistrer.

### `kwargs` [#kwargs]

**Type** arguments nommés · **Facultatif**

Variables d’interpolation et options réservées `_context`, `_id` et `_max_chars`, qui sont prises en compte dans le calcul du hachage. Toutes les clés sont conservées dans le payload encodé.

## Renvoie [#returns]

**Type** `str`

Le message inchangé lorsqu’aucune option n’est fournie, sinon une chaîne `{interpolated}:{base64options}` encodée.

## Exemple [#example]

```python
from gt_i18n import msg, decode_msg, decode_options

encoded = msg("Hi, {name}!", name="Bob", _id="greet")
decode_msg(encoded)      # "Hi, Bob!"
decode_options(encoded)  # {"name": "Bob", "_id": "greet", "__source": "Hi, {name}!", "__hash": "..."}
```

## Sitemap

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