# General Translation Python SDKs: extract_variables
URL: https://generaltranslation.com/ru/docs/python/reference/functions/extract-variables.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Отфильтровывает зарезервированные ключи GT из словаря options, чтобы получить пользовательские переменные в General Translation Python. Справочник API для extract_variables.

Возвращает новый словарь, содержащий только пользовательские переменные интерполяции и исключающий зарезервированные ключи General Translation, такие как `_context`. Эту вспомогательную функцию [`t`](/docs/python/reference/functions/t), [`msg`](/docs/python/reference/functions/msg) и [`interpolate_message`](/docs/python/reference/functions/interpolate-message) используют, чтобы отделять переменные от options.

## Обзор [#overview]

Вызовите `extract_variables`, передав словарь options. Она возвращает новый словарь, содержащий все ключи, кроме зарезервированных ключей GT.

```python
from gt_i18n import extract_variables

extract_variables({"name": "Alice", "_context": "greeting"})
# → {"name": "Alice"}
```

Сигнатура:

```python
extract_variables(options: dict[str, object]) -> dict[str, object]
```

Импортируйте `extract_variables` из `gt_i18n`. Этот компонент не реэкспортируется пакетами фреймворка.

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

* **Зарезервированные ключи.** Удаляются `_context`, `_id`, `_max_chars`, `__hash`, `__source` и `__fallback`.
* **Всё остальное сохраняется.** Все остальные ключи остаются без изменений, включая пользовательские ключи, начинающиеся с одного подчёркивания (например, `_name`).
* **Без изменения исходных данных.** Возвращается новый словарь; исходные данные не изменяются.

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

| Параметр              | Описание                                                                    | Тип                 | Необязательный | По умолчанию |
| --------------------- | --------------------------------------------------------------------------- | ------------------- | -------------- | ------------ |
| [`options`](#options) | Полный словарь options, который может содержать зарезервированные ключи GT. | `dict[str, object]` | Нет            | —            |

### `options` [#options]

**Тип** `dict[str, object]` · **Обязательно**

Полный словарь `options`. Зарезервированные ключи GT удаляются; все остальные элементы сохраняются.

## Возвращает [#returns]

**Тип** `dict[str, object]`

Новый `dict` без зарезервированных ключей GT.

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

```python
from gt_i18n import extract_variables

extract_variables({"_context": "x", "_id": "y", "_max_chars": 10})
# → {}

extract_variables({"_name": "Alice", "_context": "greeting"})
# → {"_name": "Alice"}
```

## Sitemap

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