diff --git a/messages/es-ES.json b/messages/es-ES.json
index 2fc52b885..39a2919f8 100644
--- a/messages/es-ES.json
+++ b/messages/es-ES.json
@@ -148,6 +148,11 @@
"createLink": "Crear enlace",
"resourcesNotFound": "No se encontraron recursos",
"resourceSearch": "Buscar recursos",
+ "machineSearch": "Buscar máquinas",
+ "machinesSearch": "Buscar clientes...",
+ "machineNotFound": "No hay máquinas",
+ "userDeviceSearch": "Buscar dispositivos de usuario",
+ "userDevicesSearch": "Buscar dispositivos de usuario...",
"openMenu": "Abrir menú",
"resource": "Recurso",
"title": "Título",
@@ -323,6 +328,54 @@
"apiKeysDelete": "Borrar Clave API",
"apiKeysManage": "Administrar claves API",
"apiKeysDescription": "Las claves API se utilizan para autenticar con la API de integración",
+ "provisioningKeysTitle": "Clave de aprovisionamiento",
+ "provisioningKeysManage": "Administrar Claves de Aprovisionamiento",
+ "provisioningKeysDescription": "Las claves de aprovisionamiento se utilizan para autenticar la provisión automatizada del sitio para su organización.",
+ "provisioningManage": "Aprovisionamiento",
+ "provisioningDescription": "Administrar las claves de aprovisionamiento y revisar los sitios pendientes de aprobación.",
+ "pendingSites": "Sitios pendientes",
+ "siteApproveSuccess": "Sitio aprobado con éxito",
+ "siteApproveError": "Error al aprobar el sitio",
+ "provisioningKeys": "Claves de aprovisionamiento",
+ "searchProvisioningKeys": "Buscar claves de suministro...",
+ "provisioningKeysAdd": "Generar clave de aprovisionamiento",
+ "provisioningKeysErrorDelete": "Error al eliminar la clave de aprovisionamiento",
+ "provisioningKeysErrorDeleteMessage": "Error al eliminar la clave de aprovisionamiento",
+ "provisioningKeysQuestionRemove": "¿Está seguro que desea eliminar esta clave de aprovisionamiento de la organización?",
+ "provisioningKeysMessageRemove": "Una vez eliminada, la clave ya no se puede utilizar para la disposición del sitio.",
+ "provisioningKeysDeleteConfirm": "Confirmar Eliminar Clave de Aprovisionamiento",
+ "provisioningKeysDelete": "Eliminar clave de aprovisionamiento",
+ "provisioningKeysCreate": "Generar clave de aprovisionamiento",
+ "provisioningKeysCreateDescription": "Generar una nueva clave de aprovisionamiento para la organización",
+ "provisioningKeysSeeAll": "Ver todas las claves de aprovisionamiento",
+ "provisioningKeysSave": "Guardar la clave de aprovisionamiento",
+ "provisioningKeysSaveDescription": "Sólo podrás verlo una vez. Copítalo a un lugar seguro.",
+ "provisioningKeysErrorCreate": "Error al crear la clave de provisioning",
+ "provisioningKeysList": "Nueva clave de aprovisionamiento",
+ "provisioningKeysMaxBatchSize": "Tamaño máximo de lote",
+ "provisioningKeysUnlimitedBatchSize": "Tamaño ilimitado del lote (sin límite)",
+ "provisioningKeysMaxBatchUnlimited": "Ilimitado",
+ "provisioningKeysMaxBatchSizeInvalid": "Introduzca un tamaño máximo de lote válido (1–1,000,000).",
+ "provisioningKeysValidUntil": "Válido hasta",
+ "provisioningKeysValidUntilHint": "Dejar vacío para no expirar.",
+ "provisioningKeysValidUntilInvalid": "Introduzca una fecha y hora válidas.",
+ "provisioningKeysNumUsed": "Tiempos usados",
+ "provisioningKeysLastUsed": "Último uso",
+ "provisioningKeysNoExpiry": "No expiración",
+ "provisioningKeysNeverUsed": "Nunca",
+ "provisioningKeysEdit": "Editar clave de aprovisionamiento",
+ "provisioningKeysEditDescription": "Actualizar el tamaño máximo de lote y el tiempo de caducidad para esta clave.",
+ "provisioningKeysApproveNewSites": "Aprobar nuevos sitios",
+ "provisioningKeysApproveNewSitesDescription": "Aprobar automáticamente los sitios que se registran con esta clave.",
+ "provisioningKeysUpdateError": "Error al actualizar la clave de aprovisionamiento",
+ "provisioningKeysUpdated": "Clave de aprovisionamiento actualizada",
+ "provisioningKeysUpdatedDescription": "Sus cambios han sido guardados.",
+ "provisioningKeysBannerTitle": "Claves de aprovisionamiento del sitio",
+ "provisioningKeysBannerDescription": "Generar una clave de aprovisionamiento y usarla con el conector Newt para crear automáticamente sitios en el primer inicio — no es necesario configurar credenciales separadas para cada sitio.",
+ "provisioningKeysBannerButtonText": "Saber más",
+ "pendingSitesBannerTitle": "Sitios pendientes",
+ "pendingSitesBannerDescription": "Los sitios que se conectan usando una clave de aprovisionamiento aparecen aquí para su revisión. Aprobar cada sitio antes de que se active y obtenga acceso a sus recursos.",
+ "pendingSitesBannerButtonText": "Saber más",
"apiKeysSettings": "Ajustes {apiKeyName}",
"userTitle": "Administrar todos los usuarios",
"userDescription": "Ver y administrar todos los usuarios en el sistema",
@@ -509,9 +562,12 @@
"userSaved": "Usuario guardado",
"userSavedDescription": "El usuario ha sido actualizado.",
"autoProvisioned": "Auto asegurado",
+ "autoProvisionSettings": "Configuración de Auto Provision",
"autoProvisionedDescription": "Permitir a este usuario ser administrado automáticamente por el proveedor de identidad",
"accessControlsDescription": "Administrar lo que este usuario puede acceder y hacer en la organización",
"accessControlsSubmit": "Guardar controles de acceso",
+ "singleRolePerUserPlanNotice": "Tu plan sólo soporta un rol por usuario.",
+ "singleRolePerUserEditionNotice": "Esta edición sólo soporta un rol por usuario.",
"roles": "Roles",
"accessUsersRoles": "Administrar usuarios y roles",
"accessUsersRolesDescription": "Invitar usuarios y añadirlos a roles para administrar el acceso a la organización",
@@ -1119,6 +1175,7 @@
"setupTokenDescription": "Ingrese el token de configuración desde la consola del servidor.",
"setupTokenRequired": "Se requiere el token de configuración",
"actionUpdateSite": "Actualizar sitio",
+ "actionResetSiteBandwidth": "Restablecer ancho de banda de la organización",
"actionListSiteRoles": "Lista de roles permitidos del sitio",
"actionCreateResource": "Crear Recurso",
"actionDeleteResource": "Eliminar Recurso",
@@ -1148,7 +1205,7 @@
"actionRemoveUser": "Eliminar usuario",
"actionListUsers": "Listar usuarios",
"actionAddUserRole": "Añadir rol de usuario",
- "actionSetUserOrgRoles": "Set User Roles",
+ "actionSetUserOrgRoles": "Establecer roles de usuario",
"actionGenerateAccessToken": "Generar token de acceso",
"actionDeleteAccessToken": "Eliminar token de acceso",
"actionListAccessTokens": "Lista de Tokens de Acceso",
@@ -1265,6 +1322,7 @@
"sidebarRoles": "Roles",
"sidebarShareableLinks": "Enlaces",
"sidebarApiKeys": "Claves API",
+ "sidebarProvisioning": "Aprovisionamiento",
"sidebarSettings": "Ajustes",
"sidebarAllUsers": "Todos los usuarios",
"sidebarIdentityProviders": "Proveedores de identidad",
@@ -1890,6 +1948,40 @@
"exitNode": "Nodo de Salida",
"country": "País",
"rulesMatchCountry": "Actualmente basado en IP de origen",
+ "region": "Región",
+ "selectRegion": "Seleccionar región",
+ "searchRegions": "Buscar regiones...",
+ "noRegionFound": "Región no encontrada.",
+ "rulesMatchRegion": "Seleccione una agrupación regional de países",
+ "rulesErrorInvalidRegion": "Región no válida",
+ "rulesErrorInvalidRegionDescription": "Por favor, seleccione una región válida.",
+ "regionAfrica": "Africa",
+ "regionNorthernAfrica": "África septentrional",
+ "regionEasternAfrica": "África oriental",
+ "regionMiddleAfrica": "África central",
+ "regionSouthernAfrica": "África del Sur",
+ "regionWesternAfrica": "África Occidental",
+ "regionAmericas": "Américas",
+ "regionCaribbean": "Caribe",
+ "regionCentralAmerica": "América Central",
+ "regionSouthAmerica": "América del Sur",
+ "regionNorthernAmerica": "América del Norte",
+ "regionAsia": "Asia",
+ "regionCentralAsia": "Asia Central",
+ "regionEasternAsia": "Asia oriental",
+ "regionSouthEasternAsia": "Asia sudoriental",
+ "regionSouthernAsia": "Asia meridional",
+ "regionWesternAsia": "Asia Occidental",
+ "regionEurope": "Europa",
+ "regionEasternEurope": "Europa del Este",
+ "regionNorthernEurope": "Europa septentrional",
+ "regionSouthernEurope": "Europa meridional",
+ "regionWesternEurope": "Europa Occidental",
+ "regionOceania": "Oceania",
+ "regionAustraliaAndNewZealand": "Australia y Nueva Zelanda",
+ "regionMelanesia": "Melanesia",
+ "regionMicronesia": "Micronesia",
+ "regionPolynesia": "Polynesia",
"managedSelfHosted": {
"title": "Autogestionado",
"description": "Servidor Pangolin autoalojado más fiable y de bajo mantenimiento con campanas y silbidos extra",
@@ -1938,6 +2030,25 @@
"invalidValue": "Valor inválido",
"idpTypeLabel": "Tipo de proveedor de identidad",
"roleMappingExpressionPlaceholder": "e.g., contiene(grupos, 'administrador') && 'administrador' || 'miembro'",
+ "roleMappingModeFixedRoles": "Roles fijos",
+ "roleMappingModeMappingBuilder": "Constructor de mapeo",
+ "roleMappingModeRawExpression": "Expresión sin procesar",
+ "roleMappingFixedRolesPlaceholderSelect": "Seleccione uno o más roles",
+ "roleMappingFixedRolesPlaceholderFreeform": "Nombre de rol de tipo (coincidencia exacta por organización)",
+ "roleMappingFixedRolesDescriptionSameForAll": "Asignar el mismo rol establecido a cada usuario auto-provisionado.",
+ "roleMappingFixedRolesDescriptionDefaultPolicy": "Para las políticas predeterminadas, escriba nombres de roles que existen en cada organización donde los usuarios son proporcionados. Los nombres deben coincidir exactamente.",
+ "roleMappingClaimPath": "Reclamar ruta",
+ "roleMappingClaimPathPlaceholder": "grupos",
+ "roleMappingClaimPathDescription": "Ruta en el payload del token que contiene valores de origen (por ejemplo, grupos).",
+ "roleMappingMatchValue": "Valor de partida",
+ "roleMappingAssignRoles": "Asignar roles",
+ "roleMappingAddMappingRule": "Añadir regla de mapeo",
+ "roleMappingRawExpressionResultDescription": "La expresión debe evaluar a un array de cadenas o cadenas.",
+ "roleMappingRawExpressionResultDescriptionSingleRole": "La expresión debe evaluar una cadena (un solo nombre de rol).",
+ "roleMappingMatchValuePlaceholder": "Valor coincidente (por ejemplo: admin)",
+ "roleMappingAssignRolesPlaceholderFreeform": "Escriba nombres de rol (exacto por org)",
+ "roleMappingBuilderFreeformRowHint": "Los nombres de rol deben coincidir con un rol en cada organización objetivo.",
+ "roleMappingRemoveRule": "Eliminar",
"idpGoogleConfiguration": "Configuración de Google",
"idpGoogleConfigurationDescription": "Configurar las credenciales de Google OAuth2",
"idpGoogleClientIdDescription": "Google OAuth2 Client ID",
@@ -2334,6 +2445,8 @@
"logRetentionAccessDescription": "Cuánto tiempo retener los registros de acceso",
"logRetentionActionLabel": "Retención de registro de acción",
"logRetentionActionDescription": "Cuánto tiempo retener los registros de acción",
+ "logRetentionConnectionLabel": "Retención de Registro de Conexión",
+ "logRetentionConnectionDescription": "Cuánto tiempo conservar los registros de conexión",
"logRetentionDisabled": "Deshabilitado",
"logRetention3Days": "3 días",
"logRetention7Days": "7 días",
@@ -2344,6 +2457,13 @@
"logRetentionEndOfFollowingYear": "Fin del año siguiente",
"actionLogsDescription": "Ver un historial de acciones realizadas en esta organización",
"accessLogsDescription": "Ver solicitudes de acceso a los recursos de esta organización",
+ "connectionLogs": "Registros de conexión",
+ "connectionLogsDescription": "Ver registros de conexión para túneles en esta organización",
+ "sidebarLogsConnection": "Registros de conexión",
+ "sidebarLogsStreaming": "Transmisión",
+ "sourceAddress": "Dirección de origen",
+ "destinationAddress": "Dirección de destino",
+ "duration": "Duración",
"licenseRequiredToUse": "Se requiere una licencia Enterprise Edition o Pangolin Cloud para usar esta función. Reserve una demostración o prueba POC.",
"ossEnterpriseEditionRequired": "La Enterprise Edition es necesaria para utilizar esta función. Esta función también está disponible en Pangolin Cloud. Reserva una demostración o prueba POC.",
"certResolver": "Resolver certificado",
@@ -2683,5 +2803,90 @@
"approvalsEmptyStateStep2Description": "Editar un rol y habilitar la opción 'Requerir aprobaciones de dispositivos'. Los usuarios con este rol necesitarán la aprobación del administrador para nuevos dispositivos.",
"approvalsEmptyStatePreviewDescription": "Vista previa: Cuando está habilitado, las solicitudes de dispositivo pendientes aparecerán aquí para su revisión",
"approvalsEmptyStateButtonText": "Administrar roles",
- "domainErrorTitle": "Estamos teniendo problemas para verificar su dominio"
+ "domainErrorTitle": "Estamos teniendo problemas para verificar su dominio",
+ "idpAdminAutoProvisionPoliciesTabHint": "Configure el mapeo de roles y las políticas de organización en la pestaña Configuración de provisión automática.",
+ "streamingTitle": "Transmisión de Eventos",
+ "streamingDescription": "Transmita eventos desde su organización a destinos externos en tiempo real.",
+ "streamingUnnamedDestination": "Destino sin nombre",
+ "streamingNoUrlConfigured": "No hay URL configurada",
+ "streamingAddDestination": "Añadir destino",
+ "streamingHttpWebhookTitle": "Webhook HTTP",
+ "streamingHttpWebhookDescription": "Enviar eventos a cualquier extremo HTTP con autenticación flexible y plantilla.",
+ "streamingS3Title": "Amazon S3",
+ "streamingS3Description": "Transmite eventos a un bucket de almacenamiento de objetos compatible con S3. Próximamente.",
+ "streamingDatadogTitle": "Datadog",
+ "streamingDatadogDescription": "Reenviar eventos directamente a tu cuenta de Datadog. Próximamente.",
+ "streamingTypePickerDescription": "Elija un tipo de destino para empezar.",
+ "streamingFailedToLoad": "Error al cargar destinos",
+ "streamingUnexpectedError": "Se ha producido un error inesperado.",
+ "streamingFailedToUpdate": "Error al actualizar destino",
+ "streamingDeletedSuccess": "Destino eliminado correctamente",
+ "streamingFailedToDelete": "Error al eliminar destino",
+ "streamingDeleteTitle": "Eliminar destino",
+ "streamingDeleteButtonText": "Eliminar destino",
+ "streamingDeleteDialogAreYouSure": "¿Está seguro que desea eliminar",
+ "streamingDeleteDialogThisDestination": "este destino",
+ "streamingDeleteDialogPermanentlyRemoved": "? Toda la configuración se eliminará permanentemente.",
+ "httpDestEditTitle": "Editar destino",
+ "httpDestAddTitle": "Añadir destino HTTP",
+ "httpDestEditDescription": "Actualizar la configuración para este destino de transmisión de eventos HTTP.",
+ "httpDestAddDescription": "Configure un nuevo extremo HTTP para recibir los eventos de su organización.",
+ "httpDestTabSettings": "Ajustes",
+ "httpDestTabHeaders": "Encabezados",
+ "httpDestTabBody": "Cuerpo",
+ "httpDestTabLogs": "Registros",
+ "httpDestNamePlaceholder": "Mi destino HTTP",
+ "httpDestUrlLabel": "URL de destino",
+ "httpDestUrlErrorHttpRequired": "URL debe usar http o https",
+ "httpDestUrlErrorHttpsRequired": "HTTPS es necesario en implementaciones en la nube",
+ "httpDestUrlErrorInvalid": "Introduzca una URL válida (ej. https://example.com/webhook)",
+ "httpDestAuthTitle": "Autenticación",
+ "httpDestAuthDescription": "Elija cómo están autenticadas las solicitudes en su punto final.",
+ "httpDestAuthNoneTitle": "Sin autenticación",
+ "httpDestAuthNoneDescription": "Envía solicitudes sin un encabezado de autorización.",
+ "httpDestAuthBearerTitle": "Tóken de portador",
+ "httpDestAuthBearerDescription": "Añade una autorización: portador encabezado a cada solicitud.",
+ "httpDestAuthBearerPlaceholder": "Tu clave o token API",
+ "httpDestAuthBasicTitle": "Auth Básica",
+ "httpDestAuthBasicDescription": "Añade una Autorización: encabezado básico . Proporcione credenciales como nombre de usuario: contraseña.",
+ "httpDestAuthBasicPlaceholder": "usuario:contraseña",
+ "httpDestAuthCustomTitle": "Cabecera personalizada",
+ "httpDestAuthCustomDescription": "Especifique un nombre de cabecera HTTP personalizado y un valor para la autenticación (por ejemplo, X-API-Key).",
+ "httpDestAuthCustomHeaderNamePlaceholder": "Nombre de cabecera (ej. X-API-Key)",
+ "httpDestAuthCustomHeaderValuePlaceholder": "Valor de cabecera",
+ "httpDestCustomHeadersTitle": "Cabeceras HTTP personalizadas",
+ "httpDestCustomHeadersDescription": "Añadir cabeceras personalizadas a cada petición saliente. Útil para tokens estáticos o un tipo de contenido personalizado. De forma predeterminada, Content Type: application/json es enviado.",
+ "httpDestNoHeadersConfigured": "No hay cabeceras personalizadas. Haga clic en \"Añadir cabecera\" para añadir una.",
+ "httpDestHeaderNamePlaceholder": "Nombre de cabecera",
+ "httpDestHeaderValuePlaceholder": "Valor",
+ "httpDestAddHeader": "Añadir cabecera",
+ "httpDestBodyTemplateTitle": "Plantilla de cuerpo personalizada",
+ "httpDestBodyTemplateDescription": "Controla la estructura de carga de JSON enviada a tu punto final. Si está desactivado, se envía un objeto JSON por defecto para cada evento.",
+ "httpDestEnableBodyTemplate": "Activar plantilla de cuerpo personalizado",
+ "httpDestBodyTemplateLabel": "Plantilla de cuerpo (JSON)",
+ "httpDestBodyTemplateHint": "Utilice variables de plantilla para referenciar los campos del evento en su carga útil.",
+ "httpDestPayloadFormatTitle": "Formato de carga",
+ "httpDestPayloadFormatDescription": "Cómo se serializan los eventos en cada cuerpo de solicitud.",
+ "httpDestFormatJsonArrayTitle": "Matriz JSON",
+ "httpDestFormatJsonArrayDescription": "Una petición por lote, cuerpo es una matriz JSON. Compatible con la mayoría de los webhooks y Datadog.",
+ "httpDestFormatNdjsonTitle": "NDJSON",
+ "httpDestFormatNdjsonDescription": "Una petición por lote, el cuerpo es JSON delimitado por línea — un objeto por línea, sin arrays externos. Requerido por Splunk HEC, Elastic / OpenSearch, y Grafana Loki.",
+ "httpDestFormatSingleTitle": "Un evento por solicitud",
+ "httpDestFormatSingleDescription": "Envía un HTTP POST separado para cada evento individual. Úsalo sólo para los extremos que no pueden manejar lotes.",
+ "httpDestLogTypesTitle": "Tipos de Log",
+ "httpDestLogTypesDescription": "Elija qué tipos de registro son reenviados a este destino. Sólo los tipos de registro habilitados serán transmitidos.",
+ "httpDestAccessLogsTitle": "Registros de acceso",
+ "httpDestAccessLogsDescription": "Intentos de acceso a recursos, incluyendo solicitudes autenticadas y denegadas.",
+ "httpDestActionLogsTitle": "Registros de acción",
+ "httpDestActionLogsDescription": "Acciones administrativas realizadas por los usuarios dentro de la organización.",
+ "httpDestConnectionLogsTitle": "Registros de conexión",
+ "httpDestConnectionLogsDescription": "Eventos de conexión de sitios y túneles, incluyendo conexiones y desconexiones.",
+ "httpDestRequestLogsTitle": "Registros de Solicitud",
+ "httpDestRequestLogsDescription": "Registros de peticiones HTTP para recursos proxyficados, incluyendo método, ruta y código de respuesta.",
+ "httpDestSaveChanges": "Guardar Cambios",
+ "httpDestCreateDestination": "Crear destino",
+ "httpDestUpdatedSuccess": "Destino actualizado correctamente",
+ "httpDestCreatedSuccess": "Destino creado correctamente",
+ "httpDestUpdateFailed": "Error al actualizar destino",
+ "httpDestCreateFailed": "Error al crear el destino"
}