返回

gt-cli@2.8.0

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

概述

gt 现已支持 Python 项目。在 Flask 或 FastAPI 项目中运行 gt upload 时,会从 Python 源文件中提取 t() 调用,并将其注册到 GT 平台。

变更内容

新增的 @generaltranslation/python-extractor 包可解析 Python 源文件并提取翻译调用。gt 会通过检查你的 pyproject.tomlrequirements.txtsetup.py 中是否存在 gt-flaskgt-fastapi,自动识别 Python 项目。

该提取器支持处理:

  • 带关键字变量插值的 t("string literal") 调用
  • declare_var():将动态 f-string 表达式标记为变量
  • declare_static():嵌入应在提取时求值的静态表达式
  • Python 特有的元数据 kwargs (_context_id_max_chars) —— 使用以下划线为前缀的关键字参数,而不是 JavaScript 库中使用的 options 对象

示例

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 库 一致。

链接