1.1.15 - importer fixes, queue virtual scroller

This commit is contained in:
exttex 2021-01-26 20:13:01 +01:00
parent b0ebe66d54
commit babaa68d91
36 changed files with 854 additions and 325 deletions

View File

@ -137,5 +137,21 @@
"Content country": "بلد المحتوى", "Content country": "بلد المحتوى",
"Website": "الموقع الالكتروني", "Website": "الموقع الالكتروني",
"Visit website": "زيارة الموقع الإلكتروني", "Visit website": "زيارة الموقع الإلكتروني",
"New update available:": "تحديث جديد متوفر:" "New update available:": "تحديث جديد متوفر:",
"Shuffle": "خلط عشوائي",
"Download album cover": "تنزيل صورة الألبوم",
"Art Resolution": "دقة صورة الالبوم",
"Public": "عامة",
"Private": "خاص",
"Collaborative": "التعاونيه",
"Edit playlist": "تعديل قائمة التشغيل",
"Save": "حفظ",
"Edit": "حرّر",
"Importer": "المستورد",
"Enter URL": "أدخل الرابط",
"Currently only Spotify is supported and limited to 100 tracks.": "حاليا فقط يدعم سبوتيقاي ومحدود إلى 100 اغنية.",
"Import into playlist": "استيراد إلى قائمة التشغيل",
"Keep sidebar open": "إبقاء الشريط الجانبي مفتوح",
"WARNING: Might require reload to work properly!": "تحذير: قد تتطلب إعادة تحميل للعمل بشكل صحيح!",
"An error occured, URL might be invalid or unsupported.": "حدث خطأ، قد يكون الرابط غير صالح أو غير مدعوم."
} }

View File

@ -1,141 +1,157 @@
{ {
"Home": "Home", "Home": "Aniciu",
"Browse": "Browse", "Browse": "Restolar",
"Library": "Library", "Library": "Biblioteca",
"Tracks": "Tracks", "Tracks": "Pistes",
"Playlists": "Playlists", "Playlists": "Llistes",
"Albums": "Albums", "Albums": "Álbumes",
"Artists": "Artists", "Artists": "Artistes",
"More": "More", "More": "Más",
"Settings": "Settings", "Settings": "Axustes",
"Downloads": "Downloads", "Downloads": "Descargues",
"Search or paste Deezer URL. Use / to quickly focus.": "Search or paste Deezer URL. Use \"/\" to quickly focus.", "Search or paste Deezer URL. Use / to quickly focus.": "Busca o apiega una URL de Deezer. Usa «/» pa enfocar aína esta barra.",
"Play": "Play", "Play": "Reproducir",
"Add to library": "Add to library", "Add to library": "Amestar a la biblioteca",
"Download": "Download", "Download": "Baxar",
"fans": "fans", "fans": "siguidores",
"tracks": "tracks", "tracks": "pistes",
"Quality": "Quality", "Quality": "Calidá",
"Estimated size:": "Estimated size:", "Estimated size:": "Tamañu estimáu:",
"Start downloading": "Start downloading", "Start downloading": "Aniciar la descarga",
"Cancel": "Cancel", "Cancel": "Encaboxar",
"Stream logging is disabled!": "Stream logging is disabled!", "Stream logging is disabled!": "¡El rexistru de tresmisiones ta desactiváu!",
"Enable it in settings for history to work properly.": "Enable it in settings for history to work properly.", "Enable it in settings for history to work properly.": "Actívalu nos axustes pa que l'historial funcione afayadizamente.",
"History": "History", "History": "Historial",
"Create new playlist": "Create new playlist", "Create new playlist": "Crear una llista",
"TRACKS": "TRACKS", "TRACKS": "PISTES",
"Sort by": "Sort by", "Sort by": "Ordenar por",
"Date Added": "Date Added", "Date Added": "Data d'amiestu",
"Name (A-Z)": "Name (A-Z)", "Name (A-Z)": "Nome (A-Z)",
"Artist (A-Z)": "Artist (A-Z)", "Artist (A-Z)": "Artista (A-Z)",
"Album (A-Z)": "Album (A-Z)", "Album (A-Z)": "Álbum (A-Z)",
"Error loading lyrics or lyrics not found!": "Error loading lyrics or lyrics not found!", "Error loading lyrics or lyrics not found!": "¡Hebo un fallu al cargar la lletra o nun s'atopó!",
"Create playlist": "Create playlist", "Create playlist": "Creación d'una llista",
"Create": "Create", "Create": "Crear",
"Add to playlist": "Add to playlist", "Add to playlist": "Amestar a una llista",
"Create new": "Create new", "Create new": "Crear una",
"Remove": "Remove", "Remove": "Quitar",
"Play next": "Play next", "Play next": "Reproducir darréu",
"Add to queue": "Add to queue", "Add to queue": "Amestar a la cola",
"Remove from library": "Remove from library", "Remove from library": "Quitar de la biblioteca",
"Remove from playlist": "Remove from playlist", "Remove from playlist": "Quitar de la llista",
"Play track mix": "Play track mix", "Play track mix": "Reproducir el mecíu de pistes",
"Go to": "Go to", "Go to": "Dir a",
"Track Mix": "Track Mix", "Track Mix": "Mecíu de pistes",
"Duration": "Duration", "Duration": "Duración",
"Released": "Released", "Released": "Data de llanzamientu",
"Disk": "Disk", "Disk": "Discu",
"albums": "albums", "albums": "álbumes",
"Play top": "Play top", "Play top": "Reproducir lo destacao",
"Radio": "Radio", "Radio": "Radio",
"Show all albums": "Show all albums", "Show all albums": "Amosar tolos álbumes",
"Show all singles": "Show all singles", "Show all singles": "Amosar tolos singles",
"Show more": "Show more", "Show more": "Amosar más",
"Downloaded": "Downloaded", "Downloaded": "Baxó",
"Queue": "Queue", "Queue": "Cola",
"Total": "Total", "Total": "En total",
"Stop": "Stop", "Stop": "Parar",
"Start": "Start", "Start": "Aniciar",
"Show folder": "Show folder", "Show folder": "Amosar la carpeta",
"Clear queue": "Clear queue", "Clear queue": "Llimpiar la cola",
"Playing from": "Playing from", "Playing from": "Reproduciendo dende",
"Info": "Info", "Info": "Información",
"Lyrics": "Lyrics", "Lyrics": "Lletra",
"Track number": "Track number", "Track number": "Númberu de la pista",
"Disk number": "Disk number", "Disk number": "Númberu del discu",
"Explicit": "Explicit", "Explicit": "+18",
"Source": "Source", "Source": "Orixe",
"ID": "ID", "ID": "ID",
"Error logging in!": "Error logging in!", "Error logging in!": "¡Hebo un fallu al aniciar sesión!",
"Please try again later, or try another account.": "Please try again later, or try another account.", "Please try again later, or try another account.": "Volvi tentalo dempués o prueba con otra cuenta, por favor.",
"Logout": "Logout", "Logout": "Zarrar sesión",
"Login using browser": "Login using browser", "Login using browser": "Aniciar sesión col restolador",
"Please login using your Deezer account:": "Please login using your Deezer account:", "Please login using your Deezer account:": "Usa la to cuenta de Deezer…",
"...or paste your ARL/Token below:": "...or paste your ARL/Token below:", "...or paste your ARL/Token below:": "…o apiega la ARL/pase embaxo:",
"ARL/Token": "ARL/Token", "ARL/Token": "ARL/Pase",
"Login": "Login", "Login": "Aniciar sesión",
"By using this program, you disagree with Deezer's ToS.": "By using this program, you disagree with Deezer's ToS.", "By using this program, you disagree with Deezer's ToS.": "Col usu d'esti programa refugues los Términos del Serviciu de Deezer.",
"Only in Electron version!": "Only in Electron version!", "Only in Electron version!": "¡Namás na versión d'Electron!",
"Search results for:": "Search results for:", "Search results for:": "Resultaos pa la busca de:",
"Error loading data!": "Error loading data!", "Error loading data!": "¡Hebo un fallu al cargar los datos!",
"Try again later!": "Try again later!", "Try again later!": "¡Volvi tentalo dempués!",
"Search": "Search", "Search": "Buscar",
"Streaming Quality": "Streaming Quality", "Streaming Quality": "Calidá de les tresmisiones",
"Download Quality": "Download Quality", "Download Quality": "Calidá de les descargues",
"Downloads Directory": "Downloads Directory", "Downloads Directory": "Direutoriu de les descargues",
"Simultaneous downloads": "Simultaneous downloads", "Simultaneous downloads": "Descargues simultánees",
"Always show download confirm dialog before downloading.": "Always show download confirm dialog before downloading.", "Always show download confirm dialog before downloading.": "Amosar siempres el diálogu de confirmación de les descargues enantes de baxar.",
"Show download dialog": "Show download dialog", "Show download dialog": "Amosar el diálogu de descarga",
"Create folders for artists": "Create folders for artists", "Create folders for artists": "Crear carpetes pa los artistes",
"Create folders for albums": "Create folders for albums", "Create folders for albums": "Crear carpetes pa los álbumes",
"Download lyrics": "Download lyrics", "Download lyrics": "Baxar les lletres",
"Variables": "Variables", "Variables": "Variables",
"UI": "UI", "UI": "IU",
"Show autocomplete in search": "Show autocomplete in search", "Show autocomplete in search": "Amosar el completáu automáticu na busca",
"Integrations": "Integrations", "Integrations": "Integraciones",
"This allows listening history, flow and recommendations to work properly.": "This allows listening history, flow and recommendations to work properly.", "This allows listening history, flow and recommendations to work properly.": "Esto permite que l'historial, fluxu y recomendaciones d'escuches funciones afayadizamente.",
"Log track listens to Deezer": "Log track listens to Deezer", "Log track listens to Deezer": "Rexistrar les pistes sentíes en Deezer",
"Connect your LastFM account to allow scrobbling.": "Connect your LastFM account to allow scrobbling.", "Connect your LastFM account to allow scrobbling.": "Conecta la to cuenta de LastFM pa permitir la sincronización de pistes.",
"Login with LastFM": "Login with LastFM", "Login with LastFM": "Aniciar sesión en LastFM",
"Disconnect LastFM": "Disconnect LastFM", "Disconnect LastFM": "Desconectase de LastFM",
"Requires restart to apply!": "Requires restart to apply!", "Requires restart to apply!": "¡Rique'l reaniciu p'aplicar!",
"Enable Discord Rich Presence, requires restart to toggle!": "Enable Discord Rich Presence, requires restart to toggle!", "Enable Discord Rich Presence, requires restart to toggle!": "Activa la presencia arriquecida de de Discord. ¡Rique reaniciar l'aplicación p'alternar!",
"Discord Rich Presence": "Discord Rich Presence", "Discord Rich Presence": "Presencia arriquecida de Discord",
"Enable Discord join button for syncing tracks, requires restart to toggle!": "Enable Discord join button for syncing tracks, requires restart to toggle!", "Enable Discord join button for syncing tracks, requires restart to toggle!": "Activa'l botón de xunión de Discord pa sincronizar pistes. ¡Rique reaniciar l'aplicación p'alternar!",
"Discord Join Button": "Discord Join Button", "Discord Join Button": "Botón de xunión de Discord",
"Other": "Other", "Other": "Otres opciones",
"Minimize to tray": "Minimize to tray", "Minimize to tray": "Minimizar a la bandexa",
"Don't minimize to tray": "Don't minimize to tray", "Don't minimize to tray": "Nun minimiza a la bandexa",
"Close on exit": "Close on exit", "Close on exit": "Zarrar al colar",
"Settings saved!": "Settings saved!", "Settings saved!": "¡Guardáronse los axustes!",
"Available only in Electron version!": "Available only in Electron version!", "Available only in Electron version!": "¡Namás disponible na versión d'Electron!",
"Crossfade (ms)": "Crossfade (ms)", "Crossfade (ms)": "Transición (ms)",
"Select primary color": "Select primary color", "Select primary color": "Esbillar el color primariu",
"Light theme": "Light theme", "Light theme": "Estilu claru",
"Create folders for playlists": "Create folders for playlists", "Create folders for playlists": "Crear carpetes pa les llistes",
"About": "About", "About": "Tocante a",
"Links:": "Links:", "Links:": "Enllaces:",
"Telegram Releases": "Telegram Releases", "Telegram Releases": "Llanzamientos en Telegram",
"Telegram Group": "Telegram Group", "Telegram Group": "Grupu de Telegram",
"Discord": "Discord", "Discord": "Discord",
"Telegram Android Group": "Telegram Android Group", "Telegram Android Group": "Grupu d'Android en Telegram",
"Credits:": "Credits:", "Credits:": "Creitos:",
"Agree": "Agree", "Agree": "Acepto",
"Dismiss": "Dismiss", "Dismiss": "Escartar",
"Added to playlist!": "Added to playlist!", "Added to playlist!": "¡Amestóse a la llista!",
"Added to library!": "Added to library!", "Added to library!": "¡Amestóse a la biblioteca!",
"Removed from library!": "Removed from library!", "Removed from library!": "¡Quitóse de la biblioteca!",
"Removed from playlist!": "Removed from playlist!", "Removed from playlist!": "¡Quitóse de la llista!",
"Playlist deleted!": "Playlist deleted!", "Playlist deleted!": "¡Desanicióse la llista!",
"Delete": "Delete", "Delete": "Desaniciar",
"Are you sure you want to delete this playlist?": "Are you sure you want to delete this playlist?", "Are you sure you want to delete this playlist?": "¿De xuru que quies desaniciar esta llista?",
"Force white tray icon": "Force white tray icon", "Force white tray icon": "Forciar l'iconu de la bandexa blancu",
"Force default (white) tray icon if theme incorrectly detected. Requires restart.": "Force default (white) tray icon if theme incorrectly detected. Requires restart.", "Force default (white) tray icon if theme incorrectly detected. Requires restart.": "Forcia l'iconu (blancu) predetermináu de la bandexa si nun se detecta correutamente l'estilu. Rique'l reaniciu.",
"Share": "Share", "Share": "Compartir",
"Settings quality": "Settings quality", "Settings quality": "Axustes de la calidá",
"Content language": "Content language", "Content language": "Llingua del conteníu",
"Content country": "Content country", "Content country": "País del conteníu",
"Website": "Website", "Website": "Sitiu web",
"Visit website": "Visit website", "Visit website": "Visitar el sitiu web",
"New update available:": "New update available:" "New update available:": "Anovamientu disponible:",
"Shuffle": "Al debalu",
"Download album cover": "Baxar la portada de los álbumes",
"Art Resolution": "Resolución",
"Public": "Pública",
"Private": "Privada",
"Collaborative": "En comuña",
"Edit playlist": "Edición d'una llista",
"Save": "Guardar",
"Edit": "Editar",
"Importer": "Importador",
"Enter URL": "Introduz una URL",
"Currently only Spotify is supported and limited to 100 tracks.": "Anguaño namás se sofita Spotify y con una llende de 100 pistes.",
"Import into playlist": "Importar a una llista",
"Keep sidebar open": "Caltner la barra llateral abierta",
"WARNING: Might require reload to work properly!": "ALVERTENCIA: ¡Reanicia l'aplicación pa que funcione afayadizamente!",
"An error occured, URL might be invalid or unsupported.": "Asocedió un fallo, quiciabes la URL nun seya válida o nun se sofite."
} }

View File

@ -137,5 +137,21 @@
"Content country": "Content country", "Content country": "Content country",
"Website": "Website", "Website": "Website",
"Visit website": "Visit website", "Visit website": "Visit website",
"New update available:": "New update available:" "New update available:": "New update available:",
"Shuffle": "Shuffle",
"Download album cover": "Download album cover",
"Art Resolution": "Art Resolution",
"Public": "Public",
"Private": "Private",
"Collaborative": "Collaborative",
"Edit playlist": "Edit playlist",
"Save": "Save",
"Edit": "Edit",
"Importer": "Importer",
"Enter URL": "Enter URL",
"Currently only Spotify is supported and limited to 100 tracks.": "Currently only Spotify is supported and limited to 100 tracks.",
"Import into playlist": "Import into playlist",
"Keep sidebar open": "Keep sidebar open",
"WARNING: Might require reload to work properly!": "WARNING: Might require reload to work properly!",
"An error occured, URL might be invalid or unsupported.": "An error occured, URL might be invalid or unsupported."
} }

View File

@ -1,5 +1,5 @@
{ {
"Home": "Start", "Home": "Startseite",
"Browse": "Durchsuchen", "Browse": "Durchsuchen",
"Library": "Mediathek", "Library": "Mediathek",
"Tracks": "Songs", "Tracks": "Songs",
@ -9,7 +9,7 @@
"More": "Mehr", "More": "Mehr",
"Settings": "Einstellungen", "Settings": "Einstellungen",
"Downloads": "Downloads", "Downloads": "Downloads",
"Search or paste Deezer URL. Use / to quickly focus.": "Suche oder füge eine Deezer URL ein. Benutze \"/\" um schnell zu fokussieren.", "Search or paste Deezer URL. Use / to quickly focus.": "Suchen oder Deezer URL einfügen. Benutze \"/\", um schnell zu fokussieren.",
"Play": "Wiedergeben", "Play": "Wiedergeben",
"Add to library": "Zur Mediathek hinzufügen", "Add to library": "Zur Mediathek hinzufügen",
"Download": "Download", "Download": "Download",
@ -27,7 +27,7 @@
"Sort by": "Sortieren nach", "Sort by": "Sortieren nach",
"Date Added": "Hinzugefügt am", "Date Added": "Hinzugefügt am",
"Name (A-Z)": "Name (A-Z)", "Name (A-Z)": "Name (A-Z)",
"Artist (A-Z)": "Künstler*innen (A-Z)", "Artist (A-Z)": "Künstler*in (A-Z)",
"Album (A-Z)": "Album (A-Z)", "Album (A-Z)": "Album (A-Z)",
"Error loading lyrics or lyrics not found!": "Fehler beim Laden der Songtexte bzw. Songtexte nicht gefunden!", "Error loading lyrics or lyrics not found!": "Fehler beim Laden der Songtexte bzw. Songtexte nicht gefunden!",
"Create playlist": "Playlist erstellen", "Create playlist": "Playlist erstellen",
@ -54,7 +54,7 @@
"Downloaded": "Heruntergeladen", "Downloaded": "Heruntergeladen",
"Queue": "Wiedergabeliste", "Queue": "Wiedergabeliste",
"Total": "Gesamt", "Total": "Gesamt",
"Stop": "Stop", "Stop": "Stopp",
"Start": "Start", "Start": "Start",
"Show folder": "Ordner anzeigen", "Show folder": "Ordner anzeigen",
"Clear queue": "Warteschleife löschen", "Clear queue": "Warteschleife löschen",
@ -66,12 +66,12 @@
"Explicit": "Explizit", "Explicit": "Explizit",
"Source": "Quelle", "Source": "Quelle",
"ID": "ID", "ID": "ID",
"Error logging in!": "Fehler beim einloggen!", "Error logging in!": "Fehler beim Einloggen!",
"Please try again later, or try another account.": "Bitte versuche es später noch einmal oder versuche es mit einem anderen Konto.", "Please try again later, or try another account.": "Bitte versuche es später noch einmal oder versuche es mit einem anderen Konto.",
"Logout": "Abmelden", "Logout": "Abmelden",
"Login using browser": "Anmeldung über Browser", "Login using browser": "Anmeldung über Browser",
"Please login using your Deezer account:": "Bitte melde dich mit deinem Deezer-Konto an:", "Please login using your Deezer account:": "Bitte melde dich mit deinem Deezer-Konto an:",
"...or paste your ARL/Token below:": "...oder füge dein ARL/Token unten ein:", "...or paste your ARL/Token below:": "...oder füge deine ARL/deinen Token unten ein:",
"ARL/Token": "ARL/Token", "ARL/Token": "ARL/Token",
"Login": "Anmeldung", "Login": "Anmeldung",
"By using this program, you disagree with Deezer's ToS.": "Durch die Verwendung dieses Programms lehnst du die Nutzungsbedingungen von Deezer ab.", "By using this program, you disagree with Deezer's ToS.": "Durch die Verwendung dieses Programms lehnst du die Nutzungsbedingungen von Deezer ab.",
@ -88,24 +88,24 @@
"Show download dialog": "Download-Dialog anzeigen", "Show download dialog": "Download-Dialog anzeigen",
"Create folders for artists": "Ordner für Künstler*innen erstellen", "Create folders for artists": "Ordner für Künstler*innen erstellen",
"Create folders for albums": "Ordner für Alben erstellen", "Create folders for albums": "Ordner für Alben erstellen",
"Download lyrics": "Download Lyrics", "Download lyrics": "Lyrics herunterladen",
"Variables": "Variablen", "Variables": "Variablen",
"UI": "Benutzeroberfläche", "UI": "Benutzeroberfläche",
"Show autocomplete in search": "Auto-Vervollständigung in der Suche anzeigen", "Show autocomplete in search": "Auto-Vervollständigung in der Suche anzeigen",
"Integrations": "Integrationen", "Integrations": "Integrationen",
"This allows listening history, flow and recommendations to work properly.": "Dies ermöglicht, dass der Wiedergabeverlauf, Flow und Empfehlungen korrekt funktionieren.", "This allows listening history, flow and recommendations to work properly.": "Dies ermöglicht, dass der Wiedergabeverlauf, Flow und Empfehlungen korrekt funktionieren.",
"Log track listens to Deezer": "Prokotolliere gehörte Titel auf Deezer", "Log track listens to Deezer": "Prokotolliere gehörte Songs auf Deezer",
"Connect your LastFM account to allow scrobbling.": "Verbinde dein LastFM-Konto, um das Scrobbling zu erlauben.", "Connect your LastFM account to allow scrobbling.": "Verbinde dein LastFM-Konto, um das Scrobbling zu erlauben.",
"Login with LastFM": "Anmelden mit LastFM", "Login with LastFM": "Anmelden mit LastFM",
"Disconnect LastFM": "Disconnect LastFM", "Disconnect LastFM": "LastFM trennen",
"Requires restart to apply!": "Erfordert einen Neustart der App!", "Requires restart to apply!": "Erfordert einen Neustart der App!",
"Enable Discord Rich Presence, requires restart to toggle!": "Discord Rich Presence aktivieren, erfordert einen Neustart zum Umschalten!", "Enable Discord Rich Presence, requires restart to toggle!": "Discord Rich Presence aktivieren, erfordert einen Neustart zum Umschalten!",
"Discord Rich Presence": "Discord Rich Presence", "Discord Rich Presence": "Discord Rich Presence",
"Enable Discord join button for syncing tracks, requires restart to toggle!": "Aktiviere Discord Join für die Synchronisierung von Titel, benötigt einen Neustart zum Umschalten!", "Enable Discord join button for syncing tracks, requires restart to toggle!": "Aktiviere Discord Join für die Synchronisierung von Titel, benötigt einen Neustart zum Umschalten!",
"Discord Join Button": "Discord Join Button", "Discord Join Button": "Discord Join Button",
"Other": "Andere", "Other": "Andere",
"Minimize to tray": "In Statusleiste minimieren", "Minimize to tray": "In die Statusleiste minimieren",
"Don't minimize to tray": "Nicht in Statusleiste minimieren", "Don't minimize to tray": "Nicht in die Statusleiste minimieren",
"Close on exit": "Beim Beenden schließen", "Close on exit": "Beim Beenden schließen",
"Settings saved!": "Einstellungen gespeichert!", "Settings saved!": "Einstellungen gespeichert!",
"Available only in Electron version!": "Nur in der Electron-Version verfügbar!", "Available only in Electron version!": "Nur in der Electron-Version verfügbar!",
@ -116,14 +116,14 @@
"About": "Über", "About": "Über",
"Links:": "Links:", "Links:": "Links:",
"Telegram Releases": "Telegram Veröffentlichungen", "Telegram Releases": "Telegram Veröffentlichungen",
"Telegram Group": "Telegram Gruppe", "Telegram Group": "Telegram-Gruppe",
"Discord": "Discord", "Discord": "Discord",
"Telegram Android Group": "Telegram Android-Gruppe", "Telegram Android Group": "Telegram Android-Gruppe",
"Credits:": "Credits:", "Credits:": "Credits:",
"Agree": "Einverstanden", "Agree": "Einverstanden",
"Dismiss": "Verwerfen", "Dismiss": "Verwerfen",
"Added to playlist!": "Zur Playlist hinzugefügt!", "Added to playlist!": "Zur Playlist hinzugefügt!",
"Added to library!": "Zur Mediathek hinzufügt!", "Added to library!": "Zur Mediathek hinzugefügt!",
"Removed from library!": "Aus der Mediathek entfernt!", "Removed from library!": "Aus der Mediathek entfernt!",
"Removed from playlist!": "Aus der Playlist entfernt!", "Removed from playlist!": "Aus der Playlist entfernt!",
"Playlist deleted!": "Playlist gelöscht!", "Playlist deleted!": "Playlist gelöscht!",
@ -134,8 +134,24 @@
"Share": "Teilen", "Share": "Teilen",
"Settings quality": "Audioqualität-Einstellungen", "Settings quality": "Audioqualität-Einstellungen",
"Content language": "Sprache der Inhalte", "Content language": "Sprache der Inhalte",
"Content country": "Land des Inhalts", "Content country": "Land der Inhalte",
"Website": "Webseite", "Website": "Webseite",
"Visit website": "Webseite besuchen", "Visit website": "Webseite besuchen",
"New update available:": "Neues Update verfügbar:" "New update available:": "Neues Update verfügbar:",
"Shuffle": "Zufällige Wiedergabe",
"Download album cover": "Albumcover herunterladen",
"Art Resolution": "Auflösung der Albumcover",
"Public": "Öffentlich",
"Private": "Privat",
"Collaborative": "Zusammen",
"Edit playlist": "Playlist bearbeiten",
"Save": "Speichern",
"Edit": "Bearbeiten",
"Importer": "Importer",
"Enter URL": "Enter URL",
"Currently only Spotify is supported and limited to 100 tracks.": "Currently only Spotify is supported and limited to 100 tracks.",
"Import into playlist": "Import into playlist",
"Keep sidebar open": "Keep sidebar open",
"WARNING: Might require reload to work properly!": "WARNING: Might require reload to work properly!",
"An error occured, URL might be invalid or unsupported.": "An error occured, URL might be invalid or unsupported."
} }

View File

@ -137,5 +137,21 @@
"Content country": "Χώρα περιεχομένου", "Content country": "Χώρα περιεχομένου",
"Website": "Ιστοσελίδα", "Website": "Ιστοσελίδα",
"Visit website": "Μετάβαση στην Ιστοσελίδα", "Visit website": "Μετάβαση στην Ιστοσελίδα",
"New update available:": "Διαθέσιμη νέα ενημέρωση:" "New update available:": "Διαθέσιμη νέα ενημέρωση:",
"Shuffle": "Ανάμιξη",
"Download album cover": "Λήψη εξώφυλλου άλμπουμ",
"Art Resolution": "Ανάλυση εξώφυλλου",
"Public": "Δημόσιο",
"Private": "Ιδιωτικό",
"Collaborative": "Συνεργατικό",
"Edit playlist": "Επεξεργασία λίστας αναπαραγωγής",
"Save": "Αποθήκευση",
"Edit": "Επεξεργασία",
"Importer": "Importer",
"Enter URL": "Enter URL",
"Currently only Spotify is supported and limited to 100 tracks.": "Currently only Spotify is supported and limited to 100 tracks.",
"Import into playlist": "Import into playlist",
"Keep sidebar open": "Keep sidebar open",
"WARNING: Might require reload to work properly!": "WARNING: Might require reload to work properly!",
"An error occured, URL might be invalid or unsupported.": "An error occured, URL might be invalid or unsupported."
} }

View File

@ -137,5 +137,21 @@
"Content country": "País del contenido", "Content country": "País del contenido",
"Website": "Sitio Web", "Website": "Sitio Web",
"Visit website": "Visita la página web", "Visit website": "Visita la página web",
"New update available:": "Nueva actualización disponible:" "New update available:": "Nueva actualización disponible:",
"Shuffle": "Aleatorio",
"Download album cover": "Descargar portada del álbum",
"Art Resolution": "Resolución de Arte",
"Public": "Público",
"Private": "Privado",
"Collaborative": "Colaborativo",
"Edit playlist": "Editar lista de reproducción",
"Save": "Guardar",
"Edit": "Editar",
"Importer": "Importador",
"Enter URL": "Introducir URL",
"Currently only Spotify is supported and limited to 100 tracks.": "Actualmente solo Spotify está soportado y limitado a 100 pistas.",
"Import into playlist": "Importar lista de reproducción",
"Keep sidebar open": "Mantener barra lateral abierta",
"WARNING: Might require reload to work properly!": "ADVERTENCIA: ¡Puede requerir recarga para trabajar correctamente!",
"An error occured, URL might be invalid or unsupported.": "Ocurrió un error, la URL es invalida o no es soportada."
} }

View File

@ -137,5 +137,21 @@
"Content country": "Content country", "Content country": "Content country",
"Website": "Website", "Website": "Website",
"Visit website": "Visit website", "Visit website": "Visit website",
"New update available:": "New update available:" "New update available:": "New update available:",
"Shuffle": "Shuffle",
"Download album cover": "Download album cover",
"Art Resolution": "Art Resolution",
"Public": "Public",
"Private": "Private",
"Collaborative": "Collaborative",
"Edit playlist": "Edit playlist",
"Save": "Save",
"Edit": "Edit",
"Importer": "Importer",
"Enter URL": "Enter URL",
"Currently only Spotify is supported and limited to 100 tracks.": "Currently only Spotify is supported and limited to 100 tracks.",
"Import into playlist": "Import into playlist",
"Keep sidebar open": "Keep sidebar open",
"WARNING: Might require reload to work properly!": "WARNING: Might require reload to work properly!",
"An error occured, URL might be invalid or unsupported.": "An error occured, URL might be invalid or unsupported."
} }

View File

@ -137,5 +137,21 @@
"Content country": "Bansa ng nilalaman", "Content country": "Bansa ng nilalaman",
"Website": "Website", "Website": "Website",
"Visit website": "Bisitahin ang website", "Visit website": "Bisitahin ang website",
"New update available:": "May bagong update na:" "New update available:": "May bagong update na:",
"Shuffle": "Paghaluin",
"Download album cover": "Download album cover",
"Art Resolution": "Art Resolution",
"Public": "Public",
"Private": "Private",
"Collaborative": "Collaborative",
"Edit playlist": "Edit playlist",
"Save": "Save",
"Edit": "Edit",
"Importer": "Importer",
"Enter URL": "Enter URL",
"Currently only Spotify is supported and limited to 100 tracks.": "Currently only Spotify is supported and limited to 100 tracks.",
"Import into playlist": "Import into playlist",
"Keep sidebar open": "Keep sidebar open",
"WARNING: Might require reload to work properly!": "WARNING: Might require reload to work properly!",
"An error occured, URL might be invalid or unsupported.": "An error occured, URL might be invalid or unsupported."
} }

View File

@ -137,5 +137,21 @@
"Content country": "Pays du contenu", "Content country": "Pays du contenu",
"Website": "Site internet", "Website": "Site internet",
"Visit website": "Visiter le site internet", "Visit website": "Visiter le site internet",
"New update available:": "Nouvelle mise à jour disponible :" "New update available:": "Nouvelle mise à jour disponible :",
"Shuffle": "Mode aléatoire",
"Download album cover": "Télécharger la pochette de l'album",
"Art Resolution": "Résolution",
"Public": "Publique",
"Private": "Privée",
"Collaborative": "Collaborative",
"Edit playlist": "Editer la playlist",
"Save": "Enregistrer",
"Edit": "Éditer",
"Importer": "Importer",
"Enter URL": "Entrer l'URL",
"Currently only Spotify is supported and limited to 100 tracks.": "Actuellement, seul Spotify est pris en charge et limité à 100 titres.",
"Import into playlist": "Importer dans la playlist",
"Keep sidebar open": "Garder le panneau latéral ouvert",
"WARNING: Might require reload to work properly!": "AVERTISSEMENT : Il peut être nécessaire de recharger pour fonctionner correctement !",
"An error occured, URL might be invalid or unsupported.": "Une erreur est survenue, l'URL est peut-être invalide ou non prise en charge."
} }

View File

@ -137,5 +137,21 @@
"Content country": "Content country", "Content country": "Content country",
"Website": "Website", "Website": "Website",
"Visit website": "Visit website", "Visit website": "Visit website",
"New update available:": "New update available:" "New update available:": "New update available:",
"Shuffle": "Shuffle",
"Download album cover": "Download album cover",
"Art Resolution": "Art Resolution",
"Public": "Public",
"Private": "Private",
"Collaborative": "Collaborative",
"Edit playlist": "Edit playlist",
"Save": "Save",
"Edit": "Edit",
"Importer": "Importer",
"Enter URL": "Enter URL",
"Currently only Spotify is supported and limited to 100 tracks.": "Currently only Spotify is supported and limited to 100 tracks.",
"Import into playlist": "Import into playlist",
"Keep sidebar open": "Keep sidebar open",
"WARNING: Might require reload to work properly!": "WARNING: Might require reload to work properly!",
"An error occured, URL might be invalid or unsupported.": "An error occured, URL might be invalid or unsupported."
} }

View File

@ -137,5 +137,21 @@
"Content country": "Content country", "Content country": "Content country",
"Website": "Website", "Website": "Website",
"Visit website": "Visit website", "Visit website": "Visit website",
"New update available:": "New update available:" "New update available:": "New update available:",
"Shuffle": "Shuffle",
"Download album cover": "Download album cover",
"Art Resolution": "Art Resolution",
"Public": "Public",
"Private": "Private",
"Collaborative": "Collaborative",
"Edit playlist": "Edit playlist",
"Save": "Save",
"Edit": "Edit",
"Importer": "Importer",
"Enter URL": "Enter URL",
"Currently only Spotify is supported and limited to 100 tracks.": "Currently only Spotify is supported and limited to 100 tracks.",
"Import into playlist": "Import into playlist",
"Keep sidebar open": "Keep sidebar open",
"WARNING: Might require reload to work properly!": "WARNING: Might require reload to work properly!",
"An error occured, URL might be invalid or unsupported.": "An error occured, URL might be invalid or unsupported."
} }

View File

@ -137,5 +137,21 @@
"Content country": "Zemlja sadržaja", "Content country": "Zemlja sadržaja",
"Website": "Web stranica", "Website": "Web stranica",
"Visit website": "Posjeti web-stranicu", "Visit website": "Posjeti web-stranicu",
"New update available:": "Dostupno je novo ažuriranje:" "New update available:": "Dostupno je novo ažuriranje:",
"Shuffle": "Nasumično",
"Download album cover": "Skini naslovnicu albuma",
"Art Resolution": "Rezolucija naslovnice",
"Public": "Javno",
"Private": "Privatno",
"Collaborative": "Suradnja",
"Edit playlist": "Uredi popis za reprodukciju",
"Save": "Spremi",
"Edit": "Uredi",
"Importer": "Uvoznik",
"Enter URL": "Unesite URL",
"Currently only Spotify is supported and limited to 100 tracks.": "Trenutno je podržan samo Spotify i limitiran na 100 pjesama.",
"Import into playlist": "Uvezi u popis za reprodukciju",
"Keep sidebar open": "Drži bočnu traku otvorenom",
"WARNING: Might require reload to work properly!": "UPOZORENJE: Možda će zahtijevati ponovno pokretanje da bi radilo ispravno!",
"An error occured, URL might be invalid or unsupported.": "Dogodila se pogreška, URL je neispravan ili nepodržan."
} }

View File

@ -39,103 +39,119 @@
"Add to queue": "Hozzáadás a várólistához", "Add to queue": "Hozzáadás a várólistához",
"Remove from library": "Eltávolítás a könyvtárból", "Remove from library": "Eltávolítás a könyvtárból",
"Remove from playlist": "Eltávolítás a lejátszási listáról", "Remove from playlist": "Eltávolítás a lejátszási listáról",
"Play track mix": "Play track mix", "Play track mix": "Dal Mix lejátszása",
"Go to": "Go to", "Go to": "Menjen",
"Track Mix": "Track Mix", "Track Mix": "Dal Mix",
"Duration": "Duration", "Duration": "Időtartam",
"Released": "Released", "Released": "Kiadva",
"Disk": "Disk", "Disk": "Lemez",
"albums": "albums", "albums": "albumok",
"Play top": "Play top", "Play top": "Legfelső lejátszása",
"Radio": "Radio", "Radio": "Rádió",
"Show all albums": "Show all albums", "Show all albums": "Összes album megjelenítése",
"Show all singles": "Show all singles", "Show all singles": "Show all singles",
"Show more": "Show more", "Show more": "Több megjelenítése",
"Downloaded": "Downloaded", "Downloaded": "Letöltött",
"Queue": "Queue", "Queue": "Várólista",
"Total": "Total", "Total": "Összes",
"Stop": "Stop", "Stop": "Megállít",
"Start": "Start", "Start": "Elindít",
"Show folder": "Show folder", "Show folder": "Mappa megjelenítése",
"Clear queue": "Clear queue", "Clear queue": "Várólista kiürítése",
"Playing from": "Playing from", "Playing from": "Lejátszva",
"Info": "Info", "Info": "Infrmáció",
"Lyrics": "Lyrics", "Lyrics": "Lyrics",
"Track number": "Track number", "Track number": "Dal (sor)száma",
"Disk number": "Disk number", "Disk number": "Lemez száma",
"Explicit": "Explicit", "Explicit": "Explicit",
"Source": "Source", "Source": "Forrás",
"ID": "ID", "ID": "Azonosító",
"Error logging in!": "Error logging in!", "Error logging in!": "Hiba történt bejelentkezéskor!",
"Please try again later, or try another account.": "Please try again later, or try another account.", "Please try again later, or try another account.": "Kérjük próbálja újra, vagy próbáljon egy másik fiókot.",
"Logout": "Logout", "Logout": "Kijelentkezés",
"Login using browser": "Login using browser", "Login using browser": "Belépés böngészővel",
"Please login using your Deezer account:": "Please login using your Deezer account:", "Please login using your Deezer account:": "Kérjük lépjen be Deezer fiókjával:",
"...or paste your ARL/Token below:": "...or paste your ARL/Token below:", "...or paste your ARL/Token below:": "... vagy illessze be az ARL/Token-t:",
"ARL/Token": "ARL/Token", "ARL/Token": "ARL/Token",
"Login": "Login", "Login": "Belépés",
"By using this program, you disagree with Deezer's ToS.": "By using this program, you disagree with Deezer's ToS.", "By using this program, you disagree with Deezer's ToS.": "Szoftwerünk használatával elutasítja a Deezer általános felhasználási feltételeit.",
"Only in Electron version!": "Only in Electron version!", "Only in Electron version!": "Only in Electron version!",
"Search results for:": "Search results for:", "Search results for:": "Találatok:",
"Error loading data!": "Error loading data!", "Error loading data!": "Hiba az adatok betöltése közben!",
"Try again later!": "Try again later!", "Try again later!": "Kérjük próbálja meg később!",
"Search": "Search", "Search": "Keresés",
"Streaming Quality": "Streaming Quality", "Streaming Quality": "Streaming minősége",
"Download Quality": "Download Quality", "Download Quality": "Letöltés minősége",
"Downloads Directory": "Downloads Directory", "Downloads Directory": "Letöltések helye",
"Simultaneous downloads": "Simultaneous downloads", "Simultaneous downloads": "Egyidejű letöltések",
"Always show download confirm dialog before downloading.": "Always show download confirm dialog before downloading.", "Always show download confirm dialog before downloading.": "Mindig mutassa a letöltés elfogadása kérdést letöltések előtt.",
"Show download dialog": "Show download dialog", "Show download dialog": "Letöltés párbeszédpanel mutatása",
"Create folders for artists": "Create folders for artists", "Create folders for artists": "Mappa létrehozása az előadóhoz",
"Create folders for albums": "Create folders for albums", "Create folders for albums": "Mappa létrehozása az albumhoz",
"Download lyrics": "Download lyrics", "Download lyrics": "Lyrics letöltése",
"Variables": "Variables", "Variables": "Változók",
"UI": "UI", "UI": "Kezelőfelület",
"Show autocomplete in search": "Show autocomplete in search", "Show autocomplete in search": "Show autocomplete in search",
"Integrations": "Integrations", "Integrations": "Integrációk",
"This allows listening history, flow and recommendations to work properly.": "This allows listening history, flow and recommendations to work properly.", "This allows listening history, flow and recommendations to work properly.": "Ezzel engedélyezi az előzményeket és, hogy a Flow illetve az ajánlások működjenek.",
"Log track listens to Deezer": "Log track listens to Deezer", "Log track listens to Deezer": "Dal előzmények rögzítése a Deezer számára",
"Connect your LastFM account to allow scrobbling.": "Connect your LastFM account to allow scrobbling.", "Connect your LastFM account to allow scrobbling.": "Csatlakozással LastFM fiókját, hogy engedélyezze az ajánlatokat.",
"Login with LastFM": "Login with LastFM", "Login with LastFM": "Belépés LastFM fiókkal",
"Disconnect LastFM": "Disconnect LastFM", "Disconnect LastFM": "LastFM fiók eltávolítása",
"Requires restart to apply!": "Requires restart to apply!", "Requires restart to apply!": "Újraindítás szükséges!",
"Enable Discord Rich Presence, requires restart to toggle!": "Enable Discord Rich Presence, requires restart to toggle!", "Enable Discord Rich Presence, requires restart to toggle!": "Discord Rich Presence engedélyezése, újraindítás szükséges!",
"Discord Rich Presence": "Discord Rich Presence", "Discord Rich Presence": "Discord Rich Presence",
"Enable Discord join button for syncing tracks, requires restart to toggle!": "Enable Discord join button for syncing tracks, requires restart to toggle!", "Enable Discord join button for syncing tracks, requires restart to toggle!": "Discord csatlakozás gomb engedélyezése dalok szinkronizálásához, újraindítás szükséges!",
"Discord Join Button": "Discord Join Button", "Discord Join Button": "Discord csatlakozás gomb",
"Other": "Other", "Other": "Egyebek",
"Minimize to tray": "Minimize to tray", "Minimize to tray": "Tálcára letétel",
"Don't minimize to tray": "Don't minimize to tray", "Don't minimize to tray": "Ne tegye le a tálcára",
"Close on exit": "Close on exit", "Close on exit": "Kilépés bezáráskor",
"Settings saved!": "Settings saved!", "Settings saved!": "Beállítások elmentve!",
"Available only in Electron version!": "Available only in Electron version!", "Available only in Electron version!": "Available only in Electron version!",
"Crossfade (ms)": "Crossfade (ms)", "Crossfade (ms)": "Átfedés (ms)",
"Select primary color": "Select primary color", "Select primary color": "Elsődleges szín kiválasztása",
"Light theme": "Light theme", "Light theme": "Világos kinézet",
"Create folders for playlists": "Create folders for playlists", "Create folders for playlists": "Mappa létrehozása a lejátszólistákhoz",
"About": "About", "About": "Info",
"Links:": "Links:", "Links:": "Linkek:",
"Telegram Releases": "Telegram Releases", "Telegram Releases": "Telegram Kiadások",
"Telegram Group": "Telegram Group", "Telegram Group": "Telegram csoport",
"Discord": "Discord", "Discord": "Discord",
"Telegram Android Group": "Telegram Android Group", "Telegram Android Group": "Telegram Android csoport",
"Credits:": "Credits:", "Credits:": "Köszönet:",
"Agree": "Agree", "Agree": "Elfogad",
"Dismiss": "Dismiss", "Dismiss": "Elutasít",
"Added to playlist!": "Added to playlist!", "Added to playlist!": "Lejátszó listához adva!",
"Added to library!": "Added to library!", "Added to library!": "Könyvtárból adva!",
"Removed from library!": "Removed from library!", "Removed from library!": "Eltávolítva a könyvtárból!",
"Removed from playlist!": "Removed from playlist!", "Removed from playlist!": "Eltávolítva a lejátszási listából!",
"Playlist deleted!": "Playlist deleted!", "Playlist deleted!": "Lejátszási lista törölve!",
"Delete": "Delete", "Delete": "Töröl",
"Are you sure you want to delete this playlist?": "Are you sure you want to delete this playlist?", "Are you sure you want to delete this playlist?": "Biztosan ki szeretné törölni a lejátszási listát?",
"Force white tray icon": "Force white tray icon", "Force white tray icon": "Fehér tálcaikon kényszerítése",
"Force default (white) tray icon if theme incorrectly detected. Requires restart.": "Force default (white) tray icon if theme incorrectly detected. Requires restart.", "Force default (white) tray icon if theme incorrectly detected. Requires restart.": "Alap (fehér) tálcaikon kényszerítése ha a kinézet hibásan lett észlelve. Újraindítás szükséges.",
"Share": "Share", "Share": "Megosztás",
"Settings quality": "Settings quality", "Settings quality": "Minőség",
"Content language": "Content language", "Content language": "Tartalom nyelve",
"Content country": "Content country", "Content country": "Tartalom országa",
"Website": "Website", "Website": "Weblap",
"Visit website": "Visit website", "Visit website": "Weblap megnyitása",
"New update available:": "New update available:" "New update available:": "Újabb frissítés elérhető:",
"Shuffle": "Keverés",
"Download album cover": "Album borító letöltése",
"Art Resolution": "Kép felbontása",
"Public": "Nyilvános",
"Private": "Privát",
"Collaborative": "Együttműködés",
"Edit playlist": "Lejátszó lista szerkesztése",
"Save": "Mentés",
"Edit": "Szerkesztés",
"Importer": "Importer",
"Enter URL": "Enter URL",
"Currently only Spotify is supported and limited to 100 tracks.": "Currently only Spotify is supported and limited to 100 tracks.",
"Import into playlist": "Import into playlist",
"Keep sidebar open": "Keep sidebar open",
"WARNING: Might require reload to work properly!": "WARNING: Might require reload to work properly!",
"An error occured, URL might be invalid or unsupported.": "An error occured, URL might be invalid or unsupported."
} }

View File

@ -137,5 +137,21 @@
"Content country": "Wilayah konten", "Content country": "Wilayah konten",
"Website": "Situs", "Website": "Situs",
"Visit website": "Kunjungi situs web", "Visit website": "Kunjungi situs web",
"New update available:": "Pembaruan tersedia:" "New update available:": "Pembaruan tersedia:",
"Shuffle": "Shuffle",
"Download album cover": "Download album cover",
"Art Resolution": "Art Resolution",
"Public": "Public",
"Private": "Private",
"Collaborative": "Collaborative",
"Edit playlist": "Edit playlist",
"Save": "Save",
"Edit": "Edit",
"Importer": "Importer",
"Enter URL": "Enter URL",
"Currently only Spotify is supported and limited to 100 tracks.": "Currently only Spotify is supported and limited to 100 tracks.",
"Import into playlist": "Import into playlist",
"Keep sidebar open": "Keep sidebar open",
"WARNING: Might require reload to work properly!": "WARNING: Might require reload to work properly!",
"An error occured, URL might be invalid or unsupported.": "An error occured, URL might be invalid or unsupported."
} }

View File

@ -137,5 +137,21 @@
"Content country": "Paese dei contenuti", "Content country": "Paese dei contenuti",
"Website": "Sito Web", "Website": "Sito Web",
"Visit website": "Visita il sito", "Visit website": "Visita il sito",
"New update available:": "Nuovo aggiornamento disponibile:" "New update available:": "Nuovo aggiornamento disponibile:",
"Shuffle": "Riproduzione casuale",
"Download album cover": "Scarica copertina album",
"Art Resolution": "Risoluzione immagini",
"Public": "Pubblica",
"Private": "Privata",
"Collaborative": "Collaborativa",
"Edit playlist": "Modifica playlist",
"Save": "Salva",
"Edit": "Modifica",
"Importer": "Importazione",
"Enter URL": "Inserisci URL",
"Currently only Spotify is supported and limited to 100 tracks.": "Attualmente solo Spotify è supportato e limitato a 100 brani.",
"Import into playlist": "Importa nella playlist",
"Keep sidebar open": "Mantieni la barra laterale aperta",
"WARNING: Might require reload to work properly!": "ATTENZIONE: Potrebbe essere necessario ricaricare per funzionare correttamente!",
"An error occured, URL might be invalid or unsupported.": "Si è verificato un errore, l'URL potrebbe non essere valido o non supportato."
} }

View File

@ -137,5 +137,21 @@
"Content country": "콘텐츠 국가", "Content country": "콘텐츠 국가",
"Website": "홈페이지", "Website": "홈페이지",
"Visit website": "홈페이지 방문하기", "Visit website": "홈페이지 방문하기",
"New update available:": "사용 가능한 업데이트가 있습니다:" "New update available:": "사용 가능한 업데이트가 있습니다:",
"Shuffle": "Shuffle",
"Download album cover": "Download album cover",
"Art Resolution": "Art Resolution",
"Public": "Public",
"Private": "Private",
"Collaborative": "Collaborative",
"Edit playlist": "Edit playlist",
"Save": "Save",
"Edit": "Edit",
"Importer": "Importer",
"Enter URL": "Enter URL",
"Currently only Spotify is supported and limited to 100 tracks.": "Currently only Spotify is supported and limited to 100 tracks.",
"Import into playlist": "Import into playlist",
"Keep sidebar open": "Keep sidebar open",
"WARNING: Might require reload to work properly!": "WARNING: Might require reload to work properly!",
"An error occured, URL might be invalid or unsupported.": "An error occured, URL might be invalid or unsupported."
} }

View File

@ -137,5 +137,21 @@
"Content country": "Content country", "Content country": "Content country",
"Website": "Website", "Website": "Website",
"Visit website": "Visit website", "Visit website": "Visit website",
"New update available:": "New update available:" "New update available:": "New update available:",
"Shuffle": "Shuffle",
"Download album cover": "Download album cover",
"Art Resolution": "Art Resolution",
"Public": "Public",
"Private": "Private",
"Collaborative": "Collaborative",
"Edit playlist": "Edit playlist",
"Save": "Save",
"Edit": "Edit",
"Importer": "Importer",
"Enter URL": "Enter URL",
"Currently only Spotify is supported and limited to 100 tracks.": "Currently only Spotify is supported and limited to 100 tracks.",
"Import into playlist": "Import into playlist",
"Keep sidebar open": "Keep sidebar open",
"WARNING: Might require reload to work properly!": "WARNING: Might require reload to work properly!",
"An error occured, URL might be invalid or unsupported.": "An error occured, URL might be invalid or unsupported."
} }

View File

@ -137,5 +137,21 @@
"Content country": "Kraj treści", "Content country": "Kraj treści",
"Website": "Strona internetowa", "Website": "Strona internetowa",
"Visit website": "Odwiedź stronę internetową", "Visit website": "Odwiedź stronę internetową",
"New update available:": "Dostępna jest nowa aktualizacja:" "New update available:": "Dostępna jest nowa aktualizacja:",
"Shuffle": "Losowo",
"Download album cover": "Pobierz okładkę albumu",
"Art Resolution": "Rozdzielczość Obrazu",
"Public": "Publiczne",
"Private": "Prywatne",
"Collaborative": "Współpraca",
"Edit playlist": "Edytuj playlistę",
"Save": "Zapisz",
"Edit": "Edytuj",
"Importer": "Importer",
"Enter URL": "Enter URL",
"Currently only Spotify is supported and limited to 100 tracks.": "Currently only Spotify is supported and limited to 100 tracks.",
"Import into playlist": "Import into playlist",
"Keep sidebar open": "Keep sidebar open",
"WARNING: Might require reload to work properly!": "WARNING: Might require reload to work properly!",
"An error occured, URL might be invalid or unsupported.": "An error occured, URL might be invalid or unsupported."
} }

View File

@ -137,5 +137,21 @@
"Content country": "País do conteúdo", "Content country": "País do conteúdo",
"Website": "Site", "Website": "Site",
"Visit website": "Visite o site", "Visit website": "Visite o site",
"New update available:": "Nova atualização disponível:" "New update available:": "Nova atualização disponível:",
"Shuffle": "Aleatório",
"Download album cover": "Baixar arte do álbum",
"Art Resolution": "Resolução da Arte",
"Public": "Pública",
"Private": "Privada",
"Collaborative": "Colaborativa",
"Edit playlist": "Editar playlist",
"Save": "Salvar",
"Edit": "Editar",
"Importer": "Importador",
"Enter URL": "Digite a URL",
"Currently only Spotify is supported and limited to 100 tracks.": "Atualmente apenas o Spotify é suportado e limitado a 100 faixas.",
"Import into playlist": "Importar para playlist",
"Keep sidebar open": "Manter a barra lateral aberta",
"WARNING: Might require reload to work properly!": "AVISO: Pode ser necessário recarregar para funcionar corretamente!",
"An error occured, URL might be invalid or unsupported.": "Ocorreu um erro, a URL pode ser inválida ou não suportada."
} }

View File

@ -137,5 +137,21 @@
"Content country": "Țara conținutului", "Content country": "Țara conținutului",
"Website": "Website", "Website": "Website",
"Visit website": "Vizitați site-ul web", "Visit website": "Vizitați site-ul web",
"New update available:": "Actualizare nouă disponibilă:" "New update available:": "Actualizare nouă disponibilă:",
"Shuffle": "Shuffle",
"Download album cover": "Download album cover",
"Art Resolution": "Art Resolution",
"Public": "Public",
"Private": "Private",
"Collaborative": "Collaborative",
"Edit playlist": "Edit playlist",
"Save": "Save",
"Edit": "Edit",
"Importer": "Importer",
"Enter URL": "Enter URL",
"Currently only Spotify is supported and limited to 100 tracks.": "Currently only Spotify is supported and limited to 100 tracks.",
"Import into playlist": "Import into playlist",
"Keep sidebar open": "Keep sidebar open",
"WARNING: Might require reload to work properly!": "WARNING: Might require reload to work properly!",
"An error occured, URL might be invalid or unsupported.": "An error occured, URL might be invalid or unsupported."
} }

View File

@ -137,5 +137,21 @@
"Content country": "Страна контента", "Content country": "Страна контента",
"Website": "Веб-сайт", "Website": "Веб-сайт",
"Visit website": "Посетить веб-сайт", "Visit website": "Посетить веб-сайт",
"New update available:": "Доступна новая версия:" "New update available:": "Доступна новая версия:",
"Shuffle": "Перемешать",
"Download album cover": "Загрузить обложку альбома",
"Art Resolution": "Разрешение",
"Public": "Публичный",
"Private": "Приватный",
"Collaborative": "Совместное",
"Edit playlist": "Изменить плейлист",
"Save": "Сохранить",
"Edit": "Редактировать",
"Importer": "Импорт плейлистов",
"Enter URL": "Введите ссылку",
"Currently only Spotify is supported and limited to 100 tracks.": "В настоящее время поддерживается только Spotify. Не более 100 треков в плейлисте.",
"Import into playlist": "Импортировать в плейлист",
"Keep sidebar open": "Не закрывать боковое меню",
"WARNING: Might require reload to work properly!": "Внимание! Может потребоваться перезапуск для правильной работы.",
"An error occured, URL might be invalid or unsupported.": "Ошибка, URL недействителен или не поддерживается."
} }

View File

@ -137,5 +137,21 @@
"Content country": "Krajina obsahu", "Content country": "Krajina obsahu",
"Website": "Webová stránka", "Website": "Webová stránka",
"Visit website": "Navštíviť webovú stránku", "Visit website": "Navštíviť webovú stránku",
"New update available:": "Nová aktualizácia k dispozícii:" "New update available:": "Nová aktualizácia k dispozícii:",
"Shuffle": "Náhodne prehrať",
"Download album cover": "Prevziať obal albumu",
"Art Resolution": "Rozlíšenie",
"Public": "Verejné",
"Private": "Sukromné",
"Collaborative": "Spolupráca",
"Edit playlist": "Upraviť playlist",
"Save": "Uložiť",
"Edit": "Upraviť",
"Importer": "Importovať",
"Enter URL": "Zadajte URL adresu",
"Currently only Spotify is supported and limited to 100 tracks.": "Momentálne je podporované iba Spotify s limitom 100 skladieb.",
"Import into playlist": "Importovať do playlistu",
"Keep sidebar open": "Nechať bočný panel otvorený",
"WARNING: Might require reload to work properly!": "UPOZORNENIE: Môže vyžadovať obnovenie pre správnu funkčnosť!",
"An error occured, URL might be invalid or unsupported.": "Chybná alebo nepodporovaná URL adresa."
} }

View File

@ -137,5 +137,21 @@
"Content country": "Koda države", "Content country": "Koda države",
"Website": "Spletna stran", "Website": "Spletna stran",
"Visit website": "Obišči spletno stran", "Visit website": "Obišči spletno stran",
"New update available:": "Na voljo je nova posodobitev:" "New update available:": "Na voljo je nova posodobitev:",
"Shuffle": "Naključno",
"Download album cover": "Shrani sličico albuma",
"Art Resolution": "Ločljivost sličice",
"Public": "Javno",
"Private": "Zasebno",
"Collaborative": "Sodelovalno",
"Edit playlist": "Uredi seznam predvajanja",
"Save": "Shrani",
"Edit": "Uredi",
"Importer": "Uvoznik",
"Enter URL": "Vnesite URL",
"Currently only Spotify is supported and limited to 100 tracks.": "Trenutno je podprt samo Spotify in ima omejitev 100 pesmi.",
"Import into playlist": "Uvozi na seznam predvajanja",
"Keep sidebar open": "Obdrži odprto stransko vrstico",
"WARNING: Might require reload to work properly!": "OPOZORILO: Potrebuje ponovni zagon aplikacije za učinkovanje!",
"An error occured, URL might be invalid or unsupported.": "Pojavila se je napaka, URL je lahko napačen ali nepodprt."
} }

View File

@ -137,5 +137,21 @@
"Content country": "İçerik ülkesi", "Content country": "İçerik ülkesi",
"Website": "İnternet sitesi", "Website": "İnternet sitesi",
"Visit website": "Web sitesine git", "Visit website": "Web sitesine git",
"New update available:": "Yeni güncelleme mevcut:" "New update available:": "Yeni güncelleme mevcut:",
"Shuffle": "Karışık çal",
"Download album cover": "Albüm kapağını indir",
"Art Resolution": "Art Çözüm",
"Public": "Herkese Açık",
"Private": "Gizli",
"Collaborative": "Paylaşılan",
"Edit playlist": "Çalma listesini düzenle",
"Save": "Kaydet",
"Edit": "Düzenle",
"Importer": "Aktaracı",
"Enter URL": "URL girin",
"Currently only Spotify is supported and limited to 100 tracks.": "Şimdilik sadece Spotify destekleniyor ve 100 parça sınırı mevcut.",
"Import into playlist": "Çalma listesine aktar",
"Keep sidebar open": "Kenar çubuğu açık kalsın",
"WARNING: Might require reload to work properly!": "DİKKAT: Düzgün çalışması için yeniden yükleme gerekebilir!",
"An error occured, URL might be invalid or unsupported.": "Bir hata oluştu, URL geçersiz veya desteklenmiyor olabilir."
} }

View File

@ -137,5 +137,21 @@
"Content country": "Країна контенту", "Content country": "Країна контенту",
"Website": "Веб-сторінка", "Website": "Веб-сторінка",
"Visit website": "Відвідати веб-сторінку", "Visit website": "Відвідати веб-сторінку",
"New update available:": "Доступне оновлення:" "New update available:": "Доступне оновлення:",
"Shuffle": "Перемішати",
"Download album cover": "Завантажити обкладинку альбому",
"Art Resolution": "Art Resolution",
"Public": "Публічний",
"Private": "Приватний",
"Collaborative": "Collaborative",
"Edit playlist": "Редагувати плейлист",
"Save": "Зберегти",
"Edit": "Редагувати",
"Importer": "Importer",
"Enter URL": "Enter URL",
"Currently only Spotify is supported and limited to 100 tracks.": "Currently only Spotify is supported and limited to 100 tracks.",
"Import into playlist": "Import into playlist",
"Keep sidebar open": "Keep sidebar open",
"WARNING: Might require reload to work properly!": "WARNING: Might require reload to work properly!",
"An error occured, URL might be invalid or unsupported.": "An error occured, URL might be invalid or unsupported."
} }

View File

@ -137,5 +137,21 @@
"Content country": "Content country", "Content country": "Content country",
"Website": "Website", "Website": "Website",
"Visit website": "Visit website", "Visit website": "Visit website",
"New update available:": "New update available:" "New update available:": "New update available:",
"Shuffle": "Shuffle",
"Download album cover": "Download album cover",
"Art Resolution": "Art Resolution",
"Public": "Public",
"Private": "Private",
"Collaborative": "Collaborative",
"Edit playlist": "Edit playlist",
"Save": "Save",
"Edit": "Edit",
"Importer": "Importer",
"Enter URL": "Enter URL",
"Currently only Spotify is supported and limited to 100 tracks.": "Currently only Spotify is supported and limited to 100 tracks.",
"Import into playlist": "Import into playlist",
"Keep sidebar open": "Keep sidebar open",
"WARNING: Might require reload to work properly!": "WARNING: Might require reload to work properly!",
"An error occured, URL might be invalid or unsupported.": "An error occured, URL might be invalid or unsupported."
} }

View File

@ -137,5 +137,21 @@
"Content country": "Content countwy", "Content country": "Content countwy",
"Website": "Website", "Website": "Website",
"Visit website": "Visit website", "Visit website": "Visit website",
"New update available:": "Nyew update available:" "New update available:": "Nyew update available:",
"Shuffle": "Shuffwe",
"Download album cover": "Downwaod awbum cover",
"Art Resolution": "Awt Wesowution",
"Public": "Pubwic",
"Private": "Pwivate",
"Collaborative": "Cowabowative",
"Edit playlist": "Edit pwaywist",
"Save": "Save",
"Edit": "Edit",
"Importer": "Importer",
"Enter URL": "Enter URL",
"Currently only Spotify is supported and limited to 100 tracks.": "Currently only Spotify is supported and limited to 100 tracks.",
"Import into playlist": "Import into playlist",
"Keep sidebar open": "Keep sidebar open",
"WARNING: Might require reload to work properly!": "WARNING: Might require reload to work properly!",
"An error occured, URL might be invalid or unsupported.": "An error occured, URL might be invalid or unsupported."
} }

View File

@ -137,5 +137,21 @@
"Content country": "Quốc gia của nội dung", "Content country": "Quốc gia của nội dung",
"Website": "Trang web", "Website": "Trang web",
"Visit website": "Truy cập trang web", "Visit website": "Truy cập trang web",
"New update available:": "Có bản cập nhật mới:" "New update available:": "Có bản cập nhật mới:",
"Shuffle": "Trộn",
"Download album cover": "Tải xuống ảnh bìa album",
"Art Resolution": "Độ Phân Giải",
"Public": "Công khai",
"Private": "Riêng tư",
"Collaborative": "Hợp tác",
"Edit playlist": "Chỉnh sửa danh sách phát",
"Save": "Lưu",
"Edit": "Chỉnh sửa",
"Importer": "Công cụ nhập",
"Enter URL": "Nhập URL",
"Currently only Spotify is supported and limited to 100 tracks.": "Hiện chỉ hỗ trợ Spotify và giới hạn 100 bài hát.",
"Import into playlist": "Nhập vào danh sách phát",
"Keep sidebar open": "Giữ thanh bên luôn mở",
"WARNING: Might require reload to work properly!": "CẢNH BÁO: Có thể phải tải lại để hoạt động bình thường!",
"An error occured, URL might be invalid or unsupported.": "Lỗi, URL sai hoặc không được hỗ trợ."
} }

View File

@ -614,6 +614,20 @@ new Vue({
this.importer.active = false; this.importer.active = false;
this.importer.done = false; this.importer.done = false;
}); });
//Album
this.sockets.subscribe('importerAlbum', a => {
//Not downloading, got albumn
if (a) {
this.$router.push({
path: '/album',
query: {album: JSON.stringify(a)}
});
}
//Mark done
this.importer.error = false;
this.importer.active = false;
this.importer.done = false;
});
r(); r();
}, },

View File

@ -143,16 +143,18 @@
<v-tab-item key='queue' v-if='showQueue'> <v-tab-item key='queue' v-if='showQueue'>
<v-list two-line avatar class='overflow-y-auto' style='max-height: calc(100vh - 160px)'> <v-list two-line avatar class='overflow-y-auto' style='max-height: calc(100vh - 160px)'>
<draggable v-model='$root.queue.data' @change='queueMove'> <draggable v-model='$root.queue.data' @change='queueMove'>
<div v-for="(track, index) in $root.queue.data" :key='index + "q" + track.id'> <v-virtual-scroll :items='$root.queue.data' item-height='72' benched='5'>
<v-lazy min-height="1" transition="fade-transition"> <template v-slot:default="{ index, item }">
<TrackTile <v-lazy min-height="1" transition="fade-transition" :key='"qq" + index'>
:track='track' <TrackTile
@click='$root.playIndex(index)' :track='item'
@redirect='close' @click='$root.playIndex(index)'
:ripple='false' @redirect='close'
></TrackTile> :ripple='false'
</v-lazy> ></TrackTile>
</div> </v-lazy>
</template>
</v-virtual-scroll>
</draggable> </draggable>
</v-list> </v-list>
</v-tab-item> </v-tab-item>

View File

@ -23,6 +23,10 @@
{{$t("Download")}} {{$t("Download")}}
</v-btn> </v-btn>
</div> </div>
<!-- Loading -->
<div class='text-center my-2' v-if='$root.importer.active'>
<v-progress-circular indeterminate color='primary'></v-progress-circular>
</div>
<!-- Tracks --> <!-- Tracks -->
<div class='mt-4' v-if='$root.importer.done || $root.importer.active'> <div class='mt-4' v-if='$root.importer.done || $root.importer.active'>
<h2 class='mb-2'>Tracks:</h2> <h2 class='mb-2'>Tracks:</h2>
@ -67,7 +71,7 @@ export default {
computed: { computed: {
valid() { valid() {
let i = this.input || ''; let i = this.input || '';
return i.startsWith('https://open.spotify.com/playlist/') && !i.includes(' '); return (i.includes('open.spotify.com/') || i.includes('link.tospotify.com/')) && !i.includes(' ');
} }
}, },
mounted() { mounted() {

View File

@ -331,6 +331,7 @@ export default {
languages: [ languages: [
{code: 'en', name: 'English'}, {code: 'en', name: 'English'},
{code: 'ar', name: 'Arabic'}, {code: 'ar', name: 'Arabic'},
{code: 'ast', name: 'Asturian'},
{code: 'hr', name: 'Croatian'}, {code: 'hr', name: 'Croatian'},
{code: 'fil', name: 'Filipino'}, {code: 'fil', name: 'Filipino'},
{code: 'fr', name: 'French'}, {code: 'fr', name: 'French'},

View File

@ -1,7 +1,7 @@
{ {
"name": "freezer", "name": "freezer",
"private": true, "private": true,
"version": "1.1.14", "version": "1.1.15",
"description": "", "description": "",
"main": "background.js", "main": "background.js",
"scripts": { "scripts": {

View File

@ -10,19 +10,37 @@ class Importer extends EventEmitter {
this.tracks = []; this.tracks = [];
} }
//Conver spotify URL to URI //Resolve spotify URLs to URI
async getSpotifyURI(inputUrl) { async resolveSpotifyURL(url) {
let url = new URL(inputUrl); let parsed = new URL(url);
return 'spotify' + url.pathname.replace(new RegExp('/', 'g'), ':'); //link.tospotify
if (parsed.host == 'link.tospotify.com') {
let res = await axios.get(url);
let re = new RegExp(/window\.top\.location = validate\("(.+)"\)/);
url = res.data.match(re)[1];
}
parsed = new URL(url);
//open.spotify
if (parsed.host == 'open.spotify.com' && parsed.pathname.split('/').length >= 2) {
return 'spotify' + parsed.pathname.replace(new RegExp('/', 'g'), ':');
}
}
//Find album on deezer
async importSpotifyAlbum(uri) {
let spotifyData = await Spotify.getEmbedData(uri);
let upc = spotifyData.external_ids.upc;
let deezerData = await this.deezer.callPublicApi('album', 'upc:' + upc);
if (deezerData && deezerData.id)
return deezerData;
} }
//Import spotify playlist //Import spotify playlist
async importSpotifyPlaylist(url) { async importSpotifyPlaylist(uri) {
//Clean //Clean
this.tracks = []; this.tracks = [];
try { try {
//Fetch //Fetch
let uri = await this.getSpotifyURI(url);
let spotifyData = await Spotify.getEmbedData(uri); let spotifyData = await Spotify.getEmbedData(uri);
if (!spotifyData.tracks.items) throw Error("No items!"); if (!spotifyData.tracks.items) throw Error("No items!");

View File

@ -11,6 +11,7 @@ const {Track, Album, Artist, Playlist, DeezerProfile, SearchResults, DeezerLibra
const {DownloadManager} = require('./downloads'); const {DownloadManager} = require('./downloads');
const {Integrations} = require('./integrations'); const {Integrations} = require('./integrations');
const {Importer} = require('./importer'); const {Importer} = require('./importer');
const { url } = require('inspector');
let settings; let settings;
let deezer; let deezer;
@ -478,53 +479,94 @@ app.post('/import', async (req, res) => {
//Create importer //Create importer
let importer = new Importer(deezer); let importer = new Importer(deezer);
//Error //Resolve URI
importer.on('error', t => { let uri = await importer.resolveSpotifyURL(req.body.url);
if (!uri) {
sockets.forEach(s => s.emit('importerError')); sockets.forEach(s => s.emit('importerError'));
}) return res.status(200).end();
//New track imported }
importer.on('imported', t => {
sockets.forEach(s => s.emit('importerTrack', t)); //Import album
}); if (uri.split(':')[1] == 'album') {
//Finished try {
importer.on('done', async (i) => { let albumRaw = await importer.importSpotifyAlbum(uri);
//Create playlist //Get album from Deezer
let playlistRaw = await deezer.callApi('playlist.create', { let data = await deezer.callApi('deezer.pageAlbum', {alb_id: albumRaw.id.toString(), lang: settings.contentLanguage});
description: i.description, let album = new Album(data.results.DATA, data.results.SONGS);
title: i.title, //Download
status: 1, if (type == 'download') {
songs: i.tracks.map(t => [parseInt(t.id, 10)]) //Enqueue
}); await downloadManager.addBatch({
//Download tracks: album.tracks,
if (type == 'download') { quality: settings.downloadsQuality,
//Fetch playlist });
let data = await deezer.callApi('deezer.pagePlaylist', { downloadManager.start();
playlist_id: playlistRaw.results.toString(), //Send empty response
lang: settings.contentLanguage, sockets.forEach(s => s.emit('importerAlbum', null));
nb: 10000, } else {
start: 0, //Send to UI
tags: true sockets.forEach(s => s.emit('importerAlbum', album));
}); }
let playlist = new Playlist(data.results.DATA, data.results.SONGS); } catch (e) {
//Enqueue logger.error(`Import album error: ${e}`);
await downloadManager.addBatch({ sockets.forEach(s => s.emit('importerError'));
tracks: playlist.tracks,
quality: settings.downloadsQuality,
playlistName: i.title
});
//Delete
await deezer.callApi('playlist.delete', {playlist_id: parseInt(playlist.id.toString(),10)});
downloadManager.start();
} }
return res.status(200).end();
}
//Send to UI //Import playlist
sockets.forEach(s => { if (uri.split(':')[1] == 'playlist') {
s.emit('importerDone'); //Error
importer.on('error', () => {
sockets.forEach(s => s.emit('importerError'));
})
//New track imported
importer.on('imported', t => {
sockets.forEach(s => s.emit('importerTrack', t));
}); });
}) //Finished
importer.on('done', async (i) => {
//Create playlist
let playlistRaw = await deezer.callApi('playlist.create', {
description: i.description,
title: i.title,
status: 1,
songs: i.tracks.map(t => [parseInt(t.id, 10)])
});
//Download
if (type == 'download') {
//Fetch playlist
let data = await deezer.callApi('deezer.pagePlaylist', {
playlist_id: playlistRaw.results.toString(),
lang: settings.contentLanguage,
nb: 10000,
start: 0,
tags: true
});
let playlist = new Playlist(data.results.DATA, data.results.SONGS);
//Enqueue
await downloadManager.addBatch({
tracks: playlist.tracks,
quality: settings.downloadsQuality,
playlistName: i.title
});
//Delete
await deezer.callApi('playlist.delete', {playlist_id: parseInt(playlist.id.toString(),10)});
downloadManager.start();
}
importer.importSpotifyPlaylist(req.body.url); //Send to UI
sockets.forEach(s => {
s.emit('importerDone');
});
})
importer.importSpotifyPlaylist(uri);
return res.status(200).end();
}
//Not imported
sockets.forEach(s => s.emit('importerError'));
res.status(200).end(); res.status(200).end();
}); });

View File

@ -1,7 +1,7 @@
{ {
"name": "freezer", "name": "freezer",
"private": true, "private": true,
"version": "1.1.14", "version": "1.1.15",
"description": "", "description": "",
"scripts": { "scripts": {
"pack": "electron-builder --dir", "pack": "electron-builder --dir",