Add Save/Save As buttons with dirty state tracking to EQ dialog

This commit is contained in:
Gianluca Boiano
2026-02-08 12:46:20 +01:00
parent f302612d53
commit a2e4ab2380
17 changed files with 397 additions and 50 deletions
+16 -1
View File
@@ -46,12 +46,15 @@
"Bit rate": "Bitrate",
"Bold font": "Bold font",
"Broadcast": "Broadcast",
"Browse Headphone Profiles": "Browse Headphone Profiles",
"Cancel": "Abbrechen",
"Cannot Delete": "Cannot Delete",
"Cannot delete builtin presets": "Cannot delete builtin presets",
"Cannot use the name of a builtin preset": "Cannot use the name of a builtin preset",
"Cast to device": "Cast to device",
"Channels": "Channels",
"Check for Updates": "Nach Updates suchen",
"Check network connection and try again": "Check network connection and try again",
"Clear caches": "Clear caches",
"Close": "Schließen",
"Close to system tray": "In Taskleiste minimieren",
@@ -97,9 +100,10 @@
"EQ Preamp": "Pre",
"EQ Preset": "Preset",
"EQ Preset:": "Preset:",
"EQ R&B": "R&B",
"EQ R\u0026B": "R\u0026B",
"EQ Rock": "Rock",
"EQ Treble Boost": "Treble Boost",
"EQ Type:": "EQ Type:",
"EQ Vocal": "Vocal",
"Edit": "Bearbeiten",
"Edit Playlist": "Playlist bearbeiten",
@@ -112,9 +116,11 @@
"Equalizer": "Equalizer",
"Error": "Error",
"Error creating playlist": "Error creating playlist",
"Error loading AutoEQ profiles": "Error loading AutoEQ profiles",
"Error updating playlist": "Error updating playlist",
"Exclusive mode": "Exklusiver Modus",
"Fade out on pause": "Fade out on pause",
"Failed to load profile": "Failed to load profile",
"Fav.": "Fav.",
"Favorites": "Favoriten",
"Feb": "Feb",
@@ -138,6 +144,7 @@
"In order": "In order",
"Internet Radio Stations": "Internet-Radiosender",
"Interview": "Interview",
"Invalid Name": "Invalid Name",
"Is favorite": "Ist Favorit",
"Is not favorite": "Ist kein Favorit",
"Jan": "Jan",
@@ -162,6 +169,7 @@
"My Server": "Mein Server",
"Name": "Name",
"Name (A-Z)": "Name (A-Z)",
"Network error. Check connection.": "Network error. Check connection.",
"New Playlist": "New Playlist",
"Next": "Nächster",
"Nickname": "Spitzname",
@@ -175,6 +183,7 @@
"Now Playing": "Aktuelle Wiedergabe",
"OK": "OK",
"Oct": "Okt",
"Overwrite Preset": "Overwrite Preset",
"Owner": "Besitzer",
"Password": "Passwort",
"Pause": "Pause",
@@ -196,11 +205,14 @@
"Playlists": "Playlists",
"Plays": "Wiedergaben",
"Please select a preset to delete": "Please select a preset to delete",
"Preset '%s' already exists. Overwrite?": "Preset '%s' already exists. Overwrite?",
"Preset name": "Preset name",
"Prevent clipping": "Übersteuerung vermeiden",
"Prevent screensaver on Now Playing page": "Prevent screensaver on Now Playing page",
"Previous": "Vorheriger",
"Private playlist by": "Private Playlist von",
"Profile": "Profile",
"Profile not found": "Profile not found",
"Public": "Public",
"Public playlist by": "Öffentliche Playlist von",
"Quit": "Beenden",
@@ -221,12 +233,15 @@
"Restart required": "Neustart erforderlich",
"Sample rate": "Sample rate",
"Save": "Save",
"Save As": "Save As",
"Save Preset": "Save Preset",
"Save Preset As": "Save Preset As",
"Save play queue": "Wiedergabeliste beim Verlassen speichern",
"Saved at": "Gespeichert am",
"Scrobble when": "Scrobble wenn",
"Search": "Suche",
"Search Everywhere": "Überall suchen",
"Search headphones...": "Search headphones...",
"Search page": "Suchseite",
"Search playlists or new playlist name": "Nach Playlist suchen oder Namen für neue Playlist eingeben",
"Select Library": "Select Library",
+16 -1
View File
@@ -35,9 +35,9 @@
"Audio device": "Audio device",
"Audiobook": "Audiobook",
"Aug": "Aug",
"AutoEQ": "AutoEQ",
"Authentication failed": "Authentication failed",
"Auto": "Auto",
"AutoEQ": "AutoEQ",
"Automatically check for updates": "Automatically check for updates",
"Autoplay": "Autoplay",
"Autoselect device": "Autoselect device",
@@ -47,12 +47,15 @@
"Bit rate": "Bit rate",
"Bold font": "Bold font",
"Broadcast": "Broadcast",
"Browse Headphone Profiles": "Browse Headphone Profiles",
"Cancel": "Cancel",
"Cannot Delete": "Cannot Delete",
"Cannot delete builtin presets": "Cannot delete builtin presets",
"Cannot use the name of a builtin preset": "Cannot use the name of a builtin preset",
"Cast to device": "Cast to device",
"Channels": "Channels",
"Check for Updates": "Check for Updates",
"Check network connection and try again": "Check network connection and try again",
"Clear caches": "Clear caches",
"Close": "Close",
"Close to system tray": "Close to system tray",
@@ -101,6 +104,7 @@
"EQ R\u0026B": "R\u0026B",
"EQ Rock": "Rock",
"EQ Treble Boost": "Treble Boost",
"EQ Type:": "EQ Type:",
"EQ Vocal": "Vocal",
"Edit": "Edit",
"Edit Playlist": "Edit Playlist",
@@ -113,9 +117,11 @@
"Equalizer": "Equalizer",
"Error": "Error",
"Error creating playlist": "Error creating playlist",
"Error loading AutoEQ profiles": "Error loading AutoEQ profiles",
"Error updating playlist": "Error updating playlist",
"Exclusive mode": "Exclusive mode",
"Fade out on pause": "Fade out on pause",
"Failed to load profile": "Failed to load profile",
"Fav.": "Fav.",
"Favorites": "Favorites",
"Feb": "Feb",
@@ -139,6 +145,7 @@
"In order": "In order",
"Internet Radio Stations": "Internet Radio Stations",
"Interview": "Interview",
"Invalid Name": "Invalid Name",
"Is favorite": "Is favorite",
"Is not favorite": "Is not favorite",
"Jan": "Jan",
@@ -163,6 +170,7 @@
"My Server": "My Server",
"Name": "Name",
"Name (A-Z)": "Name (A-Z)",
"Network error. Check connection.": "Network error. Check connection.",
"New Playlist": "New Playlist",
"Next": "Next",
"Nickname": "Nickname",
@@ -176,6 +184,7 @@
"Now Playing": "Now Playing",
"OK": "OK",
"Oct": "Oct",
"Overwrite Preset": "Overwrite Preset",
"Owner": "Owner",
"Password": "Password",
"Pause": "Pause",
@@ -197,11 +206,14 @@
"Playlists": "Playlists",
"Plays": "Plays",
"Please select a preset to delete": "Please select a preset to delete",
"Preset '%s' already exists. Overwrite?": "Preset '%s' already exists. Overwrite?",
"Preset name": "Preset name",
"Prevent clipping": "Prevent clipping",
"Prevent screensaver on Now Playing page": "Prevent screensaver on Now Playing page",
"Previous": "Previous",
"Private playlist by": "Private playlist by",
"Profile": "Profile",
"Profile not found": "Profile not found",
"Public": "Public",
"Public playlist by": "Public playlist by",
"Quit": "Quit",
@@ -222,12 +234,15 @@
"Restart required": "Restart required",
"Sample rate": "Sample rate",
"Save": "Save",
"Save As": "Save As",
"Save Preset": "Save Preset",
"Save Preset As": "Save Preset As",
"Save play queue": "Save play queue",
"Saved at": "Saved at",
"Scrobble when": "Scrobble when",
"Search": "Search",
"Search Everywhere": "Search Everywhere",
"Search headphones...": "Search headphones...",
"Search page": "Search page",
"Search playlists or new playlist name": "Search playlists or new playlist name",
"Select Library": "Select Library",
+16 -1
View File
@@ -46,12 +46,15 @@
"Bit rate": "Tasa de bits",
"Bold font": "Bold font",
"Broadcast": "Transmisión",
"Browse Headphone Profiles": "Browse Headphone Profiles",
"Cancel": "Cancelar",
"Cannot Delete": "Cannot Delete",
"Cannot delete builtin presets": "Cannot delete builtin presets",
"Cannot use the name of a builtin preset": "Cannot use the name of a builtin preset",
"Cast to device": "Cast to device",
"Channels": "Channels",
"Check for Updates": "Buscar actualizaciones",
"Check network connection and try again": "Check network connection and try again",
"Clear caches": "Borrar cachés",
"Close": "Cerrar",
"Close to system tray": "Cerrar a la bandeja del sistema",
@@ -97,9 +100,10 @@
"EQ Preamp": "Pre",
"EQ Preset": "Preset",
"EQ Preset:": "Preset:",
"EQ R&B": "R&B",
"EQ R\u0026B": "R\u0026B",
"EQ Rock": "Rock",
"EQ Treble Boost": "Treble Boost",
"EQ Type:": "EQ Type:",
"EQ Vocal": "Vocal",
"Edit": "Editar",
"Edit Playlist": "Editar lista de reproducción",
@@ -112,9 +116,11 @@
"Equalizer": "Ecualizador",
"Error": "Error",
"Error creating playlist": "Ha ocurrido un error al crear la lista de reproducción",
"Error loading AutoEQ profiles": "Error loading AutoEQ profiles",
"Error updating playlist": "Error updating playlist",
"Exclusive mode": "Modo exclusivo",
"Fade out on pause": "Fade out on pause",
"Failed to load profile": "Failed to load profile",
"Fav.": "Fav.",
"Favorites": "Favoritos",
"Feb": "Feb",
@@ -138,6 +144,7 @@
"In order": "In order",
"Internet Radio Stations": "Estaciones de radio por Internet",
"Interview": "Entrevista",
"Invalid Name": "Invalid Name",
"Is favorite": "Es favorito",
"Is not favorite": "No es favorito",
"Jan": "Ene",
@@ -162,6 +169,7 @@
"My Server": "Mi servidor",
"Name": "Nombre",
"Name (A-Z)": "Nombre (A-Z)",
"Network error. Check connection.": "Network error. Check connection.",
"New Playlist": "Crear Nueva",
"Next": "Siguiente",
"Nickname": "Apodo",
@@ -175,6 +183,7 @@
"Now Playing": "Reproduciendo",
"OK": "OK",
"Oct": "Oct",
"Overwrite Preset": "Overwrite Preset",
"Owner": "Propietario",
"Password": "Contraseña",
"Pause": "Pausar",
@@ -196,11 +205,14 @@
"Playlists": "Listas de reproducción",
"Plays": "Reproducciones",
"Please select a preset to delete": "Please select a preset to delete",
"Preset '%s' already exists. Overwrite?": "Preset '%s' already exists. Overwrite?",
"Preset name": "Preset name",
"Prevent clipping": "Prevenir recortes",
"Prevent screensaver on Now Playing page": "Prevent screensaver on Now Playing page",
"Previous": "Anterior",
"Private playlist by": "Lista de reproducción privada de",
"Profile": "Profile",
"Profile not found": "Profile not found",
"Public": "Public",
"Public playlist by": "Lista de reproducción pública de",
"Quit": "Salir",
@@ -221,12 +233,15 @@
"Restart required": "Reinicio requerido",
"Sample rate": "Sample rate",
"Save": "Save",
"Save As": "Save As",
"Save Preset": "Save Preset",
"Save Preset As": "Save Preset As",
"Save play queue": "Guardar cola de reproducción",
"Saved at": "Guardado en",
"Scrobble when": "Scrobble cuando",
"Search": "Buscar",
"Search Everywhere": "Buscar en todas partes",
"Search headphones...": "Search headphones...",
"Search page": "Buscar en la página",
"Search playlists or new playlist name": "Buscar listas de reproducción o nombre de nueva lista",
"Select Library": "Select Library",
+16 -1
View File
@@ -47,12 +47,15 @@
"Bit rate": "Débit binaire",
"Bold font": "Police en gras",
"Broadcast": "Broadcast",
"Browse Headphone Profiles": "Browse Headphone Profiles",
"Cancel": "Annuler",
"Cannot Delete": "Cannot Delete",
"Cannot delete builtin presets": "Cannot delete builtin presets",
"Cannot use the name of a builtin preset": "Cannot use the name of a builtin preset",
"Cast to device": "Diffuser sur un appareil",
"Channels": "Canaux",
"Check for Updates": "Vérifier les mises à jour",
"Check network connection and try again": "Check network connection and try again",
"Clear caches": "Vider les caches",
"Close": "Fermer",
"Close to system tray": "Réduire dans la barre d'état à la fermeture",
@@ -98,9 +101,10 @@
"EQ Preamp": "Pre",
"EQ Preset": "Preset",
"EQ Preset:": "Preset:",
"EQ R&B": "R&B",
"EQ R\u0026B": "R\u0026B",
"EQ Rock": "Rock",
"EQ Treble Boost": "Treble Boost",
"EQ Type:": "EQ Type:",
"EQ Vocal": "Vocal",
"Edit": "Modifier",
"Edit Playlist": "Modifier la liste de lecture",
@@ -113,9 +117,11 @@
"Equalizer": "Égaliseur",
"Error": "Erreur",
"Error creating playlist": "Error creating playlist",
"Error loading AutoEQ profiles": "Error loading AutoEQ profiles",
"Error updating playlist": "Error updating playlist",
"Exclusive mode": "Mode exclusif",
"Fade out on pause": "Fade out on pause",
"Failed to load profile": "Failed to load profile",
"Fav.": "Fav.",
"Favorites": "Favoris",
"Feb": "Févr",
@@ -139,6 +145,7 @@
"In order": "Dans l'ordre",
"Internet Radio Stations": "Stations de radio Internet",
"Interview": "Interview",
"Invalid Name": "Invalid Name",
"Is favorite": "Favoris",
"Is not favorite": "Non favoris",
"Jan": "Janv",
@@ -163,6 +170,7 @@
"My Server": "Mon serveur",
"Name": "Nom",
"Name (A-Z)": "Nom (A-Z)",
"Network error. Check connection.": "Network error. Check connection.",
"New Playlist": "New Playlist",
"Next": "Suivante",
"Nickname": "Surnom",
@@ -176,6 +184,7 @@
"Now Playing": "Lecture en cours",
"OK": "OK",
"Oct": "Oct",
"Overwrite Preset": "Overwrite Preset",
"Owner": "Propriétaire",
"Password": "Mot de passe",
"Pause": "Pause",
@@ -197,11 +206,14 @@
"Playlists": "Listes de lecture",
"Plays": "Lectures",
"Please select a preset to delete": "Please select a preset to delete",
"Preset '%s' already exists. Overwrite?": "Preset '%s' already exists. Overwrite?",
"Preset name": "Preset name",
"Prevent clipping": "Empêcher le clipping",
"Prevent screensaver on Now Playing page": "Prevent screensaver on Now Playing page",
"Previous": "Précédente",
"Private playlist by": "Liste de lecture privée créée par",
"Profile": "Profile",
"Profile not found": "Profile not found",
"Public": "Public",
"Public playlist by": "Liste de lecture publique créée par",
"Quit": "Quitter",
@@ -222,12 +234,15 @@
"Restart required": "Redémarrage nécessaire",
"Sample rate": "Taux d'échantillonnage",
"Save": "Save",
"Save As": "Save As",
"Save Preset": "Save Preset",
"Save Preset As": "Save Preset As",
"Save play queue": "Sauvegarder la file d'attente",
"Saved at": "Sauvegardé sur",
"Scrobble when": "Scrobbler quand",
"Search": "Recherche",
"Search Everywhere": "Rechercher dans toutes les données du serveur",
"Search headphones...": "Search headphones...",
"Search page": "Recherche",
"Search playlists or new playlist name": "Nom de liste de lecture à rechercher ou à créer",
"Select Library": "Choisir une bibliothèque",
+17 -8
View File
@@ -35,9 +35,9 @@
"Audio device": "Dispositivo audio",
"Audiobook": "Audiobook",
"Aug": "Ago",
"AutoEQ": "AutoEQ",
"Authentication failed": "Autenticazione fallita",
"Auto": "Automatico",
"AutoEQ": "AutoEQ",
"Automatically check for updates": "Controlla automaticamente gli aggiornamenti",
"Autoplay": "Riproduzione automatica",
"Autoselect device": "Seleziona dispositivo automaticamente",
@@ -47,12 +47,15 @@
"Bit rate": "Bit rate",
"Bold font": "Font grassetto",
"Broadcast": "Broadcast",
"Browse Headphone Profiles": "Sfoglia Profili Cuffie",
"Cancel": "Annulla",
"Cannot Delete": "Impossibile Eliminare",
"Cannot delete builtin presets": "Impossibile eliminare i preset predefiniti",
"Cannot use the name of a builtin preset": "Non è possibile usare il nome di un preset predefinito",
"Cast to device": "Trasmetti a dispositivo",
"Channels": "Canali",
"Check for Updates": "Controlla aggiornamenti",
"Check network connection and try again": "Controlla la connessione di rete e riprova",
"Clear caches": "Svuota cache",
"Close": "Chiudi",
"Close to system tray": "Chiudi nella barra di sistema",
@@ -98,17 +101,11 @@
"EQ Preamp": "Pre",
"EQ Preset": "Preset",
"EQ Preset:": "Preset:",
"EQ R&B": "R&B",
"EQ R\u0026B": "R\u0026B",
"EQ Rock": "Rock",
"EQ Treble Boost": "Amplifica Alti",
"EQ Type:": "Tipo EQ:",
"EQ Vocal": "Vocale",
"Browse Headphone Profiles": "Sfoglia Profili Cuffie",
"Check network connection and try again": "Controlla la connessione di rete e riprova",
"Error loading AutoEQ profiles": "Errore nel caricamento dei profili AutoEQ",
"Load AutoEQ Profile": "Carica Profilo AutoEQ",
"Profile": "Profilo",
"Search headphones...": "Cerca cuffie...",
"Edit": "Modifica",
"Edit Playlist": "Modifica playlist",
"Edit server": "Modifica server",
@@ -120,9 +117,11 @@
"Equalizer": "Equalizzatore",
"Error": "Errore",
"Error creating playlist": "Errore durante la creazione della playlist",
"Error loading AutoEQ profiles": "Errore nel caricamento dei profili AutoEQ",
"Error updating playlist": "Errore durante l'aggiornamento della playlist",
"Exclusive mode": "Modalità esclusiva",
"Fade out on pause": "Dissolvenza in pausa",
"Failed to load profile": "Failed to load profile",
"Fav.": "Pref.",
"Favorites": "Preferiti",
"Feb": "Feb",
@@ -146,6 +145,7 @@
"In order": "In ordine",
"Internet Radio Stations": "Stazioni radio via Internet",
"Interview": "Interview",
"Invalid Name": "Nome non valido",
"Is favorite": "Nei preferiti",
"Is not favorite": "Non nei preferiti",
"Jan": "Gen",
@@ -155,6 +155,7 @@
"Larger": "Più grande",
"Last played": "Ultimo ascolto",
"Live": "Live",
"Load AutoEQ Profile": "Carica Profilo AutoEQ",
"Locally": "Localmente",
"Log Out": "Disconnetti",
"Login to Server": "Accendi al server",
@@ -170,6 +171,7 @@
"My Server": "Il mio server",
"Name": "Nome",
"Name (A-Z)": "Nome (A-Z)",
"Network error. Check connection.": "Network error. Check connection.",
"New Playlist": "Nuova playlist",
"Next": "Successiva",
"Nickname": "Nickname",
@@ -183,6 +185,7 @@
"Now Playing": "In riproduzione",
"OK": "OK",
"Oct": "Ott",
"Overwrite Preset": "Sovrascrivi preset",
"Owner": "Proprietario",
"Password": "Password",
"Pause": "Pausa",
@@ -204,11 +207,14 @@
"Playlists": "Playlist",
"Plays": "Nº ascolti",
"Please select a preset to delete": "Seleziona un preset da eliminare",
"Preset '%s' already exists. Overwrite?": "Il preset '%s' esiste già. Sovrascrivere?",
"Preset name": "Nome preset",
"Prevent clipping": "Previeni clipping",
"Prevent screensaver on Now Playing page": "Previeni screensaver sulla pagina In riproduzione",
"Previous": "Precedente",
"Private playlist by": "Playlist privata by",
"Profile": "Profilo",
"Profile not found": "Profile not found",
"Public": "Pubblica",
"Public playlist by": "Playlist pubblica by",
"Quit": "Esci",
@@ -229,12 +235,15 @@
"Restart required": "Riavvio richiesto",
"Sample rate": "Frequenza di campionamento",
"Save": "Salva",
"Save As": "Salva come",
"Save Preset": "Salva Preset",
"Save Preset As": "Salva preset come",
"Save play queue": "Salva coda di ascolto",
"Saved at": "Salvato in",
"Scrobble when": "Scrobbla quando",
"Search": "Cerca",
"Search Everywhere": "Cerca ovunque",
"Search headphones...": "Cerca cuffie...",
"Search page": "Cerca nella pagina",
"Search playlists or new playlist name": "Cerca tra le playlist o creane una nuova",
"Select Library": "Seleziona libreria",
+16 -1
View File
@@ -47,12 +47,15 @@
"Bit rate": "ビットレート",
"Bold font": "太字フォント",
"Broadcast": "ブロードキャスト",
"Browse Headphone Profiles": "Browse Headphone Profiles",
"Cancel": "取消",
"Cannot Delete": "Cannot Delete",
"Cannot delete builtin presets": "Cannot delete builtin presets",
"Cannot use the name of a builtin preset": "Cannot use the name of a builtin preset",
"Cast to device": "デバイスにキャスト",
"Channels": "チャンネル",
"Check for Updates": "アップデートの確認",
"Check network connection and try again": "Check network connection and try again",
"Clear caches": "キャッシュクリア",
"Close": "閉じる",
"Close to system tray": "システムトレイに閉じる",
@@ -98,9 +101,10 @@
"EQ Preamp": "Pre",
"EQ Preset": "Preset",
"EQ Preset:": "Preset:",
"EQ R&B": "R&B",
"EQ R\u0026B": "R\u0026B",
"EQ Rock": "Rock",
"EQ Treble Boost": "Treble Boost",
"EQ Type:": "EQ Type:",
"EQ Vocal": "Vocal",
"Edit": "編集",
"Edit Playlist": "プレイリストを編集",
@@ -113,9 +117,11 @@
"Equalizer": "イコライザー",
"Error": "エラー",
"Error creating playlist": "プレイリストの作成中にエラーが発生しました",
"Error loading AutoEQ profiles": "Error loading AutoEQ profiles",
"Error updating playlist": "Error updating playlist",
"Exclusive mode": "排他モード",
"Fade out on pause": "Fade out on pause",
"Failed to load profile": "Failed to load profile",
"Fav.": "お気に入り",
"Favorites": "お気に入り",
"Feb": "2月",
@@ -139,6 +145,7 @@
"In order": "順番",
"Internet Radio Stations": "インターネットラジオ局",
"Interview": "インタビュー",
"Invalid Name": "Invalid Name",
"Is favorite": "お気に入り",
"Is not favorite": "お気に入りでない",
"Jan": "1月",
@@ -163,6 +170,7 @@
"My Server": "自分のサーバー",
"Name": "名前",
"Name (A-Z)": "名前 (A-Z)",
"Network error. Check connection.": "Network error. Check connection.",
"New Playlist": "新しいプレイリスト",
"Next": "次",
"Nickname": "ニックネーム",
@@ -176,6 +184,7 @@
"Now Playing": "再生中",
"OK": "OK",
"Oct": "10月",
"Overwrite Preset": "Overwrite Preset",
"Owner": "所有者",
"Password": "パスワード",
"Pause": "一時停止",
@@ -197,11 +206,14 @@
"Playlists": "プレイリスト",
"Plays": "再生",
"Please select a preset to delete": "Please select a preset to delete",
"Preset '%s' already exists. Overwrite?": "Preset '%s' already exists. Overwrite?",
"Preset name": "Preset name",
"Prevent clipping": "クリッピングを防ぐ",
"Prevent screensaver on Now Playing page": "再生中ページでスクリーンセーバーを無効にする",
"Previous": "前",
"Private playlist by": "プライベートプレイリスト",
"Profile": "Profile",
"Profile not found": "Profile not found",
"Public": "Public",
"Public playlist by": "公開プレイリスト",
"Quit": "終了",
@@ -222,12 +234,15 @@
"Restart required": "再起動が必要です",
"Sample rate": "サンプルレート",
"Save": "Save",
"Save As": "Save As",
"Save Preset": "Save Preset",
"Save Preset As": "Save Preset As",
"Save play queue": "再生キューを保存",
"Saved at": "保存場所",
"Scrobble when": "スクロールすると",
"Search": "検索",
"Search Everywhere": "全体から検索",
"Search headphones...": "Search headphones...",
"Search page": "検索ページ",
"Search playlists or new playlist name": "プレイリストを検索または新しいプレイリスト名",
"Select Library": "ライブラリを選択",
+16 -1
View File
@@ -47,12 +47,15 @@
"Bit rate": "비트레이트",
"Bold font": "굵은 글꼴",
"Broadcast": "방송",
"Browse Headphone Profiles": "Browse Headphone Profiles",
"Cancel": "취소",
"Cannot Delete": "Cannot Delete",
"Cannot delete builtin presets": "Cannot delete builtin presets",
"Cannot use the name of a builtin preset": "Cannot use the name of a builtin preset",
"Cast to device": "장치로 캐스트",
"Channels": "Channels",
"Check for Updates": "업데이트 확인",
"Check network connection and try again": "Check network connection and try again",
"Clear caches": "Clear caches",
"Close": "닫기",
"Close to system tray": "시스템 트레이로 최소화",
@@ -98,9 +101,10 @@
"EQ Preamp": "Pre",
"EQ Preset": "Preset",
"EQ Preset:": "Preset:",
"EQ R&B": "R&B",
"EQ R\u0026B": "R\u0026B",
"EQ Rock": "Rock",
"EQ Treble Boost": "Treble Boost",
"EQ Type:": "EQ Type:",
"EQ Vocal": "Vocal",
"Edit": "편집",
"Edit Playlist": "재생 목록 편집",
@@ -113,9 +117,11 @@
"Equalizer": "이퀄라이저",
"Error": "오류",
"Error creating playlist": "Error creating playlist",
"Error loading AutoEQ profiles": "Error loading AutoEQ profiles",
"Error updating playlist": "Error updating playlist",
"Exclusive mode": "독점 모드",
"Fade out on pause": "Fade out on pause",
"Failed to load profile": "Failed to load profile",
"Fav.": "즐겨찾기",
"Favorites": "즐겨찾기",
"Feb": "2월",
@@ -139,6 +145,7 @@
"In order": "In order",
"Internet Radio Stations": "인터넷 라디오 방송국",
"Interview": "인터뷰",
"Invalid Name": "Invalid Name",
"Is favorite": "즐겨찾기에 속한",
"Is not favorite": "즐겨찾기에 속하지 않은",
"Jan": "1월",
@@ -163,6 +170,7 @@
"My Server": "내 서버",
"Name": "이름",
"Name (A-Z)": "이름 (A-Z)",
"Network error. Check connection.": "Network error. Check connection.",
"New Playlist": "New Playlist",
"Next": "다음",
"Nickname": "별명",
@@ -176,6 +184,7 @@
"Now Playing": "현재 재생 중",
"OK": "예",
"Oct": "10월",
"Overwrite Preset": "Overwrite Preset",
"Owner": "소유자",
"Password": "비밀번호",
"Pause": "일시정지",
@@ -197,11 +206,14 @@
"Playlists": "재생 목록",
"Plays": "재생",
"Please select a preset to delete": "Please select a preset to delete",
"Preset '%s' already exists. Overwrite?": "Preset '%s' already exists. Overwrite?",
"Preset name": "Preset name",
"Prevent clipping": "클리핑 방지",
"Prevent screensaver on Now Playing page": "Prevent screensaver on Now Playing page",
"Previous": "이전",
"Private playlist by": "비공개 재생목록",
"Profile": "Profile",
"Profile not found": "Profile not found",
"Public": "Public",
"Public playlist by": "공개 재생 목록",
"Quit": "종료",
@@ -222,13 +234,16 @@
"Restart required": "재시작 필요",
"Sample rate": "Sample rate",
"Save": "Save",
"Save As": "Save As",
"Save Preset": "Save Preset",
"Save Preset As": "Save Preset As",
"Save play queue": "Save play queue",
"Save play queuet": "종료 시 재생 대기열 저장",
"Saved at": "저장됨",
"Scrobble when": "스크로블할 시점",
"Search": "검색",
"Search Everywhere": "전체 검색",
"Search headphones...": "Search headphones...",
"Search page": "검색 페이지",
"Search playlists or new playlist name": "재생 목록이나 새 재생 목록 이름 검색",
"Select Library": "Select Library",
+16 -1
View File
@@ -47,12 +47,15 @@
"Bit rate": "Bit rate",
"Bold font": "Bold font",
"Broadcast": "Broadcast",
"Browse Headphone Profiles": "Browse Headphone Profiles",
"Cancel": "Annuleren",
"Cannot Delete": "Cannot Delete",
"Cannot delete builtin presets": "Cannot delete builtin presets",
"Cannot use the name of a builtin preset": "Cannot use the name of a builtin preset",
"Cast to device": "Cast naar apparaat",
"Channels": "Channels",
"Check for Updates": "Controleer op updates",
"Check network connection and try again": "Check network connection and try again",
"Clear caches": "Clear caches",
"Close": "Sluiten",
"Close to system tray": "Sluiten naar systeemvak",
@@ -98,9 +101,10 @@
"EQ Preamp": "Pre",
"EQ Preset": "Preset",
"EQ Preset:": "Preset:",
"EQ R&B": "R&B",
"EQ R\u0026B": "R\u0026B",
"EQ Rock": "Rock",
"EQ Treble Boost": "Treble Boost",
"EQ Type:": "EQ Type:",
"EQ Vocal": "Vocal",
"Edit": "Bewerken",
"Edit Playlist": "Bewerk afspeellijst",
@@ -113,9 +117,11 @@
"Equalizer": "Equalizer",
"Error": "Fout",
"Error creating playlist": "Error creating playlist",
"Error loading AutoEQ profiles": "Error loading AutoEQ profiles",
"Error updating playlist": "Error updating playlist",
"Exclusive mode": "Exclusieve modus",
"Fade out on pause": "Fade out on pause",
"Failed to load profile": "Failed to load profile",
"Fav.": "Fav.",
"Favorites": "Favorieten",
"Feb": "Feb",
@@ -139,6 +145,7 @@
"In order": "In order",
"Internet Radio Stations": "Internet Radio Stations",
"Interview": "Interview",
"Invalid Name": "Invalid Name",
"Is favorite": "Is favoriet",
"Is not favorite": "Is niet favoriet",
"Jan": "Jan",
@@ -163,6 +170,7 @@
"My Server": "Mijn server",
"Name": "Naam",
"Name (A-Z)": "Naam (A-Z)",
"Network error. Check connection.": "Network error. Check connection.",
"New Playlist": "New Playlist",
"Next": "Volgende",
"Nickname": "Nickname",
@@ -176,6 +184,7 @@
"Now Playing": "Nu aan het afspelen",
"OK": "OK",
"Oct": "Okt",
"Overwrite Preset": "Overwrite Preset",
"Owner": "Eigenaar",
"Password": "Wachtwoord",
"Pause": "Pauzeer",
@@ -197,11 +206,14 @@
"Playlists": "Afspeellijsten",
"Plays": "Afgespeeld",
"Please select a preset to delete": "Please select a preset to delete",
"Preset '%s' already exists. Overwrite?": "Preset '%s' already exists. Overwrite?",
"Preset name": "Preset name",
"Prevent clipping": "Voorkom clipping",
"Prevent screensaver on Now Playing page": "Prevent screensaver on Now Playing page",
"Previous": "Vorige",
"Private playlist by": "Private afspeellijst door",
"Profile": "Profile",
"Profile not found": "Profile not found",
"Public": "Public",
"Public playlist by": "Publieke afspeellijst door",
"Quit": "Beëindigen",
@@ -222,12 +234,15 @@
"Restart required": "Herstart vereist",
"Sample rate": "Sample rate",
"Save": "Save",
"Save As": "Save As",
"Save Preset": "Save Preset",
"Save Preset As": "Save Preset As",
"Save play queue": "Bewaar wachtrij bij afsluiten",
"Saved at": "Opgeslaan op",
"Scrobble when": "Scrobble als",
"Search": "Zoeken",
"Search Everywhere": "Overal zoeken",
"Search headphones...": "Search headphones...",
"Search page": "Zoekpagina",
"Search playlists or new playlist name": "Zoek afspeellijsten of nieuwe afspeellijst naam",
"Select Library": "Select Library",
+16 -1
View File
@@ -44,12 +44,15 @@
"Bit rate": "Bit rate",
"Bold font": "Bold font",
"Broadcast": "Broadcast",
"Browse Headphone Profiles": "Browse Headphone Profiles",
"Cancel": "Anuluj",
"Cannot Delete": "Cannot Delete",
"Cannot delete builtin presets": "Cannot delete builtin presets",
"Cannot use the name of a builtin preset": "Cannot use the name of a builtin preset",
"Cast to device": "Cast to device",
"Channels": "Channels",
"Check for Updates": "Sprawdź aktualizacje",
"Check network connection and try again": "Check network connection and try again",
"Clear caches": "Clear caches",
"Close": "Zamknij",
"Close to system tray": "Zamknij do zasobnika systemowego",
@@ -94,9 +97,10 @@
"EQ Preamp": "Pre",
"EQ Preset": "Preset",
"EQ Preset:": "Preset:",
"EQ R&B": "R&B",
"EQ R\u0026B": "R\u0026B",
"EQ Rock": "Rock",
"EQ Treble Boost": "Treble Boost",
"EQ Type:": "EQ Type:",
"EQ Vocal": "Vocal",
"Edit": "Edytuj",
"Edit Playlist": "Edytuj playlistę",
@@ -109,9 +113,11 @@
"Equalizer": "Equalizer",
"Error": "Error",
"Error creating playlist": "Error creating playlist",
"Error loading AutoEQ profiles": "Error loading AutoEQ profiles",
"Error updating playlist": "Error updating playlist",
"Exclusive mode": "Tryb exclusive",
"Fade out on pause": "Fade out on pause",
"Failed to load profile": "Failed to load profile",
"Fav.": "Ulub.",
"Favorites": "Ulubione",
"Field Recording": "Field Recording",
@@ -134,6 +140,7 @@
"In order": "In order",
"Internet Radio Stations": "Internetowe Stacje Radiowe",
"Interview": "Wywiad",
"Invalid Name": "Invalid Name",
"Is favorite": "Jest ulubione",
"Is not favorite": "Nie jest ulubione",
"Language": "Język",
@@ -153,6 +160,7 @@
"My Server": "Mój serwer",
"Name": "Nazwa",
"Name (A-Z)": "Nazwa (A-Z)",
"Network error. Check connection.": "Network error. Check connection.",
"New Playlist": "New Playlist",
"Next": "Następny",
"Nickname": "Nazwa serwera",
@@ -164,6 +172,7 @@
"Normal font": "Normal font",
"Now Playing": "Teraz Odtwarzane",
"OK": "OK",
"Overwrite Preset": "Overwrite Preset",
"Owner": "Właściciel",
"Password": "Hasło",
"Pause": "Pauza",
@@ -185,11 +194,14 @@
"Playlists": "Playlisty",
"Plays": "Ilość odtworzeń",
"Please select a preset to delete": "Please select a preset to delete",
"Preset '%s' already exists. Overwrite?": "Preset '%s' already exists. Overwrite?",
"Preset name": "Preset name",
"Prevent clipping": "Zapobiegnij przycicnaniu",
"Prevent screensaver on Now Playing page": "Prevent screensaver on Now Playing page",
"Previous": "Poprzednie",
"Private playlist by": "Prywatna playlista przez",
"Profile": "Profile",
"Profile not found": "Profile not found",
"Public": "Public",
"Public playlist by": "Publiczne playlista przez",
"Quit": "Wyjdź",
@@ -210,12 +222,15 @@
"Restart required": "Wymagany restart",
"Sample rate": "Sample rate",
"Save": "Save",
"Save As": "Save As",
"Save Preset": "Save Preset",
"Save Preset As": "Save Preset As",
"Save play queue": "Zapisz kolejkę odtwarzania po zamknięciu",
"Saved at": "Zapisano w",
"Scrobble when": "Wyślij gdy",
"Search": "Szukaj",
"Search Everywhere": "Szukaj wszędzie",
"Search headphones...": "Search headphones...",
"Search page": "Przeszukaj stronę",
"Search playlists or new playlist name": "Szukaj playlisty lub",
"Select Library": "Select Library",
+16 -1
View File
@@ -47,12 +47,15 @@
"Bit rate": "Taxa de bits",
"Bold font": "Fonte em negrito",
"Broadcast": "Transmissão",
"Browse Headphone Profiles": "Browse Headphone Profiles",
"Cancel": "Cancelar",
"Cannot Delete": "Cannot Delete",
"Cannot delete builtin presets": "Cannot delete builtin presets",
"Cannot use the name of a builtin preset": "Cannot use the name of a builtin preset",
"Cast to device": "Cast to device",
"Channels": "Channels",
"Check for Updates": "Buscar atualizações",
"Check network connection and try again": "Check network connection and try again",
"Clear caches": "Clear caches",
"Close": "Fechar",
"Close to system tray": "Fechar para a bandeja do sistema",
@@ -98,9 +101,10 @@
"EQ Preamp": "Pre",
"EQ Preset": "Preset",
"EQ Preset:": "Preset:",
"EQ R&B": "R&B",
"EQ R\u0026B": "R\u0026B",
"EQ Rock": "Rock",
"EQ Treble Boost": "Treble Boost",
"EQ Type:": "EQ Type:",
"EQ Vocal": "Vocal",
"Edit": "Editar",
"Edit Playlist": "Editar lista de reprodução",
@@ -113,9 +117,11 @@
"Equalizer": "Equalizador",
"Error": "Erro",
"Error creating playlist": "Error creating playlist",
"Error loading AutoEQ profiles": "Error loading AutoEQ profiles",
"Error updating playlist": "Error updating playlist",
"Exclusive mode": "Modo exclusivo",
"Fade out on pause": "Fade out on pause",
"Failed to load profile": "Failed to load profile",
"Fav.": "Fav.",
"Favorites": "Favoritos",
"Feb": "Fev",
@@ -139,6 +145,7 @@
"In order": "In order",
"Internet Radio Stations": "Estacões de Rádio da Internet",
"Interview": "Entrevista",
"Invalid Name": "Invalid Name",
"Is favorite": "É favorito",
"Is not favorite": "Não é favorito",
"Jan": "Jan",
@@ -163,6 +170,7 @@
"My Server": "Meu Servidor",
"Name": "Nome",
"Name (A-Z)": "Nome (A-Z)",
"Network error. Check connection.": "Network error. Check connection.",
"New Playlist": "New Playlist",
"Next": "Próximo",
"Nickname": "Apelido",
@@ -176,6 +184,7 @@
"Now Playing": "Tocando agora",
"OK": "OK",
"Oct": "Out",
"Overwrite Preset": "Overwrite Preset",
"Owner": "Proprietário",
"Password": "Senha",
"Pause": "Pausar",
@@ -197,11 +206,14 @@
"Playlists": "Listas de reprodução",
"Plays": "Reproduções",
"Please select a preset to delete": "Please select a preset to delete",
"Preset '%s' already exists. Overwrite?": "Preset '%s' already exists. Overwrite?",
"Preset name": "Preset name",
"Prevent clipping": "Evitar clipping",
"Prevent screensaver on Now Playing page": "Prevent screensaver on Now Playing page",
"Previous": "Anterior",
"Private playlist by": "Lista de reprodução privada por",
"Profile": "Profile",
"Profile not found": "Profile not found",
"Public": "Public",
"Public playlist by": "Lista de reprodução pública por",
"Quit": "Sair",
@@ -222,12 +234,15 @@
"Restart required": "Requer reinício",
"Sample rate": "Sample rate",
"Save": "Save",
"Save As": "Save As",
"Save Preset": "Save Preset",
"Save Preset As": "Save Preset As",
"Save play queue": "Salvar fila de reprodução",
"Saved at": "Salvo em",
"Scrobble when": "Fazer scrobble quando",
"Search": "Pesquisar",
"Search Everywhere": "Pesquisar em todos os lugares",
"Search headphones...": "Search headphones...",
"Search page": "Pesquisar na página",
"Search playlists or new playlist name": "Pesquisar listas de reprodução ou criar uma nova",
"Select Library": "Select Library",
+16 -1
View File
@@ -46,12 +46,15 @@
"Bit rate": "Bit rate",
"Bold font": "Bold font",
"Broadcast": "Transmisiune",
"Browse Headphone Profiles": "Browse Headphone Profiles",
"Cancel": "Anulează",
"Cannot Delete": "Cannot Delete",
"Cannot delete builtin presets": "Cannot delete builtin presets",
"Cannot use the name of a builtin preset": "Cannot use the name of a builtin preset",
"Cast to device": "Cast to device",
"Channels": "Channels",
"Check for Updates": "Verifică actualizări",
"Check network connection and try again": "Check network connection and try again",
"Clear caches": "Clear caches",
"Close": "Închide",
"Close to system tray": "Închide în bara de sistem",
@@ -97,9 +100,10 @@
"EQ Preamp": "Pre",
"EQ Preset": "Preset",
"EQ Preset:": "Preset:",
"EQ R&B": "R&B",
"EQ R\u0026B": "R\u0026B",
"EQ Rock": "Rock",
"EQ Treble Boost": "Treble Boost",
"EQ Type:": "EQ Type:",
"EQ Vocal": "Vocal",
"Edit": "Editare",
"Edit Playlist": "Editează playlist",
@@ -112,9 +116,11 @@
"Equalizer": "Egalizator",
"Error": "Error",
"Error creating playlist": "Error creating playlist",
"Error loading AutoEQ profiles": "Error loading AutoEQ profiles",
"Error updating playlist": "Error updating playlist",
"Exclusive mode": "Mod exclusiv",
"Fade out on pause": "Fade out on pause",
"Failed to load profile": "Failed to load profile",
"Fav.": "Fav.",
"Favorites": "Favorite",
"Feb": "Feb",
@@ -138,6 +144,7 @@
"In order": "In order",
"Internet Radio Stations": "Stații radio pe internet",
"Interview": "Interviu",
"Invalid Name": "Invalid Name",
"Is favorite": "Este favorit",
"Is not favorite": "Nu este favorit",
"Jan": "Ian",
@@ -162,6 +169,7 @@
"My Server": "Serverul meu",
"Name": "Nume",
"Name (A-Z)": "Nume (A-Z)",
"Network error. Check connection.": "Network error. Check connection.",
"New Playlist": "New Playlist",
"Next": "Următorul",
"Nickname": "Supranume",
@@ -174,6 +182,7 @@
"Nov": "Noiem",
"OK": "OK",
"Oct": "Oct",
"Overwrite Preset": "Overwrite Preset",
"Owner": "Deținător",
"Password": "Parolă",
"Pause": "Pauză",
@@ -195,11 +204,14 @@
"Playlists": "Playlist-uri",
"Plays": "Redări",
"Please select a preset to delete": "Please select a preset to delete",
"Preset '%s' already exists. Overwrite?": "Preset '%s' already exists. Overwrite?",
"Preset name": "Preset name",
"Prevent clipping": "Previne distorsiunea",
"Prevent screensaver on Now Playing page": "Prevent screensaver on Now Playing page",
"Previous": "Anterior",
"Private playlist by": "Playlist privat de",
"Profile": "Profile",
"Profile not found": "Profile not found",
"Public": "Public",
"Public playlist by": "Playlist public de",
"Quit": "Ieșire",
@@ -220,12 +232,15 @@
"Restart required": "Repornire necesară",
"Sample rate": "Sample rate",
"Save": "Save",
"Save As": "Save As",
"Save Preset": "Save Preset",
"Save Preset As": "Save Preset As",
"Save play queue": "Salvează listă de redare",
"Saved at": "Salvat la",
"Scrobble when": "Scrobblare când",
"Search": "Caută",
"Search Everywhere": "Caută peste tot",
"Search headphones...": "Search headphones...",
"Search page": "Caută pagină",
"Search playlists or new playlist name": "Caută playlisturi sau nume de playlist nou",
"Select Library": "Select Library",
+16 -1
View File
@@ -47,12 +47,15 @@
"Bit rate": "Битрейт",
"Bold font": "Полужирный",
"Broadcast": "Радиопередача",
"Browse Headphone Profiles": "Browse Headphone Profiles",
"Cancel": "Отменить",
"Cannot Delete": "Cannot Delete",
"Cannot delete builtin presets": "Cannot delete builtin presets",
"Cannot use the name of a builtin preset": "Cannot use the name of a builtin preset",
"Cast to device": "Отправить на устройство",
"Channels": "Channels",
"Check for Updates": "Проверить обновления",
"Check network connection and try again": "Check network connection and try again",
"Clear caches": "Clear caches",
"Close": "Закрыть",
"Close to system tray": "Закрывать в область уведомлений",
@@ -98,9 +101,10 @@
"EQ Preamp": "Pre",
"EQ Preset": "Preset",
"EQ Preset:": "Preset:",
"EQ R&B": "R&B",
"EQ R\u0026B": "R\u0026B",
"EQ Rock": "Rock",
"EQ Treble Boost": "Treble Boost",
"EQ Type:": "EQ Type:",
"EQ Vocal": "Vocal",
"Edit": "Изменить",
"Edit Playlist": "Изменить список воспроизведения",
@@ -113,9 +117,11 @@
"Equalizer": "Эквалайзер",
"Error": "Ошибка",
"Error creating playlist": "Error creating playlist",
"Error loading AutoEQ profiles": "Error loading AutoEQ profiles",
"Error updating playlist": "Error updating playlist",
"Exclusive mode": "Исключительное использование",
"Fade out on pause": "Fade out on pause",
"Failed to load profile": "Failed to load profile",
"Fav.": "Избр.",
"Favorites": "Избранное",
"Feb": "Фев",
@@ -139,6 +145,7 @@
"In order": "In order",
"Internet Radio Stations": "Интернет-радио",
"Interview": "Интервью",
"Invalid Name": "Invalid Name",
"Is favorite": "В избранном",
"Is not favorite": "Не в избранном",
"Jan": "Янв",
@@ -163,6 +170,7 @@
"My Server": "Мой сервер",
"Name": "Название",
"Name (A-Z)": "По названию (A-Z)",
"Network error. Check connection.": "Network error. Check connection.",
"New Playlist": "New Playlist",
"Next": "Следующий",
"Nickname": "Название сервера",
@@ -176,6 +184,7 @@
"Now Playing": "Играет сейчас",
"OK": "OK",
"Oct": "Окт",
"Overwrite Preset": "Overwrite Preset",
"Owner": "Составитель",
"Password": "Пароль",
"Pause": "Остановить",
@@ -197,11 +206,14 @@
"Playlists": "Списки воспроизведения",
"Plays": "Прослушивания",
"Please select a preset to delete": "Please select a preset to delete",
"Preset '%s' already exists. Overwrite?": "Preset '%s' already exists. Overwrite?",
"Preset name": "Preset name",
"Prevent clipping": "Защита от перегрузки",
"Prevent screensaver on Now Playing page": "Prevent screensaver on Now Playing page",
"Previous": "Предыдущий",
"Private playlist by": "Приватный список вопроизведения",
"Profile": "Profile",
"Profile not found": "Profile not found",
"Public": "Public",
"Public playlist by": "Публичный список воспроизведения",
"Quit": "Выйти",
@@ -222,12 +234,15 @@
"Restart required": "Требуется перезапуск",
"Sample rate": "Sample rate",
"Save": "Save",
"Save As": "Save As",
"Save Preset": "Save Preset",
"Save Preset As": "Save Preset As",
"Save play queue": "Сохранять очередь воспроизведения при выходе",
"Saved at": "Сохранено в",
"Scrobble when": "Отправлять когда",
"Search": "Искать",
"Search Everywhere": "Искать везде",
"Search headphones...": "Search headphones...",
"Search page": "Искать на странице",
"Search playlists or new playlist name": "Найти или создать новый",
"Select Library": "Select Library",
+16 -1
View File
@@ -47,12 +47,15 @@
"Bit rate": "比特率",
"Bold font": "粗体字体",
"Broadcast": "广播",
"Browse Headphone Profiles": "Browse Headphone Profiles",
"Cancel": "取消",
"Cannot Delete": "Cannot Delete",
"Cannot delete builtin presets": "Cannot delete builtin presets",
"Cannot use the name of a builtin preset": "Cannot use the name of a builtin preset",
"Cast to device": "投屏到设备",
"Channels": "频道",
"Check for Updates": "检查更新",
"Check network connection and try again": "Check network connection and try again",
"Clear caches": "清除缓存",
"Close": "关闭",
"Close to system tray": "关闭到系统托盘",
@@ -98,9 +101,10 @@
"EQ Preamp": "Pre",
"EQ Preset": "Preset",
"EQ Preset:": "Preset:",
"EQ R&B": "R&B",
"EQ R\u0026B": "R\u0026B",
"EQ Rock": "Rock",
"EQ Treble Boost": "Treble Boost",
"EQ Type:": "EQ Type:",
"EQ Vocal": "Vocal",
"Edit": "编辑",
"Edit Playlist": "编辑播放列表",
@@ -113,9 +117,11 @@
"Equalizer": "均衡器",
"Error": "错误",
"Error creating playlist": "创建播放列表时出错",
"Error loading AutoEQ profiles": "Error loading AutoEQ profiles",
"Error updating playlist": "更新播放列表时出错",
"Exclusive mode": "独占模式",
"Fade out on pause": "暂停时淡出",
"Failed to load profile": "Failed to load profile",
"Fav.": "收藏",
"Favorites": "收藏",
"Feb": "二月",
@@ -139,6 +145,7 @@
"In order": "按顺序",
"Internet Radio Stations": "网络电台",
"Interview": "采访",
"Invalid Name": "Invalid Name",
"Is favorite": "已收藏",
"Is not favorite": "未收藏",
"Jan": "一月",
@@ -163,6 +170,7 @@
"My Server": "我的服务器",
"Name": "名称",
"Name (A-Z)": "名称 (A-Z)",
"Network error. Check connection.": "Network error. Check connection.",
"New Playlist": "新播放列表",
"Next": "下一个",
"Nickname": "昵称",
@@ -176,6 +184,7 @@
"Now Playing": "正在播放",
"OK": "确定",
"Oct": "十月",
"Overwrite Preset": "Overwrite Preset",
"Owner": "拥有者",
"Password": "密码",
"Pause": "暂停",
@@ -197,11 +206,14 @@
"Playlists": "播放列表",
"Plays": "播放",
"Please select a preset to delete": "Please select a preset to delete",
"Preset '%s' already exists. Overwrite?": "Preset '%s' already exists. Overwrite?",
"Preset name": "Preset name",
"Prevent clipping": "防止削波",
"Prevent screensaver on Now Playing page": "禁止在“正在播放”页面显示屏幕保护程序",
"Previous": "上一个",
"Private playlist by": "私人播放列表",
"Profile": "Profile",
"Profile not found": "Profile not found",
"Public": "公开",
"Public playlist by": "公开播放列表",
"Quit": "退出",
@@ -222,12 +234,15 @@
"Restart required": "需要重启",
"Sample rate": "采样率",
"Save": "Save",
"Save As": "Save As",
"Save Preset": "Save Preset",
"Save Preset As": "Save Preset As",
"Save play queue": "退出时保存播放队列",
"Saved at": "保存于",
"Scrobble when": "记录播放时",
"Search": "搜索",
"Search Everywhere": "搜索所有位置",
"Search headphones...": "Search headphones...",
"Search page": "搜索页面",
"Search playlists or new playlist name": "搜索播放列表或新播放列表名称",
"Select Library": "选择库",
+16 -1
View File
@@ -47,12 +47,15 @@
"Bit rate": "比特率",
"Bold font": "粗体字体",
"Broadcast": "广播",
"Browse Headphone Profiles": "Browse Headphone Profiles",
"Cancel": "取消",
"Cannot Delete": "Cannot Delete",
"Cannot delete builtin presets": "Cannot delete builtin presets",
"Cannot use the name of a builtin preset": "Cannot use the name of a builtin preset",
"Cast to device": "投屏到设备",
"Channels": "频道",
"Check for Updates": "检查更新",
"Check network connection and try again": "Check network connection and try again",
"Clear caches": "清除缓存",
"Close": "关闭",
"Close to system tray": "关闭到系统托盘",
@@ -98,9 +101,10 @@
"EQ Preamp": "Pre",
"EQ Preset": "Preset",
"EQ Preset:": "Preset:",
"EQ R&B": "R&B",
"EQ R\u0026B": "R\u0026B",
"EQ Rock": "Rock",
"EQ Treble Boost": "Treble Boost",
"EQ Type:": "EQ Type:",
"EQ Vocal": "Vocal",
"Edit": "编辑",
"Edit Playlist": "编辑播放列表",
@@ -113,9 +117,11 @@
"Equalizer": "均衡器",
"Error": "错误",
"Error creating playlist": "创建播放列表时出错",
"Error loading AutoEQ profiles": "Error loading AutoEQ profiles",
"Error updating playlist": "更新播放列表时出错",
"Exclusive mode": "独占模式",
"Fade out on pause": "暂停时淡出",
"Failed to load profile": "Failed to load profile",
"Fav.": "收藏",
"Favorites": "收藏",
"Feb": "二月",
@@ -139,6 +145,7 @@
"In order": "按顺序",
"Internet Radio Stations": "网络电台",
"Interview": "采访",
"Invalid Name": "Invalid Name",
"Is favorite": "已收藏",
"Is not favorite": "未收藏",
"Jan": "一月",
@@ -163,6 +170,7 @@
"My Server": "我的服务器",
"Name": "名称",
"Name (A-Z)": "名称 (A-Z)",
"Network error. Check connection.": "Network error. Check connection.",
"New Playlist": "新播放列表",
"Next": "下一个",
"Nickname": "昵称",
@@ -176,6 +184,7 @@
"Now Playing": "正在播放",
"OK": "确定",
"Oct": "十月",
"Overwrite Preset": "Overwrite Preset",
"Owner": "拥有者",
"Password": "密码",
"Pause": "暂停",
@@ -197,11 +206,14 @@
"Playlists": "播放列表",
"Plays": "播放",
"Please select a preset to delete": "Please select a preset to delete",
"Preset '%s' already exists. Overwrite?": "Preset '%s' already exists. Overwrite?",
"Preset name": "Preset name",
"Prevent clipping": "防止削波",
"Prevent screensaver on Now Playing page": "禁止在“正在播放”页面显示屏幕保护程序",
"Previous": "上一个",
"Private playlist by": "私人播放列表",
"Profile": "Profile",
"Profile not found": "Profile not found",
"Public": "公开",
"Public playlist by": "公开播放列表",
"Quit": "退出",
@@ -222,12 +234,15 @@
"Restart required": "需要重启",
"Sample rate": "采样率",
"Save": "Save",
"Save As": "Save As",
"Save Preset": "Save Preset",
"Save Preset As": "Save Preset As",
"Save play queue": "退出时保存播放队列",
"Saved at": "保存于",
"Scrobble when": "记录播放时",
"Search": "搜索",
"Search Everywhere": "搜索所有位置",
"Search headphones...": "Search headphones...",
"Search page": "搜索页面",
"Search playlists or new playlist name": "搜索播放列表或新播放列表名称",
"Select Library": "选择库",
+16 -1
View File
@@ -44,12 +44,15 @@
"Bit rate": "比特率",
"Bold font": "Bold font",
"Broadcast": "廣播",
"Browse Headphone Profiles": "Browse Headphone Profiles",
"Cancel": "取消",
"Cannot Delete": "Cannot Delete",
"Cannot delete builtin presets": "Cannot delete builtin presets",
"Cannot use the name of a builtin preset": "Cannot use the name of a builtin preset",
"Cast to device": "Cast to device",
"Channels": "Channels",
"Check for Updates": "檢查更新",
"Check network connection and try again": "Check network connection and try again",
"Clear caches": "Clear caches",
"Close": "關閉",
"Close to system tray": "關閉到系統匣",
@@ -94,9 +97,10 @@
"EQ Preamp": "Pre",
"EQ Preset": "Preset",
"EQ Preset:": "Preset:",
"EQ R&B": "R&B",
"EQ R\u0026B": "R\u0026B",
"EQ Rock": "Rock",
"EQ Treble Boost": "Treble Boost",
"EQ Type:": "EQ Type:",
"EQ Vocal": "Vocal",
"Edit": "編輯",
"Edit Playlist": "編輯播放清單",
@@ -109,9 +113,11 @@
"Equalizer": "均衡器",
"Error": "Error",
"Error creating playlist": "Error creating playlist",
"Error loading AutoEQ profiles": "Error loading AutoEQ profiles",
"Error updating playlist": "Error updating playlist",
"Exclusive mode": "獨佔模式",
"Fade out on pause": "Fade out on pause",
"Failed to load profile": "Failed to load profile",
"Fav.": "收藏",
"Favorites": "收藏",
"Field Recording": "現場錄音",
@@ -134,6 +140,7 @@
"In order": "In order",
"Internet Radio Stations": "網路電台",
"Interview": "訪談",
"Invalid Name": "Invalid Name",
"Is favorite": "已收藏",
"Is not favorite": "未收藏",
"Language": "語言",
@@ -153,6 +160,7 @@
"My Server": "我的伺服器",
"Name": "名稱",
"Name (A-Z)": "名稱 (A-Z)",
"Network error. Check connection.": "Network error. Check connection.",
"New Playlist": "New Playlist",
"Next": "下一個",
"Nickname": "暱稱",
@@ -163,6 +171,7 @@
"Normal": "Normal",
"Normal font": "Normal font",
"OK": "確定",
"Overwrite Preset": "Overwrite Preset",
"Owner": "擁有者",
"Password": "密碼",
"Pause": "暫停",
@@ -184,11 +193,14 @@
"Playlists": "播放清單",
"Plays": "播放",
"Please select a preset to delete": "Please select a preset to delete",
"Preset '%s' already exists. Overwrite?": "Preset '%s' already exists. Overwrite?",
"Preset name": "Preset name",
"Prevent clipping": "防止削波",
"Prevent screensaver on Now Playing page": "Prevent screensaver on Now Playing page",
"Previous": "上一個",
"Private playlist by": "私人 播放清單作者",
"Profile": "Profile",
"Profile not found": "Profile not found",
"Public": "Public",
"Public playlist by": "公開 播放清單作者",
"Quit": "退出",
@@ -209,12 +221,15 @@
"Restart required": "需要重新啟動",
"Sample rate": "Sample rate",
"Save": "Save",
"Save As": "Save As",
"Save Preset": "Save Preset",
"Save Preset As": "Save Preset As",
"Save play queue": "退出時保存播放佇列",
"Saved at": "保存於",
"Scrobble when": "記錄播放時",
"Search": "搜索",
"Search Everywhere": "搜尋所有地方",
"Search headphones...": "Search headphones...",
"Search page": "搜尋頁面",
"Search playlists or new playlist name": "搜尋播放清單或新播放清單名稱",
"Select Library": "Select Library",
+152 -24
View File
@@ -2,6 +2,7 @@ package dialogs
import (
"fmt"
"math"
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/container"
@@ -42,6 +43,9 @@ type GraphicEqualizer struct {
parentWindow fyne.Window
isApplyingPreset bool // Flag to prevent clearing profile during preset application
currentEQType string // Current EQ type ("ISO10Band" or "ISO15Band")
isDirty bool // true when sliders modified since last preset load/save
loadedPreset *backend.EQPreset // currently loaded preset (nil if none)
saveBtn *widget.Button // reference for enable/disable control
}
func NewGraphicEqualizer(preamp float64, bandFreqs []string, bandGains []float64, eqType string, presetMgr *backend.EQPresetManager, parentWindow fyne.Window, activePresetName string) *GraphicEqualizer {
@@ -57,7 +61,16 @@ func NewGraphicEqualizer(preamp float64, bandFreqs []string, bandGains []float64
// Set the dropdown to the active preset if one exists
if activePresetName != "" {
g.setActivePreset(activePresetName)
// Populate loadedPreset and detect dirty state on dialog reopen
for i, p := range g.eqPresets {
if p.Name == activePresetName {
g.loadedPreset = &g.eqPresets[i]
g.isDirty = !g.matchesPreset(p)
break
}
}
}
g.updateSaveButtonState()
return g
}
@@ -115,9 +128,15 @@ func (g *GraphicEqualizer) buildSliders(preamp float64, bands []string, bandGain
}
})
// Save button
saveBtn := widget.NewButton(lang.L("Save"), func() {
g.showSavePresetDialog()
// Save button (overwrites current loaded preset)
g.saveBtn = widget.NewButton(lang.L("Save"), func() {
g.saveCurrentPreset()
})
g.saveBtn.Disable() // starts disabled
// Save As button (always enabled, opens name-entry dialog)
saveAsBtn := widget.NewButton(lang.L("Save As"), func() {
g.showSaveAsDialog()
})
// Delete button
@@ -149,7 +168,8 @@ func (g *GraphicEqualizer) buildSliders(preamp float64, bands []string, bandGain
g.presetSelect,
g.autoEQBtn,
layout.NewSpacer(),
saveBtn,
g.saveBtn,
saveAsBtn,
deleteBtn,
resetBtn,
),
@@ -187,8 +207,12 @@ func (g *GraphicEqualizer) buildSliderArea(preamp float64, bands []string, bandG
g.OnPreampChanged(f)
}
g.preampSlider.UpdateToolTip()
if !g.isApplyingPreset && g.OnManualAdjustment != nil {
g.OnManualAdjustment()
if !g.isApplyingPreset {
g.isDirty = true
g.updateSaveButtonState()
if g.OnManualAdjustment != nil {
g.OnManualAdjustment()
}
}
}
g.preampSlider.UpdateToolTip()
@@ -208,8 +232,12 @@ func (g *GraphicEqualizer) buildSliderArea(preamp float64, bands []string, bandG
g.OnChanged(_i, f)
}
g.bandSliders[_i].UpdateToolTip()
if !g.isApplyingPreset && g.OnManualAdjustment != nil {
g.OnManualAdjustment()
if !g.isApplyingPreset {
g.isDirty = true
g.updateSaveButtonState()
if g.OnManualAdjustment != nil {
g.OnManualAdjustment()
}
}
}
l := newCaptionTextSizeLabel(band, fyne.TextAlignCenter)
@@ -255,6 +283,11 @@ func (g *GraphicEqualizer) RebuildForEQType(eqType string, bandGains []float64)
g.sliderArea = newSliderArea
g.container.Objects = []fyne.CanvasObject{g.topBar, g.sliderArea}
g.container.Refresh()
// Clear loaded preset when EQ type changes
g.loadedPreset = nil
g.isDirty = false
g.updateSaveButtonState()
}
func (g *GraphicEqualizer) updatePresetSelect() {
@@ -346,6 +379,12 @@ func (g *GraphicEqualizer) applyPreset(preset backend.EQPreset) {
}
}
}
// Track the loaded preset and clear dirty state
presetCopy := preset
g.loadedPreset = &presetCopy
g.isDirty = false
g.updateSaveButtonState()
}
func (g *GraphicEqualizer) getCurrentSettings() backend.EQPreset {
@@ -360,12 +399,61 @@ func (g *GraphicEqualizer) getCurrentSettings() backend.EQPreset {
}
}
func (g *GraphicEqualizer) showSavePresetDialog() {
func (g *GraphicEqualizer) updateSaveButtonState() {
if g.saveBtn == nil {
return
}
if g.loadedPreset != nil && !g.loadedPreset.IsBuiltin && g.isDirty {
g.saveBtn.Enable()
} else {
g.saveBtn.Disable()
}
}
func (g *GraphicEqualizer) saveCurrentPreset() {
if g.loadedPreset == nil || g.loadedPreset.IsBuiltin {
return
}
g.savePresetWithName(g.loadedPreset.Name)
}
func (g *GraphicEqualizer) savePresetWithName(name string) {
preset := g.getCurrentSettings()
preset.Name = name
preset.IsBuiltin = false
if err := g.presetManager.SavePreset(preset); err != nil {
dialog.ShowError(err, g.parentWindow)
return
}
// Update loaded preset and clear dirty state
g.loadedPreset = &preset
g.isDirty = false
g.updateSaveButtonState()
// Reload presets and update UI
g.loadPresets()
g.updatePresetSelect()
// Select the newly saved preset
g.presetSelect.SetSelected(preset.Name + " *")
if g.OnPresetSelected != nil {
g.OnPresetSelected(preset.Name)
}
}
func (g *GraphicEqualizer) showSaveAsDialog() {
nameEntry := widget.NewEntry()
nameEntry.SetPlaceHolder(lang.L("Preset name"))
// Pre-fill with loaded preset name if it's a custom preset
if g.loadedPreset != nil && !g.loadedPreset.IsBuiltin {
nameEntry.SetText(g.loadedPreset.Name)
}
formDialog := dialog.NewForm(
lang.L("Save Preset"),
lang.L("Save Preset As"),
lang.L("Save"),
lang.L("Cancel"),
[]*widget.FormItem{
@@ -376,24 +464,38 @@ func (g *GraphicEqualizer) showSavePresetDialog() {
return
}
preset := g.getCurrentSettings()
preset.Name = nameEntry.Text
preset.IsBuiltin = false
name := nameEntry.Text
if err := g.presetManager.SavePreset(preset); err != nil {
dialog.ShowError(err, g.parentWindow)
return
// Check if name matches a builtin preset
for _, p := range g.eqPresets {
if p.Name == name && p.IsBuiltin {
dialog.ShowInformation(
lang.L("Invalid Name"),
lang.L("Cannot use the name of a builtin preset"),
g.parentWindow,
)
return
}
}
// Reload presets and update UI
g.loadPresets()
g.updatePresetSelect()
// Select the newly saved preset
g.presetSelect.SetSelected(preset.Name + " *")
if g.OnPresetSelected != nil {
g.OnPresetSelected(preset.Name)
// Check if name matches an existing custom preset
for _, p := range g.eqPresets {
if p.Name == name && !p.IsBuiltin {
dialog.ShowConfirm(
lang.L("Overwrite Preset"),
fmt.Sprintf(lang.L("Preset '%s' already exists. Overwrite?"), name),
func(overwrite bool) {
if overwrite {
g.savePresetWithName(name)
}
},
g.parentWindow,
)
return
}
}
g.savePresetWithName(name)
},
g.parentWindow,
)
@@ -402,6 +504,32 @@ func (g *GraphicEqualizer) showSavePresetDialog() {
formDialog.Show()
}
// matchesPreset compares current slider values against a preset
func (g *GraphicEqualizer) matchesPreset(preset backend.EQPreset) bool {
if g.preampSlider == nil {
return false
}
if math.Abs(g.preampSlider.Value-preset.Preamp) > 0.05 {
return false
}
if len(g.bandSliders) != len(preset.Bands) {
return false
}
for i, slider := range g.bandSliders {
if math.Abs(slider.Value-preset.Bands[i]) > 0.05 {
return false
}
}
return true
}
// ClearLoadedPresetState clears the loaded preset and dirty state
func (g *GraphicEqualizer) ClearLoadedPresetState() {
g.loadedPreset = nil
g.isDirty = false
g.updateSaveButtonState()
}
func (g *GraphicEqualizer) showDeletePresetDialog() {
selected := g.presetSelect.Selected
if selected == "" {
+4 -4
View File
@@ -501,12 +501,11 @@ func (s *SettingsDialog) createEqualizerTab(eqBands []string) *container.TabItem
debouncer()
}
geq.OnManualAdjustment = func() {
// Clear AutoEQ profile and preset when user manually adjusts sliders
// Clear AutoEQ profile when user manually adjusts sliders
// Preset name persists so Save button can overwrite the loaded preset
s.config.LocalPlayback.AutoEQProfilePath = ""
s.config.LocalPlayback.AutoEQProfileName = ""
s.config.LocalPlayback.ActiveEQPresetName = ""
geq.ClearProfileLabel()
geq.ClearPresetSelection()
}
geq.OnLoadAutoEQProfile = func() {
s.openAutoEQBrowser(geq, debouncer)
@@ -634,8 +633,9 @@ func (s *SettingsDialog) applyAutoEQProfile(profile *backend.AutoEQProfile, geq
}
geq.applyPreset(preset)
// Clear preset dropdown since AutoEQ is now active
// Clear preset dropdown and loaded preset state since AutoEQ is now active
geq.ClearPresetSelection()
geq.ClearLoadedPresetState()
// Show profile label
geq.SetProfileLabel(profile.Name)