Files
psysonic/src/locales/ro/nowPlaying.ts
T
Psychotoxical c1403f8bd6 feat: now-playing liveness dot + admin-gated radio management (#1086)
* feat(now-playing): liveness indicator dot in the listening popover

Replace the raw "Nm ago" line in the "Who is listening?" popover with a
derived presence dot (green playing / amber paused / dim idle). The presence
is computed in one tested helper that unifies the playbackReport transport
state with the legacy getNowPlaying recency, instead of formatting a raw
timestamp inline. The dot carries the localized status as an aria-label and
tooltip so it is not conveyed by colour alone.

* feat(radio): gate station create/edit/delete behind Navidrome admin role

Navidrome >= 0.62 restricts internet-radio management to admins
(GHSA-jw24-qqrj-633c); non-admin requests fail. Hide Add Station, Search
Directory, the per-card edit chip and delete button for confirmed standard
Navidrome users via a canManageNavidromeRadio() helper on the existing
useNavidromeAdminRole framework. Admins, non-Navidrome servers and transient
states stay unrestricted; playback and favourites remain available to all.

* docs(changelog): now-playing status dot + admin-gated radio (#1086)
2026-06-14 01:30:25 +02:00

49 lines
1.5 KiB
TypeScript
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.
export const nowPlaying = {
tooltip: 'Cine ascultă?',
title: 'Cine ascultă?',
loading: 'Se încarcă…',
nobody: 'Nimeni nu ascultă momentan.',
presence: {
playing: 'Redă',
paused: 'Pe pauză',
idle: 'Inactiv',
},
nothingPlaying: 'Nu se redă nimic încă. Începe o piesă!',
aboutArtist: 'Despre Artist',
fromAlbum: 'Din acest Album',
viewAlbum: 'Vezi Albumul',
goToArtist: 'Către Artist',
readMore: 'Mai mult',
showLess: 'Mai puțin',
genreInfo: 'Gen',
trackInfo: 'Informații despre Piesă',
topSongs: 'Cele mai redate din acest artist',
topSongsCredit: 'Top piese de la {{name}}',
trackPosition: 'Piesa {{pos}}',
playsCount_one: '{{count}} redare',
playsCount_other: '{{count}} redări',
releasedYearsAgo_one: 'acum {{count}} an',
releasedYearsAgo_other: 'acum {{count}} ani',
discography: 'Discografie',
thisTrack: 'Această piesă',
thisArtist: 'Acest artist',
listeners: 'ascultători',
scrobbles: 'scrobble-uri',
yourScrobbles: 'de tine',
listenersN: '{{n}} ascultători',
scrobblesN: '{{n}} scrobble-uri',
playsByYouN: 'redate {{n}}× de tine',
rgTrackTooltip: 'ReplayGain (piesă)',
rgAlbumTooltip: 'ReplayGain (album)',
rgAutoTooltip: 'ReplayGain (auto)',
showMoreTracks: 'Arată încă {{count}}',
showLessTracks: 'Arată mai puțin',
hideCard: 'Ascunde cardul',
layoutMenu: 'Layout',
visibleCards: 'Carduri vizibile',
hiddenCards: 'Carduri ascunse',
noHiddenCards: 'Niciun card ascuns',
resetLayout: 'Resetează layout-ul',
emptyColumn: 'Lasă cardurile aici',
};