# 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