gt-cli@2.8.0
Обзор
CLI gt теперь поддерживает проекты на Python. При запуске gt upload в проекте Flask или FastAPI вызовы t() извлекаются из исходных файлов Python и регистрируются в платформе 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()для встраивания статических выражений, которые должны вычисляться во время извлечения- kwargs метаданных для 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.