Retour

gt-cli@2.8.0

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

Vue d’ensemble

La gt CLI prend désormais en charge les projets Python. L’exécution de gt upload dans un projet Flask ou FastAPI extrait les appels à t() de vos fichiers source Python et les enregistre sur la plateforme GT.

Ce qui a changé

Un nouveau package @generaltranslation/python-extractor analyse les fichiers source Python et extrait les appels de traduction. Le CLI détecte automatiquement les projets Python en recherchant gt-flask ou gt-fastapi dans pyproject.toml, requirements.txt ou setup.py.

L’extracteur prend en charge :

  • les appels t("string literal") avec interpolation de variables via des arguments nommés
  • declare_var() pour marquer comme variables les expressions dynamiques dans les f-strings
  • declare_static() pour incorporer des expressions statiques qui doivent être évaluées au moment de l’extraction
  • les kwargs de métadonnées propres à Python (_context, _id, _max_chars) -- des arguments nommés préfixés par un trait de soulignement, plutôt que l’objet d’options utilisé dans les bibliothèques JavaScript

Exemple

from gt_flask import t

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

gt upload extrait la chaîne de caractères et l’enregistre sur la plateforme. gt translate génère des traductions pour les paramètres régionaux que vous avez configurés. Mêmes commandes, même workflow que pour les bibliothèques JavaScript.

Liens