diff --git a/app/background.js b/app/background.js
index db45f67..71ca4ed 100644
--- a/app/background.js
+++ b/app/background.js
@@ -15,7 +15,7 @@ function assetPath(a) {
}
async function startServer() {
- settings = await createServer(true, (e) => {
+ settings = await createServer(true, () => {
//Server error
shouldExit = true;
if (win) win.close();
@@ -96,7 +96,11 @@ app.on('ready', async () => {
//Restore or create new window
function restoreWindow() {
- if (win) return win.show();
+ if (win) {
+ win.show();
+ setThumbarButtons();
+ return;
+ }
createWindow();
}
@@ -171,6 +175,10 @@ function setThumbarButtons() {
]);
}
+ipcMain.on('openUrl', (event, args) => {
+ shell.openExternal(args);
+});
+
//Playing state change from UI
ipcMain.on('playing', (event, args) => {
playing = args;
@@ -184,13 +192,13 @@ ipcMain.on('updateSettings', (event, args) => {
});
//onExit callback
-ipcMain.on('onExit', (event) => {
+ipcMain.on('onExit', () => {
shouldExit = true;
win.close();
});
//Open downloads directory
-ipcMain.on('openDownloadsDir', async (event) => {
+ipcMain.on('openDownloadsDir', async () => {
if ((await shell.openPath(settings.downloadsPath)) == "") return;
shell.showItemInFolder(settings.downloadsPath);
});
diff --git a/app/client/public/shibe.png b/app/client/public/shibe.png
new file mode 100644
index 0000000..6b377c6
Binary files /dev/null and b/app/client/public/shibe.png differ
diff --git a/app/client/src/App.vue b/app/client/src/App.vue
index d160e05..3ec7107 100644
--- a/app/client/src/App.vue
+++ b/app/client/src/App.vue
@@ -111,6 +111,14 @@
{{$t('Downloads')}}
+
+
+
+ mdi-information
+
+ {{$t('About')}}
+
+
diff --git a/app/client/src/components/DownloadDialog.vue b/app/client/src/components/DownloadDialog.vue
index 8ae296a..7913d23 100644
--- a/app/client/src/components/DownloadDialog.vue
+++ b/app/client/src/components/DownloadDialog.vue
@@ -45,6 +45,10 @@ export default {
type: Boolean,
default: true
},
+ playlistName: {
+ type: String,
+ default: null
+ }
},
data() {
return {
@@ -71,11 +75,15 @@ export default {
},
//Add files to download queue
async download() {
- if (this.qualities.indexOf(this.qualityString) == 0 || !this.qualityString) {
- await this.$axios.post(`/downloads`, this.tracks);
- } else {
- await this.$axios.post(`/downloads?q=${this.qualityInt()}`, this.tracks);
+ let data = {
+ tracks: this.tracks,
+ playlistName: this.playlistName,
+ quality: null
}
+ if (this.qualities.indexOf(this.qualityString) != 0 && this.qualityString) {
+ data['quality'] = this.qualityInt();
+ }
+ await this.$axios.post(`/downloads`, data);
if (this.autostart) this.$axios.put('/download');
this.$emit("close");
diff --git a/app/client/src/components/PlaylistTile.vue b/app/client/src/components/PlaylistTile.vue
index 519c163..db5d924 100644
--- a/app/client/src/components/PlaylistTile.vue
+++ b/app/client/src/components/PlaylistTile.vue
@@ -79,7 +79,7 @@
-
+
diff --git a/app/client/src/js/router.js b/app/client/src/js/router.js
index cd2b241..b23d516 100644
--- a/app/client/src/js/router.js
+++ b/app/client/src/js/router.js
@@ -11,6 +11,7 @@ import ArtistPage from '@/views/ArtistPage.vue';
import Settings from '@/views/Settings.vue';
import DeezerPage from '@/views/DeezerPage.vue';
import DownloadsPage from '@/views/DownloadsPage.vue';
+import About from '@/views/About.vue';
Vue.use(VueRouter);
@@ -74,6 +75,10 @@ const routes = [
{
path: '/downloads',
component: DownloadsPage,
+ },
+ {
+ path: '/about',
+ component: About
}
];
diff --git a/app/client/src/js/vuetify.js b/app/client/src/js/vuetify.js
index e0e8f59..f200151 100644
--- a/app/client/src/js/vuetify.js
+++ b/app/client/src/js/vuetify.js
@@ -8,6 +8,6 @@ Vue.use(Vuetify);
export default new Vuetify({
theme: {
- dark: true,
+ dark: true
}
});
diff --git a/app/client/src/locales/ar.json b/app/client/src/locales/ar.json
index 5344d4d..14a209f 100644
--- a/app/client/src/locales/ar.json
+++ b/app/client/src/locales/ar.json
@@ -108,5 +108,17 @@
"Don't minimize to tray": "عدم التصغير إلى شريط المهام",
"Close on exit": "إغلاق عند الخروج",
"Settings saved!": "تم حفظ الإعدادات!",
- "Available only in Electron version!": "متاح فقط في اصدار الإلكترون!"
+ "Available only in Electron version!": "متاح فقط في اصدار الإلكترون!",
+ "Crossfade (ms)": "التلاشي (ملي ثانية)",
+ "Select primary color": "تحديد اللون الأساسي",
+ "Light theme": "المظهر الفاتح",
+ "Create folders for playlists": "إنشاء ملفات لقائمة التشغيل",
+ "About": "حول البرنامج",
+ "Links:": "الروابط:",
+ "Telegram Releases": "إصدارات على تيليجرام",
+ "Telegram Group": "مجموعة التليجرام",
+ "Discord": "دسكورد",
+ "Telegram Android Group": "مجموعة تيليجرام (أندرويد)",
+ "Credits:": "المساهمون:",
+ "Agree": "قبول"
}
\ No newline at end of file
diff --git a/app/client/src/locales/de.json b/app/client/src/locales/de.json
index c4a85c9..ffd3fc8 100644
--- a/app/client/src/locales/de.json
+++ b/app/client/src/locales/de.json
@@ -3,7 +3,7 @@
"Browse": "Durchsuchen",
"Library": "Mediathek",
"Tracks": "Titel",
- "Playlists": "Wiedergabelisten",
+ "Playlists": "Playlisten",
"Albums": "Alben",
"Artists": "Künstler",
"More": "Mehr",
@@ -22,7 +22,7 @@
"Stream logging is disabled!": "Streamprotokollierung ist deaktiviert!",
"Enable it in settings for history to work properly.": "Aktiviere es in den Einstellungen, damit der Verlauf korrekt funktioniert.",
"History": "Verlauf",
- "Create new playlist": "Neue Wiedergabeliste erstellen",
+ "Create new playlist": "Neue Playlist erstellen",
"TRACKS": "Titel",
"Sort by": "Sortieren nach",
"Date Added": "Hinzugefügt am",
@@ -30,15 +30,15 @@
"Artist (A-Z)": "Künstler (A-Z)",
"Album (A-Z)": "Album (A-Z)",
"Error loading lyrics or lyrics not found!": "Fehler beim Laden der Songtexte oder Songtexte nicht gefunden!",
- "Create playlist": "Wiedergabeliste erstellen",
+ "Create playlist": "Playlist erstellen",
"Create": "Erstellen",
- "Add to playlist": "Zur Wiedergabeliste hinzufügen",
+ "Add to playlist": "Zur Playlist hinzufügen",
"Create new": "Neu erstellen",
"Remove": "Entfernen",
"Play next": "Als nächstes spielen",
"Add to queue": "Zur Warteschleife hinzufügen",
"Remove from library": "Aus der Mediathek entfernen",
- "Remove from playlist": "Aus Wiedergabeliste entfernen",
+ "Remove from playlist": "Aus Playlist entfernen",
"Play track mix": "Track Mix abspielen",
"Go to": "Gehe zu",
"Track Mix": "Track Mix",
@@ -46,7 +46,7 @@
"Released": "Veröffentlicht",
"Disk": "Disk",
"albums": "Alben",
- "Play top": "Play top",
+ "Play top": "Top abspielen",
"Radio": "Radio",
"Show all albums": "Zeige alle Alben",
"Show all singles": "Zeige alle Singles",
@@ -108,5 +108,17 @@
"Don't minimize to tray": "Nicht in Statusleiste minimieren",
"Close on exit": "Beim Beenden schließen",
"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!",
+ "Crossfade (ms)": "Überblendung (ms)",
+ "Select primary color": "Primärfarbe auswählen",
+ "Light theme": "Helles Thema",
+ "Create folders for playlists": "Ordner für Wiedergabelisten erstellen",
+ "About": "Über",
+ "Links:": "Links:",
+ "Telegram Releases": "Telegram-Releases",
+ "Telegram Group": "Telegram Gruppe",
+ "Discord": "Discord",
+ "Telegram Android Group": "Telegram Android-Gruppe",
+ "Credits:": "Credits:",
+ "Agree": "Einverstanden"
}
\ No newline at end of file
diff --git a/app/client/src/locales/el.json b/app/client/src/locales/el.json
index 5071360..5c15eb6 100644
--- a/app/client/src/locales/el.json
+++ b/app/client/src/locales/el.json
@@ -1,112 +1,124 @@
{
- "Home": "Home",
- "Browse": "Browse",
- "Library": "Library",
- "Tracks": "Tracks",
- "Playlists": "Playlists",
- "Albums": "Albums",
- "Artists": "Artists",
- "More": "More",
- "Settings": "Settings",
- "Downloads": "Downloads",
- "Search or paste Deezer URL. Use / to quickly focus.": "Search or paste Deezer URL. Use \"/\" to quickly focus.",
- "Play": "Play",
- "Add to library": "Add to library",
- "Download": "Download",
- "fans": "fans",
- "tracks": "tracks",
- "Quality": "Quality",
- "Estimated size:": "Estimated size:",
- "Start downloading": "Start downloading",
- "Cancel": "Cancel",
- "Stream logging is disabled!": "Stream logging is disabled!",
- "Enable it in settings for history to work properly.": "Enable it in settings for history to work properly.",
- "History": "History",
- "Create new playlist": "Create new playlist",
- "TRACKS": "TRACKS",
- "Sort by": "Sort by",
- "Date Added": "Date Added",
- "Name (A-Z)": "Name (A-Z)",
- "Artist (A-Z)": "Artist (A-Z)",
- "Album (A-Z)": "Album (A-Z)",
- "Error loading lyrics or lyrics not found!": "Error loading lyrics or lyrics not found!",
- "Create playlist": "Create playlist",
- "Create": "Create",
- "Add to playlist": "Add to playlist",
- "Create new": "Create new",
- "Remove": "Remove",
- "Play next": "Play next",
- "Add to queue": "Add to queue",
- "Remove from library": "Remove from library",
- "Remove from playlist": "Remove from playlist",
- "Play track mix": "Play track mix",
- "Go to": "Go to",
- "Track Mix": "Track Mix",
- "Duration": "Duration",
- "Released": "Released",
- "Disk": "Disk",
- "albums": "albums",
- "Play top": "Play top",
- "Radio": "Radio",
- "Show all albums": "Show all albums",
- "Show all singles": "Show all singles",
- "Show more": "Show more",
- "Downloaded": "Downloaded",
- "Queue": "Queue",
- "Total": "Total",
- "Stop": "Stop",
- "Start": "Start",
- "Show folder": "Show folder",
- "Clear queue": "Clear queue",
- "Playing from": "Playing from",
- "Info": "Info",
- "Lyrics": "Lyrics",
- "Track number": "Track number",
- "Disk number": "Disk number",
- "Explicit": "Explicit",
- "Source": "Source",
+ "Home": "Αρχική",
+ "Browse": "Περιήγηση",
+ "Library": "Βιβλιοθήκη",
+ "Tracks": "Κομμάτια",
+ "Playlists": "Λίστες αναπαραγωγής",
+ "Albums": "Album",
+ "Artists": "Καλλιτέχνες",
+ "More": "Περισσότερα",
+ "Settings": "Ρυθμίσεις",
+ "Downloads": "Λήψεις",
+ "Search or paste Deezer URL. Use / to quickly focus.": "Αναζήτηση ή επικόλληση διεύθυνσης URL Deezer. Χρησιμοποιήστε το \"/\" για γρήγορη εστίαση.",
+ "Play": "Αναπαραγωγή",
+ "Add to library": "Προσθήκη στη βιβλιοθήκη",
+ "Download": "Λήψη",
+ "fans": "θαυμαστές",
+ "tracks": "κομμάτια",
+ "Quality": "Ποιότητα",
+ "Estimated size:": "Εκτιμώμενος χρόνος:",
+ "Start downloading": "Έναρξη λήψης",
+ "Cancel": "Άκυρο",
+ "Stream logging is disabled!": "Η καταγραφή ροής είναι ανενεργή!",
+ "Enable it in settings for history to work properly.": "Ενεργοποιήστε το στις ρυθμίσεις για την σωστή λειτουργία του ιστορικού.",
+ "History": "Ιστορικό",
+ "Create new playlist": "Δημιουργία λίστας αναπαραγωγής",
+ "TRACKS": "ΤΡΑΓΟΥΔΙΑ",
+ "Sort by": "Ταξινόμηση κατά",
+ "Date Added": "Ημερομηνία Προσθήκης",
+ "Name (A-Z)": "Όνομα (Α-Ω)",
+ "Artist (A-Z)": "Καλλιτέχνης (Α-Ω)",
+ "Album (A-Z)": "Album (Α-Ω)",
+ "Error loading lyrics or lyrics not found!": "Σφάλμα κατά τη φόρτωση στίχων ή αδυναμία εύρεσης στίχων!",
+ "Create playlist": "Δημιουργία λίστας αναπαραγωγής",
+ "Create": "Δημιουργία",
+ "Add to playlist": "Προσθήκη στην λίστα αναπαραγωγής",
+ "Create new": "Δημιουργία νέου",
+ "Remove": "Αφαίρεση",
+ "Play next": "Παίξε αμέσως μετά",
+ "Add to queue": "Προσθήκη στην ουρά",
+ "Remove from library": "Κατάργηση από τη βιβλιοθήκη",
+ "Remove from playlist": "Κατάργηση από τη λίστα αναπαραγωγής",
+ "Play track mix": "Αναπαραγωγή μίξης τραγουδιών",
+ "Go to": "Πήγαινε σε",
+ "Track Mix": "Μίξη Τραγουδιών",
+ "Duration": "Διάρκεια",
+ "Released": "Κυκλοφόρησε",
+ "Disk": "Δίσκος",
+ "albums": "album",
+ "Play top": "Αναπαραγωγή κορυφαίου",
+ "Radio": "Ραδιόφωνο",
+ "Show all albums": "Εμφάνιση όλων των album",
+ "Show all singles": "Εμφάνιση όλων των single",
+ "Show more": "Εμφάνιση περισσότερων",
+ "Downloaded": "Ελήφθησαν",
+ "Queue": "Ουρά",
+ "Total": "Σύνολο ",
+ "Stop": "Διακοπή",
+ "Start": "Έναρξη",
+ "Show folder": "Εμφάνιση φακέλου",
+ "Clear queue": "Εκκαθάριση ουράς",
+ "Playing from": "Αναπαραγωγή από",
+ "Info": "Πληροφορίες",
+ "Lyrics": "Στίχοι",
+ "Track number": "Αριθμός τραγουδιού",
+ "Disk number": "Αριθμός δίσκου",
+ "Explicit": "Άσεμνο περιεχόμενο",
+ "Source": "Πηγή",
"ID": "ID",
- "Error logging in!": "Error logging in!",
- "Please try again later, or try another account.": "Please try again later, or try another account.",
- "Logout": "Logout",
- "Login using browser": "Login using browser",
- "Please login using your Deezer account:": "Please login using your Deezer account:",
- "...or paste your ARL/Token below:": "...or paste your ARL/Token below:",
+ "Error logging in!": "Σφάλμα εισόδου!",
+ "Please try again later, or try another account.": "Δοκιμάστε ξανά αργότερα ή δοκιμάστε έναν άλλο λογαριασμό.",
+ "Logout": "Αποσύνδεση",
+ "Login using browser": "Σύνδεση χρησιμοποιώντας το πρόγραμμα περιήγησης",
+ "Please login using your Deezer account:": "Συνδεθείτε χρησιμοποιώντας τον λογαριασμό σας στο Deezer:",
+ "...or paste your ARL/Token below:": "... ή επικολλήστε το ARL/Token σας παρακάτω:",
"ARL/Token": "ARL/Token",
- "Login": "Login",
- "By using this program, you disagree with Deezer's ToS.": "By using this program, you disagree with Deezer's ToS.",
- "Only in Electron version!": "Only in Electron version!",
- "Search results for:": "Search results for:",
- "Error loading data!": "Error loading data!",
- "Try again later!": "Try again later!",
- "Search": "Search",
- "Streaming Quality": "Streaming Quality",
- "Download Quality": "Download Quality",
- "Downloads Directory": "Downloads Directory",
- "Simultaneous downloads": "Simultaneous downloads",
- "Always show download confirm dialog before downloading.": "Always show download confirm dialog before downloading.",
- "Show download dialog": "Show download dialog",
- "Create folders for artists": "Create folders for artists",
- "Create folders for albums": "Create folders for albums",
- "Download lyrics": "Download lyrics",
- "Variables": "Variables",
- "UI": "UI",
- "Show autocomplete in search": "Show autocomplete in search",
- "Integrations": "Integrations",
- "This allows listening history, flow and recommendations to work properly.": "This allows listening history, flow and recommendations to work properly.",
- "Log track listens to Deezer": "Log track listens to Deezer",
- "Connect your LastFM account to allow scrobbling.": "Connect your LastFM account to allow scrobbling.",
- "Login with LastFM": "Login with LastFM",
- "Disconnect LastFM": "Disconnect LastFM",
- "Requires restart to apply!": "Requires restart to apply!",
- "Enable Discord Rich Presence, requires restart to toggle!": "Enable Discord Rich Presence, requires restart to toggle!",
- "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!",
- "Discord Join Button": "Discord Join Button",
- "Other": "Other",
- "Minimize to tray": "Minimize to tray",
- "Don't minimize to tray": "Don't minimize to tray",
- "Close on exit": "Close on exit",
- "Settings saved!": "Settings saved!",
- "Available only in Electron version!": "Available only in Electron version!"
+ "Login": "Σύνδεση",
+ "By using this program, you disagree with Deezer's ToS.": "Χρησιμοποιώντας αυτό το πρόγραμμα, διαφωνείτε με τους όρους χρήσης του Deezer.",
+ "Only in Electron version!": "Μόνο στην έκδοση Electron!",
+ "Search results for:": "Αποτελέσματα αναζήτησης για:",
+ "Error loading data!": "Σφάλμα φόρτωσης δεδομένων!",
+ "Try again later!": "Δοκιμάστε ξανά αργότερα!",
+ "Search": "Αναζήτηση",
+ "Streaming Quality": "Ποιότητα ροής",
+ "Download Quality": "Ποιότητα λήψης",
+ "Downloads Directory": "Κατάλογος Λήψεων",
+ "Simultaneous downloads": "Ταυτόχρονες λήψεις",
+ "Always show download confirm dialog before downloading.": "Να εμφανίζεται πάντα το παράθυρο διαλόγου επιβεβαίωσης πριν από τη λήψη.",
+ "Show download dialog": "Εμφάνιση παραθύρου διαλόγου επιβεβαίωσης",
+ "Create folders for artists": "Δημιουργία φακέλου για καλλιτέχνη",
+ "Create folders for albums": "Δημιουργία φακέλων για album",
+ "Download lyrics": "Λήψη στίχων",
+ "Variables": "Μεταβλητές",
+ "UI": "Περιβάλλον Χρήστη",
+ "Show autocomplete in search": "Εμφάνιση αυτόματων συμπληρώσεων στην αναζήτηση",
+ "Integrations": "Ενσωματώσεις",
+ "This allows listening history, flow and recommendations to work properly.": "Επιτρέπει στο ιστορικό ακρόασης, το flow και τις προτάσεις να λειτουργούν σωστά.",
+ "Log track listens to Deezer": "Καταγραφή ακρόασης κομματιών στο Deezer",
+ "Connect your LastFM account to allow scrobbling.": "Συνδέστε τον λογαριασμό σας LastFM για να επιτρέψετε το scrobbling.",
+ "Login with LastFM": "Σύνδεση με LastFM",
+ "Disconnect LastFM": "Αποσύνδεση από LastFM",
+ "Requires restart to apply!": "Απαιτείται επανεκκίνηση για την εφαρμογή!",
+ "Enable Discord Rich Presence, requires restart to toggle!": "Ενεργοποίηση Discord Rich Presence, απαιτείται επανεκκίνηση!",
+ "Discord Rich Presence": "Ενεργοποίηση Discord Rich Presence",
+ "Enable Discord join button for syncing tracks, requires restart to toggle!": "Ενεργοποιήστε το κουμπί συμμετοχής Discord για συγχρονισμό κομματιών, απαιτείται επανεκκίνηση!",
+ "Discord Join Button": "Κουμπί συμμετοχής Discord",
+ "Other": "Άλλα",
+ "Minimize to tray": "Ελαχιστοποίηση σε εικονίδιο",
+ "Don't minimize to tray": "Μην ελαχιστοποιείτε σε εικονίδιο",
+ "Close on exit": "Κλείσιμο κατά την έξοδο",
+ "Settings saved!": "Οι ρυθμίσεις αποθηκεύτηκαν!",
+ "Available only in Electron version!": "Διαθέσιμο μόνο στην έκδοση Electron!",
+ "Crossfade (ms)": "Crossfade (ms)",
+ "Select primary color": "Select primary color",
+ "Light theme": "Light theme",
+ "Create folders for playlists": "Create folders for playlists",
+ "About": "About",
+ "Links:": "Links:",
+ "Telegram Releases": "Telegram Releases",
+ "Telegram Group": "Telegram Group",
+ "Discord": "Discord",
+ "Telegram Android Group": "Telegram Android Group",
+ "Credits:": "Credits:",
+ "Agree": "Agree"
}
\ No newline at end of file
diff --git a/app/client/src/locales/en.json b/app/client/src/locales/en.json
index 5071360..3711408 100644
--- a/app/client/src/locales/en.json
+++ b/app/client/src/locales/en.json
@@ -108,5 +108,18 @@
"Don't minimize to tray": "Don't minimize to tray",
"Close on exit": "Close on exit",
"Settings saved!": "Settings saved!",
- "Available only in Electron version!": "Available only in Electron version!"
+ "Available only in Electron version!": "Available only in Electron version!",
+ "Crossfade (ms)": "Crossfade (ms)",
+ "Select primary color": "Select primary color",
+ "Light theme": "Light theme",
+ "Create folders for playlists": "Create folders for playlists",
+ "About": "About",
+ "Links:": "Links:",
+ "Telegram Releases": "Telegram Releases",
+ "Telegram Group": "Telegram Group",
+ "Discord": "Discord",
+ "Telegram Android Group": "Telegram Android Group",
+ "Credits:": "Credits:",
+ "Agree": "Agree"
+
}
\ No newline at end of file
diff --git a/app/client/src/locales/es.json b/app/client/src/locales/es.json
index 5071360..e78cd97 100644
--- a/app/client/src/locales/es.json
+++ b/app/client/src/locales/es.json
@@ -1,85 +1,85 @@
{
- "Home": "Home",
+ "Home": "Inicio",
"Browse": "Browse",
- "Library": "Library",
- "Tracks": "Tracks",
- "Playlists": "Playlists",
- "Albums": "Albums",
- "Artists": "Artists",
- "More": "More",
- "Settings": "Settings",
- "Downloads": "Downloads",
+ "Library": "Biblioteca",
+ "Tracks": "Canciones",
+ "Playlists": "Listas de reproducción",
+ "Albums": "Álbumes",
+ "Artists": "Artistas",
+ "More": "Más",
+ "Settings": "Configuración",
+ "Downloads": "Descargas",
"Search or paste Deezer URL. Use / to quickly focus.": "Search or paste Deezer URL. Use \"/\" to quickly focus.",
- "Play": "Play",
+ "Play": "Reproducir",
"Add to library": "Add to library",
- "Download": "Download",
- "fans": "fans",
- "tracks": "tracks",
- "Quality": "Quality",
- "Estimated size:": "Estimated size:",
+ "Download": "Descargar",
+ "fans": "seguidores",
+ "tracks": "canciones",
+ "Quality": "Calidad",
+ "Estimated size:": "Tamaño estimado:",
"Start downloading": "Start downloading",
- "Cancel": "Cancel",
+ "Cancel": "Cancelar",
"Stream logging is disabled!": "Stream logging is disabled!",
"Enable it in settings for history to work properly.": "Enable it in settings for history to work properly.",
- "History": "History",
+ "History": "Historial",
"Create new playlist": "Create new playlist",
- "TRACKS": "TRACKS",
- "Sort by": "Sort by",
- "Date Added": "Date Added",
- "Name (A-Z)": "Name (A-Z)",
- "Artist (A-Z)": "Artist (A-Z)",
- "Album (A-Z)": "Album (A-Z)",
+ "TRACKS": "CANCIONES",
+ "Sort by": "Ordenar por",
+ "Date Added": "Fecha de adición",
+ "Name (A-Z)": "Nombre (A-Z)",
+ "Artist (A-Z)": "Artista (A-Z)",
+ "Album (A-Z)": "Álbum (A-Z)",
"Error loading lyrics or lyrics not found!": "Error loading lyrics or lyrics not found!",
- "Create playlist": "Create playlist",
- "Create": "Create",
- "Add to playlist": "Add to playlist",
- "Create new": "Create new",
- "Remove": "Remove",
- "Play next": "Play next",
+ "Create playlist": "Crear lista de reproducción",
+ "Create": "Crear",
+ "Add to playlist": "Agregar a la lista de reproducción",
+ "Create new": "Crear nuevo",
+ "Remove": "Quitar",
+ "Play next": "Reproducir siguiente",
"Add to queue": "Add to queue",
"Remove from library": "Remove from library",
"Remove from playlist": "Remove from playlist",
- "Play track mix": "Play track mix",
- "Go to": "Go to",
- "Track Mix": "Track Mix",
- "Duration": "Duration",
- "Released": "Released",
- "Disk": "Disk",
- "albums": "albums",
- "Play top": "Play top",
+ "Play track mix": "Reproducir mezcla de canciones",
+ "Go to": "Ir a",
+ "Track Mix": "Mezcla de canciones",
+ "Duration": "Duración",
+ "Released": "Publicado",
+ "Disk": "Disco",
+ "albums": "álbumes",
+ "Play top": "Reproducir top",
"Radio": "Radio",
- "Show all albums": "Show all albums",
+ "Show all albums": "Mostrar todos los álbumes",
"Show all singles": "Show all singles",
- "Show more": "Show more",
- "Downloaded": "Downloaded",
- "Queue": "Queue",
+ "Show more": "Mostrar más",
+ "Downloaded": "Descargadas",
+ "Queue": "Cola",
"Total": "Total",
- "Stop": "Stop",
- "Start": "Start",
- "Show folder": "Show folder",
- "Clear queue": "Clear queue",
+ "Stop": "Parar",
+ "Start": "Iniciar",
+ "Show folder": "Mostrar carpeta",
+ "Clear queue": "Limpiar cola",
"Playing from": "Playing from",
- "Info": "Info",
- "Lyrics": "Lyrics",
- "Track number": "Track number",
- "Disk number": "Disk number",
- "Explicit": "Explicit",
- "Source": "Source",
+ "Info": "Información",
+ "Lyrics": "Letras",
+ "Track number": "Número de la canción",
+ "Disk number": "Número del disco",
+ "Explicit": "Explícito",
+ "Source": "Fuente",
"ID": "ID",
"Error logging in!": "Error logging in!",
"Please try again later, or try another account.": "Please try again later, or try another account.",
- "Logout": "Logout",
+ "Logout": "Cerrar sesión",
"Login using browser": "Login using browser",
"Please login using your Deezer account:": "Please login using your Deezer account:",
"...or paste your ARL/Token below:": "...or paste your ARL/Token below:",
"ARL/Token": "ARL/Token",
- "Login": "Login",
+ "Login": "Ingresar",
"By using this program, you disagree with Deezer's ToS.": "By using this program, you disagree with Deezer's ToS.",
"Only in Electron version!": "Only in Electron version!",
"Search results for:": "Search results for:",
"Error loading data!": "Error loading data!",
"Try again later!": "Try again later!",
- "Search": "Search",
+ "Search": "Buscar",
"Streaming Quality": "Streaming Quality",
"Download Quality": "Download Quality",
"Downloads Directory": "Downloads Directory",
@@ -88,25 +88,37 @@
"Show download dialog": "Show download dialog",
"Create folders for artists": "Create folders for artists",
"Create folders for albums": "Create folders for albums",
- "Download lyrics": "Download lyrics",
+ "Download lyrics": "Descargar letras",
"Variables": "Variables",
- "UI": "UI",
+ "UI": "IU",
"Show autocomplete in search": "Show autocomplete in search",
"Integrations": "Integrations",
"This allows listening history, flow and recommendations to work properly.": "This allows listening history, flow and recommendations to work properly.",
- "Log track listens to Deezer": "Log track listens to Deezer",
+ "Log track listens to Deezer": "Registrar la canción que escucha a Deezer",
"Connect your LastFM account to allow scrobbling.": "Connect your LastFM account to allow scrobbling.",
- "Login with LastFM": "Login with LastFM",
+ "Login with LastFM": "Iniciar sesión con LastFM",
"Disconnect LastFM": "Disconnect LastFM",
"Requires restart to apply!": "Requires restart to apply!",
"Enable Discord Rich Presence, requires restart to toggle!": "Enable Discord Rich Presence, requires restart to toggle!",
"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!": "Activar el botón de unión de Discord para sincronizar las canciones, ¡requiere reiniciar para cambiarlo!",
"Discord Join Button": "Discord Join Button",
- "Other": "Other",
+ "Other": "Otro",
"Minimize to tray": "Minimize to tray",
"Don't minimize to tray": "Don't minimize to tray",
"Close on exit": "Close on exit",
- "Settings saved!": "Settings saved!",
- "Available only in Electron version!": "Available only in Electron version!"
+ "Settings saved!": "¡Configuraciones guardadas!",
+ "Available only in Electron version!": "Available only in Electron version!",
+ "Crossfade (ms)": "Desvanecimiento (ms)",
+ "Select primary color": "Seleccionar color primario",
+ "Light theme": "Tema claro",
+ "Create folders for playlists": "Crear carpetas para listas de reproducción",
+ "About": "Acerca de",
+ "Links:": "Enlaces:",
+ "Telegram Releases": "Lanzamientos en Telegram",
+ "Telegram Group": "Grupo en Telegram",
+ "Discord": "Discord",
+ "Telegram Android Group": "Grupo de Android en Telegram",
+ "Credits:": "Créditos:",
+ "Agree": "Acepto"
}
\ No newline at end of file
diff --git a/app/client/src/locales/fa.json b/app/client/src/locales/fa.json
index 5071360..afc8482 100644
--- a/app/client/src/locales/fa.json
+++ b/app/client/src/locales/fa.json
@@ -108,5 +108,17 @@
"Don't minimize to tray": "Don't minimize to tray",
"Close on exit": "Close on exit",
"Settings saved!": "Settings saved!",
- "Available only in Electron version!": "Available only in Electron version!"
+ "Available only in Electron version!": "Available only in Electron version!",
+ "Crossfade (ms)": "Crossfade (ms)",
+ "Select primary color": "Select primary color",
+ "Light theme": "Light theme",
+ "Create folders for playlists": "Create folders for playlists",
+ "About": "About",
+ "Links:": "Links:",
+ "Telegram Releases": "Telegram Releases",
+ "Telegram Group": "Telegram Group",
+ "Discord": "Discord",
+ "Telegram Android Group": "Telegram Android Group",
+ "Credits:": "Credits:",
+ "Agree": "Agree"
}
\ No newline at end of file
diff --git a/app/client/src/locales/fil.json b/app/client/src/locales/fil.json
index 5071360..f327637 100644
--- a/app/client/src/locales/fil.json
+++ b/app/client/src/locales/fil.json
@@ -2,56 +2,56 @@
"Home": "Home",
"Browse": "Browse",
"Library": "Library",
- "Tracks": "Tracks",
- "Playlists": "Playlists",
- "Albums": "Albums",
- "Artists": "Artists",
+ "Tracks": "Mga kanta",
+ "Playlists": "Mga playlist",
+ "Albums": "Mga album",
+ "Artists": "Mga artista",
"More": "More",
"Settings": "Settings",
- "Downloads": "Downloads",
+ "Downloads": "Mga download",
"Search or paste Deezer URL. Use / to quickly focus.": "Search or paste Deezer URL. Use \"/\" to quickly focus.",
"Play": "Play",
- "Add to library": "Add to library",
- "Download": "Download",
+ "Add to library": "Idagdag sa library",
+ "Download": "I-download",
"fans": "fans",
- "tracks": "tracks",
- "Quality": "Quality",
- "Estimated size:": "Estimated size:",
- "Start downloading": "Start downloading",
- "Cancel": "Cancel",
- "Stream logging is disabled!": "Stream logging is disabled!",
+ "tracks": "mga kanta",
+ "Quality": "Kalidad",
+ "Estimated size:": "Tinantyang laki:",
+ "Start downloading": "Simulan ang download",
+ "Cancel": "I-kansel",
+ "Stream logging is disabled!": "Naka-disable ang stream logging!",
"Enable it in settings for history to work properly.": "Enable it in settings for history to work properly.",
"History": "History",
- "Create new playlist": "Create new playlist",
+ "Create new playlist": "Gumawa ng bagong playlist",
"TRACKS": "TRACKS",
"Sort by": "Sort by",
"Date Added": "Date Added",
"Name (A-Z)": "Name (A-Z)",
- "Artist (A-Z)": "Artist (A-Z)",
+ "Artist (A-Z)": "Artista (A-Z)",
"Album (A-Z)": "Album (A-Z)",
"Error loading lyrics or lyrics not found!": "Error loading lyrics or lyrics not found!",
- "Create playlist": "Create playlist",
- "Create": "Create",
- "Add to playlist": "Add to playlist",
- "Create new": "Create new",
- "Remove": "Remove",
- "Play next": "Play next",
- "Add to queue": "Add to queue",
- "Remove from library": "Remove from library",
- "Remove from playlist": "Remove from playlist",
+ "Create playlist": "Gumawa ng playlist",
+ "Create": "Gumawa",
+ "Add to playlist": "Idagdag sa playlist",
+ "Create new": "Gumawa ng bago",
+ "Remove": "Tanggalin",
+ "Play next": "I-play ang kasunod",
+ "Add to queue": "Idagdag sa queue",
+ "Remove from library": "Tanggalin sa library",
+ "Remove from playlist": "Tanggalin mula sa playlist",
"Play track mix": "Play track mix",
- "Go to": "Go to",
+ "Go to": "Pumunta sa",
"Track Mix": "Track Mix",
"Duration": "Duration",
"Released": "Released",
"Disk": "Disk",
- "albums": "albums",
+ "albums": "Mga album",
"Play top": "Play top",
- "Radio": "Radio",
- "Show all albums": "Show all albums",
- "Show all singles": "Show all singles",
+ "Radio": "Radyo",
+ "Show all albums": "Ipakita lahat ng album",
+ "Show all singles": "Ipakita ang lahat ng mga single",
"Show more": "Show more",
- "Downloaded": "Downloaded",
+ "Downloaded": "Mga na-download",
"Queue": "Queue",
"Total": "Total",
"Stop": "Stop",
@@ -67,46 +67,58 @@
"Source": "Source",
"ID": "ID",
"Error logging in!": "Error logging in!",
- "Please try again later, or try another account.": "Please try again later, or try another account.",
- "Logout": "Logout",
- "Login using browser": "Login using browser",
- "Please login using your Deezer account:": "Please login using your Deezer account:",
- "...or paste your ARL/Token below:": "...or paste your ARL/Token below:",
+ "Please try again later, or try another account.": "Paki-subukan ulit mamaya, o mag-try ng ibang account.",
+ "Logout": "Mag-logout",
+ "Login using browser": "Mag-login gamit ang browser",
+ "Please login using your Deezer account:": "Paki-login ang iyong Deezer account:",
+ "...or paste your ARL/Token below:": "...o ilagay ang iyong ARL/Token sa baba:",
"ARL/Token": "ARL/Token",
- "Login": "Login",
- "By using this program, you disagree with Deezer's ToS.": "By using this program, you disagree with Deezer's ToS.",
- "Only in Electron version!": "Only in Electron version!",
- "Search results for:": "Search results for:",
- "Error loading data!": "Error loading data!",
- "Try again later!": "Try again later!",
- "Search": "Search",
- "Streaming Quality": "Streaming Quality",
- "Download Quality": "Download Quality",
- "Downloads Directory": "Downloads Directory",
- "Simultaneous downloads": "Simultaneous downloads",
- "Always show download confirm dialog before downloading.": "Always show download confirm dialog before downloading.",
- "Show download dialog": "Show download dialog",
- "Create folders for artists": "Create folders for artists",
- "Create folders for albums": "Create folders for albums",
- "Download lyrics": "Download lyrics",
- "Variables": "Variables",
+ "Login": "Mag-login",
+ "By using this program, you disagree with Deezer's ToS.": "Sa paggamit ng program na ito, ikaw ay hindi sumasang-ayon sa ToS ng Deezer.",
+ "Only in Electron version!": "Sa Electron version lamang!",
+ "Search results for:": "Maghanap ng resulta para sa:",
+ "Error loading data!": "May problema habang naglo-load ng mga datos!",
+ "Try again later!": "Paki-subukan ulit mamaya!",
+ "Search": "Maghanap",
+ "Streaming Quality": "Kalidad ng streaming",
+ "Download Quality": "Kalidad ng download",
+ "Downloads Directory": "Lalagyan ng mga download",
+ "Simultaneous downloads": "Sabay-sabay na download",
+ "Always show download confirm dialog before downloading.": "Laging ipakita ang confirm dialog bago mag-download.",
+ "Show download dialog": "Ipakita ang download dialog",
+ "Create folders for artists": "Gumawa ng folder para sa mga artista",
+ "Create folders for albums": "Gumawa ng folder para sa mga album",
+ "Download lyrics": "I-download ang lyrics",
+ "Variables": "Mga variable",
"UI": "UI",
- "Show autocomplete in search": "Show autocomplete in search",
- "Integrations": "Integrations",
+ "Show autocomplete in search": "Ipakita ang autocomplete sa search",
+ "Integrations": "Mga integration",
"This allows listening history, flow and recommendations to work properly.": "This allows listening history, flow and recommendations to work properly.",
"Log track listens to Deezer": "Log track listens to Deezer",
- "Connect your LastFM account to allow scrobbling.": "Connect your LastFM account to allow scrobbling.",
- "Login with LastFM": "Login with LastFM",
- "Disconnect LastFM": "Disconnect LastFM",
- "Requires restart to apply!": "Requires restart to apply!",
- "Enable Discord Rich Presence, requires restart to toggle!": "Enable Discord Rich Presence, requires restart to toggle!",
+ "Connect your LastFM account to allow scrobbling.": "Ikabit ang iyong LastFM account para sa scrobbling.",
+ "Login with LastFM": "Mag-login gamit ang LastFM",
+ "Disconnect LastFM": "Tanggalin ang LastFM",
+ "Requires restart to apply!": "Kailangan i-restart para ma-apply!",
+ "Enable Discord Rich Presence, requires restart to toggle!": "I-enable ang Discord Rich Presence, kailangan i-restart para mabago!",
"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!": "I-enable ang Discord join button para sa pag-sync ng mga kanta, kailangan i-restart para mabago!",
"Discord Join Button": "Discord Join Button",
- "Other": "Other",
- "Minimize to tray": "Minimize to tray",
- "Don't minimize to tray": "Don't minimize to tray",
- "Close on exit": "Close on exit",
- "Settings saved!": "Settings saved!",
- "Available only in Electron version!": "Available only in Electron version!"
+ "Other": "Iba pa",
+ "Minimize to tray": "I-minimize sa tray",
+ "Don't minimize to tray": "Huwag i-minimize sa tray",
+ "Close on exit": "Isara sa pag-pindot ng X",
+ "Settings saved!": "Na-save ang settings!",
+ "Available only in Electron version!": "Meron lamang sa Electron version!",
+ "Crossfade (ms)": "Crossfade (ms)",
+ "Select primary color": "Select primary color",
+ "Light theme": "Light theme",
+ "Create folders for playlists": "Create folders for playlists",
+ "About": "About",
+ "Links:": "Links:",
+ "Telegram Releases": "Telegram Releases",
+ "Telegram Group": "Telegram Group",
+ "Discord": "Discord",
+ "Telegram Android Group": "Telegram Android Group",
+ "Credits:": "Credits:",
+ "Agree": "Agree"
}
\ No newline at end of file
diff --git a/app/client/src/locales/fr.json b/app/client/src/locales/fr.json
index 5071360..bc34f7e 100644
--- a/app/client/src/locales/fr.json
+++ b/app/client/src/locales/fr.json
@@ -1,62 +1,62 @@
{
- "Home": "Home",
- "Browse": "Browse",
- "Library": "Library",
- "Tracks": "Tracks",
+ "Home": "Accueil",
+ "Browse": "Explorer",
+ "Library": "Bibliothèque",
+ "Tracks": "Pistes",
"Playlists": "Playlists",
"Albums": "Albums",
- "Artists": "Artists",
- "More": "More",
- "Settings": "Settings",
- "Downloads": "Downloads",
+ "Artists": "Artistes",
+ "More": "Plus",
+ "Settings": "Paramètres",
+ "Downloads": "Téléchargements",
"Search or paste Deezer URL. Use / to quickly focus.": "Search or paste Deezer URL. Use \"/\" to quickly focus.",
"Play": "Play",
"Add to library": "Add to library",
- "Download": "Download",
+ "Download": "Télécharger",
"fans": "fans",
- "tracks": "tracks",
- "Quality": "Quality",
- "Estimated size:": "Estimated size:",
- "Start downloading": "Start downloading",
- "Cancel": "Cancel",
+ "tracks": "pistes",
+ "Quality": "Qualité",
+ "Estimated size:": "Durée estimée:",
+ "Start downloading": "Lancer le téléchargement",
+ "Cancel": "Annuler",
"Stream logging is disabled!": "Stream logging is disabled!",
"Enable it in settings for history to work properly.": "Enable it in settings for history to work properly.",
- "History": "History",
- "Create new playlist": "Create new playlist",
- "TRACKS": "TRACKS",
- "Sort by": "Sort by",
- "Date Added": "Date Added",
- "Name (A-Z)": "Name (A-Z)",
- "Artist (A-Z)": "Artist (A-Z)",
+ "History": "Historique",
+ "Create new playlist": "Créer une nouvelle playlist",
+ "TRACKS": "PISTES",
+ "Sort by": "Trier par",
+ "Date Added": "Ajouté le",
+ "Name (A-Z)": "Nom (A-Z)",
+ "Artist (A-Z)": "Artiste (A-Z)",
"Album (A-Z)": "Album (A-Z)",
"Error loading lyrics or lyrics not found!": "Error loading lyrics or lyrics not found!",
- "Create playlist": "Create playlist",
- "Create": "Create",
- "Add to playlist": "Add to playlist",
+ "Create playlist": "Créer une playlist",
+ "Create": "Créer",
+ "Add to playlist": "Ajouter à une playlist",
"Create new": "Create new",
- "Remove": "Remove",
+ "Remove": "Supprimer",
"Play next": "Play next",
- "Add to queue": "Add to queue",
- "Remove from library": "Remove from library",
- "Remove from playlist": "Remove from playlist",
+ "Add to queue": "Ajouter à la file d'attente",
+ "Remove from library": "Supprimer de la bibliothèque",
+ "Remove from playlist": "Supprimer de la playlist",
"Play track mix": "Play track mix",
"Go to": "Go to",
"Track Mix": "Track Mix",
- "Duration": "Duration",
+ "Duration": "Durée",
"Released": "Released",
- "Disk": "Disk",
+ "Disk": "Disque",
"albums": "albums",
"Play top": "Play top",
"Radio": "Radio",
- "Show all albums": "Show all albums",
- "Show all singles": "Show all singles",
- "Show more": "Show more",
- "Downloaded": "Downloaded",
+ "Show all albums": "Afficher tous les albums",
+ "Show all singles": "Afficher tous les singles",
+ "Show more": "Afficher plus",
+ "Downloaded": "Téléchargés",
"Queue": "Queue",
"Total": "Total",
- "Stop": "Stop",
+ "Stop": "Arrêter",
"Start": "Start",
- "Show folder": "Show folder",
+ "Show folder": "Afficher le dossier",
"Clear queue": "Clear queue",
"Playing from": "Playing from",
"Info": "Info",
@@ -67,46 +67,58 @@
"Source": "Source",
"ID": "ID",
"Error logging in!": "Error logging in!",
- "Please try again later, or try another account.": "Please try again later, or try another account.",
- "Logout": "Logout",
- "Login using browser": "Login using browser",
- "Please login using your Deezer account:": "Please login using your Deezer account:",
- "...or paste your ARL/Token below:": "...or paste your ARL/Token below:",
+ "Please try again later, or try another account.": "Veuillez réessayer plus tard, ou essayez avec un autre compte.",
+ "Logout": "Déconnexion",
+ "Login using browser": "Connexion via navigateur",
+ "Please login using your Deezer account:": "Veuillez vous connecter en utilisant votre compte Deezer:",
+ "...or paste your ARL/Token below:": "...ou copiez votre ARL/Token ici:",
"ARL/Token": "ARL/Token",
- "Login": "Login",
+ "Login": "Connexion",
"By using this program, you disagree with Deezer's ToS.": "By using this program, you disagree with Deezer's ToS.",
- "Only in Electron version!": "Only in Electron version!",
- "Search results for:": "Search results for:",
+ "Only in Electron version!": "Uniquement en version Electron !",
+ "Search results for:": "Résultats de la recherche pour:",
"Error loading data!": "Error loading data!",
- "Try again later!": "Try again later!",
- "Search": "Search",
- "Streaming Quality": "Streaming Quality",
- "Download Quality": "Download Quality",
- "Downloads Directory": "Downloads Directory",
- "Simultaneous downloads": "Simultaneous downloads",
+ "Try again later!": "Réessayez plus tard !",
+ "Search": "Recherche",
+ "Streaming Quality": "Qualité en streaming",
+ "Download Quality": "Qualité de téléchargement",
+ "Downloads Directory": "Chemin de sauvegarde",
+ "Simultaneous downloads": "Limite téléchargements simultanés",
"Always show download confirm dialog before downloading.": "Always show download confirm dialog before downloading.",
"Show download dialog": "Show download dialog",
- "Create folders for artists": "Create folders for artists",
- "Create folders for albums": "Create folders for albums",
- "Download lyrics": "Download lyrics",
+ "Create folders for artists": "Générer des dossiers par artiste",
+ "Create folders for albums": "Générer des dossiers par album",
+ "Download lyrics": "Télécharger les paroles",
"Variables": "Variables",
- "UI": "UI",
+ "UI": "Interface",
"Show autocomplete in search": "Show autocomplete in search",
- "Integrations": "Integrations",
- "This allows listening history, flow and recommendations to work properly.": "This allows listening history, flow and recommendations to work properly.",
+ "Integrations": "Intégrations",
+ "This allows listening history, flow and recommendations to work properly.": "Cela permet à l'historique des titres écoutés, flow et aux recommandations de fonctionner correctement.",
"Log track listens to Deezer": "Log track listens to Deezer",
"Connect your LastFM account to allow scrobbling.": "Connect your LastFM account to allow scrobbling.",
"Login with LastFM": "Login with LastFM",
"Disconnect LastFM": "Disconnect LastFM",
- "Requires restart to apply!": "Requires restart to apply!",
- "Enable Discord Rich Presence, requires restart to toggle!": "Enable Discord Rich Presence, requires restart to toggle!",
- "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!",
- "Discord Join Button": "Discord Join Button",
- "Other": "Other",
- "Minimize to tray": "Minimize to tray",
- "Don't minimize to tray": "Don't minimize to tray",
+ "Requires restart to apply!": "Redémarrage nécessaire pour prendre effet !",
+ "Enable Discord Rich Presence, requires restart to toggle!": "Activer la présence Discord, nécessite un redémarrage pour prendre effet !",
+ "Discord Rich Presence": "Présence Discord",
+ "Enable Discord join button for syncing tracks, requires restart to toggle!": "Activer le bouton \"rejoindre\" sur Discord pour synchroniser les pistes, nécessite un redémarrage pour prendre effet !",
+ "Discord Join Button": "Bouton rejoindre sur Discord",
+ "Other": "Autre",
+ "Minimize to tray": "Réduire dans la zone de notification",
+ "Don't minimize to tray": "Ne pas réduire dans la zone de notification",
"Close on exit": "Close on exit",
- "Settings saved!": "Settings saved!",
- "Available only in Electron version!": "Available only in Electron version!"
+ "Settings saved!": "Paramètres sauvegardés !",
+ "Available only in Electron version!": "Uniquement disponible en version Electron !",
+ "Crossfade (ms)": "Crossfade (ms)",
+ "Select primary color": "Select primary color",
+ "Light theme": "Light theme",
+ "Create folders for playlists": "Create folders for playlists",
+ "About": "About",
+ "Links:": "Links:",
+ "Telegram Releases": "Telegram Releases",
+ "Telegram Group": "Telegram Group",
+ "Discord": "Discord",
+ "Telegram Android Group": "Telegram Android Group",
+ "Credits:": "Credits:",
+ "Agree": "Agree"
}
\ No newline at end of file
diff --git a/app/client/src/locales/he.json b/app/client/src/locales/he.json
index 5071360..afc8482 100644
--- a/app/client/src/locales/he.json
+++ b/app/client/src/locales/he.json
@@ -108,5 +108,17 @@
"Don't minimize to tray": "Don't minimize to tray",
"Close on exit": "Close on exit",
"Settings saved!": "Settings saved!",
- "Available only in Electron version!": "Available only in Electron version!"
+ "Available only in Electron version!": "Available only in Electron version!",
+ "Crossfade (ms)": "Crossfade (ms)",
+ "Select primary color": "Select primary color",
+ "Light theme": "Light theme",
+ "Create folders for playlists": "Create folders for playlists",
+ "About": "About",
+ "Links:": "Links:",
+ "Telegram Releases": "Telegram Releases",
+ "Telegram Group": "Telegram Group",
+ "Discord": "Discord",
+ "Telegram Android Group": "Telegram Android Group",
+ "Credits:": "Credits:",
+ "Agree": "Agree"
}
\ No newline at end of file
diff --git a/app/client/src/locales/hi.json b/app/client/src/locales/hi.json
index 5071360..afc8482 100644
--- a/app/client/src/locales/hi.json
+++ b/app/client/src/locales/hi.json
@@ -108,5 +108,17 @@
"Don't minimize to tray": "Don't minimize to tray",
"Close on exit": "Close on exit",
"Settings saved!": "Settings saved!",
- "Available only in Electron version!": "Available only in Electron version!"
+ "Available only in Electron version!": "Available only in Electron version!",
+ "Crossfade (ms)": "Crossfade (ms)",
+ "Select primary color": "Select primary color",
+ "Light theme": "Light theme",
+ "Create folders for playlists": "Create folders for playlists",
+ "About": "About",
+ "Links:": "Links:",
+ "Telegram Releases": "Telegram Releases",
+ "Telegram Group": "Telegram Group",
+ "Discord": "Discord",
+ "Telegram Android Group": "Telegram Android Group",
+ "Credits:": "Credits:",
+ "Agree": "Agree"
}
\ No newline at end of file
diff --git a/app/client/src/locales/hr.json b/app/client/src/locales/hr.json
index 5071360..afc8482 100644
--- a/app/client/src/locales/hr.json
+++ b/app/client/src/locales/hr.json
@@ -108,5 +108,17 @@
"Don't minimize to tray": "Don't minimize to tray",
"Close on exit": "Close on exit",
"Settings saved!": "Settings saved!",
- "Available only in Electron version!": "Available only in Electron version!"
+ "Available only in Electron version!": "Available only in Electron version!",
+ "Crossfade (ms)": "Crossfade (ms)",
+ "Select primary color": "Select primary color",
+ "Light theme": "Light theme",
+ "Create folders for playlists": "Create folders for playlists",
+ "About": "About",
+ "Links:": "Links:",
+ "Telegram Releases": "Telegram Releases",
+ "Telegram Group": "Telegram Group",
+ "Discord": "Discord",
+ "Telegram Android Group": "Telegram Android Group",
+ "Credits:": "Credits:",
+ "Agree": "Agree"
}
\ No newline at end of file
diff --git a/app/client/src/locales/hu.json b/app/client/src/locales/hu.json
index 5071360..efa789b 100644
--- a/app/client/src/locales/hu.json
+++ b/app/client/src/locales/hu.json
@@ -1,14 +1,14 @@
{
- "Home": "Home",
- "Browse": "Browse",
- "Library": "Library",
- "Tracks": "Tracks",
- "Playlists": "Playlists",
- "Albums": "Albums",
- "Artists": "Artists",
- "More": "More",
- "Settings": "Settings",
- "Downloads": "Downloads",
+ "Home": "Kezdőlap",
+ "Browse": "Böngészés",
+ "Library": "Könyvtár",
+ "Tracks": "Dalok",
+ "Playlists": "Lejátszási listák",
+ "Albums": "Albumok",
+ "Artists": "Előadók",
+ "More": "Továbbiak",
+ "Settings": "Beállítások",
+ "Downloads": "Letöltések",
"Search or paste Deezer URL. Use / to quickly focus.": "Search or paste Deezer URL. Use \"/\" to quickly focus.",
"Play": "Play",
"Add to library": "Add to library",
@@ -108,5 +108,17 @@
"Don't minimize to tray": "Don't minimize to tray",
"Close on exit": "Close on exit",
"Settings saved!": "Settings saved!",
- "Available only in Electron version!": "Available only in Electron version!"
+ "Available only in Electron version!": "Available only in Electron version!",
+ "Crossfade (ms)": "Crossfade (ms)",
+ "Select primary color": "Select primary color",
+ "Light theme": "Light theme",
+ "Create folders for playlists": "Create folders for playlists",
+ "About": "About",
+ "Links:": "Links:",
+ "Telegram Releases": "Telegram Releases",
+ "Telegram Group": "Telegram Group",
+ "Discord": "Discord",
+ "Telegram Android Group": "Telegram Android Group",
+ "Credits:": "Credits:",
+ "Agree": "Agree"
}
\ No newline at end of file
diff --git a/app/client/src/locales/id.json b/app/client/src/locales/id.json
index 5071360..648a1b4 100644
--- a/app/client/src/locales/id.json
+++ b/app/client/src/locales/id.json
@@ -1,112 +1,124 @@
{
- "Home": "Home",
- "Browse": "Browse",
- "Library": "Library",
- "Tracks": "Tracks",
- "Playlists": "Playlists",
- "Albums": "Albums",
- "Artists": "Artists",
- "More": "More",
- "Settings": "Settings",
- "Downloads": "Downloads",
- "Search or paste Deezer URL. Use / to quickly focus.": "Search or paste Deezer URL. Use \"/\" to quickly focus.",
- "Play": "Play",
- "Add to library": "Add to library",
- "Download": "Download",
- "fans": "fans",
- "tracks": "tracks",
- "Quality": "Quality",
- "Estimated size:": "Estimated size:",
- "Start downloading": "Start downloading",
- "Cancel": "Cancel",
- "Stream logging is disabled!": "Stream logging is disabled!",
- "Enable it in settings for history to work properly.": "Enable it in settings for history to work properly.",
- "History": "History",
- "Create new playlist": "Create new playlist",
- "TRACKS": "TRACKS",
- "Sort by": "Sort by",
- "Date Added": "Date Added",
- "Name (A-Z)": "Name (A-Z)",
- "Artist (A-Z)": "Artist (A-Z)",
+ "Home": "Beranda",
+ "Browse": "Telusuri",
+ "Library": "Koleksi",
+ "Tracks": "Lagu",
+ "Playlists": "Daftar Putar",
+ "Albums": "Album",
+ "Artists": "Artis",
+ "More": "Lebih banyak",
+ "Settings": "Pengaturan",
+ "Downloads": "Unduhan",
+ "Search or paste Deezer URL. Use / to quickly focus.": "Cari atau tempel URL Deezer. Gunakan \"/\" untuk fokus dengan cepat.",
+ "Play": "Putar",
+ "Add to library": "Tambahkan ke koleksi",
+ "Download": "Unduh",
+ "fans": "penggemar",
+ "tracks": "lagu",
+ "Quality": "Kualitas",
+ "Estimated size:": "Perkiraan ukuran:",
+ "Start downloading": "Mulai mengunduh",
+ "Cancel": "Batalkan",
+ "Stream logging is disabled!": "Catatan pemutaran di nonaktifkan!",
+ "Enable it in settings for history to work properly.": "Aktifkan di pengaturan agar riwayat berfungsi dengan benar.",
+ "History": "Riwayat",
+ "Create new playlist": "Buat daftar putar baru",
+ "TRACKS": "LAGU",
+ "Sort by": "Urut berdasarkan",
+ "Date Added": "Tanggal Ditambahkan",
+ "Name (A-Z)": "Nama (A-Z)",
+ "Artist (A-Z)": "Artis (A-Z)",
"Album (A-Z)": "Album (A-Z)",
- "Error loading lyrics or lyrics not found!": "Error loading lyrics or lyrics not found!",
- "Create playlist": "Create playlist",
- "Create": "Create",
- "Add to playlist": "Add to playlist",
- "Create new": "Create new",
- "Remove": "Remove",
- "Play next": "Play next",
- "Add to queue": "Add to queue",
- "Remove from library": "Remove from library",
- "Remove from playlist": "Remove from playlist",
- "Play track mix": "Play track mix",
- "Go to": "Go to",
- "Track Mix": "Track Mix",
- "Duration": "Duration",
- "Released": "Released",
+ "Error loading lyrics or lyrics not found!": "Gagal memuat lirik atau lirik tidak tersedia!",
+ "Create playlist": "Buat daftar putar",
+ "Create": "Buat",
+ "Add to playlist": "Tambahkan ke daftar putar",
+ "Create new": "Buat baru",
+ "Remove": "Hapus",
+ "Play next": "Putar selanjutnya",
+ "Add to queue": "Tambahkan ke antrean",
+ "Remove from library": "Hapus dari koleksi",
+ "Remove from playlist": "Hapus dari daftar putar",
+ "Play track mix": "Putar lagu campuran",
+ "Go to": "Pergi ke",
+ "Track Mix": "Lagu Campuran",
+ "Duration": "Durasi",
+ "Released": "Dirilis",
"Disk": "Disk",
- "albums": "albums",
- "Play top": "Play top",
+ "albums": "album",
+ "Play top": "Mainkan populer",
"Radio": "Radio",
- "Show all albums": "Show all albums",
- "Show all singles": "Show all singles",
- "Show more": "Show more",
- "Downloaded": "Downloaded",
- "Queue": "Queue",
- "Total": "Total",
- "Stop": "Stop",
- "Start": "Start",
- "Show folder": "Show folder",
- "Clear queue": "Clear queue",
- "Playing from": "Playing from",
+ "Show all albums": "Tampilkan semua album",
+ "Show all singles": "Tampilkan semua single",
+ "Show more": "Tampilkan lebih banyak",
+ "Downloaded": "Terunduh",
+ "Queue": "Antrean",
+ "Total": "Jumlah",
+ "Stop": "Berhenti",
+ "Start": "Mulai",
+ "Show folder": "Tampilkan folder",
+ "Clear queue": "Bersihkan antrean",
+ "Playing from": "Memainkan dari",
"Info": "Info",
- "Lyrics": "Lyrics",
- "Track number": "Track number",
- "Disk number": "Disk number",
- "Explicit": "Explicit",
- "Source": "Source",
+ "Lyrics": "Lirik",
+ "Track number": "Nomor lagu",
+ "Disk number": "Nomor disk",
+ "Explicit": "Eksplisit",
+ "Source": "Sumber",
"ID": "ID",
- "Error logging in!": "Error logging in!",
- "Please try again later, or try another account.": "Please try again later, or try another account.",
- "Logout": "Logout",
- "Login using browser": "Login using browser",
- "Please login using your Deezer account:": "Please login using your Deezer account:",
- "...or paste your ARL/Token below:": "...or paste your ARL/Token below:",
+ "Error logging in!": "Gagal masuk!",
+ "Please try again later, or try another account.": "Coba lagi nanti, atau coba akun lain.",
+ "Logout": "Keluar",
+ "Login using browser": "Masuk menggunakan browser",
+ "Please login using your Deezer account:": "Silakan masuk menggunakan akun Deezer anda:",
+ "...or paste your ARL/Token below:": "...atau tempelkan ARL/Token dibawah ini:",
"ARL/Token": "ARL/Token",
- "Login": "Login",
- "By using this program, you disagree with Deezer's ToS.": "By using this program, you disagree with Deezer's ToS.",
- "Only in Electron version!": "Only in Electron version!",
- "Search results for:": "Search results for:",
- "Error loading data!": "Error loading data!",
- "Try again later!": "Try again later!",
- "Search": "Search",
- "Streaming Quality": "Streaming Quality",
- "Download Quality": "Download Quality",
- "Downloads Directory": "Downloads Directory",
- "Simultaneous downloads": "Simultaneous downloads",
- "Always show download confirm dialog before downloading.": "Always show download confirm dialog before downloading.",
- "Show download dialog": "Show download dialog",
- "Create folders for artists": "Create folders for artists",
- "Create folders for albums": "Create folders for albums",
- "Download lyrics": "Download lyrics",
- "Variables": "Variables",
+ "Login": "Masuk",
+ "By using this program, you disagree with Deezer's ToS.": "Dengan menggunakan program ini, kamu tidak setuju dengan ToS Deezer.",
+ "Only in Electron version!": "Hanya dalam versi Electron!",
+ "Search results for:": "Hasil pencarian untuk:",
+ "Error loading data!": "Gagal memuat data!",
+ "Try again later!": "Coba lagi nanti!",
+ "Search": "Cari",
+ "Streaming Quality": "Kualitas pemutaran",
+ "Download Quality": "Kualitas unduhan",
+ "Downloads Directory": "Folder Unduhan",
+ "Simultaneous downloads": "Unduhan serentak",
+ "Always show download confirm dialog before downloading.": "Selalu tampilkan dialog konfirmasi unduhan sebelum mengunduh.",
+ "Show download dialog": "Tampilkan dialog unduhan",
+ "Create folders for artists": "Buat folder untuk artis",
+ "Create folders for albums": "Buat folder untuk album",
+ "Download lyrics": "Unduh lirik",
+ "Variables": "Variabel",
"UI": "UI",
- "Show autocomplete in search": "Show autocomplete in search",
- "Integrations": "Integrations",
- "This allows listening history, flow and recommendations to work properly.": "This allows listening history, flow and recommendations to work properly.",
- "Log track listens to Deezer": "Log track listens to Deezer",
- "Connect your LastFM account to allow scrobbling.": "Connect your LastFM account to allow scrobbling.",
- "Login with LastFM": "Login with LastFM",
- "Disconnect LastFM": "Disconnect LastFM",
- "Requires restart to apply!": "Requires restart to apply!",
- "Enable Discord Rich Presence, requires restart to toggle!": "Enable Discord Rich Presence, requires restart to toggle!",
+ "Show autocomplete in search": "Tampilkan isi otomatis di pencarian",
+ "Integrations": "Integrasi",
+ "This allows listening history, flow and recommendations to work properly.": "Hal ini memungkinkan riwayat mendengarkan, aliran, dan rekomendasi berfungsi dengan baik.",
+ "Log track listens to Deezer": "Catat aktifitas mendengarkan lagu ke Deezer",
+ "Connect your LastFM account to allow scrobbling.": "Hubungkan ke akun LastFM mu untuk mengijinkan scrobbling.",
+ "Login with LastFM": "Masuk dengan LastFM",
+ "Disconnect LastFM": "Putuskan LastFM",
+ "Requires restart to apply!": "Mulai ulang untuk menerapkan!",
+ "Enable Discord Rich Presence, requires restart to toggle!": "Aktifkan Discord Rich Presence, perlu dimulai ulang untuk beralih!",
"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!",
- "Discord Join Button": "Discord Join Button",
- "Other": "Other",
- "Minimize to tray": "Minimize to tray",
- "Don't minimize to tray": "Don't minimize to tray",
- "Close on exit": "Close on exit",
- "Settings saved!": "Settings saved!",
- "Available only in Electron version!": "Available only in Electron version!"
+ "Enable Discord join button for syncing tracks, requires restart to toggle!": "Aktifkan tombol bergabung Discord untuk menyinkronkan lagu, perlu dimulai ulang untuk beralih!",
+ "Discord Join Button": "Tombol Bergabung Discord",
+ "Other": "Lainnya",
+ "Minimize to tray": "Minimalkan ke Tray",
+ "Don't minimize to tray": "Jangan minimalkan ke tray",
+ "Close on exit": "Tutup saat keluar",
+ "Settings saved!": "Pengaturan tersimpan!",
+ "Available only in Electron version!": "Hanya tersedia di versi Electron!",
+ "Crossfade (ms)": "Crossfade (ms)",
+ "Select primary color": "Select primary color",
+ "Light theme": "Light theme",
+ "Create folders for playlists": "Create folders for playlists",
+ "About": "About",
+ "Links:": "Links:",
+ "Telegram Releases": "Telegram Releases",
+ "Telegram Group": "Telegram Group",
+ "Discord": "Discord",
+ "Telegram Android Group": "Telegram Android Group",
+ "Credits:": "Credits:",
+ "Agree": "Agree"
}
\ No newline at end of file
diff --git a/app/client/src/locales/it.json b/app/client/src/locales/it.json
index 5071360..3656ac4 100644
--- a/app/client/src/locales/it.json
+++ b/app/client/src/locales/it.json
@@ -1,112 +1,124 @@
{
"Home": "Home",
- "Browse": "Browse",
- "Library": "Library",
- "Tracks": "Tracks",
- "Playlists": "Playlists",
- "Albums": "Albums",
- "Artists": "Artists",
- "More": "More",
- "Settings": "Settings",
- "Downloads": "Downloads",
- "Search or paste Deezer URL. Use / to quickly focus.": "Search or paste Deezer URL. Use \"/\" to quickly focus.",
+ "Browse": "Sfoglia",
+ "Library": "Libreria",
+ "Tracks": "Brani",
+ "Playlists": "Playlist",
+ "Albums": "Album",
+ "Artists": "Artisti",
+ "More": "Altro",
+ "Settings": "Impostazioni",
+ "Downloads": "Download",
+ "Search or paste Deezer URL. Use / to quickly focus.": "Cerca qui o incolla un URL di Deezer. Usa \"/\" per mettere a fuoco questa barra.",
"Play": "Play",
- "Add to library": "Add to library",
- "Download": "Download",
- "fans": "fans",
- "tracks": "tracks",
- "Quality": "Quality",
- "Estimated size:": "Estimated size:",
- "Start downloading": "Start downloading",
- "Cancel": "Cancel",
- "Stream logging is disabled!": "Stream logging is disabled!",
- "Enable it in settings for history to work properly.": "Enable it in settings for history to work properly.",
- "History": "History",
- "Create new playlist": "Create new playlist",
- "TRACKS": "TRACKS",
- "Sort by": "Sort by",
- "Date Added": "Date Added",
- "Name (A-Z)": "Name (A-Z)",
- "Artist (A-Z)": "Artist (A-Z)",
+ "Add to library": "Aggiungi alla libreria",
+ "Download": "Scarica",
+ "fans": "fan",
+ "tracks": "brani",
+ "Quality": "Qualità",
+ "Estimated size:": "Dimensione stimata:",
+ "Start downloading": "Inizia il download",
+ "Cancel": "Annulla",
+ "Stream logging is disabled!": "Il logging delle stream è disabilitato!",
+ "Enable it in settings for history to work properly.": "Abilitalo nelle impostazioni per permettere alla cronologia di funzionare correttamente.",
+ "History": "Cronologia",
+ "Create new playlist": "Crea una playlist",
+ "TRACKS": "BRANI",
+ "Sort by": "Ordina per",
+ "Date Added": "Data di aggiunta",
+ "Name (A-Z)": "Nome (A-Z)",
+ "Artist (A-Z)": "Artista (A-Z)",
"Album (A-Z)": "Album (A-Z)",
- "Error loading lyrics or lyrics not found!": "Error loading lyrics or lyrics not found!",
- "Create playlist": "Create playlist",
- "Create": "Create",
- "Add to playlist": "Add to playlist",
- "Create new": "Create new",
- "Remove": "Remove",
- "Play next": "Play next",
- "Add to queue": "Add to queue",
- "Remove from library": "Remove from library",
- "Remove from playlist": "Remove from playlist",
- "Play track mix": "Play track mix",
- "Go to": "Go to",
- "Track Mix": "Track Mix",
- "Duration": "Duration",
- "Released": "Released",
- "Disk": "Disk",
- "albums": "albums",
- "Play top": "Play top",
+ "Error loading lyrics or lyrics not found!": "Errore nel caricare i testi o testi non trovati!",
+ "Create playlist": "Crea playlist",
+ "Create": "Crea",
+ "Add to playlist": "Aggiungi a playlist",
+ "Create new": "Crea nuova",
+ "Remove": "Rimuovi",
+ "Play next": "Riproduci subito dopo",
+ "Add to queue": "Aggiungi alla coda",
+ "Remove from library": "Rimuovi dalla libreria",
+ "Remove from playlist": "Rimuovi dalla playlist",
+ "Play track mix": "Riproduci mix di brani",
+ "Go to": "Vai a",
+ "Track Mix": "Mix Di Tracce",
+ "Duration": "Durata",
+ "Released": "Data di uscita",
+ "Disk": "Disco",
+ "albums": "album",
+ "Play top": "Riproduci dall'inizio",
"Radio": "Radio",
- "Show all albums": "Show all albums",
- "Show all singles": "Show all singles",
- "Show more": "Show more",
- "Downloaded": "Downloaded",
- "Queue": "Queue",
- "Total": "Total",
+ "Show all albums": "Mostra tutti gli album",
+ "Show all singles": "Mostra tutti i singoli",
+ "Show more": "Mostra di più",
+ "Downloaded": "Scaricato",
+ "Queue": "Coda",
+ "Total": "Totale",
"Stop": "Stop",
- "Start": "Start",
- "Show folder": "Show folder",
- "Clear queue": "Clear queue",
- "Playing from": "Playing from",
- "Info": "Info",
- "Lyrics": "Lyrics",
- "Track number": "Track number",
- "Disk number": "Disk number",
- "Explicit": "Explicit",
- "Source": "Source",
+ "Start": "Avvia",
+ "Show folder": "Mostra cartella",
+ "Clear queue": "Pulisci la coda",
+ "Playing from": "Riproduzione da",
+ "Info": "Informazioni",
+ "Lyrics": "Testo",
+ "Track number": "Numero della traccia",
+ "Disk number": "Numero del disco",
+ "Explicit": "Esplicito",
+ "Source": "Fonte",
"ID": "ID",
- "Error logging in!": "Error logging in!",
- "Please try again later, or try another account.": "Please try again later, or try another account.",
- "Logout": "Logout",
- "Login using browser": "Login using browser",
- "Please login using your Deezer account:": "Please login using your Deezer account:",
- "...or paste your ARL/Token below:": "...or paste your ARL/Token below:",
+ "Error logging in!": "Errore durante il login!",
+ "Please try again later, or try another account.": "Riprova più tardi, o prova un altro account.",
+ "Logout": "Disconnettiti",
+ "Login using browser": "Accedi utilizzando il browser",
+ "Please login using your Deezer account:": "Effettua il login usando il tuo account Deezer:",
+ "...or paste your ARL/Token below:": "...o incolla il tuo ARL/Token qui sotto:",
"ARL/Token": "ARL/Token",
"Login": "Login",
- "By using this program, you disagree with Deezer's ToS.": "By using this program, you disagree with Deezer's ToS.",
- "Only in Electron version!": "Only in Electron version!",
- "Search results for:": "Search results for:",
- "Error loading data!": "Error loading data!",
- "Try again later!": "Try again later!",
- "Search": "Search",
- "Streaming Quality": "Streaming Quality",
- "Download Quality": "Download Quality",
- "Downloads Directory": "Downloads Directory",
- "Simultaneous downloads": "Simultaneous downloads",
- "Always show download confirm dialog before downloading.": "Always show download confirm dialog before downloading.",
- "Show download dialog": "Show download dialog",
- "Create folders for artists": "Create folders for artists",
- "Create folders for albums": "Create folders for albums",
- "Download lyrics": "Download lyrics",
- "Variables": "Variables",
- "UI": "UI",
- "Show autocomplete in search": "Show autocomplete in search",
- "Integrations": "Integrations",
- "This allows listening history, flow and recommendations to work properly.": "This allows listening history, flow and recommendations to work properly.",
- "Log track listens to Deezer": "Log track listens to Deezer",
- "Connect your LastFM account to allow scrobbling.": "Connect your LastFM account to allow scrobbling.",
- "Login with LastFM": "Login with LastFM",
- "Disconnect LastFM": "Disconnect LastFM",
- "Requires restart to apply!": "Requires restart to apply!",
- "Enable Discord Rich Presence, requires restart to toggle!": "Enable Discord Rich Presence, requires restart to toggle!",
+ "By using this program, you disagree with Deezer's ToS.": "Utilizzando questo programma, non sei d'accordo con il ToS di Deezer.",
+ "Only in Electron version!": "Solo nella versione Electron!",
+ "Search results for:": "Risultati della ricerca per:",
+ "Error loading data!": "Errore nel caricamento dei dati!",
+ "Try again later!": "Riprova più tardi!",
+ "Search": "Cerca",
+ "Streaming Quality": "Qualità Streaming",
+ "Download Quality": "Qualità Download",
+ "Downloads Directory": "Cartella Download",
+ "Simultaneous downloads": "Download simultanei",
+ "Always show download confirm dialog before downloading.": "Mostra sempre la conferma di download prima di scaricare.",
+ "Show download dialog": "Mostra finestra di download",
+ "Create folders for artists": "Crea cartelle per gli artisti",
+ "Create folders for albums": "Crea cartelle per gli album",
+ "Download lyrics": "Scarica testo",
+ "Variables": "Variabili",
+ "UI": "Interfaccia",
+ "Show autocomplete in search": "Mostra elenco autocompletamento",
+ "Integrations": "Integrazioni",
+ "This allows listening history, flow and recommendations to work properly.": "Questo permette di usare la cronologia, il Flow e le raccomandazioni per funzionare correttamente.",
+ "Log track listens to Deezer": "Registra gli ascolti delle tracce a Deezer",
+ "Connect your LastFM account to allow scrobbling.": "Collega il tuo account LastFM per consentire lo scrobbling.",
+ "Login with LastFM": "Accedi con LastFM",
+ "Disconnect LastFM": "Disconnetti LastFM",
+ "Requires restart to apply!": "Richiede un riavvio!",
+ "Enable Discord Rich Presence, requires restart to toggle!": "Abilita Discord Rich Presence, richiede il riavvio!",
"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!",
- "Discord Join Button": "Discord Join Button",
- "Other": "Other",
- "Minimize to tray": "Minimize to tray",
- "Don't minimize to tray": "Don't minimize to tray",
- "Close on exit": "Close on exit",
- "Settings saved!": "Settings saved!",
- "Available only in Electron version!": "Available only in Electron version!"
+ "Enable Discord join button for syncing tracks, requires restart to toggle!": "Abilita il pulsante \"join\" di Discord per sincronizzare le tracce, richiede il riavvio!",
+ "Discord Join Button": "Pulsante Unisciti di Discord",
+ "Other": "Altro",
+ "Minimize to tray": "Minimizza ad icona",
+ "Don't minimize to tray": "Non minimizzare a icona",
+ "Close on exit": "Chiudi all'uscita",
+ "Settings saved!": "Impostazioni salvate!",
+ "Available only in Electron version!": "Disponibile solo nella versione Electron!",
+ "Crossfade (ms)": "Dissolvenza (ms)",
+ "Select primary color": "Select primary color",
+ "Light theme": "Light theme",
+ "Create folders for playlists": "Create folders for playlists",
+ "About": "About",
+ "Links:": "Links:",
+ "Telegram Releases": "Telegram Releases",
+ "Telegram Group": "Telegram Group",
+ "Discord": "Discord",
+ "Telegram Android Group": "Telegram Android Group",
+ "Credits:": "Credits:",
+ "Agree": "Agree"
}
\ No newline at end of file
diff --git a/app/client/src/locales/ko.json b/app/client/src/locales/ko.json
index 5071360..afc8482 100644
--- a/app/client/src/locales/ko.json
+++ b/app/client/src/locales/ko.json
@@ -108,5 +108,17 @@
"Don't minimize to tray": "Don't minimize to tray",
"Close on exit": "Close on exit",
"Settings saved!": "Settings saved!",
- "Available only in Electron version!": "Available only in Electron version!"
+ "Available only in Electron version!": "Available only in Electron version!",
+ "Crossfade (ms)": "Crossfade (ms)",
+ "Select primary color": "Select primary color",
+ "Light theme": "Light theme",
+ "Create folders for playlists": "Create folders for playlists",
+ "About": "About",
+ "Links:": "Links:",
+ "Telegram Releases": "Telegram Releases",
+ "Telegram Group": "Telegram Group",
+ "Discord": "Discord",
+ "Telegram Android Group": "Telegram Android Group",
+ "Credits:": "Credits:",
+ "Agree": "Agree"
}
\ No newline at end of file
diff --git a/app/client/src/locales/pl.json b/app/client/src/locales/pl.json
index 5071360..7493eee 100644
--- a/app/client/src/locales/pl.json
+++ b/app/client/src/locales/pl.json
@@ -1,112 +1,124 @@
{
- "Home": "Home",
- "Browse": "Browse",
- "Library": "Library",
- "Tracks": "Tracks",
- "Playlists": "Playlists",
- "Albums": "Albums",
- "Artists": "Artists",
- "More": "More",
- "Settings": "Settings",
- "Downloads": "Downloads",
- "Search or paste Deezer URL. Use / to quickly focus.": "Search or paste Deezer URL. Use \"/\" to quickly focus.",
- "Play": "Play",
- "Add to library": "Add to library",
- "Download": "Download",
- "fans": "fans",
- "tracks": "tracks",
- "Quality": "Quality",
- "Estimated size:": "Estimated size:",
- "Start downloading": "Start downloading",
- "Cancel": "Cancel",
- "Stream logging is disabled!": "Stream logging is disabled!",
- "Enable it in settings for history to work properly.": "Enable it in settings for history to work properly.",
- "History": "History",
- "Create new playlist": "Create new playlist",
- "TRACKS": "TRACKS",
- "Sort by": "Sort by",
- "Date Added": "Date Added",
- "Name (A-Z)": "Name (A-Z)",
- "Artist (A-Z)": "Artist (A-Z)",
+ "Home": "Strona główna",
+ "Browse": "Przeglądaj",
+ "Library": "Biblioteka",
+ "Tracks": "Utwory",
+ "Playlists": "Playlisty",
+ "Albums": "Albumy",
+ "Artists": "Wykonawcy",
+ "More": "Więcej",
+ "Settings": "Ustawienia",
+ "Downloads": "Pobrane",
+ "Search or paste Deezer URL. Use / to quickly focus.": "Wyszukaj lub wklej adres URL Deezera. Wciśnij \"/\" aby szybko uaktywnić pasek wyszukiwania.",
+ "Play": "Odtwórz",
+ "Add to library": "Dodaj do biblioteki",
+ "Download": "Pobierz",
+ "fans": "fani",
+ "tracks": "utwory",
+ "Quality": "Jakość",
+ "Estimated size:": "Szacowany rozmiar:",
+ "Start downloading": "Rozpocznij pobieranie",
+ "Cancel": "Anuluj",
+ "Stream logging is disabled!": "Rejestrowanie strumieniowania jest wyłączone!",
+ "Enable it in settings for history to work properly.": "Włącz to w ustawieniach, aby historia działała prawidłowo.",
+ "History": "Historia",
+ "Create new playlist": "Utwórz nową playlistę",
+ "TRACKS": "UTWORY",
+ "Sort by": "Sortuj wg",
+ "Date Added": "Data dodania",
+ "Name (A-Z)": "Nazwa (A-Z)",
+ "Artist (A-Z)": "Artysta (A-Z)",
"Album (A-Z)": "Album (A-Z)",
- "Error loading lyrics or lyrics not found!": "Error loading lyrics or lyrics not found!",
- "Create playlist": "Create playlist",
- "Create": "Create",
- "Add to playlist": "Add to playlist",
- "Create new": "Create new",
- "Remove": "Remove",
- "Play next": "Play next",
- "Add to queue": "Add to queue",
- "Remove from library": "Remove from library",
- "Remove from playlist": "Remove from playlist",
- "Play track mix": "Play track mix",
- "Go to": "Go to",
- "Track Mix": "Track Mix",
- "Duration": "Duration",
- "Released": "Released",
- "Disk": "Disk",
- "albums": "albums",
- "Play top": "Play top",
+ "Error loading lyrics or lyrics not found!": "Wystąpił błąd podczas ładowania tekstu lub tekst nie został znaleziony!",
+ "Create playlist": "Utwórz playlistę",
+ "Create": "Utwórz",
+ "Add to playlist": "Dodaj do playlisty",
+ "Create new": "Utwórz nową",
+ "Remove": "Usuń",
+ "Play next": "Odtwarzaj następne",
+ "Add to queue": "Dodaj do kolejki",
+ "Remove from library": "Usuń z biblioteki",
+ "Remove from playlist": "Usuń z playlisty",
+ "Play track mix": "Odtwórz mieszane utwory",
+ "Go to": "Przejdź do",
+ "Track Mix": "Mieszaj utwory",
+ "Duration": "Czas trwania",
+ "Released": "Wydano",
+ "Disk": "Płyta",
+ "albums": "albumy",
+ "Play top": "Odtwarzaj topkę",
"Radio": "Radio",
- "Show all albums": "Show all albums",
- "Show all singles": "Show all singles",
- "Show more": "Show more",
- "Downloaded": "Downloaded",
- "Queue": "Queue",
- "Total": "Total",
- "Stop": "Stop",
- "Start": "Start",
- "Show folder": "Show folder",
- "Clear queue": "Clear queue",
- "Playing from": "Playing from",
+ "Show all albums": "Pokaż wszystkie albumy",
+ "Show all singles": "Pokaż wszystkie single",
+ "Show more": "Pokaż więcej",
+ "Downloaded": "Pobrane",
+ "Queue": "Kolejka",
+ "Total": "Łącznie",
+ "Stop": "Zatrzymaj",
+ "Start": "Rozpocznij",
+ "Show folder": "Pokaż folder",
+ "Clear queue": "Wyczyść kolejkę",
+ "Playing from": "Odtwarzanie z",
"Info": "Info",
- "Lyrics": "Lyrics",
- "Track number": "Track number",
- "Disk number": "Disk number",
- "Explicit": "Explicit",
- "Source": "Source",
+ "Lyrics": "Tekst",
+ "Track number": "Numer utworu",
+ "Disk number": "Numer płyty",
+ "Explicit": "Wulgarne",
+ "Source": "Źródło",
"ID": "ID",
- "Error logging in!": "Error logging in!",
- "Please try again later, or try another account.": "Please try again later, or try another account.",
- "Logout": "Logout",
- "Login using browser": "Login using browser",
- "Please login using your Deezer account:": "Please login using your Deezer account:",
- "...or paste your ARL/Token below:": "...or paste your ARL/Token below:",
+ "Error logging in!": "Błąd podczas logowania!",
+ "Please try again later, or try another account.": "Spróbuj ponownie później lub spróbuj innego konta.",
+ "Logout": "Wyloguj",
+ "Login using browser": "Zaloguj się za pomocą przeglądarki",
+ "Please login using your Deezer account:": "Zaloguj się używając swojego konta Deezer:",
+ "...or paste your ARL/Token below:": "...lub wklej ARL/Token poniżej:",
"ARL/Token": "ARL/Token",
- "Login": "Login",
- "By using this program, you disagree with Deezer's ToS.": "By using this program, you disagree with Deezer's ToS.",
- "Only in Electron version!": "Only in Electron version!",
- "Search results for:": "Search results for:",
- "Error loading data!": "Error loading data!",
- "Try again later!": "Try again later!",
- "Search": "Search",
- "Streaming Quality": "Streaming Quality",
- "Download Quality": "Download Quality",
- "Downloads Directory": "Downloads Directory",
- "Simultaneous downloads": "Simultaneous downloads",
- "Always show download confirm dialog before downloading.": "Always show download confirm dialog before downloading.",
- "Show download dialog": "Show download dialog",
- "Create folders for artists": "Create folders for artists",
- "Create folders for albums": "Create folders for albums",
- "Download lyrics": "Download lyrics",
- "Variables": "Variables",
- "UI": "UI",
- "Show autocomplete in search": "Show autocomplete in search",
- "Integrations": "Integrations",
- "This allows listening history, flow and recommendations to work properly.": "This allows listening history, flow and recommendations to work properly.",
- "Log track listens to Deezer": "Log track listens to Deezer",
- "Connect your LastFM account to allow scrobbling.": "Connect your LastFM account to allow scrobbling.",
- "Login with LastFM": "Login with LastFM",
- "Disconnect LastFM": "Disconnect LastFM",
- "Requires restart to apply!": "Requires restart to apply!",
- "Enable Discord Rich Presence, requires restart to toggle!": "Enable Discord Rich Presence, requires restart to toggle!",
+ "Login": "Zaloguj",
+ "By using this program, you disagree with Deezer's ToS.": "Korzystając z tego programu, nie zgadzasz się z ToS Deezera.",
+ "Only in Electron version!": "Tylko w wersji Electron!",
+ "Search results for:": "Wyniki wyszukiwania dla:",
+ "Error loading data!": "Błąd ładowania danych!",
+ "Try again later!": "Spróbuj ponownie później!",
+ "Search": "Szukaj",
+ "Streaming Quality": "Jakość odtwarzania",
+ "Download Quality": "Jakość pobierania",
+ "Downloads Directory": "Katalog pobierania",
+ "Simultaneous downloads": "Jednoczesne pobieranie",
+ "Always show download confirm dialog before downloading.": "Zawsze proś o potwierdzenie przed pobieraniem.",
+ "Show download dialog": "Pokazuj okno dialogowe pobierania",
+ "Create folders for artists": "Twórz foldery wykonawców",
+ "Create folders for albums": "Twórz foldery albumów",
+ "Download lyrics": "Pobierz tekst",
+ "Variables": "Zmienne",
+ "UI": "Interfejs",
+ "Show autocomplete in search": "Pokaż autouzupełnianie w wyszukiwarce",
+ "Integrations": "Połącz",
+ "This allows listening history, flow and recommendations to work properly.": "Pozwala na działanie historii odtwarzania, rekomendacji i automatycznych playlist.",
+ "Log track listens to Deezer": "Zapisuj historię odtwarzania na koncie Deezer",
+ "Connect your LastFM account to allow scrobbling.": "Połącz swoje konto LastFM, aby umożliwić scrobbling.",
+ "Login with LastFM": "Zaloguj używając LastFM",
+ "Disconnect LastFM": "Odłącz LastFM",
+ "Requires restart to apply!": "Zmiany wymagają ponownego uruchomienia!",
+ "Enable Discord Rich Presence, requires restart to toggle!": "Włącz Szczegółowy Widok Discord, wymaga ponownego uruchomienia!",
"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!",
- "Discord Join Button": "Discord Join Button",
- "Other": "Other",
- "Minimize to tray": "Minimize to tray",
- "Don't minimize to tray": "Don't minimize to tray",
- "Close on exit": "Close on exit",
- "Settings saved!": "Settings saved!",
- "Available only in Electron version!": "Available only in Electron version!"
+ "Enable Discord join button for syncing tracks, requires restart to toggle!": "Włącz w Discordzie przycisk dołączenia, aby synchronizować utwory, wymaga ponownego uruchomienia!",
+ "Discord Join Button": "Przycisk dołączenia Discord",
+ "Other": "Inne",
+ "Minimize to tray": "Minimalizuj do zasobnika",
+ "Don't minimize to tray": "Nie minimalizuj do zasobnika",
+ "Close on exit": "Wyłącz po zamknięciu okna",
+ "Settings saved!": "Ustawienia zapisane!",
+ "Available only in Electron version!": "Dostępne tylko w wersji Electron!",
+ "Crossfade (ms)": "Przejście (ms)",
+ "Select primary color": "Select primary color",
+ "Light theme": "Light theme",
+ "Create folders for playlists": "Create folders for playlists",
+ "About": "About",
+ "Links:": "Links:",
+ "Telegram Releases": "Telegram Releases",
+ "Telegram Group": "Telegram Group",
+ "Discord": "Discord",
+ "Telegram Android Group": "Telegram Android Group",
+ "Credits:": "Credits:",
+ "Agree": "Agree"
}
\ No newline at end of file
diff --git a/app/client/src/locales/pt.json b/app/client/src/locales/pt.json
index 5071360..6e54402 100644
--- a/app/client/src/locales/pt.json
+++ b/app/client/src/locales/pt.json
@@ -1,54 +1,54 @@
{
- "Home": "Home",
- "Browse": "Browse",
- "Library": "Library",
- "Tracks": "Tracks",
+ "Home": "Início",
+ "Browse": "Navegar",
+ "Library": "Biblioteca",
+ "Tracks": "Faixas",
"Playlists": "Playlists",
- "Albums": "Albums",
- "Artists": "Artists",
+ "Albums": "Álbuns",
+ "Artists": "Artistas",
"More": "More",
- "Settings": "Settings",
+ "Settings": "Configurações",
"Downloads": "Downloads",
- "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.": "Procure ou cole a URL do intérprete. Use \"/\" para focar rapidamente.",
"Play": "Play",
- "Add to library": "Add to library",
+ "Add to library": "Adicionar à biblioteca",
"Download": "Download",
"fans": "fans",
- "tracks": "tracks",
- "Quality": "Quality",
- "Estimated size:": "Estimated size:",
- "Start downloading": "Start downloading",
- "Cancel": "Cancel",
- "Stream logging is disabled!": "Stream logging is disabled!",
- "Enable it in settings for history to work properly.": "Enable it in settings for history to work properly.",
- "History": "History",
- "Create new playlist": "Create new playlist",
- "TRACKS": "TRACKS",
+ "tracks": "faixas",
+ "Quality": "Qualidade",
+ "Estimated size:": "Tempo estimado:",
+ "Start downloading": "Iniciar download",
+ "Cancel": "Cancelar",
+ "Stream logging is disabled!": "O registro de depuração extra está desativado!",
+ "Enable it in settings for history to work properly.": "Habilite nas configurações para que o histórico funcione corretamente.",
+ "History": "Histórico",
+ "Create new playlist": "Criar nova playlist",
+ "TRACKS": "FAIXAS",
"Sort by": "Sort by",
- "Date Added": "Date Added",
- "Name (A-Z)": "Name (A-Z)",
- "Artist (A-Z)": "Artist (A-Z)",
- "Album (A-Z)": "Album (A-Z)",
- "Error loading lyrics or lyrics not found!": "Error loading lyrics or lyrics not found!",
- "Create playlist": "Create playlist",
- "Create": "Create",
- "Add to playlist": "Add to playlist",
- "Create new": "Create new",
- "Remove": "Remove",
- "Play next": "Play next",
- "Add to queue": "Add to queue",
- "Remove from library": "Remove from library",
- "Remove from playlist": "Remove from playlist",
- "Play track mix": "Play track mix",
- "Go to": "Go to",
- "Track Mix": "Track Mix",
- "Duration": "Duration",
- "Released": "Released",
- "Disk": "Disk",
- "albums": "albums",
- "Play top": "Play top",
- "Radio": "Radio",
- "Show all albums": "Show all albums",
+ "Date Added": "Data de adição",
+ "Name (A-Z)": "Nome (A-Z)",
+ "Artist (A-Z)": "Artista (A-Z)",
+ "Album (A-Z)": "Álbum (A-Z)",
+ "Error loading lyrics or lyrics not found!": "Erro ao carregar letras ou letras não encontradas!",
+ "Create playlist": "Criar playlist",
+ "Create": "Criar",
+ "Add to playlist": "Adicionar à playlist",
+ "Create new": "Criar novo",
+ "Remove": "Remover",
+ "Play next": "Reproduzir à seguir",
+ "Add to queue": "Adicionar à fila",
+ "Remove from library": "Remover da biblioteca",
+ "Remove from playlist": "Remover da playlist",
+ "Play track mix": "Reproduzir mistura de trilha",
+ "Go to": "Ir para",
+ "Track Mix": "Faixa Mix",
+ "Duration": "Duração",
+ "Released": "Lançamento",
+ "Disk": "Disco",
+ "albums": "álbuns",
+ "Play top": "Reproduzir no topo",
+ "Radio": "Rádio",
+ "Show all albums": "Mostrar todos os álbuns",
"Show all singles": "Show all singles",
"Show more": "Show more",
"Downloaded": "Downloaded",
@@ -99,14 +99,26 @@
"Login with LastFM": "Login with LastFM",
"Disconnect LastFM": "Disconnect LastFM",
"Requires restart to apply!": "Requires restart to apply!",
- "Enable Discord Rich Presence, requires restart to toggle!": "Enable Discord Rich Presence, requires restart to toggle!",
- "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!",
- "Discord Join Button": "Discord Join Button",
- "Other": "Other",
- "Minimize to tray": "Minimize to tray",
- "Don't minimize to tray": "Don't minimize to tray",
- "Close on exit": "Close on exit",
- "Settings saved!": "Settings saved!",
- "Available only in Electron version!": "Available only in Electron version!"
+ "Enable Discord Rich Presence, requires restart to toggle!": "Ativar o Rich Presence do Discord, requer reiniciar para alternar!",
+ "Discord Rich Presence": "Habilitar o Discord",
+ "Enable Discord join button for syncing tracks, requires restart to toggle!": "Ativar o botão de adesão do Discord para sincronizar faixas requer reinicialização para alternar!",
+ "Discord Join Button": "Botão de Entrada Discord",
+ "Other": "Outros",
+ "Minimize to tray": "Minimizar para a bandeja",
+ "Don't minimize to tray": "Minimizar automaticamente para a bandeja",
+ "Close on exit": "Fechar ao sair",
+ "Settings saved!": "Configurações salvas!",
+ "Available only in Electron version!": "Disponível apenas na versão completa!",
+ "Crossfade (ms)": "Transição suave (ms)",
+ "Select primary color": "Escolha a cor primária",
+ "Light theme": "Tema Claro",
+ "Create folders for playlists": "Criar pastas para playlists",
+ "About": "Sobre",
+ "Links:": "Links:",
+ "Telegram Releases": "Versões no Telegram",
+ "Telegram Group": "Grupo do Telegram",
+ "Discord": "Discord",
+ "Telegram Android Group": "Grupo Android do Telegram",
+ "Credits:": "Créditos:",
+ "Agree": "Concordo"
}
\ No newline at end of file
diff --git a/app/client/src/locales/ro.json b/app/client/src/locales/ro.json
index 5071360..f3443c4 100644
--- a/app/client/src/locales/ro.json
+++ b/app/client/src/locales/ro.json
@@ -1,112 +1,124 @@
{
"Home": "Home",
- "Browse": "Browse",
- "Library": "Library",
- "Tracks": "Tracks",
- "Playlists": "Playlists",
- "Albums": "Albums",
- "Artists": "Artists",
- "More": "More",
- "Settings": "Settings",
- "Downloads": "Downloads",
- "Search or paste Deezer URL. Use / to quickly focus.": "Search or paste Deezer URL. Use \"/\" to quickly focus.",
+ "Browse": "Caută",
+ "Library": "Librărie",
+ "Tracks": "Piese",
+ "Playlists": "Playlist-uri",
+ "Albums": "Albume",
+ "Artists": "Artiști",
+ "More": "Mai mult",
+ "Settings": "Setări",
+ "Downloads": "Descărcări",
+ "Search or paste Deezer URL. Use / to quickly focus.": "Caută sau lipește URL-ul Deezer. Folosește \"/\" pentru a se focaliza rapid.",
"Play": "Play",
- "Add to library": "Add to library",
- "Download": "Download",
- "fans": "fans",
- "tracks": "tracks",
- "Quality": "Quality",
- "Estimated size:": "Estimated size:",
- "Start downloading": "Start downloading",
- "Cancel": "Cancel",
- "Stream logging is disabled!": "Stream logging is disabled!",
- "Enable it in settings for history to work properly.": "Enable it in settings for history to work properly.",
- "History": "History",
- "Create new playlist": "Create new playlist",
- "TRACKS": "TRACKS",
- "Sort by": "Sort by",
- "Date Added": "Date Added",
- "Name (A-Z)": "Name (A-Z)",
- "Artist (A-Z)": "Artist (A-Z)",
- "Album (A-Z)": "Album (A-Z)",
- "Error loading lyrics or lyrics not found!": "Error loading lyrics or lyrics not found!",
- "Create playlist": "Create playlist",
- "Create": "Create",
- "Add to playlist": "Add to playlist",
- "Create new": "Create new",
- "Remove": "Remove",
- "Play next": "Play next",
- "Add to queue": "Add to queue",
- "Remove from library": "Remove from library",
- "Remove from playlist": "Remove from playlist",
- "Play track mix": "Play track mix",
- "Go to": "Go to",
- "Track Mix": "Track Mix",
- "Duration": "Duration",
- "Released": "Released",
- "Disk": "Disk",
- "albums": "albums",
- "Play top": "Play top",
+ "Add to library": "Adaugă la librărie",
+ "Download": "Descărcați",
+ "fans": "fani",
+ "tracks": "piese",
+ "Quality": "Calitate",
+ "Estimated size:": "Dimensiune estimată:",
+ "Start downloading": "Începe descărcarea",
+ "Cancel": "Anulează",
+ "Stream logging is disabled!": "Stream logging-ul este dezactivat!",
+ "Enable it in settings for history to work properly.": "Activați-l în setări pentru ca istoricul să funcționeze corect.",
+ "History": "Istoric",
+ "Create new playlist": "Crează un nou playlist",
+ "TRACKS": "PIESE",
+ "Sort by": "Sortează după",
+ "Date Added": "Dată Adăugare",
+ "Name (A-Z)": "Nume (A-Z)",
+ "Artist (A-Z)": "Artiști (A-Z)",
+ "Album (A-Z)": "Albume (A-Z)",
+ "Error loading lyrics or lyrics not found!": "Eroare la încărcarea versurilor sau versurile nu au fost găsite!",
+ "Create playlist": "Crează un playlist",
+ "Create": "Creează",
+ "Add to playlist": "Adaugă la un playlist",
+ "Create new": "Crează nou",
+ "Remove": "Șterge",
+ "Play next": "Redă următorul",
+ "Add to queue": "Adaugă la coadă",
+ "Remove from library": "Șterge din librărie",
+ "Remove from playlist": "Șterge din playlist",
+ "Play track mix": "Redă mix-ul piesei",
+ "Go to": "Accesați",
+ "Track Mix": "Mix-ul Piesei",
+ "Duration": "Durată",
+ "Released": "Lansat",
+ "Disk": "Disc",
+ "albums": "albume",
+ "Play top": "Redă de la început",
"Radio": "Radio",
- "Show all albums": "Show all albums",
- "Show all singles": "Show all singles",
- "Show more": "Show more",
- "Downloaded": "Downloaded",
- "Queue": "Queue",
+ "Show all albums": "Afișează toate albumele",
+ "Show all singles": "Arată toate melodiile",
+ "Show more": "Arată mai multe",
+ "Downloaded": "Descărcate",
+ "Queue": "Coadă",
"Total": "Total",
"Stop": "Stop",
- "Start": "Start",
- "Show folder": "Show folder",
- "Clear queue": "Clear queue",
- "Playing from": "Playing from",
- "Info": "Info",
- "Lyrics": "Lyrics",
- "Track number": "Track number",
- "Disk number": "Disk number",
+ "Start": "Începe",
+ "Show folder": "Arată folder-ul",
+ "Clear queue": "Șterge coada",
+ "Playing from": "Redare din",
+ "Info": "Informații",
+ "Lyrics": "Versuri",
+ "Track number": "Numărul piesei",
+ "Disk number": "Numărul discului",
"Explicit": "Explicit",
- "Source": "Source",
+ "Source": "Sursă",
"ID": "ID",
- "Error logging in!": "Error logging in!",
- "Please try again later, or try another account.": "Please try again later, or try another account.",
- "Logout": "Logout",
- "Login using browser": "Login using browser",
- "Please login using your Deezer account:": "Please login using your Deezer account:",
- "...or paste your ARL/Token below:": "...or paste your ARL/Token below:",
+ "Error logging in!": "Eroare la autentificare!",
+ "Please try again later, or try another account.": "Te rugăm să încerci din nou mai târziu, sau încearcă cu un alt cont.",
+ "Logout": "Deconectează-te",
+ "Login using browser": "Autentificare utilizând browserul",
+ "Please login using your Deezer account:": "Te rugăm să te conectezi utilizând contul tau Deezer:",
+ "...or paste your ARL/Token below:": "...sau lipiți ARL/Token-ul mai jos:",
"ARL/Token": "ARL/Token",
"Login": "Login",
- "By using this program, you disagree with Deezer's ToS.": "By using this program, you disagree with Deezer's ToS.",
- "Only in Electron version!": "Only in Electron version!",
- "Search results for:": "Search results for:",
- "Error loading data!": "Error loading data!",
- "Try again later!": "Try again later!",
- "Search": "Search",
- "Streaming Quality": "Streaming Quality",
- "Download Quality": "Download Quality",
- "Downloads Directory": "Downloads Directory",
- "Simultaneous downloads": "Simultaneous downloads",
- "Always show download confirm dialog before downloading.": "Always show download confirm dialog before downloading.",
- "Show download dialog": "Show download dialog",
- "Create folders for artists": "Create folders for artists",
- "Create folders for albums": "Create folders for albums",
- "Download lyrics": "Download lyrics",
- "Variables": "Variables",
- "UI": "UI",
- "Show autocomplete in search": "Show autocomplete in search",
- "Integrations": "Integrations",
- "This allows listening history, flow and recommendations to work properly.": "This allows listening history, flow and recommendations to work properly.",
- "Log track listens to Deezer": "Log track listens to Deezer",
- "Connect your LastFM account to allow scrobbling.": "Connect your LastFM account to allow scrobbling.",
- "Login with LastFM": "Login with LastFM",
- "Disconnect LastFM": "Disconnect LastFM",
- "Requires restart to apply!": "Requires restart to apply!",
- "Enable Discord Rich Presence, requires restart to toggle!": "Enable Discord Rich Presence, requires restart to toggle!",
+ "By using this program, you disagree with Deezer's ToS.": "Folosind acest program, nu sunteți de acord cu ToS-ul Deezer.",
+ "Only in Electron version!": "Doar în versiunea Electron!",
+ "Search results for:": "Rezultatele căutării pentru:",
+ "Error loading data!": "Eroare la încărcarea datelor!",
+ "Try again later!": "Încearcă din nou mai târziu!",
+ "Search": "Caută",
+ "Streaming Quality": "Calitatea streaming-ului",
+ "Download Quality": "Calitatea descărcărilor",
+ "Downloads Directory": "Descărcați in",
+ "Simultaneous downloads": "Descărcări simultane",
+ "Always show download confirm dialog before downloading.": "Arată întotdeauna confirmarea a descărcării înainte de descărcare.",
+ "Show download dialog": "Arată pagina de download",
+ "Create folders for artists": "Crează foldere pentru artiști",
+ "Create folders for albums": "Crează foldere pentru albume",
+ "Download lyrics": "Descărcați versurile .LRC",
+ "Variables": "Variabile",
+ "UI": "Interfață",
+ "Show autocomplete in search": "Afișează lista de autocompletare",
+ "Integrations": "Integrări",
+ "This allows listening history, flow and recommendations to work properly.": "Aceasta permite folosirea istoricului, Flow-ului și recomandările pentru a funcționa corect.",
+ "Log track listens to Deezer": "Înregistrează ascultările la Deezer",
+ "Connect your LastFM account to allow scrobbling.": "Conectați-vă contul LastFM pentru a permite scrobbling-ul.",
+ "Login with LastFM": "Conectează-te cu LastFM",
+ "Disconnect LastFM": "Deconectează LastFM",
+ "Requires restart to apply!": "Necesită repornirea pentru a aplica!",
+ "Enable Discord Rich Presence, requires restart to toggle!": "Activează Discord Rich Presence, necesită repornirea pentru a comuta!",
"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!",
- "Discord Join Button": "Discord Join Button",
- "Other": "Other",
- "Minimize to tray": "Minimize to tray",
- "Don't minimize to tray": "Don't minimize to tray",
- "Close on exit": "Close on exit",
- "Settings saved!": "Settings saved!",
- "Available only in Electron version!": "Available only in Electron version!"
+ "Enable Discord join button for syncing tracks, requires restart to toggle!": "Activează butonul de join la Discord pentru sincronizarea pieselor, necesită repornire în comutator!",
+ "Discord Join Button": "Butonul de join Discord",
+ "Other": "Altele",
+ "Minimize to tray": "Minimizează în bara de programe",
+ "Don't minimize to tray": "Nu minimiza în bara de programe",
+ "Close on exit": "Închide la ieșire",
+ "Settings saved!": "Setările au fost salvate!",
+ "Available only in Electron version!": "Disponibil doar în versiunea Electron!",
+ "Crossfade (ms)": "Crossfade (ms)",
+ "Select primary color": "Select primary color",
+ "Light theme": "Light theme",
+ "Create folders for playlists": "Create folders for playlists",
+ "About": "About",
+ "Links:": "Links:",
+ "Telegram Releases": "Telegram Releases",
+ "Telegram Group": "Telegram Group",
+ "Discord": "Discord",
+ "Telegram Android Group": "Telegram Android Group",
+ "Credits:": "Credits:",
+ "Agree": "Agree"
}
\ No newline at end of file
diff --git a/app/client/src/locales/ru.json b/app/client/src/locales/ru.json
index 5071360..3104233 100644
--- a/app/client/src/locales/ru.json
+++ b/app/client/src/locales/ru.json
@@ -1,112 +1,124 @@
{
- "Home": "Home",
- "Browse": "Browse",
- "Library": "Library",
- "Tracks": "Tracks",
- "Playlists": "Playlists",
- "Albums": "Albums",
- "Artists": "Artists",
- "More": "More",
- "Settings": "Settings",
- "Downloads": "Downloads",
- "Search or paste Deezer URL. Use / to quickly focus.": "Search or paste Deezer URL. Use \"/\" to quickly focus.",
- "Play": "Play",
- "Add to library": "Add to library",
- "Download": "Download",
- "fans": "fans",
- "tracks": "tracks",
- "Quality": "Quality",
- "Estimated size:": "Estimated size:",
- "Start downloading": "Start downloading",
- "Cancel": "Cancel",
- "Stream logging is disabled!": "Stream logging is disabled!",
- "Enable it in settings for history to work properly.": "Enable it in settings for history to work properly.",
- "History": "History",
- "Create new playlist": "Create new playlist",
- "TRACKS": "TRACKS",
- "Sort by": "Sort by",
- "Date Added": "Date Added",
- "Name (A-Z)": "Name (A-Z)",
- "Artist (A-Z)": "Artist (A-Z)",
- "Album (A-Z)": "Album (A-Z)",
- "Error loading lyrics or lyrics not found!": "Error loading lyrics or lyrics not found!",
- "Create playlist": "Create playlist",
- "Create": "Create",
- "Add to playlist": "Add to playlist",
- "Create new": "Create new",
- "Remove": "Remove",
- "Play next": "Play next",
- "Add to queue": "Add to queue",
- "Remove from library": "Remove from library",
- "Remove from playlist": "Remove from playlist",
- "Play track mix": "Play track mix",
- "Go to": "Go to",
- "Track Mix": "Track Mix",
- "Duration": "Duration",
- "Released": "Released",
- "Disk": "Disk",
- "albums": "albums",
- "Play top": "Play top",
- "Radio": "Radio",
- "Show all albums": "Show all albums",
- "Show all singles": "Show all singles",
- "Show more": "Show more",
- "Downloaded": "Downloaded",
- "Queue": "Queue",
- "Total": "Total",
- "Stop": "Stop",
- "Start": "Start",
- "Show folder": "Show folder",
- "Clear queue": "Clear queue",
- "Playing from": "Playing from",
- "Info": "Info",
- "Lyrics": "Lyrics",
- "Track number": "Track number",
- "Disk number": "Disk number",
- "Explicit": "Explicit",
- "Source": "Source",
+ "Home": "Главная",
+ "Browse": "Обзор",
+ "Library": "Избранное",
+ "Tracks": "Треки",
+ "Playlists": "Плейлисты",
+ "Albums": "Альбомы",
+ "Artists": "Артисты",
+ "More": "Ещё",
+ "Settings": "Настройки",
+ "Downloads": "Загрузки",
+ "Search or paste Deezer URL. Use / to quickly focus.": "Введите запрос или ссылку. \"/\" для быстрого поиска.",
+ "Play": "Воспроизвести",
+ "Add to library": "Добавить в Избранное",
+ "Download": "Скачать",
+ "fans": "поклонники",
+ "tracks": "треки",
+ "Quality": "Качество звука",
+ "Estimated size:": "Приблизительный размер:",
+ "Start downloading": "Начать загрузку",
+ "Cancel": "Отмена",
+ "Stream logging is disabled!": "Отправка статистики отключена!",
+ "Enable it in settings for history to work properly.": "Включите её в настройках для работы рекомендаций.",
+ "History": "История",
+ "Create new playlist": "Новый плейлист",
+ "TRACKS": "Треки",
+ "Sort by": "Сортировать по",
+ "Date Added": "Дата добавления",
+ "Name (A-Z)": "Название (А - Я)",
+ "Artist (A-Z)": "Исполнитель (А - Я)",
+ "Album (A-Z)": "Альбом (A - Я)",
+ "Error loading lyrics or lyrics not found!": "Ошибка получения текста!",
+ "Create playlist": "Создать плейлист",
+ "Create": "Создать",
+ "Add to playlist": "Добавить в плейлист",
+ "Create new": "Создать новый",
+ "Remove": "Удалить",
+ "Play next": "Играть следующим",
+ "Add to queue": "Добавить в очередь",
+ "Remove from library": "Удалить из Избранного",
+ "Remove from playlist": "Удалить из плейлиста",
+ "Play track mix": "Воспроизвести микс",
+ "Go to": "Перейти к",
+ "Track Mix": "Микс",
+ "Duration": "Продолжительность",
+ "Released": "Релиз",
+ "Disk": "Диск",
+ "albums": "альбомы",
+ "Play top": "Играть популярные",
+ "Radio": "Радио",
+ "Show all albums": "Показать все",
+ "Show all singles": "Показать все синглы",
+ "Show more": "Ещё",
+ "Downloaded": "Загрузки",
+ "Queue": "Очередь",
+ "Total": "Всего",
+ "Stop": "Остановить",
+ "Start": "Пуск",
+ "Show folder": "Открыть папку",
+ "Clear queue": "Очистить очередь",
+ "Playing from": "Сейчас играет",
+ "Info": "Инфо",
+ "Lyrics": "Текст песни",
+ "Track number": "Дорожка",
+ "Disk number": "Номер диска",
+ "Explicit": "18+",
+ "Source": "Источник",
"ID": "ID",
- "Error logging in!": "Error logging in!",
- "Please try again later, or try another account.": "Please try again later, or try another account.",
- "Logout": "Logout",
- "Login using browser": "Login using browser",
- "Please login using your Deezer account:": "Please login using your Deezer account:",
- "...or paste your ARL/Token below:": "...or paste your ARL/Token below:",
- "ARL/Token": "ARL/Token",
- "Login": "Login",
- "By using this program, you disagree with Deezer's ToS.": "By using this program, you disagree with Deezer's ToS.",
- "Only in Electron version!": "Only in Electron version!",
- "Search results for:": "Search results for:",
- "Error loading data!": "Error loading data!",
- "Try again later!": "Try again later!",
- "Search": "Search",
- "Streaming Quality": "Streaming Quality",
- "Download Quality": "Download Quality",
- "Downloads Directory": "Downloads Directory",
- "Simultaneous downloads": "Simultaneous downloads",
- "Always show download confirm dialog before downloading.": "Always show download confirm dialog before downloading.",
- "Show download dialog": "Show download dialog",
- "Create folders for artists": "Create folders for artists",
- "Create folders for albums": "Create folders for albums",
- "Download lyrics": "Download lyrics",
- "Variables": "Variables",
- "UI": "UI",
- "Show autocomplete in search": "Show autocomplete in search",
- "Integrations": "Integrations",
- "This allows listening history, flow and recommendations to work properly.": "This allows listening history, flow and recommendations to work properly.",
- "Log track listens to Deezer": "Log track listens to Deezer",
- "Connect your LastFM account to allow scrobbling.": "Connect your LastFM account to allow scrobbling.",
- "Login with LastFM": "Login with LastFM",
- "Disconnect LastFM": "Disconnect LastFM",
- "Requires restart to apply!": "Requires restart to apply!",
- "Enable Discord Rich Presence, requires restart to toggle!": "Enable Discord Rich Presence, requires restart to toggle!",
+ "Error logging in!": "Ошибка авторизации!",
+ "Please try again later, or try another account.": "Пожалуйста, повторите попытку позже или попробуйте другой аккаунт.",
+ "Logout": "Выход",
+ "Login using browser": "Войти через браузер",
+ "Please login using your Deezer account:": "Войдите, используя свой аккаунт Deezer:",
+ "...or paste your ARL/Token below:": "...или вставьте ваш токен (ARL) ниже:",
+ "ARL/Token": "Токен (ARL) ",
+ "Login": "Вход",
+ "By using this program, you disagree with Deezer's ToS.": "Используя эту программу, вы не соглашаетесь с правилами использования Deezer.",
+ "Only in Electron version!": "Только в версии Electron!",
+ "Search results for:": "Результаты поиска для:",
+ "Error loading data!": "Ошибка при загрузке данных!",
+ "Try again later!": "Повторите попытку позже!",
+ "Search": "Поиск",
+ "Streaming Quality": "Качество при воспроизведении",
+ "Download Quality": "Качество при загрузке",
+ "Downloads Directory": "Папка загрузок",
+ "Simultaneous downloads": "Количество одновременных загрузок",
+ "Always show download confirm dialog before downloading.": "Подтверждать загрузки.",
+ "Show download dialog": "Подтверждение",
+ "Create folders for artists": "Создавать папки для исполнителей",
+ "Create folders for albums": "Создавать папки для альбомов",
+ "Download lyrics": "Скачивать тексты",
+ "Variables": "Переменные",
+ "UI": "Интерфейс",
+ "Show autocomplete in search": "Подсказки при поиске",
+ "Integrations": "Интеграции",
+ "This allows listening history, flow and recommendations to work properly.": "Для правильной работы Flow, рекомендаций и истории.",
+ "Log track listens to Deezer": "Отправлять статистику",
+ "Connect your LastFM account to allow scrobbling.": "Подключите ваш аккаунт LastFM, чтобы разрешить скробблинг.",
+ "Login with LastFM": "Авторизоваться через LastFM",
+ "Disconnect LastFM": "Отключить LastFM",
+ "Requires restart to apply!": "Требуется перезапуск приложения!",
+ "Enable Discord Rich Presence, requires restart to toggle!": "Включить 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!",
- "Discord Join Button": "Discord Join Button",
- "Other": "Other",
- "Minimize to tray": "Minimize to tray",
- "Don't minimize to tray": "Don't minimize to tray",
- "Close on exit": "Close on exit",
- "Settings saved!": "Settings saved!",
- "Available only in Electron version!": "Available only in Electron version!"
+ "Enable Discord join button for syncing tracks, requires restart to toggle!": "Включить кнопку вступления Discord для синхронизации треков, требуется перезапуск!",
+ "Discord Join Button": "Кнопка \"Вступить\" в Discord",
+ "Other": "Другое",
+ "Minimize to tray": "Сворачивать в трей",
+ "Don't minimize to tray": "Не сворачивать в трей",
+ "Close on exit": "Закрывать при выходе",
+ "Settings saved!": "Настройки сохранены!",
+ "Available only in Electron version!": "Доступно только в версии на Electron!",
+ "Crossfade (ms)": "Кроссфейд (мс)",
+ "Select primary color": "Select primary color",
+ "Light theme": "Light theme",
+ "Create folders for playlists": "Create folders for playlists",
+ "About": "About",
+ "Links:": "Links:",
+ "Telegram Releases": "Telegram Releases",
+ "Telegram Group": "Telegram Group",
+ "Discord": "Discord",
+ "Telegram Android Group": "Telegram Android Group",
+ "Credits:": "Credits:",
+ "Agree": "Agree"
}
\ No newline at end of file
diff --git a/app/client/src/locales/tr.json b/app/client/src/locales/tr.json
index 5071360..6de61f3 100644
--- a/app/client/src/locales/tr.json
+++ b/app/client/src/locales/tr.json
@@ -1,112 +1,124 @@
{
- "Home": "Home",
- "Browse": "Browse",
- "Library": "Library",
- "Tracks": "Tracks",
- "Playlists": "Playlists",
- "Albums": "Albums",
- "Artists": "Artists",
- "More": "More",
- "Settings": "Settings",
- "Downloads": "Downloads",
- "Search or paste Deezer URL. Use / to quickly focus.": "Search or paste Deezer URL. Use \"/\" to quickly focus.",
- "Play": "Play",
- "Add to library": "Add to library",
- "Download": "Download",
- "fans": "fans",
- "tracks": "tracks",
- "Quality": "Quality",
- "Estimated size:": "Estimated size:",
- "Start downloading": "Start downloading",
- "Cancel": "Cancel",
- "Stream logging is disabled!": "Stream logging is disabled!",
- "Enable it in settings for history to work properly.": "Enable it in settings for history to work properly.",
- "History": "History",
- "Create new playlist": "Create new playlist",
- "TRACKS": "TRACKS",
- "Sort by": "Sort by",
- "Date Added": "Date Added",
- "Name (A-Z)": "Name (A-Z)",
- "Artist (A-Z)": "Artist (A-Z)",
- "Album (A-Z)": "Album (A-Z)",
- "Error loading lyrics or lyrics not found!": "Error loading lyrics or lyrics not found!",
- "Create playlist": "Create playlist",
- "Create": "Create",
- "Add to playlist": "Add to playlist",
- "Create new": "Create new",
- "Remove": "Remove",
- "Play next": "Play next",
- "Add to queue": "Add to queue",
- "Remove from library": "Remove from library",
- "Remove from playlist": "Remove from playlist",
+ "Home": "Ana Sayfa",
+ "Browse": "Gözat",
+ "Library": "Kütüphane",
+ "Tracks": "Parçalar",
+ "Playlists": "Oynatma listeleri",
+ "Albums": "Albümler",
+ "Artists": "Sanatçılar",
+ "More": "Daha Fazla",
+ "Settings": "Ayarlar",
+ "Downloads": "İndirilenler",
+ "Search or paste Deezer URL. Use / to quickly focus.": "Arama yapın veya Deezer URL'sini yapıştırın. Hızlı odaklanmak için \"/\" kullanın.",
+ "Play": "Oynat",
+ "Add to library": "Kütüphaneye ekle",
+ "Download": "İndir",
+ "fans": "hayranlar",
+ "tracks": "parçalar",
+ "Quality": "Kalite",
+ "Estimated size:": "Tahmini Süre:",
+ "Start downloading": "İndirmeyi başlat",
+ "Cancel": "İptal Et",
+ "Stream logging is disabled!": "Akış günlüğü devre dışı bırakıldı!",
+ "Enable it in settings for history to work properly.": "Geçmişin düzgün çalışması için ayarlarda etkinleştirin.",
+ "History": "Geçmiş",
+ "Create new playlist": "Yeni oynatma listesi oluştur",
+ "TRACKS": "PARÇALAR",
+ "Sort by": "Sırala",
+ "Date Added": "Eklenme Tarihi",
+ "Name (A-Z)": "Ad (A-Z)",
+ "Artist (A-Z)": "Sanatçı (A-Z)",
+ "Album (A-Z)": "Albüm (A-Z)",
+ "Error loading lyrics or lyrics not found!": "Şarkı sözleri bulunamadı veya yüklenirken hata oluştu!",
+ "Create playlist": "Oynatma listesi oluştur",
+ "Create": "Oluştur",
+ "Add to playlist": "Oynatma listesine ekle",
+ "Create new": "Yeni oluştur",
+ "Remove": "Kaldır",
+ "Play next": "Sonrakini çal",
+ "Add to queue": "Sıraya ekle",
+ "Remove from library": "Kütüphaneden kaldır",
+ "Remove from playlist": "Oynatma listesinden kaldır",
"Play track mix": "Play track mix",
- "Go to": "Go to",
+ "Go to": "Git",
"Track Mix": "Track Mix",
- "Duration": "Duration",
- "Released": "Released",
+ "Duration": "Süre",
+ "Released": "Yayınlandı",
"Disk": "Disk",
- "albums": "albums",
+ "albums": "albümler",
"Play top": "Play top",
- "Radio": "Radio",
- "Show all albums": "Show all albums",
- "Show all singles": "Show all singles",
- "Show more": "Show more",
- "Downloaded": "Downloaded",
- "Queue": "Queue",
- "Total": "Total",
- "Stop": "Stop",
- "Start": "Start",
- "Show folder": "Show folder",
- "Clear queue": "Clear queue",
- "Playing from": "Playing from",
- "Info": "Info",
- "Lyrics": "Lyrics",
- "Track number": "Track number",
- "Disk number": "Disk number",
- "Explicit": "Explicit",
- "Source": "Source",
+ "Radio": "Radyo",
+ "Show all albums": "Tüm albümleri göster",
+ "Show all singles": "Tüm şarkıları göster",
+ "Show more": "Daha fazla göster",
+ "Downloaded": "İndirildi",
+ "Queue": "Sıra",
+ "Total": "Toplam",
+ "Stop": "Durdur",
+ "Start": "Başlat",
+ "Show folder": "Klasörü göster",
+ "Clear queue": "Sırayı temizle",
+ "Playing from": "Şuradan oynatılıyor:",
+ "Info": "Bilgi",
+ "Lyrics": "Şarkı sözleri",
+ "Track number": "Parça Numarası",
+ "Disk number": "Disk numarası",
+ "Explicit": "Sakıncalı",
+ "Source": "Kaynak",
"ID": "ID",
- "Error logging in!": "Error logging in!",
- "Please try again later, or try another account.": "Please try again later, or try another account.",
- "Logout": "Logout",
- "Login using browser": "Login using browser",
- "Please login using your Deezer account:": "Please login using your Deezer account:",
- "...or paste your ARL/Token below:": "...or paste your ARL/Token below:",
+ "Error logging in!": "Oturum açma hatası!",
+ "Please try again later, or try another account.": "Lütfen daha sonra tekrar deneyin veya başka bir hesap deneyin.",
+ "Logout": "Çıkış",
+ "Login using browser": "Tarayıcı kullanarak giriş yapın",
+ "Please login using your Deezer account:": "Lütfen Deezer hesabınızı kullanarak giriş yapın.",
+ "...or paste your ARL/Token below:": "yada ARL/Token aşağıya yapıştırın:",
"ARL/Token": "ARL/Token",
- "Login": "Login",
- "By using this program, you disagree with Deezer's ToS.": "By using this program, you disagree with Deezer's ToS.",
- "Only in Electron version!": "Only in Electron version!",
- "Search results for:": "Search results for:",
- "Error loading data!": "Error loading data!",
- "Try again later!": "Try again later!",
- "Search": "Search",
- "Streaming Quality": "Streaming Quality",
- "Download Quality": "Download Quality",
- "Downloads Directory": "Downloads Directory",
- "Simultaneous downloads": "Simultaneous downloads",
- "Always show download confirm dialog before downloading.": "Always show download confirm dialog before downloading.",
- "Show download dialog": "Show download dialog",
- "Create folders for artists": "Create folders for artists",
- "Create folders for albums": "Create folders for albums",
- "Download lyrics": "Download lyrics",
- "Variables": "Variables",
- "UI": "UI",
- "Show autocomplete in search": "Show autocomplete in search",
- "Integrations": "Integrations",
- "This allows listening history, flow and recommendations to work properly.": "This allows listening history, flow and recommendations to work properly.",
+ "Login": "Giriş",
+ "By using this program, you disagree with Deezer's ToS.": "Bu programı kullanarak Deezer'in Hizmet Şartları'na katılmıyorsunuz.",
+ "Only in Electron version!": "Sadece Electron versiyonunda!",
+ "Search results for:": "Arama sonuçları:",
+ "Error loading data!": "Veri yükleme hatası!",
+ "Try again later!": "Daha sonra yeniden deneyin!",
+ "Search": "Ara",
+ "Streaming Quality": "Yayın Kalitesi",
+ "Download Quality": "İndirme kalitesi",
+ "Downloads Directory": "İndirme Dizini",
+ "Simultaneous downloads": "Eşzamanlı indirmeler",
+ "Always show download confirm dialog before downloading.": "İndirmeden önce her zaman indirme onayı iletişim kutusunu göster.",
+ "Show download dialog": "İndirme iletişim kutusunu göster",
+ "Create folders for artists": "Sanatçılar için klasörler oluşturun",
+ "Create folders for albums": "Albümler için klasörler oluşturun",
+ "Download lyrics": ". Lrc şarkı sözlerini indir",
+ "Variables": "Değişkenler",
+ "UI": "Arayüz",
+ "Show autocomplete in search": "Otomatik tamamlama listesini göster",
+ "Integrations": "Entegrasyonlar",
+ "This allows listening history, flow and recommendations to work properly.": "Bu dinleme geçmişinin, akışının ve önerilerin düzgün çalışmasını sağlar.",
"Log track listens to Deezer": "Log track listens to Deezer",
- "Connect your LastFM account to allow scrobbling.": "Connect your LastFM account to allow scrobbling.",
- "Login with LastFM": "Login with LastFM",
- "Disconnect LastFM": "Disconnect LastFM",
- "Requires restart to apply!": "Requires restart to apply!",
- "Enable Discord Rich Presence, requires restart to toggle!": "Enable Discord Rich Presence, requires restart to toggle!",
- "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!",
- "Discord Join Button": "Discord Join Button",
- "Other": "Other",
- "Minimize to tray": "Minimize to tray",
- "Don't minimize to tray": "Don't minimize to tray",
- "Close on exit": "Close on exit",
- "Settings saved!": "Settings saved!",
- "Available only in Electron version!": "Available only in Electron version!"
+ "Connect your LastFM account to allow scrobbling.": "Scrobbling'e izin vermek için LastFM hesabınızı bağlayın.",
+ "Login with LastFM": "LastFM ile giriş yapın",
+ "Disconnect LastFM": "LastFM bağlantısını kes",
+ "Requires restart to apply!": "Yeniden başlatma gerekli!",
+ "Enable Discord Rich Presence, requires restart to toggle!": "Discord zengin içeriği etkinleştirin, geçiş yapmak için yeniden başlatma gerekir!",
+ "Discord Rich Presence": "Discord zengin içerik",
+ "Enable Discord join button for syncing tracks, requires restart to toggle!": "Şarkıları senkronize etmek için Discord katılma düğmesini etkinleştirin, geçiş yapmak için yeniden başlatma gerektirir!",
+ "Discord Join Button": "Discord Katılma Düğmesi",
+ "Other": "Diğer",
+ "Minimize to tray": "Simge durumuna küçülsün",
+ "Don't minimize to tray": "Simge durumuna küçülmesin tamamen kapansın",
+ "Close on exit": "Programı kapattığınızda",
+ "Settings saved!": "Ayarlar kaydedildi!",
+ "Available only in Electron version!": "Sadece Electron versiyonunda mevcuttur!",
+ "Crossfade (ms)": "Crossfade (ms)",
+ "Select primary color": "Select primary color",
+ "Light theme": "Light theme",
+ "Create folders for playlists": "Create folders for playlists",
+ "About": "About",
+ "Links:": "Links:",
+ "Telegram Releases": "Telegram Releases",
+ "Telegram Group": "Telegram Group",
+ "Discord": "Discord",
+ "Telegram Android Group": "Telegram Android Group",
+ "Credits:": "Credits:",
+ "Agree": "Agree"
}
\ No newline at end of file
diff --git a/app/client/src/locales/uk.json b/app/client/src/locales/uk.json
index 5071360..0fd97cc 100644
--- a/app/client/src/locales/uk.json
+++ b/app/client/src/locales/uk.json
@@ -1,112 +1,124 @@
{
- "Home": "Home",
- "Browse": "Browse",
- "Library": "Library",
- "Tracks": "Tracks",
- "Playlists": "Playlists",
- "Albums": "Albums",
- "Artists": "Artists",
- "More": "More",
- "Settings": "Settings",
- "Downloads": "Downloads",
- "Search or paste Deezer URL. Use / to quickly focus.": "Search or paste Deezer URL. Use \"/\" to quickly focus.",
- "Play": "Play",
- "Add to library": "Add to library",
- "Download": "Download",
- "fans": "fans",
- "tracks": "tracks",
- "Quality": "Quality",
- "Estimated size:": "Estimated size:",
- "Start downloading": "Start downloading",
- "Cancel": "Cancel",
- "Stream logging is disabled!": "Stream logging is disabled!",
- "Enable it in settings for history to work properly.": "Enable it in settings for history to work properly.",
- "History": "History",
- "Create new playlist": "Create new playlist",
- "TRACKS": "TRACKS",
- "Sort by": "Sort by",
- "Date Added": "Date Added",
- "Name (A-Z)": "Name (A-Z)",
- "Artist (A-Z)": "Artist (A-Z)",
- "Album (A-Z)": "Album (A-Z)",
- "Error loading lyrics or lyrics not found!": "Error loading lyrics or lyrics not found!",
- "Create playlist": "Create playlist",
- "Create": "Create",
- "Add to playlist": "Add to playlist",
- "Create new": "Create new",
- "Remove": "Remove",
- "Play next": "Play next",
- "Add to queue": "Add to queue",
- "Remove from library": "Remove from library",
- "Remove from playlist": "Remove from playlist",
- "Play track mix": "Play track mix",
- "Go to": "Go to",
- "Track Mix": "Track Mix",
- "Duration": "Duration",
- "Released": "Released",
- "Disk": "Disk",
- "albums": "albums",
- "Play top": "Play top",
- "Radio": "Radio",
- "Show all albums": "Show all albums",
- "Show all singles": "Show all singles",
- "Show more": "Show more",
- "Downloaded": "Downloaded",
- "Queue": "Queue",
- "Total": "Total",
- "Stop": "Stop",
- "Start": "Start",
- "Show folder": "Show folder",
- "Clear queue": "Clear queue",
- "Playing from": "Playing from",
- "Info": "Info",
- "Lyrics": "Lyrics",
- "Track number": "Track number",
- "Disk number": "Disk number",
- "Explicit": "Explicit",
- "Source": "Source",
+ "Home": "Головна",
+ "Browse": "Перегляд",
+ "Library": "Бібліотека",
+ "Tracks": "Треки",
+ "Playlists": "Плейлисти",
+ "Albums": "Альбоми",
+ "Artists": "Виконавці",
+ "More": "Більше",
+ "Settings": "Налаштування",
+ "Downloads": "Завантаження",
+ "Search or paste Deezer URL. Use / to quickly focus.": "Знайдіть або вставте URL Deezer. Використовуйте \"/\" для швидкого фокусування.",
+ "Play": "Відтворити",
+ "Add to library": "Додати до бібліотеки",
+ "Download": "Завантажити",
+ "fans": "фани",
+ "tracks": "треки",
+ "Quality": "Якість",
+ "Estimated size:": "Приблизний розмір:",
+ "Start downloading": "Почати завантаження",
+ "Cancel": "Скасувати",
+ "Stream logging is disabled!": "Журнал трансляції відключений!",
+ "Enable it in settings for history to work properly.": "Увімкніть це в налаштуваннях, щоб історія працювала належним чином.",
+ "History": "Історія",
+ "Create new playlist": "Створити новий плейлист",
+ "TRACKS": "ТРЕКИ",
+ "Sort by": "Сортувати за",
+ "Date Added": "Дата додавання",
+ "Name (A-Z)": "Назва (А-Я)",
+ "Artist (A-Z)": "Виконавець (А-Я)",
+ "Album (A-Z)": "Альбом (А-Я)",
+ "Error loading lyrics or lyrics not found!": "Помилка при завантаженні текстів або тексту не знайдено!",
+ "Create playlist": "Створити плейлист",
+ "Create": "Створити",
+ "Add to playlist": "Додати до плейлиста",
+ "Create new": "Створити новий",
+ "Remove": "Видалити",
+ "Play next": "Відтворити наступний",
+ "Add to queue": "Додати до черги",
+ "Remove from library": "Видалити з бібліотеки",
+ "Remove from playlist": "Видалити з плейлиста",
+ "Play track mix": "Відтворити трек мікс",
+ "Go to": "Перейти до",
+ "Track Mix": "Трек Мікс",
+ "Duration": "Тривалість",
+ "Released": "Реліз",
+ "Disk": "Диск",
+ "albums": "альбоми",
+ "Play top": "Грати зверху",
+ "Radio": "Радіо",
+ "Show all albums": "Показати всі альбоми",
+ "Show all singles": "Показати всі композиції",
+ "Show more": "Показати більше",
+ "Downloaded": "Завантажено",
+ "Queue": "Черга",
+ "Total": "Всього",
+ "Stop": "Зупинити",
+ "Start": "Почати",
+ "Show folder": "Показати теку",
+ "Clear queue": "Очистити чергу",
+ "Playing from": "Відтворення з",
+ "Info": "Інфо",
+ "Lyrics": "Текст",
+ "Track number": "Номер треку",
+ "Disk number": "Номер диску",
+ "Explicit": "Явний",
+ "Source": "Джерело",
"ID": "ID",
- "Error logging in!": "Error logging in!",
- "Please try again later, or try another account.": "Please try again later, or try another account.",
- "Logout": "Logout",
- "Login using browser": "Login using browser",
- "Please login using your Deezer account:": "Please login using your Deezer account:",
- "...or paste your ARL/Token below:": "...or paste your ARL/Token below:",
- "ARL/Token": "ARL/Token",
- "Login": "Login",
- "By using this program, you disagree with Deezer's ToS.": "By using this program, you disagree with Deezer's ToS.",
- "Only in Electron version!": "Only in Electron version!",
- "Search results for:": "Search results for:",
- "Error loading data!": "Error loading data!",
- "Try again later!": "Try again later!",
- "Search": "Search",
- "Streaming Quality": "Streaming Quality",
- "Download Quality": "Download Quality",
- "Downloads Directory": "Downloads Directory",
- "Simultaneous downloads": "Simultaneous downloads",
- "Always show download confirm dialog before downloading.": "Always show download confirm dialog before downloading.",
- "Show download dialog": "Show download dialog",
- "Create folders for artists": "Create folders for artists",
- "Create folders for albums": "Create folders for albums",
- "Download lyrics": "Download lyrics",
- "Variables": "Variables",
+ "Error logging in!": "Помилка входу!",
+ "Please try again later, or try another account.": "Будь ласка, повторіть спробу пізніше, або спробуйте інший обліковий запис.",
+ "Logout": "Вийти",
+ "Login using browser": "Вхід через браузер",
+ "Please login using your Deezer account:": "Будь ласка, увійдіть, використовуючи свій обліковий запис Deezer:",
+ "...or paste your ARL/Token below:": "...або вставте свій ARL/Token нижче:",
+ "ARL/Token": "ARL/токен",
+ "Login": "Увійти",
+ "By using this program, you disagree with Deezer's ToS.": "Використовуючи цю програму, ви не погоджуєтесь із умовами використання Deezer.",
+ "Only in Electron version!": "Тільки в Electron версії!",
+ "Search results for:": "Результати пошуку для:",
+ "Error loading data!": "Помилка завантаження даних!",
+ "Try again later!": "Повторіть спробу пізніше!",
+ "Search": "Пошук",
+ "Streaming Quality": "Якість потоку",
+ "Download Quality": "Якість завантаження",
+ "Downloads Directory": "Тека для завантажень",
+ "Simultaneous downloads": "Одночасних завантажень",
+ "Always show download confirm dialog before downloading.": "Завжди показувати вікно підтвердження перед завантаженням.",
+ "Show download dialog": "Показувати діалогове вікно звантаження",
+ "Create folders for artists": "Створити теки для виконавців",
+ "Create folders for albums": "Створити теки для альбомів",
+ "Download lyrics": "Завантажити тексти пісень",
+ "Variables": "Змінні",
"UI": "UI",
- "Show autocomplete in search": "Show autocomplete in search",
- "Integrations": "Integrations",
- "This allows listening history, flow and recommendations to work properly.": "This allows listening history, flow and recommendations to work properly.",
- "Log track listens to Deezer": "Log track listens to Deezer",
- "Connect your LastFM account to allow scrobbling.": "Connect your LastFM account to allow scrobbling.",
- "Login with LastFM": "Login with LastFM",
- "Disconnect LastFM": "Disconnect LastFM",
- "Requires restart to apply!": "Requires restart to apply!",
- "Enable Discord Rich Presence, requires restart to toggle!": "Enable Discord Rich Presence, requires restart to toggle!",
+ "Show autocomplete in search": "Показувати автозаповнення при пошуку",
+ "Integrations": "Інтеграція",
+ "This allows listening history, flow and recommendations to work properly.": "Це дозволяє слухати історію, потік та рекомендації для правильної роботи.",
+ "Log track listens to Deezer": "Реєстр треків Deezer",
+ "Connect your LastFM account to allow scrobbling.": "Підключіть обліковий запис LastFM, щоб дозволити скроблінг.",
+ "Login with LastFM": "Увійти через LastFM",
+ "Disconnect LastFM": "Від'єднати LastFM",
+ "Requires restart to apply!": "Необхідно перезапустити для застосування!",
+ "Enable Discord Rich Presence, requires restart to toggle!": "Увімкнути 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!",
- "Discord Join Button": "Discord Join Button",
- "Other": "Other",
- "Minimize to tray": "Minimize to tray",
- "Don't minimize to tray": "Don't minimize to tray",
- "Close on exit": "Close on exit",
- "Settings saved!": "Settings saved!",
- "Available only in Electron version!": "Available only in Electron version!"
+ "Enable Discord join button for syncing tracks, requires restart to toggle!": "Увімкніть кнопку приєднання Discord для синхронізації треків, для застосування потрібен перезапуск!",
+ "Discord Join Button": "Кнопка приєднання до Discord",
+ "Other": "Інше",
+ "Minimize to tray": "Згорнути в трей",
+ "Don't minimize to tray": "Не згортати в трей",
+ "Close on exit": "Закрити при виході",
+ "Settings saved!": "Налаштування збережено!",
+ "Available only in Electron version!": "Доступно лише в Electron версії!",
+ "Crossfade (ms)": "Перехресне затухання (мс)",
+ "Select primary color": "Виберіть основний колір",
+ "Light theme": "Світла тема",
+ "Create folders for playlists": "Створити теки для плейлистів",
+ "About": "Про додаток",
+ "Links:": "Посилання:",
+ "Telegram Releases": "Telegram релізи",
+ "Telegram Group": "Група в Telegram",
+ "Discord": "Discord",
+ "Telegram Android Group": "Група Андроїд Telegram",
+ "Credits:": "Автори:",
+ "Agree": "Погоджуюсь"
}
\ No newline at end of file
diff --git a/app/client/src/locales/ur.json b/app/client/src/locales/ur.json
index 5071360..afc8482 100644
--- a/app/client/src/locales/ur.json
+++ b/app/client/src/locales/ur.json
@@ -108,5 +108,17 @@
"Don't minimize to tray": "Don't minimize to tray",
"Close on exit": "Close on exit",
"Settings saved!": "Settings saved!",
- "Available only in Electron version!": "Available only in Electron version!"
+ "Available only in Electron version!": "Available only in Electron version!",
+ "Crossfade (ms)": "Crossfade (ms)",
+ "Select primary color": "Select primary color",
+ "Light theme": "Light theme",
+ "Create folders for playlists": "Create folders for playlists",
+ "About": "About",
+ "Links:": "Links:",
+ "Telegram Releases": "Telegram Releases",
+ "Telegram Group": "Telegram Group",
+ "Discord": "Discord",
+ "Telegram Android Group": "Telegram Android Group",
+ "Credits:": "Credits:",
+ "Agree": "Agree"
}
\ No newline at end of file
diff --git a/app/client/src/main.js b/app/client/src/main.js
index 16210bc..ba5a1e7 100644
--- a/app/client/src/main.js
+++ b/app/client/src/main.js
@@ -228,15 +228,41 @@ new Vue({
//Configure html audio element
configureAudio() {
//Listen position updates
- this.audio.addEventListener('timeupdate', () => {
+ this.audio.addEventListener('timeupdate', async () => {
this.position = this.audio.currentTime * 1000;
//Gapless playback
- if (this.position >= (this.duration() - 7000) && this.state == 2) {
- if (!this.shuffle && this.repeat != 2)
+ if (this.position >= (this.duration() - (this.settings.crossfadeDuration + 7500)) && this.state == 2) {
+ if (this.repeat != 2)
this.loadGapless();
}
+ //Crossfade
+ if (this.settings.crossfadeDuration > 0 && this.position >= (this.duration() - this.settings.crossfadeDuration) && this.state == 2 && this.gapless.audio && !this.gapless.crossfade) {
+ this.gapless.crossfade = true;
+ let currentVolume = this.audio.volume;
+ this.gapless.audio.play();
+
+ let volumeStep = currentVolume / (this.settings.crossfadeDuration / 50);
+ for (let i=0; i<(this.settings.crossfadeDuration / 50); i++) {
+ if ((this.audio.volume - volumeStep) > 0)
+ this.audio.volume -= volumeStep;
+ this.gapless.audio.volume += volumeStep;
+ await new Promise((res) => setTimeout(() => res(), 50));
+ }
+ this.audio.pause();
+
+ //Update audio
+ this.audio = this.gapless.audio;
+ this.playbackInfo = this.gapless.info;
+ this.track = this.gapless.track;
+ this.queue.index = this.gapless.index;
+ this.resetGapless();
+ this.configureAudio();
+ this.updateMediaSession();
+ await this.savePlaybackInfo();
+ }
+
//Scrobble/LogListen
if (this.position >= this.duration() * 0.75) {
this.logListen();
@@ -246,6 +272,7 @@ new Vue({
this.audio.volume = this.volume;
this.audio.addEventListener('ended', async () => {
+ if (this.gapless.crossfade) return;
//Repeat track
if (this.repeat == 2) {
@@ -346,20 +373,36 @@ new Vue({
//Reset gapless playback meta
resetGapless() {
- this.gapless = {promise: null,audio: null,info: null,track: null};
+ this.gapless = {promise: null,audio: null,info: null,track: null,index:null};
},
//Load next track for gapless
async loadGapless() {
if (this.loaders != 0 || this.gapless.promise || this.gapless.audio) return;
- //Last song
- if (this.queue.index+1 >= this.queue.data.length) return;
+
+ //Shuffle
+ if (this.shuffle) {
+ let index = Math.round(Math.random()*this.queue.data.length) - this.queue.index;
+ this.gapless.track = this.queue.data[index];
+ this.gapless.index = index;
+ } else {
+ //Repeat list
+ if (this.repeat == 1 && this.queue.index == this.queue.data.length - 1) {
+ this.gapless.track = this.queue.data[0];
+ this.gapless.index = 0;
+ } else {
+ //Last song
+ if (this.queue.index+1 >= this.queue.data.length) return;
+ //Next song
+ this.gapless.track = this.queue.data[this.queue.index + 1];
+ this.gapless.index = this.queue.index + 1;
+ }
+ }
//Save promise
let resolve;
this.gapless.promise = new Promise((res) => {resolve = res});
//Load meta
- this.gapless.track = this.queue.data[this.queue.index + 1];
let info = await this.loadPlaybackInfo(this.gapless.track.streamUrl, this.gapless.track.duration);
if (!info) {
this.resetGapless();
@@ -367,6 +410,9 @@ new Vue({
}
this.gapless.info = info
this.gapless.audio = new Audio(`${window.location.origin}${info.url}`);
+ this.gapless.audio.volume = 0;
+ this.gapless.audio.preload = 'auto';
+ this.gapless.crossfade = false;
//Might get canceled
if (this.gapless.promise) resolve();
@@ -465,6 +511,11 @@ new Vue({
let res = await this.$axios.get('/settings');
this.settings = res.data;
this.$vuetify.theme.themes.dark.primary = this.settings.primaryColor;
+ this.$vuetify.theme.themes.light.primary = this.settings.primaryColor;
+ if (this.settings.lightTheme) {
+ this.$vuetify.theme.dark = false;
+ this.$vuetify.theme.light = true;
+ }
i18n.locale = this.settings.language;
this.volume = this.settings.volume;
diff --git a/app/client/src/views/About.vue b/app/client/src/views/About.vue
new file mode 100644
index 0000000..8e3d4cf
--- /dev/null
+++ b/app/client/src/views/About.vue
@@ -0,0 +1,151 @@
+
+
+
+
+
+ v{{data.version}}
+
+
+
{{$t("Links:")}}
+
+
+
+ mdi-telegram
+
+
+ {{$t("Telegram Releases")}}
+
+
+
+
+ mdi-telegram
+
+
+ {{$t("Telegram Group")}}
+
+
+
+
+ mdi-telegram
+
+
+ {{$t("Telegram Android Group")}}
+
+
+
+
+ mdi-discord
+
+
+ {{$t("Discord")}}
+
+
+
+
+
{{$t("Credits:")}}
+
+
+
+ exttex
+ Developer
+
+
+
+
+ Deemix
+ Much better app <3
+
+
+
+
+ Xandar
+ Community manager, helper, tester
+
+
+
+
+ Bas Curtiz
+ Tester, design help
+
+
+
+
+ Francesco
+ Tester
+
+
+
+
+ Tobs
+ Alpha tester
+
+
+
+
+
+ Huge thanks to all the Crowdin translators and all the contributors to this project <3
+
+
+
+
+
+ You have been judged by Xandar
+
+ Linux good, Windows bad
+
+
+
+ {{$t("Agree")}}
+
+
+
+
+
+
+
+
+
+
+
+ {{$t("Agree")}}
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/client/src/views/AlbumPage.vue b/app/client/src/views/AlbumPage.vue
index 6c32b5b..03bb0a1 100644
--- a/app/client/src/views/AlbumPage.vue
+++ b/app/client/src/views/AlbumPage.vue
@@ -14,7 +14,11 @@
{{album.title}}
- {{album.artistString}}
+
+
+ {{artist.name}},
+
+
{{album.tracks.length}} {{$t("tracks")}}
{{$t("Duration")}}: {{duration}}
@@ -104,6 +108,12 @@ export default {
},
async download() {
this.downloadDialog = true;
+ },
+ goArtist(artist) {
+ this.$router.push({
+ path: '/artist',
+ query: {artist: JSON.stringify(artist)}
+ });
}
},
async mounted() {
diff --git a/app/client/src/views/PlaylistPage.vue b/app/client/src/views/PlaylistPage.vue
index 3d6bd3e..162565c 100644
--- a/app/client/src/views/PlaylistPage.vue
+++ b/app/client/src/views/PlaylistPage.vue
@@ -55,7 +55,7 @@
-
+
diff --git a/app/client/src/views/Settings.vue b/app/client/src/views/Settings.vue
index 018b9e2..ea8fa05 100644
--- a/app/client/src/views/Settings.vue
+++ b/app/client/src/views/Settings.vue
@@ -3,7 +3,7 @@
{{$t('Settings')}}
-
+
{{$t("Show download dialog")}}
{{$t("Always show download confirm dialog before downloading.")}}
-
+
+
+
+
+
+
+ {{$t("Create folders for playlists")}}
+
+
-
+
{{$t("Create folders for artists")}}
@@ -64,7 +73,7 @@
-
+
{{$t("Create folders for albums")}}
@@ -73,7 +82,7 @@
-
+
{{$t("Download lyrics")}}
@@ -83,35 +92,67 @@
+
+
+
{{$t("UI")}}
+
+
+
+ mdi-palette
+
+
+ {{$t("Select primary color")}}
+
+
-
+
{{$t("Show autocomplete in search")}}
+
+
+
+
+
+
+
+ {{$t("Light theme")}}
+
+
+
{{$t("Integrations")}}
@@ -120,7 +161,7 @@
-
+
{{$t("Log track listens to Deezer")}}
@@ -133,8 +174,8 @@
- {{$t("Login with LastFM")}}
- {{$t("Connect your LastFM account to allow scrobbling.")}}
+ {{$t("Login with LastFM")}}
+ {{$t("Connect your LastFM account to allow scrobbling.")}}
@@ -148,7 +189,7 @@
-
+
{{$t("Discord Rich Presence")}}
@@ -158,7 +199,7 @@
-
+
{{$t("Discord Join Button")}}
@@ -173,7 +214,7 @@
-
+
{{$t("Minimize to tray")}}
@@ -182,7 +223,7 @@
-
+
{{$t("Close on exit")}}
@@ -218,6 +259,16 @@
+
+
+
+
+
+ Save
+
+
+
+
@@ -242,11 +293,20 @@ export default {
{code: 'en', name: 'English'},
{code: 'ar', name: 'Arabic'},
{code: 'de', name: 'German'},
+ {code: 'el', name: 'Greek'},
+ {code: 'id', name: 'Indonesian'},
+ {code: 'it', name: 'Italian'},
+ {code: 'pl', name: 'Polish'},
+ {code: 'ro', name: 'Romanian'},
+ {code: 'ru', name: 'Russian'},
+ {code: 'tr', name: 'Turkish'},
+ {code: 'uk', name: 'Ukrainian'}
],
+ colorPicker: false,
primaryColorIndex: 0,
primaries: ['#F44336', '#E91E63', '#9C27B0', '#673AB7', '#3F51B5', '#2196F3', '#03A9F4',
'#00BCD4', '#009688', '#4CAF50', '#8BC34A', '#CDDC39', '#FFEB3B', '#FFC107', '#FF9800', '#FF5722',
- '#795548', '#607D8B', '#9E9E9E', '#333333', '#000000']
+ '#795548', '#607D8B', '#9E9E9E']
}
},
methods: {
@@ -309,18 +369,28 @@ export default {
await this.$root.saveSettings();
window.location.reload();
},
- changeColor() {
- this.$vuetify.theme.themes.dark.primary = this.primaries[this.primaryColorIndex];
- this.$root.settings.primaryColor = this.primaries[this.primaryColorIndex];
- this.primaryColorIndex++;
- if (this.primaryColorIndex == this.primaries.length)
- this.primaryColorIndex = 0;
+ saveColor() {
+ this.colorPicker = false;
+ this.$vuetify.theme.themes.dark.primary = this.$root.settings.primaryColor;
+ this.$vuetify.theme.themes.light.primary = this.$root.settings.primaryColor;
+ this.$root.saveSettings();
},
updateLanguage(l) {
let code = this.languages.filter(lang => lang.name == l)[0].code;
this.language = code;
this.$root.updateLanguage(code);
this.$root.settings.language = code;
+ },
+ //Update light theme
+ changeLightTheme(v) {
+ this.$root.settings.lightTheme = v;
+ if (v) {
+ this.$vuetify.theme.dark = false;
+ this.$vuetify.theme.light = true;
+ } else {
+ this.$vuetify.theme.dark = true;
+ this.$vuetify.theme.light = false;
+ }
}
},
computed: {
@@ -347,16 +417,15 @@ export default {
}
}
- //Shhhhhh
- if (event.code == 'KeyC' && event.shiftKey) {
- this.changeColor();
- }
-
- //SSHHSHSHHSH
- console.log(event);
+ //RGB
if (event.code == 'KeyG' && event.ctrlKey && event.altKey) {
setInterval(() => {
- this.changeColor();
+ this.$vuetify.theme.themes.dark.primary = this.primaries[this.primaryColorIndex];
+ this.$vuetify.theme.themes.light.primary = this.primaries[this.primaryColorIndex];
+ this.$root.settings.primaryColor = this.primaries[this.primaryColorIndex];
+ this.primaryColorIndex++;
+ if (this.primaryColorIndex == this.primaries.length)
+ this.primaryColorIndex = 0;
}, 400);
}
});
diff --git a/app/client/styles/scrollbar.scss b/app/client/styles/scrollbar.scss
index c8619ee..a9592c0 100644
--- a/app/client/styles/scrollbar.scss
+++ b/app/client/styles/scrollbar.scss
@@ -11,9 +11,9 @@
border-radius: 5px;
}
-::-webkit-scrollbar-track:hover {
- background-color: #080808;
-}
+// ::-webkit-scrollbar-track:hover {
+// background-color: #080808;
+// }
::-webkit-scrollbar-thumb {
border-radius: 5px;
diff --git a/app/package.json b/app/package.json
index 69893c3..1d659ff 100644
--- a/app/package.json
+++ b/app/package.json
@@ -1,7 +1,7 @@
{
"name": "freezer",
"private": true,
- "version": "1.1.1",
+ "version": "1.1.2",
"description": "",
"main": "background.js",
"scripts": {
diff --git a/app/src/downloads.js b/app/src/downloads.js
index f2130ff..83cac04 100644
--- a/app/src/downloads.js
+++ b/app/src/downloads.js
@@ -65,12 +65,23 @@ class DownloadManager {
this.updateQueue();
}
- async add(track, quality) {
+ //data: {tracks: [], quality, playlistName}
+ async addBatch(data) {
+ for (let track of data.tracks) {
+ let p = this.settings.downloadsPath;
+ if (data.playlistName && this.settings.playlistFolder) {
+ p = path.join(p, sanitize(data.playlistName));
+ }
+ await this.add(track, data.quality, p);
+ }
+ }
+
+ async add(track, quality, p) {
//Sanitize quality
let q = this.settings.downloadsQuality;
if (quality)
q = parseInt(quality.toString(), 10);
- let download = new Download(track, q, 0);
+ let download = new Download(track, q, 0, p);
//Check if in queue
if (this.queue.some(d => d.track.id == track.id)) {
@@ -430,16 +441,20 @@ class DownloadThread {
}
generatePath(quality) {
+ //Path
+ let folder = this.settings.downloadsPath;
+ if (this.download.path)
+ folder = this.download.path;
+
//User uploaded mp3s
if (this.isUserUploaded) {
//Generate path
- let p = this.settings.downloadsPath;
if (this.settings.createArtistFolder && this.download.track.artists[0].name.length > 0)
- p = path.join(p, sanitize(this.download.track.artists[0].name));
+ folder = path.join(folder, sanitize(this.download.track.artists[0].name));
if (this.settings.createAlbumFolder && this.download.track.album.title.length > 0)
- p = path.join(p, sanitize(this.download.track.album.title));
+ folder = path.join(folder, sanitize(this.download.track.album.title));
//Filename
- let out = path.join(p, sanitize(this.download.track.title));
+ let out = path.join(folder, sanitize(this.download.track.title));
if (!out.includes('.'))
out += '.mp3';
return out;
@@ -470,9 +485,8 @@ class DownloadThread {
fn = fn.replace(new RegExp(k, 'g'), sanitize(props[k]));
}
//Generate folders
- let p = this.settings.downloadsPath;
- if (this.settings.createArtistFolder) p = path.join(p, sanitize(this.track.artists[0].name));
- if (this.settings.createAlbumFolder) p = path.join(p, sanitize(this.track.album.title));
+ if (this.settings.createArtistFolder) folder = path.join(folder, sanitize(this.track.artists[0].name));
+ if (this.settings.createAlbumFolder) folder = path.join(folder, sanitize(this.track.album.title));
//Extension
if (quality.toString() == '9') {
@@ -481,14 +495,16 @@ class DownloadThread {
fn += '.mp3';
}
- return path.join(p, fn);
+ return path.join(folder, fn);
}
}
class Download {
- constructor (track, quality, state) {
+ constructor (track, quality, state, path) {
this.track = track;
this.quality = quality;
+ this.path = path;
+
// 0 - none
// 1 - downloading
// 2 - postprocess
@@ -506,12 +522,13 @@ class Download {
_id: this.track.id,
track: this.track,
quality: this.quality,
- state: this.state
+ state: this.state,
+ path: this.path
}
}
static fromDB(json) {
- return new Download(json.track, json.quality, json.state);
+ return new Download(json.track, json.quality, json.state, json.path);
}
}
diff --git a/app/src/server.js b/app/src/server.js
index 1304b8c..24e32ee 100644
--- a/app/src/server.js
+++ b/app/src/server.js
@@ -1,6 +1,6 @@
const express = require('express');
const path = require('path');
-const https = require('https');
+const packageJson = require('../package.json');
const fs = require('fs');
const axios = require('axios').default;
const logger = require('./winston');
@@ -390,11 +390,7 @@ app.get('/suggestions/:query', async (req, res) => {
//Post list of tracks to download
app.post('/downloads', async (req, res) => {
- let tracks = req.body;
- let quality = req.query.q;
- for (let track of tracks) {
- downloadManager.add(track, quality);
- }
+ downloadManager.addBatch(req.body);
res.status(200).send('OK');
});
@@ -474,6 +470,13 @@ app.get('/fullurl', async (req, res) => {
res.json({url: r.request.res.responseUrl});
});
+//About page
+app.get('/about', async (req, res) => {
+ res.json({
+ version: packageJson.version
+ });
+});
+
//Redirect to index on unknown path
app.all('*', (req, res) => {
res.redirect('/');
diff --git a/app/src/settings.js b/app/src/settings.js
index e2d86ec..abce2c3 100644
--- a/app/src/settings.js
+++ b/app/src/settings.js
@@ -34,6 +34,10 @@ class Settings {
this.downloadLyrics = true;
this.primaryColor = '#2196F3';
this.language = 'en';
+
+ this.crossfadeDuration = 3000;
+ this.lightTheme = false;
+ this.playlistFolder = false;
}
//Based on electorn app.getPath
diff --git a/package.json b/package.json
index b83fdf0..8be4bbe 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "freezer",
"private": true,
- "version": "1.1.1",
+ "version": "1.1.2",
"description": "",
"scripts": {
"pack": "electron-builder --dir",