並列処理
Lingo.dev CLIはrun
コマンドを通じて並列処理を提供し、複数のローカリゼーションタスクを同時に処理することで、大規模プロジェクトの翻訳時間を劇的に短縮します。
run
コマンドは将来のバージョンでi18n
コマンドを徐々に置き換え、同じ機能を提供しながら、並行処理による大幅なパフォーマンス向上を実現します。
基本的な使用方法
並列処理ですべての翻訳を処理する:
npx lingo.dev@latest run
並行レベルを制御する:
npx lingo.dev@latest run --concurrency 20
run
コマンドは標準のi18n
コマンドと同じi18n.json
設定とi18n.lock
ファイルを使用します。
並列処理の仕組み
Lingo.dev CLIはローカリゼーションタスクを複数の同時実行ワーカーに分散させ、異なる言語ペアとファイルパターンを同時に処理します。
アーキテクチャ概要:
- タスク作成 — CLIが設定を分析し、各ロケール/ファイルの組み合わせに対して個別のタスクを作成
- ワーカー分散 — タスクが複数のワーカープロセスに分散
- 並行処理 — ワーカーがファイルの競合を防ぎながら翻訳を同時に処理
- 結果の集約 — 完了した翻訳が対象ファイルに安全に書き込まれる
並行性の制御
ワーカー数の設定:
npx lingo.dev@latest run --concurrency 15
デフォルトの並行性は10ワーカーです。値を高くすると翻訳処理が速くなりますが、システムリソースの消費が増え、APIレート制限に達する可能性があります。
最適な並行性はシステム能力と翻訳プロバイダーの制限によって異なります。デフォルトから始めて、パフォーマンスに基づいて調整してください。
ターゲットを絞った処理
特定の言語を処理する:
npx lingo.dev@latest run --locale es --locale fr
特定のファイルタイプを処理する:
npx lingo.dev@latest run --bucket json
特定のファイルを処理する:
npx lingo.dev@latest run --file components/header
特定のキーを処理する:
npx lingo.dev@latest run --key welcome.title
強制的に再翻訳する:
npx lingo.dev@latest run --force
これらのターゲティングオプションはi18n
コマンドと同じように機能しますが、タスクを並列に処理します。
競合状態の防止
Lingo.dev CLIは並列処理中のファイル破損を複数の安全対策によって防止します:
I/O同期化 — ファイルシステム操作は同期化され、複数のワーカーが同時に同じファイルに書き込むことを防ぎます。
ロックファイル保護 — i18n.lock
ファイルはアトミック操作を使用して、同時更新中の破損を防止します。
トランザクション処理 — 各タスクは完全に完了するか、クリーンに失敗し、一貫したファイル状態を確保します。
パフォーマンス最適化
高い同時実行値を使用する場合はシステムリソースを監視してください。CLIは効率性を考慮して設計されていますが、非常に大規模なプロジェクトではリソース監視が有益な場合があります。
デフォルト設定から始める:
npx lingo.dev@latest run
# 最適化された同時実行設定を使用
徐々にスケールアップする:
npx lingo.dev@latest run --concurrency 20
# システムが負荷を適切に処理できる場合は増やす
反復処理のために特定のコンテンツをターゲットにする:
npx lingo.dev@latest run --file src/components
# 変更されたコンポーネントのみを処理
互換性
run
コマンドは既存の設定との完全な互換性を維持します:
- 同じ
i18n.json
形式 — 設定変更は不要 - 同じ
i18n.lock
の動作 — 増分翻訳追跡は同様に機能 - 同じファイル形式 — すべてのバケットタイプをサポート
- 同じターゲティングオプション —
--locale
、--bucket
、--key
、--file
、--force
フラグは同様に機能
i18n
コマンドからの移行:
# 現在のコマンド
npx lingo.dev@latest i18n
# 並列処理の同等コマンド
npx lingo.dev@latest run
すべての機能は大幅に向上したパフォーマンスで直接移行できます。
ワーカープールアーキテクチャ
Lingo.dev CLIは高度なワーカープールシステムを使用しています:
動的割り当て — システムリソースと同時実行設定に基づいてワーカーが作成されます。
タスク分配 — 最適化されたアルゴリズムを使用してタスクがワーカー間で均等に分配されます。
進捗追跡 — すべての並列操作におけるリアルタイムの進捗監視。
リソース管理 — 処理完了時の自動クリーンアップとリソース解放。