i18n.lock

업데이트일: 지난 분기 · 1분 소요

지원 중단

이 문서는 레거시 CLI(v0)를 다룹니다. 현재 CLI는 v1입니다. 현재 CLI 문서 보기

i18n.lock은 소스 콘텐츠의 SHA-256 지문을 저장하는 lockfile입니다. Lingo.dev CLI는 실행할 때마다 이 지문을 비교해 어떤 문자열이 새로 추가되었거나 변경되었는지 판단합니다. 해당 문자열만 번역 파이프라인에 들어가고, 나머지는 모두 건너뜁니다.

구조#

이 lockfile은 YAML 형식을 사용합니다:

yaml
version: 1
checksums:
  a07974ea09011daa56f9df706530e442:
    title: f8692d39317193acf0e2e47172703c46
    description: g9703e40428204bdf1f3f58283814d57
필드설명
versionlockfile 스키마 버전입니다.
checksums콘텐츠 지문 맵입니다. 각 항목은 소스 콘텐츠 해시를 키 해시에 매핑합니다.

이중 해시 구조(콘텐츠 해시 + 키 해시) 덕분에 키 이름 변경 감지가 가능합니다. 키 이름이 바뀌어도 콘텐츠가 같다면 CLI가 기존 번역을 그대로 유지합니다.

워크플로#

첫 실행 - 모든 소스 콘텐츠의 지문을 포함한 lockfile을 생성합니다:

bash
npx lingo.dev@latest run
# Creates i18n.lock

이후 실행 - 변경된 부분만 번역합니다:

bash
npx lingo.dev@latest run
# Compares against i18n.lock, translates only changes

강제 재번역 - lockfile을 무시하고 전체를 다시 번역합니다:

bash
npx lingo.dev@latest run --force

lockfile 재생성 - 현재 소스 파일 상태를 기준으로 lockfile을 다시 만듭니다:

bash
npx lingo.dev@latest lockfile --force

병합 충돌을 해결하는 중 lockfile을 초기화하려면 lockfile --force을 사용하세요. 언제 실행해도 안전합니다.

고정 검증 - 번역이 필요한 콘텐츠가 하나라도 있으면 실패합니다(CI/CD용):

bash
npx lingo.dev@latest run --frozen

중복 제거#

브랜치를 병합할 때 lockfile YAML에 중복 항목이 쌓일 수 있습니다. CLI는 파일을 불러올 때마다 자동으로 중복을 제거하며, 동일한 체크섬 블록 아래 중복된 키는 마지막 항목을 남기는 방식으로 처리합니다. 중복이 제거되면 CLI가 그 개수를 로그에 남깁니다.

중복 제거는 lockfile을 읽는 모든 명령에서 실행됩니다: run, status, lockfile 등.

버전 관리#

i18n.lock은 로캘 파일과 함께 리포지토리에 커밋해야 합니다. 이 파일이 있어야 증분 번역이 가능하며, 없으면 실행할 때마다 전체 프로젝트를 다시 번역하게 됩니다.

다음 단계#