mirror of
https://github.com/dz0ny/meshcore-sar.git
synced 2026-08-11 16:30:28 +00:00
568 lines
43 KiB
Plaintext
568 lines
43 KiB
Plaintext
{
|
||
"@@locale": "ru",
|
||
"appTitle": "MeshCore SAR",
|
||
"messages": "Сообщения",
|
||
"contacts": "Контакты",
|
||
"map": "Карта",
|
||
"settings": "Настройки",
|
||
"connect": "Подключить",
|
||
"disconnect": "Отключить",
|
||
"noDevicesFound": "Устройства не найдены",
|
||
"scanAgain": "Повторить поиск",
|
||
"tapToConnect": "Нажмите для подключения",
|
||
"deviceNotConnected": "Устройство не подключено",
|
||
"locationPermissionDenied": "Доступ к геолокации запрещён",
|
||
"locationPermissionPermanentlyDenied": "Доступ к геолокации запрещён навсегда. Включите его в настройках.",
|
||
"locationPermissionRequired": "Доступ к геолокации необходим для GPS-трекинга и координации команды. Вы можете включить его позже в настройках.",
|
||
"locationServicesDisabled": "Службы геолокации отключены. Пожалуйста, включите их в настройках.",
|
||
"failedToGetGpsLocation": "Не удалось получить GPS-координаты",
|
||
"failedToAdvertise": "Ошибка трансляции: {error}",
|
||
"cancelReconnection": "Отменить переподключение",
|
||
"general": "Основные",
|
||
"theme": "Тема",
|
||
"chooseTheme": "Выбрать тему",
|
||
"light": "Светлая",
|
||
"dark": "Тёмная",
|
||
"blueLightTheme": "Синяя светлая тема",
|
||
"blueDarkTheme": "Синяя тёмная тема",
|
||
"sarRed": "SAR Красная",
|
||
"alertEmergencyMode": "Режим тревоги / ЧС",
|
||
"sarGreen": "SAR Зелёная",
|
||
"safeAllClearMode": "Режим «Всё в порядке»",
|
||
"autoSystem": "Авто (Система)",
|
||
"followSystemTheme": "Следовать системной теме",
|
||
"showRxTxIndicators": "Показывать индикаторы RX/TX",
|
||
"displayPacketActivity": "Отображать активность пакетов в верхней панели",
|
||
"disableMap": "Отключить карту",
|
||
"disableMapDescription": "Скрыть вкладку карты для экономии заряда батареи",
|
||
"language": "Язык",
|
||
"chooseLanguage": "Выбрать язык",
|
||
"save": "Сохранить",
|
||
"cancel": "Отмена",
|
||
"close": "Закрыть",
|
||
"about": "О приложении",
|
||
"appVersion": "Версия приложения",
|
||
"appName": "Название приложения",
|
||
"aboutMeshCoreSar": "О MeshCore SAR",
|
||
"aboutDescription": "Приложение для поисково-спасательных операций, разработанное для аварийно-спасательных служб. Возможности:\n\n• BLE mesh-сеть для связи между устройствами\n• Офлайн-карты с несколькими вариантами слоёв\n• Отслеживание членов команды в реальном времени\n• Тактические маркеры SAR (найденный человек, пожар, место сбора)\n• Управление контактами и обмен сообщениями\n• GPS-трекинг с показанием курса компаса\n• Кэширование тайлов карт для работы офлайн",
|
||
"technologiesUsed": "Используемые технологии:",
|
||
"technologiesList": "• Flutter для кросс-платформенной разработки\n• BLE (Bluetooth Low Energy) для mesh-сети\n• OpenStreetMap для карт\n• Provider для управления состоянием\n• SharedPreferences для локального хранилища",
|
||
"moreInfo": "Подробнее",
|
||
"packageName": "Имя пакета",
|
||
"sampleData": "Тестовые данные",
|
||
"sampleDataDescription": "Загрузить или очистить тестовые контакты, сообщения каналов и маркеры SAR",
|
||
"loadSampleData": "Загрузить тестовые данные",
|
||
"clearAllData": "Очистить все данные",
|
||
"clearAllDataConfirmTitle": "Очистить все данные",
|
||
"clearAllDataConfirmMessage": "Это удалит все контакты и маркеры SAR. Вы уверены?",
|
||
"clear": "Очистить",
|
||
"loadedSampleData": "Загружено: {teamCount} членов команды, {channelCount} каналов, {sarCount} маркеров SAR, {messageCount} сообщений",
|
||
"failedToLoadSampleData": "Не удалось загрузить тестовые данные: {error}",
|
||
"allDataCleared": "Все данные очищены",
|
||
"failedToStartBackgroundTracking": "Не удалось запустить фоновое отслеживание. Проверьте разрешения и BLE-соединение.",
|
||
"locationBroadcast": "Трансляция геолокации: {latitude}, {longitude}",
|
||
"defaultPinInfo": "PIN-код по умолчанию для устройств без экрана — 123456. Проблемы с сопряжением? Удалите устройство из Bluetooth в системных настройках.",
|
||
"noMessagesYet": "Сообщений пока нет",
|
||
"pullDownToSync": "Потяните вниз для синхронизации сообщений",
|
||
"deleteContact": "Удалить контакт",
|
||
"delete": "Удалить",
|
||
"viewOnMap": "Показать на карте",
|
||
"refresh": "Обновить",
|
||
"resetPath": "Сбросить маршрут (перепроложить)",
|
||
"publicKeyCopied": "Публичный ключ скопирован в буфер обмена",
|
||
"copiedToClipboard": "{label} скопировано в буфер обмена",
|
||
"pleaseEnterPassword": "Пожалуйста, введите пароль",
|
||
"failedToSyncContacts": "Не удалось синхронизировать контакты: {error}",
|
||
"loggedInSuccessfully": "Вход выполнен! Ожидание сообщений комнаты...",
|
||
"loginFailed": "Ошибка входа — неверный пароль",
|
||
"loggingIn": "Вход в {roomName}...",
|
||
"failedToSendLogin": "Не удалось отправить данные входа: {error}",
|
||
"lowLocationAccuracy": "Низкая точность геолокации",
|
||
"continue_": "Продолжить",
|
||
"sendSarMarker": "Отправить маркер SAR",
|
||
"deleteDrawing": "Удалить рисунок",
|
||
"drawingTools": "Инструменты рисования",
|
||
"drawLine": "Нарисовать линию",
|
||
"drawLineDesc": "Нарисуйте произвольную линию на карте",
|
||
"drawRectangle": "Нарисовать прямоугольник",
|
||
"drawRectangleDesc": "Нарисуйте прямоугольную область на карте",
|
||
"measureDistance": "Измерить расстояние",
|
||
"measureDistanceDesc": "Долгое нажатие на две точки для измерения",
|
||
"clearMeasurement": "Сбросить измерение",
|
||
"distanceLabel": "Расстояние: {distance}",
|
||
"longPressForSecondPoint": "Долгое нажатие для второй точки",
|
||
"longPressToStartMeasurement": "Долгое нажатие для установки первой точки",
|
||
"longPressToStartNewMeasurement": "Долгое нажатие для начала нового измерения",
|
||
"shareDrawings": "Поделиться рисунками",
|
||
"clearAllDrawings": "Удалить все рисунки",
|
||
"completeLine": "Завершить линию",
|
||
"broadcastDrawingsToTeam": "Транслировать {count} рисун{plural} команде",
|
||
"removeAllDrawings": "Удалить все {count} рисун{plural}",
|
||
"deleteAllDrawingsConfirm": "Удалить все {count} рисун{plural} с карты?",
|
||
"drawing": "Рисунок",
|
||
"shareDrawingsCount": "Поделиться {count} рисун{plural}",
|
||
"showReceivedDrawings": "Показать полученные рисунки",
|
||
"showingAllDrawings": "Показаны все рисунки",
|
||
"showingOnlyYourDrawings": "Показаны только ваши рисунки",
|
||
"showSarMarkers": "Показать маркеры SAR",
|
||
"showingSarMarkers": "Маркеры SAR отображаются",
|
||
"hidingSarMarkers": "Маркеры SAR скрыты",
|
||
"clearAll": "Очистить всё",
|
||
"publicChannel": "Публичный канал",
|
||
"broadcastToAll": "Трансляция всем ближайшим узлам (временно)",
|
||
"storedPermanently": "Сохранено постоянно в комнате",
|
||
"notConnectedToDevice": "Устройство не подключено",
|
||
"typeYourMessage": "Введите сообщение...",
|
||
"quickLocationMarker": "Быстрый маркер местоположения",
|
||
"markerType": "Тип маркера",
|
||
"sendTo": "Отправить в",
|
||
"noDestinationsAvailable": "Нет доступных получателей.",
|
||
"selectDestination": "Выберите получателя...",
|
||
"ephemeralBroadcastInfo": "Временно: передаётся по эфиру. Не сохраняется — узлы должны быть онлайн.",
|
||
"persistentRoomInfo": "Постоянно: хранится неизменно в комнате. Синхронизируется автоматически и доступно офлайн.",
|
||
"location": "Местоположение",
|
||
"fromMap": "С карты",
|
||
"gettingLocation": "Получение местоположения...",
|
||
"locationError": "Ошибка геолокации",
|
||
"retry": "Повторить",
|
||
"refreshLocation": "Обновить местоположение",
|
||
"accuracyMeters": "Точность: ±{accuracy}м",
|
||
"notesOptional": "Заметки (необязательно)",
|
||
"addAdditionalInformation": "Добавьте дополнительную информацию...",
|
||
"lowAccuracyWarning": "Точность геолокации: ±{accuracy}м. Этого может быть недостаточно для операций SAR.\n\nПродолжить всё равно?",
|
||
"loginToRoom": "Войти в комнату",
|
||
"enterPasswordInfo": "Введите пароль для доступа к этой комнате. Пароль будет сохранён для дальнейшего использования.",
|
||
"password": "Пароль",
|
||
"enterRoomPassword": "Введите пароль комнаты",
|
||
"loggingInDots": "Вход...",
|
||
"login": "Войти",
|
||
"failedToAddRoom": "Не удалось добавить комнату на устройство: {error}\n\nВозможно, комната ещё не объявила себя.\nПопробуйте подождать, пока комната не выйдет на связь.",
|
||
"direct": "Напрямую",
|
||
"flood": "Широковещательно",
|
||
"loggedIn": "Вход выполнен",
|
||
"noGpsData": "Нет данных GPS",
|
||
"distance": "Расстояние",
|
||
"directPingTimeout": "Таймаут прямого пинга — повтор {name} широковещательно...",
|
||
"pingFailed": "Пинг не удался: {name} — ответ не получен",
|
||
"deleteContactConfirmation": "Вы уверены, что хотите удалить \"{name}\"?\n\nЭто удалит контакт как из приложения, так и с сопряжённого радиоустройства.",
|
||
"failedToRemoveContact": "Не удалось удалить контакт: {error}",
|
||
"type": "Тип",
|
||
"publicKey": "Публичный ключ",
|
||
"lastSeen": "Последнее появление",
|
||
"roomStatus": "Статус комнаты",
|
||
"loginStatus": "Статус входа",
|
||
"notLoggedIn": "Не выполнен вход",
|
||
"adminAccess": "Доступ администратора",
|
||
"yes": "Да",
|
||
"no": "Нет",
|
||
"permissions": "Разрешения",
|
||
"passwordSaved": "Пароль сохранён",
|
||
"locationColon": "Местоположение:",
|
||
"telemetry": "Телеметрия",
|
||
"voltage": "Напряжение",
|
||
"battery": "Батарея",
|
||
"temperature": "Температура",
|
||
"humidity": "Влажность",
|
||
"pressure": "Давление",
|
||
"gpsTelemetry": "GPS (телеметрия)",
|
||
"updated": "Обновлено",
|
||
"pathResetInfo": "Маршрут сброшен для {name}. Следующее сообщение найдёт новый путь.",
|
||
"reLoginToRoom": "Войти в комнату повторно",
|
||
"heading": "Курс",
|
||
"elevation": "Высота",
|
||
"accuracy": "Точность",
|
||
"bearing": "Азимут",
|
||
"direction": "Направление",
|
||
"filterMarkers": "Фильтр маркеров",
|
||
"filterMarkersTooltip": "Фильтровать маркеры",
|
||
"contactsFilter": "Контакты",
|
||
"repeatersFilter": "Ретрансляторы",
|
||
"sarMarkers": "Маркеры SAR",
|
||
"foundPerson": "Найденный человек",
|
||
"fire": "Пожар",
|
||
"stagingArea": "Место сбора",
|
||
"showAll": "Показать все",
|
||
"locationUnavailable": "Местоположение недоступно",
|
||
"ahead": "впереди",
|
||
"degreesRight": "{degrees}° вправо",
|
||
"degreesLeft": "{degrees}° влево",
|
||
"latLonFormat": "Ш: {latitude} Д: {longitude}",
|
||
"noContactsYet": "Контактов пока нет",
|
||
"connectToDeviceToLoadContacts": "Подключите устройство для загрузки контактов",
|
||
"teamMembers": "Члены команды",
|
||
"repeaters": "Ретрансляторы",
|
||
"rooms": "Комнаты",
|
||
"channels": "Каналы",
|
||
"selectMapLayer": "Выбрать слой карты",
|
||
"openStreetMap": "OpenStreetMap",
|
||
"openTopoMap": "OpenTopoMap",
|
||
"esriSatellite": "ESRI Спутник",
|
||
"googleHybrid": "Google Гибрид",
|
||
"googleRoadmap": "Google Дороги",
|
||
"googleTerrain": "Google Рельеф",
|
||
"dragToPosition": "Перетащите для позиционирования",
|
||
"createSarMarker": "Создать маркер SAR",
|
||
"compass": "Компас",
|
||
"navigationAndContacts": "Навигация и контакты",
|
||
"sarAlert": "ТРЕВОГА SAR",
|
||
"textCopiedToClipboard": "Текст скопирован в буфер обмена",
|
||
"cannotReplySenderMissing": "Не удаётся ответить: нет информации об отправителе",
|
||
"cannotReplyContactNotFound": "Не удаётся ответить: контакт не найден",
|
||
"copyText": "Копировать текст",
|
||
"saveAsTemplate": "Сохранить как шаблон",
|
||
"templateSaved": "Шаблон успешно сохранён",
|
||
"templateAlreadyExists": "Шаблон с таким эмодзи уже существует",
|
||
"deleteMessage": "Удалить сообщение",
|
||
"deleteMessageConfirmation": "Вы уверены, что хотите удалить это сообщение?",
|
||
"shareLocation": "Поделиться местоположением",
|
||
"shareLocationText": "{markerInfo}\n\nКоординаты: {lat}, {lon}\n\nGoogle Maps: {url}",
|
||
"sarLocationShare": "Местоположение SAR",
|
||
"justNow": "Только что",
|
||
"minutesAgo": "{minutes}м назад",
|
||
"hoursAgo": "{hours}ч назад",
|
||
"daysAgo": "{days}д назад",
|
||
"secondsAgo": "{seconds}с назад",
|
||
"sending": "Отправка...",
|
||
"sent": "Отправлено",
|
||
"delivered": "Доставлено",
|
||
"deliveredWithTime": "Доставлено ({time}мс)",
|
||
"failed": "Ошибка",
|
||
"broadcast": "Трансляция",
|
||
"deliveredToContacts": "Доставлено {delivered}/{total} контактам",
|
||
"allDelivered": "Все доставлено",
|
||
"recipientDetails": "Детали получателей",
|
||
"pending": "Ожидание",
|
||
"sarMarkerFoundPerson": "Найденный человек",
|
||
"sarMarkerFire": "Место пожара",
|
||
"sarMarkerStagingArea": "Место сбора",
|
||
"sarMarkerObject": "Найденный объект",
|
||
"from": "От",
|
||
"coordinates": "Координаты",
|
||
"tapToViewOnMap": "Нажмите, чтобы открыть на карте",
|
||
"radioSettings": "Настройки радио",
|
||
"frequencyMHz": "Частота (МГц)",
|
||
"frequencyExample": "например, 869.618",
|
||
"bandwidth": "Полоса пропускания",
|
||
"spreadingFactor": "Коэффициент расширения",
|
||
"codingRate": "Скорость кодирования",
|
||
"txPowerDbm": "Мощность TX (дБм)",
|
||
"maxPowerDbm": "Макс: {power} дБм",
|
||
"you": "Вы",
|
||
"exportFailed": "Ошибка экспорта: {error}",
|
||
"importFailed": "Ошибка импорта: {error}",
|
||
"unknown": "Неизвестно",
|
||
"onlineLayers": "Онлайн-слои",
|
||
"locationTrail": "Трек местоположения",
|
||
"showTrailOnMap": "Показать трек на карте",
|
||
"trailVisible": "Трек отображается на карте",
|
||
"trailHiddenRecording": "Трек скрыт (запись продолжается)",
|
||
"duration": "Продолжительность",
|
||
"points": "Точки",
|
||
"clearTrail": "Очистить трек",
|
||
"clearTrailQuestion": "Очистить трек?",
|
||
"clearTrailConfirmation": "Вы уверены, что хотите очистить текущий трек? Это действие нельзя отменить.",
|
||
"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": "Удалить шаблон",
|
||
"templateName": "Название шаблона",
|
||
"templateNameHint": "например, Найденный человек",
|
||
"templateEmoji": "Эмодзи",
|
||
"emojiRequired": "Требуется эмодзи",
|
||
"nameRequired": "Требуется название",
|
||
"templateDescription": "Описание (необязательно)",
|
||
"templateDescriptionHint": "Добавьте дополнительный контекст...",
|
||
"templateColor": "Цвет",
|
||
"previewFormat": "Предпросмотр (формат сообщения SAR)",
|
||
"importFromClipboard": "Импорт",
|
||
"exportToClipboard": "Экспорт",
|
||
"deleteTemplateConfirmation": "Удалить шаблон '{name}'?",
|
||
"templateAdded": "Шаблон добавлен",
|
||
"templateUpdated": "Шаблон обновлён",
|
||
"templateDeleted": "Шаблон удалён",
|
||
"templatesImported": "{count, plural, =0{Шаблоны не импортированы} =1{Импортирован 1 шаблон} other{Импортировано {count} шаблонов}}",
|
||
"templatesExported": "{count, plural, =1{1 шаблон экспортирован в буфер обмена} other{{count} шаблонов экспортировано в буфер обмена}}",
|
||
"resetToDefaults": "Сбросить до умолчаний",
|
||
"resetToDefaultsConfirmation": "Все пользовательские шаблоны будут удалены и восстановлены 4 шаблона по умолчанию. Продолжить?",
|
||
"reset": "Сбросить",
|
||
"resetComplete": "Шаблоны сброшены до умолчаний",
|
||
"noTemplates": "Шаблоны недоступны",
|
||
"tapAddToCreate": "Нажмите +, чтобы создать первый шаблон",
|
||
"ok": "ОК",
|
||
"permissionsSection": "Разрешения",
|
||
"locationPermission": "Разрешение геолокации",
|
||
"checking": "Проверка...",
|
||
"locationPermissionGrantedAlways": "Разрешено (всегда)",
|
||
"locationPermissionGrantedWhileInUse": "Разрешено (при использовании)",
|
||
"locationPermissionDeniedTapToRequest": "Запрещено — нажмите для запроса",
|
||
"locationPermissionPermanentlyDeniedOpenSettings": "Запрещено навсегда — откройте настройки",
|
||
"locationPermissionDialogContent": "Доступ к геолокации запрещён навсегда. Включите его в настройках устройства для GPS-трекинга и обмена местоположением.",
|
||
"openSettings": "Открыть настройки",
|
||
"locationPermissionGranted": "Разрешение геолокации получено!",
|
||
"locationPermissionRequiredForGps": "Разрешение геолокации необходимо для GPS-трекинга и обмена местоположением.",
|
||
"locationPermissionAlreadyGranted": "Разрешение геолокации уже предоставлено.",
|
||
"sarNavyBlue": "SAR Тёмно-синяя",
|
||
"sarNavyBlueDescription": "Профессиональный / оперативный режим",
|
||
"selectRecipient": "Выбрать получателя",
|
||
"broadcastToAllNearby": "Трансляция всем ближайшим",
|
||
"searchRecipients": "Поиск получателей...",
|
||
"noContactsFound": "Контакты не найдены",
|
||
"noRoomsFound": "Комнаты не найдены",
|
||
"noRecipientsAvailable": "Нет доступных получателей",
|
||
"noChannelsFound": "Каналы не найдены",
|
||
"newMessage": "Новое сообщение",
|
||
"channel": "Канал",
|
||
"samplePoliceLead": "Руководитель группы полиции",
|
||
"sampleDroneOperator": "Оператор дрона",
|
||
"sampleFirefighterAlpha": "Пожарный",
|
||
"sampleMedicCharlie": "Медик",
|
||
"sampleCommandDelta": "Командование",
|
||
"sampleFireEngine": "Пожарная машина",
|
||
"sampleAirSupport": "Авиационная поддержка",
|
||
"sampleBaseCoordinator": "Базовый координатор",
|
||
"channelEmergency": "Аварийный",
|
||
"channelCoordination": "Координация",
|
||
"channelUpdates": "Обновления",
|
||
"sampleTeamMember": "Тестовый член команды",
|
||
"sampleScout": "Тестовый разведчик",
|
||
"sampleBase": "Тестовая база",
|
||
"sampleSearcher": "Тестовый поисковик",
|
||
"sampleObjectBackpack": " Найден рюкзак синего цвета",
|
||
"sampleObjectVehicle": " Брошенный автомобиль — установить владельца",
|
||
"sampleObjectCamping": " Обнаружено туристическое снаряжение",
|
||
"sampleObjectTrailMarker": " Указатель тропы найден вне маршрута",
|
||
"sampleMsgAllTeamsCheckIn": "Всем группам: сообщить о готовности",
|
||
"sampleMsgWeatherUpdate": "Погода: ясно, температура 18°C",
|
||
"sampleMsgBaseCamp": "Базовый лагерь развёрнут у места сбора",
|
||
"sampleMsgTeamAlpha": "Группа выдвигается в сектор 2",
|
||
"sampleMsgRadioCheck": "Проверка связи — всем станциям ответить",
|
||
"sampleMsgWaterSupply": "Вода доступна на контрольной точке 3",
|
||
"sampleMsgTeamBravo": "Группа докладывает: сектор 1 чист",
|
||
"sampleMsgEtaRallyPoint": "Прибытие на место сбора: 15 минут",
|
||
"sampleMsgSupplyDrop": "Сброс снаряжения подтверждён на 14:00",
|
||
"sampleMsgDroneSurvey": "Разведка дроном завершена — ничего не обнаружено",
|
||
"sampleMsgTeamCharlie": "Группа запрашивает подкрепление",
|
||
"sampleMsgRadioDiscipline": "Всем подразделениям: соблюдать радиодисциплину",
|
||
"sampleMsgUrgentMedical": "СРОЧНО: нужна медицинская помощь в секторе 4",
|
||
"sampleMsgAdultMale": " Взрослый мужчина, в сознании",
|
||
"sampleMsgFireSpotted": "Обнаружен пожар — координаты следуют",
|
||
"sampleMsgSpreadingRapidly": " Распространяется быстро!",
|
||
"sampleMsgPriorityHelicopter": "ПРИОРИТЕТ: нужна поддержка вертолёта",
|
||
"sampleMsgMedicalTeamEnRoute": "Медицинская группа движется к вашему местоположению",
|
||
"sampleMsgEvacHelicopter": "Вертолёт эвакуации: прибытие через 10 минут",
|
||
"sampleMsgEmergencyResolved": "Чрезвычайная ситуация ликвидирована — опасности нет",
|
||
"sampleMsgEmergencyStagingArea": " Аварийное место сбора",
|
||
"sampleMsgEmergencyServices": "Аварийные службы уведомлены и реагируют",
|
||
"sampleAlphaTeamLead": "Руководитель группы",
|
||
"sampleBravoScout": "Разведчик",
|
||
"sampleCharlieMedic": "Медик",
|
||
"sampleDeltaNavigator": "Навигатор",
|
||
"sampleEchoSupport": "Поддержка",
|
||
"sampleBaseCommand": "Базовое командование",
|
||
"sampleFieldCoordinator": "Полевой координатор",
|
||
"sampleMedicalTeam": "Медицинская группа",
|
||
"mapDrawing": "Рисунок на карте",
|
||
"navigateToDrawing": "Перейти к рисунку",
|
||
"copyCoordinates": "Копировать координаты",
|
||
"hideFromMap": "Скрыть с карты",
|
||
"lineDrawing": "Линия",
|
||
"rectangleDrawing": "Прямоугольник",
|
||
"manualCoordinates": "Ввод координат вручную",
|
||
"enterCoordinatesManually": "Ввести координаты вручную",
|
||
"latitudeLabel": "Широта",
|
||
"longitudeLabel": "Долгота",
|
||
"exampleCoordinates": "Пример: 55.7558, 37.6173",
|
||
"shareDrawing": "Поделиться рисунком",
|
||
"shareWithAllNearbyDevices": "Поделиться со всеми ближайшими устройствами",
|
||
"shareToRoom": "Отправить в комнату",
|
||
"sendToPersistentStorage": "Отправить в постоянное хранилище комнаты",
|
||
"deleteDrawingConfirm": "Вы уверены, что хотите удалить этот рисунок?",
|
||
"drawingDeleted": "Рисунок удалён",
|
||
"yourDrawingsCount": "Ваши рисунки ({count})",
|
||
"shared": "Передано",
|
||
"line": "Линия",
|
||
"rectangle": "Прямоугольник",
|
||
"updateAvailable": "Доступно обновление",
|
||
"currentVersion": "Текущая",
|
||
"latestVersion": "Последняя",
|
||
"downloadUpdate": "Скачать",
|
||
"updateLater": "Позже",
|
||
"cadastralParcels": "Кадастровые участки",
|
||
"forestRoads": "Лесные дороги",
|
||
"wmsOverlays": "WMS-наложения",
|
||
"hikingTrails": "Туристические маршруты",
|
||
"mainRoads": "Главные дороги",
|
||
"houseNumbers": "Номера домов",
|
||
"fireHazardZones": "Пожароопасные зоны",
|
||
"historicalFires": "Исторические пожары",
|
||
"firebreaks": "Противопожарные просеки",
|
||
"krasFireZones": "Пожарные зоны Краса",
|
||
"placeNames": "Названия мест",
|
||
"municipalityBorders": "Границы муниципалитетов",
|
||
"topographicMap": "Топографическая карта 1:25000",
|
||
"recentMessages": "Последние сообщения",
|
||
"addChannel": "Добавить канал",
|
||
"channelName": "Название канала",
|
||
"channelNameHint": "например, Группа спасения Альфа",
|
||
"channelSecret": "Секрет канала",
|
||
"channelSecretHint": "Общий пароль для этого канала",
|
||
"channelSecretHelp": "Этот секрет необходимо передать всем членам команды, которым нужен доступ к каналу",
|
||
"channelTypesInfo": "Hash-каналы (#команда): секрет генерируется из названия автоматически. Одно название = один канал на всех устройствах.\n\nЗакрытые каналы: используется явный секрет. Войти могут только те, у кого есть секрет.",
|
||
"hashChannelInfo": "Hash-канал: секрет будет автоматически создан из названия. Все, кто использует одно и то же имя, окажутся в одном канале.",
|
||
"channelNameRequired": "Требуется название канала",
|
||
"channelNameTooLong": "Название канала не должно превышать 31 символ",
|
||
"channelSecretRequired": "Требуется секрет канала",
|
||
"channelSecretTooLong": "Секрет канала не должен превышать 32 символа",
|
||
"invalidAsciiCharacters": "Разрешены только символы ASCII",
|
||
"channelCreatedSuccessfully": "Канал успешно создан",
|
||
"channelCreationFailed": "Не удалось создать канал: {error}",
|
||
"deleteChannel": "Удалить канал",
|
||
"deleteChannelConfirmation": "Вы уверены, что хотите удалить канал \"{channelName}\"? Это действие нельзя отменить.",
|
||
"channelDeletedSuccessfully": "Канал успешно удалён",
|
||
"channelDeletionFailed": "Не удалось удалить канал: {error}",
|
||
"createChannel": "Создать канал",
|
||
"wizardBack": "Назад",
|
||
"wizardSkip": "Пропустить",
|
||
"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} членам команды.",
|
||
"sarMarkerSentToContacts": "Маркер SAR отправлен {count} контактам",
|
||
"noContactsAvailable": "Нет доступных контактов команды",
|
||
"reply": "Ответить",
|
||
"technicalDetails": "Технические детали",
|
||
"messageTechnicalDetails": "Технические детали сообщения",
|
||
"linkQuality": "Качество связи",
|
||
"delivery": "Доставка",
|
||
"status": "Статус",
|
||
"expectedAckTag": "Ожидаемый тег ACK",
|
||
"roundTrip": "Время отклика",
|
||
"retryAttempt": "Попытка повтора",
|
||
"floodFallback": "Широковещательный резерв",
|
||
"identity": "Идентификатор",
|
||
"messageId": "ID сообщения",
|
||
"sender": "Отправитель",
|
||
"senderKey": "Ключ отправителя",
|
||
"recipient": "Получатель",
|
||
"recipientKey": "Ключ получателя",
|
||
"voice": "Голос",
|
||
"voiceId": "ID голоса",
|
||
"envelope": "Конверт",
|
||
"sessionProgress": "Прогресс сессии",
|
||
"complete": "Завершено",
|
||
"rawDump": "Необработанные данные",
|
||
"cannotRetryMissingRecipient": "Повтор невозможен: нет информации о получателе",
|
||
"voiceUnavailable": "Голос сейчас недоступен",
|
||
"requestingVoice": "Запрос голоса",
|
||
"device": "устройство",
|
||
"change": "Изменить",
|
||
"wizardOverviewDescription": "Это приложение объединяет сообщения MeshCore, полевые обновления SAR, карты и инструменты устройства в одном месте.",
|
||
"wizardOverviewFeature1": "Отправляйте личные сообщения, сообщения комнат и сообщения каналов из основной вкладки «Сообщения».",
|
||
"wizardOverviewFeature2": "Делитесь SAR-маркерами, рисунками на карте, голосовыми клипами и изображениями через mesh-сеть.",
|
||
"wizardOverviewFeature3": "Подключайтесь по BLE или TCP, а затем управляйте сопутствующей радиостанцией прямо из приложения.",
|
||
"wizardMessagingTitle": "Сообщения и полевые отчёты",
|
||
"wizardMessagingDescription": "Здесь сообщения это больше, чем просто текст. Приложение уже поддерживает несколько видов операционных данных и сценариев передачи.",
|
||
"wizardMessagingFeature1": "Отправляйте личные сообщения, сообщения комнат и трафик каналов из одного редактора.",
|
||
"wizardMessagingFeature2": "Создавайте обновления SAR и повторно используемые шаблоны SAR для типовых полевых отчётов.",
|
||
"wizardMessagingFeature3": "Передавайте голосовые сессии и изображения с индикатором прогресса и оценкой эфирного времени в интерфейсе.",
|
||
"wizardConnectDeviceTitle": "Подключить устройство",
|
||
"wizardConnectDeviceDescription": "Подключите свою радиостанцию MeshCore, выберите имя и примените радиопрофиль перед продолжением.",
|
||
"wizardSetupBadge": "Настройка",
|
||
"wizardOverviewBadge": "Обзор",
|
||
"wizardConnectedToDevice": "Подключено к {deviceName}",
|
||
"wizardNoDeviceConnected": "Устройство ещё не подключено",
|
||
"wizardSkipForNow": "Пропустить пока",
|
||
"wizardDeviceNameLabel": "Имя устройства",
|
||
"wizardDeviceNameHelp": "Это имя транслируется другим пользователям MeshCore.",
|
||
"wizardConfigRegionLabel": "Регион конфигурации",
|
||
"wizardConfigRegionHelp": "Используется полный официальный список профилей MeshCore. По умолчанию выбран EU/UK (Narrow).",
|
||
"wizardPresetNote1": "Убедитесь, что выбранный профиль соответствует местным радиоправилам.",
|
||
"wizardPresetNote2": "Список соответствует официальному потоку профилей инструмента MeshCore config.",
|
||
"wizardPresetNote3": "Для онбординга по умолчанию остаётся выбран EU/UK (Narrow).",
|
||
"wizardSaving": "Сохранение...",
|
||
"wizardSaveAndContinue": "Сохранить и продолжить",
|
||
"wizardEnterDeviceName": "Введите имя устройства перед продолжением.",
|
||
"wizardDeviceSetupSaved": "Сохранено: {deviceName}, профиль {presetName}.",
|
||
"wizardNetworkTitle": "Контакты, комнаты и ретрансляторы",
|
||
"wizardNetworkDescription": "Вкладка «Контакты» организует сеть, которую вы обнаруживаете, и маршруты, которые вы узнаёте со временем.",
|
||
"wizardNetworkFeature1": "Просматривайте участников команды, ретрансляторы, комнаты, каналы и ожидающие объявления в одном списке.",
|
||
"wizardNetworkFeature2": "Используйте smart ping, вход в комнаты, изученные пути и инструменты сброса маршрутов, когда связь становится нестабильной.",
|
||
"wizardNetworkFeature3": "Создавайте каналы и управляйте сетевыми назначениями, не покидая приложение.",
|
||
"wizardMapOpsTitle": "Карта, следы и общая геометрия",
|
||
"wizardMapOpsDescription": "Карта приложения напрямую связана с сообщениями, отслеживанием и SAR-слоями, а не является отдельным просмотрщиком.",
|
||
"wizardMapOpsFeature1": "Отслеживайте свою позицию, местоположение команды и траектории движения на карте.",
|
||
"wizardMapOpsFeature2": "Открывайте рисунки из сообщений, просматривайте их прямо в интерфейсе и удаляйте с карты при необходимости.",
|
||
"wizardMapOpsFeature3": "Используйте карты ретрансляторов и общие слои, чтобы понимать покрытие сети в поле.",
|
||
"wizardToolsTitle": "Инструменты помимо сообщений",
|
||
"wizardToolsDescription": "Здесь есть больше, чем четыре основные вкладки. Приложение также включает настройку, диагностику и необязательные сценарии датчиков.",
|
||
"wizardToolsFeature1": "Откройте настройки устройства, чтобы изменить параметры радио, телеметрию, мощность TX и сведения о сопутствующем устройстве.",
|
||
"wizardToolsFeature2": "Включите вкладку «Датчики», если нужны панели наблюдаемых датчиков и быстрые действия обновления.",
|
||
"wizardToolsFeature3": "Используйте журналы пакетов, сканирование спектра и диагностику разработчика для устранения проблем mesh-сети.",
|
||
"contactInSensors": "В датчиках",
|
||
"contactAddToSensors": "Добавить в датчики",
|
||
"contactSetPath": "Задать путь",
|
||
"contactAddedToSensors": "{contactName} добавлен в Датчики",
|
||
"contactFailedToClearRoute": "Не удалось очистить маршрут: {error}",
|
||
"contactRouteCleared": "Маршрут очищен",
|
||
"contactRouteSet": "Маршрут задан: {route}",
|
||
"contactFailedToSetRoute": "Не удалось задать маршрут: {error}"
|
||
}
|