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 см. в связанном dev log.
Ссылки
gt-flask-- Интеграция с Flaskgt-fastapi-- Интеграция с FastAPIgt-i18n-- Независимое от фреймворка ядро- Исходный код