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

지속적 로컬라이제이션

  • 작동 방식
  • 설정

플랫폼

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

GitHub

Lingo.dev는 GitHub에서 지속적 로컬라이제이션을 실행하는 두 가지 방식을 지원합니다. 관리형 GitHub App과 GitHub Actions 작업에서 @lingo.dev/cli를 실행하는 방식입니다.

어떤 방식을 써야 하나요?

우선 GitHub App부터 시작하세요. 서버 측에서 실행되며, 푸시와 풀 리퀘스트에 자동으로 반응하고, 러너도 API 키 시크릿도 lockfile 관리도 필요하지 않습니다. 다른 CI 단계와 함께 자체 파이프라인 안에서 로컬라이제이션을 실행하고 싶다면 GitHub Actions를 선택하세요.

GitHub App(권장)#

GitHub App은 GitHub에서 지속적 로컬라이제이션을 실행하는 가장 쉬운 방법입니다. 한 번 설치하고 엔진에 연결해 두면, 모든 푸시와 풀 리퀘스트에 자동으로 반응합니다.

  1. GitHub App 페이지에서 앱을 설치하고 리포지토리에 대한 액세스 권한을 부여하세요.
  2. 리포지토리 루트에 버킷과 로캘을 정의하는 .lingo/config.json을 커밋하세요. 여기에는 앱이 사용할 엔진의 engineId도 포함되어야 합니다. 파일 형식은 Configuration을 참고하세요.
  3. 푸시하면 앱이 변경된 콘텐츠를 서버 측에서 로컬라이즈하고, 결과를 다시 커밋하거나 풀 리퀘스트를 생성해 .lingo/lock.json을 자동으로 최신 상태로 유지합니다.

앱은 서버 측에서 실행되므로 관리할 러너가 없고, 저장해 둘 LINGO_API_KEY 시크릿도 없으며, lockfile 명령을 따로 실행할 필요도 없습니다.

GitHub Actions#

자체 파이프라인에서 로컬라이제이션을 실행하려면 작업에 CLI를 설치한 뒤 lingo push를 실행하고, 기존 도구를 사용해 결과를 커밋하거나 풀 리퀘스트를 생성하세요.

API 키를 LINGO_API_KEY라는 이름의 리포지토리 시크릿으로 저장하세요(Settings > Secrets and variables > Actions). CLI는 이를 환경 변수에서 읽습니다.

현재 브랜치에 커밋#

.github/workflows/localize.yml 파일을 만드세요:

yaml
name: Localize
on:
  push:
    branches: [main]
permissions:
  contents: write
jobs:
  localize:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
      - name: Install Lingo.dev CLI
        run: npm install -g @lingo.dev/cli
      - name: Localize
        run: lingo push
        env:
          LINGO_API_KEY: ${{ secrets.LINGO_API_KEY }}
      - name: Commit translations
        run: |
          git config user.name "Lingo.dev"
          git config user.email "support@lingo.dev"
          git add .
          git diff --staged --quiet || git commit -m "feat: update translations"
          git push

이 방식은 변경된 콘텐츠를 로컬라이즈한 뒤, 푸시가 발생할 때마다 결과를 현재 브랜치에 직접 커밋합니다.

풀 리퀘스트 생성#

직접 커밋하는 대신 검토를 거쳐 번역을 반영하려면, 결과를 브랜치에 푸시한 다음 풀 리퀘스트를 생성하세요. 이 예제에서는 GitHub 호스팅 러너에 기본 설치된 GitHub CLI를 사용합니다.

yaml
name: Localize
on:
  push:
    branches: [main]
permissions:
  contents: write
  pull-requests: write
jobs:
  localize:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
      - name: Install Lingo.dev CLI
        run: npm install -g @lingo.dev/cli
      - name: Localize
        run: lingo push
        env:
          LINGO_API_KEY: ${{ secrets.LINGO_API_KEY }}
      - name: Open pull request
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          git config user.name "Lingo.dev"
          git config user.email "support@lingo.dev"
          branch="lingo/translations-${{ github.run_id }}"
          git checkout -b "$branch"
          git add .
          git diff --staged --quiet && exit 0
          git commit -m "feat: update translations"
          git push origin "$branch"
          gh pr create --fill --base "${{ github.ref_name }}" --head "$branch"

PR 기반 워크플로를 사용하려면 Settings > Actions > General > Allow GitHub Actions to create and approve pull requests를 활성화하세요.

같은 작업은 기능 브랜치에서도 동작합니다. 로컬라이제이션을 어디에서 실행할지 제어하려면 on.push.branches 필터를 변경하세요(예: branches-ignore: [main]).

다음 단계#

GitHub App
관리형 대안 — runner, secret, lockfile 불필요
CLI 레퍼런스
명령어, 구성, CI 사용법
고급 패턴
로컬라이제이션 검사, 병합 충돌, 워크플로 선택
GitLab CI/CD
GitLab CI/CD 통합 설정

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

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