El comando run procesa tareas de traducción en paralelo distribuyéndolas entre un grupo de workers. Cada combinación de idioma/archivo se convierte en una tarea independiente, y los workers las procesan al mismo tiempo.
Uso#
# Default concurrency (10 workers)
npx lingo.dev@latest run
# Custom concurrency
npx lingo.dev@latest run --concurrency 20Cómo funciona#
- Creación de tareas - el CLI analiza tu
i18n.jsony crea tareas individuales para cada combinación de idioma/archivo - Distribución de workers - las tareas se asignan a los workers disponibles con balanceo de carga
- Procesamiento concurrente - los workers traducen al mismo tiempo mientras los bloqueos del sistema de archivos evitan conflictos de escritura
- Agregación de resultados - las traducciones completadas se escriben de forma segura en los archivos de destino
Opciones de segmentación#
Todas las opciones de segmentación del comando run funcionan con el procesamiento en paralelo:
| Opción | Descripción |
|---|---|
--target-locale es | Procesa idiomas de destino específicos |
--source-locale en | Sobrescribe el idioma de origen |
--bucket json | Procesa tipos de bucket específicos |
--file components/header | Procesa archivos específicos (admite patrones glob) |
--key welcome.title | Procesa claves específicas (admite patrones glob) |
--force | Omite el archivo de bloqueo y vuelve a traducir todo |
--frozen | Falla si algún contenido requiere traducción |
--concurrency 20 | Define la cantidad de workers concurrentes |
Caché automática#
Al usar la API de Lingo.dev, los archivos de idioma grandes se dividen en fragmentos. Los archivos de destino se completan de forma incremental a medida que cada fragmento regresa desde la API. Si el proceso se interrumpe, la siguiente ejecución retoma desde donde se quedó.
Para volver a traducir, usa primero purge y luego run sin --force. Así aprovechas el mecanismo de caché integrado para procesar con más eficiencia en comparación con run --force.
Seguridad#
El grupo de workers evita la corrupción de archivos mediante:
- Sincronización de E/S - las operaciones del sistema de archivos se serializan por archivo
- Protección con archivo de bloqueo - las operaciones atómicas evitan la corrupción concurrente de
i18n.lock - Procesamiento transaccional - cada tarea se completa por completo o falla de forma limpia
