The official Lingo.dev GitHub Action runs the localization pipeline on every push, committing translations directly or opening a pull request depending on your workflow.
Prerequisites
Complete the CI/CD Setup first. You need a working i18n.json and LINGODOTDEV_API_KEY stored as a repository secret.
Minimal setup#
Create .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 }}This commits translations directly to main on every push.
Workflow examples#
Commit to 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 }}Pull request from 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 }}Enable Settings > Actions > General > Allow GitHub Actions to create and approve pull requests for PR-based workflows.
Commit to feature branch#
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 }}Pull request from feature branch#
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 }}Available inputs#
| Input | Default | Description |
|---|---|---|
api-key | Required | Lingo.dev API key |
pull-request | false | Create a pull request instead of committing directly |
commit-message | feat: update translations via @LingoDotDev | Custom commit message |
pull-request-title | feat: update translations via @LingoDotDev | Custom PR title |
commit-author-name | Lingo.dev | Git commit author name |
commit-author-email | support@lingo.dev | Git commit author email |
working-directory | . | Working directory for monorepos |
process-own-commits | false | Process commits made by this action |
parallel | false | Run in parallel mode |
version | latest | Lingo.dev CLI version |
