|
文档
预约演示平台
平台MCPCLIAPI工作流
指南更新日志

持续本地化

  • 工作原理
  • 设置

平台

  • GitHub App
  • GitHub
  • GitLab CI/CD
  • Bitbucket Pipelines
  • 高级实践

设置

在 GitHub、GitLab 或 Bitbucket 上搭建持续本地化,目前支持两种方式:托管式的 Lingo.dev GitHub App,以及在你自己的流水线中运行 @lingo.dev/cli。选择最适合你的平台,以及符合你所需控制程度的方案。

该选哪种方式?#

方式适用场景所需条件
GitHub App托管在 GitHub 上的仓库安装应用,提交包含 .lingo/config.json 和 engineId 的配置。无需 runner、secret 或 CLI。
在 runner 中运行 @lingo.dev/cli适用于 GitLab、Bitbucket,或想完全掌控流程的 GitHub Actions 用户需要 Node 22+、@lingo.dev/cli、一个 LINGO_API_KEY secret,以及一个运行 lingo push 的作业。

在用 GitHub?先从 GitHub App 开始

GitHub App 在服务端运行。它会读取已提交的 .lingo/config.json(包括你的 engineId),响应 push 和 pull request,无需 runner、API key secret 或 lock file。按照 GitHub App guide 操作即可——本页其余内容将介绍如何在你自己的流水线中运行 CLI。

在你的流水线中运行 CLI#

如果你使用 GitLab 或 Bitbucket,或者希望在 GitHub 上自行驱动本地化流程,就可以把 @lingo.dev/cli 作为流水线中的一个作业来运行。无论在哪个平台,配置都分为相同的三步:配置 CLI、添加 API key,以及选择工作流。

前提条件

在接入 CI 之前,你需要先完成可用的 CLI setup:准备好 .lingo/config.json 文件,并能在本地运行 lingo push。

第 1 步:配置 CLI#

如果你还没完成这些步骤,请先参考 CLI Quickstart。完成后你应该具备:

  • 项目根目录下有一个 .lingo/config.json 文件(参见 Configuration)
  • 一个用于 Lingo.dev Engine 的 LINGO_API_KEY
  • 能够通过 lingo push 在本地生成翻译

CLI 运行在 Node 22+ 上。可在你的流水线中通过以下方式安装:

bash
npm install -g @lingo.dev/cli

第 2 步:将 API 密钥添加为 CI secret#

lingo push 通过 LINGO_API_KEY 环境变量完成身份验证。请将其保存在你的 CI 平台的 secret 管理中:

  1. 进入 Settings > Secrets and variables > Actions
  2. 点击 New repository secret
  3. 名称:LINGO_API_KEY,值:你的 API 密钥
  4. 点击 Add secret

第 3 步:选择工作流并添加配置#

你的作业会运行 lingo push 生成翻译,然后使用平台自身的工具提交结果或创建 pull request。请选择最适合你团队的工作流:

工作流最适合
提交到 main适合希望以零摩擦、无感更新翻译的小团队
从 main 发起 PR适合希望在翻译合入 main 前先进行审核的团队
提交到功能分支适合拥有长期功能分支的团队
从功能分支发起 PR适合希望对每一次翻译变更都保持最高控制力的团队

不确定选哪个?先从“提交到 main”开始——这是最简单的方式。之后你也可以随时切换,而且无需修改 .lingo/config.json。

各平台的详细配置说明和工作流示例见:

GitHub Actions
在 GitHub Actions 作业中运行 @lingo.dev/cli
GitLab CI/CD
在 GitLab 流水线中运行 @lingo.dev/cli
Bitbucket Pipelines
在 Bitbucket 步骤中运行 @lingo.dev/cli

验证设置#

配置好 CI 作业后,推送一次变更来触发它。该流水线应当会:

  1. 运行 lingo push,翻译新增和变更的内容
  2. 提交翻译或创建 PR(取决于你选择的工作流)
  3. 更新 .lingo/lock.json 文件,用于跟踪哪些内容已经翻译完成

如果你想在 CI 中验证翻译是否完整,而不生成新的翻译,请运行 lingo check:

bash
lingo check

如果有任何内容尚未翻译完成,该命令会以非零状态退出——很适合作为部署门禁。示例请参阅 高级模式。

后续步骤#

GitHub App
托管式配置,无需 runner、secret 或 lock file
GitHub Actions
在 GitHub Actions 作业中运行 CLI
高级模式
翻译检查、合并冲突、工作流选择
工作原理
CI/CD 本地化流水线

这个页面对你有帮助吗?

Max PrilutskiyMax Prilutskiy·已更新 23 天前·2 分钟阅读