# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the meshy package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: meshy\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-06-01 13:23+0200\n"
"PO-Revision-Date: 2026-06-04 19:07+0000\n"
"Last-Translator: gallegonovato <gallegonovato@noreply.codeberg.org>\n"
"Language-Team: Spanish <https://translate.codeberg.org/projects/meshy/"
"application/es/>\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2026.5\n"

#: data/page.codeberg.sesivany.Meshy.desktop.in:4
#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:8 data/ui/window.ui:111
msgid "Meshy"
msgstr "Meshy"

#: data/page.codeberg.sesivany.Meshy.desktop.in:5
#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:9
msgid "MeshCore mesh network client"
msgstr "Cliente de red de malla MeshCore"

#: data/page.codeberg.sesivany.Meshy.desktop.in:11
msgid "mesh;lora;radio;chat;"
msgstr "red en malla; LoRa (radio de largo alcance); radio; chat"

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:11
msgid ""
"Meshy is a client for MeshCore LoRa mesh networking devices. Connect to your "
"companion device over Bluetooth to send and receive encrypted messages, "
"manage contacts, configure channels, and monitor your mesh network."
msgstr ""
"Meshy es una aplicación para los dispositivos de red en malla MeshCore LoRa. "
"Conéctate a tu dispositivo complementario por Bluetooth para enviar y "
"recibir mensajes cifrados, gestionar contactos, configurar canales y "
"supervisar tu red en malla."

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:17
msgid "Features:"
msgstr "Características:"

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:19
msgid "Bluetooth LE and USB serial connectivity"
msgstr "Conectividad Bluetooth LE y puerto serie USB"

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:20
msgid "End-to-end encrypted messaging"
msgstr "Mensajería cifrada de extremo a extremo"

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:21
msgid "Public, private, and hashtag channels"
msgstr "Canales públicos, privados y de hashtags"

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:22
msgid "Contact management with location tracking"
msgstr "Gestión de contactos con seguimiento de la ubicación"

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:23
msgid "Interactive map view with route tracing"
msgstr "Vista de mapa interactiva con trazado de rutas"

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:24
msgid "Device and repeater management"
msgstr "Gestión de dispositivos y repetidores"

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:25
msgid "QR code scanning for quick contact exchange"
msgstr "Escanea los códigos QR para intercambiar los contactos rápidamente"

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:30
msgid "Jiri Eischmann"
msgstr "Jiri Eischmann"

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:42
msgid "Contacts view with messaging"
msgstr "Vista de contactos con mensajería"

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:46
msgid "Channel list with different channel types"
msgstr "Lista de canales con varios tipos de canales"

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:50
msgid "Map view showing contact locations"
msgstr "Vista del mapa con las ubicaciones del contacto"

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:54
msgid "Device information and settings"
msgstr "Información y ajustes del dispositivo"

#: data/gtk/help-overlay.ui:10
msgid "General"
msgstr "General"

#: data/gtk/help-overlay.ui:13 data/ui/window.ui:23 data/ui/window.ui:40
msgid "Quit"
msgstr "Salir"

#: data/gtk/help-overlay.ui:19 data/ui/window.ui:15 data/ui/window.ui:32
msgid "Keyboard Shortcuts"
msgstr "Atajos del teclado"

#: data/gtk/help-overlay.ui:27
msgid "Navigation"
msgstr "Exploración"

#: data/gtk/help-overlay.ui:30 data/ui/window.ui:169
msgid "Device"
msgstr "Dispositivo"

#: data/gtk/help-overlay.ui:36 data/ui/window.ui:182 src/window.py:523
msgid "Contacts"
msgstr "Contactos"

#: data/gtk/help-overlay.ui:42 data/ui/window.ui:195 src/window.py:535
msgid "Channels"
msgstr "Canales"

#. Navigation button for collapsed mode
#: data/gtk/help-overlay.ui:48 data/ui/window.ui:208 src/window.py:550
#: src/window.py:553 src/views/map_view.py:885
msgid "Map"
msgstr "Mapa"

#: data/gtk/help-overlay.ui:54 data/ui/window.ui:228
#: data/ui/repeater-view.ui:574 src/window.py:567 src/window.py:568
msgid "Settings"
msgstr "Ajustes"

#: data/gtk/help-overlay.ui:62
msgid "Messaging"
msgstr "Mensajería"

#: data/gtk/help-overlay.ui:65
msgid "Search Contacts"
msgstr "Buscar contactos"

#: data/gtk/help-overlay.ui:71
msgid "Focus Message Input"
msgstr "Entrada de mensajes destacados"

#: data/gtk/help-overlay.ui:77
msgid "Previous Contact/Channel"
msgstr "Contacto/Canal anterior"

#: data/gtk/help-overlay.ui:83
msgid "Next Contact/Channel"
msgstr "Contacto/canal siguiente"

#: data/gtk/help-overlay.ui:89
msgid "Previous Unread"
msgstr "Anteriores sin leer"

#: data/gtk/help-overlay.ui:95
msgid "Next Unread"
msgstr "Siguiente sin leer"

#: data/ui/window.ui:11
msgid "Disconnect"
msgstr "Desconectar"

#: data/ui/window.ui:19 data/ui/window.ui:36
msgid "About Meshy"
msgstr "Acerca de Meshy"

#: data/ui/window.ui:66 data/ui/window.ui:284 src/connection_controller.py:256
#: src/window.py:891 src/views/connection_view.py:112
#: src/views/connection_view.py:160 src/views/connection_view.py:381
#: src/views/connection_view.py:447
msgid "Connect"
msgstr "Conectar"

#: data/ui/window.ui:73 data/ui/window.ui:118 data/ui/window.ui:272
msgid "Menu"
msgstr "Menú"

#: data/ui/window.ui:129
msgid "Connecting…"
msgstr "Conectando…"

#: data/ui/window.ui:261
msgid "Show navigation"
msgstr "Mostrar navegación"

#: data/ui/window.ui:282 src/connection_controller.py:255 src/window.py:890
#: src/views/device_view.py:354
msgid "Not connected"
msgstr "No conectado/-a"

#: data/ui/device-view.ui:29 data/ui/repeater-view.ui:19
msgid "Status"
msgstr "Estado"

#: data/ui/device-view.ui:30 src/views/device_view.py:505
msgid "Disconnected"
msgstr "Desconectado/-a"

#: data/ui/device-view.ui:44 src/window.py:512 src/window.py:513
msgid "Device Information"
msgstr "Información del dispositivo"

#: data/ui/device-view.ui:47
msgid "Node Name"
msgstr "Nombre del nodo"

#: data/ui/device-view.ui:53
msgid "Board"
msgstr "Teclado"

#: data/ui/device-view.ui:59
msgid "Firmware"
msgstr "Firmware"

#: data/ui/device-view.ui:63
msgid "Update"
msgstr "Actualización"

#: data/ui/device-view.ui:66
msgid "Open firmware flasher"
msgstr "Open firmware flasher"

#: data/ui/device-view.ui:77 src/views/contacts_view.py:1509
msgid "Public Key"
msgstr "Clave pública"

#. Telemetry group
#: data/ui/device-view.ui:90 src/views/contacts_view.py:1630
msgid "Telemetry"
msgstr "Telemetría"

#: data/ui/device-view.ui:96
msgid "Request telemetry"
msgstr "Solicitar datos de telemetría"

#: data/ui/device-view.ui:106 data/ui/settings-view.ui:212
#: data/ui/settings-view.ui:353 data/ui/repeater-view.ui:672
#: src/views/contacts_view.py:1526 src/views/device_view.py:332
#: src/views/settings_view.py:121
msgid "Location"
msgstr "Ubicación"

#: data/ui/device-view.ui:107
msgid "Syncing…"
msgstr "Sincronizando…"

#: data/ui/device-view.ui:112
msgid "Show on map"
msgstr "Ver en el mapa"

#: data/ui/device-view.ui:127
msgid "Battery &amp; Storage"
msgstr "Batería y almacenamiento"

#: data/ui/device-view.ui:130 data/ui/repeater-view.ui:76
#: src/views/contacts_view.py:1191 src/views/repeater_view.py:448
msgid "Battery"
msgstr "Batería"

#: data/ui/device-view.ui:149
msgid "Storage"
msgstr "Almacenamiento"

#: data/ui/device-view.ui:172
msgid "Radio Configuration"
msgstr "Ajustar frecuencias"

#: data/ui/device-view.ui:175
msgid "Frequency"
msgstr "Frecuencia"

#: data/ui/device-view.ui:181
msgid "Bandwidth"
msgstr "Ancho de banda"

#: data/ui/device-view.ui:187 data/ui/settings-view.ui:103
#: data/ui/repeater-view.ui:758
msgid "Spreading Factor"
msgstr "Factor de ensanchamiento"

#: data/ui/device-view.ui:193 data/ui/settings-view.ui:116
#: data/ui/repeater-view.ui:770
msgid "Coding Rate"
msgstr "Tasa de codificación"

#: data/ui/device-view.ui:199
msgid "TX Power"
msgstr "Potencia de transmisión"

#: data/ui/device-view.ui:205 data/ui/settings-view.ui:178
msgid "Default Path Hash Size"
msgstr "Tamaño de hash de ruta predeterminado"

#: data/ui/device-view.ui:215
msgid "Statistics"
msgstr "Estadísticas"

#: data/ui/device-view.ui:218 data/ui/repeater-view.ui:82
msgid "Uptime"
msgstr "Tiempo de actividad"

#: data/ui/device-view.ui:224 data/ui/repeater-view.ui:88
msgid "Message Queue"
msgstr "Cola de mensajes"

#: data/ui/device-view.ui:230 data/ui/repeater-view.ui:119
msgid "Noise Floor"
msgstr "Ruido de fondo"

#: data/ui/device-view.ui:236 data/ui/repeater-view.ui:107
msgid "Last RSSI"
msgstr "RSSI más reciente"

#: data/ui/device-view.ui:242 data/ui/repeater-view.ui:113
msgid "Last SNR"
msgstr "SNR más reciente"

#: data/ui/device-view.ui:248
msgid "Airtime"
msgstr "Airtime"

#: data/ui/device-view.ui:254 data/ui/repeater-view.ui:153
msgid "Packets"
msgstr "Paquetes"

#: data/ui/device-view.ui:260 data/ui/repeater-view.ui:175
#: src/views/contacts_view.py:1050
msgid "Flood"
msgstr "Flood (inundación)"

#: data/ui/device-view.ui:266 data/ui/repeater-view.ui:181
#: src/views/contacts_view.py:1000 src/views/contacts_view.py:1052
msgid "Direct"
msgstr "Privado"

#: data/ui/device-view.ui:272
msgid "Refresh Statistics"
msgstr "Actualizar estadísticas"

#: data/ui/settings-view.ui:16 src/views/settings_view.py:118
msgid "Application"
msgstr "Aplicación"

#: data/ui/settings-view.ui:17
msgid "Configure the behavior and appearance of the application"
msgstr "Configurar el comportamiento y la apariencia de la aplicación."

#: data/ui/settings-view.ui:20
msgid "Style"
msgstr "Estilo"

#: data/ui/settings-view.ui:21
msgid "Choose the appearance of the application"
msgstr "Elige la apariencia de la aplicación"

#: data/ui/settings-view.ui:25
msgid "Follow System"
msgstr "Sistema"

#: data/ui/settings-view.ui:26
msgid "Light"
msgstr "Claro"

#: data/ui/settings-view.ui:27
msgid "Dark"
msgstr "Oscuro"

#: data/ui/settings-view.ui:28 data/ui/settings-view.ui:36
msgid "Palette Theme"
msgstr "Paleta de colores"

#: data/ui/settings-view.ui:37
msgid "MeshCore Dark"
msgstr "MeshCore oscuro"

#: data/ui/settings-view.ui:49
msgid "Channel Notifications"
msgstr "Notificaciones del canal"

#: data/ui/settings-view.ui:50
msgid "Default notification level for all channels"
msgstr "Nivel de notificación predeterminado para todos los canales"

#: data/ui/settings-view.ui:54 src/views/channels_view.py:1935
msgid "All Messages"
msgstr "Todos los mensajes"

#: data/ui/settings-view.ui:55 src/views/channels_view.py:1935
msgid "Mentions Only"
msgstr "Solo menciones"

#: data/ui/settings-view.ui:56 src/views/channels_view.py:1935
#: src/views/channels_view.py:1967 src/views/settings_view.py:146
#: src/views/repeater_view.py:1116
msgid "None"
msgstr "Ninguno"

#: data/ui/settings-view.ui:64
msgid "Run in Background"
msgstr "Ejecutarse en segundo plano"

#: data/ui/settings-view.ui:65
msgid "Keep receiving messages after closing the window"
msgstr "Sigo recibiendo mensajes después de cerrar la ventana."

#: data/ui/settings-view.ui:70
msgid "Autostart"
msgstr "Inicio automático"

#: data/ui/settings-view.ui:71
msgid "Automatically start when you log in"
msgstr "Se iniciará automáticamente al iniciar sesión"

#: data/ui/settings-view.ui:80 data/ui/repeater-view.ui:104
#: data/ui/repeater-view.ui:717 src/views/settings_view.py:122
msgid "Radio"
msgstr "Radio"

#: data/ui/settings-view.ui:81
msgid "LoRa radio parameters and regional presets"
msgstr "Parámetros de radio LoRa y preajustes regionales"

#: data/ui/settings-view.ui:84
msgid "Regional Preset"
msgstr "Preajuste regional"

#: data/ui/settings-view.ui:89
msgid "Preset Configuration"
msgstr "Configuración preestablecida"

#: data/ui/settings-view.ui:90
msgid "Frequency, bandwidth, spreading factor, coding rate"
msgstr ""
"Frecuencia , ancho de banda , factor de dispersión , tasa de codificación"

#: data/ui/settings-view.ui:93 data/ui/repeater-view.ui:748
msgid "Frequency (MHz)"
msgstr "Frecuencia (MHz)"

#: data/ui/settings-view.ui:98 data/ui/repeater-view.ui:753
msgid "Bandwidth (kHz)"
msgstr "Ancho de banda (kHz)"

#: data/ui/settings-view.ui:131
msgid "Repeat Mode"
msgstr "Modo de repetición"

#: data/ui/settings-view.ui:132
msgid "Act as a portable repeater on an off-grid frequency"
msgstr "Funciona como un repetidor portátil en una frecuencia fuera de la red."

#: data/ui/settings-view.ui:138 data/ui/repeater-view.ui:782
msgid "TX Power (dBm)"
msgstr "Potencia de transmisión (dBm)"

#: data/ui/settings-view.ui:155 src/views/settings_view.py:119
msgid "Advert"
msgstr "Anuncio"

#: data/ui/settings-view.ui:156
msgid "Configure how your node advertises itself on the mesh"
msgstr "Configura cómo se anuncia tu nodo en la malla."

#: data/ui/settings-view.ui:159
msgid "Device Name"
msgstr "Nombre del dispositivo"

#: data/ui/settings-view.ui:164
msgid "Include Location in Advert"
msgstr "Incluir la ubicación en el anuncio"

#: data/ui/settings-view.ui:165
msgid "Broadcast your position to other nodes"
msgstr "Transmite tu posición a otros nodos."

#: data/ui/settings-view.ui:174 src/views/settings_view.py:120
msgid "Routing and Messaging"
msgstr "Enrutamiento y mensajería"

#: data/ui/settings-view.ui:175
msgid "Path routing and message delivery settings"
msgstr "Configuración de enrutamiento de rutas y entrega de mensajes"

#: data/ui/settings-view.ui:183 src/views/device_view.py:290
msgid "1-byte (max 64 hops)"
msgstr "1 byte (máximo 64 saltos)"

#: data/ui/settings-view.ui:184 src/views/device_view.py:290
msgid "2-byte (max 32 hops)"
msgstr "2 bytes (máximo 32 saltos)"

#: data/ui/settings-view.ui:185 src/views/device_view.py:290
msgid "3-byte (max 21 hops)"
msgstr "3 bytes (máximo 21 saltos)"

#: data/ui/settings-view.ui:193
msgid "Direct Message Confirmations"
msgstr "Confirmaciones por mensaje privado"

#: data/ui/settings-view.ui:194
msgid "Number of ACKs sent when receiving a direct message"
msgstr "Número de ACK enviados al recibir un mensaje privado"

#: data/ui/settings-view.ui:213
msgid "Set your companion's position via GPS or manually"
msgstr "Establece la posición de tu compañero mediante GPS o manualmente."

#: data/ui/settings-view.ui:216
msgid "Companion GPS"
msgstr "GPS compañero"

#: data/ui/settings-view.ui:217
msgid "Enable GPS on the companion, your position will update automatically"
msgstr ""
"Activa el GPS en el dispositivo, tu posición se actualizará automáticamente."

#: data/ui/settings-view.ui:223
msgid "Set Location Manually"
msgstr "Establecer ubicación manualmente"

#: data/ui/settings-view.ui:224
msgid "Choose another method to set the location, it will be fixed"
msgstr "Elija otro método para establecer la ubicación, se fijará."

#: data/ui/settings-view.ui:227 data/ui/repeater-view.ui:703
msgid "Latitude"
msgstr "Latitud"

#: data/ui/settings-view.ui:232 data/ui/repeater-view.ui:708
msgid "Longitude"
msgstr "Longitud"

#: data/ui/settings-view.ui:237
msgid "Use My Location"
msgstr "Usar mi ubicación"

#: data/ui/settings-view.ui:238
msgid "Set from this computer's location"
msgstr "Establecer desde la ubicación de este ordenador"

#. Pick on Map button
#: data/ui/settings-view.ui:258 src/views/device_view.py:581
msgid "Pick on Map"
msgstr "Seleccionar en el mapa"

#: data/ui/settings-view.ui:259
msgid "Choose a location on the map"
msgstr "Seleccione una ubicación en el mapa."

#: data/ui/settings-view.ui:285 data/ui/settings-view.ui:289
#: src/views/settings_view.py:123
msgid "Auto-Add Contacts"
msgstr "Añadir contactos automáticamente"

#: data/ui/settings-view.ui:286
msgid "Automatically add nodes discovered via adverts"
msgstr "Añadir automáticamente nodos descubiertos a través de anuncios."

#: data/ui/settings-view.ui:294
msgid "Auto-Add Settings"
msgstr "Añadir ajustes automáticamente"

#: data/ui/settings-view.ui:295
msgid "Device types, overwrite policy, hop limit"
msgstr "Tipos de dispositivos, política de sobrescritura, límite de saltos"

#: data/ui/settings-view.ui:298
msgid "Chat Nodes"
msgstr "Nodos de chat"

#: data/ui/settings-view.ui:303 src/views/contacts_view.py:126
#: src/views/contacts_view.py:246 src/views/map_view.py:197
msgid "Repeaters"
msgstr "Repetidores"

#: data/ui/settings-view.ui:308 src/views/contacts_view.py:127
#: src/views/contacts_view.py:246
msgid "Room Servers"
msgstr "Sala de servidores"

#: data/ui/settings-view.ui:313 src/views/contacts_view.py:127
#: src/views/contacts_view.py:247 src/views/map_view.py:199
msgid "Sensors"
msgstr "Sensores"

#: data/ui/settings-view.ui:318
msgid "Overwrite oldest when full"
msgstr "Sobrescribir los archivos más antiguos cuando se llenen"

#: data/ui/settings-view.ui:323
msgid "Hop limit"
msgstr "Límite de saltos"

#: data/ui/settings-view.ui:324
msgid "0–63, leave empty for no limit"
msgstr "0–63, dejar vacío para no tener límite"

#: data/ui/settings-view.ui:343 src/views/settings_view.py:124
msgid "Telemetry Privacy"
msgstr "Privacidad de la telemetría"

#: data/ui/settings-view.ui:344
msgid "Control what others can query from your device"
msgstr "Controla lo que otros pueden consultar desde tu dispositivo"

#: data/ui/settings-view.ui:347
msgid "Battery & Sensors"
msgstr "Batería y sensores"

#: data/ui/settings-view.ui:348
msgid "Battery, voltage, temperature, current"
msgstr "Batería, voltaje, temperatura, corriente"

#: data/ui/settings-view.ui:354
msgid "GPS coordinates"
msgstr "Coordenadas GPS"

#: data/ui/settings-view.ui:359
msgid "Environment"
msgstr "Ambiente"

#: data/ui/settings-view.ui:360
msgid "Humidity, pressure, air quality"
msgstr "Humedad, presión, calidad del aire"

#: data/ui/settings-view.ui:369 data/ui/repeater-view.ui:458
#: src/views/settings_view.py:125
msgid "Regions"
msgstr "Regiones"

#: data/ui/settings-view.ui:370
msgid "Limit flood scope of channel messages to specific regions"
msgstr ""
"Limitar el alcance de inundación de los mensajes del canal a regiones "
"específicas"

#: data/ui/settings-view.ui:373
msgid "Add Region (e.g. Prague)"
msgstr "Añadir región (por ejemplo, Praga)"

#: data/ui/settings-view.ui:379
msgid "Default Scope"
msgstr "Ámbito predeterminado"

#: data/ui/settings-view.ui:380
msgid "All flood packets will be scoped to this region if set"
msgstr ""
"Todos los paquetes de inundación se limitarán a esta región si está "
"configurada"

#: data/ui/settings-view.ui:390 data/ui/connection-view.ui:35
#: src/views/settings_view.py:126
msgid "Bluetooth"
msgstr "Bluetooth"

#: data/ui/settings-view.ui:391
msgid ""
"After changing the PIN, restart the device, then unpair and re-pair. Setting "
"0 resets the PIN to default."
msgstr ""
"Después de cambiar el PIN, reinicia el dispositivo, luego desvincula y "
"vuelve a vincular. Configurar en 0 restablece el PIN al valor predeterminado."

#: data/ui/settings-view.ui:394
msgid "Pairing PIN"
msgstr "PIN de emparejamiento"

#: data/ui/connection-view.ui:23
msgid "Connect to a companion device to start using Meshy."
msgstr "Conéctalo a un dispositivo complementario para empezar a usar Meshy."

#: data/ui/connection-view.ui:48
msgid "Pair with a New Companion"
msgstr "Empareja a tu nuevo compañero"

#: data/ui/connection-view.ui:56
msgid "USB Serial"
msgstr "USB serie"

#: data/ui/connection-view.ui:71
msgid "WiFi / TCP"
msgstr "WiFi / TCP"

#: data/ui/connection-view.ui:84 src/views/connection_view.py:429
msgid "Add TCP Companion"
msgstr "Añadir un complemento TCP"

#: data/ui/contacts-view.ui:14 data/ui/channels-view.ui:33
#: data/ui/discover-dialog.ui:51 data/ui/share-contact-dialog.ui:32
msgid "Search..."
msgstr "Buscar…"

#: data/ui/contacts-view.ui:40 data/ui/discover-dialog.ui:74
#: data/ui/share-contact-dialog.ui:53 src/views/contacts_view.py:431
#: src/views/channels_view.py:798 src/views/chat_view.py:673
msgid "No contacts"
msgstr "Sin contactos"

#: data/ui/contacts-view.ui:53 src/views/contacts_view.py:442
#: src/views/contacts_view.py:623 src/views/channels_view.py:291
#: src/views/channels_view.py:475 src/views/chat_view.py:232
#: src/views/chat_view.py:393
msgid "Add Contact"
msgstr "Añadir contacto"

#: data/ui/chat-view.ui:22
msgid "Select a Contact"
msgstr "Seleccione un contacto"

#: data/ui/chat-view.ui:23
msgid "Choose a contact from the list to start chatting"
msgstr "Elige un contacto de la lista para empezar a chatear."

#: data/ui/chat-view.ui:85 data/ui/channel-chat-widget.ui:85
msgid "↑ New Messages"
msgstr "↑ Nuevos mensajes"

#: data/ui/chat-view.ui:134
msgid "Type a message..."
msgstr "Escribe un mensaje..."

#: data/ui/channels-view.ui:10 src/views/channels_view.py:2061
msgid "Create a Private Channel"
msgstr "Crear un canal privado"

#: data/ui/channels-view.ui:14 src/views/channels_view.py:2091
msgid "Join a Private Channel"
msgstr "Únete a un canal privado"

#: data/ui/channels-view.ui:18
msgid "Join the Public Channel"
msgstr "Únete al canal público"

#: data/ui/channels-view.ui:22 src/views/channels_view.py:2141
msgid "Join a Hashtag Channel"
msgstr "Únete a un canal de hashtags"

#: data/ui/channels-view.ui:58
msgid "No channels"
msgstr "No hay canales"

#: data/ui/channels-view.ui:70 src/application.py:129
msgid "Add Channel"
msgstr "Añadir canal"

#: data/ui/channel-chat-widget.ui:22
msgid "Select a Channel"
msgstr "Seleccione un canal"

#: data/ui/channel-chat-widget.ui:23
msgid "Choose a channel from the list"
msgstr "Elige un canal de la lista."

#: data/ui/channel-chat-widget.ui:134
msgid "Message channel..."
msgstr "Mensaje para el canal..."

#: data/ui/repeater-view.ui:37
msgid "System"
msgstr "Sistema"

#: data/ui/repeater-view.ui:40
msgid "Clock at Login"
msgstr "Reloj al iniciar sesión"

#: data/ui/repeater-view.ui:54
msgid "Sync Now"
msgstr "Sincronizar ahora"

#: data/ui/repeater-view.ui:64 src/views/repeater_view.py:303
msgid "Reset & Reboot"
msgstr "Restablecer y reiniciar"

#: data/ui/repeater-view.ui:94
msgid "Error Events"
msgstr "Eventos de error"

#: data/ui/repeater-view.ui:125
msgid "TX Airtime"
msgstr "Tiempo de emisión en TX"

#: data/ui/repeater-view.ui:131
msgid "RX Airtime"
msgstr "Tiempo de emisión en RX"

#: data/ui/repeater-view.ui:137
msgid "Channel Utilization"
msgstr "Utilización del canal"

#: data/ui/repeater-view.ui:143
msgid "Duty Cycle"
msgstr "Ciclo de trabajo"

#: data/ui/repeater-view.ui:156
msgid "Sent"
msgstr "Enviado"

#: data/ui/repeater-view.ui:162
msgid "Received"
msgstr "Recibido"

#: data/ui/repeater-view.ui:168
msgid "Receive Errors"
msgstr "Errores en la recepción"

#: data/ui/repeater-view.ui:187
msgid "Duplicates"
msgstr "Duplicados"

#: data/ui/repeater-view.ui:201 data/ui/repeater-view.ui:344
#: data/ui/repeater-view.ui:429
msgid "Refresh"
msgstr "Actualizar"

#: data/ui/repeater-view.ui:209 src/views/contacts_view.py:1660
#: src/views/repeater_view.py:380
msgid "Request Telemetry"
msgstr "Solicitar telemetría"

#: data/ui/repeater-view.ui:229
msgid "CLI"
msgstr "CLI"

#: data/ui/repeater-view.ui:272
msgid "CLI command..."
msgstr "Comando cli ..."

#: data/ui/repeater-view.ui:297
msgid "Neighbors"
msgstr "Vecinos"

#: data/ui/repeater-view.ui:352
msgid "Load More"
msgstr "Cargar más"

#: data/ui/repeater-view.ui:361 src/views/channels_view.py:1263
msgid "Show on Map"
msgstr "Mostrar en el mapa"

#: data/ui/repeater-view.ui:382
msgid "Access Control"
msgstr "Control de acceso"

#: data/ui/repeater-view.ui:437 data/ui/repeater-view.ui:542
#: src/application.py:206 src/views/contacts_view.py:344
#: src/views/contacts_view.py:466 src/views/repeater_view.py:750
#: src/views/repeater_view.py:1104
msgid "Add"
msgstr "Añadir"

#: data/ui/repeater-view.ui:487 src/views/repeater_view.py:840
msgid "Loading regions..."
msgstr "Cargando regiones ..."

#: data/ui/repeater-view.ui:495
msgid "Retry"
msgstr "Reintentar"

#: data/ui/repeater-view.ui:520
msgid "Default Region Scope"
msgstr "Ámbito regional predeterminado"

#: data/ui/repeater-view.ui:521
msgid ""
"Flood packets will be scoped to the provided region. Only repeaters allowing "
"the region will forward scoped packets. Leave blank for unscoped."
msgstr ""
"Los paquetes de inundación se limitarán a la región especificada . Solo los "
"repetidores que permitan el acceso a dicha región reenviarán los paquetes "
"limitados . Deje este campo en blanco para que no se apliquen paquetes "
"limitados."

#: data/ui/repeater-view.ui:550 src/views/settings_view.py:265
#: src/views/repeater_view.py:1073
msgid "Apply"
msgstr "Aplicar"

#: data/ui/repeater-view.ui:592
msgid "Basic"
msgstr "Básico"

#: data/ui/repeater-view.ui:603 data/ui/repeater-view.ui:683
#: data/ui/repeater-view.ui:728 data/ui/repeater-view.ui:809
msgid "Fetch"
msgstr "Traer"

#: data/ui/repeater-view.ui:612 data/ui/repeater-view.ui:692
#: data/ui/repeater-view.ui:737 data/ui/repeater-view.ui:818
msgid "Save"
msgstr "Guardar"

#: data/ui/repeater-view.ui:623 src/views/contacts_view.py:259
#: src/views/contacts_view.py:454 src/views/contacts_view.py:613
#: src/views/contacts_view.py:1484 src/views/channels_view.py:1887
#: src/views/channels_view.py:1900
msgid "Name"
msgstr "Nombre"

#: data/ui/repeater-view.ui:628
msgid "Packet Repeat"
msgstr "Repetición de paquetes"

#: data/ui/repeater-view.ui:637
msgid "Passwords"
msgstr "Contraseñas"

#: data/ui/repeater-view.ui:640
msgid "Admin Password"
msgstr "Contraseña de administrador"

#: data/ui/repeater-view.ui:654
msgid "Guest Password"
msgstr "Contraseña de invitado"

#: data/ui/repeater-view.ui:798
msgid "Advertisement"
msgstr "Anuncio"

#: data/ui/repeater-view.ui:829
msgid "Local Interval (min)"
msgstr "Intervalo local (min)"

#: data/ui/repeater-view.ui:841
msgid "Flood Interval (hrs)"
msgstr "Intervalo de inundación (horas)"

#. Danger Zone
#: data/ui/repeater-view.ui:857 src/views/contacts_view.py:1749
msgid "Danger Zone"
msgstr "Zona de peligro"

#: data/ui/repeater-view.ui:860
msgid "Reboot Repeater"
msgstr "Reiniciar el repetidor"

#: data/ui/repeater-view.ui:884
msgid "Select a repeater"
msgstr "Seleccione un repetidor"

#: data/ui/repeater-view.ui:913
msgid "Log Out"
msgstr "Finalizar la sesión"

#: data/ui/device-actions.ui:12
msgid "Send Advert"
msgstr "Enviar anuncio"

#: data/ui/device-actions.ui:20
msgid "Zero Hop"
msgstr "Sin saltos"

#: data/ui/device-actions.ui:21
msgid "Broadcast locally"
msgstr "Transmitido localmente"

#: data/ui/device-actions.ui:33
msgid "Flood Routed"
msgstr "Desviación de la inundación"

#: data/ui/device-actions.ui:34
msgid "Broadcast through the mesh"
msgstr "Transmitido a través de la malla"

#: data/ui/device-actions.ui:46
msgid "To Clipboard"
msgstr "Al portapapeles"

#: data/ui/device-actions.ui:47
msgid "Copy self contact data"
msgstr "Copiar mis datos de contacto"

#: data/ui/device-actions.ui:59
msgid "Show QR Code"
msgstr "Mostrar código QR"

#: data/ui/device-actions.ui:60
msgid "For others to scan and add you"
msgstr "Para que otros puedan escanearte y agregarte"

#: data/ui/device-actions.ui:76 src/views/device_view.py:519
#: src/views/device_view.py:862
msgid "Trace Path"
msgstr "Rastrear ruta"

#: data/ui/device-actions.ui:77
msgid "Trace a route and show signal quality per hop"
msgstr "Traza una ruta y muestra la calidad de la señal en cada salto."

#: data/ui/device-actions.ui:91 src/views/device_view.py:943
msgid "Discover Nearby Nodes"
msgstr "Descubre nodos cercanos"

#: data/ui/device-actions.ui:92
msgid "Scan the network for nearby nodes"
msgstr "Escanea la red en busca de nodos cercanos."

#: data/ui/device-actions.ui:106 data/ui/rx-log-dialog.ui:8
msgid "Rx Log"
msgstr "Recepción de datos"

#: data/ui/device-actions.ui:107
msgid "View received radio packets"
msgstr "Visualización de los paquetes de radio recibidos"

#: data/ui/device-actions.ui:121
msgid "Reboot Device"
msgstr "Reiniciar dispositivo"

#: data/ui/rx-log-dialog.ui:18
msgid "Clear log"
msgstr "Borrar registro"

#: data/ui/rx-log-dialog.ui:50
msgid "No Packets"
msgstr "Sin paquetes"

#: data/ui/rx-log-dialog.ui:51
msgid "Received radio packets will appear here"
msgstr "Los paquetes de radio recibidos aparecerán aquí."

#: data/ui/settings-sidebar.ui:15
msgid "Backup"
msgstr "Copia de seguridad"

#: data/ui/settings-sidebar.ui:16
msgid "Save configuration and messages to a file"
msgstr "Guarda la configuración y los mensajes en un archivo."

#: data/ui/settings-sidebar.ui:28
msgid "Restore"
msgstr "Restaurar"

#: data/ui/settings-sidebar.ui:29
msgid "Restore from a backup file"
msgstr "Restaurar de una copia de seguridad"

#: data/ui/settings-sidebar.ui:53 src/views/device_view.py:227
msgid "Factory Reset"
msgstr "Restaurar valores de fábrica"

#: data/ui/settings-sidebar.ui:54
msgid "Erase all data on the companion"
msgstr "Borrar todos los datos del dispositivo"

#: data/ui/discover-dialog.ui:8 src/views/contacts_view.py:75
#: src/views/contacts_view.py:216
msgid "Discover Contacts"
msgstr "Descubre tus contactos"

#: data/ui/discover-dialog.ui:18 data/ui/share-contact-dialog.ui:18
#: src/window.py:465
msgid "Search"
msgstr "Buscar"

#: data/ui/discover-dialog.ui:27
msgid "Filter by type"
msgstr "Filtrar por tipo"

#: data/ui/discover-dialog.ui:36
msgid "Sort by"
msgstr "Ordenar por"

#: data/ui/share-contact-dialog.ui:8 src/views/channels_view.py:176
#: src/views/chat_view.py:138
msgid "Share Contact"
msgstr "Compartir contacto"

#: data/ui/theme-chooser-dialog.ui:9
msgid "Choose Theme"
msgstr "Elegir el tema"

#: src/application.py:87 src/application.py:154 src/window.py:524
#: src/views/contacts_view.py:449 src/views/contacts_view.py:608
#: src/views/device_view.py:1000
msgid "Chat"
msgstr "Chat"

#: src/application.py:87 src/views/contacts_view.py:449
#: src/views/contacts_view.py:608 src/views/device_view.py:1001
#: src/views/map_view.py:100
msgid "Repeater"
msgstr "Repetidor"

#: src/application.py:87 src/views/map_view.py:101
msgid "Room"
msgstr "Room"

#: src/application.py:87 src/views/contacts_view.py:449
#: src/views/contacts_view.py:608 src/views/device_view.py:1003
#: src/views/map_view.py:102
msgid "Sensor"
msgstr "Sensor"

#: src/application.py:95 src/application.py:157 src/views/__init__.py:276
#: src/views/contacts_view.py:1394 src/views/channels_view.py:1357
#: src/views/device_view.py:887 src/views/device_view.py:1131
#: src/views/device_view.py:1139 src/views/settings_view.py:1151
msgid "Unknown"
msgstr "Desconocido"

#: src/application.py:97
#, python-brace-format
msgid ""
"Name: {name}\n"
"Type: {type}"
msgstr ""
"Nombre: {name}\n"
"Tipo: {type}"

#: src/application.py:99
#, python-brace-format
msgid ""
"Type: {type}\n"
"Key: {key}…"
msgstr ""
"Tipo: {type}\n"
"Clave: {key}…"

#: src/application.py:101
msgid "Import Contact"
msgstr "Importar contacto"

#: src/application.py:105
#, python-brace-format
msgid "Contact {}"
msgstr "Contacto {}"

#: src/application.py:105
msgid "imported"
msgstr "importado"

#: src/application.py:109
msgid "Invalid meshcore:// link"
msgstr "Enlace meshcore:// no válido"

#: src/application.py:123
msgid "Invalid channel secret in link"
msgstr "Secreto de canal no válido en el enlace"

#: src/application.py:126
msgid "Invalid channel secret length"
msgstr "Longitud de secreto de canal no válida"

#: src/application.py:130
#, python-brace-format
msgid ""
"Name: {name}\n"
"Type: Private"
msgstr ""
"Nombre: {name}\n"
"Tipo: Privado"

#: src/application.py:130
msgid "Unnamed"
msgstr "Sin nombre"

#: src/application.py:146
msgid "Invalid public key in link"
msgstr "Clave pública no válida en el enlace"

#: src/application.py:149
msgid "Invalid public key length"
msgstr "Longitud de clave pública no válida"

#: src/application.py:152
#, python-brace-format
msgid "{} is already in your list"
msgstr "{} ya aparece en tu lista"

#. Contact list
#: src/application.py:152 src/views/repeater_view.py:766
msgid "Contact"
msgstr "Contacto"

#: src/application.py:156
#, python-brace-format
msgid "Add {} Contact"
msgstr "Añadir {} contacto"

#: src/application.py:157
#, python-brace-format
msgid ""
"Name: {name}\n"
"Public Key: {key}…"
msgstr ""
"Nombre: {name}\n"
"Clave pública: {key}…"

#: src/application.py:160
#, python-brace-format
msgid "Contact {} added"
msgstr "Contacto {} añadido"

#: src/application.py:165
msgid "Unrecognized meshcore:// link"
msgstr "Enlace «meshcore://» no reconocido"

#: src/application.py:205 src/connection_controller.py:139
#: src/connection_controller.py:442 src/views/connection_view.py:177
#: src/views/connection_view.py:243 src/views/connection_view.py:409
#: src/views/connection_view.py:446 src/views/connection_view.py:611
#: src/views/contacts_view.py:465 src/views/contacts_view.py:622
#: src/views/contacts_view.py:1760 src/views/channels_view.py:2018
#: src/views/channels_view.py:2069 src/views/channels_view.py:2101
#: src/views/channels_view.py:2149 src/views/device_view.py:226
#: src/views/device_view.py:242 src/views/settings_view.py:1191
#: src/views/repeater_view.py:302 src/views/repeater_view.py:727
#: src/views/repeater_view.py:749 src/views/repeater_view.py:1103
#: src/views/repeater_view.py:1373
msgid "Cancel"
msgstr "Cancelar"

#: src/application.py:333 src/application.py:354 src/application.py:379
msgid "Receiving messages in the background"
msgstr "Recibir mensajes en segundo plano"

#: src/application.py:434
msgid "A GTK client for MeshCore LoRa mesh network devices"
msgstr "Cliente GTK para dispositivos de red mallada MeshCore LoRa"

#: src/application.py:482
msgid "Adwaita Symbolic Icons"
msgstr "Iconos simbólicos de Adwaita"

#: src/connection_controller.py:130 src/connection_controller.py:265
#: src/window.py:901
msgid "Connecting..."
msgstr "Conectando…"

#: src/connection_controller.py:136
msgid "Scan for Devices"
msgstr "Buscar dispositivos"

#: src/connection_controller.py:137 src/views/connection_view.py:510
msgid "Scanning for MeshCore devices..."
msgstr "Buscando dispositivos MeshCore..."

#: src/connection_controller.py:140
msgid "Scan"
msgstr "Escanear"

#: src/connection_controller.py:262 src/views/connection_view.py:527
msgid "Scanning..."
msgstr "Escaneando…"

#: src/connection_controller.py:263
msgid "Stop"
msgstr "Detener"

#: src/connection_controller.py:277
msgid "Syncing..."
msgstr "Sincronizando…"

#: src/connection_controller.py:324
msgid "Device did not respond. It may not support this connection type."
msgstr ""
"El dispositivo no ha respondido. Es posible que no sea compatible con este "
"tipo de conexión."

#: src/connection_controller.py:441
#, python-brace-format
msgid "Reconnecting ({current}/{total})..."
msgstr "Volviendo a conectar ({current}/{total})}…"

#: src/connection_controller.py:483
msgid "Syncing channels"
msgstr "Sincronizando canales"

#: src/connection_controller.py:562
#, python-brace-format
msgid "You received {} message(s) while disconnected."
msgstr "Has recibido {} mensajes mientras estabas desconectado."

#: src/frame_handler.py:94
#, python-brace-format
msgid "Device error: {}"
msgstr "Error del dispositivo: {}"

#: src/frame_handler.py:202 src/frame_handler.py:217
msgid "Syncing contacts"
msgstr "Sincronizando contactos"

#: src/frame_handler.py:352
#, python-brace-format
msgid "{}s (late)"
msgstr "{}s (tarde)"

#: src/frame_handler.py:352
#, python-brace-format
msgid "{}ms (late)"
msgstr "{}ms (tarde)"

#: src/frame_handler.py:352
msgid "late"
msgstr "tarde"

#: src/frame_handler.py:412
#, python-brace-format
msgid "Device clock was {}min behind — synced"
msgstr "El reloj del dispositivo se retrasaba {} minutos — sincronizado"

#: src/frame_handler.py:414
#, python-brace-format
msgid "Device clock is {}min ahead of system"
msgstr "El reloj del dispositivo se adelanta {} minutos al del sistema"

#. Navigate to content panel (matters in collapsed/phone mode)
#: src/frame_handler.py:885 src/window.py:545 src/views/contacts_view.py:1175
#: src/views/channels_view.py:1751 src/views/channels_view.py:1771
#: src/views/channels_view.py:1868 src/views/channels_view.py:1900
#: src/views/channels_view.py:2016 src/views/repeater_view.py:432
#, python-brace-format
msgid "Channel {}"
msgstr "Canal {}"

#: src/frame_handler.py:886
msgid "Someone"
msgstr "Alguien"

#: src/frame_handler.py:889
#, python-brace-format
msgid "{sender}: {text}"
msgstr "{sender}: {text}"

#: src/message_controller.py:126 src/views/repeater_view.py:682
#: src/views/repeater_view.py:716
msgid "Me"
msgstr "A mí"

#: src/message_controller.py:171
msgid "flood"
msgstr "flood (inundación)"

#: src/message_controller.py:173
msgid "direct"
msgstr "privado"

#: src/message_controller.py:175
msgid "path"
msgstr "ruta"

#: src/message_controller.py:178 src/message_controller.py:182
#, python-brace-format
msgid "– {route}"
msgstr "– {route}"

#: src/message_controller.py:183
#, python-brace-format
msgid "({attempt}/{total}) – {route}"
msgstr "({attempt}/{total}) – {route}"

#: src/message_controller.py:221
#, python-brace-format
msgid "waiting {:.1f}s (radio busy)"
msgstr "Esperando {:.1f} s (la radio está ocupada)"

#: src/window.py:469 src/window.py:549
msgid "Filter"
msgstr "Filtrar"

#: src/window.py:473
msgid "Sort"
msgstr "Clasificar"

#. Sidebar = Device Info button + Actions, content = device info
#. Actions group (only for repeaters/rooms)
#. Actions group
#: src/window.py:511 src/views/contacts_view.py:1674
#: src/views/channels_view.py:2006 src/views/repeater_view.py:964
msgid "Actions"
msgstr "Comportamiento"

#: src/window.py:536
msgid "Channel"
msgstr "Canal"

#. Sidebar = Settings button + hint, content = settings with Apply in headerbar
#: src/window.py:566
msgid "Backup & Restore"
msgstr "Copia de seguridad y restauración"

#: src/window.py:638 src/window.py:673 src/window.py:676 src/window.py:1396
#: src/window.py:1398 src/window.py:1449 src/window.py:1452
#, python-brace-format
msgid "{name} ({path})"
msgstr "{name} ({path})"

#: src/window.py:687
msgid "Management"
msgstr "Dirección"

#: src/window.py:687 src/views/repeater_view.py:687
#: src/views/repeater_view.py:758
msgid "Guest"
msgstr "Invitado"

#: src/window.py:688
#, python-brace-format
msgid "{name} — {role}"
msgstr "{name} — {role}"

#: src/window.py:790
msgid "Excellent"
msgstr "Excelente"

#: src/window.py:790
msgid "Good"
msgstr "Bien"

#: src/window.py:791
msgid "Fair"
msgstr "Bueno"

#: src/window.py:791
msgid "Poor"
msgstr "Pobre"

#: src/window.py:792
msgid "Very poor"
msgstr "Muy pobre"

#: src/window.py:1014
msgid "flood routed"
msgstr "enrutamiento"

#: src/window.py:1014
msgid "zero-hop"
msgstr "sin salto"

#: src/window.py:1015
#, python-brace-format
msgid "Advert sent ({})"
msgstr "Anuncio enviado ( {} )"

#: src/window.py:1466
#, python-brace-format
msgid "Channel \"{}\" added"
msgstr "Canal «{}» añadido"

#: src/window.py:1470
msgid "No empty channel slots available"
msgstr "No hay canales libres disponibles"

#: src/qr_scanner.py:41
#, python-brace-format
msgid "Cannot connect to session bus: {}"
msgstr "No se puede conectar al bus de sesión: {}"

#: src/qr_scanner.py:59
msgid "No camera detected on this system."
msgstr "No se ha detectado ninguna cámara en este sistema."

#: src/qr_scanner.py:110
#, python-brace-format
msgid "Could not access camera: {}"
msgstr "No se ha podido acceder a la cámara: {}"

#: src/qr_scanner.py:119
msgid "Camera access was denied."
msgstr "Se ha denegado el acceso a la cámara."

#: src/qr_scanner.py:153
msgid "Could not open camera stream."
msgstr "No se ha podido abrir la transmisión de la cámara."

#: src/qr_scanner.py:159
msgid "No camera file descriptor received."
msgstr "No se ha recibido ningún descriptor de archivo de cámara."

#: src/qr_scanner.py:168 src/qr_scanner.py:171
#, python-brace-format
msgid "Could not open camera: {}"
msgstr "No se ha podido abrir la cámara: {}"

#: src/qr_scanner.py:176 src/views/contacts_view.py:80
msgid "Scan QR Code"
msgstr "Escanear el código QR"

#. Status label
#: src/qr_scanner.py:198
msgid "Point the camera at a QR code..."
msgstr "Apunta la cámara hacia un código QR..."

#: src/qr_scanner.py:221
#, python-brace-format
msgid "Camera pipeline error: {}"
msgstr "Error en el proceso de la cámara: {}"

#: src/qr_scanner.py:296
msgid ""
"No QR code detected yet.\n"
"Make sure the code is well-lit, sharp, and fills most of the frame."
msgstr ""
"Aún no se ha detectado ningún código QR.\n"
"Asegúrate de que el código esté bien iluminado, nítido y ocupe la mayor "
"parte del encuadre."

#: src/qr_scanner.py:305
msgid ""
"Could not detect QR code.\n"
"Try importing the contact via clipboard instead."
msgstr ""
"No se ha podido detectar el código QR.\n"
"Prueba a importar el contacto desde el portapapeles."

#: src/qr_scanner.py:311
msgid "QR code found!"
msgstr "¡Encontrado un código QR!"

#: src/qr_scanner.py:322
#, python-brace-format
msgid "Camera error: {}"
msgstr "Error de la cámara: {}"

#: src/qr_scanner.py:341
msgid "Camera Error"
msgstr "Error de la cámara"

#: src/qr_scanner.py:342 src/views/connection_view.py:210
#: src/views/connection_view.py:330 src/views/connection_view.py:337
#: src/views/contacts_view.py:221 src/views/contacts_view.py:503
#: src/views/contacts_view.py:595 src/views/channels_view.py:817
#: src/views/channels_view.py:1190 src/views/channels_view.py:1412
#: src/views/channels_view.py:1432 src/views/channels_view.py:2052
#: src/views/channels_view.py:2123 src/views/settings_view.py:1064
#: src/views/settings_view.py:1105 src/views/settings_view.py:1141
#: src/views/chat_view.py:692
msgid "OK"
msgstr "De acuerdo"

#: src/views/connection_view.py:41 src/views/connection_view.py:178
#: src/views/connection_view.py:410 src/views/contacts_view.py:1761
#: src/views/channels_view.py:2019 src/views/repeater_view.py:728
#: src/views/repeater_view.py:982
msgid "Remove"
msgstr "Quitar"

#: src/views/connection_view.py:81
msgid "Bluetooth is disabled"
msgstr "Bluetooth desactivado"

#: src/views/connection_view.py:82
msgid "Enable Bluetooth in system settings to connect"
msgstr "Activa el Bluetooth en los ajustes del sistema para conectarte"

#: src/views/connection_view.py:94
msgid "No paired devices"
msgstr "No hay dispositivos emparejados"

#: src/views/connection_view.py:95
msgid "Use the button below to pair a new companion"
msgstr "Utiliza el botón inferior para emparejar un nuevo dispositivo"

#: src/views/connection_view.py:142
msgid "No USB devices detected"
msgstr "Sin dispositivos USB"

#: src/views/connection_view.py:143
msgid "Connect a MeshCore companion via USB"
msgstr "Conecte un dispositivo MeshCore complementario mediante USB."

#: src/views/connection_view.py:174 src/views/connection_view.py:406
msgid "Remove Companion"
msgstr "Eliminar compañero"

#: src/views/connection_view.py:175
#, python-brace-format
msgid "Remove {} ({})? You will need to pair again to reconnect."
msgstr ""
"¿Eliminar {} ({})? Tendrás que volver a emparejarlo para volver a conectarte."

#: src/views/connection_view.py:181 src/views/connection_view.py:413
msgid "Delete stored data"
msgstr "Borrar los datos almacenados"

#: src/views/connection_view.py:207
msgid "USB Connection Failed"
msgstr "Error en la conexión usb"

#: src/views/connection_view.py:237 src/views/connection_view.py:264
msgid "USB Permission Denied"
msgstr "Acceso al usb denegado"

#: src/views/connection_view.py:238
#, python-brace-format
msgid ""
"Cannot access {}.\n"
"\n"
"A udev rule is needed to grant access to USB serial devices. Click \"Install "
"Rule\" to install it (requires administrator password)."
msgstr ""
"No se puede acceder a {}.\n"
"\n"
"Se necesita una regla de udev para permitir el acceso a los dispositivos "
"serie USB. Haz clic en «Instalar regla» para instalarla (se requiere la "
"contraseña de administrador)."

#: src/views/connection_view.py:244
msgid "Install Rule"
msgstr "Instalar regla"

#: src/views/connection_view.py:265
#, python-brace-format
msgid ""
"Cannot access {}.\n"
"\n"
"A udev rule is needed to grant access to USB serial devices. Run the "
"following command in a terminal:\n"
"\n"
"{}"
msgstr ""
"No se puede acceder a {}.\n"
"\n"
"Se necesita una regla de udev para permitir el acceso a los dispositivos "
"serie USB. Ejecuta el siguiente comando en un terminal:\n"
"\n"
"{}"

#: src/views/connection_view.py:270
msgid "Close"
msgstr "Cerrar"

#: src/views/connection_view.py:271
msgid "Copy Command"
msgstr "Comando copy"

#: src/views/connection_view.py:279
msgid "Command copied to clipboard"
msgstr "Comando copiado al portapapeles"

#: src/views/connection_view.py:327 src/views/connection_view.py:334
msgid "Installation Failed"
msgstr "Error en la instalación"

#: src/views/connection_view.py:328
#, python-brace-format
msgid ""
"Could not install udev rule:\n"
"{}"
msgstr ""
"No se ha podido instalar la regla de udev:\n"
"{}"

#: src/views/connection_view.py:363
msgid "No saved companions"
msgstr "No hay compañeros guardados"

#: src/views/connection_view.py:364
msgid "Use the button below to add one"
msgstr "Utiliza el botón inferior para añadir uno"

#: src/views/connection_view.py:407
#, python-brace-format
msgid "Remove TCP companion {}?"
msgstr "¿Eliminar el complemento TCP {}?"

#: src/views/connection_view.py:430
msgid "Enter the IP address and port of your MeshCore device."
msgstr "Introduce la dirección IP y el puerto de tu dispositivo MeshCore."

#: src/views/connection_view.py:434
msgid "Hostname / IP Address"
msgstr "Nombre de host / Dirección IP"

#: src/views/connection_view.py:436
msgid "Port"
msgstr "Puerto"

#: src/views/connection_view.py:493
msgid "Pair New Companion"
msgstr "Emparejar nuevo compañero"

#: src/views/connection_view.py:528
msgid "Looking for nearby MeshCore devices"
msgstr "Buscar dispositivos MeshCore cercanos"

#: src/views/connection_view.py:555 src/views/connection_view.py:612
msgid "Pair"
msgstr "Par"

#: src/views/connection_view.py:598
msgid "Enter Pairing PIN"
msgstr "Introduce el pin de emparejamiento"

#: src/views/connection_view.py:599
msgid "Enter the PIN shown on your MeshCore device."
msgstr "Introduce el pin que aparece en tu dispositivo MeshCore."

#: src/views/connection_view.py:603
msgid "PIN"
msgstr "PIN"

#: src/views/contacts_view.py:76
msgid "Add Manually"
msgstr "Añadir manualmente"

#: src/views/contacts_view.py:77
msgid "Import from Clipboard"
msgstr "Importar desde el portapapeles"

#: src/views/contacts_view.py:125 src/views/contacts_view.py:245
#: src/views/channels_view.py:1670
msgid "All"
msgstr "Todo"

#: src/views/contacts_view.py:125
msgid "Favourites"
msgstr "Favoritos"

#: src/views/contacts_view.py:126 src/views/contacts_view.py:245
#: src/views/map_view.py:196
msgid "Users"
msgstr "Usuarios"

#: src/views/contacts_view.py:139 src/views/channels_view.py:1682
msgid "A–Z"
msgstr "A–Z"

#: src/views/contacts_view.py:139
msgid "Heard Recently"
msgstr "Escuchado recientemente"

#: src/views/contacts_view.py:140 src/views/channels_view.py:1682
msgid "Latest Messages"
msgstr "Últimos mensajes"

#: src/views/contacts_view.py:148
msgid "Favorites First"
msgstr "Lo más destacado primero"

#: src/views/contacts_view.py:185
#, python-brace-format
msgid "{visible}/{total} contacts"
msgstr "{visible}/{total} contactos"

#: src/views/contacts_view.py:188 src/views/channels_view.py:797
#: src/views/chat_view.py:672
#, python-brace-format
msgid "{total} contacts"
msgstr "{total} contactos"

#: src/views/contacts_view.py:189
#, python-brace-format
msgid "{total} contact"
msgstr "{total} contacto"

#: src/views/contacts_view.py:217
msgid ""
"No new contacts have been heard yet. Leave the app running and contacts will "
"appear as their adverts are received."
msgstr ""
"Aún no se han recibido nuevos contactos . Deja la aplicación abierta y los "
"contactos aparecerán a medida que se reciban sus anuncios ."

#: src/views/contacts_view.py:260 src/views/contacts_view.py:1523
msgid "Last Seen"
msgstr "Última conexión"

#: src/views/contacts_view.py:265
msgid "Distance"
msgstr "Distancia"

#: src/views/contacts_view.py:434
#, python-brace-format
msgid "{visible}/{total} discovered"
msgstr "{visible}/{total} encontrados"

#: src/views/contacts_view.py:438
#, python-brace-format
msgid "{total} discovered"
msgstr "{total} encontrados"

#: src/views/contacts_view.py:443
msgid "Enter the contact details."
msgstr "Introduce los datos de contacto."

#: src/views/contacts_view.py:447 src/views/contacts_view.py:606
msgid "Contact Type"
msgstr "Tipo de contacto"

#: src/views/contacts_view.py:449 src/views/contacts_view.py:608
#: src/views/device_view.py:1002
msgid "Room Server"
msgstr "Sala de servidores"

#: src/views/contacts_view.py:455
msgid "Public Key (64 hex characters)"
msgstr "Clave pública (64 caracteres hexadecimales)"

#: src/views/contacts_view.py:478 src/views/contacts_view.py:559
#: src/views/contacts_view.py:584
msgid "This contact is already in your list."
msgstr "Este contacto ya figura en tu lista."

#: src/views/contacts_view.py:500 src/views/contacts_view.py:594
#: src/views/settings_view.py:1138
msgid "Import Failed"
msgstr "Error al importar"

#: src/views/contacts_view.py:501
msgid "No meshcore:// link found in clipboard."
msgstr "Sin enlace meshcore:// en el portapapeles."

#: src/views/contacts_view.py:532
msgid "Invalid channel secret in QR code."
msgstr "Clave secreta de canal no válida en el código QR."

#: src/views/contacts_view.py:535
#, python-brace-format
msgid "Channel secret must be 16 bytes, got {}."
msgstr "El canal privado debe tener 16 bytes; se ha obtenido {}."

#: src/views/contacts_view.py:551
msgid "Invalid public key in QR code."
msgstr "Clave pública no válida en el código QR."

#: src/views/contacts_view.py:555
#, python-brace-format
msgid "Public key must be 32 bytes, got {}."
msgstr "La clave pública debe tener 32 bytes; se ha obtenido {}."

#: src/views/contacts_view.py:591
#, python-brace-format
msgid ""
"Could not parse QR code data:\n"
"{}"
msgstr ""
"No se han podido analizar los datos del código QR:\n"
"{}"

#: src/views/contacts_view.py:601
msgid "QR Code Scanned"
msgstr "Código QR escaneado"

#: src/views/contacts_view.py:602
#, python-brace-format
msgid "Public key: {}...{}"
msgstr "Clave pública: {}...{}"

#: src/views/contacts_view.py:665
#, python-brace-format
msgid "Login to {}"
msgstr "Iniciar sesión en {}"

#: src/views/contacts_view.py:678
msgid "Password"
msgstr "Contraseña"

#: src/views/contacts_view.py:679
msgid "Save password"
msgstr "Guardar contraseña"

#: src/views/contacts_view.py:702
msgid "Login"
msgstr "Acceso"

#: src/views/contacts_view.py:718
msgid "Login successful"
msgstr "Inicio de sesión correcto"

#: src/views/contacts_view.py:737
msgid "Login failed — wrong password"
msgstr "Error al iniciar sesión: contraseña incorrecta"

#: src/views/contacts_view.py:744
msgid "Login timed out"
msgstr "Se ha agotado el tiempo de espera de la sesión"

#: src/views/contacts_view.py:751
msgid "Retrying via flood..."
msgstr "Volviendo a intentarlo mediante inundación..."

#: src/views/contacts_view.py:758
msgid "Logging in..."
msgstr "Iniciando sesión..."

#: src/views/contacts_view.py:969
msgid "Searching..."
msgstr "Buscando…"

#: src/views/contacts_view.py:1020
msgid "Path found"
msgstr "Ruta encontrada"

#: src/views/contacts_view.py:1026
msgid "No response"
msgstr "Sin respuesta"

#: src/views/contacts_view.py:1035
msgid "Loading..."
msgstr "Cargando…"

#: src/views/contacts_view.py:1045
msgid "No path cached"
msgstr "No se ha almacenado ninguna ruta en caché."

#: src/views/contacts_view.py:1058
msgid "Not supported"
msgstr "No compatible"

#: src/views/contacts_view.py:1070
msgid "Ping is not supported with 3-byte path hashes"
msgstr "La función ping no es compatible con los hash de ruta de 3 bytes"

#: src/views/contacts_view.py:1092
#, python-brace-format
msgid "Ping {}: {}"
msgstr "Ping {}: {}"

#: src/views/contacts_view.py:1103
#, python-brace-format
msgid "Ping {}: timed out"
msgstr "Ping {}: tiempo de espera agotado"

#: src/views/contacts_view.py:1116 src/views/repeater_view.py:509
#: src/views/repeater_view.py:661
msgid "Requesting..."
msgstr "Solicitando..."

#: src/views/contacts_view.py:1121 src/views/device_view.py:364
msgid "No response (timed out)"
msgstr "Sin respuesta (se ha agotado el tiempo de espera)"

#: src/views/contacts_view.py:1130 src/views/contacts_view.py:1134
#: src/views/device_view.py:374 src/views/device_view.py:378
msgid "No telemetry data"
msgstr "Sin telemetría"

#: src/views/contacts_view.py:1137 src/views/device_view.py:393
msgid "Telemetry received"
msgstr "Telemetría recibida"

#: src/views/contacts_view.py:1155 src/views/repeater_view.py:411
#, python-brace-format
msgid "Telemetry — {}"
msgstr "Telemetría — {}"

#: src/views/contacts_view.py:1257
#, python-brace-format
msgid "{} — Management"
msgstr "{} — Dirección"

#: src/views/contacts_view.py:1368
#, python-brace-format
msgid "Path to {}"
msgstr "Ruta a {}"

#: src/views/contacts_view.py:1388 src/views/channels_view.py:637
#: src/views/channels_view.py:1350 src/views/device_view.py:881
#: src/views/chat_view.py:554 src/views/map_view.py:477
#: src/views/map_view.py:771 src/views/map_view.py:1126
msgid "My Device"
msgstr "Mi dispositivo"

#: src/views/contacts_view.py:1419 src/views/channels_view.py:1247
#: src/views/channels_view.py:1358 src/views/device_view.py:888
#: src/views/map_view.py:802
msgid "Unknown repeater"
msgstr "Repetidor desconocido"

#. Info group
#: src/views/contacts_view.py:1482
msgid "Contact Info"
msgstr "Información del contacto"

#: src/views/contacts_view.py:1490
msgid "Favorite"
msgstr "Favorito"

#: src/views/contacts_view.py:1491
msgid "Pin to top of contacts list"
msgstr "Fijar en la parte superior de la lista de contactos"

#: src/views/contacts_view.py:1508 src/views/channels_view.py:1904
msgid "Type"
msgstr "Tipo"

#: src/views/contacts_view.py:1518 src/views/device_view.py:150
msgid "Public key copied"
msgstr "Clave pública copiada"

#: src/views/contacts_view.py:1522
msgid "Never"
msgstr "Nunca"

#. Out Path entry
#: src/views/contacts_view.py:1542 src/views/contacts_view.py:1547
msgid "Out Path"
msgstr "Ruta de salida"

#: src/views/contacts_view.py:1543
msgid "Comma-separated hex hops (e.g. 9a,74 or 9a3b,744c for 2-byte)"
msgstr ""
"Saltos hexadecimales separados por comas (por ejemplo, 9a,74 o 9a3b,744c "
"para 2 bytes)"

#: src/views/contacts_view.py:1554
msgid "Reset Path"
msgstr "Restablecer ruta"

#: src/views/contacts_view.py:1555
msgid "Clear the established path and switch to flood"
msgstr "Despeje el camino establecido y cambie a inundación."

#: src/views/contacts_view.py:1570
msgid "Force Flood"
msgstr "Inundación forzada"

#: src/views/contacts_view.py:1571
msgid "Always broadcast, never use an established path"
msgstr "Transmita siempre, nunca utilice una ruta establecida."

#: src/views/contacts_view.py:1613
msgid "Show Path on Map"
msgstr "Mostrar ruta en el mapa"

#: src/views/contacts_view.py:1614
msgid "Visualize the message route on the map"
msgstr "Visualiza la ruta del mensaje en el mapa"

#: src/views/contacts_view.py:1649
msgid "Allow Telemetry Requests"
msgstr "Permitir solicitudes de telemetría"

#: src/views/contacts_view.py:1649
msgid "Allow this contact to query battery, voltage, temperature"
msgstr ""
"Permitir que este contacto consulte la batería, el voltaje y la temperatura."

#: src/views/contacts_view.py:1652
msgid "Include Location"
msgstr "Incluir ubicación"

#: src/views/contacts_view.py:1652
msgid "Include GPS coordinates in telemetry responses"
msgstr "Incluir las coordenadas GPS en la telemetría"

#: src/views/contacts_view.py:1655
msgid "Include Environment Sensors"
msgstr "Incluir sensores ambientales"

#: src/views/contacts_view.py:1655
msgid "Include humidity, pressure, air quality data"
msgstr "Incluir datos sobre la humedad, la presión y la calidad del aire"

#: src/views/contacts_view.py:1661
msgid "Query this contact's telemetry data"
msgstr "Consultar la telemetría de este contacto"

#: src/views/contacts_view.py:1679
msgid "Room Management"
msgstr "Gestionar la sala"

#: src/views/contacts_view.py:1680
msgid "Login and access CLI, status, and settings"
msgstr "Inicia sesión y accede a la CLI, al estado y a la configuración"

#: src/views/contacts_view.py:1696
msgid "Repeater Management"
msgstr "Gestión de repetidores"

#: src/views/contacts_view.py:1697
msgid "Login and access status, CLI, neighbors, and settings"
msgstr "Estado de inicio de sesión y acceso, CLI, vecinos y configuración"

#: src/views/contacts_view.py:1713
msgid "Ping"
msgstr "Ping"

#: src/views/contacts_view.py:1714
msgid "Measure round-trip time to this node"
msgstr "Mide el tiempo de respuesta de este nodo."

#: src/views/contacts_view.py:1728
msgid "Discover Paths"
msgstr "Descubre las rutas"

#: src/views/contacts_view.py:1729
msgid "Find routes to this node via flood"
msgstr "Buscar rutas hacia este nodo mediante el algoritmo de inundación"

#: src/views/contacts_view.py:1751
msgid "Remove Contact"
msgstr "Eliminar contacto"

#: src/views/contacts_view.py:1757
msgid "Remove Contact?"
msgstr "¿Eliminar contacto?"

#: src/views/contacts_view.py:1758
#, python-brace-format
msgid "Remove {} and all messages?"
msgstr "¿Eliminar {} y todos los mensajes?"

#: src/views/channels_view.py:117 src/views/channels_view.py:1409
#: src/views/channels_view.py:1416
msgid "Heard Repeats"
msgstr "Repeticiones escuchadas"

#: src/views/channels_view.py:118 src/views/chat_view.py:93
msgid "Send Again"
msgstr "Reenviar"

#: src/views/channels_view.py:119 src/views/channels_view.py:125
#: src/views/chat_view.py:94
msgid "Delete"
msgstr "Borrar"

#: src/views/channels_view.py:122
msgid "Reply"
msgstr "Responder"

#: src/views/channels_view.py:123
msgid "Copy Text"
msgstr "Copiar texto"

#: src/views/channels_view.py:124
msgid "View Message Paths"
msgstr "Ver rutas de mensajes"

#: src/views/channels_view.py:177 src/views/channels_view.py:833
#: src/views/chat_view.py:139 src/views/chat_view.py:707
msgid "Share Location"
msgstr "Compartir ubicación"

#: src/views/channels_view.py:178 src/views/chat_view.py:140
msgid "Share Location from Map"
msgstr "Compartir la ubicación desde el mapa"

#: src/views/channels_view.py:322 src/views/chat_view.py:263
msgid "Open in Maps App"
msgstr "Abrir en la aplicación Mapas"

#: src/views/channels_view.py:451 src/views/chat_view.py:369
msgid "You shared a contact:"
msgstr "Has compartido un contacto:"

#: src/views/channels_view.py:455 src/views/chat_view.py:373
#, python-brace-format
msgid "{name} shared a contact with you:"
msgstr "{name} te ha enviado un contacto:"

#: src/views/channels_view.py:475 src/views/channels_view.py:587
#: src/views/chat_view.py:393 src/views/chat_view.py:504
msgid "Already added"
msgstr "Ya añadido"

#: src/views/channels_view.py:490 src/views/chat_view.py:408
msgid "You shared a location:"
msgstr "Has compartido tu ubicación:"

#: src/views/channels_view.py:494 src/views/chat_view.py:412
#, python-brace-format
msgid "{name} shared a location:"
msgstr "{name} ha compartido una ubicación:"

#: src/views/channels_view.py:553 src/views/chat_view.py:470
msgid "New Messages"
msgstr "Mensajes nuevos"

#: src/views/channels_view.py:622 src/views/chat_view.py:539
msgid "Shared Location"
msgstr "Ubicación compartida"

#: src/views/channels_view.py:626 src/views/chat_view.py:543
msgid "Shared"
msgstr "Compartida"

#: src/views/channels_view.py:782 src/views/channels_view.py:833
#: src/views/chat_view.py:657 src/views/chat_view.py:707
msgid "Share"
msgstr "Compartir"

#: src/views/channels_view.py:814 src/views/chat_view.py:689
msgid "Location Not Available"
msgstr "Ubicación no disponible"

#: src/views/channels_view.py:815 src/views/chat_view.py:690
msgid "Your companion does not have a GPS location."
msgstr "Tu acompañante no tiene señal de GPS."

#: src/views/channels_view.py:1186 src/views/channels_view.py:1195
msgid "Message Paths"
msgstr "Rutas de los mensajes"

#: src/views/channels_view.py:1187
msgid ""
"No path information available. Path data is only captured for messages "
"received while connected."
msgstr ""
"No hay información de la ruta disponible. Los datos de ruta solo se "
"registran para los mensajes recibidos mientras se está conectado."

#: src/views/channels_view.py:1270
msgid "Direct message"
msgstr "Mensaje privado"

#: src/views/channels_view.py:1271
msgid "No repeaters were used"
msgstr "No se utilizaron repetidores"

#: src/views/channels_view.py:1279
msgid "No repeater details"
msgstr "No hay datos sobre el repetidor"

#: src/views/channels_view.py:1280
msgid "Path data is only captured via LOG_DATA while connected"
msgstr ""
"Los datos de la ruta solo se registran a través de LOG_DATA mientras se está "
"conectado"

#: src/views/channels_view.py:1329
msgid "Message Path"
msgstr "Ruta del mensaje"

#: src/views/channels_view.py:1410
msgid "No repeats heard yet."
msgstr "Aún no se han escuchado repeticiones."

#: src/views/channels_view.py:1670 src/views/channels_view.py:2133
msgid "Public"
msgstr "Público"

#: src/views/channels_view.py:1671
msgid "Hashtag"
msgstr "Hashtag"

#: src/views/channels_view.py:1671
msgid "Private"
msgstr "Privado"

#: src/views/channels_view.py:1716
#, python-brace-format
msgid "{visible}/{total} channels"
msgstr "{visible}/{total} canales"

#: src/views/channels_view.py:1719
#, python-brace-format
msgid "{total} channels"
msgstr "{total} canales"

#: src/views/channels_view.py:1720
#, python-brace-format
msgid "{total} channel"
msgstr "{total} canal"

#: src/views/channels_view.py:1753
#, python-brace-format
msgid "{name} ({region})"
msgstr "{name} ({region})"

#. Info group
#: src/views/channels_view.py:1884
msgid "Channel Info"
msgstr "Información del canal"

#: src/views/channels_view.py:1911
msgid "Private Key"
msgstr "Clave privada"

#: src/views/channels_view.py:1922
msgid "Private key copied to clipboard"
msgstr "Clave privada copiada en el portapapeles"

#. Notifications group
#: src/views/channels_view.py:1931
msgid "Notifications"
msgstr "Notificaciones"

#: src/views/channels_view.py:1933
msgid "Notification Level"
msgstr "Nivel de notificación"

#: src/views/channels_view.py:1935
msgid "Default"
msgstr "Por defecto:"

#: src/views/channels_view.py:1960 src/views/channels_view.py:1965
msgid "Region"
msgstr "Región"

#: src/views/channels_view.py:1961
msgid "Limit flood messages to a specific region"
msgstr "Limitar los mensajes de inundación a una región concreta"

#: src/views/channels_view.py:1989
msgid "No regions defined"
msgstr "Sinregiones definidas"

#: src/views/channels_view.py:1990
msgid "Add regions in Settings to assign them to channels"
msgstr "Añade regiones en «Configuración» para asignarlas a los canales"

#: src/views/channels_view.py:2008
msgid "Remove Channel"
msgstr "Eliminar el canal"

#: src/views/channels_view.py:2014
msgid "Remove Channel?"
msgstr "¿Eliminar canal?"

#: src/views/channels_view.py:2015
#, python-brace-format
msgid "Remove \"{}\" and all its messages?"
msgstr "¿Quitar\" {}\" y todos sus mensajes?"

#: src/views/channels_view.py:2049
msgid "No Slots Available"
msgstr "No hay plazas disponibles"

#: src/views/channels_view.py:2050
msgid "All 8 channel slots are in use."
msgstr "Los 8 canales están ocupados."

#: src/views/channels_view.py:2061
msgid "A random PSK will be generated. Share it with others so they can join."
msgstr ""
"Se generará una clave PSK aleatoria. Compártela con otros para que puedan "
"unirse."

#: src/views/channels_view.py:2063 src/views/channels_view.py:2093
msgid "Channel Name"
msgstr "Nombre del canal"

#: src/views/channels_view.py:2070
msgid "Create"
msgstr "Crear"

#: src/views/channels_view.py:2091
msgid "Enter the channel name and private key shared with you."
msgstr "Introduce el nombre del canal y la clave privada que te han facilitado."

#: src/views/channels_view.py:2094
msgid "Private Key (32 hex characters)"
msgstr "Clave privada (32 caracteres hexadecimales)"

#: src/views/channels_view.py:2102 src/views/channels_view.py:2150
msgid "Join"
msgstr "¡Únete!"

#: src/views/channels_view.py:2122
msgid "Already Joined"
msgstr "Ya me uní"

#: src/views/channels_view.py:2122
msgid "You are already on the public channel."
msgstr "¡Ya estás en el canal público!."

#: src/views/channels_view.py:2141
msgid "Enter a hashtag name. Anyone using the same hashtag can communicate."
msgstr ""
"Escribe un nombre para el hashtag. Cualquiera que utilice ese mismo hashtag "
"podrá comunicarse."

#: src/views/channels_view.py:2143
msgid "Hashtag (e.g. #general)"
msgstr "Hashtag (p. ej. #general )"

#: src/views/device_view.py:160
msgid "Device public key not available"
msgstr "La clave pública del dispositivo no está disponible"

#: src/views/device_view.py:170
msgid "QR code library not available"
msgstr "La biblioteca de códigos QR no está disponible"

#: src/views/device_view.py:174
msgid "Your Contact QR Code"
msgstr "Tu código QR de contacto"

#. Instructions
#: src/views/device_view.py:210
msgid "Scan this QR code to add this contact"
msgstr "Escanea este código QR para añadir este contacto"

#: src/views/device_view.py:220
msgid "Factory Reset?"
msgstr "¿Restaurar de fábrica?"

#: src/views/device_view.py:221
msgid ""
"This will permanently erase ALL data on the companion device, including "
"contacts, messages, channels, settings, and the device identity (keys). This "
"action cannot be undone."
msgstr ""
"Esto borrará de forma permanente TODOS los datos del dispositivo asociado, "
"incluidos los contactos, los mensajes, los canales, la configuración y la "
"identidad del dispositivo (claves). Esta acción no se puede deshacer."

#: src/views/device_view.py:239
msgid "Reboot Device?"
msgstr "¿Reiniciar el dispositivo?"

#: src/views/device_view.py:240
msgid "The device will disconnect and restart."
msgstr "El dispositivo se desconectará y se reiniciará."

#: src/views/device_view.py:243 src/views/repeater_view.py:1374
msgid "Reboot"
msgstr "Reiniciar"

#: src/views/device_view.py:323
msgid "Not set"
msgstr "Sin configurar"

#: src/views/device_view.py:332 src/views/device_view.py:339
msgid "Location (manually set)"
msgstr "Ubicación (configurada manualmente)"

#: src/views/device_view.py:335
msgid "Location (GPS)"
msgstr "Ubicación (GPS)"

#: src/views/device_view.py:335
msgid "Location (GPS on, no fix)"
msgstr "Ubicación (GPS activado, sin señal)"

#: src/views/device_view.py:339
msgid "Location (GPS off)"
msgstr "Ubicación (GPS desactivado)"

#: src/views/device_view.py:358 src/views/repeater_view.py:374
msgid "Requesting…"
msgstr "Solicitando…"

#: src/views/device_view.py:405
msgid "Device Location"
msgstr "Ubicación del dispositivo"

#: src/views/device_view.py:464
#, python-brace-format
msgid "{days}d"
msgstr "{days}día(s)"

#: src/views/device_view.py:466
#, python-brace-format
msgid "{hours}h"
msgstr "{hours}hora(s)"

#: src/views/device_view.py:467
#, python-brace-format
msgid "{mins}m"
msgstr "{mins}minuto(s)"

#: src/views/device_view.py:469
#, python-brace-format
msgid "{} messages"
msgstr "{} mensajes"

#: src/views/device_view.py:487
#, python-brace-format
msgid "{count} errors"
msgstr "{count} error(es)"

#: src/views/device_view.py:500 src/views/device_view.py:502
msgid "Connected"
msgstr "Conectado"

#: src/views/device_view.py:515
msgid "Trace Path is not supported with 3-byte path hashes"
msgstr ""
"La función «Trace Path» no es compatible con los hash de rutas de 3 bytes"

#: src/views/device_view.py:534
msgid "e.g. aa,bb,cc"
msgstr "p. ej. aa,bb,cc"

#: src/views/device_view.py:534
msgid "e.g. aabb,ccdd"
msgstr "p. ej., aabb,ccdd"

#: src/views/device_view.py:534
msgid "e.g. aabbcc,ddeeff"
msgstr "p. ej., aabbcc,ddeeff"

#. Add from Contacts button (above path entry)
#: src/views/device_view.py:542
msgid "Add from Contacts"
msgstr "Añadir desde contactos"

#: src/views/device_view.py:574
msgid "No repeaters or rooms in contacts"
msgstr "No hay repetidores ni salas en los contactos"

#: src/views/device_view.py:587
msgid "No repeaters with known location"
msgstr "No hay repetidores cuya ubicación se conozca"

#. Path input
#: src/views/device_view.py:590 src/views/device_view.py:1226
msgid "Path"
msgstr "Ruta"

#. Run button
#: src/views/device_view.py:650
msgid "Run Trace"
msgstr "Ejecutar rastreo"

#: src/views/device_view.py:663
msgid "Enter path hashes and press Run Trace"
msgstr "Introduce los hash de ruta y pulsa «Ejecutar rastreo»"

#: src/views/device_view.py:730
#, python-brace-format
msgid "Trace complete: {} hops, {:.1f}s"
msgstr "Rastreo completado: {} saltos, {:.1f} s"

#: src/views/device_view.py:777
msgid "Trace timed out"
msgstr "El seguimiento ha expirado"

#: src/views/device_view.py:793
msgid "Invalid hex in path"
msgstr "Valor hexadecimal no válido en la ruta"

#: src/views/device_view.py:800
msgid "Tracing..."
msgstr "Cargando..."

#: src/views/device_view.py:960 src/views/device_view.py:1150
#, python-brace-format
msgid "Scanning... {}s remaining"
msgstr "Escaneando... Quedan {}segundo(s)"

#: src/views/device_view.py:977
msgid "Listening..."
msgstr "Escuchando..."

#: src/views/device_view.py:978
msgid "Waiting for nearby nodes to respond"
msgstr "A la espera de que respondan los nodos cercanos"

#: src/views/device_view.py:1031
msgid "Add to Contacts"
msgstr "Añadir a los contactos"

#: src/views/device_view.py:1038
#, python-brace-format
msgid "Added {}"
msgstr "Añadido {}"

#: src/views/device_view.py:1066
msgid "Node"
msgstr "Nodo"

#: src/views/device_view.py:1159
#, python-brace-format
msgid "Done. {} nodes found."
msgstr "Hecho. Se han encontrado {} nodos."

#: src/views/device_view.py:1160
#, python-brace-format
msgid "Done. {} node found."
msgstr "Hecho. Se ha encontrado el nodo {}."

#: src/views/device_view.py:1222
msgid "Size"
msgstr "Tamaño"

#: src/views/device_view.py:1222
msgid "bytes"
msgstr "bytes"

#: src/views/device_view.py:1226
msgid "hops"
msgstr "saltos"

#: src/views/device_view.py:1228
msgid "Path Hashes"
msgstr "Rutas hash"

#: src/views/device_view.py:1228
msgid "byte per hop"
msgstr "byte por salto"

#: src/views/device_view.py:1307
#, python-brace-format
msgid "Update available: {version}"
msgstr "Hay una actualización disponible: {version}"

#: src/views/settings_view.py:131
msgid "Custom"
msgstr "Personalizado"

#. Telemetry combo models — shared label set
#: src/views/settings_view.py:139
msgid "Deny All"
msgstr "Rechazar todo"

#: src/views/settings_view.py:139
msgid "Allow per Contact"
msgstr "Permitir por contacto"

#: src/views/settings_view.py:139
msgid "Allow All"
msgstr "Permitir todo"

#: src/views/settings_view.py:601
msgid "Settings applied on device"
msgstr "Configuración aplicada en el dispositivo"

#: src/views/settings_view.py:613
msgid "Unknown error"
msgstr "Error desconocido"

#: src/views/settings_view.py:614
#, python-brace-format
msgid "Settings error: {}"
msgstr "Error de configuración: {}"

#: src/views/settings_view.py:632
#, python-brace-format
msgid "TX Power (dBm, max {})"
msgstr "Potencia de transmisión (dBm, máx. {})"

#: src/views/settings_view.py:735
msgid "Location filled, click Apply to save"
msgstr "El campo ya está rellenado; haz clic en «Aplicar» para guardar"

#: src/views/settings_view.py:737
msgid "Location unavailable"
msgstr "Ubicación no disponible"

#: src/views/settings_view.py:763
msgid "Pick Location"
msgstr "Seleccionar ubicación"

#: src/views/settings_view.py:763
msgid "Set Location"
msgstr "Establecer ubicación"

#: src/views/settings_view.py:865
msgid "Connect to a device first"
msgstr "Conéctate primero a un dispositivo"

#: src/views/settings_view.py:871
msgid "No repeaters in contacts"
msgstr "Sin repetidores en los contactos"

#: src/views/settings_view.py:875
msgid "Discover Regions"
msgstr "Mostrar las regiones"

#: src/views/settings_view.py:892
#, python-brace-format
msgid "Querying {} repeaters..."
msgstr "Consultando {} repetidores..."

#: src/views/settings_view.py:893
#, python-brace-format
msgid "Querying {} repeater..."
msgstr "Consultando {} repetidor..."

#: src/views/settings_view.py:905
msgid "Waiting..."
msgstr "Esperando..."

#: src/views/settings_view.py:906
msgid "Querying repeaters for regions"
msgstr "Consultando repetidores por regiones"

#. Add selected button
#: src/views/settings_view.py:918
msgid "Add Selected"
msgstr "Añadir seleccionados"

#: src/views/settings_view.py:937
#, python-brace-format
msgid "Found {} regions"
msgstr "Se encontraron {} regiones"

#: src/views/settings_view.py:938
#, python-brace-format
msgid "Found {} region"
msgstr "Se encontró {} región"

#: src/views/settings_view.py:941
msgid "No regions found"
msgstr "Sin regiones"

#: src/views/settings_view.py:957
#, python-brace-format
msgid "from {}"
msgstr "de {}"

#: src/views/settings_view.py:959
msgid "(already added)"
msgstr "(ya añadido)"

#: src/views/settings_view.py:995
#, python-brace-format
msgid "Added {} regions"
msgstr "Regiones {} añadidas"

#: src/views/settings_view.py:996
#, python-brace-format
msgid "Added {} region"
msgstr "Región {} añadida"

#: src/views/settings_view.py:1027
msgid "Export Backup"
msgstr "Exportar copia de seguridad"

#: src/views/settings_view.py:1028
msgid "Save to a file"
msgstr "Guardar en un archivo"

#: src/views/settings_view.py:1040 src/views/settings_view.py:1187
msgid "Import Backup"
msgstr "Importar copia de seguridad"

#: src/views/settings_view.py:1041
msgid "Restore from a file"
msgstr "Restaurar desde un archivo"

#: src/views/settings_view.py:1061 src/views/settings_view.py:1102
msgid "Not Connected"
msgstr "Sin conexión"

#: src/views/settings_view.py:1062
msgid "Connect to a device first to export a backup."
msgstr "Primero conéctese a un dispositivo para exportar una copia de seguridad"

#: src/views/settings_view.py:1077 src/views/settings_view.py:1112
msgid "JSON files"
msgstr "Archivos json"

#: src/views/settings_view.py:1090
msgid "Backup exported successfully"
msgstr "¡Copia de seguridad exportada correctamente!"

#: src/views/settings_view.py:1094
#, python-brace-format
msgid "Export failed: {}"
msgstr "Error al exportar: {}"

#: src/views/settings_view.py:1103
msgid "Connect to a device first to import a backup."
msgstr "Primero conéctese a un dispositivo para importar una copia de seguridad"

#: src/views/settings_view.py:1139
#, python-brace-format
msgid "Could not read backup file: {}"
msgstr "No se ha podido leer el archivo de copia de seguridad: {}"

#: src/views/settings_view.py:1172
#, python-brace-format
msgid "Source: {}"
msgstr "Fuente: {}"

#: src/views/settings_view.py:1174
msgid "Device settings: name, radio, location"
msgstr "Configuración del dispositivo: nombre, radio, ubicación"

#: src/views/settings_view.py:1176
#, python-brace-format
msgid "Contacts: {} ({} new)"
msgstr "Contactos: {} ({} nuevo)"

#: src/views/settings_view.py:1178
#, python-brace-format
msgid "Channels: {} ({} new)"
msgstr "Canales: {} ({} nuevo(s))"

#: src/views/settings_view.py:1180
#, python-brace-format
msgid "Messages: {}"
msgstr "Mensajes: {}"

#: src/views/settings_view.py:1182
#, python-brace-format
msgid "Channel messages: {}"
msgstr "Mensajes del canal: {}"

#: src/views/settings_view.py:1184
#, python-brace-format
msgid "Saved passwords: {}"
msgstr "Contraseña(s) guardada(s): {}"

#: src/views/settings_view.py:1192
msgid "Contacts & Channels Only"
msgstr "Solo contactos y canales"

#: src/views/settings_view.py:1193
msgid "Everything"
msgstr "Todo"

#: src/views/settings_view.py:1204
#, python-brace-format
msgid "{} contacts"
msgstr "{} contactos"

#: src/views/settings_view.py:1206
#, python-brace-format
msgid "{} channels"
msgstr "{} canales"

#: src/views/settings_view.py:1208
msgid "messages"
msgstr "mensajes"

#: src/views/settings_view.py:1211
#, python-brace-format
msgid "Imported: {}"
msgstr "Importado: {}"

#: src/views/settings_view.py:1213
msgid "Nothing new to import"
msgstr "No hay nada nuevo que importar"

#: src/views/repeater_view.py:24
#, python-brace-format
msgid "{d}d"
msgstr "{d}día(s)"

#: src/views/repeater_view.py:26
#, python-brace-format
msgid "{h}h"
msgstr "{h}hora(s)"

#: src/views/repeater_view.py:28
#, python-brace-format
msgid "{m}m"
msgstr "{m}minuto(s)"

#: src/views/repeater_view.py:29
#, python-brace-format
msgid "{secs}s"
msgstr "{secs}segundo(s)"

#: src/views/repeater_view.py:35
#, python-brace-format
msgid "{}s ago"
msgstr "hace {}segundo(s)"

#: src/views/repeater_view.py:37
#, python-brace-format
msgid "{}m ago"
msgstr "hace {}minuto(s)"

#: src/views/repeater_view.py:39
#, python-brace-format
msgid "{}h ago"
msgstr "hace {}hora(s)"

#: src/views/repeater_view.py:40
#, python-brace-format
msgid "{}d ago"
msgstr "hace {}día(s)"

#: src/views/repeater_view.py:290
msgid "Time sync sent to repeater"
msgstr "Sincronización horaria enviada al repetidor"

#: src/views/repeater_view.py:297
msgid "Reset Clock & Reboot?"
msgstr "¿Restablecer el reloj y reiniciar?"

#: src/views/repeater_view.py:298
msgid ""
"The repeater clock is ahead of the current time.\n"
"Firmware does not allow setting time backwards.\n"
"\n"
"This will reset the clock and reboot the repeater."
msgstr ""
"El reloj del repetidor está adelantado con respecto a la hora actual.\n"
"El firmware no permite retrasar la hora.\n"
"\n"
"Esto restablecerá el reloj y reiniciará el repetidor."

#: src/views/repeater_view.py:312
msgid "Rebooting..."
msgstr "Reiniciando..."

#: src/views/repeater_view.py:313
msgid "Clock reset & reboot sent to repeater"
msgstr "Reinicio del reloj y reinicio enviados al repetidor"

#: src/views/repeater_view.py:325 src/views/repeater_view.py:518
#: src/views/repeater_view.py:667 src/views/repeater_view.py:883
msgid "Request timed out"
msgstr "La solicitud ha expirado"

#: src/views/repeater_view.py:542
#, python-brace-format
msgid "{} of {} neighbors"
msgstr "{} de {} vecinos"

#: src/views/repeater_view.py:560
msgid "Neighbor Map"
msgstr "Mapa del vecindario"

#: src/views/repeater_view.py:687 src/views/repeater_view.py:758
msgid "Admin"
msgstr "Administración"

#: src/views/repeater_view.py:705
#, python-brace-format
msgid "{} entry"
msgstr "{} entrada"

#: src/views/repeater_view.py:706
#, python-brace-format
msgid "{} entries"
msgstr "{} entradas"

#: src/views/repeater_view.py:724
msgid "Remove from ACL?"
msgstr "¿Eliminar de la lista ACL?"

#: src/views/repeater_view.py:725
#, python-brace-format
msgid "Remove {} from the access control list?"
msgstr "¿Eliminar {} de la lista de control de acceso?"

#: src/views/repeater_view.py:746
msgid "Add to Access Control"
msgstr "Añadir al control de acceso"

#: src/views/repeater_view.py:747
msgid "Select a contact and role."
msgstr "Selecciona un contacto y un cargo."

#. Role selector
#: src/views/repeater_view.py:757
msgid "Role"
msgstr "Cargo o función"

#: src/views/repeater_view.py:939
msgid "Global (wildcard)"
msgstr "Global (comodín)"

#: src/views/repeater_view.py:942
msgid "Home"
msgstr "Inicio"

#: src/views/repeater_view.py:943
msgid "Flood allowed"
msgstr "Inundación permitida"

#: src/views/repeater_view.py:943
msgid "Flood denied"
msgstr "Inundación denegada"

#: src/views/repeater_view.py:977
msgid "Deny Flood"
msgstr "Rechazar Flood"

#: src/views/repeater_view.py:977
msgid "Allow Flood"
msgstr "Permitir inundación"

#: src/views/repeater_view.py:981
msgid "Set as Home"
msgstr "Establecer como página de inicio"

#: src/views/repeater_view.py:1032
msgid "Remove child regions first"
msgstr "Elimina primero las regiones secundarias"

#: src/views/repeater_view.py:1069
msgid "Unsaved Changes"
msgstr "Cambios sin guardar"

#: src/views/repeater_view.py:1070
msgid "You have unsaved region changes."
msgstr "Tienes cambios en la región sin guardar."

#: src/views/repeater_view.py:1072
msgid "Discard"
msgstr "Descartar"

#: src/views/repeater_view.py:1100
msgid "Add Region"
msgstr "Añadir una región"

#: src/views/repeater_view.py:1101
msgid "Enter a name and optionally choose a parent region."
msgstr "Introduce un nombre y, si lo deseas, selecciona una región principal."

#: src/views/repeater_view.py:1110
msgid "Region Name"
msgstr "Nombre de la región"

#: src/views/repeater_view.py:1118
msgid "Parent"
msgstr "Principal"

#: src/views/repeater_view.py:1301
msgid "Admin password changed — re-login required"
msgstr ""
"La contraseña de administrador ha cambiado; es necesario iniciar sesión de "
"nuevo."

#: src/views/repeater_view.py:1366
#, python-brace-format
msgid "Settings sent to {}"
msgstr "Configuración enviada a {}"

#: src/views/repeater_view.py:1370
msgid "Reboot Repeater?"
msgstr "¿Reiniciar el repetidor?"

#: src/views/repeater_view.py:1371
#, python-brace-format
msgid "Reboot {}? It will be offline briefly."
msgstr "¿Reiniciar {}? Estará fuera de servicio durante unos instantes."

#. positive = behind, negative = ahead
#. more than 5 minutes off
#: src/views/repeater_view.py:1490
msgid "Time is off"
msgstr "La hora no es correcta"

#: src/views/chat_view.py:573 src/views/chat_view.py:574
msgid "Sending"
msgstr "Enviando"

#: src/views/map_view.py:99
msgid "User"
msgstr "Usuario"

#: src/views/map_view.py:178
#, python-brace-format
msgid "{} of {} contacts on map"
msgstr "{} de {} contactos en el mapa"

#: src/views/map_view.py:181
#, python-brace-format
msgid "{} of {} located on map"
msgstr "{} de {} en el mapa"

#: src/views/map_view.py:198
msgid "Rooms"
msgstr "Salas"

#: src/views/map_view.py:227
msgid "Discovered Nodes"
msgstr "Nodos detectados"

#: src/views/map_view.py:437
#, python-brace-format
msgid "and {} more"
msgstr "y {} más"

#: src/views/map_view.py:614
msgid "Position is illustrative — real location unknown"
msgstr "La ubicación es meramente ilustrativa; se desconoce la ubicación real"

#: src/views/map_view.py:623
#, python-brace-format
msgid "SNR: {:.1f} dB"
msgstr "SNR: {:.1f} dB"

#: src/views/map_view.py:972
msgid "Pick Trace Route"
msgstr "Seleccione Traceroute"

#: src/views/map_view.py:1159
msgid "Undo"
msgstr "Deshacer"

#: src/views/map_view.py:1169
msgid "Clear"
msgstr "Borrar"

#: src/views/map_view.py:1177
msgid "Done"
msgstr "Hecho"

#: src/views/map_view.py:1194
msgid "Tap repeaters to build the trace route"
msgstr "Pulsa en los repetidores para trazar la ruta"
