@autoglot/cli

中文文档
0.1.8发布于 2026/09/02MITTypeScriptCommonJS零依赖构建来源已验证近 30 天下载 1.1万

使用自动 glot 翻译 i18n 文件

中文使用文档
文档目录12 节
  1. 快开始
  2. 设置
  3. CLI 使用情况
  4. 参数
  5. 选项
  6. 实例
  7. 图书馆使用情况
  8. translate(options)
  9. JobStatus
  10. 支持的文件格式
  11. 支持的语言
  12. 链接

@ autoglot/ cli (英语)

从命令行翻译出i18n文件. 支持JSON,YAML,PO/POT,和Xcode字符串目录.

快开始

npx @autoglot/cli en.json --lang es,fr,de

传递多个文件或一个 shell glob 来一起翻译它们 :

npx @autoglot/cli ios/Layers/**/*.xcstrings --lang es,fr,de

设置

  1. 报名到 自动glot.app
  2. 转到 仪表板/ API 密钥 创建密钥
  3. 导出 :
export AUTOGLOT_API_KEY=your_key_here

CLI 使用情况

autoglot <files...> --lang <codes> [options]

参数

参数说明
files要翻译的源文件在一个任务中(例如. en.json, (中文(简体) ), en.po, (中文(简体) ), messages.yaml(中文(简体) )

选项

选项别名默认说明
--lang-l(必须)逗号分隔目标语言
--source-s从文件名自动检测, 回落 en源语言代码
--output-o输入根翻译文件输出目录; 保存相对输入路径
--input-root可能时使用当前目录在翻译上下文、分析、和活动中用于稳定源路径的根
--project-p词汇/类型指南项目(owner/repo 格式)
--branch活动记录的源分支;要求 --deployment-type 财务报告和审定财务报表 --project
--deployment-typepreview 或者说 release需要; 需要 --branch
--api-key-kAUTOGLOT_API_KEY 环境 varAPI 密钥
--api-urlhttps://api.autoglot.appAPI 基础 URL
--timeout最多等待数秒, 然后返回最新的兼容缓存文物 。 要求数 --project
--no-cachefalse跳过翻译缓存
--help-h显示帮助
--version-v显示版本

实例

将JSON文件翻译成西班牙文、法文和德文:

npx @autoglot/cli src/locales/en.json --lang es,fr,de

翻译带有明确源语言和输出目录的 PO 文件 :

npx @autoglot/cli messages.po --lang ja,ko --source en --output ./translations

使用项目词汇表和样式指南:

npx @autoglot/cli en.json --lang es,fr --project acme/my-app

如果新译名需要2分钟以上, 保留带有缓存翻译的构建移动 :

npx @autoglot/cli en.json --lang es,fr --project acme/my-app --timeout 120

跳过缓存以强制再翻译 :

npx @autoglot/cli en.yaml --lang pt-BR --no-cache

在一个任务中翻译多个 Xcode 字符串目录, 并有一个超时:

npx @autoglot/cli ios/Layers/**/*.xcstrings --lang de,fr --project acme/ios --input-root . --branch main --deployment-type release --timeout 120

图书馆使用情况

@autoglot/cli 出口a translate() 函数用于节点脚本和其他工具(如 @autoglot/next) (中文(简体) ).

import { translate } from '@autoglot/cli';
import { readFileSync } from 'fs';

const files = await translate({
  files: [{
    filename: 'frontend/apps/web/locales/en.json',
    content: readFileSync('en.json', 'utf-8'),
  }],
  targetLanguages: ['es', 'fr', 'de'],
  sourceLanguage: 'en',
  apiKey: process.env.AUTOGLOT_API_KEY!,
  project: 'myorg/my-app',
  branch: 'main',
  deploymentType: 'release',
  timeoutSeconds: 120,
  onProgress: (status) => {
    console.log(`${status.completed_strings}/${status.total_strings}`);
  },
});

for (const file of files) {
  console.log(file.filename, file.content.length);
}

translate(options)

参数类型需求默认说明
files{ filename: string; content: string }[]对要翻译的文件 。 使用稳定的项目相对文件名进行分析和活动.
targetLanguagesstring[]对目标语言代码
sourceLanguagestring对源语言代码
apiKeystring对API 密钥
apiUrlstring没有https://api.autoglot.appAPI 基础 URL
projectstring没有词汇/类型指南项目(owner/repo(中文(简体) )
branchstring没有活动记录的源分支;要求 deploymentType 财务报告和审定财务报表 project
deploymentType'preview' | 'release'没有构建活动记录的类型; 需要 branch
timeoutSecondsnumber没有在返回最近兼容的缓存文物之前, 最多等待 。 要求数 project
skipCacheboolean没有false跳过翻译缓存
onProgress(status: JobStatus) => void没有进度回调

回返 Promise<{ filename: string; content: string }[]> ——译出的文件.

JobStatus

对象传递到 onProgress数字 :

外地类型说明
job_idstring任务标识符
statusstringprocessing, (中文(简体) ), completed,或 failed
progressnumber百分比(0-100)
total_stringsnumber要翻译的字符串总数
completed_stringsnumber迄今翻译的字符串
error_messagestring?失败时出错细节

支持的文件格式

格式延长
贾森.json
也门.yml, (中文(简体) ), .yaml
邮政/邮政.po, (中文(简体) ), .pot
Xcode 字符串目录.xcstrings

支持的语言

代码语言代码语言
de德语ja日本语
fr法语ko韩文
es西班牙语zh-Hans简化中文
it意大利语zh-Hant传统汉语
pt葡萄牙语ar阿拉伯语
pt-BR巴西葡萄牙语he希伯来语Name
nl荷兰语Namehi印地语
pl波兰语Nameth泰国语Name
ru俄语vi越南语Name
uk乌克兰语Nameid印度尼西亚语Name
tr土耳其语Namems马来语Name
sv瑞典语cs捷克语
da丹麦语Namehu匈牙利语Name
fi芬兰语ro罗马尼亚语Name
nb挪威语sk斯洛伐克语
el希腊语Namebg保加利亚语Name

版本与发布记录

@autoglot/cli 共发布 3 个版本,首次发布于 2026/02/23;过去 12 个月发布了 3 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.1.8latest2026/09/022 个月前
0.1.62026/08/232 个月前
0.1.22026/02/238 个月前

关于 @autoglot/cli 的常见问题

@autoglot/cli 是什么?

使用自动 glot 翻译 i18n 文件

如何安装 @autoglot/cli?

在项目目录运行 npm install @autoglot/cli,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 autoglot,可以用 npx autoglot 直接运行。

@autoglot/cli 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@autoglot/cli 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@autoglot/cli 可以商用吗?

@autoglot/cli 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@autoglot/cli 的下载量有多少?

根据 npm 官方下载统计,@autoglot/cli 在 2026/10/07 – 2026/11/05 这 30 天内被下载 10,763 次,日均约 359 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@autoglot/cli 还在维护吗?

最新版本 0.1.8 发布于 2026/09/02(2 个月前);至今共发布 3 个版本,其中过去 12 个月发布了 3 个;首次发布于 2026/02/23。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。