|
Документация
Заказать демоПлатформа
ПлатформаMCPCLIAPIРабочие процессы
РуководстваЖурнал изменений

Непрерывная локализация

  • Как это работает
  • Настройка

Платформы

  • GitHub App
  • GitHub
  • GitLab CI/CD
  • Bitbucket Pipelines
  • Продвинутые сценарии

Bitbucket Pipelines

В Bitbucket запустите @lingo.dev/cli в шаге пайплайна: установите его, выполните lingo push, чтобы перевести изменённые строки через ваш движок, затем зафиксируйте результаты или откройте pull request с помощью встроенных инструментов Bitbucket.

Предварительные требования

Вам понадобится зафиксированный файл .lingo/config.json (с engineId, исходной и целевыми локалями и паттернами files), а также API-ключ Lingo.dev, сохранённый как переменная репозитория. Чтобы создать конфигурацию, см. быстрый старт CLI.

Аутентификация#

CLI аутентифицируется через переменную окружения LINGO_API_KEY. Добавьте ключ как защищённую переменную репозитория, чтобы она была доступна шагам пайплайна:

Настройки репозитория > Переменные репозитория — добавьте LINGO_API_KEY и отметьте её как защищённую.

Чтобы пайплайн мог фиксировать коммиты или открывать pull request в репозитории, ему нужен доступ на запись в Git. Стандартные варианты: SSH-ключ репозитория (Настройки репозитория > SSH-ключи) или токен доступа к репозиторию с областью Чтение и запись репозиториев (и pull request для PR-режима), сохранённый как защищённая переменная репозитория — например BB_TOKEN.

Примеры рабочего процесса#

Прямой коммит (по умолчанию)#

Установите CLI, выполните lingo push и зафиксируйте переведённые файлы обратно в ветку:

yaml
image: node:22

pipelines:
  branches:
    main:
      - step:
          name: Translate
          script:
            - npm install -g @lingo.dev/cli
            - lingo push
            - git config user.name "lingo-bot"
            - git config user.email "support@lingo.dev"
            - git add .
            - git diff --cached --quiet || git commit -m "chore: update translations"
            - git push origin HEAD:main

lingo push переводит только то, что изменилось с последнего запуска (это отслеживается в .lingo/lock.json), дожидается завершения и записывает результаты на диск.

Режим pull request#

Отправьте переводы в отдельную ветку вместо коммита в main, а затем откройте pull request с помощью инструментов Bitbucket:

yaml
image: node:22

pipelines:
  branches:
    main:
      - step:
          name: Translate
          script:
            - npm install -g @lingo.dev/cli
            - lingo push
            - git config user.name "lingo-bot"
            - git config user.email "support@lingo.dev"
            - git checkout -b lingo/translations
            - git add .
            - git diff --cached --quiet || git commit -m "feat: update translations"
            - git push origin lingo/translations
            # Open a PR from lingo/translations into main via the Bitbucket UI or API

Монорепозиторий#

Запустите CLI из поддиректории, если конфигурация находится внутри рабочего пространства. CLI разрешает .lingo/config.json относительно рабочей директории:

yaml
image: node:22

pipelines:
  branches:
    main:
      - step:
          name: Translate
          script:
            - cd apps/web
            - npm install -g @lingo.dev/cli
            - lingo push

Переменные пайплайна#

ПеременнаяОбязательноОписание
LINGO_API_KEYДаAPI-ключ Lingo.dev. Сохраните как защищённую переменную репозитория.
BB_TOKENДля записи при push/PRТокен доступа к репозиторию (или SSH-ключ), который Git использует для коммитов или открытия pull request.

Всё остальное — исходная локаль, целевые локали, паттерны файлов и движок для маршрутизации — хранится в .lingo/config.json, а не в переменных пайплайна.

Проверка перед деплоем#

Добавьте шаг lingo check, чтобы пайплайн завершался с ошибкой, если у какой-то исходной строки нет перевода:

yaml
- step:
          name: Check translations
          script:
            - npm install -g @lingo.dev/cli
            - lingo check

Что дальше#

GitHub App
Непрерывная локализация на GitHub без лишних усилий
GitHub Actions
Запустите CLI в задании GitHub Actions
GitLab CI/CD
Запустите CLI в пайплайне GitLab
Продвинутые сценарии
Проверки переводов, конфликты слияния, выбор рабочего процесса

Эта страница была полезной?

Max PrilutskiyMax Prilutskiy·Обновлено 27 дней назад·2 минуты чтения