Files
pluriwave/lib/l10n/gen/app_localizations_en.dart
T
FreeTLab 089b8b4227
Build & Deploy PluriWave / Análisis de código (push) Successful in 38s
Build & Deploy PluriWave / Build APK + AAB release (push) Successful in 2m34s
fix(i18n): normalize translations and fallbacks
2026-06-03 21:20:08 +02:00

1192 lines
26 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 English (`en`).
class AppLocalizationsEn extends AppLocalizations {
AppLocalizationsEn([String locale = 'en']) : super(locale);
@override
String get appTitle => 'PluriWave';
@override
String get navHome => 'Home';
@override
String get navSearch => 'Search';
@override
String get navFavorites => 'Favorites';
@override
String get navAlarms => 'Alarms';
@override
String get navSettings => 'Settings';
@override
String get actionOk => 'OK';
@override
String get sleepTimer => 'Sleep timer';
@override
String get sleepTimerDescription =>
'Smooth radio shutdown with an exact countdown.';
@override
String get cancelTimer => 'Cancel timer';
@override
String get optionOther => 'Other';
@override
String get customDurationTitle => 'Custom duration';
@override
String get durationGreaterThanZero => 'Choose a duration greater than zero.';
@override
String get hoursLabel => 'Hours';
@override
String get minutesLabel => 'Minutes';
@override
String get secondsLabel => 'Seconds';
@override
String durationHoursMinutesSeconds(
Object hours,
Object minutes,
Object seconds,
) {
return '$hours h $minutes min $seconds s';
}
@override
String durationMinutesSeconds(Object minutes, Object seconds) {
return '$minutes min $seconds s';
}
@override
String durationMinutesOnly(Object minutes) {
return '$minutes min';
}
@override
String durationSecondsOnly(Object seconds) {
return '$seconds s';
}
@override
String get saveQuickAccess => 'Save as quick access';
@override
String get startTimer => 'Start timer';
@override
String skipCurrentAlarmExecution(Object alarmName) {
return 'Skipped this execution of $alarmName.';
}
@override
String get settingsTitle => 'Settings';
@override
String get settingsSubtitle =>
'Fine-grained sound control, backups, and custom stations.';
@override
String get languageSectionTitle => 'Language';
@override
String get languageSectionDescription =>
'Choose how the app language is displayed.';
@override
String get languageSystemDefault => 'System';
@override
String get languageSpanish => 'Spanish';
@override
String get languageEnglish => 'English';
@override
String languageUpdated(Object languageName) {
return 'Language updated: $languageName';
}
@override
String get languageUpdatedSystem => 'Language updated: System';
@override
String get timerSectionTitle => 'Sleep timer';
@override
String get timerSectionAdd => 'Add';
@override
String get timerSectionDescription =>
'Customize the quick presets shown when automatically stopping the radio.';
@override
String get timerSectionRestoreRecommended => 'Restore recommended times';
@override
String get newQuickAccessTitle => 'New quick access';
@override
String get saveQuickAccessButton => 'Save quick access';
@override
String get settingsSafeStatus => 'Safe';
@override
String get recordingsSectionTitle => 'Recordings';
@override
String get recordingsFolderDialogTitle => 'Select recordings folder';
@override
String get recordingsPathUpdated => 'Recording path updated';
@override
String recordingsPathSaveError(Object error) {
return 'Could not save the path: $error';
}
@override
String get recordingsDefaultFolderRestored =>
'The default internal folder will be used';
@override
String get recordingsFolderTitle => 'Recording folder';
@override
String get recordingsPathCalculating => 'Calculating path...';
@override
String get recordingsChangePath => 'Change path';
@override
String get recordingsUseDefaultPath => 'Use default path';
@override
String get recordingsOriginalStreamHint =>
'The radio is saved from the original stream, without recompressing.';
@override
String get equalizerActive => 'Active';
@override
String get equalizerDisabled => 'Disabled';
@override
String get equalizerEnable => 'Enable equalizer';
@override
String get equalizerRealtimeSubtitle =>
'Changes are applied in real time to the current station.';
@override
String get equalizerPendingSubtitle =>
'Changes are saved and will apply when Android enables the effect.';
@override
String get equalizerPerStationTitle => 'Use custom EQ for this favorite';
@override
String equalizerPerStationActive(Object stationName) {
return 'Active for $stationName';
}
@override
String equalizerPerStationMain(Object stationName) {
return 'Using main EQ for $stationName';
}
@override
String get preferredStationTitle => 'Preferred station';
@override
String get preferredStationDescription =>
'Preselected for new alarms and available for quick playback.';
@override
String get preferredStationNoStationsTitle => 'No stations available yet';
@override
String get preferredStationNoStationsSubtitle =>
'Save favorites or load stations to choose a preferred one.';
@override
String get preferredStationAutomaticFallback => 'Automatic fallback';
@override
String get preferredStationDefaultFavorite => 'Default favorite';
@override
String preferredStationCurrent(Object stationName) {
return 'Current preferred: $stationName';
}
@override
String preferredStationAutoUsing(Object stationName) {
return 'No favorites: automatically using $stationName';
}
@override
String get preferredStationPlay => 'Play preferred';
@override
String get customStationsTitle => 'Custom stations';
@override
String get customStationsAdd => 'Add';
@override
String get customStationsEmpty => 'No custom stations.';
@override
String get playAction => 'Play';
@override
String get deleteAction => 'Delete';
@override
String get addStationTitle => 'Add station';
@override
String get stationNameLabel => 'Name *';
@override
String get unnamedStation => 'Unnamed station';
@override
String get requiredField => 'Required field';
@override
String get streamUrlLabel => 'Stream URL *';
@override
String get invalidUrl => 'Invalid URL';
@override
String get countryOptionalLabel => 'Country (optional)';
@override
String get saveStation => 'Save station';
@override
String get backupSectionTitle => 'Backup';
@override
String get backupExportTitle => 'Export configuration';
@override
String get backupExportSubtitle =>
'Favorites, custom stations, and EQ presets';
@override
String get backupImportTitle => 'Import configuration';
@override
String get backupImportSubtitle => 'Restore from a backup file';
@override
String get backupShareSubject => 'PluriWave — backup';
@override
String backupShareText(Object date) {
return 'PluriWave configuration exported on $date';
}
@override
String backupExportError(Object error) {
return 'Export error: $error';
}
@override
String get backupImportConfirmMessage =>
'This will add favorites, stations, and presets from the file. Continue?';
@override
String get backupImportSuccess => 'Configuration imported successfully';
@override
String backupImportError(Object error) {
return 'Import error: $error';
}
@override
String get appVersionLoading => 'Loading version...';
@override
String appVersionSubtitle(Object version) {
return '$version - World radio';
}
@override
String get savedFavoritesTitle => 'Saved favorites';
@override
String get stationFilterTitle => 'Station filter';
@override
String get stationFilterSubtitle => 'Only stations verified as active';
@override
String get backgroundAudioTitle => 'Background audio';
@override
String get backgroundAudioSubtitle => 'Continues when the screen turns off';
@override
String get dash => '';
@override
String get cancelAction => 'Cancel';
@override
String get equalizerTitle => 'Equalizer';
@override
String get recordingsOpenFolder => 'Open folder';
@override
String recordingsOpenFolderError(Object error) {
return 'Could not open the folder: $error';
}
@override
String get recordingsMaxSizeTitle => 'Maximum recording size';
@override
String recordingsMaxSizeSubtitle(int size) {
return 'Current limit: $size MB';
}
@override
String get recordingsMaxSizeDialogTitle => 'Maximum size per recording';
@override
String get recordingsMaxSizeMbLabel => 'Maximum megabytes';
@override
String recordingsMaxSizeSaved(int size) {
return 'Recording limit updated to $size MB';
}
@override
String get stationOrderTitle => 'Station order';
@override
String get stationOrderByName => 'By name';
@override
String get stationOrderByQuality => 'By quality';
@override
String get stationOrderScopeDescription =>
'Applies to favorites, searches, nearby stations and quick lists.';
@override
String get favoriteGroupsTitle => 'Favorite lists';
@override
String get favoriteGroupsDescription =>
'Create short lists to organize your saved stations.';
@override
String get favoriteGroupsAdd => 'Add list';
@override
String get favoriteGroupsEdit => 'Edit list';
@override
String get favoriteGroupsDelete => 'Delete list';
@override
String get favoriteGroupsNameLabel => 'List name';
@override
String get favoriteGroupsNameTooLong => 'Maximum 28 characters.';
@override
String get favoriteGroupsUnassigned => 'Unassigned';
@override
String get favoriteGroupsProtectedHint =>
'Default list: it cannot be edited or deleted.';
@override
String get favoriteGroupsCreated => 'List created';
@override
String get favoriteGroupsUpdated => 'List updated';
@override
String get favoriteGroupsDeleted =>
'List deleted; its stations return to Unassigned.';
@override
String get favoriteGroupsAssign => 'Move to list';
@override
String favoriteGroupsAssignSubtitle(Object groupName) {
return 'Current list: $groupName';
}
@override
String favoriteGroupsAssigned(Object stationName, Object groupName) {
return '$stationName moved to $groupName';
}
@override
String get favoritesTitle => 'Favorites';
@override
String get favoritesEmptyTitle => 'No favorites yet';
@override
String get favoritesEmptySubtitle =>
'Tap the heart on any station to save it to your collection.';
@override
String get favoritesHeaderSubtitle =>
'Organize your collection by lists and keep important radios close.';
@override
String get favoritesCollection => 'Collection';
@override
String favoritesSavedCount(int count) {
return '$count saved';
}
@override
String get favoritesRemoveTooltip => 'Remove from favorites';
@override
String favoritesRemovedMessage(Object stationName) {
return '$stationName removed from favorites';
}
@override
String get alarmPostponedCurrentExecution =>
'Alarm postponed for this occurrence.';
@override
String get searchScreenTitle => 'Search signal';
@override
String get searchScreenSubtitle =>
'Find stations by name, country, or language with fast filters and high contrast.';
@override
String get searchFiltersLabel => 'Filters';
@override
String get searchHint => 'Radio Horizon, jazz, news...';
@override
String get searchCountryFilterLabel => 'Country';
@override
String get searchLanguageFilterLabel => 'Language';
@override
String get searchMinQualityFilterLabel => 'Minimum quality';
@override
String get searchEmptyTitle => 'Search for a station';
@override
String get searchNoResultsTitle => 'No results';
@override
String get searchEmptySubtitle =>
'Use the top bar or chips to discover stations from around the world.';
@override
String get searchNoResultsSubtitle =>
'Try removing filters or typing another name to find an active station.';
@override
String get countrySpain => 'Spain';
@override
String get countryUsa => 'USA';
@override
String get countryMexico => 'Mexico';
@override
String get countryArgentina => 'Argentina';
@override
String get countryUk => 'UK';
@override
String get countryFrance => 'France';
@override
String get countryGermany => 'Germany';
@override
String get countryItaly => 'Italy';
@override
String get countryBrazil => 'Brazil';
@override
String get countryJapan => 'Japan';
@override
String get languageNameSpanish => 'Spanish';
@override
String get languageNameEnglish => 'English';
@override
String get languageNameFrench => 'French';
@override
String get languageNameGerman => 'German';
@override
String get languageNamePortuguese => 'Portuguese';
@override
String get languageNameItalian => 'Italian';
@override
String get languageNameJapanese => 'Japanese';
@override
String get languageNameArabic => 'Arabic';
@override
String get languageNameRussian => 'Russian';
@override
String get homeScreenSubtitle =>
'Live global radio with clean signals, smart favorites, and a show-style visual experience.';
@override
String get exploreStations => 'Explore stations';
@override
String stationsCount(int count) {
return '$count stations';
}
@override
String get qualityHd => 'HD quality';
@override
String get nearYou => 'Near you';
@override
String nearYouInCountry(Object country) {
return 'Near you · $country';
}
@override
String get detectAction => 'Detect';
@override
String get liveRadar => 'Live radar';
@override
String get genresTitle => 'Genres';
@override
String get retryAction => 'Retry';
@override
String get noStationsAvailable => 'No stations available';
@override
String get noStationsAvailableSubtitle =>
'Try refreshing or choosing another genre to capture a signal again.';
@override
String get genrePop => 'Pop';
@override
String get genreRock => 'Rock';
@override
String get genreJazz => 'Jazz';
@override
String get genreClassical => 'Classical';
@override
String get genreElectronic => 'Electronic';
@override
String get genreNews => 'News';
@override
String get genreTalk => 'Talk';
@override
String get genreHipHop => 'Hip-hop';
@override
String get genreCountry => 'Country';
@override
String get genreMetal => 'Metal';
@override
String get genreReggae => 'Reggae';
@override
String get genreLatin => 'Latin';
@override
String get alarmScreenTitle => 'Music wake-up';
@override
String get alarmScreenSubtitle =>
'Alarms with radio, safe fallback sound, smart vacations, and the next occurrence always visible.';
@override
String get createAlarmAction => 'Create alarm';
@override
String alarmsCount(int count) {
return '$count alarms';
}
@override
String get activeAlarmsWithoutNextTitle =>
'Active alarms without a next occurrence';
@override
String get noActiveAlarms => 'No active alarms';
@override
String get nextAlarmTitle => 'Next alarm';
@override
String activeAlarmsWithoutNextSubtitle(int count) {
return 'There are $count active alarm(s), but they do not currently have a valid future date. Check date, weekdays, and vacations.';
}
@override
String get createAlarmHint =>
'Create an alarm and PluriWave will calculate the next occurrence automatically.';
@override
String get alarmVacationPlay => 'Plays during vacations';
@override
String get alarmVacationPause => 'Paused during vacations';
@override
String alarmFadeInLabel(int seconds) {
return 'Fade-in ${seconds}s';
}
@override
String alarmNextExecution(Object date) {
return 'Next occurrence: $date';
}
@override
String get alarmNoNextExecution => 'It has no active next occurrence.';
@override
String alarmSkippedExecution(Object date) {
return 'One occurrence was skipped: $date.';
}
@override
String get editAction => 'Edit';
@override
String get skipNextAction => 'Skip next';
@override
String get deleteTooltip => 'Delete';
@override
String get alarmSkippedNoNextSnackbar =>
'Alarm skipped. There is no next occurrence left.';
@override
String alarmSkippedReturnsSnackbar(Object date) {
return 'Alarm skipped. It will return on $date.';
}
@override
String alarmVacationPausedNoNext(Object vacationName) {
return 'It is paused for vacations ($vacationName) and has no next occurrence.';
}
@override
String alarmVacationPausedReturns(Object vacationName, Object date) {
return 'It is paused for vacations ($vacationName) and returns on $date.';
}
@override
String alarmVacationReturns(Object date) {
return 'With vacations enabled, it will ring again on $date.';
}
@override
String get defaultAlarmName => 'Music alarm';
@override
String get newAlarmTitle => 'New alarm';
@override
String get editAlarmTitle => 'Edit alarm';
@override
String get nameField => 'Name';
@override
String get timeField => 'Time';
@override
String get dateField => 'Date';
@override
String get onceOption => 'Once';
@override
String get dailyOption => 'Daily';
@override
String get weekdaysOption => 'Weekdays';
@override
String get soundAndVolumeSection => 'Sound and volume';
@override
String get alarmFadeInTitle => 'Alarm fade-in';
@override
String get alarmFadeInOff => '0 s (no transition)';
@override
String alarmFadeInSummary(int seconds) {
return '$seconds s (from 5% to the selected volume)';
}
@override
String get internalSafeSoundLabel => 'Internal safe sound';
@override
String get soundWarmSunrise => 'Warm sunrise';
@override
String get soundSoftBell => 'Soft bell';
@override
String get soundDigitalPulse => 'Digital pulse';
@override
String get favoriteStationLabel => 'Favorite station';
@override
String get noStationUseInternalSound => 'No station: use internal sound';
@override
String get saveFavoritesAlarmHint =>
'Save stations in Favorites to use them as a music alarm.';
@override
String get useCurrentStationAction => 'Use current station';
@override
String get playDuringVacations => 'Play during vacations';
@override
String get playDuringVacationsHint =>
'If you turn this off, the next occurrence will jump to the first valid day.';
@override
String get saveAlarmAction => 'Save alarm';
@override
String get chooseOneWeekdayError => 'Choose at least one weekday.';
@override
String get androidReliabilityReview => 'Review Android reliability';
@override
String get statusOk => 'OK';
@override
String get statusPending => 'pending';
@override
String androidReliabilityStatus(
Object exact,
Object notifications,
Object screen,
) {
return 'Reliability: exact $exact · notifications $notifications · screen $screen';
}
@override
String get vacationRangesTitle => 'Vacation ranges';
@override
String get addAction => 'Add';
@override
String get vacationRangesHint =>
'If an alarm is set to \"Paused during vacations\", it automatically skips these ranges.';
@override
String get noVacationRangesLoaded => 'No ranges loaded.';
@override
String get deleteRangeTooltip => 'Delete range';
@override
String get vacationsDefaultName => 'Vacation';
@override
String get newVacationRangeTitle => 'New vacation range';
@override
String get startField => 'Start';
@override
String get endField => 'End';
@override
String get saveRangeAction => 'Save range';
@override
String get noAlarmsYetTitle => 'There are no alarms yet.';
@override
String get noAlarmsYetSubtitle =>
'Create one to design your musical wake-up.';
@override
String get ringingInternalAudioActive => 'Playing with internal safe audio.';
@override
String get ringingPreparingInternalAudio => 'Preparing internal safe audio.';
@override
String get stopAlarmAction => 'Stop alarm';
@override
String get pauseAction => 'Pause';
@override
String miniPlayerOpenLabel(Object stationName) {
return 'Open player for $stationName';
}
@override
String get playerIconLabel => 'Player';
@override
String get playbackStatusConnecting => 'Connecting...';
@override
String get playbackStatusLive => 'Live';
@override
String get playbackStatusPaused => 'Paused';
@override
String get playbackStatusConnectionError => 'Connection error';
@override
String get playbackStatusStopped => 'Stopped';
@override
String stationSemanticLabel(Object stationName) {
return 'Station $stationName';
}
@override
String get favoritesAddTooltip => 'Add to favorites';
@override
String favoritesAddedMessage(Object stationName) {
return '$stationName added to favorites';
}
@override
String get stationIconLabel => 'Station icon';
@override
String get liveNow => 'Live';
@override
String equalizerBandLabel(Object band) {
return '$band band';
}
@override
String equalizerBandValue(Object value) {
return '$value decibels';
}
@override
String get equalizerPresetFlat => 'Flat';
@override
String get equalizerPresetRock => 'Rock';
@override
String get equalizerPresetPop => 'Pop';
@override
String get equalizerPresetBassBoost => 'Bass Boost';
@override
String get equalizerPresetJazz => 'Jazz';
@override
String get equalizerPresetVoice => 'Voice';
@override
String get equalizerPresetCustom => 'Custom';
@override
String get onboardingTitle => 'Welcome to PluriWave';
@override
String get onboardingNewsTitle => 'What\'s new';
@override
String get onboardingStartAction => 'Start';
@override
String get onboardingCloseTooltip => 'Close';
@override
String radioRecordingError(Object error) {
return 'Error recording the radio: $error';
}
@override
String get radioApiConnectionError => 'No connection to the radio API';
@override
String get radioSearchError => 'Search error. Check your connection.';
@override
String get radioLoadMoreStationsError => 'Could not load more stations.';
@override
String get radioNearbyStationsError =>
'We could not detect nearby stations. Use country filters.';
@override
String radioCannotPlayStation(Object stationName) {
return 'Cannot play \"$stationName\"';
}
@override
String get recordingSelectStationFirst =>
'Select a station before recording.';
@override
String recordingStartError(Object error) {
return 'Could not start recording: $error';
}
@override
String get unsupportedConfigVersion => 'Unsupported configuration version';
@override
String get audioErrorGeneric => 'Playback error';
@override
String get audioErrorNoInternet => 'No internet connection';
@override
String get audioErrorInvalidUrl => 'The radio URL is not valid';
@override
String get audioErrorNotFound => 'The radio is not available (404 error)';
@override
String get audioErrorTimeout => 'Connection timed out';
@override
String get audioErrorCannotConnect => 'Cannot connect to the radio';
@override
String get audioErrorUnsupportedFormat => 'Unsupported stream format';
@override
String get audioErrorDecode => 'Error decoding the audio stream';
@override
String get audioErrorCleartext =>
'This radio uses unencrypted HTTP, which is not allowed';
@override
String get audioErrorSsl => 'Invalid SSL certificate on the radio';
@override
String get audioErrorCannotPlay => 'This radio cannot be played';
@override
String get audioErrorUnexpectedPlayback => 'Unexpected playback error';
@override
String get androidExactAlarmScheduleError =>
'Android could not schedule an exact alarm. Check the exact alarm permission.';
@override
String get recordingPathEmptyError => 'The recording path cannot be empty';
@override
String get recordingMaxSizeInvalidError =>
'The maximum size must be greater than zero';
@override
String get recordingAlreadyActiveError =>
'A recording is already in progress';
@override
String get alarmRingingFallbackActive => 'Playing with internal safe audio.';
@override
String get alarmRingingPreparingFallback => 'Preparing internal safe audio.';
@override
String get alarmRingingTryingStation =>
'Trying to play your station at the highest available quality.';
@override
String alarmScheduleOnce(Object date) {
return 'Once · $date';
}
@override
String alarmScheduleWeekdays(Object days) {
return 'Days: $days';
}
@override
String get androidReliabilityTitle => 'Review Android reliability';
@override
String get closeAction => 'Close';
@override
String get customOption => 'Custom';
@override
String get endLabel => 'End';
@override
String get equalizerDisable => 'Disable equalizer';
@override
String get helpTitle => 'Help and tutorial';
@override
String get helpSubtitle => 'Review PluriWave features, tips and whats new.';
@override
String get indefiniteOption => 'Indefinite';
@override
String get invalidNumber => 'Invalid number';
@override
String get nameLabel => 'Name';
@override
String get notPlaying => 'Not playing';
@override
String get oneTimeOption => 'Once';
@override
String get pausePlaybackTooltip => 'Pause playback';
@override
String qualityOriginal(Object quality) {
return 'Original quality: $quality';
}
@override
String get qualityUnknown => 'Quality not reported';
@override
String get recordAction => 'Record';
@override
String get recordDurationTitle => 'Recording duration';
@override
String get recordRadioSubtitle => 'Choose how long you want to record.';
@override
String get recordRadioTitle => 'Record radio';
@override
String get recordingActiveTitle => 'Recording radio';
@override
String get recordingDirectTitle => 'Direct recording';
@override
String get recordingsOpenFolderPlainError =>
'Could not open the recordings folder';
@override
String get recordingsOpenLatest => 'Open latest recording';
@override
String get recordingsOpenLatestError => 'Could not open the latest recording';
@override
String get startLabel => 'Start';
@override
String get startPlaybackTooltip => 'Start playback';
@override
String get stopAction => 'Stop';
@override
String get stopPlaybackTooltip => 'Stop playback';
@override
String get weekdayShortMonday => 'Mon';
@override
String get weekdayShortTuesday => 'Tue';
@override
String get weekdayShortWednesday => 'Wed';
@override
String get weekdayShortThursday => 'Thu';
@override
String get weekdayShortFriday => 'Fri';
@override
String get weekdayShortSaturday => 'Sat';
@override
String get weekdayShortSunday => 'Sun';
}