Назад

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 см. в сопутствующей записи в журнале разработки.

Ссылки