# General Translation Python SDKs: ContextVarStorageAdapter URL: https://generaltranslation.com/ja/docs/python/reference/classes/context-var-storage-adapter.mdx --- title: ContextVarStorageAdapter 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" (同じコンテキスト内) ```