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