9b3d919168
Updated Spanish translations for various UI elements Updated and completed all remaining Spanish translations, including support for AmneziaWG 2.0. Following: https://wg-easy.github.io/wg-easy/v15.2/contributing/translation/
297 lines
13 KiB
JSON
297 lines
13 KiB
JSON
{
|
|
"pages": {
|
|
"me": "Cuenta",
|
|
"clients": "Clientes",
|
|
"admin": {
|
|
"panel": "Panel de Admin.",
|
|
"general": "General",
|
|
"config": "Configuración",
|
|
"interface": "Interfaz",
|
|
"hooks": "Hooks"
|
|
}
|
|
},
|
|
"user": {
|
|
"email": "Correo electrónico"
|
|
},
|
|
"me": {
|
|
"currentPassword": "Contraseña actual",
|
|
"enable2fa": "Habilitar autenticación en dos pasos",
|
|
"enable2faDesc": "Escanea el código QR con tu aplicación de autenticación o introduce la clave manualmente.",
|
|
"2faKey": "Clave TOTP",
|
|
"2faCodeDesc": "Introduce el código de tu aplicación de autenticación.",
|
|
"disable2fa": "Desactivar autenticación en dos pasos",
|
|
"disable2faDesc": "Introduce tu contraseña para desactivar la autenticación en dos pasos."
|
|
},
|
|
"general": {
|
|
"name": "Nombre",
|
|
"username": "Usuario",
|
|
"password": "Contraseña",
|
|
"newPassword": "Nueva contraseña",
|
|
"updatePassword": "Actualizar contraseña",
|
|
"mtu": "MTU",
|
|
"allowedIps": "IPs permitidas",
|
|
"dns": "DNS",
|
|
"persistentKeepalive": "Keepalive persistente",
|
|
"logout": "Cerrar sesión",
|
|
"continue": "Continuar",
|
|
"host": "Host",
|
|
"port": "Puerto",
|
|
"yes": "Sí",
|
|
"no": "No",
|
|
"confirmPassword": "Confirmar contraseña",
|
|
"loading": "Cargando...",
|
|
"2fa": "Autenticación en dos pasos",
|
|
"2faCode": "Código TOTP"
|
|
},
|
|
"setup": {
|
|
"welcome": "Bienvenido a tu primera configuración de wg-easy",
|
|
"welcomeDesc": "Has encontrado la forma más fácil de instalar y gestionar WireGuard en cualquier host Linux",
|
|
"existingSetup": "¿Tienes una configuración existente?",
|
|
"createAdminDesc": "Por favor, introduce un nombre de usuario y una contraseña segura. Esta información se usará para iniciar sesión en el panel de administración.",
|
|
"setupConfigDesc": "Introduce la información del host y puerto. Se utilizará para la configuración del cliente al instalar WireGuard en sus dispositivos.",
|
|
"setupMigrationDesc": "Proporciona el archivo de copia de seguridad si deseas migrar tus datos desde una versión anterior de wg-easy a esta nueva configuración.",
|
|
"upload": "Subir",
|
|
"migration": "Restaurar copia de seguridad:",
|
|
"createAccount": "Crear cuenta",
|
|
"successful": "Configuración completada",
|
|
"hostDesc": "Nombre de host público al que se conectarán los clientes",
|
|
"portDesc": "Puerto UDP público al que se conectarán los clientes y que escuchará WireGuard"
|
|
},
|
|
"update": {
|
|
"updateAvailable": "¡Hay una actualización disponible!",
|
|
"update": "Actualizar"
|
|
},
|
|
"theme": {
|
|
"dark": "Tema oscuro",
|
|
"light": "Tema claro",
|
|
"system": "Tema del sistema"
|
|
},
|
|
"layout": {
|
|
"toggleCharts": "Mostrar/ocultar gráficos",
|
|
"donate": "Donar"
|
|
},
|
|
"login": {
|
|
"signIn": "Iniciar sesión",
|
|
"rememberMe": "Recordarme",
|
|
"rememberMeDesc": "Mantener sesión iniciada tras cerrar el navegador",
|
|
"insecure": "No puedes iniciar sesión con una conexión no segura. Usa HTTPS.",
|
|
"2faRequired": "Se requiere autenticación en dos pasos",
|
|
"2faWrong": "El código de autenticación en dos pasos es incorrecto"
|
|
},
|
|
"client": {
|
|
"empty": "No hay clientes todavía.",
|
|
"newShort": "Nuevo",
|
|
"sort": "Ordenar",
|
|
"create": "Crear cliente",
|
|
"created": "Cliente creado",
|
|
"new": "Nuevo cliente",
|
|
"name": "Nombre",
|
|
"expireDate": "Fecha de expiración",
|
|
"expireDateDesc": "Fecha en que el cliente será desactivado. En blanco = permanente",
|
|
"deleteClient": "Eliminar cliente",
|
|
"deleteDialog1": "¿Estás seguro de que deseas eliminar a",
|
|
"deleteDialog2": "Esta acción no se puede deshacer.",
|
|
"enabled": "Habilitado",
|
|
"address": "Dirección",
|
|
"serverAllowedIps": "IPs permitidas del servidor",
|
|
"otlDesc": "Generar enlace único de un solo uso",
|
|
"permanent": "Permanente",
|
|
"createdOn": "Creado el ",
|
|
"lastSeen": "Última conexión el ",
|
|
"totalDownload": "Descarga total: ",
|
|
"totalUpload": "Subida total: ",
|
|
"newClient": "Nuevo cliente",
|
|
"disableClient": "Desactivar cliente",
|
|
"enableClient": "Activar cliente",
|
|
"noPrivKey": "Este cliente no tiene clave privada conocida. No se puede crear la configuración.",
|
|
"showQR": "Mostrar código QR",
|
|
"downloadConfig": "Descargar configuración",
|
|
"allowedIpsDesc": "Qué IPs se enrutarán por la VPN (anula la configuración global)",
|
|
"serverAllowedIpsDesc": "Qué IPs el servidor enviará al cliente",
|
|
"mtuDesc": "Tamaño máximo de paquete (MTU) para el túnel VPN",
|
|
"persistentKeepaliveDesc": "Intervalo (en segundos) para los paquetes keep-alive. 0 lo desactiva",
|
|
"hooks": "Hooks",
|
|
"hooksDescription": "Los hooks solo funcionan con wg-quick",
|
|
"hooksLeaveEmpty": "Solo para wg-quick. En caso contrario, dejar vacío",
|
|
"dnsDesc": "Servidor DNS que usarán los clientes (anula la configuración global)",
|
|
"notConnected": "Cliente no conectado",
|
|
"endpoint": "Punto de conexión",
|
|
"endpointDesc": "IP del cliente desde donde se establece la conexión WireGuard",
|
|
"search": "Buscar clientes...",
|
|
"config": "Configuración",
|
|
"viewConfig": "Ver configuración",
|
|
"firewallIps": "IPs permitidas del cortafuegos",
|
|
"firewallIpsDesc": "IPs/CIDRs de destino a las que este cliente puede acceder (aplicado en el servidor). Deja vacío para usar IPs permitidas. Admite filtrado opcional de puertos y protocolos. Consulta la documentación para la sintaxis.",
|
|
"downloadPng": "Descargar PNG",
|
|
"copyPng": "Copiar PNG"
|
|
},
|
|
"dialog": {
|
|
"change": "Cambiar",
|
|
"cancel": "Cancelar",
|
|
"create": "Crear"
|
|
},
|
|
"toast": {
|
|
"success": "Éxito",
|
|
"saved": "Guardado",
|
|
"error": "Error",
|
|
"unknown": "Error desconocido. Revisa la consola para más detalles"
|
|
},
|
|
"form": {
|
|
"actions": "Acciones",
|
|
"save": "Guardar",
|
|
"revert": "Revertir",
|
|
"sectionGeneral": "General",
|
|
"sectionAdvanced": "Avanzado",
|
|
"noItems": "Sin elementos",
|
|
"nullNoItems": "Sin elementos. Usando configuración global",
|
|
"add": "Añadir"
|
|
},
|
|
"admin": {
|
|
"general": {
|
|
"sessionTimeout": "Tiempo de sesión",
|
|
"sessionTimeoutDesc": "Duración de sesión con 'Recordarme' (en segundos)",
|
|
"metrics": "Métricas",
|
|
"metricsPassword": "Contraseña",
|
|
"metricsPasswordDesc": "Contraseña Bearer para el endpoint de métricas (contraseña o hash argon2)",
|
|
"json": "JSON",
|
|
"jsonDesc": "Ruta para métricas en formato JSON",
|
|
"prometheus": "Prometheus",
|
|
"prometheusDesc": "Ruta para métricas de Prometheus"
|
|
},
|
|
"config": {
|
|
"connection": "Conexión",
|
|
"hostDesc": "Nombre de host público al que se conectarán los clientes (invalida config)",
|
|
"portDesc": "Puerto UDP público al que se conectarán los clientes (invalida config, también debes cambiar el puerto de interfaz)",
|
|
"allowedIpsDesc": "IPs permitidas que usarán los clientes (configuración global)",
|
|
"dnsDesc": "Servidor DNS que usarán los clientes (configuración global)",
|
|
"mtuDesc": "MTU que usarán los clientes (solo para nuevos clientes)",
|
|
"persistentKeepaliveDesc": "Intervalo en segundos para enviar keepalives al servidor. 0 = desactivado (solo para nuevos clientes)",
|
|
"suggest": "Sugerir",
|
|
"suggestDesc": "Elegir dirección IP o nombre de host para el campo Host"
|
|
},
|
|
"interface": {
|
|
"cidrSuccess": "CIDR cambiado",
|
|
"device": "Dispositivo",
|
|
"deviceDesc": "Dispositivo Ethernet por donde se reenviará el tráfico de WireGuard",
|
|
"mtuDesc": "MTU que usará WireGuard",
|
|
"portDesc": "Puerto UDP en el que escuchará WireGuard (debes cambiar también el puerto de config)",
|
|
"changeCidr": "Cambiar CIDR",
|
|
"restart": "Reiniciar interfaz",
|
|
"restartDesc": "Reiniciar la interfaz de WireGuard",
|
|
"restartWarn": "¿Estás seguro de reiniciar la interfaz? Esto desconectará a todos los clientes.",
|
|
"restartSuccess": "Interfaz reiniciada",
|
|
"firewall": "Filtrado de tráfico",
|
|
"firewallEnabled": "Habilitar cortafuegos por cliente",
|
|
"firewallEnabledDesc": "Restringe el tráfico del cliente a IPs de destino específicas usando iptables. Cuando está activado, cada cliente puede configurarse con destinos permitidos."
|
|
},
|
|
"introText": "Bienvenido al panel de administración.\n\nAquí puedes gestionar los ajustes generales, la configuración, la interfaz y los hooks.\n\nEmpieza eligiendo una de las secciones en la barra lateral."
|
|
},
|
|
"zod": {
|
|
"generic": {
|
|
"required": "{0} es obligatorio",
|
|
"validNumber": "{0} debe ser un número válido",
|
|
"validNumberRange": "{0} debe ser un número válido o un rango de números",
|
|
"validString": "{0} debe ser una cadena válida",
|
|
"validBoolean": "{0} debe ser un booleano válido",
|
|
"validArray": "{0} debe ser una lista válida",
|
|
"stringMin": "{0} debe tener al menos {1} caracteres",
|
|
"numberMin": "{0} debe ser al menos {1}"
|
|
},
|
|
"client": {
|
|
"id": "ID del cliente",
|
|
"name": "Nombre",
|
|
"expiresAt": "Expira el",
|
|
"address4": "Dirección IPv4",
|
|
"address6": "Dirección IPv6",
|
|
"serverAllowedIps": "IPs permitidas del servidor",
|
|
"firewallIps": "IPs permitidas del cortafuegos",
|
|
"firewallIpsInvalid": "Entrada de IP de cortafuegos no válida. Consulta la documentación para la sintaxis compatible."
|
|
},
|
|
"user": {
|
|
"username": "Usuario",
|
|
"password": "Contraseña",
|
|
"remember": "Recordar",
|
|
"name": "Nombre",
|
|
"email": "Correo electrónico",
|
|
"emailInvalid": "El correo electrónico debe ser válido",
|
|
"passwordMatch": "Las contraseñas deben coincidir",
|
|
"totpEnable": "Activar TOTP",
|
|
"totpEnableTrue": "Debe estar activado",
|
|
"totpCode": "Código TOTP"
|
|
},
|
|
"userConfig": {
|
|
"host": "Host"
|
|
},
|
|
"general": {
|
|
"sessionTimeout": "Tiempo de sesión",
|
|
"metricsEnabled": "Métricas",
|
|
"metricsPassword": "Contraseña de métricas"
|
|
},
|
|
"interface": {
|
|
"cidr": "CIDR",
|
|
"device": "Dispositivo",
|
|
"cidrValid": "El CIDR debe ser válido"
|
|
},
|
|
"otl": "Enlace de un solo uso",
|
|
"stringMalformed": "Cadena malformada",
|
|
"body": "El cuerpo debe ser un objeto válido",
|
|
"hook": "Hook",
|
|
"enabled": "Habilitado",
|
|
"mtu": "MTU",
|
|
"port": "Puerto",
|
|
"persistentKeepalive": "Keepalive persistente",
|
|
"address": "Dirección IP",
|
|
"dns": "DNS",
|
|
"allowedIps": "IPs permitidas",
|
|
"file": "Archivo"
|
|
},
|
|
"hooks": {
|
|
"preUp": "PreUp",
|
|
"postUp": "PostUp",
|
|
"preDown": "PreDown",
|
|
"postDown": "PostDown"
|
|
},
|
|
"copy": {
|
|
"notSupported": "La copia no es compatible",
|
|
"copied": "¡Copiado!",
|
|
"failed": "Error al copiar",
|
|
"copy": "Copiar"
|
|
},
|
|
"awg": {
|
|
"jCLabel": "Número de paquetes basura (Jc)",
|
|
"jCDescription": "Número de paquetes basura a enviar (1-128, recomendado: 4-12)",
|
|
"jMinLabel": "Tamaño mínimo de paquete basura (Jmin)",
|
|
"jMinDescription": "Tamaño mínimo de los paquetes basura (0-1279*, recomendado: 8, debe ser < Jmax)",
|
|
"jMaxLabel": "Tamaño máximo de paquete basura (Jmax)",
|
|
"jMaxDescription": "Tamaño máximo de los paquetes basura (1-1280*, recomendado: 80, debe ser > Jmin)",
|
|
"s1Label": "Tamaño de basura del paquete Init (S1)",
|
|
"s1Description": "Tamaño de basura del paquete Init (0-1132[1280* - 148 = 1132], recomendado: 15-150, S1+56 ≠ S2)",
|
|
"s2Label": "Tamaño de basura del paquete de respuesta (S2)",
|
|
"s2Description": "Tamaño de basura del paquete de respuesta (0-1188[1280* - 92 = 1188], recomendado: 15-150)",
|
|
"s3Label": "Tamaño de basura del paquete de respuesta de cookie (S3)",
|
|
"s3Description": "Tamaño de basura del paquete de respuesta de cookie",
|
|
"s4Label": "Tamaño de basura del paquete de transporte (S4)",
|
|
"s4Description": "Tamaño de basura del paquete de transporte",
|
|
"h1Label": "Cabecera mágica Init (H1)",
|
|
"h1Description": "Valor o rango de cabecera del paquete Init (X o X-Y, donde X<Y. Mín 5, máx 2147483647. El valor o rango no debe solaparse con otras cabeceras)",
|
|
"h2Label": "Cabecera mágica de respuesta (H2)",
|
|
"h2Description": "Valor o rango de cabecera del paquete de respuesta (X o X-Y, donde X<Y. Mín 5, máx 2147483647. El valor o rango no debe solaparse con otras cabeceras)",
|
|
"h3Label": "Cabecera mágica de respuesta de cookie (H3)",
|
|
"h3Description": "Valor o rango de cabecera del paquete de respuesta de cookie (X o X-Y, donde X<Y. Mín 5, máx 2147483647. El valor o rango no debe solaparse con otras cabeceras)",
|
|
"h4Label": "Cabecera mágica de transporte (H4)",
|
|
"h4Description": "Valor o rango de cabecera del paquete de transporte (X o X-Y, donde X<Y. Mín 5, máx 2147483647. El valor o rango no debe solaparse con otras cabeceras)",
|
|
"i1Label": "Paquete basura especial 1 (I1)",
|
|
"i1Description": "Paquete que imita protocolo en formato hex: <b 0x...>",
|
|
"i2Label": "Paquete basura especial 2 (I2)",
|
|
"i2Description": "Paquete que imita protocolo en formato hex: <b 0x...>",
|
|
"i3Label": "Paquete basura especial 3 (I3)",
|
|
"i3Description": "Paquete que imita protocolo en formato hex: <b 0x...>",
|
|
"i4Label": "Paquete basura especial 4 (I4)",
|
|
"i4Description": "Paquete que imita protocolo en formato hex: <b 0x...>",
|
|
"i5Label": "Paquete basura especial 5 (I5)",
|
|
"i5Description": "Paquete que imita protocolo en formato hex: <b 0x...>",
|
|
"mtuNote": "Los valores dependen de la MTU",
|
|
"obfuscationParameters": "Parámetros de ofuscación AmneziaWG"
|
|
}
|
|
}
|