From 988e75a5646a9d5eb3bf34b99d914b17d99087ae Mon Sep 17 00:00:00 2001 From: billz Date: Fri, 24 Oct 2025 12:14:32 +0200 Subject: [PATCH] Update es_MX locale translations --- locale/es_MX/LC_MESSAGES/messages.mo | Bin 32298 -> 89723 bytes locale/es_MX/LC_MESSAGES/messages.po | 1160 +++++++++++++++++--------- 2 files changed, 787 insertions(+), 373 deletions(-) diff --git a/locale/es_MX/LC_MESSAGES/messages.mo b/locale/es_MX/LC_MESSAGES/messages.mo index 6509e0ede1becf31a6089153f373504270dd1755..5b97b36225d2c01561b7971d594b4dc47a2c0e98 100644 GIT binary patch literal 89723 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 EUu{~&u>b%7 delta 11137 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 N=jgfS+&OyZ{{;{Vok{=z diff --git a/locale/es_MX/LC_MESSAGES/messages.po b/locale/es_MX/LC_MESSAGES/messages.po index 8dbf2e01..af5ebaa9 100644 --- a/locale/es_MX/LC_MESSAGES/messages.po +++ b/locale/es_MX/LC_MESSAGES/messages.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: raspap\n" "Report-Msgid-Bugs-To: Bill Zimmerman \n" "POT-Creation-Date: 2017-10-19 08:56+0000\n" -"PO-Revision-Date: 2025-07-03 05:44\n" +"PO-Revision-Date: 2025-10-24 10:03\n" "Last-Translator: Bill Zimmerman \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -25,7 +25,7 @@ msgid "Toggle navigation" msgstr "Interrutor de navegacion" msgid "RaspAP Admin Panel" -msgstr "" +msgstr "Panel de Administración RaspAP" msgid "Dashboard" msgstr "Tablero" @@ -57,9 +57,6 @@ msgstr "Proxy TOR" msgid "Authentication" msgstr "Autentificacion" -msgid "Change Theme" -msgstr "Cambiar tema" - msgid "System" msgstr "Sistema" @@ -101,7 +98,7 @@ msgid "Please provide a valid username." msgstr "Proporcione un nombre de usuario válido." msgid "Please provide a valid password." -msgstr "" +msgstr "Por favor proporciona una contraseña válida." msgid "Please enter your old password." msgstr "Por favor, introduzca tu contraseña antigua." @@ -113,52 +110,52 @@ msgid "Please re-enter your new password." msgstr "Por favor vuelva a introducir tu nueva contraseña." msgid "Avatar" -msgstr "" +msgstr "Avatar" msgid "Click or tap to upload a new user avatar." -msgstr "" +msgstr "Haz clic o toca para subir un nuevo avatar de usuario." msgid "Image files of type JPG, GIF or PNG are accepted. Max file size: 2 MB." -msgstr "" +msgstr "Se aceptan archivos de imagen de tipo JPG, GIF o PNG. Tamaño máximo: 2 MB." msgid "Reset avatar" -msgstr "" +msgstr "Restablecer avatar" msgid "Enable limited privilege user" -msgstr "" +msgstr "Habilitar usuario con privilegios limitados" msgid "This option enables a non-admin user who can access RaspAP's management interface, but has limited ability to modify the existing configuration. This user becomes active when the current admin user is logged-out." -msgstr "" +msgstr "Esta opción habilita un usuario no administrador que puede acceder a la interfaz de administración de RaspAP, pero tiene capacidad limitada para modificar la configuración existente. Este usuario se activa cuando el usuario administrador actual cierra sesión." msgid "Admin login failed. Please try again." -msgstr "" +msgstr "Error de inicio de sesión de administrador. Por favor intenta de nuevo." msgid "Limited privilege user mode enabled" -msgstr "" +msgstr "Modo de usuario con privilegios limitados habilitado" msgid "Failed to enable limited privilege user mode" -msgstr "" +msgstr "Error al habilitar el modo de usuario con privilegios limitados" msgid "Logout and enable limited user mode" -msgstr "" +msgstr "Cerrar sesión y habilitar modo de usuario limitado" msgid "Limited user login" -msgstr "" +msgstr "Inicio de sesión de usuario limitado" msgid "Limited user password" -msgstr "" +msgstr "Contraseña de usuario limitado" msgid "This action will save the limited user's credentials and logout the current admin user. Save and enable limited privilege mode?" -msgstr "" +msgstr "Esta acción guardará las credenciales del usuario limitado y cerrará la sesión del usuario administrador actual. ¿Guardar y habilitar el modo de privilegios limitados?" msgid "Save and logout" -msgstr "" +msgstr "Guardar y cerrar sesión" msgid "Admin credentials updated successfully" -msgstr "" +msgstr "Credenciales de administrador actualizadas exitosamente" msgid "Limited user credentials updated successfully" -msgstr "" +msgstr "Credenciales de usuario limitado actualizadas exitosamente" #: includes/configure_client.php msgid "Client settings" @@ -225,7 +222,7 @@ msgid "No Wifi stations found" msgstr "No se encontró ninguna WiFi" msgid "Reinitialized wpa_supplicant. Choose Rescan." -msgstr "" +msgstr "wpa_supplicant reinicializado. Selecciona Volver a escanear." msgid "Click 'Rescan' to search for nearby Wifi stations." msgstr "Pulse 'Reescanear' para buscar WiFi cercanas." @@ -295,7 +292,7 @@ msgid "Link Quality" msgstr "Calidad del Enlace" msgid "Information provided by raspap.system" -msgstr "" +msgstr "Información proporcionada por raspap.system" msgid "No MAC Address Found" msgstr "Dirección MAC no encontrada" @@ -334,7 +331,7 @@ msgid "Client: Ethernet cable" msgstr "Cliente: Cable Ethernet" msgid "Current status" -msgstr "" +msgstr "Estado actual" msgid "Ethernet" msgstr "Ethernet" @@ -349,42 +346,42 @@ msgid "WiFi" msgstr "Wi-Fi" msgid "Repeater" -msgstr "" +msgstr "Repetidor" msgid "Tethering" -msgstr "" +msgstr "Anclaje" msgid "Cellular" -msgstr "" +msgstr "Celular" msgid "AP" -msgstr "" +msgstr "Punto de acceso" msgid "Bridged" -msgstr "" +msgstr "Puente" msgid "Adblock" -msgstr "" +msgstr "Bloqueador de anuncios" msgid "VPN" -msgstr "" +msgstr "VPN" msgid "Netmask" -msgstr "" +msgstr "Máscara de red" msgid "5G" -msgstr "" +msgstr "5G" msgid "2.4G" -msgstr "" +msgstr "2,4G" msgid "%d WLAN %s" -msgstr "" +msgstr "%d WLAN %s" msgid "client" msgid_plural "clients" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "cliente" +msgstr[1] "clientes" msgid "Mobile Data Client" msgstr "Límite de datos móviles" @@ -416,9 +413,6 @@ msgstr "Calidad de señal" msgid "WAN IP" msgstr "WAN IP" -msgid "Web-GUI" -msgstr "Web-GUI" - msgid "Signal strength" msgstr "Intensidad de la señal" @@ -426,20 +420,20 @@ msgid "No Client device or not yet configured" msgstr "El dispositivo no se ha configurado aún." msgid "No Client device found" -msgstr "" +msgstr "No se encontró dispositivo cliente" #: includes/footer.php msgid "Created by the %s" -msgstr "" +msgstr "Creado por %s" msgid "RaspAP Team" -msgstr "" +msgstr "Equipo RaspAP" msgid "Get Insiders" -msgstr "" +msgstr "Obtener Insiders" msgid "Thanks for being an Insider" -msgstr "" +msgstr "Gracias por ser un Insider" #: includes/dhcp.php msgid "DHCP server settings" @@ -580,11 +574,11 @@ msgstr "Los clientes con una determinada dirección MAC hardware siempre pueden msgid "This option adds dhcp-host entries to the dnsmasq configuration." msgstr "Esta opción añade entradas dhcp-host a la configuración dnsmasq." -msgid "This toggles the gateway/nogateway option for this interface in the DHCPCD configuration." -msgstr "Esto activa la opción gateway/nogateway para esta interfaz en la configuración DHCPCD." +msgid "This toggles the gateway/nogateway option for this interface in the dhcpcd.conf file." +msgstr "Esto alterna la opción gateway/nogateway para esta interfaz en el archivo dhcpcd.conf." -msgid "This toggles the nohook wpa_supplicant option for this interface in the DHCPCD configuration." -msgstr "Esto activa la opción nohook wpa_supplicant para esta interfaz en la configuración DHCPCD." +msgid "This toggles the nohook wpa_supplicant option for this interface in the dhcpcd.conf file." +msgstr "Esto alterna la opción nohook wpa_supplicant para esta interfaz en el archivo dhcpcd.conf." msgid "Disable wpa_supplicant dhcp hook for this interface" msgstr "Desactivar wpa_supplicant dhcp hook para esta interfaz" @@ -617,19 +611,19 @@ msgid "Invalid default gateway." msgstr "Pasarela predeterminada inválida." msgid "Invalid DHCP range start." -msgstr "" +msgstr "Inicio de rango DHCP inválido." msgid "Invalid DHCP range end." msgstr "Fin de rango DHCP inválido." msgid "Invalid DHCP lease time, not a number." -msgstr "" +msgstr "Tiempo de asignación DHCP inválido, no es un número." msgid "Unknown DHCP lease time unit." -msgstr "" +msgstr "Unidad de tiempo de asignación DHCP desconocida." msgid "Invalid metric value, not a number." -msgstr "" +msgstr "Valor de métrica inválido, no es un número." #: includes/hostapd.php msgid "Basic" @@ -654,7 +648,7 @@ msgid "Encryption Type" msgstr "Tipo de Encriptacion" msgid "Pre-shared key (PSK)" -msgstr "" +msgstr "Clave precompartida (PSK)" msgid "Advanced settings" msgstr "Configuracion Avanzada" @@ -690,25 +684,25 @@ msgid "Country code must be blank or two characters" msgstr "Codido de pais debe quedar en blanco o tener 2 caracteres" msgid "DHCP configuration for %s enabled." -msgstr "" +msgstr "Configuración DHCP para %s habilitada." msgid "DHCP configuration for %s added." -msgstr "" +msgstr "Configuración DHCP para %s agregada." msgid "DHCP configuration for %s updated." -msgstr "" +msgstr "Configuración DHCP para %s actualizada." msgid "Interface %s has no default settings." -msgstr "" +msgstr "La interfaz %s no tiene configuración predeterminada." msgid "Configure settings in DHCP Server before starting AP." -msgstr "" +msgstr "Configura los ajustes en Servidor DHCP antes de iniciar el punto de acceso." msgid "Wifi hotspot settings saved." -msgstr "" +msgstr "Configuración del punto de acceso WiFi guardada." msgid "Unable to save WiFi hotspot settings." -msgstr "" +msgstr "No se puede guardar la configuración del punto de acceso WiFi." msgid "Start hotspot" msgstr "Iniciar hotspot" @@ -732,7 +726,10 @@ msgid "Bridged AP mode" msgstr "Modo AP Bridged" msgid "WiFi repeater mode" -msgstr "" +msgstr "Modo repetidor WiFi" + +msgid "Dual band AP mode" +msgstr "Modo punto de acceso de doble banda" msgid "Hide SSID in broadcast" msgstr "Ocultar SSID en la transmisión" @@ -771,70 +768,139 @@ msgid "dBm is a unit of level used to indicate that a power ratio is expressed i msgstr "dBm es una unidad de nivel utilizada para indicar que una proporción de potencia se expresa en decibelios (dB) con referencia a un millwatio (mW). 30 dBm es igual a 1000 mW, mientras que 0 dBm es igual a 1,25 mW." msgid "WPA and WPA2" -msgstr "" +msgstr "WPA y WPA2" msgid "WPA2 and WPA3-Personal (transitional mode)" -msgstr "" +msgstr "WPA2 y WPA3-Personal (modo de transición)" msgid "WPA3-Personal (required)" -msgstr "" +msgstr "WPA3-Personal (requerido)" msgid "Enabled (for supported clients)" -msgstr "" +msgstr "Habilitado (para clientes compatibles)" msgid "Required (for supported clients)" -msgstr "" +msgstr "Requerido (para clientes compatibles)" msgid "802.11w extends strong cryptographic protection to a select set of robust management frames, including Deauthentication, Disassociation and certain categories of Action Management frames. Collectively, this is known as Management Frame Protection (MFP)." -msgstr "" +msgstr "802.11w extiende protección criptográfica fuerte a un conjunto selecto de tramas de administración robustas, incluyendo Desautenticación, Desasociación y ciertas categorías de tramas de Administración de Acciones. En conjunto, esto se conoce como Protección de Tramas de Administración (MFP)." msgid "Scan this QR code directly or %s %sprint a sign%s for your users." -msgstr "" +msgstr "Escanea este código QR directamente o %s %simprime un cartel%s para tus usuarios." msgid "Printable Wi-Fi sign" -msgstr "" +msgstr "Cartel WiFi imprimible" msgid "To connect with your phone or tablet, scan the QR code above with your camera app." -msgstr "" +msgstr "Para conectarte con tu teléfono o tableta, escanea el código QR de arriba con la aplicación de tu cámara." msgid "For other devices, use the login credentials below." -msgstr "" +msgstr "Para otros dispositivos, usa las credenciales de inicio de sesión de abajo." msgid "Network" -msgstr "" +msgstr "Red" msgid "The selected interface (%s) has support for the 2.4 GHz wireless band only." -msgstr "" +msgstr "La interfaz seleccionada (%s) solo tiene soporte para la banda inalámbrica de 2.4 GHz." msgid "The selected interface (%s) has support for the 2.5 GHz wireless band only." -msgstr "" +msgstr "La interfaz seleccionada (%s) solo tiene soporte para la banda inalámbrica de 2.5 GHz." msgid "The selected interface (%s) has support for both the 2.4 and 5 GHz wireless bands." -msgstr "" +msgstr "La interfaz seleccionada (%s) tiene soporte para las bandas inalámbricas de 2.4 y 5 GHz." msgid "The selected interface (%s) does not support wireless mode operation." -msgstr "" +msgstr "La interfaz seleccionada (%s) no soporta operación en modo inalámbrico." msgid "The 802.11ac 5 GHz option is disabled until a compatible wireless regulatory domain is set." -msgstr "" +msgstr "La opción 802.11ac 5 GHz está deshabilitada hasta que se establezca un dominio regulatorio inalámbrico compatible." msgid "WiFi repeater mode: A metric value is already defined for DHCP." -msgstr "" +msgstr "Modo repetidor WiFi: Ya está definido un valor de métrica para DHCP." msgid "Restart hotspot to enable WiFi repeater mode." -msgstr "" +msgstr "Reinicia el punto de acceso para habilitar el modo repetidor WiFi." msgid "Unable to obtain metric value for client interface. Repeater mode inactive." -msgstr "" +msgstr "No se puede obtener el valor de métrica para la interfaz del cliente. Modo repetidor inactivo." msgid "Metric value configured for the %s interface." -msgstr "" +msgstr "Valor de métrica configurado para la interfaz %s." msgid "Parameter hiddenSSID contains invalid configuration value." -msgstr "" +msgstr "El parámetro hiddenSSID contiene un valor de configuración inválido." msgid "Parameter hiddenSSID is not a number." -msgstr "" +msgstr "El parámetro hiddenSSID no es un número." + +msgid "Bridge interface configuration" +msgstr "Configuración de interfaz puente" + +msgid "Configure a static IP address for the br0 interface to maintain connectivity during bridge mode activation." +msgstr "Configura una dirección IP estática para la interfaz br0 para mantener la conectividad durante la activación del modo puente." + +msgid "Static IP Address" +msgstr "Dirección IP estática" + +msgid "Netmask / CIDR" +msgstr "Máscara de red / CIDR" + +msgid "Example: 192.168.1.100" +msgstr "Ejemplo: 192.168.1.100" + +msgid "CIDR notation (e.g., 24 for 255.255.255.0)" +msgstr "Notación CIDR (ej., 24 para 255.255.255.0)" + +msgid "Gateway" +msgstr "Puerta de enlace" + +msgid "Your router's IP address" +msgstr "Dirección IP de tu router" + +msgid "Usually same as gateway" +msgstr "Generalmente igual que la puerta de enlace" + +msgid "Bridge static IP address must be a valid IPv4 address" +msgstr "La dirección IP estática del puente debe ser una dirección IPv4 válida" + +msgid "Bridge netmask must be a number between 1 and 32" +msgstr "La máscara de red del puente debe ser un número entre 1 y 32" + +msgid "Bridge netmask is required when using static IP" +msgstr "Se requiere la máscara de red del puente al usar IP estática" + +msgid "Bridge gateway must be a valid IPv4 address" +msgstr "La puerta de enlace del puente debe ser una dirección IPv4 válida" + +msgid "Bridge gateway is required when using static IP" +msgstr "Se requiere la puerta de enlace del puente al usar IP estática" + +msgid "Bridge DNS server must be a valid IPv4 address" +msgstr "El servidor DNS del puente debe ser una dirección IPv4 válida" + +msgid "Bridge DNS server is required when using static IP" +msgstr "Se requiere el servidor DNS del puente al usar IP estática" + +msgid "Bridge static IP and gateway must be in the same subnet" +msgstr "La IP estática del puente y la puerta de enlace deben estar en la misma subred" + +msgid "Please enter a valid IPv4 address" +msgstr "Por favor ingresa una dirección IPv4 válida" + +msgid "Please enter a valid netmask" +msgstr "Por favor ingresa una máscara de red válida" + +msgid "DHCP configuration for br0 enabled" +msgstr "Configuración DHCP para br0 habilitada" + +msgid "Unable to save WiFi hotspot settings due to validation errors" +msgstr "No se puede guardar la configuración del punto de acceso WiFi debido a errores de validación" + +msgid "Enable AP isolation" +msgstr "Habilitar aislamiento de punto de acceso" + +msgid "Blocks wireless clients from seeing or connecting to each other. Recommended for guest networks and public access points." +msgstr "Bloquea a los clientes inalámbricos para que no se vean o se conecten entre sí. Recomendado para redes de invitados y puntos de acceso públicos." #: includes/networking.php msgid "Summary" @@ -880,19 +946,19 @@ msgid "Information provided by /sys/class/net" msgstr "Información ofrecida por /sys/class/net" msgid "Devices" -msgstr "" +msgstr "Dispositivos" msgid "Diagnostics" -msgstr "" +msgstr "Diagnósticos" -msgid "Properties of network devices" -msgstr "Propiedades de los dispositivos de red" +msgid "Network devices" +msgstr "Dispositivos de red" msgid "Device" msgstr "Dispositivo" -msgid "MAC" -msgstr "MAC" +msgid "MAC address" +msgstr "Dirección MAC" msgid "USB vid/pid" msgstr "USB vid/pid" @@ -906,11 +972,11 @@ msgstr "Nombre Fijo" msgid "Change" msgstr "Cambiar" -msgid "Settings for Mobile Data Devices" -msgstr "Configuración de dispositivos de datos móviles" +msgid "Mobile data settings" +msgstr "Configuración de datos móviles" -msgid "PIN of SIM card" -msgstr "PIN de tarjeta SIM" +msgid "SIM card PIN number" +msgstr "Número PIN de la tarjeta SIM" msgid "APN Settings (Modem device ppp0)" msgstr "Ajustes de APN (dispositivo móvil ppp0)" @@ -931,103 +997,103 @@ msgid "Unable to detect interface" msgstr "No se puede detectar la interfaz" msgid "Routing table" -msgstr "" +msgstr "Tabla de enrutamiento" msgid "raw output" -msgstr "" +msgstr "salida sin procesar" msgid "Setting wireless regulatory domain to %s" -msgstr "" +msgstr "Estableciendo dominio regulatorio inalámbrico a %s" msgid "Please provide a valid SSID." -msgstr "" +msgstr "Por favor proporciona un SSID válido." msgid "Please provide a valid PSK." -msgstr "" +msgstr "Por favor proporciona una PSK válida." msgid "Speedtest" -msgstr "" +msgstr "Prueba de velocidad" msgid "Selecting a server" -msgstr "" +msgstr "Seleccionando un servidor" msgid "Privacy" -msgstr "" +msgstr "Privacidad" msgid "Server" -msgstr "" +msgstr "Servidor" msgid "ms" -msgstr "" +msgstr "ms" msgid "Mbps" -msgstr "" +msgstr "Mbps" msgid "Ping" -msgstr "" +msgstr "Ping" msgid "Jitter" -msgstr "" +msgstr "Jitter" msgid "Upload" -msgstr "" +msgstr "Subida" msgid "Start" -msgstr "" +msgstr "Iniciar" msgid "Abort" -msgstr "" +msgstr "Cancelar" msgid "Wireless LAN routing" -msgstr "" +msgstr "Enrutamiento LAN inalámbrico" msgid "Stop WLAN routing" -msgstr "" +msgstr "Detener enrutamiento WLAN" msgid "Start WLAN routing" -msgstr "" +msgstr "Iniciar enrutamiento WLAN" msgid "Restart WLAN routing" -msgstr "" +msgstr "Reiniciar enrutamiento WLAN" msgid "This option configures RaspAP to route network traffic from your wireless client (STA) interface to another available interface." -msgstr "" +msgstr "Esta opción configura RaspAP para enrutar el tráfico de red desde tu interfaz de cliente inalámbrico (STA) a otra interfaz disponible." msgid "When an output interface is selected, iptables rules are added to route packets using network address translation (NAT). This is often done to share internet connectivity from a WLAN with devices on an eth0, usb0 or predictable enx interface." -msgstr "" +msgstr "Cuando se selecciona una interfaz de salida, se agregan reglas de iptables para enrutar paquetes usando traducción de direcciones de red (NAT). Esto se hace a menudo para compartir conectividad a internet desde una WLAN con dispositivos en una interfaz eth0, usb0 o predecible enx." msgid "Wireless client interface" -msgstr "" +msgstr "Interfaz de cliente inalámbrico" msgid "Output interface" -msgstr "" +msgstr "Interfaz de salida" msgid "Configure a static IP address and DHCP for output interface" -msgstr "" +msgstr "Configurar una dirección IP estática y DHCP para la interfaz de salida" msgid "Attempting to enable routing between %s and %s interfaces" -msgstr "" +msgstr "Intentando habilitar enrutamiento entre las interfaces %s y %s" msgid "Attempting to disable routing between %s and %s interfaces" -msgstr "" +msgstr "Intentando deshabilitar enrutamiento entre las interfaces %s y %s" msgid "No default DHCP configuration exists for the %s interface" -msgstr "" +msgstr "No existe configuración DHCP predeterminada para la interfaz %s" msgid "Configure a static IP and DHCP for this interface in DHCP Server settings" -msgstr "" +msgstr "Configura una IP estática y DHCP para esta interfaz en la configuración del servidor DHCP" msgid "WLAN routing configuration saved" -msgstr "" +msgstr "Configuración de enrutamiento WLAN guardada" msgid "Unable to save WLAN routing configuration" -msgstr "" +msgstr "No se puede guardar la configuración de enrutamiento WLAN" msgid "Successfully restarted dnsmasq" -msgstr "" +msgstr "dnsmasq reiniciado exitosamente" msgid "Failed to restart dnsmasq" -msgstr "" +msgstr "Error al reiniciar dnsmasq" #: includes/system.php msgid "System Information" @@ -1058,11 +1124,14 @@ msgid "Uptime" msgstr "Tiempo conectado" msgid "System Time" -msgstr "" +msgstr "Hora del sistema" msgid "Memory Used" msgstr "Memoria Usada" +msgid "Storage Used" +msgstr "Almacenamiento usado" + msgid "CPU Load" msgstr "Carga de CPU" @@ -1073,16 +1142,16 @@ msgid "Shutdown" msgstr "Apagar" msgid "System reboot" -msgstr "" +msgstr "Reinicio del sistema" msgid "System shutdown" -msgstr "" +msgstr "Apagado del sistema" msgid "Reboot now? The system will be temporarily unavailable." -msgstr "" +msgstr "¿Reiniciar ahora? El sistema no estará disponible temporalmente." msgid "Shutdown now? The system will be unavailable." -msgstr "" +msgstr "¿Apagar ahora? El sistema no estará disponible." msgid "System Rebooting Now!" msgstr "¡El sistema se está reiniciando ahora!" @@ -1112,25 +1181,25 @@ msgid "Reset complete. Restart the hotspot for the changes to take effect." msgstr "Reinicio completo. Reinicie el punto de acceso para que los cambios tendran efecto." msgid "System reset in progress..." -msgstr "" +msgstr "Restablecimiento del sistema en progreso..." msgid "Reset" -msgstr "" +msgstr "Restablecer" msgid "Restore settings" -msgstr "" +msgstr "Restaurar configuración" msgid "To reset RaspAP to its initial configuration, click or tap the button below." -msgstr "" +msgstr "Para restablecer RaspAP a su configuración inicial, haz clic o toca el botón de abajo." msgid "Custom files for optional components such as Ad Blocking, WireGuard or OpenVPN will remain on the system." -msgstr "" +msgstr "Los archivos personalizados para componentes opcionales como Bloqueo de Anuncios, WireGuard u OpenVPN permanecerán en el sistema." msgid "Perform reset" -msgstr "" +msgstr "Realizar restablecimiento" msgid "Restores all access point (AP) service settings to their default values. This applies to hostapd, dhcpcd and dnsmasq." -msgstr "" +msgstr "Restaura todas las configuraciones de servicio del punto de acceso (AP) a sus valores predeterminados. Esto aplica a hostapd, dhcpcd y dnsmasq." msgid "Theme settings" msgstr "Configuracion de tema" @@ -1142,112 +1211,139 @@ msgid "Color" msgstr "Color" msgid "Enable this option for resizable, drag and drop widgets. Best for large displays." -msgstr "" +msgstr "Habilita esta opción para widgets redimensionables y arrastrables. Mejor para pantallas grandes." msgid "Dynamic widgets" -msgstr "" +msgstr "Widgets dinámicos" msgid "Tools" -msgstr "" +msgstr "Herramientas" msgid "System tools" -msgstr "" +msgstr "Herramientas del sistema" msgid "To generate a system debug log, click or tap the button below." -msgstr "" +msgstr "Para generar un registro de depuración del sistema, haz clic o toca el botón de abajo." msgid "Debug log information contains the RaspAP version, current state and configuration of AP related services, installed system packages, Linux kernel version and networking details. No passwords or other sensitive data are included." -msgstr "" +msgstr "La información del registro de depuración contiene la versión de RaspAP, el estado actual y configuración de servicios relacionados con el punto de acceso, paquetes del sistema instalados, versión del kernel de Linux y detalles de red. No se incluyen contraseñas u otros datos sensibles." msgid "Generate debug log" -msgstr "" +msgstr "Generar registro de depuración" msgid "Debug log generation in progress..." -msgstr "" +msgstr "Generación de registro de depuración en progreso..." msgid "Diagnostic log size limit (KB)" -msgstr "" +msgstr "Límite de tamaño del registro de diagnóstico (KB)" msgid "Changing log limit size to %s KB" -msgstr "" +msgstr "Cambiando el límite de tamaño del registro a %s KB" msgid "Information provided by raspap.sysinfo" -msgstr "" +msgstr "Información proporcionada por raspap.sysinfo" msgid "The following user plugins are available to extend RaspAP's functionality." -msgstr "" +msgstr "Los siguientes complementos de usuario están disponibles para extender la funcionalidad de RaspAP." msgid "Choose Details for more information and to install a plugin." -msgstr "" +msgstr "Elige Detalles para más información y para instalar un complemento." msgid "Network error" -msgstr "" +msgstr "Error de red" msgid "Unable to load plugins" -msgstr "" +msgstr "No se pueden cargar los complementos" msgid "Reload" -msgstr "" +msgstr "Recargar" msgid "and try again" -msgstr "" +msgstr "e intenta de nuevo" msgid "Plugins" -msgstr "" +msgstr "Complementos" msgid "Plugin details" -msgstr "" +msgstr "Detalles del complemento" msgid "Name" -msgstr "" +msgstr "Nombre" msgid "Version" -msgstr "" +msgstr "Versión" msgid "Description" -msgstr "" +msgstr "Descripción" msgid "Plugin source" -msgstr "" +msgstr "Fuente del complemento" msgid "Author" -msgstr "" +msgstr "Autor" msgid "License" -msgstr "" +msgstr "Licencia" msgid "Language locale" -msgstr "" +msgstr "Configuración regional de idioma" msgid "Configuration files" -msgstr "" +msgstr "Archivos de configuración" msgid "Dependencies" -msgstr "" +msgstr "Dependencias" msgid "Permissions" -msgstr "" +msgstr "Permisos" msgid "Non-privileged users" -msgstr "" +msgstr "Usuarios sin privilegios" msgid "Install now" -msgstr "" +msgstr "Instalar ahora" msgid "Installing plugin" -msgstr "" +msgstr "Instalando complemento" msgid "Plugin installation in progress..." -msgstr "" +msgstr "Instalación del complemento en progreso..." msgid "Plugin install completed." -msgstr "" +msgstr "Instalación del complemento completada." msgid "Details" -msgstr "" +msgstr "Detalles" msgid "Installed" -msgstr "" +msgstr "Instalado" + +msgid "Alert messages" +msgstr "Mensajes de alerta" + +msgid "Alert close timeout (milliseconds)" +msgstr "Tiempo de espera de cierre de alerta (milisegundos)" + +msgid "Automatically close alerts after a specified timeout" +msgstr "Cerrar automáticamente las alertas después de un tiempo de espera especificado" + +msgid "To inspect adapters attached to this device, click or tap the button below." +msgstr "Para inspeccionar adaptadores conectados a este dispositivo, haz clic o toca el botón de abajo." + +msgid "The adapter inspection tool returns details about external WLAN devices including drivers, supported modes and so on." +msgstr "La herramienta de inspección de adaptadores devuelve detalles sobre dispositivos WLAN externos incluyendo controladores, modos soportados, etc." + +msgid "Choose a network interface to inspect" +msgstr "Elige una interfaz de red para inspeccionar" + +msgid "Select an interface..." +msgstr "Selecciona una interfaz..." + +msgid "Adapter health check" +msgstr "Verificación de salud del adaptador" + +msgid "Inspect adapters" +msgstr "Inspeccionar adaptadores" #: includes/data_usage.php msgid "Data usage" @@ -1354,7 +1450,7 @@ msgid "Currently available OpenVPN client configurations are displayed below." msgstr "Las configuraciones de cliente OpenVPN actualmente disponibles se muestran a continuación." msgid "Activating a configuration will restart the openvpn-client service." -msgstr "" +msgstr "Activar una configuración reiniciará el servicio openvpn-client." msgid "Delete OpenVPN client" msgstr "Eliminar cliente OpenVPN" @@ -1468,7 +1564,7 @@ msgid "down" msgstr "abajo" msgid "Clear log" -msgstr "" +msgstr "Limpiar registro" msgid "adblock" msgstr "Bloqueador de anuncios" @@ -1552,13 +1648,13 @@ msgid "This option uploads and installs an existing WireGuard .conf msgstr "Esta opción sube e instala un archivo de WireGuard .conf existente en este dispositivo." msgid "Apply iptables rules to the selected interface" -msgstr "" +msgstr "Aplicar reglas de iptables a la interfaz seleccionada" msgid "Recommended if you wish to forward network traffic from the wg0 interface to clients connected on a desired interface. The active AP interface is the default." -msgstr "" +msgstr "Recomendado si deseas reenviar el tráfico de red desde la interfaz wg0 a clientes conectados en una interfaz deseada. La interfaz del punto de acceso activo es la predeterminada." msgid "This option adds iptables Postup and PostDown rules for the interface selected below." -msgstr "" +msgstr "Esta opción agrega reglas de iptables Postup y PostDown para la interfaz seleccionada abajo." msgid "Select WireGuard configuration file (.conf)" msgstr "Seleccionar archivo de configuración de WireGuard (.conf)" @@ -1648,25 +1744,25 @@ msgid "WireGuard configuration failed to be updated" msgstr "No se pudo actualizar la configuración de WireGuard" msgid "Enable kill switch" -msgstr "" +msgstr "Habilitar interruptor de emergencia" msgid "This option adds iptables PostUp and PreDown rules for the configured interface." -msgstr "" +msgstr "Esta opción agrega reglas de iptables PostUp y PreDown para la interfaz configurada." msgid "Recommended if you wish to prevent the flow of unencrypted packets through non-WireGuard interfaces." -msgstr "" +msgstr "Recomendado si deseas prevenir el flujo de paquetes sin cifrar a través de interfaces que no son WireGuard." msgid "iptables rules added to WireGuard configuration" -msgstr "" +msgstr "Reglas de iptables agregadas a la configuración de WireGuard" msgid "Existing iptables rules found in WireGuard configuration - not added" -msgstr "" +msgstr "Se encontraron reglas de iptables existentes en la configuración de WireGuard - no se agregaron" msgid "Currently available WireGuard file configurations are displayed below." -msgstr "" +msgstr "Las configuraciones de archivo de WireGuard actualmente disponibles se muestran abajo." msgid "Activating a configuration will restart the wg-quick service." -msgstr "" +msgstr "Activar una configuración reiniciará el servicio wg-quick." msgid "Client Firewall" msgstr "Cortafuegos del cliente" @@ -1681,196 +1777,196 @@ msgid "The default firewall will only allow outgoing and already established tra msgstr "El cortafuegos por defecto solo permitirá tráfico saliente y ya establecido." msgid "No incoming UDP traffic is allowed." -msgstr "" +msgstr "No se permite tráfico UDP entrante." msgid "There are no restrictions for the access point %s." -msgstr "" +msgstr "No hay restricciones para el punto de acceso %s." msgid "Exception: Service" -msgstr "" +msgstr "Excepción: Servicio" msgid "allow SSH access on port 22" -msgstr "" +msgstr "permitir acceso SSH en el puerto 22" msgid "allow access to the RaspAP GUI on port 80 or 443" -msgstr "" +msgstr "permitir acceso a la interfaz de RaspAP en el puerto 80 o 443" msgid "Allow incoming connections for some services from the internet side." -msgstr "" +msgstr "Permitir conexiones entrantes para algunos servicios desde el lado de internet." msgid "Exception: network device" -msgstr "" +msgstr "Excepción: dispositivo de red" msgid "Exclude device(s)" -msgstr "" +msgstr "Excluir dispositivo(s)" msgid "Exclude the given network device(s) (separated by a blank or comma) from firewall rules." -msgstr "" +msgstr "Excluir los dispositivos de red dados (separados por un espacio o coma) de las reglas del firewall." msgid "Current client devices: %s" -msgstr "" +msgstr "Dispositivos cliente actuales: %s" msgid "The access point %s is per default excluded." -msgstr "" +msgstr "El punto de acceso %s está excluido por defecto." msgid "Exception: IP-Address" -msgstr "" +msgstr "Excepción: Dirección IP" msgid "Allow incoming connections from" -msgstr "" +msgstr "Permitir conexiones entrantes desde" msgid "For the given IP-addresses (separated by a blank or comma) the incoming connection (via TCP and UDP) is accepted." -msgstr "" +msgstr "Para las direcciones IP dadas (separadas por un espacio o coma) se acepta la conexión entrante (vía TCP y UDP)." msgid "This is required for an OpenVPN via UDP or Wireguard connection." -msgstr "" +msgstr "Esto es requerido para una conexión OpenVPN vía UDP o Wireguard." msgid "The list of configured VPN server IP addresses: %s" -msgstr "" +msgstr "La lista de direcciones IP del servidor VPN configuradas: %s" msgid "Disable Firewall" -msgstr "" +msgstr "Deshabilitar firewall" msgid "Enable Firewall" -msgstr "" +msgstr "Habilitar firewall" msgid "Changing the firewall status may disrupt or allow incoming traffic. Choose Proceed to continue." -msgstr "" +msgstr "Cambiar el estado del firewall puede interrumpir o permitir tráfico entrante. Selecciona Continuar para proceder." msgid "Proceed" -msgstr "" +msgstr "Continuar" msgid "Apply changes" -msgstr "" +msgstr "Aplicar cambios" msgid "Dynamic DNS" -msgstr "" +msgstr "DNS dinámico" msgid "Service provider" -msgstr "" +msgstr "Proveedor de servicio" msgid "Select a Dynamic DNS service supported by ddclient from the list below. Selecting a known service provider will populate the protocol and server fields. You may also configure the service manually." -msgstr "" +msgstr "Selecciona un servicio de DNS dinámico soportado por ddclient de la lista abajo. Seleccionar un proveedor de servicio conocido llenará los campos de protocolo y servidor. También puedes configurar el servicio manualmente." msgid "Method to obtain IP" -msgstr "" +msgstr "Método para obtener la IP" msgid "Select the method used by ddclient to obtain an IP address. This value is specified in the -use option." -msgstr "" +msgstr "Selecciona el método usado por ddclient para obtener una dirección IP. Este valor se especifica en la opción -use." msgid "Discovery page on the web" -msgstr "" +msgstr "Página de descubrimiento en la web" msgid "Network interface" -msgstr "" +msgstr "Interfaz de red" msgid "Network address" -msgstr "" +msgstr "Dirección de red" msgid "Firewall status page" -msgstr "" +msgstr "Página de estado del firewall" msgid "External command" -msgstr "" +msgstr "Comando externo" msgid "Web address" -msgstr "" +msgstr "Dirección web" msgid "Firewall" -msgstr "" +msgstr "Cortafuegos" msgid "Command" -msgstr "" +msgstr "Comando" msgid "Example: 192.168.1.254/status.htm." -msgstr "" +msgstr "Ejemplo: 192.168.1.254/status.htm." msgid "Example: /usr/local/bin/get-ip." -msgstr "" +msgstr "Ejemplo: /usr/local/bin/get-ip." msgid "Domain" -msgstr "" +msgstr "Dominio" msgid "Enable SSL" -msgstr "" +msgstr "Habilitar SSL" msgid "Use an encrypted SSL connection for updates. Not supported by all providers." -msgstr "" +msgstr "Usar una conexión SSL cifrada para actualizaciones. No soportado por todos los proveedores." msgid "Value specified in milliseconds (ms). Default is 300." -msgstr "" +msgstr "Valor especificado en milisegundos (ms). El predeterminado es 300." msgid "Use the Generate log button to output detailed ddclient daemon debug info" -msgstr "" +msgstr "Usa el botón Generar registro para mostrar información de depuración detallada del demonio ddclient" msgid "Generate log" -msgstr "" +msgstr "Generar registro" msgid "Information provided by ddclient" -msgstr "" +msgstr "Información proporcionada por ddclient" msgid "Start Dynamic DNS" -msgstr "" +msgstr "Iniciar DNS dinámico" msgid "Stop Dynamic DNS" -msgstr "" +msgstr "Detener DNS dinámico" msgid "Restart Dynamic DNS" -msgstr "" +msgstr "Reiniciar DNS dinámico" msgid "Account details" -msgstr "" +msgstr "Detalles de la cuenta" msgid "My account" -msgstr "" +msgstr "Mi cuenta" msgid "Server location" -msgstr "" +msgstr "Ubicación del servidor" msgid "Choosing Save settings will connect to the selected country." -msgstr "" +msgstr "Seleccionar Guardar configuración se conectará al país seleccionado." msgid "Choosing Connect %s will connect to a recommended server." -msgstr "" +msgstr "Seleccionar Conectar %s se conectará a un servidor recomendado." msgid "Select a country from the server location list" -msgstr "" +msgstr "Selecciona un país de la lista de ubicación del servidor" msgid "Select a country..." -msgstr "" +msgstr "Selecciona un país..." msgid "Account information not available from %s's Linux CLI." -msgstr "" +msgstr "Información de cuenta no disponible desde la CLI de Linux de %s." msgid "Attempting to connect to %s" -msgstr "" +msgstr "Intentando conectarse a %s" msgid "Attempting to connect VPN provider" -msgstr "" +msgstr "Intentando conectar proveedor VPN" msgid "Attempting to disconnect VPN provider" -msgstr "" +msgstr "Intentando desconectar proveedor VPN" msgid "Expected %s binary not found at: %s" -msgstr "" +msgstr "El binario esperado %s no se encontró en: %s" msgid "Visit the installation instructions for %s's Linux CLI." -msgstr "" +msgstr "Visita las instrucciones de instalación para la CLI de Linux de %s." msgid "Unable to execute %s binary found at: %s" -msgstr "" +msgstr "No se puede ejecutar el binario %s encontrado en: %s" msgid "Check that binary is executable and permissions exist in raspap.sudoers" -msgstr "" +msgstr "Verifica que el binario sea ejecutable y que existan permisos en raspap.sudoers" msgid "Installed Linux CLI: %s" -msgstr "" +msgstr "CLI de Linux instalada: %s" msgid "Current %s connection status is displayed below." -msgstr "" +msgstr "El estado de conexión actual de %s se muestra abajo." msgid "Information provided by %s" -msgstr "" +msgstr "Información proporcionada por %s" msgid "Connect %s" msgstr "Conectar %s" @@ -1888,362 +1984,680 @@ msgid "Contributing" msgstr "Contribuir" msgid "Check for update" -msgstr "" +msgstr "Buscar actualización" msgid "New release check in progress..." -msgstr "" +msgstr "Verificación de nueva versión en progreso..." msgid "A new release is available: Version" -msgstr "" +msgstr "Una nueva versión está disponible: Versión" msgid "Installed version is the latest release." -msgstr "" +msgstr "La versión instalada es la última versión." msgid "GitHub authentication" -msgstr "" +msgstr "Autenticación de GitHub" msgid "Updating Insiders requires GitHub authentication." -msgstr "" +msgstr "Actualizar Insiders requiere autenticación de GitHub." msgid "Your credentials will be sent to GitHub securely with SSL. However, use caution if your RaspAP install is on a WLAN shared by untrusted users." -msgstr "" +msgstr "Tus credenciales se enviarán a GitHub de forma segura con SSL. Sin embargo, ten precaución si tu instalación de RaspAP está en una WLAN compartida por usuarios no confiables." msgid "Personal Access Token" -msgstr "" +msgstr "Token de acceso personal" msgid "Please provide a valid token." -msgstr "" +msgstr "Por favor proporciona un token válido." msgid "Perform update" -msgstr "" +msgstr "Realizar actualización" msgid "Update in progress" -msgstr "" +msgstr "Actualización en progreso" msgid "Application is being updated..." -msgstr "" +msgstr "La aplicación se está actualizando..." msgid "Configuring update" -msgstr "" +msgstr "Configurando actualización" msgid "Updating sources" -msgstr "" +msgstr "Actualizando fuentes" msgid "Installing package updates" -msgstr "" +msgstr "Instalando actualizaciones de paquetes" msgid "Downloading latest files" -msgstr "" +msgstr "Descargando archivos más recientes" msgid "Installing application" -msgstr "" +msgstr "Instalando aplicación" msgid "Update complete" -msgstr "" +msgstr "Actualización completa" msgid "An error occurred. Check the log at /tmp/raspap_install.log" -msgstr "" +msgstr "Ocurrió un error. Revisa el registro en /tmp/raspap_install.log" msgid "RaspAP Exception" -msgstr "" +msgstr "Excepción de RaspAP" msgid "An exception occurred" -msgstr "" +msgstr "Ocurrió una excepción" msgid "RestAPI" -msgstr "" +msgstr "RestAPI" msgid "RestAPI settings" -msgstr "" +msgstr "Configuración de RestAPI" msgid "Start RestAPI service" -msgstr "" +msgstr "Iniciar servicio RestAPI" msgid "Stop RestAPI service" -msgstr "" +msgstr "Detener servicio RestAPI" msgid "API Key" -msgstr "" +msgstr "Clave API" msgid "Saving API key" -msgstr "" +msgstr "Guardando clave API" msgid "RestAPI status" -msgstr "" +msgstr "Estado de RestAPI" msgid "Current restapi.service status is displayed below." -msgstr "" +msgstr "El estado actual de restapi.service se muestra abajo." msgid "RestAPI docs are accessible here%s" -msgstr "" +msgstr "La documentación de RestAPI está accesible aquí%s" msgid "Restarting restapi.service" -msgstr "" +msgstr "Reiniciando restapi.service" msgid "Information provided by restapi.service" -msgstr "" +msgstr "Información proporcionada por restapi.service" msgid "Session Expired" -msgstr "" +msgstr "Sesión expirada" msgid "Your session has expired. Please login to continue." -msgstr "" +msgstr "Tu sesión ha expirado. Por favor inicia sesión para continuar." msgid "Login" -msgstr "" +msgstr "Iniciar sesión" msgid "Administrator login" -msgstr "" +msgstr "Inicio de sesión de administrador" msgid "Forgot password" -msgstr "" +msgstr "Olvidé mi contraseña" msgid "Login failed" -msgstr "" +msgstr "Error de inicio de sesión" msgid "NTP Server" -msgstr "" +msgstr "Servidor NTP" msgid "NTP Server settings" -msgstr "" +msgstr "Configuración del servidor NTP" msgid "NTP daemon" -msgstr "" +msgstr "Demonio NTP" msgid "Synchronized time" -msgstr "" +msgstr "Hora sincronizada" msgid "NTP servers" -msgstr "" +msgstr "Servidores NTP" msgid "Add an NTP server" -msgstr "" +msgstr "Agregar un servidor NTP" msgid "Start NTP service" -msgstr "" +msgstr "Iniciar servicio NTP" msgid "Stop NTP service" -msgstr "" +msgstr "Detener servicio NTP" msgid "Edit mode" -msgstr "" +msgstr "Modo de edición" msgid "Use the Edit mode toggle to manually edit the current ntp.config configuration." -msgstr "" +msgstr "Usa el interruptor Modo de edición para editar manualmente la configuración actual de ntp.config." msgid "Specify a public NTP server or a private one on your local network. IPv4 and IPv6 address, or a fully qualified domain name (FQDN) are acceptable values." -msgstr "" +msgstr "Especifica un servidor NTP público o uno privado en tu red local. Una dirección IPv4 o IPv6, o un nombre de dominio completamente calificado (FQDN) son valores aceptables." msgid "Public NTP servers supporting Network Time Security (NTS) may be specified with the nts suffix." -msgstr "" +msgstr "Los servidores NTP públicos que soportan Network Time Security (NTS) pueden especificarse con el sufijo nts." msgid "Examples of valid server entries include %s, %s and %s." -msgstr "" +msgstr "Ejemplos de entradas de servidor válidas incluyen %s, %s y %s." msgid "Current ntpq peer status is displayed below. An asterisk (*) indicates the preferred server." -msgstr "" +msgstr "El estado actual de ntpq peer se muestra abajo. Un asterisco (*) indica el servidor preferido." msgid "NTP configuration cannot be empty" -msgstr "" +msgstr "La configuración NTP no puede estar vacía" msgid "Restarting ntpd.service" -msgstr "" +msgstr "Reiniciando ntpd.service" msgid "Please enter a valid NTP server" -msgstr "" +msgstr "Por favor ingresa un servidor NTP válido" msgid "Attempting to start ntp.service" -msgstr "" +msgstr "Intentando iniciar ntp.service" msgid "Attempting to stop ntp.service" -msgstr "" +msgstr "Intentando detener ntp.service" msgid "NTP configuration not found at %s" -msgstr "" +msgstr "Configuración NTP no encontrada en %s" msgid "NTP configuration updated" -msgstr "" +msgstr "Configuración NTP actualizada" msgid "Advertising device as a Tailscale exit node" -msgstr "" +msgstr "Anunciando dispositivo como nodo de salida de Tailscale" msgid "Attempting to optimize UDP throughput" -msgstr "" +msgstr "Intentando optimizar el rendimiento UDP" msgid "Kernel transport layer offloads enabled for UDP" -msgstr "" +msgstr "Descargas de la capa de transporte del kernel habilitadas para UDP" msgid "Failed to enable kernel transport layer offloads for UDP" -msgstr "" +msgstr "Error al habilitar descargas de la capa de transporte del kernel para UDP" msgid "Attempting to set tailscale up" -msgstr "" +msgstr "Intentando activar tailscale" msgid "Attempting to set tailscale down" -msgstr "" +msgstr "Intentando desactivar tailscale" msgid "Attempting to disconnect from tailscale" -msgstr "" +msgstr "Intentando desconectar de tailscale" msgid "Disconnected from tailscale and expired node key" -msgstr "" +msgstr "Desconectado de tailscale y clave de nodo expirada" msgid "Unable to disconnect from tailscale" -msgstr "" +msgstr "No se puede desconectar de tailscale" msgid "Expected tailscale binary not found at: %" -msgstr "" +msgstr "El binario esperado de tailscale no se encontró en: %" msgid "A Tailscale VPN exit node extension for RaspAP" -msgstr "" +msgstr "Una extensión de nodo de salida VPN de Tailscale para RaspAP" msgid "Unable to retrieve Tailscale login. Choose %s to continue." -msgstr "" +msgstr "No se puede recuperar el inicio de sesión de Tailscale. Selecciona %s para continuar." msgid "Start Tailscale" -msgstr "" +msgstr "Iniciar Tailscale" msgid "Stop Tailscale" -msgstr "" +msgstr "Detener Tailscale" msgid "Next" -msgstr "" +msgstr "Siguiente" msgid "Device approved and activated as a Tailscale exit node" -msgstr "" +msgstr "Dispositivo aprobado y activado como nodo de salida de Tailscale" msgid "Not connected: Login required." -msgstr "" +msgstr "No conectado: Se requiere inicio de sesión." msgid "Tailscale VPN" -msgstr "" +msgstr "VPN Tailscale" msgid "Exit node activated" -msgstr "" +msgstr "Nodo de salida activado" msgid "The device %s is connected with the address %s and offers an exit node." -msgstr "" +msgstr "El dispositivo %s está conectado con la dirección %s y ofrece un nodo de salida." msgid "See the %s on how to use this exit node with your devices." -msgstr "" +msgstr "Consulta %s sobre cómo usar este nodo de salida con tus dispositivos." msgid "Allow exit node" -msgstr "" +msgstr "Permitir nodo de salida" msgid "The device %s is pending approval as an exit node." -msgstr "" +msgstr "El dispositivo %s está pendiente de aprobación como nodo de salida." msgid "Locate the %s Exit Node badge in the machines list." -msgstr "" +msgstr "Localiza la insignia Exit Node de %s en la lista de máquinas." msgid "Open Tailscale Machines" -msgstr "" +msgstr "Abrir máquinas de Tailscale" msgid "To allow this device as an exit node, choose Open Tailscale Machines." -msgstr "" +msgstr "Para permitir este dispositivo como nodo de salida, selecciona Abrir máquinas de Tailscale." msgid "From the %s icon menu of the exit node, open the %s panel." -msgstr "" +msgstr "Desde el menú del icono %s del nodo de salida, abre el panel %s." msgid "Edit route settings" -msgstr "" +msgstr "Editar configuración de rutas" msgid "Login to Tailscale" -msgstr "" +msgstr "Iniciar sesión en Tailscale" msgid "To connect device %s to your tailnet, choose %s." -msgstr "" +msgstr "Para conectar el dispositivo %s a tu tailnet, selecciona %s." msgid "After logging in, choose Next to continue." -msgstr "" +msgstr "Después de iniciar sesión, selecciona Siguiente para continuar." msgid "Configure exit node" -msgstr "" +msgstr "Configurar nodo de salida" msgid "The device %s is connected to your tailnet with the address %s." -msgstr "" +msgstr "El dispositivo %s está conectado a tu tailnet con la dirección %s." msgid "By default, Tailscale only routes traffic between the devices on which it's been installed. You can also route all your public internet traffic by configuring a device on your network as a exit node" -msgstr "" +msgstr "Por defecto, Tailscale solo enruta el tráfico entre los dispositivos en los que se ha instalado. También puedes enrutar todo tu tráfico de internet público configurando un dispositivo en tu red como un nodo de salida" msgid "When you route all traffic through an exit node, you're effectively using default routes (0.0.0.0/0, ::/0), similar to how you would if you were using a typical VPN." -msgstr "" +msgstr "Cuando enrutas todo el tráfico a través de un nodo de salida, estás usando efectivamente rutas predeterminadas (0.0.0.0/0, ::/0), similar a como lo harías si estuvieras usando una VPN típica." msgid "You have the option of configuring this device as an exit node, or using another exit node in your tailnet." -msgstr "" +msgstr "Tienes la opción de configurar este dispositivo como nodo de salida, o usar otro nodo de salida en tu tailnet." msgid "Select an existing exit node on your tailnet" -msgstr "" +msgstr "Selecciona un nodo de salida existente en tu tailnet" msgid "This is a typical configuration if you're using this device as a VPN travel router, for example." -msgstr "" +msgstr "Esta es una configuración típica si estás usando este dispositivo como un router de viaje VPN, por ejemplo." msgid "Configure this device as a new exit node" -msgstr "" +msgstr "Configurar este dispositivo como un nuevo nodo de salida" msgid "By configuring this device as an exit node, public internet traffic from devices connected in your tailnet will be routed through it." -msgstr "" +msgstr "Al configurar este dispositivo como nodo de salida, el tráfico de internet público de los dispositivos conectados en tu tailnet se enrutará a través de él." msgid "For security reasons, you must opt in to enable exit node functionality. The first step is to advertise %s as an exit node in your tailnet. In the next step, you'll allow this device to be an exit node." -msgstr "" +msgstr "Por razones de seguridad, debes optar por habilitar la funcionalidad de nodo de salida. El primer paso es anunciar %s como nodo de salida en tu tailnet. En el siguiente paso, permitirás que este dispositivo sea un nodo de salida." msgid "Advertise %s as an exit node" -msgstr "" +msgstr "Anunciar %s como nodo de salida" msgid "This effectively configures Tailscale as a VPN to mask your real location, access region-restricted content, or enhance privacy when connecting from untrusted networks." -msgstr "" +msgstr "Esto configura efectivamente Tailscale como una VPN para enmascarar tu ubicación real, acceder a contenido restringido por región o mejorar la privacidad al conectarte desde redes no confiables." msgid "This option lets Tailscale know your device is ready to route traffic." -msgstr "" +msgstr "Esta opción le permite a Tailscale saber que tu dispositivo está listo para enrutar tráfico." msgid "Recommended for Tailscale exit nodes with Linux 6.2 or later kernels, this uses UDP generic receive offload (GRO) forwarding to reduce CPU overhead." -msgstr "" +msgstr "Recomendado para nodos de salida de Tailscale con kernels de Linux 6.2 o posteriores, esto usa el reenvío de descarga de recepción genérica UDP (GRO) para reducir la sobrecarga de CPU." msgid "This option enables transport layer offloads for better performance." -msgstr "" +msgstr "Esta opción habilita las descargas de la capa de transporte para un mejor rendimiento." msgid "Select an exit node" -msgstr "" +msgstr "Selecciona un nodo de salida" msgid "To use %s as a VPN gateway, configure Tailscale to use an exit node. Tailscale's suggested node is indicated with a star." -msgstr "" +msgstr "Para usar %s como puerta de enlace VPN, configura Tailscale para usar un nodo de salida. El nodo sugerido de Tailscale se indica con una estrella." msgid "Advertise a subnet route for the active %s AP interface" -msgstr "" +msgstr "Anunciar una ruta de subred para la interfaz del punto de acceso activo %s" msgid "Subnet routes let you extend your Tailscale network (known as a tailnet) to include devices that don't or can't run the Tailscale client." -msgstr "" +msgstr "Las rutas de subred te permiten extender tu red de Tailscale (conocida como tailnet) para incluir dispositivos que no pueden o no ejecutan el cliente de Tailscale." msgid "A subnet route acts as a gateway between your tailnet and a physical subnet. The subnet of the active AP interface is preconfigured below; edit if necessary." -msgstr "" +msgstr "Una ruta de subred actúa como puerta de enlace entre tu tailnet y una subred física. La subred de la interfaz del punto de acceso activo está preconfigurada abajo; edita si es necesario." msgid "Route LAN traffic through the exit node." -msgstr "" +msgstr "Enrutar el tráfico LAN a través del nodo de salida." msgid "This will direct all LAN traffic to go through your exit node only." -msgstr "" +msgstr "Esto dirigirá todo el tráfico LAN para que pase únicamente a través de tu nodo de salida." -msgid "Choose Next to configure %s to use the selected exit node." -msgstr "" +msgid "Choose Next to configure %s to use the selected exit node with these options." +msgstr "Selecciona Siguiente para configurar %s para usar el nodo de salida seleccionado con estas opciones." msgid "No exit nodes found on your tailnet. Choose Back to continue." -msgstr "" +msgstr "No se encontraron nodos de salida en tu tailnet. Selecciona Atrás para continuar." msgid "Using exit node" -msgstr "" +msgstr "Usando nodo de salida" msgid "The device %s is configured to use exit node %s. It has the Tailscale MagicDNS address %s." -msgstr "" +msgstr "El dispositivo %s está configurado para usar el nodo de salida %s. Tiene la dirección MagicDNS de Tailscale %s." msgid "Choose Save settings to continue." -msgstr "" +msgstr "Selecciona Guardar configuración para continuar." msgid "Choose Next to continue." -msgstr "" +msgstr "Selecciona Siguiente para continuar." msgid "Tailnet status" -msgstr "" +msgstr "Estado de tailnet" msgid "Current tailnet status is displayed below." -msgstr "" +msgstr "El estado actual de tailnet se muestra abajo." + +msgid "Use Tailscale DNS settings (default)." +msgstr "Usar configuración DNS de Tailscale (predeterminado)." + +msgid "Uncheck to use local DNS. This sets --accept-dns=false." +msgstr "Desmarca para usar DNS local. Esto establece --accept-dns=false." + +msgid "Do not use Tailscale subnets (default on Linux)." +msgstr "No usar subredes de Tailscale (predeterminado en Linux)." + +msgid "If subnet routes exist for your tailnet, you can route your device's traffic to a subnet router. Enabling this sets --accept-routes=true." +msgstr "Si existen rutas de subred para tu tailnet, puedes enrutar el tráfico de tu dispositivo a un enrutador de subred. Habilitar esto establece --accept-routes=true." + +msgid "If keys expire for a device, connections to/from the given endpoint will stop working." +msgstr "Si las claves expiran para un dispositivo, las conexiones hacia/desde el punto final dado dejarán de funcionar." + +msgid "This option uses --force-reauth to renew the keys for this device." +msgstr "Esta opción usa --force-reauth para renovar las claves para este dispositivo." + +msgid "Start capture" +msgstr "Iniciar captura" + +msgid "Stop capture" +msgstr "Detener captura" + +msgid "Capture files" +msgstr "Archivos de captura" + +msgid "Capture interface" +msgstr "Interfaz de captura" + +msgid "Output file" +msgstr "Archivo de salida" + +msgid "Path where capture file will be saved (.pcap format)" +msgstr "Ruta donde se guardará el archivo de captura (formato .pcap)" + +msgid "File will be saved with .pcap extension" +msgstr "El archivo se guardará con extensión .pcap" + +msgid "Capture filter (BPF syntax)" +msgstr "Filtro de captura (sintaxis BPF)" + +msgid "Berkeley Packet Filter syntax. Leave empty to capture all traffic." +msgstr "Sintaxis de Berkeley Packet Filter. Deja vacío para capturar todo el tráfico." + +msgid "Examples: port 80, host 192.168.1.1, tcp and not port 22" +msgstr "Ejemplos: port 80, host 192.168.1.1, tcp and not port 22" + +msgid "Capture limits" +msgstr "Límites de captura" + +msgid "Packet count limit" +msgstr "Límite de conteo de paquetes" + +msgid "Stop capture after this many packets. Leave empty for unlimited." +msgstr "Detener captura después de esta cantidad de paquetes. Deja vacío para ilimitado." + +msgid "Duration limit (seconds)" +msgstr "Límite de duración (segundos)" + +msgid "Stop capture after this many seconds. Leave empty for unlimited." +msgstr "Detener captura después de esta cantidad de segundos. Deja vacío para ilimitado." + +msgid "Ring buffer settings" +msgstr "Configuración del búfer circular" + +msgid "File size (KB)" +msgstr "Tamaño del archivo (KB)" + +msgid "Create new file when this size is reached. Leave empty to disable." +msgstr "Crear nuevo archivo cuando se alcance este tamaño. Deja vacío para deshabilitar." + +msgid "10000 = 10 MB per file" +msgstr "10000 = 10 MB por archivo" + +msgid "Number of files" +msgstr "Número de archivos" + +msgid "Maximum number of ring buffer files to keep. Oldest files are deleted." +msgstr "Número máximo de archivos del búfer circular a mantener. Los archivos más antiguos se eliminan." + +msgid "Advanced options" +msgstr "Opciones avanzadas" + +msgid "Snapshot length (bytes)" +msgstr "Longitud de instantánea (bytes)" + +msgid "Limit the amount of data captured per packet. Leave empty for full packets." +msgstr "Limitar la cantidad de datos capturados por paquete. Deja vacío para paquetes completos." + +msgid "96 bytes captures headers only, reduces file size" +msgstr "96 bytes captura solo encabezados, reduce el tamaño del archivo" + +msgid "Promiscuous mode" +msgstr "Modo promiscuo" + +msgid "Capture all packets on the network segment, not just those destined for this interface" +msgstr "Capturar todos los paquetes en el segmento de red, no solo los destinados a esta interfaz" + +msgid "Quick filter presets" +msgstr "Preajustes de filtro rápido" + +msgid "Capture files generated by tshark are displayed below." +msgstr "Los archivos de captura generados por tshark se muestran abajo." + +msgid "No capture files found in /tmp directory" +msgstr "No se encontraron archivos de captura en el directorio /tmp" + +msgid "Filename" +msgstr "Nombre de archivo" + +msgid "Size" +msgstr "Tamaño" + +msgid "Modified" +msgstr "Modificado" + +msgid "Actions" +msgstr "Acciones" + +msgid "Download file" +msgstr "Descargar archivo" + +msgid "Delete file" +msgstr "Eliminar archivo" + +msgid "Confirm deletion" +msgstr "Confirmar eliminación" + +msgid "Are you sure you want to delete this file?" +msgstr "¿Estás seguro de que quieres eliminar este archivo?" + +msgid "All Traffic" +msgstr "Todo el tráfico" + +msgid "HTTP/HTTPS" +msgstr "HTTP/HTTPS" + +msgid "ICMP (Ping)" +msgstr "ICMP (Ping)" + +msgid "SSH" +msgstr "SSH" + +msgid "Exclude SSH" +msgstr "Excluir SSH" + +msgid "A Wireshark (TShark) CLI packet capture for RaspAP" +msgstr "Una captura de paquetes CLI de Wireshark (TShark) para RaspAP" + +msgid "Information provided by tshark" +msgstr "Información proporcionada por tshark" + +msgid "Total: %d file(s), %s" +msgstr "Total: %d archivo(s), %s" + +msgid "Captive portal" +msgstr "Portal cautivo" + +msgid "Gateway interface" +msgstr "Interfaz de puerta de enlace" + +msgid "Gateway name" +msgstr "Nombre de puerta de enlace" + +msgid "Gateway address" +msgstr "Dirección de puerta de enlace" + +msgid "Gateway port" +msgstr "Puerto de puerta de enlace" + +msgid "Defaults to the active AP interface, typically wlan0" +msgstr "Predeterminado a la interfaz del punto de acceso activo, típicamente wlan0" + +msgid "Auto-detected from gateway interface if not specified" +msgstr "Detectado automáticamente desde la interfaz de puerta de enlace si no se especifica" + +msgid "Start portal" +msgstr "Iniciar portal" + +msgid "Stop portal" +msgstr "Detener portal" + +msgid "Information provided by nodogsplash" +msgstr "Información proporcionada por nodogsplash" + +msgid "Stop portal service" +msgstr "Detener servicio de portal" + +msgid "Start portal service" +msgstr "Iniciar servicio de portal" + +msgid "Changing the portal service will momentarily disrupt client traffic. Choose Proceed to continue." +msgstr "Cambiar el servicio de portal interrumpirá momentáneamente el tráfico del cliente. Selecciona Continuar para proceder." + +msgid "Interface to be managed by the portal" +msgstr "Interfaz a ser administrada por el portal" + +msgid "Name of your gateway (available as \\$gatewayname variable)" +msgstr "Nombre de tu puerta de enlace (disponible como variable \\$gatewayname)" + +msgid "IP address of the router. Leave empty for auto-detection" +msgstr "Dirección IP del router. Deja vacío para detección automática" + +msgid "Port for Nodogsplash HTTP server" +msgstr "Puerto para el servidor HTTP de Nodogsplash" + +msgid "Maximum clients" +msgstr "Clientes máximos" + +msgid "Session timeout (minutes)" +msgstr "Tiempo de espera de sesión (minutos)" + +msgid "Pre-auth idle timeout (minutes)" +msgstr "Tiempo de espera inactivo previo a autenticación (minutos)" + +msgid "Does not include users on the trusted MAC list" +msgstr "No incluye usuarios en la lista de MAC confiables" + +msgid "Auth idle timeout (minutes)" +msgstr "Tiempo de espera inactivo de autenticación (minutos)" + +msgid "Check interval (seconds)" +msgstr "Intervalo de verificación (segundos)" + +msgid "MAC address control" +msgstr "Control de dirección MAC" + +msgid "MAC mechanism" +msgstr "Mecanismo MAC" + +msgid "Blocked MAC list" +msgstr "Lista de MAC bloqueadas" + +msgid "Trusted MAC list" +msgstr "Lista de MAC confiables" + +msgid "These devices are not subject to authentication or firewall rules" +msgstr "Estos dispositivos no están sujetos a autenticación o reglas de firewall" + +msgid "Maximum number of concurrent authenticated users" +msgstr "Número máximo de usuarios autenticados concurrentes" + +msgid "Default session length in minutes. 0 = unlimited" +msgstr "Duración predeterminada de sesión en minutos. 0 = ilimitado" + +msgid "Time before unauthenticated idle users are removed" +msgstr "Tiempo antes de que se eliminen usuarios inactivos no autenticados" + +msgid "Time before authenticated idle users are deauthenticated" +msgstr "Tiempo antes de que se desautentiquen usuarios inactivos autenticados" + +msgid "How often to check client timeouts" +msgstr "Qué tan seguido verificar los tiempos de espera del cliente" + +msgid "Block: blocklisted MACs are blocked. Allow: only allowlisted MACs are allowed" +msgstr "Bloquear: las MAC en lista de bloqueo son bloqueadas. Permitir: solo se permiten MAC en lista de permitidos" + +msgid "Example: 00:11:22:33:44:55,AA:BB:CC:DD:EE:FF" +msgstr "Ejemplo: 00:11:22:33:44:55,AA:BB:CC:DD:EE:FF" + +msgid "Comma-separated MAC addresses that bypass authentication entirely" +msgstr "Direcciones MAC separadas por comas que omiten la autenticación completamente" + +msgid "Block (blocklist mode)" +msgstr "Bloquear (modo lista de bloqueo)" + +msgid "Allow (allowlist mode)" +msgstr "Permitir (modo lista de permitidos)" + +msgid "Gateway IP range" +msgstr "Rango de IP de puerta de enlace" + +msgid "Default: 0.0.0.0/0 (all addresses)" +msgstr "Predeterminado: 0.0.0.0/0 (todas las direcciones)" + +msgid "Debug level" +msgstr "Nivel de depuración" + +msgid "Firewall settings" +msgstr "Configuración del firewall" + +msgid "Allow all traffic for authenticated users" +msgstr "Permitir todo el tráfico para usuarios autenticados" + +msgid "Allow DNS for pre-authenticated users" +msgstr "Permitir DNS para usuarios previos a autenticación" + +msgid "IP range to manage in CIDR notation. Leave empty for all addresses" +msgstr "Rango de IP a administrar en notación CIDR. Deja vacío para todas las direcciones" + +msgid "Amount of logging detail reported by the nodogsplash.service" +msgstr "Cantidad de detalle de registro reportado por nodogsplash.service" + +msgid "0 - Errors only" +msgstr "0 - Solo errores" + +msgid "1 - Errors, warnings, infos" +msgstr "1 - Errores, advertencias, información" + +msgid "2 - Errors, warnings, infos, verbose" +msgstr "2 - Errores, advertencias, información, detallado" + +msgid "3 - Errors, warnings, infos, verbose, debug" +msgstr "3 - Errores, advertencias, información, detallado, depuración" + +msgid "When enabled, authenticated users have unrestricted access" +msgstr "Cuando está habilitado, los usuarios autenticados tienen acceso sin restricciones" + +msgid "Required for clients to resolve domain names before authentication" +msgstr "Requerido para que los clientes resuelvan nombres de dominio antes de la autenticación" + +msgid "Portal status" +msgstr "Estado del portal" + +msgid "Current nodogsplash status is displayed below." +msgstr "El estado actual de nodogsplash se muestra abajo."