mirror of
https://github.com/Psychotoxical/psysonic.git
synced 2026-07-21 14:55:43 +00:00
e8e41752a7
* feat(playback): global speed with three strategies Add Settings → Audio and player-bar controls for global playback speed (speed with auto pitch correction as default, varispeed, manual pitch shift). Time-stretch runs on a background worker; Orbit sessions force 1.0× passthrough. * fix(playback): align seekbar, seek, and progress on content timeline Unify UI timebase across varispeed and preserve strategies: full-track duration, speed-scaled progress for DSP paths, and content-timeline seeks without varispeed scaling. Reset the sample counter after seek so clicks land correctly; restart playback on strategy/enable changes instead of fragile hot-switching. * fix(ui): anchor playback speed popover like volume controls Replace the centered EQ-style modal with a player-bar popover (outside click, Escape, reposition on scroll). Show compact controls in the bar and overflow menu; keep strategy hints and labels in Settings only. * docs(release): CHANGELOG and credits for playback speed (PR #852) * docs(changelog): add playback speed entry for PR #852 * fix(clippy): simplify raw_counter_samples branch for CI Collapse duplicate if branches flagged by clippy::if-same-then-else. * fix(ui): wheel on pitch slider adjusts pitch in speed popover In compact player-bar controls, scroll over the pitch row changes pitch; elsewhere in the panel changes speed. Stop propagation so overflow menu wheel does not tweak volume. * fix(playback): address PR #852 review and drop ineffective dynamic imports Translate playback-rate strings for de/fr/es/zh/nb/nl/ro; restamp sample counter on live preserve-path speed changes; use neutral rate atomics for radio progress; static-import playerStore in playListenSession (move preview volume sync to previewPlayerVolumeSync side-effect module). * fix(i18n): translate playback-rate strategy labels in all locales Replace leftover English Varispeed/Pitch strings in ru and other non-en settings blocks so popover strategy buttons and hints read natively. * fix(i18n): refine German varispeed label to "Tonhöhe folgt dem Tempo" --------- Co-authored-by: Psychotoxical <171614930+Psychotoxical@users.noreply.github.com>
61 lines
1.9 KiB
TypeScript
61 lines
1.9 KiB
TypeScript
export const player = {
|
|
regionLabel: 'Music Player',
|
|
openFullscreen: 'Open Fullscreen Player',
|
|
fullscreen: 'Fullscreen Player',
|
|
closeFullscreen: 'Close Fullscreen',
|
|
closeTooltip: 'Close (Esc)',
|
|
noTitle: 'No Title',
|
|
stop: 'Stop',
|
|
prev: 'Previous Track',
|
|
play: 'Play',
|
|
pause: 'Pause',
|
|
bufferingStream: 'Loading track from server',
|
|
previewActive: 'Preview playing',
|
|
previewLabel: 'Preview',
|
|
delayModalTitle: 'Timer',
|
|
delayPauseSection: 'Pause after',
|
|
delayStartSection: 'Start after',
|
|
delayPreviewPause: 'Pauses at',
|
|
delayPreviewStart: 'Starts at',
|
|
delaySchedulePause: 'Schedule pause',
|
|
delayScheduleStart: 'Schedule start',
|
|
delayCancelPause: 'Cancel pause timer',
|
|
delayCancelStart: 'Cancel start timer',
|
|
delayInactivePause: 'Available only while something is playing.',
|
|
delayInactiveStart: 'Available when paused with a track or radio loaded.',
|
|
delayCustomMinutes: 'Custom delay (minutes)',
|
|
delayCustomPlaceholder: 'e.g. 2.5',
|
|
closeDelayModal: 'Close',
|
|
delayIn: 'in',
|
|
delayFmtSec: '{{n}}s',
|
|
delayFmtMin: '{{n}} min',
|
|
delayFmtHr: '{{n}} h',
|
|
delayCancel: 'Cancel',
|
|
delayApply: 'Apply',
|
|
next: 'Next Track',
|
|
repeat: 'Repeat',
|
|
repeatOff: 'Off',
|
|
repeatAll: 'All',
|
|
repeatOne: 'One',
|
|
progress: 'Song Progress',
|
|
volume: 'Volume',
|
|
mute: 'Mute',
|
|
unmute: 'Unmute',
|
|
toggleQueue: 'Toggle Queue',
|
|
collapseQueueResize: 'Collapse queue, resize',
|
|
moreOptions: 'More options',
|
|
equalizer: 'Equalizer',
|
|
playbackRate: 'Playback speed',
|
|
miniPlayer: 'Mini Player',
|
|
lyrics: 'Lyrics',
|
|
fsLyricsToggle: 'Lyrics in fullscreen',
|
|
lyricsLoading: 'Loading lyrics…',
|
|
lyricsNotFound: 'No lyrics found for this track',
|
|
lyricsSourceServer: 'Source: Server',
|
|
lyricsSourceLrclib: 'Source: LRCLIB',
|
|
lyricsSourceNetease: 'Source: Netease',
|
|
lyricsSourceLyricsplus: 'Source: YouLyPlus',
|
|
showDuration: 'Show duration',
|
|
showRemainingTime: 'Show remaining time',
|
|
};
|