# python: initialize_gt
URL: https://generaltranslation.com/ja/docs/python/api/initialize-gt.mdx
---
title: initialize_gt
description: initialize_gt セットアップ関数の API リファレンス
---
## 概要
`initialize_gt` 関数は、Flask または FastAPI アプリ向けに General Translation を設定します。
翻訳関数を使用する前に、必ず一度だけ呼び出してください。
設定は、現在の作業ディレクトリにある `gt.config.json` ファイルから自動的に読み込まれます。
キーワード引数を指定した場合は、設定ファイルの値よりもそちらが優先されます。
```python
from flask import Flask
from gt_flask import initialize_gt
app = Flask(__name__)
initialize_gt(app)
```
```python
from fastapi import FastAPI
from gt_fastapi import initialize_gt
app = FastAPI()
initialize_gt(app)
```
## リファレンス
### パラメーター
str',
optional: true,
description: 'カスタムのロケール検出コールバック。デフォルトでは Accept-Language ヘッダーを解析します。',
},
"load_translations?": {
type: '(locale: str) -> dict[str, str]',
optional: true,
description: 'ロケールの翻訳を読み込むためのカスタム関数。',
},
"eager_loading?": {
type: 'bool',
optional: true,
default: 'True',
description: '起動時にすべての翻訳を事前読み込みします。',
},
"config_path?": {
type: 'str',
optional: true,
description: 'gt.config.json ファイルへのパス。デフォルトでは CWD 内の "gt.config.json" が使われます。',
},
"load_config?": {
type: '(path: str | None) -> GTConfig',
optional: true,
description: 'デフォルトの設定ローダーを置き換えるカスタム設定ローダー。',
},
}}
/>
### 戻り値
`I18nManager` — 設定済みの翻訳マネージャー インスタンス。
***
## 設定ファイル
プロジェクトのルートに `gt.config.json` を作成します。すべての項目は省略可能です。
```json title="gt.config.json"
{
"projectId": "your-project-id",
"defaultLocale": "en",
"locales": ["es", "fr"],
"cacheUrl": "https://custom-cache.example.com"
}
```
`gt.config.json` の設定がデフォルト値として使用されます。`initialize_gt` に渡されたキーワード引数がある場合は、そちらが優先されます。
***
## 例
### 最小限のセットアップ (設定ファイルを使用する場合)
```python
from flask import Flask
from gt_flask import initialize_gt
app = Flask(__name__)
initialize_gt(app)
```
### カスタム翻訳ローダーを使う場合
```python
from flask import Flask
from gt_flask import initialize_gt
app = Flask(__name__)
def load_translations(locale: str) -> dict[str, str]:
# 独自のソースから翻訳を読み込む
...
initialize_gt(app, load_translations=load_translations)
```
### カスタムのロケール検出を使用する場合
```python
from flask import Flask
from gt_flask import initialize_gt
app = Flask(__name__)
def get_locale(request):
return request.args.get("lang", "en")
initialize_gt(app, get_locale=get_locale)
```
***
## 注意事項
* `initialize_gt` は、`t` やその他の翻訳関数を使用する前に **1 回だけ** 呼び出す必要があります。
* Flask では、ロケール検出用の `before_request` フックを登録します。
* FastAPI では、ロケール検出用のミドルウェアを登録し、事前読み込みのためにアプリの lifespan をラップします。