# General Translation Python SDKs: decode_vars URL: https://generaltranslation.com/zh/docs/python/reference/functions/decode-vars.mdx --- title: decode_vars 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" ```