La CLI de Lingo.dev ofrece cuatro controles a nivel de clave que determinan cómo se comporta cada clave de traducción durante el procesamiento. Cada uno cumple una función distinta:
| Control | Campo de configuración | Comportamiento |
|---|---|---|
| Bloqueo de claves | lockedKeys | Copia los valores de origen en todos los destinos sin traducirlos. Las claves aparecen en los archivos de destino con valores idénticos. |
| Ignorar claves | ignoredKeys | Excluye las claves por completo del procesamiento. No aparecen en los archivos de destino. |
| Conservación de claves | preservedKeys | Inicializa las claves una sola vez a partir del origen y luego las protege frente a actualizaciones automáticas. Está pensado para contenido que requiere traducción manual. |
| Cambio de nombre 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#
Lock una clave cuando el valor deba permanecer idéntico en todos los idiomas: nombres de marca, identificadores técnicos, valores de configuración:
{ "lockedKeys": ["brand/name", "config/apiUrl"] }Ignore una clave cuando no deba aparecer en los archivos de destino en absoluto: cadenas de depuración, indicadores internos, datos de prueba:
{ "ignoredKeys": ["internal/debug", "dev/testData"] }Preserve una clave cuando necesite traducción manual: texto legal, contenido de cumplimiento normativo, copy de marketing que requiera revisión humana:
{ "preservedKeys": ["legal/privacy", "legal/terms"] }Renaming es automático: la CLI detecta cuándo cambia una clave, pero su contenido sigue siendo el mismo, y mantiene la traducción existente sin volver a traducirla.
Notación de rutas de claves#
Todos los arrays de claves usan la notación de barra inclinada (/) para las rutas anidadas y el asterisco (*) para los comodines:
{
"lockedKeys": ["brand/name"],
"ignoredKeys": ["internal/*"],
"preservedKeys": ["legal/privacy/full"]
}Las claves que contienen puntos en su nombre se gestionan de forma natural: la barra inclinada separa los niveles de la jerarquía, así que modules/ai.translation apunta correctamente a la clave "ai.translation" dentro del objeto "modules".
