# General Translation Python SDKs: hash_message
URL: https://generaltranslation.com/es/docs/python/reference/functions/hash-message.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Genera el hash de una cadena ICU MessageFormat para la búsqueda de traducciones en General Translation Python. Referencia de la API de hash_message.

Devuelve la clave hexadecimal que se usa para buscar la traducción de una cadena ICU MessageFormat, calculada a partir del hash de la cadena. Este es el mismo hash que [`t`](/docs/python/reference/functions/t) calcula internamente, así que puedes usarlo para compilar o inspeccionar un diccionario de traducciones.

## Descripción general [#overview]

Llama a `hash_message` con una cadena de origen y los parámetros opcionales `context`, `id` y `max-chars`, que solo pueden pasarse por nombre. Indexa las variables del mensaje y luego calcula su hash con `data_format="ICU"`.

```python
from gt_i18n import hash_message

h = hash_message("Hello, world!")
```

Firma:

```python
hash_message(
    message: str,
    *,
    context: str | None = None,
    id: str | None = None,
    max_chars: int | None = None,
) -> str
```

Importa `hash_message` desde `gt_i18n`. Los paquetes del framework no lo reexportan.

## Cómo funciona [#how-it-works]

* **Indexación de variables.** Primero normaliza el mensaje indexando sus variables, para que los mensajes equivalentes generen el mismo hash.
* **Hash.** Calcula un hash del mensaje normalizado junto con `context`, `id` y `max_chars`, en consonancia con la implementación de `gt-i18n` en JS. Si cambias cualquiera de estos, se genera un hash diferente.

## Parámetros [#parameters]

| Parámetro                 | Descripción                               | Tipo          | Opcional | Predeterminado |
| ------------------------- | ----------------------------------------- | ------------- | -------- | -------------- |
| [`message`](#message)     | La cadena de origen de ICU MessageFormat. | `str`         | No       | —              |
| [`context`](#context)     | Cadena de contexto para desambiguar.      | `str \| None` | Sí       | `None`         |
| [`id`](#id)               | Identificador explícito del mensaje.      | `str \| None` | Sí       | `None`         |
| [`max_chars`](#max-chars) | Límite máximo de caracteres.              | `int \| None` | Sí       | `None`         |

### `message` [#message]

**Tipo** `str` · **Obligatorio**

La cadena de origen de ICU MessageFormat sobre la que se calculará el hash.

### `context` [#context]

**Tipo** `str | None` · **Opcional** · **Predeterminado** `None`

Contexto opcional (la opción `_context` en [`t`](/docs/python/reference/functions/t)) que se usa para desambiguar textos de origen idénticos.

### `id` [#id]

**Tipo** `str | None` · **Opcional** · **Predeterminado** `None`

Identificador de mensaje explícito opcional (la opción `_id` de [`t`](/docs/python/reference/functions/t)).

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

**Tipo** `int | None` · **Opcional** · **Valor predeterminado** `None`

Límite máximo opcional de caracteres (la opción `_max_chars` en [`t`](/docs/python/reference/functions/t)).

## Devuelve [#returns]

**Tipo** `str`

Una cadena hash hexadecimal que se usa como clave de búsqueda de la traducción.

## Ejemplo [#example]

```python
from gt_i18n import hash_message

# Construir un diccionario de traducciones indexado por hash
translations = {
    hash_message("Hello, world!"): "Hola, mundo!",
}
```

## Sitemap

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