{ "common": { "appName": "Readur", "appTagline": "Plataforma de Documentos IA", "welcome": "Bienvenido a {{appName}}", "welcomeBack": "¡Bienvenido de nuevo, {{username}}! 👋", "or": "o", "copyright": "© 2026 Readur. Impulsado por tecnología avanzada de OCR e IA.", "actions": { "save": "Guardar", "cancel": "Cancelar", "close": "Cerrar", "delete": "Eliminar", "edit": "Editar", "view": "Ver", "download": "Descargar", "upload": "Subir", "search": "Buscar", "filter": "Filtrar", "sort": "Ordenar", "clear": "Limpiar", "refresh": "Actualizar", "retry": "Reintentar", "create": "Crear", "update": "Actualizar", "viewDetails": "Ver Detalles", "back": "Atrás" }, "status": { "loading": "Cargando...", "processing": "Procesando...", "completed": "Completado", "failed": "Fallido", "pending": "Pendiente", "success": "Éxito", "error": "Error" }, "time": { "seconds": "{{count}} segundos", "minutes": "{{count}} minutos", "hours": "{{count}} horas", "days": "{{count}} días" }, "sizes": { "bytes": "{{count}} Bytes", "kb": "{{count}} KB", "mb": "{{count}} MB", "gb": "{{count}} GB" }, "moreCount": "+{{count}} más", "of": "de", "and": "y" }, "auth": { "signIn": "Iniciar sesión", "signingIn": "Iniciando sesión...", "signInToAccount": "Inicia sesión en tu cuenta", "signInWithOIDC": "Iniciar sesión con OIDC", "redirecting": "Redirigiendo...", "username": "Nombre de usuario", "password": "Contraseña", "usernameRequired": "El nombre de usuario es obligatorio", "passwordRequired": "La contraseña es obligatoria", "logout": "Cerrar sesión", "profile": "Perfil", "intelligentDocumentPlatform": "Tu plataforma inteligente de gestión de documentos", "errors": { "invalidCredentials": "Nombre de usuario o contraseña inválidos. Por favor verifica tus credenciales e intenta de nuevo.", "accountDisabled": "Tu cuenta ha sido deshabilitada. Por favor contacta a un administrador para obtener ayuda.", "userNotFound": "No se encontró ninguna cuenta con este nombre de usuario. Por favor verifica tu nombre de usuario o contacta a soporte.", "sessionExpired": "Tu sesión ha expirado. Por favor intenta iniciar sesión nuevamente.", "networkError": "Error de red. Por favor verifica tu conexión e intenta de nuevo.", "serverError": "Error del servidor. Por favor intenta más tarde o contacta a soporte si el problema persiste.", "oidcAuthFailed": "La autenticación OIDC falló. Por favor consulta con tu administrador.", "oidcNotConfigured": "OIDC no está configurado en este servidor. Por favor usa inicio de sesión con nombre de usuario/contraseña.", "oidcInitFailed": "Falló el inicio de sesión OIDC. Por favor intenta de nuevo.", "loginFailed": "Falló el inicio de sesión. Por favor verifica tus credenciales." } }, "navigation": { "dashboard": "Panel", "upload": "Subir", "documents": "Documentos", "search": "Buscar", "labels": "Etiquetas", "sources": "Fuentes", "watchFolder": "Carpeta Vigilada", "documentManagement": "Gestión de Documentos", "ignoredFiles": "Archivos Ignorados" }, "dashboard": { "greeting": "Esto es lo que está pasando con tus documentos hoy.", "stats": { "totalDocuments": { "title": "Documentos Totales", "subtitle": "Archivos en tu biblioteca", "trend": "{{count}} total", "trendEmpty": "Aún no hay documentos" }, "storageUsed": { "title": "Almacenamiento Usado", "subtitle": "Tamaño total de archivos", "trend": "{{size}} usado", "trendEmpty": "No se usa almacenamiento" }, "ocrProcessed": { "title": "OCR Procesado", "subtitle": "Documentos con texto extraído", "trend": "{{percentage}}% completado", "trendEmpty": "0% completado" }, "searchable": { "title": "Buscable", "subtitle": "Listo para búsqueda", "trend": "{{count}} indexados", "trendEmpty": "Nada indexado aún" } }, "recentDocuments": { "title": "Documentos Recientes", "viewAll": "Ver Todos", "noDocuments": "Aún no hay documentos", "uploadFirst": "Sube tu primer documento para comenzar" }, "quickActions": { "title": "Acciones Rápidas", "upload": { "title": "Subir Documentos", "description": "Agrega nuevos archivos para procesamiento OCR" }, "search": { "title": "Buscar en Biblioteca", "description": "Encuentra documentos por contenido o metadatos" }, "browse": { "title": "Explorar Documentos", "description": "Ver y gestionar tu biblioteca de documentos" } } }, "search": { "title": "Buscar Documentos", "placeholder": "Buscar documentos por contenido, nombre de archivo o etiquetas... Prueba 'factura', 'contrato', o tag:importante", "searchPlaceholder": "Buscar documentos...", "noResults": { "title": "No se encontraron resultados para \"{{query}}\"", "subtitle": "Intenta ajustar tus términos de búsqueda o filtros", "suggestions": { "title": "Sugerencias:", "simpler": "Intenta términos más simples o generales", "spelling": "Verifica la ortografía y prueba diferentes palabras clave", "removeFilters": "Elimina algunos filtros para ampliar tu búsqueda", "useQuotes": "Usa comillas para frases exactas" } }, "searching": "Buscando...", "searchingAsYouType": "Buscando mientras escribes...", "quickResults": "Resultados Rápidos", "resultsCount": "{{count}} encontrado{{plural}}", "viewAllResults": "Ver todos los resultados para \"{{query}}\"", "recentSearches": "Búsquedas Recientes", "startTyping": "Comienza a escribir para buscar documentos", "popularSearches": "Búsquedas populares:", "noDocumentsFound": "No se encontraron documentos para \"{{query}}\"", "pressEnterAdvanced": "Presiona Enter para buscar con opciones avanzadas", "trySuggestions": "Prueba estas sugerencias:", "settings": { "title": "Configuración de Búsqueda" }, "modes": { "smart": "Inteligente", "exactPhrase": "Frase exacta", "similarWords": "Palabras similares", "advanced": "Avanzado", "enhanced": "Mejorado" }, "quickSuggestions": { "title": "Sugerencias rápidas:" }, "relatedSearches": { "title": "Búsquedas relacionadas:" }, "filters": { "title": "Filtros", "tags": "Etiquetas", "selectTags": "Seleccionar Etiquetas", "ocrStatus": "Estado OCR", "ocrText": "Texto OCR", "allDocuments": "Todos los Documentos", "hasOcrText": "Tiene Texto OCR", "noOcrText": "Sin Texto OCR", "dateRange": "Rango de Fechas", "daysAgo": "Días atrás: {{min}} - {{max}}", "dateMarks": { "today": "Hoy", "30d": "30d", "90d": "90d", "1y": "1a" }, "fileSize": "Tamaño de Archivo", "sizeRange": "Tamaño: {{min}}MB - {{max}}MB" }, "status": { "searching": "Buscando...", "resultsFound": "{{count}} resultados encontrados" }, "display": { "settings": "Configuración de Visualización", "textSettings": "Configuración de Texto", "fontSizeLabel": "Tamaño de Fuente: {{size}}px", "snippetsPerResult": "Fragmentos por resultado: {{count}}", "contextLength": "Longitud de Contexto: {{length}} caracteres", "viewMode": { "label": "Modo de Vista", "compact": "Compacto", "detailed": "Detallado", "contextFocus": "Enfoque en Contexto" }, "highlightStyle": { "label": "Estilo de Resaltado", "background": "Color de Fondo", "underline": "Subrayado", "bold": "Texto en Negrita" } }, "results": { "showing": "Mostrando:", "snippetsCount": "{{count}} fragmentos", "fontSize": "fuente de {{size}}px", "hasOcr": " • OCR", "tags": "Etiquetas:", "pagination": "Mostrando {{start}}-{{end}} de {{total}} resultados" }, "empty": { "title": "Comienza a buscar tus documentos", "subtitle": "Usa la barra de búsqueda mejorada arriba para encontrar documentos por contenido, nombre de archivo o etiquetas" }, "tips": { "title": "Consejos de Búsqueda:", "exactPhrase": "Usa comillas para frases exactas: \"plan de proyecto\"", "tags": "Busca por etiquetas: tag:importante o tag:factura", "combine": "Combina términos: contrato AND pago", "wildcards": "Usa comodines: proy* para proyecto, proyectos, etc." }, "examples": { "invoice": "Prueba: factura", "contract": "Prueba: contrato", "tagImportant": "Prueba: tag:importante" }, "actions": { "clearFilters": "Limpiar Filtros", "newSearch": "Nueva Búsqueda" } }, "upload": { "title": "Subir Documentos", "subtitle": "Transforma tus documentos con procesamiento OCR inteligente", "features": { "aiOcr": { "title": "OCR con IA", "description": "Extracción avanzada de texto de cualquier tipo de documento" }, "fullTextSearch": { "title": "Búsqueda de Texto Completo", "description": "Encuentra documentos instantáneamente por contenido o metadatos" }, "lightningFast": { "title": "Ultra Rápido", "description": "Procesa documentos en segundos, no en minutos" }, "secure": { "title": "Seguro y Privado", "description": "Tus documentos están encriptados y protegidos" }, "multiLanguage": { "title": "Multilingüe", "description": "Soporte para más de 100 idiomas y escrituras" } }, "tips": { "title": "📋 Consejos de Subida", "highRes": "• Para mejores resultados de OCR, usa imágenes de alta resolución", "pdfText": "• Los archivos PDF con capas de texto se procesan más rápido", "clarity": "• Asegúrate de que los documentos estén bien iluminados y claramente legibles", "maxSize": "• El tamaño máximo de archivo es 50MB por documento" }, "dropzone": { "dragDrop": "Arrastra y suelta archivos aquí", "dropHere": "Suelta archivos aquí", "browse": "o haz clic para explorar tu computadora", "chooseFiles": "Elegir Archivos", "maxFileSize": "Tamaño máximo de archivo: 50MB por archivo", "fileTypes": { "pdf": "PDF", "images": "Imágenes", "text": "Texto", "word": "Word" } }, "languageSettings": { "title": "🌐 Configuración de Idioma OCR", "description": "Selecciona idiomas para reconocimiento óptimo de texto OCR" }, "labelAssignment": { "title": "📋 Asignación de Etiquetas", "description": "Selecciona etiquetas para asignar automáticamente a todos los documentos subidos", "placeholder": "Elige etiquetas para tus documentos...", "helperText": "Estas etiquetas se aplicarán a todos los documentos subidos" }, "fileList": { "title": "Archivos ({{count}})", "clearCompleted": "Limpiar Completados", "uploading": "Subiendo... ({{completed}}/{{total}})", "uploadingSimple": "Subiendo...", "uploadAll": "Subir Todos" }, "errors": { "sessionExpired": "Tu sesión ha expirado. Por favor actualiza la página e inicia sesión nuevamente.", "labelPermissionDenied": "No tienes permiso para acceder a las etiquetas.", "labelNetworkError": "Error de red al cargar etiquetas. Por favor verifica tu conexión.", "fileTooLarge": "El archivo es demasiado grande. El tamaño máximo es 50MB.", "unsupportedFormat": "Formato de archivo no soportado. Por favor usa PDF, imágenes, texto o documentos Word.", "processingFailed": "Falló el procesamiento del documento. Por favor intenta de nuevo o contacta a soporte.", "permissionDenied": "No tienes permiso para subir documentos.", "networkError": "Error de red. Por favor verifica tu conexión e intenta de nuevo.", "serverError": "Error del servidor. Por favor intenta más tarde." } }, "documents": { "title": "Documentos", "subtitle": "Gestiona y explora tu biblioteca de documentos", "viewDocument": "Ver documento", "downloadDocument": "Descargar documento", "deleteDocument": "Eliminar documento", "unknownDocument": "Documento Desconocido", "search": { "placeholder": "Buscar documentos..." }, "selection": { "select": "Seleccionar", "cancel": "Cancelar", "count": "{{count}} de {{total}} documentos seleccionados", "selectAll": "Seleccionar Todos", "deselectAll": "Deseleccionar Todos", "deleteSelected": "Eliminar Seleccionados ({{count}})" }, "filters": { "ocrStatus": "Estado OCR", "all": "Todos", "completed": "Completado", "processing": "Procesando", "failed": "Fallido", "pending": "Pendiente" }, "sort": { "label": "Ordenar", "newestFirst": "Más Recientes Primero", "oldestFirst": "Más Antiguos Primero", "nameAZ": "Nombre A-Z", "nameZA": "Nombre Z-A", "largestFirst": "Más Grandes Primero", "smallestFirst": "Más Pequeños Primero" }, "ocrStatus": { "confidence": "OCR {{percent}}%", "done": "OCR Completado", "processing": "Procesando...", "failed": "OCR Fallido", "pending": "Pendiente" }, "actions": { "editLabels": "Editar Etiquetas", "retryOcr": "Reintentar OCR", "retryingOcr": "Reintentando OCR...", "retryHistory": "Historial de Reintentos" }, "empty": { "title": "No se encontraron documentos", "searchSubtitle": "Intenta ajustar tus términos de búsqueda", "uploadSubtitle": "Sube tu primer documento para comenzar" }, "dialogs": { "editLabels": { "title": "Editar Etiquetas del Documento", "placeholder": "Selecciona etiquetas para este documento..." }, "delete": { "title": "Eliminar Documento", "message": "¿Estás seguro de que quieres eliminar \"{{filename}}\"?", "warning": "Esta acción no se puede deshacer. El archivo del documento y todos los datos asociados se eliminarán permanentemente.", "deleting": "Eliminando...", "delete": "Eliminar" }, "bulkDelete": { "title": "Eliminar Múltiples Documentos", "message": "¿Estás seguro de que quieres eliminar {{count}} documento{{plural}} seleccionado{{plural}}?", "warning": "Esta acción no se puede deshacer. Todos los documentos seleccionados y sus datos asociados se eliminarán permanentemente.", "listTitle": "Documentos a eliminar:", "moreCount": "... y {{count}} más", "deleteButton": "Eliminar {{count}} Documento{{plural}}" } }, "pagination": { "showing": "Mostrando {{start}}-{{end}} de {{total}} documentos", "withOcrStatus": " con estado OCR: {{status}}", "matching": " coincidiendo con \"{{query}}\"" } }, "documentDetails": { "subtitle": "Visor completo de análisis de documentos y metadatos", "actions": { "backToDocuments": "Volver a Documentos", "download": "Descargar", "viewDocument": "Ver Documento", "viewOcrText": "Ver Texto OCR", "viewProcessedImage": "Ver Imagen Procesada", "retryOcr": "Reintentar OCR", "retryHistory": "Historial de Reintentos", "editLabels": "Editar Etiquetas", "deleteDocument": "Eliminar Documento" }, "errors": { "notFound": "Documento no encontrado" }, "metadata": { "fileSize": "Tamaño de Archivo", "uploadDate": "Fecha de Subida", "sourceType": "Tipo de Fuente", "originalPath": "Ruta Original", "originalCreated": "Creación Original", "originalModified": "Modificación Original", "ocrStatus": "Estado OCR", "textExtracted": "Texto Extraído" }, "ocr": { "title": "🔍 Texto Extraído (OCR)", "expandTooltip": "Expandir para ver texto completo con búsqueda", "expand": "Expandir", "loading": "Cargando análisis OCR...", "confidence": "Confianza", "words": "Palabras", "processingTime": "Tiempo de Procesamiento", "error": "Error de Procesamiento OCR", "noText": "No hay texto OCR disponible para este documento.", "completed": "✅ Procesamiento completado: {{date}}", "loadFailed": "El texto OCR está disponible pero falló al cargar. Por favor intenta actualizar la página." }, "tagsLabels": { "title": "🏷️ Etiquetas y Marcas", "tags": "Etiquetas", "labels": "Marcas", "noLabels": "No hay etiquetas asignadas a este documento" }, "dialogs": { "ocrText": { "title": "Texto Extraído (OCR)", "confidence": "{{percent}}% confianza", "words": "{{count}} palabras", "loading": "Cargando texto OCR...", "error": "Error OCR: {{message}}", "noText": "No hay texto OCR disponible para este documento.", "processingTime": "Tiempo de procesamiento: {{time}}ms", "completed": "Completado: {{date}}" }, "ocrExpanded": { "title": "🔍 Texto Extraído (OCR) - Vista Completa", "searchPlaceholder": "Buscar dentro del texto extraído...", "matches": "{{count}} coincidencia{{plural}} encontrada{{plural}}", "noMatches": "No se encontraron coincidencias", "loading": "Cargando texto OCR...", "error": "Error OCR: {{message}}", "noText": "No hay texto OCR disponible para este documento." }, "processedImage": { "title": "Imagen Procesada - Mejora OCR Aplicada", "description": "Esta es la imagen mejorada que fue procesada por el motor OCR. Puedes ajustar la configuración de mejora OCR en la página de Configuración.", "noImage": "No hay imagen procesada disponible" }, "editLabels": { "title": "Editar Etiquetas del Documento", "description": "Selecciona etiquetas para asignar a este documento", "placeholder": "Elige etiquetas para este documento...", "saveLabels": "Guardar Etiquetas" }, "delete": { "title": "Eliminar Documento", "warning": "Esta acción no se puede deshacer.", "message": "¿Estás seguro de que quieres eliminar {{filename}}?", "details": "Esto eliminará permanentemente el documento y todos los datos asociados incluyendo texto OCR, etiquetas e historial de procesamiento.", "deleting": "Eliminando...", "delete": "Eliminar Documento" } } }, "documentManagement": { "title": "Gestión de Documentos", "retryAll": "Reintentar Todos los Documentos", "retrying": "Reintentando Todos...", "retryFailedOnly": "Reintentar Solo Fallidos", "tabs": { "failedDocuments": "Documentos Fallidos{{showCount, select, true { ({{count}}) } other {}}", "failedDocumentsTooltip": "Ver y gestionar documentos que fallaron durante el procesamiento (OCR, ingesta, validación, etc.)", "cleanup": "Limpieza de Documentos{{showCount, select, true { ({{count}}) } other {}}", "cleanupTooltip": "Gestionar y limpiar documentos con problemas de calidad - baja confianza de OCR o procesamiento fallido", "duplicates": "Archivos Duplicados{{showCount, select, true { ({{count}}) } other {}}", "duplicatesTooltip": "Ver y gestionar grupos de documentos duplicados - documentos con contenido idéntico", "ignoredFiles": "Archivos Ignorados{{showCount, select, true { ({{count}}) } other {}}", "ignoredFilesTooltip": "Gestionar archivos que han sido ignorados durante operaciones de sincronización" }, "stats": { "totalFailed": "Total Fallidos", "failureCategories": "Categorías de Fallos", "noFailureData": "No hay datos de fallos disponibles" }, "advancedRetry": { "title": "Opciones Avanzadas de Reintento", "button": "Reintento Avanzado", "description": "Usa opciones avanzadas de filtrado y selección para reintentar subconjuntos específicos de documentos fallidos basados en tipo de archivo, razón de fallo, tamaño y más." }, "filters": { "title": "Opciones de Filtro", "stage": "Filtrar por Etapa", "reason": "Filtrar por Razón", "allStages": "Todas las Etapas", "allReasons": "Todas las Razones", "clearFilters": "Limpiar Filtros", "stages": { "ocr": "Procesamiento OCR", "ingestion": "Ingesta de Documentos", "validation": "Validación", "storage": "Almacenamiento de Archivos", "processing": "Procesamiento", "sync": "Sincronización" }, "reasons": { "duplicateContent": "Contenido Duplicado", "lowConfidence": "Baja Confianza de OCR", "unsupportedFormat": "Formato No Soportado", "fileTooLarge": "Archivo Demasiado Grande", "fileCorrupted": "Archivo Corrupto", "ocrTimeout": "Tiempo de Espera de OCR", "pdfParsingError": "Error de Análisis de PDF", "other": "Otro" } }, "alerts": { "noFailedTitle": "¡Buenas noticias!", "noFailedMessage": "Ningún documento ha fallado el procesamiento OCR. Todos tus documentos se están procesando exitosamente.", "overviewTitle": "Resumen de Documentos Fallidos", "overviewMessage": "Estos documentos fallaron en varias etapas del procesamiento: ingesta, validación, OCR, almacenamiento, etc. Usa los filtros arriba para reducir por etapa de fallo o razón específica. Puedes reintentar el procesamiento para fallos recuperables." }, "table": { "document": "Documento", "failureType": "Tipo de Fallo", "retryCount": "Conteo de Reintentos", "lastFailed": "Último Fallo", "actions": "Acciones", "attempts": "{{count}} intentos", "unknown": "Desconocido" }, "actions": { "retryOcr": "Reintentar OCR", "viewDetails": "Ver Detalles", "retryHistory": "Historial de Reintentos", "download": "Descargar Documento" }, "details": { "errorDetails": "Detalles del Error", "failureReason": "Razón del Fallo", "notSpecified": "No especificado", "ocrResults": "Resultados de OCR", "confidencePercent": "{{percent}}% de confianza", "wordsFound": "{{count}} palabras encontradas", "errorMessage": "Mensaje de Error", "noErrorMessage": "No hay mensaje de error disponible", "lastAttempt": "Último Intento", "noPreviousAttempts": "Sin intentos previos", "fileCreated": "Archivo Creado" }, "retry": { "queuedSuccess": "Reintento de OCR encolado para \"{{filename}}\". Tiempo de espera estimado: {{minutes}} minutos.", "unknown": "Desconocido", "failed": "Falló el reintento de OCR", "processingFailed": "Falló el reintento del procesamiento OCR", "bulkSuccess": "Se encolaron exitosamente {{count}} documentos para reintento de OCR. Tiempo de procesamiento estimado: {{minutes}} minutos.", "noDocuments": "No se encontraron documentos para reintentar", "bulkFailed": "Falló el reintento de documentos. Por favor intenta de nuevo.", "requeuedSuccess": "Se encolaron exitosamente {{count}} documentos fallidos para reintento de OCR. Verifica las estadísticas de la cola para el progreso.", "noFailedDocuments": "No se encontraron documentos fallidos para reintentar", "requeuedFailed": "Falló el reintento de todos los documentos OCR fallidos", "advancedSuccess": "Se encolaron exitosamente {{queued}} de {{matched}} documentos para reintento. Tiempo de procesamiento estimado: {{minutes}} minutos." }, "cleanup": { "previewFailed": "Falló la vista previa de documentos de baja confianza", "noDocuments": "No hay documentos para eliminar", "deleteFailed": "Falló la eliminación de documentos de baja confianza", "previewFailedDocs": "Falló la vista previa de documentos fallidos", "deleteFailedDocs": "Falló la eliminación de documentos fallidos" }, "ignoredFiles": { "removedSuccess": "Archivos removidos de la lista de ignorados", "deleteFailed": "Falló la eliminación de archivos ignorados", "fileRemovedSuccess": "Archivo removido de la lista de ignorados", "fileDeleteFailed": "Falló la eliminación del archivo ignorado" }, "errors": { "loadFailedDocuments": "Falló la carga de documentos fallidos", "sessionExpired": "Tu sesión ha expirado. Por favor actualiza la página e inicia sesión nuevamente.", "permissionDenied": "No tienes permiso para ver documentos fallidos.", "noFailedDocumentsFound": "No se encontraron documentos fallidos o pueden haber sido procesados.", "networkError": "Error de red. Por favor verifica tu conexión e intenta de nuevo.", "serverError": "Error del servidor. Por favor intenta más tarde.", "loadDuplicates": "Falló la carga de documentos duplicados", "permissionDeniedDuplicates": "No tienes permiso para ver documentos duplicados.", "documentNotFound": "Documento no encontrado. Puede haber sido eliminado o procesado ya.", "cannotRetry": "El documento no puede ser reintentado debido a problemas de procesamiento. Por favor verifica el formato del documento.", "permissionDeniedRetry": "No tienes permiso para reintentar el procesamiento OCR.", "serverErrorSupport": "Error del servidor. Por favor intenta más tarde o contacta a soporte.", "loadIgnoredFiles": "Falló la carga de archivos ignorados", "permissionDeniedIgnored": "No tienes permiso para ver archivos ignorados." } }, "settings": { "title": "Configuración", "apiDocumentation": "Documentación de API", "debug": "Depuración", "language": "Idioma", "selectLanguage": "Seleccionar idioma", "tabs": { "general": "General", "ocrSettings": "Configuración de OCR", "userManagement": "Gestión de Usuarios", "serverConfiguration": "Configuración del Servidor" }, "general": { "title": "Configuración General", "ocrConfiguration": { "title": "Configuración de OCR", "description": "Configura idiomas para la extracción de texto OCR. Múltiples idiomas ayudan con documentos en varios idiomas.", "autoDetectLanguageCombination": "Auto-detectar combinaciones de idiomas", "autoDetectLanguageCombinationHelper": "Sugerir automáticamente combinaciones óptimas de idiomas basadas en el análisis del contenido del documento", "concurrentOcrJobs": "Trabajos OCR Concurrentes", "concurrentOcrJobsHelper": "Número de trabajos OCR que pueden ejecutarse simultáneamente", "ocrTimeout": "Tiempo de Espera OCR (segundos)", "ocrTimeoutHelper": "Tiempo máximo para el procesamiento OCR por archivo", "cpuPriority": "Prioridad de CPU", "cpuPriorityLow": "Baja", "cpuPriorityNormal": "Normal", "cpuPriorityHigh": "Alta" }, "ocrControls": { "title": "Controles de Procesamiento OCR (Solo Administrador)", "description": "Controla el procesamiento OCR para gestionar el uso de CPU y permitir que los usuarios usen la aplicación sin impacto en el rendimiento.", "pauseOcr": "Pausar Procesamiento OCR", "resumeOcr": "Reanudar Procesamiento OCR", "ocrStatusLabel": "Estado OCR: {{status}}", "ocrPausedMessage": "El procesamiento OCR está pausado. No se procesarán nuevos trabajos.", "ocrActiveMessage": "El procesamiento OCR está activo. Los documentos se procesarán automáticamente.", "pausedAlertTitle": "Procesamiento OCR Pausado", "pausedAlertMessage": "Los nuevos documentos no se procesarán para extracción de texto OCR hasta que se reanude el procesamiento. Los usuarios aún pueden subir y ver documentos, pero la funcionalidad de búsqueda puede estar limitada." }, "fileProcessing": { "title": "Procesamiento de Archivos", "maxFileSize": "Tamaño Máximo de Archivo (MB)", "maxFileSizeHelper": "Tamaño máximo permitido de archivo para subidas", "memoryLimit": "Límite de Memoria (MB)", "memoryLimitHelper": "Límite de memoria por trabajo OCR", "autoRotateImages": "Rotar Imágenes Automáticamente", "autoRotateImagesHelper": "Detectar y corregir automáticamente la orientación de la imagen", "enableImagePreprocessing": "Habilitar Preprocesamiento de Imágenes", "enableImagePreprocessingHelper": "Mejorar imágenes para mejor precisión OCR (deskew, eliminar ruido, contraste)", "preprocessingWarning": "⚠️ Advertencia: Habilitar el preprocesamiento puede alterar significativamente los resultados del texto OCR y puede reducir la precisión para algunos documentos", "enableBackgroundOcr": "Habilitar OCR en Segundo Plano", "enableBackgroundOcrHelper": "Procesar OCR en segundo plano después de subir el archivo" }, "searchConfiguration": { "title": "Configuración de Búsqueda", "resultsPerPage": "Resultados por Página", "snippetLength": "Longitud del Fragmento", "snippetLengthHelper": "Caracteres a mostrar en vistas previas de resultados de búsqueda", "fuzzySearchThreshold": "Umbral de Búsqueda Difusa", "fuzzySearchThresholdHelper": "Tolerancia para errores de ortografía (0.0-1.0)" }, "storageManagement": { "title": "Gestión de Almacenamiento", "retentionDays": "Días de Retención", "retentionDaysHelper": "Eliminar automáticamente documentos después de X días (dejar vacío para deshabilitar)", "enableAutoCleanup": "Habilitar Limpieza Automática", "enableAutoCleanupHelper": "Eliminar automáticamente archivos huérfanos y limpiar almacenamiento", "enableCompression": "Habilitar Compresión", "enableCompressionHelper": "Comprimir documentos almacenados para ahorrar espacio en disco" } }, "ocrSettings": { "title": "Configuración de Procesamiento de Imágenes OCR", "enhancementControls": { "title": "Controles de Mejora", "skipEnhancement": "Omitir Toda Mejora de Imagen (Usar Solo Imágenes Originales)", "brightnessBoost": "Aumento de Brillo", "brightnessBoostHelper": "Ajuste manual de brillo (0 = auto, >0 = cantidad de aumento)", "contrastMultiplier": "Multiplicador de Contraste", "contrastMultiplierHelper": "Ajuste manual de contraste (1.0 = auto, >1.0 = aumentar)", "noiseReductionLevel": "Nivel de Reducción de Ruido", "noiseReductionNone": "Ninguno", "noiseReductionLight": "Ligero", "noiseReductionModerate": "Moderado", "noiseReductionHeavy": "Pesado", "sharpeningStrength": "Fuerza de Nitidez", "sharpeningStrengthHelper": "Cantidad de nitidez de imagen (0 = auto, >0 = manual)" }, "qualityThresholds": { "title": "Umbrales de Calidad (cuándo aplicar mejoras)", "brightnessThreshold": "Umbral de Brillo", "brightnessThresholdHelper": "Mejorar si el brillo está por debajo de este valor (0-255)", "contrastThreshold": "Umbral de Contraste", "contrastThresholdHelper": "Mejorar si el contraste está por debajo de este valor (0-1)", "noiseThreshold": "Umbral de Ruido", "noiseThresholdHelper": "Mejorar si el ruido está por encima de este valor (0-1)", "sharpnessThreshold": "Umbral de Nitidez", "sharpnessThresholdHelper": "Mejorar si la nitidez está por debajo de este valor (0-1)" }, "advancedProcessing": { "title": "Opciones Avanzadas de Procesamiento", "morphologicalOperations": "Operaciones Morfológicas (limpieza de texto)", "histogramEqualization": "Ecualización de Histograma", "saveProcessedImages": "Guardar Imágenes Procesadas para Revisión", "adaptiveThresholdWindowSize": "Tamaño de Ventana de Umbral Adaptativo", "adaptiveThresholdWindowSizeHelper": "Tamaño de ventana para mejora de contraste (número impar)" }, "imageSizeScaling": { "title": "Tamaño y Escalado de Imagen", "maxImageWidth": "Ancho Máximo de Imagen", "maxImageWidthHelper": "Ancho máximo de imagen en píxeles", "maxImageHeight": "Altura Máxima de Imagen", "maxImageHeightHelper": "Altura máxima de imagen en píxeles", "upscaleFactor": "Factor de Escalado", "upscaleFactorHelper": "Factor de escalado de imagen (1.0 = sin escalado)" } }, "userManagement": { "title": "Gestión de Usuarios", "addUser": "Agregar Usuario", "tableHeaders": { "username": "Nombre de Usuario", "email": "Correo Electrónico", "createdAt": "Creado En", "watchDirectory": "Directorio de Vigilancia", "actions": "Acciones" }, "watchDirectory": { "statusActive": "Activo", "statusDisabled": "Deshabilitado", "statusNotCreated": "No Creado", "statusUnknown": "Desconocido", "loading": "Cargando...", "createDirectory": "Crear directorio de vigilancia", "viewDirectory": "Ver directorio de vigilancia", "removeDirectory": "Eliminar directorio de vigilancia (Solo administrador)", "editUser": "Editar usuario", "deleteUser": "Eliminar usuario" }, "dialogs": { "createUser": "Crear Nuevo Usuario", "editUser": "Editar Usuario", "username": "Nombre de Usuario", "email": "Correo Electrónico", "password": "Contraseña", "newPassword": "Nueva Contraseña (dejar vacío para mantener la actual)" }, "confirmRemoveDirectory": { "title": "Eliminar Directorio de Vigilancia", "message": "¿Estás seguro de que quieres eliminar el directorio de vigilancia para el usuario \"{{username}}\"? Esta acción no se puede deshacer y detendrá el monitoreo de su directorio para archivos nuevos.", "removeButton": "Eliminar Directorio" } }, "serverConfiguration": { "title": "Configuración del Servidor (Solo Administrador)", "fileUpload": { "title": "Configuración de Subida de Archivos", "maxFileSize": "Tamaño Máximo de Archivo", "uploadPath": "Ruta de Subida", "allowedFileTypes": "Tipos de Archivo Permitidos", "watchFolder": "Carpeta de Vigilancia" }, "ocrProcessing": { "title": "Configuración de Procesamiento OCR", "concurrentOcrJobs": "Trabajos OCR Concurrentes", "ocrTimeout": "Tiempo de Espera OCR", "memoryLimit": "Límite de Memoria", "ocrLanguage": "Idioma OCR", "cpuPriority": "Prioridad de CPU", "backgroundOcr": "OCR en Segundo Plano", "enabled": "Habilitado", "disabled": "Deshabilitado" }, "serverInformation": { "title": "Información del Servidor", "serverHost": "Host del Servidor", "serverPort": "Puerto del Servidor", "jwtSecret": "Secreto JWT", "configured": "Configurado", "notSet": "No Establecido", "version": "Versión", "buildInformation": "Información de Compilación" }, "watchFolderConfiguration": { "title": "Configuración de Carpeta de Vigilancia", "watchInterval": "Intervalo de Vigilancia", "fileStabilityCheck": "Verificación de Estabilidad de Archivo", "maxFileAge": "Edad Máxima de Archivo" }, "refreshConfiguration": "Actualizar Configuración", "loadFailed": "Falló la carga de configuración del servidor. Puede requerir acceso de administrador." }, "messages": { "settingsUpdated": "Configuración actualizada exitosamente", "settingsUpdateFailed": "Falló la actualización de configuración", "invalidLanguage": "Idioma inválido seleccionado. Por favor elige de los idiomas disponibles.", "valueOutOfRange": "{{message}}. {{suggestedAction}}", "conflictingSettings": "Configuración conflictiva detectada. Por favor revisa tu configuración.", "userCreated": "Usuario creado exitosamente", "userUpdated": "Usuario actualizado exitosamente", "userDeleted": "Usuario eliminado exitosamente", "cannotDeleteSelf": "No puedes eliminar tu propia cuenta", "confirmDeleteUser": "¿Estás seguro de que quieres eliminar este usuario?", "duplicateUsername": "Este nombre de usuario ya está en uso. Por favor elige un nombre de usuario diferente.", "duplicateEmail": "Esta dirección de correo electrónico ya está en uso. Por favor usa un correo electrónico diferente.", "invalidPassword": "La contraseña debe tener al menos 8 caracteres con mayúsculas, minúsculas y números.", "invalidEmail": "Por favor ingresa una dirección de correo electrónico válida.", "invalidUsername": "El nombre de usuario contiene caracteres inválidos. Por favor usa solo letras, números y guiones bajos.", "permissionDenied": "No tienes permiso para realizar esta acción.", "cannotDeleteUser": "No se puede eliminar este usuario: Pueden tener datos asociados o ser el último administrador.", "userNotFound": "Usuario no encontrado. Puede haber sido eliminado ya.", "watchDirectoryCreated": "Directorio de vigilancia creado exitosamente", "watchDirectoryCreatedFailed": "Falló la creación del directorio de vigilancia", "watchDirectoryAlreadyExists": "El directorio de vigilancia ya existe para este usuario", "watchDirectoryPath": "Directorio de vigilancia: {{path}}", "watchDirectoryRemoved": "Directorio de vigilancia eliminado exitosamente", "watchDirectoryRemoveFailed": "Falló la eliminación del directorio de vigilancia", "watchDirectoryNotFound": "Directorio de vigilancia no encontrado o ya eliminado", "ocrPaused": "Procesamiento OCR pausado exitosamente", "ocrPauseFailed": "Se requiere acceso de administrador para pausar el procesamiento OCR", "ocrPauseFailedGeneric": "Falló pausar el procesamiento OCR", "ocrResumed": "Procesamiento OCR reanudado exitosamente", "ocrResumeFailed": "Se requiere acceso de administrador para reanudar el procesamiento OCR", "ocrResumeFailedGeneric": "Falló reanudar el procesamiento OCR", "serverConfigLoadFailed": "Se requiere acceso de administrador para ver la configuración del servidor", "serverConfigLoadFailedGeneric": "Falló la carga de configuración del servidor" } }, "labels": { "title": "Gestión de Etiquetas", "loading": "Cargando etiquetas...", "search": { "placeholder": "Buscar etiquetas..." }, "filters": { "systemLabels": "Etiquetas del Sistema" }, "sections": { "systemLabels": "Etiquetas del Sistema", "myLabels": "Mis Etiquetas" }, "badge": { "system": "Sistema" }, "stats": { "documents": "Documentos: {{count}}", "sources": "Fuentes: {{count}}" }, "actions": { "createLabel": "Crear Etiqueta", "editLabel": "Editar etiqueta", "deleteLabel": "Eliminar etiqueta" }, "create": { "title": "Crear Nueva Etiqueta", "editTitle": "Editar Etiqueta", "nameLabel": "Nombre de Etiqueta", "nameRequired": "El nombre es obligatorio", "descriptionLabel": "Descripción (opcional)", "colorLabel": "Color", "customColorLabel": "Color Personalizado (hex)", "iconLabel": "Icono (opcional)", "iconNone": "Ninguno", "previewLabel": "Vista Previa", "cancel": "Cancelar", "create": "Crear", "update": "Actualizar", "saving": "Guardando..." }, "selector": { "placeholder": "Buscar o crear etiquetas...", "systemLabels": "Etiquetas del Sistema", "myLabels": "Mis Etiquetas", "createLabel": "Crear etiqueta \"{{name}}\"", "noLabelsFound": "No se encontraron etiquetas", "noLabelsMatch": "No hay etiquetas que coincidan con \"{{query}}\"", "noLabelsAvailable": "No hay etiquetas disponibles" }, "empty": { "title": "No se encontraron etiquetas", "noMatch": "No hay etiquetas que coincidan con \"{{query}}\"", "noLabels": "Aún no has creado ninguna etiqueta", "createFirst": "Crea Tu Primera Etiqueta" }, "dialogs": { "delete": { "title": "Eliminar Etiqueta", "message": "¿Estás seguro de que quieres eliminar la etiqueta \"{{name}}\"?", "inUseWarning": " Esta etiqueta está actualmente en uso por {{count}} documento(s)." } }, "errors": { "sessionExpired": "Tu sesión ha expirado. Por favor inicia sesión nuevamente.", "permissionDenied": "No tienes permiso para ver las etiquetas.", "serverError": "Error del servidor. Por favor intenta más tarde.", "networkError": "Error de red. Por favor verifica tu conexión e intenta de nuevo.", "loadFailed": "Falló la carga de etiquetas. Por favor verifica tu conexión.", "notFound": "Etiqueta no encontrada. Puede haber sido eliminada por otro usuario.", "duplicateName": "Ya existe una etiqueta con este nombre. Por favor elige un nombre diferente.", "systemModification": "Las etiquetas del sistema no se pueden modificar. Solo se pueden editar las etiquetas creadas por el usuario.", "alreadyDeleted": "Etiqueta no encontrada. Puede haber sido eliminada ya.", "inUse": "No se puede eliminar la etiqueta porque está actualmente asignada a documentos. Por favor elimina la etiqueta de todos los documentos primero.", "systemDelete": "Las etiquetas del sistema no se pueden eliminar. Solo se pueden eliminar las etiquetas creadas por el usuario.", "invalidName": "El nombre de la etiqueta contiene caracteres inválidos. Por favor usa solo letras, números y puntuación básica.", "invalidColor": "Formato de color inválido. Por favor usa un color hexadecimal válido como #0969da.", "maxLabelsReached": "Se alcanzó el número máximo de etiquetas. Por favor elimina algunas etiquetas antes de crear nuevas." } }, "notifications": { "title": "Notificaciones", "markAllAsRead": "Marcar todas como leídas", "clearAll": "Limpiar todas", "noNotifications": "No hay notificaciones" }, "ocr": { "languageSelector": { "label": "Idioma OCR", "loading": "Cargando idiomas...", "error": "Falló la carga de idiomas OCR", "retry": "Reintentar", "fallback": "Inglés (Respaldo)", "current": "Actual", "languagesAvailable": "{{count}} idioma{{plural}} disponible{{plural}}", "selectingWillUpdate": "Seleccionar \"{{language}}\" actualizará tu idioma predeterminado" } }, "ignoredFiles": { "title": "Archivos Ignorados", "subtitle": "Ver y administrar archivos que fueron intencionalmente ignorados durante el procesamiento", "filters": { "searchPlaceholder": "Buscar por nombre o ruta de archivo...", "reason": "Razón", "allReasons": "Todas las Razones", "duplicateHash": "Hash Duplicado", "tooLarge": "Demasiado Grande", "unsupportedFormat": "Formato No Soportado", "excluded": "Excluido", "permissionDenied": "Permiso Denegado", "corrupted": "Corrupto", "other": "Otro" }, "table": { "filename": "Nombre de Archivo", "path": "Ruta", "reason": "Razón", "size": "Tamaño", "ignoredAt": "Ignorado En" }, "empty": { "title": "Sin Archivos Ignorados", "subtitle": "No se han ignorado archivos. Todos los archivos procesados fueron manejados exitosamente." }, "noResults": { "title": "No Se Encontraron Resultados", "subtitle": "Ningún archivo ignorado coincide con tus filtros actuales. Intenta ajustar tu búsqueda o criterios de filtro." }, "pagination": { "showing": "Mostrando {{start}}-{{end}} de {{total}} archivos ignorados" }, "errors": { "loadFailed": "Falló la carga de archivos ignorados", "tryAgain": "Por favor intenta de nuevo más tarde" }, "reasons": { "duplicate_hash": "Hash Duplicado - El archivo ya existe en el sistema", "file_too_large": "Archivo Demasiado Grande - Excede el límite máximo de tamaño", "unsupported_format": "Formato No Soportado - Tipo de archivo no compatible", "excluded_by_pattern": "Excluido - El archivo coincide con el patrón de exclusión", "permission_denied": "Permiso Denegado - No se puede acceder al archivo", "file_corrupted": "Archivo Corrupto - No se puede leer o procesar el archivo", "unknown": "Desconocido - Razón no especificada" } }, "debug": { "title": "Depuración de Procesamiento de Documentos", "subtitle": "Sube documentos o analiza los existentes para solucionar problemas de procesamiento OCR", "errors": { "enterDocumentId": "Por favor ingresa un ID de documento", "documentNotFound": "Documento {{documentId}} no encontrado. Puede estar aún procesándose o haber sido movido a documentos fallidos.", "fetchFailed": "Falló la obtención de información de depuración: {{message}}", "debugError": "Error de Depuración" }, "upload": { "title": "Subir Documento para Análisis de Depuración", "description": "Sube un archivo PDF o imagen para analizar el proceso de procesamiento en tiempo real", "selectFile": "Por favor selecciona un archivo para subir", "uploading": "Subiendo archivo...", "uploadedStartingOcr": "Documento subido exitosamente. Iniciando procesamiento OCR...", "uploadFailed": "Falló la subida del documento", "uploadFailedStatus": "Subida fallida", "selectFileButton": "Seleccionar Archivo", "uploadDebugButton": "Subir y Depurar", "uploadingButton": "Subiendo...", "uploadProgress": "Progreso de Subida: {{percent}}%", "selected": "Seleccionado:", "documentId": "ID de Documento:" }, "monitoring": { "processingComplete": "Procesamiento {{status}}!", "ocrInProgress": "Procesamiento OCR en progreso...", "queuedForOcr": "Documento encolado para procesamiento OCR...", "checkingStatus": "Verificando estado de procesamiento...", "monitoringTimeout": "Monitoreo detenido (tiempo agotado)" }, "search": { "title": "Depurar Documento Existente", "description": "Ingresa un ID de documento para analizar el proceso de procesamiento de un documento existente", "documentIdLabel": "ID de Documento", "documentIdPlaceholder": "ej., 123e4567-e89b-12d3-a456-426614174000", "debugButton": "Depurar" }, "tabs": { "uploadAndDebug": "Subir y Depurar", "searchExisting": "Buscar Existente", "debugResults": "Resultados de Depuración" }, "actions": { "debugAnalysis": "Análisis de Depuración", "showDebugDetails": "Mostrar Detalles de Depuración", "refreshStatus": "Actualizar Estado", "viewDocument": "Ver Documento" }, "document": { "title": "Documento: {{filename}}", "status": "Estado: {{status}}", "debugRunAt": "Depuración ejecutada en: {{timestamp}}" }, "pipeline": { "title": "Pipeline de Procesamiento" }, "steps": { "fileInformation": { "title": "Información del Archivo", "filename": "Nombre de Archivo:", "original": "Original:", "size": "Tamaño:", "mimeType": "Tipo MIME:", "fileExists": "Archivo Existe:", "yes": "Sí", "no": "No" }, "fileMetadata": { "title": "Metadatos del Archivo", "actualSize": "Tamaño Real:", "isFile": "Es Archivo:", "modified": "Modificado:", "created": "Creado:", "unknown": "Desconocido", "notAvailable": "Metadatos del archivo no disponibles" }, "fileAnalysis": { "title": "Análisis Detallado del Archivo", "basicAnalysis": "Análisis Básico", "fileType": "Tipo de Archivo:", "size": "Tamaño:", "readable": "Legible:", "fileError": "Error de Archivo:", "pdfAnalysis": "Análisis de PDF", "validPdf": "PDF Válido:", "pdfVersion": "Versión de PDF:", "pages": "Páginas:", "hasText": "Tiene Texto:", "hasImages": "Tiene Imágenes:", "encrypted": "Encriptado:", "fontCount": "Conteo de Fuentes:", "textLength": "Longitud de Texto:", "chars": "caracteres", "pdfTextExtractionError": "Error de Extracción de Texto PDF:", "textPreview": "Vista Previa de Texto", "fileContent": "Contenido del Archivo", "noPreview": "No hay vista previa disponible para este tipo de archivo" }, "queueStatus": { "title": "Estado de la Cola", "userOcrEnabled": "OCR de Usuario Habilitado:", "queueEntries": "Entradas de Cola:", "queueHistory": "Historial de Cola", "status": "Estado", "priority": "Prioridad", "created": "Creado", "started": "Iniciado", "completed": "Completado", "attempts": "Intentos", "worker": "Trabajador" }, "ocrResults": { "title": "Resultados de OCR", "textLength": "Longitud de Texto:", "characters": "caracteres", "confidence": "Confianza:", "wordCount": "Conteo de Palabras:", "processingTime": "Tiempo de Procesamiento:", "completedAt": "Completado:", "notCompleted": "No completado", "processingDetails": "Detalles de Procesamiento", "hasProcessedImage": "Tiene Imagen Procesada:", "imageSize": "Tamaño de Imagen:", "fileSize": "Tamaño de Archivo:", "processingSteps": "Pasos de Procesamiento:", "none": "Ninguno", "processingParameters": "Parámetros de Procesamiento:" }, "qualityValidation": { "title": "Umbrales de Calidad", "minConfidence": "Confianza Mínima:", "brightness": "Brillo:", "contrast": "Contraste:", "noise": "Ruido:", "sharpness": "Nitidez:", "actualValues": "Valores Reales", "confidence": "Confianza:", "wordCount": "Conteo de Palabras:", "processedImageAvailable": "Imagen Procesada Disponible:", "qualityChecks": "Verificaciones de Calidad" } }, "failedDocument": { "title": "Información de Documento Fallido", "failureDetails": "Detalles del Fallo", "failureReason": "Razón del Fallo:", "failureStage": "Etapa del Fallo:", "retryCount": "Conteo de Reintentos:", "created": "Creado:", "lastRetry": "Último Reintento:", "failedOcrResults": "Resultados de OCR Fallidos", "ocrTextLength": "Longitud de Texto OCR:", "ocrConfidence": "Confianza de OCR:", "wordCount": "Conteo de Palabras:", "processingTime": "Tiempo de Procesamiento:", "noOcrResults": "No hay resultados de OCR disponibles", "errorMessage": "Mensaje de Error:", "contentPreview": "Vista Previa de Contenido" }, "processingLogs": { "title": "Registros Detallados de Procesamiento", "description": "Historial completo de todos los intentos de procesamiento OCR para este documento", "attempt": "Intento", "status": "Estado", "priority": "Prioridad", "created": "Creado", "started": "Iniciado", "completed": "Completado", "duration": "Duración", "waitTime": "Tiempo de Espera", "attempts": "Intentos", "worker": "Trabajador", "error": "Error" }, "fileAnalysisSummary": { "title": "Resumen de Análisis de Archivo", "fileProperties": "Propiedades del Archivo", "fileType": "Tipo de Archivo:", "size": "Tamaño:", "readable": "Legible:", "pdfProperties": "Propiedades de PDF", "validPdf": "PDF Válido:", "hasTextContent": "Tiene Contenido de Texto:", "textLength": "Longitud de Texto:", "pageCount": "Conteo de Páginas:", "encrypted": "Encriptado:", "pdfTextExtractionIssue": "Problema de Extracción de Texto PDF:" }, "processedImages": { "title": "Imágenes Procesadas", "originalDocument": "Documento Original", "processedImage": "Imagen Procesada (Entrada OCR)", "notAvailable": "Imagen procesada no disponible" }, "userSettings": { "title": "Configuración de Usuario", "ocrSettings": "Configuración de OCR", "backgroundOcr": "OCR en Segundo Plano:", "enabled": "Habilitado", "disabled": "Deshabilitado", "minConfidence": "Confianza Mínima:", "maxFileSize": "Tamaño Máximo de Archivo:", "qualityThresholds": "Umbrales de Calidad", "brightness": "Brillo:", "contrast": "Contraste:", "noise": "Ruido:", "sharpness": "Nitidez:" }, "preview": "Vista Previa" }, "watchFolder": { "title": "Carpeta Vigilada", "refreshAll": "Actualizar Todo", "retryFailedJobs": "Reintentar {{count}} Trabajos Fallidos", "requeuing": "Reintentando...", "personalWatchDirectory": "Directorio de Vigilancia Personal", "admin": "Admin", "directoryStatus": "Estado del Directorio", "directoryExists": "Directorio Existe", "directoryMissing": "Directorio Faltante", "watchStatus": "Estado de Vigilancia", "enabled": "Habilitado", "disabled": "Deshabilitado", "yourPersonalWatchDirectory": "Tu Directorio de Vigilancia Personal", "directoryNotExist": "Tu directorio de vigilancia personal aún no existe. Créalo para comenzar a subir archivos a tu carpeta dedicada.", "creatingDirectory": "Creando Directorio...", "createPersonalDirectory": "Crear Directorio Personal", "unableToLoad": "No se puede cargar la información del directorio de vigilancia personal. Por favor intenta actualizar la página.", "systemConfiguration": "Configuración del Sistema", "globalWatchFolderConfiguration": "Configuración Global de Carpeta Vigilada", "adminOnly": "Solo Admin", "systemWideInfo": "Esta es la configuración de carpeta vigilada a nivel de sistema. Todos los usuarios pueden ver esta información.", "watchedDirectory": "Directorio Vigilado", "status": "Estado", "active": "Activo", "inactive": "Inactivo", "watchStrategy": "Estrategia de Vigilancia", "scanInterval": "Intervalo de Escaneo", "seconds": "{{count}} segundos", "maxFileAge": "Edad Máxima de Archivo", "hours": "{{count}} horas", "supportedFileTypes": "Tipos de Archivo Soportados", "processingQueue": "Cola de Procesamiento", "pending": "Pendiente", "processing": "Procesando", "failed": "Fallido", "completedToday": "Completado Hoy", "averageWaitTime": "Tiempo de Espera Promedio", "oldestPendingItem": "Elemento Pendiente Más Antiguo", "lastUpdated": "Última actualización: {{time}}", "howWatchFolderWorks": "Cómo Funciona la Carpeta Vigilada", "watchFolderDescription": "El sistema de carpeta vigilada monitorea automáticamente el directorio configurado para archivos nuevos y los procesa para OCR.", "processingPipeline": "Proceso de Procesamiento:", "pipelineSteps": { "fileDetection": "Detección de Archivos: Los nuevos archivos se detectan usando vigilancia híbrida (inotify + sondeo)", "validation": "Validación: Los archivos se verifican para formato compatible y límites de tamaño", "deduplication": "Deduplicación: El sistema previene el procesamiento de archivos duplicados", "storage": "Almacenamiento: Los archivos se mueven al sistema de almacenamiento de documentos", "ocrQueue": "Cola OCR: Los documentos se encolan para procesamiento OCR con prioridad" }, "hybridStrategyInfo": "El sistema usa una estrategia de vigilancia híbrida que detecta automáticamente el tipo de sistema de archivos y elige el enfoque de monitoreo óptimo (inotify para sistemas de archivos locales, sondeo para montajes de red)." }, "register": { "title": "Crea tu cuenta de Readur", "fields": { "username": "Nombre de usuario", "email": "Correo electrónico", "password": "Contraseña" }, "placeholders": { "username": "Nombre de usuario", "email": "Correo electrónico", "password": "Contraseña" }, "actions": { "signup": "Registrarse", "creating": "Creando cuenta..." }, "links": { "signin": "¿Ya tienes una cuenta? Inicia sesión" }, "errors": { "failed": "Falló el registro" } }, "sources": { "title": "Fuentes de Documentos", "subtitle": "Conecta y gestiona tus fuentes de documentos con sincronización inteligente", "empty": { "title": "No Hay Fuentes Configuradas", "subtitle": "Conecta tu primera fuente de documentos para comenzar a sincronizar y procesar automáticamente tus archivos con OCR impulsado por IA.", "addFirst": "Agregar Tu Primera Fuente" }, "actions": { "addSource": "Agregar Fuente", "editSource": "Editar Fuente", "deleteSource": "Eliminar Fuente", "testConnection": "Probar Conexión", "testing": "Probando...", "saveSource": "Guardar Fuente", "createSource": "Crear Fuente", "updateSource": "Actualizar Fuente", "triggerSync": "Activar Sincronización", "stopSync": "Detener Sincronización", "viewIgnoredFiles": "Ver Archivos Ignorados", "runValidation": "Ejecutar Verificación de Validación", "quickSync": "Sincronización Rápida", "deepScan": "Escaneo Profundo" }, "status": { "autoRefreshing": "Actualizando automáticamente...", "disabled": "Deshabilitado", "syncing": "Sincronizando", "error": "Error", "idle": "Inactivo" }, "ocr": { "pause": "Pausar OCR", "resume": "Reanudar OCR", "pausedSuccess": "Procesamiento OCR pausado exitosamente", "pauseFailed": "Falló pausar el procesamiento OCR", "resumedSuccess": "Procesamiento OCR reanudado exitosamente", "resumeFailed": "Falló reanudar el procesamiento OCR" }, "stats": { "documentsStored": "Documentos Almacenados", "documentsStoredTooltip": "Número total de documentos actualmente almacenados de esta fuente", "ocrProcessed": "OCR Procesado", "ocrProcessedTooltip": "Número de documentos que han sido procesados exitosamente con OCR", "ocrCount": "{{count}} con OCR", "lastSync": "Última Sincronización", "lastSyncTooltip": "Cuándo se sincronizó por última vez esta fuente", "never": "Nunca", "filesPending": "Archivos Pendientes", "filesPendingTooltip": "Archivos descubiertos pero aún no procesados durante la sincronización", "totalSize": "Tamaño Total", "totalSizeTooltip": "Tamaño total de archivos descargados exitosamente de esta fuente" }, "types": { "webdav": { "name": "WebDAV", "description": "Nextcloud, ownCloud y otros servidores WebDAV" }, "localFolder": { "name": "Carpeta Local", "description": "Monitorear directorios del sistema de archivos local" }, "s3": { "name": "Compatible con S3", "description": "AWS S3, MinIO y otro almacenamiento compatible con S3" } }, "form": { "sourceName": "Nombre de la Fuente", "sourceType": "Tipo de Fuente", "sourceEnabled": "Fuente Habilitada", "sourceEnabledHelper": "Habilitar esta fuente para sincronización", "sourceNamePlaceholder": "Mi Servidor de Documentos" }, "webdav": { "title": "Configuración WebDAV", "serverUrl": "URL del Servidor", "username": "Nombre de Usuario", "password": "Contraseña", "serverType": "Tipo de Servidor", "serverTypes": { "nextcloud": "Nextcloud", "nextcloudDesc": "Optimizado para servidores Nextcloud", "owncloud": "ownCloud", "owncloudDesc": "Optimizado para servidores ownCloud", "generic": "WebDAV Genérico", "genericDesc": "Cualquier servidor WebDAV estándar" } }, "localFolder": { "title": "Configuración de Carpeta Local", "description": "Monitorear directorios del sistema de archivos local para nuevos documentos. Asegúrate de que la aplicación tenga acceso de lectura a las rutas especificadas.", "recursive": "Escaneo Recursivo", "recursiveDesc": "Escanear subdirectorios recursivamente", "followSymlinks": "Seguir Enlaces Simbólicos", "followSymlinksDesc": "Seguir enlaces simbólicos al escanear directorios" }, "s3": { "title": "Configuración de Almacenamiento Compatible con S3", "description": "Conecta a AWS S3, MinIO o cualquier servicio de almacenamiento compatible con S3. Para MinIO, proporciona la URL del endpoint de tu servidor.", "bucketName": "Nombre del Bucket", "region": "Región", "accessKeyId": "ID de Clave de Acceso", "secretAccessKey": "Clave de Acceso Secreta", "endpointUrl": "URL del Endpoint (Opcional)", "endpointUrlHelper": "Deja vacío para AWS S3, o proporciona un endpoint personalizado para MinIO/otro almacenamiento compatible con S3", "objectPrefix": "Prefijo de Clave de Objeto (Opcional)", "objectPrefixHelper": "Prefijo opcional para limitar el escaneo a claves de objeto específicas" }, "common": { "folders": "Carpetas a Monitorear", "foldersDesc": "Especifica las carpetas dentro de tu fuente para monitorear nuevos documentos", "addFolder": "Agregar Ruta de Carpeta", "extensions": "Extensiones de Archivo", "extensionsDesc": "Tipos de archivo para sincronizar y procesar con OCR.", "addExtension": "Agregar Extensión" }, "advanced": { "title": "Configuración Avanzada", "description": "Configurar sincronización automática y opciones avanzadas", "enableAutoSync": "Habilitar Sincronización Automática", "autoSyncDesc": "Sincronizar archivos automáticamente según un horario", "autoSyncDescLocal": "Escanear automáticamente archivos nuevos según un horario", "autoSyncDescS3": "Verificar automáticamente objetos nuevos según un horario", "syncInterval": "Intervalo de Sincronización (minutos)", "syncIntervalHelper": "Con qué frecuencia verificar archivos nuevos (15 min - 24 horas)", "syncIntervalHelperLocal": "Con qué frecuencia escanear archivos nuevos (15 min - 24 horas)", "syncIntervalHelperS3": "Con qué frecuencia verificar objetos nuevos (15 min - 24 horas)" }, "estimation": { "title": "Estimación de Rastreo", "description": "Estima cuántos archivos se procesarán y cuánto tiempo tomará.", "estimate": "Estimar Rastreo", "estimating": "Estimando...", "analyzing": "Analizando carpetas y contando archivos...", "results": "Resultados de Estimación", "files": "Archivos Estimados", "time": "Tiempo Estimado", "size": "Tamaño Estimado" }, "dialog": { "editTitle": "Editar Fuente", "createTitle": "Crear Nueva Fuente", "editSubtitle": "Actualiza la configuración de tu fuente", "createSubtitle": "Conecta una nueva fuente de documentos" }, "sync": { "quickSyncDesc": "Sincronización incremental rápida usando ETags. Solo procesa archivos nuevos o modificados.", "deepScanDesc": "Reescaneo completo que reinicia las expectativas de ETag. Úsalo para solucionar problemas de sincronización." }, "validation": { "healthy": "Saludable", "warning": "Advertencia", "critical": "Crítico", "validating": "Validando", "unknown": "Desconocido", "statusUnknown": "Estado de validación desconocido", "inProgress": "Verificación de validación en progreso", "healthScore": "Puntuación de salud: {{score}}", "healthScoreIssues": "Puntuación de salud: {{score}} - Problemas detectados", "healthScoreCritical": "Puntuación de salud: {{score}} - Problemas críticos" }, "delete": { "title": "Eliminar Fuente", "message": "¿Estás seguro de que quieres eliminar esta fuente?", "warning": "Esta acción no se puede deshacer. Todo el historial de sincronización y la configuración se perderán.", "deleting": "Eliminando..." }, "messages": { "createSuccess": "Fuente creada exitosamente", "updateSuccess": "Fuente actualizada exitosamente", "deleteSuccess": "Fuente eliminada exitosamente", "syncStartSuccess": "Sincronización rápida iniciada exitosamente", "deepScanSuccess": "Escaneo profundo iniciado exitosamente", "syncStopSuccess": "Sincronización detenida exitosamente", "connectionSuccess": "¡Conexión exitosa!", "estimationSuccess": "Estimación de rastreo completada" }, "errors": { "loadFailed": "Falló la carga de fuentes", "saveFailed": "Falló guardar la fuente", "deleteFailed": "Falló eliminar la fuente", "testConnectionFailed": "Falló probar la conexión", "syncStartFailed": "Falló iniciar la sincronización", "syncStopFailed": "Falló detener la sincronización", "deepScanFailed": "Falló iniciar el escaneo profundo", "estimateFailed": "Falló estimar el rastreo", "connectionFailed": "Conexión fallida", "duplicateName": "Ya existe una fuente con este nombre. Por favor elige un nombre diferente.", "invalidConfig": "La configuración de la fuente es inválida. Por favor verifica tus ajustes e intenta de nuevo.", "authFailed": "Autenticación fallida. Por favor verifica tus credenciales.", "connectionError": "No se puede conectar a la fuente. Por favor verifica tu red y configuración del servidor.", "invalidPath": "Ruta inválida especificada. Por favor verifica las rutas de tus carpetas e intenta de nuevo.", "notFound": "Fuente no encontrada. Puede haber sido eliminada ya.", "syncInProgress": "No se puede eliminar la fuente mientras la sincronización está en progreso. Por favor detén la sincronización primero.", "alreadySyncing": "La fuente ya está sincronizando. Por favor espera a que se complete la sincronización actual.", "cannotConnect": "No se puede conectar a la fuente. Por favor verifica tu conexión e intenta de nuevo.", "authFailedSource": "Autenticación fallida. Por favor verifica las credenciales de tu fuente.", "sourceDeleted": "Fuente no encontrada. Puede haber sido eliminada.", "connectionFailedUrl": "Conexión fallida. Por favor verifica la URL de tu servidor y la conectividad de red.", "authFailedCredentials": "Autenticación fallida. Por favor verifica tu nombre de usuario y contraseña.", "invalidFolderPath": "Ruta inválida especificada. Por favor verifica las rutas de tus carpetas.", "invalidSettings": "La configuración es inválida. Por favor revisa tus ajustes.", "timeout": "Tiempo de conexión agotado. Por favor verifica tu red e intenta de nuevo.", "deepScanWebdavOnly": "El escaneo profundo solo está soportado para fuentes WebDAV", "notSyncing": "La fuente no está actualmente sincronizando" }, "labels": { "recommended": "Recomendado", "notAvailable": "No Disponible" } } }