El CLI de Lingo.dev ofrece cuatro controles por clave que definen cómo se comporta cada clave de traducción durante el procesamiento. Cada uno cumple una función específica:
| Control | Campo de configuración | Comportamiento |
|---|---|---|
| Bloqueo de claves | lockedKeys | Copia los valores de origen a todos los idiomas de destino sin traducirlos. Las claves aparecen en los archivos de destino con valores idénticos. |
| Ignorar claves | ignoredKeys | Excluye por completo esas claves del procesamiento. No aparecen en los archivos de destino. |
| Preservación de claves | preservedKeys | Inicializa las claves una sola vez desde el origen y luego las protege de actualizaciones automáticas. Está pensado para contenido que requiere traducción manual. |
| Renombrado de claves | Automático | Detecta cuándo se renombra una clave y conserva las traducciones existentes. No requiere configuración. |
Cuándo usar cada opción#
Usa Lock en una clave cuando el valor debe mantenerse idéntico en todos los idiomas: nombres de marca, identificadores técnicos, valores de configuración:
{ "lockedKeys": ["brand/name", "config/apiUrl"] }Usa Ignore en una clave cuando no debe existir en los archivos de destino: cadenas de depuración, indicadores internos, datos de prueba:
{ "ignoredKeys": ["internal/debug", "dev/testData"] }Usa Preserve en una clave cuando necesite traducción manual: texto legal, contenido de cumplimiento, copy de marketing que requiere revisión humana:
{ "preservedKeys": ["legal/privacy", "legal/terms"] }Renaming es automático: el CLI detecta cuando una clave cambia de nombre, pero su contenido sigue siendo el mismo, y conserva la traducción existente sin volver a traducirla.
Notación de rutas de claves#
Todos los arreglos de claves usan la notación con barra diagonal (/) para rutas anidadas y asterisco (*) para comodines:
{
"lockedKeys": ["brand/name"],
"ignoredKeys": ["internal/*"],
"preservedKeys": ["legal/privacy/full"]
}Las claves que contienen puntos en su nombre se manejan de forma natural: la barra diagonal separa los niveles de la jerarquía, así que modules/ai.translation apunta correctamente a la clave "ai.translation" dentro del objeto "modules".
