{ "channels_channelDeleteFailed": "Не удалось удалить канал {name}.", "@channels_channelDeleteFailed": { "placeholders": { "name": { "type": "String" } } }, "@@locale": "ru", "appTitle": "MeshCore Open", "nav_contacts": "Контакты", "nav_channels": "Каналы", "nav_map": "Карта", "common_cancel": "Отмена", "common_ok": "OK", "common_connect": "Коннект", "common_unknownDevice": "Неизвестное устройство", "common_save": "Сохранить", "common_delete": "Удалить", "common_close": "Закрыть", "common_edit": "Изменить", "common_add": "Добавить", "common_settings": "Настройки", "common_disconnect": "Отключить", "common_connected": "Подключено", "common_disconnected": "Отключено", "common_create": "Создать", "common_continue": "Продолжить", "common_share": "Поделиться", "common_copy": "Копировать", "common_retry": "Повторить", "common_hide": "Скрыть", "common_remove": "Убрать", "common_enable": "Включить", "common_disable": "Выключить", "common_reboot": "Перезагрузить", "common_loading": "Загрузка...", "common_notAvailable": "—", "common_voltageValue": "{volts} В", "common_percentValue": "{percent}%", "scanner_title": "MeshCore Open", "scanner_scanning": "Поиск устройств...", "scanner_connecting": "Подключение...", "scanner_disconnecting": "Отключение...", "scanner_notConnected": "Не подключено", "scanner_connectedTo": "Подключено к {deviceName}", "scanner_searchingDevices": "Поиск устройств MeshCore...", "scanner_tapToScan": "Нажмите для поиска MeshCore устройств", "scanner_connectionFailed": "Подключение не удалось: {error}", "scanner_stop": "Стоп", "scanner_scan": "Сканирование", "device_quickSwitch": "Быстрое переключение", "device_meshcore": "MeshCore", "settings_title": "Настройки", "settings_deviceInfo": "Информация об устройстве", "settings_appSettings": "Настройки приложения", "settings_appSettingsSubtitle": "Уведомления, сообщения и настройки карты", "settings_nodeSettings": "Настройки ноды", "settings_nodeName": "Имя ноды", "settings_nodeNameNotSet": "Не установлено", "settings_nodeNameHint": "Введите имя ноды", "settings_nodeNameUpdated": "Имя обновлено", "settings_radioSettings": "Настройки радио", "settings_radioSettingsSubtitle": "Частота, мощность и коэффициент распространения", "settings_radioSettingsUpdated": "Настройки радио обновлены", "settings_location": "Позиция", "settings_locationSubtitle": "Координаты GPS", "settings_locationUpdated": "Позиция и настройки GPS обновлены", "settings_locationBothRequired": "Введите широту и долготу.", "settings_locationInvalid": "Неверная широта или долгота.", "settings_locationGPSEnable": "Включить GPS", "settings_locationGPSEnableSubtitle": "Включение GPS для автоматического обновления позиции.", "settings_locationIntervalSec": "Интервал для позиционирования GPS (секунды)", "settings_locationIntervalInvalid": "Интервал должен составлять не менее 60 секунд и не более 86400 секунд.", "settings_latitude": "Широта", "settings_longitude": "Долгота", "settings_privacyMode": "Режим конфиденциальности", "settings_privacyModeSubtitle": "Скрыть имя/позицию в анонсировании", "settings_privacyModeToggle": "Включите режим конфиденциальности, чтобы скрыть свое имя и местоположение в анонсировании.", "settings_privacyModeEnabled": "Режим конфиденциальности включен", "settings_privacyModeDisabled": "Режим конфиденциальности выключен", "settings_actions": "Действия", "settings_sendAdvertisement": "Отправить анонсирование", "settings_sendAdvertisementSubtitle": "Отправить анонсирование о присутствии сейчас", "settings_advertisementSent": "Анонсирование отправлено", "settings_syncTime": "Синхронизация времени", "settings_syncTimeSubtitle": "Синхронизировать время с телефоном", "settings_timeSynchronized": "Время синхронизировано", "settings_refreshContacts": "Обновить контакты", "settings_refreshContactsSubtitle": "Перезагрузить список контактов с устройства", "settings_rebootDevice": "Перезагрузить устройство", "settings_rebootDeviceSubtitle": "Перезапустить устройство MeshCore", "settings_rebootDeviceConfirm": "Вы уверены, что хотите перезагрузить устройство? Вы будете отключены.", "settings_debug": "Отладка", "settings_bleDebugLog": "Журнал отладки BLE", "settings_bleDebugLogSubtitle": "Команды BLE, ответы и сырые данные", "settings_appDebugLog": "Журнал отладки приложения", "settings_appDebugLogSubtitle": "Сообщения отладки приложения", "settings_about": "О программе", "settings_aboutVersion": "MeshCore Open v{version}", "settings_aboutLegalese": "2026 MeshCore Open Source Project", "settings_aboutDescription": "Открытое клиентское приложение на Flutter для устройств MeshCore с LoRa-сетями.", "settings_infoName": "Имя", "settings_infoId": "ID", "settings_infoStatus": "Статус", "settings_infoBattery": "Батарея", "settings_infoPublicKey": "Публичный ключ", "settings_infoContactsCount": "Количество контактов", "settings_infoChannelCount": "Количество каналов", "settings_presets": "Пресеты", "settings_frequency": "Частота (МГц)", "settings_frequencyHelper": "300.0 – 2500.0", "settings_frequencyInvalid": "Недопустимая частота (300–2500 МГц)", "settings_bandwidth": "Полоса пропускания", "settings_spreadingFactor": "Коэффициент расширения", "settings_codingRate": "Коэффициент кодирования", "settings_txPower": "Мощность передачи (дБм)", "settings_txPowerHelper": "0 – 22", "settings_txPowerInvalid": "Недопустимая мощность передачи (0–22 дБм)", "settings_error": "Ошибка: {message}", "appSettings_title": "Настройки приложения", "appSettings_appearance": "Внешний вид", "appSettings_theme": "Тема", "appSettings_themeSystem": "Как в системе", "appSettings_themeLight": "Светлая", "appSettings_themeDark": "Тёмная", "appSettings_language": "Язык", "appSettings_languageSystem": "Как в системе", "appSettings_languageEn": "Английский", "appSettings_languageFr": "Французский", "appSettings_languageEs": "Испанский", "appSettings_languageDe": "Немецкий", "appSettings_languagePl": "Польский", "appSettings_languageSl": "Словенский", "appSettings_languagePt": "Португальский", "appSettings_languageIt": "Итальянский", "appSettings_languageZh": "Китайский", "appSettings_languageSv": "Шведский", "appSettings_languageNl": "Нидерландский", "appSettings_languageSk": "Словацкий", "appSettings_languageBg": "Болгарский", "appSettings_languageRu": "Русский", "appSettings_notifications": "Уведомления", "appSettings_enableNotifications": "Включить уведомления", "appSettings_enableNotificationsSubtitle": "Получать уведомления о сообщениях и оповещениях", "appSettings_notificationPermissionDenied": "Разрешение на уведомления отклонено", "appSettings_notificationsEnabled": "Уведомления включены", "appSettings_notificationsDisabled": "Уведомления отключены", "appSettings_messageNotifications": "Уведомления о сообщениях", "appSettings_messageNotificationsSubtitle": "Показывать уведомление при получении новых сообщений", "appSettings_channelMessageNotifications": "Уведомления о сообщениях в каналах", "appSettings_channelMessageNotificationsSubtitle": "Показывать уведомление при получении сообщений в каналах", "appSettings_advertisementNotifications": "Уведомления об анонсированиях", "appSettings_advertisementNotificationsSubtitle": "Показывать уведомление при обнаружении новых нод", "appSettings_messaging": "Обмен сообщениями", "appSettings_clearPathOnMaxRetry": "Сбросить маршрут после максимального числа попыток", "appSettings_clearPathOnMaxRetrySubtitle": "Сбросить маршрут контакта после 5 неудачных попыток отправки", "appSettings_pathsWillBeCleared": "Маршруты будут сброшены после 5 неудачных попыток", "appSettings_pathsWillNotBeCleared": "Маршруты не будут автоматически сбрасываться", "appSettings_autoRouteRotation": "Автоматическое переключение маршрутов", "appSettings_autoRouteRotationSubtitle": "Циклически переключаться между лучшими маршрутами и режимом рассылки", "appSettings_autoRouteRotationEnabled": "Автоматическое переключение маршрутов включено", "appSettings_autoRouteRotationDisabled": "Автоматическое переключение маршрутов отключено", "appSettings_battery": "Батарея", "appSettings_batteryChemistry": "Химия батареи", "appSettings_batteryChemistryPerDevice": "Установить для устройства ({deviceName})", "appSettings_batteryChemistryConnectFirst": "Подключитесь к устройству, чтобы выбрать", "appSettings_batteryNmc": "18650 NMC (3.0–4.2 В)", "appSettings_batteryLifepo4": "LiFePO4 (2.6–3.65 В)", "appSettings_batteryLipo": "LiPo (3.0–4.2 В)", "appSettings_mapDisplay": "Отображение карты", "appSettings_showRepeaters": "Показывать репитеры", "appSettings_showRepeatersSubtitle": "Отображать репитеры на карте", "appSettings_showChatNodes": "Показывать чат-ноды", "appSettings_showChatNodesSubtitle": "Отображать чат-ноды на карте", "appSettings_showOtherNodes": "Показывать другие ноды", "appSettings_showOtherNodesSubtitle": "Отображать другие типы нод на карте", "appSettings_timeFilter": "Фильтр по времени", "appSettings_timeFilterShowAll": "Показывать все ноды", "appSettings_timeFilterShowLast": "Показывать ноды за последние {hours} ч", "appSettings_mapTimeFilter": "Временной фильтр карты", "appSettings_showNodesDiscoveredWithin": "Показывать ноды, обнаруженные за:", "appSettings_allTime": "Всё время", "appSettings_lastHour": "Последний час", "appSettings_last6Hours": "Последние 6 часов", "appSettings_last24Hours": "Последние 24 часа", "appSettings_lastWeek": "Последнюю неделю", "appSettings_offlineMapCache": "Кэш офлайн-карты", "appSettings_noAreaSelected": "Область не выбрана", "appSettings_areaSelectedZoom": "Область выбрана (масштаб {minZoom}–{maxZoom})", "appSettings_debugCard": "Отладка", "appSettings_appDebugLogging": "Журнал отладки приложения", "appSettings_appDebugLoggingSubtitle": "Записывать отладочные сообщения приложения для диагностики", "appSettings_appDebugLoggingEnabled": "Журнал отладки приложения включён", "appSettings_appDebugLoggingDisabled": "Журнал отладки приложения отключён", "contacts_title": "Контакты", "contacts_noContacts": "Контактов пока нет", "contacts_contactsWillAppear": "Контакты появятся, когда устройства начнут рассылать оповещения", "contacts_searchContacts": "Поиск контактов...", "contacts_noUnreadContacts": "Нет непрочитанных контактов", "contacts_noContactsFound": "Контакты или группы не найдены", "contacts_deleteContact": "Удалить контакт", "contacts_removeConfirm": "Удалить {contactName} из контактов?", "contacts_manageRepeater": "Управление репитером", "contacts_manageRoom": "Управление сервером комнат", "contacts_roomLogin": "Вход на сервер комнат", "contacts_openChat": "Открыть чат", "contacts_editGroup": "Изменить группу", "contacts_deleteGroup": "Удалить группу", "contacts_deleteGroupConfirm": "Удалить \"{groupName}\"?", "contacts_newGroup": "Новая группа", "contacts_groupName": "Имя группы", "contacts_groupNameRequired": "Имя группы обязательно", "contacts_groupNameReserved": "Это имя группы зарезервировано", "contacts_groupAlreadyExists": "Группа \"{name}\" уже существует", "contacts_filterContacts": "Фильтр контактов...", "contacts_noContactsMatchFilter": "Нет контактов, соответствующих фильтру", "contacts_noMembers": "Нет участников", "contacts_lastSeenNow": "Видели только что", "contacts_lastSeenMinsAgo": "Видели {minutes} мин назад", "contacts_lastSeenHourAgo": "Видели 1 час назад", "contacts_lastSeenHoursAgo": "Видели {hours} ч назад", "contacts_lastSeenDayAgo": "Видели 1 день назад", "contacts_lastSeenDaysAgo": "Видели {days} дн. назад", "channels_title": "Каналы", "channels_noChannelsConfigured": "Каналы не настроены", "channels_addPublicChannel": "Добавить публичный канал", "channels_searchChannels": "Поиск каналов...", "channels_noChannelsFound": "Каналы не найдены", "channels_channelIndex": "Канал {index}", "channels_hashtagChannel": "Хэштег-канал", "channels_public": "Публичный", "channels_private": "Приватный", "channels_publicChannel": "Публичный канал", "channels_privateChannel": "Приватный канал", "channels_editChannel": "Изменить канал", "channels_muteChannel": "Отключить уведомления канала", "channels_unmuteChannel": "Включить уведомления канала", "channels_deleteChannel": "Удалить канал", "channels_deleteChannelConfirm": "Удалить \"{name}\"? Это действие нельзя отменить.", "channels_channelDeleted": "Канал \"{name}\" удалён", "channels_addChannel": "Добавить канал", "channels_channelIndexLabel": "Индекс канала", "channels_channelName": "Имя канала", "channels_usePublicChannel": "Использовать публичный канал", "channels_standardPublicPsk": "Стандартный публичный PSK", "channels_pskHex": "PSK (Hex)", "channels_generateRandomPsk": "Сгенерировать случайный PSK", "channels_enterChannelName": "Введите имя канала", "channels_pskMustBe32Hex": "PSK должен содержать 32 шестнадцатеричных символа", "channels_channelAdded": "Канал \"{name}\" добавлен", "channels_editChannelTitle": "Изменить канал {index}", "channels_smazCompression": "Сжатие SMAZ", "channels_channelUpdated": "Канал \"{name}\" обновлён", "channels_publicChannelAdded": "Публичный канал добавлен", "channels_sortBy": "Сортировка", "channels_sortManual": "Вручную", "channels_sortAZ": "По алфавиту", "channels_sortLatestMessages": "По последним сообщениям", "channels_sortUnread": "По непрочитанным", "channels_createPrivateChannel": "Создать приватный канал", "channels_createPrivateChannelDesc": "Защищён секретным ключом.", "channels_joinPrivateChannel": "Присоединиться к приватному каналу", "channels_joinPrivateChannelDesc": "Введите секретный ключ вручную.", "channels_joinPublicChannel": "Присоединиться к публичному каналу", "channels_joinPublicChannelDesc": "К этому каналу может присоединиться любой.", "channels_joinHashtagChannel": "Присоединиться к хэштег-каналу", "channels_joinHashtagChannelDesc": "К хэштег-каналам может присоединиться любой.", "channels_scanQrCode": "Сканировать QR-код", "channels_scanQrCodeComingSoon": "Скоро будет", "channels_enterHashtag": "Введите хэштег", "channels_hashtagHint": "например, #команда", "chat_noMessages": "Сообщений пока нет", "chat_sendMessageToStart": "Отправьте сообщение, чтобы начать", "chat_originalMessageNotFound": "Исходное сообщение не найдено", "chat_replyingTo": "Ответ для {name}", "chat_replyTo": "Ответить {name}", "chat_location": "Местоположение", "chat_sendMessageTo": "Отправить сообщение {contactName}", "chat_typeMessage": "Напишите сообщение...", "chat_messageTooLong": "Сообщение слишком длинное (макс. {maxBytes} байт).", "chat_messageCopied": "Сообщение скопировано", "chat_messageDeleted": "Сообщение удалено", "chat_retryingMessage": "Повтор отправки сообщения", "chat_retryCount": "Попытка {current}/{max}", "chat_sendGif": "Отправить GIF", "chat_reply": "Ответить", "chat_addReaction": "Добавить реакцию", "chat_me": "Я", "emojiCategorySmileys": "Смайлы", "emojiCategoryGestures": "Жесты", "emojiCategoryHearts": "Сердечки", "emojiCategoryObjects": "Предметы", "gifPicker_title": "Выберите GIF", "gifPicker_searchHint": "Поиск GIF...", "gifPicker_poweredBy": "Работает на GIPHY", "gifPicker_noGifsFound": "GIF не найдены", "gifPicker_failedLoad": "Не удалось загрузить GIF", "gifPicker_failedSearch": "Не удалось выполнить поиск GIF", "gifPicker_noInternet": "Нет подключения к интернету", "debugLog_appTitle": "Журнал отладки приложения", "debugLog_bleTitle": "Журнал отладки BLE", "debugLog_copyLog": "Копировать журнал", "debugLog_clearLog": "Очистить журнал", "debugLog_copied": "Журнал отладки скопирован", "debugLog_bleCopied": "Журнал BLE скопирован", "debugLog_noEntries": "Журнал отладки пока пуст", "debugLog_enableInSettings": "Включите запись журнала отладки в настройках", "debugLog_frames": "Фреймы", "debugLog_rawLogRx": "Сырой журнал приёма", "debugLog_noBleActivity": "Активность BLE пока отсутствует", "debugFrame_length": "Длина фрейма: {count} байт", "debugFrame_command": "Команда: 0x{value}", "debugFrame_textMessageHeader": "Фрейм текстового сообщения:", "debugFrame_destinationPubKey": "- Публичный ключ получателя: {pubKey}", "debugFrame_timestamp": "- Временная метка: {timestamp}", "debugFrame_flags": "- Флаги: 0x{value}", "debugFrame_textType": "- Тип текста: {type} ({label})", "debugFrame_textTypeCli": "CLI", "debugFrame_textTypePlain": "Обычный", "debugFrame_text": "- Текст: \"{text}\"", "debugFrame_hexDump": "Шестнадцатеричный дамп:", "chat_pathManagement": "Управление маршрутами", "chat_routingMode": "Режим маршрутизации", "chat_autoUseSavedPath": "Авто (использовать сохранённый маршрут)", "chat_forceFloodMode": "Принудительный режим рассылки", "chat_recentAckPaths": "Недавние подтверждённые маршруты (нажмите, чтобы использовать):", "chat_pathHistoryFull": "История маршрутов заполнена. Удалите записи, чтобы добавить новые.", "chat_hopSingular": "хоп", "chat_hopPlural": "хопов", "chat_hopsCount": "{count} {count, plural, one{хоп} few{хопа} many{хопов} other{хопов}}", "chat_successes": "успешно", "chat_removePath": "Удалить маршрут", "chat_noPathHistoryYet": "История маршрутов пока пуста.\nОтправьте сообщение, чтобы обнаружить маршруты.", "chat_pathActions": "Действия с маршрутом:", "chat_setCustomPath": "Указать маршрут вручную", "chat_setCustomPathSubtitle": "Вручную задать маршрут передачи", "chat_clearPath": "Очистить маршрут", "chat_clearPathSubtitle": "Принудительно обновить маршрут при следующей отправке", "chat_pathCleared": "Маршрут очищен. Следующее сообщение обновит маршрут.", "chat_floodModeSubtitle": "Используйте переключатель маршрутизации в панели приложения", "chat_floodModeEnabled": "Режим рассылки включён. Отключите через значок маршрутизации в панели приложения.", "chat_fullPath": "Полный маршрут", "chat_pathDetailsNotAvailable": "Детали маршрута ещё недоступны. Попробуйте отправить сообщение для обновления.", "chat_pathSetHops": "Маршрут установлен: {hopCount} {hopCount, plural, one{хоп} few{хопа} many{хопов} other{хопов}} — {status}", "chat_pathSavedLocally": "Сохранено локально. Подключитесь для синхронизации.", "chat_pathDeviceConfirmed": "Подтверждено устройством.", "chat_pathDeviceNotConfirmed": "Ещё не подтверждено устройством.", "chat_type": "Тип", "chat_path": "Маршрут", "chat_publicKey": "Публичный ключ", "chat_compressOutgoingMessages": "Сжимать исходящие сообщения", "chat_floodForced": "Рассылка (принудительно)", "chat_directForced": "Прямой (принудительно)", "chat_hopsForced": "{count} хоп(ов) (принудительно)", "chat_floodAuto": "Рассылка (авто)", "chat_direct": "Прямой", "chat_poiShared": "Точка интереса отправлена", "chat_unread": "Непрочитанных: {count}", "map_title": "Карта нод", "map_noNodesWithLocation": "Нет нод с данными о местоположении", "map_nodesNeedGps": "Ноды должны передавать свои GPS-координаты, чтобы отображаться на карте", "map_nodesCount": "Нод: {count}", "map_pinsCount": "Меток: {count}", "map_chat": "Чат", "map_repeater": "Репитер", "map_room": "Комната", "map_sensor": "Сенсор", "map_pinDm": "Метка (ЛС)", "map_pinPrivate": "Метка (Приватная)", "map_pinPublic": "Метка (Публичная)", "map_lastSeen": "Последнее появление", "map_disconnectConfirm": "Вы уверены, что хотите отключиться от этого устройства?", "map_from": "От", "map_source": "Источник", "map_flags": "Флаги", "map_shareMarkerHere": "Поделиться меткой здесь", "map_pinLabel": "Метка", "map_label": "Подпись", "map_pointOfInterest": "Точка интереса", "map_sendToContact": "Отправить контакту", "map_sendToChannel": "Отправить в канал", "map_noChannelsAvailable": "Нет доступных каналов", "map_publicLocationShare": "Публичная передача местоположения", "map_publicLocationShareConfirm": "Вы собираетесь поделиться местоположением в {channelLabel}. Этот канал публичный, и любой, у кого есть PSK, сможет его увидеть.", "map_connectToShareMarkers": "Подключитесь к устройству, чтобы делиться метками", "map_filterNodes": "Фильтр нод", "map_nodeTypes": "Типы нод", "map_chatNodes": "Чат-ноды", "map_repeaters": "Репитеры", "map_otherNodes": "Другие ноды", "map_keyPrefix": "Префикс ключа", "map_filterByKeyPrefix": "Фильтр по префиксу ключа", "map_publicKeyPrefix": "Префикс публичного ключа", "map_markers": "Метки", "map_showSharedMarkers": "Показывать общие метки", "map_lastSeenTime": "Время последнего появления", "map_sharedPin": "Общая метка", "map_joinRoom": "Присоединиться к комнате", "map_manageRepeater": "Управление репитером", "mapCache_title": "Кэш офлайн-карты", "mapCache_selectAreaFirst": "Сначала выберите область для кэширования", "mapCache_noTilesToDownload": "Нет плиток для загрузки в этой области", "mapCache_downloadTilesTitle": "Загрузить плитки", "mapCache_downloadTilesPrompt": "Загрузить {count} плиток для офлайн-использования?", "mapCache_downloadAction": "Загрузить", "mapCache_cachedTiles": "Закэшировано {count} плиток", "mapCache_cachedTilesWithFailed": "Закэшировано {downloaded} плиток ({failed} не загружено)", "mapCache_clearOfflineCacheTitle": "Очистить офлайн-кэш", "mapCache_clearOfflineCachePrompt": "Удалить все закэшированные плитки карты?", "mapCache_offlineCacheCleared": "Офлайн-кэш очищен", "mapCache_noAreaSelected": "Область не выбрана", "mapCache_cacheArea": "Область кэширования", "mapCache_useCurrentView": "Использовать текущий вид", "mapCache_zoomRange": "Диапазон масштаба", "mapCache_estimatedTiles": "Оценочное количество плиток: {count}", "mapCache_downloadedTiles": "Загружено {completed} из {total}", "mapCache_downloadTilesButton": "Загрузить плитки", "mapCache_clearCacheButton": "Очистить кэш", "mapCache_failedDownloads": "Неудачных загрузок: {count}", "mapCache_boundsLabel": "С {north}, Ю {south}, В {east}, З {west}", "time_justNow": "Только что", "time_minutesAgo": "{minutes} мин назад", "time_hoursAgo": "{hours} ч назад", "time_daysAgo": "{days} дн. назад", "time_hour": "час", "time_hours": "часов", "time_day": "день", "time_days": "дней", "time_week": "неделя", "time_weeks": "недель", "time_month": "месяц", "time_months": "месяцев", "time_minutes": "минут", "time_allTime": "Всё время", "dialog_disconnect": "Отключиться", "dialog_disconnectConfirm": "Вы уверены, что хотите отключиться от этого устройства?", "login_repeaterLogin": "Вход в репитер", "login_roomLogin": "Вход на сервер комнат", "login_password": "Пароль", "login_enterPassword": "Введите пароль", "login_savePassword": "Сохранить пароль", "login_savePasswordSubtitle": "Пароль будет надёжно сохранён на этом устройстве", "login_repeaterDescription": "Введите пароль репитера для доступа к настройкам и статусу.", "login_roomDescription": "Введите пароль комнаты для доступа к настройкам и статусу.", "login_routing": "Маршрутизация", "login_routingMode": "Режим маршрутизации", "login_autoUseSavedPath": "Авто (использовать сохранённый маршрут)", "login_forceFloodMode": "Принудительный режим рассылки", "login_managePaths": "Управление маршрутами", "login_login": "Войти", "login_attempt": "Попытка {current}/{max}", "login_failed": "Ошибка входа: {error}", "login_failedMessage": "Не удалось войти. Либо пароль неверен, либо репитер недоступен.", "common_reload": "Обновить", "common_clear": "Очистить", "path_currentPath": "Текущий маршрут: {path}", "path_usingHopsPath": "Используется маршрут из {count} {count, plural, one{хоп} few{хопа} many{хопов} other{хопов}}", "path_enterCustomPath": "Введите маршрут вручную", "path_currentPathLabel": "Текущий маршрут", "path_hexPrefixInstructions": "Введите 2-символьные шестнадцатеричные префиксы для каждого хопа, разделённые запятыми.", "path_hexPrefixExample": "Пример: A1,F2,3C (каждый узел использует первый байт своего публичного ключа)", "path_labelHexPrefixes": "Маршрут (шестнадцатеричные префиксы)", "path_helperMaxHops": "Максимум 64 хопа. Каждый префикс — 2 шестнадцатеричных символа (1 байт)", "path_selectFromContacts": "Или выберите из контактов:", "path_noRepeatersFound": "Репитеры или серверы комнат не найдены.", "path_customPathsRequire": "Пользовательские маршруты требуют промежуточных узлов, способных ретранслировать сообщения.", "path_invalidHexPrefixes": "Недопустимые шестнадцатеричные префиксы: {prefixes}", "path_tooLong": "Маршрут слишком длинный. Максимум 64 хопа.", "path_setPath": "Установить маршрут", "repeater_management": "Управление репитером", "room_management": "Управление сервером комнат", "repeater_managementTools": "Инструменты управления", "repeater_status": "Статус", "repeater_statusSubtitle": "Просмотр статуса, статистики и соседей репитера", "repeater_telemetry": "Телеметрия", "repeater_telemetrySubtitle": "Просмотр телеметрии датчиков и системной статистики", "repeater_cli": "CLI", "repeater_cliSubtitle": "Отправка команд репитеру", "repeater_neighbors": "Соседи", "repeater_neighborsSubtitle": "Просмотр соседей на нулевом хопе.", "repeater_settings": "Настройки", "repeater_settingsSubtitle": "Настройка параметров репитера", "repeater_statusTitle": "Статус репитера", "repeater_routingMode": "Режим маршрутизации", "repeater_autoUseSavedPath": "Авто (использовать сохранённый маршрут)", "repeater_forceFloodMode": "Принудительный режим рассылки", "repeater_pathManagement": "Управление маршрутами", "repeater_refresh": "Обновить", "repeater_statusRequestTimeout": "Время ожидания статуса истекло.", "repeater_errorLoadingStatus": "Ошибка загрузки статуса: {error}", "repeater_systemInformation": "Системная информация", "repeater_battery": "Батарея", "repeater_clockAtLogin": "Время (при входе)", "repeater_uptime": "Время работы", "repeater_queueLength": "Длина очереди", "repeater_debugFlags": "Флаги отладки", "repeater_radioStatistics": "Радиостатистика", "repeater_lastRssi": "Последний RSSI", "repeater_lastSnr": "Последний SNR", "repeater_noiseFloor": "Уровень шума", "repeater_txAirtime": "Время эфира (передача)", "repeater_rxAirtime": "Время эфира (приём)", "repeater_packetStatistics": "Статистика пакетов", "repeater_sent": "Отправлено", "repeater_received": "Получено", "repeater_duplicates": "Дубликаты", "repeater_daysHoursMinsSecs": "{days} дн. {hours}ч {minutes}м {seconds}с", "repeater_packetTxTotal": "Всего: {total}, Рассылка: {flood}, Прямые: {direct}", "repeater_packetRxTotal": "Всего: {total}, Рассылка: {flood}, Прямые: {direct}", "repeater_duplicatesFloodDirect": "Рассылка: {flood}, Прямые: {direct}", "repeater_duplicatesTotal": "Всего: {total}", "repeater_settingsTitle": "Настройки репитера", "repeater_basicSettings": "Основные настройки", "repeater_repeaterName": "Имя репитера", "repeater_repeaterNameHelper": "Отображаемое имя этого репитера", "repeater_adminPassword": "Пароль администратора", "repeater_adminPasswordHelper": "Пароль с полным доступом", "repeater_guestPassword": "Гостевой пароль", "repeater_guestPasswordHelper": "Пароль для доступа только для чтения", "repeater_radioSettings": "Настройки радио", "repeater_frequencyMhz": "Частота (МГц)", "repeater_frequencyHelper": "300–2500 МГц", "repeater_txPower": "Мощность передачи", "repeater_txPowerHelper": "1–30 дБм", "repeater_bandwidth": "Полоса пропускания", "repeater_spreadingFactor": "Коэффициент расширения", "repeater_codingRate": "Коэффициент кодирования", "repeater_locationSettings": "Настройки местоположения", "repeater_latitude": "Широта", "repeater_latitudeHelper": "В десятичных градусах (напр., 37.7749)", "repeater_longitude": "Долгота", "repeater_longitudeHelper": "В десятичных градусах (напр., -122.4194)", "repeater_features": "Функции", "repeater_packetForwarding": "Пересылка пакетов", "repeater_packetForwardingSubtitle": "Разрешить репитеру пересылать пакеты", "repeater_guestAccess": "Гостевой доступ", "repeater_guestAccessSubtitle": "Разрешить гостевой доступ только для чтения", "repeater_privacyMode": "Режим конфиденциальности", "repeater_privacyModeSubtitle": "Скрывать имя/местоположение в оповещениях", "repeater_advertisementSettings": "Настройки анонсирования", "repeater_localAdvertInterval": "Интервал локальных анонсирований", "repeater_localAdvertIntervalMinutes": "{minutes} минут", "repeater_floodAdvertInterval": "Интервал анонсирований рассылкой (flood)", "repeater_floodAdvertIntervalHours": "{hours} часов", "repeater_encryptedAdvertInterval": "Интервал зашифрованных анонсирований", "repeater_dangerZone": "Опасная зона", "repeater_rebootRepeater": "Перезагрузить репитер", "repeater_rebootRepeaterSubtitle": "Перезапустить устройство репитера", "repeater_rebootRepeaterConfirm": "Вы уверены, что хотите перезагрузить этот репитер?", "repeater_regenerateIdentityKey": "Пересоздать ключ идентификации", "repeater_regenerateIdentityKeySubtitle": "Сгенерировать новую пару публичного/приватного ключей", "repeater_regenerateIdentityKeyConfirm": "Это создаст новую идентичность для репитера. Продолжить?", "repeater_eraseFileSystem": "Стереть файловую систему", "repeater_eraseFileSystemSubtitle": "Отформатировать файловую систему репитера", "repeater_eraseFileSystemConfirm": "ВНИМАНИЕ: это удалит все данные на репитере. Действие нельзя отменить!", "repeater_eraseSerialOnly": "Очистка доступна только через последовательную консоль.", "repeater_commandSent": "Команда отправлена: {command}", "repeater_errorSendingCommand": "Ошибка отправки команды: {error}", "repeater_confirm": "Подтвердить", "repeater_settingsSaved": "Настройки успешно сохранены", "repeater_errorSavingSettings": "Ошибка сохранения настроек: {error}", "repeater_refreshBasicSettings": "Обновить основные настройки", "repeater_refreshRadioSettings": "Обновить настройки радио", "repeater_refreshTxPower": "Обновить мощность передачи", "repeater_refreshLocationSettings": "Обновить настройки местоположения", "repeater_refreshPacketForwarding": "Обновить пересылку пакетов", "repeater_refreshGuestAccess": "Обновить гостевой доступ", "repeater_refreshPrivacyMode": "Обновить режим конфиденциальности", "repeater_refreshAdvertisementSettings": "Обновить настройки анонсирований", "repeater_refreshed": "{label} обновлён", "repeater_errorRefreshing": "Ошибка обновления {label}", "repeater_cliTitle": "CLI репитера", "repeater_debugNextCommand": "Отладка следующей команды", "repeater_commandHelp": "Справка по командам", "repeater_clearHistory": "Очистить историю", "repeater_noCommandsSent": "Команды ещё не отправлялись", "repeater_typeCommandOrUseQuick": "Введите команду ниже или используйте быстрые команды", "repeater_enterCommandHint": "Введите команду...", "repeater_previousCommand": "Предыдущая команда", "repeater_nextCommand": "Следующая команда", "repeater_enterCommandFirst": "Сначала введите команду", "repeater_cliCommandFrameTitle": "Фрейм CLI-команды", "repeater_cliCommandError": "Ошибка: {error}", "repeater_cliQuickGetName": "Получить имя", "repeater_cliQuickGetRadio": "Получить радио", "repeater_cliQuickGetTx": "Получить TX", "repeater_cliQuickNeighbors": "Соседи", "repeater_cliQuickVersion": "Версия", "repeater_cliQuickAdvertise": "Анонсировать", "repeater_cliQuickClock": "Время", "repeater_cliHelpAdvert": "Отправляет пакет анонсирования", "repeater_cliHelpReboot": "Перезагружает устройство. (обычно вы получите «Тайм-аут» — это нормально)", "repeater_cliHelpClock": "Показывает текущее время по часам устройства.", "repeater_cliHelpPassword": "Устанавливает новый пароль администратора для устройства.", "repeater_cliHelpVersion": "Показывает версию устройства и дату сборки прошивки.", "repeater_cliHelpClearStats": "Сбрасывает различные счётчики статистики в ноль.", "repeater_cliHelpSetAf": "Устанавливает коэффициент времени в эфире.", "repeater_cliHelpSetTx": "Устанавливает мощность передачи LoRa в дБм. (требуется перезагрузка)", "repeater_cliHelpSetRepeat": "Включает или отключает роль репитера для этой ноды.", "repeater_cliHelpSetAllowReadOnly": "(Сервер комнат) Если «on», то вход без пароля разрешён, но публиковать в комнату нельзя (только чтение)", "repeater_cliHelpSetFloodMax": "Устанавливает максимальное число хопов для входящих пакетов в режиме рассылки (если >= макс., пакет не пересылается)", "repeater_cliHelpSetIntThresh": "Устанавливает порог интерференции (в дБ). По умолчанию 14. Установите 0, чтобы отключить обнаружение помех.", "repeater_cliHelpSetAgcResetInterval": "Устанавливает интервал сброса автоматической регулировки усиления. Установите 0, чтобы отключить.", "repeater_cliHelpSetMultiAcks": "Включает или отключает функцию «двойных ACK».", "repeater_cliHelpSetAdvertInterval": "Устанавливает интервал (в минутах) отправки локального (нулевой хоп) анонсирования. Установите 0, чтобы отключить.", "repeater_cliHelpSetFloodAdvertInterval": "Устанавливает интервал (в часах) отправки анонсирований рассылкой. Установите 0, чтобы отключить.", "repeater_cliHelpSetGuestPassword": "Устанавливает/обновляет гостевой пароль. (для репитеров гости могут отправлять запрос «Get Stats»)", "repeater_cliHelpSetName": "Устанавливает имя в оповещениях.", "repeater_cliHelpSetLat": "Устанавливает широту для карты в оповещениях. (десятичные градусы)", "repeater_cliHelpSetLon": "Устанавливает долготу для карты в оповещениях. (десятичные градусы)", "repeater_cliHelpSetRadio": "Устанавливает полностью новые параметры радио и сохраняет их в настройки. Требуется команда «reboot» для применения.", "repeater_cliHelpSetRxDelay": "Устанавливает (экспериментально) базовую задержку (>1 для эффекта) для принятых пакетов на основе качества сигнала. Установите 0, чтобы отключить.", "repeater_cliHelpSetTxDelay": "Устанавливает множитель времени в эфире для пакета в режиме рассылки и применяет случайную задержку перед пересылкой (чтобы уменьшить коллизии).", "repeater_cliHelpSetDirectTxDelay": "То же, что txdelay, но для случайной задержки пересылки пакетов в прямом режиме.", "repeater_cliHelpSetBridgeEnabled": "Включить/выключить мост.", "repeater_cliHelpSetBridgeDelay": "Установить задержку перед ретрансляцией пакетов.", "repeater_cliHelpSetBridgeSource": "Выбрать, будет ли мост ретранслировать полученные или отправленные пакеты.", "repeater_cliHelpSetBridgeBaud": "Установить скорость последовательного соединения для мостов RS232.", "repeater_cliHelpSetBridgeSecret": "Установить секрет моста для мостов ESP-NOW.", "repeater_cliHelpSetAdcMultiplier": "Устанавливает пользовательский коэффициент коррекции напряжения батареи (поддерживается только на некоторых платах).", "repeater_cliHelpTempRadio": "Устанавливает временные параметры радио на заданное число минут, затем возвращает исходные. (НЕ сохраняется в настройки).", "repeater_cliHelpSetPerm": "Изменяет ACL. Удаляет запись (по префиксу публичного ключа), если «permissions» равен нулю. Добавляет новую запись, если указан полный ключ и он отсутствует в ACL. Обновляет запись по совпадению префикса. Биты прав зависят от роли прошивки, но младшие 2 бита: 0 (Гость), 1 (Только чтение), 2 (Чтение/запись), 3 (Админ)", "repeater_cliHelpGetBridgeType": "Получает тип моста: none, rs232, espnow", "repeater_cliHelpLogStart": "Начинает запись пакетов в файловую систему.", "repeater_cliHelpLogStop": "Останавливает запись пакетов в файловую систему.", "repeater_cliHelpLogErase": "Удаляет журналы пакетов из файловой системы.", "repeater_cliHelpNeighbors": "Показывает список других репитеров, услышанных через оповещения нулевого хопа. Каждая строка: префикс-id-в-hex:временная-метка:snr×4", "repeater_cliHelpNeighborRemove": "Удаляет первую подходящую запись (по префиксу публичного ключа в hex) из списка соседей.", "repeater_cliHelpRegion": "(только через последовательный порт) Показывает все определённые регионы и текущие права на рассылку.", "repeater_cliHelpRegionLoad": "ПРИМЕЧАНИЕ: это специальная многострочная команда. Каждая следующая строка — имя региона (с отступом пробелами для указания иерархии, минимум один пробел). Завершается пустой строкой.", "repeater_cliHelpRegionGet": "Ищет регион по префиксу имени (или «*» для глобальной области). Отвечает: «-> имя-региона (родитель) 'F'»", "repeater_cliHelpRegionPut": "Добавляет или обновляет определение региона с заданным именем.", "repeater_cliHelpRegionRemove": "Удаляет определение региона с заданным именем. (должно точно совпадать и не иметь дочерних регионов)", "repeater_cliHelpRegionAllowf": "Разрешает рассылку («F»lood) для заданного региона. («*» для глобальной/устаревшей области)", "repeater_cliHelpRegionDenyf": "Запрещает рассылку («F»lood) для заданного региона. (НЕ рекомендуется для глобальной области!)", "repeater_cliHelpRegionHome": "Показывает текущий «домашний» регион. (Пока не используется, зарезервировано на будущее)", "repeater_cliHelpRegionHomeSet": "Устанавливает «домашний» регион.", "repeater_cliHelpRegionSave": "Сохраняет список/карту регионов в память.", "repeater_cliHelpGps": "Показывает статус GPS. Если GPS выключен — отвечает только «off». Если включён — показывает статус, фиксацию, количество спутников.", "repeater_cliHelpGpsOnOff": "Переключает состояние питания GPS.", "repeater_cliHelpGpsSync": "Синхронизирует время ноды с часами GPS.", "repeater_cliHelpGpsSetLoc": "Устанавливает позицию ноды по координатам GPS и сохраняет в настройки.", "repeater_cliHelpGpsAdvert": "Показывает конфигурацию передачи местоположения в анонсированиях:\n- none: не включать местоположение\n- share: передавать GPS-координаты (из SensorManager)\n- prefs: передавать координаты из настроек", "repeater_cliHelpGpsAdvertSet": "Устанавливает конфигурацию передачи местоположения.", "repeater_commandsListTitle": "Список команд", "repeater_commandsListNote": "ПРИМЕЧАНИЕ: для большинства команд «set ...» существуют соответствующие команды «get ...».", "repeater_general": "Общие", "repeater_settingsCategory": "Настройки", "repeater_bridge": "Мост", "repeater_logging": "Журналирование", "repeater_neighborsRepeaterOnly": "Соседи (только для репитеров)", "repeater_regionManagementRepeaterOnly": "Управление регионами (только для репитеров)", "repeater_regionNote": "Команды регионов введены для управления определениями регионов и правами доступа.", "repeater_gpsManagement": "Управление GPS", "repeater_gpsNote": "Команда gps введена для управления параметрами, связанными с местоположением.", "telemetry_receivedData": "Полученные телеметрические данные", "telemetry_requestTimeout": "Время ожидания телеметрии истекло.", "telemetry_errorLoading": "Ошибка загрузки телеметрии: {error}", "telemetry_noData": "Данные телеметрии недоступны.", "telemetry_channelTitle": "Канал {channel}", "telemetry_batteryLabel": "Батарея", "telemetry_voltageLabel": "Напряжение", "telemetry_mcuTemperatureLabel": "Температура МК", "telemetry_temperatureLabel": "Температура", "telemetry_currentLabel": "Ток", "telemetry_batteryValue": "{percent}% / {volts}В", "telemetry_voltageValue": "{volts}В", "telemetry_currentValue": "{amps}А", "telemetry_temperatureValue": "{celsius}°C / {fahrenheit}°F", "neighbors_receivedData": "Полученные данные о соседях", "neighbors_requestTimedOut": "Время ожидания данных о соседях истекло.", "neighbors_errorLoading": "Ошибка загрузки соседей: {error}", "neighbors_repeatersNeighbors": "Соседи репитеров", "neighbors_noData": "Данные о соседях недоступны.", "neighbors_unknownContact": "Неизвестный {pubkey}", "neighbors_heardA ago": "Слышали: {time} назад", "channelPath_title": "Путь пакета", "channelPath_viewMap": "Посмотреть на карте", "channelPath_otherObservedPaths": "Другие наблюдаемые пути", "channelPath_repeaterHops": "Хопы через репитеры", "channelPath_noHopDetails": "Детали хопов для этого пакета не предоставлены.", "channelPath_messageDetails": "Детали сообщения", "channelPath_senderLabel": "Отправитель", "channelPath_timeLabel": "Время", "channelPath_repeatsLabel": "Повторы", "channelPath_pathLabel": "Путь {index}", "channelPath_observedLabel": "Наблюдаемый", "channelPath_observedPathTitle": "Наблюдаемый путь {index} • {hops}", "channelPath_noLocationData": "Нет данных о местоположении", "channelPath_timeWithDate": "{day}/{month} {time}", "channelPath_timeOnly": "{time}", "channelPath_unknownPath": "Неизвестный", "channelPath_floodPath": "Рассылка", "channelPath_directPath": "Прямой", "channelPath_observedZeroOf": "0 из {total} хопов", "channelPath_observedSomeOf": "{observed} из {total} хопов", "channelPath_mapTitle": "Карта пути", "channelPath_noRepeaterLocations": "Нет данных о местоположении репитеров для этого пути.", "channelPath_primaryPath": "Путь {index} (Основной)", "channelPath_pathLabelTitle": "Путь", "channelPath_observedPathHeader": "Наблюдаемый путь", "channelPath_selectedPathLabel": "{label} • {prefixes}", "channelPath_noHopDetailsAvailable": "Детали хопов для этого пакета недоступны.", "channelPath_unknownRepeater": "Неизвестный репитер", "community_title": "Сообщество", "community_create": "Создать сообщество", "community_createDesc": "Создать новое сообщество и поделиться через QR-код.", "community_join": "Присоединиться", "community_joinTitle": "Присоединиться к сообществу", "community_joinConfirmation": "Вы хотите присоединиться к сообществу \"{name}\"?", "community_scanQr": "Сканировать QR-код сообщества", "community_scanInstructions": "Наведите камеру на QR-код сообщества", "community_showQr": "Показать QR-код", "community_publicChannel": "Публичный канал сообщества", "community_hashtagChannel": "Хэштег-канал сообщества", "community_name": "Имя сообщества", "community_enterName": "Введите имя сообщества", "community_created": "Сообщество \"{name}\" создано", "community_joined": "Присоединились к сообществу \"{name}\"", "community_qrTitle": "Поделиться сообществом", "community_qrInstructions": "Отсканируйте этот QR-код, чтобы присоединиться к \"{name}\"", "community_hashtagPrivacyHint": "Хэштег-каналы сообщества доступны только его участникам", "community_invalidQrCode": "Недопустимый QR-код сообщества", "community_alreadyMember": "Уже участник", "community_alreadyMemberMessage": "Вы уже участник сообщества \"{name}\".", "community_addPublicChannel": "Добавить публичный канал сообщества", "community_addPublicChannelHint": "Автоматически добавить публичный канал для этого сообщества", "community_noCommunities": "Вы ещё не присоединились ни к одному сообществу", "community_scanOrCreate": "Отсканируйте QR-код или создайте сообщество, чтобы начать", "community_manageCommunities": "Управление сообществами", "community_delete": "Покинуть сообщество", "community_deleteConfirm": "Покинуть \"{name}\"?", "community_deleteChannelsWarning": "Это также удалит {count} канал(ов) и их сообщения.", "community_deleted": "Покинули сообщество \"{name}\"", "community_regenerateSecret": "Пересоздать секрет", "community_regenerateSecretConfirm": "Пересоздать секретный ключ для \"{name}\"? Все участники должны будут отсканировать новый QR-код для продолжения общения.", "community_regenerate": "Пересоздать", "community_secretRegenerated": "Секрет пересоздан для \"{name}\"", "community_updateSecret": "Обновить секрет", "community_secretUpdated": "Секрет обновлён для \"{name}\"", "community_scanToUpdateSecret": "Отсканируйте новый QR-код, чтобы обновить секрет для \"{name}\"", "community_addHashtagChannel": "Добавить хэштег-канал сообщества", "community_addHashtagChannelDesc": "Добавить хэштег-канал для этого сообщества", "community_selectCommunity": "Выбрать сообщество", "community_regularHashtag": "Обычный хэштег", "community_regularHashtagDesc": "Публичный хэштег (любой может присоединиться)", "community_communityHashtag": "Хэштег сообщества", "community_communityHashtagDesc": "Доступен только участникам сообщества", "community_forCommunity": "Для {name}", "listFilter_tooltip": "Фильтр и сортировка", "listFilter_sortBy": "Сортировка по", "listFilter_latestMessages": "Последние сообщения", "listFilter_heardRecently": "Слышали недавно", "listFilter_az": "По алфавиту", "listFilter_filters": "Фильтры", "listFilter_all": "Все", "listFilter_users": "Пользователи", "listFilter_repeaters": "Репитеры", "listFilter_roomServers": "Серверы комнат", "listFilter_unreadOnly": "Только непрочитанные", "listFilter_newGroup": "Новая группа", "@chat_couldNotOpenLink": { "placeholders": { "url": { "type": "String" } } }, "@neighbors_heardAgo": { "placeholders": { "time": { "type": "String" } } }, "chat_open": "Открыть", "chat_couldNotOpenLink": "Не удалось открыть ссылку: {url}", "chat_openLink": "Открыть ссылку?", "chat_openLinkConfirmation": "Хотите открыть эту ссылку в вашем браузере?", "neighbors_heardAgo": "Слушал(а): {time} назад", "chat_invalidLink": "Неправильный формат ссылки", "@contacts_pathTraceTo": { "placeholders": { "name": { "type": "String" } } }, "pathTrace_you": "Вы", "pathTrace_failed": "Путь трассировки не выполнен.", "pathTrace_notAvailable": "Трассировка пути недоступна.", "pathTrace_refreshTooltip": "Обновить Path Trace", "contacts_pathTrace": "Трассировка пути", "contacts_ping": "Пинговать", "contacts_repeaterPathTrace": "Отследить путь к ретранслятору", "contacts_repeaterPing": "Пинговать повторитель", "contacts_roomPathTrace": "Трассировка пути к серверу комнаты", "contacts_roomPing": "Пинговать сервер комнаты", "contacts_chatTraceRoute": "Трассировка маршрута", "contacts_pathTraceTo": "Показать маршрут к {name}", "contacts_contactImported": "Контакт был импортирован", "contacts_contactImportFailed": "Контакт не удалось импортировать", "contacts_invalidAdvertFormat": "Недействительные контактные данные", "contacts_zeroHopAdvert": "Реклама Zero Hop", "appSettings_languageUk": "Українська", "appSettings_enableMessageTracing": "Включить трассировку сообщений", "appSettings_enableMessageTracingSubtitle": "Показывать подробные метаданные о маршрутизации и времени для сообщений", "contacts_floodAdvert": "Рекламный поток", "contacts_clipboardEmpty": "Буфер обмена пуст.", "contacts_copyAdvertToClipboard": "Копировать рекламу в буфер обмена", "contacts_ShareContact": "Копировать контакт в буфер обмена", "contacts_zeroHopContactAdvertFailed": "Не удалось отправить контакт.", "contacts_contactAdvertCopied": "Реклама скопирована в буфер обмена.", "contacts_contactAdvertCopyFailed": "Копирование рекламы в буфер обмена не удалось.", "contacts_addContactFromClipboard": "Добавить контакт из буфера обмена", "contacts_ShareContactZeroHop": "Поделиться контактом по объявлению", "contacts_zeroHopContactAdvertSent": "Отправлено сообщение по объявлению.", "notification_activityTitle": "Активность MeshCore", "notification_messagesCount": "{count} {count, plural, =1{сообщение} few{сообщения} many{сообщений} other{сообщений}}", "notification_channelMessagesCount": "{count} {count, plural, =1{сообщение канала} few{сообщения канала} many{сообщений канала} other{сообщений канала}}", "notification_newNodesCount": "{count} {count, plural, =1{новый узел} few{новых узла} many{новых узлов} other{новых узлов}}", "notification_newTypeDiscovered": "Обнаружен новый {contactType}", "notification_receivedNewMessage": "Получено новое сообщение", "settings_gpxExportRepeaters": "Экспортировать рипитеры / сервер комнаты в GPX", "settings_gpxExportRepeatersSubtitle": "Экспортирует ретрансляторы / сервер комнат с местоположением в файл GPX.", "settings_gpxExportContacts": "Экспортировать спутников в GPX", "settings_gpxExportNotAvailable": "Не поддерживается на вашем устройстве/ОС", "settings_gpxExportError": "Произошла ошибка при экспорте.", "settings_gpxExportRepeatersRoom": "Местоположения повторителей и серверов комнат", "settings_gpxExportChat": "Местоположения спутников", "settings_gpxExportContactsSubtitle": "Экспортирует спутников с местоположением в файл GPX.", "settings_gpxExportAll": "Экспортировать все контакты в GPX", "settings_gpxExportAllSubtitle": "Экспортирует все контакты с местоположением в файл GPX.", "settings_gpxExportAllContacts": "Все местоположения контактов", "settings_gpxExportSuccess": "Успешно экспортирован файл GPX.", "settings_gpxExportNoContacts": "Нет контактов для экспорта.", "settings_gpxExportShareText": "Данные карты экспортированы из meshcore-open", "settings_gpxExportShareSubject": "meshcore-open экспорт данных карты GPX", "pathTrace_someHopsNoLocation": "Одному или нескольким хмелям не указано местоположение!", "map_tapToAdd": "Нажимайте на узлы, чтобы добавить их в путь.", "map_removeLast": "Удалить последний", "map_pathTraceCancelled": "Отмена трассировки пути", "pathTrace_clearTooltip": "Очистить путь", "map_runTrace": "Запустить трассировку пути", "scanner_enableBluetooth": "Включите Bluetooth", "scanner_bluetoothOff": "Bluetooth выключен", "scanner_bluetoothOffMessage": "Пожалуйста, включите Bluetooth, чтобы найти устройства.", "scanner_chromeRequired": "Требуется браузер Chrome", "scanner_chromeRequiredMessage": "Для поддержки Bluetooth в этом веб-приложении требуется Google Chrome или браузер на базе Chromium.", "snrIndicator_nearByRepeaters": "Ближайшие ретрансляторы", "snrIndicator_lastSeen": "Последний раз видели", "chat_ShowAllPaths": "Показать все пути", "settings_clientRepeatFreqWarning": "Для работы в режиме \"без подключения к сети\" требуется частота 433, 869 или 918 МГц.", "settings_clientRepeatSubtitle": "Позвольте этому устройству повторять пакеты данных для других устройств.", "settings_clientRepeat": "Повторение \"вне сети\"", "settings_aboutOpenMeteoAttribution": "Данные о высоте LOS: Open-Meteo (CC BY 4.0)", "appSettings_unitsTitle": "Единицы", "appSettings_unitsMetric": "Метрическая (м/км)", "appSettings_unitsImperial": "Имперская (ft / mi)", "map_lineOfSight": "Линия видимости", "map_losScreenTitle": "Линия видимости", "losSelectStartEnd": "Выберите начальный и конечный узлы для LOS.", "losRunFailed": "Проверка прямой видимости не удалась: {error}", "@losRunFailed": { "placeholders": { "error": { "type": "String" } } }, "losClearAllPoints": "Очистить все точки", "losRunToViewElevationProfile": "Запустите LOS, чтобы просмотреть профиль высот.", "losMenuTitle": "ЛОС Меню", "losMenuSubtitle": "Коснитесь узлов или нажмите и удерживайте карту для выбора пользовательских точек.", "losShowDisplayNodes": "Показать узлы отображения", "losCustomPoints": "Пользовательские точки", "losCustomPointLabel": "Пользовательский {index}", "@losCustomPointLabel": { "placeholders": { "index": { "type": "int" } } }, "losPointA": "Точка А", "losPointB": "Точка Б", "losAntennaA": "Антенна А: {value} {unit}", "@losAntennaA": { "placeholders": { "value": { "type": "String" }, "unit": { "type": "String" } } }, "losAntennaB": "Антенна Б: {value} {unit}", "@losAntennaB": { "placeholders": { "value": { "type": "String" }, "unit": { "type": "String" } } }, "losRun": "Запустить ЛОС", "losNoElevationData": "Нет данных о высоте", "losProfileClear": "{distance} {distanceUnit}, свободная зона видимости, минимальный зазор {clearance} {heightUnit}", "@losProfileClear": { "placeholders": { "distance": { "type": "String" }, "distanceUnit": { "type": "String" }, "clearance": { "type": "String" }, "heightUnit": { "type": "String" } } }, "losProfileBlocked": "{distance} {distanceUnit}, заблокирован {obstruction} {heightUnit}", "@losProfileBlocked": { "placeholders": { "distance": { "type": "String" }, "distanceUnit": { "type": "String" }, "obstruction": { "type": "String" }, "heightUnit": { "type": "String" } } }, "losStatusChecking": "ЛОС: проверяю...", "losStatusNoData": "ЛОС: нет данных", "losStatusSummary": "LOS: {clear}/{total} очищено, {blocked} заблокировано, {unknown} неизвестно.", "@losStatusSummary": { "placeholders": { "clear": { "type": "int" }, "total": { "type": "int" }, "blocked": { "type": "int" }, "unknown": { "type": "int" } } }, "losErrorElevationUnavailable": "Данные о высоте недоступны для одного или нескольких образцов.", "losErrorInvalidInput": "Неверные данные о точках/высоте для расчета LOS.", "losRenameCustomPoint": "Переименовать пользовательскую точку", "losPointName": "Имя точки", "losShowPanelTooltip": "Показать панель LOS", "losHidePanelTooltip": "Скрыть панель LOS", "losElevationAttribution": "Данные о высоте: Open-Meteo (CC BY 4.0)", "losLegendRadioHorizon": "Радиогоризонт", "losLegendLosBeam": "Линия прямой видимости", "losLegendTerrain": "Рельеф", "losFrequencyLabel": "Частота", "losFrequencyInfoTooltip": "Просмотреть детали расчёта", "losFrequencyDialogTitle": "Расчёт радиогоризонта", "losFrequencyDialogDescription": "Начиная с k={baselineK} на частоте {baselineFreq} МГц, расчет корректирует коэффициент k для текущего диапазона {frequencyMHz} МГц, который определяет изогнутую границу радиогоризонта.", "@losFrequencyDialogDescription": { "description": "Explain how the calculation uses the baseline frequency and derived k-factor.", "placeholders": { "baselineK": { "type": "double" }, "baselineFreq": { "type": "double" }, "frequencyMHz": { "type": "double" }, "kFactor": { "type": "double" } } }, "listFilter_addToFavorites": "Добавить в избранное", "listFilter_favorites": "Избранное", "listFilter_removeFromFavorites": "Удалить из избранного", "@contacts_searchFavorites": { "placeholders": { "number": { "type": "int" }, "str": { "type": "String" } } }, "@contacts_searchUsers": { "placeholders": { "number": { "type": "int" }, "str": { "type": "String" } } }, "@contacts_searchRepeaters": { "placeholders": { "number": { "type": "int" }, "str": { "type": "String" } } }, "@contacts_searchRoomServers": { "placeholders": { "number": { "type": "int" }, "str": { "type": "String" } } }, "contacts_searchRepeaters": "Поиск {number}{str} ретрансляторов...", "contacts_searchContactsNoNumber": "Поиск контактов...", "contacts_unread": "Непрочитанное", "contacts_searchRoomServers": "Поиск {number}{str} серверов комнат...", "contacts_searchFavorites": "Поиск {number}{str} избранного...", "contacts_searchUsers": "Поиск {number}{str} пользователей...", "settings_contactSettings": "Настройки контактов", "settings_contactSettingsSubtitle": "Настройки добавления контактов", "contactsSettings_autoAddTitle": "Автоматическое обнаружение", "contactsSettings_title": "Настройки контактов", "contactsSettings_otherTitle": "Другие настройки, связанные с контактами", "contactsSettings_autoAddUsersSubtitle": "Разрешить компаньону автоматически добавлять обнаруженных пользователей", "contactsSettings_autoAddRoomServersTitle": "Автоматически добавлять серверы комнат", "contactsSettings_autoAddSensorsTitle": "Автоматически добавлять датчики", "contactsSettings_autoAddSensorsSubtitle": "Разрешить компаньону автоматически добавлять обнаруженные датчики", "contactsSettings_autoAddUsersTitle": "Автоматически добавлять пользователей", "contactsSettings_overwriteOldestTitle": "Перезаписать самое старое", "contactsSettings_autoAddRepeatersTitle": "Автоматически добавлять ретрансляторы", "contactsSettings_autoAddRepeatersSubtitle": "Разрешить спутнику автоматически добавлять обнаруженные ретрансляторы", "contactsSettings_autoAddRoomServersSubtitle": "Разрешить компаньону автоматически добавлять обнаруженные сервера комнат.", "discoveredContacts_noMatching": "Нет совпадающих контактов", "discoveredContacts_searchHint": "Найденные контакты поиска", "discoveredContacts_contactAdded": "Контакт добавлен", "discoveredContacts_copyContact": "Копировать контакт в буфер обмена", "discoveredContacts_addContact": "Добавить контакт", "discoveredContacts_Title": "Обнаруженные контакты", "discoveredContacts_deleteContact": "Удалить контакт", "contactsSettings_overwriteOldestSubtitle": "Когда список контактов заполнен, будет заменен самый старый контакт, который не находится в избранном.", "common_deleteAll": "Удалить все", "discoveredContacts_deleteContactAllContent": "Вы уверены, что хотите удалить все обнаруженные контакты?", "discoveredContacts_deleteContactAll": "Удалить Все Обнаруженные Контакты", "map_guessedLocation": "Угаданное место", "map_showGuessedLocations": "Отобразить предполагаемые места расположения узлов", "connectionChoiceUsbLabel": "USB", "usbScreenSubtitle": "Выберите обнаруженное устройство с последовательным интерфейсом и подключите его напрямую к вашему узлу MeshCore.", "usbScreenTitle": "Подключение через USB", "connectionChoiceBluetoothLabel": "Bluetooth", "usbScreenStatus": "Выберите USB-устройство", "usbScreenNote": "USB-серийный порт активен на поддерживаемых устройствах Android и на настольных платформах.", "usbScreenEmptyState": "Не обнаружено устройств USB. Подключите одно из них и обновите список.", "usbErrorPermissionDenied": "Запрос на доступ через USB был отклонен.", "usbErrorDeviceMissing": "Выбранное USB-устройство больше недоступно.", "usbErrorInvalidPort": "Выберите действительное USB-устройство.", "usbErrorBusy": "Еще одно запрошенное соединение через USB уже находится в процессе.", "usbErrorNotConnected": "Ни одно USB-устройство не подключено.", "usbErrorOpenFailed": "Не удалось открыть выбранное USB-устройство.", "usbErrorConnectFailed": "Не удалось установить соединение с выбранным USB-устройством.", "usbErrorUnsupported": "Поддержка последовательного USB отсутствует на данной платформе.", "usbErrorAlreadyActive": "USB-соединение уже установлено.", "usbErrorNoDeviceSelected": "Не было выбрано ни одно устройство USB.", "usbErrorPortClosed": "USB-соединение не установлено.", "usbFallbackDeviceName": "Устройство для последовательного подключения к сети", "@usbConnectionFailed": { "placeholders": { "error": { "type": "String" } } }, "usbStatus_searching": "Поиск USB-устройств...", "usbStatus_connecting": "Подключение к USB-устройству...", "usbConnectionFailed": "Не удалось установить соединение через USB: {error}", "usbStatus_notConnected": "Выберите USB-устройство", "usbErrorConnectTimedOut": "Соединение не установлено. Убедитесь, что устройство имеет установленное программное обеспечение USB Companion.", "@tcpStatus_connectingTo": { "placeholders": { "endpoint": { "type": "String" } } }, "@tcpConnectionFailed": { "placeholders": { "error": { "type": "String" } } }, "tcpHostHint": "192.168.40.10", "connectionChoiceTcpLabel": "TCP", "tcpHostLabel": "IP-адрес", "tcpScreenTitle": "Установить соединение по протоколу TCP", "tcpPortLabel": "Порт", "tcpPortHint": "5000", "tcpStatus_notConnected": "Введите адрес и подключитесь.", "tcpStatus_connectingTo": "Подключение к {endpoint}...", "tcpErrorHostRequired": "Необходимо указать IP-адрес.", "tcpErrorPortInvalid": "Порт должен находиться в диапазоне от 1 до 65535.", "tcpErrorUnsupported": "Протокол TCP не поддерживается на этой платформе.", "tcpErrorTimedOut": "Соединение TCP не удалось установить.", "tcpConnectionFailed": "Не удалось установить соединение TCP: {error}", "map_showDiscoveryContacts": "Показать контакты Discovery", "map_setAsMyLocation": "Установить мое местоположение", "@path_routeWeight": { "placeholders": { "weight": { "type": "String" }, "max": { "type": "String" } } }, "settings_privacy": "Настройки конфиденциальности", "settings_privacySubtitle": "Контролируйте, какую информацию делиться.", "settings_telemetryLocationMode": "Режим местоположения телеметрии", "settings_telemetryEnvironmentMode": "Режим среды телеметрии", "settings_advertLocation": "Местоположение рекламы", "settings_advertLocationSubtitle": "Включить местоположение в объявление", "settings_allowAll": "Разрешить все", "settings_privacySettingsDescription": "Выберите, какую информацию ваше устройство будет делиться с другими.", "settings_denyAll": "Отклонить все", "settings_allowByContact": "Разрешить по флагам контактов", "contact_info": "Контактная информация", "settings_telemetryBaseMode": "Базовый режим телеметрии", "contact_teleBase": "База телеметрии", "contact_teleLoc": "Местоположение телеметрии", "contact_teleLocSubtitle": "Разрешить обмен данными о местоположении", "contact_teleEnv": "Среда телеметрии", "contact_teleEnvSubtitle": "Разрешить обмен данными датчиков окружающей среды", "contact_settings": "Настройки контактов", "contact_telemetry": "Телеметрия", "contact_clearChat": "Очистить чат", "contact_lastSeen": "Последний раз видели", "contact_teleBaseSubtitle": "Разрешить обмен уровнем заряда батареи и базовой телеметрией", "@settings_multiAck": { "placeholders": { "value": { "type": "String" } } }, "appSettings_maxRouteWeight": "Максимальный допустимый вес маршрута", "appSettings_maxRouteWeightSubtitle": "Максимальный вес, который может быть перевезён по определённому маршруту при успешных доставках.", "appSettings_initialRouteWeightSubtitle": "Начальный вес для новых, только что открытых маршрутов", "appSettings_initialRouteWeight": "Начальный вес маршрута", "appSettings_routeWeightSuccessIncrement": "Увеличение веса успеха", "appSettings_routeWeightSuccessIncrementSubtitle": "Вес, добавленный к маршруту после успешной доставки.", "appSettings_routeWeightFailureDecrement": "Уменьшение веса неудачи", "appSettings_routeWeightFailureDecrementSubtitle": "Вес, который был удален с пути после неудачной доставки.", "appSettings_maxMessageRetries": "Максимальное количество повторных попыток отправки сообщения", "appSettings_maxMessageRetriesSubtitle": "Количество попыток повторной отправки сообщения перед тем, как пометить его как неудачное.", "path_routeWeight": "{weight}/{max}", "settings_telemetryModeUpdated": "Режим телеметрии обновлен", "settings_multiAck": "Мульти-ACK: {value}", "map_showOverlaps": "Перекрытия ключа повтора", "map_runTraceWithReturnPath": "Вернуться обратно по тому же пути" }