# General Translation Python SDKs: ContextVarStorageAdapter URL: https://generaltranslation.com/ru/docs/python/reference/classes/context-var-storage-adapter.mdx --- title: ContextVarStorageAdapter description: Адаптер хранения переменных контекста по умолчанию для локали запроса в General Translation Python. Справочник API для ContextVarStorageAdapter. --- Адаптер [`StorageAdapter`](/docs/python/reference/classes/storage-adapter) по умолчанию для локали запроса на базе `contextvars.ContextVar`. Работает как в многопоточных (Flask), так и в асинхронных (FastAPI) контекстах, автоматически обеспечивая каждому запросу собственную изолированную локаль. ## Обзор [#overview] [`I18nManager`](/docs/python/reference/classes/i18n-manager) использует этот адаптер, если вы не передадите собственный `store_adapter`. Обычно его не создают вручную. ```python from gt_i18n import ContextVarStorageAdapter, I18nManager manager = I18nManager(default_locale="en", store_adapter=ContextVarStorageAdapter()) ``` Импортируйте `ContextVarStorageAdapter` из `gt_i18n`. Он не реэкспортируется пакетами фреймворка. ## Как это работает [#how-it-works] * **Переменная контекста.** Она хранит локаль в `ContextVar` на уровне модуля, поэтому параллельные запросы не видят локали друг друга. * **Только ключ locale.** Обрабатывается только ключ `"locale"`; `get_item` возвращает `None` для любого другого ключа, а `set_item` его игнорирует. * **По умолчанию не задано.** Если в текущем контексте локаль не установлена, `get_item("locale")` возвращает `None`, и менеджер использует локаль по умолчанию. ## Методы [#members] | Метод | Описание | Возвращает | | ------------------------------ | --------------------------------------------------- | ------------- | | [`get_item`](#member-get-item) | Читает локаль запроса из переменной контекста. | `str \| None` | | [`set_item`](#member-set-item) | Записывает локаль запроса в переменную контекста. | `None` | ### `get_item(key)` [#member-get-item] Возвращает текущую локаль из контекста, если `key` равно `"locale"`, иначе — `None`. ### `set_item(key, value)` [#member-set-item] Устанавливает локаль текущего контекста, если `key` равно `"locale"`; в противном случае ничего не делает. ## Пример [#example] ```python from gt_i18n import ContextVarStorageAdapter adapter = ContextVarStorageAdapter() adapter.set_item("locale", "es") adapter.get_item("locale") # "es" (в том же контексте) ```