La commande run exécute les tâches de traduction en parallèle en les répartissant dans un pool de workers. Chaque combinaison langue/fichier devient une tâche indépendante, traitée simultanément par les workers.
Utilisation#
# Default concurrency (10 workers)
npx lingo.dev@latest run
# Custom concurrency
npx lingo.dev@latest run --concurrency 20Comment ça marche#
- Création des tâches - le CLI analyse votre
i18n.jsonet crée une tâche distincte pour chaque combinaison langue/fichier - Répartition entre les workers - les tâches sont attribuées aux workers disponibles grâce à l’équilibrage de charge
- Traitement en parallèle - les workers traduisent simultanément pendant que les verrous du système de fichiers empêchent les conflits d’écriture
- Agrégation des résultats - les traductions terminées sont écrites en toute sécurité dans les fichiers cibles
Options de ciblage#
Toutes les options de ciblage de la commande run fonctionnent avec le traitement parallèle :
| Option | Description |
|---|---|
--target-locale es | Traiter des langues cibles spécifiques |
--source-locale en | Remplacer la langue source |
--bucket json | Traiter des types de bucket spécifiques |
--file components/header | Traiter des fichiers spécifiques (prend en charge les motifs glob) |
--key welcome.title | Traiter des clés spécifiques (prend en charge les motifs glob) |
--force | Ignorer le fichier de verrouillage et tout retraduire |
--frozen | Échouer si du contenu doit être traduit |
--concurrency 20 | Définir le nombre de workers simultanés |
Mise en cache automatique#
Lorsque vous utilisez l’API Lingo.dev, les fichiers de langue volumineux sont découpés en segments. Les fichiers cibles sont alimentés progressivement à mesure que chaque segment revient de l’API. Si le processus est interrompu, l’exécution suivante reprend là où elle s’était arrêtée.
Pour retraduire, utilisez d’abord purge, puis run sans --force. Vous profitez ainsi du mécanisme de mise en cache intégré pour un traitement plus efficace qu’avec run --force.
Sécurité#
Le pool de workers évite toute corruption de fichiers grâce à :
- Synchronisation des E/S - les opérations sur le système de fichiers sont sérialisées fichier par fichier
- Protection par fichier de verrouillage - des opérations atomiques empêchent toute corruption concurrente de
i18n.lock - Traitement transactionnel - chaque tâche se termine entièrement ou échoue proprement
