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

Возвращает значение, созданное с помощью [`msg`](/docs/python/reference/functions/msg): если это закодированное сообщение, оно декодируется; в противном случае интерполируется обычная строка. Используйте во время рендеринга, когда значение может как содержать закодированные параметры, так и не содержать их.

## Обзор [#overview]

Вызовите `m_fallback` с закодированной строкой (или `None`) и необязательными переменными для интерполяции. Функция возвращает декодированное сообщение, если входное значение действительно является закодированным сообщением, интерполированную строку, если это обычная строка, или входное значение без изменений, если оно является `falsy`.

```python
from gt_i18n import m_fallback

m_fallback(encoded_message)
```

Сигнатура:

```python
m_fallback(encoded_msg: str | None, **kwargs: object) -> str | None
```

Импортируйте `m_fallback` из `gt_i18n`. Он не реэкспортируется из пакетов фреймворка.

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

* **Пустой ввод.** Если `encoded_msg` имеет falsy-значение (например, `None` или `""`), он возвращается без изменений.
* **Проверка на закодированный.** Функция декодирует параметры и проверяет, представляют ли они закодированный-перевод (то есть содержат и `__hash`, и `__source`).
* **Декодирование или интерполяция.** Если значение закодировано, возвращается результат [`decode_msg`](/docs/python/reference/functions/decode-msg) для входных данных. В противном случае вызывается [`t_fallback`](/docs/python/reference/functions/t-fallback), который интерполирует строку с помощью `kwargs`.

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

| Параметр                      | Описание                                                                                           | Тип           | Необязательный | По умолчанию |
| ----------------------------- | -------------------------------------------------------------------------------------------------- | ------------- | -------------- | ------------ |
| [`encoded_msg`](#encoded-msg) | Закодированный результат [`msg`](/docs/python/reference/functions/msg), обычная строка или `None`. | `str \| None` | Нет            | —            |
| [`kwargs`](#kwargs)           | Переменные, используемые только при интерполяции обычной строки.                                   | keyword args  | Да             | —            |

### `encoded_msg` [#encoded-msg]

**Тип** `str | None` · **Обязательный**

Значение, которое нужно разрешить. Это может быть закодированный результат [`msg`](/docs/python/reference/functions/msg), обычная строка или `None`.

### `kwargs` [#kwargs]

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

Переменные интерполяции, применяются только если входные данные — обычная строка (не в закодированном виде).

## Возвращаемое значение [#returns]

**Тип** `str | None`

Декодированное сообщение, интерполированная обычная строка или исходное falsy-значение без изменений.

## Пример [#example]

```python
from gt_i18n import msg, m_fallback

encoded = msg("Save", _context="button")
m_fallback(encoded)              # "Save"
m_fallback("Hello, {name}!", name="Alice")  # "Hello, Alice!"
m_fallback(None)                 # None
```

## Sitemap

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