Lingo.dev CLI は、並列処理、lockfile を使った増分翻訳、対象を絞った処理オプションにより、数千の翻訳キーと数十の対象言語を扱うプロジェクトにも対応できます。
並列処理#
CLI は翻訳タスクを複数のワーカーに分散して同時実行します。デフォルトの並列数は 10 ワーカーです。
bash
npx lingo.dev@latest run大規模プロジェクトでは、並列数を増やせます:
bash
npx lingo.dev@latest run --concurrency 2050 ファイル × 10 言語のプロジェクトでは、翻訳タスクは 500 件にのぼります。並列処理なら、これらを逐次ではなく同時に処理できます。ワーカーアーキテクチャの詳細は 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 の実行を高速に保てます。
バケット構成#
対象を絞って処理できるよう、コンテンツ種別ごとにバケットを分けましょう:
json
{
"buckets": {
"json": {
"include": ["src/locales/[locale].json"]
},
"markdown": {
"include": ["docs/[locale]/*.md"]
}
}
}これにより、ドキュメントとアプリのコンテンツをそれぞれ独立して処理できます。--bucket markdown を使えば、ドキュメントだけを翻訳できます。
