|
문서
데모 예약플랫폼
플랫폼MCPCLIAPI워크플로
가이드변경 로그

지속적 로컬라이제이션

  • 작동 방식
  • 설정

플랫폼

  • GitHub App
  • GitHub Actions
  • GitLab CI/CD
  • Bitbucket Pipelines
  • 고급 패턴

설정

GitHub Action, GitLab CI/CD, Bitbucket Pipelines 또는 독립형 CLI에서 지속적 로컬라이제이션을 설정하세요. 모두 파이프라인에서 Lingo.dev CLI를 실행하므로 설정 과정은 동일한 3단계입니다. CLI를 구성하고, API 키를 추가하고, 워크플로를 선택하면 됩니다.

GitHub App을 설정하려고 하시나요?

GitHub App은 이 방식을 사용하지 않습니다. 로컬 CLI, i18n.json, API 키 시크릿이 필요 없습니다. 앱을 한 번 설치한 뒤 저장소에 .lingo/config.json만 추가하면 됩니다. 이 경우 GitHub App 가이드를 따르세요.

사전 준비 사항

CI/CD를 추가하기 전에 CLI 설정을 완료해 두어야 합니다. 즉, i18n.json 파일이 있고 로컬에서 npx lingo.dev@latest run를 실행할 수 있어야 합니다.

1단계. CLI 구성#

아직 설정하지 않았다면 CLI 설정 가이드를 따라 진행하세요. 완료되면 다음이 준비되어 있어야 합니다.

  • 프로젝트 루트의 i18n.json 파일
  • API 키(Lingo.dev 엔진용 LINGO_API_KEY 또는 OPENAI_API_KEY 같은 제공업체 키)
  • npx lingo.dev@latest run로 로컬에서 번역을 생성할 수 있는 상태

2단계. API 키를 CI 시크릿으로 추가#

CI 플랫폼의 시크릿 관리 기능에 API 키를 저장하세요.

  1. Settings > Secrets and variables > Actions로 이동합니다
  2. New repository secret를 클릭합니다
  3. 이름: LINGODOTDEV_API_KEY, 값: API 키
  4. Add secret를 클릭합니다

3단계. 워크플로를 선택하고 설정을 추가#

팀에 맞는 워크플로를 선택한 다음, 플랫폼별 가이드를 따르세요.

워크플로추천 대상
main에 커밋번역 업데이트가 별다른 개입 없이 자연스럽게 반영되길 원하는 소규모 팀
main에서 PR 생성번역이 main에 반영되기 전에 검토하고 싶은 팀
feature branch에 커밋장기간 유지되는 feature branch를 운영하는 팀
feature branch에서 PR 생성모든 번역 변경을 최대한 세밀하게 관리하고 싶은 팀

어떤 워크플로를 선택할지 고민된다면 "main에 커밋"부터 시작하세요. 가장 간단한 방식이며, 나중에도 i18n.json을 바꾸지 않고 전환할 수 있습니다.

플랫폼별 설정 방법과 워크플로 예시는 다음 문서를 참고하세요.

GitHub Actions
워크플로 예제가 포함된 공식 GitHub Action
GitLab CI/CD
파이프라인 예제가 포함된 Docker 이미지
Bitbucket Pipelines
워크플로 예제가 포함된 공식 Pipe

설정 확인#

CI 워크플로를 구성한 뒤, 변경 사항을 푸시해 실행을 트리거하세요. 통합이 정상적으로 설정되었다면 다음이 수행됩니다.

  1. 번역 파이프라인 실행
  2. 번역을 커밋하거나 PR 열기(선택한 워크플로에 따라 다름)
  3. i18n.lock 파일 업데이트

새 번역을 생성하지 않고 CI에서 번역이 모두 완료됐는지 확인하려면 --frozen 플래그를 사용하세요.

bash
npx lingo.dev@latest run --frozen

번역되지 않은 콘텐츠가 하나라도 있으면 0이 아닌 상태 코드로 종료합니다. 배포 게이트로 활용하기에 유용합니다. 예시는 고급 패턴을 참고하세요.

다음 단계#

GitHub App
API 키 시크릿이나 i18n.json 없이 사용하는 관리형 설정
GitHub Actions
공식 GitHub Action 설정하기
고급 패턴
번역 검사, 병합 충돌, 워크플로 선택
작동 방식
CI/CD 로컬라이제이션 파이프라인

이 페이지가 도움이 되었나요?

Max PrilutskiyMax Prilutskiy·업데이트됨 24일 전·2 min read