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

지속적 로컬라이제이션

  • 작동 방식
  • 설정

플랫폼

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

지속적 로컬라이제이션

Lingo.dev는 번역을 코드와 항상 동기화된 상태로 유지합니다. 변경이 생길 때마다 바뀐 콘텐츠를 감지하고, 연결된 로컬라이제이션 엔진으로 번역한 뒤 — 용어집 규칙, 브랜드 보이스, 로캘별 모델 구성을 일관되게 적용해 — 결과를 커밋하거나 풀 리퀘스트를 엽니다. 미완성 번역은 프로덕션에 절대 반영되지 않습니다.

통합 방식 선택#

각 통합 방식마다 전용 가이드가 있습니다. 현재 환경에 맞는 방식을 선택하세요:

통합 방식실행 방식
GitHub App한 번만 설치하면 됩니다. Lingo.dev가 기본 브랜치로의 push와, 활성화한 경우 풀 리퀘스트에서 로컬라이제이션을 대신 실행합니다. 러너도, API 키 시크릿도, lockfile도 필요 없습니다.
GitHub Actions공식 Action을 통해 GitHub Actions 파이프라인에서 CLI를 실행합니다.
GitLab CI/CD공식 Docker 이미지를 통해 GitLab 파이프라인에서 CLI를 실행합니다.
Bitbucket Pipelines공식 Pipe를 통해 Bitbucket 파이프라인에서 CLI를 실행합니다.

GitHub App을 제외한 모든 통합 방식은 Lingo.dev CLI를 실행합니다. 따라서 Node.js를 지원하는 어떤 CI/CD 환경에서든 퍼스트파티 통합 없이도 로컬라이제이션을 직접 실행할 수 있습니다.

GitHub App 작동 방식#

앱을 한 번 설치하고 저장소에 .lingo/config.json를 추가하면 됩니다. 그다음부터는 Lingo.dev가 로컬라이제이션을 대신 실행합니다. 파이프라인도, API 키 시크릿도, lockfile도 필요 없습니다:

  1. 변경 감지 - 별도 설정 없이 기본 브랜치에 대한 push에 반응하며, onPullRequest를 활성화하면 풀 리퀘스트에도 반응하고, 구성한 소스 패턴을 기준으로 변경된 파일을 확인합니다.
  2. 변경분만 번역 - engineId에 지정된 엔진으로 변경된 소스 콘텐츠를 전송합니다.
  3. 결과를 GitHub에 반영 - 기본 브랜치 push에서는 번역용 풀 리퀘스트를 열거나 업데이트하고, 풀 리퀘스트에서는 번역된 파일을 PR 브랜치에 커밋한 뒤 상태 코멘트를 남깁니다.
  4. 복구 및 배치 처리 - 이전 실행에서 놓친 변경 사항을 감지하고, 매우 큰 업데이트는 여러 커밋으로 나눠 처리합니다.

승인 단계 이후에만 실행되도록 설정하거나, 풀 리퀘스트에서 /lingo 명령으로 번역을 수동 실행할 수도 있습니다. 전체 구성은 GitHub App 가이드를 참고하세요.

파이프라인 통합 방식#

GitHub Action, GitLab CI/CD, Bitbucket Pipelines, 그리고 독립 실행형 CLI는 모두 기존 파이프라인의 한 단계로 동일한 Lingo.dev CLI를 실행합니다. 필요한 것은 두 가지입니다. i18n.json 구성과 API 키입니다.

각 실행 시 통합 방식은 다음을 수행합니다:

  1. 소스 파일 탐색 - 번역 가능한 콘텐츠를 찾기 위해 bucket configuration을 읽습니다.
  2. 변경 감지 - i18n.lock lockfile과 비교해 새 문자열이나 수정된 문자열을 식별하므로, 변경분만 번역됩니다.
  3. 번역 수행 - 구성된 로컬라이제이션 엔진으로 변경된 콘텐츠를 전송하며, 용어집, 브랜드 보이스, 로캘별 모델 설정 등 모든 규칙이 적용됩니다.
  4. 결과 기록 - 대상 로캘 파일을 해당 위치에서 바로 업데이트합니다.
  5. 커밋 또는 PR 생성 - 선택한 워크플로에 따라 처리됩니다.

변경된 문자열만 번역하므로 수십 개 로캘에 걸친 환경에서도 빠르고 비용 효율적으로 실행됩니다.

워크플로 옵션#

GitHub App#

앱의 동작은 .lingo/config.json에서 설정합니다:

옵션설명
기본 브랜치로 push (onPushToDefaultBranch)기본값으로 활성화되어 있습니다. 기본 브랜치에 소스 변경이 반영되면 번역 PR을 열거나 업데이트합니다.
풀 리퀘스트 번역 (onPullRequest)기본값으로 비활성화되어 있습니다. PR에 변경이 생길 때 번역을 PR 브랜치에 커밋합니다.
승인 게이트 (requireApproval)기본값으로 비활성화되어 있습니다. 자동 실행으로 번역이 시작되기 전에 check run에서 Approve/Deny를 받거나, PR에서 /lingo approve를 실행해야 합니다.
수동 명령 (/lingo translate)PR 코멘트에서 언제든 특정 파일의 누락분을 채우거나 번역을 강제로 실행할 수 있습니다.

전체 구성과 명령어 참조는 GitHub App 가이드를 참고하세요.

GitHub Action, GitLab CI, Bitbucket, CLI#

대부분의 팀 환경은 네 가지 워크플로 패턴으로 커버할 수 있습니다:

워크플로트리거출력
main에 커밋main로 push번역이 main에 직접 커밋됨
main에서 PR 생성main로 push번역이 포함된 풀 리퀘스트
feature 브랜치에 커밋feature 브랜치로 push번역이 해당 브랜치에 커밋됨
feature 브랜치에서 PR 생성feature 브랜치로 push해당 브랜치에서 풀 리퀘스트 생성

첫 번째 옵션인 main에 커밋이 가장 단순합니다. 개발자의 개입 없이도 번역이 자동으로 반영됩니다. PR 기반 옵션은 번역이 반영되기 전에 검토 단계를 추가합니다.

어떤 방식을 선택할지에 대한 자세한 내용은 Advanced Patterns를 참고하세요.

다음 단계#

GitHub App
관리형 지속적 로컬라이제이션 - 한 번 설치하면 파이프라인 없이 운영 가능
Setup
GitHub Action 또는 CLI 설정
GitHub Actions
공식 GitHub Action 설정하기
Advanced Patterns
워크플로 선택, 번역 검사, 병합 충돌

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

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