# python: ローカル翻訳の保存
URL: https://generaltranslation.com/ja/docs/python/guides/local-tx.mdx
---
title: ローカル翻訳の保存
description: CDN から取得する代わりに、訳文をローカルに保存します
---
## ローカル翻訳とは?
デフォルトでは、GT の Python ライブラリは runtime に General Translation CDN から訳文を取得します。ローカル翻訳を使うと、翻訳ファイルをアプリにバンドルできるため、外部ネットワークへのリクエストは不要です。
**デフォルトの動作:** GT はデフォルトで CDN ストレージを使用します。ローカルストレージに切り替えるのは、それによる明確な利点が必要な場合だけにしてください。
## トレードオフ
### ローカル翻訳の利点
* **レスポンスが速い**: 翻訳を取得するためのネットトワーク往復が不要
* **外部サービスに依存しない**: CDN の可用性に左右されずにアプリが動作
* **オフラインでも動作**: 翻訳はデプロイメントに含まれる
### ローカル翻訳のデメリット
* **デプロイサイズの増加**: サポートするロケールごとに翻訳ファイルが増えます
* **更新には再デプロイが必要**: 翻訳を変更するたびに、新しいデプロイが必要です
## セットアップ
### ステップ1: CLI を設定する
GT CLI をインストールし、ローカルストレージを使用するように設定します:
```bash
pip install gtx-cli
gt configure
```
プロンプトが表示されたら:
* **CDN に保存しますか?** "No" を選択します
* **訳文ディレクトリ:** `./translations` と入力します
### ステップ2: 翻訳を生成する
```bash
gt translate
```
これにより、`translations/` ディレクトリにロケールごとに 1 つの JSON ファイルが作成されます。
### ステップ 3: アプリで翻訳を読み込む
アプリがローカルの翻訳ファイルを参照するように設定します。
```python
import json
from pathlib import Path
from flask import Flask
from gt_flask import initialize_gt
app = Flask(__name__)
def load_translations(locale: str):
path = Path('translations') / f'{locale}.json'
if path.exists():
return json.loads(path.read_text())
return {}
initialize_gt(
app,
default_locale='en',
locales=['es', 'fr', 'ja'],
load_translations=load_translations,
)
```
```python
import json
from pathlib import Path
from fastapi import FastAPI
from gt_fastapi import initialize_gt
app = FastAPI()
def load_translations(locale: str):
path = Path('translations') / f'{locale}.json'
if path.exists():
return json.loads(path.read_text())
return {}
initialize_gt(
app,
default_locale='en',
locales=['es', 'fr', 'ja'],
load_translations=load_translations,
)
```
## Build 連携
deployment パイプラインの一部として訳文を生成します。
```yaml title=".github/workflows/deploy.yml"
- name: Generate Translations
run: gt translate
- name: Deploy
run:
```
あるいは `Makefile` では:
```makefile
deploy:
gt translate
```
デプロイする前に、必ず翻訳を生成してください。翻訳ファイルが存在しない場合、`t()` は `default_locale` の元の文字列を返します。
## 次のステップ
* [CLI `translate` コマンド](/docs/cli/translate) — 翻訳生成のリファレンス
* [文字列翻訳のパターン](/docs/python/guides/strings) — コンテンツの翻訳方法
* [ロケール検出とミドルウェア](/docs/python/guides/middleware) — ロケールのコンテキストの仕組み