# 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 をラップします。