From 4483552c940990bc94cc875fe8bf6514ce4b318a Mon Sep 17 00:00:00 2001 From: Frank Stellmacher <171614930+Psychotoxical@users.noreply.github.com> Date: Sun, 3 May 2026 00:33:28 +0200 Subject: [PATCH] fix(i18n): backfill shortcut labels for #435 in 7 locales (#436) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(i18n): backfill 10 settings.shortcut* keys for #435 PR #435 added 10 new settings.shortcut* labels to en.ts (start search, advanced search, toggle sidebar, mute, equalizer, repeat, open now playing, lyrics, favorite current track, open help) but left the other 7 locales without translations — i18next would fall back to English at runtime. Adding translations for de, fr, nl, zh, nb, ru, es in the same position as en.ts (right after shortcutOpenMiniPlayer), styled after the existing shortcut* entries in each locale. * docs(changelog): add #435 shortcuts action-registry entry * chore(credits): add #435 to cucadmuh's contributions --- CHANGELOG.md | 11 +++++++++++ src/locales/de.ts | 10 ++++++++++ src/locales/es.ts | 10 ++++++++++ src/locales/fr.ts | 10 ++++++++++ src/locales/nb.ts | 10 ++++++++++ src/locales/nl.ts | 10 ++++++++++ src/locales/ru.ts | 10 ++++++++++ src/locales/zh.ts | 10 ++++++++++ src/pages/Settings.tsx | 1 + 9 files changed, 82 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b0b2df9d..34cabcac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -131,6 +131,17 @@ A new chevron next to the queue title **collapses the Now Playing section and qu The currently playing row in the queue list is now indicated by **animated equalizer bars** to the left of the track title; the bars freeze in place when playback is paused. The previous small play icon next to the title is removed since the EQ bars carry the same signal more clearly. +### Shortcuts — Action Registry, Dynamic CLI Help, New Input Targets + +**By [@cucadmuh](https://github.com/cucadmuh), PR [#435](https://github.com/Psychotoxical/psysonic/pull/435)** + +Shortcut, keyboard, global-hotkey, mini-window and CLI inputs are now all routed through one TypeScript action registry — a single source of truth for what an action does, how it's labelled, and which input transports can fire it. CLI `--player help` is generated dynamically from the registry, so command coverage stays in sync with the action set automatically. + +Nine new input actions were added (requested by @zunoz on Discord): start search, start advanced search, toggle sidebar, mute, open / toggle equalizer, toggle repeat, open Now Playing, show lyrics, favorite current track. Help is bound to **F1** by default and hidden from the Settings input list; existing users get the F1 binding back-filled into their persisted keybindings on next launch. + +Translations for the new action labels follow in a separate i18n nachhol-PR (de, fr, nl, zh, nb, ru, es). + + ## Fixed - **Settings → Audio no longer blanks the app on macOS** *(Issue [#382](https://github.com/Psychotoxical/psysonic/issues/382), PR [#384](https://github.com/Psychotoxical/psysonic/pull/384), by [@Psychotoxical](https://github.com/Psychotoxical))*: Fixed a macOS-only crash where opening Settings → Audio could turn the whole app into a blank window. The Equalizer canvas now waits until it has valid layout dimensions before drawing, and redraws automatically once the section is visible. diff --git a/src/locales/de.ts b/src/locales/de.ts index b69a5aca..f1e3ea86 100644 --- a/src/locales/de.ts +++ b/src/locales/de.ts @@ -808,6 +808,16 @@ export const deTranslation = { shortcutFullscreenPlayer: 'Vollbild-Player', shortcutNativeFullscreen: 'Nativer Vollbildmodus', shortcutOpenMiniPlayer: 'Mini-Player öffnen', + shortcutStartSearch: 'Suche starten', + shortcutStartAdvancedSearch: 'Erweiterte Suche starten', + shortcutToggleSidebar: 'Seitenleiste umschalten', + shortcutMuteSound: 'Stumm schalten', + shortcutToggleEqualizer: 'Equalizer öffnen / umschalten', + shortcutToggleRepeat: 'Wiederholen umschalten', + shortcutOpenNowPlaying: '„Now Playing" öffnen', + shortcutShowLyrics: 'Songtexte anzeigen', + shortcutFavoriteCurrentTrack: 'Aktuellen Titel zu Favoriten hinzufügen', + shortcutOpenHelp: 'Hilfe', tabSystem: 'System', loggingTitle: 'Protokollierung', loggingModeDesc: 'Steuert die Ausführlichkeit der Backend-Protokolle im Terminal.', diff --git a/src/locales/es.ts b/src/locales/es.ts index 3d338986..7f16c9fe 100644 --- a/src/locales/es.ts +++ b/src/locales/es.ts @@ -831,6 +831,16 @@ export const esTranslation = { shortcutFullscreenPlayer: 'Reproductor pantalla completa', shortcutNativeFullscreen: 'Pantalla completa nativa', shortcutOpenMiniPlayer: 'Abrir mini reproductor', + shortcutStartSearch: 'Iniciar una búsqueda', + shortcutStartAdvancedSearch: 'Iniciar una búsqueda avanzada', + shortcutToggleSidebar: 'Alternar barra lateral', + shortcutMuteSound: 'Silenciar', + shortcutToggleEqualizer: 'Abrir / alternar ecualizador', + shortcutToggleRepeat: 'Alternar repetición', + shortcutOpenNowPlaying: 'Abrir "Reproduciendo ahora"', + shortcutShowLyrics: 'Mostrar letra', + shortcutFavoriteCurrentTrack: 'Añadir pista actual a favoritos', + shortcutOpenHelp: 'Ayuda', playbackTitle: 'Reproducción', replayGain: 'Replay Gain', replayGainDesc: 'Normalizar volumen de pistas usando metadatos ReplayGain', diff --git a/src/locales/fr.ts b/src/locales/fr.ts index 432715c8..2d5e3501 100644 --- a/src/locales/fr.ts +++ b/src/locales/fr.ts @@ -796,6 +796,16 @@ export const frTranslation = { shortcutFullscreenPlayer: 'Lecteur plein écran', shortcutNativeFullscreen: 'Plein écran natif', shortcutOpenMiniPlayer: 'Ouvrir le mini-lecteur', + shortcutStartSearch: 'Lancer une recherche', + shortcutStartAdvancedSearch: 'Lancer une recherche avancée', + shortcutToggleSidebar: 'Afficher / masquer la barre latérale', + shortcutMuteSound: 'Couper le son', + shortcutToggleEqualizer: 'Ouvrir / basculer l\'égaliseur', + shortcutToggleRepeat: 'Basculer la répétition', + shortcutOpenNowPlaying: 'Ouvrir « En cours »', + shortcutShowLyrics: 'Afficher les paroles', + shortcutFavoriteCurrentTrack: 'Ajouter la piste actuelle aux favoris', + shortcutOpenHelp: 'Aide', tabSystem: 'Système', loggingTitle: 'Journalisation', loggingModeDesc: 'Contrôle le niveau de verbosité des journaux backend dans le terminal.', diff --git a/src/locales/nb.ts b/src/locales/nb.ts index cc40080d..dc922265 100644 --- a/src/locales/nb.ts +++ b/src/locales/nb.ts @@ -825,6 +825,16 @@ export const nbTranslation = { shortcutFullscreenPlayer: 'Fullskjermsspiller', shortcutNativeFullscreen: 'Naturlig fullskjerm', shortcutOpenMiniPlayer: 'Åpne minispiller', + shortcutStartSearch: 'Start et søk', + shortcutStartAdvancedSearch: 'Start et avansert søk', + shortcutToggleSidebar: 'Veksle sidefelt', + shortcutMuteSound: 'Demp lyd', + shortcutToggleEqualizer: 'Åpne / veksle Equalizer', + shortcutToggleRepeat: 'Veksle gjenta', + shortcutOpenNowPlaying: 'Åpne "Spilles nå"', + shortcutShowLyrics: 'Vis sangtekst', + shortcutFavoriteCurrentTrack: 'Legg gjeldende spor til favoritter', + shortcutOpenHelp: 'Hjelp', playbackTitle: 'Avspilling', replayGain: 'Replay Gain', replayGainDesc: 'Normaliser sporvolumet ved hjelp av ReplayGain-metadata', diff --git a/src/locales/nl.ts b/src/locales/nl.ts index f205473c..54f82be7 100644 --- a/src/locales/nl.ts +++ b/src/locales/nl.ts @@ -795,6 +795,16 @@ export const nlTranslation = { shortcutFullscreenPlayer: 'Volledigschermspeler', shortcutNativeFullscreen: 'Systeemvolledig scherm', shortcutOpenMiniPlayer: 'Mini-speler openen', + shortcutStartSearch: 'Zoekopdracht starten', + shortcutStartAdvancedSearch: 'Geavanceerde zoekopdracht starten', + shortcutToggleSidebar: 'Zijbalk in-/uitschakelen', + shortcutMuteSound: 'Geluid dempen', + shortcutToggleEqualizer: 'Equalizer openen / schakelen', + shortcutToggleRepeat: 'Herhaling schakelen', + shortcutOpenNowPlaying: '"Nu speelt" openen', + shortcutShowLyrics: 'Songtekst tonen', + shortcutFavoriteCurrentTrack: 'Huidig nummer aan favorieten toevoegen', + shortcutOpenHelp: 'Help', tabSystem: 'Systeem', loggingTitle: 'Logboek', loggingModeDesc: 'Bepaalt de uitgebreidheid van backendlogs in de terminal.', diff --git a/src/locales/ru.ts b/src/locales/ru.ts index 23413b26..13f03449 100644 --- a/src/locales/ru.ts +++ b/src/locales/ru.ts @@ -877,6 +877,16 @@ export const ruTranslation = { shortcutFullscreenPlayer: 'Полноэкранный плеер', shortcutNativeFullscreen: 'Системный полный экран', shortcutOpenMiniPlayer: 'Открыть мини-плеер', + shortcutStartSearch: 'Начать поиск', + shortcutStartAdvancedSearch: 'Начать расширенный поиск', + shortcutToggleSidebar: 'Переключить боковую панель', + shortcutMuteSound: 'Без звука', + shortcutToggleEqualizer: 'Открыть / переключить эквалайзер', + shortcutToggleRepeat: 'Переключить повтор', + shortcutOpenNowPlaying: 'Открыть «Сейчас играет»', + shortcutShowLyrics: 'Показать текст песни', + shortcutFavoriteCurrentTrack: 'Добавить текущий трек в избранное', + shortcutOpenHelp: 'Справка', playbackTitle: 'Воспроизведение', replayGain: 'Replay Gain', replayGainDesc: 'Выравнивание громкости по метаданным ReplayGain', diff --git a/src/locales/zh.ts b/src/locales/zh.ts index b18a2de3..577602dd 100644 --- a/src/locales/zh.ts +++ b/src/locales/zh.ts @@ -820,6 +820,16 @@ export const zhTranslation = { shortcutFullscreenPlayer: '全屏播放器', shortcutNativeFullscreen: '原生全屏', shortcutOpenMiniPlayer: '打开迷你播放器', + shortcutStartSearch: '开始搜索', + shortcutStartAdvancedSearch: '开始高级搜索', + shortcutToggleSidebar: '切换侧边栏', + shortcutMuteSound: '静音', + shortcutToggleEqualizer: '打开 / 切换均衡器', + shortcutToggleRepeat: '切换循环', + shortcutOpenNowPlaying: '打开"正在播放"', + shortcutShowLyrics: '显示歌词', + shortcutFavoriteCurrentTrack: '将当前曲目添加到收藏', + shortcutOpenHelp: '帮助', playbackTitle: '播放', replayGain: '回放增益', replayGainDesc: '使用 ReplayGain 元数据标准化曲目音量', diff --git a/src/pages/Settings.tsx b/src/pages/Settings.tsx index 06233c18..d53089c4 100644 --- a/src/pages/Settings.tsx +++ b/src/pages/Settings.tsx @@ -205,6 +205,7 @@ const CONTRIBUTORS = [ 'UI refinements — sidebar discovery indicators, adaptive header, interaction polish (PR #397)', 'Queue: drag rows outside to remove with trash ghost (PR #420)', 'Tauri: modularize audio and lib command layers (PR #422)', + 'Shortcuts: action registry, dynamic CLI help, 9 new input targets + F1 help binding (PR #435)', ], }, {