# General Translation Python SDKs: hash_message URL: https://generaltranslation.com/fr/docs/python/reference/functions/hash-message.mdx --- title: hash_message description: Calcule le hachage d’une chaîne ICU MessageFormat pour la recherche de traductions dans General Translation Python. Référence API de hash_message. --- Calcule le hachage d’une chaîne ICU MessageFormat en clé hexadécimale utilisée pour retrouver sa traduction. Il s’agit du même hachage que [`t`](/docs/python/reference/functions/t) calcule en interne ; vous pouvez donc l’utiliser pour créer ou examiner un dictionnaire de traduction. ## Vue d’ensemble [#overview] Appelez `hash_message` avec une chaîne source et, éventuellement, les arguments nommés `context`, `id` et `max-chars`. La fonction indexe les variables du message, puis calcule son hachage avec `data_format="ICU"`. ```python from gt_i18n import hash_message h = hash_message("Hello, world!") ``` Signature : ```python hash_message( message: str, *, context: str | None = None, id: str | None = None, max_chars: int | None = None, ) -> str ``` Importez `hash_message` depuis `gt_i18n`. Il n’est pas réexporté par les packages du framework. ## Comment ça marche [#how-it-works] * **Indexation des variables.** Le message est d’abord normalisé en indexant ses variables, afin que des messages équivalents produisent le même hachage. * **Hachage.** Le message normalisé est haché avec `context`, `id` et `max_chars`, conformément à l’implémentation JS de gt-i18n. Modifier l’un de ces éléments produit un hachage différent. ## Paramètres [#parameters] | Paramètre | Description | Type | Facultatif | Par défaut | | ------------------------- | --------------------------------------------- | ------------- | ---------- | ---------- | | [`message`](#message) | La chaîne source au format ICU MessageFormat. | `str` | Non | — | | [`context`](#context) | Chaîne de contexte pour lever les ambiguïtés. | `str \| None` | Oui | `None` | | [`id`](#id) | Identifiant explicite du message. | `str \| None` | Oui | `None` | | [`max_chars`](#max-chars) | Limite maximale de caractères. | `int \| None` | Oui | `None` | ### `message` [#message] **Type** `str` · **Obligatoire** Chaîne source au format ICU MessageFormat à hacher. ### `context` [#context] **Type** `str | None` · **Facultatif** · **Par défaut** `None` Contexte facultatif (option `_context` dans `t`), utilisé pour distinguer des textes source identiques. ### `id` [#id] **Type** `str | None` · **Facultatif** · **Par défaut** `None` Identifiant explicite facultatif du message (option `_id` dans `t`). ### `max_chars` [#max-chars] **Type** `int | None` · **Facultatif** · **Par défaut** `None` Limite facultative du nombre maximal de caractères (option `_max_chars` dans `t`). ## Valeur de retour [#returns] **Type** `str` Chaîne de hachage hexadécimale utilisée comme clé de recherche de traduction. ## Exemple [#example] ```python from gt_i18n import hash_message # Construire un dictionnaire de traduction indexé par hachage translations = { hash_message("Hello, world!"): "Hola, mundo!", } ```