Files
securebit-chat/locales/es.json
T

887 lines
53 KiB
JSON
Raw Normal View History

{
"htmlLang": "es",
"ogLocale": "es_ES",
"dir": "ltr",
"nativeName": "Español",
"abbr": "ES",
"meta": {
"title": "SecureBit.chat - Mensajería privada y cifrada",
"description": "SecureBit.chat es un mensajero entre pares, gratuito y cifrado de extremo a extremo, que funciona por completo en tu navegador. Sin cuentas y sin servidores que guarden tus mensajes: ECDH P-384, AES-256-GCM y verificación SAS en persona.",
"keywords": "mensajería cifrada, cifrado de extremo a extremo, chat entre pares, mensajero P2P, ECDH, DTLS, verificación SAS, WebRTC, chat privado, chat seguro, sin servidores, sin cuentas, protección MITM, PFS",
"ogTitle": "SecureBit.chat - Chat entre pares cifrado de extremo a extremo",
"ogDescription": "Un mensajero seguro que funciona por completo en tu navegador. Sin cuentas y sin servidores que guarden tus mensajes. Usa tus propios servidores STUN/TURN: no te imponemos nada.",
"ogImageAlt": "SecureBit.chat - chat entre pares cifrado de extremo a extremo",
"twitterTitle": "SecureBit.chat - Chat entre pares cifrado de extremo a extremo",
"twitterDescription": "Un mensajero seguro que funciona por completo en tu navegador. Sin cuentas y sin servidores que guarden tus mensajes.",
"twitterImageAlt": "SecureBit.chat - chat entre pares cifrado de extremo a extremo"
},
"schema": {
"siteDescription": "Chat entre pares cifrado de extremo a extremo que funciona por completo en el navegador.",
"appDescription": "Un mensajero entre pares, gratuito y cifrado de extremo a extremo. Sin cuentas y sin servidores que guarden mensajes: ECDH P-384, AES-256-GCM y verificación SAS en persona.",
"operatingSystem": "Cualquiera (navegador web moderno)",
"browserRequirements": "Requiere WebRTC y la API Web Crypto",
"featureList": [
"Cifrado de extremo a extremo (ECDH P-384, AES-256-GCM)",
"Conexión entre pares por WebRTC, sin servidores de mensajes",
"Verificación SAS en persona frente a ataques de intermediario",
"Servidores STUN/TURN propios y modo de privacidad solo con relay",
"Transferencia de archivos cifrada",
"Aplicación web progresiva instalable, con soporte sin conexión"
]
},
"manifest": {
"name": "SecureBit.chat - Mensajería privada y cifrada",
"short_name": "SecureBit",
"description": "Mensajero P2P con seguridad ECDH, DTLS y SAS, y criptografía de grado militar"
},
"ui": {
"language.label": "Idioma",
"language.suggest.text": "Esta página también está disponible en español.",
"language.suggest.cta": "Leer en español",
"language.suggest.dismiss": "Cerrar",
"community.title": "Construye el futuro de la privacidad",
"community.description": "SecureBit crece gracias a su comunidad. Tus ideas y comentarios dan forma al futuro de la comunicación segura, desarrollada de forma abierta y con validación ASN.1 completa de extremo a extremo.",
"community.github": "Repositorio en GitHub",
"community.feedback": "Comentarios",
"unique.eyebrow": "Lo que nos distingue",
"unique.heading": "Por qué SecureBit es único",
"unique.s1.titleTop": "Núcleo de cifrado",
"unique.s1.titleBottom": "por capas",
"unique.s1.collapsed": "Núcleo de cifrado",
"unique.s1.desc": "Intercambio de claves ECDH P-384, carga útil AES-256-GCM, firmas ECDSA y validación ASN.1 completa, reunidos en una sola cadena reforzada.",
"unique.s1.tags": [
"ECDH P-384",
"AES-256-GCM",
"ECDSA",
"ASN.1"
],
"unique.s2.titleTop": "P2P puro",
"unique.s2.titleBottom": "sobre WebRTC",
"unique.s2.collapsed": "P2P puro sobre WebRTC",
"unique.s2.desc": "Los mensajes viajan directamente entre dispositivos por WebRTC. Ningún relay retiene tus datos: el servidor solo ayuda a que dos pares se encuentren.",
"unique.s2.tags": [
"DTLS 1.3",
"Sin relay"
],
"unique.s3.titleTop": "Secreto perfecto",
"unique.s3.titleBottom": "hacia adelante",
"unique.s3.collapsed": "Secreto hacia adelante",
"unique.s3.desc": "Las claves de sesión rotan continuamente y se descartan tras usarse, de modo que una clave comprometida nunca abre las conversaciones anteriores.",
"unique.s3.tags": [
"Claves efímeras",
"Rotación automática"
],
"unique.s4.titleTop": "Ofuscación",
"unique.s4.titleBottom": "del tráfico",
"unique.s4.collapsed": "Ofuscación del tráfico",
"unique.s4.desc": "Los tamaños de paquete y los tiempos se rellenan y se aleatorizan, ocultando los patrones de metadatos a quien observe la línea.",
"unique.s4.tags": [
"Relleno de paquetes",
"Variación de tiempos"
],
"unique.s5.titleTop": "Cero recogida",
"unique.s5.titleBottom": "de datos",
"unique.s5.collapsed": "Cero recogida de datos",
"unique.s5.desc": "Sin cuentas, sin registros, sin mensajes almacenados. No hay nada en un servidor que filtrar, requisar o vender.",
"unique.s5.tags": [
"Sin cuentas",
"Sin registros"
],
"partners.eyebrow": "Socios y ecosistema",
"partners.heading": "Nuestros socios confían en nosotros",
"partners.aegis.desc": "Socio de capital que protege las comunicaciones financieras confidenciales de toda su cartera.",
"partners.aegis.role": "Inversor estratégico",
"partners.furilabs.desc": "Teléfonos Linux centrados en la privacidad que incluyen SecureBit como canal seguro por defecto.",
"partners.furilabs.role": "Socio tecnológico",
"partners.inviteTitle": "Conviértete en socio",
"partners.inviteDesc": "¿Construyes hardware o infraestructura para la privacidad? Integremos SecureBit.",
"partners.inviteCta": "Iniciar una conversación",
"roadmap.eyebrow": "Hoja de ruta",
"roadmap.heading": "La evolución de SecureBit",
"roadmap.subheading": "Del primer prototipo a una red descentralizada y resistente a la computación cuántica, con validación ASN.1 completa en cada capa.",
"roadmap.progress": "{shipped} de {total} hitos completados",
"roadmap.upcoming": "{upcoming} en camino",
"roadmap.keyFeatures": "Funciones clave",
"roadmap.status.released": "Publicado",
"roadmap.status.current": "Actual",
"roadmap.status.dev": "En desarrollo",
"roadmap.status.planned": "Planificado",
"roadmap.status.research": "Investigación",
"hero.headlineTop": "Una línea directa",
"hero.headlineBottom": "que solo leéis vosotros dos.",
"hero.subheading": "Las claves se generan en tu dispositivo y se intercambian directamente entre pares. Sin cuentas y sin servidores que guarden tus mensajes.",
"hero.diagramAlt": "Una línea cifrada directa hacia un par, a la que se suman otros dos pares",
"intro.createTitle": "Crear un canal nuevo",
"intro.createDesc": "Tu dispositivo genera las claves y una invitación de un solo uso. Nada de esto pasa por un servidor.",
"intro.createCta": "Generar claves e invitación",
"intro.joinTitle": "Unirse a un canal",
"intro.scanTitle": "Escanear el QR con la cámara",
"intro.scanSubtitle": "Lo más rápido: apunta a la pantalla de la otra persona",
"intro.orPasteCode": "o pega el código",
"intro.pastePlaceholder": "Pega aquí el código de invitación…",
"intro.connect": "Conectar",
"intro.connecting": "Procesando…",
"roadmap.r1.title": "Inicio del desarrollo",
"roadmap.r1.sub": "Idea, prototipo y montaje de la infraestructura",
"roadmap.r1.date": "Principios de 2025",
"roadmap.r1.features": [
"Definición del concepto y los requisitos",
"Elección del stack: WebRTC, P2P, criptografía",
"Primeros prototipos de mensajería",
"Creación del repositorio y CI",
"Arquitectura básica de cifrado",
"Diseño de UX/UI"
],
"roadmap.r2.title": "Versión alfa",
"roadmap.r2.sub": "Primera alfa pública: chat básico e intercambio de claves",
"roadmap.r2.date": "Primavera de 2025",
"roadmap.r2.features": [
"Mensajería P2P básica por WebRTC",
"Cifrado de extremo a extremo sencillo (esquema de demostración)",
"Señalización y reconexión estables",
"Interfaz mínima para pruebas",
"Recogida de comentarios de los primeros probadores"
],
"roadmap.r3.title": "Seguridad reforzada",
"roadmap.r3.sub": "Refuerzo de la seguridad y publicación de la rama estable",
"roadmap.r3.date": "Verano de 2025",
"roadmap.r3.features": [
"ECDH/ECDSA en producción",
"Secreto hacia adelante y rotación de claves",
"Comprobaciones de autenticación mejoradas",
"Cifrado de archivos y envío de cargas grandes",
"Auditoría de los procesos criptográficos básicos"
],
"roadmap.r4.title": "Escala y estabilidad",
"roadmap.r4.sub": "Escalado de la red y mejoras de estabilidad",
"roadmap.r4.date": "Otoño de 2025",
"roadmap.r4.features": [
"Optimización de las conexiones P2P y del NAT traversal",
"Mecanismos de reconexión y colas de mensajes",
"Menor consumo de batería en el móvil",
"Sincronización entre varios dispositivos",
"Herramientas de monitorización y registro para desarrolladores"
],
"roadmap.r5.title": "La privacidad primero",
"roadmap.r5.sub": "Foco en la privacidad: reducir los metadatos",
"roadmap.r5.date": "Invierno de 2025",
"roadmap.r5.features": [
"Protección de metadatos y menos huella identificable",
"Experimentos con enrutamiento cebolla y DHT",
"Opciones de conexión anónima",
"Preparación de la auditoría de código abierto",
"Mejora de la verificación entre usuarios"
],
"roadmap.r6.title": "Enhanced Security Edition",
"roadmap.r6.sub": "Criptografía de grado militar en 18 capas con validación ASN.1 completa",
"roadmap.r6.date": "Finales de 2025",
"roadmap.r6.features": [
"Triple capa de seguridad: ECDH + DTLS + SAS",
"Cifrado ECDH P-384 y AES-GCM de 256 bits",
"Verificación de la huella DTLS",
"Verificación SAS (cadena corta de autenticación)",
"Secreto hacia adelante con rotación de claves",
"Mayor protección frente a ataques de intermediario",
"Validación ASN.1 DER completa",
"Verificación de OID y de puntos EC",
"Validación de la estructura SPKI",
"Arquitectura P2P sobre WebRTC",
"Protección de metadatos",
"Código 100 % abierto"
],
"roadmap.r7.title": "Desktop Edition",
"roadmap.r7.sub": "Aplicaciones nativas de escritorio para Windows, macOS y Linux",
"roadmap.r7.date": "Principios de 2026",
"roadmap.r7.features": [
"Aplicación de escritorio para Windows (Tauri v2)",
"Aplicación de escritorio para macOS (Tauri v2)",
"AppImage para Linux (Tauri v2)",
"Notificaciones en tiempo real",
"Reconexión automática",
"Sincronización entre dispositivos",
"Interfaz renovada",
"Archivos de hasta 100 MB"
],
"roadmap.r8.title": "Voz y llamadas seguras",
"roadmap.r8.sub": "Mensajes de voz, llamadas de audio y de vídeo cifrados",
"roadmap.r8.date": "Principios de 2026",
"roadmap.r8.features": [
"Mensajes de voz cifrados de extremo a extremo",
"Llamadas de audio cifradas uno a uno (WebRTC)",
"Llamadas de vídeo cifradas uno a uno (WebRTC)",
"Secreto hacia adelante para el medio en directo",
"Flujos de medios protegidos con SRTP/DTLS",
"Verificación SAS durante la llamada",
"Avisos de llamada y reconexión automática",
"Medios P2P de baja latencia"
],
"roadmap.r9.title": "Comunicación en grupo",
"roadmap.r9.sub": "Chats de grupo sin renunciar a la privacidad",
"roadmap.r9.date": "Ahora",
"roadmap.r9.features": [
"Chats de grupo P2P de hasta 8 participantes",
"Entrega en malla con relay firmado como alternativa",
"Un único código de seguridad del grupo, comparado por todos",
"Ceremonia de compromiso y revelación contra el tanteo de códigos",
"Claves de identidad propias del grupo, efímeras por diseño",
"Membresía firmada con orden por épocas",
"Mensajes firmados: una transcripción divergente queda demostrada",
"Sin servidor, sin clave de grupo compartida, sin historial"
],
"roadmap.r10.title": "Mobile Edition",
"roadmap.r10.sub": "Aplicaciones nativas para iOS y Android",
"roadmap.r10.date": "2.º trimestre de 2027",
"roadmap.r10.features": [
"Aplicación nativa de iOS (Swift/SwiftUI)",
"Aplicación nativa de Android (Kotlin/Jetpack Compose)",
"Soporte PWA en navegadores móviles",
"Notificaciones push en tiempo real",
"Optimización de la batería",
"Interfaz optimizada para el móvil",
"Cola de mensajes sin conexión",
"Autenticación biométrica"
],
"roadmap.r11.title": "Edición resistente a la computación cuántica",
"roadmap.r11.sub": "Protección frente a los ordenadores cuánticos",
"roadmap.r11.date": "4.º trimestre de 2027",
"roadmap.r11.features": [
"Criptografía poscuántica CRYSTALS-Kyber",
"Firmas digitales SPHINCS+",
"Esquema híbrido: clásico y poscuántico",
"Intercambio de claves seguro frente a lo cuántico",
"Algoritmos de hash actualizados",
"Migración de las sesiones existentes",
"Compatibilidad con la v5.x",
"Protocolos resistentes a lo cuántico"
],
"roadmap.r12.title": "Red descentralizada",
"roadmap.r12.sub": "Red completamente descentralizada",
"roadmap.r12.date": "2028",
"roadmap.r12.features": [
"Red en malla de nodos",
"DHT para descubrir pares",
"Enrutamiento cebolla integrado",
"Tokenómica e incentivos para los nodos",
"Gobernanza mediante DAO",
"Interoperabilidad con otras redes",
"Compatibilidad multiplataforma",
"Red que se repara sola"
],
"roadmap.r13.title": "Asistente de privacidad con IA",
"roadmap.r13.sub": "IA para la privacidad y la seguridad",
"roadmap.r13.date": "2028+",
"roadmap.r13.features": [
"Análisis local de amenazas con IA",
"Detección automática de intermediarios",
"Criptografía adaptativa",
"Recomendaciones de seguridad personalizadas",
"Aprendizaje automático de conocimiento cero",
"Asistente de IA privado",
"Seguridad predictiva",
"Protección autónoma frente a ataques"
],
"handshake.step1": "Generando el par de claves ECDH P-384",
"handshake.step2": "Derivando el código de verificación",
"handshake.step3": "Fijando el secreto hacia adelante",
"handshake.securingTitle": "Asegurando tu canal",
"handshake.answerTitle": "Preparando tu respuesta",
"handshake.securingDesc": "Creando claves lo bastante fuertes para resistir manipulaciones.",
"handshake.shareTitle": "Comparte tu invitación",
"handshake.sendAnswerTitle": "Devuelve tu respuesta",
"handshake.shareDesc": "Muestra el QR o envía el código a la otra persona. Es de un solo uso y caduca pronto.",
"handshake.sendAnswerDesc": "Entrega esta respuesta a quien creó el canal para que complete el saludo.",
"handshake.establish": "Establecer la conexión",
"handshake.thenReceive": "Después recibe la respuesta que te devuelva la otra persona",
"handshake.pasteAnswerPlaceholder": "Pega aquí el código de respuesta…",
"handshake.answerSentNote": "Envía esta respuesta a quien creó el canal y espera: el chat se abrirá cuando conecte.",
"handshake.qrHint": "Mantén esto abierto hasta que la otra persona capture el código.",
"handshake.qrHintFrames": "El saludo se reparte en {frames} imágenes: mantén esto abierto hasta que las capture todas.",
"verify.title": "Verificación de seguridad",
"verify.desc": "Compara este código de seguridad con la otra persona por otra vía (voz o en persona) y escríbelo para desbloquear el chat.",
"verify.enterLabel": "Introduce el código verificado",
"verify.placeholder": "Escribe el código aquí",
"verify.confirm": "Confirmar el código",
"verify.confirmed": "Confirmado",
"verify.mismatch": "No coinciden",
"verify.yours": "Tu confirmación",
"verify.peer": "Confirmación de la otra persona",
"verify.pending": "Pendiente",
"verify.waiting": "Esperando el código…",
"verify.verified": "Canal verificado",
"verify.bothConfirmed": "Ambas partes han confirmado. Abriendo el chat seguro…",
"pwa.bannerTitle": "Instala SecureBit.chat",
"pwa.bannerDesc": "Disfruta de la experiencia de app nativa con más seguridad",
"pwa.install": "Instalar",
"pwa.dismiss": "Descartar",
"pwa.close": "Cerrar",
"pwa.iosTitle": "Instalar en iOS",
"pwa.iosStep1": "Toca el botón Compartir",
"pwa.iosStep1Hint": "Suele estar en la parte inferior de Safari",
"pwa.iosStep2": "Busca «Añadir a pantalla de inicio»",
"pwa.iosStep2Hint": "Desplázate hacia abajo en el menú de compartir",
"pwa.iosStep3": "Toca «Añadir»",
"pwa.iosStep3Hint": "Confirma para instalar SecureBit.chat",
"pwa.genericTitle": "Instalar SecureBit",
"pwa.genericDesc": "Cada navegador instala a su manera. Elige los pasos que coincidan con el tuyo.",
"pwa.gotIt": "Entendido",
"pwa.installedTitle": "¡App instalada!",
"pwa.installedIos": "¡App de iOS instalada! Ábrela desde la pantalla de inicio.",
"pwa.installedGeneric": "SecureBit.chat ya está en tu dispositivo",
"pwa.anytimeTitle": "Instálalo cuando quieras",
"pwa.anytimeDesc": "Puedes instalar SecureBit.chat desde el menú de tu navegador cuando quieras, para la mejor experiencia.",
"pwa.ok": "Aceptar",
"step.open": "Paso 1 · abrir un canal",
"step.exchange": "Paso 2 · intercambio",
"step.verification": "Paso 3 · verificación",
"action.create": "Crear",
"action.join": "Unirse",
"action.back": "Atrás",
"action.copy": "Copiar",
"action.copied": "Copiado",
"action.scan": "Escanear",
"action.downloadDesktop": "Descargar la app de escritorio",
"action.advancedSettings": "Ajustes avanzados",
"cred.offerTag": "oferta · o copia el texto",
"cred.answerTag": "respuesta · o copia el texto",
"cred.reveal": "Haz clic para mostrarlo: mantén este código en privado",
"qr.title": "Escanear código QR",
"qr.subtitle": "Apunta la cámara a su código QR",
"qr.scanning": "Escaneando…",
"qr.hint": "Mantén el pulso hasta capturar todas las partes. La cámara se usa en local: no se sube nada.",
"mesh.you": "tú",
"mesh.peer": "par · sesión 1",
"mesh.joined2": "lucía se ha unido · +2",
"mesh.joined3": "mateo se ha unido · +3",
"ice.title": "Ajustes de red",
"ice.subtitle": "Se configura en local: nunca se comparte con la otra persona",
"ice.intro": "SecureBit usa servidores STUN públicos por defecto para negociar el enlace entre pares. Si tienes los tuyos, apúntalo a tu STUN/TURN.",
"ice.publicTitle": "Servidores públicos (por defecto)",
"ice.publicDesc": "Sin configuración. Suficiente para la mayoría.",
"ice.customTitle": "Mis propios servidores STUN/TURN",
"ice.customDesc": "Hasta {max} servidores.",
"ice.turnNote": "Un relay TURN ve la IP de ambas partes y el ritmo del tráfico, pero nunca el contenido, que sigue cifrado de extremo a extremo. Es preferible ",
"ice.turnNoteTls": " (TLS).",
"ice.test": "Probar los servidores",
"ice.testing": "Probando…",
"ice.relayTitle": "Modo solo relay",
"ice.relayBadge": "MÁXIMA PRIVACIDAD",
"ice.relayDesc": "Envía todo el tráfico por TURN, así la otra persona nunca ve tu IP. Necesita un servidor TURN.",
"ice.relayWarning": "El modo solo relay está activado pero no hay ningún servidor TURN configurado. La conexión no podrá iniciarse.",
"ice.persist": "Guardar en este dispositivo",
"ice.persistDesc": "Se guarda cifrado en este navegador. Déjalo apagado para usarlo solo en esta sesión.",
"ice.forget": "Olvidar lo guardado",
"ice.cancel": "Cancelar",
"ice.apply": "Aplicar",
"ice.errUnavailable": "WebRTC no está disponible en este navegador",
"ice.errInvalid": "Configuración de servidor no válida",
"update.title": "Actualización disponible",
"update.desc": "Se ha detectado una versión más reciente de SecureBit.",
"update.currentVersion": "Versión actual",
"update.newVersion": "Versión nueva",
"update.now": "Actualizar ahora",
"update.later": "Más tarde",
"update.unknown": "N/D",
"update.stepSaving": "Guardando los datos…",
"update.stepSwCaches": "Vaciando las cachés del Service Worker…",
"update.stepSwUnregister": "Dando de baja los Service Workers…",
"update.stepBrowserCache": "Vaciando la caché del navegador…",
"update.stepVersion": "Actualizando la versión…",
"update.stepReload": "Recargando la aplicación…",
"update.error": "Error al actualizar. Recarga la página manualmente (Ctrl+F5 o Cmd+Mayús+R)",
"update.confirmSkip": "Hay una versión nueva. Se recomienda actualizar por seguridad y estabilidad. ¿Continuar sin actualizar?",
"offline.backOnline": "De nuevo en línea",
"offline.mode": "Modo sin conexión",
"offline.dismiss": "Descartar",
"offline.lostTitle": "Se ha perdido la conexión",
"offline.lostDesc": "SecureBit está ahora sin conexión. Algunas funciones se limitan, pero tus datos siguen a salvo.",
"offline.point1": "Tu sesión y tus claves se conservan",
"offline.point2": "No se guarda nada en servidores",
"offline.point3": "Los mensajes y archivos se sincronizan al reconectar",
"offline.continue": "Seguir sin conexión",
"offline.restoredTitle": "Cuando vuelvas a conectarte",
"offline.restoredDesc": "Perder la conexión no te cuesta nada. SecureBit lo encola todo en local y retoma la sesión cifrada en cuanto vuelves a estar en línea.",
"offline.r1Title": "Tus mensajes se entregan",
"offline.r1Desc": "Todo lo que escribiste sin conexión se envía automáticamente a tu contacto.",
"offline.r2Title": "Los archivos terminan de enviarse",
"offline.r2Desc": "Las subidas continúan donde se quedaron: no hace falta reenviar nada.",
"offline.r3Title": "Llegan sus mensajes y archivos",
"offline.r3Desc": "Lo que tu contacto enviara durante el corte te llega en orden.",
"offline.r4Title": "No se pierde nada",
"offline.r4Desc": "Tras reconectar no queda ningún hueco: la conversación sigue justo donde se detuvo.",
"offline.gotIt": "Entendido",
"qr.showTitle": "Mostrar el código QR",
"qr.showSubtitle": "Pantalla completa · deja que lo escaneen",
"qr.showSubtitleFrames": "Pantalla completa · deja que escaneen las {frames} imágenes",
"notify.enabledBody": "Notificaciones activadas. Te avisaremos de los mensajes nuevos.",
"notify.workingBody": "Las notificaciones funcionan. Te avisaremos de los mensajes nuevos.",
"pw.label": "Campo de contraseña",
"pw.placeholder": "Escribe la contraseña…",
"pw.decrypt": "Descifrar",
"pw.cancel": "Cancelar",
"file.title": "Transferencias de archivos",
"file.drop": "Arrastra los archivos aquí",
"file.dropHint": "Cifrados de extremo a extremo antes de enviarse · hasta 100 MB",
"file.browse": "Buscar en el dispositivo",
"file.incoming": "Solicitud de archivo entrante",
"file.accept": "Aceptar",
"file.reject": "Rechazar",
"file.download": "Descargar",
"file.notReady": "La conexión aún no está lista",
"file.tooLarge": "El archivo es demasiado grande",
"file.typeNotAllowed": "Tipo de archivo no permitido",
"file.maxConcurrent": "Se ha alcanzado el máximo de transferencias simultáneas",
"file.gone": "Este archivo ya no está disponible para descargar.",
"call.incoming": "Llamada entrante",
"call.incomingVideo": "Videollamada entrante",
"call.encrypted": "Llamada cifrada",
"call.encryptedShort": "Cifrada",
"call.peer": "Par seguro",
"call.connecting": "Conectando…",
"call.ringing": "Llamando…",
"call.accept": "Aceptar",
"call.decline": "Rechazar",
"call.end": "Colgar",
"call.camera": "Cámara",
"call.cameraOff": "Cámara apagada",
"call.peerCameraOff": "La cámara de la otra persona está apagada",
"call.flipCamera": "Cambiar de cámara",
"call.addVideo": "Añadir vídeo",
"call.video": "Vídeo",
"call.muted": "Silenciado",
"call.expand": "Ampliar",
"call.minimize": "Minimizar",
"call.quality": "Calidad de la conexión",
"call.qualityExcellent": "Excelente",
"call.videoPrefix": "Vídeo · ",
"call.voicePrefix": "Voz · ",
"group.new": "Grupo nuevo",
"group.create": "Crear el grupo",
"group.join": "Unirse al grupo",
"group.name": "Nombre del grupo",
"group.nameTooLong": "El nombre del grupo es demasiado largo.",
"group.capacity": "Hasta {max} personas, de par a par. Todos compararán un único código de seguridad antes de abrir el grupo.",
"group.invite": "Invitar",
"group.inviteMore": "Invitar a más miembros",
"group.invitePeople": "Invitar a {count} personas",
"group.invitation": "Invitación al grupo",
"group.addMembers": "Añadir miembros",
"group.roomFor": "Queda sitio para {remaining} más. Al entrar, todos compararán un código de grupo nuevo.",
"group.membersCount": "{count} miembros",
"group.member": "Miembro",
"group.members": "Miembros",
"group.remove": "Expulsar a {name}",
"group.message": "Escribir a {name}",
"group.leave": "Salir",
"group.leaveThis": "Salir de este grupo",
"group.cancel": "Cancelar el grupo",
"group.close": "Cerrar",
"group.cancelBtn": "Cancelar",
"group.decline": "Rechazar",
"group.working": "Trabajando…",
"group.sasTitle": "Código de seguridad del grupo",
"group.sasEveryone": "Todos ven este código",
"group.sasCompare": "Compara el código del grupo con cada miembro para abrir el grupo.",
"group.sasReadAloud": "Lee estos dígitos en voz alta a ",
"group.sasWarning": "Si aunque sea un miembro lee un código distinto, hay alguien en medio. Cancela el grupo: no confirmes.",
"group.confirmFirst": "Confirma antes el código del grupo",
"group.codeSuffix": " · código {code}",
"group.exchangingNonces": "Intercambiando nonces…",
"group.waitingCommit": "Esperando el compromiso de todos los miembros…",
"group.waitingJoin": "Esperando a que se unan los demás miembros…",
"group.emptyChat": "Aquí todavía no hay nada. Cada mensaje va firmado por quien lo envía y viaja por el enlace cifrado propio de cada miembro.",
"group.noVerified": "Aún no hay chats verificados. Abre primero un chat individual y compara su código de seguridad: un grupo se construye con conexiones que ya has comprobado.",
"group.noMoreToAdd": "No hay más chats verificados que añadir. Abre un chat individual y compara su código de seguridad primero.",
"group.directLink": "Enlace directo entre pares",
"group.noDirectLink": "Aún no hay enlace directo: los mensajes pasan por otro miembro mientras se establece uno",
"group.relayNote": "Con algunos miembros todavía no hay enlace directo. Sus mensajes pasan por otro miembro, que ve que estáis hablando pero no puede leer más allá de la firma ni cambiar lo dicho. El grupo sigue intentando conectarlos directamente.",
"group.relayOnlyOff": "El modo solo relay está desactivado, así que cada miembro se conecta directamente contigo y conoce tu IP, incluidos los que haya invitado otra persona. Actívalo en los ajustes de red si aquí importa.",
"group.memberOffline": "{name} está sin conexión y no recibirá mensajes. Sigue siendo miembro: expulsarle vuelve a generar las claves del grupo.",
"group.joinNote": "Los demás miembros sabrán que estás en este grupo. No hay historial que recuperar: un grupo empieza vacío.",
"group.inviteSentNote": "El grupo sigue funcionando hasta que acepten. No hay historial que puedan recuperar: solo verán lo que se envíe a partir de ahora.",
"group.errNotCreated": "El grupo no se ha creado",
"group.errNobodyAccepted": "Nadie aceptó la invitación a tiempo.",
"group.errNothingSent": "No se envió ni se verificó nada. Cierra esto e inténtalo de nuevo cuando todos estén conectados.",
"group.errNotFormed": "No se ha podido formar el grupo.",
"group.errFull": "Este grupo está lleno.",
"group.errInviteFailed": "No se ha podido enviar la invitación: ese chat no está conectado.",
"group.errNoMemberList": "Quien creó el grupo nunca envió la lista de miembros.",
"group.errUnsignedList": "La lista de miembros no la firmó quien creó el grupo. No lo reintentes: avísale.",
"group.errNotOwner": "Alguien que no creó el grupo intentó cambiar los miembros.",
"hdr.tagline": "Cifrado de extremo a extremo",
"hdr.netSettings": "Ajustes de red avanzados",
"hdr.netSettingsTitle": "Ajustes de red avanzados (STUN/TURN)",
"hdr.disconnect": "Desconectar",
"status.connected": "Conectado",
"status.connecting": "Conectando…",
"status.notConnected": "Sin conexión",
"status.reconnecting": "Reconectando…",
"status.retrying": "Reintentando…",
"status.verifying": "Verificando…",
"status.peerDisconnected": "La otra persona se ha desconectado",
"sec.replayProtection": "Protección contra reenvío",
"sec.messageIntegrity": "Integridad de los mensajes (HMAC)",
"sec.forwardSecrecy": "Secreto perfecto hacia adelante",
"sec.metadataProtection": "Protección de metadatos",
"sec.trafficObfuscation": "Ofuscación del tráfico",
"sec.realTests": "Pruebas criptográficas reales",
"sec.simulatedData": "Datos simulados",
"sec.testPassed": "Prueba superada",
"sec.testFailed": "La prueba ha fallado o no está disponible",
"sec.verificationDone": "Verificación criptográfica real completada",
"sec.verificationInProgress": "Verificación de seguridad en curso…",
"sec.verificationWait": "Verificación de seguridad en curso…\nEspera a que termine la verificación criptográfica en tiempo real.",
"sec.verificationUnavailable": "La verificación de seguridad no está disponible",
"chat.placeholder": "Escribe un mensaje cifrado…",
"chat.send": "Enviar el mensaje",
"chat.sendFiles": "Enviar archivos",
"chat.hideFiles": "Ocultar los archivos",
"chat.recordVoice": "Grabar un mensaje de voz",
"chat.sendVoice": "Enviar el mensaje de voz",
"chat.discard": "Descartar",
"chat.codeBlock": "Enviar como bloque de código (amplía el campo)",
"chat.codeHint": "Fragmento de código · se conserva el formato · ⌘↵ para enviar",
"chat.viewOnce": "Ver una vez",
"chat.viewOnceTitle": "Ver una vez: desaparece cuando la otra persona lo lee",
"chat.viewOncePrefix": "Ver una vez · ",
"chat.viewOnceTap": "Ver una vez · toca para mostrar",
"chat.viewedOnce": "Ya visto",
"chat.disappearing": "Mensaje efímero: se borra en ambos lados",
"chat.disappearAfter": "Desaparece tras",
"chat.visibleFor": "Visible durante",
"chat.timerPrefix": "Temporizador · ",
"chat.expired": "Este mensaje ha caducado",
"chat.deleteForEveryone": "Eliminar para todos",
"chat.sending": "Enviando",
"chat.delivered": "Entregado",
"chat.notSent": "No enviado",
"chat.notSentReason": "No enviado: el canal seguro no está listo. Vuelve a conectar para continuar.",
"chat.encrypted": "Cifrado",
"chat.decrypted": "Descifrado",
"chat.encryptedOnDevice": "Cifrado en tu dispositivo",
"chat.uploading": "Subiendo",
"chat.downloading": "Descargando",
"chat.transferring": "Transfiriendo…",
"chat.copied": "¡Copiado!",
"chat.collapse": "Contraer",
"chat.closeMenu": "Cerrar el menú",
"chat.newChat": "Chat nuevo",
"chat.newGroup": "Grupo nuevo",
"chat.createGroup": "Crear un grupo",
"chat.groupChats": "Chats de grupo",
"chat.secureChat": "Chat seguro",
"chat.nameThis": "Ponle nombre a este chat",
"chat.rename": "Renombrar el chat (solo en local)",
"chat.renameHint": "Haz doble clic para renombrar",
"chat.localLabel": "Etiqueta local · solo se guarda en este dispositivo",
"chat.setStatus": "Elige tu estado",
"chat.yourStatusPrefix": "Tu estado: ",
"chat.meshHint": "Hasta 8 pares · malla P2P",
"chat.offline": "Sin conexión",
"chat.noNetwork": "Sin red · reconectando",
"chat.startVoiceCall": "Iniciar una llamada de voz cifrada",
"chat.startVideoCall": "Iniciar una videollamada cifrada",
"chat.verifyForCalls": "Verifica la sesión para poder llamar",
"chat.e2eeNote": "Cada mensaje se cifra de extremo a extremo en tu dispositivo antes de salir.",
"chat.peersOnly": "Se envía de extremo a extremo solo a los pares conectados: nunca se guarda en un servidor.",
"flow.invitationCreated": "Invitación segura creada",
"flow.invitationCreatedBang": "Invitación segura creada y cifrada.",
"flow.responseCreated": "Respuesta segura creada",
"flow.responseCreatedBang": "Respuesta segura creada.",
"flow.sendInvitation": "Envía el código de invitación a la otra persona por un canal seguro (llamada, SMS, etc.).",
"flow.sendResponse": "Envía el código de respuesta a quien inició el canal por un canal seguro, o deja que escanee el QR de abajo.",
"flow.sendEncryptedCode": "Enviar el código cifrado",
"flow.sendTheResponse": "Enviar la respuesta",
"flow.pasteOrWrite": "Pega o escribe el código…",
"flow.processingInvitation": "Procesando la invitación segura…",
"flow.processingResponse": "Procesando la respuesta segura…",
"flow.finalizing": "Ultimando la conexión segura…",
"flow.channelEstablished": "Canal seguro establecido",
"flow.channelReady": "El canal seguro está listo",
"flow.restoring": "Restableciendo la conexión…",
"flow.invitationCaptured": "Invitación capturada.",
"err.needInvitation": "Tienes que pegar el código de invitación de la otra persona.",
"err.needResponse": "Tienes que pegar el código de respuesta de la otra persona.",
"err.responseFormat": "Formato de respuesta no válido: revisa el código",
"err.responseNoKey": "Código de respuesta no válido: falta la clave criptográfica o está dañada. Revísalo e inténtalo de nuevo.",
"err.responseNoSignKey": "Código de respuesta no válido: falta la clave de verificación de firma. Revísalo e inténtalo de nuevo.",
"err.responseOutdated": "Los datos de la respuesta están caducados: usa una invitación nueva",
"err.setupError": "Error al establecer la conexión",
"err.notReady": "La conexión aún no está lista",
"err.securityBreach": "Se ha detectado una brecha de seguridad: conexión rechazada",
"err.securityValidation": "La validación de seguridad ha fallado: posible ataque",
"err.retiredQr": "Este QR usa un formato retirado con el que no se pudo transferir la invitación. Pide uno nuevo o usa copiar y pegar.",
"err.compressedQrNote": "El QR comprimido puede omitir el SDP por brevedad. Usa copiar y pegar si falla la conexión.",
"err.inviteNotConnected": "No se ha podido enviar la invitación. Ese chat no está conectado ahora mismo.",
"err.inviteNotConnectedRetry": "No se ha podido enviar la invitación. Ese chat no está conectado ahora mismo: vuelve a abrirlo e inténtalo otra vez.",
"err.nobodyAccepted": "Nadie aceptó la invitación. El grupo no ha cambiado.",
"err.noAudio": "No se ha grabado audio: revisa el permiso del micrófono e inténtalo de nuevo.",
"err.voiceNeedsConnection": "El mensaje de voz necesita una conexión segura activa. Vuelve a conectar e inténtalo de nuevo.",
"err.voiceRestoring": "Restableciendo la conexión: prueba a enviar el mensaje de voz en un momento.",
"err.fileTooLarge": "El archivo es demasiado grande",
"sas.safetyNumber": "Número de seguridad",
"sas.incorrect": "Código incorrecto. Compruébalo con la otra persona e inténtalo de nuevo.",
"sas.noMatch": "Los códigos no coinciden",
"sas.makeSure": "Asegúrate de que los códigos coinciden exactamente.",
"sas.tooManyAttempts": "Demasiados intentos incorrectos. La sesión se ha reiniciado por seguridad.",
"sas.verificationFailed": "La verificación ha fallado",
"sas.verified": "Verificado · secreto perfecto hacia adelante",
"sas.runVerification": "Ejecutar la verificación de seguridad",
"sec.panelTitle": "Detalles de red y criptografía",
"sec.security": "Seguridad",
"sec.transport": "Transporte",
"sec.keyExchange": "Intercambio de claves",
"sec.allEnabled": "Todas las funciones de seguridad están activas por defecto",
"sec.realTimeNote": "Verificación en tiempo real con funciones criptográficas reales, sin datos simulados.",
"sec.simulatedWarning": "Aviso: puede que la conexión no esté del todo establecida; los valores podrían ser simulados.",
"dl.title": "Descargar SecureBit",
"dl.free": "Gratis · código abierto",
"dl.soon": "Las apps para iOS y Android y las extensiones para Chrome, Firefox y Opera llegarán pronto.",
"chatHdr.chat": "Chat",
"chatHdr.chats": "Chats",
"chatHdr.newChat": "+ Nuevo",
"chatHdr.secure": "Seguro",
"chatHdr.p2pSub": "P2P · cifrado de extremo a extremo",
"chatHdr.save": "Guardar",
"chatHdr.close": "Cerrar",
"chatHdr.expand": "Ampliar",
"chatHdr.you": "Tú",
"chatHdr.qrCode": "Código QR",
"chat.disconnected": "Desconectado",
"call.mute": "Silenciar",
"call.endShort": "Colgar",
"group.add": "Añadir",
"group.send": "Enviar",
"sec.pfsShort": "Secreto perfecto hacia adelante",
"sec.cipher": "Cifrado",
"chat.close": "Cerrar",
"file.needConnection": "La transferencia de archivos necesita una conexión abierta",
"presence.available": "Disponible",
"presence.away": "Ausente",
"presence.busy": "Ocupado",
"presence.offline": "Sin conexión",
"presence.invisible": "Invisible",
"presence.availableDesc": "En línea y disponible",
"presence.awayDesc": "Inactivo · se ha ausentado",
"presence.busyDesc": "No molestar",
"presence.invisibleDesc": "Aparecer sin conexión para los demás",
"presence.online": "En línea",
"conn.p2p": "P2P · conectado",
"conn.verifying": "Verificando…",
"conn.connecting": "Conectando…",
"conn.reconnecting": "Reconectando…",
"conn.peerDisconnected": "La otra persona se ha desconectado",
"conn.disconnected": "Desconectado",
"chat.defaultLabel": "Chat",
"groupPhase.forming": "Formándose…",
"groupPhase.commitments": "Intercambiando compromisos…",
"groupPhase.revealing": "Revelando…",
"groupPhase.compare": "Compara el código del grupo",
"groupPhase.ready": "El grupo está listo",
"groupPhase.failed": "El grupo ha fallado",
"call.qualityGood": "Buena",
"call.qualityFair": "Aceptable",
"call.qualityWeak": "Débil",
"msg.code": "Código",
"msg.timer": "Temporizador",
"msg.voice": "Voz",
"msg.play": "Reproducir",
"msg.sent": "Enviado",
"msg.read": "Leído",
"report.title": "Verificación de seguridad en tiempo real",
"report.active": "Activo",
"report.testsPassed": "Pruebas superadas",
"report.verifiedAt": "Verificado el",
"report.source": "Origen",
"secTest.verifyECDHKeyExchange": "Intercambio de claves ECDH",
"secTest.verifyECDSASignatures": "Firmas digitales ECDSA",
"secTest.verifyEncryption": "Cifrado AES-GCM",
"secTest.verifyMessageIntegrity": "Integridad de los mensajes",
"secTest.verifyPerfectForwardSecrecy": "Secreto perfecto hacia adelante",
"secTest.verifyPFS": "Secreto perfecto hacia adelante",
"secTest.verifyReplayProtection": "Protección contra reenvío",
"secTest.verifyDTLSFingerprint": "Huella DTLS",
"secTest.verifySASVerification": "Verificación SAS",
"secTest.verifyMetadataProtection": "Protección de metadatos",
"secTest.verifyTrafficObfuscation": "Ofuscación del tráfico",
"secTest.verifyPacketPadding": "Relleno de paquetes",
"secTest.verifyNestedEncryption": "Cifrado anidado",
"secTest.verifyNonExtractableKeys": "Claves no extraíbles",
"secTest.verifyRateLimiting": "Límite de frecuencia",
"secTest.verifyMutualAuth": "Autenticación mutua",
"secTest.verifyAuthProof": "Prueba de autenticación",
"secTest.verifyEnhancedValidation": "Validación reforzada",
"secTest.verifyAdvancedFeatures": "Funciones avanzadas",
"secTest.verifySignature": "Comprobación de firma",
"secDetail.Security system initializing...": "El sistema de seguridad se está iniciando…",
"secDetail.Nested encryption active": "Cifrado anidado activo",
"secDetail.Nested encryption failed": "El cifrado anidado ha fallado",
"secDetail.Packet padding active": "Relleno de paquetes activo",
"secDetail.Packet padding failed": "El relleno de paquetes ha fallado",
"secDetail.Advanced features active": "Funciones avanzadas activas",
"secDetail.Advanced features failed": "Las funciones avanzadas han fallado",
"secDetail.No encryption key available": "No hay clave de cifrado disponible",
"secDetail.AES-GCM encryption/decryption working correctly": "El cifrado y descifrado AES-GCM funcionan correctamente",
"secDetail.No ECDH key pair available": "No hay par de claves ECDH disponible",
"secDetail.Key derivation failed": "La derivación de claves ha fallado",
"secDetail.No ECDSA key pair available": "No hay par de claves ECDSA disponible",
"secDetail.ECDSA digital signatures working correctly": "Las firmas digitales ECDSA funcionan correctamente",
"secDetail.MAC key not available or invalid": "La clave MAC no está disponible o no es válida",
"secDetail.Rate limiter did not block a message over the limit": "El limitador no bloqueó un mensaje por encima del límite",
"secDetail.Rate limiter is not available": "El limitador de frecuencia no está disponible",
"secDetail.Replay protection is working correctly": "La protección contra reenvío funciona correctamente",
"secDetail.Replay protection not enabled": "La protección contra reenvío no está activada",
"secDetail.SAS code not available": "El código SAS no está disponible",
"secDetail.SAS verification code is valid and available": "El código de verificación SAS es válido y está disponible",
"secDetail.Traffic obfuscation is working correctly": "La ofuscación del tráfico funciona correctamente",
"secDetail.Traffic obfuscation not enabled": "La ofuscación del tráfico no está activada",
"secDetail.No non-extractable ephemeral ECDH key pair for this session": "No hay par de claves ECDH efímeras no extraíbles para esta sesión",
"secDetail.Session-level PFS only: keys are ephemeral per session, but the Double Ratchet is not active for this connection (peer on an older version), so a compromised session key exposes the whole conversation": "Solo PFS a nivel de sesión: las claves son efímeras por sesión, pero el Double Ratchet no está activo en esta conexión (la otra parte usa una versión antigua), así que una clave comprometida expone toda la conversación.",
"msg.pause": "Pausa",
"msg.failed": "Ha fallado",
"groupErr.timeout": "Un miembro dejó de responder antes de que el código estuviera listo.",
"groupErr.keyMismatch": "La clave de un miembro no coincidía con la identidad declarada.",
"groupErr.revealMismatch": "El valor revelado por un miembro no coincidía con su compromiso.",
"groupErr.commitChanged": "Un miembro cambió su compromiso a mitad del proceso.",
"groupErr.missingKey": "Se listó a un miembro cuya clave nunca llegó.",
"groupErr.outsider": "Llegó un fragmento de alguien ajeno al grupo.",
"groupErr.limit": "Un grupo admite como máximo ocho miembros.",
"groupErr.tooLarge": "Un mensaje era demasiado grande para enviarlo al grupo.",
"fileType.text": "Texto plano",
"fileType.images": "Imágenes",
"fileType.archives": "Archivos comprimidos",
"fileType.voice": "Mensajes de voz",
"fileType.unsupported": "No admitido",
"qrScan.title": "Escanear código QR",
"qrScan.auto": "Modo automático",
"qrScan.reset": "Reiniciar",
"qrScan.autoScroll": "Desplazamiento automático activado",
"qrScan.starting": "Iniciando la cámara…",
"qrScan.point": "Apunta la cámara al código QR",
"qrScan.tapFocus": "Toca la pantalla para enfocar",
"qrScan.focusing": "Enfocando…",
"iceErr.notArray": "La lista de servidores debe ser un array",
"iceErr.invalidJson": "JSON no válido",
"iceErr.tooMany": "Demasiados servidores (máximo {max})",
"iceErr.invalidEntry": "{label}: entrada no válida",
"iceErr.urlCount": "{label}: se necesitan entre 1 y {max} URL",
"iceErr.turnCreds": "{label}: los servidores TURN suelen requerir usuario y credencial",
"iceUrl.notString": "La URL debe ser una cadena",
"iceUrl.empty": "La URL está vacía",
"iceUrl.tooLong": "La URL es demasiado larga",
"iceUrl.badChars": "La URL contiene caracteres no válidos",
"iceUrl.badScheme": "La URL debe empezar por stun:, stuns:, turn: o turns:",
"iceUrl.badQuery": "La URL tiene una consulta no válida",
"iceUrl.noHost": "A la URL le falta el host",
"iceUrl.badHost": "La URL tiene un host o puerto no válido",
"iceUrl.badTransport": "La consulta de la URL debe ser transport=udp o transport=tcp",
"msg.off": "Desactivado",
"file.consentUnavailable": "No se ha podido pedir permiso",
"secLevel.MAXIMUM": "MÁXIMO",
"secLevel.INITIALIZING": "INICIANDO",
"secLevel.ERROR": "ERROR",
"secLevel.UNKNOWN": "DESCONOCIDO",
"status.error": "Error",
"offline.disconnect": "Desconectar",
"offline.learnMore": "Más información",
"pwa.installApp": "Instalar la app",
"chat.onWeb": "Estás en la versión web",
"groupCall.startVoice": "Iniciar llamada de voz grupal",
"groupCall.startVideo": "Iniciar videollamada grupal",
"groupCall.join": "Unirse",
"groupCall.dismiss": "Ahora no",
"groupCall.leave": "Salir de la llamada",
"groupCall.you": "Tú",
"groupCall.connecting": "Conectando…",
"groupCall.waitingLink": "Esperando un enlace directo…",
"groupCall.legFailed": "No se pudo conectar",
"groupCall.startedVoice": "{name} inició una llamada de voz",
"groupCall.startedVideo": "{name} inició una videollamada",
"groupCall.inCall": "{count} en la llamada",
"groupCall.err.permission_denied": "La llamada no pudo iniciarse - el acceso al micrófono y a la cámara está bloqueado. Permítelo para este sitio e inténtalo de nuevo.",
"groupCall.err.device_not_found": "La llamada no pudo iniciarse - no se encontró ningún micrófono en este dispositivo.",
"groupCall.err.device_busy": "La llamada no pudo iniciarse - otra aplicación está usando tu micrófono. Ciérrala e inténtalo de nuevo.",
"groupCall.err.media_failed": "La llamada no pudo iniciarse - no se pudo abrir el micrófono.",
"groupCall.err.call_in_progress": "Ya hay una llamada en este grupo. Únete en lugar de iniciar otra.",
"groupCall.err.not_ready": "Confirma el código del grupo antes de llamar.",
"groupCall.speaking": "{name} está hablando",
"groupCall.pin": "Ver a {name} en grande",
"groupCall.unpin": "Volver a todos",
"groupCall.showEveryone": "Todos",
"msg.after5s": "5 s tras leerse",
"msg.after15s": "15 s tras leerse",
"msg.after30s": "30 s tras leerse",
"msg.after1m": "1 min tras leerse",
"msg.sec30": "30 segundos",
"msg.min5": "5 minutos",
"msg.hour1": "1 hora",
"desktop.shareDesc": "Envía el código a tu par. Es de un solo uso y caduca pronto.",
"desktop.invitationCreated": "Invitación segura creada: envíasela a tu par.",
"desktop.joinDesc": "Pega el código de invitación de tu par para construir tu respuesta segura.",
"desktop.offerTag": "invitación · copiar texto",
"desktop.answerTag": "respuesta · copiar texto",
"desktop.offerPlaceholder": "El código de invitación aparecerá aquí…",
"desktop.answerPlaceholder": "El código de respuesta aparecerá aquí…",
"desktop.backToChats": "Volver a los chats",
"desktop.sendFeedback": "Enviar comentarios",
"desktop.callsNeedVerified": "Las llamadas requieren un canal seguro verificado.",
"desktop.noOpenChannel": "No hay ningún canal seguro abierto.",
"desktop.chatCarriesCall": "Este chat está transportando una llamada de grupo. Sal de la llamada de grupo antes de iniciar una llamada 1:1.",
"desktop.err.permission_denied": "La llamada no pudo iniciarse: el acceso al micrófono y la cámara está bloqueado. Permítelo en los ajustes del sistema e inténtalo de nuevo.",
"desktop.language": "Idioma",
"desktop.languageHint": "Se aplica al instante. Los mensajes ya enviados conservan sus palabras.",
"desktop.compareCode": "Compara el código de verificación con tu par y confírmalo si coincide.",
"desktop.verifyBeforeFiles": "Completa la verificación antes de enviar archivos.",
"desktop.verifyBeforeSending": "Completa la verificación antes de enviar mensajes.",
"desktop.disconnectedByBackend": "Conexión cerrada de forma segura.",
"desktop.restoreFailed": "No se pudo restablecer la conexión. Cerrando este chat.",
"desktop.channelNotReady": "El canal de datos aún no está disponible. Espera a que se establezca la conexión.",
"desktop.enterCode": "Introduce el código de verificación para confirmar.",
"desktop.noOffer": "No se encontró ninguna invitación. Crea una primero.",
"desktop.notInitiator": "No creaste esta conexión, así que no hay ninguna respuesta que aplicar.",
"desktop.decryptFailed": "No se pudo descifrar un mensaje y se descartó.",
"desktop.badMessageFormat": "Llegó una trama con formato incorrecto y se descartó.",
"desktop.notSentNotReady": "Mensaje no enviado: el canal seguro no está listo. Espera a que termine la verificación o vuelve a conectarte.",
"desktop.micDenied": "Se denegó el acceso al micrófono.",
"desktop.noChannelWait": "No hay canal seguro abierto: espera a que se establezca la conexión.",
"desktop.sasFailed": "La verificación falló. Puede haber alguien en medio, así que se abortó la conexión.",
"desktop.sasOk": "Verificación correcta. Este canal está autenticado de extremo a extremo.",
"desktop.iceForgotten": "Servidores guardados olvidados. Se usarán servidores ICE públicos.",
"desktop.icePublic": "Se usarán servidores ICE públicos.",
"desktop.verificationInProgress": "La verificación de seguridad sigue en curso. Espera a que termine.",
"desktop.fileGone": "Este archivo ya no está disponible para descargar.",
"desktop.codeMismatch": "Los códigos de verificación no coinciden. Desconectando por seguridad.",
"desktop.noLocalCode": "Verificación fallida: no hay código derivado localmente con el que comparar. Desconectando por seguridad.",
"desktop.protocolViolation": "El par afirmó que el código estaba confirmado antes de que tú lo confirmaras. Desconectando por seguridad.",
"desktop.verificationRejected": "Verificación rechazada. La conexión se abortó por seguridad.",
"secLevel.HIGH": "ALTO",
"secLevel.MEDIUM": "MEDIO",
"secLevel.LOW": "BAJO",
"desktop.rerun": "Volver a ejecutar",
"desktop.ice.customDesc": "Hasta {max} servidores, una URL por línea o JSON.",
"desktop.ice.persistDesc": "Guardado localmente en este dispositivo. Déjalo desactivado para usarlo solo en esta sesión.",
"desktop.group.leaveNote": "Se avisa a los demás miembros de que te has ido. Después no queda nada de este grupo en este dispositivo: ningún servidor guarda una copia desde la que volver, así que necesitarías una invitación nueva.",
"desktop.sec.ecdsaOk": "Firma del paquete de claves del par verificada durante el saludo (ECDSA P-384 / SHA-384)",
"desktop.sec.ecdsaNone": "No hay un saludo completado",
"desktop.sec.ecdhOk": "Claves de sesión derivadas de un intercambio ECDH P-384 efímero mediante HKDF-SHA-256",
"desktop.sec.ecdhNone": "No se derivaron claves de sesión",
"desktop.sec.encryptionOk": "Cifrado y descifrado AES-GCM verificados en el núcleo",
"desktop.sec.encryptionNa": "No se pudo ejecutar la autocomprobación de AES-GCM",
"desktop.sec.integrityOk": "Integridad de los mensajes verificada (autenticación AES-GCM)",
"desktop.sec.integrityNa": "No se pudo ejecutar la autocomprobación de integridad",
"desktop.sec.pfsOk": "Double Ratchet activo: cada mensaje tiene su propia clave",
"desktop.sec.pfsNa": "No medido",
"desktop.sec.replayOk": "Las claves de mensaje del ratchet se destruyen al usarse, así que una trama capturada no puede reproducirse",
"desktop.sec.replayNa": "No medido",
"desktop.sec.dtlsPinned": "Huella DTLS del par fijada: {fp}",
"desktop.sec.dtlsNone": "No hay huella DTLS remota disponible",
"desktop.sec.sasBoth": "Ambos pares confirmaron el código de seguridad fuera de banda",
"desktop.sec.sasIncomplete": "El código de seguridad no ha sido confirmado por ambos pares",
"desktop.sec.metadataOk": "Se derivó una clave de metadatos dedicada (HKDF metadata-protection-v4)",
"desktop.sec.metadataNone": "Sin clave de metadatos",
"desktop.sec.coverOn": "Tráfico de cobertura activo: tramas falsas aleatorias (32-128 B cada 15-30 s) en el canal con ratchet",
"desktop.sec.coverOff": "El generador de tráfico de cobertura no está en marcha",
"desktop.sec.coverUnsupported": "El tráfico de cobertura requiere una sesión Double Ratchet (el par usa una versión anterior)",
"desktop.tagline": "Libertad de extremo a extremo"
}
}