1201 lines
34 KiB
Dart
1201 lines
34 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 => 'PluriWave';
|
||
|
||
@override
|
||
String get navHome => 'Главная';
|
||
|
||
@override
|
||
String get navSearch => 'Поиск';
|
||
|
||
@override
|
||
String get navFavorites => 'Избранное';
|
||
|
||
@override
|
||
String get navAlarms => 'Будильники';
|
||
|
||
@override
|
||
String get navSettings => 'Настройки';
|
||
|
||
@override
|
||
String get actionOk => 'ОК';
|
||
|
||
@override
|
||
String get sleepTimer => 'Таймер сна';
|
||
|
||
@override
|
||
String get sleepTimerDescription =>
|
||
'Плавное выключение радио с точным обратным отсчётом.';
|
||
|
||
@override
|
||
String get cancelTimer => 'Отменить таймер';
|
||
|
||
@override
|
||
String get optionOther => 'Другое';
|
||
|
||
@override
|
||
String get customDurationTitle => 'Своя длительность';
|
||
|
||
@override
|
||
String get durationGreaterThanZero => 'Выберите длительность больше нуля.';
|
||
|
||
@override
|
||
String get hoursLabel => 'Часы';
|
||
|
||
@override
|
||
String get minutesLabel => 'Минуты';
|
||
|
||
@override
|
||
String get secondsLabel => 'Секунды';
|
||
|
||
@override
|
||
String durationHoursMinutesSeconds(
|
||
Object hours,
|
||
Object minutes,
|
||
Object seconds,
|
||
) {
|
||
return '$hours ? $minutes ??? $seconds ?';
|
||
}
|
||
|
||
@override
|
||
String durationMinutesSeconds(Object minutes, Object seconds) {
|
||
return '$minutes ??? $seconds ?';
|
||
}
|
||
|
||
@override
|
||
String durationMinutesOnly(Object minutes) {
|
||
return '$minutes ???';
|
||
}
|
||
|
||
@override
|
||
String durationSecondsOnly(Object seconds) {
|
||
return '$seconds ?';
|
||
}
|
||
|
||
@override
|
||
String get saveQuickAccess => 'Сохранить как быстрый доступ';
|
||
|
||
@override
|
||
String get startTimer => 'Запустить таймер';
|
||
|
||
@override
|
||
String skipCurrentAlarmExecution(Object alarmName) {
|
||
return 'Этот запуск $alarmName пропущен.';
|
||
}
|
||
|
||
@override
|
||
String get settingsTitle => 'Настройки';
|
||
|
||
@override
|
||
String get settingsSubtitle =>
|
||
'Точная настройка звука, резервных копий и пользовательских станций.';
|
||
|
||
@override
|
||
String get languageSectionTitle => 'Язык';
|
||
|
||
@override
|
||
String get languageSectionDescription =>
|
||
'Выберите, как отображается язык приложения.';
|
||
|
||
@override
|
||
String get languageSystemDefault => 'Система';
|
||
|
||
@override
|
||
String get languageSpanish => 'Испанский';
|
||
|
||
@override
|
||
String get languageEnglish => 'Английский';
|
||
|
||
@override
|
||
String languageUpdated(Object languageName) {
|
||
return 'Язык обновлён: $languageName';
|
||
}
|
||
|
||
@override
|
||
String get languageUpdatedSystem => 'Язык обновлён: система';
|
||
|
||
@override
|
||
String get timerSectionTitle => 'Таймер сна';
|
||
|
||
@override
|
||
String get timerSectionAdd => 'Добавить';
|
||
|
||
@override
|
||
String get timerSectionDescription =>
|
||
'Настройте быстрые пресеты, которые появляются при автоматическом выключении радио.';
|
||
|
||
@override
|
||
String get timerSectionRestoreRecommended =>
|
||
'Восстановить рекомендуемое время';
|
||
|
||
@override
|
||
String get newQuickAccessTitle => 'Новый быстрый доступ';
|
||
|
||
@override
|
||
String get saveQuickAccessButton => 'Сохранить быстрый доступ';
|
||
|
||
@override
|
||
String get settingsSafeStatus => 'Безопасно';
|
||
|
||
@override
|
||
String get recordingsSectionTitle => 'Записи';
|
||
|
||
@override
|
||
String get recordingsFolderDialogTitle => 'Выберите папку для записей';
|
||
|
||
@override
|
||
String get recordingsPathUpdated => 'Путь записи обновлён';
|
||
|
||
@override
|
||
String recordingsPathSaveError(Object error) {
|
||
return 'Не удалось сохранить путь: $error';
|
||
}
|
||
|
||
@override
|
||
String get recordingsDefaultFolderRestored =>
|
||
'Будет использована внутренняя папка по умолчанию';
|
||
|
||
@override
|
||
String get recordingsFolderTitle => 'Папка записей';
|
||
|
||
@override
|
||
String get recordingsPathCalculating => 'Вычисление пути...';
|
||
|
||
@override
|
||
String get recordingsChangePath => 'Изменить путь';
|
||
|
||
@override
|
||
String get recordingsUseDefaultPath => 'Использовать путь по умолчанию';
|
||
|
||
@override
|
||
String get recordingsOriginalStreamHint =>
|
||
'Радио сохраняется из исходного потока без повторного сжатия.';
|
||
|
||
@override
|
||
String get equalizerActive => 'Активно';
|
||
|
||
@override
|
||
String get equalizerDisabled => 'Отключено';
|
||
|
||
@override
|
||
String get equalizerEnable => 'Включить эквалайзер';
|
||
|
||
@override
|
||
String get equalizerRealtimeSubtitle =>
|
||
'Изменения применяются к текущей станции в реальном времени.';
|
||
|
||
@override
|
||
String get equalizerPendingSubtitle =>
|
||
'Изменения сохраняются и применятся, когда Android включит эффект.';
|
||
|
||
@override
|
||
String get equalizerPerStationTitle =>
|
||
'Использовать свой EQ для этого избранного';
|
||
|
||
@override
|
||
String equalizerPerStationActive(Object stationName) {
|
||
return 'Активно для $stationName';
|
||
}
|
||
|
||
@override
|
||
String equalizerPerStationMain(Object stationName) {
|
||
return 'Используется основной EQ для $stationName';
|
||
}
|
||
|
||
@override
|
||
String get preferredStationTitle => 'Предпочитаемая станция';
|
||
|
||
@override
|
||
String get preferredStationDescription =>
|
||
'Предварительно выбирается при создании будильников и доступна для быстрого воспроизведения.';
|
||
|
||
@override
|
||
String get preferredStationNoStationsTitle => 'Пока нет доступных станций';
|
||
|
||
@override
|
||
String get preferredStationNoStationsSubtitle =>
|
||
'Сохраните избранные или загрузите станции, чтобы выбрать предпочитаемую.';
|
||
|
||
@override
|
||
String get preferredStationAutomaticFallback => 'Автоматический резерв';
|
||
|
||
@override
|
||
String get preferredStationDefaultFavorite => 'Избранное по умолчанию';
|
||
|
||
@override
|
||
String preferredStationCurrent(Object stationName) {
|
||
return 'Текущая предпочитаемая: $stationName';
|
||
}
|
||
|
||
@override
|
||
String preferredStationAutoUsing(Object stationName) {
|
||
return 'Нет избранных: автоматически используется $stationName';
|
||
}
|
||
|
||
@override
|
||
String get preferredStationPlay => 'Воспроизвести предпочитаемую';
|
||
|
||
@override
|
||
String get customStationsTitle => 'Пользовательские станции';
|
||
|
||
@override
|
||
String get customStationsAdd => 'Добавить';
|
||
|
||
@override
|
||
String get customStationsEmpty => 'Пользовательских станций нет.';
|
||
|
||
@override
|
||
String get playAction => 'Воспроизвести';
|
||
|
||
@override
|
||
String get deleteAction => 'Удалить';
|
||
|
||
@override
|
||
String get addStationTitle => 'Добавить станцию';
|
||
|
||
@override
|
||
String get stationNameLabel => 'Название *';
|
||
|
||
@override
|
||
String get unnamedStation => 'Станция без названия';
|
||
|
||
@override
|
||
String get requiredField => 'Обязательное поле';
|
||
|
||
@override
|
||
String get streamUrlLabel => 'URL потока *';
|
||
|
||
@override
|
||
String get invalidUrl => 'Недопустимый URL';
|
||
|
||
@override
|
||
String get countryOptionalLabel => 'Страна (необязательно)';
|
||
|
||
@override
|
||
String get saveStation => 'Сохранить станцию';
|
||
|
||
@override
|
||
String get backupSectionTitle => 'Резервная копия';
|
||
|
||
@override
|
||
String get backupExportTitle => 'Экспортировать настройки';
|
||
|
||
@override
|
||
String get backupExportSubtitle =>
|
||
'Избранное, пользовательские станции и пресеты EQ';
|
||
|
||
@override
|
||
String get backupImportTitle => 'Импортировать настройки';
|
||
|
||
@override
|
||
String get backupImportSubtitle => 'Восстановить из файла резервной копии';
|
||
|
||
@override
|
||
String get backupShareSubject => 'PluriWave — резервная копия';
|
||
|
||
@override
|
||
String backupShareText(Object date) {
|
||
return 'Настройки PluriWave, экспортированные $date';
|
||
}
|
||
|
||
@override
|
||
String backupExportError(Object error) {
|
||
return 'Ошибка при экспорте: $error';
|
||
}
|
||
|
||
@override
|
||
String get backupImportConfirmMessage =>
|
||
'Это добавит избранное, станции и пресеты из файла. Продолжить?';
|
||
|
||
@override
|
||
String get backupImportSuccess => 'Настройки успешно импортированы';
|
||
|
||
@override
|
||
String backupImportError(Object error) {
|
||
return 'Ошибка при импорте: $error';
|
||
}
|
||
|
||
@override
|
||
String get appVersionLoading => 'Загрузка версии...';
|
||
|
||
@override
|
||
String appVersionSubtitle(Object version) {
|
||
return '$version — мировое радио';
|
||
}
|
||
|
||
@override
|
||
String get savedFavoritesTitle => 'Сохранённое избранное';
|
||
|
||
@override
|
||
String get stationFilterTitle => 'Фильтр станций';
|
||
|
||
@override
|
||
String get stationFilterSubtitle =>
|
||
'Только станции, подтверждённые как активные';
|
||
|
||
@override
|
||
String get backgroundAudioTitle => 'Фоновое аудио';
|
||
|
||
@override
|
||
String get backgroundAudioSubtitle => 'Продолжается при выключенном экране';
|
||
|
||
@override
|
||
String get dash => '—';
|
||
|
||
@override
|
||
String get cancelAction => 'Отмена';
|
||
|
||
@override
|
||
String get equalizerTitle => 'Эквалайзер';
|
||
|
||
@override
|
||
String get recordingsOpenFolder => 'Открыть папку';
|
||
|
||
@override
|
||
String recordingsOpenFolderError(Object error) {
|
||
return 'Не удалось открыть папку: $error';
|
||
}
|
||
|
||
@override
|
||
String get recordingsMaxSizeTitle => 'Максимальный размер записи';
|
||
|
||
@override
|
||
String recordingsMaxSizeSubtitle(int size) {
|
||
return 'Текущий лимит: $size МБ';
|
||
}
|
||
|
||
@override
|
||
String get recordingsMaxSizeDialogTitle => 'Максимальный размер одной записи';
|
||
|
||
@override
|
||
String get recordingsMaxSizeMbLabel => 'Максимум мегабайт';
|
||
|
||
@override
|
||
String recordingsMaxSizeSaved(int size) {
|
||
return 'Лимит записи обновлён до $size МБ';
|
||
}
|
||
|
||
@override
|
||
String get stationOrderTitle => 'Порядок станций';
|
||
|
||
@override
|
||
String get stationOrderByName => 'По названию';
|
||
|
||
@override
|
||
String get stationOrderByQuality => 'По качеству';
|
||
|
||
@override
|
||
String get stationOrderScopeDescription =>
|
||
'Применяется к избранному, поиску, ближайшим станциям и быстрым спискам.';
|
||
|
||
@override
|
||
String get favoriteGroupsTitle => 'Списки избранного';
|
||
|
||
@override
|
||
String get favoriteGroupsDescription =>
|
||
'Создавайте короткие списки, чтобы упорядочить сохранённые станции.';
|
||
|
||
@override
|
||
String get favoriteGroupsAdd => 'Добавить список';
|
||
|
||
@override
|
||
String get favoriteGroupsEdit => 'Изменить список';
|
||
|
||
@override
|
||
String get favoriteGroupsDelete => 'Удалить список';
|
||
|
||
@override
|
||
String get favoriteGroupsNameLabel => 'Название списка';
|
||
|
||
@override
|
||
String get favoriteGroupsNameTooLong => 'Максимум 28 символов.';
|
||
|
||
@override
|
||
String get favoriteGroupsUnassigned => 'Без списка';
|
||
|
||
@override
|
||
String get favoriteGroupsProtectedHint =>
|
||
'Список по умолчанию: нельзя изменить или удалить.';
|
||
|
||
@override
|
||
String get favoriteGroupsCreated => 'Список создан';
|
||
|
||
@override
|
||
String get favoriteGroupsUpdated => 'Список обновлён';
|
||
|
||
@override
|
||
String get favoriteGroupsDeleted =>
|
||
'Список удалён; его станции вернулись в «Без списка».';
|
||
|
||
@override
|
||
String get favoriteGroupsAssign => 'Переместить в список';
|
||
|
||
@override
|
||
String favoriteGroupsAssignSubtitle(Object groupName) {
|
||
return 'Текущий список: $groupName';
|
||
}
|
||
|
||
@override
|
||
String favoriteGroupsAssigned(Object stationName, Object groupName) {
|
||
return '$stationName перемещена в $groupName';
|
||
}
|
||
|
||
@override
|
||
String get favoritesTitle => 'Избранное';
|
||
|
||
@override
|
||
String get favoritesEmptyTitle => 'Избранного пока нет';
|
||
|
||
@override
|
||
String get favoritesEmptySubtitle =>
|
||
'Нажмите на сердце у любой станции, чтобы сохранить её в коллекцию.';
|
||
|
||
@override
|
||
String get favoritesHeaderSubtitle =>
|
||
'Организуйте коллекцию по спискам и держите важные радио под рукой.';
|
||
|
||
@override
|
||
String get favoritesCollection => 'Коллекция';
|
||
|
||
@override
|
||
String favoritesSavedCount(int count) {
|
||
return '$count сохранено';
|
||
}
|
||
|
||
@override
|
||
String get favoritesRemoveTooltip => 'Удалить из избранного';
|
||
|
||
@override
|
||
String favoritesRemovedMessage(Object stationName) {
|
||
return '$stationName удалена из избранного';
|
||
}
|
||
|
||
@override
|
||
String get alarmPostponedCurrentExecution =>
|
||
'Будильник отложен для этого запуска.';
|
||
|
||
@override
|
||
String get searchScreenTitle => 'Поиск сигнала';
|
||
|
||
@override
|
||
String get searchScreenSubtitle =>
|
||
'Находите радио по названию, стране или языку с быстрыми фильтрами и высокой контрастностью.';
|
||
|
||
@override
|
||
String get searchFiltersLabel => 'Фильтры';
|
||
|
||
@override
|
||
String get searchHint => 'Радио Горизонт, джаз, новости...';
|
||
|
||
@override
|
||
String get searchCountryFilterLabel => 'Страна';
|
||
|
||
@override
|
||
String get searchLanguageFilterLabel => 'Язык';
|
||
|
||
@override
|
||
String get searchMinQualityFilterLabel => 'Минимальное качество';
|
||
|
||
@override
|
||
String get searchEmptyTitle => 'Найдите станцию';
|
||
|
||
@override
|
||
String get searchNoResultsTitle => 'Нет результатов';
|
||
|
||
@override
|
||
String get searchEmptySubtitle =>
|
||
'Используйте верхнюю строку или чипы, чтобы находить сигналы со всего мира.';
|
||
|
||
@override
|
||
String get searchNoResultsSubtitle =>
|
||
'Попробуйте убрать фильтры или ввести другое название, чтобы найти активный сигнал.';
|
||
|
||
@override
|
||
String get countrySpain => 'Испания';
|
||
|
||
@override
|
||
String get countryUsa => 'США';
|
||
|
||
@override
|
||
String get countryMexico => 'Мексика';
|
||
|
||
@override
|
||
String get countryArgentina => 'Аргентина';
|
||
|
||
@override
|
||
String get countryUk => 'Великобритания';
|
||
|
||
@override
|
||
String get countryFrance => 'Франция';
|
||
|
||
@override
|
||
String get countryGermany => 'Германия';
|
||
|
||
@override
|
||
String get countryItaly => 'Италия';
|
||
|
||
@override
|
||
String get countryBrazil => 'Бразилия';
|
||
|
||
@override
|
||
String get countryJapan => 'Япония';
|
||
|
||
@override
|
||
String get languageNameSpanish => 'испанский';
|
||
|
||
@override
|
||
String get languageNameEnglish => 'английский';
|
||
|
||
@override
|
||
String get languageNameFrench => 'французский';
|
||
|
||
@override
|
||
String get languageNameGerman => 'немецкий';
|
||
|
||
@override
|
||
String get languageNamePortuguese => 'португальский';
|
||
|
||
@override
|
||
String get languageNameItalian => 'итальянский';
|
||
|
||
@override
|
||
String get languageNameJapanese => 'японский';
|
||
|
||
@override
|
||
String get languageNameArabic => 'арабский';
|
||
|
||
@override
|
||
String get languageNameRussian => 'русский';
|
||
|
||
@override
|
||
String get homeScreenSubtitle =>
|
||
'Глобальное радио в прямом эфире с чистыми сигналами, умным избранным и визуальным стилем телевикторины.';
|
||
|
||
@override
|
||
String get exploreStations => 'Изучить станции';
|
||
|
||
@override
|
||
String stationsCount(int count) {
|
||
return '$count радиостанций';
|
||
}
|
||
|
||
@override
|
||
String get qualityHd => 'HD-качество';
|
||
|
||
@override
|
||
String get nearYou => 'Рядом с вами';
|
||
|
||
@override
|
||
String nearYouInCountry(Object country) {
|
||
return 'Рядом с вами · $country';
|
||
}
|
||
|
||
@override
|
||
String get detectAction => 'Определить';
|
||
|
||
@override
|
||
String get liveRadar => 'Радар в эфире';
|
||
|
||
@override
|
||
String get genresTitle => 'Жанры';
|
||
|
||
@override
|
||
String get retryAction => 'Повторить';
|
||
|
||
@override
|
||
String get noStationsAvailable => 'Нет доступных станций';
|
||
|
||
@override
|
||
String get noStationsAvailableSubtitle =>
|
||
'Попробуйте обновить или выбрать другой жанр, чтобы снова поймать сигнал.';
|
||
|
||
@override
|
||
String get genrePop => 'Поп';
|
||
|
||
@override
|
||
String get genreRock => 'Рок';
|
||
|
||
@override
|
||
String get genreJazz => 'Джаз';
|
||
|
||
@override
|
||
String get genreClassical => 'Классика';
|
||
|
||
@override
|
||
String get genreElectronic => 'Электронная';
|
||
|
||
@override
|
||
String get genreNews => 'Новости';
|
||
|
||
@override
|
||
String get genreTalk => 'Разговорные';
|
||
|
||
@override
|
||
String get genreHipHop => 'Хип-хоп';
|
||
|
||
@override
|
||
String get genreCountry => 'Кантри';
|
||
|
||
@override
|
||
String get genreMetal => 'Метал';
|
||
|
||
@override
|
||
String get genreReggae => 'Регги';
|
||
|
||
@override
|
||
String get genreLatin => 'Латинская';
|
||
|
||
@override
|
||
String get alarmScreenTitle => 'Музыкальное пробуждение';
|
||
|
||
@override
|
||
String get alarmScreenSubtitle =>
|
||
'Будильники с радио, безопасным звуком, умными отпусками и всегда видимым следующим запуском.';
|
||
|
||
@override
|
||
String get createAlarmAction => 'Создать будильник';
|
||
|
||
@override
|
||
String alarmsCount(int count) {
|
||
return '$count будильников';
|
||
}
|
||
|
||
@override
|
||
String get activeAlarmsWithoutNextTitle =>
|
||
'Активные будильники без следующего запуска';
|
||
|
||
@override
|
||
String get noActiveAlarms => 'Нет активных будильников';
|
||
|
||
@override
|
||
String get nextAlarmTitle => 'Следующий будильник';
|
||
|
||
@override
|
||
String activeAlarmsWithoutNextSubtitle(int count) {
|
||
return 'Есть $count активных будильников, но сейчас у них нет допустимой будущей даты. Проверьте дату, дни и отпуска.';
|
||
}
|
||
|
||
@override
|
||
String get createAlarmHint =>
|
||
'Создайте будильник, и PluriWave автоматически рассчитает следующий запуск.';
|
||
|
||
@override
|
||
String get alarmVacationPlay => 'Звонит в отпуске';
|
||
|
||
@override
|
||
String get alarmVacationPause => 'Пауза в отпуске';
|
||
|
||
@override
|
||
String alarmFadeInLabel(int seconds) {
|
||
return 'Плавное усиление $secondsс';
|
||
}
|
||
|
||
@override
|
||
String alarmNextExecution(Object date) {
|
||
return 'Следующий запуск: $date';
|
||
}
|
||
|
||
@override
|
||
String get alarmNoNextExecution => 'Нет активного следующего запуска.';
|
||
|
||
@override
|
||
String alarmSkippedExecution(Object date) {
|
||
return 'Один запуск был пропущен: $date.';
|
||
}
|
||
|
||
@override
|
||
String get editAction => 'Изменить';
|
||
|
||
@override
|
||
String get skipNextAction => 'Пропустить следующий';
|
||
|
||
@override
|
||
String get deleteTooltip => 'Удалить';
|
||
|
||
@override
|
||
String get alarmSkippedNoNextSnackbar =>
|
||
'Будильник пропущен. Следующего запуска нет.';
|
||
|
||
@override
|
||
String alarmSkippedReturnsSnackbar(Object date) {
|
||
return 'Будильник пропущен. Вернётся $date.';
|
||
}
|
||
|
||
@override
|
||
String alarmVacationPausedNoNext(Object vacationName) {
|
||
return 'Приостановлен из-за отпуска ($vacationName) и без следующего запуска.';
|
||
}
|
||
|
||
@override
|
||
String alarmVacationPausedReturns(Object vacationName, Object date) {
|
||
return 'Приостановлен из-за отпуска ($vacationName) и вернётся $date.';
|
||
}
|
||
|
||
@override
|
||
String alarmVacationReturns(Object date) {
|
||
return 'С активным отпуском снова прозвучит $date.';
|
||
}
|
||
|
||
@override
|
||
String get defaultAlarmName => 'Музыкальный будильник';
|
||
|
||
@override
|
||
String get newAlarmTitle => 'Новый будильник';
|
||
|
||
@override
|
||
String get editAlarmTitle => 'Изменить будильник';
|
||
|
||
@override
|
||
String get nameField => 'Название';
|
||
|
||
@override
|
||
String get timeField => 'Время';
|
||
|
||
@override
|
||
String get dateField => 'Дата';
|
||
|
||
@override
|
||
String get onceOption => 'Один раз';
|
||
|
||
@override
|
||
String get dailyOption => 'Ежедневно';
|
||
|
||
@override
|
||
String get weekdaysOption => 'Дни';
|
||
|
||
@override
|
||
String get soundAndVolumeSection => 'Звук и громкость';
|
||
|
||
@override
|
||
String get alarmFadeInTitle => 'Плавное усиление будильника';
|
||
|
||
@override
|
||
String get alarmFadeInOff => '0 с (без перехода)';
|
||
|
||
@override
|
||
String alarmFadeInSummary(int seconds) {
|
||
return '$seconds с (с 5% до выбранной громкости)';
|
||
}
|
||
|
||
@override
|
||
String get internalSafeSoundLabel => 'Безопасный внутренний звук';
|
||
|
||
@override
|
||
String get soundWarmSunrise => 'Тёплый рассвет';
|
||
|
||
@override
|
||
String get soundSoftBell => 'Мягкий колокольчик';
|
||
|
||
@override
|
||
String get soundDigitalPulse => 'Цифровой импульс';
|
||
|
||
@override
|
||
String get favoriteStationLabel => 'Избранная станция';
|
||
|
||
@override
|
||
String get noStationUseInternalSound =>
|
||
'Без станции: использовать внутренний звук';
|
||
|
||
@override
|
||
String get saveFavoritesAlarmHint =>
|
||
'Сохраните станции в избранное, чтобы использовать их как музыкальный будильник.';
|
||
|
||
@override
|
||
String get useCurrentStationAction => 'Использовать текущую станцию';
|
||
|
||
@override
|
||
String get playDuringVacations => 'Звонить во время отпусков';
|
||
|
||
@override
|
||
String get playDuringVacationsHint =>
|
||
'Если выключить, следующий запуск перейдёт на первый допустимый день.';
|
||
|
||
@override
|
||
String get saveAlarmAction => 'Сохранить будильник';
|
||
|
||
@override
|
||
String get chooseOneWeekdayError => 'Выберите хотя бы один день недели.';
|
||
|
||
@override
|
||
String get androidReliabilityReview => 'Проверить надёжность Android';
|
||
|
||
@override
|
||
String get statusOk => 'ОК';
|
||
|
||
@override
|
||
String get statusPending => 'ожидает';
|
||
|
||
@override
|
||
String androidReliabilityStatus(
|
||
Object exact,
|
||
Object notifications,
|
||
Object screen,
|
||
) {
|
||
return 'Надёжность: точные $exact · уведомления $notifications · экран $screen';
|
||
}
|
||
|
||
@override
|
||
String get vacationRangesTitle => 'Периоды отпусков';
|
||
|
||
@override
|
||
String get addAction => 'Добавить';
|
||
|
||
@override
|
||
String get vacationRangesHint =>
|
||
'Если у будильника включена «Пауза в отпуске», эти периоды будут автоматически пропущены.';
|
||
|
||
@override
|
||
String get noVacationRangesLoaded => 'Периоды не загружены.';
|
||
|
||
@override
|
||
String get deleteRangeTooltip => 'Удалить период';
|
||
|
||
@override
|
||
String get vacationsDefaultName => 'Отпуск';
|
||
|
||
@override
|
||
String get newVacationRangeTitle => 'Новый период отпуска';
|
||
|
||
@override
|
||
String get startField => 'Начало';
|
||
|
||
@override
|
||
String get endField => 'Конец';
|
||
|
||
@override
|
||
String get saveRangeAction => 'Сохранить период';
|
||
|
||
@override
|
||
String get noAlarmsYetTitle => 'Будильников пока нет.';
|
||
|
||
@override
|
||
String get noAlarmsYetSubtitle =>
|
||
'Создайте один, чтобы настроить своё музыкальное пробуждение.';
|
||
|
||
@override
|
||
String get ringingInternalAudioActive =>
|
||
'Звонит с безопасным внутренним звуком.';
|
||
|
||
@override
|
||
String get ringingPreparingInternalAudio =>
|
||
'Подготовка безопасного внутреннего звука.';
|
||
|
||
@override
|
||
String get stopAlarmAction => 'Остановить будильник';
|
||
|
||
@override
|
||
String get pauseAction => 'Пауза';
|
||
|
||
@override
|
||
String miniPlayerOpenLabel(Object stationName) {
|
||
return 'Открыть плеер для $stationName';
|
||
}
|
||
|
||
@override
|
||
String get playerIconLabel => 'Плеер';
|
||
|
||
@override
|
||
String get playbackStatusConnecting => 'Подключение...';
|
||
|
||
@override
|
||
String get playbackStatusLive => 'В эфире';
|
||
|
||
@override
|
||
String get playbackStatusPaused => 'Приостановлено';
|
||
|
||
@override
|
||
String get playbackStatusConnectionError => 'Ошибка подключения';
|
||
|
||
@override
|
||
String get playbackStatusStopped => 'Остановлено';
|
||
|
||
@override
|
||
String stationSemanticLabel(Object stationName) {
|
||
return 'Станция $stationName';
|
||
}
|
||
|
||
@override
|
||
String get favoritesAddTooltip => 'Добавить в избранное';
|
||
|
||
@override
|
||
String favoritesAddedMessage(Object stationName) {
|
||
return '$stationName добавлена в избранное';
|
||
}
|
||
|
||
@override
|
||
String get stationIconLabel => 'Значок станции';
|
||
|
||
@override
|
||
String get liveNow => 'В эфире';
|
||
|
||
@override
|
||
String equalizerBandLabel(Object band) {
|
||
return 'Полоса $band';
|
||
}
|
||
|
||
@override
|
||
String equalizerBandValue(Object value) {
|
||
return '$value дБ';
|
||
}
|
||
|
||
@override
|
||
String get equalizerPresetFlat => 'Плоский';
|
||
|
||
@override
|
||
String get equalizerPresetRock => 'Рок';
|
||
|
||
@override
|
||
String get equalizerPresetPop => 'Поп';
|
||
|
||
@override
|
||
String get equalizerPresetBassBoost => 'Усиление басов';
|
||
|
||
@override
|
||
String get equalizerPresetJazz => 'Джаз';
|
||
|
||
@override
|
||
String get equalizerPresetVoice => 'Голос';
|
||
|
||
@override
|
||
String get equalizerPresetCustom => 'Пользовательский';
|
||
|
||
@override
|
||
String get onboardingTitle => 'Добро пожаловать в PluriWave';
|
||
|
||
@override
|
||
String get onboardingNewsTitle => 'Что нового';
|
||
|
||
@override
|
||
String get onboardingStartAction => 'Начать';
|
||
|
||
@override
|
||
String get onboardingCloseTooltip => 'Закрыть';
|
||
|
||
@override
|
||
String radioRecordingError(Object error) {
|
||
return 'Ошибка записи радио: $error';
|
||
}
|
||
|
||
@override
|
||
String get radioApiConnectionError => 'Нет подключения к API радио';
|
||
|
||
@override
|
||
String get radioSearchError => 'Ошибка поиска. Проверьте подключение.';
|
||
|
||
@override
|
||
String get radioLoadMoreStationsError =>
|
||
'Не удалось загрузить больше станций.';
|
||
|
||
@override
|
||
String get radioNearbyStationsError =>
|
||
'Не удалось обнаружить ближайшие станции. Используйте фильтры по стране.';
|
||
|
||
@override
|
||
String radioCannotPlayStation(Object stationName) {
|
||
return 'Невозможно воспроизвести \"$stationName\"';
|
||
}
|
||
|
||
@override
|
||
String get recordingSelectStationFirst =>
|
||
'Сначала выберите станцию для записи.';
|
||
|
||
@override
|
||
String recordingStartError(Object error) {
|
||
return 'Не удалось начать запись: $error';
|
||
}
|
||
|
||
@override
|
||
String get unsupportedConfigVersion => 'Неподдерживаемая версия конфигурации';
|
||
|
||
@override
|
||
String get audioErrorGeneric => 'Ошибка воспроизведения';
|
||
|
||
@override
|
||
String get audioErrorNoInternet => 'Нет подключения к интернету';
|
||
|
||
@override
|
||
String get audioErrorInvalidUrl => 'URL радио недействителен';
|
||
|
||
@override
|
||
String get audioErrorNotFound => 'Радио недоступно (ошибка 404)';
|
||
|
||
@override
|
||
String get audioErrorTimeout => 'Время ожидания подключения истекло';
|
||
|
||
@override
|
||
String get audioErrorCannotConnect => 'Не удалось подключиться к радио';
|
||
|
||
@override
|
||
String get audioErrorUnsupportedFormat => 'Неподдерживаемый формат потока';
|
||
|
||
@override
|
||
String get audioErrorDecode => 'Ошибка декодирования аудиопотока';
|
||
|
||
@override
|
||
String get audioErrorCleartext =>
|
||
'Это радио использует незашифрованный HTTP, что не разрешено';
|
||
|
||
@override
|
||
String get audioErrorSsl => 'Недействительный SSL-сертификат у радио';
|
||
|
||
@override
|
||
String get audioErrorCannotPlay => 'Это радио невозможно воспроизвести';
|
||
|
||
@override
|
||
String get audioErrorUnexpectedPlayback =>
|
||
'Неожиданная ошибка воспроизведения';
|
||
|
||
@override
|
||
String get androidExactAlarmScheduleError =>
|
||
'Android не смог запланировать точный будильник. Проверьте разрешение для точных будильников.';
|
||
|
||
@override
|
||
String get recordingPathEmptyError => 'Путь записи не может быть пустым';
|
||
|
||
@override
|
||
String get recordingMaxSizeInvalidError =>
|
||
'Максимальный размер должен быть больше нуля';
|
||
|
||
@override
|
||
String get recordingAlreadyActiveError => 'Запись уже выполняется';
|
||
|
||
@override
|
||
String get alarmRingingFallbackActive =>
|
||
'Воспроизведение с внутренним безопасным аудио.';
|
||
|
||
@override
|
||
String get alarmRingingPreparingFallback =>
|
||
'Подготавливается внутреннее безопасное аудио.';
|
||
|
||
@override
|
||
String get alarmRingingTryingStation =>
|
||
'Пытаемся воспроизвести вашу станцию в максимально доступном качестве.';
|
||
|
||
@override
|
||
String alarmScheduleOnce(Object date) {
|
||
return 'Один раз · $date';
|
||
}
|
||
|
||
@override
|
||
String alarmScheduleWeekdays(Object days) {
|
||
return 'Дни: $days';
|
||
}
|
||
|
||
@override
|
||
String get androidReliabilityTitle => 'Проверить надёжность Android';
|
||
|
||
@override
|
||
String get closeAction => 'Закрыть';
|
||
|
||
@override
|
||
String get customOption => 'Своя';
|
||
|
||
@override
|
||
String get endLabel => 'Конец';
|
||
|
||
@override
|
||
String get equalizerDisable => 'Отключить эквалайзер';
|
||
|
||
@override
|
||
String get helpTitle => 'Помощь и руководство';
|
||
|
||
@override
|
||
String get helpSubtitle => 'Посмотрите функции, советы и новости PluriWave.';
|
||
|
||
@override
|
||
String get indefiniteOption => 'Без ограничения';
|
||
|
||
@override
|
||
String get invalidNumber => 'Недопустимое число';
|
||
|
||
@override
|
||
String get nameLabel => 'Название';
|
||
|
||
@override
|
||
String get notPlaying => 'Не воспроизводится';
|
||
|
||
@override
|
||
String get oneTimeOption => 'Один раз';
|
||
|
||
@override
|
||
String get pausePlaybackTooltip => 'Пауза';
|
||
|
||
@override
|
||
String qualityOriginal(Object quality) {
|
||
return 'Исходное качество: $quality';
|
||
}
|
||
|
||
@override
|
||
String get qualityUnknown => 'Качество не указано';
|
||
|
||
@override
|
||
String get recordAction => 'Записать';
|
||
|
||
@override
|
||
String get recordDurationTitle => 'Длительность записи';
|
||
|
||
@override
|
||
String get recordRadioSubtitle => 'Выберите длительность записи.';
|
||
|
||
@override
|
||
String get recordRadioTitle => 'Записать радио';
|
||
|
||
@override
|
||
String get recordingActiveTitle => 'Запись радио';
|
||
|
||
@override
|
||
String get recordingDirectTitle => 'Прямая запись';
|
||
|
||
@override
|
||
String get recordingsOpenFolderPlainError =>
|
||
'Не удалось открыть папку записей';
|
||
|
||
@override
|
||
String get recordingsOpenLatest => 'Открыть последнюю запись';
|
||
|
||
@override
|
||
String get recordingsOpenLatestError => 'Не удалось открыть последнюю запись';
|
||
|
||
@override
|
||
String get startLabel => 'Начало';
|
||
|
||
@override
|
||
String get startPlaybackTooltip => 'Начать воспроизведение';
|
||
|
||
@override
|
||
String get stopAction => 'Остановить';
|
||
|
||
@override
|
||
String get stopPlaybackTooltip => 'Остановить воспроизведение';
|
||
|
||
@override
|
||
String get weekdayShortMonday => 'Пн';
|
||
|
||
@override
|
||
String get weekdayShortTuesday => 'Вт';
|
||
|
||
@override
|
||
String get weekdayShortWednesday => 'Ср';
|
||
|
||
@override
|
||
String get weekdayShortThursday => 'Чт';
|
||
|
||
@override
|
||
String get weekdayShortFriday => 'Пт';
|
||
|
||
@override
|
||
String get weekdayShortSaturday => 'Сб';
|
||
|
||
@override
|
||
String get weekdayShortSunday => 'Вс';
|
||
}
|