La CLI de Lingo.dev traduce aplicaciones y contenido a partir de un único archivo de configuración i18n.json, extrae las cadenas traducibles de tus archivos fuente y las enruta a través de un motor de localización o de un proveedor de LLM sin procesar. Después, escribe las traducciones en disco y registra los cambios para que la siguiente ejecución procese solo el delta.
El proceso en cinco pasos#
Cuando ejecutas npx lingo.dev@latest run, la CLI realiza cinco pasos en este orden:
Detección de contenido
La CLI analiza tu proyecto en busca de archivos fuente y de destino según las configuraciones de buckets en i18n.json. Cada bucket define un formato de archivo y un conjunto de patrones de inclusión y exclusión que indican a la CLI dónde se encuentra el contenido traducible.
{
"locale": {
"source": "en",
"targets": ["es", "fr", "de"]
},
"buckets": {
"json": {
"include": ["locales/[locale].json"]
},
"markdown": {
"include": ["docs/[locale]/*.md"]
}
}
}El marcador de posición [locale] se resuelve en tiempo de ejecución con los códigos de idioma de origen y destino que hayas configurado.
Limpieza de datos
No todo el contenido requiere traducción. La CLI filtra los valores que deben mantenerse iguales en todos los idiomas: números, booleanos, fechas ISO, UUID, URL y cadenas vacías. Así se reduce la carga enviada al backend de traducción, lo que disminuye el consumo de tokens y el tiempo de procesamiento.
Cálculo del delta
La CLI calcula huellas SHA-256 para cada cadena de origen y las compara con el estado anterior almacenado en i18n.lock. Solo el contenido nuevo o modificado entra en el flujo de traducción. Las cadenas que no han cambiado se omiten por completo.
Este enfoque incremental significa que, en un proyecto con 10.000 claves del que solo han cambiado 12, solo se traducen esas 12 claves, no el conjunto completo.
Localización
El delta se envía al backend de traducción configurado. La CLI admite dos modos:
| Modo | Cómo funciona |
|---|---|
| Motor de localización de Lingo.dev | Enruta las solicitudes a través de tu motor de localización y aplica automáticamente la voz de marca, el glosario, las instrucciones y la configuración del modelo. |
| Proveedor de LLM sin procesar | Envía solicitudes de traducción directamente a OpenAI, Anthropic, Google, Mistral, OpenRouter u Ollama con un prompt personalizado. |
La CLI reintenta las solicitudes fallidas con retroceso exponencial, guarda el progreso parcial y procesa varios idiomas de destino en paralelo.
Inserción de contenido
Las cadenas traducidas se escriben de vuelta en disco exactamente en las posiciones donde está el contenido de origen. La CLI conserva la estructura y el formato de los archivos para generar diffs mínimos y fáciles de revisar. Si Prettier está configurado en tu proyecto, la salida respeta tus reglas de formato.
Archivos de salida#
Una ejecución típica genera dos tipos de cambios:
- Archivos de idioma - archivos del idioma de destino actualizados con traducciones nuevas y modificadas
i18n.lock- actualizado con huellas de contenido para hacer seguimiento del estado
Ambos deben confirmarse en el control de versiones, ya sea manualmente o automáticamente mediante la integración de CI/CD.
