gt@2.11.0
概述
GT CLI 现在可以将任何翻译后的文件类型发布到 GT CDN。JSON、MDX、YAML 以及所有其他支持的文件类型现在都可以直接通过 translate、upload 和 save-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) 会按以下顺序判定发布意图:
- 显式不发布 — 文件匹配某个
include条目,且"publish": false→ 不发布,或从 CDN (内容分发网络) 中移除 - 显式发布 — 文件匹配某个
include条目,且"publish": true→ 发布到 CDN (内容分发网络) - 全局回退 — 使用顶层
publish配置 (如果未设置,则默认为false)
如果在任何层级都未设置发布配置,则会完全跳过发布步骤——不会发起任何 API 调用。
支持发布的命令
| 命令 | 行为 |
|---|---|
gt translate | 下载翻译后发布 |
gt upload | 上传源文件后发布 |
gt save-local | 保存本地修改后发布 |