返回

gt@2.11.0

Fernando Aviles avatarFernando Aviles
gt-clicdnpublishfilesjsonmdxyamli18n

概述

GT CLI 现在可以将任何翻译后的文件类型发布到 GT CDN。JSON、MDX、YAML 以及所有其他支持的文件类型现在都可以直接通过 translateuploadsave-local 命令发布。

配置

全局发布标志

为任何支持的命令添加 --publish 参数:

npx gt translate --publish

或者在 gt.config.json 中设置:

{
  "publish": true
}

这会将所有翻译后的文件 (包括 GT JSON) 发布到 CDN (内容分发网络) 。

按文件控制发布

你可以使用 include pattern 语法,将单个文件设为包含或排除。不要使用普通的 glob 字符串,而要使用带有 publish 标志的对象:

{
  "defaultLocale": "en",
  "locales": ["fr", "es"],
  "files": {
    "json": {
      "include": [
        { "pattern": "locales/[locale]/*.json", "publish": true },
        { "pattern": "locales/[locale]/internal/**/*.json", "publish": false }
      ]
    }
  }
}

在此示例中,locales/[locale]/ 下的所有 JSON 文件都会发布到 CDN (内容分发网络) ,但 internal/ 子目录下的文件除外。

GT JSON 发布控制

GT 的内部格式在 gt 键下有一个自己的发布标志:

{
  "files": {
    "gt": {
      "output": "public/i18n/[locale].json",
      "publish": true
    }
  }
}

判定顺序

对于任意给定文件,命令行界面 (CLI) 会按以下顺序判定发布意图:

  1. 显式不发布 — 文件匹配某个 include 条目,且 "publish": false → 不发布,或从 CDN (内容分发网络) 中移除
  2. 显式发布 — 文件匹配某个 include 条目,且 "publish": true → 发布到 CDN (内容分发网络)
  3. 全局回退 — 使用顶层 publish 配置 (如果未设置,则默认为 false)

如果在任何层级都未设置发布配置,则会完全跳过发布步骤——不会发起任何 API 调用。

支持发布的命令

命令行为
gt translate下载翻译后发布
gt upload上传源文件后发布
gt save-local保存本地修改后发布

链接