Files
meshcore-sar_android/lib/l10n/app_localizations_ru.dart
2026-03-07 20:05:31 +01:00

2349 lines
69 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// 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 SAR';
@override
String get messages => 'Сообщения';
@override
String get contacts => 'Контакты';
@override
String get map => 'Карта';
@override
String get settings => 'Настройки';
@override
String get connect => 'Подключить';
@override
String get disconnect => 'Отключить';
@override
String get scanningForDevices => 'Поиск устройств...';
@override
String get noDevicesFound => 'Устройства не найдены';
@override
String get scanAgain => 'Повторить поиск';
@override
String get tapToConnect => 'Нажмите для подключения';
@override
String get deviceNotConnected => 'Устройство не подключено';
@override
String get locationPermissionDenied => 'Доступ к геолокации запрещён';
@override
String get locationPermissionPermanentlyDenied =>
'Доступ к геолокации запрещён навсегда. Включите его в настройках.';
@override
String get locationPermissionRequired =>
'Доступ к геолокации необходим для GPS-трекинга и координации команды. Вы можете включить его позже в настройках.';
@override
String get locationServicesDisabled =>
'Службы геолокации отключены. Пожалуйста, включите их в настройках.';
@override
String get failedToGetGpsLocation => 'Не удалось получить GPS-координаты';
@override
String advertisedAtLocation(String latitude, String longitude) {
return 'Транслируется в $latitude, $longitude';
}
@override
String failedToAdvertise(String error) {
return 'Ошибка трансляции: $error';
}
@override
String reconnecting(int attempt, int max) {
return 'Переподключение... ($attempt/$max)';
}
@override
String get cancelReconnection => 'Отменить переподключение';
@override
String get mapManagement => 'Управление картой';
@override
String get general => 'Основные';
@override
String get theme => 'Тема';
@override
String get chooseTheme => 'Выбрать тему';
@override
String get light => 'Светлая';
@override
String get dark => 'Тёмная';
@override
String get blueLightTheme => 'Синяя светлая тема';
@override
String get blueDarkTheme => 'Синяя тёмная тема';
@override
String get sarRed => 'SAR Красная';
@override
String get alertEmergencyMode => 'Режим тревоги / ЧС';
@override
String get sarGreen => 'SAR Зелёная';
@override
String get safeAllClearMode => 'Режим «Всё в порядке»';
@override
String get autoSystem => 'Авто (Система)';
@override
String get followSystemTheme => 'Следовать системной теме';
@override
String get showRxTxIndicators => 'Показывать индикаторы RX/TX';
@override
String get displayPacketActivity =>
'Отображать активность пакетов в верхней панели';
@override
String get simpleMode => 'Простой режим';
@override
String get simpleModeDescription =>
'Скрыть второстепенную информацию в сообщениях и контактах';
@override
String get disableMap => 'Отключить карту';
@override
String get disableMapDescription =>
'Скрыть вкладку карты для экономии заряда батареи';
@override
String get language => 'Язык';
@override
String get chooseLanguage => 'Выбрать язык';
@override
String get english => 'Английский';
@override
String get slovenian => 'Словенский';
@override
String get croatian => 'Хорватский';
@override
String get german => 'Немецкий';
@override
String get spanish => 'Испанский';
@override
String get french => 'Французский';
@override
String get italian => 'Итальянский';
@override
String get locationBroadcasting => 'Трансляция местоположения';
@override
String get autoLocationTracking => 'Авто-отслеживание геолокации';
@override
String get automaticallyBroadcastPosition =>
'Автоматически транслировать обновления позиции';
@override
String get configureTracking => 'Настроить отслеживание';
@override
String get distanceAndTimeThresholds => 'Пороги расстояния и времени';
@override
String get locationTrackingConfiguration =>
'Настройка отслеживания геолокации';
@override
String get configureWhenLocationBroadcasts =>
'Настройте условия отправки обновлений геолокации в mesh-сеть';
@override
String get minimumDistance => 'Минимальное расстояние';
@override
String broadcastAfterMoving(String distance) {
return 'Транслировать только после перемещения на $distance м';
}
@override
String get maximumDistance => 'Максимальное расстояние';
@override
String alwaysBroadcastAfterMoving(String distance) {
return 'Всегда транслировать после перемещения на $distance м';
}
@override
String get minimumTimeInterval => 'Минимальный интервал времени';
@override
String alwaysBroadcastEvery(String duration) {
return 'Всегда транслировать каждые $duration';
}
@override
String get save => 'Сохранить';
@override
String get cancel => 'Отмена';
@override
String get close => 'Закрыть';
@override
String get about => 'О приложении';
@override
String get appVersion => 'Версия приложения';
@override
String get appName => 'Название приложения';
@override
String get aboutMeshCoreSar => 'О MeshCore SAR';
@override
String get aboutDescription =>
'Приложение для поисково-спасательных операций, разработанное для аварийно-спасательных служб. Возможности:\n\n• BLE mesh-сеть для связи между устройствами\n• Офлайн-карты с несколькими вариантами слоёв\n• Отслеживание членов команды в реальном времени\n• Тактические маркеры SAR (найденный человек, пожар, место сбора)\n• Управление контактами и обмен сообщениями\n• GPS-трекинг с показанием курса компаса\n• Кэширование тайлов карт для работы офлайн';
@override
String get technologiesUsed => 'Используемые технологии:';
@override
String get technologiesList =>
'• Flutter для кросс-платформенной разработки\n• BLE (Bluetooth Low Energy) для mesh-сети\n• OpenStreetMap для карт\n• Provider для управления состоянием\n• SharedPreferences для локального хранилища';
@override
String get moreInfo => 'Подробнее';
@override
String get learnMoreAbout => 'Узнать больше о MeshCore SAR';
@override
String get developer => 'Разработчик';
@override
String get packageName => 'Имя пакета';
@override
String get sampleData => 'Тестовые данные';
@override
String get sampleDataDescription =>
'Загрузить или очистить тестовые контакты, сообщения каналов и маркеры SAR';
@override
String get loadSampleData => 'Загрузить тестовые данные';
@override
String get clearAllData => 'Очистить все данные';
@override
String get clearAllDataConfirmTitle => 'Очистить все данные';
@override
String get clearAllDataConfirmMessage =>
'Это удалит все контакты и маркеры SAR. Вы уверены?';
@override
String get clear => 'Очистить';
@override
String loadedSampleData(
int teamCount,
int channelCount,
int sarCount,
int messageCount,
) {
return 'Загружено: $teamCount членов команды, $channelCount каналов, $sarCount маркеров SAR, $messageCount сообщений';
}
@override
String failedToLoadSampleData(String error) {
return 'Не удалось загрузить тестовые данные: $error';
}
@override
String get allDataCleared => 'Все данные очищены';
@override
String get failedToStartBackgroundTracking =>
'Не удалось запустить фоновое отслеживание. Проверьте разрешения и BLE-соединение.';
@override
String locationBroadcast(String latitude, String longitude) {
return 'Трансляция геолокации: $latitude, $longitude';
}
@override
String get defaultPinInfo =>
'PIN-код по умолчанию для устройств без экрана — 123456. Проблемы с сопряжением? Удалите устройство из Bluetooth в системных настройках.';
@override
String get noMessagesYet => 'Сообщений пока нет';
@override
String get pullDownToSync => 'Потяните вниз для синхронизации сообщений';
@override
String get deleteContact => 'Удалить контакт';
@override
String get delete => 'Удалить';
@override
String get viewOnMap => 'Показать на карте';
@override
String get refresh => 'Обновить';
@override
String get sendDirectMessage => 'Отправить';
@override
String get resetPath => 'Сбросить маршрут (перепроложить)';
@override
String get publicKeyCopied => 'Публичный ключ скопирован в буфер обмена';
@override
String copiedToClipboard(String label) {
return '$label скопировано в буфер обмена';
}
@override
String get pleaseEnterPassword => 'Пожалуйста, введите пароль';
@override
String failedToSyncContacts(String error) {
return 'Не удалось синхронизировать контакты: $error';
}
@override
String get loggedInSuccessfully =>
'Вход выполнен! Ожидание сообщений комнаты...';
@override
String get loginFailed => 'Ошибка входа — неверный пароль';
@override
String loggingIn(String roomName) {
return 'Вход в $roomName...';
}
@override
String failedToSendLogin(String error) {
return 'Не удалось отправить данные входа: $error';
}
@override
String get lowLocationAccuracy => 'Низкая точность геолокации';
@override
String get continue_ => 'Продолжить';
@override
String get sendSarMarker => 'Отправить маркер SAR';
@override
String get deleteDrawing => 'Удалить рисунок';
@override
String get drawingTools => 'Инструменты рисования';
@override
String get drawLine => 'Нарисовать линию';
@override
String get drawLineDesc => 'Нарисуйте произвольную линию на карте';
@override
String get drawRectangle => 'Нарисовать прямоугольник';
@override
String get drawRectangleDesc => 'Нарисуйте прямоугольную область на карте';
@override
String get measureDistance => 'Измерить расстояние';
@override
String get measureDistanceDesc => 'Долгое нажатие на две точки для измерения';
@override
String get clearMeasurement => 'Сбросить измерение';
@override
String distanceLabel(String distance) {
return 'Расстояние: $distance';
}
@override
String get longPressForSecondPoint => 'Долгое нажатие для второй точки';
@override
String get longPressToStartMeasurement =>
'Долгое нажатие для установки первой точки';
@override
String get longPressToStartNewMeasurement =>
'Долгое нажатие для начала нового измерения';
@override
String get shareDrawings => 'Поделиться рисунками';
@override
String get clearAllDrawings => 'Удалить все рисунки';
@override
String get completeLine => 'Завершить линию';
@override
String broadcastDrawingsToTeam(int count, String plural) {
return 'Транслировать $count рисун$plural команде';
}
@override
String removeAllDrawings(int count, String plural) {
return 'Удалить все $count рисун$plural';
}
@override
String deleteAllDrawingsConfirm(int count, String plural) {
return 'Удалить все $count рисун$plural с карты?';
}
@override
String get drawing => 'Рисунок';
@override
String shareDrawingsCount(int count, String plural) {
return 'Поделиться $count рисун$plural';
}
@override
String sentDrawingsToRoom(int count, String plural, String roomName) {
return 'Отправлено $count рисун$plural в $roomName';
}
@override
String sharedDrawingsToRoom(
int success,
int total,
String plural,
String roomName,
) {
return 'Передано $success/$total рисун$plural в $roomName';
}
@override
String get showReceivedDrawings => 'Показать полученные рисунки';
@override
String get showingAllDrawings => 'Показаны все рисунки';
@override
String get showingOnlyYourDrawings => 'Показаны только ваши рисунки';
@override
String get showSarMarkers => 'Показать маркеры SAR';
@override
String get showingSarMarkers => 'Маркеры SAR отображаются';
@override
String get hidingSarMarkers => 'Маркеры SAR скрыты';
@override
String get clearAll => 'Очистить всё';
@override
String get noLocalDrawings => 'Нет локальных рисунков для отправки';
@override
String get publicChannel => 'Публичный канал';
@override
String get broadcastToAll => 'Трансляция всем ближайшим узлам (временно)';
@override
String get storedPermanently => 'Сохранено постоянно в комнате';
@override
String drawingsSentToPublicChannel(int count, String plural) {
return 'Отправлено $count рисун$plural в публичный канал';
}
@override
String drawingsSharedToPublicChannel(int success, int total) {
return 'Передано $success/$total рисунков в публичный канал';
}
@override
String get notConnectedToDevice => 'Устройство не подключено';
@override
String get directMessage => 'Личное сообщение';
@override
String directMessageSentTo(String contactName) {
return 'Личное сообщение отправлено $contactName';
}
@override
String failedToSend(String error) {
return 'Не удалось отправить: $error';
}
@override
String directMessageInfo(String contactName) {
return 'Это сообщение будет отправлено напрямую $contactName. Оно также появится в общей ленте сообщений.';
}
@override
String get typeYourMessage => 'Введите сообщение...';
@override
String get quickLocationMarker => 'Быстрый маркер местоположения';
@override
String get markerType => 'Тип маркера';
@override
String get sendTo => 'Отправить в';
@override
String get noDestinationsAvailable => 'Нет доступных получателей.';
@override
String get selectDestination => 'Выберите получателя...';
@override
String get ephemeralBroadcastInfo =>
'Временно: передаётся по эфиру. Не сохраняется — узлы должны быть онлайн.';
@override
String get persistentRoomInfo =>
'Постоянно: хранится неизменно в комнате. Синхронизируется автоматически и доступно офлайн.';
@override
String get location => 'Местоположение';
@override
String get myLocation => 'Моё местоположение';
@override
String get fromMap => 'С карты';
@override
String get gettingLocation => 'Получение местоположения...';
@override
String get locationError => 'Ошибка геолокации';
@override
String get retry => 'Повторить';
@override
String get refreshLocation => 'Обновить местоположение';
@override
String accuracyMeters(int accuracy) {
return 'Точность: ±$accuracyм';
}
@override
String get notesOptional => 'Заметки (необязательно)';
@override
String get addAdditionalInformation =>
'Добавьте дополнительную информацию...';
@override
String lowAccuracyWarning(int accuracy) {
return 'Точность геолокации: ±$accuracyм. Этого может быть недостаточно для операций SAR.\n\nПродолжить всё равно?';
}
@override
String get loginToRoom => 'Войти в комнату';
@override
String get enterPasswordInfo =>
'Введите пароль для доступа к этой комнате. Пароль будет сохранён для дальнейшего использования.';
@override
String get password => 'Пароль';
@override
String get enterRoomPassword => 'Введите пароль комнаты';
@override
String get loggingInDots => 'Вход...';
@override
String get login => 'Войти';
@override
String failedToAddRoom(String error) {
return 'Не удалось добавить комнату на устройство: $error\n\nВозможно, комната ещё не объявила себя.\nПопробуйте подождать, пока комната не выйдет на связь.';
}
@override
String get direct => 'Напрямую';
@override
String get flood => 'Широковещательно';
@override
String get admin => 'Администратор';
@override
String get loggedIn => 'Вход выполнен';
@override
String get noGpsData => 'Нет данных GPS';
@override
String get distance => 'Расстояние';
@override
String pingingDirect(String name) {
return 'Пинг $name (напрямую по маршруту)...';
}
@override
String pingingFlood(String name) {
return 'Пинг $name (широковещательно — нет маршрута)...';
}
@override
String directPingTimeout(String name) {
return 'Таймаут прямого пинга — повтор $name широковещательно...';
}
@override
String pingSuccessful(String name, String fallback) {
return 'Пинг успешен: $name$fallback';
}
@override
String get viaFloodingFallback => ' (через широковещательный резерв)';
@override
String pingFailed(String name) {
return 'Пинг не удался: $name — ответ не получен';
}
@override
String deleteContactConfirmation(String name) {
return 'Вы уверены, что хотите удалить \"$name\"?\n\nЭто удалит контакт как из приложения, так и с сопряжённого радиоустройства.';
}
@override
String removingContact(String name) {
return 'Удаление $name...';
}
@override
String contactRemoved(String name) {
return 'Контакт \"$name\" удалён';
}
@override
String failedToRemoveContact(String error) {
return 'Не удалось удалить контакт: $error';
}
@override
String get type => 'Тип';
@override
String get publicKey => 'Публичный ключ';
@override
String get lastSeen => 'Последнее появление';
@override
String get roomStatus => 'Статус комнаты';
@override
String get loginStatus => 'Статус входа';
@override
String get notLoggedIn => 'Не выполнен вход';
@override
String get adminAccess => 'Доступ администратора';
@override
String get yes => 'Да';
@override
String get no => 'Нет';
@override
String get permissions => 'Разрешения';
@override
String get passwordSaved => 'Пароль сохранён';
@override
String get locationColon => 'Местоположение:';
@override
String get telemetry => 'Телеметрия';
@override
String requestingTelemetry(String name) {
return 'Запрос телеметрии от $name...';
}
@override
String get voltage => 'Напряжение';
@override
String get battery => 'Батарея';
@override
String get temperature => 'Температура';
@override
String get humidity => 'Влажность';
@override
String get pressure => 'Давление';
@override
String get gpsTelemetry => 'GPS (телеметрия)';
@override
String get updated => 'Обновлено';
@override
String pathResetInfo(String name) {
return 'Маршрут сброшен для $name. Следующее сообщение найдёт новый путь.';
}
@override
String get reLoginToRoom => 'Войти в комнату повторно';
@override
String get heading => 'Курс';
@override
String get elevation => 'Высота';
@override
String get accuracy => 'Точность';
@override
String get bearing => 'Азимут';
@override
String get direction => 'Направление';
@override
String get filterMarkers => 'Фильтр маркеров';
@override
String get filterMarkersTooltip => 'Фильтровать маркеры';
@override
String get contactsFilter => 'Контакты';
@override
String get repeatersFilter => 'Ретрансляторы';
@override
String get sarMarkers => 'Маркеры SAR';
@override
String get foundPerson => 'Найденный человек';
@override
String get fire => 'Пожар';
@override
String get stagingArea => 'Место сбора';
@override
String get showAll => 'Показать все';
@override
String get nearbyContacts => 'Ближайшие контакты';
@override
String get locationUnavailable => 'Местоположение недоступно';
@override
String get ahead => 'впереди';
@override
String degreesRight(int degrees) {
return '$degrees° вправо';
}
@override
String degreesLeft(int degrees) {
return '$degrees° влево';
}
@override
String latLonFormat(String latitude, String longitude) {
return 'Ш: $latitude Д: $longitude';
}
@override
String get noContactsYet => 'Контактов пока нет';
@override
String get connectToDeviceToLoadContacts =>
'Подключите устройство для загрузки контактов';
@override
String get teamMembers => 'Члены команды';
@override
String get repeaters => 'Ретрансляторы';
@override
String get rooms => 'Комнаты';
@override
String get channels => 'Каналы';
@override
String get cacheStatistics => 'Статистика кэша';
@override
String get totalTiles => 'Всего тайлов';
@override
String get cacheSize => 'Размер кэша';
@override
String get storeName => 'Имя хранилища';
@override
String get noCacheStatistics => 'Статистика кэша недоступна';
@override
String get downloadRegion => 'Скачать регион';
@override
String get mapLayer => 'Слой карты';
@override
String get regionBounds => 'Границы региона';
@override
String get north => 'Север';
@override
String get south => 'Юг';
@override
String get east => 'Восток';
@override
String get west => 'Запад';
@override
String get zoomLevels => 'Уровни масштаба';
@override
String minZoom(int zoom) {
return 'Мин: $zoom';
}
@override
String maxZoom(int zoom) {
return 'Макс: $zoom';
}
@override
String get downloadingDots => 'Загрузка...';
@override
String get cancelDownload => 'Отменить загрузку';
@override
String get downloadRegionButton => 'Скачать регион';
@override
String get downloadNote =>
'Внимание: большие регионы или высокие уровни масштаба могут потребовать значительного времени и места.';
@override
String get cacheManagement => 'Управление кэшем';
@override
String get clearAllMaps => 'Очистить все карты';
@override
String get clearMapsConfirmTitle => 'Очистить все карты';
@override
String get clearMapsConfirmMessage =>
'Вы уверены, что хотите удалить все загруженные карты? Это действие нельзя отменить.';
@override
String get mapDownloadCompleted => 'Загрузка карты завершена!';
@override
String get cacheClearedSuccessfully => 'Кэш успешно очищен!';
@override
String get downloadCancelled => 'Загрузка отменена';
@override
String get startingDownload => 'Начало загрузки...';
@override
String get downloadingMapTiles => 'Загрузка тайлов карты...';
@override
String get downloadCompletedSuccessfully => 'Загрузка успешно завершена!';
@override
String get cancellingDownload => 'Отмена загрузки...';
@override
String errorLoadingStats(String error) {
return 'Ошибка загрузки статистики: $error';
}
@override
String downloadFailed(String error) {
return 'Ошибка загрузки: $error';
}
@override
String cancelFailed(String error) {
return 'Ошибка отмены: $error';
}
@override
String clearCacheFailed(String error) {
return 'Ошибка очистки кэша: $error';
}
@override
String minZoomError(String error) {
return 'Мин. масштаб: $error';
}
@override
String maxZoomError(String error) {
return 'Макс. масштаб: $error';
}
@override
String get minZoomGreaterThanMax =>
'Минимальный масштаб должен быть меньше или равен максимальному';
@override
String get selectMapLayer => 'Выбрать слой карты';
@override
String get mapOptions => 'Параметры карты';
@override
String get showLegend => 'Показать легенду';
@override
String get displayMarkerTypeCounts => 'Отображать счётчики типов маркеров';
@override
String get rotateMapWithHeading => 'Поворачивать карту по курсу';
@override
String get mapFollowsDirection => 'Карта следует вашему направлению движения';
@override
String get resetMapRotation => 'Сбросить поворот';
@override
String get resetMapRotationTooltip => 'Вернуть карту на север';
@override
String get showMapDebugInfo => 'Показать отладочную информацию карты';
@override
String get displayZoomLevelBounds => 'Отображать уровень масштаба и границы';
@override
String get fullscreenMode => 'Полноэкранный режим';
@override
String get hideUiFullMapView =>
'Скрыть все элементы интерфейса для полного вида карты';
@override
String get openStreetMap => 'OpenStreetMap';
@override
String get openTopoMap => 'OpenTopoMap';
@override
String get esriSatellite => 'ESRI Спутник';
@override
String get googleHybrid => 'Google Гибрид';
@override
String get googleRoadmap => 'Google Дороги';
@override
String get googleTerrain => 'Google Рельеф';
@override
String get downloadVisibleArea => 'Скачать видимую область';
@override
String get initializingMap => 'Инициализация карты...';
@override
String get dragToPosition => 'Перетащите для позиционирования';
@override
String get createSarMarker => 'Создать маркер SAR';
@override
String get compass => 'Компас';
@override
String get navigationAndContacts => 'Навигация и контакты';
@override
String get sarAlert => 'ТРЕВОГА SAR';
@override
String get messageSentToPublicChannel =>
'Сообщение отправлено в публичный канал';
@override
String get pleaseSelectRoomToSendSar =>
'Пожалуйста, выберите комнату для отправки маркера SAR';
@override
String failedToSendSarMarker(String error) {
return 'Не удалось отправить маркер SAR: $error';
}
@override
String sarMarkerSentTo(String roomName) {
return 'Маркер SAR отправлен в $roomName';
}
@override
String get notConnectedCannotSync =>
'Нет подключения — синхронизация невозможна';
@override
String syncedMessageCount(int count) {
return 'Синхронизировано $count сообщение(й)';
}
@override
String get noNewMessages => 'Новых сообщений нет';
@override
String syncFailed(String error) {
return 'Синхронизация не удалась: $error';
}
@override
String get failedToResendMessage => 'Не удалось повторно отправить сообщение';
@override
String get retryingMessage => 'Повторная отправка сообщения...';
@override
String retryFailed(String error) {
return 'Повтор не удался: $error';
}
@override
String get textCopiedToClipboard => 'Текст скопирован в буфер обмена';
@override
String get cannotReplySenderMissing =>
'Не удаётся ответить: нет информации об отправителе';
@override
String get cannotReplyContactNotFound =>
'Не удаётся ответить: контакт не найден';
@override
String get messageDeleted => 'Сообщение удалено';
@override
String get copyText => 'Копировать текст';
@override
String get saveAsTemplate => 'Сохранить как шаблон';
@override
String get templateSaved => 'Шаблон успешно сохранён';
@override
String get templateAlreadyExists => 'Шаблон с таким эмодзи уже существует';
@override
String get deleteMessage => 'Удалить сообщение';
@override
String get deleteMessageConfirmation =>
'Вы уверены, что хотите удалить это сообщение?';
@override
String get shareLocation => 'Поделиться местоположением';
@override
String shareLocationText(
String markerInfo,
String lat,
String lon,
String url,
) {
return '$markerInfo\n\nКоординаты: $lat, $lon\n\nGoogle Maps: $url';
}
@override
String get sarLocationShare => 'Местоположение SAR';
@override
String get locationShared => 'Местоположение передано';
@override
String get refreshedContacts => 'Контакты обновлены';
@override
String get justNow => 'Только что';
@override
String minutesAgo(int minutes) {
return '$minutesм назад';
}
@override
String hoursAgo(int hours) {
return '$hoursч назад';
}
@override
String daysAgo(int days) {
return '$daysд назад';
}
@override
String secondsAgo(int seconds) {
return '$secondsс назад';
}
@override
String get sending => 'Отправка...';
@override
String get sent => 'Отправлено';
@override
String get delivered => 'Доставлено';
@override
String deliveredWithTime(int time) {
return 'Доставлено ($timeмс)';
}
@override
String get failed => 'Ошибка';
@override
String get broadcast => 'Трансляция';
@override
String deliveredToContacts(int delivered, int total) {
return 'Доставлено $delivered/$total контактам';
}
@override
String get allDelivered => 'Все доставлено';
@override
String get recipientDetails => 'Детали получателей';
@override
String get pending => 'Ожидание';
@override
String get sarMarkerFoundPerson => 'Найденный человек';
@override
String get sarMarkerFire => 'Место пожара';
@override
String get sarMarkerStagingArea => 'Место сбора';
@override
String get sarMarkerObject => 'Найденный объект';
@override
String get from => 'От';
@override
String get coordinates => 'Координаты';
@override
String get tapToViewOnMap => 'Нажмите, чтобы открыть на карте';
@override
String get radioSettings => 'Настройки радио';
@override
String get frequencyMHz => 'Частота (МГц)';
@override
String get frequencyExample => 'например, 869.618';
@override
String get bandwidth => 'Полоса пропускания';
@override
String get spreadingFactor => 'Коэффициент расширения';
@override
String get codingRate => 'Скорость кодирования';
@override
String get txPowerDbm => 'Мощность TX (дБм)';
@override
String maxPowerDbm(int power) {
return 'Макс: $power дБм';
}
@override
String get you => 'Вы';
@override
String get offlineVectorMaps => 'Офлайн-векторные карты';
@override
String get offlineVectorMapsDescription =>
'Импортируйте офлайн-векторные тайлы карт (формат MBTiles) для использования без интернета';
@override
String get importMbtiles => 'Импортировать файл MBTiles';
@override
String get importMbtilesNote =>
'Поддерживаются файлы MBTiles с векторными тайлами (формат PBF/MVT). Отлично подходят выгрузки Geofabrik!';
@override
String get noMbtilesFiles => 'Офлайн-векторные карты не найдены';
@override
String get mbtilesImportedSuccessfully => 'Файл MBTiles успешно импортирован';
@override
String get failedToImportMbtiles => 'Не удалось импортировать файл MBTiles';
@override
String get deleteMbtilesConfirmTitle => 'Удалить офлайн-карту';
@override
String deleteMbtilesConfirmMessage(String name) {
return 'Вы уверены, что хотите удалить \"$name\"? Офлайн-карта будет удалена безвозвратно.';
}
@override
String get mbtilesDeletedSuccessfully => 'Офлайн-карта успешно удалена';
@override
String get failedToDeleteMbtiles => 'Не удалось удалить офлайн-карту';
@override
String get importExportCachedTiles => 'Импорт/Экспорт кэшированных тайлов';
@override
String get importExportDescription =>
'Резервное копирование, обмен и восстановление загруженных тайлов карт между устройствами';
@override
String get exportTilesToFile => 'Экспортировать тайлы в файл';
@override
String get importTilesFromFile => 'Импортировать тайлы из файла';
@override
String get selectExportLocation => 'Выберите место для экспорта';
@override
String get selectImportFile => 'Выберите архив тайлов';
@override
String get exportingTiles => 'Экспорт тайлов...';
@override
String get importingTiles => 'Импорт тайлов...';
@override
String exportSuccess(int count) {
return 'Экспортировано $count тайлов';
}
@override
String importSuccess(int count) {
return 'Импортировано $count хранилищ';
}
@override
String exportFailed(String error) {
return 'Ошибка экспорта: $error';
}
@override
String importFailed(String error) {
return 'Ошибка импорта: $error';
}
@override
String get exportNote =>
'Создаёт сжатый архив (.fmtc), которым можно поделиться и импортировать на других устройствах.';
@override
String get importNote =>
'Импортирует тайлы карт из ранее экспортированного архива. Тайлы будут объединены с существующим кэшем.';
@override
String get noTilesToExport => 'Нет доступных тайлов для экспорта';
@override
String archiveContainsStores(int count) {
return 'Архив содержит $count хранилищ';
}
@override
String get vectorTiles => 'Векторные тайлы';
@override
String get schema => 'Схема';
@override
String get unknown => 'Неизвестно';
@override
String get bounds => 'Границы';
@override
String get onlineLayers => 'Онлайн-слои';
@override
String get offlineLayers => 'Офлайн-слои';
@override
String get locationTrail => 'Трек местоположения';
@override
String get showTrailOnMap => 'Показать трек на карте';
@override
String get trailVisible => 'Трек отображается на карте';
@override
String get trailHiddenRecording => 'Трек скрыт (запись продолжается)';
@override
String get duration => 'Продолжительность';
@override
String get points => 'Точки';
@override
String get clearTrail => 'Очистить трек';
@override
String get clearTrailQuestion => 'Очистить трек?';
@override
String get clearTrailConfirmation =>
'Вы уверены, что хотите очистить текущий трек? Это действие нельзя отменить.';
@override
String get noTrailRecorded => 'Трек ещё не записан';
@override
String get startTrackingToRecord =>
'Запустите отслеживание геолокации для записи трека';
@override
String get trailControls => 'Управление треком';
@override
String get exportTrailToGpx => 'Экспортировать трек в GPX';
@override
String get importTrailFromGpx => 'Импортировать трек из GPX';
@override
String get trailExportedSuccessfully => 'Трек успешно экспортирован!';
@override
String get failedToExportTrail => 'Не удалось экспортировать трек';
@override
String failedToImportTrail(String error) {
return 'Не удалось импортировать трек: $error';
}
@override
String get importTrail => 'Импортировать трек';
@override
String importTrailQuestion(int pointCount) {
return 'Импортировать трек из $pointCount точек?\n\nВы можете заменить текущий трек или просмотреть его рядом.';
}
@override
String get viewAlongside => 'Просмотреть рядом';
@override
String get replaceCurrent => 'Заменить текущий';
@override
String trailImported(int pointCount) {
return 'Трек импортирован! ($pointCount точек)';
}
@override
String trailReplaced(int pointCount) {
return 'Трек заменён! ($pointCount точек)';
}
@override
String get contactTrails => 'Треки контактов';
@override
String get showAllContactTrails => 'Показать все треки контактов';
@override
String get noContactsWithLocationHistory =>
'Нет контактов с историей местоположения';
@override
String showingTrailsForContacts(int count) {
return 'Показаны треки для $count контактов';
}
@override
String get individualContactTrails => 'Индивидуальные треки контактов';
@override
String get deviceInformation => 'Информация об устройстве';
@override
String get bleName => 'Имя BLE';
@override
String get meshName => 'Имя в сети Mesh';
@override
String get notSet => 'Не задано';
@override
String get model => 'Модель';
@override
String get version => 'Версия';
@override
String get buildDate => 'Дата сборки';
@override
String get firmware => 'Прошивка';
@override
String get maxContacts => 'Макс. контактов';
@override
String get maxChannels => 'Макс. каналов';
@override
String get publicInfo => 'Публичная информация';
@override
String get meshNetworkName => 'Название сети Mesh';
@override
String get nameBroadcastInMesh => 'Имя, транслируемое в mesh-объявлениях';
@override
String get telemetryAndLocationSharing =>
'Телеметрия и передача местоположения';
@override
String get lat => 'Ш';
@override
String get lon => 'Д';
@override
String get useCurrentLocation => 'Использовать текущее местоположение';
@override
String get noneUnknown => 'Нет/Неизвестно';
@override
String get chatNode => 'Узел чата';
@override
String get repeater => 'Ретранслятор';
@override
String get roomChannel => 'Комната/Канал';
@override
String typeNumber(int number) {
return 'Тип $number';
}
@override
String copiedToClipboardShort(String label) {
return '$label скопировано в буфер обмена';
}
@override
String failedToSave(String error) {
return 'Не удалось сохранить: $error';
}
@override
String failedToGetLocation(String error) {
return 'Не удалось получить местоположение: $error';
}
@override
String get sarTemplates => 'Шаблоны SAR';
@override
String get manageSarTemplates => 'Управление шаблонами целеуказания';
@override
String get addTemplate => 'Добавить шаблон';
@override
String get editTemplate => 'Изменить шаблон';
@override
String get deleteTemplate => 'Удалить шаблон';
@override
String get templateName => 'Название шаблона';
@override
String get templateNameHint => 'например, Найденный человек';
@override
String get templateEmoji => 'Эмодзи';
@override
String get emojiRequired => 'Требуется эмодзи';
@override
String get nameRequired => 'Требуется название';
@override
String get templateDescription => 'Описание (необязательно)';
@override
String get templateDescriptionHint => 'Добавьте дополнительный контекст...';
@override
String get templateColor => 'Цвет';
@override
String get previewFormat => 'Предпросмотр (формат сообщения SAR)';
@override
String get importFromClipboard => 'Импорт';
@override
String get exportToClipboard => 'Экспорт';
@override
String deleteTemplateConfirmation(String name) {
return 'Удалить шаблон \'$name\'?';
}
@override
String get templateAdded => 'Шаблон добавлен';
@override
String get templateUpdated => 'Шаблон обновлён';
@override
String get templateDeleted => 'Шаблон удалён';
@override
String templatesImported(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Импортировано $count шаблонов',
one: 'Импортирован 1 шаблон',
zero: 'Шаблоны не импортированы',
);
return '$_temp0';
}
@override
String templatesExported(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count шаблонов экспортировано в буфер обмена',
one: '1 шаблон экспортирован в буфер обмена',
);
return '$_temp0';
}
@override
String get resetToDefaults => 'Сбросить до умолчаний';
@override
String get resetToDefaultsConfirmation =>
'Все пользовательские шаблоны будут удалены и восстановлены 4 шаблона по умолчанию. Продолжить?';
@override
String get reset => 'Сбросить';
@override
String get resetComplete => 'Шаблоны сброшены до умолчаний';
@override
String get noTemplates => 'Шаблоны недоступны';
@override
String get tapAddToCreate => 'Нажмите +, чтобы создать первый шаблон';
@override
String get ok => 'ОК';
@override
String get permissionsSection => 'Разрешения';
@override
String get locationPermission => 'Разрешение геолокации';
@override
String get checking => 'Проверка...';
@override
String get locationPermissionGrantedAlways => 'Разрешено (всегда)';
@override
String get locationPermissionGrantedWhileInUse =>
'Разрешено (при использовании)';
@override
String get locationPermissionDeniedTapToRequest =>
'Запрещено — нажмите для запроса';
@override
String get locationPermissionPermanentlyDeniedOpenSettings =>
'Запрещено навсегда — откройте настройки';
@override
String get locationPermissionDialogContent =>
'Доступ к геолокации запрещён навсегда. Включите его в настройках устройства для GPS-трекинга и обмена местоположением.';
@override
String get openSettings => 'Открыть настройки';
@override
String get locationPermissionGranted => 'Разрешение геолокации получено!';
@override
String get locationPermissionRequiredForGps =>
'Разрешение геолокации необходимо для GPS-трекинга и обмена местоположением.';
@override
String get locationPermissionAlreadyGranted =>
'Разрешение геолокации уже предоставлено.';
@override
String get sarNavyBlue => 'SAR Тёмно-синяя';
@override
String get sarNavyBlueDescription => 'Профессиональный / оперативный режим';
@override
String get selectRecipient => 'Выбрать получателя';
@override
String get broadcastToAllNearby => 'Трансляция всем ближайшим';
@override
String get searchRecipients => 'Поиск получателей...';
@override
String get noContactsFound => 'Контакты не найдены';
@override
String get noRoomsFound => 'Комнаты не найдены';
@override
String get noContactsOrRoomsAvailable => 'Нет доступных контактов или комнат';
@override
String get noRecipientsAvailable => 'Нет доступных получателей';
@override
String get noChannelsFound => 'Каналы не найдены';
@override
String get messagesWillBeSentToPublicChannel =>
'Сообщения будут отправлены в публичный канал';
@override
String get newMessage => 'Новое сообщение';
@override
String get channel => 'Канал';
@override
String get samplePoliceLead => 'Руководитель группы полиции';
@override
String get sampleDroneOperator => 'Оператор дрона';
@override
String get sampleFirefighterAlpha => 'Пожарный';
@override
String get sampleMedicCharlie => 'Медик';
@override
String get sampleCommandDelta => 'Командование';
@override
String get sampleFireEngine => 'Пожарная машина';
@override
String get sampleAirSupport => 'Авиационная поддержка';
@override
String get sampleBaseCoordinator => 'Базовый координатор';
@override
String get channelEmergency => 'Аварийный';
@override
String get channelCoordination => 'Координация';
@override
String get channelUpdates => 'Обновления';
@override
String get sampleTeamMember => 'Тестовый член команды';
@override
String get sampleScout => 'Тестовый разведчик';
@override
String get sampleBase => 'Тестовая база';
@override
String get sampleSearcher => 'Тестовый поисковик';
@override
String get sampleObjectBackpack => ' Найден рюкзак синего цвета';
@override
String get sampleObjectVehicle =>
' Брошенный автомобиль — установить владельца';
@override
String get sampleObjectCamping => ' Обнаружено туристическое снаряжение';
@override
String get sampleObjectTrailMarker => ' Указатель тропы найден вне маршрута';
@override
String get sampleMsgAllTeamsCheckIn => 'Всем группам: сообщить о готовности';
@override
String get sampleMsgWeatherUpdate => 'Погода: ясно, температура 18°C';
@override
String get sampleMsgBaseCamp => 'Базовый лагерь развёрнут у места сбора';
@override
String get sampleMsgTeamAlpha => 'Группа выдвигается в сектор 2';
@override
String get sampleMsgRadioCheck => 'Проверка связи — всем станциям ответить';
@override
String get sampleMsgWaterSupply => 'Вода доступна на контрольной точке 3';
@override
String get sampleMsgTeamBravo => 'Группа докладывает: сектор 1 чист';
@override
String get sampleMsgEtaRallyPoint => 'Прибытие на место сбора: 15 минут';
@override
String get sampleMsgSupplyDrop => 'Сброс снаряжения подтверждён на 14:00';
@override
String get sampleMsgDroneSurvey =>
'Разведка дроном завершена — ничего не обнаружено';
@override
String get sampleMsgTeamCharlie => 'Группа запрашивает подкрепление';
@override
String get sampleMsgRadioDiscipline =>
'Всем подразделениям: соблюдать радиодисциплину';
@override
String get sampleMsgUrgentMedical =>
'СРОЧНО: нужна медицинская помощь в секторе 4';
@override
String get sampleMsgAdultMale => ' Взрослый мужчина, в сознании';
@override
String get sampleMsgFireSpotted => 'Обнаружен пожар — координаты следуют';
@override
String get sampleMsgSpreadingRapidly => ' Распространяется быстро!';
@override
String get sampleMsgPriorityHelicopter =>
'ПРИОРИТЕТ: нужна поддержка вертолёта';
@override
String get sampleMsgMedicalTeamEnRoute =>
'Медицинская группа движется к вашему местоположению';
@override
String get sampleMsgEvacHelicopter =>
'Вертолёт эвакуации: прибытие через 10 минут';
@override
String get sampleMsgEmergencyResolved =>
'Чрезвычайная ситуация ликвидирована — опасности нет';
@override
String get sampleMsgEmergencyStagingArea => ' Аварийное место сбора';
@override
String get sampleMsgEmergencyServices =>
'Аварийные службы уведомлены и реагируют';
@override
String get sampleAlphaTeamLead => 'Руководитель группы';
@override
String get sampleBravoScout => 'Разведчик';
@override
String get sampleCharlieMedic => 'Медик';
@override
String get sampleDeltaNavigator => 'Навигатор';
@override
String get sampleEchoSupport => 'Поддержка';
@override
String get sampleBaseCommand => 'Базовое командование';
@override
String get sampleFieldCoordinator => 'Полевой координатор';
@override
String get sampleMedicalTeam => 'Медицинская группа';
@override
String get mapDrawing => 'Рисунок на карте';
@override
String get navigateToDrawing => 'Перейти к рисунку';
@override
String get copyCoordinates => 'Копировать координаты';
@override
String get hideFromMap => 'Скрыть с карты';
@override
String get lineDrawing => 'Линия';
@override
String get rectangleDrawing => 'Прямоугольник';
@override
String get coordinatesCopiedToClipboard =>
'Координаты скопированы в буфер обмена';
@override
String get manualCoordinates => 'Ввод координат вручную';
@override
String get enterCoordinatesManually => 'Ввести координаты вручную';
@override
String get latitudeLabel => 'Широта';
@override
String get longitudeLabel => 'Долгота';
@override
String get invalidLatitude => 'Неверная широта (от -90 до 90)';
@override
String get invalidLongitude => 'Неверная долгота (от -180 до 180)';
@override
String get exampleCoordinates => 'Пример: 55.7558, 37.6173';
@override
String get drawingShared => 'Рисунок на карте';
@override
String get drawingHidden => 'Рисунок скрыт с карты';
@override
String alreadyShared(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count уже передано',
one: '1 уже передан',
);
return '$_temp0';
}
@override
String newDrawingsShared(int count, String plural) {
return 'Передано $count новых рисунк$plural';
}
@override
String get shareDrawing => 'Поделиться рисунком';
@override
String get shareWithAllNearbyDevices =>
'Поделиться со всеми ближайшими устройствами';
@override
String get shareToRoom => 'Отправить в комнату';
@override
String get sendToPersistentStorage =>
'Отправить в постоянное хранилище комнаты';
@override
String get deleteDrawingConfirm =>
'Вы уверены, что хотите удалить этот рисунок?';
@override
String get drawingDeleted => 'Рисунок удалён';
@override
String yourDrawingsCount(int count) {
return 'Ваши рисунки ($count)';
}
@override
String get shared => 'Передано';
@override
String get line => 'Линия';
@override
String get rectangle => 'Прямоугольник';
@override
String get updateAvailable => 'Доступно обновление';
@override
String get currentVersion => 'Текущая';
@override
String get latestVersion => 'Последняя';
@override
String get downloadUpdate => 'Скачать';
@override
String get updateLater => 'Позже';
@override
String get cadastralParcels => 'Кадастровые участки';
@override
String get forestRoads => 'Лесные дороги';
@override
String get showCadastralParcels => 'Показать кадастровые участки';
@override
String get showForestRoads => 'Показать лесные дороги';
@override
String get wmsOverlays => 'WMS-наложения';
@override
String get hikingTrails => 'Туристические маршруты';
@override
String get mainRoads => 'Главные дороги';
@override
String get houseNumbers => 'Номера домов';
@override
String get fireHazardZones => 'Пожароопасные зоны';
@override
String get historicalFires => 'Исторические пожары';
@override
String get firebreaks => 'Противопожарные просеки';
@override
String get krasFireZones => 'Пожарные зоны Краса';
@override
String get placeNames => 'Названия мест';
@override
String get municipalityBorders => 'Границы муниципалитетов';
@override
String get topographicMap => 'Топографическая карта 1:25000';
@override
String get recentMessages => 'Последние сообщения';
@override
String get addChannel => 'Добавить канал';
@override
String get channelName => 'Название канала';
@override
String get channelNameHint => 'например, Группа спасения Альфа';
@override
String get channelSecret => 'Секрет канала';
@override
String get channelSecretHint => 'Общий пароль для этого канала';
@override
String get channelSecretHelp =>
'Этот секрет необходимо передать всем членам команды, которым нужен доступ к каналу';
@override
String get channelTypesInfo =>
'Hash-каналы (#команда): секрет генерируется из названия автоматически. Одно название = один канал на всех устройствах.\n\nЗакрытые каналы: используется явный секрет. Войти могут только те, у кого есть секрет.';
@override
String get hashChannelInfo =>
'Hash-канал: секрет будет автоматически создан из названия. Все, кто использует одно и то же имя, окажутся в одном канале.';
@override
String get channelNameRequired => 'Требуется название канала';
@override
String get channelNameTooLong =>
'Название канала не должно превышать 31 символ';
@override
String get channelSecretRequired => 'Требуется секрет канала';
@override
String get channelSecretTooLong =>
'Секрет канала не должен превышать 32 символа';
@override
String get invalidAsciiCharacters => 'Разрешены только символы ASCII';
@override
String get channelCreatedSuccessfully => 'Канал успешно создан';
@override
String channelCreationFailed(String error) {
return 'Не удалось создать канал: $error';
}
@override
String get deleteChannel => 'Удалить канал';
@override
String deleteChannelConfirmation(String channelName) {
return 'Вы уверены, что хотите удалить канал \"$channelName\"? Это действие нельзя отменить.';
}
@override
String get channelDeletedSuccessfully => 'Канал успешно удалён';
@override
String channelDeletionFailed(String error) {
return 'Не удалось удалить канал: $error';
}
@override
String get allChannelSlotsInUse =>
'Все слоты каналов заняты (максимум 39 пользовательских каналов)';
@override
String get createChannel => 'Создать канал';
@override
String get wizardBack => 'Назад';
@override
String get wizardSkip => 'Пропустить';
@override
String get wizardNext => 'Далее';
@override
String get wizardGetStarted => 'Начать';
@override
String get wizardWelcomeTitle => 'Добро пожаловать в MeshCore SAR';
@override
String get wizardWelcomeDescription =>
'Мощный инструмент связи вне сети для поисково-спасательных операций. Поддерживайте связь с командой через mesh-радио, когда традиционные сети недоступны.';
@override
String get wizardConnectingTitle => 'Подключение к радиоустройству';
@override
String get wizardConnectingDescription =>
'Подключите смартфон к радиоустройству MeshCore по Bluetooth для связи вне сети.';
@override
String get wizardConnectingFeature1 => 'Поиск ближайших устройств MeshCore';
@override
String get wizardConnectingFeature2 =>
'Сопряжение с радиоустройством по Bluetooth';
@override
String get wizardConnectingFeature3 =>
'Работает полностью офлайн — интернет не нужен';
@override
String get wizardSimpleModeTitle => 'Простой режим';
@override
String get wizardSimpleModeDescription =>
'Впервые работаете с mesh-сетью? Включите простой режим для упрощённого интерфейса с основными функциями.';
@override
String get wizardSimpleModeFeature1 =>
'Удобный для новичков интерфейс с основными функциями';
@override
String get wizardSimpleModeFeature2 =>
'Переключиться в расширенный режим можно в любое время в настройках';
@override
String get wizardChannelTitle => 'Каналы';
@override
String get wizardChannelDescription =>
'Транслируйте сообщения всем участникам канала — идеально для общих объявлений и координации команды.';
@override
String get wizardChannelFeature1 => 'Публичный канал для общей связи команды';
@override
String get wizardChannelFeature2 =>
'Создавайте пользовательские каналы для отдельных групп';
@override
String get wizardChannelFeature3 =>
'Сообщения автоматически ретранслируются через mesh';
@override
String get wizardContactsTitle => 'Контакты';
@override
String get wizardContactsDescription =>
'Члены вашей команды появляются автоматически по мере подключения к mesh-сети. Отправляйте им личные сообщения или просматривайте их местоположение.';
@override
String get wizardContactsFeature1 => 'Контакты обнаруживаются автоматически';
@override
String get wizardContactsFeature2 => 'Отправка личных сообщений';
@override
String get wizardContactsFeature3 =>
'Просмотр уровня заряда и времени последнего появления';
@override
String get wizardMapTitle => 'Карта и местоположение';
@override
String get wizardMapDescription =>
'Отслеживайте команду в реальном времени и отмечайте важные места для поисково-спасательных операций.';
@override
String get wizardMapFeature1 =>
'Маркеры SAR для найденных людей, пожаров и мест сбора';
@override
String get wizardMapFeature2 =>
'GPS-отслеживание членов команды в реальном времени';
@override
String get wizardMapFeature3 => 'Загрузка офлайн-карт для отдалённых районов';
@override
String get wizardMapFeature4 =>
'Рисование фигур и обмен тактической информацией';
@override
String get viewWelcomeTutorial => 'Просмотреть обучение';
@override
String get allTeamContacts => 'Все контакты команды';
@override
String directMessagesInfo(int count) {
return 'Личные сообщения с подтверждением. Отправлено $count членам команды.';
}
@override
String sarMarkerSentToContacts(int count) {
return 'Маркер SAR отправлен $count контактам';
}
@override
String get noContactsAvailable => 'Нет доступных контактов команды';
@override
String get reply => 'Ответить';
@override
String get technicalDetails => 'Технические детали';
@override
String get messageTechnicalDetails => 'Технические детали сообщения';
@override
String get linkQuality => 'Качество связи';
@override
String get delivery => 'Доставка';
@override
String get status => 'Статус';
@override
String get expectedAckTag => 'Ожидаемый тег ACK';
@override
String get roundTrip => 'Время отклика';
@override
String get retryAttempt => 'Попытка повтора';
@override
String get floodFallback => 'Широковещательный резерв';
@override
String get identity => 'Идентификатор';
@override
String get messageId => 'ID сообщения';
@override
String get sender => 'Отправитель';
@override
String get senderKey => 'Ключ отправителя';
@override
String get recipient => 'Получатель';
@override
String get recipientKey => 'Ключ получателя';
@override
String get voice => 'Голос';
@override
String get voiceId => 'ID голоса';
@override
String get envelope => 'Конверт';
@override
String get sessionProgress => 'Прогресс сессии';
@override
String get complete => 'Завершено';
@override
String get rawDump => 'Необработанные данные';
@override
String get cannotRetryMissingRecipient =>
'Повтор невозможен: нет информации о получателе';
@override
String get voiceUnavailable => 'Голос сейчас недоступен';
@override
String get requestingVoice => 'Запрос голоса';
}