fix: Reset fallback sharing state

This commit is contained in:
Janez T
2026-04-07 14:04:45 +02:00
parent e5514b4ef9
commit 44a668df93
64 changed files with 12741 additions and 8677 deletions

View File

@@ -9,7 +9,6 @@
"disconnect": "Отключить",
"noDevicesFound": "Устройства не найдены",
"scanAgain": "Повторить поиск",
"tapToConnect": "Нажмите для подключения",
"deviceNotConnected": "Устройство не подключено",
"locationPermissionDenied": "Доступ к геолокации запрещён",
"locationPermissionPermanentlyDenied": "Доступ к геолокации запрещён навсегда. Включите его в настройках.",
@@ -32,9 +31,7 @@
"autoSystem": "Авто (Система)",
"followSystemTheme": "Следовать системной теме",
"showRxTxIndicators": "Показывать индикаторы RX/TX",
"displayPacketActivity": "Отображать активность пакетов в верхней панели",
"disableMap": "Отключить карту",
"disableMapDescription": "Скрыть вкладку карты для экономии заряда батареи",
"language": "Язык",
"chooseLanguage": "Выбрать язык",
"save": "Сохранить",
@@ -42,7 +39,6 @@
"close": "Закрыть",
"about": "О приложении",
"appVersion": "Версия приложения",
"appName": "Название приложения",
"aboutMeshCoreSar": "О MeshCore SAR",
"aboutDescription": "Приложение для поисково-спасательных операций, разработанное для аварийно-спасательных служб. Возможности:\n\n• BLE mesh-сеть для связи между устройствами\n• Офлайн-карты с несколькими вариантами слоёв\n• Отслеживание членов команды в реальном времени\n• Тактические маркеры SAR (найденный человек, пожар, место сбора)\n• Управление контактами и обмен сообщениями\n• GPS-трекинг с показанием курса компаса\n• Кэширование тайлов карт для работы офлайн",
"technologiesUsed": "Используемые технологии:",
@@ -69,7 +65,6 @@
"viewOnMap": "Показать на карте",
"refresh": "Обновить",
"resetPath": "Сбросить маршрут (перепроложить)",
"publicKeyCopied": "Публичный ключ скопирован в буфер обмена",
"copiedToClipboard": "{label} скопировано в буфер обмена",
"pleaseEnterPassword": "Пожалуйста, введите пароль",
"failedToSyncContacts": "Не удалось синхронизировать контакты: {error}",
@@ -149,15 +144,9 @@
"type": "Тип",
"publicKey": "Публичный ключ",
"lastSeen": "Последнее появление",
"roomStatus": "Статус комнаты",
"loginStatus": "Статус входа",
"notLoggedIn": "Не выполнен вход",
"adminAccess": "Доступ администратора",
"yes": "Да",
"no": "Нет",
"permissions": "Разрешения",
"passwordSaved": "Пароль сохранён",
"locationColon": "Местоположение:",
"telemetry": "Телеметрия",
"voltage": "Напряжение",
"battery": "Батарея",
@@ -165,8 +154,6 @@
"humidity": "Влажность",
"pressure": "Давление",
"gpsTelemetry": "GPS (телеметрия)",
"updated": "Обновлено",
"pathResetInfo": "Маршрут сброшен для {name}. Следующее сообщение найдёт новый путь.",
"reLoginToRoom": "Войти в комнату повторно",
"heading": "Курс",
"elevation": "Высота",
@@ -241,7 +228,6 @@
"tapToViewOnMap": "Нажмите, чтобы открыть на карте",
"radioSettings": "Настройки радио",
"frequencyMHz": "Частота (МГц)",
"frequencyExample": "например, 869.618",
"bandwidth": "Полоса пропускания",
"spreadingFactor": "Коэффициент расширения",
"codingRate": "Скорость кодирования",
@@ -264,38 +250,20 @@
"noTrailRecorded": "Трек ещё не записан",
"startTrackingToRecord": "Запустите отслеживание геолокации для записи трека",
"trailControls": "Управление треком",
"contactTrails": "Треки контактов",
"showAllContactTrails": "Показать все треки контактов",
"noContactsWithLocationHistory": "Нет контактов с историей местоположения",
"showingTrailsForContacts": "Показаны треки для {count} контактов",
"individualContactTrails": "Индивидуальные треки контактов",
"deviceInformation": "Информация об устройстве",
"bleName": "Имя BLE",
"meshName": "Имя в сети Mesh",
"notSet": "Не задано",
"model": "Модель",
"version": "Версия",
"buildDate": "Дата сборки",
"firmware": "Прошивка",
"maxContacts": "Макс. контактов",
"maxChannels": "Макс. каналов",
"publicInfo": "Публичная информация",
"meshNetworkName": "Название сети Mesh",
"nameBroadcastInMesh": "Имя, транслируемое в mesh-объявлениях",
"telemetryAndLocationSharing": "Телеметрия и передача местоположения",
"lat": "Ш",
"lon": "Д",
"useCurrentLocation": "Использовать текущее местоположение",
"noneUnknown": "Нет/Неизвестно",
"chatNode": "Узел чата",
"repeater": "Ретранслятор",
"roomChannel": "Комната/Канал",
"typeNumber": "Тип {number}",
"copiedToClipboardShort": "{label} скопировано в буфер обмена",
"failedToSave": "Не удалось сохранить: {error}",
"failedToGetLocation": "Не удалось получить местоположение: {error}",
"sarTemplates": "Шаблоны SAR",
"manageSarTemplates": "Управление шаблонами целеуказания",
"addTemplate": "Добавить шаблон",
"editTemplate": "Изменить шаблон",
"deleteTemplate": "Удалить шаблон",
@@ -323,7 +291,6 @@
"noTemplates": "Шаблоны недоступны",
"tapAddToCreate": "Нажмите +, чтобы создать первый шаблон",
"ok": "ОК",
"permissionsSection": "Разрешения",
"locationPermission": "Разрешение геолокации",
"checking": "Проверка...",
"locationPermissionGrantedAlways": "Разрешено (всегда)",
@@ -460,28 +427,6 @@
"wizardNext": "Далее",
"wizardGetStarted": "Начать",
"wizardWelcomeTitle": "Добро пожаловать в MeshCore SAR",
"wizardWelcomeDescription": "Мощный инструмент связи вне сети для поисково-спасательных операций. Поддерживайте связь с командой через mesh-радио, когда традиционные сети недоступны.",
"wizardConnectingTitle": "Подключение к радиоустройству",
"wizardConnectingDescription": "Подключите смартфон к радиоустройству MeshCore по Bluetooth для связи вне сети.",
"wizardConnectingFeature1": "Поиск ближайших устройств MeshCore",
"wizardConnectingFeature2": "Сопряжение с радиоустройством по Bluetooth",
"wizardConnectingFeature3": "Работает полностью офлайн — интернет не нужен",
"wizardChannelTitle": "Каналы",
"wizardChannelDescription": "Транслируйте сообщения всем участникам канала — идеально для общих объявлений и координации команды.",
"wizardChannelFeature1": "Публичный канал для общей связи команды",
"wizardChannelFeature2": "Создавайте пользовательские каналы для отдельных групп",
"wizardChannelFeature3": "Сообщения автоматически ретранслируются через mesh",
"wizardContactsTitle": "Контакты",
"wizardContactsDescription": "Члены вашей команды появляются автоматически по мере подключения к mesh-сети. Отправляйте им личные сообщения или просматривайте их местоположение.",
"wizardContactsFeature1": "Контакты обнаруживаются автоматически",
"wizardContactsFeature2": "Отправка личных сообщений",
"wizardContactsFeature3": "Просмотр уровня заряда и времени последнего появления",
"wizardMapTitle": "Карта и местоположение",
"wizardMapDescription": "Отслеживайте команду в реальном времени и отмечайте важные места для поисково-спасательных операций.",
"wizardMapFeature1": "Маркеры SAR для найденных людей, пожаров и мест сбора",
"wizardMapFeature2": "GPS-отслеживание членов команды в реальном времени",
"wizardMapFeature3": "Загрузка офлайн-карт для отдалённых районов",
"wizardMapFeature4": "Рисование фигур и обмен тактической информацией",
"viewWelcomeTutorial": "Просмотреть обучение",
"allTeamContacts": "Все контакты команды",
"directMessagesInfo": "Личные сообщения с подтверждением. Отправлено {count} членам команды.",
@@ -587,29 +532,10 @@
"posttxDelay": "Задержка после передачи",
"bandpass": "Полосовой",
"bandpassFilterVoice": "Полосовой фильтр голоса",
"frequency": "Частота",
"australia": "Австралия",
"australiaNarrow": "Австралия (Узкий)",
"australiaQld": "Австралия: QLD",
"australiaSaWa": "Австралия: SA, WA",
"newZealand": "Новая Зеландия",
"newZealandNarrow": "Новая Зеландия (Узкий)",
"switzerland": "Швейцария",
"portugal433": "Португалия 433",
"portugal868": "Португалия 868",
"czechRepublicNarrow": "Чехия (Узкий)",
"eu433mhzLongRange": "ЕС 433МГц (Дальний)",
"euukDeprecated": "ЕС/Великобритания (Устарело)",
"euukNarrow": "ЕС/Великобритания (Узкий)",
"usacanadaRecommended": "США/Канада (Рекомендуется)",
"vietnamDeprecated": "Вьетнам (Устарело)",
"vietnamNarrow": "Вьетнам (Узкий)",
"active": "Активно",
"addContact": "Добавить контакт",
"all": "Все",
"autoResolve": "Автоматическое разрешение",
"clearAllLabel": "Очистить все",
"clearRelays": "Очистить реле",
"clearFilters": "Очистить фильтры",
"clearRoute": "Очистить маршрут",
"clearMessages": "Очистить сообщения",
@@ -635,10 +561,7 @@
"send": "Отправить",
"sendAnyway": "Отправить все равно",
"share": "Поделиться",
"shareContact": "Поделиться контактом",
"trace": "Трассировка",
"use": "Использовать",
"useSelectedFrequency": "Использовать выбранную частоту",
"discovery": "Обнаружение",
"discoverRepeaters": "Обнаружить повторители",
"discoverSensors": "Обнаружить датчики",
@@ -661,7 +584,6 @@
"gpsModule": "Модуль GPS",
"liveTraffic": "Живой трафик",
"repeatersMap": "Карта повторителей",
"spectrumScan": "Сканирование спектра",
"blePacketLogs": "Журналы BLE-пакетов",
"onlineTraceDatabase": "База трассировок",
"routePathByteSize": "Размер пути в байтах",
@@ -673,7 +595,6 @@
"disableContacts": "Отключить контакты",
"enableSensorsTab": "Включить вкладку Датчики",
"enableProfiles": "Включить профили",
"autoRouteRotation": "Автоматическая ротация маршрута",
"nearestRepeaterFallback": "Ближайший повторитель как резерв",
"deleteAllStoredMessageHistory": "Удалить всю историю сообщений",
"messageFontSize": "Размер шрифта сообщений",
@@ -681,18 +602,13 @@
"showMapDebugInfo": "Показать отладочную информацию карты",
"openMapInFullscreen": "Открыть карту на весь экран",
"showSarMarkersLabel": "Показать SAR-маркеры",
"displaySarMarkersOnTheMainMap": "Отображать SAR-маркеры на основной карте",
"showAllContactTrailsLabel": "Показать все следы контактов",
"hideRepeatersOnMap": "Скрыть повторители на карте",
"setMapScale": "Установить масштаб карты",
"customMapScaleSaved": "Пользовательский масштаб карты сохранён",
"voiceBitrate": "Битрейт голоса",
"voiceCompressor": "Компрессор голоса",
"balancesQuietAndLoudSpeechLevels": "Выравнивает тихую и громкую речь",
"voiceLimiter": "Лимитер голоса",
"preventsClippingPeaksBeforeEncoding": "Предотвращает обрезку пиков перед кодированием",
"micAutoGain": "Автоусиление микрофона",
"letsTheRecorderAdjustInputLevel": "Позволяет рекордеру регулировать уровень входа",
"echoCancellation": "Подавление эха",
"noiseSuppression": "Подавление шума",
"trimSilenceInVoiceMessages": "Обрезать тишину в голосовых сообщениях",
@@ -734,13 +650,10 @@
"staging": "Место сбора",
"object": "Объект",
"quiet": "Тихо",
"moderate": "Умеренно",
"busy": "Занято",
"spectrumScanReturnedNoCandidateFrequencies": "Сканирование спектра не нашло частот-кандидатов",
"searchMessages": "Поиск сообщений",
"sendImageFromGallery": "Отправить изображение из галереи",
"takePhoto": "Сделать фото",
"dmOnly": "Только личные сообщения",
"allMessages": "Все сообщения",
"sendToPublicChannel": "Отправить в публичный канал?",
"selectMarkerTypeAndDestination": "Выберите тип маркера и назначение",
@@ -759,8 +672,6 @@
"wipeDevice": "Стереть устройство",
"destructiveDeviceActions": "Деструктивные действия устройства.",
"chooseAPresetOrFinetuneCustomRadioSettings": "Выберите пресет или настройте радио вручную.",
"chooseTheNameAndLocationThisDeviceShares": "Выберите имя и местоположение, которыми делится устройство.",
"availableSpaceOnThisDevice": "Доступное место на этом устройстве.",
"used": "Использовано",
"total": "Всего",
"renameValue": "Переименовать значение",
@@ -778,8 +689,6 @@
"onlineOnly": "Только онлайн",
"inBoth": "В обоих",
"source": "Источник",
"manualRouteEdit": "Ручное редактирование маршрута",
"observedMeshRoute": "Наблюдаемый mesh-маршрут",
"allMessagesCleared": "Все сообщения очищены",
"onlineTraceDatabaseCleared": "База трассировок очищена",
"packetLogsCleared": "Журналы пакетов очищены",
@@ -810,5 +719,194 @@
"captured": "Захвачено",
"size": "Размер",
"noCustomChannelsToClear": "Нет пользовательских каналов для очистки.",
"noDeviceContactsToClear": "Нет контактов устройства для очистки."
"noDeviceContactsToClear": "Нет контактов устройства для очистки.",
"autoSend": "Автоотправка",
"autoSendDescription": "Отправить текущим маршрутом.",
"sendDirect": "Прямая отправка",
"sendDirectDescription": "Отправить напрямую этому контакту.",
"sendFlood": "Отправка лавиной",
"sendFloodDescription": "Отправить через все ретрансляторы.",
"postConnectDiscoveryTitle": "Обнаружить ретрансляторы сейчас?",
"postConnectDiscoveryDescription": "Запустите обнаружение ретрансляторов сразу после подключения, чтобы увидеть ближайшие узлы MeshCore и быстрее добавить их в свою сеть.",
"aToZ": "А-Я",
"add": "Добавить",
"addAdditionalDetails": "Добавить дополнительные сведения",
"addPeer": "Добавить узел",
"addPeerManually": "Добавить узел вручную",
"addedToContacts": "{name} добавлен в контакты",
"addedToSensors": "{name} добавлен в Датчики",
"allowAll": "Разрешить все",
"anonymousRxStats": "Анонимная статистика RX",
"appearance": "Внешний вид",
"ascii": "ASCII",
"baseTelemetry": "Базовая телеметрия",
"blePin": "BLE PIN",
"buzzerAlerts": "Звуковые оповещения",
"cancelImageReceive": "Отменить получение изображения",
"choose": "Выбрать",
"chooseWhichTabsAndContactSectionsToShow": "Выберите отображаемые вкладки и разделы контактов",
"clearCache": "Очистить кэш",
"clearHistory": "Очистить историю",
"clearLiveView": "Очистить режим реального времени",
"clearLogs": "Очистить журналы",
"clearOfflineCache": "Очистить офлайн-кэш?",
"clearOverlay": "Очистить наложение",
"clearRouteOnlyAfterAllRetriesFail": "Очищать маршрут только после всех неудачных повторов",
"codecBitrateAndAudioProcessing": "Кодек, битрейт и обработка звука",
"connectByIpAddress": "Подключиться по IP-адресу",
"controlWhichAlertsYouReceive": "Управление получаемыми оповещениями",
"copyFullHex": "Копировать полный Hex",
"copyRawResponse": "Копировать необработанный ответ",
"couldNotLoadMetHistory": "Не удалось загрузить историю MET",
"customizeSensor": "Настроить {name}",
"data": "Данные",
"deleteGroup": "Удалить группу",
"deleteStyleConfirm": "Удалить {name}?",
"deleteThisDrawing": "Удалить этот {type}?",
"deny": "Запретить",
"deviceInfo": "Информация об устройстве",
"deviceSettings": "Настройки устройства",
"deviceTimeSynced": "Время устройства синхронизировано с телефоном.",
"disableFastGpsPublishing": "Отключить быструю публикацию GPS",
"displayMarkersAndTraceDatabase": "Отображение, маркеры и база трассировок",
"download": "Скачать",
"environmentalTelemetry": "Телеметрия окружающей среды",
"errorCheckingForUpdates": "Ошибка проверки обновлений: {error}",
"errorGeneric": "Ошибка: {error}",
"errorOpeningDownload": "Ошибка открытия загрузки: {error}",
"exportLogs": "Экспортировать журналы",
"extraAggressiveAvifCompression": "Сверхагрессивное сжатие AVIF",
"failedToAddContact": "Не удалось добавить контакт: {error}",
"failedToAddName": "Не удалось добавить {name}: {error}",
"failedToClearChannels": "Не удалось очистить каналы: {error}",
"failedToClearContacts": "Не удалось очистить контакты: {error}",
"failedToConnectViaSerial": "Не удалось подключиться через последовательный порт",
"failedToLoadPreviewImage": "Не удалось загрузить изображение предпросмотра: {error}",
"failedToLoadTrace": "Не удалось загрузить трассировку: {error}",
"failedToSendSarMarker": "Не удалось отправить маркер SAR: {error}",
"failedToSetBuzzerMode": "Не удалось установить режим зуммера: {error}",
"failedToSetGpsMode": "Не удалось установить режим GPS: {error}",
"failedToSyncDeviceTime": "Не удалось синхронизировать время устройства: {error}",
"failedToWipeDeviceData": "Не удалось стереть данные устройства: {error}",
"fastGpsTargetChannel": "Целевой канал быстрого GPS",
"fastUpdatesThresholdsAndPermissions": "Быстрые обновления, пороги и разрешения",
"fetchingCatalog": "Загрузка каталога...",
"fifteenMinutes": "15 минут",
"fifteenSeconds": "15 секунд",
"filterByDirection": "Фильтр по направлению",
"finish": "Завершить",
"fiveMinutes": "5 минут",
"fiveSeconds": "5 секунд",
"fix": "Фикс",
"gps": "GPS",
"gpsAdvertPolicy": "Политика объявлений GPS",
"gpsAndLocation": "GPS и местоположение",
"gpsDiagnostics": "Диагностика GPS",
"gpsSection": "GPS",
"help": "Помощь",
"hex": "Hex",
"hidden": "Скрыто",
"howTheRadioAutoAddsDiscoveredNodes": "Как радио автоматически добавляет обнаруженные узлы.",
"images": "Изображения",
"importProfile": "Импортировать профиль",
"lastFix": "Последний фикс",
"latest": "Последняя",
"latitude": "Широта",
"loadASavedRegion": "Загрузить сохранённый регион",
"loading": "Загрузка",
"locationSharingHardwareAndUpdateInterval": "Обмен местоположением, оборудование и интервал обновления.",
"locationTelemetry": "Телеметрия местоположения",
"lockDestination": "Зафиксировать назначение",
"longitude": "Долгота",
"mapStyle": "Стиль карты",
"max": "Макс",
"maxZoom": "Макс. масштаб",
"messaging": "Сообщения",
"metHistory": "История MET",
"min": "Мин",
"minZoom": "Мин. масштаб",
"moveDown": "Переместить вниз",
"moveUp": "Переместить вверх",
"multiAckMode": "Режим множественного ACK",
"multiDeviceWorkspaceManagement": "Управление рабочим пространством на нескольких устройствах",
"myLocation": "Моё местоположение",
"nameAndTelemetryShared": "Имя и телеметрия доступны другим устройствам.",
"newVersionAvailable": "Новая версия: {version}",
"newer": "Новее",
"noNeighboursFound": "Соседи не найдены",
"noServersFound": "Серверы не найдены",
"notSet": "Не задано",
"notifications": "Уведомления",
"offZeroSeconds": "Выкл (0 с)",
"offlineMaps": "Офлайн-карты",
"older": "Старее",
"oneByteMode0": "1 байт (режим 0)",
"oneHour": "1 час",
"oneMinute": "1 минута",
"openPacketLogs": "Открыть журналы пакетов",
"packetTypeHelp": "Справка по типам пакетов",
"pasteShareLinkOrHexAdvert": "Вставьте ссылку или Hex-объявление",
"pathHash": "Хеш пути",
"pathSize": "Размер пути",
"ping": "Пинг",
"polygon": "Полигон",
"rawResponseCopied": "Необработанный ответ скопирован",
"resendThroughNearestRepeaterOnFailure": "Повторить через ближайший ретранслятор при ошибке",
"resolveContact": "Разрешить контакт",
"routingRetriesAndDestinationLock": "Маршрутизация, повторы и фиксация назначения",
"samples": "Образцы",
"satellites": "Спутники",
"saving": "Сохранение...",
"search": "Поиск",
"searchByNameOrToken": "Поиск по имени или токену",
"searchDiscoveredNodes": "Поиск обнаруженных узлов",
"searchInCurrentFilter": "Поиск в текущем фильтре",
"searchLogs": "Поиск по журналам...",
"searchSensors": "Поиск датчиков",
"searchThisSection": "Поиск в этом разделе",
"selectedRelays": "Выбранные ретрансляторы",
"sensor": "Датчик",
"serialError": "Ошибка последовательного порта: {error}",
"setPathForContact": "Задать путь для {name}",
"shareLiveGps": "Транслировать GPS",
"shareMyTiles": "Поделиться моими тайлами",
"sharingLocationFromPhone": "Трансляция местоположения на этом канале с телефона.",
"sharingLocationFromRadio": "Трансляция местоположения на этом канале с радио.",
"signalDbm": "Сигнал {rssi} дБм",
"sizeCompressionAndPreview": "Размер, сжатие и предпросмотр",
"skip": "Пропустить",
"smallerFileSize": "Меньший размер файла",
"sort": "Сортировка",
"stoppedSharingLocation": "Трансляция местоположения на этом канале остановлена.",
"suppressNotificationsWhileInForeground": "Отключить уведомления при открытом приложении",
"tabsAndNavigation": "Вкладки и навигация",
"templatesAndTutorials": "Шаблоны и обучение",
"tenMinutes": "10 минут",
"tenSeconds": "10 секунд",
"testSendUpdate": "Тестовая отправка обновления",
"themeLanguageAndDisplayPreferences": "Тема, язык и настройки отображения",
"thirtyMinutes": "30 минут",
"thirtySeconds": "30 секунд",
"threeBytesMode2": "3 байта (режим 2)",
"trafficStatsMessageHistoryAndDeveloperTools": "Статистика трафика, история сообщений и инструменты разработчика",
"twoBytesMode1": "2 байта (режим 1)",
"twoMinutes": "2 минуты",
"undo": "Отменить",
"updated": "Обновлено",
"useContactFlags": "Использовать флаги контактов",
"useSavedCoordinates": "Использовать сохранённые координаты",
"view": "Просмотр",
"viewNeighbours": "Просмотр соседей",
"viewPublicStats": "Просмотр публичной статистики",
"setRegionScope": "Установить область региона",
"regionScope": "Область региона",
"regionScopeNone": "Нет (глобально)",
"clearRegionScope": "Очистить область",
"regionScopeWarning": "Только ретрансляторы, разрешающие этот регион, будут пересылать.",
"discoverRegions": "Обнаружить из ретрансляторов",
"discoveringRegions": "Обнаружение регионов...",
"enterRegionName": "Название региона (напр. auckland)",
"noRegionsFound": "Регионы не найдены на этом ретрансляторе.",
"regionScopeSet": "Область региона установлена на {name}",
"regionScopeCleared": "Область региона очищена"
}