mirror of
https://github.com/kilyabin/psysonic.git
synced 2026-07-22 14:35:41 +00:00
feat(mini-player): custom titlebar with action icons; cover/meta/controls layout polish
- Drop the native titlebar on Windows + Linux (decorations: false in open_mini_player); macOS keeps the system titlebar with traffic lights. - Add a slim 26 px custom titlebar with drag region, current track title, and the queue / pin / open-main / close action icons. - Remove the bottom toolbar — those four buttons now live in the titlebar where they're easier to reach. - Refresh the player layout: cover shrinks 112 → 84 px, the right column gets title / artist / transport in a single 84 px-tall block, progress bar spans the full width below. - Add a miniPlayer i18n namespace (showQueue, hideQueue, pinOnTop, pinOff, openMainWindow, close, emptyQueue) localized for all 8 supported locales — previously the tooltips were hard-coded English. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -913,6 +913,15 @@ export const deTranslation = {
|
||||
sourceHot: 'Wiedergabe aus dem Cache',
|
||||
sourceStream: 'Wiedergabe aus dem Netzwerkstream',
|
||||
},
|
||||
miniPlayer: {
|
||||
showQueue: 'Warteschlange einblenden',
|
||||
hideQueue: 'Warteschlange ausblenden',
|
||||
pinOnTop: 'Im Vordergrund halten',
|
||||
pinOff: 'Vordergrund deaktivieren',
|
||||
openMainWindow: 'Hauptfenster öffnen',
|
||||
close: 'Schließen',
|
||||
emptyQueue: 'Die Warteschlange ist leer',
|
||||
},
|
||||
statistics: {
|
||||
title: 'Statistiken',
|
||||
recentlyPlayed: 'Zuletzt gehört',
|
||||
|
||||
@@ -915,6 +915,15 @@ export const enTranslation = {
|
||||
sourceHot: 'Playing from cache',
|
||||
sourceStream: 'Playing from network stream',
|
||||
},
|
||||
miniPlayer: {
|
||||
showQueue: 'Show queue',
|
||||
hideQueue: 'Hide queue',
|
||||
pinOnTop: 'Pin on top',
|
||||
pinOff: 'Unpin',
|
||||
openMainWindow: 'Open main window',
|
||||
close: 'Close',
|
||||
emptyQueue: 'Queue is empty',
|
||||
},
|
||||
statistics: {
|
||||
title: 'Statistics',
|
||||
recentlyPlayed: 'Recently Played',
|
||||
|
||||
@@ -906,6 +906,15 @@ export const esTranslation = {
|
||||
sourceHot: 'Reproducción desde la caché',
|
||||
sourceStream: 'Reproducción desde la transmisión en red',
|
||||
},
|
||||
miniPlayer: {
|
||||
showQueue: 'Mostrar cola',
|
||||
hideQueue: 'Ocultar cola',
|
||||
pinOnTop: 'Mantener encima',
|
||||
pinOff: 'Desfijar',
|
||||
openMainWindow: 'Abrir ventana principal',
|
||||
close: 'Cerrar',
|
||||
emptyQueue: 'La cola está vacía',
|
||||
},
|
||||
statistics: {
|
||||
title: 'Estadísticas',
|
||||
recentlyPlayed: 'Reproducidos Recientemente',
|
||||
|
||||
@@ -901,6 +901,15 @@ export const frTranslation = {
|
||||
sourceHot: 'Lecture depuis le cache',
|
||||
sourceStream: 'Lecture depuis le flux réseau',
|
||||
},
|
||||
miniPlayer: {
|
||||
showQueue: 'Afficher la file',
|
||||
hideQueue: 'Masquer la file',
|
||||
pinOnTop: 'Toujours visible',
|
||||
pinOff: 'Désépingler',
|
||||
openMainWindow: 'Ouvrir la fenêtre principale',
|
||||
close: 'Fermer',
|
||||
emptyQueue: 'La file est vide',
|
||||
},
|
||||
statistics: {
|
||||
title: 'Statistiques',
|
||||
recentlyPlayed: 'Écoutés récemment',
|
||||
|
||||
@@ -900,6 +900,15 @@ export const nbTranslation = {
|
||||
sourceHot: 'Spiller fra cache',
|
||||
sourceStream: 'Spiller fra nettverksstrøm',
|
||||
},
|
||||
miniPlayer: {
|
||||
showQueue: 'Vis kø',
|
||||
hideQueue: 'Skjul kø',
|
||||
pinOnTop: 'Hold øverst',
|
||||
pinOff: 'Løsne',
|
||||
openMainWindow: 'Åpne hovedvindu',
|
||||
close: 'Lukk',
|
||||
emptyQueue: 'Køen er tom',
|
||||
},
|
||||
statistics: {
|
||||
title: 'Statistikk',
|
||||
recentlyPlayed: 'Nylig spilt',
|
||||
|
||||
@@ -900,6 +900,15 @@ export const nlTranslation = {
|
||||
sourceHot: 'Afspelen vanuit cache',
|
||||
sourceStream: 'Afspelen vanuit netwerkstream',
|
||||
},
|
||||
miniPlayer: {
|
||||
showQueue: 'Wachtrij tonen',
|
||||
hideQueue: 'Wachtrij verbergen',
|
||||
pinOnTop: 'Altijd boven',
|
||||
pinOff: 'Losmaken',
|
||||
openMainWindow: 'Hoofdvenster openen',
|
||||
close: 'Sluiten',
|
||||
emptyQueue: 'Wachtrij is leeg',
|
||||
},
|
||||
statistics: {
|
||||
title: 'Statistieken',
|
||||
recentlyPlayed: 'Recent afgespeeld',
|
||||
|
||||
@@ -953,6 +953,15 @@ export const ruTranslation = {
|
||||
sourceHot: 'Играет из кэша',
|
||||
sourceStream: 'Играет из сетевого потока',
|
||||
},
|
||||
miniPlayer: {
|
||||
showQueue: 'Показать очередь',
|
||||
hideQueue: 'Скрыть очередь',
|
||||
pinOnTop: 'Поверх окон',
|
||||
pinOff: 'Открепить',
|
||||
openMainWindow: 'Открыть главное окно',
|
||||
close: 'Закрыть',
|
||||
emptyQueue: 'Очередь пуста',
|
||||
},
|
||||
statistics: {
|
||||
title: 'Статистика',
|
||||
recentlyPlayed: 'Недавно проиграно',
|
||||
|
||||
@@ -896,6 +896,15 @@ export const zhTranslation = {
|
||||
sourceHot: '正在从缓存播放',
|
||||
sourceStream: '正在从网络流播放',
|
||||
},
|
||||
miniPlayer: {
|
||||
showQueue: '显示队列',
|
||||
hideQueue: '隐藏队列',
|
||||
pinOnTop: '置顶',
|
||||
pinOff: '取消置顶',
|
||||
openMainWindow: '打开主窗口',
|
||||
close: '关闭',
|
||||
emptyQueue: '队列为空',
|
||||
},
|
||||
statistics: {
|
||||
title: '统计',
|
||||
recentlyPlayed: '最近播放',
|
||||
|
||||
Reference in New Issue
Block a user