# General Translation Python SDKs: msg
URL: https://generaltranslation.com/ru/docs/python/reference/functions/msg.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Регистрирует сообщение вместе с параметрами перевода как закодированную строку в General Translation Python. Справочник API для msg.

Возвращает закодированную строку, которая содержит и сообщение, и параметры его перевода, чтобы позже её можно было декодировать и обработать. Используйте это, когда сообщение создаётся в одном месте, а обрабатывается в другом.

## Обзор [#overview]

Вызовите `msg`, передав исходную строку и любые переменные или зарезервированные параметры. Без именованных аргументов функция возвращает сообщение без изменений. С параметрами она возвращает закодированную строку `{interpolated}:{base64options}`, которую могут читать [`m_fallback`](/docs/python/reference/functions/m-fallback), [`decode_msg`](/docs/python/reference/functions/decode-msg) и [`decode_options`](/docs/python/reference/functions/decode-options).

```python
from gt_i18n import msg

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

Сигнатура:

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

Импортируйте `msg` из `gt_i18n`. Пакеты фреймворка не экспортируют его повторно.

## Как это работает [#how-it-works]

* **Сокращённый вариант без параметров.** Если `kwargs` пуст, функция возвращает `message` без изменений.
* **Интерполяция.** Функция интерполирует сообщение с пользовательскими переменными (без зарезервированных ключей), чтобы сформировать человекочитаемый префикс.
* **Кодирование.** Функция вычисляет хеш сообщения (или использует переданный `__hash`), затем кодирует в base64 JSON с полезной нагрузкой параметров, включающей все `kwargs`, а также `__source` и `__hash`, и возвращает `"{interpolated}:{encoded}"`.
* **Защита от ошибок.** Если интерполяция завершается ошибкой, функция возвращает исходное сообщение.

## Параметры [#parameters]

| Параметр              | Описание                                                                                    | Тип          | Необязательный | По умолчанию |
| --------------------- | ------------------------------------------------------------------------------------------- | ------------ | -------------- | ------------ |
| [`message`](#message) | Исходная строка в формате ICU MessageFormat.                                                | `str`        | Нет            | —            |
| [`kwargs`](#kwargs)   | Переменные интерполяции и зарезервированные параметры GT (`_context`, `_id`, `_max_chars`). | keyword args | Да             | —            |

### `message` [#message]

**Тип** `str` · **Обязательно**

Исходная строка в формате ICU MessageFormat, которую нужно зарегистрировать.

### `kwargs` [#kwargs]

**Тип** именованные аргументы · **Необязательно**

Переменные интерполяции и зарезервированные параметры `_context`, `_id` и `_max_chars`, которые включаются в хеш. Все ключи сохраняются в закодированной полезной нагрузке.

## Возвращает [#returns]

**Тип** `str`

Если параметры не переданы, сообщение возвращается без изменений; в противном случае — как закодированная строка `{interpolated}:{base64options}`.

## Пример [#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.
