# General Translation Python SDKs: ContextVarStorageAdapter
URL: https://generaltranslation.com/ja/docs/python/reference/classes/context-var-storage-adapter.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: General Translation Python におけるリクエストのロケール用デフォルトのコンテキスト変数ストレージアダプター。ContextVarStorageAdapter の API リファレンス。

`contextvars.ContextVar` をベースにした、リクエストのロケール用デフォルトの [`StorageAdapter`](/docs/python/reference/classes/storage-adapter) です。スレッドベース (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"` キーだけです。`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" (同じコンテキスト内)
```

## Sitemap

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