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
2.0 KiB
TypeScript
61 lines
2.0 KiB
TypeScript
export const player = {
|
|
regionLabel: 'Muziekspeler',
|
|
openFullscreen: 'Volledig-schermspeler openen',
|
|
fullscreen: 'Volledig-schermspeler',
|
|
closeFullscreen: 'Volledig scherm sluiten',
|
|
closeTooltip: 'Sluiten (Escape)',
|
|
noTitle: 'Geen titel',
|
|
stop: 'Stoppen',
|
|
prev: 'Vorig nummer',
|
|
play: 'Afspelen',
|
|
pause: 'Pauzeren',
|
|
bufferingStream: 'Loading track from server',
|
|
previewActive: 'Voorbeeld speelt af',
|
|
previewLabel: 'Voorbeeld',
|
|
delayModalTitle: 'Timer',
|
|
delayPauseSection: 'Pauzeren na',
|
|
delayStartSection: 'Starten na',
|
|
delayPreviewPause: 'Pauze om',
|
|
delayPreviewStart: 'Start om',
|
|
delaySchedulePause: 'Pauze plannen',
|
|
delayScheduleStart: 'Start plannen',
|
|
delayCancelPause: 'Pauze-timer annuleren',
|
|
delayCancelStart: 'Start-timer annuleren',
|
|
delayInactivePause: 'Alleen beschikbaar tijdens afspelen.',
|
|
delayInactiveStart: 'Alleen in pauze met een geladen nummer of radio.',
|
|
delayCustomMinutes: 'Aangepaste vertraging (minuten)',
|
|
delayCustomPlaceholder: 'bijv. 2,5',
|
|
closeDelayModal: 'Sluiten',
|
|
delayIn: 'over',
|
|
delayFmtSec: '{{n}} s',
|
|
delayFmtMin: '{{n}} min',
|
|
delayFmtHr: '{{n}} u',
|
|
delayCancel: 'Annuleren',
|
|
delayApply: 'Toepassen',
|
|
next: 'Volgend nummer',
|
|
repeat: 'Herhalen',
|
|
repeatOff: 'Uit',
|
|
repeatAll: 'Alles',
|
|
repeatOne: 'Één',
|
|
progress: 'Nummervoortgang',
|
|
volume: 'Volume',
|
|
mute: 'Dempen',
|
|
unmute: 'Dempen opheffen',
|
|
toggleQueue: 'Wachtrij in-/uitschakelen',
|
|
collapseQueueResize: 'Wachtrij inklappen, breedte wijzigen',
|
|
moreOptions: 'Meer opties',
|
|
equalizer: 'Equalizer',
|
|
playbackRate: 'Snelheid',
|
|
miniPlayer: 'Minispeler',
|
|
lyrics: 'Songtekst',
|
|
fsLyricsToggle: 'Songtekst in volledig scherm',
|
|
lyricsLoading: 'Songtekst laden…',
|
|
lyricsNotFound: 'Geen songtekst gevonden voor dit nummer',
|
|
lyricsSourceServer: 'Bron: Server',
|
|
lyricsSourceLrclib: 'Bron: LRCLIB',
|
|
lyricsSourceNetease: 'Bron: Netease',
|
|
lyricsSourceLyricsplus: 'Bron: YouLyPlus',
|
|
showDuration: 'Toon duur',
|
|
showRemainingTime: 'Toon resterende tijd',
|
|
};
|