# General Translation Python SDKs: クイックスタート URL: https://generaltranslation.com/ja/docs/python/quickstart.mdx --- title: クイックスタート description: General Translation Python SDK をインストールして、最初の Flask または FastAPI アプリを翻訳します。 related: links: - /docs/python/guides/translating-strings - /docs/python/guides/detecting-locale - /docs/python/guides/declaring-variables - /docs/python/guides/storing-translations --- General Translation Python SDK は、Flask や FastAPI アプリでユーザー向けの文字列を翻訳します。アプリに対して一度初期化すれば、あとはルート内の文字列を [`t`](/docs/python/reference/functions/t) 関数でラップするだけで、現在のリクエストのロケールに翻訳されます。 使用するフレームワーク向けのインテグレーションをインストールしてください。Flask では `gt-flask`、FastAPI では `gt-fastapi` を使用します。どちらも共通の `gt-i18n` ランタイムをベースにしており、フレームワークを使わないプロジェクトでも `gt-i18n` を直接利用できます。 Python SDK は **実験的で安定していません**。`gt-i18n`、`gt-flask`、`gt-fastapi` はいずれもバージョン 0.3.0 で、破壊的変更が入る可能性があります。Python 3.10 以降が必要です。 ## Python SDKでできること [#overview] このSDKでは、次のことができます。 * ICUメッセージ構文を使った、`t`による**文字列の翻訳**。 * `Accept-Language` ヘッダー、または独自のロジックによる**リクエストごとのロケール**検出。 * [`derive`](/docs/python/reference/functions/derive)による**有限個のバリアント**と、[`declare_var`](/docs/python/reference/functions/declare-var)による**翻訳対象外の値**。 * [General Translation CLI](/docs/cli/quickstart)で生成された翻訳の**CDNまたはローカルでの配信**。 ## クイックスタート [#quickstart] インテグレーションをインストールし、設定ファイルを追加して、アプリで初期化し、文字列を翻訳します。 ### 1. インテグレーションをインストールする ```bash pip install gt-flask ``` ```bash pip install gt-fastapi ``` ### 2. ロケールを設定する プロジェクトルートに `gt.config.json` を作成し、Project ID と locales を設定します。各キーについては、[設定リファレンス](/docs/python/reference/config)を参照してください。 ```json title="gt.config.json" { "projectId": "your-project-id", "defaultLocale": "en", "locales": ["es", "fr"] } ``` ### 3. アプリで初期化する 起動時に `initialize_gt(app)` を1回呼び出します。これにより `gt.config.json` が読み込まれ、リクエストごとのロケール検出が登録され、翻訳が事前にロードされます。API Key パラメータは不要で、CDN からの読み込みには `project_id` と `cache_url` が使われます。 ```python title="app.py" from flask import Flask from gt_flask import initialize_gt, t, get_locale app = Flask(__name__) initialize_gt(app) @app.route("/") def index(): return {"message": t("Hello, world!"), "locale": get_locale()} ``` ```python title="main.py" from fastapi import FastAPI from gt_fastapi import initialize_gt, t, get_locale app = FastAPI() initialize_gt(app) @app.get("/") def index(): return {"message": t("Hello, world!"), "locale": get_locale()} ``` ### 4. 変数を使って翻訳する ICUプレースホルダーを使い、値をキーワード引数として渡します。 ```python t("Hello, {name}!", name="Alice") ``` ### 5. 翻訳を生成する デプロイする前に [General Translation CLI](/docs/cli/quickstart) を使ってコンテンツを翻訳しておくと、実行時に翻訳を利用できます。 ```bash gt translate ``` ## フレームワークを使わずにコアライブラリを使う [#core] Flask または FastAPI を使用していない場合は、`gt-i18n` を直接インストールしてください。コアライブラリには [`initialize_gt`](/docs/python/reference/functions/initialize-gt) はありません。[`I18nManager`](/docs/python/reference/classes/i18n-manager) を作成し、[`set_i18n_manager`](/docs/python/reference/functions/set-i18n-manager) で登録して、リクエストのロケールも自分で設定してください。 ```bash pip install gt-i18n ``` ```python from gt_i18n import I18nManager, set_i18n_manager, t manager = I18nManager(default_locale="en", locales=["es", "fr"]) set_i18n_manager(manager) manager.set_locale("es") print(t("Hello, world!")) ``` [文字列の翻訳](/docs/python/guides/translating-strings)でコンテキストと変数について確認し、ロケール検出をカスタマイズするには[リクエストのロケールを判定する](/docs/python/guides/detecting-locale)を参照してください。 ## Next steps - /docs/python/guides/translating-strings - /docs/python/guides/detecting-locale - /docs/python/guides/declaring-variables - /docs/python/guides/storing-translations