From ce3962f97a9b8d2e5c227c5e070efb5f0147e3ea Mon Sep 17 00:00:00 2001 From: Owen Schwartz Date: Sat, 20 Dec 2025 16:26:20 -0500 Subject: [PATCH] New translations en-us.json (Spanish) --- messages/es-ES.json | 145 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 120 insertions(+), 25 deletions(-) diff --git a/messages/es-ES.json b/messages/es-ES.json index 1ff02bca..084b73e1 100644 --- a/messages/es-ES.json +++ b/messages/es-ES.json @@ -1,5 +1,7 @@ { "setupCreate": "Crear la organización, el sitio y los recursos", + "headerAuthCompatibilityInfo": "Enable this to force a 401 Unauthorized response when an authentication token is missing. This is required for browsers or specific HTTP libraries that do not send credentials without a server challenge.", + "headerAuthCompatibility": "Extended compatibility", "setupNewOrg": "Nueva organización", "setupCreateOrg": "Crear organización", "setupCreateResources": "Crear Recursos", @@ -33,7 +35,7 @@ "password": "Contraseña", "confirmPassword": "Confirmar contraseña", "createAccount": "Crear cuenta", - "viewSettings": "Ver ajustes", + "viewSettings": "View Settings", "delete": "Eliminar", "name": "Nombre", "online": "En línea", @@ -51,6 +53,9 @@ "siteQuestionRemove": "¿Está seguro que desea eliminar el sitio de la organización?", "siteManageSites": "Administrar Sitios", "siteDescription": "Crear y administrar sitios para permitir la conectividad a redes privadas", + "sitesBannerTitle": "Connect Any Network", + "sitesBannerDescription": "A site is a connection to a remote network that allows Pangolin to provide access to resources, whether public or private, to users anywhere. Install the site network connector (Newt) anywhere you can run a binary or container to establish the connection.", + "sitesBannerButtonText": "Install Site", "siteCreate": "Crear sitio", "siteCreateDescription2": "Siga los pasos siguientes para crear y conectar un nuevo sitio", "siteCreateDescription": "Crear un nuevo sitio para empezar a conectar recursos", @@ -100,6 +105,7 @@ "siteTunnelDescription": "Determina cómo quieres conectarte al sitio", "siteNewtCredentials": "Credenciales", "siteNewtCredentialsDescription": "Así es como el sitio se autentificará con el servidor", + "remoteNodeCredentialsDescription": "This is how the remote node will authenticate with the server", "siteCredentialsSave": "Guardar las credenciales", "siteCredentialsSaveDescription": "Sólo podrás verlo una vez. Asegúrate de copiarlo a un lugar seguro.", "siteInfo": "Información del sitio", @@ -146,8 +152,12 @@ "shareErrorSelectResource": "Por favor, seleccione un recurso", "proxyResourceTitle": "Administrar recursos públicos", "proxyResourceDescription": "Crear y administrar recursos que sean accesibles públicamente a través de un navegador web", + "proxyResourcesBannerTitle": "Web-based Public Access", + "proxyResourcesBannerDescription": "Public resources are HTTPS or TCP/UDP proxies accessible to anyone on the internet through a web browser. Unlike private resources, they do not require client-side software and can include identity and context-aware access policies.", "clientResourceTitle": "Administrar recursos privados", "clientResourceDescription": "Crear y administrar recursos que sólo son accesibles a través de un cliente conectado", + "privateResourcesBannerTitle": "Zero-Trust Private Access", + "privateResourcesBannerDescription": "Private resources use zero-trust security, ensuring users and machines can only access resources you explicitly grant. Connect user devices or machine clients to access these resources over a secure virtual private network.", "resourcesSearch": "Buscar recursos...", "resourceAdd": "Añadir Recurso", "resourceErrorDelte": "Error al eliminar el recurso", @@ -157,9 +167,9 @@ "resourceMessageRemove": "Una vez eliminado, el recurso ya no será accesible. Todos los objetivos asociados con el recurso también serán eliminados.", "resourceQuestionRemove": "¿Está seguro que desea eliminar el recurso de la organización?", "resourceHTTP": "HTTPS Recurso", - "resourceHTTPDescription": "Solicitudes de proxy a la aplicación sobre HTTPS usando un subdominio o dominio base.", + "resourceHTTPDescription": "Proxy requests over HTTPS using a fully qualified domain name.", "resourceRaw": "Recurso TCP/UDP sin procesar", - "resourceRawDescription": "Solicitudes de proxy a la aplicación a través de TCP/UDP usando un número de puerto. Esto solo funciona cuando los sitios están conectados a nodos.", + "resourceRawDescription": "Proxy requests over raw TCP/UDP using a port number.", "resourceCreate": "Crear Recurso", "resourceCreateDescription": "Siga los siguientes pasos para crear un nuevo recurso", "resourceSeeAll": "Ver todos los recursos", @@ -419,7 +429,7 @@ "userErrorExistsDescription": "Este usuario ya es miembro de la organización.", "inviteError": "Error al invitar al usuario", "inviteErrorDescription": "Ocurrió un error mientras se invitaba al usuario", - "userInvited": "Usuario invitado", + "userInvited": "User Invited", "userInvitedDescription": "El usuario ha sido invitado con éxito.", "userErrorCreate": "Error al crear el usuario", "userErrorCreateDescription": "Se ha producido un error al crear el usuario", @@ -687,7 +697,7 @@ "resourceRoleDescription": "Los administradores siempre pueden acceder a este recurso.", "resourceUsersRoles": "Controles de acceso", "resourceUsersRolesDescription": "Configurar qué usuarios y roles pueden visitar este recurso", - "resourceUsersRolesSubmit": "Guardar usuarios y roles", + "resourceUsersRolesSubmit": "Save Access Controls", "resourceWhitelistSave": "Guardado correctamente", "resourceWhitelistSaveDescription": "Se han guardado los ajustes de la lista blanca", "ssoUse": "Usar Plataforma SSO", @@ -945,7 +955,7 @@ "pincodeAuth": "Código de autenticación", "pincodeSubmit2": "Enviar código", "passwordResetSubmit": "Reiniciar Solicitud", - "passwordResetAlreadyHaveCode": "Introduzca el código de restablecimiento de contraseña", + "passwordResetAlreadyHaveCode": "Enter Code", "passwordResetSmtpRequired": "Póngase en contacto con su administrador", "passwordResetSmtpRequiredDescription": "Se requiere un código de restablecimiento de contraseña para restablecer su contraseña. Póngase en contacto con su administrador para obtener asistencia.", "passwordBack": "Volver a la contraseña", @@ -1035,6 +1045,7 @@ "updateOrgUser": "Actualizar usuario Org", "createOrgUser": "Crear usuario Org", "actionUpdateOrg": "Actualizar organización", + "actionRemoveInvitation": "Remove Invitation", "actionUpdateUser": "Actualizar usuario", "actionGetUser": "Obtener usuario", "actionGetOrgUser": "Obtener usuario de la organización", @@ -1044,6 +1055,8 @@ "actionGetSite": "Obtener sitio", "actionListSites": "Listar sitios", "actionApplyBlueprint": "Aplicar plano", + "actionListBlueprints": "List Blueprints", + "actionGetBlueprint": "Get Blueprint", "setupToken": "Configuración de token", "setupTokenDescription": "Ingrese el token de configuración desde la consola del servidor.", "setupTokenRequired": "Se requiere el token de configuración", @@ -1194,7 +1207,7 @@ "sidebarUserDevices": "Usuarios", "sidebarMachineClients": "Máquinas", "sidebarDomains": "Dominios", - "sidebarGeneral": "General", + "sidebarGeneral": "Manage", "sidebarLogAndAnalytics": "Registro y análisis", "sidebarBluePrints": "Planos", "sidebarOrganization": "Organización", @@ -1308,8 +1321,11 @@ "accountSetupSuccess": "¡Configuración de cuenta completada! ¡Bienvenido a Pangolin!", "documentation": "Documentación", "saveAllSettings": "Guardar todos los ajustes", + "saveResourceTargets": "Save Targets", + "saveResourceHttp": "Save Proxy Settings", + "saveProxyProtocol": "Save Proxy protocol settings", "settingsUpdated": "Ajustes actualizados", - "settingsUpdatedDescription": "Todos los ajustes han sido actualizados exitosamente", + "settingsUpdatedDescription": "Settings updated successfully", "settingsErrorUpdate": "Error al actualizar ajustes", "settingsErrorUpdateDescription": "Ocurrió un error al actualizar ajustes", "sidebarCollapse": "Colapsar", @@ -1616,9 +1632,8 @@ "createInternalResourceDialogResourceProperties": "Propiedades del recurso", "createInternalResourceDialogName": "Nombre", "createInternalResourceDialogSite": "Sitio", - "createInternalResourceDialogSelectSite": "Seleccionar sitio...", - "createInternalResourceDialogSearchSites": "Buscar sitios...", - "createInternalResourceDialogNoSitesFound": "Sitios no encontrados.", + "selectSite": "Select site...", + "noSitesFound": "No sites found.", "createInternalResourceDialogProtocol": "Protocolo", "createInternalResourceDialogTcp": "TCP", "createInternalResourceDialogUdp": "UDP", @@ -1658,7 +1673,7 @@ "siteAddressDescription": "La dirección interna del sitio. Debe estar dentro de la subred de la organización.", "siteNameDescription": "El nombre mostrado del sitio que se puede cambiar más adelante.", "autoLoginExternalIdp": "Inicio de sesión automático con IDP externo", - "autoLoginExternalIdpDescription": "Redirigir inmediatamente al usuario al IDP externo para autenticación.", + "autoLoginExternalIdpDescription": "Immediately redirect the user to the external identity provider for authentication.", "selectIdp": "Seleccionar IDP", "selectIdpPlaceholder": "Elegir un IDP...", "selectIdpRequired": "Por favor seleccione un IDP cuando el inicio de sesión automático esté habilitado.", @@ -1670,7 +1685,7 @@ "autoLoginErrorNoRedirectUrl": "No se recibió URL de redirección del proveedor de identidad.", "autoLoginErrorGeneratingUrl": "Error al generar URL de autenticación.", "remoteExitNodeManageRemoteExitNodes": "Nodos remotos", - "remoteExitNodeDescription": "Autoalojar uno o más nodos remotos para extender la conectividad de red y reducir la dependencia de la nube", + "remoteExitNodeDescription": "Self-host your own remote relay and proxy server nodes", "remoteExitNodes": "Nodos", "searchRemoteExitNodes": "Buscar nodos...", "remoteExitNodeAdd": "Añadir Nodo", @@ -1680,20 +1695,22 @@ "remoteExitNodeConfirmDelete": "Confirmar eliminar nodo", "remoteExitNodeDelete": "Eliminar Nodo", "sidebarRemoteExitNodes": "Nodos remotos", + "remoteExitNodeId": "ID", + "remoteExitNodeSecretKey": "Secret", "remoteExitNodeCreate": { - "title": "Crear Nodo", - "description": "Crear un nuevo nodo para extender la conectividad de red", + "title": "Create Remote Node", + "description": "Create a new self-hosted remote relay and proxy server node", "viewAllButton": "Ver todos los nodos", "strategy": { "title": "Estrategia de Creación", - "description": "Elija esto para configurar manualmente el nodo o generar nuevas credenciales.", + "description": "Select how you want to create the remote node", "adopt": { "title": "Adoptar Nodo", "description": "Elija esto si ya tiene las credenciales para el nodo." }, "generate": { "title": "Generar Claves", - "description": "Elija esto si desea generar nuevas claves para el nodo" + "description": "Choose this if you want to generate new keys for the node." } }, "adopt": { @@ -1806,9 +1823,30 @@ "idpAzureDescription": "Microsoft Azure OAuth2/OIDC provider", "subnet": "Subred", "subnetDescription": "La subred para la configuración de red de esta organización.", - "authPage": "Página Auth", - "authPageDescription": "Configurar la página de autenticación para la organización", + "customDomain": "Custom Domain", + "authPage": "Authentication Pages", + "authPageDescription": "Set a custom domain for the organization's authentication pages", "authPageDomain": "Dominio de la página Auth", + "authPageBranding": "Custom Branding", + "authPageBrandingDescription": "Configure the branding that appears on authentication pages for this organization", + "authPageBrandingUpdated": "Auth page Branding updated successfully", + "authPageBrandingRemoved": "Auth page Branding removed successfully", + "authPageBrandingRemoveTitle": "Remove Auth Page Branding", + "authPageBrandingQuestionRemove": "Are you sure you want to remove the branding for Auth Pages ?", + "authPageBrandingDeleteConfirm": "Confirm Delete Branding", + "brandingLogoURL": "Logo URL", + "brandingPrimaryColor": "Primary Color", + "brandingLogoWidth": "Width (px)", + "brandingLogoHeight": "Height (px)", + "brandingOrgTitle": "Title for Organization Auth Page", + "brandingOrgDescription": "{orgName} will be replaced with the organization's name", + "brandingOrgSubtitle": "Subtitle for Organization Auth Page", + "brandingResourceTitle": "Title for Resource Auth Page", + "brandingResourceSubtitle": "Subtitle for Resource Auth Page", + "brandingResourceDescription": "{resourceName} will be replaced with the organization's name", + "saveAuthPageDomain": "Save Domain", + "saveAuthPageBranding": "Save Branding", + "removeAuthPageBranding": "Remove Branding", "noDomainSet": "Ningún dominio establecido", "changeDomain": "Cambiar dominio", "selectDomain": "Seleccionar dominio", @@ -1817,7 +1855,7 @@ "setAuthPageDomain": "Establecer dominio Auth Page", "failedToFetchCertificate": "Error al obtener el certificado", "failedToRestartCertificate": "Error al reiniciar el certificado", - "addDomainToEnableCustomAuthPages": "Añadir un dominio para habilitar páginas de autenticación personalizadas para la organización", + "addDomainToEnableCustomAuthPages": "Users will be able to access the organization's login page and complete resource authentication using this domain.", "selectDomainForOrgAuthPage": "Seleccione un dominio para la página de autenticación de la organización", "domainPickerProvidedDomain": "Dominio proporcionado", "domainPickerFreeProvidedDomain": "Dominio proporcionado gratis", @@ -1832,10 +1870,19 @@ "domainPickerInvalidSubdomainCannotMakeValid": "No se ha podido hacer válido \"{sub}\" para {domain}.", "domainPickerSubdomainSanitized": "Subdominio saneado", "domainPickerSubdomainCorrected": "\"{sub}\" fue corregido a \"{sanitized}\"", - "orgAuthSignInTitle": "Iniciar sesión en la organización", + "orgAuthSignInTitle": "Organization Sign In", "orgAuthChooseIdpDescription": "Elige tu proveedor de identidad para continuar", "orgAuthNoIdpConfigured": "Esta organización no tiene ningún proveedor de identidad configurado. En su lugar puedes iniciar sesión con tu identidad de Pangolin.", "orgAuthSignInWithPangolin": "Iniciar sesión con Pangolin", + "orgAuthSignInToOrg": "Sign in to an organization", + "orgAuthSelectOrgTitle": "Organization Sign In", + "orgAuthSelectOrgDescription": "Enter your organization ID to continue", + "orgAuthOrgIdPlaceholder": "your-organization", + "orgAuthOrgIdHelp": "Enter your organization's unique identifier", + "orgAuthSelectOrgHelp": "After entering your organization ID, you'll be taken to your organization's sign-in page where you can use SSO or your organization credentials.", + "orgAuthRememberOrgId": "Remember this organization ID", + "orgAuthBackToSignIn": "Back to standard sign in", + "orgAuthNoAccount": "Don't have an account?", "subscriptionRequiredToUse": "Se requiere una suscripción para utilizar esta función.", "idpDisabled": "Los proveedores de identidad están deshabilitados.", "orgAuthPageDisabled": "La página de autenticación de la organización está deshabilitada.", @@ -1850,6 +1897,8 @@ "enableTwoFactorAuthentication": "Habilitar autenticación de doble factor", "completeSecuritySteps": "Pasos de seguridad completos", "securitySettings": "Ajustes de seguridad", + "dangerSection": "Danger Zone", + "dangerSectionDescription": "Permanently delete all data associated with this organization", "securitySettingsDescription": "Configurar políticas de seguridad para la organización", "requireTwoFactorForAllUsers": "Requiere autenticación de doble factor para todos los usuarios", "requireTwoFactorDescription": "Cuando está activado, todos los usuarios internos de esta organización deben tener habilitada la autenticación de dos factores para acceder a la organización.", @@ -1887,7 +1936,7 @@ "securityPolicyChangeWarningText": "Esto afectará a todos los usuarios de la organización", "authPageErrorUpdateMessage": "Ocurrió un error mientras se actualizaban los ajustes de la página auth", "authPageErrorUpdate": "No se puede actualizar la página de autenticación", - "authPageUpdated": "Página auth actualizada correctamente", + "authPageDomainUpdated": "Auth page Domain updated successfully", "healthCheckNotAvailable": "Local", "rewritePath": "Reescribir Ruta", "rewritePathDescription": "Opcionalmente reescribe la ruta antes de reenviar al destino.", @@ -1915,8 +1964,15 @@ "beta": "Beta", "manageUserDevices": "Dispositivos de usuario", "manageUserDevicesDescription": "Ver y administrar dispositivos que los usuarios utilizan para conectarse a recursos privados", + "downloadClientBannerTitle": "Download Pangolin Client", + "downloadClientBannerDescription": "Download the Pangolin client for your system to connect to the Pangolin network and access resources privately.", "manageMachineClients": "Administrar clientes de máquinas", "manageMachineClientsDescription": "Crear y administrar clientes que servidores y sistemas utilizan para conectarse de forma privada a recursos", + "machineClientsBannerTitle": "Servers & Automated Systems", + "machineClientsBannerDescription": "Machine clients are for servers and automated systems that are not associated with a specific user. They authenticate with an ID and secret, and can run with Pangolin CLI, Olm CLI, or Olm as a container.", + "machineClientsBannerPangolinCLI": "Pangolin CLI", + "machineClientsBannerOlmCLI": "Olm CLI", + "machineClientsBannerOlmContainer": "Olm Container", "clientsTableUserClients": "Usuario", "clientsTableMachineClients": "Maquina", "licenseTableValidUntil": "Válido hasta", @@ -2060,13 +2116,15 @@ "request": "Solicitud", "requests": "Solicitudes", "logs": "Registros", - "logsSettingsDescription": "Monitorear registros recogidos de esta orginización", + "logsSettingsDescription": "Monitor logs collected from this organization", "searchLogs": "Buscar registros...", "action": "Accin", "actor": "Actor", "timestamp": "Timestamp", "accessLogs": "Registros de acceso", "exportCsv": "Exportar CSV", + "exportError": "Unknown error when exporting CSV", + "exportCsvTooltip": "Within Time Range", "actorId": "ID de Actor", "allowedByRule": "Permitido por regla", "allowedNoAuth": "No se permite autorización", @@ -2120,7 +2178,7 @@ "unverified": "Sin verificar", "domainSetting": "Ajustes de dominio", "domainSettingDescription": "Configurar ajustes para el dominio", - "preferWildcardCertDescription": "Intento de generar un certificado comodín (requiere una resolución de certificados correctamente configurada).", + "preferWildcardCertDescription": "Attempt to generate a wildcard certificate (requires a properly configured certificate resolver).", "recordName": "Nombre del registro", "auto": "Auto", "TTL": "TTL", @@ -2255,6 +2313,8 @@ "setupFailedToFetchSubnet": "No se pudo obtener la subred por defecto", "setupSubnetAdvanced": "Subred (Avanzado)", "setupSubnetDescription": "La subred de la red interna de esta organización.", + "setupUtilitySubnet": "Utility Subnet (Advanced)", + "setupUtilitySubnetDescription": "The subnet for this organization's alias addresses and DNS server.", "siteRegenerateAndDisconnect": "Regenerar y desconectar", "siteRegenerateAndDisconnectConfirmation": "¿Está seguro que desea regenerar las credenciales y desconectar este sitio?", "siteRegenerateAndDisconnectWarning": "Esto regenerará las credenciales y desconectará inmediatamente el sitio. El sitio tendrá que reiniciarse con las nuevas credenciales.", @@ -2270,5 +2330,40 @@ "remoteExitNodeRegenerateAndDisconnectWarning": "Esto regenerará las credenciales y desconectará inmediatamente el nodo de salida remoto. El nodo de salida remoto tendrá que reiniciarse con las nuevas credenciales.", "remoteExitNodeRegenerateCredentialsConfirmation": "¿Estás seguro de que quieres regenerar las credenciales para este nodo de salida remoto?", "remoteExitNodeRegenerateCredentialsWarning": "Esto regenerará las credenciales. El nodo de salida remoto permanecerá conectado hasta que lo reinicie manualmente y utilice las nuevas credenciales.", - "agent": "Agente" + "agent": "Agente", + "personalUseOnly": "Personal Use Only", + "loginPageLicenseWatermark": "This instance is licensed for personal use only.", + "instanceIsUnlicensed": "This instance is unlicensed.", + "portRestrictions": "Port Restrictions", + "allPorts": "All", + "custom": "Custom", + "allPortsAllowed": "All Ports Allowed", + "allPortsBlocked": "All Ports Blocked", + "tcpPortsDescription": "Specify which TCP ports are allowed for this resource. Use '*' for all ports, leave empty to block all, or enter a comma-separated list of ports and ranges (e.g., 80,443,8000-9000).", + "udpPortsDescription": "Specify which UDP ports are allowed for this resource. Use '*' for all ports, leave empty to block all, or enter a comma-separated list of ports and ranges (e.g., 53,123,500-600).", + "organizationLoginPageTitle": "Organization Login Page", + "organizationLoginPageDescription": "Customize the login page for this organization", + "resourceLoginPageTitle": "Resource Login Page", + "resourceLoginPageDescription": "Customize the login page for individual resources", + "enterConfirmation": "Enter confirmation", + "blueprintViewDetails": "Details", + "defaultIdentityProvider": "Default Identity Provider", + "editInternalResourceDialogNetworkSettings": "Network Settings", + "editInternalResourceDialogAccessPolicy": "Access Policy", + "editInternalResourceDialogAddRoles": "Add Roles", + "editInternalResourceDialogAddUsers": "Add Users", + "editInternalResourceDialogAddClients": "Add Clients", + "editInternalResourceDialogDestinationLabel": "Destination", + "editInternalResourceDialogDestinationDescription": "Specify the destination address for the internal resource. This can be a hostname, IP address, or CIDR range depending on the selected mode. Optionally set an internal DNS alias for easier identification.", + "editInternalResourceDialogPortRestrictionsDescription": "Restrict access to specific TCP/UDP ports or allow/block all ports.", + "editInternalResourceDialogTcp": "TCP", + "editInternalResourceDialogUdp": "UDP", + "editInternalResourceDialogIcmp": "ICMP", + "editInternalResourceDialogAccessControl": "Access Control", + "editInternalResourceDialogAccessControlDescription": "Control which roles, users, and machine clients have access to this resource when connected. Admins always have access.", + "editInternalResourceDialogPortRangeValidationError": "Port range must be \"*\" for all ports, or a comma-separated list of ports and ranges (e.g., \"80,443,8000-9000\"). Ports must be between 1 and 65535.", + "orgAuthWhatsThis": "Where can I find my organization ID?", + "learnMore": "Learn more", + "backToHome": "Go back to home", + "needToSignInToOrg": "Need to use your organization's identity provider?" }