{
  "@@locale": "es",
  "nav.home": "Estado",
  "status.title": "Estado",
  "status.sip.connected": "Registrado",
  "status.sip.connecting": "Conectando…",
  "status.sip.not_configured": "Sin configurar",
  "status.sip.since": "desde hace {duration}",
  "status.sip.at": "en {host} como {user}",
  "status.sip.ext": "Número interno {n}",
  "status.sip.public_ip": "IP pública {ip}",
  "status.sip.nat_symmetric": "⚠️ NAT simétrico — el audio necesita una redirección de puerto RTP idéntica",
  "status.sip.stun": "STUN {server} · NAT: {nat}",
  "status.sip.setup_cta": "Configurar la telefonía",
  "status.sip.redo_cta": "Reconfigurar la telefonía",
  "status.token.set": "Token PhoneBlock configurado",
  "status.token.missing": "Sin token PhoneBlock",
  "status.token.rejected": "Token rechazado",
  "status.token.rejected.msg": "PhoneBlock ha rechazado el token. Por favor, genera un nuevo token mediante la opción «Solicitar uno nuevo».",
  "status.token.cta": "Crear token",
  "status.token.test": "Probar",
  "status.token.renew": "Renovar",
  "status.token.testing": "Comprobando el token…",
  "status.token.test.ok": "Token válido — PhoneBlock accesible.",
  "status.token.test.fail": "Token rechazado. Solicita uno nuevo.",
  "status.token.test.none": "No hay token configurado.",
  "status.counters.total": "Total",
  "status.counters.spam": "Spam bloqueado",
  "status.counters.legit": "Legítimas",
  "status.counters.errors": "Errores",
  "status.info": "Firmware {fw} · IP {ip} · Uptime {uptime} · Latencia API {api}",
  "status.calls.title": "Últimas llamadas",
  "status.calls.empty": "aún sin llamadas",
  "status.calls.col.when": "Cuándo",
  "status.calls.col.number": "Número",
  "status.calls.col.name": "Nombre",
  "status.calls.col.verdict": "Veredicto",
  "status.calls.clear": "Vaciar lista",
  "status.calls.log_known": "Registrar llamadas conocidas",
  "status.calls.log_known.help": "Si está desactivado, las llamadas de números de la agenda y los códigos internos (**, *…) no aparecen en la lista — los contadores de arriba se siguen actualizando.",
  "status.calls.verdict.spam": "SPAM ({direct} directo, {range} rango)",
  "status.calls.verdict.spam_plain": "SPAM",
  "status.calls.verdict.spam_list": "SPAM (lista de bloqueo, {scope})",
  "status.calls.verdict.suspect": "SOSPECHA DE SPAM ({direct} directo, {range} rango)",
  "status.calls.verdict.blacklist": "SPAM (lista negra, {scope})",
  "status.calls.verdict.name_pattern": "SPAM (patrón de nombres)",
  "status.calls.verdict.legitimate": "legítimo",
  "status.calls.verdict.unknown": "desconocido",
  "status.calls.verdict.test": "Prueba",
  "status.calls.verdict.error": "Error",
  "status.calls.verdict.scope.number": "Número",
  "status.calls.verdict.scope.range": "Ámbito",
  "region.title": "Idioma y país",
  "region.lang": "Idioma",
  "region.country": "País",
  "region.country.hint": "A los números de teléfono sin prefijo de país se les añadirá este país. Si el país indicado aquí es incorrecto, PhoneBlock no encontrará ninguna entrada para ninguna llamada. El idioma también se aplica al mensaje de voz del contestador automático y al correo electrónico de estado.",
  "status.thresholds.title": "Traviesas de bloque",
  "status.thresholds.intro": "A partir de cuántos votos «PhoneBlock» el dongle desactiva una llamada. Los votos «Directos» tienen más peso que los votos «De alcance», por eso se indican valores por separado.",
  "status.thresholds.direct": "Votos directos",
  "status.thresholds.direct.help": "Bloquea directamente las llamadas procedentes del número que llama. Valor por defecto: 4 — el mismo valor que la lista de bloqueo pública de PhoneBlock.",
  "status.thresholds.range": "Voces de Range",
  "status.thresholds.range.help": "Votos contra vecinos del mismo bloque de 10 o de 100. Valor predeterminado: 10. «Desactivado» desactiva el bloque de rango; en ese caso, solo cuentan los aciertos directos.",
  "status.thresholds.range.off": "De",
  "status.thresholds.saved": "Guardado.",
  "status.thresholds.invalid": "Valor no válido.",
  "status.system.title": "Sistema",
  "status.system.heap": "Memoria libre: {free} (mínimo: {min}, bloque mayor: {largest})",
  "status.system.fs": "Partición de datos: {free} libres de {total} ({used} usados)",
  "status.system.temp": "Temperatura del chip: {temp} °C",
  "status.system.col.task": "Tarea",
  "status.system.col.cpu": "CPU",
  "status.system.col.stack": "Pila libre",
  "status.system.led_quiet": "Encender el LED solo cuando haya un problema",
  "status.system.led_quiet.hint": "Normalmente el LED permanece encendido cuando todo está bien. Con esta opción se queda apagado en funcionamiento normal y solo se enciende o parpadea cuando hay un problema (configuración necesaria, sin registrar, token rechazado, sin conexión). Útil en el salón.",
  "status.clock.now": "Hora: {time}",
  "status.clock.pending": "Hora: se está sincronizando…",
  "status.time.today": "hoy {time}",
  "status.time.yesterday": "ayer {time}",
  "status.tz.current": "Zona horaria: {tz}",
  "status.tz.apply": "Cambiar a {zone}",
  "status.tz.saved": "Zona horaria guardada.",
  "status.errors.title": "Registro",
  "status.errors.note": "El registro sirve para diagnosticar problemas — no toda entrada es un fallo real; muchos errores son transitorios y desaparecen solos.",
  "status.errors.empty": "sin entradas",
  "status.errors.clear": "Vaciar registro",
  "status.errors.capture_info": "Registrar también los mensajes info",
  "status.errors.capture_info.hint": "Para diagnóstico: muestra también mensajes info (p. ej. el servidor:puerto intentado). Llena el registro rápido; desactívalo después.",
  "status.auth.title": "Protección de acceso",
  "status.auth.intro": "Protege la interfaz de configuración durante el uso diario. Si la activas, la página pedirá un «Inicio de sesión con PhoneBlock» antes de mostrar llamadas o aceptar cambios.",
  "status.auth.disabled": "Protección de acceso desactivada — cualquiera en la LAN puede llegar al panel sin iniciar sesión.",
  "status.auth.enabled": "Protección de acceso activa — sesión iniciada como usuario de PhoneBlock.",
  "status.auth.enabled.user": "Protección de acceso activa — sesión iniciada como {user}.",
  "status.auth.no_token": "La protección de acceso necesita un token PhoneBlock configurado (paso 2 arriba). Solo entonces el dongle puede verificar tu identidad frente al servidor.",
  "status.auth.enable": "Activar protección de acceso",
  "status.auth.disable": "Desactivar protección de acceso",
  "status.auth.logout": "Cerrar sesión",
  "status.auth.activate.intro": "Antes de activarla se te redirige a phoneblock.net para iniciar sesión — la protección solo se activa tras un inicio de sesión correcto. Así no puedes bloquearte fuera.",
  "login.title": "Inicio de sesión necesario",
  "login.intro": "La protección de acceso de este dongle está activa. Haz clic abajo para iniciar sesión con tu cuenta de PhoneBlock — serás redirigido brevemente a phoneblock.net y devuelto automáticamente.",
  "login.button": "Iniciar sesión con PhoneBlock",
  "login.remember": "Mantener la sesión iniciada",
  "login.remember.help": "Coloca una cookie en este dispositivo para que el dongle te reconozca la próxima vez sin pasar por phoneblock.net. Solo se recuerda un navegador a la vez.",
  "login.error.mismatch": "Inicio de sesión fallido — esta cuenta de PhoneBlock no es la propietaria de este dongle.",
  "login.error.mismatch_named": "Inicio de sesión fallido — este dongle pertenece a la cuenta {expected}, pero has iniciado sesión con otro usuario.",
  "login.error.rejected": "Inicio de sesión fallido — el servidor de PhoneBlock no confirmó la identidad.",
  "login.error.expired": "El inicio de sesión ha caducado o no es válido. Inténtalo de nuevo.",
  "login.error.persist": "No se pudo guardar la activación. Inténtalo de nuevo.",
  "login.error.missing": "La respuesta de phoneblock.net estaba incompleta. Inténtalo de nuevo.",
  "login.error.generic": "Inicio de sesión fallido. Inténtalo de nuevo.",
  "status.reset.title": "Restablecimiento",
  "status.reset.intro": "Borra todos los ajustes del dongle (credenciales SIP, token PhoneBlock, historial de errores) y reinicia.",
  "status.reset.button": "Restablecer configuración",
  "status.reset.confirm": "¿Borrar de verdad todos los ajustes del dongle y reiniciar?",
  "status.reset.running": "Restableciendo — el dongle se reinicia.",
  "status.reset.error": "El restablecimiento falló: {msg}",
  "status.fw.title": "Actualizar firmware",
  "status.fw.intro": "Sube un nuevo binario de firmware o comprueba directamente el CDN de PhoneBlock. En ambos casos la nueva versión se escribe en el slot de flash inactivo; tras el reinicio el dongle arranca la nueva versión y revierte automáticamente si falla.",
  "status.fw.current": "Partición activa: {partition} · Versión {version}",
  "status.fw.pick": "Elegir firmware (.bin)",
  "status.fw.submit": "Subir y reiniciar",
  "status.fw.confirm": "¿Instalar el nuevo firmware y reiniciar el dongle?",
  "status.fw.uploading": "Subiendo… {pct} %",
  "status.fw.done": "Firmware subido — el dongle se reinicia. Espera un momento y luego recarga la página.",
  "status.fw.error": "Error: {msg}",
  "status.fw.check": "Buscar actualizaciones",
  "status.fw.checking": "Buscando actualizaciones…",
  "status.fw.check.none": "No hay versión más reciente (actualmente {version}).",
  "status.fw.check.found": "Instalando la nueva versión {version}…",
  "status.fw.check.installed": "Versión {version} instalada — el dongle se reinicia. Espera un momento y luego recarga la página.",
  "status.fw.check.error": "La comprobación falló: {msg}",
  "status.fw.failed": "La última actualización a la versión {version} no superó el arranque — se revirtió automáticamente. La actualización automática omitirá esta versión. Pulsa «Buscar actualizaciones» para volver a intentarlo.",
  "status.fw.auto_update": "Actualización automática diaria",
  "status.fw.auto_update.help": "Si está activada, el dongle comprueba una vez al día si hay una versión más nueva en la CDN de PhoneBlock y la instala automáticamente. Subir un firmware manualmente desactiva esta opción para que la comprobación diaria no sobrescriba tu compilación elegida — vuelve a activarla aquí cuando quieras seguir el flujo de versiones publicadas.",
  "status.fw.channel": "Canal de actualización",
  "status.fw.channel.help": "Elige «Beta» para recibir versiones de prueba con antelación — por ejemplo para verificar un error que has reportado. «Estable» solo entrega versiones publicadas. En cuanto una versión probada se publica definitivamente, vuelves a ella automáticamente.",
  "status.fw.channel.stable": "Estable",
  "status.fw.channel.beta": "Beta (versiones de prueba)",
  "status.fw.crash_report": "Enviar informes de error a phoneblock.net",
  "status.fw.crash_report.help": "Cuando el dongle reinicia tras un fallo de software, se escribe una instantánea de memoria en una partición flash reservada. Con esta opción activada, el dongle sube la instantánea a phoneblock.net en el próximo arranque — esto nos ayuda a localizar y corregir errores en campo. Desactívala para suprimir los envíos; las instantáneas guardadas se borran localmente en lugar de enviarse.",
  "status.mail.title": "Correos de estado",
  "status.mail.intro": "El dongle puede enviarte notificaciones de estado directamente por correo — a través de tu propia cuenta de correo. Introduce las credenciales de tu proveedor; el dongle envía como máximo una notificación al día.",
  "status.mail.host": "Servidor SMTP",
  "status.mail.port": "Puerto (vacío = automático)",
  "status.mail.security": "Cifrado",
  "status.mail.security.tls": "TLS (puerto 465)",
  "status.mail.security.starttls": "STARTTLS (puerto 587)",
  "status.mail.user": "Nombre de usuario (acceso SMTP)",
  "status.mail.pass": "Contraseña",
  "status.mail.pass.keep": "guardada — déjala en blanco para conservarla",
  "status.mail.from": "Remitente (correo, vacío = nombre de usuario)",
  "status.mail.to": "Destinatarios (correo electrónico; separar varios con «;»)",
  "status.mail.help": "Consejo: en Gmail u Outlook normalmente necesitas una «contraseña de aplicación» (si tienes activada la verificación en dos pasos), no tu contraseña habitual. Proveedores clásicos como GMX, web.de o mailbox.org funcionan con nombre de usuario y contraseña.",
  "status.mail.on_error": "Correo en caso de errores y fallos",
  "status.mail.on_error.help": "Envía un correo al día si ha aparecido un error en el registro desde la última notificación — esto incluye un reinicio tras un fallo.",
  "status.mail.on_spam": "Correo cuando se bloquean llamadas spam",
  "status.mail.on_spam.help": "Envía un correo al día si se han bloqueado llamadas spam desde la última notificación.",
  "status.mail.on_update": "Correo electrónico al actualizar el firmware",
  "status.mail.on_update.help": "Envía un correo electrónico una vez que el dongle se haya actualizado a una nueva versión de firmware, con un enlace al registro de cambios.",
  "status.mail.save": "Guardar",
  "status.mail.saved": "Guardado.",
  "status.mail.test": "Enviar correo de prueba",
  "status.mail.testing": "Enviando correo de prueba…",
  "status.mail.test.sent": "Enviando correo de prueba — el resultado aparecerá en el registro.",
  "status.mail.test.fail": "Envío fallido — comprueba los ajustes y el registro.",
  "status.mail.err.host": "Falta el servidor SMTP",
  "status.mail.err.user": "Falta el usuario",
  "status.mail.err.pass": "Falta la contraseña",
  "status.mail.err.to": "Destinatario no válido",
  "status.mail.err.to_many": "Se admiten como máximo {max} destinatarios",
  "status.mail.err.from": "Remitente no válido",
  "status.mail.err.from_user": "Se requiere remitente — el usuario no es una dirección de correo",
  "status.sync.title": "Sincronización de lista de bloqueo",
  "status.sync.intro": "Los números bloqueados desde el terminal («Bloquear número») se envían a la base de PhoneBlock una vez al día y luego se eliminan de la Fritz!Box. El bot luego intercepta esas llamadas para todos los usuarios de PhoneBlock.",
  "status.sync.unavailable": "No disponible — requiere configuración Fritz!Box.",
  "status.sync.never": "Aún no ejecutado.",
  "status.sync.last_ok": "Última ejecución hace {ago}: {n} enviados.",
  "status.sync.last_partial": "Última ejecución hace {ago}: {n} enviados, {f} con error.",
  "status.sync.last_fail": "Última ejecución hace {ago} falló: {err}",
  "status.sync.running": "Sincronización en curso…",
  "status.sync.run_now": "Sincronizar ahora",
  "status.sync.triggered": "Sincronización iniciada.",
  "status.sync.busy": "Sincronización ya en curso.",
  "status.sync.enable": "Activar sincronización",
  "status.sync.disabled": "Sincronización auto desactivada — ejecución manual aún posible.",
  "status.localcache.title": "Caché de lista de bloqueo",
  "status.localcache.intro": "Una vez al día, el dongle descarga la lista de bloqueo común y tu lista negra/blanca personal, y las guarda en la memoria flash interna. Las llamadas entrantes se deciden entonces sin llamadas a la API — más rápido y resistente a problemas de red.",
  "status.localcache.enable": "Usar caché de lista de bloqueo",
  "status.localcache.enable.help": "Descarga la lista de bloqueo en el dongle y decide las llamadas localmente. Desactivado: cada llamada se comprueba directamente con el servidor — más lento y solo posible con una conexión a Internet activa.",
  "status.localcache.disabled": "Desactivado — las llamadas se comprueban directamente con el servidor.",
  "status.localcache.never": "Aún no descargado.",
  "status.localcache.have": "{community} entradas comunes, {personal} personales. Actualizado hace {ago}.",
  "status.localcache.last_fail": "Última descarga hace {ago} falló: {err}",
  "status.localcache.running": "Descarga en curso…",
  "status.localcache.wildcards": "Aplicar comodines",
  "status.localcache.wildcards.help": "Bloquea también rangos de números (p. ej. \"030 12 34 56*\") que la comunidad haya marcado como spam, además de coincidencias exactas. Desactiva para bloquear solo coincidencias exactas.",
  "status.localcache.run_now": "Descargar ahora",
  "status.localcache.triggered": "Descarga iniciada.",
  "status.localcache.busy": "Descarga ya en curso.",
  "status.names.title": "Filtro de nombres",
  "status.names.intro": "Si tu FRITZ!Box encuentra al llamante en una agenda telefónica, te indica también su nombre. Si utilizas una lista de spam de terceros (por ejemplo, de Tellows), todas las entradas tendrán un nombre revelador, que podrás marcar aquí como spam. Lo mismo ocurre con una agenda propia en la que denomines de la misma forma a todas las llamadas no deseadas.",
  "status.names.patterns": "Nombres que indican spam (separados por |)",
  "status.names.help": "Una llamada se considera spam en cuanto el nombre notificado contenga alguno de estos textos; no importa si se escribe en mayúsculas o minúsculas. Ejemplo: «tellows|Score|SPAM». El nombre de la persona que llama aparece en la lista de llamadas recientes. Si lo dejas en blanco, se desactiva el filtro de nombres.",
  "status.names.save": "Guardar filtro de nombres",
  "status.names.saved": "Filtro de nombres guardado.",
  "status.names.failed": "Error al guardar.",
  "status.names.err.many": "Se admiten como máximo {max} nombres.",
  "status.names.err.long": "Un nombre puede tener una longitud máxima de {max} caracteres.",
  "status.ann.title": "Mensaje anti-spam",
  "status.ann.default": "Mensaje predeterminado integrado ({kb} KB).",
  "status.ann.custom": "Mensaje personalizado ({kb} KB).",
  "status.ann.play": "Escuchar mensaje actual",
  "status.ann.stop": "Detener",
  "status.ann.upload.label": "Subir uno propio (WAV/MP3/OGG, máx. {s} s)",
  "status.ann.upload.pick": "Elegir archivo",
  "status.ann.upload.submit": "Subir",
  "status.ann.upload.converting": "Convirtiendo…",
  "status.ann.upload.uploading": "Enviando…",
  "status.ann.upload.done": "Guardado ({kb} KB).",
  "status.ann.upload.error": "Error: {msg}",
  "status.ann.upload.toolong": "Demasiado largo — máximo {s} segundos.",
  "status.ann.upload.decode_fail": "No se pudo decodificar el archivo.",
  "status.ann.reset.button": "Restablecer al predeterminado",
  "status.ann.reset.confirm": "¿Descartar realmente el mensaje personalizado?",
  "status.ann.accept_test": "Aceptar llamadas de prueba locales",
  "status.ann.accept_test.help": "Si está activado, el dongle responde a las llamadas a códigos internos del Fritz!Box (**622, *21#, …) como spam — con el anuncio y colgando. Permite probar el flujo completo desde otro teléfono interno sin denunciar un número real a PhoneBlock.",
  "hero.title": "Configuración",
  "hero.intro": "Dos pasos y el dongle bloqueará llamadas spam automáticamente. Ambos deben completarse para que el dispositivo esté listo.",
  "hero.step1.todo": "Registra el dongle en tu sistema telefónico",
  "hero.step1.done": "Telefonía configurada",
  "hero.step2.todo": "Conecta con PhoneBlock — para que el dongle sepa qué es spam",
  "hero.step2.done": "Conectado con PhoneBlock",
  "hero.cta.sip": "Configurar la telefonía",
  "hero.cta.token": "Conectar PhoneBlock",
  "sip.entry.title": "Configurar la telefonía",
  "sip.entry.intro": "Elige cómo se registra el dongle en tu sistema telefónico.",
  "sip.entry.fritzbox": "Fritz!Box (recomendado)",
  "sip.entry.fritzbox.desc": "Configuración automática. El dongle se registra solo como teléfono IP.",
  "sip.entry.provider": "Otro proveedor",
  "sip.entry.provider.desc": "Registrarse directamente con Telekom, Vodafone, 1&1, sipgate o easybell.",
  "sip.entry.manual": "Manual (experto)",
  "sip.entry.manual.desc": "Rellena tú mismo todos los campos SIP.",
  "sip.fb.title": "Configuración Fritz!Box",
  "sip.fb.intro": "Introduce una vez la contraseña de administración de la Fritz!Box. No se guarda.",
  "sip.fb.host": "Fritz!Box (host o IP)",
  "sip.fb.user": "Usuario",
  "sip.fb.user.hint": "(dejar vacío → usuario por defecto de la Fritz!Box)",
  "sip.fb.pass": "Contraseña",
  "sip.fb.submit": "Crear extensión",
  "sip.fb.working": "Creando la extensión (~2–5 s)…",
  "sip.fb.done": "Extensión creada — iniciando el registro.",
  "sip.fb.done.withnum": "Extensión creada (número interno {n}) — iniciando el registro.",
  "sip.fb.error": "Error: {msg}",
  "sip.fb.2fa.title": "Confirmación de dos factores",
  "sip.fb.2fa.button": "pulsar cualquier botón de la Fritz!Box",
  "sip.fb.2fa.dtmf": "marcar {seq} en un teléfono conectado",
  "sip.fb.2fa.instructions": "Ahora {hints}, por favor.",
  "sip.fb.2fa.cancelled": "2FA cancelada.",
  "sip.fb.2fa.timeout": "Tiempo agotado. Inténtalo de nuevo.",
  "sip.prov.title": "Elegir proveedor",
  "sip.prov.intro": "Elige tu proveedor; las credenciales están en su portal de cliente. Si tu proveedor no aparece, usa la configuración manual.",
  "sip.prov.provider": "Proveedor",
  "sip.prov.user": "Usuario SIP / número",
  "sip.prov.pass": "Contraseña",
  "sip.prov.submit": "Guardar credenciales",
  "sip.prov.done": "Guardado. Iniciando el registro.",
  "sip.prov.error": "Error: {msg}",
  "sip.manual.title": "Configuración manual",
  "sip.manual.intro": "Todos los campos SIP. Dejar la contraseña vacía significa «sin cambios».",
  "sip.manual.host": "Registrar SIP",
  "sip.manual.port": "Puerto SIP",
  "sip.manual.port.hint": "Déjelo en blanco para usar DNS-SRV o el valor predeterminado del transporte (5060 UDP/TCP, 5061 TLS).",
  "sip.manual.user": "Usuario SIP",
  "sip.manual.pass": "Contraseña SIP",
  "sip.manual.pass.hint": "Dejar en blanco = conservar la contraseña guardada.",
  "sip.manual.anon": "Registrarse sin contraseña (anónimo)",
  "sip.manual.anon.hint": "Elimina cualquier contraseña guardada y se registra sin ella, p. ej. anonymous@t-online.de en Telekom.",
  "sip.manual.submit": "Guardar",
  "sip.manual.done": "Guardado.",
  "sip.manual.error": "Error: {msg}",
  "sip.manual.advanced": "Parámetros avanzados",
  "sip.manual.transport": "Transporte",
  "sip.manual.transport.hint": "Puede elegir UDP, TCP o TLS. TLS cifra la conexión y se recomienda si el proveedor lo admite. El audio de voz todavía no está cifrado.",
  "sip.manual.auth_user": "Usuario de auth",
  "sip.manual.auth_user.hint": "Vacío = usar el usuario SIP para auth. Telekom: correo electrónico.",
  "sip.manual.outbound": "Proxy saliente",
  "sip.manual.outbound.hint": "Opcional, formato host[:puerto]. Vacío = registrar directamente.",
  "sip.manual.realm": "Realm",
  "sip.manual.realm.hint": "Vacío = tomarlo del challenge del servidor.",
  "sip.manual.stun": "Servidor STUN",
  "sip.manual.stun.hint": "Opcional, formato host[:puerto]. Detecta el puerto RTP público al registrarse directamente con el proveedor. Vacío = desactivado. Lo define el preajuste del proveedor (Telekom: stun.t-online.de:3478).",
  "sip.manual.srtp": "SRTP",
  "sip.manual.srtp.hint": "El SRTP se negocia automáticamente: el audio se cifra cuando el proveedor lo ofrece (p. ej. Telekom); de lo contrario, RTP sin cifrar (p. ej. la Fritz!Box en la LAN).",
  "sip.manual.local_port": "Puerto SIP local",
  "sip.manual.local_port.hint": "Puerto en el que el dongle recibe SIP (predeterminado 15060). Vacío = predeterminado.",
  "sip.manual.rtp_port": "Puerto RTP (audio)",
  "sip.manual.rtp_port.hint": "Puerto del canal de voz (predeterminado 16000). Vacío = predeterminado.",
  "sip.manual.fwd.title": "Reenvío de puertos para registro directo con el proveedor",
  "sip.manual.fwd.body": "Si el dongle se registra directamente con el proveedor (en lugar de a través de un router VoIP) y este solo admite UDP, añade en tu router un reenvío UDP al dongle para cada uno, con el mismo puerto (puerto externo = puerto interno): {sip} (SIP) y {rtp} (RTP). El dongle detecta su IP pública automáticamente (se muestra en el estado de arriba); no es necesario introducirla. Esto solo funciona con una IPv4 pública real (dedicada) — no con DS-Lite/CGNAT (IPv4 compartida), donde no es posible ningún reenvío; entonces solo ayuda TCP/TLS, si el proveedor lo admite.",
  "sip.manual.srtp.off": "desactivado",
  "sip.manual.srtp.optional": "opcional",
  "sip.manual.srtp.mandatory": "obligatorio",
  "token.title": "Conectar PhoneBlock",
  "token.intro": "El dongle consulta la base de PhoneBlock en cada llamada entrante. Para ello necesita un token.",
  "token.how": "Al pulsar el botón de abajo irás a phoneblock.net para iniciar sesión una sola vez (Google, Facebook o cuenta). Después vuelves aquí con el token configurado.",
  "token.current.set": "Ya hay un token configurado. Iniciar sesión de nuevo generará uno nuevo.",
  "token.current.missing": "Aún no hay token configurado.",
  "token.submit": "Entrar en PhoneBlock",
  "back.status": "← volver al estado",
  "back.sip": "← volver a la elección",
  "i18n.loading": "Cargando la traducción…",
  "i18n.unavailable": "Traducción no disponible: se muestra el idioma predeterminado.",
  "status.calls.add_contact": "Añadir a la agenda de la Fritz!Box",
  "status.phonebook.title": "Agenda telefónica para nuevos contactos",
  "status.phonebook.intro": "Las llamadas de personas que la Fritz!Box no reconoce aparecen en el historial sin nombre. Con el botón «+» que hay junto a ellas, puedes añadirlas como contacto en la Fritz!Box; a partir de ese momento, el teléfono mostrará el nombre y el dongle dejará de consultar a PhoneBlock sobre ese número.",
  "status.phonebook.current": "Los nuevos contactos se guardan en «{name}».",
  "status.phonebook.unset": "Aún no se ha establecido; se solicitará al crearlo por primera vez.",
  "status.phonebook.change": "Modificar",
  "status.phonebook.unavailable": "No disponible — solo se puede utilizar con la configuración de Fritz!Box.",
  "status.phonebook.saved": "Guardado.",
  "pb.dialog.title": "Crear un contacto en el Fritz!Box",
  "pb.dialog.intro": "La próxima vez que llames, el teléfono mostrará el nombre en lugar del número. El contacto permanecerá en tu Fritz!Box; no se transferirá a PhoneBlock.",
  "pb.dialog.name": "Nombre",
  "pb.dialog.type": "Tipo de número",
  "pb.dialog.type.home": "Particular",
  "pb.dialog.type.mobile": "Móvil",
  "pb.dialog.type.work": "Por motivos de trabajo",
  "pb.dialog.type.fax_home": "Fax particular",
  "pb.dialog.type.fax_work": "Fax de la empresa",
  "pb.dialog.vip": "Persona importante (VIP)",
  "pb.dialog.book": "Agenda telefónica",
  "pb.dialog.book.readonly": "{name} (sincronizado — no se puede escribir)",
  "pb.dialog.pick": "¿En qué agenda se debe guardar el contacto?",
  "pb.dialog.none_writable": "No se ha encontrado ninguna agenda en la que se pueda escribir.",
  "pb.dialog.save": "Crear",
  "pb.dialog.cancel": "Cancelar",
  "pb.dialog.working": "Se está creando…",
  "pb.dialog.done": "Se ha creado un contacto.",
  "pb.dialog.error.name": "Introduce un nombre, por favor.",
  "pb.dialog.error.number": "Este número no se puede guardar como contacto.",
  "pb.dialog.error.not_writable": "Esta agenda está sincronizada y no se puede escribir en ella. Por favor, elige otra.",
  "pb.dialog.error.no_fritzbox": "Solo es posible con la configuración de Fritz!Box.",
  "pb.dialog.error.unreachable": "El Fritz!Box no responde.",
  "pb.dialog.error.generic": "Error: {msg}",
  "status.calls.add_contact.help": "Añadir la persona que llama como contacto en la agenda de la Fritz!Box",
  "status.calls.report_spam": "Correo basura",
  "status.calls.report_spam.help": "Denunciar este número como spam en PhoneBlock",
  "status.calls.whitelist": "Lista blanca",
  "status.calls.whitelist.help": "Dejar de bloquear este número",
  "whitelist.dialog.title": "Añadir un número a la lista blanca",
  "whitelist.dialog.intro": "Las llamadas procedentes de este número ya no se bloquearán. Al hacerlo, consideras que el número es legítimo en PhoneBlock; esta valoración se asociará a tu cuenta.",
  "whitelist.dialog.submit": "Dejar de bloquear",
  "whitelist.dialog.working": "Se está transmitiendo…",
  "whitelist.dialog.done": "Ya está hecho: el número está en tu lista blanca.",
  "spam.dialog.title": "Denunciar este número como spam",
  "spam.dialog.intro": "Tu valoración es importante para todos los usuarios de PhoneBlock y se asignará a tu cuenta. No se puede anular a través del dongle; solo se puede hacer en phoneblock.net.",
  "spam.dialog.rating": "Tipo de llamada",
  "spam.dialog.rating.B_MISSED": "Desconocido",
  "spam.dialog.rating.C_PING": "Llamada Ping",
  "spam.dialog.rating.D_POLL": "Encuesta",
  "spam.dialog.rating.E_ADVERTISING": "Publicidad",
  "spam.dialog.rating.F_GAMBLE": "Sorteo",
  "spam.dialog.rating.G_FRAUD": "Estafa",
  "spam.dialog.submit": "Notificar",
  "spam.dialog.working": "Se va a notificar…",
  "spam.dialog.done": "Gracias — Se ha enviado la valoración.",
  "spam.dialog.error.no_token": "Para valorar es necesario tener una cuenta de PhoneBlock.",
  "pb.dialog.error.moved": "La agenda seleccionada ya no existe. Selecciona otra.",
  "spam.dialog.comment": "Motivo",
  "spam.dialog.comment.hint": "(opcional, será visible públicamente)",
  "spam.dialog.error.is_contact": "Esta persona figura en tu agenda. Una entrada de la agenda siempre tiene prioridad en el dongle, por lo que en este caso no es posible recibir un aviso de spam.",
  "status.system.lcd_flip": "Pantalla al revés (girar 180°)",
  "status.system.lcd_flip.hint": "Dependiendo de la orientación del puerto USB de tu Fritz!Box, el dispositivo estará colocado al revés. Gira la imagen 180°."
}
