官方 Lingo.dev GitHub Action 会在每次 push 时运行本地化流水线,并根据你的工作流,直接提交翻译结果或发起拉取请求。
更想用托管方案?
GitHub App 是在 GitHub 上实现持续本地化的最省心方式——安装一次后,它就能响应 push 和拉取请求,无需 runner、无需 API key secret,也无需 lockfile。若你希望翻译在自有流水线中与其他 CI 步骤一同运行,则请使用 GitHub Action(见下文)。
前提条件
请先完成 CI/CD Setup。你需要一个可正常使用的 i18n.json 和 LINGODOTDEV_API_KEY,并将它们保存为仓库 secret。
最简配置#
创建 .github/workflows/translate.yml:
yaml
name: Translate
on:
push:
branches: [main]
permissions:
contents: write
jobs:
translate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Lingo.dev
uses: lingodotdev/lingo.dev@main
with:
api-key: ${{ secrets.LINGODOTDEV_API_KEY }}这样一来,每次 push 时都会将翻译直接提交到 main。
工作流示例#
提交到 main#
yaml
name: Translate
on:
push:
branches: [main]
permissions:
contents: write
jobs:
translate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Lingo.dev
uses: lingodotdev/lingo.dev@main
with:
api-key: ${{ secrets.LINGODOTDEV_API_KEY }}从 main 发起拉取请求#
yaml
name: Translate
on:
push:
branches: [main]
permissions:
contents: write
pull-requests: write
jobs:
translate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Lingo.dev
uses: lingodotdev/lingo.dev@main
with:
api-key: ${{ secrets.LINGODOTDEV_API_KEY }}
pull-request: true
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}如果使用基于 PR 的工作流,请启用 Settings > Actions > General > Allow GitHub Actions to create and approve pull requests。
提交到功能分支#
yaml
name: Translate
on:
push:
branches-ignore: [main]
permissions:
contents: write
jobs:
translate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Lingo.dev
uses: lingodotdev/lingo.dev@main
with:
api-key: ${{ secrets.LINGODOTDEV_API_KEY }}从功能分支发起拉取请求#
yaml
name: Translate
on:
push:
branches-ignore: [main]
permissions:
contents: write
pull-requests: write
jobs:
translate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Lingo.dev
uses: lingodotdev/lingo.dev@main
with:
api-key: ${{ secrets.LINGODOTDEV_API_KEY }}
pull-request: true
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}可用输入参数#
| 输入参数 | 默认值 | 说明 |
|---|---|---|
api-key | 必填 | Lingo.dev API key |
pull-request | false | 创建拉取请求,而非直接提交 |
commit-message | feat: update translations via @LingoDotDev | 自定义提交信息 |
pull-request-title | feat: update translations via @LingoDotDev | 自定义 PR 标题 |
commit-author-name | Lingo.dev | Git 提交作者名称 |
commit-author-email | support@lingo.dev | Git 提交作者邮箱 |
working-directory | . | monorepo 的工作目录 |
process-own-commits | false | 处理由此 Action 创建的提交 |
parallel | false | 以并行模式运行 |
version | latest | Lingo.dev CLI 版本 |
