El CLI de Lingo.dev se integra con proyectos que ya cuentan con archivos de traducción. Compara las claves de origen con los archivos de destino existentes, genera únicamente las traducciones que faltan y deja intacto tu trabajo previo.
Cómo funciona#
Cuando ejecutas el CLI en un proyecto con traducciones parciales, realiza un análisis de brechas:
// locales/en.json (source - 4 keys)
{
"welcome": "Welcome to our app",
"button.save": "Save",
"button.cancel": "Cancel",
"error.network": "Network error"
}
// locales/es.json (existing - 2 keys translated)
{
"welcome": "Bienvenido a nuestra aplicación",
"button.save": "Guardar"
}Al ejecutar npx lingo.dev@latest run, solo se completan las claves faltantes:
// locales/es.json (after run - all 4 keys present)
{
"welcome": "Bienvenido a nuestra aplicación",
"button.save": "Guardar",
"button.cancel": "Cancelar",
"error.network": "Error de red"
}Las traducciones existentes de welcome y button.save no se modifican.
Primera ejecución#
En la primera ejecución, el CLI crea un archivo i18n.lock a partir de tu estado actual. Este lockfile registra huellas de todo el contenido de origen, lo que garantiza que las traducciones existentes no se vuelvan a generar en ejecuciones posteriores, incluso si originalmente se crearon con otra herramienta.
Asegúrate de que tus archivos del idioma de destino no contengan contenido en el idioma de origen. Tener texto de origen sin traducir en los archivos de destino puede interferir con la detección de brechas.
Migrar desde otras herramientas#
El CLI funciona con archivos de traducción creados con cualquier herramienta, siempre que sigan un formato compatible (JSON, YAML, PO, etc.):
Configura i18n.json
Configura patrones de bucket que coincidan con la ubicación de tus archivos existentes.
Ejecuta las traducciones
El CLI completa las claves faltantes mientras conserva las traducciones existentes.
Revisión y commit
Solo se completan las brechas. Tus traducciones existentes permanecen intactas.
Actualizar traducciones#
Si las traducciones existentes tienen problemas de calidad, puedes retraducirlas de forma selectiva:
# Retranslate all Spanish content
npx lingo.dev@latest run --force --target-locale es
# Retranslate a specific key across all languages
npx lingo.dev@latest run --force --key error.networkPara ver más opciones, consulta Retranslation.
