fix(i18n): normalize translations and fallbacks
Build & Deploy PluriWave / Análisis de código (push) Successful in 38s
Build & Deploy PluriWave / Build APK + AAB release (push) Successful in 2m34s

This commit is contained in:
2026-06-03 21:20:08 +02:00
parent a5475ce118
commit 089b8b4227
46 changed files with 17720 additions and 4869 deletions
+363 -189
View File
@@ -8,26 +8,53 @@
"navSettings": "Einstellungen",
"actionOk": "OK",
"sleepTimer": "Sleep-Timer",
"sleepTimerDescription": "Smooth radio shutdown with an exact countdown.",
"cancelTimer": "Cancel timer",
"optionOther": "Other",
"customDurationTitle": "Custom duration",
"durationGreaterThanZero": "Choose a duration greater than zero.",
"hoursLabel": "Hours",
"minutesLabel": "Minutes",
"secondsLabel": "Seconds",
"saveQuickAccess": "Save as quick access",
"startTimer": "Start timer",
"skipCurrentAlarmExecution": "Skipped this execution of {alarmName}.",
"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": "Fine-grained sound control, backups, and custom stations.",
"settingsSubtitle": "Feinabstimmung von Klang, Backups und benutzerdefinierten Sendern.",
"languageSectionTitle": "Sprache",
"languageSectionDescription": "Choose how the app language is displayed.",
"languageSectionDescription": "Wähle, wie die Sprache der App angezeigt wird.",
"languageSystemDefault": "System",
"languageSpanish": "Spanisch",
"languageEnglish": "Englisch",
@@ -38,70 +65,71 @@
}
},
"languageUpdatedSystem": "Sprache aktualisiert: System",
"timerSectionTitle": "Sleep timer",
"timerSectionAdd": "Add",
"timerSectionDescription": "Customize the quick presets shown when automatically stopping the radio.",
"timerSectionRestoreRecommended": "Restore recommended times",
"newQuickAccessTitle": "New quick access",
"saveQuickAccessButton": "Save quick access",
"settingsSafeStatus": "Safe",
"recordingsSectionTitle": "Recordings",
"recordingsFolderDialogTitle": "Select recordings folder",
"recordingsPathUpdated": "Recording path updated",
"recordingsPathSaveError": "Could not save the path: {error}",
"recordingsDefaultFolderRestored": "The internal default folder will be used",
"recordingsFolderTitle": "Recordings folder",
"recordingsPathCalculating": "Calculating path...",
"recordingsChangePath": "Change path",
"recordingsUseDefaultPath": "Use default path",
"recordingsOriginalStreamHint": "The radio is saved from the original stream, without recompressing.",
"equalizerActive": "Active",
"equalizerDisabled": "Disabled",
"equalizerEnable": "Enable equalizer",
"equalizerRealtimeSubtitle": "Changes are applied in real time to the current station.",
"equalizerPendingSubtitle": "Changes are saved and will apply when Android enables the effect.",
"equalizerPerStationTitle": "Use custom EQ for this favorite",
"equalizerPerStationActive": "Active for {stationName}",
"equalizerPerStationMain": "Using main EQ for {stationName}",
"preferredStationTitle": "Preferred station",
"preferredStationDescription": "Preselected for new alarms and available for quick playback.",
"preferredStationNoStationsTitle": "No stations available yet",
"preferredStationNoStationsSubtitle": "Save favorites or load stations to choose a preferred one.",
"preferredStationAutomaticFallback": "Automatic fallback",
"preferredStationDefaultFavorite": "Default favorite",
"preferredStationCurrent": "Current preferred: {stationName}",
"preferredStationAutoUsing": "No favorites: automatically using {stationName}",
"preferredStationPlay": "Play preferred",
"customStationsTitle": "Custom stations",
"customStationsAdd": "Add",
"customStationsEmpty": "No custom stations.",
"playAction": "Play",
"deleteAction": "Delete",
"addStationTitle": "Add station",
"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 *",
"requiredField": "Required field",
"streamUrlLabel": "Stream URL *",
"invalidUrl": "Invalid URL",
"countryOptionalLabel": "Country (optional)",
"saveStation": "Save station",
"backupSectionTitle": "Backup",
"backupExportTitle": "Export configuration",
"backupExportSubtitle": "Favorites, custom stations, and EQ presets",
"backupImportTitle": "Import configuration",
"backupImportSubtitle": "Restore from a backup file",
"backupShareSubject": "PluriWave — backup",
"backupShareText": "PluriWave configuration exported on {date}",
"backupExportError": "Export error: {error}",
"backupImportConfirmMessage": "This will add favorites, stations, and presets from the file. Continue?",
"backupImportSuccess": "Configuration imported successfully",
"backupImportError": "Import error: {error}",
"appVersionLoading": "Loading version...",
"appVersionSubtitle": "{version} - World radio",
"savedFavoritesTitle": "Saved favorites",
"stationFilterTitle": "Station filter",
"stationFilterSubtitle": "Only stations verified as active",
"backgroundAudioTitle": "Background audio",
"backgroundAudioSubtitle": "Continues when the screen turns off",
"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": {
@@ -150,13 +178,13 @@
},
"cancelAction": "Abbrechen",
"equalizerTitle": "Equalizer",
"recordingsOpenFolder": "Open folder",
"recordingsOpenFolderError": "Could not open the folder: {error}",
"recordingsMaxSizeTitle": "Maximum recording size",
"recordingsMaxSizeSubtitle": "Current limit: {size} MB",
"recordingsMaxSizeDialogTitle": "Maximum size per recording",
"recordingsMaxSizeMbLabel": "Maximum megabytes",
"recordingsMaxSizeSaved": "Recording limit updated to {size} MB",
"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": {}
@@ -176,33 +204,33 @@
}
}
},
"stationOrderTitle": "Station order",
"stationOrderByName": "By name",
"stationOrderByQuality": "By quality",
"stationOrderScopeDescription": "Applies to favorites, searches, nearby stations and quick lists.",
"favoriteGroupsTitle": "Favorite lists",
"favoriteGroupsDescription": "Create short lists to organize your saved stations.",
"favoriteGroupsAdd": "Add list",
"favoriteGroupsEdit": "Edit list",
"favoriteGroupsDelete": "Delete list",
"favoriteGroupsNameLabel": "List name",
"favoriteGroupsNameTooLong": "Maximum 28 characters.",
"favoriteGroupsUnassigned": "Unassigned",
"favoriteGroupsProtectedHint": "Default list: it cannot be edited or deleted.",
"favoriteGroupsCreated": "List created",
"favoriteGroupsUpdated": "List updated",
"favoriteGroupsDeleted": "List deleted; its stations return to Unassigned.",
"favoriteGroupsAssign": "Move to list",
"favoriteGroupsAssignSubtitle": "Current list: {groupName}",
"favoriteGroupsAssigned": "{stationName} moved to {groupName}",
"favoritesTitle": "Favorites",
"favoritesEmptyTitle": "No favorites yet",
"favoritesEmptySubtitle": "Tap the heart on any station to save it to your collection.",
"favoritesHeaderSubtitle": "Organize your collection by lists and keep important radios close.",
"favoritesCollection": "Collection",
"favoritesSavedCount": "{count} saved",
"favoritesRemoveTooltip": "Remove from favorites",
"favoritesRemovedMessage": "{stationName} removed from favorites",
"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": {}
@@ -226,7 +254,7 @@
"stationName": {}
}
},
"alarmPostponedCurrentExecution": "Alarm postponed for this occurrence.",
"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",
@@ -257,9 +285,9 @@
"languageNameJapanese": "Japanisch",
"languageNameArabic": "Arabisch",
"languageNameRussian": "Russisch",
"homeScreenSubtitle": "Live global radio with clean signals, smart favorites, and a show-style visual experience.",
"exploreStations": "Explore stations",
"stationsCount": "{count} stations",
"homeScreenSubtitle": "Live-Weltradio mit klaren Signalen, intelligenten Favoriten und einer visuellen Game-Show-Erfahrung.",
"exploreStations": "Sender erkunden",
"stationsCount": "{count} Radios",
"@stationsCount": {
"placeholders": {
"count": {
@@ -267,36 +295,36 @@
}
}
},
"qualityHd": "HD quality",
"nearYou": "Near you",
"nearYouInCountry": "Near you ? {country}",
"qualityHd": "HD-Qualität",
"nearYou": "In deiner Nähe",
"nearYouInCountry": "In deiner Nähe · {country}",
"@nearYouInCountry": {
"placeholders": {
"country": {}
}
},
"detectAction": "Detect",
"liveRadar": "Live radar",
"detectAction": "Erkennen",
"liveRadar": "Live-Radar",
"genresTitle": "Genres",
"retryAction": "Retry",
"noStationsAvailable": "No stations available",
"noStationsAvailableSubtitle": "Try refreshing or choosing another genre to capture a signal again.",
"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": "Classical",
"genreElectronic": "Electronic",
"genreNews": "News",
"genreClassical": "Klassik",
"genreElectronic": "Elektronisch",
"genreNews": "Nachrichten",
"genreTalk": "Talk",
"genreHipHop": "Hip-hop",
"genreCountry": "Country",
"genreMetal": "Metal",
"genreReggae": "Reggae",
"genreLatin": "Latin",
"alarmScreenTitle": "Music wake-up",
"alarmScreenSubtitle": "Alarms with radio, safe fallback sound, smart vacations, and the next occurrence always visible.",
"createAlarmAction": "Create alarm",
"alarmsCount": "{count} alarms",
"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": {
@@ -304,10 +332,10 @@
}
}
},
"activeAlarmsWithoutNextTitle": "Active alarms without a next occurrence",
"noActiveAlarms": "No active alarms",
"nextAlarmTitle": "Next alarm",
"activeAlarmsWithoutNextSubtitle": "There are {count} active alarm(s), but they do not currently have a valid future date. Check date, weekdays, and vacations.",
"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": {
@@ -315,9 +343,9 @@
}
}
},
"createAlarmHint": "Create an alarm and PluriWave will calculate the next occurrence automatically.",
"alarmVacationPlay": "Plays during vacations",
"alarmVacationPause": "Paused during vacations",
"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": {
@@ -326,61 +354,61 @@
}
}
},
"alarmNextExecution": "Next occurrence: {date}",
"alarmNextExecution": "Nächste Ausführung: {date}",
"@alarmNextExecution": {
"placeholders": {
"date": {}
}
},
"alarmNoNextExecution": "It has no active next occurrence.",
"alarmSkippedExecution": "One occurrence was skipped: {date}.",
"alarmNoNextExecution": "Keine aktive nächste Ausführung.",
"alarmSkippedExecution": "Eine Ausführung wurde ausgelassen: {date}.",
"@alarmSkippedExecution": {
"placeholders": {
"date": {}
}
},
"editAction": "Edit",
"skipNextAction": "Skip next",
"deleteTooltip": "Delete",
"alarmSkippedNoNextSnackbar": "Alarm skipped. There is no next occurrence left.",
"alarmSkippedReturnsSnackbar": "Alarm skipped. It will return on {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": "It is paused for vacations ({vacationName}) and has no next occurrence.",
"alarmVacationPausedNoNext": "Wegen Ferien ({vacationName}) pausiert und ohne nächste Ausführung.",
"@alarmVacationPausedNoNext": {
"placeholders": {
"vacationName": {}
}
},
"alarmVacationPausedReturns": "It is paused for vacations ({vacationName}) and returns on {date}.",
"alarmVacationPausedReturns": "Wegen Ferien ({vacationName}) pausiert und kehrt am {date} zurück.",
"@alarmVacationPausedReturns": {
"placeholders": {
"vacationName": {},
"date": {}
}
},
"alarmVacationReturns": "With vacations enabled, it will ring again on {date}.",
"alarmVacationReturns": "Mit aktiven Ferien läutet er wieder am {date}.",
"@alarmVacationReturns": {
"placeholders": {
"date": {}
}
},
"defaultAlarmName": "Music alarm",
"newAlarmTitle": "New alarm",
"editAlarmTitle": "Edit alarm",
"defaultAlarmName": "Musikalischer Wecker",
"newAlarmTitle": "Neuer Alarm",
"editAlarmTitle": "Alarm bearbeiten",
"nameField": "Name",
"timeField": "Time",
"dateField": "Date",
"onceOption": "Once",
"dailyOption": "Daily",
"weekdaysOption": "Weekdays",
"soundAndVolumeSection": "Sound and volume",
"alarmFadeInTitle": "Alarm fade-in",
"alarmFadeInOff": "0 s (no transition)",
"alarmFadeInSummary": "{seconds} s (from 5% to the selected volume)",
"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": {
@@ -388,22 +416,22 @@
}
}
},
"internalSafeSoundLabel": "Internal safe sound",
"soundWarmSunrise": "Warm sunrise",
"soundSoftBell": "Soft bell",
"soundDigitalPulse": "Digital pulse",
"favoriteStationLabel": "Favorite station",
"noStationUseInternalSound": "No station: use internal sound",
"saveFavoritesAlarmHint": "Save stations in Favorites to use them as a music alarm.",
"useCurrentStationAction": "Use current station",
"playDuringVacations": "Play during vacations",
"playDuringVacationsHint": "If you turn this off, the next occurrence will jump to the first valid day.",
"saveAlarmAction": "Save alarm",
"chooseOneWeekdayError": "Choose at least one weekday.",
"androidReliabilityReview": "Review Android reliability",
"internalSafeSoundLabel": "Interner Sicherheitston",
"soundWarmSunrise": "Warmer Sonnenaufgang",
"soundSoftBell": "Sanfte Glocke",
"soundDigitalPulse": "Digitaler Puls",
"favoriteStationLabel": "Lieblingssender",
"noStationUseInternalSound": "Kein Sender: internen Ton verwenden",
"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": "pending",
"androidReliabilityStatus": "Reliability: exact {exact} ? notifications {notifications} ? screen {screen}",
"statusPending": "ausstehend",
"androidReliabilityStatus": "Zuverlässigkeit: exakt {exact} · Benachrichtigungen {notifications} · Bildschirm {screen}",
"@androidReliabilityStatus": {
"placeholders": {
"exact": {},
@@ -411,19 +439,165 @@
"screen": {}
}
},
"vacationRangesTitle": "Vacation ranges",
"addAction": "Add",
"vacationRangesHint": "If an alarm is set to \"Paused during vacations\", it automatically skips these ranges.",
"noVacationRangesLoaded": "No ranges loaded.",
"deleteRangeTooltip": "Delete range",
"vacationsDefaultName": "Vacation",
"newVacationRangeTitle": "New vacation range",
"startField": "Start",
"endField": "End",
"saveRangeAction": "Save range",
"noAlarmsYetTitle": "There are no alarms yet.",
"noAlarmsYetSubtitle": "Create one to design your musical wake-up.",
"ringingInternalAudioActive": "Playing with internal safe audio.",
"ringingPreparingInternalAudio": "Preparing internal safe audio.",
"stopAlarmAction": "Stop alarm"
"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",
"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",
"pauseAction": "Pausieren",
"miniPlayerOpenLabel": "Wiedergabe für {stationName} öffnen",
"@miniPlayerOpenLabel": {
"placeholders": {
"stationName": {}
}
},
"playerIconLabel": "Wiedergabe",
"playbackStatusConnecting": "Verbindung wird hergestellt...",
"playbackStatusLive": "Live",
"playbackStatusPaused": "Pausiert",
"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.",
"alarmScheduleOnce": "Einmal · {date}",
"@alarmScheduleOnce": {
"placeholders": {
"date": {}
}
},
"alarmScheduleWeekdays": "Tage: {days}",
"@alarmScheduleWeekdays": {
"placeholders": {
"days": {}
}
},
"androidReliabilityTitle": "Android-Zuverlässigkeit prüfen",
"closeAction": "Schließen",
"customOption": "Benutzerdefiniert",
"endLabel": "Ende",
"equalizerDisable": "Equalizer deaktivieren",
"helpTitle": "Hilfe und Tutorial",
"helpSubtitle": "Funktionen, Tipps und Neuigkeiten von PluriWave ansehen.",
"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"
}