Ignorar claves
Lingo.dev CLI te permite ignorar claves de traducción específicas para que sean completamente excluidas del procesamiento de traducción. Las claves ignoradas no se copian a los archivos de destino y permanecen intactas durante las operaciones de la CLI.
Cuando ignoras claves, la CLI las omite completamente durante el descubrimiento de contenido y la generación de traducciones.
Configuración para ignorar claves
Añade ignoredKeys
a la configuración de tu bucket en i18n.json
:
{
"locale": {
"source": "en",
"targets": ["es", "fr", "de"]
},
"buckets": {
"json": {
"include": ["locales/[locale].json"],
"ignoredKeys": ["internal/debug", "dev/settings", "temp/cache"]
}
}
}
El array ignoredKeys
utiliza la notación de barra diagonal (/
) para especificar claves anidadas.
Cómo funciona el ignorar claves
Durante el procesamiento de traducción, Lingo.dev CLI:
- Identifica las claves ignoradas de tu configuración
- Las excluye del descubrimiento de contenido — las claves ignoradas nunca se procesan
- Las omite en los archivos de destino — las claves ignoradas no aparecen en las traducciones generadas
- Mantiene la separación entre el contenido de desarrollo y producción
Ejemplo de flujo de trabajo:
// locales/en.json (fuente)
{
"welcome": "Welcome to our platform",
"system": {
"component": "Lingo.dev CLI",
"version": "1.0.0"
},
"internal": {
"debug": "Debug mode enabled",
"testData": "Sample test content"
}
}
Con la configuración de claves ignoradas:
{
"ignoredKeys": ["internal/debug", "internal/testData"]
}
Traducción generada al español:
// locales/es.json (generado)
{
"welcome": "Bienvenido a nuestra plataforma",
"system": {
"component": "Lingo.dev CLI",
"version": "1.0.0"
}
}
Solo las claves no ignoradas se traducen. La sección completa internal
se excluye de los archivos de destino.
Rutas de claves anidadas
Utiliza la notación de barra diagonal (/
) para ignorar claves a cualquier profundidad:
{
"ignoredKeys": [
"development/logging/level",
"testing/mock/data",
"admin/internal/config"
]
}
Esta notación funciona con estructuras anidadas complejas:
// Estructura de origen
{
"development": {
"logging": {
"level": "verbose"
}
}
}
La ruta development/logging/level
excluye esta configuración de la traducción.
Claves con puntos
La notación de barra diagonal gestiona claves que contienen puntos en sus nombres:
// Fuente con nombres de clave con puntos
{
"dev": {
"api.mock": "API simulada habilitada",
"cache.clear": "Limpiar caché al iniciar"
}
}
Ignora estas claves con:
{
"ignoredKeys": ["dev/api.mock", "dev/cache.clear"]
}
Múltiples tipos de buckets
Diferentes formatos de archivo pueden tener diferentes claves ignoradas:
{
"buckets": {
"json": {
"include": ["locales/[locale].json"],
"ignoredKeys": ["internal/debug", "dev/settings"]
},
"yaml": {
"include": ["translations/[locale].yml"],
"ignoredKeys": ["test/data", "admin/config"]
}
}
}
Cada tipo de bucket mantiene su propia lista de claves ignoradas basada en la estructura del contenido.
Ignorar claves vs bloquear claves
Ignorar claves y bloquear claves sirven para propósitos diferentes:
Ignorar claves (ignoredKeys
):
- Las claves se excluyen completamente del procesamiento de traducción
- Las claves ignoradas no aparecen en los archivos de destino
- Se usa para desarrollo, pruebas o contenido interno que no debe traducirse
Bloquear claves (lockedKeys
):
- Las claves se incluyen en el procesamiento de traducción pero los valores permanecen sin cambios
- Las claves bloqueadas aparecen en los archivos de destino con valores idénticos a los de origen
- Se usa para identificadores técnicos, nombres de componentes o valores que deben mantenerse consistentes
Ejemplo comparativo:
// Archivo fuente
{
"welcome": "Welcome",
"system": {
"component": "Lingo.dev Engine"
},
"internal": {
"debug": "Debug enabled"
}
}
// Configuración
{
"lockedKeys": ["system/component"],
"ignoredKeys": ["internal/debug"]
}
// Archivo de destino generado
{
"welcome": "Bienvenido",
"system": {
"component": "Lingo.dev Engine"
}
// internal/debug está completamente ausente
}