戻る
gt-flaskgt-fastapigt-i18nv0.1.0pythonflaskfastapii18n
ブログ変更履歴

gt-flask 0.1.0 / gt-fastapi 0.1.0: Python Webフレームワーク向けインライン翻訳

Ernest McCarter

概要

gt-flaskgt-fastapi の初回リリースです。これにより、gt-nextgt-react で使われているのと同じインライン翻訳モデルを Python の Web フレームワークでも利用できるようになりました。

これらのパッケージは実験的なものであり、破壊的変更が入る可能性があります。

使い方

from flask import Flask
from gt_flask import initialize_gt, t

app = Flask(__name__)
initialize_gt(app)

@app.get("/")
def index():
    return {"message": t("Hello, world!")}

@app.get("/greet")
def greet():
    return {"message": t("Hello, {name}!", name=user.name)}

ソース文字列が信頼できる唯一の基準です。キーファイルも .po ファイルも不要です。t() はフレームワークのミドルウェア経由で現在のロケールを解決し、ハッシュを使って翻訳を検索し、変数を補間し、翻訳が存在しない場合はソース文字列にフォールバックします。

Python 固有のメタデータ kwargs (_context_id_max_chars) は、アンダースコアで始まるキーワード引数を使って曖昧さの解消や制約の指定を行います。

CLI 対応

GT CLI で、Python のソースファイルから t() 呼び出しを抽出できるようになりました。Python プロジェクトでの gt uploadgt translate の詳細については、関連する開発ログ を参照してください。

リンク