Large Projects
Deprecated
The Lingo.dev CLI scales to projects with thousands of translation keys and dozens of target languages through parallel processing, incremental translation via the lockfile, and targeted processing options.
Parallel processing#
The CLI distributes translation tasks across concurrent workers. The default concurrency is 10 workers:
npx lingo.dev@latest runIncrease concurrency for large projects:
npx lingo.dev@latest run --concurrency 20For a project with 50 files across 10 languages (500 translation tasks), parallel processing handles them concurrently instead of sequentially. See Parallel Processing for details on the worker architecture.
Targeted processing#
Process specific subsets instead of the entire project:
# 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.titleThese options combine - --force --bucket json --target-locale es retranslates all JSON content for Spanish only.
CI/CD integration#
Automate translation on every push using 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 }}The lockfile ensures only changed content is translated, keeping CI runs fast even for large projects.
Bucket organization#
Separate content types into distinct buckets for targeted processing:
{
"buckets": {
"json": {
"include": ["src/locales/[locale].json"]
},
"markdown": {
"include": ["docs/[locale]/*.md"]
}
}
}This lets you process documentation and app content independently: --bucket markdown translates only documentation.