lingo ci 会在 CI 作业中运行本地化流水线,并将结果回写到你的仓库——可以直接提交到分支,也可以发起 pull request。它会自动识别运行平台(GitHub Actions、GitLab CI、Bitbucket Pipelines),并为你配置好 git 身份、远程仓库和分支。
基本用法#
bash
lingo ci默认情况下,它会先执行翻译步骤,然后将新增的翻译直接提交到当前分支。
选择步骤#
--step 会决定使用哪个命令作为翻译步骤(默认为 localize)。如果你使用的是 push/pull 文件工作流,请改用 push:
bash
lingo ci --step push可用步骤包括:localize、ship、push、extract。
Commit 还是 pull request#
你可以直接提交到分支(默认),也可以从专用的 lingo.dev/* 分支发起或更新 PR:
bash
lingo ci --step push --pull-request常用参数:
| 参数 | 作用 |
|---|---|
--pull-request | 不提交到基础分支,改为发起或更新 PR。 |
--commit-message <msg> | 提交信息。默认值:feat: update translations via @lingodotdev。 |
--pull-request-title <title> | PR 标题。 |
--commit-author-name / --commit-author-email | Git 作者。默认值为 Lingo.dev / support@lingo.dev。 |
--working-directory <dir> | 先将 cd 切换到子目录——适用于 monorepos。 |
--gpg-sign | 使用已配置的 GPG 密钥为 commit 签名。 |
--process-own-commits | 即使上一条提交已经由 Lingo.dev 创建,也不要跳过这次运行。 |
GitHub Actions 示例#
使用 API 密钥完成身份验证(lingo login --api-key,或将其设为 secret),并在每次合并到默认分支时运行:
yaml
name: Translate
on:
push:
branches: [main]
jobs:
localize:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npx @lingo.dev/cli@latest ci --step push --pull-request
env:
LINGO_API_KEY: ${{ secrets.LINGO_API_KEY }}这样一来,每次 push 到 main 时,都会自动翻译新增和变更的源内容,并发起一个包含结果的 PR 供审核。
