# General Translation Python SDKs: decode_vars
URL: https://generaltranslation.com/zh/docs/python/reference/functions/decode-vars.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 在 Python 中将字符串里的 General Translation 变量标记替换为其对应的值。decode_vars 的 API 参考。

将 ICU 字符串中的 `{_gt_, select, other {value}}` 变量标记替换为其嵌入的值。使用它可以从通过 [`declare_var`](/docs/python/reference/functions/declare-var) 构建的字符串中还原出填入值后的纯文本字符串。

## 概览 [#overview]

使用可能包含 General Translation 变量标记的 ICU 字符串调用 `decode_vars`。它会返回一个字符串，其中每个标记都会被替换为其嵌入的值。

```python
from gt_i18n import declare_var, decode_vars

marked = f"Signed in as {declare_var('a@b.com', name='email')}"
decode_vars(marked)  # "以 a@b.com 身份登录"
```

签名：

```python
decode_vars(icu_string: str) -> str
```

由 `gt_i18n` 和各框架包从 `generaltranslation.static` 重新导出。

## 工作原理 [#how-it-works]

* **快速路径。** 如果 string 中不包含 `_gt_` 标记，则原样返回。
* **标记展开。** 它会遍历 ICU AST，查找未编索引的 `_gt_` select，并将每一处替换为其 `other` 子句中的值 (如果不存在，则为空 string) 。

## 参数 [#parameters]

| 参数                          | 描述                               | 类型    | 可选 | 默认值 |
| --------------------------- | -------------------------------- | ----- | -- | --- |
| [`icu_string`](#icu-string) | 可能包含变量标记的 ICU MessageFormat 字符串。 | `str` | 否  | —   |

### `icu_string` [#icu-string]

**Type** `str` · **必填**

一个可能包含 General Translation 变量标记的 ICU MessageFormat 字符串。

## 返回值 [#returns]

**类型** `str`

将变量标记替换为其嵌入值后的字符串。

## 示例 [#example]

```python
from gt_i18n import declare_var, decode_vars

marked = f"You have {declare_var('5', name='count')} messages"
decode_vars(marked)  # "You have 5 messages"
```

## Sitemap

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