# General Translation Python SDKs: declare_var
URL: https://generaltranslation.com/ru/docs/python/reference/functions/declare-var.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Помечает динамическое значение как непереводимую переменную в General Translation Python. API-справочник для declare_var.

Непереводимая переменная — это динамическое значение, которое сохраняется неизменным во всех языковых версиях. Используйте `declare_var` для значений, известных только во время выполнения, таких как имена пользователей, электронные адреса и числовые значения, встроенные в вызов [`t`](/docs/python/reference/functions/t).

## Обзор [#overview]

Вызовите `declare_var`, передав значение и необязательный параметр `name`, который можно указать только как ключевой аргумент. Функция возвращает конструкцию ICU `{_gt_, select, ...}`, которая встраивает значение как маркер переменной General Translation.

```python
from gt_flask import declare_var  # или: from gt_fastapi import declare_var, или: from gt_i18n import declare_var

t(f"Signed in as {declare_var(email, name='email')}")
```

Сигнатура:

```python
declare_var(
    variable: str | int | float | bool | None,
    *,
    name: str | None = None,
) -> str
```

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

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

* **Форматирование значений.** `None` превращается в пустую строку, `bool` — в `"true"`/`"false"`, а остальные значения преобразуются в строки; результат затем очищается.
* **Формирование маркера.** Возвращает `{_gt_, select, other {value}}`, при необходимости добавляя выражение `_gt_var_name {name}`, если указан `name`.
* **Runtime и время сборки.** Используйте это для значений, известных только во время выполнения; если значение имеет конечный набор возможных исходов на этапе сборки, используйте [`derive`](/docs/python/reference/functions/derive). Извлекайте встроенные значения с помощью [`decode_vars`](/docs/python/reference/functions/decode-vars).

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

| Параметр                | Описание                                                                 | Тип                                   | Необязательный | По умолчанию |
| ----------------------- | ------------------------------------------------------------------------ | ------------------------------------- | -------------- | ------------ |
| [`variable`](#variable) | Значение, которое будет встроено как непереводимая переменная.           | `str \| int \| float \| bool \| None` | Нет            | —            |
| [`name`](#name)         | Человекочитаемое имя переменной, задаваемое только как ключевой аргумент. | `str`                                 | Да             | `None`       |

### `variable` [#variable]

**Тип** `str | int | float | bool | None` · **Обязательно**

Значение для подстановки. `None` преобразуется в пустую строку; логические значения выводятся в нижнем регистре.

### `name` [#name]

**Тип** `str` · **Необязательный** · **По умолчанию** `None`

Необязательная человекочитаемая метка для переменной, которую можно передать только как ключевой аргумент; если она указана, добавляется условие `_gt_var_name`.

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

**Тип** `str`

Конструкция ICU `{_gt_, select, ...}`, которая оборачивает значение и помечает его как маркер переменной.

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

```python
from gt_flask import t, declare_var

# Сохранить runtime-значение внутри переведённой f-строки
message = t(f"{declare_var(name, name='name')} goes home")
```

## Sitemap

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