{ "common": { "submit": "Enviar", "cancel": "Cancelar", "save": "Guardar", "save_changes": "Guardar cambios", "delete": "Eliminar", "edit": "Editar", "search": "Buscar", "add": "Añadir", "remove": "Eliminar", "create": "Crear", "update": "Actualizar", "confirm": "Confirmar", "close": "Cerrar", "yes": "Sí", "no": "No", "ok": "Aceptar", "loading": "Cargando...", "empty": "Vacío", "noData": "Sin datos", "table": { "noResults": "Sin resultados." }, "failed": "Fallido", "notFound": "No encontrado", "back": "Volver", "goBack": "Regresar", "backToHome": "Volver al inicio", "tryAgain": "Reintentar", "more": "Más", "actions": "Acciones", "filter": "Filtrar", "reset": "Restablecer", "clear": "Limpiar", "error": "Error", "apply": "Aplicar", "select": "Seleccionar", "selectAll": "Seleccionar todo", "deselectAll": "Deseleccionar todo", "all": "Todo", "none": "Ninguno", "showLess": "Mostrar menos", "showMore": "Mostrar más...", "project_description": "Bichon es un proyecto de código abierto.", "view_on_github_button": "Ver en GitHub", "op_failed": "Operación fallida", "na": "N/A", "retry": "Reintentar", "deleting": "Eliminando..." }, "navigation": { "home": "Inicio", "settings": "Configuración", "accounts": "Cuentas", "dashboard": "Panel de control", "mailbox": "Buzón", "oauth2": "OAuth2", "accessTokens": "Tokens de acceso", "apiDocs": "Documentación API", "general": "General", "auth": "Autenticación", "other": "Otro", "users": "Usuarios del sistema" }, "auth": { "welcome": "Bienvenido a Bichon", "username": "Nombre de usuario", "password": "Contraseña", "login": "Iniciar sesión", "loginFailed": "Error al iniciar sesión", "invalidPassword": "Contraseña inválida. Inténtalo de nuevo.", "somethingWentWrong": "Algo salió mal", "sessionExpired": "¡Sesión caducada!", "sessionExpiredDesc": "Tu sesión ha caducado debido a la inactividad. Inicia sesión para continuar.", "logout": "Cerrar sesión", "areYouSureYouWantToLogOut": "¿Estás seguro de que quieres cerrar sesión?", "youWillNeedToLogInAgain": "Necesitarás iniciar sesión de nuevo para acceder a tu cuenta." }, "errors": { "pageNotFound": "¡Ups! ¡Página no encontrada!", "pageNotFoundDesc": "Parece que la página que estás buscando no existe o ha sido eliminada.", "somethingWentWrong": "¡Ups! Algo salió mal :')", "somethingWentWrongDesc": "Lamentamos las molestias. Por favor, inténtalo de nuevo más tarde.", "internalServerError": "¡Error interno del servidor!", "contentNotModified": "¡Contenido no modificado!", "networkError": "Error de red", "networkErrorDesc": "No se puede conectar con el servidor. Por favor, comprueba tu conexión a internet y vuelve a intentarlo.", "forbidden": "Prohibido", "forbiddenTitle": "Acceso prohibido", "forbiddenDesc": "No tienes permiso para ver este recurso.", "unauthorized": "No autorizado", "unauthorizedTitle": "Acceso no autorizado", "unauthorizedDesc": "Inicia sesión con credenciales válidas para acceder a este recurso.", "maintenance": "Mantenimiento", "maintenanceTitle": "¡El sitio está en mantenimiento!", "maintenanceDesc": "El sitio está temporalmente fuera de servicio. Volveremos a estar en línea pronto.", "learnMore": "Saber más" }, "dashboard": { "title": "Panel de control", "mailAccounts": "Cuentas de correo", "connected": "Conectado", "totalEmails": "Total de correos", "syncedLocally": "Sincronizado localmente", "totalEmailSize": "Tamaño total de correos", "logicalVolume": "Volumen lógico", "localDataFiles": "Archivos de datos locales", "actualDiskUsage": "Uso real de disco", "indexSize": "Tamaño del índice", "tantivyIndex": "Índice Tantivy", "dayTrend": "Tendencia de 30 días", "attachments": "Archivos adjuntos", "topLists": "Listas principales", "newEmails": "Nuevos correos", "messageDistribution": "Distribución de mensajes", "attachmentRatio": "Ratio de adjuntos", "attachmentRatioDesc": "El {{percent}}% de los correos tienen adjuntos", "noEmailsSynced": "Aún no hay correos sincronizados", "withAttachments": "Con adjuntos", "noAttachments": "Sin adjuntos", "top10Senders": "Los 10 principales remitentes", "byMessageCount": "Por conteo de mensajes", "sender": "Remitente", "count": "Conteo", "top10LargestEmails": "Los 10 correos más grandes", "byMessageSize": "Por tamaño de mensaje", "subject": "Asunto", "size": "Tamaño", "noSubject": "(Sin asunto)", "top10Accounts": "Las 10 principales cuentas", "emails": "Correos", "account": "Cuenta", "noRecentActivity": "Sin actividad reciente", "noSendersData": "Sin datos de remitentes", "noLargeEmails": "Sin correos grandes", "noAccountData": "Sin datos de cuenta", "systemVersion": "Versión del sistema" }, "accounts": { "beforeRelativeValue": "Sincronizar correos de hace más de {{value}} {{unit}}", "sinceRelativeValue": "Sincronizar correos de los últimos {{value}} {{unit}}", "syncBatchSize": "Tamaño del lote de sincronización", "syncBatchSizeDescription": "Número de mensajes obtenidos por solicitud IMAP", "incrementalSyncDescription": "Frecuencia de sincronización incremental (en minutos)", "syncScope": "Estrategia de sincronización", "syncScopeDescription": "Elija qué correos deben indexarse y archivarse.", "selectMode": "Seleccionar modo de filtro", "syncAll": "Sincronizar todos los correos", "sinceFixed": "Desde una fecha específica", "sinceRelative": "Sincronizar solo correos recientes", "beforeRelative": "Archivar solo correos antiguos", "duration": "Duración", "unit": "Unidad", "accessControl": "Control de acceso", "owner": "Creador", "access_control": { "title": "Asignación de Acceso a la Cuenta", "description": "Asignar roles y usuarios autorizados a {{email}}", "role_label": "Rol de Acceso", "role_placeholder": "Seleccionar un rol", "role_loading": "Cargando roles...", "user_label": "Seleccionar Usuarios Autorizados", "user_search_placeholder": "Buscar por nombre de usuario o correo...", "user_empty": "No se encontraron usuarios", "user_selected_count": "Seleccionados: {{count}} usuario(s)", "buttons": { "cancel": "Cancelar", "save": "Guardar Asignación" }, "validation": { "user_required": "Por favor, seleccione al menos un usuario", "role_required": "Por favor, seleccione un rol para asignar" }, "toast": { "success_title": "Asignación Exitosa", "success_desc": "Los permisos se han asignado correctamente a {{email}}", "failed_title": "Error en la Asignación" } }, "title": "Cuentas de correo", "description": "Gestiona y configura tus cuentas de correo electrónico.", "addImap": "Añadir IMAP", "addNoSync": "Añadir NoSync", "moreAccountTypes": "Más tipos de cuenta", "noAccountConfigurations": "Sin configuraciones de cuenta", "noAccountConfigurationsDesc": "Aún no has añadido ninguna configuración de cuenta. Añade una para empezar a usar las funcionalidades de la cuenta.", "addConfiguration": "Añadir configuración", "name": "Nombre de usuario", "email": "Correo electrónico", "status": "Estado", "type": "Tipo", "lastSync": "Última sincronización", "actions": "Acciones", "edit": "Editar", "delete": "Eliminar", "detail": "Detalle", "syncFolders": "Carpetas a sincronizar", "oauth2Tokens": "Tokens OAuth2", "id": "ID", "enabled": "Habilitado", "auth": "Autenticación", "incSync": "Sinc. Increm.", "state": "Estado", "createdAt": "Creado el", "updatedAt": "Actualizado el", "openMenu": "Abrir menú", "emailAccountRegistration": "Registro de cuenta de correo", "emailAccountRegistrationDesc": "Introduce tu dirección de correo electrónico. Configurarás los detalles IMAP/SMTP en los próximos pasos. Intentaremos autodescubrir las direcciones del servidor SMTP/IMAP basándonos en el correo electrónico proporcionado.", "emailAddress": "Dirección de correo electrónico", "emailPlaceholder": "ej. juan.perez@ejemplo.com", "namePlaceholder": "ej. Juan Pérez", "optional": "Opcional", "nameDescription": "Nombre de usuario de conexión IMAP. Deje este campo en blanco si utiliza su dirección de correo electrónico completa como nombre de usuario de conexión.", "emailCannotBeModified": "La dirección de correo electrónico de la cuenta no se puede modificar durante la edición.", "addAccount": "Añadir cuenta", "updateAccount": "Actualizar cuenta", "accountUpdated": "Cuenta actualizada", "accountCreated": "Cuenta creada", "accountUpdatedDesc": "Tu cuenta ha sido actualizada con éxito.", "accountCreatedDesc": "Tu cuenta ha sido creada con éxito.", "accountUpdateFailed": "Error al actualizar la cuenta", "accountCreationFailed": "Error al crear la cuenta", "updateFailed": "Error al actualizar, por favor, inténtalo de nuevo más tarde", "creationFailed": "Error al crear, por favor, inténtalo de nuevo más tarde", "selectSyncFolders": "Selecciona carpetas a sincronizar", "allMailFolderSelected": "Advertencia: Carpeta 'Todo el correo' seleccionada", "accountSyncFoldersUpdated": "Carpetas de sincronización de cuenta actualizadas", "accountSyncFoldersUpdateFailed": "Error al actualizar las carpetas de sincronización de cuenta", "serverConfiguration": "Configuración del servidor (IMAP)", "syncFoldersTitle": "Carpetas a sincronizar", "allMailFolderSelectedDesc": "Seleccionar carpetas con el atributo 'Todo el correo' probablemente resultará en la duplicación de mensajes ya sincronizados de carpetas como Bandeja de entrada y Enviados. Esto podría consumir significativamente más espacio de almacenamiento.", "allMailSkipped": "Carpetas predeterminadas seleccionadas. 'Todo el correo' omitido para evitar duplicados.", "selectAtLeastOneFolder": "Selecciona al menos una carpeta", "chooseFoldersToSync": "Elige las carpetas a sincronizar para {{email}}. Las carpetas añadidas recientemente comenzarán a descargarse durante el próximo ciclo de sincronización.", "accountDetails": "Detalles de la cuenta", "capabilities": "Capacidades", "folderLimit": "Límite de carpetas", "incrementalSyncInterval": "Intervalo de sincronización incremental", "everyMinutes": "cada {{minutes}} minutos", "foldersConfiguredForSync": "{{count}} carpeta(s) configurada(s) para sincronización", "foldersSelected": "{{count}} carpeta(s) seleccionada(s)", "imapHost": "Host IMAP", "imapHostPlaceholder": "ej. imap.ejemplo.com", "imapPort": "Puerto IMAP", "imapPortPlaceholder": "ej. 993", "imapEncryption": "Cifrado IMAP", "selectEncryptionMethod": "Selecciona el método de cifrado", "chooseEncryptionMethod": "Elige el método de cifrado a utilizar para IMAP.", "imapAuthMethod": "Método de autenticación IMAP", "selectAuthMethod": "Selecciona el método de autenticación", "chooseAuthMethod": "Elige el método de autenticación a utilizar para IMAP.", "imapPassword": "Contraseña IMAP", "leaveEmptyToKeepPassword": "Deja vacío para mantener la contraseña actual", "enterPassword": "Introduce tu contraseña", "leaveEmptyToKeepExisting": "Deja vacío para mantener la contraseña existente, o introduce un nuevo valor para actualizarla.", "useProxy": "Usar Proxy", "selectProxy": "Seleccionar Proxy", "incrementalSync": "Sincronización incremental (Minutos)", "incrementalSyncPlaceholder": "ej. 300", "enabledDescription": "Determina si esta cuenta está activa. Si está deshabilitada, no se realizarán sincronizaciones asociadas.", "dateSince": "Fecha desde", "none": "Ninguno", "fixed": "Fija", "relative": "Relativa", "selectDate": "Seleccionar fecha", "selectUnit": "Seleccionar unidad", "days": "Días", "months": "Meses", "years": "Años", "enterValue": "Introduce valor", "mustBeAtLeast1": "Debe ser al menos 1", "dateSelection": "Selección de fecha", "since": "desde", "recent": "reciente", "notAvailable": "no disponible", "host": "host", "port": "puerto", "encryption": "cifrado", "authType": "tipo de autenticación", "password": "contraseña", "useProxyField": "usar proxy", "clickSaveWhenDone": "Haz clic en Guardar cuando hayas terminado.", "step": "Paso {{index}}", "goBack": "Volver atrás", "autoConfiguring": "Autoconfigurando...", "continue": "Continuar", "saveChanges": "Guardar cambios", "submit": "Enviar", "field": "Campo", "value": "Valor", "refreshToken": "Token de actualización", "accessTokenCopiedToClipboard": "Token de acceso copiado al portapapeles", "refreshTokenCopiedToClipboard": "Token de actualización copiado al portapapeles", "noOAuth2Tokens": "Sin tokens OAuth2", "theAccountHasNotCompletedTheAuthorizationProcess": "La cuenta no ha completado el proceso de autorización. Por favor, ", "clickHere": "haz clic aquí", "toAuthorizeTheAccount": " para autorizar la cuenta.", "detailsOfTheOAuth2TokensForTheAccount": "Detalles de los tokens OAuth2 para la cuenta.", "updateTheEmailAccountHere": "Actualiza la cuenta de correo electrónico aquí. ", "addNewEmailAccountHere": "Añade una nueva cuenta de correo electrónico aquí. ", "thisAccountIsUsedForIdentificationPurposesOnly": "Esta cuenta se utiliza solo para fines de identificación y no requiere sincronización con el servidor de correo. Ayuda a importar datos de correo electrónico.", "determinesWhetherThisAccountIsActiveNoSync": "Determina si esta cuenta está activa. Si está desactivada, no podrá importar datos.", "folderSync": { "noData": "Sin datos", "noFolders": "No hay carpetas para sincronizar", "batches": "lotes", "autoSelectDescendants": "Seleccionar automáticamente los descendientes", "autoSelectParents": "Seleccionar automáticamente los padres", "expandAll": "Expandir todo", "collapseAll": "Contraer todo", "loadingMailboxFolders": "Cargando carpetas del buzón…" }, "viewDetails": "ver detalles", "runningState": { "notStarted": "No iniciado", "inProgress": "En curso", "calculating": "Calculando...", "initialSync": "Sincronización inicial", "completed": "Completado", "duration": "Duración", "startTime": "Hora de inicio:", "endTime": "Hora de finalización:", "syncProgress": "Progreso de sincronización", "incrementalSync": "Sincronización incremental", "syncInterval": "Intervalo de sincronización:", "everyMinutes": "Cada {{minutes}} minutos", "errorLogs": "Registros de errores", "noErrorLogs": "No hay registros de errores disponibles.", "noActiveState": "No hay estado activo disponible", "accountNotStarted": "La sincronización de la cuenta podría no haber comenzado todavía", "close": "Cerrar" }, "steps": { "complete": "Completado", "emailAddress": "Dirección de correo electrónico", "imap": "IMAP", "syncPreferences": "Preferencias de sincronización", "summary": "Resumen" }, "imapProxy": "Usar proxy SOCKS5 para conexiones IMAP.", "syncStartDateDescription": "Establece la fecha de inicio de la sincronización, fija o relativa a la hora actual. Se excluirán los correos anteriores a esta fecha, {{fixedPart}}.", "syncAfterDate": "sincronizar datos después de la fecha establecida", "syncRecentData": "mover la fecha de sincronización hacia adelante en el tiempo, sincronizando solo datos recientes", "folderLimitDescription": "Limita el número de correos a sincronizar por carpeta (mínimo 100). Deja vacío para no tener límite.", "folderLimitPlaceholder": "ej. 1000", "imap": "IMAP", "minutes": "minutos", "accountHasBeenSuccessfully": "La cuenta se ha {{action}} correctamente", "enableAccount": "Activar cuenta", "disableAccount": "Desactivar cuenta", "areYouSureYouWantTo": "¿Está seguro de que desea {{action}} esta cuenta?", "enable": "Activar", "disable": "Desactivar", "thisWillPreventTheAccountFromBeingUsed": "Esta cuenta ya no sincronizará datos desde el servidor IMAP, pero los datos existentes seguirán siendo accesibles.", "disabled": "Deshabilitado", "useDangerous": "Confiar en cualquier certificado TLS", "useDangerousDescription": "Activa esta opción solo si te estás conectando a un servidor IMAP que utiliza un certificado público o auto‑firmado, el cual puede no ser reconocido por tu sistema. Esta opción omite la validación estándar del certificado y puede exponerte a ataques de tipo “man‑in‑the‑middle” — actívala solo si entiendes los riesgos." }, "mailbox": { "deleteMailboxDialog": { "title": "Eliminar carpeta de correo", "desc": "¿Está seguro de que desea eliminar esta carpeta de correo? Esta acción no se puede deshacer.", "warningTitle": "Advertencia", "warningDesc": "Eliminar esta carpeta también eliminará permanentemente todos los correos electrónicos archivados y las subcarpetas que contenga.", "confirm": "Eliminar permanentemente", "successTitle": "Eliminado con éxito", "successDesc": "La carpeta de correo y su contenido han sido eliminados correctamente.", "errorTitle": "Error al eliminar" }, "title": "Buzón", "folders": "Carpetas", "messages": "Mensajes", "noMessages": "No hay mensajes", "selectFolder": "Selecciona una carpeta para ver los mensajes", "deleteDialog": { "title": "Eliminar correo electrónico", "desc": "¿Estás seguro de que quieres eliminar {{countText}}? Esta acción eliminará permanentemente el/los correo(s) seleccionado(s) de la base de datos local. El/los correo(s) se perderán para siempre y no se podrán recuperar.", "descCountSingle": "este correo electrónico", "descCountMultiple": "estos {{count}} correos electrónicos", "warningTitle": "¡Advertencia!", "warningDesc": "Procede con precaución.", "confirm": "Eliminar", "successTitle": "Mensajes eliminados con éxito", "successDesc": "Los mensajes han sido eliminados.", "errorTitle": "Error al eliminar mensajes" }, "thread": { "title": "Hilo de conversación ({{count}} {{messageLabel}})", "message": "mensaje", "messages": "mensajes", "noSubject": "(Sin asunto)", "invalidDate": "Fecha inválida", "empty": "No hay mensajes en este hilo.", "loadError": "Error al cargar el hilo", "loadingMore": "Cargando...", "loadMore": "Cargar más" }, "bulkActions": { "ariaLabel": "Acciones masivas para {{count}} {{emailLabel}} seleccionado(s)", "email": "correo electrónico", "emails": "correos electrónicos", "selected": "seleccionado", "clearSelection": "Borrar selección", "clearSelectionWithKey": "Borrar selección ({{key}})", "delete": "Eliminar", "deleteTooltip": "Eliminar correos seleccionados" } }, "search": { "size": "Tamaño", "any": "Cualquiera", "tiny": "Muy pequeño (<15 KB)", "small": "Pequeño (<2 MB)", "medium": "Mediano (2 - 10 MB)", "large": "Grande (10 - 20 MB)", "sizeDescription": "El tamaño se refiere al tamaño total del correo electrónico, incluidos los archivos adjuntos.", "title": "Buscar", "searching": "Buscando, por favor espera...", "noEmailsFound": "No se encontraron correos electrónicos", "startSearching": "Empieza a buscar por palabra clave, remitente o usa filtros avanzados.", "adjustSearch": "Intenta ajustar tus criterios de búsqueda o borra los filtros.", "tagFilter": "Filtro de etiquetas", "from": "De", "to": "Para", "subject": "Asunto", "date": "Fecha", "editTag": "Editar etiqueta", "keyword": "Palabra clave", "sender": "Remitente", "recipient": "Destinatario", "hasAttachment": "Tiene adjunto", "yes": "Sí", "no": "No", "dateRange": "Rango de fechas", "startDate": "Fecha de inicio", "endDate": "Fecha de finalización", "advancedFilters": "Filtros avanzados", "searchArchivedEmails": "Buscar en correos archivados", "fullTextMultiAccount": "Texto completo · Multi-cuenta · Filtros avanzados", "account": "Cuenta", "mailbox": "Buzón", "selectAccount": "Seleccionar cuenta", "selectMailbox": "Seleccionar buzón", "noActiveEmailAccount": "No hay cuenta de correo electrónico activa.", "addEmailAccount": "Añadir cuenta de correo electrónico", "noMailboxSelectAccount": "No hay buzón. Por favor, selecciona una cuenta primero.", "searchInSubjectBody": "Buscar en asunto, cuerpo, adjuntos...", "searchingButton": "Buscando...", "searchButton": "Buscar", "advanced": "Avanzado", "clear": "Borrar", "since": "Desde:", "before": "Antes de:", "selectDate": "Seleccionar fecha", "pleaseSelectAtLeastOne": "Por favor, selecciona al menos un criterio de búsqueda", "cc": "CC", "bcc": "CCO", "attachmentName": "Nombre del adjunto", "messageId": "ID del mensaje", "minSize": "Tamaño mín.", "maxSize": "Tamaño máx.", "senderRecipients": "Remitente / Destinatarios", "attachmentsSize": "Adjuntos y tamaño", "minimumBytes": "Mínimo (bytes)", "maximumBytes": "Máximo (bytes)", "originalMessageIdHeader": "Encabezado Message-ID del correo original", "addTags": { "title": "Editar etiquetas", "none": "Aún no hay etiquetas añadidas", "searchPlaceholder": "Buscar o crear etiquetas...", "createHint": "Crear nueva etiqueta: {{tag}}", "invalidTitle": "Etiqueta inválida", "updatedTitle": "Etiquetas actualizadas", "updatedDesc": "Las etiquetas han sido actualizadas con éxito", "updateFailedTitle": "Error al actualizar", "tryAgain": "Inténtalo de nuevo más tarde", "selectedCount": "{{count}} etiqueta(s) seleccionada(s)", "cancel": "Cancelar", "save": "Guardar", "saving": "Guardando..." }, "thread": { "title": "Hilo de conversación · {{count}} mensajes", "error": "Error al cargar el hilo", "empty": "No hay mensajes en este hilo", "invalidDate": "Fecha inválida", "noSubject": "(Sin asunto)", "loadingMore": "Cargando...", "loadMore": "Cargar más" }, "bulkActions": { "ariaLabel": "{{count}} mensajes seleccionados. Barra de herramientas", "delete": "Eliminar", "deleteDesc": "Eliminar seleccionados", "selected": "{{count}} seleccionado(s)", "clear": "Limpiar selección" }, "delete": { "title": "Eliminar mensajes", "confirmPrefix": "¿Eliminar", "countLabel": "{{count}} mensaje(s)?", "confirmDetail": "Esta acción no se puede deshacer.", "confirmButton": "Eliminar", "warningTitle": "Advertencia", "warningDesc": "Los mensajes se eliminarán permanentemente.", "successTitle": "Eliminados", "successDesc": "Eliminado con éxito.", "errorTitle": "Error al eliminar" } }, "mail": { "emailViewer": "Visor de correo electrónico", "noMessageSelected": "Ningún mensaje seleccionado", "account": "Cuenta", "from": "De", "to": "Para", "subject": "Asunto", "date": "Fecha", "tags": "Etiquetas", "noTagsYet": "Aún no hay etiquetas", "id": "ID", "cc": "CC", "bcc": "CCO", "attachments": "Adjuntos", "download": "Descargar", "delete": "Eliminar", "viewThread": "Ver hilo", "downloadStarted": "Descarga iniciada", "downloadComplete": "Descarga completada", "downloadFailed": "Error de descarga", "failedToDownloadFile": "Error al descargar el archivo", "failedToLoadEmail": "Error al cargar el correo electrónico.", "isBeingDownloaded": "{{id}} se está descargando", "downloaded": "{{id}} descargado", "showLess": "mostrar menos", "showMore": "mostrar más...", "onlyNonInlineAttachments": "Solo se muestran aquí los adjuntos que no están en línea.", "noAttachments": "Sin adjuntos" }, "oauth2": { "title": "OAuth2", "addConfiguration": "Añadir configuración", "id": "ID", "provider": "Proveedor", "clientId": "ID de cliente", "clientSecret": "Secreto de cliente", "redirectUri": "URI de redirección", "scopes": "Ámbitos", "status": "Estado", "enabled": "Habilitado", "disabled": "Deshabilitado", "edit": "Editar", "delete": "Eliminar", "enable": "Habilitar", "disable": "Deshabilitar", "noConfigurations": "Sin configuraciones OAuth2", "noConfigurationsDesc": "Aún no has añadido configuraciones OAuth2. Añade una para empezar a usar las funcionalidades OAuth2.", "description": "Gestiona automáticamente la adquisición, almacenamiento y actualización de tokens de acceso, asegurando una experiencia de autenticación fluida y siempre lista.", "addNew": "Añadir nuevo", "updateHere": "Actualizar aquí.", "createNewHere": "Crear uno nuevo aquí.", "clickSaveWhenDone": "Haz clic en Guardar cuando hayas terminado.", "quickPresets": "Preajustes rápidos:", "gmail": "Gmail", "outlook": "Outlook", "whenDisabled": "Cuando está deshabilitado: - Los nuevos flujos de autorización serán rechazados inmediatamente - Los tokens de acceso y actualización existentes serán revocados en un minuto - Los usuarios deberán volver a autorizar cuando se vuelva a habilitar", "clientIdLabel": "ID de cliente:", "enterYourClientId": "Introduce tu ID de cliente", "theUniqueIdentifierForYourApplication": "El identificador único para tu aplicación, proporcionado por el proveedor OAuth.", "clientSecretLabel": "Secreto de cliente:", "leaveEmptyToKeepExistingSecret": "Deja vacío para mantener el secreto existente", "enterYourClientSecret": "Introduce tu secreto de cliente", "leaveEmptyToKeepTheExistingSecret": "Deja vacío para mantener el secreto existente, introduce un nuevo valor solo para actualizarlo.", "aSecretKeyProvidedByTheOAuthProvider": "Una clave secreta proporcionada por el proveedor OAuth para autenticar tu aplicación.", "authUrlLabel": "URL de autorización:", "enterTheAuthorizationUrl": "Introduce la URL de autorización", "theUrlWhereUsersWillBeRedirected": "La URL a la que se redirigirá a los usuarios para autorizar tu aplicación.", "tokenUrlLabel": "URL de token:", "enterTheTokenUrl": "Introduce la URL de token", "theUrlUsedToExchange": "La URL utilizada para intercambiar el código de autorización por un token de acceso.", "redirectUrlLabel": "URI de redirección:", "enterYourRedirectUrl": "Introduce tu URI de redirección", "theRedirectUrlAfterAuthorization": "El URI de redirección después de la autorización. Debe coincidir con el registrado en el proveedor OAuth. Utiliza el formato http://[host]:[port]/oauth2/callback (o https://), donde [host] y [port] coinciden con tu despliegue de RustMailer. La ruta /oauth2/callback es fija.", "scope": "Ámbito:", "enterTheScopeHere": "Introduce el ámbito aquí.", "addScope": "Añadir ámbito", "key": "Clave:", "enterTheKeyHere": "Introduce la clave aquí.", "value": "Valor:", "enterTheValueHere": "Introduce el valor aquí.", "addExtraParams": "Añadir parámetros extra", "useProxyOptional": "Usar Proxy (Opcional):", "selectAProxy": "Seleccionar un proxy", "noProxyAvailable": "No hay proxy disponible", "useSocks5ProxyForOAuthRequests": "Usar proxy SOCKS5 para las solicitudes OAuth cuando el acceso directo está bloqueado.", "descriptionLabel": "Descripción:", "describeThePurposeOfTheOauth2Application": "Describe el propósito de la aplicación OAuth2", "optional": "Opcional", "saving": "Guardando...", "creating": "Creando...", "saveChanges": "Guardar cambios", "save": "Guardar", "updated": "Actualizado", "created": "Creado", "yourOAuth2ApplicationHasBeenSuccessfully": "Tu aplicación OAuth2 ha sido {{action}} con éxito.", "updateFailed": "Error al actualizar", "creationFailed": "Error al crear", "updateOrCreationFailed": "Error al {{action}}, por favor, inténtalo de nuevo más tarde", "clientSecretIsRequired": "El Secreto de cliente es obligatorio", "clientSecretCannotBeEmpty": "El Secreto de cliente no puede estar vacío", "keyIsRequired": "La Clave es obligatoria", "keyCannotBeEmpty": "La Clave no puede estar vacía", "valueIsRequired": "El Valor es obligatorio", "valueCannotBeEmpty": "El Valor no puede estar vacío", "descriptionMustNotExceed255Characters": "La descripción no debe exceder los 255 caracteres.", "clientIdIsRequired": "El ID de cliente es obligatorio", "clientIdCannotBeEmpty": "El ID de cliente no puede estar vacío", "authorizationUrlIsRequired": "La URL de autorización es obligatoria", "authorizationUrlCannotBeEmpty": "La URL de autorización no puede estar vacía", "invalidAuthorizationUrlFormat": "Formato de URL de autorización inválido", "tokenUrlIsRequired": "La URL de token es obligatoria", "tokenUrlCannotBeEmpty": "La URL de token no puede estar vacía", "invalidTokenUrlFormat": "Formato de URL de token inválido", "redirectUriIsRequired": "El URI de redirección es obligatorio", "redirectUriCannotBeEmpty": "El URI de redirección no puede estar vacío", "invalidRedirectUriFormat": "Formato de URI de redirección inválido", "authorizeEmailAccount": "Autorizar cuenta de correo electrónico", "authorizeAnEmailAccountToStartTheOAuth2AuthorizationProcess": "Autoriza una cuenta de correo electrónico para iniciar el proceso de autorización OAuth2.", "loadingAccounts": "Cargando cuentas...", "selectAnAccount": "Selecciona una cuenta", "noEmailAccountsRegistered": "No hay cuentas de correo electrónico registradas. Por favor, crea una.", "pleaseCreateOne": "Por favor, crea una.", "createAccount": "Crear cuenta", "authorize": "Autorizar", "getAuthorizeUrlFailed": "Error al obtener la URL de autorización", "getAuthorizeUrlFailedDesc": "Error al obtener la URL de autorización, por favor, inténtalo de nuevo más tarde", "oauth2ClientUpdated": "Cliente OAuth2 actualizado", "oauth2ClientHasBeenSuccessfully": "Tu cliente OAuth2 ha sido {{action}} con éxito.", "statusUpdateFailed": "Error al actualizar el estado, por favor, inténtalo de nuevo más tarde", "disableOAuth2Client": "Deshabilitar cliente OAuth2", "enableOAuth2Client": "Habilitar cliente OAuth2", "areYouSureYouWantTo": "¿Estás seguro de que quieres {{action}} este cliente OAuth2?", "thisWillPreventTheOAuth2ClientFromBeingUsed": "Esto evitará que se utilice el cliente OAuth2.", "deleteToken": "Eliminar token", "areYouSureYouWantToDelete": "¿Estás seguro de que quieres eliminar", "thisActionWillPermanentlyRemoveTheOauth2Record": "Esta acción eliminará permanentemente el registro OAuth2 del sistema. Esto no se puede deshacer.", "enterIdToConfirmDeletion": "Introduce el ID para confirmar la eliminación.", "warning": "¡Advertencia!", "pleaseBeCareful": "Por favor, ten cuidado, esta acción no se puede deshacer.", "deleteSuccess": "Eliminación exitosa", "yourOAuth2ApplicationHasBeenSuccessfullyDeleted": "Tu aplicación OAuth2 ha sido eliminada con éxito.", "oauth2DeleteFailed": "Error al eliminar OAuth2", "deleteFailed": "Error al eliminar, por favor, inténtalo de nuevo más tarde", "actions": { "openMenu": "Abrir menú", "edit": "Editar", "authorize": "Autorizar", "delete": "Eliminar" }, "authFailed": "Autenticación OAuth2 fallida", "error": "Error", "unknownError": "Ha ocurrido un error desconocido.", "tryAgain": "Intentar de nuevo", "goHome": "Ir a inicio", "authSuccess": "Autenticación OAuth2 exitosa", "success": "Éxito", "successMessage": "Tu cuenta de correo electrónico ha sido autenticada con éxito a través de OAuth2. El token de acceso ha sido almacenado por el sistema y se actualizará automáticamente cuando sea necesario.", "goToAccounts": "Ir a Cuentas", "authAtatus": "Estado de la autenticación OAuth2", "information": "Información", "noStatus": "Esta página muestra el resultado de tu autenticación OAuth2. Actualmente no hay un estado específico disponible. Por favor, vuelve a intentarlo si es necesario.", "backToLogin": "Volver a Iniciar sesión" }, "accessTokens": { "title": "Tokens de acceso", "name": "Nombre", "accounts": "Cuentas", "token": "Token", "createdAt": "Creado el", "expiresAt": "Caduca el", "edit": "Editar", "delete": "Eliminar", "create": "Crear", "noTokens": "Sin tokens de acceso", "noTokensDesc": "Aún no has creado tokens de acceso. Crea uno para usar las funcionalidades de la API.", "description": "Gestiona aquí los tokens de acceso, sus reglas ACL, listas blancas de IP y ajustes de límite de velocidad.", "editToken": "Editar token", "addNew": "Añadir nuevo", "updateTheAccessTokenHere": "Actualiza el token de acceso aquí.", "createNewAccessTokenHere": "Crea un nuevo token de acceso aquí.", "selectAccounts": "Seleccionar cuentas", "selectMultipleAccountsForTheAccessToken": "Selecciona varias cuentas para el ámbito del token de acceso.", "enterOneIpAddressPerLine": "Introduce una dirección IP por línea, ej.:\n192.168.1.1\n192.168.1.2", "aListOfIpAddressesAllowed": "Una lista de direcciones IP permitidas para acceder al recurso. Introduce una IP por línea. (Opcional)", "enterQuota": "Introduce la cuota, ej. 100", "theMaximumNumberOfRequestsAllowed": "El número máximo de solicitudes permitidas dentro del intervalo. (Opcional)", "enterIntervalInSeconds": "Introduce el intervalo en segundos, ej. 60", "theTimeWindowForTheRateLimit": "La ventana de tiempo (en segundos) para el límite de velocidad. (Opcional)", "describeThePurposeOfTheAccessToken": "Describe el propósito del token de acceso", "updating": "Actualizando...", "saving": "Guardando...", "creating": "Creando...", "saveChanges": "Guardar cambios", "save": "Guardar", "updated": "Actualizado", "created": "Creado", "yourAccessTokenHasBeenSuccessfully": "Tu token de acceso ha sido {{action}} con éxito.", "updateFailed": "Error al actualizar", "creationFailed": "Error al crear", "updateOrCreationFailed": "Error al {{action}}, por favor, inténtalo de nuevo más tarde", "quotaMustBeAPositiveInteger": "La cuota debe ser un número entero positivo.", "intervalMustBeAPositiveInteger": "El intervalo debe ser un número entero positivo.", "invalidIpAddressesFound": "Se encontraron direcciones IP inválidas. Por favor, introduce direcciones IPv4 o IPv6 válidas.", "atLeastOneAccountIsRequired": "Se requiere al menos una cuenta.", "descriptionMustNotExceed255Characters": "La descripción no debe exceder los 255 caracteres.", "notUsedYet": "Aún no usado", "theListOfAccountsThatCanBeQueried": "La lista de cuentas que se pueden consultar con el token de acceso.", "accountId": "ID de cuenta", "filterByEmailAddressOrAccountId": "Filtrar por dirección de correo electrónico o ID de cuenta...", "aclRulesForAccessTokens": "Las reglas ACL para los tokens de acceso incluyen la comprobación de la lista blanca de IP y la aplicación del límite de velocidad.", "actions": { "openMenu": "Abrir menú", "edit": "Editar", "delete": "Eliminar" }, "quota": "Cuota", "interval": "Intervalo" }, "settings": { "appearance": { "title": "Apariencia", "field": { "language": "Idioma de la interfaz", "theme": "Tema de la interfaz" }, "description": { "language": "Seleccione el idioma de la interfaz web.", "theme": "Elija entre el modo claro u oscuro." }, "placeholder": { "select_language": "Seleccionar idioma" }, "command": { "search": "Buscar idioma...", "no_results": "No se encontró el idioma." }, "theme": { "light": "Claro", "dark": "Oscuro" }, "button": { "update": "Actualizar preferencias" }, "validation": { "language": { "required": "Por favor, seleccione un idioma." }, "theme": { "required": "Por favor, seleccione un tema." } } }, "title": "Configuración", "general": "General", "proxy": "Proxy", "name": "Nombre", "host": "Host", "port": "Puerto", "username": "Nombre de usuario", "password": "Contraseña", "type": "Tipo", "actions": "Acciones", "edit": "Editar", "delete": "Eliminar", "add": "Añadir", "noProxies": "Sin proxies", "noProxiesDesc": "Aún no has añadido configuraciones de proxy. Añade una para usar las funcionalidades de proxy.", "root": "Raíz", "rootTitle": "Usuario raíz", "rootDesc": "Gestiona las credenciales de inicio de sesión del usuario raíz, incluido el token y la contraseña.", "rootAccessManagement": "Gestión de acceso de usuario raíz", "manageRootTokenAndPassword": "Gestiona de forma segura el token y la contraseña del usuario raíz.", "resetRootToken": "Restablecer token raíz", "generateNewToken": "Generar un nuevo token, el antiguo caducará inmediatamente.", "reset": "Restablecer", "resetRootPassword": "Restablecer contraseña raíz", "changePasswordForFutureLogins": "Cambiar la contraseña para futuros inicios de sesión.", "youAreAboutToResetTheRootToken": "Estás a punto de restablecer el token raíz. Esta acción no se puede deshacer.", "confirmReset": "Confirmar restablecimiento", "youAreAboutToResetTheRootPassword": "Estás a punto de restablecer la contraseña raíz. Asegúrate de guardarla de forma segura.", "enterNewRootPassword": "Introduce la nueva contraseña raíz", "theRootTokenHasBeenReset": "El token raíz ha sido restablecido", "yourLoginInformationHasBeenUpdated": "Tu información de inicio de sesión ha sido actualizada. No necesitarás volver a iniciar sesión.", "invalidPassword": "Contraseña inválida", "rootPasswordMustBeAtLeast6Characters": "La contraseña raíz debe tener al menos 6 caracteres.", "theRootPasswordHasBeenReset": "La contraseña raíz ha sido restablecida", "useNewPasswordForNextLogin": "Usa la nueva contraseña para el próximo inicio de sesión.", "failedToCopyText": "Error al copiar el texto", "filterProxy": "Filtrar proxies...", "filterOauth2": "Filtrar OAuth2...", "filterAccount": "Filtrar cuentas...", "filterAccessToken": "Filtrar tokens de acceso...", "selectAll": "Seleccionar todo", "theme": "Tema", "id": "Id", "url": "Url", "createdAt": "Creado el", "updatedAt": "Actualizado el", "enabled": "Habilitado", "useProxy": "Usar proxy", "authUrl": "URL de autorización", "tokenUrl": "URL de token", "description": "Descripción", "token": "Token", "accounts": "Cuentas", "acl": "ACL", "lastAccess": "Último acceso", "enterProxyIdToConfirmDeletion": "Introduce el ID del proxy para confirmar la eliminación.", "updateTheProxyHere": "Actualiza el proxy aquí. ", "addNewProxyHere": "Añade un nuevo proxy aquí. ", "pleaseUseAnIpAddressForBetterReliability": "Utiliza una dirección IP (ej. 127.0.0.1) en lugar de un nombre de host o dominio para una mejor fiabilidad.", "adding": "Añadiendo...", "yourProxyHasBeenSuccessfully": "Tu proxy ha sido {{action}} con éxito.", "proxyUpdateOrAddFailed": "Error al {{action}} el proxy, por favor, inténtalo de nuevo más tarde", "sidebar": { "profile": "Perfil", "apiTokens": "Tokens API", "proxy": "Proxy de red", "configurations": "Configuraciones del sistema" }, "profile": { "loadError": "No se pudo cargar la información del usuario.", "uploadTitle": "Subir avatar", "maxSize": "Hasta {{size}}", "avatarAlt": "Avatar", "removeAvatar": "Eliminar avatar", "uploadError": "Error(es) al subir el archivo", "field": { "username": "Nombre de usuario", "email": "Correo electrónico", "password": "Contraseña" }, "placeholder": { "password_keep": "Déjelo en blanco para mantener la contraseña actual" }, "button": { "update_profile": "Actualizar perfil", "permissions": "Permisos", "view_global_permissions": "Ver permisos globales" }, "section": { "roles": "Roles", "accounts": "{{count}} cuentas vinculadas" }, "account": { "id": "ID de cuenta: {{id}}" }, "toast": { "updated": "Perfil actualizado correctamente", "update_failed": "No se pudo actualizar el perfil" }, "validation": { "username": { "required": "El nombre de usuario es obligatorio", "min": "El nombre de usuario debe tener al menos 5 caracteres", "max": "El nombre de usuario debe tener como máximo 32 caracteres" }, "email": { "required": "El correo electrónico es obligatorio", "invalid": "Por favor, introduce una dirección de correo electrónico válida" }, "password": { "min": "La contraseña debe tener al menos 8 caracteres", "max": "La contraseña debe tener como máximo 256 caracteres" } } } }, "apiDocs": { "choosePreferredType": "Elige el tipo de documentación API preferido", "swaggerUI": "Swagger UI", "reDoc": "ReDoc", "openAPIExplorer": "Explorador OpenAPI", "scalar": "Scalar", "downloadSpecYAML": "Descargar especificación YAML" }, "dialogs": { "confirmDelete": "Confirmar eliminación", "confirmDeleteDesc": "¿Estás seguro de que quieres eliminar este elemento? Esta acción no se puede deshacer.", "deleteSuccess": "Eliminado con éxito", "deleteFailed": "Error al eliminar", "saveSuccess": "Guardado con éxito", "saveFailed": "Error al guardar", "createSuccess": "Creado con éxito", "createFailed": "Error al crear", "updateSuccess": "Actualizado con éxito", "updateFailed": "Error al actualizar", "continue": "Continuar", "deleting": "Eliminando...", "accountDeleted": "Cuenta eliminada", "accountDeletedDesc": "Tu cuenta ha sido eliminada con éxito.", "accountDeleteFailed": "Error al eliminar la cuenta", "deleteAccountPermanently": "Eliminar cuenta permanentemente", "youAreDeleting": "Estás eliminando {{email}}. Esto eliminará permanentemente:", "accountCredentials": "Credenciales y configuración de la cuenta", "localCachedMetadata": "Metadatos almacenados en caché localmente y estado de sincronización", "imapSyncData": "Datos de sincronización IMAP", "oauthTokens": "Tokens OAuth y credenciales API", "typeEmailToConfirm": "Escribe la dirección de correo electrónico de la cuenta para confirmar:", "typeToConfirm": "Escribe \"{{email}}\" para confirmar", "cannotBeUndone": "¡Esta acción no se puede deshacer!", "allResourcesErased": "Todos los recursos asociados se borrarán permanentemente.", "permanentlyDeleteAccount": "Eliminar cuenta permanentemente" }, "command": { "typeCommandOrSearch": "Escribe un comando o busca...", "noResultsFound": "No se encontraron resultados.", "theme": "Tema", "light": "Claro", "dark": "Oscuro" }, "validation": { "required": "Este campo es obligatorio", "invalidEmail": "Dirección de correo electrónico inválida", "invalidUrl": "URL inválida", "passwordMinLength": "La contraseña debe tener al menos {{min}} caracteres", "pleaseEnterPassword": "Por favor, introduce tu contraseña", "passwordRequired": "La contraseña es obligatoria cuando el método de autenticación es Contraseña", "emailRequired": "El correo electrónico es obligatorio", "imapHostRequired": "El host IMAP es obligatorio", "imapHostCannotBeEmpty": "El host IMAP no puede estar vacío", "imapPortMustBePositive": "El puerto IMAP debe ser un número entero positivo", "imapPortMustBeLessThan65536": "El puerto IMAP debe ser menor que 65536", "folderLimitMustBeNumber": "El límite de carpetas debe ser un número", "folderLimitMustBeAtLeast100": "El límite de carpetas debe ser de al menos 100", "incrementalSyncMustBeNumber": "El intervalo de sincronización incremental debe ser un número", "incrementalSyncMustBeAtLeast10": "El intervalo de sincronización incremental debe ser de al menos 10 minutos", "pleaseEnterUsernameOrEmail": "Por favor, introduzca su nombre de usuario o correo electrónico" }, "table": { "noResults": "No se encontraron resultados", "loading": "Cargando...", "page": "Página", "of": "de", "rowsPerPage": "Filas por página", "showing": "Mostrando", "to": "a", "results": "resultados", "asc": "Asc", "desc": "Desc", "hide": "Ocultar", "edit": "Editar", "delete": "Eliminar", "pagination": { "selected": "{{selected}} / {{total}} fila(s) seleccionada(s).", "fixed_page_size": "{{size}} filas por página.", "rows_per_page": "Filas por página", "page_info": "Página {{page}} de {{total}}", "first": "Primera página", "previous": "Página anterior", "next": "Página siguiente", "last": "Última página" } }, "proxyDelete": { "title": "Eliminar Proxy", "successTitle": "Eliminación exitosa", "successDesc": "El proxy ha sido eliminado con éxito.", "close": "Cerrar", "failedTitle": "Error al eliminar el proxy", "failedDesc": "Error al eliminar, por favor, inténtalo de nuevo más tarde", "tryAgain": "Intentar de nuevo", "confirmText": "¿Estás seguro de que quieres eliminar", "permanent": "Esta acción eliminará permanentemente el Proxy del sistema. Esto no se puede deshacer.", "proxyIdLabel": "ID del Proxy:", "proxyIdPlaceholder": "Introduce el ID del Proxy para confirmar la eliminación.", "warningTitle": "¡Advertencia!", "warningDesc": "Por favor, ten cuidado, esta acción no se puede deshacer.", "deleteBtn": "Eliminar" }, "systemConfig": { "pageTitle": "Configuraciones a nivel de sistema", "pageDescription": "Estos parámetros se inicializan mediante indicadores CLI o variables de entorno. Actualmente son de solo lectura.", "status": { "enabled": "Habilitado", "disabled": "Deshabilitado", "configured": "Configurado", "missing": "Faltante", "auto": "Auto", "notSet": "No establecido" }, "sections": { "network": { "title": "Red", "desc": "HTTP y acceso público" }, "cors": { "title": "CORS", "desc": "Reglas de acceso de origen cruzado" }, "logging": { "title": "Registro", "desc": "Comportamiento de salida de logs" }, "storage": { "title": "Almacenamiento y Caché", "desc": "Rutas de base de datos y límites" }, "security": { "title": "Seguridad", "desc": "Autenticación y cifrado" }, "performance": { "title": "Rendimiento", "desc": "Concurrencia y compresión" } } }, "apiTokens": { "page": { "loadError": "Error al cargar los tokens API.", "emptyTitle": "Sin tokens API", "emptyDescription": "Aún no has creado ningún token API. Haz clic abajo para crear uno.", "addBtn": "Añadir token" }, "list": { "unnamedToken": "Token sin nombre", "statusActive": "Activo", "statusExpired": "Expirado", "neverExpires": "Nunca expira", "expiresOnShort": "Expira el {{date}}", "tokenLabel": "Token", "createdLabel": "Creado el", "lastUsedLabel": "Último uso", "expiresOnLabel": "Expira el", "neverUsed": "Nunca", "neverLabel": "Nunca", "deleteBtn": "Eliminar token" }, "dialog": { "createTitle": "Crear token de acceso", "editTitle": "Editar token de acceso", "description": "Haz clic en guardar cuando hayas terminado.", "save": "Guardar", "saveChanges": "Guardar cambios" }, "deleteDialog": { "title": "¿Eliminar token de acceso?", "description": "Esta acción no se puede deshacer. Cualquier aplicación que use este token perderá el acceso inmediatamente.", "cancel": "Cancelar", "confirm": "Eliminar", "deleting": "Eliminando..." }, "form": { "nameLabel": "Nombre", "namePlaceholder": "Dale a este token un nombre corto", "nameDescription": "Opcional · Máx. 32 caracteres", "expirationLabel": "Expiración", "expirationPlaceholder": "Seleccionar expiración", "expirationDescription": "Los tokens expirarán automáticamente después del tiempo seleccionado.", "never": "Nunca", "1day": "1 día", "7days": "7 días", "30days": "30 días", "errorMax": "Máx. 32 caracteres", "errorNumber": "Debe ser un número", "errorInt": "Debe ser un número entero", "errorPositive": "Debe ser mayor que 0" }, "notifications": { "createSuccess": "Token de acceso creado", "createSuccessDesc": "El token de acceso se ha creado correctamente.", "updateSuccess": "Token de acceso actualizado", "updateSuccessDesc": "El token de acceso se ha actualizado correctamente.", "createFailed": "Error al crear", "updateFailed": "Error al actualizar", "deleteSuccess": "Token de acceso eliminado correctamente", "deleteFailed": "Error al eliminar el token", "copied": "Copiado al portapapeles", "genericError": "Operación fallida. Por favor, inténtalo de nuevo.", "close": "Cerrar", "tryAgain": "Reintentar" } }, "permission": { "scope": { "global": "Global", "account": "Cuenta #{{id}}" }, "dialog": { "global_title": "Permisos globales", "account_title": "Permisos de cuenta", "global_description": "Permisos de todo el sistema otorgados a este usuario.", "account_description": "Permisos limitados a la cuenta seleccionada." }, "category": { "system_identity": "Sistema e identidad", "global_data": "Datos globales (Admin)", "account": "Permisos de cuenta" }, "system": { "access": "Acceso básico al sistema", "root": "Control total del sistema" }, "user": { "manage": "Gestionar todos los usuarios", "view": "Ver nombres de usuario básicos" }, "token": { "manage": "Gestionar tokens de acceso" }, "account": { "create": "Crear cuentas de correo", "manage": "Gestionar cuentas asignadas", "manage_all": "Gestionar todas las configuraciones de cuentas", "read_details": "Leer detalles de la cuenta" }, "data": { "read": "Leer datos de correo asignados", "read_all": "Leer todos los datos de correo", "manage": "Gestionar metadatos de correo asignados", "manage_all": "Gestionar todos los metadatos de correo", "raw_download": "Descargar correos sin procesar asignados", "raw_download_all": "Descargar todos los correos sin procesar", "delete": "Eliminar correos asignados", "delete_all": "Eliminar correos de todas las cuentas", "export_batch": "Exportar datos asignados por lotes", "export_batch_all": "Exportar todos los datos por lotes", "import_batch": "Importar datos de correo por lotes" } }, "users": { "columns": { "id": "ID", "avatar": "Avatar", "username": "Nombre de usuario", "email": "Correo electrónico", "roles": "Roles y permisos", "created_at": "Creado el", "updated_at": "Actualizado el", "actions": "Acciones" }, "buttons": { "add": "Añadir usuario", "add_new": "Nuevo usuario" }, "empty": { "title": "No se encontraron usuarios", "description": "Haga clic en el botón de abajo para añadir su primer usuario." }, "nav": { "users": "Usuarios", "roles": "Roles", "api_tokens": "Tokens de API" }, "api_tokens": { "empty": { "title": "No se encontraron tokens de API", "description": "Aún no se han generado tokens de API en el sistema." }, "button": { "generate": "Generar nuevo token" }, "toolbar": { "search_placeholder": "Buscar por nombre, propietario o token..." }, "table": { "name": "Nombre", "type": "Tipo", "last_used": "Último uso", "expires_at": "Expira el", "owner": "Propietario", "created": "Creado", "api_key": "Clave API", "web_ui": "Interfaz Web", "never": "Nunca", "permanent": "Permanente", "expired": "Expirado", "unnamed": "Token sin nombre" }, "unnamed": "Token sin nombre", "delete": { "title": "Eliminar token de API", "desc": "Está a punto de eliminar este token de API de forma permanente", "prefix": "Prefijo del token", "irreversible": "Esta acción no se puede deshacer. Cualquier aplicación que utilice este token perderá el acceso de inmediato.", "confirm_label": "Para confirmar, escriba {{word}} a continuación:", "confirm_placeholder": "Escriba \"{{word}}\" para confirmar", "warning_title": "Advertencia", "warning_desc": "Cualquier script o servicio que utilice este token fallará. Asegúrese de haber actualizado sus sistemas.", "confirm_button": "Eliminar token", "deleting": "Eliminando..." }, "toast": { "deleted_title": "Token de API eliminado", "deleted_desc": "El token \"{{name}}\" ha sido eliminado con éxito.", "delete_failed_title": "Error al eliminar", "delete_failed": "No se pudo eliminar el token, inténtelo de nuevo." } }, "tokens": { "schema": { "name_max": "Máximo 32 caracteres", "expire_number": "Debe ser un número", "expire_int": "Debe ser un número entero", "expire_positive": "Debe ser mayor que 0" }, "toast": { "update_success_title": "Token actualizado", "update_success_desc": "Token de acceso actualizado con éxito.", "create_success_title": "Token creado", "create_success_desc": "Token de acceso creado con éxito.", "update_failed_title": "Error al actualizar", "create_failed_title": "Error al crear" }, "error": { "fallback": "La operación falló, inténtelo de nuevo más tarde." }, "dialog": { "edit_title": "Editar token de acceso", "create_title": "Crear token de acceso", "description": "Haga clic en guardar al terminar." }, "fields": { "name_label": "Nombre", "name_placeholder": "Asigne un nombre corto al token", "name_hint": "Opcional · Máx 32 caracteres", "expire_label": "Expiración", "expire_placeholder": "Elija la expiración", "expire_hint": "El token expirará automáticamente después del tiempo seleccionado." }, "expire_options": { "never": "Nunca expira", "1_day": "1 día", "7_days": "7 días", "30_days": "30 días" } }, "tokens_action": { "dialog": { "title": "Tokens de API", "description": "Administrar tokens de API para este usuario." }, "empty": { "title": "Sin tokens de API", "description": "Este usuario no tiene tokens de API en este momento." }, "buttons": { "add": "Añadir token" }, "list": { "unnamed_token": "Token sin nombre", "status_expired": "Expirado", "status_active": "Activo", "expires_on_brief": "Expira el {{date}}", "never_expires": "Nunca expira", "label_token": "Token", "label_created": "Creado el", "label_last_used": "Último uso", "label_expires_at": "Fecha de expiración", "never": "Nunca", "button_delete": "Eliminar token" }, "delete_dialog": { "title": "¿Eliminar token de acceso?", "description": "Esta acción es irreversible." } }, "actions": { "schema": { "account_required": "Seleccione una cuenta", "role_required": "Seleccione un rol", "username_required": "El nombre de usuario es obligatorio", "username_min": "Mínimo 5 caracteres", "username_max": "Máximo 32 caracteres", "email_required": "El correo es obligatorio", "email_invalid": "Ingrese un correo válido", "global_role_required": "Asigne al menos un rol global", "description_max": "Descripción máx 256 caracteres", "ip_invalid": "Dirección IP inválida", "password_required": "La contraseña es obligatoria", "password_min": "Mínimo 8 caracteres", "password_max": "Máximo 256 caracteres" }, "toast": { "updated": "Usuario actualizado", "created": "Usuario creado" }, "dialog": { "edit_title": "Editar usuario: {{name}}", "create_title": "Crear nuevo usuario", "subtitle": "Configure identidad, niveles de acceso y políticas de seguridad." }, "tabs": { "general": "General", "permissions": "Permisos de cuenta", "security": "Seguridad y ACL" }, "sections": { "basic": "Identidad básica", "global": "Permisos globales", "mail_access": "Control de acceso de correo", "mail_access_subtitle": "Cuentas de correo que este usuario puede administrar.", "policy": "Políticas" }, "fields": { "username": "Nombre de usuario", "username_hint": "Identificador único para el inicio de sesión.", "email": "Correo electrónico", "email_hint": "Contacto principal y notificaciones.", "password": "Contraseña", "password_placeholder_create": "Mínimo 8 caracteres", "password_placeholder_edit": "Dejar vacío para mantener la actual", "password_hint_create": "Contraseña segura para la configuración inicial.", "password_hint_edit": "Ingrese una nueva solo si desea cambiarla.", "global_roles_hint": "Asigne permisos de sistema.", "description": "Descripción (opcional)", "description_placeholder": "Notas sobre este usuario...", "description_hint": "Notas internas (máx 256 caracteres).", "select_account": "Elegir cuenta", "assign_role": "Asignar rol", "ip_whitelist": "Lista blanca de IP", "ip_whitelist_hint": "Restringir inicio de sesión a estas IP (una por línea).", "rate_quota": "Cuota de tasa", "burst_interval": "Intervalo de ráfaga (seg)" }, "buttons": { "add_account": "Añadir cuenta", "update": "Actualizar usuario", "create": "Crear usuario" }, "states": { "full_access": "Modo de acceso completo", "full_access_desc": "Los administradores tienen acceso a todas las cuentas por defecto.", "no_accounts": "No se han asignado cuentas específicas.", "security_disabled": "Las políticas de seguridad están desactivadas." }, "api_tokens": "Tokens de API", "placeholder": { "filter": "Buscar usuarios..." }, "delete": { "title": "Eliminar usuario", "confirm_msg": "Está eliminando al usuario {{name}} (ID: {{id}}) de forma permanente.", "irreversible": "Esta acción es irreversible.", "input_label": "Escriba el ID de usuario para confirmar:", "placeholder": "Escriba \"{{id}}\"", "alert_title": "Atención: Acción permanente.", "alert_desc": "El usuario y todos los datos relacionados serán borrados.", "button_confirm": "Eliminar usuario", "button_deleting": "Eliminando...", "toast": { "success_title": "Usuario eliminado", "success_desc": "El usuario \"{{name}}\" ha sido removido.", "failed_title": "Error al eliminar", "failed_fallback": "No se pudo eliminar al usuario." } } } }, "roles": { "title": { "create": "Crear nuevo rol", "edit": "Editar rol: {{name}}" }, "description_hint": "Defina el alcance de acceso y los permisos.", "form": { "name_label": "Nombre del rol", "type_label": "Tipo de rol", "desc_label": "Descripción", "matrix_label": "Matriz de permisos ({{type}})", "builtin_badge": "Rol del sistema", "builtin_desc": "Este rol está predefinido y es de solo lectura." }, "types": { "Global": "Global", "Account": "Cuenta" }, "categories": { "identity": "Identidad y Gestión", "global_data": "Acceso a datos globales", "account_resource": "Acceso a recursos de cuenta" }, "actions": { "cancel": "Cancelar", "submit_create": "Crear rol", "submit_update": "Actualizar rol", "success_create": "Rol creado con éxito", "success_update": "Rol actualizado con éxito", "failed": "La operación falló", "close": "Cerrar", "retry": "Reintentar", "add": "Añadir rol" }, "validation": { "name_required": "El nombre del rol es obligatorio", "perm_required": "Seleccione al menos un permiso" }, "columns": { "id": "ID", "name": "Nombre", "role_type": "Tipo", "permissions": "Permisos", "created_at": "Creado el", "updated_at": "Actualizado el" }, "placeholder": { "filter": "Buscar roles..." }, "delete": { "dialog_title": "Eliminar rol", "warning_text": "Está eliminando el rol {{name}} (ID: {{id}}) de forma permanente.", "irreversible": "Esta acción no se puede deshacer.", "confirm_label": "Escriba el ID del rol para confirmar:", "placeholder": "Escriba \"{{id}}\"", "alert_title": "Atención: Acción permanente.", "alert_desc": "Eliminar este rol lo quitará de todos los usuarios a los que esté asignado.", "confirm_btn": "Eliminar rol", "deleting": "Eliminando...", "success_title": "Rol eliminado", "success_desc": "El rol \"{{name}}\" ha sido removido.", "error_title": "Error al eliminar", "error_fallback": "No se pudo eliminar el rol." }, "details": { "title": "Permisos: {{name}}", "unknown": "Rol desconocido", "role_badge": "Rol {{type}}", "desc_global": "Gestión global y acceso al sistema.", "desc_account": "Acceso y acciones de datos para cuentas individuales.", "close_btn": "Cerrar", "view_permissions": "Ver detalles" }, "empty": { "title": "No se encontraron roles", "desc": "Aún no ha creado ningún rol personalizado." } }, "profile": { "avatar_alt": "Avatar", "menu": { "profile": "Perfil", "settings": "Configuración", "sign_out": "Cerrar sesión" } }, "sign_out": { "title": "Cerrar sesión", "desc": "¿Está seguro de que desea cerrar sesión? Necesitará iniciar sesión nuevamente para acceder a su cuenta.", "confirm": "Cerrar sesión" }, "restore_message": { "title": "Restaurar mensajes", "desc": "Esta acción volverá a cargar los mensajes seleccionados de Bichon y los restaurará en sus carpetas correspondientes en el servidor IMAP.", "confirm": "Restaurar", "restore_to_imap": "Restaurar correo", "success": "Mensajes restaurados", "successDesc": "Los mensajes seleccionados se han restaurado correctamente en el servidor IMAP.", "failed": "Error al restaurar los mensajes", "failedTitle": "Error de restauración" } }