# General Translation Python SDKs: hash_message
URL: https://generaltranslation.com/fr/docs/python/reference/functions/hash-message.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Calcule le hachage d’une chaîne au format ICU MessageFormat pour la recherche de traductions dans General Translation Python. Référence API de hash_message.

Renvoie la clé hexadécimale utilisée pour retrouver la traduction d’une chaîne au format ICU MessageFormat, calculée en hachant la chaîne. 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`](/docs/python/reference/functions/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`](/docs/python/reference/functions/t)).

### `max_chars` [#max-chars]

**Type** `int | None` · **Facultatif** · **Par défaut** `None`

Limite facultative de la limite maximale de caractères (option `_max_chars` dans [`t`](/docs/python/reference/functions/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!",
}
```

## Sitemap

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