Другие команды

Max PrilutskiyГенеральный директор и соучредитель2 мин чтения

Команды настройки и идентификации. Ни одна из них не работает с исходным контентом — они управляют только учётными данными и привязками проекта.

lingo login#

Аутентификация в Lingo.dev. Два варианта:

Браузер (по умолчанию, интерактивный режим)#

bash
lingo login

Открывает Lingo.dev в браузере, где вы разрешаете доступ для CLI. Если вы ещё не вошли в учётную запись, сначала войдите. CLI сохраняет сеанс в ~/.lingo/credentials.json и поддерживает его активным, пока вы не выполните lingo logout.

Если вы ещё не состоите в организации или создали её в веб-приложении, но не закончили настройку, login затем выводит ссылку, по которой вы можете завершить настройку в веб-приложении:

text
Finish setting up Acme Inc in the web app: https://lingo.dev/orgs/org_a8c...

При настройке в веб-приложении первый движок организации создаётся на основе вашего сайта.

API key (CI / неинтерактивный режим)#

bash
lingo login --api-key lk_...

Сохраняет API-ключ. Создать ключи можно на платформе Lingo.dev в настройках вашей организации: API keys.

Вы также можете передать --api-key как глобальный флаг в любой команде — тогда сохранённые учётные данные будут полностью проигнорированы:

bash
lingo push --api-key lk_...

Удобно для разовых CI-зач, где учётные данные не должны записываться на диск.

lingo logout#

bash
lingo logout

Очищает ~/.lingo/credentials.json. Если вы не были авторизованы, команда ничего не сделает.

bash
lingo link
lingo link --org org_a8c... --engine eng_b9d...   # skip prompts

Привязывает текущий проект к организации и движку локализации. Записывает orgId и engineId в .lingo/config.json (добавьте файл в коммит).

В интерактивном режиме вы можете выбрать существующие организации и движки или создать новые прямо в процессе. link запрашивает название, предлагает пройти вводный опрос для новой организации и создаёт её через API перед привязкой.

Пока вы не завершите настройку созданной вами организации в веб-приложении, link не будет создавать в ней движки. Вместо этого команда покажет ссылку для завершения настройки и список существующих движков организации. Если движков нет, команда выведет эту ссылку и завершит работу: закончите настройку и выполните lingo link ещё раз. Это ограничение не касается организаций, в которые вас пригласили, и запусков с ключом API.

Если вы ещё не состоите в организации или в ней требуется единый вход, а вы ещё не вошли через SSO, link вместо этого завершает работу и выводит ссылку на веб-приложение. Создайте там организацию или войдите через SSO, затем снова выполните lingo link.

bash
lingo unlink

Удаляет orgId и engineId из .lingo/config.json. Организация и движок при этом не удаляются — разрывается только локальная привязка. Удобно перед повторной привязкой к другому движку.

lingo whoami#

bash
lingo whoami
lingo whoami --json

Показывает три вещи:

  1. Identity — адрес почты, под которым вы вошли, либо то, что используется API-ключ.
  2. Org — привязанная организация (имя подтягивается через API).
  3. Engine — привязанный движок (имя подтягивается через API).
text
Email:   you@company.com
  Org:     Acme Inc (org_a8c...)
  Engine:  Production (eng_b9d...)
  Auth:    session

Если вы находитесь не в директории привязанного проекта, строки Org/Engine не выводятся. --json возвращает те же данные в структурированном виде для скриптов.

Глобальный флаг --api-key#

Каждая команда поддерживает флаг --api-key, который подменяет сохранённые учётные данные только для этого запуска. Стандартный паттерн для CI:

yaml
env:
  LINGO_API_KEY: ${{ secrets.LINGO_API_KEY }}
steps:
  - run: lingo push --backfill-missing --yes --wait --api-key "$LINGO_API_KEY"

(CLI также читает LINGO_API_KEY из окружения как запасной вариант.)

Что дальше#

  • lingo push — перевод с учётом области видимости и delta translation.
  • lingo pull — получить результаты последнего push-запроса с определением конфликтов.
  • Configuration — .lingo/config.json, lockfile и состояние запуска.