Files
pluriwave/lib/l10n/gen/app_localizations_de.dart
T
FreeTLab bd2b7d8e02 refactor(ajustes): split Settings AUDIO/EMISORAS into pushed detail screens
Moves the AUDIO group (Ecualizador, Salida de audio, Temporizador de
sueno) and the EMISORAS group (Grupos de favoritos, Emisora preferida,
Emisoras personalizadas, Orden de listas) out of pantalla_ajustes.dart
into 7 new lib/pantallas/ajustes/*.dart screens, each wrapped in
PluriPushScaffold. The root now reaches them through FilaAjuste rows
under two new GrupoAjustes cards (lib/pantallas/ajustes/widgets/
fila_ajuste.dart), per design ADR-3.

Verbatim-move rule applied throughout: only each section's panel header
(icon + title, sometimes a status chip) was removed, since the pushed
screen's own 56px header now carries the title. Two sections whose
header row carried a real action (Temporizador de sueno's "Add",
Grupos de favoritos' "Add list", Emisoras personalizadas' "Add") kept
that action in the body instead of dropping it.

size:exception (move-only diff, pre-recorded at design/tasks time):
34 files, ~4250 changed lines excluding the 13 auto-regenerated l10n
files (~90 more lines there) - higher than the 800-1000 estimate
because that estimate covered the 7 production screens but not the
matching 7 new test files (task 3a.2), one of which relocates ~10
pre-existing device-management test cases verbatim. Business logic is
untouched; app.dart's import of pantalla_ajustes.dart is unchanged.

Correction to tasks.md 3a.1/3a.8: those two lines describe the combined
WU3a+WU3b end state ("4 grouped nav lists", "<400 lines"), matching
design ADR-3's own aggregate blast-radius note - not a WU3a-only claim.
This commit converts only the 2 groups that are WU3a's job; the root
is 788 lines with 5 sections (Grabaciones, Musica local, Idioma,
Backup, Info) still inline, reachable, and unchanged, pending WU3b.

Two new ARB keys (settingsGroupAudioTitle, settingsGroupStationsTitle),
en/es only per the WU1 precedent - all 7 detail-screen titles reuse
existing keys. Discovered and worked around, without touching app
code: Directory.systemTemp hangs real dart:io writes in this sandbox,
and pumpAndSettle() cannot settle while a screen shows an indeterminate
CircularProgressIndicator - both are test-only concerns, documented
inline where hit.

Tests: 560 -> 579 (32 in this commit's scope, net +19 after retiring
13 relocated cases from the old combined pantalla_ajustes_test.dart).
flutter analyze: unchanged at 1 pre-existing info. git diff is empty
for navegacion_auto.dart, servicio_ecualizador.dart and
servicio_audio.dart; pantalla_alarma_sonando_dismiss_guard_test.dart
untouched.
2026-07-28 21:38:20 +02:00

1382 lines
32 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 settingsGroupAudioTitle => 'AUDIO';
@override
String get settingsGroupStationsTitle => 'EMISORAS';
@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 alarmStopFailedMessage =>
'Wir konnten nicht bestätigen, dass der Alarm gestoppt wurde. Versuche es erneut.';
@override
String get alarmForceStopAction => 'Erzwungen stoppen';
@override
String get alarmMissedNotificationTitle => 'Verpasster Alarm';
@override
String alarmMissedNotificationText(Object name) {
return '$name wurde nach 10 Minuten automatisch stummgeschaltet.';
}
@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 snoozeCountdown(int minutes) {
return 'Klingelt in $minutes Min.';
}
@override
String get snoozeAgainAction => 'Erneut schlummern';
@override
String get alarmRingingNotificationTitle => 'PluriWave-Wecker';
@override
String get alarmFireChannelName => 'Klingelnde Wecker';
@override
String get alarmFireChannelDescription =>
'Dringender Ton und Bildschirm, wenn ein Musikwecker klingeln soll';
@override
String get alarmPreNoticeChannelName => 'Wecker-Vorankündigungen';
@override
String get alarmPreNoticeChannelDescription =>
'Lautlose Benachrichtigungen vor dem Wecker';
@override
String get openFolderChooserTitle => 'Ordner öffnen';
@override
String get openRecordingChooserTitle => 'Aufnahme öffnen';
@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';
@override
String get eqDeviceActiveOutput =>
'Der Ton wird über dieses Gerät ausgegeben';
@override
String get eqDeviceRemove => 'Gerät entfernen';
@override
String eqDeviceRemoved(Object device) {
return '$device entfernt';
}
@override
String get localMusicSectionTitle => 'Lokale Musik (Android Auto)';
@override
String get localMusicSectionDescription =>
'Wähle einen Ordner auf diesem Gerät aus, um dessen Audiodateien im Auto zu durchsuchen und abzuspielen.';
@override
String get localMusicFolderNotConfigured => 'Kein Ordner ausgewählt';
@override
String get localMusicFolderTitle => 'Ordner für lokale Musik';
@override
String get localMusicChoosePath => 'Ordner auswählen';
@override
String get localMusicChangePath => 'Ordner ändern';
@override
String get localMusicFolderUpdated => 'Ordner für lokale Musik aktualisiert';
@override
String localMusicFolderSaveError(Object error) {
return 'Ordner konnte nicht gespeichert werden: $error';
}
@override
String get localMusicFolderGenericName => 'Ausgewählter Ordner';
}