New translations en-us.json (Spanish)

This commit is contained in:
Owen Schwartz
2025-10-04 21:10:27 -07:00
parent cabaa2e6d6
commit f90e6bef9e

View File

@@ -67,7 +67,7 @@
"siteDocker": "Expandir para detalles de despliegue de Docker", "siteDocker": "Expandir para detalles de despliegue de Docker",
"toggle": "Cambiar", "toggle": "Cambiar",
"dockerCompose": "Componer Docker", "dockerCompose": "Componer Docker",
"dockerRun": "Ejecutar Docker", "dockerRun": "Docker Run",
"siteLearnLocal": "Los sitios locales no tienen túnel, aprender más", "siteLearnLocal": "Los sitios locales no tienen túnel, aprender más",
"siteConfirmCopy": "He copiado la configuración", "siteConfirmCopy": "He copiado la configuración",
"searchSitesProgress": "Buscar sitios...", "searchSitesProgress": "Buscar sitios...",
@@ -94,9 +94,9 @@
"siteNewtTunnelDescription": "La forma más fácil de crear un punto de entrada en tu red. Sin configuración adicional.", "siteNewtTunnelDescription": "La forma más fácil de crear un punto de entrada en tu red. Sin configuración adicional.",
"siteWg": "Wirex Guardia Básica", "siteWg": "Wirex Guardia Básica",
"siteWgDescription": "Utilice cualquier cliente Wirex Guard para establecer un túnel. Se requiere una configuración manual de NAT.", "siteWgDescription": "Utilice cualquier cliente Wirex Guard para establecer un túnel. Se requiere una configuración manual de NAT.",
"siteWgDescriptionSaas": "Utilice cualquier cliente de WireGuard para establecer un túnel. Se requiere configuración manual de NAT. SOLO FUNCIONA EN NODOS AUTOGESTIONADOS", "siteWgDescriptionSaas": "Use any WireGuard client to establish a tunnel. Manual NAT setup required.",
"siteLocalDescription": "Solo recursos locales. Sin túneles.", "siteLocalDescription": "Solo recursos locales. Sin túneles.",
"siteLocalDescriptionSaas": "Solo recursos locales. Sin túneles. SOLO FUNCIONA EN NODOS AUTOGESTIONADOS", "siteLocalDescriptionSaas": "Local resources only. No tunneling.",
"siteSeeAll": "Ver todos los sitios", "siteSeeAll": "Ver todos los sitios",
"siteTunnelDescription": "Determina cómo quieres conectarte a tu sitio", "siteTunnelDescription": "Determina cómo quieres conectarte a tu sitio",
"siteNewtCredentials": "Credenciales nuevas", "siteNewtCredentials": "Credenciales nuevas",
@@ -159,7 +159,7 @@
"resourceHTTP": "HTTPS Recurso", "resourceHTTP": "HTTPS Recurso",
"resourceHTTPDescription": "Solicitudes de proxy a tu aplicación sobre HTTPS usando un subdominio o dominio base.", "resourceHTTPDescription": "Solicitudes de proxy a tu aplicación sobre HTTPS usando un subdominio o dominio base.",
"resourceRaw": "Recurso TCP/UDP sin procesar", "resourceRaw": "Recurso TCP/UDP sin procesar",
"resourceRawDescription": "Solicitudes de proxy a tu aplicación a través de TCP/UDP usando un número de puerto.", "resourceRawDescription": "Proxy requests to your app over TCP/UDP using a port number. This only works when sites are connected to nodes.",
"resourceCreate": "Crear Recurso", "resourceCreate": "Crear Recurso",
"resourceCreateDescription": "Siga los siguientes pasos para crear un nuevo recurso", "resourceCreateDescription": "Siga los siguientes pasos para crear un nuevo recurso",
"resourceSeeAll": "Ver todos los recursos", "resourceSeeAll": "Ver todos los recursos",
@@ -168,9 +168,9 @@
"siteSelect": "Seleccionar sitio", "siteSelect": "Seleccionar sitio",
"siteSearch": "Buscar sitio", "siteSearch": "Buscar sitio",
"siteNotFound": "Sitio no encontrado.", "siteNotFound": "Sitio no encontrado.",
"selectCountry": "Seleccionar país", "selectCountry": "Select country",
"searchCountries": "Buscar países...", "searchCountries": "Search countries...",
"noCountryFound": "Ningún país encontrado.", "noCountryFound": "No country found.",
"siteSelectionDescription": "Este sitio proporcionará conectividad al objetivo.", "siteSelectionDescription": "Este sitio proporcionará conectividad al objetivo.",
"resourceType": "Tipo de recurso", "resourceType": "Tipo de recurso",
"resourceTypeDescription": "Determina cómo quieres acceder a tu recurso", "resourceTypeDescription": "Determina cómo quieres acceder a tu recurso",
@@ -817,7 +817,7 @@
"redirectUrl": "URL de redirección", "redirectUrl": "URL de redirección",
"redirectUrlAbout": "Acerca de la URL de redirección", "redirectUrlAbout": "Acerca de la URL de redirección",
"redirectUrlAboutDescription": "Esta es la URL a la que los usuarios serán redireccionados después de la autenticación. Necesitas configurar esta URL en la configuración de tu proveedor de identidad.", "redirectUrlAboutDescription": "Esta es la URL a la que los usuarios serán redireccionados después de la autenticación. Necesitas configurar esta URL en la configuración de tu proveedor de identidad.",
"pangolinAuth": "Autenticación - Pangolin", "pangolinAuth": "Auth - Pangolin",
"verificationCodeLengthRequirements": "Tu código de verificación debe tener 8 caracteres.", "verificationCodeLengthRequirements": "Tu código de verificación debe tener 8 caracteres.",
"errorOccurred": "Se ha producido un error", "errorOccurred": "Se ha producido un error",
"emailErrorVerify": "No se pudo verificar el email:", "emailErrorVerify": "No se pudo verificar el email:",
@@ -1220,7 +1220,7 @@
"billing": "Facturación", "billing": "Facturación",
"orgBillingDescription": "Gestiona tu información de facturación y suscripciones", "orgBillingDescription": "Gestiona tu información de facturación y suscripciones",
"github": "GitHub", "github": "GitHub",
"pangolinHosted": "Pangolin Alojado", "pangolinHosted": "Pangolin Hosted",
"fossorial": "Fossorial", "fossorial": "Fossorial",
"completeAccountSetup": "Completar configuración de cuenta", "completeAccountSetup": "Completar configuración de cuenta",
"completeAccountSetupDescription": "Establece tu contraseña para comenzar", "completeAccountSetupDescription": "Establece tu contraseña para comenzar",
@@ -1258,48 +1258,48 @@
"domainPickerSubdomain": "Subdominio: {subdomain}", "domainPickerSubdomain": "Subdominio: {subdomain}",
"domainPickerNamespace": "Espacio de nombres: {namespace}", "domainPickerNamespace": "Espacio de nombres: {namespace}",
"domainPickerShowMore": "Mostrar más", "domainPickerShowMore": "Mostrar más",
"regionSelectorTitle": "Seleccionar Región", "regionSelectorTitle": "Select Region",
"regionSelectorInfo": "Seleccionar una región nos ayuda a brindar un mejor rendimiento para tu ubicación. No tienes que estar en la misma región que tu servidor.", "regionSelectorInfo": "Selecting a region helps us provide better performance for your location. You do not have to be in the same region as your server.",
"regionSelectorPlaceholder": "Elige una región", "regionSelectorPlaceholder": "Choose a region",
"regionSelectorComingSoon": "Próximamente", "regionSelectorComingSoon": "Coming Soon",
"billingLoadingSubscription": "Cargando suscripción...", "billingLoadingSubscription": "Loading subscription...",
"billingFreeTier": "Nivel Gratis", "billingFreeTier": "Free Tier",
"billingWarningOverLimit": "Advertencia: Has excedido uno o más límites de uso. Tus sitios no se conectarán hasta que modifiques tu suscripción o ajustes tu uso.", "billingWarningOverLimit": "Warning: You have exceeded one or more usage limits. Your sites will not connect until you modify your subscription or adjust your usage.",
"billingUsageLimitsOverview": "Descripción general de los límites de uso", "billingUsageLimitsOverview": "Usage Limits Overview",
"billingMonitorUsage": "Monitorea tu uso comparado con los límites configurados. Si necesitas que aumenten los límites, contáctanos a soporte@fossorial.io.", "billingMonitorUsage": "Monitor your usage against configured limits. If you need limits increased please contact us support@fossorial.io.",
"billingDataUsage": "Uso de datos", "billingDataUsage": "Data Usage",
"billingOnlineTime": "Tiempo en línea del sitio", "billingOnlineTime": "Site Online Time",
"billingUsers": "Usuarios activos", "billingUsers": "Active Users",
"billingDomains": "Dominios activos", "billingDomains": "Active Domains",
"billingRemoteExitNodes": "Nodos autogestionados activos", "billingRemoteExitNodes": "Active Self-hosted Nodes",
"billingNoLimitConfigured": "No se ha configurado ningún límite", "billingNoLimitConfigured": "No limit configured",
"billingEstimatedPeriod": "Período de facturación estimado", "billingEstimatedPeriod": "Estimated Billing Period",
"billingIncludedUsage": "Uso incluido", "billingIncludedUsage": "Included Usage",
"billingIncludedUsageDescription": "Uso incluido con su plan de suscripción actual", "billingIncludedUsageDescription": "Usage included with your current subscription plan",
"billingFreeTierIncludedUsage": "Permisos de uso del nivel gratuito", "billingFreeTierIncludedUsage": "Free tier usage allowances",
"billingIncluded": "incluido", "billingIncluded": "included",
"billingEstimatedTotal": "Total Estimado:", "billingEstimatedTotal": "Estimated Total:",
"billingNotes": "Notas", "billingNotes": "Notes",
"billingEstimateNote": "Esta es una estimación basada en tu uso actual.", "billingEstimateNote": "This is an estimate based on your current usage.",
"billingActualChargesMayVary": "Los cargos reales pueden variar.", "billingActualChargesMayVary": "Actual charges may vary.",
"billingBilledAtEnd": "Se te facturará al final del período de facturación.", "billingBilledAtEnd": "You will be billed at the end of the billing period.",
"billingModifySubscription": "Modificar Suscripción", "billingModifySubscription": "Modify Subscription",
"billingStartSubscription": "Iniciar Suscripción", "billingStartSubscription": "Start Subscription",
"billingRecurringCharge": "Cargo Recurrente", "billingRecurringCharge": "Recurring Charge",
"billingManageSubscriptionSettings": "Administra la configuración y preferencias de tu suscripción", "billingManageSubscriptionSettings": "Manage your subscription settings and preferences",
"billingNoActiveSubscription": "No tienes una suscripción activa. Inicia tu suscripción para aumentar los límites de uso.", "billingNoActiveSubscription": "You don't have an active subscription. Start your subscription to increase usage limits.",
"billingFailedToLoadSubscription": "Error al cargar la suscripción", "billingFailedToLoadSubscription": "Failed to load subscription",
"billingFailedToLoadUsage": "Error al cargar el uso", "billingFailedToLoadUsage": "Failed to load usage",
"billingFailedToGetCheckoutUrl": "Error al obtener la URL de pago", "billingFailedToGetCheckoutUrl": "Failed to get checkout URL",
"billingPleaseTryAgainLater": "Por favor, inténtelo de nuevo más tarde.", "billingPleaseTryAgainLater": "Please try again later.",
"billingCheckoutError": "Error de pago", "billingCheckoutError": "Checkout Error",
"billingFailedToGetPortalUrl": "Error al obtener la URL del portal", "billingFailedToGetPortalUrl": "Failed to get portal URL",
"billingPortalError": "Error del portal", "billingPortalError": "Portal Error",
"billingDataUsageInfo": "Se le cobran todos los datos transferidos a través de sus túneles seguros cuando se conectan a la nube. Esto incluye tanto tráfico entrante como saliente a través de todos sus sitios. Cuando alcance su límite, sus sitios se desconectarán hasta que actualice su plan o reduzca el uso. Los datos no se cargan cuando se usan nodos.", "billingDataUsageInfo": "You're charged for all data transferred through your secure tunnels when connected to the cloud. This includes both incoming and outgoing traffic across all your sites. When you reach your limit, your sites will disconnect until you upgrade your plan or reduce usage. Data is not charged when using nodes.",
"billingOnlineTimeInfo": "Se te cobrará en función del tiempo que tus sitios permanezcan conectados a la nube. Por ejemplo, 44.640 minutos equivale a un sitio que funciona 24/7 durante un mes completo. Cuando alcance su límite, sus sitios se desconectarán hasta que mejore su plan o reduzca el uso. No se cargará el tiempo al usar nodos.", "billingOnlineTimeInfo": "You're charged based on how long your sites stay connected to the cloud. For example, 44,640 minutes equals one site running 24/7 for a full month. When you reach your limit, your sites will disconnect until you upgrade your plan or reduce usage. Time is not charged when using nodes.",
"billingUsersInfo": "Se te cobra por cada usuario en tu organización. La facturación se calcula diariamente según la cantidad de cuentas de usuario activas en tu organización.", "billingUsersInfo": "You're charged for each user in your organization. Billing is calculated daily based on the number of active user accounts in your org.",
"billingDomainInfo": "Se te cobra por cada dominio en tu organización. La facturación se calcula diariamente según la cantidad de cuentas de dominio activas en tu organización.", "billingDomainInfo": "You're charged for each domain in your organization. Billing is calculated daily based on the number of active domain accounts in your org.",
"billingRemoteExitNodesInfo": "Se te cobra por cada nodo gestionado en tu organización. La facturación se calcula diariamente según la cantidad de nodos gestionados activos en tu organización.", "billingRemoteExitNodesInfo": "You're charged for each managed Node in your organization. Billing is calculated daily based on the number of active managed Nodes in your org.",
"domainNotFound": "Dominio no encontrado", "domainNotFound": "Dominio no encontrado",
"domainNotFoundDescription": "Este recurso está deshabilitado porque el dominio ya no existe en nuestro sistema. Por favor, establece un nuevo dominio para este recurso.", "domainNotFoundDescription": "Este recurso está deshabilitado porque el dominio ya no existe en nuestro sistema. Por favor, establece un nuevo dominio para este recurso.",
"failed": "Fallido", "failed": "Fallido",
@@ -1363,7 +1363,7 @@
"createDomainDnsPropagationDescription": "Los cambios de DNS pueden tardar un tiempo en propagarse a través de internet. Esto puede tardar desde unos pocos minutos hasta 48 horas, dependiendo de tu proveedor de DNS y la configuración de TTL.", "createDomainDnsPropagationDescription": "Los cambios de DNS pueden tardar un tiempo en propagarse a través de internet. Esto puede tardar desde unos pocos minutos hasta 48 horas, dependiendo de tu proveedor de DNS y la configuración de TTL.",
"resourcePortRequired": "Se requiere número de puerto para recursos no HTTP", "resourcePortRequired": "Se requiere número de puerto para recursos no HTTP",
"resourcePortNotAllowed": "El número de puerto no debe establecerse para recursos HTTP", "resourcePortNotAllowed": "El número de puerto no debe establecerse para recursos HTTP",
"billingPricingCalculatorLink": "Calculadora de Precios", "billingPricingCalculatorLink": "Pricing Calculator",
"signUpTerms": { "signUpTerms": {
"IAgreeToThe": "Estoy de acuerdo con los", "IAgreeToThe": "Estoy de acuerdo con los",
"termsOfService": "términos del servicio", "termsOfService": "términos del servicio",
@@ -1412,41 +1412,41 @@
"addNewTarget": "Agregar nuevo destino", "addNewTarget": "Agregar nuevo destino",
"targetsList": "Lista de destinos", "targetsList": "Lista de destinos",
"targetErrorDuplicateTargetFound": "Se encontró un destino duplicado", "targetErrorDuplicateTargetFound": "Se encontró un destino duplicado",
"healthCheckHealthy": "Saludable", "healthCheckHealthy": "Healthy",
"healthCheckUnhealthy": "No saludable", "healthCheckUnhealthy": "Unhealthy",
"healthCheckUnknown": "Desconocido", "healthCheckUnknown": "Unknown",
"healthCheck": "Chequeo de salud", "healthCheck": "Health Check",
"configureHealthCheck": "Configurar Chequeo de Salud", "configureHealthCheck": "Configure Health Check",
"configureHealthCheckDescription": "Configura la monitorización de salud para {target}", "configureHealthCheckDescription": "Set up health monitoring for {target}",
"enableHealthChecks": "Activar Chequeos de Salud", "enableHealthChecks": "Enable Health Checks",
"enableHealthChecksDescription": "Controlar la salud de este objetivo. Puedes supervisar un punto final diferente al objetivo si es necesario.", "enableHealthChecksDescription": "Monitor the health of this target. You can monitor a different endpoint than the target if required.",
"healthScheme": "Método", "healthScheme": "Method",
"healthSelectScheme": "Seleccionar método", "healthSelectScheme": "Select Method",
"healthCheckPath": "Ruta", "healthCheckPath": "Path",
"healthHostname": "IP / Host", "healthHostname": "IP / Host",
"healthPort": "Puerto", "healthPort": "Port",
"healthCheckPathDescription": "La ruta para comprobar el estado de salud.", "healthCheckPathDescription": "The path to check for health status.",
"healthyIntervalSeconds": "Intervalo Saludable", "healthyIntervalSeconds": "Healthy Interval",
"unhealthyIntervalSeconds": "Intervalo No Saludable", "unhealthyIntervalSeconds": "Unhealthy Interval",
"IntervalSeconds": "Intervalo Saludable", "IntervalSeconds": "Healthy Interval",
"timeoutSeconds": "Tiempo de Espera", "timeoutSeconds": "Timeout",
"timeIsInSeconds": "El tiempo está en segundos", "timeIsInSeconds": "Time is in seconds",
"retryAttempts": "Intentos de Reintento", "retryAttempts": "Retry Attempts",
"expectedResponseCodes": "Códigos de respuesta esperados", "expectedResponseCodes": "Expected Response Codes",
"expectedResponseCodesDescription": "Código de estado HTTP que indica un estado saludable. Si se deja en blanco, se considera saludable de 200 a 300.", "expectedResponseCodesDescription": "HTTP status code that indicates healthy status. If left blank, 200-300 is considered healthy.",
"customHeaders": "Cabeceras personalizadas", "customHeaders": "Cabeceras personalizadas",
"customHeadersDescription": "Nueva línea de cabeceras separada: Nombre de cabecera: valor", "customHeadersDescription": "Headers new line separated: Header-Name: value",
"headersValidationError": "Los encabezados deben estar en el formato: Nombre de cabecera: valor.", "headersValidationError": "Headers must be in the format: Header-Name: value",
"saveHealthCheck": "Guardar Chequeo de Salud", "saveHealthCheck": "Save Health Check",
"healthCheckSaved": "Chequeo de Salud Guardado", "healthCheckSaved": "Health Check Saved",
"healthCheckSavedDescription": "La configuración del chequeo de salud se ha guardado correctamente", "healthCheckSavedDescription": "Health check configuration has been saved successfully",
"healthCheckError": "Error en el Chequeo de Salud", "healthCheckError": "Health Check Error",
"healthCheckErrorDescription": "Ocurrió un error al guardar la configuración del chequeo de salud", "healthCheckErrorDescription": "An error occurred while saving the health check configuration",
"healthCheckPathRequired": "Se requiere la ruta del chequeo de salud", "healthCheckPathRequired": "Health check path is required",
"healthCheckMethodRequired": "Se requiere el método HTTP", "healthCheckMethodRequired": "HTTP method is required",
"healthCheckIntervalMin": "El intervalo de comprobación debe ser de al menos 5 segundos", "healthCheckIntervalMin": "Check interval must be at least 5 seconds",
"healthCheckTimeoutMin": "El tiempo de espera debe ser de al menos 1 segundo", "healthCheckTimeoutMin": "Timeout must be at least 1 second",
"healthCheckRetryMin": "Los intentos de reintento deben ser de al menos 1", "healthCheckRetryMin": "Retry attempts must be at least 1",
"httpMethod": "Método HTTP", "httpMethod": "Método HTTP",
"selectHttpMethod": "Seleccionar método HTTP", "selectHttpMethod": "Seleccionar método HTTP",
"domainPickerSubdomainLabel": "Subdominio", "domainPickerSubdomainLabel": "Subdominio",
@@ -1460,7 +1460,7 @@
"domainPickerEnterSubdomainToSearch": "Ingrese un subdominio para buscar y seleccionar entre dominios gratuitos disponibles.", "domainPickerEnterSubdomainToSearch": "Ingrese un subdominio para buscar y seleccionar entre dominios gratuitos disponibles.",
"domainPickerFreeDomains": "Dominios gratuitos", "domainPickerFreeDomains": "Dominios gratuitos",
"domainPickerSearchForAvailableDomains": "Buscar dominios disponibles", "domainPickerSearchForAvailableDomains": "Buscar dominios disponibles",
"domainPickerNotWorkSelfHosted": "Nota: Los dominios gratuitos proporcionados no están disponibles para instancias autogestionadas por ahora.", "domainPickerNotWorkSelfHosted": "Note: Free provided domains are not available for self-hosted instances right now.",
"resourceDomain": "Dominio", "resourceDomain": "Dominio",
"resourceEditDomain": "Editar dominio", "resourceEditDomain": "Editar dominio",
"siteName": "Nombre del sitio", "siteName": "Nombre del sitio",
@@ -1543,72 +1543,72 @@
"autoLoginError": "Error de inicio de sesión automático", "autoLoginError": "Error de inicio de sesión automático",
"autoLoginErrorNoRedirectUrl": "No se recibió URL de redirección del proveedor de identidad.", "autoLoginErrorNoRedirectUrl": "No se recibió URL de redirección del proveedor de identidad.",
"autoLoginErrorGeneratingUrl": "Error al generar URL de autenticación.", "autoLoginErrorGeneratingUrl": "Error al generar URL de autenticación.",
"remoteExitNodeManageRemoteExitNodes": "Administrar Nodos Autogestionados", "remoteExitNodeManageRemoteExitNodes": "Manage Self-Hosted",
"remoteExitNodeDescription": "Administrar nodos para extender la conectividad de red", "remoteExitNodeDescription": "Manage nodes to extend your network connectivity",
"remoteExitNodes": "Nodes", "remoteExitNodes": "Nodes",
"searchRemoteExitNodes": "Buscar nodos...", "searchRemoteExitNodes": "Search nodes...",
"remoteExitNodeAdd": "Añadir Nodo", "remoteExitNodeAdd": "Add Node",
"remoteExitNodeErrorDelete": "Error al eliminar el nodo", "remoteExitNodeErrorDelete": "Error deleting node",
"remoteExitNodeQuestionRemove": "¿Está seguro de que desea eliminar el nodo {selectedNode} de la organización?", "remoteExitNodeQuestionRemove": "Are you sure you want to remove the node {selectedNode} from the organization?",
"remoteExitNodeMessageRemove": "Una vez eliminado, el nodo ya no será accesible.", "remoteExitNodeMessageRemove": "Once removed, the node will no longer be accessible.",
"remoteExitNodeMessageConfirm": "Para confirmar, por favor escriba el nombre del nodo a continuación.", "remoteExitNodeMessageConfirm": "To confirm, please type the name of the node below.",
"remoteExitNodeConfirmDelete": "Confirmar eliminar nodo", "remoteExitNodeConfirmDelete": "Confirm Delete Node",
"remoteExitNodeDelete": "Eliminar Nodo", "remoteExitNodeDelete": "Delete Node",
"sidebarRemoteExitNodes": "Nodes", "sidebarRemoteExitNodes": "Nodes",
"remoteExitNodeCreate": { "remoteExitNodeCreate": {
"title": "Crear Nodo", "title": "Create Node",
"description": "Crear un nuevo nodo para extender la conectividad de red", "description": "Create a new node to extend your network connectivity",
"viewAllButton": "Ver todos los nodos", "viewAllButton": "View All Nodes",
"strategy": { "strategy": {
"title": "Estrategia de Creación", "title": "Creation Strategy",
"description": "Elija esto para configurar manualmente su nodo o generar nuevas credenciales.", "description": "Choose this to manually configure your node or generate new credentials.",
"adopt": { "adopt": {
"title": "Adoptar Nodo", "title": "Adopt Node",
"description": "Elija esto si ya tiene las credenciales para el nodo." "description": "Choose this if you already have the credentials for the node."
}, },
"generate": { "generate": {
"title": "Generar Claves", "title": "Generate Keys",
"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": { "adopt": {
"title": "Adoptar Nodo Existente", "title": "Adopt Existing Node",
"description": "Introduzca las credenciales del nodo existente que desea adoptar", "description": "Enter the credentials of the existing node you want to adopt",
"nodeIdLabel": "ID del nodo", "nodeIdLabel": "Node ID",
"nodeIdDescription": "El ID del nodo existente que desea adoptar", "nodeIdDescription": "The ID of the existing node you want to adopt",
"secretLabel": "Secreto", "secretLabel": "Secret",
"secretDescription": "La clave secreta del nodo existente", "secretDescription": "The secret key of the existing node",
"submitButton": "Adoptar Nodo" "submitButton": "Adopt Node"
}, },
"generate": { "generate": {
"title": "Credenciales Generadas", "title": "Generated Credentials",
"description": "Utilice estas credenciales generadas para configurar su nodo", "description": "Use these generated credentials to configure your node",
"nodeIdTitle": "ID del nodo", "nodeIdTitle": "Node ID",
"secretTitle": "Secreto", "secretTitle": "Secret",
"saveCredentialsTitle": "Agregar Credenciales a la Configuración", "saveCredentialsTitle": "Add Credentials to Config",
"saveCredentialsDescription": "Agrega estas credenciales a tu archivo de configuración del nodo Pangolin autogestionado para completar la conexión.", "saveCredentialsDescription": "Add these credentials to your self-hosted Pangolin node configuration file to complete the connection.",
"submitButton": "Crear Nodo" "submitButton": "Create Node"
}, },
"validation": { "validation": {
"adoptRequired": "El ID del nodo y el secreto son necesarios al adoptar un nodo existente" "adoptRequired": "Node ID and Secret are required when adopting an existing node"
}, },
"errors": { "errors": {
"loadDefaultsFailed": "Falló al cargar los valores predeterminados", "loadDefaultsFailed": "Failed to load defaults",
"defaultsNotLoaded": "Valores predeterminados no cargados", "defaultsNotLoaded": "Defaults not loaded",
"createFailed": "Error al crear el nodo" "createFailed": "Failed to create node"
}, },
"success": { "success": {
"created": "Nodo creado correctamente" "created": "Node created successfully"
} }
}, },
"remoteExitNodeSelection": "Selección de nodo", "remoteExitNodeSelection": "Node Selection",
"remoteExitNodeSelectionDescription": "Seleccione un nodo a través del cual enrutar el tráfico para este sitio local", "remoteExitNodeSelectionDescription": "Select a node to route traffic through for this local site",
"remoteExitNodeRequired": "Un nodo debe ser seleccionado para sitios locales", "remoteExitNodeRequired": "A node must be selected for local sites",
"noRemoteExitNodesAvailable": "No hay nodos disponibles", "noRemoteExitNodesAvailable": "No Nodes Available",
"noRemoteExitNodesAvailableDescription": "No hay nodos disponibles para esta organización. Crea un nodo primero para usar sitios locales.", "noRemoteExitNodesAvailableDescription": "No nodes are available for this organization. Create a node first to use local sites.",
"exitNode": "Nodo de Salida", "exitNode": "Exit Node",
"country": "País", "country": "Country",
"rulesMatchCountry": "Actualmente basado en IP de origen", "rulesMatchCountry": "Currently based on source IP",
"managedSelfHosted": { "managedSelfHosted": {
"title": "Autogestionado", "title": "Autogestionado",
"description": "Servidor Pangolin autoalojado más fiable y de bajo mantenimiento con campanas y silbidos extra", "description": "Servidor Pangolin autoalojado más fiable y de bajo mantenimiento con campanas y silbidos extra",
@@ -1647,53 +1647,53 @@
}, },
"internationaldomaindetected": "Dominio Internacional detectado", "internationaldomaindetected": "Dominio Internacional detectado",
"willbestoredas": "Se almacenará como:", "willbestoredas": "Se almacenará como:",
"roleMappingDescription": "Determinar cómo se asignan los roles a los usuarios cuando se registran cuando está habilitada la provisión automática.", "roleMappingDescription": "Determine how roles are assigned to users when they sign in when Auto Provision is enabled.",
"selectRole": "Seleccione un rol", "selectRole": "Select a Role",
"roleMappingExpression": "Expresn", "roleMappingExpression": "Expression",
"selectRolePlaceholder": "Elija un rol", "selectRolePlaceholder": "Choose a role",
"selectRoleDescription": "Seleccione un rol para asignar a todos los usuarios de este proveedor de identidad", "selectRoleDescription": "Select a role to assign to all users from this identity provider",
"roleMappingExpressionDescription": "Introduzca una expresión JMESPath para extraer información de rol del token de ID", "roleMappingExpressionDescription": "Enter a JMESPath expression to extract role information from the ID token",
"idpTenantIdRequired": "El ID del cliente es obligatorio", "idpTenantIdRequired": "Tenant ID is required",
"invalidValue": "Valor inválido", "invalidValue": "Invalid value",
"idpTypeLabel": "Tipo de proveedor de identidad", "idpTypeLabel": "Identity Provider Type",
"roleMappingExpressionPlaceholder": "e.g., contiene(grupos, 'administrador') && 'administrador' || 'miembro'", "roleMappingExpressionPlaceholder": "e.g., contains(groups, 'admin') && 'Admin' || 'Member'",
"idpGoogleConfiguration": "Configuración de Google", "idpGoogleConfiguration": "Google Configuration",
"idpGoogleConfigurationDescription": "Configura tus credenciales de Google OAuth2", "idpGoogleConfigurationDescription": "Configure your Google OAuth2 credentials",
"idpGoogleClientIdDescription": "Tu ID de cliente de Google OAuth2", "idpGoogleClientIdDescription": "Your Google OAuth2 Client ID",
"idpGoogleClientSecretDescription": "Tu secreto de cliente de Google OAuth2", "idpGoogleClientSecretDescription": "Your Google OAuth2 Client Secret",
"idpAzureConfiguration": "Configuración de Azure Entra ID", "idpAzureConfiguration": "Azure Entra ID Configuration",
"idpAzureConfigurationDescription": "Configure sus credenciales de Azure Entra ID OAuth2", "idpAzureConfigurationDescription": "Configure your Azure Entra ID OAuth2 credentials",
"idpTenantId": "Tenant ID", "idpTenantId": "Tenant ID",
"idpTenantIdPlaceholder": "su-inquilino-id", "idpTenantIdPlaceholder": "your-tenant-id",
"idpAzureTenantIdDescription": "Su ID de inquilino de Azure (encontrado en el resumen de Azure Active Directory)", "idpAzureTenantIdDescription": "Your Azure tenant ID (found in Azure Active Directory overview)",
"idpAzureClientIdDescription": "Tu ID de Cliente de Registro de Azure App", "idpAzureClientIdDescription": "Your Azure App Registration Client ID",
"idpAzureClientSecretDescription": "Tu Azure App Registro Cliente secreto", "idpAzureClientSecretDescription": "Your Azure App Registration Client Secret",
"idpGoogleTitle": "Google", "idpGoogleTitle": "Google",
"idpGoogleAlt": "Google", "idpGoogleAlt": "Google",
"idpAzureTitle": "Azure Entra ID", "idpAzureTitle": "Azure Entra ID",
"idpAzureAlt": "Azure", "idpAzureAlt": "Azure",
"idpGoogleConfigurationTitle": "Configuración de Google", "idpGoogleConfigurationTitle": "Google Configuration",
"idpAzureConfigurationTitle": "Configuración de Azure Entra ID", "idpAzureConfigurationTitle": "Azure Entra ID Configuration",
"idpTenantIdLabel": "Tenant ID", "idpTenantIdLabel": "Tenant ID",
"idpAzureClientIdDescription2": "Tu ID de Cliente de Registro de Azure App", "idpAzureClientIdDescription2": "Your Azure App Registration Client ID",
"idpAzureClientSecretDescription2": "Tu Azure App Registro Cliente secreto", "idpAzureClientSecretDescription2": "Your Azure App Registration Client Secret",
"idpGoogleDescription": "Proveedor OAuth2/OIDC de Google", "idpGoogleDescription": "Proveedor OAuth2/OIDC de Google",
"idpAzureDescription": "Microsoft Azure OAuth2/OIDC provider", "idpAzureDescription": "Microsoft Azure OAuth2/OIDC provider",
"subnet": "Subred", "subnet": "Subnet",
"subnetDescription": "La subred para la configuración de red de esta organización.", "subnetDescription": "The subnet for this organization's network configuration.",
"authPage": "Página Auth", "authPage": "Auth Page",
"authPageDescription": "Configurar la página de autenticación de su organización", "authPageDescription": "Configure the auth page for your organization",
"authPageDomain": "Auth Page Domain", "authPageDomain": "Auth Page Domain",
"noDomainSet": "Ningún dominio establecido", "noDomainSet": "No domain set",
"changeDomain": "Cambiar dominio", "changeDomain": "Change Domain",
"selectDomain": "Seleccionar dominio", "selectDomain": "Select Domain",
"restartCertificate": "Reiniciar certificado", "restartCertificate": "Restart Certificate",
"editAuthPageDomain": "Editar dominio Auth Page", "editAuthPageDomain": "Edit Auth Page Domain",
"setAuthPageDomain": "Establecer dominio Auth Page", "setAuthPageDomain": "Set Auth Page Domain",
"failedToFetchCertificate": "Error al obtener el certificado", "failedToFetchCertificate": "Failed to fetch certificate",
"failedToRestartCertificate": "Error al reiniciar el certificado", "failedToRestartCertificate": "Failed to restart certificate",
"addDomainToEnableCustomAuthPages": "Añadir un dominio para habilitar páginas de autenticación personalizadas para su organización", "addDomainToEnableCustomAuthPages": "Add a domain to enable custom authentication pages for your organization",
"selectDomainForOrgAuthPage": "Seleccione un dominio para la página de autenticación de la organización", "selectDomainForOrgAuthPage": "Select a domain for the organization's authentication page",
"domainPickerProvidedDomain": "Dominio proporcionado", "domainPickerProvidedDomain": "Dominio proporcionado",
"domainPickerFreeProvidedDomain": "Dominio proporcionado gratis", "domainPickerFreeProvidedDomain": "Dominio proporcionado gratis",
"domainPickerVerified": "Verificado", "domainPickerVerified": "Verificado",
@@ -1707,16 +1707,21 @@
"domainPickerInvalidSubdomainCannotMakeValid": "No se ha podido hacer válido \"{sub}\" para {domain}.", "domainPickerInvalidSubdomainCannotMakeValid": "No se ha podido hacer válido \"{sub}\" para {domain}.",
"domainPickerSubdomainSanitized": "Subdominio saneado", "domainPickerSubdomainSanitized": "Subdominio saneado",
"domainPickerSubdomainCorrected": "\"{sub}\" fue corregido a \"{sanitized}\"", "domainPickerSubdomainCorrected": "\"{sub}\" fue corregido a \"{sanitized}\"",
"orgAuthSignInTitle": "Inicia sesión en tu organización", "orgAuthSignInTitle": "Sign in to your organization",
"orgAuthChooseIdpDescription": "Elige tu proveedor de identidad para continuar", "orgAuthChooseIdpDescription": "Choose your identity provider to continue",
"orgAuthNoIdpConfigured": "Esta organización no tiene ningún proveedor de identidad configurado. En su lugar puedes iniciar sesión con tu identidad de Pangolin.", "orgAuthNoIdpConfigured": "This organization doesn't have any identity providers configured. You can log in with your Pangolin identity instead.",
"orgAuthSignInWithPangolin": "Iniciar sesión con Pangolin", "orgAuthSignInWithPangolin": "Sign in with Pangolin",
"subscriptionRequiredToUse": "Se requiere una suscripción para utilizar esta función.", "subscriptionRequiredToUse": "A subscription is required to use this feature.",
"idpDisabled": "Los proveedores de identidad están deshabilitados.", "idpDisabled": "Identity providers are disabled.",
"orgAuthPageDisabled": "La página de autenticación de la organización está deshabilitada.", "orgAuthPageDisabled": "Organization auth page is disabled.",
"domainRestartedDescription": "Verificación de dominio reiniciada con éxito", "domainRestartedDescription": "Domain verification restarted successfully",
"resourceAddEntrypointsEditFile": "Editar archivo: config/traefik/traefik_config.yml", "resourceAddEntrypointsEditFile": "Editar archivo: config/traefik/traefik_config.yml",
"resourceExposePortsEditFile": "Editar archivo: docker-compose.yml", "resourceExposePortsEditFile": "Editar archivo: docker-compose.yml",
"emailVerificationRequired": "Se requiere verificación de correo electrónico. Por favor, inicie sesión de nuevo a través de {dashboardUrl}/auth/login complete este paso. Luego, vuelva aquí.", "emailVerificationRequired": "Se requiere verificación de correo electrónico. Por favor, inicie sesión de nuevo a través de {dashboardUrl}/auth/login complete este paso. Luego, vuelva aquí.",
"twoFactorSetupRequired": "La configuración de autenticación de doble factor es requerida. Por favor, inicia sesión de nuevo a través de {dashboardUrl}/auth/login completa este paso. Luego, vuelve aquí." "twoFactorSetupRequired": "La configuración de autenticación de doble factor es requerida. Por favor, inicia sesión de nuevo a través de {dashboardUrl}/auth/login completa este paso. Luego, vuelve aquí.",
"authPageErrorUpdateMessage": "An error occurred while updating the auth page settings",
"authPageUpdated": "Auth page updated successfully",
"healthCheckNotAvailable": "Local",
"rewritePath": "Rewrite Path",
"rewritePathDescription": "Optionally rewrite the path before forwarding to the target."
} }