Официальный GitHub Action от Lingo.dev запускает конвейер локализации при каждом push: он либо коммитит переводы напрямую, либо открывает pull request — в зависимости от вашего рабочего процесса.
Предпочитаете управляемое решение?
GitHub App — самый простой способ запустить непрерывную локализацию в GitHub: установите его один раз, и он будет реагировать на push и pull request без runner, секрета с API-ключом и lockfile. Используйте GitHub Action (ниже), если хотите, чтобы перевод выполнялся внутри вашего собственного конвейера вместе с другими шагами CI.
Что понадобится
Сначала выполните настройку CI/CD. Вам понадобятся рабочие i18n.json и LINGODOTDEV_API_KEY, сохранённые в секрете репозитория.
Минимальная настройка#
Создайте .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 }}При каждом push переводы будут коммититься напрямую в main.
Примеры рабочих процессов#
Коммит в main#
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 из 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 }}Для рабочих процессов на основе PR включите Settings > Actions > General > Allow GitHub Actions to create and approve pull requests.
Коммит в feature-ветку#
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 из feature-ветки#
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 | Обязательно | API-ключ Lingo.dev |
pull-request | false | Создать pull request вместо прямого коммита |
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 | Email автора Git-коммита |
working-directory | . | Рабочий каталог для монорепозиториев |
process-own-commits | false | Обрабатывать коммиты, созданные этим action |
parallel | false | Запускать в параллельном режиме |
version | latest | Версия Lingo.dev CLI |
