feat(groups): audio and video calls in group chats; release v6.6.6
A group call is N-1 ordinary 1:1 calls, one to each other member, each riding the pairwise session that member already has — a transport a human already authenticated by comparing the safety code. No mixer, no SFU, no point at which two people's media meets anywhere but on a device. Call control is separate from call media, because the two reach different sets of people. Who opened a call, who joined and who left travels as group frames signed with the sender's group identity key, so it reaches members currently reachable only through a relay — and a relaying member can drop one but cannot write one. Media flows only where a direct link exists, so a member without one shows as connecting rather than being omitted. Frames carry a per-sender sequence checked before the action, so a captured leave cannot end a later call, and simultaneous calls converge on the lower random call id. One capture is shared across every leg rather than one getUserMedia per member, and legs answer without prompting: the flag permitting that is set only locally, only while this user is in the call, and cleared when they leave. UI: a gallery that sizes itself from the space it has, a spotlight view, an active-speaker indicator read from the waveform, and the call surface in the same visual language as the 1:1 one. Also in this commit, the v6.5.0 language-suggestion work that had not been pushed yet; its notes are in the changelog. And two fixes: the safety-code input asks for digits rather than text, and starting a new chat from inside a group no longer creates it behind the group where it cannot be seen — which had made it impossible to connect to anyone new, or to add anyone to a group, while a group was open. Claude-Session: https://claude.ai/code/session_01XSxAkET3hQTkYDQfbjCQwZ
This commit is contained in:
+26
-1
@@ -36,6 +36,9 @@
|
||||
},
|
||||
"ui": {
|
||||
"language.label": "اللغة",
|
||||
"language.suggest.text": "هذه الصفحة متوفرة أيضًا بالعربية.",
|
||||
"language.suggest.cta": "اقرأ بالعربية",
|
||||
"language.suggest.dismiss": "إغلاق",
|
||||
"community.title": "انضمّ إلى مستقبل الخصوصية",
|
||||
"community.description": "ينمو SecureBit بفضل مجتمعه. أفكاركم وملاحظاتكم هي ما يصوغ مستقبل التواصل الآمن - مبنيّ في العلن، مع تحقّق ASN.1 كامل من طرف إلى طرف.",
|
||||
"community.github": "مستودع GitHub",
|
||||
@@ -781,6 +784,28 @@
|
||||
"offline.disconnect": "قطع الاتصال",
|
||||
"offline.learnMore": "اعرف المزيد",
|
||||
"pwa.installApp": "ثبّت التطبيق",
|
||||
"chat.onWeb": "أنت على الويب"
|
||||
"chat.onWeb": "أنت على الويب",
|
||||
"groupCall.startVoice": "بدء مكالمة صوتية جماعية",
|
||||
"groupCall.startVideo": "بدء مكالمة فيديو جماعية",
|
||||
"groupCall.join": "انضمام",
|
||||
"groupCall.dismiss": "ليس الآن",
|
||||
"groupCall.leave": "مغادرة المكالمة",
|
||||
"groupCall.you": "أنت",
|
||||
"groupCall.connecting": "جارٍ الاتصال…",
|
||||
"groupCall.waitingLink": "في انتظار رابط مباشر…",
|
||||
"groupCall.legFailed": "تعذّر الاتصال",
|
||||
"groupCall.startedVoice": "بدأ {name} مكالمة صوتية",
|
||||
"groupCall.startedVideo": "بدأ {name} مكالمة فيديو",
|
||||
"groupCall.inCall": "{count} في المكالمة",
|
||||
"groupCall.err.permission_denied": "تعذّر بدء المكالمة - الوصول إلى الميكروفون والكاميرا محظور. اسمح به لهذا الموقع ثم أعد المحاولة.",
|
||||
"groupCall.err.device_not_found": "تعذّر بدء المكالمة - لم يُعثر على ميكروفون في هذا الجهاز.",
|
||||
"groupCall.err.device_busy": "تعذّر بدء المكالمة - الميكروفون مستخدَم من تطبيق آخر. أغلقه ثم أعد المحاولة.",
|
||||
"groupCall.err.media_failed": "تعذّر بدء المكالمة - لم يمكن فتح الميكروفون.",
|
||||
"groupCall.err.call_in_progress": "هناك مكالمة جارية بالفعل في هذه المجموعة. انضم إليها بدل بدء أخرى.",
|
||||
"groupCall.err.not_ready": "أكّد رمز المجموعة قبل الاتصال.",
|
||||
"groupCall.speaking": "{name} يتحدّث الآن",
|
||||
"groupCall.pin": "عرض {name} بحجم كبير",
|
||||
"groupCall.unpin": "العودة إلى الجميع",
|
||||
"groupCall.showEveryone": "الجميع"
|
||||
}
|
||||
}
|
||||
|
||||
+26
-1
@@ -36,6 +36,9 @@
|
||||
},
|
||||
"ui": {
|
||||
"language.label": "Sprache",
|
||||
"language.suggest.text": "Diese Seite gibt es auch auf Deutsch.",
|
||||
"language.suggest.cta": "Auf Deutsch lesen",
|
||||
"language.suggest.dismiss": "Schließen",
|
||||
"community.title": "Gestalten Sie die Zukunft der Privatsphäre mit",
|
||||
"community.description": "SecureBit wächst durch seine Community. Ihre Ideen und Ihr Feedback prägen die Zukunft sicherer Kommunikation - offen entwickelt, mit vollständiger ASN.1-Validierung von Ende zu Ende.",
|
||||
"community.github": "GitHub-Repository",
|
||||
@@ -781,6 +784,28 @@
|
||||
"offline.disconnect": "Trennen",
|
||||
"offline.learnMore": "Mehr erfahren",
|
||||
"pwa.installApp": "App installieren",
|
||||
"chat.onWeb": "Sie nutzen die Web-Version"
|
||||
"chat.onWeb": "Sie nutzen die Web-Version",
|
||||
"groupCall.startVoice": "Gruppen-Sprachanruf starten",
|
||||
"groupCall.startVideo": "Gruppen-Videoanruf starten",
|
||||
"groupCall.join": "Beitreten",
|
||||
"groupCall.dismiss": "Jetzt nicht",
|
||||
"groupCall.leave": "Anruf verlassen",
|
||||
"groupCall.you": "Du",
|
||||
"groupCall.connecting": "Verbinden…",
|
||||
"groupCall.waitingLink": "Warten auf eine direkte Verbindung…",
|
||||
"groupCall.legFailed": "Verbindung fehlgeschlagen",
|
||||
"groupCall.startedVoice": "{name} hat einen Sprachanruf gestartet",
|
||||
"groupCall.startedVideo": "{name} hat einen Videoanruf gestartet",
|
||||
"groupCall.inCall": "{count} im Anruf",
|
||||
"groupCall.err.permission_denied": "Der Anruf konnte nicht starten - der Zugriff auf Mikrofon und Kamera ist blockiert. Erlaube ihn für diese Seite und versuche es erneut.",
|
||||
"groupCall.err.device_not_found": "Der Anruf konnte nicht starten - auf diesem Gerät wurde kein Mikrofon gefunden.",
|
||||
"groupCall.err.device_busy": "Der Anruf konnte nicht starten - dein Mikrofon wird von einer anderen App verwendet. Schließe sie und versuche es erneut.",
|
||||
"groupCall.err.media_failed": "Der Anruf konnte nicht starten - das Mikrofon ließ sich nicht öffnen.",
|
||||
"groupCall.err.call_in_progress": "In dieser Gruppe läuft bereits ein Anruf. Tritt ihm bei, statt einen neuen zu starten.",
|
||||
"groupCall.err.not_ready": "Bestätige zuerst den Gruppencode, bevor du anrufst.",
|
||||
"groupCall.speaking": "{name} spricht",
|
||||
"groupCall.pin": "{name} groß anzeigen",
|
||||
"groupCall.unpin": "Zurück zu allen",
|
||||
"groupCall.showEveryone": "Alle"
|
||||
}
|
||||
}
|
||||
|
||||
+26
-1
@@ -31,6 +31,9 @@
|
||||
},
|
||||
"ui": {
|
||||
"language.label": "Language",
|
||||
"language.suggest.text": "This page is also available in English.",
|
||||
"language.suggest.cta": "Read in English",
|
||||
"language.suggest.dismiss": "Dismiss",
|
||||
"community.title": "Join the future of privacy",
|
||||
"community.description": "SecureBit grows thanks to its community. Your ideas and feedback shape the future of secure communication - built in the open, with complete ASN.1 validation end-to-end.",
|
||||
"community.github": "GitHub Repository",
|
||||
@@ -776,6 +779,28 @@
|
||||
"offline.disconnect": "Disconnect",
|
||||
"offline.learnMore": "Learn more",
|
||||
"pwa.installApp": "Install App",
|
||||
"chat.onWeb": "You're on Web"
|
||||
"chat.onWeb": "You're on Web",
|
||||
"groupCall.startVoice": "Start a group voice call",
|
||||
"groupCall.startVideo": "Start a group video call",
|
||||
"groupCall.join": "Join",
|
||||
"groupCall.dismiss": "Not now",
|
||||
"groupCall.leave": "Leave call",
|
||||
"groupCall.you": "You",
|
||||
"groupCall.connecting": "Connecting…",
|
||||
"groupCall.waitingLink": "Waiting for a direct link…",
|
||||
"groupCall.legFailed": "Could not connect",
|
||||
"groupCall.startedVoice": "{name} started a voice call",
|
||||
"groupCall.startedVideo": "{name} started a video call",
|
||||
"groupCall.inCall": "{count} in the call",
|
||||
"groupCall.err.permission_denied": "The call could not start - microphone and camera access is blocked. Allow it for this site, then try again.",
|
||||
"groupCall.err.device_not_found": "The call could not start - no microphone was found on this device.",
|
||||
"groupCall.err.device_busy": "The call could not start - your microphone is in use by another app. Close it and try again.",
|
||||
"groupCall.err.media_failed": "The call could not start - the microphone could not be opened.",
|
||||
"groupCall.err.call_in_progress": "A call is already running in this group. Join it instead of starting another.",
|
||||
"groupCall.err.not_ready": "Confirm the group code before calling.",
|
||||
"groupCall.speaking": "{name} is speaking",
|
||||
"groupCall.pin": "Show {name} large",
|
||||
"groupCall.unpin": "Back to everyone",
|
||||
"groupCall.showEveryone": "Everyone"
|
||||
}
|
||||
}
|
||||
|
||||
+26
-1
@@ -36,6 +36,9 @@
|
||||
},
|
||||
"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",
|
||||
@@ -781,6 +784,28 @@
|
||||
"offline.disconnect": "Desconectar",
|
||||
"offline.learnMore": "Más información",
|
||||
"pwa.installApp": "Instalar la app",
|
||||
"chat.onWeb": "Estás en la versión web"
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
+26
-1
@@ -36,6 +36,9 @@
|
||||
},
|
||||
"ui": {
|
||||
"language.label": "زبان",
|
||||
"language.suggest.text": "این صفحه به فارسی هم در دسترس است.",
|
||||
"language.suggest.cta": "خواندن به فارسی",
|
||||
"language.suggest.dismiss": "بستن",
|
||||
"community.title": "به آیندهٔ حریم خصوصی بپیوندید",
|
||||
"community.description": "SecureBit بهلطف جامعهاش رشد میکند. ایدهها و بازخوردهای شما آیندهٔ ارتباط امن را شکل میدهد - ساختهشده در فضای باز، با اعتبارسنجی کامل ASN.1 از یک سر تا سر دیگر.",
|
||||
"community.github": "مخزن GitHub",
|
||||
@@ -781,6 +784,28 @@
|
||||
"offline.disconnect": "قطع اتصال",
|
||||
"offline.learnMore": "بیشتر بدانید",
|
||||
"pwa.installApp": "نصب برنامه",
|
||||
"chat.onWeb": "شما روی نسخهٔ وب هستید"
|
||||
"chat.onWeb": "شما روی نسخهٔ وب هستید",
|
||||
"groupCall.startVoice": "شروع تماس صوتی گروهی",
|
||||
"groupCall.startVideo": "شروع تماس تصویری گروهی",
|
||||
"groupCall.join": "پیوستن",
|
||||
"groupCall.dismiss": "الان نه",
|
||||
"groupCall.leave": "خروج از تماس",
|
||||
"groupCall.you": "شما",
|
||||
"groupCall.connecting": "در حال اتصال…",
|
||||
"groupCall.waitingLink": "در انتظار یک پیوند مستقیم…",
|
||||
"groupCall.legFailed": "اتصال برقرار نشد",
|
||||
"groupCall.startedVoice": "{name} یک تماس صوتی آغاز کرد",
|
||||
"groupCall.startedVideo": "{name} یک تماس تصویری آغاز کرد",
|
||||
"groupCall.inCall": "{count} نفر در تماس",
|
||||
"groupCall.err.permission_denied": "تماس آغاز نشد - دسترسی به میکروفون و دوربین مسدود است. آن را برای این سایت مجاز کنید و دوباره تلاش کنید.",
|
||||
"groupCall.err.device_not_found": "تماس آغاز نشد - میکروفونی روی این دستگاه پیدا نشد.",
|
||||
"groupCall.err.device_busy": "تماس آغاز نشد - میکروفون شما در حال استفاده توسط برنامه دیگری است. آن را ببندید و دوباره تلاش کنید.",
|
||||
"groupCall.err.media_failed": "تماس آغاز نشد - میکروفون باز نشد.",
|
||||
"groupCall.err.call_in_progress": "همین حالا تماسی در این گروه در جریان است. بهجای شروع تماس تازه، به آن بپیوندید.",
|
||||
"groupCall.err.not_ready": "پیش از تماس، کد گروه را تأیید کنید.",
|
||||
"groupCall.speaking": "{name} در حال صحبت است",
|
||||
"groupCall.pin": "نمایش بزرگ {name}",
|
||||
"groupCall.unpin": "بازگشت به همه",
|
||||
"groupCall.showEveryone": "همه"
|
||||
}
|
||||
}
|
||||
|
||||
+26
-1
@@ -31,6 +31,9 @@
|
||||
},
|
||||
"ui": {
|
||||
"language.label": "Langue",
|
||||
"language.suggest.text": "Cette page est aussi disponible en français.",
|
||||
"language.suggest.cta": "Lire en français",
|
||||
"language.suggest.dismiss": "Fermer",
|
||||
"community.title": "Construisez l'avenir de la vie privée",
|
||||
"community.description": "SecureBit grandit grâce à sa communauté. Vos idées et vos retours façonnent l'avenir des communications sécurisées, développées à ciel ouvert, avec une validation ASN.1 complète de bout en bout.",
|
||||
"community.github": "Dépôt GitHub",
|
||||
@@ -776,7 +779,29 @@
|
||||
"offline.disconnect": "Se déconnecter",
|
||||
"offline.learnMore": "En savoir plus",
|
||||
"pwa.installApp": "Installer l'application",
|
||||
"chat.onWeb": "Vous êtes sur la version web"
|
||||
"chat.onWeb": "Vous êtes sur la version web",
|
||||
"groupCall.startVoice": "Démarrer un appel vocal de groupe",
|
||||
"groupCall.startVideo": "Démarrer un appel vidéo de groupe",
|
||||
"groupCall.join": "Rejoindre",
|
||||
"groupCall.dismiss": "Pas maintenant",
|
||||
"groupCall.leave": "Quitter l'appel",
|
||||
"groupCall.you": "Vous",
|
||||
"groupCall.connecting": "Connexion…",
|
||||
"groupCall.waitingLink": "En attente d'un lien direct…",
|
||||
"groupCall.legFailed": "Connexion impossible",
|
||||
"groupCall.startedVoice": "{name} a démarré un appel vocal",
|
||||
"groupCall.startedVideo": "{name} a démarré un appel vidéo",
|
||||
"groupCall.inCall": "{count} dans l'appel",
|
||||
"groupCall.err.permission_denied": "L'appel n'a pas pu démarrer - l'accès au micro et à la caméra est bloqué. Autorisez-le pour ce site, puis réessayez.",
|
||||
"groupCall.err.device_not_found": "L'appel n'a pas pu démarrer - aucun micro n'a été trouvé sur cet appareil.",
|
||||
"groupCall.err.device_busy": "L'appel n'a pas pu démarrer - votre micro est utilisé par une autre application. Fermez-la et réessayez.",
|
||||
"groupCall.err.media_failed": "L'appel n'a pas pu démarrer - le micro n'a pas pu être ouvert.",
|
||||
"groupCall.err.call_in_progress": "Un appel est déjà en cours dans ce groupe. Rejoignez-le plutôt que d'en démarrer un autre.",
|
||||
"groupCall.err.not_ready": "Confirmez le code du groupe avant d'appeler.",
|
||||
"groupCall.speaking": "{name} parle",
|
||||
"groupCall.pin": "Afficher {name} en grand",
|
||||
"groupCall.unpin": "Revenir à tous",
|
||||
"groupCall.showEveryone": "Tout le monde"
|
||||
},
|
||||
"manifest": {
|
||||
"name": "SecureBit.chat - Messagerie privée et chiffrée",
|
||||
|
||||
+26
-1
@@ -36,6 +36,9 @@
|
||||
},
|
||||
"ui": {
|
||||
"language.label": "שפה",
|
||||
"language.suggest.text": "הדף הזה זמין גם בעברית.",
|
||||
"language.suggest.cta": "לקריאה בעברית",
|
||||
"language.suggest.dismiss": "סגירה",
|
||||
"community.title": "הצטרפו לעתיד של הפרטיות",
|
||||
"community.description": "SecureBit גדל בזכות הקהילה שלו. הרעיונות והמשוב שלכם מעצבים את עתיד התקשורת המאובטחת - נבנה בגלוי, עם אימות ASN.1 מלא מקצה לקצה.",
|
||||
"community.github": "מאגר GitHub",
|
||||
@@ -781,6 +784,28 @@
|
||||
"offline.disconnect": "ניתוק",
|
||||
"offline.learnMore": "מידע נוסף",
|
||||
"pwa.installApp": "התקנת האפליקציה",
|
||||
"chat.onWeb": "אתם בגרסת הווב"
|
||||
"chat.onWeb": "אתם בגרסת הווב",
|
||||
"groupCall.startVoice": "התחלת שיחה קולית קבוצתית",
|
||||
"groupCall.startVideo": "התחלת שיחת וידאו קבוצתית",
|
||||
"groupCall.join": "הצטרפות",
|
||||
"groupCall.dismiss": "לא עכשיו",
|
||||
"groupCall.leave": "יציאה מהשיחה",
|
||||
"groupCall.you": "את/ה",
|
||||
"groupCall.connecting": "מתחבר…",
|
||||
"groupCall.waitingLink": "ממתין לקישור ישיר…",
|
||||
"groupCall.legFailed": "ההתחברות נכשלה",
|
||||
"groupCall.startedVoice": "{name} התחיל שיחה קולית",
|
||||
"groupCall.startedVideo": "{name} התחיל שיחת וידאו",
|
||||
"groupCall.inCall": "{count} בשיחה",
|
||||
"groupCall.err.permission_denied": "השיחה לא התחילה - הגישה למיקרופון ולמצלמה חסומה. אפשרו אותה לאתר הזה ונסו שוב.",
|
||||
"groupCall.err.device_not_found": "השיחה לא התחילה - לא נמצא מיקרופון במכשיר הזה.",
|
||||
"groupCall.err.device_busy": "השיחה לא התחילה - המיקרופון בשימוש אפליקציה אחרת. סגרו אותה ונסו שוב.",
|
||||
"groupCall.err.media_failed": "השיחה לא התחילה - לא ניתן היה לפתוח את המיקרופון.",
|
||||
"groupCall.err.call_in_progress": "כבר מתקיימת שיחה בקבוצה הזו. הצטרפו אליה במקום להתחיל אחת חדשה.",
|
||||
"groupCall.err.not_ready": "אשרו את קוד הקבוצה לפני שיחה.",
|
||||
"groupCall.speaking": "{name} מדבר/ת",
|
||||
"groupCall.pin": "הצגת {name} בגדול",
|
||||
"groupCall.unpin": "חזרה לכולם",
|
||||
"groupCall.showEveryone": "כולם"
|
||||
}
|
||||
}
|
||||
|
||||
+26
-1
@@ -31,6 +31,9 @@
|
||||
},
|
||||
"ui": {
|
||||
"language.label": "भाषा",
|
||||
"language.suggest.text": "यह पृष्ठ हिन्दी में भी उपलब्ध है।",
|
||||
"language.suggest.cta": "हिन्दी में पढ़ें",
|
||||
"language.suggest.dismiss": "बंद करें",
|
||||
"community.title": "निजता के भविष्य में शामिल हों",
|
||||
"community.description": "SecureBit अपने समुदाय से बढ़ता है। आपके विचार और सुझाव सुरक्षित संवाद का भविष्य गढ़ते हैं - खुले में बना, और पूरे रास्ते पूरी ASN.1 जाँच के साथ।",
|
||||
"community.github": "GitHub रिपॉज़िटरी",
|
||||
@@ -776,7 +779,29 @@
|
||||
"offline.disconnect": "जुड़ाव तोड़ें",
|
||||
"offline.learnMore": "और जानें",
|
||||
"pwa.installApp": "ऐप इंस्टॉल करें",
|
||||
"chat.onWeb": "आप वेब संस्करण पर हैं"
|
||||
"chat.onWeb": "आप वेब संस्करण पर हैं",
|
||||
"groupCall.startVoice": "समूह वॉइस कॉल शुरू करें",
|
||||
"groupCall.startVideo": "समूह वीडियो कॉल शुरू करें",
|
||||
"groupCall.join": "शामिल हों",
|
||||
"groupCall.dismiss": "अभी नहीं",
|
||||
"groupCall.leave": "कॉल छोड़ें",
|
||||
"groupCall.you": "आप",
|
||||
"groupCall.connecting": "जुड़ रहा है…",
|
||||
"groupCall.waitingLink": "सीधे लिंक की प्रतीक्षा…",
|
||||
"groupCall.legFailed": "कनेक्ट नहीं हो सका",
|
||||
"groupCall.startedVoice": "{name} ने वॉइस कॉल शुरू की",
|
||||
"groupCall.startedVideo": "{name} ने वीडियो कॉल शुरू की",
|
||||
"groupCall.inCall": "कॉल में {count}",
|
||||
"groupCall.err.permission_denied": "कॉल शुरू नहीं हो सकी - माइक्रोफ़ोन और कैमरे की अनुमति अवरुद्ध है। इस साइट के लिए अनुमति दें और फिर कोशिश करें।",
|
||||
"groupCall.err.device_not_found": "कॉल शुरू नहीं हो सकी - इस डिवाइस पर कोई माइक्रोफ़ोन नहीं मिला।",
|
||||
"groupCall.err.device_busy": "कॉल शुरू नहीं हो सकी - आपका माइक्रोफ़ोन किसी अन्य ऐप के उपयोग में है। उसे बंद करके फिर कोशिश करें।",
|
||||
"groupCall.err.media_failed": "कॉल शुरू नहीं हो सकी - माइक्रोफ़ोन नहीं खुल सका।",
|
||||
"groupCall.err.call_in_progress": "इस समूह में पहले से एक कॉल चल रही है। नई शुरू करने के बजाय उसमें शामिल हों।",
|
||||
"groupCall.err.not_ready": "कॉल करने से पहले समूह कोड की पुष्टि करें।",
|
||||
"groupCall.speaking": "{name} बोल रहे हैं",
|
||||
"groupCall.pin": "{name} को बड़ा दिखाएँ",
|
||||
"groupCall.unpin": "सभी पर लौटें",
|
||||
"groupCall.showEveryone": "सभी"
|
||||
},
|
||||
"manifest": {
|
||||
"name": "SecureBit.chat - निजी, एन्क्रिप्टेड मैसेंजर",
|
||||
|
||||
+26
-1
@@ -31,6 +31,9 @@
|
||||
},
|
||||
"ui": {
|
||||
"language.label": "언어",
|
||||
"language.suggest.text": "이 페이지는 한국어로도 볼 수 있습니다.",
|
||||
"language.suggest.cta": "한국어로 보기",
|
||||
"language.suggest.dismiss": "닫기",
|
||||
"community.title": "프라이버시의 미래를 함께 만듭니다",
|
||||
"community.description": "SecureBit은 커뮤니티 덕분에 자랍니다. 여러분의 아이디어와 의견이 안전한 소통의 미래를 만듭니다 - 모든 과정이 공개되어 있고, 전 구간에서 ASN.1 검증을 수행합니다.",
|
||||
"community.github": "GitHub 저장소",
|
||||
@@ -776,7 +779,29 @@
|
||||
"offline.disconnect": "연결 끊기",
|
||||
"offline.learnMore": "자세히 보기",
|
||||
"pwa.installApp": "앱 설치",
|
||||
"chat.onWeb": "웹 버전을 쓰고 있습니다"
|
||||
"chat.onWeb": "웹 버전을 쓰고 있습니다",
|
||||
"groupCall.startVoice": "그룹 음성 통화 시작",
|
||||
"groupCall.startVideo": "그룹 영상 통화 시작",
|
||||
"groupCall.join": "참여",
|
||||
"groupCall.dismiss": "나중에",
|
||||
"groupCall.leave": "통화 나가기",
|
||||
"groupCall.you": "나",
|
||||
"groupCall.connecting": "연결 중…",
|
||||
"groupCall.waitingLink": "직접 연결을 기다리는 중…",
|
||||
"groupCall.legFailed": "연결하지 못했습니다",
|
||||
"groupCall.startedVoice": "{name} 님이 음성 통화를 시작했습니다",
|
||||
"groupCall.startedVideo": "{name} 님이 영상 통화를 시작했습니다",
|
||||
"groupCall.inCall": "통화 중 {count}명",
|
||||
"groupCall.err.permission_denied": "통화를 시작할 수 없습니다 - 마이크와 카메라 접근이 차단되어 있습니다. 이 사이트에 허용한 뒤 다시 시도하세요.",
|
||||
"groupCall.err.device_not_found": "통화를 시작할 수 없습니다 - 이 기기에서 마이크를 찾을 수 없습니다.",
|
||||
"groupCall.err.device_busy": "통화를 시작할 수 없습니다 - 마이크를 다른 앱이 사용 중입니다. 종료한 뒤 다시 시도하세요.",
|
||||
"groupCall.err.media_failed": "통화를 시작할 수 없습니다 - 마이크를 열지 못했습니다.",
|
||||
"groupCall.err.call_in_progress": "이 그룹에서 이미 통화가 진행 중입니다. 새로 시작하지 말고 참여하세요.",
|
||||
"groupCall.err.not_ready": "통화하기 전에 그룹 코드를 확인하세요.",
|
||||
"groupCall.speaking": "{name} 님이 말하는 중",
|
||||
"groupCall.pin": "{name} 크게 보기",
|
||||
"groupCall.unpin": "전체 보기로 돌아가기",
|
||||
"groupCall.showEveryone": "전체"
|
||||
},
|
||||
"manifest": {
|
||||
"name": "SecureBit.chat - 종단 간 암호화 비공개 메신저",
|
||||
|
||||
+26
-1
@@ -36,6 +36,9 @@
|
||||
},
|
||||
"ui": {
|
||||
"language.label": "Язык",
|
||||
"language.suggest.text": "Эта страница также доступна на русском.",
|
||||
"language.suggest.cta": "Читать по-русски",
|
||||
"language.suggest.dismiss": "Закрыть",
|
||||
"community.title": "Присоединяйтесь к будущему приватности",
|
||||
"community.description": "SecureBit растёт благодаря сообществу. Ваши идеи и отзывы формируют будущее защищённого общения - разработка ведётся открыто, с полной проверкой ASN.1 на всём пути.",
|
||||
"community.github": "Репозиторий на GitHub",
|
||||
@@ -781,6 +784,28 @@
|
||||
"offline.disconnect": "Отключиться",
|
||||
"offline.learnMore": "Подробнее",
|
||||
"pwa.installApp": "Установить приложение",
|
||||
"chat.onWeb": "Вы в веб-версии"
|
||||
"chat.onWeb": "Вы в веб-версии",
|
||||
"groupCall.startVoice": "Начать групповой голосовой звонок",
|
||||
"groupCall.startVideo": "Начать групповой видеозвонок",
|
||||
"groupCall.join": "Присоединиться",
|
||||
"groupCall.dismiss": "Не сейчас",
|
||||
"groupCall.leave": "Выйти из звонка",
|
||||
"groupCall.you": "Вы",
|
||||
"groupCall.connecting": "Соединение…",
|
||||
"groupCall.waitingLink": "Ожидание прямого соединения…",
|
||||
"groupCall.legFailed": "Не удалось соединиться",
|
||||
"groupCall.startedVoice": "{name} начал голосовой звонок",
|
||||
"groupCall.startedVideo": "{name} начал видеозвонок",
|
||||
"groupCall.inCall": "{count} в звонке",
|
||||
"groupCall.err.permission_denied": "Звонок не начался - доступ к микрофону и камере заблокирован. Разрешите его для этого сайта и попробуйте снова.",
|
||||
"groupCall.err.device_not_found": "Звонок не начался - на этом устройстве не найден микрофон.",
|
||||
"groupCall.err.device_busy": "Звонок не начался - микрофон занят другим приложением. Закройте его и попробуйте снова.",
|
||||
"groupCall.err.media_failed": "Звонок не начался - не удалось открыть микрофон.",
|
||||
"groupCall.err.call_in_progress": "В этой группе уже идёт звонок. Присоединитесь к нему, а не начинайте новый.",
|
||||
"groupCall.err.not_ready": "Сначала подтвердите код группы.",
|
||||
"groupCall.speaking": "{name} говорит",
|
||||
"groupCall.pin": "Показать {name} крупно",
|
||||
"groupCall.unpin": "Вернуться ко всем",
|
||||
"groupCall.showEveryone": "Все"
|
||||
}
|
||||
}
|
||||
|
||||
+26
-1
@@ -36,6 +36,9 @@
|
||||
},
|
||||
"ui": {
|
||||
"language.label": "Мова",
|
||||
"language.suggest.text": "Ця сторінка також доступна українською.",
|
||||
"language.suggest.cta": "Читати українською",
|
||||
"language.suggest.dismiss": "Закрити",
|
||||
"community.title": "Долучайтеся до майбутнього приватності",
|
||||
"community.description": "SecureBit росте завдяки своїй спільноті. Ваші ідеї та відгуки формують майбутнє захищеного спілкування - розробка ведеться відкрито, з повною валідацією ASN.1 на всьому шляху.",
|
||||
"community.github": "Репозиторій на GitHub",
|
||||
@@ -781,6 +784,28 @@
|
||||
"offline.disconnect": "Від'єднатися",
|
||||
"offline.learnMore": "Докладніше",
|
||||
"pwa.installApp": "Встановити застосунок",
|
||||
"chat.onWeb": "Ви у вебверсії"
|
||||
"chat.onWeb": "Ви у вебверсії",
|
||||
"groupCall.startVoice": "Почати груповий голосовий дзвінок",
|
||||
"groupCall.startVideo": "Почати груповий відеодзвінок",
|
||||
"groupCall.join": "Приєднатися",
|
||||
"groupCall.dismiss": "Не зараз",
|
||||
"groupCall.leave": "Вийти з дзвінка",
|
||||
"groupCall.you": "Ви",
|
||||
"groupCall.connecting": "З'єднання…",
|
||||
"groupCall.waitingLink": "Очікування прямого з'єднання…",
|
||||
"groupCall.legFailed": "Не вдалося з'єднатися",
|
||||
"groupCall.startedVoice": "{name} почав голосовий дзвінок",
|
||||
"groupCall.startedVideo": "{name} почав відеодзвінок",
|
||||
"groupCall.inCall": "{count} у дзвінку",
|
||||
"groupCall.err.permission_denied": "Дзвінок не почався - доступ до мікрофона й камери заблоковано. Дозвольте його для цього сайту й спробуйте ще раз.",
|
||||
"groupCall.err.device_not_found": "Дзвінок не почався - на цьому пристрої не знайдено мікрофона.",
|
||||
"groupCall.err.device_busy": "Дзвінок не почався - мікрофон зайнятий іншим застосунком. Закрийте його й спробуйте ще раз.",
|
||||
"groupCall.err.media_failed": "Дзвінок не почався - не вдалося відкрити мікрофон.",
|
||||
"groupCall.err.call_in_progress": "У цій групі вже триває дзвінок. Приєднайтеся до нього, а не починайте новий.",
|
||||
"groupCall.err.not_ready": "Спершу підтвердьте код групи.",
|
||||
"groupCall.speaking": "{name} говорить",
|
||||
"groupCall.pin": "Показати {name} великим",
|
||||
"groupCall.unpin": "Повернутися до всіх",
|
||||
"groupCall.showEveryone": "Усі"
|
||||
}
|
||||
}
|
||||
|
||||
+26
-1
@@ -36,6 +36,9 @@
|
||||
},
|
||||
"ui": {
|
||||
"language.label": "زبان",
|
||||
"language.suggest.text": "یہ صفحہ اردو میں بھی دستیاب ہے۔",
|
||||
"language.suggest.cta": "اردو میں پڑھیں",
|
||||
"language.suggest.dismiss": "بند کریں",
|
||||
"community.title": "نجیت کے مستقبل میں شامل ہوں",
|
||||
"community.description": "SecureBit اپنی برادری کی بدولت بڑھتا ہے۔ آپ کے خیالات اور آراء محفوظ رابطے کا مستقبل تشکیل دیتے ہیں - کھلے عام بنایا گیا، سرے سے سرے تک مکمل ASN.1 توثیق کے ساتھ۔",
|
||||
"community.github": "GitHub مخزن",
|
||||
@@ -781,6 +784,28 @@
|
||||
"offline.disconnect": "منقطع کریں",
|
||||
"offline.learnMore": "مزید جانیں",
|
||||
"pwa.installApp": "ایپ نصب کریں",
|
||||
"chat.onWeb": "آپ ویب پر ہیں"
|
||||
"chat.onWeb": "آپ ویب پر ہیں",
|
||||
"groupCall.startVoice": "گروپ وائس کال شروع کریں",
|
||||
"groupCall.startVideo": "گروپ ویڈیو کال شروع کریں",
|
||||
"groupCall.join": "شامل ہوں",
|
||||
"groupCall.dismiss": "ابھی نہیں",
|
||||
"groupCall.leave": "کال چھوڑیں",
|
||||
"groupCall.you": "آپ",
|
||||
"groupCall.connecting": "منسلک ہو رہا ہے…",
|
||||
"groupCall.waitingLink": "براہِ راست رابطے کا انتظار…",
|
||||
"groupCall.legFailed": "منسلک نہیں ہو سکا",
|
||||
"groupCall.startedVoice": "{name} نے وائس کال شروع کی",
|
||||
"groupCall.startedVideo": "{name} نے ویڈیو کال شروع کی",
|
||||
"groupCall.inCall": "کال میں {count}",
|
||||
"groupCall.err.permission_denied": "کال شروع نہیں ہو سکی - مائیکروفون اور کیمرے تک رسائی بند ہے۔ اس سائٹ کے لیے اجازت دیں اور دوبارہ کوشش کریں۔",
|
||||
"groupCall.err.device_not_found": "کال شروع نہیں ہو سکی - اس ڈیوائس پر کوئی مائیکروفون نہیں ملا۔",
|
||||
"groupCall.err.device_busy": "کال شروع نہیں ہو سکی - آپ کا مائیکروفون کسی اور ایپ کے زیرِ استعمال ہے۔ اسے بند کر کے دوبارہ کوشش کریں۔",
|
||||
"groupCall.err.media_failed": "کال شروع نہیں ہو سکی - مائیکروفون نہیں کھل سکا۔",
|
||||
"groupCall.err.call_in_progress": "اس گروپ میں پہلے ہی ایک کال جاری ہے۔ نئی شروع کرنے کے بجائے اس میں شامل ہوں۔",
|
||||
"groupCall.err.not_ready": "کال سے پہلے گروپ کوڈ کی تصدیق کریں۔",
|
||||
"groupCall.speaking": "{name} بول رہے ہیں",
|
||||
"groupCall.pin": "{name} کو بڑا دکھائیں",
|
||||
"groupCall.unpin": "سب پر واپس جائیں",
|
||||
"groupCall.showEveryone": "سب"
|
||||
}
|
||||
}
|
||||
|
||||
+26
-1
@@ -31,6 +31,9 @@
|
||||
},
|
||||
"ui": {
|
||||
"language.label": "语言",
|
||||
"language.suggest.text": "本页面也有简体中文版本。",
|
||||
"language.suggest.cta": "阅读简体中文",
|
||||
"language.suggest.dismiss": "关闭",
|
||||
"community.title": "一起构筑隐私的未来",
|
||||
"community.description": "SecureBit 因社区而成长。你的想法与反馈塑造着安全通讯的未来 —— 开放开发,全程完整的 ASN.1 校验。",
|
||||
"community.github": "GitHub 仓库",
|
||||
@@ -776,7 +779,29 @@
|
||||
"offline.disconnect": "断开连接",
|
||||
"offline.learnMore": "了解更多",
|
||||
"pwa.installApp": "安装应用",
|
||||
"chat.onWeb": "你正在使用网页版"
|
||||
"chat.onWeb": "你正在使用网页版",
|
||||
"groupCall.startVoice": "发起群组语音通话",
|
||||
"groupCall.startVideo": "发起群组视频通话",
|
||||
"groupCall.join": "加入",
|
||||
"groupCall.dismiss": "暂不加入",
|
||||
"groupCall.leave": "离开通话",
|
||||
"groupCall.you": "你",
|
||||
"groupCall.connecting": "连接中…",
|
||||
"groupCall.waitingLink": "正在等待直连…",
|
||||
"groupCall.legFailed": "无法连接",
|
||||
"groupCall.startedVoice": "{name} 发起了语音通话",
|
||||
"groupCall.startedVideo": "{name} 发起了视频通话",
|
||||
"groupCall.inCall": "{count} 人在通话中",
|
||||
"groupCall.err.permission_denied": "通话无法开始 - 麦克风和摄像头权限被拒绝。请为本站点允许后重试。",
|
||||
"groupCall.err.device_not_found": "通话无法开始 - 此设备上未找到麦克风。",
|
||||
"groupCall.err.device_busy": "通话无法开始 - 麦克风正被其他应用占用。请关闭后重试。",
|
||||
"groupCall.err.media_failed": "通话无法开始 - 无法打开麦克风。",
|
||||
"groupCall.err.call_in_progress": "该群组已有通话正在进行。请加入,而不是另开一个。",
|
||||
"groupCall.err.not_ready": "请先确认群组安全码再通话。",
|
||||
"groupCall.speaking": "{name} 正在讲话",
|
||||
"groupCall.pin": "放大显示 {name}",
|
||||
"groupCall.unpin": "返回所有人",
|
||||
"groupCall.showEveryone": "所有人"
|
||||
},
|
||||
"manifest": {
|
||||
"name": "SecureBit.chat - 私密的端到端加密通讯工具",
|
||||
|
||||
Reference in New Issue
Block a user