diff --git a/res/translations/de.json b/res/translations/de.json index 284b81d..de9771e 100644 --- a/res/translations/de.json +++ b/res/translations/de.json @@ -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", diff --git a/res/translations/en.json b/res/translations/en.json index ccec76c..8002d5d 100644 --- a/res/translations/en.json +++ b/res/translations/en.json @@ -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", diff --git a/res/translations/es.json b/res/translations/es.json index 14b7ae3..7eafe83 100644 --- a/res/translations/es.json +++ b/res/translations/es.json @@ -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", diff --git a/res/translations/fr.json b/res/translations/fr.json index 1724828..845ccca 100644 --- a/res/translations/fr.json +++ b/res/translations/fr.json @@ -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", diff --git a/res/translations/it.json b/res/translations/it.json index 11d2f31..4fdc98e 100644 --- a/res/translations/it.json +++ b/res/translations/it.json @@ -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", diff --git a/res/translations/ja.json b/res/translations/ja.json index 2a5f73a..9dc1356 100644 --- a/res/translations/ja.json +++ b/res/translations/ja.json @@ -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": "ライブラリを選択", diff --git a/res/translations/ko.json b/res/translations/ko.json index 4595738..ffacf6d 100644 --- a/res/translations/ko.json +++ b/res/translations/ko.json @@ -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", diff --git a/res/translations/nl.json b/res/translations/nl.json index e6657d2..ad0fa51 100644 --- a/res/translations/nl.json +++ b/res/translations/nl.json @@ -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", diff --git a/res/translations/pl.json b/res/translations/pl.json index 92ee700..fb2b831 100644 --- a/res/translations/pl.json +++ b/res/translations/pl.json @@ -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", diff --git a/res/translations/pt_BR.json b/res/translations/pt_BR.json index 3139807..7ebf3ac 100644 --- a/res/translations/pt_BR.json +++ b/res/translations/pt_BR.json @@ -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", diff --git a/res/translations/ro.json b/res/translations/ro.json index 0dcb15b..8d00d49 100644 --- a/res/translations/ro.json +++ b/res/translations/ro.json @@ -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", diff --git a/res/translations/ru.json b/res/translations/ru.json index 9df1b72..d9a6539 100644 --- a/res/translations/ru.json +++ b/res/translations/ru.json @@ -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", diff --git a/res/translations/zh.json b/res/translations/zh.json index d8f12a6..e94348f 100644 --- a/res/translations/zh.json +++ b/res/translations/zh.json @@ -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": "选择库", diff --git a/res/translations/zhHans.json b/res/translations/zhHans.json index d8f12a6..e94348f 100644 --- a/res/translations/zhHans.json +++ b/res/translations/zhHans.json @@ -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": "选择库", diff --git a/res/translations/zhHant.json b/res/translations/zhHant.json index 4fbaaf6..822ec53 100644 --- a/res/translations/zhHant.json +++ b/res/translations/zhHant.json @@ -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", diff --git a/ui/dialogs/graphicequalizer.go b/ui/dialogs/graphicequalizer.go index 0b5ff77..a13962d 100644 --- a/ui/dialogs/graphicequalizer.go +++ b/ui/dialogs/graphicequalizer.go @@ -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 == "" { diff --git a/ui/dialogs/settingsdialog.go b/ui/dialogs/settingsdialog.go index 41c3f4d..bf99bb9 100644 --- a/ui/dialogs/settingsdialog.go +++ b/ui/dialogs/settingsdialog.go @@ -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)