其他命令

Max PrilutskiyCEO 兼联合创始人预计阅读 1 分钟

用于设置和身份管理的命令。它们都不会触及源内容,只负责管理凭据和项目绑定。

lingo login#

用于在 Lingo.dev 上完成身份验证。提供两种方式:

浏览器(默认,交互式)#

bash
lingo login

在浏览器中打开 Lingo.dev,供你授权 CLI;如果尚未登录,请先登录。CLI 会将会话保存在 ~/.lingo/credentials.json 中,并持续刷新,直到你运行 lingo logout。

如果你尚未加入组织,或已在网页应用中创建组织但尚未完成设置,login 随后会输出一个链接,供你前往网页应用完成设置:

text
Finish setting up Acme Inc in the web app: https://lingo.dev/orgs/org_a8c...

在网页应用中完成设置时,系统会根据你的网站创建该组织的第一个引擎。

API 密钥(CI / 非交互式)#

bash
lingo login --api-key lk_...

用于存储 API 密钥。你可以在 Lingo.dev 平台中所属组织的 API keys 设置下生成密钥。

你也可以在任意命令中将 --api-key 作为全局标志传入,这样会完全绕过已存储的凭据:

bash
lingo push --api-key lk_...

非常适合不希望将凭据写入磁盘的一次性 CI 任务。

lingo logout#

bash
lingo logout

清除 ~/.lingo/credentials.json。如果你尚未登录,则不会执行任何操作。

bash
lingo link
lingo link --org org_a8c... --engine eng_b9d...   # skip prompts

将当前项目绑定到一个组织和一个本地化引擎。会把 orgId 和 engineId 写入 .lingo/config.json(请提交该文件)。

交互模式支持选择现有的组织和引擎,也支持直接创建新的组织和引擎:link 会提示你输入名称,在创建新组织时请你填写入门问卷,并在关联前通过 API 完成创建。

如果你创建的组织尚未在网页应用中完成设置,link 不会在该组织中创建引擎,而是显示完成设置的链接,并列出该组织现有的引擎。如果没有现有引擎,它会显示该链接后退出:请先完成设置,再运行 lingo link。你受邀加入的组织,以及使用 API 密钥执行的运行,均不受影响。

如果你尚未加入组织,或你的组织要求单点登录而你尚未通过该方式登录,link 则会退出,并提供一个指向网页应用的链接:请在那里创建组织或通过 SSO 登录,然后再次运行 lingo link。

bash
lingo unlink

从 orgId 中移除 engineId 和 .lingo/config.json。不会删除组织或引擎——只会解除本地绑定。在重新链接到其他引擎前,这个命令尤其有用。

lingo whoami#

bash
lingo whoami
lingo whoami --json

会显示以下三项信息:

  1. 身份——你当前登录使用的邮箱,或显示你是否正在使用 API 密钥。
  2. 组织——已链接的组织(名称通过 API 解析)。
  3. 引擎——已链接的引擎(名称通过 API 解析)。
text
Email:   you@company.com
  Org:     Acme Inc (org_a8c...)
  Engine:  Production (eng_b9d...)
  Auth:    session

如果你当前不在已链接项目的目录中,则不会显示“组织/引擎”两行。--json 会以便于脚本处理的结构化格式输出相同的数据。

全局 --api-key 标志#

每个命令都支持 --api-key 标志,仅对当前这次调用覆盖已存储的凭据。CI 中的标准写法如下:

yaml
env:
  LINGO_API_KEY: ${{ secrets.LINGO_API_KEY }}
steps:
  - run: lingo push --backfill-missing --yes --wait --api-key "$LINGO_API_KEY"

(CLI 也会从环境变量中读取 LINGO_API_KEY 作为兜底。)

接下来#

  • lingo push——范围控制 + 增量翻译。
  • lingo pull——拉取上次推送的输出,并检测冲突。
  • Configuration——.lingo/config.json、锁文件、运行状态。