Files
pluriwave/lib/l10n/app_de.arb
T
FreeTLab 9cfa5ac17d
Build & Deploy PluriWave / Análisis de código (push) Successful in 42s
Build & Deploy PluriWave / Build APK + AAB release (push) Failing after 4m23s
fix(iap): address code review defects in freemium/IAP change
Fixes 9 of 10 review findings (10th requires a manual Play Console
step, no code change):

1. app.dart/banner_anuncio_superior.dart: move the top SafeArea inside
   BannerAnuncioSuperior so it only reserves status-bar height when an
   ad actually renders, restoring edge-to-edge layout for premium and
   free-unloaded users.
2. servicio_anuncios.dart: bound every interstitial await (load,
   presentation, and the injected implementation itself) with
   injectable timeouts so a callback that never fires can no longer
   hang a caller.
3. estado_entitlement.dart/hoja_premium.dart: expose a typed
   resultadoUsuario signal for purchase/restore failures and
   restore-found-nothing, with dedicated localized messages
   (compraError, restauracionSinCompras) across all 13 locales --
   never the raw developer/exception string.
4. main.dart/servicio_consentimiento.dart: add a GDPR/UMP consent flow
   (ConsentInformation/ConsentForm) that gates Mobile Ads SDK init on
   canRequestAds(); premium users never see a consent form; failures
   degrade to no ads instead of crashing or blocking startup.
6. servicio_anuncios.dart: track real ad presentation
   (onAdShowedFullScreenContent) so a failed-to-show interstitial no
   longer consumes a session cap slot.
7. banner_anuncio_superior.dart: add an explicit load-attempted guard
   so repeated didChangeDependencies (e.g. entitlement notifyListeners
   during a purchase) can only ever trigger one banner load attempt.
8. servicio_anuncios.dart: make esPremium a required constructor
   parameter, matching the hardened contract already applied to
   EstadoAlarmas/EstadoGrabacion/EstadoRadio.
9. hoja_premium.dart: add a dedicated premiumActivo localized string
   instead of reusing the equalizer's equalizerActive translation,
   across all 13 locales.

All fixes implemented RED-first (failing test before production
code). Full suite: 1261 passed, 2 pre-existing skips, 0 failures.
flutter analyze: 5 pre-existing issues only, 0 new.

[version set]
2026-08-12 16:10:46 +02:00

909 lines
38 KiB
Plaintext
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.
{
"@@locale": "de",
"appTitle": "PluriWave",
"navHome": "Hören",
"navSearch": "Suche",
"navFavorites": "Favoriten",
"navAlarms": "Alarme",
"navSettings": "Einstellungen",
"actionOk": "OK",
"sleepTimer": "Sleep-Timer",
"sleepTimerDescription": "Sanftes Ausschalten des Radios mit genauem Countdown.",
"cancelTimer": "Timer abbrechen",
"optionOther": "Andere",
"customDurationTitle": "Benutzerdefinierte Dauer",
"durationGreaterThanZero": "Wähle eine Dauer größer als null.",
"hoursLabel": "Stunden",
"minutesLabel": "Minuten",
"secondsLabel": "Sekunden",
"durationHoursMinutesSeconds": "{hours} Std {minutes} Min {seconds} Sek",
"@durationHoursMinutesSeconds": {
"placeholders": {
"hours": {},
"minutes": {},
"seconds": {}
}
},
"durationMinutesSeconds": "{minutes} Min {seconds} Sek",
"@durationMinutesSeconds": {
"placeholders": {
"minutes": {},
"seconds": {}
}
},
"durationMinutesOnly": "{minutes} Min",
"@durationMinutesOnly": {
"placeholders": {
"minutes": {}
}
},
"durationSecondsOnly": "{seconds} Sek",
"@durationSecondsOnly": {
"placeholders": {
"seconds": {}
}
},
"saveQuickAccess": "Als Schnellzugriff speichern",
"startTimer": "Timer starten",
"skipCurrentAlarmExecution": "Diese Ausführung von {alarmName} wurde ausgelassen.",
"@skipCurrentAlarmExecution": {
"placeholders": {
"alarmName": {}
}
},
"settingsTitle": "Einstellungen",
"settingsSubtitle": "Feinabstimmung von Klang, Backups und benutzerdefinierten Sendern.",
"languageSectionTitle": "Sprache",
"languageSectionDescription": "Wähle, wie die Sprache der App angezeigt wird.",
"languageSystemDefault": "System",
"languageSpanish": "Spanisch",
"languageEnglish": "Englisch",
"languageUpdated": "Sprache aktualisiert: {languageName}",
"@languageUpdated": {
"placeholders": {
"languageName": {}
}
},
"languageUpdatedSystem": "Sprache aktualisiert: System",
"timerSectionTitle": "Sleep-Timer",
"timerSectionAdd": "Hinzufügen",
"timerSectionDescription": "Passe die Schnellzugriffe an, die beim automatischen Ausschalten des Radios angezeigt werden.",
"timerSectionRestoreRecommended": "Empfohlene Zeiten wiederherstellen",
"newQuickAccessTitle": "Neuer Schnellzugriff",
"saveQuickAccessButton": "Schnellzugriff speichern",
"settingsSafeStatus": "Sicher",
"recordingsSectionTitle": "Aufnahmen",
"recordingsFolderDialogTitle": "Aufnahmeordner auswählen",
"recordingsPathUpdated": "Aufnahmepfad aktualisiert",
"recordingsPathSaveError": "Pfad konnte nicht gespeichert werden: {error}",
"recordingsDefaultFolderRestored": "Der interne Standardordner wird verwendet",
"recordingsFolderTitle": "Aufnahmeordner",
"recordingsPathCalculating": "Pfad wird berechnet...",
"recordingsChangePath": "Pfad ändern",
"recordingsUseDefaultPath": "Standardpfad verwenden",
"recordingsOriginalStreamHint": "Das Radio wird aus dem Originalstream gespeichert, ohne erneute Komprimierung.",
"equalizerActive": "Aktiv",
"equalizerDisabled": "Deaktiviert",
"equalizerEnable": "Equalizer aktivieren",
"equalizerRealtimeSubtitle": "Änderungen werden in Echtzeit auf den aktuellen Sender angewendet.",
"equalizerPendingSubtitle": "Änderungen werden gespeichert und angewendet, sobald Android den Effekt aktiviert.",
"equalizerPerStationTitle": "Eigenen EQ für diesen Favoriten verwenden",
"equalizerPerStationActive": "Aktiv für {stationName}",
"equalizerPerStationMain": "Haupt-EQ für {stationName} wird verwendet",
"preferredStationTitle": "Bevorzugter Sender",
"preferredStationDescription": "Wird beim Erstellen von Alarmen vorausgewählt und kann als Schnellwiedergabe gestartet werden.",
"preferredStationNoStationsTitle": "Noch keine Sender verfügbar",
"preferredStationNoStationsSubtitle": "Speichere Favoriten oder lade Sender, um einen bevorzugten auszuwählen.",
"preferredStationAutomaticFallback": "Automatischer Fallback",
"preferredStationDefaultFavorite": "Standardfavorit",
"preferredStationCurrent": "Aktuell bevorzugt: {stationName}",
"preferredStationAutoUsing": "Keine Favoriten: {stationName} wird automatisch verwendet",
"preferredStationPlay": "Bevorzugten Sender abspielen",
"customStationsTitle": "Benutzerdefinierte Sender",
"customStationsAdd": "Hinzufügen",
"customStationsEmpty": "Keine benutzerdefinierten Sender.",
"playAction": "Wiedergeben",
"deleteAction": "Löschen",
"addStationTitle": "Sender hinzufügen",
"stationNameLabel": "Name *",
"unnamedStation": "Unbenannter Sender",
"requiredField": "Pflichtfeld",
"streamUrlLabel": "Stream-URL *",
"invalidUrl": "Ungültige URL",
"countryOptionalLabel": "Land (optional)",
"saveStation": "Sender speichern",
"backupSectionTitle": "Sicherung",
"backupExportTitle": "Konfiguration exportieren",
"backupExportSubtitle": "Favoriten, benutzerdefinierte Sender und EQ-Presets",
"backupImportTitle": "Konfiguration importieren",
"backupImportSubtitle": "Aus einer Sicherungsdatei wiederherstellen",
"backupShareSubject": "PluriWave — Sicherung",
"backupShareText": "PluriWave-Konfiguration exportiert am {date}",
"backupExportError": "Fehler beim Exportieren: {error}",
"backupImportConfirmMessage": "Dadurch werden Favoriten, Sender und Presets aus der Datei hinzugefügt. Fortfahren?",
"backupImportSuccess": "Konfiguration erfolgreich importiert",
"backupImportError": "Fehler beim Importieren: {error}",
"appVersionLoading": "Version wird geladen...",
"appVersionSubtitle": "{version} - Weltradio",
"savedFavoritesTitle": "Gespeicherte Favoriten",
"stationFilterTitle": "Senderfilter",
"stationFilterSubtitle": "Nur Sender, die als aktiv überprüft wurden",
"backgroundAudioTitle": "Audio im Hintergrund",
"backgroundAudioSubtitle": "Läuft weiter, wenn der Bildschirm ausgeschaltet wird",
"dash": "—",
"@recordingsPathSaveError": {
"placeholders": {
"error": {}
}
},
"@equalizerPerStationActive": {
"placeholders": {
"stationName": {}
}
},
"@equalizerPerStationMain": {
"placeholders": {
"stationName": {}
}
},
"@preferredStationCurrent": {
"placeholders": {
"stationName": {}
}
},
"@preferredStationAutoUsing": {
"placeholders": {
"stationName": {}
}
},
"@backupShareText": {
"placeholders": {
"date": {}
}
},
"@backupExportError": {
"placeholders": {
"error": {}
}
},
"@backupImportError": {
"placeholders": {
"error": {}
}
},
"@appVersionSubtitle": {
"placeholders": {
"version": {}
}
},
"cancelAction": "Abbrechen",
"equalizerTitle": "Equalizer",
"recordingsOpenFolder": "Ordner öffnen",
"recordingsOpenFolderError": "Ordner konnte nicht geöffnet werden: {error}",
"recordingsMaxSizeTitle": "Maximale Aufnahmegröße",
"recordingsMaxSizeSubtitle": "Aktuelles Limit: {size} MB",
"recordingsMaxSizeDialogTitle": "Maximale Größe pro Aufnahme",
"recordingsMaxSizeMbLabel": "Maximale Megabytes",
"recordingsMaxSizeSaved": "Aufnahmelimit auf {size} MB aktualisiert",
"@recordingsOpenFolderError": {
"placeholders": {
"error": {}
}
},
"@recordingsMaxSizeSubtitle": {
"placeholders": {
"size": {
"type": "int"
}
}
},
"@recordingsMaxSizeSaved": {
"placeholders": {
"size": {
"type": "int"
}
}
},
"stationOrderTitle": "Senderreihenfolge",
"stationOrderByName": "Nach Name",
"stationOrderByQuality": "Nach Qualität",
"stationOrderScopeDescription": "Gilt für Favoriten, Suchen, nahegelegene Sender und Schnelllisten.",
"favoriteGroupsTitle": "Favoritenlisten",
"favoriteGroupsDescription": "Erstelle kurze Listen, um deine gespeicherten Sender zu organisieren.",
"favoriteGroupsAdd": "Liste hinzufügen",
"favoriteGroupsEdit": "Liste bearbeiten",
"favoriteGroupsDelete": "Liste löschen",
"favoriteGroupsNameLabel": "Listenname",
"favoriteGroupsNameTooLong": "Maximal 28 Zeichen.",
"favoriteGroupsUnassigned": "Nicht zugewiesen",
"favoriteGroupsProtectedHint": "Standardliste: kann nicht bearbeitet oder gelöscht werden.",
"favoriteGroupsCreated": "Liste erstellt",
"favoriteGroupsUpdated": "Liste aktualisiert",
"favoriteGroupsDeleted": "Liste gelöscht; ihre Sender kehren zu Nicht zugewiesen zurück.",
"favoriteGroupsAssign": "In Liste verschieben",
"favoriteGroupsAssignSubtitle": "Aktuelle Liste: {groupName}",
"favoriteGroupsAssigned": "{stationName} nach {groupName} verschoben",
"favoritesTitle": "Favoriten",
"favoritesEmptyTitle": "Noch keine Favoriten",
"favoritesEmptySubtitle": "Tippe bei einem Sender auf das Herz, um ihn in deiner Sammlung zu speichern.",
"favoritesHeaderSubtitle": "Organisiere deine Sammlung in Listen und halte wichtige Radios griffbereit.",
"favoritesCollection": "Sammlung",
"favoritesSavedCount": "{count} gespeichert",
"favoritesRemoveTooltip": "Aus Favoriten entfernen",
"favoritesRemovedMessage": "{stationName} aus Favoriten entfernt",
"@favoriteGroupsAssignSubtitle": {
"placeholders": {
"groupName": {}
}
},
"@favoriteGroupsAssigned": {
"placeholders": {
"stationName": {},
"groupName": {}
}
},
"@favoritesSavedCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"@favoritesRemovedMessage": {
"placeholders": {
"stationName": {}
}
},
"alarmPostponedCurrentExecution": "Alarm für diese Ausführung verschoben.",
"searchScreenTitle": "Signal suchen",
"searchScreenSubtitle": "Finde Sender nach Name, Land oder Sprache mit schnellen Filtern und hohem Kontrast.",
"searchFiltersLabel": "Filter",
"searchHint": "Radio Horizont, Jazz, Nachrichten...",
"searchCountryFilterLabel": "Land",
"searchLanguageFilterLabel": "Sprache",
"searchMinQualityFilterLabel": "Mindestqualität",
"searchLoadingStationsLabel": "SENDER WERDEN GESUCHT…",
"searchEmptyTitle": "Suche nach einem Sender",
"searchNoResultsTitle": "Keine Ergebnisse",
"searchNoResultsForQueryTitle": "Keine Ergebnisse für „{query}“",
"@searchNoResultsForQueryTitle": {"placeholders": {"query": {}}},
"searchEmptySubtitle": "Nutze die obere Leiste oder die Chips, um Sender aus aller Welt zu entdecken.",
"searchNoResultsSubtitle": "Versuche, Filter zu entfernen oder einen anderen Namen einzugeben, um einen aktiven Sender zu finden.",
"countrySpain": "Spanien",
"countryUsa": "USA",
"countryMexico": "Mexiko",
"countryArgentina": "Argentinien",
"countryUk": "Vereinigtes Königreich",
"countryFrance": "Frankreich",
"countryGermany": "Deutschland",
"countryItaly": "Italien",
"countryBrazil": "Brasilien",
"countryJapan": "Japan",
"languageNameSpanish": "Spanisch",
"languageNameEnglish": "Englisch",
"languageNameFrench": "Französisch",
"languageNameGerman": "Deutsch",
"languageNamePortuguese": "Portugiesisch",
"languageNameItalian": "Italienisch",
"languageNameJapanese": "Japanisch",
"languageNameArabic": "Arabisch",
"languageNameRussian": "Russisch",
"homeScreenSubtitle": "Live-Weltradio mit klaren Signalen, intelligenten Favoriten und einer visuellen Game-Show-Erfahrung.",
"exploreStations": "Sender erkunden",
"stationsCount": "{count} Radios",
"@stationsCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"qualityHd": "HD-Qualität",
"nearYou": "In deiner Nähe",
"nearYouInCountry": "In deiner Nähe · {country}",
"@nearYouInCountry": {
"placeholders": {
"country": {}
}
},
"detectAction": "Erkennen",
"liveRadar": "Live-Radar",
"genresTitle": "Genres",
"exploreByTitle": "Entdecken nach",
"exploreTrendingTitle": "Trends",
"exploreTrendingSubtitle": "Heute",
"exploreNewTitle": "Neuheiten",
"exploreNewSubtitle": "Diese Woche",
"offlineBannerTitle": "Keine Verbindung",
"retryAction": "Erneut versuchen",
"noStationsAvailable": "Keine Sender verfügbar",
"noStationsAvailableSubtitle": "Versuche zu aktualisieren oder ein anderes Genre auszuwählen, um wieder ein Signal zu empfangen.",
"genrePop": "Pop",
"genreRock": "Rock",
"genreJazz": "Jazz",
"genreClassical": "Klassik",
"genreElectronic": "Elektronisch",
"genreNews": "Nachrichten",
"genreTalk": "Talk",
"genreHipHop": "Hip-hop",
"genreCountry": "Country",
"genreMetal": "Metal",
"genreReggae": "Reggae",
"genreLatin": "Latin",
"alarmScreenTitle": "Musikalisch aufwachen",
"alarmScreenSubtitle": "Alarme mit Radio, sicherem Ton, intelligenten Ferien und stets sichtbarer nächster Ausführung.",
"createAlarmAction": "Alarm erstellen",
"alarmsCount": "{count} Alarme",
"@alarmsCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"activeAlarmsWithoutNextTitle": "Aktive Alarme ohne nächste Ausführung",
"noActiveAlarms": "Keine aktiven Alarme",
"nextAlarmTitle": "Nächster Alarm",
"activeAlarmsWithoutNextSubtitle": "Es gibt {count} aktive(n) Alarm(e), aber derzeit kein gültiges zukünftiges Datum. Prüfe Datum, Wochentage und Ferien.",
"@activeAlarmsWithoutNextSubtitle": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"createAlarmHint": "Erstelle einen Alarm und PluriWave berechnet automatisch die nächste Ausführung.",
"alarmVacationPlay": "Läutet in den Ferien",
"alarmVacationPause": "In den Ferien pausiert",
"alarmFadeInLabel": "Fade-in {seconds}s",
"@alarmFadeInLabel": {
"placeholders": {
"seconds": {
"type": "int"
}
}
},
"alarmNextExecution": "Nächste Ausführung: {date}",
"@alarmNextExecution": {
"placeholders": {
"date": {}
}
},
"alarmNoNextExecution": "Keine aktive nächste Ausführung.",
"alarmSkippedExecution": "Eine Ausführung wurde ausgelassen: {date}.",
"@alarmSkippedExecution": {
"placeholders": {
"date": {}
}
},
"editAction": "Bearbeiten",
"skipNextAction": "Nächste auslassen",
"deleteTooltip": "Löschen",
"alarmSkippedNoNextSnackbar": "Alarm ausgelassen. Es bleibt keine nächste Ausführung.",
"alarmSkippedReturnsSnackbar": "Alarm ausgelassen. Er kehrt am {date} zurück.",
"@alarmSkippedReturnsSnackbar": {
"placeholders": {
"date": {}
}
},
"alarmVacationPausedNoNext": "Wegen Ferien ({vacationName}) pausiert und ohne nächste Ausführung.",
"@alarmVacationPausedNoNext": {
"placeholders": {
"vacationName": {}
}
},
"alarmVacationPausedReturns": "Wegen Ferien ({vacationName}) pausiert und kehrt am {date} zurück.",
"@alarmVacationPausedReturns": {
"placeholders": {
"vacationName": {},
"date": {}
}
},
"alarmVacationReturns": "Mit aktiven Ferien läutet er wieder am {date}.",
"@alarmVacationReturns": {
"placeholders": {
"date": {}
}
},
"defaultAlarmName": "Musikalischer Wecker",
"newAlarmTitle": "Neuer Alarm",
"editAlarmTitle": "Alarm bearbeiten",
"nameField": "Name",
"timeField": "Uhrzeit",
"dateField": "Datum",
"onceOption": "Einmal",
"dailyOption": "Täglich",
"weekdaysOption": "Tage",
"soundAndVolumeSection": "Klang und Lautstärke",
"alarmFadeInTitle": "Alarm-Fade-in",
"alarmFadeInOff": "0 s (ohne Übergang)",
"alarmFadeInSummary": "{seconds} s (von 5 % bis zur gewählten Lautstärke)",
"@alarmFadeInSummary": {
"placeholders": {
"seconds": {
"type": "int"
}
}
},
"internalSafeSoundLabel": "Interner Sicherheitston",
"soundWarmSunrise": "Warmer Sonnenaufgang",
"soundSoftBell": "Sanfte Glocke",
"soundDigitalPulse": "Digitaler Puls",
"favoriteStationLabel": "Lieblingssender",
"noStationUseInternalSound": "Kein Sender: internen Ton verwenden",
"alarmFallbackStationLabel": "Ersatzsender",
"alarmStationPickerSearchHint": "Sender nach Name suchen",
"alarmSnoozeDurationTitle": "Schlummerdauer",
"snoozeAction": "Schlummern",
"alarmSnoozeOptionLabel": "{minutes} Min.",
"@alarmSnoozeOptionLabel": {
"placeholders": {
"minutes": {
"type": "int"
}
}
},
"alarmSnoozeUsualLabel": "üblich",
"saveFavoritesAlarmHint": "Speichere Sender in Favoriten, um sie als musikalischen Alarm zu verwenden.",
"useCurrentStationAction": "Aktuellen Sender verwenden",
"playDuringVacations": "Während der Ferien läuten",
"playDuringVacationsHint": "Wenn du das ausschaltest, springt die nächste Ausführung zum ersten gültigen Tag.",
"saveAlarmAction": "Alarm speichern",
"chooseOneWeekdayError": "Wähle mindestens einen Wochentag.",
"androidReliabilityReview": "Android-Zuverlässigkeit prüfen",
"statusOk": "OK",
"statusPending": "ausstehend",
"androidReliabilityStatus": "Zuverlässigkeit: exakt {exact} · Benachrichtigungen {notifications} · Bildschirm {screen}",
"@androidReliabilityStatus": {
"placeholders": {
"exact": {},
"notifications": {},
"screen": {}
}
},
"vacationRangesTitle": "Ferienzeiträume",
"addAction": "Hinzufügen",
"vacationRangesHint": "Wenn ein Alarm „In den Ferien pausiert“ hat, werden diese Zeiträume automatisch übersprungen.",
"noVacationRangesLoaded": "Keine Zeiträume geladen.",
"deleteRangeTooltip": "Zeitraum löschen",
"vacationsDefaultName": "Ferien",
"newVacationRangeTitle": "Neuer Ferienzeitraum",
"editVacationRangeTitle": "Ferienzeitraum bearbeiten",
"vacationDeleteConfirmTitle": "Ferienzeitraum löschen?",
"vacationDeleteConfirmMessage": "Dies kann nicht rückgängig gemacht werden.",
"startField": "Beginn",
"endField": "Ende",
"saveRangeAction": "Zeitraum speichern",
"noAlarmsYetTitle": "Noch keine Alarme.",
"noAlarmsYetSubtitle": "Erstelle einen, um dein musikalisches Aufwachen zu gestalten.",
"ringingInternalAudioActive": "Wiedergabe mit internem Sicherheitston.",
"ringingPreparingInternalAudio": "Interner Sicherheitston wird vorbereitet.",
"stopAlarmAction": "Alarm stoppen",
"alarmStopFailedMessage": "Wir konnten nicht bestätigen, dass der Alarm gestoppt wurde. Versuche es erneut.",
"alarmForceStopAction": "Erzwungen stoppen",
"alarmMissedNotificationTitle": "Verpasster Alarm",
"alarmMissedNotificationText": "{name} wurde nach 10 Minuten automatisch stummgeschaltet.",
"@alarmMissedNotificationText": {
"placeholders": {
"name": {}
}
},
"pauseAction": "Pausieren",
"miniPlayerOpenLabel": "Wiedergabe für {stationName} öffnen",
"@miniPlayerOpenLabel": {
"placeholders": {
"stationName": {}
}
},
"playerIconLabel": "Wiedergabe",
"playbackStatusConnecting": "Verbindung wird hergestellt...",
"playbackStatusLive": "Live",
"playbackStatusPaused": "Pausiert",
"playbackStatusReconnecting": "Wird neu verbunden...",
"playbackStatusConnectionError": "Verbindungsfehler",
"playbackStatusStopped": "Gestoppt",
"stationSemanticLabel": "Sender {stationName}",
"@stationSemanticLabel": {
"placeholders": {
"stationName": {}
}
},
"favoritesAddTooltip": "Zu Favoriten hinzufügen",
"favoritesAddedMessage": "{stationName} zu Favoriten hinzugefügt",
"@favoritesAddedMessage": {
"placeholders": {
"stationName": {}
}
},
"stationIconLabel": "Sendersymbol",
"liveNow": "Live",
"equalizerBandLabel": "Band {band}",
"@equalizerBandLabel": {
"placeholders": {
"band": {}
}
},
"equalizerBandValue": "{value} Dezibel",
"@equalizerBandValue": {
"placeholders": {
"value": {}
}
},
"equalizerPresetFlat": "Linear",
"equalizerPresetRock": "Rock",
"equalizerPresetPop": "Pop",
"equalizerPresetBassBoost": "Bassverstärkung",
"equalizerPresetJazz": "Jazz",
"equalizerPresetVoice": "Stimme",
"equalizerPresetCustom": "Benutzerdefiniert",
"onboardingTitle": "Willkommen bei PluriWave",
"onboardingNewsTitle": "Neuigkeiten",
"onboardingStartAction": "Loslegen",
"onboardingCloseTooltip": "Schließen",
"radioRecordingError": "Fehler beim Aufnehmen des Radios: {error}",
"@radioRecordingError": {
"placeholders": {
"error": {}
}
},
"radioApiConnectionError": "Keine Verbindung zur Radio-API",
"radioSearchError": "Suchfehler. Überprüfe deine Verbindung.",
"radioLoadMoreStationsError": "Weitere Sender konnten nicht geladen werden.",
"radioNearbyStationsError": "Nahegelegene Sender konnten nicht erkannt werden. Nutze Filter nach Land.",
"radioCannotPlayStation": "\"{stationName}\" kann nicht wiedergegeben werden",
"@radioCannotPlayStation": {
"placeholders": {
"stationName": {}
}
},
"recordingSelectStationFirst": "Wähle zuerst einen Sender zum Aufnehmen aus.",
"recordingStartError": "Aufnahme konnte nicht gestartet werden: {error}",
"@recordingStartError": {
"placeholders": {
"error": {}
}
},
"unsupportedConfigVersion": "Nicht unterstützte Konfigurationsversion",
"audioErrorGeneric": "Wiedergabefehler",
"audioErrorNoInternet": "Keine Internetverbindung",
"audioErrorInvalidUrl": "Die Radio-URL ist ungültig",
"audioErrorNotFound": "Das Radio ist nicht verfügbar (Fehler 404)",
"audioErrorTimeout": "Zeitüberschreitung beim Verbinden",
"audioErrorCannotConnect": "Es kann keine Verbindung zum Radio hergestellt werden",
"audioErrorUnsupportedFormat": "Nicht unterstütztes Stream-Format",
"audioErrorDecode": "Fehler beim Decodieren des Audiostreams",
"audioErrorCleartext": "Dieses Radio verwendet unverschlüsseltes HTTP, was nicht erlaubt ist",
"audioErrorSsl": "Ungültiges SSL-Zertifikat für das Radio",
"audioErrorCannotPlay": "Dieses Radio kann nicht wiedergegeben werden",
"audioErrorUnexpectedPlayback": "Unerwarteter Wiedergabefehler",
"androidExactAlarmScheduleError": "Android konnte keinen exakten Alarm planen. Prüfe die Berechtigung für exakte Alarme.",
"recordingPathEmptyError": "Der Aufnahmepfad darf nicht leer sein",
"recordingMaxSizeInvalidError": "Die maximale Größe muss größer als null sein",
"recordingAlreadyActiveError": "Es läuft bereits eine Aufnahme",
"alarmRingingFallbackActive": "Wiedergabe mit internem Sicherheitsaudio.",
"alarmRingingPreparingFallback": "Internes Sicherheitsaudio wird vorbereitet.",
"alarmRingingTryingStation": "Dein Sender wird mit der bestmöglichen verfügbaren Qualität gestartet.",
"alarmScheduleDaily": "Jeden Morgen",
"alarmScheduleOnce": "Einmal · {date}",
"@alarmScheduleOnce": {
"placeholders": {
"date": {}
}
},
"alarmScheduleWeekdays": "Tage: {days}",
"@alarmScheduleWeekdays": {
"placeholders": {
"days": {}
}
},
"alarmRepeatSectionLabel": "WIEDERHOLEN",
"alarmVolumeLabel": "Lautstärke",
"androidReliabilityTitle": "Android-Zuverlässigkeit prüfen",
"closeAction": "Schließen",
"customOption": "Benutzerdefiniert",
"endLabel": "Ende",
"equalizerDisable": "Equalizer deaktivieren",
"helpTitle": "Hilfe und Tutorial",
"helpSubtitle": "9 Bildschirme · jederzeit erneut ansehen",
"tutorialSkipAction": "Überspringen",
"tutorialNextAction": "Weiter",
"tutorialPage1Headline": "Speichere deine Sender und gruppiere sie",
"tutorialPage1Body": "Tippe auf das Herz, um einen Sender zu speichern. Unter „Deine Sender“ kannst du Gruppen wie „Jeden Morgen“ oder „Auto“ anlegen und sie per Ziehen neu anordnen.",
"tutorialPage2Headline": "Ein Basis-Equalizer und einer pro Sender",
"tutorialPage2Body": "In den Einstellungen legst du den allgemeinen Equalizer fest. Und während der Wiedergabe eines bestimmten Senders kannst du ihm eine eigene Einstellung geben, die Vorrang vor der allgemeinen hat.",
"tutorialPage3Headline": "Nimm auf, was du gerade hörst",
"tutorialPage3Body": "Über die Werkzeugleiste des Players speichert „Aufnehmen“ den Original-Stream. Deine Aufnahmen findest du unter Einstellungen Aufnahmen.",
"tutorialPage4Headline": "Alarme, die sich dir anpassen",
"tutorialPage4Body": "Wach mit deinem Lieblingssender auf, schlummere 3, 5 oder 10 Minuten weiter und füge Urlaubszeiträume hinzu, damit manche Alarme von selbst ausgesetzt werden.",
"tutorialPage5Headline": "Deine Favoriten, auch im Auto",
"tutorialPage5Body": "Verbinde dein Handy mit Android Auto und finde Favoriten, Alle Sender, Deine Sender und deine lokale Musik, mit großen, fürs Fahren gemachten Tasten.",
"tutorialPage6Headline": "Verbindet sich von selbst neu",
"tutorialPage6Body": "Bricht das Signal ab, versucht PluriWave automatisch erneut und zeigt weiterhin deine gespeicherten Favoriten, auch ohne Verbindung.",
"tutorialPage7Headline": "Wähle, wie lange du schlummerst",
"tutorialPage7Body": "Wenn ein Alarm klingelt, gibt es nicht nur ein „Schlummern“: Du wählst 3, 5 oder 10 Minuten, je nachdem, was du gerade brauchst.",
"tutorialPage8Headline": "Findest du ihn nicht? Füge ihn selbst hinzu",
"tutorialPage8Body": "Füge unter „Deine Sender“ → Eigenen Sender hinzufügen die Stream-URL eines Senders ein, der nicht in der Suche auftaucht. Er wird unter „Deine Sender“ gespeichert und ist auch im Auto verfügbar.",
"tutorialPage9Headline": "Fertig, du kennst jetzt das Wichtigste",
"tutorialPage9BannerBody": "Um dieses Tutorial jederzeit erneut anzusehen: Einstellungen → Info → Hilfe und Tutorial.",
"indefiniteOption": "Unbegrenzt",
"invalidNumber": "Ungültige Zahl",
"nameLabel": "Name",
"notPlaying": "Wird nicht wiedergegeben",
"oneTimeOption": "Einmal",
"pausePlaybackTooltip": "Wiedergabe pausieren",
"qualityOriginal": "Originalqualität: {quality}",
"@qualityOriginal": {
"placeholders": {
"quality": {}
}
},
"qualityUnknown": "Qualität nicht angegeben",
"recordAction": "Aufnehmen",
"recordDurationTitle": "Aufnahmedauer",
"recordRadioSubtitle": "Wähle, wie lange aufgenommen werden soll.",
"recordRadioTitle": "Radio aufnehmen",
"recordingActiveTitle": "Radio wird aufgenommen",
"recordingDirectTitle": "Direktaufnahme",
"recordingsOpenFolderPlainError": "Aufnahmeordner konnte nicht geöffnet werden",
"recordingsOpenLatest": "Letzte Aufnahme öffnen",
"recordingsOpenLatestError": "Letzte Aufnahme konnte nicht geöffnet werden",
"startLabel": "Beginn",
"startPlaybackTooltip": "Wiedergabe starten",
"stopAction": "Stoppen",
"stopPlaybackTooltip": "Wiedergabe stoppen",
"weekdayShortMonday": "Mo",
"weekdayShortTuesday": "Di",
"weekdayShortWednesday": "Mi",
"weekdayShortThursday": "Do",
"weekdayShortFriday": "Fr",
"weekdayShortSaturday": "Sa",
"weekdayShortSunday": "So",
"stationCount": "{count, plural, =1{1 Sender} other{{count} Sender}}",
"alarmIconLabel": "Musikwecker",
"vacationIconLabel": "Urlaubsmodus",
"streamUrlHint": "https://stream.example.com:8000/radio",
"advancedEqSectionTitle": "Erweiterte EQ-Optionen",
"advancedEqEnableToggle": "Geräteindividuellen EQ aktivieren",
"advancedEqEnableToggleSubtitle": "Wendet automatisch ein anderes EQ-Preset an, wenn du den Audioausgang wechselst.",
"advancedEqKnownDevicesTitle": "Bekannte Audiogeräte",
"advancedEqKnownDevicesEmpty": "Noch keine Audiogeräte gespeichert. Verbinde ein Gerät, um loszulegen.",
"advancedEqDevicePresetLabel": "Preset: {presetName}",
"@advancedEqDevicePresetLabel": {
"placeholders": {
"presetName": {}
}
},
"preNoticeCountdown": "Startet in {minutes} Min.",
"snoozeCountdown": "Klingelt in {minutes} Min.",
"@snoozeCountdown": {
"placeholders": {
"minutes": {
"type": "int"
}
}
},
"snoozeAgainAction": "Erneut schlummern",
"alarmRingingNotificationTitle": "PluriWave-Wecker",
"alarmFireChannelName": "Klingelnde Wecker",
"alarmFireChannelDescription": "Dringender Ton und Bildschirm, wenn ein Musikwecker klingeln soll",
"alarmPreNoticeChannelName": "Wecker-Vorankündigungen",
"alarmPreNoticeChannelDescription": "Lautlose Benachrichtigungen vor dem Wecker",
"openFolderChooserTitle": "Ordner öffnen",
"openRecordingChooserTitle": "Aufnahme öffnen",
"@preNoticeCountdown": {
"placeholders": {
"minutes": {
"type": "int"
}
}
},
"eqDeviceEditTitle": "Gerät bearbeiten",
"eqDeviceNameLabel": "Gerätename",
"eqDeviceNameHint": "z. B. Wohnzimmer-Lautsprecher",
"eqDeviceNameConfirm": "Speichern",
"eqDeviceConnected": "Verbunden",
"eqDeviceActiveOutput": "Der Ton wird über dieses Gerät ausgegeben",
"eqDeviceRemove": "Gerät entfernen",
"eqDeviceRemoved": "{device} entfernt",
"@eqDeviceRemoved": {
"placeholders": {
"device": {}
}
},
"localMusicSectionTitle": "Lokale Musik (Android Auto)",
"localMusicSectionDescription": "Wähle einen Ordner auf diesem Gerät aus, um dessen Audiodateien im Auto zu durchsuchen und abzuspielen.",
"localMusicFolderNotConfigured": "Kein Ordner ausgewählt",
"localMusicFolderTitle": "Ordner für lokale Musik",
"localMusicChoosePath": "Ordner auswählen",
"localMusicChangePath": "Ordner ändern",
"localMusicFolderUpdated": "Ordner für lokale Musik aktualisiert",
"localMusicFolderSaveError": "Ordner konnte nicht gespeichert werden: {error}",
"@localMusicFolderSaveError": {
"placeholders": {
"error": {}
}
},
"localMusicFolderGenericName": "Ausgewählter Ordner",
"addVacationRangeCta": "Zeitraum hinzufügen",
"alarmAdvancedSectionTitle": "Erweitert",
"alarmDeleteConfirmMessage": "Dies kann nicht rückgängig gemacht werden.",
"alarmDeleteConfirmTitle": "Alarm löschen?",
"alarmHeroSkipAction": "Überspringen",
"alarmInlineHourLabel": "Stunde",
"alarmInlineMinuteLabel": "Minute",
"alarmVolumeRisingStatus": "Lautstärke wird erhöht",
"countriesAllTitle": "Alle Länder",
"countriesScreenTitle": "Länder",
"countriesSearchHint": "Land oder Code...",
"countriesYourLanguagesTitle": "Deine Sprachen",
"customStationsAddCta": "Benutzerdefinierten Sender hinzufügen",
"equalizerActiveOutputDefault": "Der Lautsprecher dieses Geräts",
"equalizerActiveOutputLabel": "Aktiver Ausgang",
"equalizerBaseExplainer": "Dies ist der Basis-Equalizer: Er gilt für alle Sender ohne eigene Einstellung. Der eigene EQ eines Senders wird auf dessen eigenem Wiedergabebildschirm festgelegt und hat Vorrang vor diesem hier.",
"equalizerSaveAsPresetAction": "Als Preset speichern",
"equalizerResetToFlatAction": "Auf neutral zurücksetzen",
"equalizerSavePresetConfirm": "Speichern",
"equalizerSavePresetDialogTitle": "Als Preset speichern",
"equalizerSavePresetEmptyNameError": "Gib einen Namen für das Preset ein.",
"equalizerSavePresetNameLabel": "Preset-Name",
"equalizerStationsWithOwnEqEmpty": "Noch kein Sender hat einen eigenen EQ.",
"equalizerStationsWithOwnEqSubtitle": "Ignorieren diesen Basis-Equalizer",
"equalizerStationsWithOwnEqTitle": "Sender mit eigenem EQ",
"favoriteGroupsChipLabel": "{groupName} · {count}",
"@favoriteGroupsChipLabel": {
"placeholders": {
"groupName": {},
"count": {
"type": "int"
}
}
},
"favoriteGroupsManage": "Listen verwalten",
"favoritesFilterAllLabel": "Alle",
"infoSectionTitle": "Info",
"nothingPlayingSubtitle": "Wähle einen Sender aus Deine Sender oder suche einen, um zu starten.",
"nothingPlayingTitle": "Es läuft noch nichts",
"openFullPlayerTooltip": "Vollständigen Player öffnen",
"playerQualityChangeAction": "Ändern",
"playerToolEqLabel": "Eigener EQ",
"radioCountriesError": "Die Länder konnten nicht geladen werden.",
"recordingActionDelete": "Löschen",
"recordingActionRename": "Umbenennen",
"recordingActionShare": "Teilen",
"recordingDeleteConfirmMessage": "Dies kann nicht rückgängig gemacht werden.",
"recordingDeleteConfirmTitle": "Aufnahme löschen?",
"recordingRenameDialogTitle": "Aufnahme umbenennen",
"recordingRenameEmptyError": "Gib einen Namen ein",
"recordingRenameLabel": "Name",
"recordingsLibraryEmptySubtitle": "Aufnahmen, die du speicherst, erscheinen hier.",
"recordingsLibraryStorageFolderCaption": "Music/PluriWave · älteste werden bei Erreichen des Limits gelöscht",
"recordingsLibraryEmptyTitle": "Noch keine Aufnahmen",
"recordingsLibrarySettingsTooltip": "Aufnahmeeinstellungen",
"recordingsLibraryStorageCaption": "{usedMb} MB von {totalMb} MB belegt",
"@recordingsLibraryStorageCaption": {
"placeholders": {
"usedMb": {
"type": "int"
},
"totalMb": {
"type": "int"
}
}
},
"recordingsLibraryTitle": "Meine Aufnahmen",
"searchClearFiltersAction": "{count, plural, =1{Filter entfernen} other{{count} Filter entfernen}}",
"searchResultsCount": "{count, plural, =1{1 Ergebnis} other{{count} Ergebnisse}}",
"seeAllAction": "Alle ansehen",
"settingsGroupApplicationTitle": "ANWENDUNG",
"settingsGroupAudioTitle": "AUDIO",
"settingsGroupRecordingsTitle": "AUFNAHMEN & MUSIK",
"settingsGroupStationsTitle": "SENDER",
"stationOrderByPopularity": "Nach Beliebtheit",
"vacationImpactContinuesLabel": "Klingelt weiter: {times}",
"@vacationImpactContinuesLabel": {
"placeholders": {
"times": {}
}
},
"vacationImpactPausedLabel": "Pausiert: {times}",
"@vacationImpactPausedLabel": {
"placeholders": {
"times": {}
}
},
"vacationExplainerBanner": "Während dieser Zeiträume klingeln Alarme mit der Markierung \"im Urlaub pausieren\" nicht. Als \"immer klingeln\" markierte Alarme sind davon nicht betroffen.",
"vacationNoActiveRangeHint": "Momentan ist kein aktiver Urlaubszeitraum vorhanden.",
"vacationPastSectionTitle": "Vergangene Zeiträume",
"vacationRangesCount": "{count} Zeiträume",
"@vacationRangesCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"vacationSummaryActiveCountdown": "Läuft gerade · noch {days} Tage",
"@vacationSummaryActiveCountdown": {
"placeholders": {
"days": {
"type": "int"
}
}
},
"vacationSummaryUpcomingCountdown": "Nächster Zeitraum in {days} Tagen",
"@vacationSummaryUpcomingCountdown": {
"placeholders": {
"days": {
"type": "int"
}
}
},
"vacationUpcomingSectionTitle": "GEPLANT",
"welcomeBody": "53.412 Sender aus 238 Ländern. Speichere deine Favoriten, nimm sie mit ins Auto und wache mit ihnen auf.",
"welcomeBullet1Subtitle": "Plus ein Preset pro Ausgabegerät",
"welcomeBullet1Title": "Equalizer pro Sender",
"welcomeBullet2Subtitle": "Deine Favoriten und lokale Musik im Auto",
"welcomeBullet2Title": "Android Auto",
"welcomeBullet3Subtitle": "Mit sanftem Lautstärkeanstieg und Urlaubsmodus",
"welcomeBullet3Title": "Musikalarme",
"welcomeCtaLabel": "Jetzt hören",
"welcomeHeadline": "Deine Welt, live",
"yourStationsTitle": "Deine Sender",
"nowListeningLabel": "Läuft gerade",
"popularNowTitle": "Jetzt beliebt",
"eqCustomActionEnableLabel": "Equalizer aktivieren",
"eqCustomActionDisableLabel": "Equalizer deaktivieren",
"eqCustomActionPresetLabel": "Voreinstellung: {preset}",
"@eqCustomActionPresetLabel": {
"placeholders": {
"preset": {
"type": "String"
}
}
},
"alarmCardVacationPausedBadge": "Wegen Urlaub pausiert",
"alarmCardSchedulingFailedMessage": "Dieser Alarm konnte nicht im System registriert werden, daher klingelt er möglicherweise nicht.",
"alarmCardPreNoticeFailedMessage": "Dieser Alarm ist geplant, aber seine Vorwarnung konnte nicht eingerichtet werden.",
"alarmDiagnosticsExactAlarmsTitle": "Genaue Alarmplanung",
"alarmDiagnosticsExactAlarmsHint": "Lässt den Alarm genau zur eingestellten Minute klingeln, auch wenn das Telefon im Ruhezustand ist.",
"alarmDiagnosticsNotificationsTitle": "Benachrichtigungen",
"alarmDiagnosticsNotificationsHint": "Nötig, um den Alarm und den Vorab-Hinweis anzuzeigen.",
"alarmDiagnosticsFullScreenTitle": "Alarmanzeige im Vollbildmodus",
"alarmDiagnosticsFullScreenHint": "Lässt den Klingelbildschirm automatisch erscheinen, auch wenn das Telefon gesperrt ist.",
"alarmDiagnosticsBatteryTitle": "Akku-Optimierung",
"alarmDiagnosticsBatteryHint": "Verhindert, dass das System PluriWave im Hintergrund beendet, damit der Alarm trotzdem klingeln kann.",
"alarmDiagnosticsNativeCountTitle": "Bei Android registrierte Alarme",
"alarmDiagnosticsNativeCountValue": "Aktuell registriert: {count}",
"@alarmDiagnosticsNativeCountValue": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"alarmDiagnosticsNativeCountAttentionHint": "Du hast einen Alarm aktiviert, aber es ist noch keiner beim System registriert. Öffne PluriWave erneut oder behebe zuerst die Punkte oben.",
"alarmDiagnosticsManufacturerLabel": "Hersteller",
"alarmDiagnosticsSdkLabel": "Android-Version (SDK)",
"alarmDiagnosticsNeedsAttentionStatus": "Erfordert Aufmerksamkeit",
"alarmDiagnosticsAutostartTitle": "Noch ein manueller Schritt auf diesem Telefon",
"alarmDiagnosticsAutostartBody": "{manufacturer}-Telefone schließen oft Apps im Hintergrund, um Akku zu sparen. Es gibt keine Einstellung, die PluriWave selbst aktivieren kann — du musst den Autostart (manchmal auch \"Auto-Start\" oder \"Hintergrundaktivität\" genannt) für PluriWave selbst einschalten. Schau in den Einstellungen unter Apps oder Akku, oder in der Sicherheits-App des Telefons nach.",
"@alarmDiagnosticsAutostartBody": {
"placeholders": {
"manufacturer": {
"type": "String"
}
}
},
"alarmDiagnosticsFixAction": "Beheben",
"alarmDiagnosticsIntentUnavailable": "Diese Einstellungsseite konnte auf diesem Telefon nicht geöffnet werden. Suche sie manuell in den Einstellungen.",
"alarmDiagnosticsUnavailableHint": "Wir konnten deine Alarmeinstellungen noch nicht prüfen.",
"autoEqDisableOption": "Deaktivieren",
"funcionPremium": "Premium-Funktion",
"limiteAlarmasAlcanzado": "Du hast das kostenlose Limit von 5 Weckern erreicht.",
"desbloquearPremium": "Premium freischalten",
"restaurarCompras": "Käufe wiederherstellen",
"compraError": "Der Kauf konnte nicht abgeschlossen werden. Bitte versuche es erneut.",
"restauracionSinCompras": "Wir haben auf diesem Konto keinen früheren Kauf gefunden.",
"premiumActivo": "Premium aktiv"
}