GitHub Actions
Max Prilutskiy·Updated about 1 month ago·2 min read
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:
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
Pull request from main
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
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
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 |
Next Steps
Advanced Patterns GitLab CI/CD Bitbucket Pipelines Connect Your Engine