Lingo.dev CLI se integra con proyectos que ya tienen archivos de traducción. Compara las claves de origen con los archivos de destino existentes, genera solo las traducciones que faltan y deja intacto el trabajo que ya tenías.
Cómo funciona#
Cuando ejecutas el CLI en un proyecto con traducciones parciales, realiza un análisis de carencias:
// 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 que faltan:
// 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 cambian.
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, aunque se hayan creado originalmente 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 carencias.
Migración 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 actuales.
Ejecuta las traducciones
El CLI completa las claves que faltan y conserva las traducciones existentes.
Revisión y commit
Solo se rellenan las carencias. Tus traducciones existentes se mantienen 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 Retraducción.
