Назад

gt-flask@0.1.0 / gt-fastapi@0.1.0

Ernest McCarter avatarErnest McCarter
gt-flaskgt-fastapigt-i18nv0.1.0pythonflaskfastapii18n

Обзор

Первый релиз 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.

Ссылки