diff --git a/messages/es-ES.json b/messages/es-ES.json index f42d0d495..39f1f678c 100644 --- a/messages/es-ES.json +++ b/messages/es-ES.json @@ -208,11 +208,33 @@ "resourcesSearch": "Buscar recursos...", "resourceAdd": "Añadir Recurso", "resourceErrorDelte": "Error al eliminar el recurso", + "resourcePoliciesTitle": "Manage Resource Policies", + "resourcePoliciesAttachedResourcesColumnTitle": "Attached resources", + "resourcePoliciesAttachedResources": "{count} resource(s)", + "resourcePoliciesAttachedResourcesEmpty": "no resources", + "resourcePoliciesDescription": "Create and manage authentication policies to control access to your resources", + "resourcePoliciesSearch": "Search policies...", + "resourcePoliciesAdd": "Add Policy", + "resourcePoliciesDefaultBadgeText": "Default policy", + "resourcePoliciesCreate": "Create Resource Policy", + "resourcePoliciesCreateDescription": "Follow the steps below to create a new policy", + "resourcePolicyName": "Policy Name", + "resourcePolicyNameDescription": "Give this policy a name to identify it across your resources", + "resourcePolicyNamePlaceholder": "e.g. Internal Access Policy", + "resourcePoliciesSeeAll": "See All Policies", + "resourcePolicyAuthMethodAdd": "Add Authentication Method", + "resourcePolicyOtpEmailAdd": "Add OTP emails", + "resourcePolicyRulesAdd": "Add Rules", + "resourcePolicyAuthMethodsDescription": "Allow access to resources via additional auth methods", + "resourcePolicyUsersRolesDescription": "Configure which users and roles can visit associated resources", + "rulesResourcePolicyDescription": "Configure rules to control access resources associated to this policy", "authentication": "Autenticación", "protected": "Protegido", "notProtected": "No protegido", "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?", + "resourcePolicyMessageRemove": "Once removed, the resource policy will no longer be accessible. All resources associated with the resource will be unlinked and left without authentication.", + "resourcePolicyQuestionRemove": "Are you sure you want to remove the resource policy from the organization?", "resourceHTTP": "HTTPS Recurso", "resourceHTTPDescription": "Proxy proporciona solicitudes sobre HTTPS usando un nombre de dominio completamente calificado.", "resourceRaw": "Recurso TCP/UDP sin procesar", @@ -220,8 +242,9 @@ "resourceRawDescriptionCloud": "Las peticiones de proxy sobre TCP/UDP crudas usando un número de puerto. Requiere que los sitios se conecten a un nodo remoto.", "resourceCreate": "Crear Recurso", "resourceCreateDescription": "Siga los siguientes pasos para crear un nuevo recurso", + "resourceCreateGeneralDescription": "Configure the basic resource settings including the name and the type", "resourceSeeAll": "Ver todos los recursos", - "resourceInfo": "Información del recurso", + "resourceCreateGeneral": "General", "resourceNameDescription": "Este es el nombre para mostrar el recurso.", "siteSelect": "Seleccionar sitio", "siteSearch": "Buscar sitio", @@ -231,12 +254,15 @@ "noCountryFound": "Ningún país encontrado.", "siteSelectionDescription": "Este sitio proporcionará conectividad al objetivo.", "resourceType": "Tipo de recurso", - "resourceTypeDescription": "Determina cómo acceder al recurso", + "resourceTypeDescription": "This controls the resource protocol and how it will be rendered in the browser. This can’t be changed later.", + "resourceDomainDescription": "The resource will be served at this fully qualified domain name.", "resourceHTTPSSettings": "Configuración HTTPS", "resourceHTTPSSettingsDescription": "Configurar cómo se accederá al recurso a través de HTTPS", + "resourcePortDescription": "The external port on the Pangolin instance or node where the resource will be accessible.", "domainType": "Tipo de dominio", "subdomain": "Subdominio", "baseDomain": "Dominio base", + "configure": "Configure", "subdomnainDescription": "El subdominio al que el recurso será accesible.", "resourceRawSettings": "Configuración TCP/UDP", "resourceRawSettingsDescription": "Configurar cómo se accederá al recurso a través de TCP/UDP", @@ -253,8 +279,27 @@ "resourceLearnRaw": "Aprende cómo configurar los recursos TCP/UDP", "resourceBack": "Volver a Recursos", "resourceGoTo": "Ir a Recurso", + "resourcePolicyDelete": "Delete Resource Policy", + "resourcePolicyDeleteConfirm": "Confirm Delete Resource Policy", "resourceDelete": "Eliminar Recurso", "resourceDeleteConfirm": "Confirmar Borrar Recurso", + "labelDelete": "Delete Label", + "labelAdd": "Add Label", + "labelCreateSuccessMessage": "Label Created Successfully", + "labelEditSuccessMessage": "Label Modified Successfully", + "labelNameField": "Label Name", + "labelColorField": "Label Color", + "labelPlaceholder": "Ex: homelab", + "labelCreate": "Create Label", + "createLabelDialogTitle": "Create Label", + "createLabelDialogDescription": "Create a new label that can be attached to this organization", + "labelEdit": "Edit Label", + "editLabelDialogTitle": "Update Label", + "editLabelDialogDescription": "Edit a new label that can be attached to this organization", + "labelDeleteConfirm": "Confirm Delete Label", + "labelErrorDelete": "Failed to delete label", + "labelMessageRemove": "This action is permanent. All sites, resources, and clients tagged with this label will be untagged.", + "labelQuestionRemove": "Are you sure you want to remove the label from the organization?", "visibility": "Visibilidad", "enabled": "Activado", "disabled": "Deshabilitado", @@ -265,6 +310,8 @@ "rules": "Reglas", "resourceSettingDescription": "Configurar la configuración del recurso", "resourceSetting": "Ajustes {resourceName}", + "resourcePolicySettingDescription": "Configure the settings on the resource policy", + "resourcePolicySetting": "{policyName} Settings", "alwaysAllow": "Autorización Bypass", "alwaysDeny": "Bloquear acceso", "passToAuth": "Pasar a Autenticación", @@ -630,7 +677,7 @@ "createdAt": "Creado el", "proxyErrorInvalidHeader": "Valor de cabecera de host personalizado no válido. Utilice el formato de nombre de dominio, o guarde en blanco para desestablecer cabecera de host personalizada.", "proxyErrorTls": "Nombre de servidor TLS inválido. Utilice el formato de nombre de dominio o guarde en blanco para eliminar el nombre de servidor TLS.", - "proxyEnableSSL": "Activar TLS", + "proxyEnableSSL": "Enable TLS", "proxyEnableSSLDescription": "Habilita el cifrado SSL/TLS para conexiones seguras HTTPS a los objetivos.", "target": "Target", "configureTarget": "Configurar objetivos", @@ -747,6 +794,16 @@ "rulesNoOne": "No hay reglas. Agregue una regla usando el formulario.", "rulesOrder": "Las reglas son evaluadas por prioridad en orden ascendente.", "rulesSubmit": "Guardar Reglas", + "policyErrorCreate": "Error creating policy", + "policyErrorCreateDescription": "An error occurred when creating the policy", + "policyErrorCreateMessageDescription": "An unexpected error occurred", + "policyErrorUpdate": "Error updating policy", + "policyErrorUpdateDescription": "An error occurred when updating the policy", + "policyErrorUpdateMessageDescription": "An unexpected error occurred", + "policyCreatedSuccess": "Resource policy succesfully created", + "policyUpdatedSuccess": "Resource policy succesfully updated", + "authMethodsSave": "Save auth methods", + "rulesSave": "Save Rules", "resourceErrorCreate": "Error al crear recurso", "resourceErrorCreateDescription": "Se ha producido un error al crear el recurso", "resourceErrorCreateMessage": "Error al crear el recurso:", @@ -810,6 +867,16 @@ "pincodeAdd": "Añadir código PIN", "pincodeRemove": "Eliminar código PIN", "resourceAuthMethods": "Métodos de autenticación", + "resourcePolicyAuthMethodsEmpty": "No authentication method", + "resourcePolicyOtpEmpty": "No one time password", + "resourcePolicyReadOnly": "This policy is Read only", + "resourcePolicyReadOnlyDescription": "This resource policy is shared accross multiple resources, you cannot edit it on this page.", + "resourcePolicyTypeSave": "Save Resource type", + "resourcePolicySelect": "Select resource policy", + "resourcePolicySelectError": "Select a resource policy", + "resourcePolicyNotFound": "Policy not found", + "resourcePolicySearch": "Search policies", + "resourcePolicyRulesEmpty": "No authentication rules", "resourceAuthMethodsDescriptions": "Permitir el acceso al recurso a través de métodos de autenticación adicionales", "resourceAuthSettingsSave": "Guardado correctamente", "resourceAuthSettingsSaveDescription": "Se han guardado los ajustes de autenticación", @@ -845,6 +912,12 @@ "resourcePincodeSetupTitle": "Definir Pincode", "resourcePincodeSetupTitleDescription": "Establecer un pincode para proteger este recurso", "resourceRoleDescription": "Los administradores siempre pueden acceder a este recurso.", + "resourcePolicySelectTitle": "Resource Access Policy", + "resourcePolicySelectDescription": "Select the resource policy type for authentication", + "resourcePolicyInline": "Inline Resource Policy", + "resourcePolicyInlineDescription": "Access Policy scoped to only this resource", + "resourcePolicyShared": "Shared Resource Policy", + "resourcePolicySharedDescription": "Access Policy shared accross multiple resources", "resourceUsersRoles": "Controles de acceso", "resourceUsersRolesDescription": "Configurar qué usuarios y roles pueden visitar este recurso", "resourceUsersRolesSubmit": "Guardar controles de acceso", @@ -1140,6 +1213,18 @@ "idpErrorConnectingTo": "Hubo un problema al conectar con {name}. Por favor, póngase en contacto con su administrador.", "idpErrorNotFound": "IdP no encontrado", "inviteInvalid": "Invitación inválida", + "labels": "Labels", + "orgLabelsDescription": "Manage labels in this organization.", + "addLabels": "Add labels", + "siteLabelsTab": "Labels", + "siteLabelsDescription": "Manage labels associated with this site.", + "labelsNotFound": "Labels not found", + "labelSearch": "Search labels", + "accessLabelFilterCount": "{count, plural, one {# label} other {# labels}}", + "labelOverflowCount": "+{count, plural, one {# label} other {# labels}}", + "accessLabelFilterClear": "Clear label filters", + "selectColor": "Select color", + "createNewLabel": "Create new org label \"{label}\"", "inviteInvalidDescription": "El enlace de invitación no es válido.", "inviteErrorWrongUser": "La invitación no es para este usuario", "inviteErrorUserNotExists": "El usuario no existe. Por favor, cree una cuenta primero.", @@ -1374,6 +1459,8 @@ "sidebarResources": "Recursos", "sidebarProxyResources": "Público", "sidebarClientResources": "Privado", + "sidebarPolicies": "Policies", + "sidebarResourcePolicies": "Resources", "sidebarAccessControl": "Control de acceso", "sidebarLogsAndAnalytics": "Registros y análisis", "sidebarTeam": "Equipo", @@ -1557,7 +1644,8 @@ "standaloneHcFilterSiteIdFallback": "Sitio {id}", "standaloneHcFilterResourceIdFallback": "Recurso {id}", "blueprints": "Planos", - "blueprintsDescription": "Aplicar configuraciones declarativas y ver ejecuciones anteriores", + "blueprintsLog": "Blueprints Log", + "blueprintsDescription": "View past blueprint applications and their results", "blueprintAdd": "Añadir plano", "blueprintGoBack": "Ver todos los Planos", "blueprintCreate": "Crear Plano", @@ -1575,7 +1663,17 @@ "contents": "Contenido", "parsedContents": "Contenido analizado (Sólo lectura)", "enableDockerSocket": "Habilitar Plano Docker", - "enableDockerSocketDescription": "Activar el raspado de etiquetas de Socket Docker para etiquetas de planos. La ruta del Socket debe proporcionarse a Newt.", + "enableDockerSocketDescription": "Enable Docker Socket label scraping for blueprint labels. Socket path must be provided to the site connector. Read about how this works in the documentation.", + "newtAutoUpdate": "Enable Site Auto-Update", + "newtAutoUpdateDescription": "When enabled, site connectors will automatically update to the latest version when a new release is available.", + "siteAutoUpdate": "Site Auto-Update", + "siteAutoUpdateLabel": "Enable Auto-Update", + "siteAutoUpdateDescription": "Control whether this site's connector automatically downloads the latest version.", + "siteAutoUpdateOrgDefault": "Organization default: {state}", + "siteAutoUpdateOverriding": "Overriding organization setting", + "siteAutoUpdateResetToOrg": "Reset to Organization Default", + "siteAutoUpdateEnabled": "enabled", + "siteAutoUpdateDisabled": "disabled", "viewDockerContainers": "Ver contenedores Docker", "containersIn": "Contenedores en {siteName}", "selectContainerDescription": "Seleccione cualquier contenedor para usar como nombre de host para este objetivo. Haga clic en un puerto para usar un puerto.", @@ -1620,6 +1718,7 @@ "certificateStatus": "Certificado", "certificateStatusAutoRefreshHint": "El estado se actualiza automáticamente.", "loading": "Cargando", + "loadingEllipsis": "Loading...", "loadingAnalytics": "Cargando analíticas", "restart": "Reiniciar", "domains": "Dominios", @@ -1846,6 +1945,7 @@ "billingManageLicenseSubscription": "Administra tu suscripción para las claves de licencia autoalojadas pagadas", "billingCurrentKeys": "Claves actuales", "billingModifyCurrentPlan": "Modificar plan actual", + "billingManageLicenseSubscriptionDescription": "Manage your subscription for paid self-hosted license keys and download invoices.", "billingConfirmUpgrade": "Confirmar actualización", "billingConfirmDowngrade": "Confirmar descenso", "billingConfirmUpgradeDescription": "Estás a punto de actualizar tu plan. Revisa los nuevos límites y precios a continuación.", @@ -1943,7 +2043,36 @@ "timeIsInSeconds": "El tiempo está en segundos", "requireDeviceApproval": "Requiere aprobaciones del dispositivo", "requireDeviceApprovalDescription": "Los usuarios con este rol necesitan nuevos dispositivos aprobados por un administrador antes de poder conectarse y acceder a los recursos.", - "sshAccess": "Acceso a SSH", + "sshSettings": "SSH Settings", + "rdpSettings": "RDP Settings", + "vncSettings": "VNC Settings", + "sshServer": "SSH Server", + "rdpServer": "RDP Server", + "vncServer": "VNC Server", + "sshServerDescription": "Set up the authentication method, daemon location, and server destination", + "rdpServerDescription": "Configure the destination and port of the RDP server", + "vncServerDescription": "Configure the destination and port of the VNC server", + "sshServerMode": "Mode", + "sshServerModeStandard": "Standard SSH Server", + "sshServerModePangolin": "Pangolin SSH", + "sshServerModeStandardDescription": "Routes commands over network to an SSH server such as OpenSSH.", + "sshServerModeNative": "Native SSH Server", + "sshServerModeNativeDescription": "Executes commands directly on the host via the Site Connector. No network config required.", + "sshAuthenticationMethod": "Authentication Method", + "sshAuthMethodManual": "Manual Authentication", + "sshAuthMethodManualDescription": "Requires existing host credentials. Bypasses automatic provisioning.", + "sshAuthMethodAutomated": "Automated Provisioning", + "sshAuthMethodAutomatedDescription": "Automatically creates users, groups, and sudo permissions on host.", + "sshAuthDaemonLocation": "Auth Daemon Location", + "sshDaemonLocationSiteDescription": "Executes locally on the machine hosting the site connector.", + "sshDaemonLocationRemote": "On Remote Host", + "sshDaemonLocationRemoteDescription": "Executes on a separate target machine on the same network.", + "sshDaemonDisclaimer": "Ensure your target host is properly configured to run the auth daemon before completing this setup, or provisioning will fail.", + "sshDaemonPort": "Daemon Port", + "sshServerDestination": "Server Destination", + "sshServerDestinationDescription": "Configure the destination and port of the SSH server", + "destination": "Destination", + "bgTargetMultiSiteDisclaimer": "Selecting multiple sites enables resilient routing and failover for high availability.", "roleAllowSsh": "Permitir SSH", "roleAllowSshAllow": "Permitir", "roleAllowSshDisallow": "Rechazar", @@ -1957,7 +2086,7 @@ "sshSudoModeCommandsDescription": "El usuario sólo puede ejecutar los comandos especificados con sudo.", "sshSudo": "Permitir sudo", "sshSudoCommands": "Comandos Sudo", - "sshSudoCommandsDescription": "Lista separada por comas de comandos que el usuario puede ejecutar con sudo.", + "sshSudoCommandsDescription": "Comma separated list of commands the user is allowed to run with sudo. Absolute paths must be used.", "sshCreateHomeDir": "Crear directorio principal", "sshUnixGroups": "Grupos Unix", "sshUnixGroupsDescription": "Grupos Unix separados por comas para agregar el usuario en el host de destino.", @@ -2051,7 +2180,7 @@ "editInternalResourceDialogModeHttps": "HTTPS", "editInternalResourceDialogModeSsh": "SSH", "editInternalResourceDialogScheme": "Esquema", - "editInternalResourceDialogEnableSsl": "Activar TLS", + "editInternalResourceDialogEnableSsl": "Enable TLS", "editInternalResourceDialogEnableSslDescription": "Habilitar cifrado SSL/TLS para conexiones HTTPS seguras al destino.", "editInternalResourceDialogDestination": "Destino", "editInternalResourceDialogDestinationHostDescription": "La dirección IP o nombre de host del recurso en la red del sitio.", @@ -2102,7 +2231,7 @@ "createInternalResourceDialogModeSsh": "SSH", "scheme": "Esquema", "createInternalResourceDialogScheme": "Esquema", - "createInternalResourceDialogEnableSsl": "Activar TLS", + "createInternalResourceDialogEnableSsl": "Enable TLS", "createInternalResourceDialogEnableSslDescription": "Habilitar cifrado SSL/TLS para conexiones HTTPS seguras al destino.", "createInternalResourceDialogDestination": "Destino", "createInternalResourceDialogDestinationHostDescription": "La dirección IP o nombre de host del recurso en la red del sitio.", @@ -2235,7 +2364,7 @@ "description": "Servidor Pangolin autoalojado más fiable y de bajo mantenimiento con campanas y silbidos extra", "introTitle": "Pangolin autogestionado", "introDescription": "es una opción de despliegue diseñada para personas que quieren simplicidad y fiabilidad extra mientras mantienen sus datos privados y autoalojados.", - "introDetail": "Con esta opción, todavía ejecuta su propio nodo Pangolin, sus túneles, terminación TLS y tráfico permanecen en su servidor. La diferencia es que la gestión y el control se gestionan a través de nuestro panel de control en la nube, que desbloquea una serie de ventajas:", + "introDetail": "With this option, you still run your own Pangolin node - your tunnels, TLS termination, and traffic all stay on your server. The difference is that management and monitoring are handled through our cloud dashboard, which unlocks a number of benefits:", "benefitSimplerOperations": { "title": "Operaciones simples", "description": "No necesitas ejecutar tu propio servidor de correo o configurar alertas complejas. Recibirás cheques de salud y alertas de tiempo de inactividad." @@ -2939,7 +3068,7 @@ "learnMore": "Más información", "backToHome": "Volver a inicio", "needToSignInToOrg": "¿Necesita usar el proveedor de identidad de su organización?", - "maintenanceMode": "Modo de mantenimiento", + "maintenanceMode": "Maintenance Page", "maintenanceModeDescription": "Muestra una página de mantenimiento a los visitantes", "maintenanceModeType": "Tipo de modo de mantenimiento", "showMaintenancePage": "Mostrar página de mantenimiento a los visitantes", @@ -2969,6 +3098,7 @@ "maintenanceScreenEstimatedCompletion": "Estimado completado:", "createInternalResourceDialogDestinationRequired": "Se requiere destino", "available": "Disponible", + "disabledResourceDescription": "When disabled, the resource will be inaccessible by everyone.", "archived": "Archivado", "noArchivedDevices": "No se encontraron dispositivos archivados", "deviceArchived": "Dispositivo archivado", @@ -3298,5 +3428,6 @@ "memberPortalResourceDisabled": "Recurso Deshabilitado", "memberPortalShowingResources": "Mostrando {start}-{end} de {total} recursos", "memberPortalPrevious": "Anterior", - "memberPortalNext": "Siguiente" + "memberPortalNext": "Siguiente", + "httpSettings": "HTTP Settings" }