빠른 시작
처음부터 끝까지: 설치, 인증, 엔진 연결, 소스 push, 번역 pull.
사전 준비 사항
Node.js 22+가 필요합니다(node -v로 확인). CLI는 설치 후 lingo로 실행할 수 있습니다.
설정#
설치
npm install -g @lingo.dev/cli또는 pnpm add -g @lingo.dev/cli / yarn global add @lingo.dev/cli / bun add -g @lingo.dev/cli를 사용하세요.
인증
lingo login브라우저에서 Lingo.dev 사이트를 열고 CLI 사용을 승인하세요. 아직 로그인하지 않았다면 먼저 로그인하세요. CLI 세션은 ~/.lingo/credentials.json에 저장됩니다. 지속적 통합 또는 비대화형 환경에서는 API 키를 사용하세요: lingo login --api-key lk_... (또는 아무 명령어에나 --api-key을 전역 플래그로 설정하세요).
프로젝트 초기화
프로젝트 루트에서:
lingo initsource locale, target locales, file patterns(소스 파일을 가리키는 glob)를 묻습니다. 그리고 로컬라이제이션 섹션을 .lingo/config.json에 기록합니다. 이 파일은 반드시 커밋하세요. 무엇이 번역될지를 결정하는 기준 파일입니다.
엔진에 연결
lingo link조직과 로컬라이제이션 엔진을 선택하거나 새로 만드세요. 엔진에는 AI 모델 설정, 용어집, 브랜드 보이스, 규칙이 담기므로 Lingo.dev platform에서 한 번만 설정해 두면 여러 프로젝트에서 재사용할 수 있습니다. link는 orgId와 engineId를 .lingo/config.json에 추가합니다(이 변경 사항도 함께 커밋됩니다).
첫 push#
내용이 들어 있는 소스 파일(예: locales/en.json)이 준비되면:
lingo push --backfill-missing --wait설정된 모든 패턴에서 누락된 대상 항목을 모두 번역합니다. --wait을 사용하면 실행이 끝날 때까지 CLI가 연결된 상태를 유지하고, 완료되면 결과물(locales/de.json, locales/fr.json, ...)을 디스크에 씁니다. 새로 체크아웃한 상태에서는 이 작업에 몇 초(작은 JSON)에서 몇 분(큰 마크다운 묶음)까지 걸릴 수 있습니다. --wait이 없으면 push는 실행이 제출되자마자 종료되고, lingo pull가 나중에 결과물을 씁니다.
완료되면:
✓ Run lrg_a8c... : localized 12 target file(s), uploaded 1 new artifact(s).이후 실행#
소스 파일을 수정한 뒤에는 일반 lingo push만으로 변경분만 번역됩니다. 소스 해시가 바뀌지 않은 파일은 서버 측에서 건너뜁니다. 로컬 대상 파일 수정 내용은 기본적으로 유지되며, 덮어쓰려면 --force(범위 지정과 함께)를 사용하세요.
lingo push # delta only
lingo push docs/en/**/*.md # scoped: only this subtree
lingo push docs/en/about.md -f # scoped + force: retranslate even if up to date이 명령들은 모두 실행이 제출되면 종료됩니다. 같은 명령에서 결과물을 쓰려면 --wait을 추가하거나, lingo pull로 나중에 가져오세요.
나중에 가져오기#
push은 실행 ID를 ~/.lingo/runs/<hash>.json에 기록합니다(절대 프로젝트 경로를 키로 사용). 이후 같은 머신의 같은 체크아웃에서 다음을 실행합니다:
lingo pull… 아직 실행 중이라면 마지막 푸시가 끝날 때까지 기다렸다가 결과물을 씁니다. 번역 중간에 터미널을 닫았을 때 유용합니다. 다른 머신에서는 커밋한 뒤 번역을 받을 수 있습니다.
다음 단계#
- Configuration —
.lingo/config.json스키마, lockfile, 실행 상태가 저장되는 위치. - lingo push — 범위 지정 패턴,
--force, 재시도 동작 방식. - lingo pull — 충돌 감지,
--dry-run.