Lingo.dev CLI는 병렬 처리, lockfile 기반 증분 번역, 그리고 대상별 처리 옵션을 통해 수천 개의 번역 키와 수십 개의 대상 언어를 포함한 프로젝트도 효율적으로 처리할 수 있습니다.
병렬 처리#
CLI는 번역 작업을 여러 워커에 분산해 동시에 처리합니다. 기본 동시성은 워커 10개입니다:
npx lingo.dev@latest run대규모 프로젝트라면 동시성을 더 높여 보세요:
npx lingo.dev@latest run --concurrency 20파일 50개와 언어 10개로 총 500개의 번역 작업이 있는 프로젝트라면, 병렬 처리를 통해 순차 실행이 아닌 동시 실행으로 처리할 수 있습니다. 워커 아키텍처에 대한 자세한 내용은 Parallel Processing에서 확인하세요.
대상별 처리#
프로젝트 전체가 아니라 필요한 하위 집합만 골라 처리할 수 있습니다:
# Specific languages
npx lingo.dev@latest run --target-locale es --target-locale fr
# Specific file format
npx lingo.dev@latest run --bucket json
# Specific files
npx lingo.dev@latest run --file components/header
# Specific keys
npx lingo.dev@latest run --key welcome.title이 옵션들은 함께 조합해 사용할 수 있습니다. 예를 들어 --force --bucket json --target-locale es는 스페인어의 모든 JSON 콘텐츠만 다시 번역합니다.
CI/CD 통합#
GitHub Actions를 사용해 푸시할 때마다 번역을 자동화하세요:
name: Lingo.dev Localization
on:
workflow_dispatch:
permissions:
contents: write
pull-requests: write
jobs:
localize:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: lingodotdev/lingo.dev@main
with:
api-key: ${{ secrets.LINGODOTDEV_API_KEY }}lockfile이 변경된 콘텐츠만 번역하도록 해주기 때문에, 대규모 프로젝트에서도 CI 실행 속도를 빠르게 유지할 수 있습니다.
버킷 구성#
대상별 처리를 위해 콘텐츠 유형을 서로 다른 버킷으로 분리하세요:
{
"buckets": {
"json": {
"include": ["src/locales/[locale].json"]
},
"markdown": {
"include": ["docs/[locale]/*.md"]
}
}
}이렇게 하면 문서와 앱 콘텐츠를 서로 독립적으로 처리할 수 있습니다. --bucket markdown는 문서만 번역합니다.
