mirror of
https://github.com/kilyabin/psysonic.git
synced 2026-07-22 06:25:41 +00:00
feat(settings): clock format setting (Auto / 24h / 12h) (#742)
* feat(settings): clock format setting (Auto / 24h / 12h) Reported on the Psysonic Discord — the Queue side panel's ETA label and the sleep-timer preview both render via `formatClockTime`, which just calls `toLocaleTimeString` and so follows the user's system locale. On en-US that means AM/PM, with no in-app way out. Add a tri-state **Clock Format** setting under **Settings → System → App Behavior**: * `auto` (default) — keep the existing locale-driven behaviour, so bestehende installs are unaffected on first launch. * `24h` — force 24-hour wall-clock output everywhere `formatClockTime` is used. * `12h` — force AM/PM output. Wired through `authStore` (`clockFormat`, `setClockFormat`), exposed via `CustomSelect` in `SystemTab`, and threaded into the two consumers (`QueueHeader`, `PlaybackDelayModal`) so they re-render on change. `formatClockTime` itself stays a pure helper — it accepts the setting as an optional second argument and maps it to `hour12`. Locale coverage: all nine bundled locales (en, de, es, fr, nl, nb, ru, zh, ro) get the four new settings strings. Pin tests added for the `setClockFormat` setter and the `hour12` mapping in `formatClockTime`. * docs(changelog): clock format setting + contributors (PR #742)
This commit is contained in:
committed by
GitHub
parent
02e23b5755
commit
606a150e01
@@ -170,6 +170,11 @@ export const settings = {
|
||||
showTrayIconDesc: 'Psysonic-Icon im System-Tray / in der Menüleiste anzeigen.',
|
||||
minimizeToTray: 'Im Tray minimieren',
|
||||
minimizeToTrayDesc: 'Beim Schließen des Fensters läuft Psysonic weiter im System-Tray statt zu beenden.',
|
||||
clockFormat: 'Uhrzeitformat',
|
||||
clockFormatDesc: 'Format für die Queue-ETA und die Vorschau des Sleep-Timers.',
|
||||
clockFormatAuto: 'Automatisch (Systemsprache)',
|
||||
clockFormatTwentyFour: '24-Stunden',
|
||||
clockFormatTwelve: '12-Stunden (AM/PM)',
|
||||
preloadMiniPlayer: 'Mini-Player vorladen',
|
||||
preloadMiniPlayerDesc: 'Baut das Mini-Player-Fenster beim App-Start im Hintergrund auf, damit es beim ersten Öffnen sofort Inhalt zeigt. Kostet etwas mehr RAM.',
|
||||
discordRichPresence: 'Discord Rich Presence',
|
||||
|
||||
@@ -173,6 +173,11 @@ export const settings = {
|
||||
showTrayIconDesc: 'Display the Psysonic icon in the system notification area / menu bar.',
|
||||
minimizeToTray: 'Minimize to Tray',
|
||||
minimizeToTrayDesc: 'When closing the window, keep Psysonic running in the system tray instead of quitting.',
|
||||
clockFormat: 'Clock Format',
|
||||
clockFormatDesc: 'Wall-clock display used by the queue ETA and the sleep-timer preview.',
|
||||
clockFormatAuto: 'Auto (system locale)',
|
||||
clockFormatTwentyFour: '24-hour',
|
||||
clockFormatTwelve: '12-hour (AM/PM)',
|
||||
preloadMiniPlayer: 'Preload mini player',
|
||||
preloadMiniPlayerDesc: 'Build the mini player window in the background at app start so it shows content instantly on first open. Uses a little extra memory.',
|
||||
discordRichPresence: 'Discord Rich Presence',
|
||||
|
||||
@@ -170,6 +170,11 @@ export const settings = {
|
||||
showTrayIconDesc: 'Muestra el icono de Psysonic en el área de notificación / barra de menú.',
|
||||
minimizeToTray: 'Minimizar a Bandeja',
|
||||
minimizeToTrayDesc: 'Al cerrar la ventana, mantener Psysonic ejecutándose en la bandeja del sistema en lugar de salir.',
|
||||
clockFormat: 'Formato de hora',
|
||||
clockFormatDesc: 'Formato del reloj utilizado por la ETA de la cola y la vista previa del temporizador de suspensión.',
|
||||
clockFormatAuto: 'Automático (idioma del sistema)',
|
||||
clockFormatTwentyFour: '24 horas',
|
||||
clockFormatTwelve: '12 horas (AM/PM)',
|
||||
preloadMiniPlayer: 'Precargar mini reproductor',
|
||||
preloadMiniPlayerDesc: 'Crea la ventana del mini reproductor en segundo plano al iniciar la aplicación para que muestre contenido al instante la primera vez que se abre. Consume un poco más de memoria.',
|
||||
discordRichPresence: 'Discord Rich Presence',
|
||||
|
||||
@@ -170,6 +170,11 @@ export const settings = {
|
||||
showTrayIconDesc: 'Affiche l\'icône Psysonic dans la zone de notification / barre des menus.',
|
||||
minimizeToTray: 'Réduire dans la barre système',
|
||||
minimizeToTrayDesc: 'Lors de la fermeture, Psysonic continue de fonctionner dans la barre système au lieu de se fermer.',
|
||||
clockFormat: 'Format de l\'heure',
|
||||
clockFormatDesc: 'Format de l\'horloge utilisé par l\'ETA de la file d\'attente et l\'aperçu du minuteur de mise en veille.',
|
||||
clockFormatAuto: 'Automatique (langue du système)',
|
||||
clockFormatTwentyFour: '24 heures',
|
||||
clockFormatTwelve: '12 heures (AM/PM)',
|
||||
preloadMiniPlayer: 'Précharger le mini-lecteur',
|
||||
preloadMiniPlayerDesc: 'Construit la fenêtre du mini-lecteur en arrière-plan au démarrage de l\'application afin qu\'elle affiche son contenu instantanément à la première ouverture. Utilise un peu plus de mémoire.',
|
||||
linuxWebkitSmoothScroll: 'Molette fluide (Linux)',
|
||||
|
||||
@@ -169,6 +169,11 @@ export const settings = {
|
||||
showOrbitTriggerDesc: 'Knappen i toppen for å starte eller bli med i en delt lytteøkt. Skjul den hvis du ikke bruker Orbit — du kan slå den på igjen her.',
|
||||
minimizeToTray: 'Minimer til oppgavelinjen',
|
||||
minimizeToTrayDesc: 'Når vinduet lukkes, vil Psysonic bli kjørende i oppgavelinjen fremfor å bli avsluttet.',
|
||||
clockFormat: 'Klokkeformat',
|
||||
clockFormatDesc: 'Klokkevisning brukt av kø-ETA og forhåndsvisningen av hviletimeren.',
|
||||
clockFormatAuto: 'Automatisk (systemspråk)',
|
||||
clockFormatTwentyFour: '24-timers',
|
||||
clockFormatTwelve: '12-timers (AM/PM)',
|
||||
preloadMiniPlayer: 'Forhåndslast miniavspiller',
|
||||
preloadMiniPlayerDesc: 'Bygger miniavspiller-vinduet i bakgrunnen ved appstart slik at det viser innhold umiddelbart ved første åpning. Bruker litt mer minne.',
|
||||
linuxWebkitSmoothScroll: 'Mykt musehjul (Linux)',
|
||||
|
||||
@@ -170,6 +170,11 @@ export const settings = {
|
||||
showTrayIconDesc: 'Toont het Psysonic-pictogram in het systeemvak / de menubalk.',
|
||||
minimizeToTray: 'Minimaliseren naar systeemvak',
|
||||
minimizeToTrayDesc: 'Bij het sluiten van het venster blijft Psysonic actief in het systeemvak in plaats van af te sluiten.',
|
||||
clockFormat: 'Tijdformaat',
|
||||
clockFormatDesc: 'Tijdsweergave voor de wachtrij-ETA en het voorbeeld van de slaaptimer.',
|
||||
clockFormatAuto: 'Automatisch (systeemtaal)',
|
||||
clockFormatTwentyFour: '24-uurs',
|
||||
clockFormatTwelve: '12-uurs (AM/PM)',
|
||||
preloadMiniPlayer: 'Mini-speler vooraf laden',
|
||||
preloadMiniPlayerDesc: 'Bouwt het venster van de mini-speler op de achtergrond bij het opstarten van de app, zodat het bij de eerste opening direct inhoud toont. Gebruikt iets meer geheugen.',
|
||||
linuxWebkitSmoothScroll: 'Vloeiend muiswiel (Linux)',
|
||||
|
||||
@@ -173,6 +173,11 @@ export const settings = {
|
||||
showTrayIconDesc: 'Afișează iconița Psysonic în zona notificărilor de sistem / bara de meniu.',
|
||||
minimizeToTray: 'Minimizează în Tavă',
|
||||
minimizeToTrayDesc: 'La închiderea ferestrei, continuă rularea Psysonic în tava de sistem în loc de ieșire',
|
||||
clockFormat: 'Format Oră',
|
||||
clockFormatDesc: 'Format al ceasului folosit pentru ETA-ul cozii și previzualizarea cronometrului de somn.',
|
||||
clockFormatAuto: 'Automat (limba sistemului)',
|
||||
clockFormatTwentyFour: '24 de ore',
|
||||
clockFormatTwelve: '12 ore (AM/PM)',
|
||||
preloadMiniPlayer: 'Preîncarcă mini player',
|
||||
preloadMiniPlayerDesc: 'Crează fereastra mini player în fundal la deschiderea aplicației pentru a arăta conținut instantaneu la prima deschidere. Folosește puțină extra memorie.',
|
||||
discordRichPresence: 'Prezență Discord Rich',
|
||||
|
||||
@@ -176,6 +176,11 @@ export const settings = {
|
||||
showTrayIconDesc: 'Показывать Psysonic в области уведомлений / строке меню.',
|
||||
minimizeToTray: 'Сворачивать в трей',
|
||||
minimizeToTrayDesc: 'При закрытии окна не выходить из приложения, а оставаться в трее.',
|
||||
clockFormat: 'Формат времени',
|
||||
clockFormatDesc: 'Формат времени для ETA очереди и предпросмотра таймера сна.',
|
||||
clockFormatAuto: 'Авто (системный)',
|
||||
clockFormatTwentyFour: '24-часовой',
|
||||
clockFormatTwelve: '12-часовой (AM/PM)',
|
||||
preloadMiniPlayer: 'Предзагрузка мини-плеера',
|
||||
preloadMiniPlayerDesc: 'Создаёт окно мини-плеера в фоне при запуске приложения, чтобы при первом открытии содержимое отображалось мгновенно. Использует немного больше памяти.',
|
||||
useCustomTitlebar: 'Своя строка заголовка',
|
||||
|
||||
@@ -170,6 +170,11 @@ export const settings = {
|
||||
showTrayIconDesc: '在系统通知区域 / 菜单栏显示 Psysonic 图标。',
|
||||
minimizeToTray: '最小化到托盘',
|
||||
minimizeToTrayDesc: '关闭窗口时,Psysonic 将继续在系统托盘中运行,而不是退出。',
|
||||
clockFormat: '时间格式',
|
||||
clockFormatDesc: '队列预计结束时间和睡眠定时器预览使用的时间格式。',
|
||||
clockFormatAuto: '自动(跟随系统)',
|
||||
clockFormatTwentyFour: '24 小时制',
|
||||
clockFormatTwelve: '12 小时制(AM/PM)',
|
||||
preloadMiniPlayer: '预加载迷你播放器',
|
||||
preloadMiniPlayerDesc: '在应用启动时于后台构建迷你播放器窗口,使其首次打开即可立即显示内容。会占用少量额外内存。',
|
||||
linuxWebkitSmoothScroll: '滚轮平滑(Linux)',
|
||||
|
||||
Reference in New Issue
Block a user