# General Translation Python SDKs: decode_vars
URL: https://generaltranslation.com/ru/docs/python/reference/functions/decode-vars.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Заменяет маркеры переменных General Translation в строке на их значения в Python. Справочник API для decode_vars.

Заменяет маркеры переменных `{_gt_, select, other {value}}` в строке ICU на содержащиеся в них значения. Используйте это, чтобы восстановить обычную заполненную строку из строки, созданной с помощью [`declare_var`](/docs/python/reference/functions/declare-var).

## Обзор [#overview]

Передайте в `decode_vars` строку ICU, которая может содержать маркеры переменных General Translation. Функция возвращает строку, в которой каждый маркер заменён закодированным в нём значением.

```python
from gt_i18n import declare_var, decode_vars

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

Сигнатура:

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

Реэкспортируется из `generaltranslation.static` в `gt_i18n` и пакетах фреймворка.

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

* **Быстрый путь.** Если `string` не содержит маркера `_gt_`, она возвращается без изменений.
* **Разворачивание маркеров.** Выполняется обход ICU AST: находятся неиндексированные `select` с `_gt_`, и каждый из них заменяется значением из ветки `other` (пустой `string`, если она отсутствует).

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

| Параметр                    | Описание                                                              | Тип   | Необязательный | По умолчанию |
| --------------------------- | --------------------------------------------------------------------- | ----- | -------------- | ------------ |
| [`icu_string`](#icu-string) | Строка ICU MessageFormat, которая может содержать маркеры переменных. | `str` | Нет            | —            |

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

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

Строка ICU MessageFormat, которая может содержать маркеры переменных General Translation.

## Возвращает [#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.
