Fix multi-device EQ auto-switching by calling obtenerDispositivoActual() during cargarPersistido() to seed the initial device ID. Add device management modal with rename support, EQ preset editing, and connection status indicator. Translate device UI keys to all 13 locales.
1288 lines
30 KiB
Dart
1288 lines
30 KiB
Dart
// ignore: unused_import
|
|
import 'package:intl/intl.dart' as intl;
|
|
import 'app_localizations.dart';
|
|
|
|
// ignore_for_file: type=lint
|
|
|
|
/// The translations for German (`de`).
|
|
class AppLocalizationsDe extends AppLocalizations {
|
|
AppLocalizationsDe([String locale = 'de']) : super(locale);
|
|
|
|
@override
|
|
String get appTitle => 'PluriWave';
|
|
|
|
@override
|
|
String get navHome => 'Start';
|
|
|
|
@override
|
|
String get navSearch => 'Suche';
|
|
|
|
@override
|
|
String get navFavorites => 'Favoriten';
|
|
|
|
@override
|
|
String get navAlarms => 'Alarme';
|
|
|
|
@override
|
|
String get navSettings => 'Einstellungen';
|
|
|
|
@override
|
|
String get actionOk => 'OK';
|
|
|
|
@override
|
|
String get sleepTimer => 'Sleep-Timer';
|
|
|
|
@override
|
|
String get sleepTimerDescription =>
|
|
'Sanftes Ausschalten des Radios mit genauem Countdown.';
|
|
|
|
@override
|
|
String get cancelTimer => 'Timer abbrechen';
|
|
|
|
@override
|
|
String get optionOther => 'Andere';
|
|
|
|
@override
|
|
String get customDurationTitle => 'Benutzerdefinierte Dauer';
|
|
|
|
@override
|
|
String get durationGreaterThanZero => 'Wähle eine Dauer größer als null.';
|
|
|
|
@override
|
|
String get hoursLabel => 'Stunden';
|
|
|
|
@override
|
|
String get minutesLabel => 'Minuten';
|
|
|
|
@override
|
|
String get secondsLabel => 'Sekunden';
|
|
|
|
@override
|
|
String durationHoursMinutesSeconds(
|
|
Object hours,
|
|
Object minutes,
|
|
Object seconds,
|
|
) {
|
|
return '$hours Std $minutes Min $seconds Sek';
|
|
}
|
|
|
|
@override
|
|
String durationMinutesSeconds(Object minutes, Object seconds) {
|
|
return '$minutes Min $seconds Sek';
|
|
}
|
|
|
|
@override
|
|
String durationMinutesOnly(Object minutes) {
|
|
return '$minutes Min';
|
|
}
|
|
|
|
@override
|
|
String durationSecondsOnly(Object seconds) {
|
|
return '$seconds Sek';
|
|
}
|
|
|
|
@override
|
|
String get saveQuickAccess => 'Als Schnellzugriff speichern';
|
|
|
|
@override
|
|
String get startTimer => 'Timer starten';
|
|
|
|
@override
|
|
String skipCurrentAlarmExecution(Object alarmName) {
|
|
return 'Diese Ausführung von $alarmName wurde ausgelassen.';
|
|
}
|
|
|
|
@override
|
|
String get settingsTitle => 'Einstellungen';
|
|
|
|
@override
|
|
String get settingsSubtitle =>
|
|
'Feinabstimmung von Klang, Backups und benutzerdefinierten Sendern.';
|
|
|
|
@override
|
|
String get languageSectionTitle => 'Sprache';
|
|
|
|
@override
|
|
String get languageSectionDescription =>
|
|
'Wähle, wie die Sprache der App angezeigt wird.';
|
|
|
|
@override
|
|
String get languageSystemDefault => 'System';
|
|
|
|
@override
|
|
String get languageSpanish => 'Spanisch';
|
|
|
|
@override
|
|
String get languageEnglish => 'Englisch';
|
|
|
|
@override
|
|
String languageUpdated(Object languageName) {
|
|
return 'Sprache aktualisiert: $languageName';
|
|
}
|
|
|
|
@override
|
|
String get languageUpdatedSystem => 'Sprache aktualisiert: System';
|
|
|
|
@override
|
|
String get timerSectionTitle => 'Sleep-Timer';
|
|
|
|
@override
|
|
String get timerSectionAdd => 'Hinzufügen';
|
|
|
|
@override
|
|
String get timerSectionDescription =>
|
|
'Passe die Schnellzugriffe an, die beim automatischen Ausschalten des Radios angezeigt werden.';
|
|
|
|
@override
|
|
String get timerSectionRestoreRecommended =>
|
|
'Empfohlene Zeiten wiederherstellen';
|
|
|
|
@override
|
|
String get newQuickAccessTitle => 'Neuer Schnellzugriff';
|
|
|
|
@override
|
|
String get saveQuickAccessButton => 'Schnellzugriff speichern';
|
|
|
|
@override
|
|
String get settingsSafeStatus => 'Sicher';
|
|
|
|
@override
|
|
String get recordingsSectionTitle => 'Aufnahmen';
|
|
|
|
@override
|
|
String get recordingsFolderDialogTitle => 'Aufnahmeordner auswählen';
|
|
|
|
@override
|
|
String get recordingsPathUpdated => 'Aufnahmepfad aktualisiert';
|
|
|
|
@override
|
|
String recordingsPathSaveError(Object error) {
|
|
return 'Pfad konnte nicht gespeichert werden: $error';
|
|
}
|
|
|
|
@override
|
|
String get recordingsDefaultFolderRestored =>
|
|
'Der interne Standardordner wird verwendet';
|
|
|
|
@override
|
|
String get recordingsFolderTitle => 'Aufnahmeordner';
|
|
|
|
@override
|
|
String get recordingsPathCalculating => 'Pfad wird berechnet...';
|
|
|
|
@override
|
|
String get recordingsChangePath => 'Pfad ändern';
|
|
|
|
@override
|
|
String get recordingsUseDefaultPath => 'Standardpfad verwenden';
|
|
|
|
@override
|
|
String get recordingsOriginalStreamHint =>
|
|
'Das Radio wird aus dem Originalstream gespeichert, ohne erneute Komprimierung.';
|
|
|
|
@override
|
|
String get equalizerActive => 'Aktiv';
|
|
|
|
@override
|
|
String get equalizerDisabled => 'Deaktiviert';
|
|
|
|
@override
|
|
String get equalizerEnable => 'Equalizer aktivieren';
|
|
|
|
@override
|
|
String get equalizerRealtimeSubtitle =>
|
|
'Änderungen werden in Echtzeit auf den aktuellen Sender angewendet.';
|
|
|
|
@override
|
|
String get equalizerPendingSubtitle =>
|
|
'Änderungen werden gespeichert und angewendet, sobald Android den Effekt aktiviert.';
|
|
|
|
@override
|
|
String get equalizerPerStationTitle =>
|
|
'Eigenen EQ für diesen Favoriten verwenden';
|
|
|
|
@override
|
|
String equalizerPerStationActive(Object stationName) {
|
|
return 'Aktiv für $stationName';
|
|
}
|
|
|
|
@override
|
|
String equalizerPerStationMain(Object stationName) {
|
|
return 'Haupt-EQ für $stationName wird verwendet';
|
|
}
|
|
|
|
@override
|
|
String get preferredStationTitle => 'Bevorzugter Sender';
|
|
|
|
@override
|
|
String get preferredStationDescription =>
|
|
'Wird beim Erstellen von Alarmen vorausgewählt und kann als Schnellwiedergabe gestartet werden.';
|
|
|
|
@override
|
|
String get preferredStationNoStationsTitle => 'Noch keine Sender verfügbar';
|
|
|
|
@override
|
|
String get preferredStationNoStationsSubtitle =>
|
|
'Speichere Favoriten oder lade Sender, um einen bevorzugten auszuwählen.';
|
|
|
|
@override
|
|
String get preferredStationAutomaticFallback => 'Automatischer Fallback';
|
|
|
|
@override
|
|
String get preferredStationDefaultFavorite => 'Standardfavorit';
|
|
|
|
@override
|
|
String preferredStationCurrent(Object stationName) {
|
|
return 'Aktuell bevorzugt: $stationName';
|
|
}
|
|
|
|
@override
|
|
String preferredStationAutoUsing(Object stationName) {
|
|
return 'Keine Favoriten: $stationName wird automatisch verwendet';
|
|
}
|
|
|
|
@override
|
|
String get preferredStationPlay => 'Bevorzugten Sender abspielen';
|
|
|
|
@override
|
|
String get customStationsTitle => 'Benutzerdefinierte Sender';
|
|
|
|
@override
|
|
String get customStationsAdd => 'Hinzufügen';
|
|
|
|
@override
|
|
String get customStationsEmpty => 'Keine benutzerdefinierten Sender.';
|
|
|
|
@override
|
|
String get playAction => 'Wiedergeben';
|
|
|
|
@override
|
|
String get deleteAction => 'Löschen';
|
|
|
|
@override
|
|
String get addStationTitle => 'Sender hinzufügen';
|
|
|
|
@override
|
|
String get stationNameLabel => 'Name *';
|
|
|
|
@override
|
|
String get unnamedStation => 'Unbenannter Sender';
|
|
|
|
@override
|
|
String get requiredField => 'Pflichtfeld';
|
|
|
|
@override
|
|
String get streamUrlLabel => 'Stream-URL *';
|
|
|
|
@override
|
|
String get invalidUrl => 'Ungültige URL';
|
|
|
|
@override
|
|
String get countryOptionalLabel => 'Land (optional)';
|
|
|
|
@override
|
|
String get saveStation => 'Sender speichern';
|
|
|
|
@override
|
|
String get backupSectionTitle => 'Sicherung';
|
|
|
|
@override
|
|
String get backupExportTitle => 'Konfiguration exportieren';
|
|
|
|
@override
|
|
String get backupExportSubtitle =>
|
|
'Favoriten, benutzerdefinierte Sender und EQ-Presets';
|
|
|
|
@override
|
|
String get backupImportTitle => 'Konfiguration importieren';
|
|
|
|
@override
|
|
String get backupImportSubtitle =>
|
|
'Aus einer Sicherungsdatei wiederherstellen';
|
|
|
|
@override
|
|
String get backupShareSubject => 'PluriWave — Sicherung';
|
|
|
|
@override
|
|
String backupShareText(Object date) {
|
|
return 'PluriWave-Konfiguration exportiert am $date';
|
|
}
|
|
|
|
@override
|
|
String backupExportError(Object error) {
|
|
return 'Fehler beim Exportieren: $error';
|
|
}
|
|
|
|
@override
|
|
String get backupImportConfirmMessage =>
|
|
'Dadurch werden Favoriten, Sender und Presets aus der Datei hinzugefügt. Fortfahren?';
|
|
|
|
@override
|
|
String get backupImportSuccess => 'Konfiguration erfolgreich importiert';
|
|
|
|
@override
|
|
String backupImportError(Object error) {
|
|
return 'Fehler beim Importieren: $error';
|
|
}
|
|
|
|
@override
|
|
String get appVersionLoading => 'Version wird geladen...';
|
|
|
|
@override
|
|
String appVersionSubtitle(Object version) {
|
|
return '$version - Weltradio';
|
|
}
|
|
|
|
@override
|
|
String get savedFavoritesTitle => 'Gespeicherte Favoriten';
|
|
|
|
@override
|
|
String get stationFilterTitle => 'Senderfilter';
|
|
|
|
@override
|
|
String get stationFilterSubtitle =>
|
|
'Nur Sender, die als aktiv überprüft wurden';
|
|
|
|
@override
|
|
String get backgroundAudioTitle => 'Audio im Hintergrund';
|
|
|
|
@override
|
|
String get backgroundAudioSubtitle =>
|
|
'Läuft weiter, wenn der Bildschirm ausgeschaltet wird';
|
|
|
|
@override
|
|
String get dash => '—';
|
|
|
|
@override
|
|
String get cancelAction => 'Abbrechen';
|
|
|
|
@override
|
|
String get equalizerTitle => 'Equalizer';
|
|
|
|
@override
|
|
String get recordingsOpenFolder => 'Ordner öffnen';
|
|
|
|
@override
|
|
String recordingsOpenFolderError(Object error) {
|
|
return 'Ordner konnte nicht geöffnet werden: $error';
|
|
}
|
|
|
|
@override
|
|
String get recordingsMaxSizeTitle => 'Maximale Aufnahmegröße';
|
|
|
|
@override
|
|
String recordingsMaxSizeSubtitle(int size) {
|
|
return 'Aktuelles Limit: $size MB';
|
|
}
|
|
|
|
@override
|
|
String get recordingsMaxSizeDialogTitle => 'Maximale Größe pro Aufnahme';
|
|
|
|
@override
|
|
String get recordingsMaxSizeMbLabel => 'Maximale Megabytes';
|
|
|
|
@override
|
|
String recordingsMaxSizeSaved(int size) {
|
|
return 'Aufnahmelimit auf $size MB aktualisiert';
|
|
}
|
|
|
|
@override
|
|
String get stationOrderTitle => 'Senderreihenfolge';
|
|
|
|
@override
|
|
String get stationOrderByName => 'Nach Name';
|
|
|
|
@override
|
|
String get stationOrderByQuality => 'Nach Qualität';
|
|
|
|
@override
|
|
String get stationOrderScopeDescription =>
|
|
'Gilt für Favoriten, Suchen, nahegelegene Sender und Schnelllisten.';
|
|
|
|
@override
|
|
String get favoriteGroupsTitle => 'Favoritenlisten';
|
|
|
|
@override
|
|
String get favoriteGroupsDescription =>
|
|
'Erstelle kurze Listen, um deine gespeicherten Sender zu organisieren.';
|
|
|
|
@override
|
|
String get favoriteGroupsAdd => 'Liste hinzufügen';
|
|
|
|
@override
|
|
String get favoriteGroupsEdit => 'Liste bearbeiten';
|
|
|
|
@override
|
|
String get favoriteGroupsDelete => 'Liste löschen';
|
|
|
|
@override
|
|
String get favoriteGroupsNameLabel => 'Listenname';
|
|
|
|
@override
|
|
String get favoriteGroupsNameTooLong => 'Maximal 28 Zeichen.';
|
|
|
|
@override
|
|
String get favoriteGroupsUnassigned => 'Nicht zugewiesen';
|
|
|
|
@override
|
|
String get favoriteGroupsProtectedHint =>
|
|
'Standardliste: kann nicht bearbeitet oder gelöscht werden.';
|
|
|
|
@override
|
|
String get favoriteGroupsCreated => 'Liste erstellt';
|
|
|
|
@override
|
|
String get favoriteGroupsUpdated => 'Liste aktualisiert';
|
|
|
|
@override
|
|
String get favoriteGroupsDeleted =>
|
|
'Liste gelöscht; ihre Sender kehren zu Nicht zugewiesen zurück.';
|
|
|
|
@override
|
|
String get favoriteGroupsAssign => 'In Liste verschieben';
|
|
|
|
@override
|
|
String favoriteGroupsAssignSubtitle(Object groupName) {
|
|
return 'Aktuelle Liste: $groupName';
|
|
}
|
|
|
|
@override
|
|
String favoriteGroupsAssigned(Object stationName, Object groupName) {
|
|
return '$stationName nach $groupName verschoben';
|
|
}
|
|
|
|
@override
|
|
String get favoritesTitle => 'Favoriten';
|
|
|
|
@override
|
|
String get favoritesEmptyTitle => 'Noch keine Favoriten';
|
|
|
|
@override
|
|
String get favoritesEmptySubtitle =>
|
|
'Tippe bei einem Sender auf das Herz, um ihn in deiner Sammlung zu speichern.';
|
|
|
|
@override
|
|
String get favoritesHeaderSubtitle =>
|
|
'Organisiere deine Sammlung in Listen und halte wichtige Radios griffbereit.';
|
|
|
|
@override
|
|
String get favoritesCollection => 'Sammlung';
|
|
|
|
@override
|
|
String favoritesSavedCount(int count) {
|
|
return '$count gespeichert';
|
|
}
|
|
|
|
@override
|
|
String get favoritesRemoveTooltip => 'Aus Favoriten entfernen';
|
|
|
|
@override
|
|
String favoritesRemovedMessage(Object stationName) {
|
|
return '$stationName aus Favoriten entfernt';
|
|
}
|
|
|
|
@override
|
|
String get alarmPostponedCurrentExecution =>
|
|
'Alarm für diese Ausführung verschoben.';
|
|
|
|
@override
|
|
String get searchScreenTitle => 'Signal suchen';
|
|
|
|
@override
|
|
String get searchScreenSubtitle =>
|
|
'Finde Sender nach Name, Land oder Sprache mit schnellen Filtern und hohem Kontrast.';
|
|
|
|
@override
|
|
String get searchFiltersLabel => 'Filter';
|
|
|
|
@override
|
|
String get searchHint => 'Radio Horizont, Jazz, Nachrichten...';
|
|
|
|
@override
|
|
String get searchCountryFilterLabel => 'Land';
|
|
|
|
@override
|
|
String get searchLanguageFilterLabel => 'Sprache';
|
|
|
|
@override
|
|
String get searchMinQualityFilterLabel => 'Mindestqualität';
|
|
|
|
@override
|
|
String get searchEmptyTitle => 'Suche nach einem Sender';
|
|
|
|
@override
|
|
String get searchNoResultsTitle => 'Keine Ergebnisse';
|
|
|
|
@override
|
|
String get searchEmptySubtitle =>
|
|
'Nutze die obere Leiste oder die Chips, um Sender aus aller Welt zu entdecken.';
|
|
|
|
@override
|
|
String get searchNoResultsSubtitle =>
|
|
'Versuche, Filter zu entfernen oder einen anderen Namen einzugeben, um einen aktiven Sender zu finden.';
|
|
|
|
@override
|
|
String get countrySpain => 'Spanien';
|
|
|
|
@override
|
|
String get countryUsa => 'USA';
|
|
|
|
@override
|
|
String get countryMexico => 'Mexiko';
|
|
|
|
@override
|
|
String get countryArgentina => 'Argentinien';
|
|
|
|
@override
|
|
String get countryUk => 'Vereinigtes Königreich';
|
|
|
|
@override
|
|
String get countryFrance => 'Frankreich';
|
|
|
|
@override
|
|
String get countryGermany => 'Deutschland';
|
|
|
|
@override
|
|
String get countryItaly => 'Italien';
|
|
|
|
@override
|
|
String get countryBrazil => 'Brasilien';
|
|
|
|
@override
|
|
String get countryJapan => 'Japan';
|
|
|
|
@override
|
|
String get languageNameSpanish => 'Spanisch';
|
|
|
|
@override
|
|
String get languageNameEnglish => 'Englisch';
|
|
|
|
@override
|
|
String get languageNameFrench => 'Französisch';
|
|
|
|
@override
|
|
String get languageNameGerman => 'Deutsch';
|
|
|
|
@override
|
|
String get languageNamePortuguese => 'Portugiesisch';
|
|
|
|
@override
|
|
String get languageNameItalian => 'Italienisch';
|
|
|
|
@override
|
|
String get languageNameJapanese => 'Japanisch';
|
|
|
|
@override
|
|
String get languageNameArabic => 'Arabisch';
|
|
|
|
@override
|
|
String get languageNameRussian => 'Russisch';
|
|
|
|
@override
|
|
String get homeScreenSubtitle =>
|
|
'Live-Weltradio mit klaren Signalen, intelligenten Favoriten und einer visuellen Game-Show-Erfahrung.';
|
|
|
|
@override
|
|
String get exploreStations => 'Sender erkunden';
|
|
|
|
@override
|
|
String stationsCount(int count) {
|
|
return '$count Radios';
|
|
}
|
|
|
|
@override
|
|
String get qualityHd => 'HD-Qualität';
|
|
|
|
@override
|
|
String get nearYou => 'In deiner Nähe';
|
|
|
|
@override
|
|
String nearYouInCountry(Object country) {
|
|
return 'In deiner Nähe · $country';
|
|
}
|
|
|
|
@override
|
|
String get detectAction => 'Erkennen';
|
|
|
|
@override
|
|
String get liveRadar => 'Live-Radar';
|
|
|
|
@override
|
|
String get genresTitle => 'Genres';
|
|
|
|
@override
|
|
String get retryAction => 'Erneut versuchen';
|
|
|
|
@override
|
|
String get noStationsAvailable => 'Keine Sender verfügbar';
|
|
|
|
@override
|
|
String get noStationsAvailableSubtitle =>
|
|
'Versuche zu aktualisieren oder ein anderes Genre auszuwählen, um wieder ein Signal zu empfangen.';
|
|
|
|
@override
|
|
String get genrePop => 'Pop';
|
|
|
|
@override
|
|
String get genreRock => 'Rock';
|
|
|
|
@override
|
|
String get genreJazz => 'Jazz';
|
|
|
|
@override
|
|
String get genreClassical => 'Klassik';
|
|
|
|
@override
|
|
String get genreElectronic => 'Elektronisch';
|
|
|
|
@override
|
|
String get genreNews => 'Nachrichten';
|
|
|
|
@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 => 'Musikalisch aufwachen';
|
|
|
|
@override
|
|
String get alarmScreenSubtitle =>
|
|
'Alarme mit Radio, sicherem Ton, intelligenten Ferien und stets sichtbarer nächster Ausführung.';
|
|
|
|
@override
|
|
String get createAlarmAction => 'Alarm erstellen';
|
|
|
|
@override
|
|
String alarmsCount(int count) {
|
|
return '$count Alarme';
|
|
}
|
|
|
|
@override
|
|
String get activeAlarmsWithoutNextTitle =>
|
|
'Aktive Alarme ohne nächste Ausführung';
|
|
|
|
@override
|
|
String get noActiveAlarms => 'Keine aktiven Alarme';
|
|
|
|
@override
|
|
String get nextAlarmTitle => 'Nächster Alarm';
|
|
|
|
@override
|
|
String activeAlarmsWithoutNextSubtitle(int count) {
|
|
return 'Es gibt $count aktive(n) Alarm(e), aber derzeit kein gültiges zukünftiges Datum. Prüfe Datum, Wochentage und Ferien.';
|
|
}
|
|
|
|
@override
|
|
String get createAlarmHint =>
|
|
'Erstelle einen Alarm und PluriWave berechnet automatisch die nächste Ausführung.';
|
|
|
|
@override
|
|
String get alarmVacationPlay => 'Läutet in den Ferien';
|
|
|
|
@override
|
|
String get alarmVacationPause => 'In den Ferien pausiert';
|
|
|
|
@override
|
|
String alarmFadeInLabel(int seconds) {
|
|
return 'Fade-in ${seconds}s';
|
|
}
|
|
|
|
@override
|
|
String alarmNextExecution(Object date) {
|
|
return 'Nächste Ausführung: $date';
|
|
}
|
|
|
|
@override
|
|
String get alarmNoNextExecution => 'Keine aktive nächste Ausführung.';
|
|
|
|
@override
|
|
String alarmSkippedExecution(Object date) {
|
|
return 'Eine Ausführung wurde ausgelassen: $date.';
|
|
}
|
|
|
|
@override
|
|
String get editAction => 'Bearbeiten';
|
|
|
|
@override
|
|
String get skipNextAction => 'Nächste auslassen';
|
|
|
|
@override
|
|
String get deleteTooltip => 'Löschen';
|
|
|
|
@override
|
|
String get alarmSkippedNoNextSnackbar =>
|
|
'Alarm ausgelassen. Es bleibt keine nächste Ausführung.';
|
|
|
|
@override
|
|
String alarmSkippedReturnsSnackbar(Object date) {
|
|
return 'Alarm ausgelassen. Er kehrt am $date zurück.';
|
|
}
|
|
|
|
@override
|
|
String alarmVacationPausedNoNext(Object vacationName) {
|
|
return 'Wegen Ferien ($vacationName) pausiert und ohne nächste Ausführung.';
|
|
}
|
|
|
|
@override
|
|
String alarmVacationPausedReturns(Object vacationName, Object date) {
|
|
return 'Wegen Ferien ($vacationName) pausiert und kehrt am $date zurück.';
|
|
}
|
|
|
|
@override
|
|
String alarmVacationReturns(Object date) {
|
|
return 'Mit aktiven Ferien läutet er wieder am $date.';
|
|
}
|
|
|
|
@override
|
|
String get defaultAlarmName => 'Musikalischer Wecker';
|
|
|
|
@override
|
|
String get newAlarmTitle => 'Neuer Alarm';
|
|
|
|
@override
|
|
String get editAlarmTitle => 'Alarm bearbeiten';
|
|
|
|
@override
|
|
String get nameField => 'Name';
|
|
|
|
@override
|
|
String get timeField => 'Uhrzeit';
|
|
|
|
@override
|
|
String get dateField => 'Datum';
|
|
|
|
@override
|
|
String get onceOption => 'Einmal';
|
|
|
|
@override
|
|
String get dailyOption => 'Täglich';
|
|
|
|
@override
|
|
String get weekdaysOption => 'Tage';
|
|
|
|
@override
|
|
String get soundAndVolumeSection => 'Klang und Lautstärke';
|
|
|
|
@override
|
|
String get alarmFadeInTitle => 'Alarm-Fade-in';
|
|
|
|
@override
|
|
String get alarmFadeInOff => '0 s (ohne Übergang)';
|
|
|
|
@override
|
|
String alarmFadeInSummary(int seconds) {
|
|
return '$seconds s (von 5 % bis zur gewählten Lautstärke)';
|
|
}
|
|
|
|
@override
|
|
String get internalSafeSoundLabel => 'Interner Sicherheitston';
|
|
|
|
@override
|
|
String get soundWarmSunrise => 'Warmer Sonnenaufgang';
|
|
|
|
@override
|
|
String get soundSoftBell => 'Sanfte Glocke';
|
|
|
|
@override
|
|
String get soundDigitalPulse => 'Digitaler Puls';
|
|
|
|
@override
|
|
String get favoriteStationLabel => 'Lieblingssender';
|
|
|
|
@override
|
|
String get noStationUseInternalSound => 'Kein Sender: internen Ton verwenden';
|
|
|
|
@override
|
|
String get alarmFallbackStationLabel => 'Ersatzsender';
|
|
|
|
@override
|
|
String get alarmStationPickerSearchHint => 'Sender nach Name suchen';
|
|
|
|
@override
|
|
String get alarmSnoozeDurationTitle => 'Schlummerdauer';
|
|
|
|
@override
|
|
String get snoozeAction => 'Schlummern';
|
|
|
|
@override
|
|
String alarmSnoozeOptionLabel(int minutes) {
|
|
return '$minutes Min.';
|
|
}
|
|
|
|
@override
|
|
String get saveFavoritesAlarmHint =>
|
|
'Speichere Sender in Favoriten, um sie als musikalischen Alarm zu verwenden.';
|
|
|
|
@override
|
|
String get useCurrentStationAction => 'Aktuellen Sender verwenden';
|
|
|
|
@override
|
|
String get playDuringVacations => 'Während der Ferien läuten';
|
|
|
|
@override
|
|
String get playDuringVacationsHint =>
|
|
'Wenn du das ausschaltest, springt die nächste Ausführung zum ersten gültigen Tag.';
|
|
|
|
@override
|
|
String get saveAlarmAction => 'Alarm speichern';
|
|
|
|
@override
|
|
String get chooseOneWeekdayError => 'Wähle mindestens einen Wochentag.';
|
|
|
|
@override
|
|
String get androidReliabilityReview => 'Android-Zuverlässigkeit prüfen';
|
|
|
|
@override
|
|
String get statusOk => 'OK';
|
|
|
|
@override
|
|
String get statusPending => 'ausstehend';
|
|
|
|
@override
|
|
String androidReliabilityStatus(
|
|
Object exact,
|
|
Object notifications,
|
|
Object screen,
|
|
) {
|
|
return 'Zuverlässigkeit: exakt $exact · Benachrichtigungen $notifications · Bildschirm $screen';
|
|
}
|
|
|
|
@override
|
|
String get vacationRangesTitle => 'Ferienzeiträume';
|
|
|
|
@override
|
|
String get addAction => 'Hinzufügen';
|
|
|
|
@override
|
|
String get vacationRangesHint =>
|
|
'Wenn ein Alarm „In den Ferien pausiert“ hat, werden diese Zeiträume automatisch übersprungen.';
|
|
|
|
@override
|
|
String get noVacationRangesLoaded => 'Keine Zeiträume geladen.';
|
|
|
|
@override
|
|
String get deleteRangeTooltip => 'Zeitraum löschen';
|
|
|
|
@override
|
|
String get vacationsDefaultName => 'Ferien';
|
|
|
|
@override
|
|
String get newVacationRangeTitle => 'Neuer Ferienzeitraum';
|
|
|
|
@override
|
|
String get startField => 'Beginn';
|
|
|
|
@override
|
|
String get endField => 'Ende';
|
|
|
|
@override
|
|
String get saveRangeAction => 'Zeitraum speichern';
|
|
|
|
@override
|
|
String get noAlarmsYetTitle => 'Noch keine Alarme.';
|
|
|
|
@override
|
|
String get noAlarmsYetSubtitle =>
|
|
'Erstelle einen, um dein musikalisches Aufwachen zu gestalten.';
|
|
|
|
@override
|
|
String get ringingInternalAudioActive =>
|
|
'Wiedergabe mit internem Sicherheitston.';
|
|
|
|
@override
|
|
String get ringingPreparingInternalAudio =>
|
|
'Interner Sicherheitston wird vorbereitet.';
|
|
|
|
@override
|
|
String get stopAlarmAction => 'Alarm stoppen';
|
|
|
|
@override
|
|
String get pauseAction => 'Pausieren';
|
|
|
|
@override
|
|
String miniPlayerOpenLabel(Object stationName) {
|
|
return 'Wiedergabe für $stationName öffnen';
|
|
}
|
|
|
|
@override
|
|
String get playerIconLabel => 'Wiedergabe';
|
|
|
|
@override
|
|
String get playbackStatusConnecting => 'Verbindung wird hergestellt...';
|
|
|
|
@override
|
|
String get playbackStatusLive => 'Live';
|
|
|
|
@override
|
|
String get playbackStatusPaused => 'Pausiert';
|
|
|
|
@override
|
|
String get playbackStatusReconnecting => 'Wird neu verbunden...';
|
|
|
|
@override
|
|
String get playbackStatusConnectionError => 'Verbindungsfehler';
|
|
|
|
@override
|
|
String get playbackStatusStopped => 'Gestoppt';
|
|
|
|
@override
|
|
String stationSemanticLabel(Object stationName) {
|
|
return 'Sender $stationName';
|
|
}
|
|
|
|
@override
|
|
String get favoritesAddTooltip => 'Zu Favoriten hinzufügen';
|
|
|
|
@override
|
|
String favoritesAddedMessage(Object stationName) {
|
|
return '$stationName zu Favoriten hinzugefügt';
|
|
}
|
|
|
|
@override
|
|
String get stationIconLabel => 'Sendersymbol';
|
|
|
|
@override
|
|
String get liveNow => 'Live';
|
|
|
|
@override
|
|
String equalizerBandLabel(Object band) {
|
|
return 'Band $band';
|
|
}
|
|
|
|
@override
|
|
String equalizerBandValue(Object value) {
|
|
return '$value Dezibel';
|
|
}
|
|
|
|
@override
|
|
String get equalizerPresetFlat => 'Linear';
|
|
|
|
@override
|
|
String get equalizerPresetRock => 'Rock';
|
|
|
|
@override
|
|
String get equalizerPresetPop => 'Pop';
|
|
|
|
@override
|
|
String get equalizerPresetBassBoost => 'Bassverstärkung';
|
|
|
|
@override
|
|
String get equalizerPresetJazz => 'Jazz';
|
|
|
|
@override
|
|
String get equalizerPresetVoice => 'Stimme';
|
|
|
|
@override
|
|
String get equalizerPresetCustom => 'Benutzerdefiniert';
|
|
|
|
@override
|
|
String get onboardingTitle => 'Willkommen bei PluriWave';
|
|
|
|
@override
|
|
String get onboardingNewsTitle => 'Neuigkeiten';
|
|
|
|
@override
|
|
String get onboardingStartAction => 'Loslegen';
|
|
|
|
@override
|
|
String get onboardingCloseTooltip => 'Schließen';
|
|
|
|
@override
|
|
String radioRecordingError(Object error) {
|
|
return 'Fehler beim Aufnehmen des Radios: $error';
|
|
}
|
|
|
|
@override
|
|
String get radioApiConnectionError => 'Keine Verbindung zur Radio-API';
|
|
|
|
@override
|
|
String get radioSearchError => 'Suchfehler. Überprüfe deine Verbindung.';
|
|
|
|
@override
|
|
String get radioLoadMoreStationsError =>
|
|
'Weitere Sender konnten nicht geladen werden.';
|
|
|
|
@override
|
|
String get radioNearbyStationsError =>
|
|
'Nahegelegene Sender konnten nicht erkannt werden. Nutze Filter nach Land.';
|
|
|
|
@override
|
|
String radioCannotPlayStation(Object stationName) {
|
|
return '\"$stationName\" kann nicht wiedergegeben werden';
|
|
}
|
|
|
|
@override
|
|
String get recordingSelectStationFirst =>
|
|
'Wähle zuerst einen Sender zum Aufnehmen aus.';
|
|
|
|
@override
|
|
String recordingStartError(Object error) {
|
|
return 'Aufnahme konnte nicht gestartet werden: $error';
|
|
}
|
|
|
|
@override
|
|
String get unsupportedConfigVersion =>
|
|
'Nicht unterstützte Konfigurationsversion';
|
|
|
|
@override
|
|
String get audioErrorGeneric => 'Wiedergabefehler';
|
|
|
|
@override
|
|
String get audioErrorNoInternet => 'Keine Internetverbindung';
|
|
|
|
@override
|
|
String get audioErrorInvalidUrl => 'Die Radio-URL ist ungültig';
|
|
|
|
@override
|
|
String get audioErrorNotFound => 'Das Radio ist nicht verfügbar (Fehler 404)';
|
|
|
|
@override
|
|
String get audioErrorTimeout => 'Zeitüberschreitung beim Verbinden';
|
|
|
|
@override
|
|
String get audioErrorCannotConnect =>
|
|
'Es kann keine Verbindung zum Radio hergestellt werden';
|
|
|
|
@override
|
|
String get audioErrorUnsupportedFormat => 'Nicht unterstütztes Stream-Format';
|
|
|
|
@override
|
|
String get audioErrorDecode => 'Fehler beim Decodieren des Audiostreams';
|
|
|
|
@override
|
|
String get audioErrorCleartext =>
|
|
'Dieses Radio verwendet unverschlüsseltes HTTP, was nicht erlaubt ist';
|
|
|
|
@override
|
|
String get audioErrorSsl => 'Ungültiges SSL-Zertifikat für das Radio';
|
|
|
|
@override
|
|
String get audioErrorCannotPlay =>
|
|
'Dieses Radio kann nicht wiedergegeben werden';
|
|
|
|
@override
|
|
String get audioErrorUnexpectedPlayback => 'Unerwarteter Wiedergabefehler';
|
|
|
|
@override
|
|
String get androidExactAlarmScheduleError =>
|
|
'Android konnte keinen exakten Alarm planen. Prüfe die Berechtigung für exakte Alarme.';
|
|
|
|
@override
|
|
String get recordingPathEmptyError => 'Der Aufnahmepfad darf nicht leer sein';
|
|
|
|
@override
|
|
String get recordingMaxSizeInvalidError =>
|
|
'Die maximale Größe muss größer als null sein';
|
|
|
|
@override
|
|
String get recordingAlreadyActiveError => 'Es läuft bereits eine Aufnahme';
|
|
|
|
@override
|
|
String get alarmRingingFallbackActive =>
|
|
'Wiedergabe mit internem Sicherheitsaudio.';
|
|
|
|
@override
|
|
String get alarmRingingPreparingFallback =>
|
|
'Internes Sicherheitsaudio wird vorbereitet.';
|
|
|
|
@override
|
|
String get alarmRingingTryingStation =>
|
|
'Dein Sender wird mit der bestmöglichen verfügbaren Qualität gestartet.';
|
|
|
|
@override
|
|
String alarmScheduleOnce(Object date) {
|
|
return 'Einmal · $date';
|
|
}
|
|
|
|
@override
|
|
String alarmScheduleWeekdays(Object days) {
|
|
return 'Tage: $days';
|
|
}
|
|
|
|
@override
|
|
String get androidReliabilityTitle => 'Android-Zuverlässigkeit prüfen';
|
|
|
|
@override
|
|
String get closeAction => 'Schließen';
|
|
|
|
@override
|
|
String get customOption => 'Benutzerdefiniert';
|
|
|
|
@override
|
|
String get endLabel => 'Ende';
|
|
|
|
@override
|
|
String get equalizerDisable => 'Equalizer deaktivieren';
|
|
|
|
@override
|
|
String get helpTitle => 'Hilfe und Tutorial';
|
|
|
|
@override
|
|
String get helpSubtitle =>
|
|
'Funktionen, Tipps und Neuigkeiten von PluriWave ansehen.';
|
|
|
|
@override
|
|
String get indefiniteOption => 'Unbegrenzt';
|
|
|
|
@override
|
|
String get invalidNumber => 'Ungültige Zahl';
|
|
|
|
@override
|
|
String get nameLabel => 'Name';
|
|
|
|
@override
|
|
String get notPlaying => 'Wird nicht wiedergegeben';
|
|
|
|
@override
|
|
String get oneTimeOption => 'Einmal';
|
|
|
|
@override
|
|
String get pausePlaybackTooltip => 'Wiedergabe pausieren';
|
|
|
|
@override
|
|
String qualityOriginal(Object quality) {
|
|
return 'Originalqualität: $quality';
|
|
}
|
|
|
|
@override
|
|
String get qualityUnknown => 'Qualität nicht angegeben';
|
|
|
|
@override
|
|
String get recordAction => 'Aufnehmen';
|
|
|
|
@override
|
|
String get recordDurationTitle => 'Aufnahmedauer';
|
|
|
|
@override
|
|
String get recordRadioSubtitle => 'Wähle, wie lange aufgenommen werden soll.';
|
|
|
|
@override
|
|
String get recordRadioTitle => 'Radio aufnehmen';
|
|
|
|
@override
|
|
String get recordingActiveTitle => 'Radio wird aufgenommen';
|
|
|
|
@override
|
|
String get recordingDirectTitle => 'Direktaufnahme';
|
|
|
|
@override
|
|
String get recordingsOpenFolderPlainError =>
|
|
'Aufnahmeordner konnte nicht geöffnet werden';
|
|
|
|
@override
|
|
String get recordingsOpenLatest => 'Letzte Aufnahme öffnen';
|
|
|
|
@override
|
|
String get recordingsOpenLatestError =>
|
|
'Letzte Aufnahme konnte nicht geöffnet werden';
|
|
|
|
@override
|
|
String get startLabel => 'Beginn';
|
|
|
|
@override
|
|
String get startPlaybackTooltip => 'Wiedergabe starten';
|
|
|
|
@override
|
|
String get stopAction => 'Stoppen';
|
|
|
|
@override
|
|
String get stopPlaybackTooltip => 'Wiedergabe stoppen';
|
|
|
|
@override
|
|
String get weekdayShortMonday => 'Mo';
|
|
|
|
@override
|
|
String get weekdayShortTuesday => 'Di';
|
|
|
|
@override
|
|
String get weekdayShortWednesday => 'Mi';
|
|
|
|
@override
|
|
String get weekdayShortThursday => 'Do';
|
|
|
|
@override
|
|
String get weekdayShortFriday => 'Fr';
|
|
|
|
@override
|
|
String get weekdayShortSaturday => 'Sa';
|
|
|
|
@override
|
|
String get weekdayShortSunday => 'So';
|
|
|
|
@override
|
|
String stationCount(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: '$count Sender',
|
|
one: '1 Sender',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String get alarmIconLabel => 'Musikwecker';
|
|
|
|
@override
|
|
String get vacationIconLabel => 'Urlaubsmodus';
|
|
|
|
@override
|
|
String get streamUrlHint => 'https://stream.example.com:8000/radio';
|
|
|
|
@override
|
|
String get advancedEqSectionTitle => 'Erweiterte EQ-Optionen';
|
|
|
|
@override
|
|
String get advancedEqEnableToggle => 'Geräteindividuellen EQ aktivieren';
|
|
|
|
@override
|
|
String get advancedEqEnableToggleSubtitle =>
|
|
'Wendet automatisch ein anderes EQ-Preset an, wenn du den Audioausgang wechselst.';
|
|
|
|
@override
|
|
String get advancedEqKnownDevicesTitle => 'Bekannte Audiogeräte';
|
|
|
|
@override
|
|
String get advancedEqKnownDevicesEmpty =>
|
|
'Noch keine Audiogeräte gespeichert. Verbinde ein Gerät, um loszulegen.';
|
|
|
|
@override
|
|
String advancedEqDevicePresetLabel(Object presetName) {
|
|
return 'Preset: $presetName';
|
|
}
|
|
|
|
@override
|
|
String preNoticeCountdown(int minutes) {
|
|
return 'Startet in $minutes Min.';
|
|
}
|
|
|
|
@override
|
|
String get eqDeviceEditTitle => 'Gerät bearbeiten';
|
|
|
|
@override
|
|
String get eqDeviceNameLabel => 'Gerätename';
|
|
|
|
@override
|
|
String get eqDeviceNameHint => 'z. B. Wohnzimmer-Lautsprecher';
|
|
|
|
@override
|
|
String get eqDeviceNameConfirm => 'Speichern';
|
|
|
|
@override
|
|
String get eqDeviceConnected => 'Verbunden';
|
|
}
|