Назад

gt-cli@2.8.0

Ernest McCarter avatarErnest McCarter
gt-cliv2.8.0pythonpython-extractorgt-flaskgt-fastapii18n

Обзор

Интерфейс командной строки (CLI) gt теперь поддерживает проекты на Python. При запуске gt upload в проекте Flask или FastAPI из исходных файлов Python извлекаются вызовы t() и регистрируются на платформе GT.

Что изменилось

Новый пакет @generaltranslation/python-extractor анализирует исходные файлы Python и извлекает вызовы переводов. Интерфейс командной строки (CLI) автоматически определяет Python-проекты, проверяя наличие gt-flask или gt-fastapi в pyproject.toml, requirements.txt или setup.py.

Экстрактор поддерживает:

  • вызовы t("string literal") с интерполяцией переменных через именованные аргументы
  • declare_var() для пометки динамических выражений f-строк как переменных
  • declare_static() для встраивания статических выражений, которые должны вычисляться во время извлечения
  • специфичные для Python именованные аргументы метаданных (_context, _id, _max_chars) -- аргументы с префиксом подчёркивания вместо объекта options, используемого в JavaScript-библиотеках

Пример

from gt_flask import t

@app.get("/error")
def error():
    return {"error": t("Something went wrong. Please try again.", _context="error page")}

gt upload извлекает строку и регистрирует её на платформе. gt translate генерирует переводы для настроенных локалей. Те же команды и тот же рабочий процесс, что и в библиотеках JavaScript.

Ссылки