Files
psysonic/src/locales/de/radio.ts
T
Frank Stellmacher d7abf9be3b fix(radio): card polish and paused streams stop auto-resuming (#786)
* refactor(playback): extract fadeOut helper

Used by playAlbum.ts today; about to be reused for the radio delete
fade-out so it lives in its own module instead of being copy-pasted.

* fix(player): disable Repeat button while a radio stream is active

Matches the Prev / Next buttons that already gate on isRadio — repeat
has no meaning for a live stream, and the live tooltip plus accent
colour suggested it was interactive.

* fix(radio): fade out before deleting the playing station

Mirrors the 700 ms fade-out playAlbum uses on track changes — beats
the abrupt cut when the deleted station is the one currently on air.

* fix(radio): add Play/Stop tooltip to the cover-overlay button

Cast / X icon now describes itself, matching the favourite and delete
buttons that already had tooltips.

* fix(radio): use Square stop icon on the active card

The play-overlay and delete buttons both used X, making it ambiguous
which click stopped the stream and which deleted the station. Stop
gets a filled Square; delete keeps its X.

* fix(radio): cancel auto-reconnect when the user pauses a stream

Closes #779.

Root cause: a 'stalled' event during a paused stream still scheduled a
4 s reconnect timer that called play(), and the timer was not cancelled
on pauseRadio(). On macOS WKWebView the underlying TCP socket droops
roughly a minute after pause, the browser fires 'stalled', and the
stream resumes against the user's intent. The store's isPlaying flag
stays false because nothing on the reconnect path syncs it, so the
play/pause button stops matching reality.

Fix: skip the schedule when radioAudio.paused, re-check inside the
timer callback (covers a pause within the 4 s window), and clear any
pending timer in pauseRadio().

* docs: changelog for radio card polish + paused-stream fix (#786)
2026-05-18 22:10:04 +02:00

38 lines
1.2 KiB
TypeScript

export const radio = {
title: 'Internetradio',
empty: 'Keine Radiosender konfiguriert.',
addStation: 'Sender hinzufügen',
editStation: 'Bearbeiten',
playStation: 'Sender abspielen',
stopStation: 'Sender stoppen',
deleteStation: 'Sender löschen',
confirmDelete: 'Zum Bestätigen erneut klicken',
stationName: 'Sendername…',
streamUrl: 'Stream-URL…',
homepageUrl: 'Homepage-URL (optional)',
save: 'Speichern',
cancel: 'Abbrechen',
live: 'LIVE',
liveStream: 'Internetradio',
openHomepage: 'Homepage öffnen',
changeCoverLabel: 'Cover ändern',
removeCover: 'Cover entfernen',
browseDirectory: 'Verzeichnis durchsuchen',
directoryPlaceholder: 'Sender suchen…',
noResults: 'Keine Sender gefunden.',
stationAdded: 'Sender hinzugefügt',
filterAll: 'Alle',
filterFavorites: 'Favoriten',
sortManual: 'Manuell',
sortAZ: 'A → Z',
sortZA: 'Z → A',
sortNewest: 'Neueste',
favorite: 'Zu Favoriten hinzufügen',
unfavorite: 'Aus Favoriten entfernen',
noFavorites: 'Keine Lieblingssender.',
listenerCount_one: '{{count}} Hörer',
listenerCount_other: '{{count}} Hörer',
recentlyPlayed: 'Zuletzt gespielt',
upNext: 'Als Nächstes',
};