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

持续本地化

  • 工作原理
  • 设置

平台

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

持续本地化

Lingo.dev 让翻译始终与代码保持同步。每次代码变更时,它都会识别发生变化的内容,通过你已连接的 本地化引擎 完成翻译——一致应用术语表规则、品牌语调和按语言区域配置的模型设置——然后提交结果或创建拉取请求。未完成的翻译绝不会进入生产环境。

选择适合你的集成方式#

每种集成方式都有对应的使用指南。请选择与你当前环境匹配的方案:

集成方式运行方式
GitHub App一次安装即可。Lingo.dev 会在默认分支有 push 时为你自动运行本地化;启用后,也会在拉取请求上运行——无需 runner、无需 API 密钥 secret、无需 lockfile。
GitHub Actions通过官方 Action,在你的 GitHub Actions 流水线中运行 CLI。
GitLab CI/CD通过官方 Docker 镜像,在 GitLab 流水线中运行 CLI。
Bitbucket Pipelines通过官方 Pipe,在 Bitbucket 流水线中运行 CLI。

除 GitHub App 外,所有集成方式运行的都是 Lingo.dev CLI——这意味着任何支持 Node.js 的 CI/CD 环境都能直接运行本地化,即使没有官方集成也没问题。

GitHub App 如何工作#

安装应用一次,并在仓库中添加一个 .lingo/config.json。从此以后,Lingo.dev 就会自动为你运行本地化——无需流水线、无需 API 密钥 secret、无需 lockfile:

  1. 监测变更 —— 默认开箱即用地响应默认分支上的 push;启用 onPullRequest 后,也会响应拉取请求,并根据你配置的源文件模式检查变更文件
  2. 翻译增量内容 —— 将变更后的源内容发送到由 engineId 指定的引擎进行翻译
  3. 将结果写回 GitHub —— 在默认分支 push 时,它会创建或更新翻译拉取请求;在拉取请求中,它会把翻译后的文件提交到 PR 分支,并发布状态评论
  4. 补漏与分批处理 —— 检测先前运行遗漏的变更,并将超大更新拆分为多个提交

你可以通过审批步骤来控制运行,也可以在拉取请求中使用 /lingo 命令手动触发翻译。完整配置请参阅 GitHub App 指南。

流水线集成如何工作#

GitHub Action、GitLab CI/CD、Bitbucket Pipelines 以及独立 CLI,都以你现有流水线中的一个步骤来运行同一个 Lingo.dev CLI。它们需要两样东西:你的 i18n.json 配置和一个 API 密钥。

每次运行时,集成都会:

  1. 发现源文件 —— 读取你的 bucket 配置,找到可翻译内容
  2. 检测变更 —— 对比 i18n.lock lockfile,识别新增或修改的字符串,因此只有增量内容会被翻译
  3. 执行翻译 —— 通过你配置的 本地化引擎 处理变更内容,并应用所有规则——包括术语表、品牌语调和按语言区域设置的模型参数
  4. 写入结果 —— 直接更新目标语言区域文件
  5. 提交或创建 PR —— 具体取决于你选择的工作流

由于只翻译发生变化的字符串,因此运行速度快、成本更优——即使要覆盖数十种语言区域也是如此。

工作流选项#

GitHub App#

应用的行为通过 .lingo/config.json 配置:

选项作用
推送到默认分支(onPushToDefaultBranch)默认启用。当源内容变更进入默认分支时,会创建或更新翻译 PR。
拉取请求翻译(onPullRequest)默认禁用。会随着 PR 的变化,将翻译提交到 PR 分支。
审批门禁(requireApproval)默认禁用。在自动运行执行翻译前,需要在 check run 中选择 Approve/Deny,或在 PR 上使用 /lingo approve。
手动命令(/lingo translate)可随时通过 PR 评论为特定文件补跑或强制翻译。

完整配置和命令参考请参阅 GitHub App 指南。

GitHub Action、GitLab CI、Bitbucket 和 CLI#

四种工作流模式已覆盖大多数团队的使用场景:

工作流触发方式输出
提交到 main推送到 main翻译直接提交到 main
从 main 创建 PR推送到 main包含翻译内容的拉取请求
提交到功能分支推送到功能分支翻译已提交到该分支
从功能分支创建 PR推送到功能分支从该分支发起拉取请求

第一种方式——提交到 main——最简单。翻译会自动出现,开发者零干预。基于 PR 的方案则会在翻译合入前增加一个审核步骤。

如需了解如何在这些方案之间做选择,请参阅 高级模式。

下一步#

GitHub App
托管式持续本地化——一次安装,无需流水线
设置
配置 GitHub Action 或 CLI
GitHub Actions
设置官方 GitHub Action
高级模式
工作流选择、翻译检查、合并冲突

这个页面对你有帮助吗?

Max PrilutskiyMax Prilutskiy·已更新 24 天前·1 分钟阅读