gt-flask@0.1.0 / gt-fastapi@0.1.0
Обзор
Первый релиз gt-flask и gt-fastapi. Они привносят ту же модель встроенного перевода, которая используется в gt-next и gt-react, во фреймворки Python для веб-разработки.
Эти пакеты являются экспериментальными и могут содержать обратно несовместимые изменения.
Использование
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() определяет текущую локаль через middleware фреймворка, находит перевод по хэшу, интерполирует переменные и возвращает исходную строку, если перевод отсутствует.
Специфичные для Python метаданные kwargs (_context, _id, _max_chars) используются для снятия неоднозначности и задания ограничений через именованные аргументы с префиксом подчёркивания.
Поддержка Интерфейса командной строки (CLI)
Теперь GT CLI извлекает вызовы t() из исходных файлов Python. Подробности об использовании gt upload и gt translate в проектах на Python см. в сопутствующей записи в журнале разработки.
Ссылки
gt-flask-- интеграция с Flaskgt-fastapi-- интеграция с FastAPIgt-i18n-- независимое от фреймворка ядро- Исходный код