{
  "meta": {
    "version": "1.5.3",
    "consolidated": "2025-08-06T14:36:37.481Z",
    "sourceFiles": 256
  },
  "common": {
    "welcome": "Bienvenido",
    "hello": "Hola",
    "goodbye": "Adiós",
    "yes": "Sí",
    "no": "No",
    "save": "Guardar",
    "cancel": "Cancelar",
    "delete": "Eliminar",
    "edit": "Editar",
    "loading": "Cargando...",
    "offlineTitle": "Desconectado",
    "offlineMessage": "Estás desconectado",
    "tryReconnect": "Intentar reconectar",
    "logout": "Cerrar sesión",
    "login": "Iniciar sesión",
    "amount": "Monto",
    "success": "Éxito",
    "error": "Error",
    "warning": "Advertencia",
    "info": "Información:",
    "debug": "Depuración",
    "progress": "Progreso:",
    "remaining": "Restante:",
    "total": "Total:",
    "completed": "7. ¡Completado exitosamente!",
    "missing": "Faltante",
    "partial": "Parcial",
    "sameAsSource": "Igual que origen:",
    "formatMismatch": "Desajuste de formato:",
    "typeMismatch": "Desajuste de tipo:",
    "structureMismatch": "Desajuste de estructura:",
    "invalidOption": "Opción inválida",
    "separator": "==================================================",
    "initializationFailed": "❌ Falló la inicialización: {error}",
    "stackTrace": "Traza de pila: {stack}",
    "pressEnterToContinue": "Presione Enter para continuar...",
    "pressEnterToReturn": "Presione Enter para volver al menú principal...",
    "stepCompleted": "Paso '{stepName}' completado.",
    "stepFailed": "Paso '{stepName}' falló.",
    "runningStep": "Ejecutando paso: {stepName}",
    "command": "Comando: {command}",
    "startingWorkflow": "Iniciando flujo de trabajo...",
    "workflowCompleted": "Flujo de trabajo completado.",
    "checkReports": "Verifique los informes para más detalles.",
    "errorExecutingCommand": "Error ejecutando comando: {error}",
    "genericError": "❌ Error: {{error}}",
    "errorGeneratingStatusSummary": "Error generando resumen de estado: {error}",
    "errorRunningDebugTool": "Error ejecutando herramienta de depuración '{displayName}': {error}",
    "errorReadingDebugLogs": "Error leyendo registros de depuración: {error}",
    "errorAnalyzingLogFile": "Error analizando archivo de registro: {error}",
    "errorAnalyzingTranslationKeys": "Error analizando claves de traducción: {error}",
    "errorAnalyzingTranslationCompleteness": "Error analizando completitud de traducción: {error}",
    "errorAnalyzingTranslationFormat": "Error analizando formato de traducción: {error}",
    "errorAnalyzingTranslationType": "Error analizando tipo de traducción: {error}",
    "errorAnalyzingTranslationStructure": "Error analizando estructura de traducción: {error}",
    "errorAnalyzingTranslationFormatMismatch": "Error analizando desajuste de formato de traducción: {error}",
    "errorAnalyzingTranslationTypeMismatch": "Error analizando desajuste de tipo de traducción: {error}",
    "errorAnalyzingTranslationStructureMismatch": "Error analizando desajuste de estructura de traducción: {error}",
    "errorAnalyzingTranslationSameAsSource": "Error analizando traducción igual que fuente: {error}",
    "title": "Estado",
    "nextStep1": "1. Análisis de uso:",
    "nextStep2": "2. Validar traducciones:",
    "nextStep3": "3. Analizar completitud:",
    "nextStep4": "4. Completar traducciones faltantes:",
    "nextStep5": "5. Generar reporte resumido:",
    "nextStep6": "6. Revisar y finalizar traducciones:",
    "generating": "Generando reporte resumido...",
    "review": "Revisando traducciones...",
    "finalizing": "Finalizando traducciones...",
    "finalized": "¡Finalizado exitosamente!",
    "errors": "Errores:",
    "warnings": "Advertencias:",
    "completedKeys": "Claves completadas:",
    "missingKeys": "Claves faltantes:",
    "partialKeys": "Claves parciales:"
  },
  "analyze": {
    "help_message": "\nAnalizador de Traducción I18n\n\nUso: node i18ntk-analyze.js [opciones]\n\nOpciones:\n  --source-dir <dir>     Directorio fuente para escanear (por defecto: ./src)\n  --i18n-dir <dir>       Directorio i18n (por defecto: ./src/locales)\n  --output-report        Generar informe detallado\n  --output-dir <dir>     Directorio de salida para informes (por defecto: ./reports)\n  --help                 Mostrar esta ayuda\n\nEjemplos:\n  node i18ntk-analyze.js --output-report\n  node i18ntk-analyze.js --source-dir=./app --i18n-dir=./locales\n  node i18ntk-analyze.js --output-dir=./analysis --output-report\n",
    "source_directory": "📁 Directorio fuente: {sourceDir}",
    "i18n_directory": "🌐 Directorio i18n: {i18nDir}",
    "loading_translation_files": "📋 Cargando archivos de traducción...",
    "sourceDirectoryLabel": "📁 Directorio Fuente: {{sourceDir}}",
    "sourceLanguageLabel": "🌍 Idioma Fuente: {{sourceLanguage}}",
    "strictModeLabel": "⚙️ Modo Estricto: {{mode}}\n",
    "found_translation_files_count": "✅ Encontrados {count} archivos de traducción",
    "analyzing_translations": "🔍 Analizando traducciones...",
    "analysis_completed_successfully": "🎉 ¡Análisis completado exitosamente!",
    "analysis_results": "📊 RESULTADOS DEL ANÁLISIS",
    "language_analysis_stats": "  {language}: {translatedKeys}/{totalKeys} ({percentage}% traducido)",
    "sample_missing_keys": "\nEjemplo de claves faltantes:",
    "missing_key": "- {key}",
    "and_more_missing": "...y {count} más.",
    "sample_unused_keys": "\nEjemplo de claves no utilizadas:",
    "unused_key": "- {key}",
    "and_more_unused": "...y {count} más.",
    "recommendations": "\n📋 RECOMENDACIONES",
    "add_missing_translations": "💡 Agregar traducciones faltantes para mejorar la cobertura.",
    "remove_unused_translations": "💡 Eliminar traducciones no utilizadas para mantener su proyecto limpio.",
    "next_steps": "\n📋 PRÓXIMOS PASOS",
    "review_analysis_results": "1. Revisar los resultados del análisis en la consola o informe generado.",
    "run_with_output_report": "2. Ejecutar con --output-report para informe detallado.",
    "add_or_remove_translations": "3. Agregar traducciones faltantes o eliminar las no utilizadas.",
    "rerun_analysis": "4. Volver a ejecutar el análisis para verificar mejoras.",
    "analysis_summary": "📊 RESUMEN DEL ANÁLISIS",
    "source_files_scanned": "Archivos fuente escaneados: {fileCount}",
    "translation_files_checked": "Archivos de traducción verificados: {translationFileCount}",
    "total_keys": "Claves totales: {totalKeys}",
    "translated_keys": "Claves traducidas: {translatedKeys}",
    "missing_keys": "Claves faltantes: {missingKeys}",
    "unused_keys": "Claves no utilizadas: {unusedKeys}",
    "translation_coverage": "Cobertura de traducción: {coverage}%",
    "analysis_passed_for_language": "✅ Análisis aprobado para {language}",
    "analysis_failed_for_language": "❌ Análisis fallido para {language} ({missingKeys} faltantes, {unusedKeys} no utilizadas)",
    "starting": "🔍 Iniciando análisis de traducción...",
    "foundLanguages": "📋 Encontrados {count} idiomas para analizar: {languages}",
    "analyzing": "🔄 Analizando {language}...",
    "reportTitle": "📊 INFORME DE ANÁLISIS DE TRADUCCIÓN",
    "generated": "Generado: {timestamp}",
    "status": "Estado: {translated}/{total} claves ({percentage}% traducido)",
    "filesAnalyzed": "Archivos analizados: {analyzed}/{total}",
    "keysNeedingTranslation": "Claves necesitando traducción: {count}",
    "fileBreakdown": "📋 DESGLOSE DE ARCHIVOS",
    "error": "Error",
    "completed": "✅ Análisis completado para {language}",
    "progress": "📊 Progreso General: {translated}/{total} idiomas procesados",
    "reportSaved": "   Informe guardado: {reportPath}",
    "summary": "📊 RESUMEN DEL ANÁLISIS",
    "finished": "✅ ¡Análisis completado exitosamente!",
    "statusFileMissing": "❌ Falta archivo de traducción",
    "sourceKeys": "📊 Claves fuente: {count}",
    "translation": "📊 Traducción: {translated}/{total} ({percentage}%)",
    "structure": "🗂️  Estructura: {status}",
    "consistent": "Consistente",
    "inconsistent": "Inconsistente",
    "missingKeys": "Claves faltantes: {count}",
    "extraKeys": "Claves extra: {count}",
    "issues": "⚠️  Problemas encontrados: {count}",
    "issueType": {
      "not_translated": "No traducido: {count}",
      "empty_value": "Valores vacíos: {count}",
      "partial_translation": "Traducciones parciales: {count}",
      "format_mismatch": "Desajustes de formato: {count}",
      "type_mismatch": "Desajustes de tipo: {count}",
      "structure_mismatch": "Desajustes de estructura: {count}",
      "same_as_source": "Igual que fuente: {count}"
    },
    "keysToTranslate": "📋 CLAVES PARA TRADUCIR",
    "key": "Clave",
    "english": "Inglés",
    "needsTranslation": "NECESITA TRADUCCIÓN",
    "andMoreKeys": "...y {count} claves más.",
    "noLanguages": "⚠️  No se encontraron idiomas de destino.",
    "languageStats": "{language}: {percentage}% completo ({translated}/{total} claves)",
    "invalidReportFilePath": "Ruta de archivo de informe inválida",
    "failedToWriteReportFile": "Error al escribir el archivo de informe de forma segura"
  },
  "complete": {
    "configLoadedSuccessfully": "Configuración cargada exitosamente",
    "configLoadingFailed": "Falló la carga de configuración",
    "title": "🌍 COMPLETADO DE TRADUCCIÓN I18N",
    "separator": "============================================================",
    "sourceDir": "📁 Directorio fuente: {sourceDir}",
    "sourceLanguage": "🌐 Idioma fuente: {sourceLanguage}",
    "dryRunMode": "🧪 Modo de simulación - no se realizarán cambios",
    "languages": "🌍 Idiomas disponibles: {languages}",
    "addingMissingKeys": "➕ Agregando claves faltantes a los archivos de traducción...",
    "processing": "🔄 Procesando {language}...",
    "addedKeys": "✅ Agregadas {count} claves faltantes",
    "noChangesNeeded": "✅ No se necesitan cambios para {language}",
    "summaryTitle": "📊 RESUMEN DE COMPLETADO",
    "totalChanges": "📝 Cambios totales: {totalChanges}",
    "languagesProcessed": "🌍 Idiomas procesados: {languagesProcessed}",
    "missingKeysAdded": "➕ Claves faltantes agregadas: {missingKeysAdded}",
    "nextStepsTitle": "📋 PRÓXIMOS PASOS",
    "nextStep1": "1. Ejecutar análisis de uso:",
    "nextStep2": "   node i18ntk-usage.js --output-report",
    "nextStep3": "2. Validar traducciones:",
    "nextStep4": "   node i18ntk-validate.js",
    "nextStep5": "3. Analizar patrones:",
    "nextStep6": "   node i18ntk-analyze.js",
    "allKeysAvailable": "🎉 ¡Todas las claves de traducción están ahora disponibles!",
    "runWithoutDryRun": "💡 Ejecutar sin --dry-run para aplicar cambios",
    "deletingOldReport": "🗑️  Eliminando informe antiguo...",
    "generatingFreshAnalysis": "📊 Generando análisis de uso nuevo...",
    "couldNotGenerate": "❌ No se pudo generar el análisis de uso",
    "reportNotFound": "📋 No se encontró el informe de uso. Usando claves comunes...",
    "foundMissingKeys": "📋 Encontradas {count} claves faltantes del análisis de uso",
    "couldNotParse": "❌ No se pudo analizar el informe de uso. Usando claves comunes...",
    "errorDuringCompletion": "❌ Error durante la finalización: {error}",
    "fatalError": "❌ Error fatal: {error}",
    "configurationValidationFailed": "Falló la validación de configuración: faltan campos requeridos"
  },
  "sizing": {
    "separator": "================================================================================",
    "lineSeparator": "--------------------------------------------------------------------------------",
    "analysisStats": "{{stats}}",
    "sourceDirectoryLabel": "📁 Directorio fuente: {{sourceDir}}",
    "sourceLanguageLabel": "🌍 Idioma fuente: {{sourceLanguage}}",
    "strictModeLabel": "⚙️  Modo estricto: {{mode}}",
    "invalidSourceDirectoryError": "Ruta de directorio fuente inválida: {{sourceDir}}",
    "sourceDirectoryNotFoundError": "Directorio fuente no encontrado: {{sourceDir}}",
    "invalidOutputDirectoryError": "Ruta de directorio de salida inválida: {{outputDir}}",
    "invalidReportFileError": "Ruta de archivo de informe inválida",
    "problematic_keys": "Claves problemáticas: {problematicKeys}",
    "problematicKeysLabel": "Claves problemáticas: {problematicKeys}",
    "long_translations": "Traducciones largas: {longTranslations}",
    "failedToSaveReportError": "Error al guardar informe de forma segura",
    "invalidCsvFileError": "Ruta de archivo CSV inválida",
    "failedToSaveCsvError": "Error al guardar informe CSV de forma segura",
    "fatalError": "❌ El análisis de tamaño falló: {{error}}",
    "starting_i18n_sizing_analysis": "Iniciando análisis de tamaño i18n...",
    "source_directory": "Directorio fuente: {{sourceDir}}",
    "found_languages": "Idiomas encontrados: {{languages}}",
    "analyzing_file_sizes": "Analizando tamaños de archivos...",
    "analyzing_translation_content": "Analizando contenido de traducción...",
    "generating_size_comparisons": "Generando comparaciones de tamaño...",
    "no_languages_found_for_comparison": "No se encontraron idiomas para comparación",
    "sizing_analysis_results": "Resultados del Análisis de Tamaño I18n",
    "file_sizes_title": "Tamaños de Archivos",
    "file_sizes_header": "Idioma    Tamaño(KB)  Líneas  Caracteres",
    "file_size_row": "{{lang}}      {{sizeKB}}      {{lines}}      {{characters}}",
    "language_statistics_title": "Estadísticas de Idioma",
    "language_stats_header": "Idioma    Claves  Caracteres  Long Prom  Long Máx  Vacías  Largas",
    "language_stats_row": "{{lang}}      {{totalKeys}}    {{totalCharacters}}    {{averageKeyLength}}    {{maxKeyLength}}    {{emptyKeys}}    {{longKeys}}",
    "size_variations_title": "Variaciones de Tamaño",
    "size_variations_header": "Idioma    Dif Caract  % Dif  Problemático",
    "size_variation_row": "{{lang}}      {{characterDifference}}    {{percentageDifference}}%    {{problematic}}",
    "problematic_yes": "Sí",
    "problematic_no": "No",
    "recommendations_title": "Recomendaciones",
    "recommendation_item": "{{index}}. {{recommendation}}",
    "problematic_key_detail": "  {{index}}. Clave: '{{key}}' - Variaciones: {{variations}}",
    "generating_detailed_report": "Generando informe detallado...",
    "keysHaveSignificantSizeVariations": "las claves tienen variaciones de tamaño significativas",
    "longTranslationsDetected": "${lang} tiene ${data.longKeys} traducciones de más de 100 caracteres - considera dividirlas",
    "report_saved_to": "Informe guardado en: {{reportPath}}",
    "considerReviewingTranslations": "Considera revisar las traducciones de ${lang} - son ${data.percentageDifference}% más largas que la referencia",
    "csv_report_saved_to": "Informe CSV guardado en: {{csvPath}}",
    "no_translation_files_found": "No se encontraron archivos de traducción",
    "analysis_completed": "Análisis completado en {{duration}}ms",
    "analysis_failed": "Análisis fallido: {{errorMessage}}",
    "failed_to_parse_language_error": "Error al analizar las traducciones de {{language}}: {{errorMessage}}",
    "recommendations": {
      "keys_have_significant_size_variations": "las claves tienen variaciones de tamaño significativas",
      "consider_reviewing_translations": "Considera revisar las traducciones de {{lang}} - son {{percentageDifference}}% {{comparison}} que la referencia",
      "long_translations_detected": "{{lang}} tiene {{longKeys}} traducciones de más de {{threshold}} caracteres - considera dividirlas"
    },
    "hardcodedTexts": {
      "keysHaveSignificantSizeVariations": "las claves tienen variaciones de tamaño significativas",
      "considerReviewingTranslations": "Considera revisar las traducciones de {{lang}} - son {{percentageDifference}}% {{comparison}} que la referencia",
      "longTranslationsDetected": "{{lang}} tiene {{longKeys}} traducciones de más de {{threshold}} caracteres - considera dividirlas"
    }
  },
  "usage": {
    "help_message": "\nAnalizador de Uso de I18n\n\nUso: node i18ntk-usage.js [opciones]\n\nOpciones:\n  --source-dir <dir>     Directorio de origen a escanear (predeterminado: ./src)\n  --i18n-dir <dir>       Directorio de i18n (predeterminado: ./src/locales)\n  --output-report        Generar informe detallado\n  --output-dir <dir>     Directorio de salida para los informes (predeterminado: ./reports)\n  --help                 Mostrar esta ayuda\n\nEjemplos:\n  node i18ntk-usage.js --output-report\n  node i18ntk-usage.js --source-dir=./app --i18n-dir=./locales\n  node i18ntk-usage.js --output-dir=./analysis --output-report\n",
    "source_directory_thissourcedir": "📁 Directorio de origen: {sourceDir}",
    "translationCompletenessTitle": "🌍 Completitud de Traducción:",
    "i18n_directory_thisi18ndir": "🌐 Directorio i18n: {i18nDir}",
    "failed_to_parse_filename_error": "⚠️  Error al parsear {fileName}: {errorMessage}",
    "analyzing_source_files": "🔍 Analizando archivos de origen...",
    "found_files_in_source": "📂 Encontrados {numFiles} archivos en el directorio de origen",
    "found_thisusedkeyssize_unique_": "🎯 Encontradas {usedKeysSize} claves únicas usadas",
    "total_key_usages_totalkeysfoun": "📊 Uso total de claves: {totalKeysFound}",
    "loading_available_translation_": "📋 Cargando claves de traducción disponibles...",
    "found_thisavailablekeyssize_av": "✅ Encontradas {availableKeysSize} claves disponibles",
    "foundTranslationFiles": "✅ Encontrados {count} archivos de traducción",
    "pressEnterToReturnToMenu": "Presiona Enter para regresar al menú principal",
    "notTranslatedKeysTotal": "⚠️  Claves no traducidas: {total}",
    "noSourceFilesFound": "⚠️  No se encontraron archivos de origen.",
    "reviewNotTranslatedKeys": "💡 Revisa las claves no traducidas",
    "analysisCompletedSuccessfully": "🎉 ¡Análisis completado con éxito!",
    "detectedSourceDirectory": "Directorio de origen detectado: {{sourceDir}}",
    "detectedI18nDirectory": "Directorio i18n detectado: {{i18nDir}}",
    "fileInfo": "   📄 {namespace}: {keys} claves",
    "failedToAnalyzeUsage": "❌ Error al analizar uso: {error}",
    "failedToAnalyzeFile": "❌ Error al analizar archivo: {error}",
    "analyzerInitialized": "Analizador inicializado",
    "analyzerInitFailed": "Fallo la inicialización del analizador: {error}",
    "argsParsed": "Argumentos analizados",
    "argsParseFailed": "Error al parsear argumentos: {error}",
    "translationDiscoveryError": "Error al descubrir traducciones: {error}",
    "fileTraversalError": "Error al recorrer archivos: {error}",
    "usageAnalysisFailed": "Fallo el análisis de uso: {error}",
    "translationFileParseError": "Error al parsear archivo de traducción: {error}",
    "translationKeysLoadError": "Error al cargar claves de traducción: {error}",
    "languageCompletenessStats": "{language}: {translated}/{total} ({completeness}% traducido)",
    "missingKeysCount": "Claves faltantes: {count}",
    "analyzingTranslationCompleteness": "Analizando la completitud de traducción...",
    "unusedKeysCount": "Claves no utilizadas: {count}",
    "usedKeysCount": "Claves usadas: {count}",
    "availableKeysCount": "Claves disponibles: {count}",
    "analysisResults": "Resultados del análisis:",
    "checkUsage": {
      "title": "🔍 ANÁLISIS DE USO DE I18N",
      "message": "Analizando el uso de claves i18n en tu proyecto.",
      "help_message": "\nAnalizador de Uso de I18n\n\nUso: node i18ntk-usage.js [opciones]\n\nOpciones:\n  --source-dir <dir>     Directorio de origen a escanear (predeterminado: ./src)\n  --i18n-dir <dir>       Directorio de i18n (predeterminado: ./src/locales)\n  --output-report        Generar informe detallado\n  --output-dir <dir>     Directorio de salida para los informes (predeterminado: ./reports)\n  --help                 Mostrar esta ayuda\n\nEjemplos:\n  node i18ntk-usage.js --output-report\n  node i18ntk-usage.js --source-dir=./app --i18n-dir=./locales\n  node i18ntk-usage.js --output-dir=./analysis --output-report\n",
      "source_directory_thissourcedir": "📁 Directorio de origen: {sourceDir}",
      "i18n_directory_thisi18ndir": "🌐 Directorio i18n: {i18nDir}",
      "loading_available_translation_": "📋 Cargando claves de traducción disponibles...",
      "found_thisavailablekeyssize_av": "✅ Encontradas {availableKeysSize} claves disponibles",
      "analyzing_source_files": "🔍 Analizando archivos de origen...",
      "found_files_in_source": "📂 Encontrados {numFiles} archivos en el directorio de origen",
      "found_thisusedkeyssize_unique_": "🎯 Encontradas {usedKeysSize} claves únicas usadas",
      "total_key_usages_totalkeysfoun": "📊 Uso total de claves: {totalKeysFound}",
      "translation_completeness_title": "📊 COMPLETITUD DE TRADUCCIÓN",
      "language_completeness_stats": "  {language}: {translated}/{total} ({completeness}% traducido)",
      "n_sample_unused_keys": "\nEjemplo de claves no usadas:",
      "key": "- {key}",
      "and_unusedkeyslength_5_more": "...y {count} más.",
      "n_recommendations": "\n📋 RECOMENDACIONES",
      "consider_removing_unused_trans": "💡 Considera eliminar traducciones no usadas para mantener tu proyecto limpio.",
      "n_next_steps": "\n📋 PRÓXIMOS PASOS",
      "1_review_the_analysis_results": "1. Revisa los resultados del análisis en la consola o en el informe generado.",
      "2_run_with_outputreport_for_de": "2. Ejecuta con --output-report para obtener un informe detallado.",
      "3_remove_unused_keys_or_add_mi": "3. Elimina claves no usadas o añade claves faltantes en tu código fuente.",
      "4_rerun_analysis_to_verify_imp": "4. Vuelve a ejecutar el análisis para verificar las mejoras.",
      "usage_analysis_results": "📊 RESULTADOS DEL ANÁLISIS DE USO",
      "source_files_scanned_thisfileu": "Archivos de origen escaneados: {fileUsageSize}",
      "available_translation_keys_thi": "Claves de traducción disponibles: {availableKeysSize}",
      "used_translation_keys_thisused": "Claves de traducción usadas: {usedKeysSize}",
      "dynamic_keys_detected_dynamick": "Claves dinámicas detectadas: {dynamicKeysLength}",
      "unused_keys_unusedkeyslength": "Claves no usadas: {unusedKeysLength}",
      "missing_keys_missingkeyslength": "Claves faltantes: {missingKeysLength}",
      "noSourceFilesFound": "No se encontraron archivos de origen para analizar.",
      "processedFiles": "Procesados {processedFiles} de {totalFiles} archivos.",
      "i18nDirectoryNotFound": "Directorio i18n no encontrado: {i18nDir}",
      "noTranslationLanguagesFound": "No se encontraron idiomas de traducción.",
      "failedToAnalyzeFile": "Error al analizar el archivo {filePath}: {error}",
      "failedToAnalyzeLanguage": "Error al analizar el idioma {language}: {error}",
      "translationCompletenessAnalysisFailed": "Fallo el análisis de completitud de traducción: {error}",
      "n": ""
    },
    "complete": {
      "configLoadedSuccessfully": "Configuración cargada correctamente",
      "configLoadingFailed": "Error al cargar la configuración",
      "title": "🌍 COMPLETADO DE TRADUCCIÓN I18N",
      "separator": "============================================================",
      "sourceDir": "📁 Directorio de origen: {sourceDir}",
      "sourceLanguage": "🌐 Idioma de origen: {sourceLanguage}",
      "dryRunMode": "🧪 Modo de simulación - no se harán cambios",
      "languages": "🌍 Idiomas disponibles: {languages}",
      "addingMissingKeys": "➕ Agregando claves faltantes a los archivos de traducción...",
      "processing": "🔄 Procesando {language}...",
      "addedKeys": "✅ Agregadas {count} claves faltantes",
      "noChangesNeeded": "✅ No se necesitan cambios para {language}",
      "summaryTitle": "📊 RESUMEN DE COMPLETADO",
      "totalChanges": "📝 Cambios totales: {totalChanges}",
      "languagesProcessed": "🌍 Idiomas procesados: {languagesProcessed}",
      "missingKeysAdded": "➕ Claves faltantes agregadas: {missingKeysAdded}",
      "nextStepsTitle": "📋 SIGUIENTES PASOS",
      "nextStep1": "1. Ejecuta el análisis de uso:",
      "nextStep2": "   node i18ntk-usage.js --output-report",
      "nextStep3": "2. Valida las traducciones:",
      "nextStep4": "   node i18ntk-validate.js",
      "nextStep5": "3. Analiza patrones:",
      "nextStep6": "   node i18ntk-analyze.js",
      "allKeysAvailable": "🎉 ¡Todas las claves de traducción ya están disponibles!",
      "runWithoutDryRun": "💡 Ejecuta sin --dry-run para aplicar los cambios",
      "deletingOldReport": "🗑️  Eliminando informe antiguo...",
      "generatingFreshAnalysis": "📊 Generando un nuevo análisis de uso...",
      "couldNotGenerate": "❌ No se pudo generar el análisis de uso",
      "reportNotFound": "📋 Informe de uso no encontrado. Usando claves comunes...",
      "foundMissingKeys": "📋 Encontradas {count} claves faltantes del análisis de uso",
      "couldNotParse": "❌ No se pudo parsear el informe de uso. Usando claves comunes..."
    }
  },
  "validate": {
  "help_message": "\nValidador de Traducciones I18n\n\nUso: node i18ntk-validate.js [opciones]\n\nOpciones:\n  --source-dir <dir>     Directorio fuente a escanear (por defecto: ./src)\n  --i18n-dir <dir>       Directorio I18n (por defecto: ./src/locales)\n  --output-report        Generar informe detallado\n  --output-dir <dir>     Directorio de salida para informes (por defecto: ./reports)\n  --help                 Mostrar esta ayuda\n\nEjemplos:\n  node i18ntk-validate.js --output-report\n  node i18ntk-validate.js --source-dir=./app --i18n-dir=./locales\n  node i18ntk-validate.js --output-dir=./analysis --output-report\n",
  "title": "🔍 Validador de Traducciones I18n",
  "message": "Iniciando proceso de validación...",
  "sourceDirectory": "📁 Directorio fuente: {dir}",
  "sourceLanguage": "🌍 Idioma fuente: {sourceLanguage}",
  "strictMode": "⚙️  Modo estricto: {mode}",
  "noTargetLanguages": "⚠️  No se encontraron idiomas de destino para validar",
  "validatingLanguages": "🌍 Validando idiomas: {langs}",
  "validatingLanguage": "🔍 Validando idioma: {lang}",
  "filesCount": "📄 Archivos: {count}",
  "keysCount": "🔑 Claves: {count}",
  "missingFilesCount": "📁 Archivos faltantes: {count}",
  "syntaxErrorsCount": "❌ Errores de sintaxis: {count}",
  "translationPercentage": "🎯 Traducción: {percentage}% ({translated}/{total} claves)",
  "validationSummary": "📊 RESUMEN DE VALIDACIÓN",
  "validation_failed": "❌ Validación fallida: {error}",
  "totalErrors": "❌ Errores totales: {count}",
  "totalWarnings": "⚠️  Advertencias totales: {count}",
  "errorsSection": "❌ ERRORES",
  "warningsSection": "⚠️  ADVERTENCIAS",
  "recommendationsSection": "💡 RECOMENDACIONES",
  "fixErrorsFirst": "1. Corrige todos los errores primero",
  "resolveMissingFilesAndSyntaxErrors": "1. Resuelve archivos faltantes y errores de sintaxis",
  "fixStructuralInconsistencies": "2. Corrige inconsistencias estructurales",
  "completeMissingTranslations": "3. Completa traducciones faltantes",
  "rerunValidation": "4. Ejecuta nuevamente la validación para verificar las correcciones",
  "addressWarnings": "Aborda las advertencias para mejorar la calidad",
  "reviewWarnings": "Revisa las advertencias y corrige si es necesario",
  "considerRunningWithStrict": "2. Considera ejecutar con el indicador --strict para una validación más estricta",
  "allValidationsPassed": "🎉 ¡Todas las validaciones pasaron!",
  "considerRunningUsageAnalysis": "Considera ejecutar el análisis de uso: node i18ntk-usage.js",
  "deletedOldReport": "🗑️  Informe de validación anterior eliminado",
  "sourceDir": "📁 Directorio fuente: {sourceDir}",
  "i18nDir": "🌐 Directorio I18n: {i18nDir}",
  "loadingTranslationFiles": "📋 Cargando archivos de traducción...",
  "foundTranslationFilesCount": "✅ {count} archivos de traducción encontrados",
  "analyzingTranslations": "🔍 Analizando traducciones...",
  "validationCompletedSuccessfully": "🎉 Validación completada con éxito",
  "validationErrorsFound": "⚠️  Se encontraron errores de validación: {count}",
  "validationWarningsFound": "⚠️  Se encontraron advertencias de validación: {count}",
  "validationPassed": "✅ Validación aprobada sin errores",
  "validationFailed": "Validación fallida: {error}",
  "startingValidationProcess": "🔍 Iniciando proceso de validación...",
  "validationProcessCompletedSuccessfully": "✅ Proceso de validación completado con éxito",
  "stackTrace": "Traza de error: {{stack}}",
  "authenticationFailed": "❌ Autenticación fallida. Acceso denegado.",
  "fatalValidationError": "❌ Error fatal de validación: {{error}}",
  "configAccess": "Accediendo a configuración para validación",
  "configValidated": "Configuración validada con éxito",
  "configError": "Error de configuración: {error}",
  "validatorInit": "Inicializando validador I18n",
  "validatorInitialized": "Validador I18n inicializado correctamente",
  "validatorInitError": "Error al inicializar el validador: {error}",
  "argsParsing": "Analizando argumentos de línea de comandos",
  "argsParsed": "Argumentos analizados con éxito",
  "argsParseError": "Error al analizar argumentos: {error}",
  "languagesScan": "Escaneando idiomas disponibles",
  "languagesFound": "{count} idiomas encontrados",
  "languagesScanError": "Error al escanear idiomas: {error}",
  "filesScan": "{count} archivos encontrados en {language}",
  "filesScanError": "Error al escanear archivos: {error}",
  "jsonValidated": "Sintaxis JSON validada: {filePath}",
  "jsonValidationError": "Error de validación JSON: {error}",
  "languageValidation": "Validando idioma: {language}",
  "languageValidationError": "Error de validación de idioma: {error}",
  "fileDeleted": "Archivo eliminado",
  "runStarted": "Iniciando ejecución de validación",
  "runCompleted": "Ejecución de validación completada exitosamente",
  "runError": "Fallo en la ejecución de validación: {error}",
  "scriptExecution": "Ejecución del script",
  "validationCompleted": "Validación completada",
  "validationError": "Error de validación: {error}",
  "separator": "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━",
  "languageHeader": "🌐 Idioma: {language}",
  "validationResults": "📊 Resultados de Validación",
  "noErrors": "✅ No se encontraron errores",
  "noWarnings": "✅ No se encontraron advertencias",
  "summaryHeader": "📋 RESUMEN GENERAL",
  "progressIndicator": "⏳ Procesando...",
  "completedIndicator": "✅ Completado",
  "errorIndicator": "❌ Error",
  "warningIndicator": "⚠️  Advertencia",
  "infoIndicator": "ℹ️  Información",
  "sourceDirNotConfigured": "Directorio fuente no configurado",
  "sourceLanguageNotConfigured": "Idioma fuente no configurado",
  "translationFunctionNotInitialized": "Función de traducción no inicializada correctamente",
  "sourceLanguageDirectoryNotFound": "No se encontró el directorio del idioma fuente",
  "specifiedLanguageNotFound": "No se encontró el idioma especificado",
  "noJsonFilesFound": "No se encontraron archivos JSON en el directorio fuente: {sourceDir}",
  "i18nDirectoryNotFound": "No se encontró el directorio I18n: {i18nDir}",
  "invalidDirectoryPaths": "Se detectaron rutas de directorio no válidas",
  "invalidSampleFilePath": "Ruta del archivo de muestra no válida",
  "failedToCreateSampleTranslationFile": "No se pudo crear el archivo de traducción de muestra",
  "invalidFilePathDetected": "Se detectó una ruta de archivo no válida",
  "failedToWriteFile": "Error al escribir el archivo: {filePath}"
},
  "adminCli": {
    "setupPinProtectionTitle": "\n🔐 Configurando Protección con PIN de Administrador",
    "setupPinProtectionDescription": "Esto requerirá un PIN de 4-6 dígitos para operaciones administrativas.",
    "enablePinProtectionPrompt": "¿Desea habilitar la protección con PIN de administrador?",
    "setupCancelled": "Configuración de protección con PIN de administrador cancelada.",
    "enterPinPrompt": "Ingrese un PIN de 4-6 dígitos: ",
    "pinFormatError": "❌ El PIN debe tener 4-6 dígitos. Inténtelo de nuevo.",
    "confirmPinPrompt": "Confirme el PIN: ",
    "pinMismatchError": "❌ Los PIN no coinciden. Inténtelo de nuevo.",
    "pinProtectionEnabledSuccess": "¡✅ Protección con PIN de administrador habilitada exitosamente!",
    "pinRecoveryWarning": "⚠️  Recuerde su PIN - no puede recuperarse si se pierde.",
    "setupPinProtectionFailed": "❌ Error al configurar la protección con PIN de administrador.",
    "errorSettingUpPin": "❌ Error al configurar el PIN de administrador: {message}",
    "authRequiredForOperation": "\n🔐 Autenticación de administrador requerida para: {operation}",
    "invalidPinFormat": "❌ Formato de PIN inválido. El PIN debe tener 4-6 dígitos.",
    "authenticationSuccess": "¡✅ Autenticación exitosa!",
    "invalidPinAttemptsRemaining": "❌ PIN inválido. Quedan {remaining} intentos.",
    "authenticationFailedAccessDenied": "❌ Autenticación fallida. Acceso denegado.",
    "authenticationError": "❌ Error de autenticación: {message}",
    "pinProtectionNotEnabled": "La protección con PIN de administrador no está habilitada actualmente.",
    "disablingPinProtectionTitle": "\n🔓 Deshabilitando Protección con PIN de Administrador",
    "confirmDisablePinProtection": "¿Está seguro de que desea deshabilitar la protección con PIN de administrador?",
    "operationCancelled": "Operación cancelada.",
    "pinProtectionDisabledSuccess": "✅ Protección con PIN de administrador deshabilitada.",
    "disablePinProtectionFailed": "❌ Error al deshabilitar la protección con PIN de administrador.",
    "errorDisablingPinProtection": "❌ Error al deshabilitar la protección de administrador: {message}",
    "adminProtectionStatusTitle": "\n🔐 Estado de Protección de Administrador",
    "statusEnabled": "Estado: ✅ HABILITADO",
    "protectionDetails": "Protección: Se requiere PIN de 4-6 dígitos para operaciones de administrador",
    "lockoutDetails": "Bloqueo: 3 intentos fallidos = 15 minutos de bloqueo",
    "statusDisabled": "Estado: ❌ DESHABILITADO",
    "noAuthRequired": "Protección: No se requiere autenticación",
    "unprotectedRisk": "Riesgo: Las operaciones administrativas están desprotegidas",
    "errorCheckingAdminStatus": "❌ Error al verificar el estado de administrador: {message}",
    "authRequired": "🔐 Autenticación de administrador requerida.",
    "invalidPin": "❌ PIN inválido.",
    "authSuccess": "¡✅ Autenticación exitosa!",
    "adminPinSetupCli": "admin_pin_setup_cli",
    "adminAuthFailedCli": "admin_auth_failed_cli",
    "adminAuthDisabledCli": "admin_auth_disabled_cli",
    "protectedAccess": "Acceso protegido: Se requiere autenticación de administrador para operaciones sensibles.",
    "enterPin": "Ingrese el PIN de administrador: ",
    "accessGranted": "Acceso concedido."
  },
  "adminPin": {
    "setup_title": "🔐 Configuración de PIN de Administrador",
    "setup_separator": "============================================================",
    "setup_description": "Cree un PIN de 4-6 dígitos para acceso de administrador a configuraciones sensibles.",
    "required_for_title": "Este PIN será requerido para:",
    "required_for_1": "  • Cambiar configuraciones de seguridad",
    "required_for_2": "  • Modificar configuraciones avanzadas",
    "required_for_3": "  • Acceder a herramientas de depuración",
    "required_for_4": "  • Restablecer configuraciones",
    "setup_note": "💡 Nota: Verá asteriscos (*) mientras escribe - estos son solo caracteres de enmascaramiento.",
    "setup_digits_only": "   Solo se aceptan números 0-9 como dígitos del PIN.",
    "invalid_pin_length": "❌ PIN inválido. Debe tener 4-6 dígitos (solo números 0-9).",
    "invalid_pin_example": "   Ejemplo: 1234 o 567890",
    "pins_do_not_match": "❌ Los PIN no coinciden.",
    "setup_success": "¡✅ PIN de administrador configurado exitosamente!",
    "setup_warning": "⚠️  Mantenga este PIN seguro. No puede recuperarse si se pierde.",
    "setup_error": "❌ Error al configurar el PIN:",
    "session_expired": "\n⏰ Sesión de administrador expirada por inactividad.",
    "no_pin_set_setting_up": "⚠️  No hay PIN de administrador configurado. Configurando PIN...",
    "no_pin_configured_access_denied": "⚠️  No hay PIN de administrador configurado. Acceso denegado.",
    "use_admin_settings_to_set_pin": "💡 Use la configuración de administrador para configurar un PIN primero.",
    "locked_out": "🔒 El acceso de administrador está bloqueado por demasiados intentos fallidos.",
    "wait_before_retry": "Por favor espere 5 minutos antes de intentar de nuevo.",
    "access_granted": "✅ Acceso de administrador concedido.",
    "incorrect_pin": "❌ PIN incorrecto. Quedan {attempts} intentos.",
    "verify_pin_error": "❌ Error al verificar el PIN:",
    "already_configured": "✅ PIN de administrador ya está configurado.",
    "optional_setup_title": "\n🔐 Configuración de PIN de Administrador (Opcional)",
    "optional_setup_description": "La protección con PIN de administrador agrega seguridad para operaciones sensibles como:",
    "setup_prompt": "¿Desea configurar un PIN de administrador? (s/N): ",
    "skipping_setup": "⏭️  Omitiendo configuración de PIN de administrador. Puede configurarlo más tarde en ajustes.",
    "setup_prompt_error": "❌ Error durante el mensaje de configuración de PIN:",
    "protectedAccess": "Acceso protegido: Se requiere autenticación de administrador para operaciones sensibles.",
    "enterPin": "Ingrese el PIN de administrador: ",
    "accessGranted": "Acceso concedido.",
    "invalidPin": "❌ PIN inválido. Inténtelo de nuevo.",
    "weak_pin_warning": "⚠️  ADVERTENCIA: Este PIN parece ser débil o común.",
    "weak_pin_suggestion": "💡 Considere usar un PIN más fuerte con dígitos variados.",
    "use_anyway_prompt": "Escriba \"sí\" para usar de todos modos, o presione Enter para elegir un PIN diferente: ",
    "enter_new_pin": "Ingrese el nuevo PIN de administrador (4-6 dígitos): ",
    "confirm_pin": "Confirme el PIN de administrador: ",
    "not_set": "No Configurado",
    "pin_display_mask": "####"
  },
  "autorun": {
      "missingRequiredFile": "Archivo requerido faltante: {file}",
      "runInitializationFirst": "Por favor ejecute la inicialización primero.",
      "initializationCheckPassed": "Verificación de inicialización aprobada.",
      "runningStep": "Ejecutando paso: {stepName}",
      "commandLabel": "Comando: {command}",
      "stepRunning": "Paso '{stepName}' ejecutando...",
      "stepRunningWithNumber": "[{stepNumber}/{totalSteps}] Paso '{stepName}' ejecutando...",
      "stepCompletedWithTime": "Paso '{stepName}' completado en {duration}ms.",
      "stepCompleted": "Paso '{stepName}' completado.",
      "stepFailed": "Paso '{stepName}' falló.",
      "errorLabel": "Error: {error}",
      "stepFailedWithError": "Paso '{stepName}' falló con error: {error}",
      "requiredStepFailed": "Paso requerido falló. Deteniendo flujo de trabajo.",
      "optionalStepFailed": "Paso opcional falló. Continuando flujo de trabajo.",
      "startingAutoRunWorkflow": "Iniciando Flujo de Trabajo Automático...",
      "workflowIncludesSteps": "El flujo de trabajo incluye {count} pasos:",
      "stepRequired": "(Requerido)",
      "stepOptional": "(Opcional)",
      "startingExecution": "Iniciando ejecución...",
      "workflowStopped": "Flujo de trabajo detenido.",
      "workflowCompleted": "Flujo de trabajo completado.",
      "pressEnterToContinue": "Presione Enter para continuar...",
      "runningSelectedSteps": "Ejecutando pasos seleccionados...",
      "invalidStepNumber": "Número de paso inválido: {stepNum}",
      "executionReport": "Informe de Ejecución:",
      "successfulSteps": "Pasos exitosos: {count}",
      "failedSteps": "Pasos fallidos: {count}",
      "requiredFailedSteps": "Pasos requeridos fallidos: {count}",
      "stepDetails": "Detalles del Paso:",
      "errorDetails": "Error: {error}",
      "reportSavedTo": "Informe guardado en: {path}",
      "overallStatusSuccess": "ÉXITO",
      "overallStatusFailed": "FALLÓ",
      "overallStatus": "Estado General: {status}",
      "customSettingsConfiguration": "Configuración de Configuraciones Personalizadas",
      "pressEnterForDefaults": "Presione Enter para usar configuraciones predeterminadas para cualquier aviso.",
      "sourceDirPrompt": "Ingrese directorio fuente (predeterminado: {default}): ",
      "sourceLangPrompt": "Ingrese idioma fuente (predeterminado: {default}): ",
      "targetLangsPrompt": "Ingrese idiomas destino (separados por comas, predeterminado: {default}): ",
      "translationMarkerPrompt": "Ingrese marcador de traducción (predeterminado: {default}): ",
      "outputDirPrompt": "Ingrese directorio de salida para informes (predeterminado: {default}): ",
      "settingsUpdatedSuccessfully": "¡Configuraciones actualizadas exitosamente!",
      "errorConfiguringSettings": "Error configurando configuraciones: {error}",
      "autoRunScriptTitle": "Script de Ejecución Automática",
      "usageTitle": "Uso:",
      "runAllSteps": "node i18ntk-autorun.js --all - Ejecutar todos los pasos definidos en i18ntk-config.json",
      "configureSettingsFirst": "node i18ntk-autorun.js --config - Configurar configuraciones para el flujo de trabajo",
      "runSpecificSteps": "node i18ntk-autorun.js --steps <números_pasos> - Ejecutar pasos específicos (ej: --steps 1,3,5)",
      "showHelp": "node i18ntk-autorun.js --help - Mostrar este mensaje de ayuda",
      "availableSteps": "Pasos Disponibles:",
      "examplesTitle": "Ejemplos:",
      "configExample": "node i18ntk-autorun.js --config",
      "stepsExample1": "node i18ntk-autorun.js --steps 1,2,3",
      "stepsExample2": "node i18ntk-autorun.js --all",
      "configurationComplete": "Configuración completada.",
      "runAutoRunCommand": "Ahora puede ejecutar el comando de ejecución automática.",
      "configurationFailed": "Configuración fallida: {error}",
      "noValidStepNumbers": "No se proporcionaron números de paso válidos.",
      "autoRunFailed": "Ejecución automática fallida: {error}",
      "stepInitializeProject": "Inicializar estructura de proyecto i18n",
      "stepAnalyzeTranslations": "Analizar archivos de traducción",
      "stepValidateTranslations": "Validar traducciones",
      "stepCheckUsage": "Verificar estadísticas de uso",
      "stepCompleteTranslations": "Completar traducciones",
      "stepAnalyzeSizing": "Analizar dimensionamiento",
      "stepGenerateSummary": "Generar informe de resumen",
      "stepCompletedIcon": "✅",
      "stepCompletedWithIcon": "{icon} Paso '{stepName}' completado.",
      "stepFailedIcon": "❌",
      "translationLoadWarning": "Advertencia: No se pudieron cargar traducciones de {lang}",
      "configReadError": "Error leyendo {file}",
      "separator": "=================================================="
  },
"debug": {
      "title": "🔧 Herramientas de Depuración",
      "separator": "============================================================",
      "mainDebuggerSystemDiagnostics": "1. Diagnósticos del Sistema",
      "_consoleTranslationsCheck": "// 2. Verificación de Traducciones de Consola",
      "_exportMissingKeys": "// 3. Exportar Claves de Traducción Faltantes",
      "_replaceHardcodedConsole": "// 4. Reemplazar Cadenas de Consola Codificadas",
      "_consoleKeyChecker": "// 5. Verificador de Claves de Consola",
      "debugLogs": "2. Registros de Depuración",
      "backToMainMenu": "0. Volver al Menú Principal",
      "selectOption": "Seleccione una herramienta de depuración: ",
      "runningDebugTool": "Ejecutando {displayName}...",
      "debugToolNotFound": "❌ Herramienta de depuración no encontrada: {toolName}",
      "errorRunningDebugTool": "Error ejecutando herramienta de depuración '{displayName}': {error}",
      "recentDebugLogs": "📄 Registros de depuración recientes",
      "noDebugLogsFound": "❌ No se encontraron registros de depuración.",
      "debugLogsDirectoryNotFound": "❌ No se encontró el directorio de registros de depuración.",
      "selectLogPrompt": "Seleccione archivo de registro para ver (1-{count}): ",
      "invalidChoiceSelectRange": "Selección inválida. Por favor seleccione del rango disponible.",
      "contentOf": "📄 Contenido de {filename}:",
      "pressEnterToContinue": "Presione Enter para continuar..."
  },
  "detect_language_mismatches": {
    "tool_title": "🔍 Herramienta de Detección de Desajustes de Idioma",
        "separator": "=====================================\n",
        "analyzing_file": "📄 Analizando {language}.json...",
        "error_analyzing_file": "❌ Error analizando {filename}: {errorMessage}",
        "results_title": "📊 RESULTADOS DE DETECCIÓN DE DESAJUSTES DE IDIOMA",
        "results_separator": "========================================\n",
        "summary_title": "📋 RESUMEN:",
        "total_files_analyzed": "   Archivos totales analizados: {totalFiles}",
        "files_with_mismatches": "   Archivos con desajustes: {filesWithMismatches}",
        "total_mismatches_found": "   Desajustes totales encontrados: {totalMismatches}\n",
        "no_mismatches_found": "✅ ¡No se encontraron desajustes de idioma! Todas las traducciones parecen estar en sus idiomas correctos.\n",
        "detailed_results_title": "🔍 RESULTADOS DETALLADOS:\n",
        "file_mismatch_header": "📄 {filename} ({language})",
        "mismatches_count": "   Encontrados {count} desajuste(s):\n",
        "mismatch_details": "   {index}. Clave: {key}",
        "mismatch_value": "      Valor: \"{value}\"",
        "mismatch_issue": "      Problema: {description}",
        "recommendations_title": "💡 RECOMENDACIONES:\n",
        "recommendation_1": "1. Revisar y traducir todas las entradas marcadas con [TRANSLATE]",
        "recommendation_2": "2. Reemplazar prefijos de idioma (ej: [DE], [FR]) con traducciones apropiadas",
        "recommendation_3": "3. Traducir texto en inglés al idioma destino apropiado",
        "recommendation_4": "4. Usar equivalentes en idioma nativo para todo el texto visible al usuario",
        "recommendation_5": "5. Ejecutar esta herramienta nuevamente después de hacer correcciones para verificar las soluciones\n",
        "detailed_report_saved": "📄 Informe detallado guardado en: {reportPath}\n",
        "error_saving_report": "❌ Error guardando informe: {errorMessage}\n",
        "auto_fix_mode": "🔧 Modo auto-corrección {dryRun}",
        "auto_fix_separator": "=====================================\n",
        "fixed_file": "✅ Archivo corregido {filename}",
        "auto_fix_summary_title": "\n📊 Resumen de Auto-corrección:",
        "total_fixes_applied": "   Correcciones totales aplicadas: {count}",
        "preview_fixes_title": "\n🔍 Vista previa de correcciones:",
        "fix_details": "   {file}: {key}\n     Antiguo: \"{old}\"\n     Nuevo: \"{new}\"\n",
        "more_fixes": "   ... y {count} correcciones más\n",
        "run_with_apply_fixes": "💡 Ejecutar con --apply para aplicar estas correcciones\n",
        "error_general": "❌ Error:",
        "mainDebuggerSystemDiagnostics": "Depurador Principal / Diagnósticos del Sistema",
        "exportMissingKeys": "Exportar Claves Faltantes",
        "replaceHardcodedConsole": "Reemplazar Consola Codificada",
        "consoleKeyChecker": "Verificador de Claves de Consola",
        "debugLogs": "Registros de Depuración",
        "backToMainMenu": "Volver al Menú Principal",
        "invalidChoiceSelectRange": "❌ Selección inválida. Por favor seleccione un número dentro del rango mostrado.",
        "runningDebugTool": "Ejecutando herramienta de depuración: {displayName}",
        "debugToolNotFound": "Herramienta de depuración '{toolName}' no encontrada.",
        "recentDebugLogs": "Registros de Depuración Recientes",
        "noDebugLogsFound": "No se encontraron registros de depuración.",
        "logEntry": "Entrada de Registro: {timestamp} - {message}",
        "debugLogsDirectoryNotFound": "No se encontró el directorio de registros de depuración."
  },
  "help": {
  "title": "📊 AYUDA DE GESTIÓN DE I18N\n\n",
  "usage": "Uso: node i18ntk-manage.js [opciones]\n",
  "interactiveMode": "\n💡 Usa: node i18ntk-manage.js --command=<comando> para ejecución directa\n",
  "showHelp": "\n📖 Usa: node i18ntk-manage.js --help para ver los comandos disponibles\n",
  "availableCommands": "\n📖 Comandos Disponibles:\n",
  "initProject": "🚀 Inicializar nuevos idiomas",
  "analyzeTranslations": "🔍 Analizar traducciones",
  "validateTranslations": "✅ Validar traducciones",
  "checkUsage": "📊 Comprobar uso de claves",
  "initCommand": "  init      - Inicializar nuevos idiomas",
  "analyzeCommand": "  analyze   - Analizar traducciones",
  "validateCommand": "  validate  - Validar traducciones",
  "usageCommand": "  usage     - Comprobar uso de claves",
  "sizingCommand": "  sizing    - Analizar tamaños",
  "completeCommand": "  complete  - Completar traducciones (100% cobertura)",
  "summaryCommand": "  summary   - Mostrar estado del proyecto",
  "debugCommand": "  debug     - Depurar problemas de traducción",
  "menu": {
    "title": "\n🌐 MENÚ DE GESTIÓN DE I18N\n",
    "description": "Menú interactivo para gestionar la internacionalización\n",
    "exit": "\n🚪 Salir"
  },
  "commands": {
    "init": "\n  init      - Inicializar nuevos idiomas",
    "analyze": "  analyze   - Analizar traducciones",
    "validate": "  validate  - Validar traducciones",
    "usage": "  usage     - Comprobar uso de claves",
    "sizing": "  sizing    - Analizar tamaños",
    "complete": "  complete  - Completar traducciones (100% cobertura)",
    "summary": "  summary   - Mostrar estado del proyecto",
    "debug": "  debug     - Depurar problemas de traducción"
  },
  "options": {
    "sourceDir": "\n  --source-dir <dir>     Directorio fuente a analizar",
    "output": "  --output <file>        Archivo de salida para el informe",
    "verbose": "  --verbose, -v           Mostrar información detallada",
    "keepReports": "  --keep-reports          Conservar informes existentes",
    "deleteReports": "  --delete-reports        Eliminar informes existentes",
    "help": "  --help, -h              Mostrar esta ayuda"
  },
  "examples": {
    "title": "\nEjemplos:\n",
    "example1": "  node i18ntk-manage.js",
    "example2": "  node i18ntk-manage.js --source-dir ./locales",
    "example3": "  node i18ntk-manage.js --output summary-report.txt",
    "example4": "  node i18ntk-manage.js --verbose",
    "example5": "  node i18ntk-manage.js --source-dir ./locales --output report.json"
  },
  "features": {
    "initProject": "🚀 Inicializar nuevos idiomas",
    "analyzeTranslations": "🔍 Analizar traducciones",
    "validateTranslations": "✅ Validar traducciones",
    "checkUsage": "📊 Comprobar uso de claves",
    "completeTranslations": "🎯 Completar traducciones (100% cobertura)",
    "showSizing": "📏 Analizar tamaños",
    "runWorkflow": "🔄 Ejecutar flujo de trabajo completo",
    "showStatus": "📋 Mostrar estado del proyecto",
    "deleteReports": "🗑️  Eliminar todos los informes",
    "changeLanguage": "🌍 Cambiar idioma de la interfaz",
    "settings": "⚙️  Configuración",
    "showHelp": "❓ Ayuda",
    "debugTools": "🔧 Herramientas de depuración"
  },
  "messages": {
    "selectOption": "Selecciona una opción:",
    "invalidOption": "❌ Opción inválida. Inténtalo de nuevo.",
    "operationCompleted": "✅ ¡Operación completada con éxito!",
    "pressEnter": "Presiona Enter para continuar...",
    "goodbye": "👋 ¡Hasta luego!",
    "unknownCommand": "Comando desconocido: {{command}}",
    "nonInteractive": "⚠️ Modo no interactivo detectado. Menú mostrado solo como referencia."
  },
  "i18n_helper": {
    "translation_file_not_found": "Archivo de traducción no encontrado: {translationFile}",
    "error_loading_translations": "Error al cargar traducciones: {errorMessage}",
    "translation_not_found": "Traducción no encontrada para la clave: {key}",
    "translation_key_not_string": "La clave de traducción no se resuelve a una cadena: {key}",
    "error_reading_locales_directory": "Error al leer el directorio de idiomas: {errorMessage}"
  }
},
"init": {
  "initializationTitle": "🚀 Toolkit de Gestión I18n - Inicialización del Proyecto",
  "sourceDirectoryLabel": "📁 Directorio fuente: {dir}",
  "sourceLanguageLabel": "🌍 Idioma fuente: {language}",
  "detectedI18nFrameworks": "🔍 Framework(s) de i18n detectado(s): {frameworks}",
  "existingDirectoriesFound": "📁 Directorios de traducción existentes encontrados:",
  "useExistingDirectoryPrompt": "¿Deseas usar el directorio existente? (s/n)",
  "autoDetectedI18nDirectory": "📂 Directorio i18n detectado automáticamente: {directory}",
  "initializingProject": "⚙️  Inicializando configuración del proyecto...",
  "createdSampleTranslationFile": "✅ Archivo de traducción de muestra creado: {file}",
  "languageSelectionTitle": "🌐 Configuración de Idioma",
  "available": "Disponible",
  "defaultLanguages": "📝 Idiomas por defecto: {languages}",
  "enterLanguageCodes": "🎯 Introduce los códigos de idioma de destino (separados por comas, ej. de, es, fr, ru):",
  "targetLanguages": "🌍 Idiomas de Destino",
  "foundSourceFiles": "📄 {count} archivos fuente encontrados para analizar",
  "processingLanguage": "🔄 Procesando idioma: {language}",
  "fileProcessingResult": "✅ Procesado {file}: {translated}/{total} claves ({percentage}%)",
  "overallProgress": "📊 Progreso General: {translated}/{total} claves procesadas ({percentage}%)",
  "initializationSummaryTitle": "📋 Resumen de Inicialización",
  "languageSummary": "{icon} {name} ({code}): {percentage}% completado",
  "languageFiles": "   📄 Archivos: {count}",
  "languageKeys": "   🔤 Claves: {translated}/{total}",
  "languageMissing": "   ⚠️  Faltantes: {count}",
  "initializationCompletedSuccessfully": "🎉 ¡Inicialización del proyecto completada con éxito!",
  "nextStepsTitle": "🚀 Próximos Pasos",
  "nextStep1": "1. Revisa los archivos de traducción generados en tu directorio locales/",
  "nextStep2": "2. Agrega traducciones para cada idioma de destino",
  "nextStep3": "3. Ejecuta 'npm run i18ntk' nuevamente para validar las traducciones",
  "detectedFrameworks": "✅ Framework(s) de i18n detectado(s): {frameworks}",
    "errorsNoFramework": "No se detectó ningún framework de i18n. Por favor instala uno o especifícalo manualmente.",
  "suggestions": {
    "noFramework": "No se detectó ningún framework de i18n. Considera usar uno de los siguientes:",
    "installFramework": "Para instalar un framework, ejecuta: npm install <nombre-del-paquete>"
  },
  "frameworks": {
    "react": "- React i18next (react-i18next)",
    "vue": "- Vue i18n (vue-i18n)",
    "i18next": "- i18next (i18next)",
    "nuxt": "- Nuxt i18n (@nuxtjs/i18n)",
    "svelte": "- Svelte i18n (svelte-i18n)"
  },
  "continueWithoutI18nPrompt": "No se detectó framework de i18n. ¿Deseas continuar sin uno? (s/N): ",
  "detectedI18nFramework": "Framework i18n detectado: {frameworks}",
  "existingDirectoryItem": "  {index}. {location}",
  "usingExistingStructure": "Usando estructura existente: {dir}",
  "creatingSourceDirectory": "Creando directorio fuente: {dir}",
  "creatingSourceLanguageDirectory": "Creando directorio de idioma fuente: {dir}",
  "errors": {
    "sourceDirectoryNotFound": "No se encontró el directorio fuente: {dir}",
    "sourceLanguageDirectoryNotFound": "No se encontró el directorio del idioma fuente: {dir}",
    "noJsonFilesInSourceDirectory": "No se encontraron archivos JSON en el directorio fuente: {dir}",
    "invalidFilePathDetected": "Se detectó una ruta de archivo inválida",
    "initializationFailed": "Fallo en la inicialización: {error}"
  },
  "processingFile": "Procesando {file} para {language}...",
  "fileAlreadyExistsMerging": "El archivo {file} ya existe. Fusionando nuevas claves.",
  "createdNewFile": "Nuevo archivo creado: {file}",
  "updatedFile": "Archivo actualizado: {file}",
  "skippingExcludedFile": "Omitiendo {file} para {language} porque está excluido."
},
"language": {
  "title": "🌍 Cambiar idioma",
  "separator": "============================================================",
  "current": "Idioma actual: {language}",
  "available": "Idiomas disponibles:",
  "languageOption": "{index}. {displayName}{current}",
  "backToMainMenu": "Volver al menú principal",
  "prompt": "Selecciona un idioma (0-8):",
  "cancelled": "Cambio de idioma cancelado.",
  "invalid": "Opción inválida. Inténtalo de nuevo.",
  "changed": "Idioma cambiado a: {language}",
  "pressEnterToContinue": "Presiona Enter para continuar..."
},
"maintainLanguagePurity": {
  "workflow_title": "🚀 Flujo de trabajo para mantener la pureza del idioma",
  "step1_title": "📊 PASO 1: Evaluación inicial de la pureza del idioma",
  "step2_title": "\n🔧 PASO 2: Detectar y corregir automáticamente inconsistencias de idioma",
  "step3_title": "\n🌐 PASO 3: Aplicar traducciones automáticas",
  "step4_title": "\n✅ PASO 4: Evaluación final de la pureza del idioma",
  "workflow_error": "❌ Error en el flujo de trabajo: {errorMessage}",
  "running_initial_validation": "Ejecutando validación inicial de pureza del idioma...",
  "initial_assessment_complete": "✅ Evaluación inicial completada: {count} violaciones encontradas\n",
  "initial_assessment_warnings": "⚠️  Evaluación inicial completada con advertencias\n",
  "detecting_fixing_mismatches": "Detectando y corrigiendo inconsistencias de idioma...",
  "detection_complete_applying_fixes": "Detección completada. Aplicando correcciones automáticas...",
  "mismatch_fixes_complete": "✅ Correcciones de idioma completadas: {count} aplicadas\n",
  "mismatch_fixes_warnings": "⚠️  Correcciones completadas con advertencias\n",
  "applying_automatic_translations": "Aplicando traducciones automáticas...",
  "translation_preview_complete": "Vista previa de traducciones completada. Aplicando cambios..."
},
"menu": {
  "title": "🌐 MENÚ DE GESTIÓN I18N",
  "separator": "============================================================",
  "options": {
    "init": "🚀 Inicializar nuevos idiomas",
    "analyze": "🔍 Analizar traducciones",
    "validate": "✅ Validar traducciones",
    "usage": "📊 Comprobar uso de claves",
    "complete": "🎯 Completar traducciones (100% cobertura)",
    "sizing": "📏 Analizar tamaños",
    "workflow": "🔄 Ejecutar flujo completo",
    "status": "📋 Mostrar estado del proyecto",
    "delete": "🗑️  Eliminar todos los informes",
    "language": "🌍 Cambiar idioma de la interfaz",
    "settings": "⚙️  Configuración",
    "help": "❓ Ayuda",
    "debug": "🔧 Herramientas de depuración",
    "exit": "🚪 Salir"
  },
  "update": "📦 Actualizar paquete",
  "goodbye": "👋 ¡Hasta luego!",
  "invalidChoice": "❌ Opción inválida. Por favor selecciona entre 0-13.",
  "returning": "🔄 Volviendo al menú principal...",
  "invalidOption": "❌ Opción inválida. Inténtalo de nuevo.",
  "nonInteractiveModeWarning": "⚠️ Modo no interactivo detectado. Menú mostrado solo como referencia.",
  "useDirectExecution": "💡 Usa: node main/i18ntk-manage.js --command=<comando> para ejecución directa.",
  "useHelpForCommands": "📖 Usa: node main/i18ntk-manage.js --help para ver los comandos disponibles.",
  "returnToMainMenu": "Presiona Enter para volver al menú principal.",
  "pressEnterToContinue": "Presiona Enter para continuar...",
  "selectOptionPrompt": "Selecciona una opción:",
  "selectDebugToolPrompt": "Selecciona una herramienta de depuración:",
  "selectLogPrompt": "Selecciona un archivo de registro (1-{count}):",
  "autoDetectedI18nDirectory": "📂 Directorio i18n detectado automáticamente: {directory}",
  "executingCommand": "Ejecutando comando: {command}",
  "unknownCommand": "Comando desconocido: {command}",
  "languageOption": "  {{index}}. {{displayName}}{{current}}",
  "debugTools": {
    "1": "Análisis de archivo de registro",
    "2": "Análisis de uso de claves de traducción",
    "3": "Análisis de cobertura de traducción",
    "4": "Análisis de formato de traducción",
    "5": "Análisis de tipo de traducción",
    "6": "Análisis de estructura de traducción"
  },
"native_translations": {
  "exact_translation_found": "  ✅ {keyPath}: {value}",
  "no_exact_translation": "  ⚠️ No se encontró traducción exacta para '{keyPath}', claves similares encontradas:",
  "similar_key": "    - {key} (coincidencia del {similarity}%)",
  "processing_language_files": "🔄 Procesando {count} archivos de idioma...\n",
  "file_not_found": "⚠️ Archivo no encontrado: {file}",
  "processing_translations": "🌍 Procesando traducciones de {code}...",
  "backup_created": "📋 Copia de seguridad creada: {filename}",
  "error_parsing_json": "❌ Error al analizar {code}.json: {errorMessage}",
  "existing_keys_found": "📊 {code}: Se encontraron {count} claves existentes",
  "error_writing_json": "❌ Error al escribir {code}.json: {errorMessage}",
  "translations_replaced": "📊 {code}: {count} traducciones reemplazadas",
  "translation_replacement_complete": "\n✅ ¡Reemplazo de traducciones completado!",
  "total_replacements": "📊 Total de reemplazos: {count}",
  "dry_run_mode": "\n⚠️ MODO SIMULADO - No se modificaron archivos",
  "tool_title": "🌍 Reemplazador de Traducciones Nativas v1.5.3",
  "tool_separator": "======================================\n",
  "dry_run_warning": "⚠️ Ejecutando en modo simulado - no se modificarán archivos\n",
  "error_during_replacement": "❌ Error durante el reemplazo de traducciones:"
}
  },
"operations": {
  "completed": "✅ ¡Operación completada con éxito!",
  "deleteReportsTitle": "🗑️ Eliminar informes y registros",
  "scanningForFiles": "🔍 Buscando archivos para eliminar...",
  "noFilesFoundToDelete": "✅ No se encontraron archivos para eliminar.",
  "availableDirectories": "📁 Directorios disponibles:",
  "allDirectories": "Todos los directorios",
  "cancelOption": "Cancelar",
  "cancelReportOption": "Cancelar / Volver al menú",
  "invalidSelection": "❌ Selección inválida.",
  "foundFilesInSelectedDirectories": "📊 Se encontraron {count} archivos en los directorios seleccionados:",
  "deletionOptions": "🗑️ Opciones de eliminación:",
  "deleteAllFiles": "Eliminar todos los archivos",
  "keepLast3Files": "Conservar los últimos 3 archivos (por fecha)",
  "keepLast5Files": "Conservar los últimos 5 archivos (por fecha)",
  "noFilesToDelete": "✅ No hay archivos para eliminar.",
  "filesToDeleteCount": "📋 Archivos a eliminar: {count}",
  "filesToKeepCount": "📋 Archivos a conservar: {count}",
  "confirmDeletion": "⚠️ ¿Seguro que deseas eliminar estos archivos? (s/N):",
  "deletedFile": "✅ Eliminado: {filename}",
  "failedToDeleteFile": "❌ No se pudo eliminar {filename}: {error}",
  "cancelled": "❌ Operación cancelada.",
  "init": {
    "title": "🚀 Inicializar nuevo idioma"
  },
  "usage": {
    "title": "📊 Comprobar uso de claves"
  },
  "analyze": {
    "title": "🔍 Analizar traducciones"
  },
  "validate": {
    "title": "✅ Validar traducciones"
  },
  "settings": {
    "title": "⚙️ Gestión de configuración",
    "separator": "============================================================"
  },
  "complete": {
    "deletingOldReport": "🗑️ Eliminando informe antiguo de uso para nuevo análisis",
    "generatingFreshAnalysis": "🔄 Generando nuevo análisis de uso...",
    "couldNotGenerate": "⚠️ No se pudo generar el análisis. Usando claves comunes faltantes.",
    "reportNotFound": "⚠️ Informe de uso no encontrado. Generando nuevo análisis...",
    "foundMissingKeys": "🔍 Se encontraron {count} claves faltantes en el análisis de uso",
    "couldNotParse": "⚠️ No se pudo analizar el informe. Usando claves comunes faltantes.",
    "title": "🎯 COMPLETANDO TRADUCCIONES",
    "separator": "============================================================",
    "sourceDir": "📁 Directorio fuente: {sourceDir}",
    "sourceLanguage": "🔤 Idioma fuente: {sourceLanguage}",
    "dryRunMode": "🧪 MODO SIMULADO - No se modificarán archivos",
    "languages": "🎯 Idiomas de destino: {languages}",
    "addingMissingKeys": "➕ Añadiendo claves faltantes a los archivos de traducción...",
    "processing": "🔄 Procesando {language}...",
    "addedKeys": "✅ {count} claves añadidas",
    "changeDetails": "📝 {file}: {key}",
    "noChangesNeeded": "✅ No se requieren cambios para {language}",
    "summaryTitle": "📊 RESUMEN DE COMPLECIÓN",
    "totalChanges": "📝 Cambios totales: {totalChanges}",
    "languagesProcessed": "🌐 Idiomas procesados: {languagesProcessed}",
    "missingKeysAdded": "➕ Claves faltantes añadidas: {missingKeysAdded}",
    "nextStepsTitle": "📋 PRÓXIMOS PASOS",
    "nextStep1": "1. Ejecuta el análisis de uso:",
    "nextStep2": "2. Valida las traducciones:",
    "nextStep3": "3. Analiza la cobertura:",
    "allKeysAvailable": "🎉 ¡Todas las claves de traducción están disponibles!",
    "runWithoutDryRun": "💡 Ejecuta sin --dry-run para aplicar los cambios",
    "pressEnterToContinue": "Presiona Enter para continuar..."
  },
  "updatePackage": {
    "title": "📦 Actualizar el paquete i18n-toolkit",
    "description": "Esto actualizará el paquete i18n-toolkit a la última versión disponible en npm.",
    "command": "Comando a ejecutar",
    "confirm": "¿Estás seguro de que deseas continuar con la actualización? (s/N): ",
    "updating": "Actualizando paquete... Esto puede tardar un momento.",
    "success": "✅ ¡i18n-toolkit actualizado con éxito!",
    "error": "❌ Error al actualizar i18n-toolkit",
    "cancelled": "❌ Actualización cancelada."
  }
},
"security": {
  "pathValidationFailed": "validación_de_ruta_fallida",
  "invalidInputType": "tipo_de_entrada_inválido",
  "pathTraversalAttempt": "intento_de_travesía_de_ruta",
  "pathValidated": "✅ Ruta validada con éxito",
  "pathValidationError": "error_de_validación_de_ruta",
  "fileTooLarge": "Seguridad: Archivo demasiado grande: {filePath}",
  "fileReadError": "Seguridad: Error al leer el archivo: {errorMessage}",
  "contentTooLargeForFile": "Seguridad: El contenido es demasiado grande para el archivo: {filePath}",
  "fileWriteError": "Seguridad: Error al escribir el archivo: {errorMessage}",
  "jsonStringTooLarge": "Seguridad: Cadena JSON demasiado grande",
  "jsonParseError": "Seguridad: Error al analizar JSON: {errorMessage}",
  "inputContainsDisallowedCharacters": "Seguridad: La entrada contiene caracteres no permitidos",
  "unknownCommandArgument": "Seguridad: Argumento de comando desconocido: {key}",
  "unknown_command_argument": "Seguridad: Argumento de comando desconocido: {key}",
  "unknownConfigKey": "Seguridad: Clave de configuración desconocida: {key}",
  "unknown_config_key": "Seguridad: Clave de configuración desconocida: {key}",
  "securityAlert": "[ALERTA DE SEGURIDAD] {timestamp}: {event}",
  "contentTooLarge": "Seguridad: El contenido es demasiado grande para el archivo: {validatedPath}",
  "inputDisallowedCharacters": "Seguridad: La entrada contiene caracteres no permitidos",
  "unknownCommandArg": "Argumento de comando desconocido",
  "logMessage": "[SEGURIDAD {level}] {timestamp}: {event}",
  "alertMessage": "[ALERTA DE SEGURIDAD] {timestamp}: {event}",
  "securityWarning": "[ADVERTENCIA DE SEGURIDAD] {timestamp}: {event}",
  "json_parse_error": "Seguridad: Error al analizar JSON: {errorMessage}"
  },
"settings-cli": {
  "settings": {
    "mainMenu": {
      "title": "Menú principal:",
      "uiSettings": "Configuración de la interfaz",
      "uiSettingsDesc": "Idioma, tema y opciones de interfaz",
      "directorySettings": "Configuración de directorios",
      "directorySettingsDesc": "Rutas del directorio de origen y de salida",
      "scriptDirectorySettings": "Configuración de scripts",
      "scriptDirectorySettingsDesc": "Rutas de directorio para operaciones de scripts individuales",
      "processingSettings": "Configuración de procesamiento",
      "processingSettingsDesc": "Tamaño de lote, concurrencia y rendimiento",
      "advancedSettings": "Configuración avanzada",
      "advancedSettingsDesc": "Validación, registros y opciones avanzadas",
      "viewAllSettings": "Ver todas las configuraciones",
      "viewAllSettingsDesc": "Mostrar la configuración actual",
      "importExport": "Importar/Exportar",
      "importExportDesc": "Respaldar y restaurar configuraciones",
      "resetToDefaults": "Restablecer valores predeterminados",
      "resetToDefaultsDesc": "Restaurar la configuración de fábrica",
      "reportBug": "Reportar error",
      "reportBugDesc": "Enviar informe de error en GitHub",
      "saveChanges": "Guardar cambios",
      "saveChangesDesc": "Guardar configuración actual en el archivo",
      "updatePackage": "Actualizar paquete",
      "updatePackageDesc": "Actualizar el paquete i18n-toolkit mediante npm",
      "help": "Ayuda",
      "helpDesc": "Mostrar información de ayuda detallada",
      "quit": "Salir",
      "quitDesc": "Salir de la configuración (con aviso de guardado si es necesario)",
      "unsavedChangesWarning": "⚠️  Tienes cambios sin guardar",
      "saveChangesBeforeQuit": "¿Deseas guardar los cambios antes de salir? (s/N): ",
      "selectOption": "Selecciona una opción: ",
      "goodbyeMessage": "¡Gracias por usar el gestor de configuración de i18n!"
    },
    "goodbyeMessage": "¡Gracias por usar el gestor de configuración de i18n!",
    "relativePathHint": "Usa rutas relativas desde este directorio (por ejemplo, ./src/i18n/locales)",
    "currentDirectory": "Directorio actual del proyecto"
  },
  "settings_manager": {
    "error_loading_settings": "❌ Error al cargar la configuración:",
    "error_saving_settings": "❌ Error al guardar la configuración:",
    "error_setting_value": "❌ Error al establecer el valor:",
    "missing_required_setting": "❌ Falta configuración requerida: {prop}",
    "invalid_language": "❌ Idioma inválido: {language}",
    "invalid_source_language": "❌ Idioma fuente inválido: {sourceLanguage}",
    "default_languages_must_be_array": "❌ defaultLanguages debe ser un arreglo",
    "invalid_date_format": "❌ Formato de fecha inválido: {dateFormat}. Formatos válidos: {validFormats}",
    "invalid_time_format": "❌ Formato de hora inválido: {timeFormat}. Formatos válidos: {validFormats}",
    "notifications_types_must_be_object": "❌ notifications.types debe ser un objeto",
    "exclude_files_must_be_array": "❌ excludeFiles debe ser un arreglo",
    "exclude_dirs_must_be_array": "❌ excludeDirs debe ser un arreglo",
    "include_extensions_must_be_array": "❌ includeExtensions debe ser un arreglo",
    "invalid_batch_size": "❌ Tamaño de lote inválido. Debe ser un número positivo",
    "invalid_max_concurrent_files": "❌ Máximo de archivos concurrentes inválido. Debe ser un número positivo",
    "invalid_sizing_threshold": "❌ Umbral de tamaño inválido. Debe ser un número positivo",
    "invalid_timeout": "❌ Tiempo de espera inválido. Debe ser al menos de 1000ms",
    "invalid_sizing_format": "❌ Formato de tamaño inválido: {sizingFormat}. Formatos válidos: {validFormats}",
    "error_validating_settings": "❌ Error al validar la configuración:",
    "backup_created": "📋 Copia de seguridad creada: {backupPath}",
    "error_creating_backup": "❌ Error al crear la copia de seguridad:",
    "language_not_supported": "Idioma '{language}' no soportado. Disponibles: {availableLanguages}",
    "ui_language_set": "🌍 Idioma de la interfaz establecido a: {language}"
  }
},
"settings": {
  "title": "⚙️ Gestión de configuración",
  "separator": "============================================================",
  "goodbyeMessage": "¡Gracias por usar el gestor de configuración de i18ntk!",
  "relativePathHint": "Usa rutas relativas desde este directorio (por ejemplo, ./src/i18n/locales)",
  "currentDirectory": "Directorio actual del proyecto",
  "pin": "PIN:",
  "mainMenu": {
    "title": "Menú principal:",
    "uiSettings": "Configuración de la interfaz",
    "uiSettingsDesc": "Idioma, tema y opciones de la interfaz",
    "directorySettings": "Configuración de directorios",
    "directorySettingsDesc": "Rutas de directorio de origen y de salida",
    "processingSettings": "Configuración de procesamiento",
    "processingSettingsDesc": "Tamaño de lote, concurrencia y rendimiento",
    "advancedSettings": "Configuración avanzada",
    "advancedSettingsDesc": "Validación, registros y opciones expertas",
    "viewAllSettings": "Ver todas las configuraciones",
    "viewAllSettingsDesc": "Mostrar la configuración actual",
    "importExport": "Importar/Exportar",
    "importExportDesc": "Respaldo y restauración de configuraciones",
    "updatePackage": "Actualizar paquete",
    "updatePackageDesc": "Actualizar el paquete i18n-toolkit mediante npm",
    "resetToDefaults": "Restablecer a valores predeterminados",
    "resetToDefaultsDesc": "Restaurar la configuración de fábrica",
    "reportBug": "Reportar error",
    "reportBugDesc": "Enviar un informe de error en GitHub",
    "saveChanges": "Guardar cambios",
    "saveChangesDesc": "Guardar la configuración actual en un archivo",
    "help": "Ayuda",
    "helpDesc": "Mostrar información de ayuda detallada",
    "quit": "Salir",
    "quitDesc": "Salir de configuración (con confirmación de guardado si es necesario)",
    "unsavedChangesWarning": "⚠️  Tienes cambios sin guardar",
    "saveChangesBeforeQuit": "¿Deseas guardar los cambios antes de salir? (s/N): ",
    "selectOption": "Selecciona una opción: ",
    "selectSettingPrompt": "Selecciona una configuración para editar (o 'b' para volver): ",
    "enterNewValue": "Introduce un nuevo valor: ",
    "updatedSuccessfully": "¡{{setting}} actualizado correctamente!",
    "scriptDirectorySettings": "Configuración de scripts",
    "scriptDirectoryDesc": "Especifica directorios personalizados para cada script",
    "scriptDirectorySettingsDesc": "Puedes establecer directorios personalizados para cada script. Si no se establece, se usarán los valores globales.",
    "currentDirectory": "Directorio actual del proyecto",
    "securitySettings": "Configuración de seguridad",
    "securitySettingsDesc": "PIN de administrador y otras opciones de seguridad"
  },
  "updatePackage": {
    "title": "Actualizar paquete",
    "description": "Actualizar el paquete i18n-toolkit mediante npm",
    "command": "npm update i18ntk -g",
    "success": "Actualización completada con éxito.",
    "failed": "La actualización falló.",
    "prompt": "¿Deseas actualizar el paquete ahora? (s/N): ",
    "promptDesc": "Nota: Esto actualizará el paquete i18ntk a la última versión.",
    "confirm": "s",
    "cancelled": "Actualización cancelada."
  },
  "admin": {
    "selectOption": "Selecciona una opción: ",
    "updateSuccess": "¡PIN de administrador actualizado con éxito!",
    "updateFailed": "Error al actualizar el PIN de administrador.",
    "protectionRemoved": "Protección con PIN de administrador eliminada.",
    "configSuccess": "¡PIN de administrador configurado con éxito!",
    "configFailed": "Error al configurar el PIN de administrador.",
    "setupPinPrompt": "¿Deseas configurar un PIN de administrador? (s/N): ",
    "pinUpdatedSuccess": "¡PIN de administrador actualizado con éxito!",
    "pinUpdatedFailed": "Error al actualizar el PIN de administrador.",
    "pinRemoved": "Protección con PIN de administrador eliminada.",
    "pinConfiguredSuccess": "¡PIN de administrador configurado con éxito!",
    "pinConfiguredFailed": "Error al configurar el PIN de administrador.",
    "accessDenied": "❌ Acceso denegado. Volviendo al menú.",
    "setupPin": "🔐 Configurando PIN de administrador...",
    "setupFailed": "❌ Error al configurar el PIN de administrador. La configuración no se cambió.",
    "pinConfigured": "📌 El PIN de administrador está actualmente configurado.",
    "options": "Opciones:",
    "changePin": "1) Cambiar PIN existente",
    "removePin": "2) Eliminar protección con PIN",
    "cancel": "3) Cancelar",
    "verifyCurrentPin": "\n🔐 Verifica el PIN actual:",
    "settingNewPin": "\n🔄 Configurando nuevo PIN...",
    "verifyToRemove": "\n🔐 Verifica el PIN actual para eliminar la protección:",
    "noPinConfigured": "🔓 No hay PIN de administrador configurado.",
    "pinBenefits": "Configurar un PIN de administrador añadirá seguridad a:",
    "benefitSecurity": "• Cambiar configuraciones de seguridad",
    "benefitAdvanced": "• Modificar configuraciones avanzadas",
    "benefitDebug": "• Acceder a herramientas de depuración",
    "benefitReset": "• Restablecer configuraciones",
    "setupCancelled": "⏭️  Configuración del PIN cancelada.",
    "operationCancelled": "❌ Operación cancelada.",
    "startingSettings": "🎛️  Iniciando CLI de configuración...",
    "authRequired": "🔒 Autenticación de administrador requerida para: {{label}}",
    "pinSetupTitle": "Configuración de PIN de administrador",
    "browserOpenFailed": "No se pudo abrir el navegador automáticamente.",
    "manualVisit": "Por favor, visita manualmente: {{url}}",
    "browserOpened": "✅ ¡Navegador abierto con éxito!"
  },
  "importExport": {
    "enterFilename": "Introduce el nombre del archivo (o pulsa Enter para usar el predeterminado): ",
    "exportSuccess": "Configuración exportada a {{file}}",
    "exportFailed": "Error al exportar la configuración: {{error}}",
    "importFilename": "Introduce el nombre del archivo a importar: ",
    "fileNotFound": "Archivo no encontrado.",
    "invalidFormat": "Formato de archivo de configuración inválido.",
    "confirmImport": "Esto reemplazará toda la configuración actual. ¿Continuar? (s/N): ",
    "importSuccess": "Configuración importada con éxito.",
    "importFailed": "Error al importar la configuración: {{error}}",
    "backupSuccess": "Copia de seguridad creada: {{file}}",
    "backupFailed": "Error al crear la copia de seguridad: {{error}}"
  },
  "reset": {
    "resetConfirm": "¿Estás seguro de que deseas continuar? (s/N): ",
    "resetSuccess": "Configuraciones restablecidas a valores predeterminados con éxito.",
    "resetFailed": "Error al restablecer las configuraciones: {error}",
    "saveSuccess": "Configuraciones guardadas con éxito.",
    "saveFailed": "Error al guardar las configuraciones."
  },
    "pressEnter": "Press Enter to continue...",
    "initFailed": "Failed to initialize settings: {error}",
    "invalidValueFormat": "Invalid value format.",
"help": {
  "title": "Ayuda de configuración",
  "navigationTitle": "Navegación",
  "navigation1": "1. Configuración general - Configura el idioma de la interfaz, tema y preferencias básicas",
  "navigation2": "2. Configuración de directorios - Establece los directorios de origen y salida para archivos de traducción",
  "navigation3": "3. Configuración de procesamiento - Configura el tamaño de lotes, concurrencia y opciones de rendimiento",
  "navigation4": "4. Configuración avanzada - Accede a opciones de validación, registros y configuración experta",
  "categoriesTitle": "Categorías de configuración",
  "categoryUI": "• Configuración de la interfaz: Idioma, tema de color y preferencias de visualización",
  "categoryDirectory": "• Configuración de directorios: Ubicación de archivos fuente y directorios de salida para reportes",
  "categoryProcessing": "• Configuración de procesamiento: Procesamiento por lotes, límites de archivos y ajustes de rendimiento",
  "categoryAdvanced": "• Configuración avanzada: Modo de depuración, registros de auditoría y opciones de seguridad",
  "envVarsTitle": "Variables de entorno",
  "envVar1": "• I18N_SOURCE_DIR: Sobrescribe la ruta predeterminada del directorio de origen",
  "envVar2": "• I18N_OUTPUT_DIR: Sobrescribe la ruta predeterminada del directorio de salida",
  "envVar3": "• I18N_DEBUG: Habilita el modo de depuración (true/false)",
  "cliUsageTitle": "Ejemplos de uso por CLI",
  "cliUsage1": "• npx i18ntk --settings: Abre el menú interactivo de configuración",
  "cliUsage2": "• npx i18ntk --settings --lang de: Abre la configuración en alemán",
  "cliUsage3": "• npx i18ntk --reset-settings: Restablece toda la configuración a los valores predeterminados",
  "navigation": "Usa teclas numéricas para seleccionar opciones, 'b' para volver",
  "editing": "Introduce nuevos valores cuando se te solicite o pulsa Enter para mantener el actual",
  "saving": "Usa 's' para guardar los cambios antes de salir",
  "reset": "Usa la opción 7 para restablecer toda la configuración a los valores predeterminados"
},
"categories": {
  "uiSettings": "Configuración de la interfaz",
  "directorySettings": "Configuración de directorios",
  "processingSettings": "Configuración de procesamiento",
  "advancedSettings": "Configuración avanzada",
  "scriptDirectorySettings": "Configuración de scripts",
  "securitySettings": "Configuración de seguridad"
},
"security": {
  "title": "🔐 Configuración de seguridad",
  "description": "Configura la protección con PIN de administrador y otras opciones de seguridad",
  "currentPin": "PIN actual:",
  "pinConfigured": "✅ Configurado",
  "pinNotConfigured": "❌ No configurado",
  "pinDisplay": "Visualización del PIN:",
  "menu": {
    "enableDisable": "1) Activar/Desactivar PIN de administrador",
    "setupChange": "2) Configurar/Cambiar PIN de administrador",
    "sessionTimeout": "3) Tiempo de espera de sesión",
    "maxAttempts": "4) Máximo de intentos fallidos",
    "lockoutDuration": "5) Duración del bloqueo",
    "back": "b) Volver al menú principal"
  },
  "prompts": {
    "enablePin": "¿Activar la protección con PIN de administrador? (s/N): ",
    "disablePin": "¿Desactivar la protección con PIN de administrador? (s/N): ",
    "enterTimeout": "Introduce el tiempo de espera de la sesión (minutos): ",
    "enterMaxAttempts": "Introduce el máximo de intentos fallidos: ",
    "enterLockoutDuration": "Introduce la duración del bloqueo (minutos): "
  },
  "messages": {
    "pinEnabled": "Protección con PIN de administrador activada",
    "pinDisabled": "Protección con PIN de administrador desactivada",
    "timeoutUpdated": "Tiempo de espera de la sesión actualizado a {{minutes}} minutos",
    "maxAttemptsUpdated": "Máximo de intentos fallidos actualizado a {{attempts}}",
    "lockoutDurationUpdated": "Duración del bloqueo actualizada a {{minutes}} minutos"
  }
},
"fields": {
  "language": {
    "label": "Idioma de la interfaz",
    "description": "Idioma para la interfaz de usuario",
    "current": "Actual: {value}",
    "help": "Selecciona tu idioma preferido para la interfaz"
  },
  "scriptDirectories": {
    "analyzeLabel": "Directorios del script Analyze",
    "analyzeHelp": "Analiza directorios de scripts para detectar problemas",
    "completeLabel": "Directorios del script Complete",
    "initLabel": "Directorios del script Initialize",
    "manageLabel": "Directorios del script Manage",
    "sizingLabel": "Directorios del script Sizing",
    "summaryLabel": "Directorios del reporte Summary",
    "usageLabel": "Directorios del reporte Usage",
    "validateLabel": "Directorios del script Validate"
  },
  "theme": {
    "label": "Tema de color",
    "description": "Preferencia de tema de la interfaz",
    "current": "Actual: {value}",
    "help": "Elige entre tema claro y oscuro"
  },
  "dateFormat": {
    "label": "Formato de fecha",
    "description": "Formato para mostrar fechas",
    "current": "Actual: {value}",
    "help": "Elige cómo se mostrarán las fechas en los informes"
  },
  "notifications": {
    "enabled": {
      "label": "Habilitar notificaciones",
      "description": "Mostrar notificaciones de escritorio",
      "current": "Actual: {value}",
      "help": "Habilita notificaciones de escritorio para operaciones completadas"
    }
  },
  "sourceDir": {
    "label": "Directorio de origen",
    "description": "Directorio que contiene archivos de traducción",
    "current": "Actual: {value}",
    "help": "Ruta al directorio con archivos de traducción fuente"
  },
  "sourceLanguage": {
    "label": "Idioma fuente",
    "description": "Idioma principal para las traducciones",
    "current": "Actual: {value}",
    "help": "Idioma principal usado como fuente para las traducciones"
  },
  "outputDir": {
    "label": "Directorio de salida",
    "description": "Directorio para informes generados",
    "current": "Actual: {value}",
    "help": "Dónde se guardarán informes y archivos procesados"
  },
  "batchSize": {
    "label": "Tamaño de lote",
    "description": "Número de elementos procesados por lote",
    "current": "Actual: {value}",
    "help": "Cantidad de archivos a procesar en cada lote"
  },
  "maxConcurrentFiles": {
    "label": "Máximo de archivos simultáneos",
    "description": "Cantidad máxima de archivos procesados a la vez",
    "current": "Actual: {value}",
    "help": "Cantidad máxima de archivos a procesar simultáneamente"
  },
  "sizingThreshold": {
    "label": "Umbral de tamaño (%)",
    "description": "Umbral para advertencias por variaciones de tamaño",
    "current": "Actual: {value}%",
    "help": "Porcentaje límite para detectar discrepancias de tamaño"
  },
  "strictMode": {
    "label": "Modo de validación estricta",
    "description": "Habilitar validación estricta",
    "current": "Actual: {value}",
    "help": "Habilita validación estricta para archivos de traducción"
  },
  "enableAuditLog": {
    "label": "Habilitar registro de auditoría",
    "description": "Registrar todos los cambios en las traducciones",
    "current": "Actual: {value}",
    "help": "Registra todos los cambios realizados en los archivos de traducción"
  },
  "backupBeforeChanges": {
    "label": "Copia de seguridad automática",
    "description": "Crear copias de seguridad antes de modificar",
    "current": "Actual: {value}",
    "help": "Crear automáticamente copias de seguridad antes de realizar cambios"
  },
  "adminPinEnabled": {
    "label": "Protección con PIN de administrador",
    "description": "Habilitar autenticación con PIN para configuraciones sensibles",
    "current": "Actual: {value}",
    "help": "Requiere PIN para cambiar configuraciones de seguridad y avanzadas"
  },
  "sessionTimeout": {
    "label": "Tiempo de espera de sesión",
    "description": "Tiempo de espera de la sesión de administrador en minutos",
    "current": "Actual: {value} minutos",
    "help": "Tiempo durante el cual la sesión de administrador permanece activa"
  },
  "maxFailedAttempts": {
    "label": "Máximo de intentos fallidos",
    "description": "Cantidad máxima de intentos de PIN fallidos antes del bloqueo",
    "current": "Actual: {value} intentos",
    "help": "Número de intentos fallidos permitidos antes del bloqueo temporal"
  },
  "lockoutDuration": {
    "label": "Duración del bloqueo",
    "description": "Duración del bloqueo tras intentos fallidos",
    "current": "Actual: {value} minutos",
    "help": "Tiempo durante el cual el sistema permanece bloqueado"
  },
  "scriptDirectories_analyze": {
    "label": "Directorios del script Analyze",
    "description": "Directorios personalizados para el script analyze",
    "current": "Actual: {value}",
    "help": "Especifica directorio fuente personalizado para analyze. Déjalo vacío para usar el valor global."
  },
  "scriptDirectories_complete": {
    "label": "Directorios del script Complete",
    "description": "Directorios personalizados para el script complete",
    "current": "Actual: {value}",
    "help": "Especifica directorio fuente personalizado para complete. Déjalo vacío para usar el valor global."
  },
  "scriptDirectories_init": {
    "label": "Directorios del script Initialize",
    "description": "Directorios personalizados para el script initialize",
    "current": "Actual: {value}",
    "help": "Especifica directorio fuente personalizado para initialize. Déjalo vacío para usar el valor global."
  },
  "scriptDirectories_manage": {
    "label": "Directorios del script Manage",
    "description": "Directorios personalizados para el script manage",
    "current": "Actual: {value}",
    "help": "Especifica directorio fuente personalizado para manage. Déjalo vacío para usar el valor global."
  },
  "scriptDirectories_sizing": {
    "label": "Directorios del script Sizing",
    "description": "Directorios personalizados para el script sizing",
    "current": "Actual: {value}",
    "help": "Especifica directorio fuente personalizado para sizing. Déjalo vacío para usar el valor global."
  },
  "scriptDirectories_summary": {
    "label": "Directorios del reporte Summary",
    "description": "Directorios personalizados para el script summary",
    "current": "Actual: {value}",
    "help": "Especifica directorio fuente personalizado para summary. Déjalo vacío para usar el valor global."
  },
  "scriptDirectories_usage": {
    "label": "Directorios del reporte Usage",
    "description": "Directorios personalizados para el script usage",
    "current": "Actual: {value}",
    "help": "Especifica directorio fuente personalizado para usage. Déjalo vacío para usar el valor global."
  },
  "scriptDirectories_validate": {
    "label": "Directorios del script Validate",
    "description": "Directorios personalizados para el script validate",
    "current": "Actual: {value}",
    "help": "Especifica directorio fuente personalizado para validate. Déjalo vacío para usar el valor global."
  },
  "security_adminPinEnabled": {
    "label": "Protección con PIN de administrador",
    "description": "Habilitar autenticación con PIN para configuraciones sensibles",
    "current": "Actual: {value}",
    "help": "Requiere PIN para cambiar configuraciones de seguridad y avanzadas"
  },
  "fields.adminPinEnabled.label": "Protección con PIN de administrador",
  "fields.adminPinEnabled.description": "Habilitar autenticación con PIN para configuraciones sensibles",
  "fields.adminPinEnabled.help": "Requiere PIN para cambiar configuraciones de seguridad y avanzadas",
  "security_pinProtection_enabled": {
    "label": "Protección con PIN",
    "description": "Habilitar protección con PIN para configuraciones sensibles",
    "current": "Actual: {value}",
    "help": "Requiere PIN para acceder a configuraciones avanzadas"
  },
  "pinProtection_configure": {
    "label": "Configurar scripts protegidos con PIN",
    "description": "Configura qué scripts requieren autenticación por PIN",
    "help": "Selecciona scripts que requieran autenticación con PIN"
  },
  "pinProtection_debugMenu": {
    "label": "Menú de herramientas de depuración",
    "description": "Requiere PIN para acceder al menú de depuración",
    "current": "Actual: {value}",
    "help": "Activa protección con PIN para herramientas de depuración"
  },
  "pinProtection_deleteReports": {
    "label": "Eliminar reportes",
    "description": "Requiere PIN para eliminar reportes",
    "current": "Actual: {value}",
    "help": "Activa protección con PIN para eliminar reportes"
  },
  "pinProtection_summaryReports": {
    "label": "Reportes resumen",
    "description": "Requiere PIN para generar reportes resumen",
    "current": "Actual: {value}",
    "help": "Activa protección con PIN para generar reportes"
  },
  "pinProtection_settingsMenu": {
    "label": "Menú de configuración",
    "description": "Requiere PIN para acceder al menú de configuración",
    "current": "Actual: {value}",
    "help": "Activa protección con PIN para modificar configuraciones"
  },
  "pinProtection_initScript": {
    "label": "Script de inicialización",
    "description": "Requiere PIN para ejecutar el script de inicialización",
    "current": "Actual: {value}",
    "help": "Activa protección con PIN para el script de inicialización"
  },
  "pinProtection_resetDefaults": {
    "label": "Restablecer protección con PIN",
    "description": "Restablecer todas las configuraciones de PIN a valores predeterminados",
    "help": "Restablece todas las protecciones por script a los valores de fábrica"
  }
},
"actions": {
  "editSetting": "Editar {setting}: ",
  "settingUpdated": "✅ ¡{setting} actualizado correctamente!",
  "invalidValue": "❌ Valor inválido. Inténtalo de nuevo.",
  "pressEnter": "Presiona Enter para continuar...",
  "backToMenu": "Volver al menú principal",
  "saveSuccess": "✅ ¡Configuraciones guardadas correctamente!",
  "saveFailed": "❌ Error al guardar la configuración: {error}",
  "resetConfirm": "¿Estás seguro de que deseas restablecer todas las configuraciones a los valores predeterminados? (y/N): ",
  "resetSuccess": "✅ ¡Configuraciones restablecidas a los valores predeterminados correctamente!",
  "importSuccess": "✅ ¡Configuraciones importadas correctamente!",
  "exportSuccess": "✅ ¡Configuraciones exportadas correctamente!",
  "fileNotFound": "❌ Archivo no encontrado: {path}",
  "invalidFormat": "❌ Formato de archivo de configuración inválido",
  "pinProtectionUpdated": "✅ ¡Protección con PIN para {script} actualizada correctamente!",
  "pinProtectionReset": "✅ ¡Todas las configuraciones de protección con PIN restablecidas a los valores predeterminados!",
  "pinProtectionConfigure": "Configurar protección con PIN para scripts individuales",
  "pinProtectionSelectScript": "Selecciona un script para alternar la protección con PIN:",
  "pinProtectionCurrentStatus": "Estado actual: {status}",
  "pinProtectionEnabled": "Activada",
  "pinProtectionDisabled": "Desactivada",
  "pinProtectionToggle": "Alternar protección con PIN",
  "pinProtectionResetAll": "Restablecer todo a los valores predeterminados",
  "pinProtectionBack": "Volver a Configuración de Seguridad"
},
"themes": {
  "light": "Claro",
  "dark": "Oscuro",
  "system": "Sistema"
},
"languages": {
  "en": "Inglés",
  "de": "Alemán",
  "es": "Español",
  "fr": "Francés",
  "ru": "Ruso",
  "ja": "Japonés",
  "zh": "Chino"
},
"viewAll": {
  "title": "Ver todas las configuraciones"
},
"current": "Actual",
"back": "Volver al menú principal",
"selectSettingPrompt": "Selecciona la configuración a editar (o b para volver, r para restablecer): ",
"invalidOption": "Opción inválida.",
"editing": "Editando",
"enterNewValue": "Introduce un nuevo valor (o presiona Enter para mantener el actual, escribe 'default' para usar el valor predeterminado del sistema):",
"validOptions": "Opciones válidas",
"updatedSuccessfully": "¡actualizado correctamente!",
"noHelp": "No hay ayuda disponible para esta configuración",
"resetScriptDirectories": "Restablecer a valores predeterminados",
"resetScriptDirectoriesTitle": "Restablecer directorios de scripts a los valores predeterminados",
"resetScriptDirectoriesWarning1": "Esto restablecerá todas las configuraciones de directorios de scripts a los valores predeterminados del sistema.",
"resetScriptDirectoriesWarning2": "Todos los caminos de directorios personalizados serán eliminados. Esta acción no se puede deshacer.",
"resetScriptDirectoriesConfirm": "¿Estás seguro de que deseas restablecer todos los directorios de scripts a los valores predeterminados? (y/N): "
  },
"summary": {
  "separator": "============================================================",
  "configurationTitle": "🔧 Configuración:",
  "sourceLanguage": "   Idioma fuente: {sourceLanguage}",
  "supportedExtensions": "   Extensiones compatibles: {extensions}",
  "excludedFiles": "   Archivos excluidos: {files}",
  "reportContent": "\n{report}",
  "fatalError": "❌ Error fatal: {error}",
  "helpTitle": "📊 GENERADOR DE INFORMES DE RESUMEN I18N",
  "helpDescription": "Analiza la estructura de carpetas i18n y genera un informe de resumen completo que incluye estadísticas clave, análisis de la estructura de archivos y comprobaciones de validación.",
  "helpUsage": "Uso: node i18ntk-summary.js [opciones]",
  "helpOptions": "  --source-dir <dir>     Directorio fuente a analizar",
  "helpSourceDir": "  --source-dir <dir>     Directorio fuente a analizar",
  "helpOutput": "  --output <file>        Archivo de salida para el informe",
  "helpVerbose": "  --verbose, -v           Mostrar información detallada",
  "helpKeepReports": "  --keep-reports          Conservar informes existentes",
  "helpDeleteReports": "  --delete-reports        Eliminar informes existentes",
  "helpHelp": "  --help, -h              Mostrar esta ayuda",
  "helpExamples": "\nEjemplos:",
  "helpExample1": "  node i18ntk-summary.js",
  "helpExample2": "  node i18ntk-summary.js --source-dir ./locales",
  "helpExample3": "  node i18ntk-summary.js --output summary-report.txt",
  "helpExample4": "  node i18ntk-summary.js --verbose",
  "helpExample5": "  node i18ntk-summary.js --source-dir ./locales --output report.json",
  "couldNotReadFile": "⚠️  No se pudo leer el archivo: {filePath}",
  "couldNotParseJSFile": "⚠️  No se pudo analizar el archivo JS/TS: {filePath}",
  "errorReadingFile": "⚠️  Error al leer el archivo {filePath}: {error}",
  "analyzingFolder": "\n🔍 Analizando la estructura de carpetas...\n",
  "noLanguageDirectoriesFound": "\n❌ No se encontraron directorios de idiomas en el directorio fuente especificado.\n",
  "foundLanguages": "\n✅ Se encontraron {count} idiomas: {languages}\n",
  "referenceLanguageFiles": "\n📁 El idioma de referencia '{language}' tiene {count} archivos\n",
  "analyzingLanguage": "\n🌍 Analizando idioma: {language}",
  "keysInFiles": "\n📊 Se encontraron {keys} claves en {files} archivos\n",
  "checkingInconsistentKeys": "\n🔍 Comprobando claves inconsistentes entre idiomas...",
  "generatingSummaryReport": "\n📝 Generando informe de resumen...\n",
  "reportTitle": "\n📊 INFORME DE RESUMEN I18N\n",
  "generated": "\nGenerado: {timestamp}\n",
  "sourceDirectory": "\nDirectorio fuente: {dir}\n",
  "overview": "\n📈 RESUMEN GENERAL",
  "languagesCount": "Idiomas: {count}",
  "totalFiles": "Total de archivos: {count}",
  "totalKeys": "Total de claves: {count}",
  "avgKeysPerLanguage": "Promedio de claves por idioma: {count}",
  "languagesBreakdown": "\n🌍 DESGLOSE DE IDIOMAS",
  "languageBreakdown": "{language}: {files} archivos, {keys} claves",
  "fileStructure": "\n📁 ESTRUCTURA DE ARCHIVOS",
  "fileKeys": "{file}: {keys} claves",
  "missingInLanguages": "   ⚠️ Faltante en: {languages}",
  "issuesFound": "\n❌ PROBLEMAS DETECTADOS",
  "missingFiles": "📁 Archivos faltantes:",
  "emptyFiles": "📄 Archivos vacíos:",
  "malformedFiles": "⚠️ Archivos mal formateados:",
  "duplicateKeys": "🔑 Claves duplicadas:",
  "inconsistentKeys": "🔍 Claves inconsistentes:",
  "missingKeys": "   Faltantes: {keys}{more}",
  "extraKeys": "   Extras: {keys}{more}",
  "noIssuesFound": "\n✅ NO SE ENCONTRARON PROBLEMAS",
  "allFilesConsistent": "Todos los archivos de traducción son consistentes entre idiomas.",
  "recommendations": "\n💡 RECOMENDACIONES",
  "createMissingFiles": "• Crear archivos de traducción faltantes",
  "addContentToEmptyFiles": "• Agregar contenido a archivos vacíos",
  "fixMalformedFiles": "• Corregir archivos JSON/JS mal formateados",
  "removeDuplicateKeys": "• Eliminar claves duplicadas de los archivos",
  "synchronizeKeys": "• Sincronizar claves en todos los idiomas",
  "splitLargeFiles": "• Considerar dividir archivos grandes en espacios de nombres más pequeños",
  "addMoreLanguages": "• Considerar agregar más idiomas",
  "nextSteps": "🎯 PRÓXIMOS PASOS",
  "nextStep1": "1. Corregir cualquier problema identificado arriba",
  "nextStep2": "2. Ejecutar la validación para asegurar la consistencia",
  "nextStep3": "3. Considerar usar i18ntk-validate para una validación detallada",
  "nextStep4": "4. Se recomienda monitoreo regular",
  "couldNotFindI18nDirectory": "❌ No se pudo encontrar el directorio i18n. Por favor especifique --source-dir.",
  "sourceDirectoryDoesNotExist": "❌ El directorio fuente no existe: {dir}",
  "i18nSummaryReportGenerator": "📊 Generador de Informes de Resumen I18N",
  "analysisComplete": "\n✅ Análisis completado",
  "analyzedLanguages": "\n📊 Idiomas analizados: {count}",
  "processedFiles": "\n📁 Archivos procesados: {count}",
  "foundTranslationKeys": "\n🔑 Claves de traducción encontradas: {count}\n",
  "foundIssues": "\n❌ Se encontraron {count} problemas\n",
  "noIssuesConsole": "\n✅ No se encontraron problemas: ¡todos los archivos son consistentes!\n",
  "errorDuringAnalysis": "❌ Error durante el análisis: {error}",
  "usageReportTitle": "📊 INFORME DE USO I18N",
  "usageReportGenerated": "Generado: {timestamp}",
  "usageReportSourceDir": "Directorio fuente: {sourceDir}",
  "usageReportI18nDir": "Directorio i18n: {i18nDir}",
  "usageReportSummary": "📈 RESUMEN",
  "usageReportSourceFilesScanned": "Archivos fuente escaneados: {count}",
  "usageReportTranslationFilesFound": "Archivos de traducción encontrados: {count}",
  "usageReportAvailableKeys": "Claves de traducción disponibles: {count}",
  "usageReportUsedKeys": "Claves de traducción utilizadas: {count}",
  "usageReportDynamicKeys": "Claves de traducción dinámicas: {count}",
  "usageReportUnusedKeys": "Claves de traducción no utilizadas: {count}",
  "usageReportMissingKeys": "Claves de traducción faltantes: {count}",
  "usageReportNotTranslatedKeys": "Claves no traducidas: {count}",
  "usageReportTranslationCompleteness": "🌍 COMPLETITUD DE LA TRADUCCIÓN",
  "usageReportLanguageCompleteness": "{language}: {completeness}% ({translated}/{total})",
  "usageReportNotTranslatedInLanguage": "   No traducidas: {count} claves",
  "usageReportTranslationFilesDiscovered": "📁 ARCHIVOS DE TRADUCCIÓN",
  "usageReportFileInfo": "{relativePath} (namespace: {namespace}, tipo: {type})",
  "usageReportUnusedTranslationKeys": "🗑️ CLAVES DE TRADUCCIÓN NO UTILIZADAS",
  "usageReportUnusedKeysDescription": "Estas claves existen en archivos de traducción pero no se usan en el código fuente:",
  "usageReportUnusedKey": "• {key}",
  "usageReportMoreUnusedKeys": "   ... y {count} claves más no utilizadas",
  "usageReportMissingTranslationKeys": "❌ CLAVES DE TRADUCCIÓN FALTANTES",
  "usageReportMissingKeysDescription": "Estas claves se usan en el código fuente pero faltan en los archivos de traducción:",
  "usageReportMissingKey": "• {key}",
  "usageReportUsedIn": "   Usado en: {filePath}",
  "usageReportMoreFiles": "   ... y {count} archivos más",
  "usageReportDynamicTranslationKeys": "⚡ CLAVES DE TRADUCCIÓN DINÁMICAS",
  "usageReportDynamicKeysDescription": "Estas claves se usan dinámicamente (construidas en tiempo de ejecución):",
  "usageReportDynamicKey": "• {key}",
  "usageReportFileUsageBreakdown": "📊 DESGLOSE POR ARCHIVO",
  "usageReportFileUsage": "{filePath}: {count} claves",
  "status": {
    "generating": "⏳ Generando...",
    "completed": "✅ Completado"
  },
  "help": {
    "usage": "Uso: node i18ntk-manage.js [opciones]",
    "interactiveMode": "💡 Uso: node i18ntk-manage.js --command=<comando> para ejecución directa",
    "initProject": "🚀 Inicializar nuevos idiomas",
    "analyzeTranslations": "🔍 Analizar traducciones",
    "validateTranslations": "✅ Validar traducciones",
    "checkUsage": "📊 Comprobar uso de claves",
    "showHelp": "📖 Uso: node i18ntk-manage.js --help para ver comandos disponibles",
    "availableCommands": "📖 Comandos disponibles:",
    "initCommand": "  init      - Inicializar nuevos idiomas",
    "analyzeCommand": "  analyze   - Analizar traducciones",
    "validateCommand": "  validate  - Validar traducciones",
    "usageCommand": "  usage     - Comprobar uso de claves",
    "sizingCommand": "  sizing    - Analizar tamaño",
    "completeCommand": "  complete  - Completar traducciones (100% cobertura)",
    "summaryCommand": "  summary   - Mostrar estado del proyecto",
    "debugCommand": "  debug     - Depurar problemas de traducción"
  },
"test_complete_system": {
  "starting_test": "🧪 Iniciando prueba completa del sistema\n",
  "separator": "=",
  "testing_ui_translations": "\n📝 Probando traducciones de la interfaz...",
  "testing_settings_manager": "\n⚙️  Probando el gestor de configuraciones...",
  "testing_main_scripts": "\n🔧 Probando scripts principales...",
  "checking_translation_consistency": "\n🌐 Verificando la consistencia de traducciones...",
  "non_critical_missing_keys": "ℹ️ {file}: {count} claves faltantes no críticas",
  "extra_keys": "ℹ️ {file}: {count} claves extra",
  "generating_report": "\n📊 Generando informe...",
  "final_test_report_title": "📋 INFORME FINAL DE PRUEBA",
  "passed": "✅ Aprobadas: {passed}",
  "failed": "❌ Fallidas: {failed}",
  "warnings": "⚠️  Advertencias: {warnings}",
  "missing_translations_title": "\n🔍 Traducciones faltantes ({count}):",
  "missing_translation_key": "   - {key}",
  "missing_translations_more": "   ... y {count} más",
  "errors_title": "\n❌ Errores:",
  "error_message": "   - {error}",
  "overall_status": "\n📊 Estado general: {status}",
  "success_message": "✅ {message}",
  "failure_message": "❌ {message}",
  "failure_error_message": "   {errorMessage}",
  "warning_message": "⚠️  {message}",
  "test_runner_failed": "❌ El ejecutor de pruebas falló:",
  "recommendations": {
    "add_missing_translation_keys": "Agrega claves de traducción faltantes para mantener la consistencia",
    "fix_failing_scripts": "Corrige los scripts que fallan antes del despliegue",
    "review_warning_messages": "Revisa y corrige los mensajes de advertencia",
    "system_ready_for_deployment": "El sistema está listo para el despliegue"
  },
  "hardcodedTexts": {
    "addMissingTranslationKeys": "Agrega claves de traducción faltantes para mantener la consistencia",
    "fixFailingScripts": "Corrige los scripts que fallan antes del despliegue",
    "reviewWarningMessages": "Revisa y corrige los mensajes de advertencia",
    "systemReadyForDeployment": "El sistema está listo para el despliegue"
  }
},
"testConsoleI18n": {
  "found_target_file": "Archivo objetivo encontrado: {fileName}",
  "scanning_files_for_console_statements": "Escaneando archivos para declaraciones console...",
  "found_javascript_files": "Se encontraron {count} archivos JavaScript.",
  "console_i18n_analysis_results": "Resultados del análisis I18n de consola",
  "total_console_statements": "Total de declaraciones console: {count}",
  "translated_statements": "Declaraciones traducidas: {count}",
  "hardcoded_statements": "Declaraciones codificadas: {count}",
  "translation_coverage": "Cobertura de traducción: {percentage}%",
  "coverage_by_file": "Cobertura por archivo:",
  "file_coverage_stats": "{emoji} {fileName}: {coverage}% ({translated}/{total})",
  "hardcoded_console_statements": "Declaraciones codificadas en consola:",
  "file_header": "Archivo: {file}",
  "line_statement": "  Línea {line}: {statement}",
  "suggested_key": "    Clave sugerida: {key}",
  "suggested_replacement": "    Reemplazo sugerido: {replacement}",
  "recommendations": "Recomendaciones:",
  "recommendation_1": "1. Reemplaza cadenas codificadas con llamadas a i18n.t().",
  "recommendation_2": "2. Agrega nuevas claves a los archivos JSON de traducción correspondientes.",
  "recommendation_3": "3. Asegúrate de que todos los mensajes console dirigidos al usuario estén traducidos.",
  "recommendation_4": "4. Usa plantillas literales o concatenación para mensajes dinámicos, pasando variables a i18n.t().",
  "translation_keys_to_add": "Claves de traducción sugeridas para agregar:",
  "add_keys_instruction": "Copia la siguiente estructura JSON en tus archivos de traducción:",
  "perfect_translation_coverage": "¡Cobertura de traducción perfecta!",
  "all_statements_using_translation": "Todas las declaraciones de consola usan el sistema de traducción.",
  "i18n_console_translation_checker": "Verificador de traducciones I18n en consola",
  "script_description_line1": "Este script escanea todos los archivos JavaScript en busca de declaraciones console",
  "script_description_line2": "y verifica si están usando el sistema de traducción.",
  "analysis_completed_in_duration": "Análisis completado en {duration} segundos.",
  "report_saved_to_path": "Informe guardado en: {path}",
  "found_hardcoded_messages": "Se encontraron {count} mensajes codificados. Saliendo con código de error 1.",
  "all_console_messages_use_translation": "Todos los mensajes de consola usan traducción. Saliendo con código 0.",
  "consoleTranslationsCheck": "Verificación de traducciones en consola"
},
"translate_mismatches": {
  "title": "🌐 Asistente de Traducción {dryRun}",
  "separator": "=====================================\n",
  "processing_file": "📄 Procesando {language}.json...",
  "translation_summary_title": "\n📊 Resumen de Traducción:",
  "total_translations_applied": "   Total de traducciones aplicadas: {totalTranslations}",
  "run_with_apply_instruction": "\n💡 Ejecuta con --apply para aplicar estas traducciones\n",
  "no_translation_mappings": "   ⚠️  No hay mapeos de traducción disponibles para {language}",
  "translation_applied": "   ✅ {key}: \"{oldValue}\" → \"{newValue}\"",
  "saved_translations": "   💾 {count} traducciones guardadas en {filename}",
  "found_translatable_items": "   🔍 Se encontraron {count} elementos traducibles",
  "no_automatic_translations": "   ✨ No hay traducciones automáticas disponibles",
  "error_processing_file": "   ❌ Error al procesar {filename}: {errorMessage}",
  "coverage_report_title": "📊 Informe de Cobertura de Traducción",
  "coverage_report_separator": "===============================\n",
  "file_header": "📄 {filename}:",
  "total_keys": "   Claves totales: {total}",
  "translated_keys": "   Traducidas: {translated}",
  "untranslated_markers": "   Marcadores no traducidos: {untranslated}",
  "contains_english": "   Contiene inglés: {hasEnglish}",
  "coverage_percentage": "   Cobertura: {coverage}%\n",
  "error_general": "❌ Error:",
  "use_help": "Usa --help para ver la ayuda de uso"
  }
  },
"ui": {
  "autoDetectedI18nDirectory": "Directorio i18n detectado automáticamente: {path}",
  "executingCommand": "🔄 Ejecutando comando: {command}",
  "unknownCommand": "❌ Comando desconocido: {command}",
  "errorExecutingCommand": "❌ Error al ejecutar el comando: {error}",
  "errorLoadingTranslationFile": "❌ Error al cargar el archivo de traducción para '{language}': {error}",
  "errorSavingLanguagePreference": "❌ Error al guardar la preferencia de idioma: {error}",
  "noActiveReadlineInterface": "❌ No hay una interfaz readline activa disponible",
  "uiLanguageUpdated": "🌍 Idioma de la interfaz actualizado a: {language}",
  "selectOptionPrompt": "Selecciona una opción:",
  "pressEnterToReturn": "Presiona Enter para volver al menú principal...",
  "detectedSourceDirectory": "Directorio fuente detectado: {sourceDir}",
  "detectedI18nDirectory": "Directorio i18n detectado: {directory}",
  "toolkitTitle": "🌍 i18ntk - Kit de Gestión i18n Empresarial",
  "versionInfo": "📦 Versión: {version}",
  "releaseDate": "📅 Fecha de lanzamiento: {date}",
  "maintainer": "👤 Responsable: {maintainer}",
  "nodeVersion": "🔧 Node.js: {version}",
  "license": "📄 Licencia: {license}",
  "whatsNew": "✨ Novedades en v{version}:",
  "changeItem": "   {change}",
  "documentation": "📚 Documentación: {url}",
  "issues": "🐛 Incidencias: {url}",
  "versionInfoUnavailable": "Información de versión de i18ntk no disponible",
  "versionInfoError": "Error: {error}"
},
"validateLanguagePurity": {
  "phrase_debug_tools": "herramientas de depuración",
  "phrase_settings": "configuración",
  "phrase_configuration": "configuración",
  "phrase_invalid_choice": "elección no válida",
  "phrase_please_select": "por favor selecciona",
  "phrase_back_to_main_menu": "volver al menú principal",
  "phrase_error": "error",
  "phrase_warning": "advertencia",
  "phrase_success": "éxito",
  "phrase_failed": "fallido",
  "phrase_loading": "cargando",
  "phrase_saving": "guardando",
  "phrase_full_system_debug": "depuración del sistema completo",
  "phrase_configuration_debug": "depuración de configuración",
  "phrase_translation_debug": "depuración de traducción",
  "phrase_performance_debug": "depuración de rendimiento",
  "phrase_admin_pin_setup": "configuración del PIN de administrador",
  "phrase_enter_admin_pin": "ingresa el PIN de administrador",
  "phrase_confirm_admin_pin": "confirma el PIN de administrador",
  "phrase_authentication_failed": "autenticación fallida",
  "phrase_access_denied": "acceso denegado",
  "phrase_security_log": "registro de seguridad",
  "language_german": "Alemán",
  "language_french": "Francés",
  "language_spanish": "Español",
  "language_russian": "Ruso",
  "language_japanese": "Japonés",
  "language_chinese": "Chino",
  "validator_title": "🔍 Validador de Pureza de Idioma",
  "validating_file": "📄 Validando {language}.json ({name})...",
  "valid_file_message": "   ✅ Válido - Sin violaciones de pureza de idioma",
  "invalid_file_message": "   ❌ Inválido - {count} violación(es) encontradas",
  "no_validation_rules": "No hay reglas de validación definidas para el idioma: {language}",
  "error_reading_file": "Error al leer el archivo: {errorMessage}",
  "issue_forbidden_marker": "Contiene marcador prohibido: {marker}",
  "issue_english_phrase": "Contiene frase en inglés: \"{phrase}\"",
  "issue_english_words": "Contiene palabras en inglés: {words}",
  "issue_missing_cyrillic": "El texto largo debe contener caracteres cirílicos para ruso",
  "issue_missing_japanese": "El texto largo debe contener caracteres japoneses",
  "issue_missing_chinese": "El texto largo debe contener caracteres chinos",
  "summary_title": "📊 RESUMEN DE VALIDACIÓN",
  "overall_results_header": "📋 Resultados generales:",
  "total_files_validated": "   Archivos validados: {count}",
  "valid_files": "   Archivos válidos: {count}",
  "invalid_files": "   Archivos inválidos: {count}",
  "total_violations": "   Violaciones totales: {count}\n",
  "violations_by_file_header": "❌ VIOLACIONES POR ARCHIVO:\n"
},
"workflow": {
  "title": "Gestión de Flujos de Trabajo",
  "description": "Gestiona flujos de trabajo i18n.",
  "select_workflow_file": "Selecciona un archivo de flujo de trabajo para ejecutar:",
  "no_workflow_files": "No se encontraron archivos de flujo de trabajo en el directorio correspondiente.",
  "invalid_selection": "Selección inválida. Ingresa un número correspondiente a un archivo de flujo.",
  "workflow_execution_started": "Iniciando flujo de trabajo: {workflowName}",
  "workflow_execution_completed": "Flujo de trabajo completado: {workflowName}",
  "workflow_execution_failed": "El flujo de trabajo falló: {workflowName} - {error}",
  "workflow_cancelled": "Ejecución del flujo de trabajo cancelada.",
  "press_enter_to_continue": "¡Presiona Enter para continuar!",
  "starting": "🚀 Iniciando flujo de trabajo...",
  "completed": "✅ ¡Flujo de trabajo completado exitosamente!",
  "checkReports": "📄 Revisa los informes para más detalles.",
  "exitingCompleted": "📝 Flujo completado. Saliendo...",
  "summary": {
    "title": "📋 RESUMEN DEL FLUJO DE TRABAJO",
    "separator": "===================",
    "completedAt": "🕐 Flujo completado a las: {timestamp}",
    "initialViolations": "📊 Violaciones iniciales: {count}",
    "finalViolations": "📉 Violaciones finales: {count}",
    "totalFixes": "🔧 Correcciones aplicadas: {count}",
    "improvement": "📈 Mejora: {percentage}%",
    "stepResults": "📝 RESULTADOS DE PASOS:\n",
    "stepDetail": "{number}. {status} {stepName}",
    "violations": "   Violaciones: {count}",
    "fixesApplied": "   Correcciones aplicadas: {count}",
    "nextSteps": "💡 PRÓXIMOS PASOS:\n",
    "congratulations": "🎉 ¡Felicidades! ¡Todos los archivos locales tienen pureza de idioma perfecta!",
    "cicdIntegration": "✅ Considera integrar el validador en tu pipeline CI/CD",
    "automatedChecks": "✅ Configura revisiones automáticas para nuevas traducciones",
    "greatProgress": "🎯 ¡Gran progreso! La mayoría de los problemas han sido resueltos.",
    "manualReview": "🔍 Revisa manualmente las violaciones restantes",
    "addMappings": "🌐 Considera agregar más mapeos de traducción para casos extremos",
    "goodProgress": "📈 Buen progreso, pero se necesita más trabajo.",
    "expandMappings": "🔧 Amplía los mapeos automáticos de traducción",
    "professionalReview": "👥 Considera una revisión manual para traducciones complejas",
    "runAgain": "🔄 Ejecuta el flujo nuevamente después de agregar más mapeos",
    "limitedProgress": "⚠️  Progreso limitado. Puede ser necesaria intervención manual.",
    "reviewMappings": "🔍 Revisa y agrega mapeos de traducción faltantes",
    "professionalServices": "👥 Considera servicios profesionales de traducción",
    "checkIssues": "🔧 Verifica problemas sistemáticos en archivos locales",
    "success": "✅",
    "warning": "⚠️"
  }
}
}