Lingo.dev CLI 通过并行处理、借助 lockfile 实现增量翻译,以及定向处理选项,能够轻松适配包含数千个翻译键和数十种目标语言的项目。
并行处理#
CLI 会将翻译任务分配给多个并发 worker。默认并发数为 10:
bash
npx lingo.dev@latest run对于大型项目,你可以进一步提高并发数:
bash
npx lingo.dev@latest run --concurrency 20以一个包含 50 个文件、10 种语言的项目为例,总计会产生 500 个翻译任务。通过并行处理,这些任务会同时执行,而不是按顺序依次处理。关于 worker 架构的更多细节,请参阅 Parallel Processing。
定向处理#
无需处理整个项目,只处理指定的内容子集:
bash
# 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,在每次 push 时自动执行翻译:
yaml
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 保持高效快速。
Bucket 组织#
将不同类型的内容拆分到独立的 bucket 中,便于按需处理:
json
{
"buckets": {
"json": {
"include": ["src/locales/[locale].json"]
},
"markdown": {
"include": ["docs/[locale]/*.md"]
}
}
}这样一来,你就可以将文档和应用内容分开处理:--bucket markdown 只会翻译文档。
