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

지속적 로컬라이제이션

  • 작동 방식
  • 설정

플랫폼

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

고급 패턴

CI/CD 로컬라이제이션을 위한 고급 패턴을 소개합니다. 워크플로 선택부터 번역 완성도 확인, 병합 충돌 해결까지 다룹니다.

워크플로 선택하기#

대부분의 팀 운영 방식은 네 가지 워크플로 패턴으로 커버할 수 있습니다. 각 패턴마다 자동화 수준, 검토 부담, 브랜치 관리 측면에서 트레이드오프가 다릅니다.

워크플로적합한 경우트레이드오프
main에 커밋소규모 팀, 마찰 없는 업데이트번역 검토 단계가 없음
main에서 PR 생성번역을 검토하고 싶은 팀PR을 수동으로 승인해야 함
기능 브랜치에 커밋장기간 유지되는 기능 브랜치번역 커밋이 브랜치 히스토리에 남음
기능 브랜치에서 PR 생성기능별로 최대한 세밀하게 제어해야 하는 경우기능마다 여러 PR을 관리해야 함

GitHub에서는 Lingo.dev GitHub App이 이런 패턴 대부분을 서버 측에서 자동으로 처리합니다. push와 PR에 반응해 번역을 다시 커밋하고, runner나 secret도 필요하지 않습니다. 현지화를 자체 파이프라인에서 운영한다면 아래의 CLI 패턴을 활용하세요.

어떤 방식을 선택할지 확신이 없다면 "main에 커밋"부터 시작하세요. 가장 단순한 워크플로이며, 브랜치가 갈라지지 않기 때문에 병합 충돌도 원천적으로 막을 수 있습니다.

번역 완성도 확인하기#

lingo check 명령은 새 번역을 생성하지 않고, 모든 콘텐츠가 번역되었는지 확인합니다. 누락된 콘텐츠가 하나라도 있으면 0이 아닌 상태 코드로 종료합니다:

bash
lingo check

번역되지 않은 콘텐츠가 배포되지 않도록 배포 게이트로 활용하세요. npm install -g @lingo.dev/cli로 CLI를 설치하고(Node 22+), LINGO_API_KEY 환경 변수로 runner를 인증하세요.

yaml
name: Check translations
on: [push, pull_request]
jobs:
  check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
      - run: npm install -g @lingo.dev/cli
      - run: lingo check
        env:
          LINGO_API_KEY: ${{ secrets.LINGO_API_KEY }}

병합 충돌 해결하기#

병합 충돌은 브랜치 간 .lingo/lock.json 파일 내용이 달라질 때 발생합니다. 보통 서로 다른 브랜치에서 번역이 각각 업데이트될 때 이런 상황이 생깁니다.

예방#

번역에 기능 브랜치를 쓰는 대신 번역을 main에 직접 커밋하면 lockfile 충돌을 완전히 없앨 수 있습니다.

merge로 해결하기#

1

merge 시작하기

bash
git merge <branch-name>
2

충돌한 lockfile 삭제하기

bash
rm .lingo/lock.json
3

merge 완료하기

bash
git add .
git merge --continue
4

lockfile 다시 생성하기

bash
lingo push

lingo push를 실행하면 일반적인 동기화 과정에서 현재 소스 파일 상태를 기준으로 .lingo/lock.json가 다시 생성됩니다.

rebase로 해결하기#

같은 방식은 rebase에도 적용됩니다. 충돌이 발생할 때마다 .lingo/lock.json를 삭제하고 rebase를 계속 진행한 뒤, 마지막에 lingo push를 실행해 lockfile을 다시 생성하세요:

bash
git rebase <branch-name>
# On each conflict: rm .lingo/lock.json && git add . && git rebase --continue
lingo push

다음 단계#

GitHub App
runner 없이 GitHub에서 현지화 자동화
lingo push
소스 콘텐츠와 번역 동기화
작동 방식
CI/CD 로컬라이제이션 파이프라인
설정
프로젝트에 맞게 CI/CD 설정하기

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

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