1.0.1 is the first desktop build that works on Linux at all. It also carries the desktop.callsNotHere string these dictionaries now define for it — calls are not available on the Linux desktop yet and the app says so rather than failing.
888 lines
73 KiB
JSON
888 lines
73 KiB
JSON
{
|
||
"htmlLang": "uk",
|
||
"ogLocale": "uk_UA",
|
||
"dir": "ltr",
|
||
"nativeName": "Українська",
|
||
"abbr": "UK",
|
||
"meta": {
|
||
"title": "SecureBit.chat - приватний месенджер із наскрізним шифруванням",
|
||
"description": "SecureBit.chat - безкоштовний одноранговий месенджер із наскрізним шифруванням, який працює повністю у вашому браузері. Без облікових записів і без серверів, що зберігають ваші повідомлення: ECDH P-384, AES-256-GCM та особиста SAS-звірка.",
|
||
"keywords": "зашифрований месенджер, наскрізне шифрування, одноранговий чат, P2P-месенджер, ECDH, DTLS, SAS-звірка, WebRTC, приватний чат, захищений чат, без серверів, без облікових записів, захист від MITM, PFS",
|
||
"ogTitle": "SecureBit.chat - одноранговий чат із наскрізним шифруванням",
|
||
"ogDescription": "Захищений месенджер, який працює повністю у вашому браузері. Без облікових записів і без серверів, що зберігають ваші повідомлення. Підключайте власні STUN/TURN-сервери - ми нічого не нав'язуємо.",
|
||
"ogImageAlt": "SecureBit.chat - одноранговий чат із наскрізним шифруванням",
|
||
"twitterTitle": "SecureBit.chat - одноранговий чат із наскрізним шифруванням",
|
||
"twitterDescription": "Захищений месенджер, який працює повністю у вашому браузері. Без облікових записів і без серверів, що зберігають ваші повідомлення.",
|
||
"twitterImageAlt": "SecureBit.chat - одноранговий чат із наскрізним шифруванням"
|
||
},
|
||
"schema": {
|
||
"siteDescription": "Однорангові чат із наскрізним шифруванням, який працює повністю у браузері.",
|
||
"appDescription": "Безкоштовний одноранговий месенджер із наскрізним шифруванням. Без облікових записів і без серверів, що зберігають повідомлення: ECDH P-384, AES-256-GCM та особиста SAS-звірка.",
|
||
"operatingSystem": "Будь-яка (сучасний веббраузер)",
|
||
"browserRequirements": "Потребує WebRTC і Web Crypto API",
|
||
"featureList": [
|
||
"Наскрізне шифрування (ECDH P-384, AES-256-GCM)",
|
||
"Однорангове з'єднання через WebRTC, без серверів для повідомлень",
|
||
"Особиста SAS-звірка проти атак «людина посередині»",
|
||
"Власні STUN/TURN-сервери та режим приватності лише через relay",
|
||
"Зашифрована передача файлів",
|
||
"Прогресивний вебзастосунок, який можна встановити й використовувати офлайн"
|
||
]
|
||
},
|
||
"manifest": {
|
||
"name": "SecureBit.chat - приватний месенджер із наскрізним шифруванням",
|
||
"short_name": "SecureBit",
|
||
"description": "P2P-месенджер із захистом ECDH, DTLS і SAS та криптографією військового рівня"
|
||
},
|
||
"ui": {
|
||
"language.label": "Мова",
|
||
"language.suggest.text": "Ця сторінка також доступна українською.",
|
||
"language.suggest.cta": "Читати українською",
|
||
"language.suggest.dismiss": "Закрити",
|
||
"community.title": "Долучайтеся до майбутнього приватності",
|
||
"community.description": "SecureBit росте завдяки своїй спільноті. Ваші ідеї та відгуки формують майбутнє захищеного спілкування - розробка ведеться відкрито, з повною валідацією ASN.1 на всьому шляху.",
|
||
"community.github": "Репозиторій на GitHub",
|
||
"community.feedback": "Відгук",
|
||
"unique.eyebrow": "Чим ми вирізняємось",
|
||
"unique.heading": "Чому SecureBit - особливий",
|
||
"unique.s1.titleTop": "Багатошарове",
|
||
"unique.s1.titleBottom": "ядро шифрування",
|
||
"unique.s1.collapsed": "Ядро шифрування",
|
||
"unique.s1.desc": "Обмін ключами ECDH P-384, корисне навантаження в AES-256-GCM, підписи ECDSA і повна валідація ASN.1 - зведені в один загартований конвеєр.",
|
||
"unique.s1.tags": [
|
||
"ECDH P-384",
|
||
"AES-256-GCM",
|
||
"ECDSA",
|
||
"ASN.1"
|
||
],
|
||
"unique.s2.titleTop": "Чистий P2P",
|
||
"unique.s2.titleBottom": "через WebRTC",
|
||
"unique.s2.collapsed": "Чистий P2P через WebRTC",
|
||
"unique.s2.desc": "Повідомлення йдуть напряму між пристроями через WebRTC. Жоден relay не тримає ваших даних - сервер лише допомагає двом учасникам знайти одне одного.",
|
||
"unique.s2.tags": [
|
||
"DTLS 1.3",
|
||
"Без relay"
|
||
],
|
||
"unique.s3.titleTop": "Досконала",
|
||
"unique.s3.titleBottom": "пряма секретність",
|
||
"unique.s3.collapsed": "Пряма секретність",
|
||
"unique.s3.desc": "Сеансові ключі змінюються безперервно й відкидаються після використання, тож один скомпрометований ключ ніколи не відкриє попередніх розмов.",
|
||
"unique.s3.tags": [
|
||
"Ефемерні ключі",
|
||
"Автоматична зміна"
|
||
],
|
||
"unique.s4.titleTop": "Маскування",
|
||
"unique.s4.titleBottom": "трафіку",
|
||
"unique.s4.collapsed": "Маскування трафіку",
|
||
"unique.s4.desc": "Розміри пакетів і паузи між ними доповнюються та рандомізуються, тож метадані не складаються в помітний візерунок навіть для того, хто стежить за каналом.",
|
||
"unique.s4.tags": [
|
||
"Доповнення пакетів",
|
||
"Розкид у часі"
|
||
],
|
||
"unique.s5.titleTop": "Жодного",
|
||
"unique.s5.titleBottom": "збору даних",
|
||
"unique.s5.collapsed": "Жодного збору даних",
|
||
"unique.s5.desc": "Без облікових записів, без журналів, без збереження повідомлень. На сервері немає нічого, що можна злити, вилучити за ухвалою чи продати.",
|
||
"unique.s5.tags": [
|
||
"Без облікових записів",
|
||
"Без журналів"
|
||
],
|
||
"partners.eyebrow": "Партнери та екосистема",
|
||
"partners.heading": "Нам довіряють наші партнери",
|
||
"partners.aegis.desc": "Інвестиційний партнер, який захищає конфіденційні фінансові комунікації у своєму портфелі.",
|
||
"partners.aegis.role": "Стратегічний інвестор",
|
||
"partners.furilabs.desc": "Linux-телефони з пріоритетом приватності, які постачають SecureBit як типовий захищений канал.",
|
||
"partners.furilabs.role": "Технологічний партнер",
|
||
"partners.inviteTitle": "Стати партнером",
|
||
"partners.inviteDesc": "Створюєте обладнання чи інфраструктуру для приватності? Інтегруймо SecureBit.",
|
||
"partners.inviteCta": "Почати розмову",
|
||
"roadmap.eyebrow": "Дорожня карта",
|
||
"roadmap.heading": "Як розвивався SecureBit",
|
||
"roadmap.subheading": "Від першого прототипу до децентралізованої мережі, стійкої до квантових обчислень, з повною валідацією ASN.1 на кожному рівні.",
|
||
"roadmap.progress": "Пройдено {shipped} з {total} етапів",
|
||
"roadmap.upcoming": "{upcoming} попереду",
|
||
"roadmap.keyFeatures": "Ключові можливості",
|
||
"roadmap.status.released": "Випущено",
|
||
"roadmap.status.current": "Поточний",
|
||
"roadmap.status.dev": "У розробці",
|
||
"roadmap.status.planned": "Заплановано",
|
||
"roadmap.status.research": "Дослідження",
|
||
"hero.headlineTop": "Пряма лінія,",
|
||
"hero.headlineBottom": "яку прочитаєте лише ви двоє.",
|
||
"hero.subheading": "Ключі створюються на вашому пристрої й передаються напряму між учасниками. Без облікових записів і без серверів, що зберігають ваші повідомлення.",
|
||
"hero.diagramAlt": "Пряма зашифрована лінія до одного учасника, до якої долучаються ще двоє",
|
||
"intro.createTitle": "Створити новий канал",
|
||
"intro.createDesc": "Ваш пристрій створює ключі та одноразове запрошення. Ніщо з цього не потрапляє на сервер.",
|
||
"intro.createCta": "Створити ключі та запрошення",
|
||
"intro.joinTitle": "Приєднатися до каналу",
|
||
"intro.scanTitle": "Сканувати QR камерою",
|
||
"intro.scanSubtitle": "Найшвидше - наведіть на екран співрозмовника",
|
||
"intro.orPasteCode": "або вставте код",
|
||
"intro.pastePlaceholder": "Вставте код запрошення сюди…",
|
||
"intro.connect": "З'єднатися",
|
||
"intro.connecting": "Обробка…",
|
||
"roadmap.r1.title": "Початок розробки",
|
||
"roadmap.r1.sub": "Ідея, прототип і налаштування інфраструктури",
|
||
"roadmap.r1.date": "Початок 2025",
|
||
"roadmap.r1.features": [
|
||
"Формування концепції та вимог",
|
||
"Вибір стека: WebRTC, P2P, криптографія",
|
||
"Перші прототипи обміну повідомленнями",
|
||
"Створення репозиторію та CI",
|
||
"Базова архітектура шифрування",
|
||
"Дизайн UX/UI"
|
||
],
|
||
"roadmap.r2.title": "Альфа-версія",
|
||
"roadmap.r2.sub": "Перша публічна альфа: базовий чат і обмін ключами",
|
||
"roadmap.r2.date": "Весна 2025",
|
||
"roadmap.r2.features": [
|
||
"Базовий обмін повідомленнями P2P через WebRTC",
|
||
"Просте наскрізне шифрування (демонстраційна схема)",
|
||
"Стабільний сигналінг і перепідключення",
|
||
"Мінімальний інтерфейс для тестування",
|
||
"Збір відгуків від перших тестувальників"
|
||
],
|
||
"roadmap.r3.title": "Посилений захист",
|
||
"roadmap.r3.sub": "Зміцнення безпеки та випуск стабільної гілки",
|
||
"roadmap.r3.date": "Літо 2025",
|
||
"roadmap.r3.features": [
|
||
"ECDH/ECDSA у промисловій експлуатації",
|
||
"Пряма секретність і зміна ключів",
|
||
"Покращені перевірки автентифікації",
|
||
"Шифрування файлів і передавання великих обсягів",
|
||
"Аудит базових криптографічних процесів"
|
||
],
|
||
"roadmap.r4.title": "Масштабування та стабільність",
|
||
"roadmap.r4.sub": "Масштабування мережі та підвищення стабільності",
|
||
"roadmap.r4.date": "Осінь 2025",
|
||
"roadmap.r4.features": [
|
||
"Оптимізація P2P-з'єднань і проходження NAT",
|
||
"Механізми перепідключення та черги повідомлень",
|
||
"Менше споживання батареї на мобільних",
|
||
"Синхронізація між кількома пристроями",
|
||
"Інструменти моніторингу та журналювання для розробників"
|
||
],
|
||
"roadmap.r5.title": "Приватність передусім",
|
||
"roadmap.r5.sub": "Фокус на приватності: зменшення метаданих",
|
||
"roadmap.r5.date": "Зима 2025",
|
||
"roadmap.r5.features": [
|
||
"Захист метаданих і зменшення відбитка",
|
||
"Експерименти з цибулевою маршрутизацією та DHT",
|
||
"Варіанти анонімних з'єднань",
|
||
"Підготовка до відкритого аудиту коду",
|
||
"Покращена перевірка учасників"
|
||
],
|
||
"roadmap.r6.title": "Enhanced Security Edition",
|
||
"roadmap.r6.sub": "18-шарова криптографія військового рівня з повною валідацією ASN.1",
|
||
"roadmap.r6.date": "Кінець 2025",
|
||
"roadmap.r6.features": [
|
||
"Потрійний захист: ECDH + DTLS + SAS",
|
||
"Шифрування ECDH P-384 і AES-GCM 256 біт",
|
||
"Перевірка відбитка DTLS",
|
||
"Перевірка SAS (короткий рядок автентифікації)",
|
||
"Пряма секретність зі зміною ключів",
|
||
"Посилений захист від атак «людина посередині»",
|
||
"Повна валідація ASN.1 DER",
|
||
"Перевірка OID і точок EC",
|
||
"Валідація структури SPKI",
|
||
"Архітектура P2P на WebRTC",
|
||
"Захист метаданих",
|
||
"100 % відкритий код"
|
||
],
|
||
"roadmap.r7.title": "Desktop Edition",
|
||
"roadmap.r7.sub": "Власні застосунки для Windows, macOS і Linux",
|
||
"roadmap.r7.date": "Початок 2026",
|
||
"roadmap.r7.features": [
|
||
"Застосунок для Windows (Tauri v2)",
|
||
"Застосунок для macOS (Tauri v2)",
|
||
"AppImage для Linux (Tauri v2)",
|
||
"Сповіщення в реальному часі",
|
||
"Автоматичне перепідключення",
|
||
"Синхронізація між пристроями",
|
||
"Оновлений інтерфейс",
|
||
"Файли до 100 МБ"
|
||
],
|
||
"roadmap.r8.title": "Захищений голос і дзвінки",
|
||
"roadmap.r8.sub": "Зашифровані голосові повідомлення, аудіо- та відеодзвінки",
|
||
"roadmap.r8.date": "Початок 2026",
|
||
"roadmap.r8.features": [
|
||
"Голосові повідомлення з наскрізним шифруванням",
|
||
"Зашифровані аудіодзвінки віч-на-віч (WebRTC)",
|
||
"Зашифровані відеодзвінки віч-на-віч (WebRTC)",
|
||
"Пряма секретність для живого потоку",
|
||
"Медіапотоки під захистом SRTP/DTLS",
|
||
"Перевірка SAS під час дзвінка",
|
||
"Сповіщення про дзвінки та автоперепідключення",
|
||
"Медіа P2P з низькою затримкою"
|
||
],
|
||
"roadmap.r9.title": "Групове спілкування",
|
||
"roadmap.r9.sub": "Групові чати без втрати приватності",
|
||
"roadmap.r9.date": "Зараз",
|
||
"roadmap.r9.features": [
|
||
"Групові чати P2P до 8 учасників",
|
||
"Доставка через мережу з підписаним relay як запасним шляхом",
|
||
"Один код безпеки групи, який звіряють усі",
|
||
"Церемонія «спершу зобов'язання, потім розкриття» проти добору кодів",
|
||
"Власні ключі особи в групі, ефемерні за задумом",
|
||
"Підписане членство з упорядкуванням за епохами",
|
||
"Підписані повідомлення - розбіжність у стенограмі можна довести",
|
||
"Без сервера, без спільного ключа групи, без історії"
|
||
],
|
||
"roadmap.r10.title": "Mobile Edition",
|
||
"roadmap.r10.sub": "Власні застосунки для iOS та Android",
|
||
"roadmap.r10.date": "II квартал 2027",
|
||
"roadmap.r10.features": [
|
||
"Застосунок для iOS (Swift/SwiftUI)",
|
||
"Застосунок для Android (Kotlin/Jetpack Compose)",
|
||
"Підтримка PWA в мобільних браузерах",
|
||
"Push-сповіщення в реальному часі",
|
||
"Оптимізація витрати батареї",
|
||
"Інтерфейс, пристосований до мобільних",
|
||
"Черга повідомлень офлайн",
|
||
"Біометрична автентифікація"
|
||
],
|
||
"roadmap.r11.title": "Стійкість до квантових обчислень",
|
||
"roadmap.r11.sub": "Захист від квантових комп'ютерів",
|
||
"roadmap.r11.date": "IV квартал 2027",
|
||
"roadmap.r11.features": [
|
||
"Постквантова криптографія CRYSTALS-Kyber",
|
||
"Цифрові підписи SPHINCS+",
|
||
"Гібридна схема: класична та постквантова",
|
||
"Квантово стійкий обмін ключами",
|
||
"Оновлені алгоритми гешування",
|
||
"Міграція наявних сеансів",
|
||
"Сумісність із v5.x",
|
||
"Квантово стійкі протоколи"
|
||
],
|
||
"roadmap.r12.title": "Децентралізована мережа",
|
||
"roadmap.r12.sub": "Повністю децентралізована мережа",
|
||
"roadmap.r12.date": "2028",
|
||
"roadmap.r12.features": [
|
||
"Сітчаста мережа вузлів",
|
||
"DHT для пошуку учасників",
|
||
"Вбудована цибулева маршрутизація",
|
||
"Токеноміка та стимули для вузлів",
|
||
"Врядування через DAO",
|
||
"Взаємодія з іншими мережами",
|
||
"Сумісність між платформами",
|
||
"Мережа, що відновлюється сама"
|
||
],
|
||
"roadmap.r13.title": "ШІ-помічник із приватності",
|
||
"roadmap.r13.sub": "Штучний інтелект для приватності та безпеки",
|
||
"roadmap.r13.date": "2028+",
|
||
"roadmap.r13.features": [
|
||
"Локальний аналіз загроз за допомогою ШІ",
|
||
"Автоматичне виявлення атак «людина посередині»",
|
||
"Адаптивна криптографія",
|
||
"Персональні поради з безпеки",
|
||
"Машинне навчання з нульовим розголошенням",
|
||
"Приватний ШІ-помічник",
|
||
"Передбачувальна безпека",
|
||
"Автономний захист від атак"
|
||
],
|
||
"handshake.step1": "Створення пари ключів ECDH P-384",
|
||
"handshake.step2": "Обчислення коду перевірки",
|
||
"handshake.step3": "Закріплення прямої секретності",
|
||
"handshake.securingTitle": "Захищаємо ваш канал",
|
||
"handshake.answerTitle": "Готуємо вашу відповідь",
|
||
"handshake.securingDesc": "Створюємо ключі, здатні витримати втручання.",
|
||
"handshake.shareTitle": "Поділіться запрошенням",
|
||
"handshake.sendAnswerTitle": "Надішліть відповідь назад",
|
||
"handshake.shareDesc": "Покажіть QR-код або надішліть код співрозмовнику. Він одноразовий і скоро втратить чинність.",
|
||
"handshake.sendAnswerDesc": "Передайте цю відповідь тому, хто створив канал, щоб він завершив рукостискання.",
|
||
"handshake.establish": "Встановити з'єднання",
|
||
"handshake.thenReceive": "Потім отримайте відповідь, яку надішле співрозмовник",
|
||
"handshake.pasteAnswerPlaceholder": "Вставте код відповіді співрозмовника…",
|
||
"handshake.answerSentNote": "Надішліть цю відповідь створювачу й зачекайте - чат відкриється, щойно він приєднається.",
|
||
"handshake.qrHint": "Тримайте це відкритим, доки співрозмовник не зчитає код.",
|
||
"handshake.qrHintFrames": "Рукостискання розбите на {frames} кадрів - тримайте це відкритим, доки співрозмовник не зчитає всі.",
|
||
"verify.title": "Перевірка безпеки",
|
||
"verify.desc": "Звірте цей код безпеки зі співрозмовником іншим каналом (голосом або особисто), потім введіть його, щоб відкрити чат.",
|
||
"verify.enterLabel": "Введіть звірений код",
|
||
"verify.placeholder": "Введіть код тут",
|
||
"verify.confirm": "Підтвердити код",
|
||
"verify.confirmed": "Підтверджено",
|
||
"verify.mismatch": "Не збігаються",
|
||
"verify.yours": "Ваше підтвердження",
|
||
"verify.peer": "Підтвердження співрозмовника",
|
||
"verify.pending": "Очікується",
|
||
"verify.waiting": "Очікування коду…",
|
||
"verify.verified": "Канал перевірено",
|
||
"verify.bothConfirmed": "Обидві сторони підтвердили. Відкриваємо захищений чат…",
|
||
"pwa.bannerTitle": "Встановіть SecureBit.chat",
|
||
"pwa.bannerDesc": "Досвід власного застосунку з посиленим захистом",
|
||
"pwa.install": "Встановити",
|
||
"pwa.dismiss": "Закрити",
|
||
"pwa.close": "Закрити",
|
||
"pwa.iosTitle": "Встановлення на iOS",
|
||
"pwa.iosStep1": "Натисніть кнопку «Поділитися»",
|
||
"pwa.iosStep1Hint": "Зазвичай унизу Safari",
|
||
"pwa.iosStep2": "Знайдіть «На екран «Домів»»",
|
||
"pwa.iosStep2Hint": "Прогорніть меню поділитися вниз",
|
||
"pwa.iosStep3": "Натисніть «Додати»",
|
||
"pwa.iosStep3Hint": "Підтвердіть, щоб встановити SecureBit.chat",
|
||
"pwa.genericTitle": "Встановити SecureBit",
|
||
"pwa.genericDesc": "Кожен браузер встановлює по-своєму. Оберіть кроки, які відповідають вашому.",
|
||
"pwa.gotIt": "Зрозуміло",
|
||
"pwa.installedTitle": "Застосунок встановлено!",
|
||
"pwa.installedIos": "Застосунок для iOS встановлено! Відкрийте його з екрана «Домів».",
|
||
"pwa.installedGeneric": "SecureBit.chat тепер на вашому пристрої",
|
||
"pwa.anytimeTitle": "Встановити будь-коли",
|
||
"pwa.anytimeDesc": "Ви завжди можете встановити SecureBit.chat із меню браузера - так він працює найкраще.",
|
||
"pwa.ok": "Гаразд",
|
||
"step.open": "Крок 1 · відкрити канал",
|
||
"step.exchange": "Крок 2 · обмін",
|
||
"step.verification": "Крок 3 · перевірка",
|
||
"action.create": "Створити",
|
||
"action.join": "Приєднатися",
|
||
"action.back": "Назад",
|
||
"action.copy": "Копіювати",
|
||
"action.copied": "Скопійовано",
|
||
"action.scan": "Сканувати",
|
||
"action.downloadDesktop": "Завантажити застосунок",
|
||
"action.advancedSettings": "Додаткові налаштування",
|
||
"cred.offerTag": "пропозиція · або скопіюйте текст",
|
||
"cred.answerTag": "відповідь · або скопіюйте текст",
|
||
"cred.reveal": "Натисніть, щоб показати - тримайте цей код у таємниці",
|
||
"qr.title": "Сканувати QR-код",
|
||
"qr.subtitle": "Наведіть камеру на їхній QR-код",
|
||
"qr.scanning": "Сканування…",
|
||
"qr.hint": "Тримайте рівно, доки не зчитаються всі частини. Камера працює локально - нічого не надсилається.",
|
||
"mesh.you": "ви",
|
||
"mesh.peer": "співрозмовник · сеанс 1",
|
||
"mesh.joined2": "оксана приєдналася · +2",
|
||
"mesh.joined3": "тарас приєднався · +3",
|
||
"ice.title": "Мережеві налаштування",
|
||
"ice.subtitle": "Налаштовується локально - ніколи не передається співрозмовнику",
|
||
"ice.intro": "Типово SecureBit використовує публічні STUN-сервери, щоб узгодити пряме з'єднання. Якщо тримаєте власні, вкажіть свої STUN/TURN.",
|
||
"ice.publicTitle": "Публічні сервери (типово)",
|
||
"ice.publicDesc": "Без налаштування. Підходить більшості.",
|
||
"ice.customTitle": "Власні STUN/TURN-сервери",
|
||
"ice.customDesc": "До {max} серверів.",
|
||
"ice.turnNote": "TURN-relay бачить IP обох сторін і ритм трафіку - але ніколи вміст повідомлень, який лишається зашифрованим наскрізно. Краще ",
|
||
"ice.turnNoteTls": " (TLS).",
|
||
"ice.test": "Перевірити сервери",
|
||
"ice.testing": "Перевірка…",
|
||
"ice.relayTitle": "Режим лише через relay",
|
||
"ice.relayBadge": "МАКСИМУМ ПРИВАТНОСТІ",
|
||
"ice.relayDesc": "Пропускає весь трафік через TURN, тож співрозмовник ніколи не побачить вашої IP. Потрібен TURN-сервер.",
|
||
"ice.relayWarning": "Режим лише через relay увімкнено, але TURN-сервер не вказано. З'єднання не зможе початися.",
|
||
"ice.persist": "Зберегти на цьому пристрої",
|
||
"ice.persistDesc": "Зберігається зашифровано в цьому браузері. Лишіть вимкненим, щоб діяло лише в цьому сеансі.",
|
||
"ice.forget": "Забути збережене",
|
||
"ice.cancel": "Скасувати",
|
||
"ice.apply": "Застосувати",
|
||
"ice.errUnavailable": "WebRTC недоступний у цьому браузері",
|
||
"ice.errInvalid": "Хибна конфігурація сервера",
|
||
"update.title": "Доступне оновлення",
|
||
"update.desc": "Виявлено новішу версію SecureBit.",
|
||
"update.currentVersion": "Поточна версія",
|
||
"update.newVersion": "Нова версія",
|
||
"update.now": "Оновити зараз",
|
||
"update.later": "Пізніше",
|
||
"update.unknown": "н/д",
|
||
"update.stepSaving": "Збереження даних…",
|
||
"update.stepSwCaches": "Очищення кешів Service Worker…",
|
||
"update.stepSwUnregister": "Скасування реєстрації Service Worker…",
|
||
"update.stepBrowserCache": "Очищення кешу браузера…",
|
||
"update.stepVersion": "Оновлення версії…",
|
||
"update.stepReload": "Перезавантаження застосунку…",
|
||
"update.error": "Помилка оновлення. Перезавантажте сторінку вручну (Ctrl+F5 або Cmd+Shift+R)",
|
||
"update.confirmSkip": "Доступна нова версія. Оновлення рекомендоване задля безпеки та стабільності. Продовжити без оновлення?",
|
||
"offline.backOnline": "Знову онлайн",
|
||
"offline.mode": "Режим офлайн",
|
||
"offline.dismiss": "Закрити",
|
||
"offline.lostTitle": "З'єднання втрачено",
|
||
"offline.lostDesc": "SecureBit працює офлайн. Дещо обмежено, але ваші дані в безпеці.",
|
||
"offline.point1": "Ваш сеанс і ключі збережено",
|
||
"offline.point2": "Жодних даних на серверах",
|
||
"offline.point3": "Повідомлення й файли синхронізуються після відновлення зв'язку",
|
||
"offline.continue": "Продовжити офлайн",
|
||
"offline.restoredTitle": "Коли зв'язок відновиться",
|
||
"offline.restoredDesc": "Обрив зв'язку нічого не коштує. SecureBit складає все локально в чергу й відновлює зашифрований сеанс, щойно ви знову онлайн.",
|
||
"offline.r1Title": "Ваші повідомлення дійдуть",
|
||
"offline.r1Desc": "Усе, що ви написали офлайн, надсилається співрозмовнику автоматично.",
|
||
"offline.r2Title": "Файли дозавантажаться",
|
||
"offline.r2Desc": "Передавання продовжиться з місця зупинки - надсилати заново не треба.",
|
||
"offline.r3Title": "Їхні повідомлення й файли надійдуть",
|
||
"offline.r3Desc": "Усе, що співрозмовник надіслав під час перерви, надійде вам по порядку.",
|
||
"offline.r4Title": "Нічого не втрачається",
|
||
"offline.r4Desc": "Після відновлення зв'язку розриву не лишається - розмова триває рівно з того місця, де спинилася.",
|
||
"offline.gotIt": "Зрозуміло",
|
||
"qr.showTitle": "Показати QR-код",
|
||
"qr.showSubtitle": "На весь екран · нехай співрозмовник відсканує",
|
||
"qr.showSubtitleFrames": "На весь екран · нехай співрозмовник відсканує всі {frames} кадрів",
|
||
"notify.enabledBody": "Сповіщення увімкнено. Ви отримуватимете попередження про нові повідомлення.",
|
||
"notify.workingBody": "Сповіщення працюють. Ви отримуватимете попередження про нові повідомлення.",
|
||
"pw.label": "Поле пароля",
|
||
"pw.placeholder": "Введіть пароль…",
|
||
"pw.decrypt": "Розшифрувати",
|
||
"pw.cancel": "Скасувати",
|
||
"file.title": "Передавання файлів",
|
||
"file.drop": "Перетягніть файли сюди",
|
||
"file.dropHint": "Шифруються наскрізно перед передаванням · до 100 МБ",
|
||
"file.browse": "Огляд пристрою",
|
||
"file.incoming": "Вхідний запит на файл",
|
||
"file.accept": "Прийняти",
|
||
"file.reject": "Відхилити",
|
||
"file.download": "Завантажити",
|
||
"file.notReady": "З'єднання ще не готове",
|
||
"file.tooLarge": "Файл завеликий",
|
||
"file.typeNotAllowed": "Тип файлу не дозволено",
|
||
"file.maxConcurrent": "Досягнуто межу одночасних передавань",
|
||
"file.gone": "Цей файл більше не доступний для завантаження.",
|
||
"call.incoming": "Вхідний дзвінок",
|
||
"call.incomingVideo": "Вхідний відеодзвінок",
|
||
"call.encrypted": "Зашифрований дзвінок",
|
||
"call.encryptedShort": "Зашифровано",
|
||
"call.peer": "Захищений співрозмовник",
|
||
"call.connecting": "З'єднання…",
|
||
"call.ringing": "Дзвінок…",
|
||
"call.accept": "Прийняти",
|
||
"call.decline": "Відхилити",
|
||
"call.end": "Завершити дзвінок",
|
||
"call.camera": "Камера",
|
||
"call.cameraOff": "Камеру вимкнено",
|
||
"call.peerCameraOff": "Камеру співрозмовника вимкнено",
|
||
"call.flipCamera": "Перемкнути камеру",
|
||
"call.addVideo": "Додати відео",
|
||
"call.video": "Відео",
|
||
"call.muted": "Без звуку",
|
||
"call.expand": "Розгорнути",
|
||
"call.minimize": "Згорнути",
|
||
"call.quality": "Якість з'єднання",
|
||
"call.qualityExcellent": "Відмінна",
|
||
"call.videoPrefix": "Відео · ",
|
||
"call.voicePrefix": "Голос · ",
|
||
"group.new": "Нова група",
|
||
"group.create": "Створити групу",
|
||
"group.join": "Приєднатися до групи",
|
||
"group.name": "Назва групи",
|
||
"group.nameTooLong": "Назва групи задовга.",
|
||
"group.capacity": "До {max} осіб, напряму між пристроями. Усі звірять один код безпеки, перш ніж група відкриється.",
|
||
"group.invite": "Запросити",
|
||
"group.inviteMore": "Запросити ще учасників",
|
||
"group.invitePeople": "Запросити {count} осіб",
|
||
"group.invitation": "Запрошення до групи",
|
||
"group.addMembers": "Додати учасників",
|
||
"group.roomFor": "Є місце ще для {remaining}. Після приєднання всі звірять новий код групи.",
|
||
"group.membersCount": "{count} учасників",
|
||
"group.member": "Учасник",
|
||
"group.members": "Учасники",
|
||
"group.remove": "Вилучити {name}",
|
||
"group.message": "Написати в «{name}»",
|
||
"group.leave": "Вийти",
|
||
"group.leaveThis": "Вийти з цієї групи",
|
||
"group.cancel": "Скасувати групу",
|
||
"group.close": "Закрити",
|
||
"group.cancelBtn": "Скасувати",
|
||
"group.decline": "Відхилити",
|
||
"group.working": "Виконується…",
|
||
"group.sasTitle": "Код безпеки групи",
|
||
"group.sasEveryone": "Цей код бачать усі",
|
||
"group.sasCompare": "Звірте код групи з кожним учасником, щоб відкрити групу.",
|
||
"group.sasReadAloud": "Прочитайте ці цифри вголос для ",
|
||
"group.sasWarning": "Якщо бодай один учасник читає інший код, між вами хтось є. Скасуйте групу - не підтверджуйте.",
|
||
"group.confirmFirst": "Спершу підтвердіть код групи",
|
||
"group.codeSuffix": " · код {code}",
|
||
"group.exchangingNonces": "Обмін одноразовими значеннями…",
|
||
"group.waitingCommit": "Очікування зобов'язань від усіх учасників…",
|
||
"group.waitingJoin": "Очікування приєднання інших учасників…",
|
||
"group.emptyChat": "Тут поки нічого. Повідомлення підписані відправником і йдуть власним зашифрованим каналом кожного учасника.",
|
||
"group.noVerified": "Ще немає перевірених чатів. Спершу відкрийте особистий чат і звірте його код безпеки - група будується з уже перевірених з'єднань.",
|
||
"group.noMoreToAdd": "Інших перевірених чатів немає. Відкрийте особистий чат і спершу звірте його код безпеки.",
|
||
"group.directLink": "Пряме з'єднання між пристроями",
|
||
"group.noDirectLink": "Прямого з'єднання ще немає - повідомлення передає інший учасник, поки воно встановлюється",
|
||
"group.relayNote": "З деякими учасниками прямого з'єднання ще немає. Їхні повідомлення йдуть через іншого учасника, який бачить, що ви спілкуєтесь, але не може ані прочитати, ані змінити сказане. Група продовжує з'єднувати їх напряму.",
|
||
"group.relayOnlyOff": "Режим лише через relay вимкнено, тож кожен учасник з'єднується з вами напряму й дізнається вашу IP-адресу - зокрема ті, кого запросив хтось інший. Увімкніть його в мережевих налаштуваннях, якщо це важливо.",
|
||
"group.memberOffline": "{name} офлайн і не отримає повідомлень. Учасництво зберігається - вилучення переганяє ключі групи.",
|
||
"group.joinNote": "Інші учасники дізнаються, що ви в цій групі. Історії повідомлень немає - група починається порожньою.",
|
||
"group.inviteSentNote": "Група працює далі, доки вони не приймуть. Історії для них немає - вони побачать лише те, що надіслано відтепер.",
|
||
"group.errNotCreated": "Групу не створено",
|
||
"group.errNobodyAccepted": "Ніхто не прийняв запрошення вчасно.",
|
||
"group.errNothingSent": "Нічого не надіслано й нічого не перевірено. Закрийте це й спробуйте знову, коли всі під'єднаються.",
|
||
"group.errNotFormed": "Цю групу не вдалося сформувати.",
|
||
"group.errFull": "Ця група заповнена.",
|
||
"group.errInviteFailed": "Запрошення не вдалося надіслати - той чат не з'єднано.",
|
||
"group.errNoMemberList": "Власник групи так і не надіслав список учасників.",
|
||
"group.errUnsignedList": "Список учасників не підписано власником групи. Не повторюйте - скажіть їм.",
|
||
"group.errNotOwner": "Змінити склад учасників намагався не власник групи.",
|
||
"hdr.tagline": "Наскрізне шифрування",
|
||
"hdr.netSettings": "Додаткові мережеві налаштування",
|
||
"hdr.netSettingsTitle": "Додаткові мережеві налаштування (STUN/TURN)",
|
||
"hdr.disconnect": "Від'єднатися",
|
||
"status.connected": "З'єднано",
|
||
"status.connecting": "З'єднання…",
|
||
"status.notConnected": "Не з'єднано",
|
||
"status.reconnecting": "Перепідключення…",
|
||
"status.retrying": "Повтор спроби…",
|
||
"status.verifying": "Перевірка…",
|
||
"status.peerDisconnected": "Співрозмовник від'єднався",
|
||
"sec.replayProtection": "Захист від повторів",
|
||
"sec.messageIntegrity": "Цілісність повідомлень (HMAC)",
|
||
"sec.forwardSecrecy": "Досконала пряма секретність",
|
||
"sec.metadataProtection": "Захист метаданих",
|
||
"sec.trafficObfuscation": "Маскування трафіку",
|
||
"sec.realTests": "Справжні криптографічні перевірки",
|
||
"sec.simulatedData": "Змодельовані дані",
|
||
"sec.testPassed": "Перевірку пройдено",
|
||
"sec.testFailed": "Перевірка не пройдена або недоступна",
|
||
"sec.verificationDone": "Справжню криптографічну перевірку завершено",
|
||
"sec.verificationInProgress": "Триває перевірка безпеки…",
|
||
"sec.verificationWait": "Триває перевірка безпеки…\nЗачекайте, доки завершиться криптографічна перевірка в реальному часі.",
|
||
"sec.verificationUnavailable": "Перевірка безпеки недоступна",
|
||
"chat.placeholder": "Напишіть зашифроване повідомлення…",
|
||
"chat.send": "Надіслати повідомлення",
|
||
"chat.sendFiles": "Надіслати файли",
|
||
"chat.hideFiles": "Сховати файли",
|
||
"chat.recordVoice": "Записати голосове повідомлення",
|
||
"chat.sendVoice": "Надіслати голосове повідомлення",
|
||
"chat.discard": "Відхилити",
|
||
"chat.codeBlock": "Надіслати як блок коду (розширює поле)",
|
||
"chat.codeHint": "Фрагмент коду · форматування збережено · ⌘↵ щоб надіслати",
|
||
"chat.viewOnce": "Переглянути раз",
|
||
"chat.viewOnceTitle": "Переглянути раз - зникає, щойно співрозмовник прочитає",
|
||
"chat.viewOncePrefix": "Переглянути раз · ",
|
||
"chat.viewOnceTap": "Переглянути раз · торкніться, щоб показати",
|
||
"chat.viewedOnce": "Уже переглянуто",
|
||
"chat.disappearing": "Зникоме повідомлення - видаляється з обох боків",
|
||
"chat.disappearAfter": "Зникне через",
|
||
"chat.visibleFor": "Видно",
|
||
"chat.timerPrefix": "Таймер · ",
|
||
"chat.expired": "Це повідомлення втратило чинність",
|
||
"chat.deleteForEveryone": "Видалити в усіх",
|
||
"chat.sending": "Надсилання",
|
||
"chat.delivered": "Доставлено",
|
||
"chat.notSent": "Не надіслано",
|
||
"chat.notSentReason": "Не надіслано - захищений канал не готовий. Перепідключіться, щоб продовжити.",
|
||
"chat.encrypted": "Зашифровано",
|
||
"chat.decrypted": "Розшифровано",
|
||
"chat.encryptedOnDevice": "Зашифровано на вашому пристрої",
|
||
"chat.uploading": "Надсилання",
|
||
"chat.downloading": "Завантаження",
|
||
"chat.transferring": "Передавання…",
|
||
"chat.copied": "Скопійовано!",
|
||
"chat.collapse": "Згорнути",
|
||
"chat.closeMenu": "Закрити меню",
|
||
"chat.newChat": "Новий чат",
|
||
"chat.newGroup": "Нова група",
|
||
"chat.createGroup": "Створити групу",
|
||
"chat.groupChats": "Групові чати",
|
||
"chat.secureChat": "Захищений чат",
|
||
"chat.nameThis": "Назвіть цей чат",
|
||
"chat.rename": "Перейменувати чат (лише локально)",
|
||
"chat.renameHint": "Двічі клацніть, щоб перейменувати",
|
||
"chat.localLabel": "Локальна назва · зберігається лише на цьому пристрої",
|
||
"chat.setStatus": "Установіть свій статус",
|
||
"chat.yourStatusPrefix": "Ваш статус - ",
|
||
"chat.meshHint": "До 8 учасників · P2P-мережа",
|
||
"chat.offline": "Офлайн",
|
||
"chat.noNetwork": "Немає мережі · перепідключення",
|
||
"chat.startVoiceCall": "Почати зашифрований дзвінок",
|
||
"chat.startVideoCall": "Почати зашифрований відеодзвінок",
|
||
"chat.verifyForCalls": "Перевірте сеанс, щоб увімкнути дзвінки",
|
||
"chat.e2eeNote": "Кожне повідомлення шифрується наскрізно на вашому пристрої, перш ніж піде.",
|
||
"chat.peersOnly": "Надсилається наскрізно лише під'єднаним учасникам - ніколи не зберігається на сервері.",
|
||
"flow.invitationCreated": "Захищене запрошення створено",
|
||
"flow.invitationCreatedBang": "Захищене запрошення створено й зашифровано.",
|
||
"flow.responseCreated": "Захищену відповідь створено",
|
||
"flow.responseCreatedBang": "Захищену відповідь створено.",
|
||
"flow.sendInvitation": "Надішліть код запрошення співрозмовнику захищеним каналом (дзвінок, SMS тощо).",
|
||
"flow.sendResponse": "Надішліть код відповіді ініціатору захищеним каналом або дайте йому відсканувати QR-код нижче.",
|
||
"flow.sendEncryptedCode": "Надіслати зашифрований код",
|
||
"flow.sendTheResponse": "Надіслати відповідь",
|
||
"flow.pasteOrWrite": "Вставте або введіть код…",
|
||
"flow.processingInvitation": "Обробка захищеного запрошення…",
|
||
"flow.processingResponse": "Обробка захищеної відповіді…",
|
||
"flow.finalizing": "Завершення захищеного з'єднання…",
|
||
"flow.channelEstablished": "Захищений канал встановлено",
|
||
"flow.channelReady": "Захищений канал готовий",
|
||
"flow.restoring": "Відновлення з'єднання…",
|
||
"flow.invitationCaptured": "Запрошення зчитано.",
|
||
"err.needInvitation": "Потрібно вставити код запрошення від співрозмовника.",
|
||
"err.needResponse": "Потрібно вставити код відповіді від співрозмовника.",
|
||
"err.responseFormat": "Хибний формат відповіді - перевірте код",
|
||
"err.responseNoKey": "Хибний код відповіді - криптографічний ключ відсутній або пошкоджений. Перевірте код і спробуйте ще раз.",
|
||
"err.responseNoSignKey": "Хибний код відповіді - бракує ключа перевірки підпису. Перевірте код і спробуйте ще раз.",
|
||
"err.responseOutdated": "Дані відповіді застаріли - скористайтеся новим запрошенням",
|
||
"err.setupError": "Помилка встановлення з'єднання",
|
||
"err.notReady": "З'єднання ще не готове",
|
||
"err.securityBreach": "Виявлено порушення безпеки - з'єднання відхилено",
|
||
"err.securityValidation": "Перевірка безпеки не пройдена - можлива атака",
|
||
"err.retiredQr": "Цей QR-код використовує застарілий формат, яким не вдалося передати запрошення. Попросіть новий або скористайтеся копіюванням.",
|
||
"err.compressedQrNote": "Стиснений QR може опустити SDP задля стислості. Якщо з'єднання не вдається, скористайтеся копіюванням.",
|
||
"err.inviteNotConnected": "Запрошення не вдалося надіслати. Той чат зараз не з'єднано.",
|
||
"err.inviteNotConnectedRetry": "Запрошення не вдалося надіслати. Той чат зараз не з'єднано - відкрийте його знову й спробуйте ще раз.",
|
||
"err.nobodyAccepted": "Ніхто не прийняв запрошення. Група лишилася без змін.",
|
||
"err.noAudio": "Звук не записано - перевірте дозвіл на мікрофон і спробуйте ще раз.",
|
||
"err.voiceNeedsConnection": "Для голосового повідомлення потрібне активне захищене з'єднання. Перепідключіться й спробуйте ще раз.",
|
||
"err.voiceRestoring": "Відновлюємо з'єднання - спробуйте надіслати голосове повідомлення за мить.",
|
||
"err.fileTooLarge": "Файл завеликий",
|
||
"sas.safetyNumber": "Номер безпеки",
|
||
"sas.incorrect": "Хибний код. Звірте його зі співрозмовником і спробуйте ще раз.",
|
||
"sas.noMatch": "Коди не збігаються",
|
||
"sas.makeSure": "Переконайтеся, що коди збігаються точно.",
|
||
"sas.tooManyAttempts": "Забагато невдалих спроб. Сеанс скинуто задля безпеки.",
|
||
"sas.verificationFailed": "Перевірку не пройдено",
|
||
"sas.verified": "Перевірено · досконала пряма секретність",
|
||
"sas.runVerification": "Запустити перевірку безпеки",
|
||
"sec.panelTitle": "Деталі мережі та криптографії",
|
||
"sec.security": "Безпека",
|
||
"sec.transport": "Транспорт",
|
||
"sec.keyExchange": "Обмін ключами",
|
||
"sec.allEnabled": "Усі функції безпеки увімкнено типово",
|
||
"sec.realTimeNote": "Перевірка в реальному часі справжніми криптографічними функціями - без вигаданих даних.",
|
||
"sec.simulatedWarning": "Увага: з'єднання може бути не повністю встановлене - значення можуть бути змодельовані.",
|
||
"dl.title": "Завантажити SecureBit",
|
||
"dl.free": "Безкоштовно · відкритий код",
|
||
"dl.soon": "Застосунки для iOS та Android і розширення для Chrome, Firefox і Opera з'являться незабаром.",
|
||
"chatHdr.chat": "Чат",
|
||
"chatHdr.chats": "Чати",
|
||
"chatHdr.newChat": "+ Новий",
|
||
"chatHdr.secure": "Захищено",
|
||
"chatHdr.p2pSub": "P2P · наскрізне шифрування",
|
||
"chatHdr.save": "Зберегти",
|
||
"chatHdr.close": "Закрити",
|
||
"chatHdr.expand": "Розгорнути",
|
||
"chatHdr.you": "Ви",
|
||
"chatHdr.qrCode": "QR-код",
|
||
"chat.disconnected": "Роз'єднано",
|
||
"call.mute": "Вимкнути мікрофон",
|
||
"call.endShort": "Завершити",
|
||
"group.add": "Додати",
|
||
"group.send": "Надіслати",
|
||
"sec.pfsShort": "Досконала пряма секретність",
|
||
"sec.cipher": "Шифр",
|
||
"chat.close": "Закрити",
|
||
"file.needConnection": "Для передавання файлів потрібне відкрите з'єднання",
|
||
"presence.available": "Доступний",
|
||
"presence.away": "Відійшов",
|
||
"presence.busy": "Зайнятий",
|
||
"presence.offline": "Не в мережі",
|
||
"presence.invisible": "Невидимий",
|
||
"presence.availableDesc": "У мережі й на зв'язку",
|
||
"presence.awayDesc": "Неактивний · відійшов",
|
||
"presence.busyDesc": "Не турбувати",
|
||
"presence.invisibleDesc": "Виглядати офлайн для співрозмовників",
|
||
"presence.online": "У мережі",
|
||
"conn.p2p": "P2P · з'єднано",
|
||
"conn.verifying": "Перевірка…",
|
||
"conn.connecting": "З'єднання…",
|
||
"conn.reconnecting": "Перепідключення…",
|
||
"conn.peerDisconnected": "Співрозмовник від'єднався",
|
||
"conn.disconnected": "Роз'єднано",
|
||
"chat.defaultLabel": "Чат",
|
||
"groupPhase.forming": "Формування…",
|
||
"groupPhase.commitments": "Обмін зобов'язаннями…",
|
||
"groupPhase.revealing": "Розкриття…",
|
||
"groupPhase.compare": "Звірте код групи",
|
||
"groupPhase.ready": "Група готова",
|
||
"groupPhase.failed": "Групу не створено",
|
||
"call.qualityGood": "Добра",
|
||
"call.qualityFair": "Посередня",
|
||
"call.qualityWeak": "Слабка",
|
||
"msg.code": "Код",
|
||
"msg.timer": "Таймер",
|
||
"msg.voice": "Голос",
|
||
"msg.play": "Відтворити",
|
||
"msg.sent": "Надіслано",
|
||
"msg.read": "Прочитано",
|
||
"report.title": "Перевірка безпеки в реальному часі",
|
||
"report.active": "Активно",
|
||
"report.testsPassed": "Пройдено перевірок",
|
||
"report.verifiedAt": "Перевірено",
|
||
"report.source": "Джерело",
|
||
"secTest.verifyECDHKeyExchange": "Обмін ключами ECDH",
|
||
"secTest.verifyECDSASignatures": "Цифрові підписи ECDSA",
|
||
"secTest.verifyEncryption": "Шифрування AES-GCM",
|
||
"secTest.verifyMessageIntegrity": "Цілісність повідомлень",
|
||
"secTest.verifyPerfectForwardSecrecy": "Досконала пряма секретність",
|
||
"secTest.verifyPFS": "Досконала пряма секретність",
|
||
"secTest.verifyReplayProtection": "Захист від повторів",
|
||
"secTest.verifyDTLSFingerprint": "Відбиток DTLS",
|
||
"secTest.verifySASVerification": "Перевірка SAS",
|
||
"secTest.verifyMetadataProtection": "Захист метаданих",
|
||
"secTest.verifyTrafficObfuscation": "Маскування трафіку",
|
||
"secTest.verifyPacketPadding": "Доповнення пакетів",
|
||
"secTest.verifyNestedEncryption": "Вкладене шифрування",
|
||
"secTest.verifyNonExtractableKeys": "Ключі, які не можна витягти",
|
||
"secTest.verifyRateLimiting": "Обмеження частоти",
|
||
"secTest.verifyMutualAuth": "Взаємна автентифікація",
|
||
"secTest.verifyAuthProof": "Доказ автентифікації",
|
||
"secTest.verifyEnhancedValidation": "Посилена перевірка",
|
||
"secTest.verifyAdvancedFeatures": "Розширені можливості",
|
||
"secTest.verifySignature": "Перевірка підпису",
|
||
"secDetail.Security system initializing...": "Система безпеки запускається…",
|
||
"secDetail.Nested encryption active": "Вкладене шифрування активне",
|
||
"secDetail.Nested encryption failed": "Вкладене шифрування не вдалося",
|
||
"secDetail.Packet padding active": "Доповнення пакетів активне",
|
||
"secDetail.Packet padding failed": "Доповнення пакетів не вдалося",
|
||
"secDetail.Advanced features active": "Розширені можливості активні",
|
||
"secDetail.Advanced features failed": "Розширені можливості не працюють",
|
||
"secDetail.No encryption key available": "Ключ шифрування недоступний",
|
||
"secDetail.AES-GCM encryption/decryption working correctly": "Шифрування та розшифрування AES-GCM працюють правильно",
|
||
"secDetail.No ECDH key pair available": "Пара ключів ECDH недоступна",
|
||
"secDetail.Key derivation failed": "Обчислення ключа не вдалося",
|
||
"secDetail.No ECDSA key pair available": "Пара ключів ECDSA недоступна",
|
||
"secDetail.ECDSA digital signatures working correctly": "Цифрові підписи ECDSA працюють правильно",
|
||
"secDetail.MAC key not available or invalid": "Ключ MAC недоступний або хибний",
|
||
"secDetail.Rate limiter did not block a message over the limit": "Обмежувач не заблокував повідомлення понад ліміт",
|
||
"secDetail.Rate limiter is not available": "Обмежувач частоти недоступний",
|
||
"secDetail.Replay protection is working correctly": "Захист від повторів працює правильно",
|
||
"secDetail.Replay protection not enabled": "Захист від повторів не увімкнено",
|
||
"secDetail.SAS code not available": "Код SAS недоступний",
|
||
"secDetail.SAS verification code is valid and available": "Код перевірки SAS дійсний і доступний",
|
||
"secDetail.Traffic obfuscation is working correctly": "Маскування трафіку працює правильно",
|
||
"secDetail.Traffic obfuscation not enabled": "Маскування трафіку не увімкнено",
|
||
"secDetail.No non-extractable ephemeral ECDH key pair for this session": "Для цього сеансу немає ефемерної пари ключів ECDH, яку не можна витягти",
|
||
"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": "Лише сеансова пряма секретність: ключі ефемерні для кожного сеансу, але Double Ratchet для цього з'єднання не активний (у співрозмовника старіша версія), тож скомпрометований сеансовий ключ відкриває всю розмову.",
|
||
"msg.pause": "Пауза",
|
||
"msg.failed": "Не вдалося",
|
||
"groupErr.timeout": "Учасник перестав відповідати, перш ніж код був готовий.",
|
||
"groupErr.keyMismatch": "Ключ учасника не збігся з особою, яку для нього заявили.",
|
||
"groupErr.revealMismatch": "Розкрите значення учасника не збіглося з його зобов'язанням.",
|
||
"groupErr.commitChanged": "Учасник змінив своє зобов'язання посеред процесу.",
|
||
"groupErr.missingKey": "У списку був учасник, чий ключ так і не надійшов.",
|
||
"groupErr.outsider": "Надійшов кадр від когось поза групою.",
|
||
"groupErr.limit": "Група обмежена вісьмома учасниками.",
|
||
"groupErr.tooLarge": "Повідомлення було завелике, щоб надіслати його групі.",
|
||
"fileType.text": "Звичайний текст",
|
||
"fileType.images": "Зображення",
|
||
"fileType.archives": "Архіви",
|
||
"fileType.voice": "Голосові повідомлення",
|
||
"fileType.unsupported": "Не підтримується",
|
||
"qrScan.title": "Сканувати QR-код",
|
||
"qrScan.auto": "Автоматично",
|
||
"qrScan.reset": "Скинути",
|
||
"qrScan.autoScroll": "Автопрокручування увімкнено",
|
||
"qrScan.starting": "Запуск камери…",
|
||
"qrScan.point": "Наведіть камеру на QR-код",
|
||
"qrScan.tapFocus": "Торкніться екрана, щоб сфокусувати",
|
||
"qrScan.focusing": "Фокусування…",
|
||
"iceErr.notArray": "Список серверів має бути масивом",
|
||
"iceErr.invalidJson": "Хибний JSON",
|
||
"iceErr.tooMany": "Забагато серверів (щонайбільше {max})",
|
||
"iceErr.invalidEntry": "{label}: хибний запис",
|
||
"iceErr.urlCount": "{label}: потрібно від 1 до {max} URL",
|
||
"iceErr.turnCreds": "{label}: TURN-сервери зазвичай потребують імені користувача та облікових даних",
|
||
"iceUrl.notString": "URL має бути рядком",
|
||
"iceUrl.empty": "URL порожній",
|
||
"iceUrl.tooLong": "URL задовгий",
|
||
"iceUrl.badChars": "URL містить неприпустимі символи",
|
||
"iceUrl.badScheme": "URL має починатися з stun:, stuns:, turn: або turns:",
|
||
"iceUrl.badQuery": "URL має хибний запит",
|
||
"iceUrl.noHost": "В URL бракує хоста",
|
||
"iceUrl.badHost": "URL має хибний хост або порт",
|
||
"iceUrl.badTransport": "Запит URL має бути transport=udp або transport=tcp",
|
||
"msg.off": "Вимкнено",
|
||
"file.consentUnavailable": "Немає змоги отримати згоду",
|
||
"secLevel.MAXIMUM": "МАКСИМУМ",
|
||
"secLevel.INITIALIZING": "ЗАПУСК",
|
||
"secLevel.ERROR": "ПОМИЛКА",
|
||
"secLevel.UNKNOWN": "НЕВІДОМО",
|
||
"status.error": "Помилка",
|
||
"offline.disconnect": "Від'єднатися",
|
||
"offline.learnMore": "Докладніше",
|
||
"pwa.installApp": "Встановити застосунок",
|
||
"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": "Усі",
|
||
"msg.after5s": "5 с після прочитання",
|
||
"msg.after15s": "15 с після прочитання",
|
||
"msg.after30s": "30 с після прочитання",
|
||
"msg.after1m": "1 хв після прочитання",
|
||
"msg.sec30": "30 секунд",
|
||
"msg.min5": "5 хвилин",
|
||
"msg.hour1": "1 година",
|
||
"desktop.shareDesc": "Надішліть код співрозмовнику. Він одноразовий і швидко втрачає чинність.",
|
||
"desktop.invitationCreated": "Захищене запрошення створено - надішліть його співрозмовнику.",
|
||
"desktop.joinDesc": "Вставте код запрошення співрозмовника, щоб створити захищену відповідь.",
|
||
"desktop.offerTag": "запрошення · копіювати текст",
|
||
"desktop.answerTag": "відповідь · копіювати текст",
|
||
"desktop.offerPlaceholder": "Тут з’явиться код запрошення…",
|
||
"desktop.answerPlaceholder": "Тут з’явиться код відповіді…",
|
||
"desktop.backToChats": "Назад до чатів",
|
||
"desktop.sendFeedback": "Надіслати відгук",
|
||
"desktop.callsNeedVerified": "Дзвінки потребують перевіреного захищеного каналу.",
|
||
"desktop.noOpenChannel": "Немає відкритого захищеного каналу.",
|
||
"desktop.chatCarriesCall": "Цей чат несе груповий дзвінок. Вийдіть із групового дзвінка, перш ніж телефонувати один на один.",
|
||
"desktop.err.permission_denied": "Дзвінок не вдалося почати - доступ до мікрофона й камери заблоковано. Дозвольте його в системних налаштуваннях і спробуйте ще раз.",
|
||
"desktop.language": "Мова",
|
||
"desktop.languageHint": "Застосовується одразу. Уже надіслані повідомлення лишаються тією мовою, якою їх написали.",
|
||
"desktop.compareCode": "Порівняйте код підтвердження зі співрозмовником і підтвердьте, якщо він збігається.",
|
||
"desktop.verifyBeforeFiles": "Завершіть перевірку, перш ніж надсилати файли.",
|
||
"desktop.verifyBeforeSending": "Завершіть перевірку, перш ніж надсилати повідомлення.",
|
||
"desktop.disconnectedByBackend": "З’єднання безпечно розірвано.",
|
||
"desktop.restoreFailed": "Не вдалося відновити з’єднання. Цей чат буде закрито.",
|
||
"desktop.channelNotReady": "Канал даних ще недоступний. Зачекайте, доки з’єднання встановиться.",
|
||
"desktop.enterCode": "Введіть код підтвердження.",
|
||
"desktop.noOffer": "Запрошення не знайдено. Спершу створіть його.",
|
||
"desktop.notInitiator": "Ви не створювали це з’єднання, тож застосовувати відповідь нічому.",
|
||
"desktop.decryptFailed": "Повідомлення не вдалося розшифрувати, його відкинуто.",
|
||
"desktop.badMessageFormat": "Надійшов пошкоджений кадр, його відкинуто.",
|
||
"desktop.notSentNotReady": "Повідомлення не надіслано: захищений канал не готовий. Зачекайте завершення перевірки або перепідключіться.",
|
||
"desktop.micDenied": "Доступ до мікрофона відхилено.",
|
||
"desktop.noChannelWait": "Немає відкритого захищеного каналу - зачекайте, доки з’єднання встановиться.",
|
||
"desktop.sasFailed": "Перевірку не пройдено. Можлива присутність посередника, тож з’єднання перервано.",
|
||
"desktop.sasOk": "Перевірку пройдено. Цей канал автентифіковано наскрізно.",
|
||
"desktop.iceForgotten": "Збережені сервери забуто. Використовуються публічні сервери ICE.",
|
||
"desktop.icePublic": "Використовуються публічні сервери ICE.",
|
||
"desktop.verificationInProgress": "Перевірка безпеки ще триває. Зачекайте на її завершення.",
|
||
"desktop.fileGone": "Цей файл більше недоступний для завантаження.",
|
||
"desktop.codeMismatch": "Коди підтвердження не збігаються. Роз’єднуємо задля безпеки.",
|
||
"desktop.noLocalCode": "Перевірка не вдалася: немає локально обчисленого коду для порівняння. Роз’єднуємо задля безпеки.",
|
||
"desktop.protocolViolation": "Співрозмовник заявив про підтвердження коду раніше, ніж ви його підтвердили. Роз’єднуємо задля безпеки.",
|
||
"desktop.verificationRejected": "Перевірку відхилено. З’єднання перервано задля безпеки.",
|
||
"secLevel.HIGH": "ВИСОКИЙ",
|
||
"secLevel.MEDIUM": "СЕРЕДНІЙ",
|
||
"secLevel.LOW": "НИЗЬКИЙ",
|
||
"desktop.rerun": "Перевірити знову",
|
||
"desktop.ice.customDesc": "До {max} серверів, по одній URL-адресі на рядок або JSON.",
|
||
"desktop.ice.persistDesc": "Зберігається локально на цьому пристрої. Лишіть вимкненим, щоб використати лише в цьому сеансі.",
|
||
"desktop.group.leaveNote": "Інші учасники дізнаються, що ви вийшли. Після цього на цьому пристрої не лишається нічого про цю групу - жоден сервер не тримає копії, з якої можна повернутися, тож знадобиться нове запрошення.",
|
||
"desktop.sec.ecdsaOk": "Підпис пакета ключів співрозмовника перевірено під час рукостискання (ECDSA P-384 / SHA-384)",
|
||
"desktop.sec.ecdsaNone": "Рукостискання не завершено",
|
||
"desktop.sec.ecdhOk": "Ключі сеансу виведено з тимчасового обміну ECDH P-384 через HKDF-SHA-256",
|
||
"desktop.sec.ecdhNone": "Ключі сеансу не виведено",
|
||
"desktop.sec.encryptionOk": "Шифрування й розшифрування AES-GCM перевірено в ядрі",
|
||
"desktop.sec.encryptionNa": "Самоперевірку AES-GCM виконати не вдалося",
|
||
"desktop.sec.integrityOk": "Цілісність повідомлень перевірено (автентифікація AES-GCM)",
|
||
"desktop.sec.integrityNa": "Самоперевірку цілісності виконати не вдалося",
|
||
"desktop.sec.pfsOk": "Double Ratchet активний - кожне повідомлення має власний ключ",
|
||
"desktop.sec.pfsNa": "Не виміряно",
|
||
"desktop.sec.replayOk": "Ключі повідомлень ратчета знищуються після використання, тож перехоплений кадр не можна відтворити повторно",
|
||
"desktop.sec.replayNa": "Не виміряно",
|
||
"desktop.sec.dtlsPinned": "Відбиток DTLS співрозмовника закріплено: {fp}",
|
||
"desktop.sec.dtlsNone": "Відбитка DTLS віддаленої сторони немає",
|
||
"desktop.sec.sasBoth": "Обидві сторони підтвердили код безпеки поза каналом",
|
||
"desktop.sec.sasIncomplete": "Код безпеки підтвердили не обидві сторони",
|
||
"desktop.sec.metadataOk": "Виведено окремий ключ метаданих (HKDF metadata-protection-v4)",
|
||
"desktop.sec.metadataNone": "Ключа метаданих немає",
|
||
"desktop.sec.coverOn": "Прикриваючий трафік активний: випадкові фальшиві кадри (32-128 Б кожні 15-30 с) у каналі з ратчетом",
|
||
"desktop.sec.coverOff": "Генератор прикриваючого трафіку не працює",
|
||
"desktop.sec.coverUnsupported": "Прикриваючий трафік потребує сеансу Double Ratchet (у співрозмовника старіша версія)",
|
||
"desktop.tagline": "Наскрізна свобода",
|
||
"desktop.callsNotHere": "Дзвінки в цій збірці поки недоступні. Повідомлення, файли та групові чати працюють як звичайно."
|
||
}
|
||
}
|