mirror of
https://github.com/Psychotoxical/psysonic.git
synced 2026-07-21 23:05:46 +00:00
efd85ffde3
* feat(tracklist): play count, last played, and BPM columns (#516) Adds three opt-in columns to Album / Playlist / Favorites tracklists, plus the same fields in the Song Info modal. Picks up Navidrome's existing `playCount` / `played` / `bpm` from the Subsonic response — no new API calls. - `SubsonicSong` gains `playCount`, `played`, `bpm` (already populated by Navidrome's Subsonic API, just unmapped in the TS model). - `albumTrackListHelpers.COLUMNS`, `PL_COLUMNS` (PlaylistDetail), and `FAV_COLUMNS` (Favorites) get the three new entries. Genre also added to the playlist column set for parity with the other two lists. - Render uses `.track-duration` (12px tabular, centered, muted) for the numeric stats and `.track-genre` (11px text, muted) for the relative last-played timestamp via the existing `formatLastSeen` helper. - Sort logic extended in `playlistDisplayedSongs`, `useAlbumDetailSort`, and `useFavoritesSongFiltering` for the three new keys. - `SongInfoModal` gets matching rows (BPM / Play count / Last played). - `useTracklistColumns.gridTemplate` / `gridMinWidth` fall back to the ColDef's `defaultWidth` when a visible column has no saved width (newly added column on an old prefs blob would otherwise emit `undefinedpx` and collapse the row layout until reset-to-defaults). - BPM cells skip the rendering when Navidrome returns 0 (default for untagged files) — show `—` instead of `0`. - i18n: `albumDetail.trackPlayCount / trackLastPlayed / trackBpm` and `songInfo.playCount / lastPlayed / bpm` in all 9 locales. Suggested by jbigginswyl (#516). * docs(changelog): tracklist Plays / Last played / BPM columns (#730)
27 lines
684 B
TypeScript
27 lines
684 B
TypeScript
export const songInfo = {
|
|
title: 'Información de Canción',
|
|
songTitle: 'Título',
|
|
artist: 'Artista',
|
|
album: 'Álbum',
|
|
albumArtist: 'Artista del Álbum',
|
|
year: 'Año',
|
|
genre: 'Género',
|
|
duration: 'Duración',
|
|
track: 'Pista',
|
|
bpm: 'BPM',
|
|
playCount: 'Reproducciones',
|
|
lastPlayed: 'Última reproducción',
|
|
format: 'Formato',
|
|
bitrate: 'Bitrate',
|
|
sampleRate: 'Frecuencia de Muestreo',
|
|
bitDepth: 'Profundidad de Bits',
|
|
channels: 'Canales',
|
|
fileSize: 'Tamaño de Archivo',
|
|
path: 'Ruta',
|
|
replayGainTrack: 'RG Ganancia de Pista',
|
|
replayGainAlbum: 'RG Ganancia de Álbum',
|
|
replayGainPeak: 'RG Pico de Pista',
|
|
mono: 'Mono',
|
|
stereo: 'Estéreo',
|
|
};
|