# General Translation Python SDKs: m_fallback
URL: https://generaltranslation.com/zh/docs/python/reference/functions/m-fallback.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 在 General Translation Python 中，解析来自 msg 的编码消息，或插值普通字符串。m_fallback 的 API 参考。

解析由 [`msg`](/docs/python/reference/functions/msg) 生成的值：如果它是编码消息，就将其解码；否则，就插值普通字符串。当某个值可能带有也可能不带有编码选项时，在渲染时使用它。

## 概述 [#overview]

向 `m_fallback` 传入编码字符串 (或 `None`) 以及可选的插值变量。如果输入是真正的编码消息，它会返回解码后的消息；如果输入是普通字符串，它会返回插值后的字符串；如果输入为假值，则原样返回输入。

```python
from gt_i18n import m_fallback

m_fallback(encoded_message)
```

签名：

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

从 `gt_i18n` 导入 `m_fallback`。框架包不会重新导出该项。

## 工作方式 [#how-it-works]

* **空输入。** 如果 `encoded_msg` 为假值 (例如 `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` 结果、普通字符串或 `None`。

### `kwargs` [#kwargs]

**类型** 关键字参数 · **可选**

插值变量，仅在输入为普通 (未编码) 的字符串时使用。

## 返回值 [#returns]

**类型** `str | None`

解码后的消息、插值后的普通字符串，或者在输入为假值时原样返回该输入。

## 示例 [#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.
