# General Translation Python SDKs: hash_message URL: https://generaltranslation.com/ru/docs/python/reference/functions/hash-message.mdx --- title: hash_message description: Хеширует строку ICU MessageFormat для поиска перевода в General Translation Python. Справочник API для hash_message. --- Преобразует строку ICU MessageFormat в шестнадцатеричный ключ, используемый для поиска её перевода. Это тот же хеш, который [`t`](/docs/python/reference/functions/t) вычисляет внутри, поэтому вы можете использовать его для создания или проверки словаря переводов. ## Обзор [#overview] Вызовите `hash_message`, передав исходную строку и необязательные именованные параметры `context`, `id` и `max-chars`. Функция индексирует переменные сообщения, а затем вычисляет его хеш с `data_format="ICU"`. ```python from gt_i18n import hash_message h = hash_message("Hello, world!") ``` Сигнатура: ```python hash_message( message: str, *, context: str | None = None, id: str | None = None, max_chars: int | None = None, ) -> str ``` Импортируйте `hash_message` из `gt_i18n`. `hash_message` не реэкспортируется пакетами фреймворка. ## Как это работает [#how-it-works] * **Индексация переменных.** Сначала сообщение нормализуется за счёт индексации переменных, чтобы эквивалентные сообщения давали одинаковый хеш. * **Хеширование.** Затем вычисляется хеш нормализованного сообщения вместе с `context`, `id` и `max_chars` в соответствии с реализацией JS gt-i18n. Изменение любого из этих значений приводит к другому хешу. ## Параметры [#parameters] | Параметр | Описание | Тип | Необязательный | По умолчанию | | ------------------------- | -------------------------------------------- | ------------- | -------------- | ------------ | | [`message`](#message) | Исходная строка в формате ICU MessageFormat. | `str` | Нет | — | | [`context`](#context) | Строка контекста для снятия неоднозначности. | `str \| None` | Да | `None` | | [`id`](#id) | Явный идентификатор сообщения. | `str \| None` | Да | `None` | | [`max_chars`](#max-chars) | Максимально допустимое количество символов. | `int \| None` | Да | `None` | ### `message` [#message] **Тип** `str` · **Обязательно** Исходная строка ICU MessageFormat, для которой вычисляется хеш. ### `context` [#context] **Тип** `str | None` · **Необязательно** · **По умолчанию** `None` Необязательный контекст (параметр `_context` в `t`), который используется, чтобы различать одинаковый исходный текст. ### `id` [#id] **Тип** `str | None` · **Необязательный** · **По умолчанию** `None` Необязательный явно заданный идентификатор сообщения (опция `_id` в `t`). ### `max_chars` [#max-chars] **Тип** `int | None` · **Необязательно** · **По умолчанию** `None` Необязательное ограничение на максимальное число символов (параметр `_max_chars` в `t`). ## Возвращает [#returns] **Тип** `str` Шестнадцатеричная хеш-строка, используемая как ключ для поиска перевода. ## Пример [#example] ```python from gt_i18n import hash_message # Создать словарь переводов с хешами в качестве ключей translations = { hash_message("Hello, world!"): "Hola, mundo!", } ```