1.1.3 - Autocompletion fixes, crossfade fixes, more languages
This commit is contained in:
parent
b5771b8a25
commit
7eb047bae1
|
@ -252,6 +252,16 @@
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-footer>
|
</v-footer>
|
||||||
|
|
||||||
|
<!-- Global snackbar -->
|
||||||
|
<v-snackbar timeout='2000' v-model='globalSnackbar'>
|
||||||
|
{{this.$root.globalSnackbar}}
|
||||||
|
<template v-slot:action='{attrs}'>
|
||||||
|
<v-btn text v-bind="attrs" @click='globalSnackbar = false' color='primary'>
|
||||||
|
{{$t("Dismiss")}}
|
||||||
|
</v-btn>
|
||||||
|
</template>
|
||||||
|
</v-snackbar>
|
||||||
|
|
||||||
</v-app>
|
</v-app>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -287,7 +297,10 @@ export default {
|
||||||
searchLoading: false,
|
searchLoading: false,
|
||||||
searchInput: null,
|
searchInput: null,
|
||||||
suggestions: [],
|
suggestions: [],
|
||||||
preventDoubleEnter: false
|
preventDoubleEnter: false,
|
||||||
|
cancelSuggestions: false,
|
||||||
|
|
||||||
|
globalSnackbar: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
@ -355,6 +368,8 @@ export default {
|
||||||
this.searchLoading = false;
|
this.searchLoading = false;
|
||||||
} else {
|
} else {
|
||||||
//Normal search
|
//Normal search
|
||||||
|
this.cancelSuggestions = true;
|
||||||
|
this.suggestions = [];
|
||||||
this.$router.push({path: '/search', query: {q: query}});
|
this.$router.push({path: '/search', query: {q: query}});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -417,6 +432,14 @@ export default {
|
||||||
'$root.position'() {
|
'$root.position'() {
|
||||||
this.position = (this.$root.position / this.$root.duration()) * 100;
|
this.position = (this.$root.position / this.$root.duration()) * 100;
|
||||||
},
|
},
|
||||||
|
//Global snackbar
|
||||||
|
'$root.globalSnackbar'() {
|
||||||
|
if (!this.$root.globalSnackbar) return;
|
||||||
|
this.globalSnackbar = true;
|
||||||
|
setTimeout(() => {
|
||||||
|
this.$root.globalSnackbar = null;
|
||||||
|
}, 2000);
|
||||||
|
},
|
||||||
//Autofill
|
//Autofill
|
||||||
searchInput(query) {
|
searchInput(query) {
|
||||||
//Filters
|
//Filters
|
||||||
|
@ -437,6 +460,12 @@ export default {
|
||||||
if (query != this.searchInput) return;
|
if (query != this.searchInput) return;
|
||||||
this.$axios.get('/suggestions/' + encodeURIComponent(query)).then((res) => {
|
this.$axios.get('/suggestions/' + encodeURIComponent(query)).then((res) => {
|
||||||
if (query != this.searchInput) return;
|
if (query != this.searchInput) return;
|
||||||
|
//Cancel suggestions to prevent autocompletion when already searched
|
||||||
|
if (this.cancelSuggestions) {
|
||||||
|
this.cancelSuggestions = false;
|
||||||
|
this.searchLoading = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
this.suggestions = res.data;
|
this.suggestions = res.data;
|
||||||
this.searchLoading = false;
|
this.searchLoading = false;
|
||||||
});
|
});
|
||||||
|
|
|
@ -134,8 +134,9 @@ export default {
|
||||||
});
|
});
|
||||||
this.$emit('clicked')
|
this.$emit('clicked')
|
||||||
},
|
},
|
||||||
addLibrary() {
|
async addLibrary() {
|
||||||
this.$axios.put(`/library/album?id=${this.album.id}`);
|
await this.$axios.put(`/library/album?id=${this.album.id}`);
|
||||||
|
this.$root.globalSnackbar = this.$t('Added to library!');
|
||||||
},
|
},
|
||||||
//Add to downloads
|
//Add to downloads
|
||||||
async download() {
|
async download() {
|
||||||
|
|
|
@ -67,8 +67,9 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
addLibrary() {
|
async addLibrary() {
|
||||||
this.$axios.put(`/library/artist&id=${this.artist.id}`);
|
await this.$axios.put(`/library/artist&id=${this.artist.id}`);
|
||||||
|
this.$root.globalSnackbar = this.$t('Added to library!');
|
||||||
},
|
},
|
||||||
click() {
|
click() {
|
||||||
//Navigate to details
|
//Navigate to details
|
||||||
|
|
|
@ -96,12 +96,9 @@ export default {
|
||||||
if (this.currentLyricIndex == this.currentLyric()) return;
|
if (this.currentLyricIndex == this.currentLyric()) return;
|
||||||
this.currentLyricIndex = this.currentLyric();
|
this.currentLyricIndex = this.currentLyric();
|
||||||
|
|
||||||
//Roughly middle
|
|
||||||
let offset = window.innerHeight / 2 - 500;
|
|
||||||
|
|
||||||
if (!this.$refs["l"+this.currentLyricIndex]) return;
|
if (!this.$refs["l"+this.currentLyricIndex]) return;
|
||||||
this.$refs.content.scrollTo({
|
this.$refs.content.scrollTo({
|
||||||
top: this.$refs["l"+this.currentLyricIndex][0].offsetTop + offset,
|
top: this.$refs["l"+this.currentLyricIndex][0].offsetTop - (window.innerHeight / 2.42),
|
||||||
behavior: 'smooth'
|
behavior: 'smooth'
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
|
@ -42,6 +42,7 @@
|
||||||
</v-card-text>
|
</v-card-text>
|
||||||
</v-card>
|
</v-card>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -58,7 +59,7 @@ export default {
|
||||||
type: 'Private',
|
type: 'Private',
|
||||||
types: ['Private', 'Public'],
|
types: ['Private', 'Public'],
|
||||||
createLoading: false,
|
createLoading: false,
|
||||||
|
|
||||||
loading: false,
|
loading: false,
|
||||||
playlists: []
|
playlists: []
|
||||||
}
|
}
|
||||||
|
@ -84,11 +85,13 @@ export default {
|
||||||
this.createLoading = false;
|
this.createLoading = false;
|
||||||
this.$emit('created');
|
this.$emit('created');
|
||||||
this.$emit('close');
|
this.$emit('close');
|
||||||
|
this.$root.globalSnackbar = this.$t('Added to playlist!');
|
||||||
},
|
},
|
||||||
//Add track to playlist
|
//Add track to playlist
|
||||||
async addTrack(playlist) {
|
async addTrack(playlist) {
|
||||||
await this.$axios.post(`/playlist/${playlist.id}/tracks`, {track: this.track.id});
|
await this.$axios.post(`/playlist/${playlist.id}/tracks`, {track: this.track.id});
|
||||||
this.$emit('close');
|
this.$emit('close');
|
||||||
|
this.$root.globalSnackbar = this.$t('Added to playlist!');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async mounted() {
|
async mounted() {
|
||||||
|
|
|
@ -140,11 +140,13 @@ export default {
|
||||||
//Delete own playlist
|
//Delete own playlist
|
||||||
if (this.playlist.user.id == this.$root.profile.id) {
|
if (this.playlist.user.id == this.$root.profile.id) {
|
||||||
await this.$axios.delete(`/playlist/${this.playlist.id}`);
|
await this.$axios.delete(`/playlist/${this.playlist.id}`);
|
||||||
|
this.$root.globalSnackbar = this.$t('Playlist deleted!');
|
||||||
} else {
|
} else {
|
||||||
//Remove from library
|
//Remove from library
|
||||||
await this.$axios.get('/library/playlist&id=' + this.playlist.id);
|
await this.$axios.get('/library/playlist&id=' + this.playlist.id);
|
||||||
|
this.$root.globalSnackbar = this.$t('Removed from library!');
|
||||||
}
|
}
|
||||||
|
|
||||||
this.$emit('remove');
|
this.$emit('remove');
|
||||||
},
|
},
|
||||||
async download() {
|
async download() {
|
||||||
|
|
|
@ -187,6 +187,7 @@ export default {
|
||||||
this.isLibrary = true;
|
this.isLibrary = true;
|
||||||
this.$root.libraryTracks.push(this.track.id);
|
this.$root.libraryTracks.push(this.track.id);
|
||||||
this.$axios.put(`/library/track?id=${this.track.id}`);
|
this.$axios.put(`/library/track?id=${this.track.id}`);
|
||||||
|
this.$root.globalSnackbar = this.$t('Added to library!');
|
||||||
},
|
},
|
||||||
goAlbum() {
|
goAlbum() {
|
||||||
this.$emit('redirect')
|
this.$emit('redirect')
|
||||||
|
@ -206,6 +207,7 @@ export default {
|
||||||
this.isLibrary = false;
|
this.isLibrary = false;
|
||||||
this.$root.libraryTracks.splice(this.$root.libraryTracks.indexOf(this.track.id), 1);
|
this.$root.libraryTracks.splice(this.$root.libraryTracks.indexOf(this.track.id), 1);
|
||||||
await this.$axios.delete(`/library/track?id=${this.track.id}`);
|
await this.$axios.delete(`/library/track?id=${this.track.id}`);
|
||||||
|
this.$root.globalSnackbar = this.$t('Removed from library!');
|
||||||
this.$emit('remove');
|
this.$emit('remove');
|
||||||
},
|
},
|
||||||
//Remove from playlist
|
//Remove from playlist
|
||||||
|
@ -213,6 +215,7 @@ export default {
|
||||||
await this.$axios.delete(`/playlist/${this.playlistId}/tracks`, {
|
await this.$axios.delete(`/playlist/${this.playlistId}/tracks`, {
|
||||||
data: {track: this.track.id}
|
data: {track: this.track.id}
|
||||||
});
|
});
|
||||||
|
this.$root.globalSnackbar = this.$t('Removed from playlist!');
|
||||||
this.$emit('remove');
|
this.$emit('remove');
|
||||||
},
|
},
|
||||||
//Download track
|
//Download track
|
||||||
|
|
|
@ -120,5 +120,11 @@
|
||||||
"Discord": "دسكورد",
|
"Discord": "دسكورد",
|
||||||
"Telegram Android Group": "مجموعة تيليجرام (أندرويد)",
|
"Telegram Android Group": "مجموعة تيليجرام (أندرويد)",
|
||||||
"Credits:": "المساهمون:",
|
"Credits:": "المساهمون:",
|
||||||
"Agree": "قبول"
|
"Agree": "قبول",
|
||||||
|
"Dismiss": "تجاهل",
|
||||||
|
"Added to playlist!": "تمت الإضافة إلى قائمة التشغيل!",
|
||||||
|
"Added to library!": "تمت الاضافة الى المكتبة!",
|
||||||
|
"Removed from library!": "الإزالة من المكتبة!",
|
||||||
|
"Removed from playlist!": "تمت الإزالة من قائمة التشغيل!",
|
||||||
|
"Playlist deleted!": "تم حذف قائمة التشغيل!"
|
||||||
}
|
}
|
|
@ -120,5 +120,11 @@
|
||||||
"Discord": "Discord",
|
"Discord": "Discord",
|
||||||
"Telegram Android Group": "Telegram Android-Gruppe",
|
"Telegram Android Group": "Telegram Android-Gruppe",
|
||||||
"Credits:": "Credits:",
|
"Credits:": "Credits:",
|
||||||
"Agree": "Einverstanden"
|
"Agree": "Einverstanden",
|
||||||
|
"Dismiss": "Verwerfen",
|
||||||
|
"Added to playlist!": "Zur Wiedergabeliste hinzugefügt!",
|
||||||
|
"Added to library!": "Zur Mediathek hinzufügen!",
|
||||||
|
"Removed from library!": "Aus der Mediathek entfernen!",
|
||||||
|
"Removed from playlist!": "Aus der Wiedergabeliste entfernt!",
|
||||||
|
"Playlist deleted!": "Wiedergabeliste gelöscht!"
|
||||||
}
|
}
|
|
@ -109,16 +109,22 @@
|
||||||
"Close on exit": "Κλείσιμο κατά την έξοδο",
|
"Close on exit": "Κλείσιμο κατά την έξοδο",
|
||||||
"Settings saved!": "Οι ρυθμίσεις αποθηκεύτηκαν!",
|
"Settings saved!": "Οι ρυθμίσεις αποθηκεύτηκαν!",
|
||||||
"Available only in Electron version!": "Διαθέσιμο μόνο στην έκδοση Electron!",
|
"Available only in Electron version!": "Διαθέσιμο μόνο στην έκδοση Electron!",
|
||||||
"Crossfade (ms)": "Crossfade (ms)",
|
"Crossfade (ms)": "Μίξη ομαλής μετάβασης (ms)",
|
||||||
"Select primary color": "Select primary color",
|
"Select primary color": "Επιλογή κύριου χρώματος",
|
||||||
"Light theme": "Light theme",
|
"Light theme": "Φωτεινό θέμα",
|
||||||
"Create folders for playlists": "Create folders for playlists",
|
"Create folders for playlists": "Δημιουργία φακέλων για λίστες αναπαραγωγής",
|
||||||
"About": "About",
|
"About": "Σχετικά",
|
||||||
"Links:": "Links:",
|
"Links:": "Σύνδεσμοι:",
|
||||||
"Telegram Releases": "Telegram Releases",
|
"Telegram Releases": "Κυκλοφορίες Telegram",
|
||||||
"Telegram Group": "Telegram Group",
|
"Telegram Group": "Ομάδα Telegram",
|
||||||
"Discord": "Discord",
|
"Discord": "Discord",
|
||||||
"Telegram Android Group": "Telegram Android Group",
|
"Telegram Android Group": "Ομάδα Android Telegram",
|
||||||
"Credits:": "Credits:",
|
"Credits:": "Συντελεστές:",
|
||||||
"Agree": "Agree"
|
"Agree": "Αποδοχή",
|
||||||
|
"Dismiss": "Απόρριψη",
|
||||||
|
"Added to playlist!": "Προστέθηκε σε λίστα αναπαραγωγής!",
|
||||||
|
"Added to library!": "Προστέθηκε στη βιβλιοθήκη!",
|
||||||
|
"Removed from library!": "Καταργήθηκε από τη βιβλιοθήκη!",
|
||||||
|
"Removed from playlist!": "Καταργήθηκε από τη λίστα αναπαραγωγής!",
|
||||||
|
"Playlist deleted!": "Η λίστα αναπαραγωγής διαγράφηκε!"
|
||||||
}
|
}
|
|
@ -120,6 +120,11 @@
|
||||||
"Discord": "Discord",
|
"Discord": "Discord",
|
||||||
"Telegram Android Group": "Telegram Android Group",
|
"Telegram Android Group": "Telegram Android Group",
|
||||||
"Credits:": "Credits:",
|
"Credits:": "Credits:",
|
||||||
"Agree": "Agree"
|
"Agree": "Agree",
|
||||||
|
"Dismiss": "Dismiss",
|
||||||
|
"Added to playlist!": "Added to playlist!",
|
||||||
|
"Added to library!": "Added to library!",
|
||||||
|
"Removed from library!": "Removed from library!",
|
||||||
|
"Removed from playlist!": "Removed from playlist!",
|
||||||
|
"Playlist deleted!": "Playlist deleted!"
|
||||||
}
|
}
|
|
@ -1,44 +1,44 @@
|
||||||
{
|
{
|
||||||
"Home": "Inicio",
|
"Home": "Inicio",
|
||||||
"Browse": "Browse",
|
"Browse": "Explorar",
|
||||||
"Library": "Biblioteca",
|
"Library": "Biblioteca",
|
||||||
"Tracks": "Canciones",
|
"Tracks": "Pistas",
|
||||||
"Playlists": "Listas de reproducción",
|
"Playlists": "Listas de reproducción",
|
||||||
"Albums": "Álbumes",
|
"Albums": "Álbumes",
|
||||||
"Artists": "Artistas",
|
"Artists": "Artistas",
|
||||||
"More": "Más",
|
"More": "Más",
|
||||||
"Settings": "Configuración",
|
"Settings": "Ajustes",
|
||||||
"Downloads": "Descargas",
|
"Downloads": "Descargas",
|
||||||
"Search or paste Deezer URL. Use / to quickly focus.": "Search or paste Deezer URL. Use \"/\" to quickly focus.",
|
"Search or paste Deezer URL. Use / to quickly focus.": "Busca o pega la URL de Deezer. Usa \"/\" para empezar a buscar.",
|
||||||
"Play": "Reproducir",
|
"Play": "Reproducir",
|
||||||
"Add to library": "Add to library",
|
"Add to library": "Añadir a la biblioteca",
|
||||||
"Download": "Descargar",
|
"Download": "Descargar",
|
||||||
"fans": "seguidores",
|
"fans": "seguidores",
|
||||||
"tracks": "canciones",
|
"tracks": "pistas",
|
||||||
"Quality": "Calidad",
|
"Quality": "Calidad",
|
||||||
"Estimated size:": "Tamaño estimado:",
|
"Estimated size:": "Tamaño estimado:",
|
||||||
"Start downloading": "Start downloading",
|
"Start downloading": "Comenzar descarga",
|
||||||
"Cancel": "Cancelar",
|
"Cancel": "Cancelar",
|
||||||
"Stream logging is disabled!": "Stream logging is disabled!",
|
"Stream logging is disabled!": "¡El registro de reproducción está deshabilitado!",
|
||||||
"Enable it in settings for history to work properly.": "Enable it in settings for history to work properly.",
|
"Enable it in settings for history to work properly.": "Habilítalo en los ajustes para que el historial funcione correctamente.",
|
||||||
"History": "Historial",
|
"History": "Historial",
|
||||||
"Create new playlist": "Create new playlist",
|
"Create new playlist": "Crear nueva lista de reproducción",
|
||||||
"TRACKS": "CANCIONES",
|
"TRACKS": "PISTAS",
|
||||||
"Sort by": "Ordenar por",
|
"Sort by": "Ordenar por",
|
||||||
"Date Added": "Fecha de adición",
|
"Date Added": "Fecha de adición",
|
||||||
"Name (A-Z)": "Nombre (A-Z)",
|
"Name (A-Z)": "Nombre (A-Z)",
|
||||||
"Artist (A-Z)": "Artista (A-Z)",
|
"Artist (A-Z)": "Artista (A-Z)",
|
||||||
"Album (A-Z)": "Álbum (A-Z)",
|
"Album (A-Z)": "Álbum (A-Z)",
|
||||||
"Error loading lyrics or lyrics not found!": "Error loading lyrics or lyrics not found!",
|
"Error loading lyrics or lyrics not found!": "¡Error al cargar letras o no encontradas!",
|
||||||
"Create playlist": "Crear lista de reproducción",
|
"Create playlist": "Crear lista de reproducción",
|
||||||
"Create": "Crear",
|
"Create": "Crear",
|
||||||
"Add to playlist": "Agregar a la lista de reproducción",
|
"Add to playlist": "Agregar a la lista de reproducción",
|
||||||
"Create new": "Crear nuevo",
|
"Create new": "Crear nuevo",
|
||||||
"Remove": "Quitar",
|
"Remove": "Quitar",
|
||||||
"Play next": "Reproducir siguiente",
|
"Play next": "Reproducir siguiente",
|
||||||
"Add to queue": "Add to queue",
|
"Add to queue": "Añadir a la cola de reproducción",
|
||||||
"Remove from library": "Remove from library",
|
"Remove from library": "Eliminar de la biblioteca",
|
||||||
"Remove from playlist": "Remove from playlist",
|
"Remove from playlist": "Quitar de la lista de reproducción",
|
||||||
"Play track mix": "Reproducir mezcla de canciones",
|
"Play track mix": "Reproducir mezcla de canciones",
|
||||||
"Go to": "Ir a",
|
"Go to": "Ir a",
|
||||||
"Track Mix": "Mezcla de canciones",
|
"Track Mix": "Mezcla de canciones",
|
||||||
|
@ -49,7 +49,7 @@
|
||||||
"Play top": "Reproducir top",
|
"Play top": "Reproducir top",
|
||||||
"Radio": "Radio",
|
"Radio": "Radio",
|
||||||
"Show all albums": "Mostrar todos los álbumes",
|
"Show all albums": "Mostrar todos los álbumes",
|
||||||
"Show all singles": "Show all singles",
|
"Show all singles": "Mostrar todos los singles",
|
||||||
"Show more": "Mostrar más",
|
"Show more": "Mostrar más",
|
||||||
"Downloaded": "Descargadas",
|
"Downloaded": "Descargadas",
|
||||||
"Queue": "Cola",
|
"Queue": "Cola",
|
||||||
|
@ -57,59 +57,59 @@
|
||||||
"Stop": "Parar",
|
"Stop": "Parar",
|
||||||
"Start": "Iniciar",
|
"Start": "Iniciar",
|
||||||
"Show folder": "Mostrar carpeta",
|
"Show folder": "Mostrar carpeta",
|
||||||
"Clear queue": "Limpiar cola",
|
"Clear queue": "Limpiar lista",
|
||||||
"Playing from": "Playing from",
|
"Playing from": "Reproduciendo desde",
|
||||||
"Info": "Información",
|
"Info": "Info",
|
||||||
"Lyrics": "Letras",
|
"Lyrics": "Letras",
|
||||||
"Track number": "Número de la canción",
|
"Track number": "Número de la canción",
|
||||||
"Disk number": "Número del disco",
|
"Disk number": "Número del disco",
|
||||||
"Explicit": "Explícito",
|
"Explicit": "Explícito",
|
||||||
"Source": "Fuente",
|
"Source": "Fuente",
|
||||||
"ID": "ID",
|
"ID": "ID",
|
||||||
"Error logging in!": "Error logging in!",
|
"Error logging in!": "¡Error al iniciar sesión!",
|
||||||
"Please try again later, or try another account.": "Please try again later, or try another account.",
|
"Please try again later, or try another account.": "Por favor, inténtalo de nuevo más tarde, o prueba con otra cuenta.",
|
||||||
"Logout": "Cerrar sesión",
|
"Logout": "Cerrar sesión",
|
||||||
"Login using browser": "Login using browser",
|
"Login using browser": "Iniciar sesión con navegador",
|
||||||
"Please login using your Deezer account:": "Please login using your Deezer account:",
|
"Please login using your Deezer account:": "Por favor, inicia sesión con tu cuenta de Deezer:",
|
||||||
"...or paste your ARL/Token below:": "...or paste your ARL/Token below:",
|
"...or paste your ARL/Token below:": "...o pega tu ARL/Token a continuación:",
|
||||||
"ARL/Token": "ARL/Token",
|
"ARL/Token": "ARL/Token",
|
||||||
"Login": "Ingresar",
|
"Login": "Iniciar sesión",
|
||||||
"By using this program, you disagree with Deezer's ToS.": "By using this program, you disagree with Deezer's ToS.",
|
"By using this program, you disagree with Deezer's ToS.": "Al usar este programa, usted no está de acuerdo con los Términos de Servicio de Deezer.",
|
||||||
"Only in Electron version!": "Only in Electron version!",
|
"Only in Electron version!": "¡Sólo en la versión Electron!",
|
||||||
"Search results for:": "Search results for:",
|
"Search results for:": "Resultados de la búsqueda para:",
|
||||||
"Error loading data!": "Error loading data!",
|
"Error loading data!": "¡Error al cargar datos!",
|
||||||
"Try again later!": "Try again later!",
|
"Try again later!": "¡Inténtalo más tarde!",
|
||||||
"Search": "Buscar",
|
"Search": "Buscar",
|
||||||
"Streaming Quality": "Streaming Quality",
|
"Streaming Quality": "Calidad de reproducción",
|
||||||
"Download Quality": "Download Quality",
|
"Download Quality": "Calidad de descarga",
|
||||||
"Downloads Directory": "Downloads Directory",
|
"Downloads Directory": "Carpeta de descargas",
|
||||||
"Simultaneous downloads": "Simultaneous downloads",
|
"Simultaneous downloads": "Descargas simultaneas máximas",
|
||||||
"Always show download confirm dialog before downloading.": "Always show download confirm dialog before downloading.",
|
"Always show download confirm dialog before downloading.": "Mostrar siempre una confirmación de descarga antes de descargar.",
|
||||||
"Show download dialog": "Show download dialog",
|
"Show download dialog": "Mostrar diálogo de descargas",
|
||||||
"Create folders for artists": "Create folders for artists",
|
"Create folders for artists": "Crear carpetas por artistas",
|
||||||
"Create folders for albums": "Create folders for albums",
|
"Create folders for albums": "Crear carpetas por álbumes",
|
||||||
"Download lyrics": "Descargar letras",
|
"Download lyrics": "Descargar letras",
|
||||||
"Variables": "Variables",
|
"Variables": "Variables",
|
||||||
"UI": "IU",
|
"UI": "Interfaz de Usuario",
|
||||||
"Show autocomplete in search": "Show autocomplete in search",
|
"Show autocomplete in search": "Mostrar autocompletado al buscar",
|
||||||
"Integrations": "Integrations",
|
"Integrations": "Integraciones",
|
||||||
"This allows listening history, flow and recommendations to work properly.": "This allows listening history, flow and recommendations to work properly.",
|
"This allows listening history, flow and recommendations to work properly.": "Esto permite registrar el historial, para que flow y las recomendaciones funcionen correctamente.",
|
||||||
"Log track listens to Deezer": "Registrar la canción que escucha a Deezer",
|
"Log track listens to Deezer": "Enviar registro de reproducción a Deezer",
|
||||||
"Connect your LastFM account to allow scrobbling.": "Connect your LastFM account to allow scrobbling.",
|
"Connect your LastFM account to allow scrobbling.": "Conecta tu cuenta de LastFM para permitir sincronizar tus canciones.",
|
||||||
"Login with LastFM": "Iniciar sesión con LastFM",
|
"Login with LastFM": "Iniciar sesión con LastFM",
|
||||||
"Disconnect LastFM": "Disconnect LastFM",
|
"Disconnect LastFM": "Desconectar LastFM",
|
||||||
"Requires restart to apply!": "Requires restart to apply!",
|
"Requires restart to apply!": "¡Requiere reiniciar para aplicar!",
|
||||||
"Enable Discord Rich Presence, requires restart to toggle!": "Enable Discord Rich Presence, requires restart to toggle!",
|
"Enable Discord Rich Presence, requires restart to toggle!": "¡Activar Rich Presence de Discord requiere reiniciar para cambiar!",
|
||||||
"Discord Rich Presence": "Discord Rich Presence",
|
"Discord Rich Presence": "Rich Presence de Discord",
|
||||||
"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!",
|
"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",
|
"Discord Join Button": "Botón Unirse en Discord",
|
||||||
"Other": "Otro",
|
"Other": "Otro",
|
||||||
"Minimize to tray": "Minimize to tray",
|
"Minimize to tray": "Minimizar a la bandeja del sistema",
|
||||||
"Don't minimize to tray": "Don't minimize to tray",
|
"Don't minimize to tray": "No minimizar a la bandeja del sistema",
|
||||||
"Close on exit": "Close on exit",
|
"Close on exit": "Cerrar al salir",
|
||||||
"Settings saved!": "¡Configuraciones guardadas!",
|
"Settings saved!": "¡Configuraciones guardadas!",
|
||||||
"Available only in Electron version!": "Available only in Electron version!",
|
"Available only in Electron version!": "¡Disponible sólo en la versión Electron!",
|
||||||
"Crossfade (ms)": "Desvanecimiento (ms)",
|
"Crossfade (ms)": "Transición (ms)",
|
||||||
"Select primary color": "Seleccionar color primario",
|
"Select primary color": "Seleccionar color primario",
|
||||||
"Light theme": "Tema claro",
|
"Light theme": "Tema claro",
|
||||||
"Create folders for playlists": "Crear carpetas para listas de reproducción",
|
"Create folders for playlists": "Crear carpetas para listas de reproducción",
|
||||||
|
@ -120,5 +120,11 @@
|
||||||
"Discord": "Discord",
|
"Discord": "Discord",
|
||||||
"Telegram Android Group": "Grupo de Android en Telegram",
|
"Telegram Android Group": "Grupo de Android en Telegram",
|
||||||
"Credits:": "Créditos:",
|
"Credits:": "Créditos:",
|
||||||
"Agree": "Acepto"
|
"Agree": "Acepto",
|
||||||
|
"Dismiss": "Dismiss",
|
||||||
|
"Added to playlist!": "Added to playlist!",
|
||||||
|
"Added to library!": "Added to library!",
|
||||||
|
"Removed from library!": "Removed from library!",
|
||||||
|
"Removed from playlist!": "Removed from playlist!",
|
||||||
|
"Playlist deleted!": "Playlist deleted!"
|
||||||
}
|
}
|
|
@ -120,5 +120,11 @@
|
||||||
"Discord": "Discord",
|
"Discord": "Discord",
|
||||||
"Telegram Android Group": "Telegram Android Group",
|
"Telegram Android Group": "Telegram Android Group",
|
||||||
"Credits:": "Credits:",
|
"Credits:": "Credits:",
|
||||||
"Agree": "Agree"
|
"Agree": "Agree",
|
||||||
|
"Dismiss": "Dismiss",
|
||||||
|
"Added to playlist!": "Added to playlist!",
|
||||||
|
"Added to library!": "Added to library!",
|
||||||
|
"Removed from library!": "Removed from library!",
|
||||||
|
"Removed from playlist!": "Removed from playlist!",
|
||||||
|
"Playlist deleted!": "Playlist deleted!"
|
||||||
}
|
}
|
|
@ -120,5 +120,11 @@
|
||||||
"Discord": "Discord",
|
"Discord": "Discord",
|
||||||
"Telegram Android Group": "Telegram Android Group",
|
"Telegram Android Group": "Telegram Android Group",
|
||||||
"Credits:": "Credits:",
|
"Credits:": "Credits:",
|
||||||
"Agree": "Agree"
|
"Agree": "Agree",
|
||||||
|
"Dismiss": "Dismiss",
|
||||||
|
"Added to playlist!": "Added to playlist!",
|
||||||
|
"Added to library!": "Added to library!",
|
||||||
|
"Removed from library!": "Removed from library!",
|
||||||
|
"Removed from playlist!": "Removed from playlist!",
|
||||||
|
"Playlist deleted!": "Playlist deleted!"
|
||||||
}
|
}
|
|
@ -120,5 +120,11 @@
|
||||||
"Discord": "Discord",
|
"Discord": "Discord",
|
||||||
"Telegram Android Group": "Telegram Android Group",
|
"Telegram Android Group": "Telegram Android Group",
|
||||||
"Credits:": "Credits:",
|
"Credits:": "Credits:",
|
||||||
"Agree": "Agree"
|
"Agree": "Agree",
|
||||||
|
"Dismiss": "Dismiss",
|
||||||
|
"Added to playlist!": "Added to playlist!",
|
||||||
|
"Added to library!": "Added to library!",
|
||||||
|
"Removed from library!": "Removed from library!",
|
||||||
|
"Removed from playlist!": "Removed from playlist!",
|
||||||
|
"Playlist deleted!": "Playlist deleted!"
|
||||||
}
|
}
|
|
@ -120,5 +120,11 @@
|
||||||
"Discord": "Discord",
|
"Discord": "Discord",
|
||||||
"Telegram Android Group": "Telegram Android Group",
|
"Telegram Android Group": "Telegram Android Group",
|
||||||
"Credits:": "Credits:",
|
"Credits:": "Credits:",
|
||||||
"Agree": "Agree"
|
"Agree": "Agree",
|
||||||
|
"Dismiss": "Dismiss",
|
||||||
|
"Added to playlist!": "Added to playlist!",
|
||||||
|
"Added to library!": "Added to library!",
|
||||||
|
"Removed from library!": "Removed from library!",
|
||||||
|
"Removed from playlist!": "Removed from playlist!",
|
||||||
|
"Playlist deleted!": "Playlist deleted!"
|
||||||
}
|
}
|
|
@ -120,5 +120,11 @@
|
||||||
"Discord": "Discord",
|
"Discord": "Discord",
|
||||||
"Telegram Android Group": "Telegram Android Group",
|
"Telegram Android Group": "Telegram Android Group",
|
||||||
"Credits:": "Credits:",
|
"Credits:": "Credits:",
|
||||||
"Agree": "Agree"
|
"Agree": "Agree",
|
||||||
|
"Dismiss": "Dismiss",
|
||||||
|
"Added to playlist!": "Added to playlist!",
|
||||||
|
"Added to library!": "Added to library!",
|
||||||
|
"Removed from library!": "Removed from library!",
|
||||||
|
"Removed from playlist!": "Removed from playlist!",
|
||||||
|
"Playlist deleted!": "Playlist deleted!"
|
||||||
}
|
}
|
|
@ -120,5 +120,11 @@
|
||||||
"Discord": "Discord",
|
"Discord": "Discord",
|
||||||
"Telegram Android Group": "Telegram Android Group",
|
"Telegram Android Group": "Telegram Android Group",
|
||||||
"Credits:": "Credits:",
|
"Credits:": "Credits:",
|
||||||
"Agree": "Agree"
|
"Agree": "Agree",
|
||||||
|
"Dismiss": "Dismiss",
|
||||||
|
"Added to playlist!": "Added to playlist!",
|
||||||
|
"Added to library!": "Added to library!",
|
||||||
|
"Removed from library!": "Removed from library!",
|
||||||
|
"Removed from playlist!": "Removed from playlist!",
|
||||||
|
"Playlist deleted!": "Playlist deleted!"
|
||||||
}
|
}
|
|
@ -120,5 +120,11 @@
|
||||||
"Discord": "Discord",
|
"Discord": "Discord",
|
||||||
"Telegram Android Group": "Telegram Android Group",
|
"Telegram Android Group": "Telegram Android Group",
|
||||||
"Credits:": "Credits:",
|
"Credits:": "Credits:",
|
||||||
"Agree": "Agree"
|
"Agree": "Agree",
|
||||||
|
"Dismiss": "Dismiss",
|
||||||
|
"Added to playlist!": "Added to playlist!",
|
||||||
|
"Added to library!": "Added to library!",
|
||||||
|
"Removed from library!": "Removed from library!",
|
||||||
|
"Removed from playlist!": "Removed from playlist!",
|
||||||
|
"Playlist deleted!": "Playlist deleted!"
|
||||||
}
|
}
|
|
@ -110,15 +110,21 @@
|
||||||
"Settings saved!": "Pengaturan tersimpan!",
|
"Settings saved!": "Pengaturan tersimpan!",
|
||||||
"Available only in Electron version!": "Hanya tersedia di versi Electron!",
|
"Available only in Electron version!": "Hanya tersedia di versi Electron!",
|
||||||
"Crossfade (ms)": "Crossfade (ms)",
|
"Crossfade (ms)": "Crossfade (ms)",
|
||||||
"Select primary color": "Select primary color",
|
"Select primary color": "Pilih warna utama",
|
||||||
"Light theme": "Light theme",
|
"Light theme": "Tema cerah",
|
||||||
"Create folders for playlists": "Create folders for playlists",
|
"Create folders for playlists": "Buat folder untuk daftar putar",
|
||||||
"About": "About",
|
"About": "Tentang",
|
||||||
"Links:": "Links:",
|
"Links:": "Tautan:",
|
||||||
"Telegram Releases": "Telegram Releases",
|
"Telegram Releases": "Telegram Rilis",
|
||||||
"Telegram Group": "Telegram Group",
|
"Telegram Group": "Telegram Grub",
|
||||||
"Discord": "Discord",
|
"Discord": "Discord",
|
||||||
"Telegram Android Group": "Telegram Android Group",
|
"Telegram Android Group": "Telegram Grub Android",
|
||||||
"Credits:": "Credits:",
|
"Credits:": "Kredit:",
|
||||||
"Agree": "Agree"
|
"Agree": "Setuju",
|
||||||
|
"Dismiss": "Dismiss",
|
||||||
|
"Added to playlist!": "Added to playlist!",
|
||||||
|
"Added to library!": "Added to library!",
|
||||||
|
"Removed from library!": "Removed from library!",
|
||||||
|
"Removed from playlist!": "Removed from playlist!",
|
||||||
|
"Playlist deleted!": "Playlist deleted!"
|
||||||
}
|
}
|
|
@ -120,5 +120,11 @@
|
||||||
"Discord": "Discord",
|
"Discord": "Discord",
|
||||||
"Telegram Android Group": "Telegram Android Group",
|
"Telegram Android Group": "Telegram Android Group",
|
||||||
"Credits:": "Credits:",
|
"Credits:": "Credits:",
|
||||||
"Agree": "Agree"
|
"Agree": "Agree",
|
||||||
|
"Dismiss": "Dismiss",
|
||||||
|
"Added to playlist!": "Added to playlist!",
|
||||||
|
"Added to library!": "Added to library!",
|
||||||
|
"Removed from library!": "Removed from library!",
|
||||||
|
"Removed from playlist!": "Removed from playlist!",
|
||||||
|
"Playlist deleted!": "Playlist deleted!"
|
||||||
}
|
}
|
|
@ -120,5 +120,11 @@
|
||||||
"Discord": "Discord",
|
"Discord": "Discord",
|
||||||
"Telegram Android Group": "Telegram Android Group",
|
"Telegram Android Group": "Telegram Android Group",
|
||||||
"Credits:": "Credits:",
|
"Credits:": "Credits:",
|
||||||
"Agree": "Agree"
|
"Agree": "Agree",
|
||||||
|
"Dismiss": "Dismiss",
|
||||||
|
"Added to playlist!": "Added to playlist!",
|
||||||
|
"Added to library!": "Added to library!",
|
||||||
|
"Removed from library!": "Removed from library!",
|
||||||
|
"Removed from playlist!": "Removed from playlist!",
|
||||||
|
"Playlist deleted!": "Playlist deleted!"
|
||||||
}
|
}
|
|
@ -39,7 +39,7 @@
|
||||||
"Add to queue": "Dodaj do kolejki",
|
"Add to queue": "Dodaj do kolejki",
|
||||||
"Remove from library": "Usuń z biblioteki",
|
"Remove from library": "Usuń z biblioteki",
|
||||||
"Remove from playlist": "Usuń z playlisty",
|
"Remove from playlist": "Usuń z playlisty",
|
||||||
"Play track mix": "Odtwórz mieszane utwory",
|
"Play track mix": "Odtwarzaj losowo",
|
||||||
"Go to": "Przejdź do",
|
"Go to": "Przejdź do",
|
||||||
"Track Mix": "Mieszaj utwory",
|
"Track Mix": "Mieszaj utwory",
|
||||||
"Duration": "Czas trwania",
|
"Duration": "Czas trwania",
|
||||||
|
@ -102,7 +102,7 @@
|
||||||
"Enable Discord Rich Presence, requires restart to toggle!": "Włącz Szczegółowy Widok Discord, wymaga 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",
|
"Discord Rich Presence": "Discord Rich Presence",
|
||||||
"Enable Discord join button for syncing tracks, requires restart to toggle!": "Włącz w Discordzie przycisk dołączenia, aby synchronizować utwory, wymaga ponownego uruchomienia!",
|
"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",
|
"Discord Join Button": "Pokaż przycisk dołączenia do Discord",
|
||||||
"Other": "Inne",
|
"Other": "Inne",
|
||||||
"Minimize to tray": "Minimalizuj do zasobnika",
|
"Minimize to tray": "Minimalizuj do zasobnika",
|
||||||
"Don't minimize to tray": "Nie minimalizuj do zasobnika",
|
"Don't minimize to tray": "Nie minimalizuj do zasobnika",
|
||||||
|
@ -110,15 +110,21 @@
|
||||||
"Settings saved!": "Ustawienia zapisane!",
|
"Settings saved!": "Ustawienia zapisane!",
|
||||||
"Available only in Electron version!": "Dostępne tylko w wersji Electron!",
|
"Available only in Electron version!": "Dostępne tylko w wersji Electron!",
|
||||||
"Crossfade (ms)": "Przejście (ms)",
|
"Crossfade (ms)": "Przejście (ms)",
|
||||||
"Select primary color": "Select primary color",
|
"Select primary color": "Wybierz podstawowy kolor",
|
||||||
"Light theme": "Light theme",
|
"Light theme": "Wybierz jasny motyw",
|
||||||
"Create folders for playlists": "Create folders for playlists",
|
"Create folders for playlists": "Utwórz folder dla playlist",
|
||||||
"About": "About",
|
"About": "O programie",
|
||||||
"Links:": "Links:",
|
"Links:": "Adresy:",
|
||||||
"Telegram Releases": "Telegram Releases",
|
"Telegram Releases": "Nowe wydania w Telegram",
|
||||||
"Telegram Group": "Telegram Group",
|
"Telegram Group": "Grupa w Telegramie",
|
||||||
"Discord": "Discord",
|
"Discord": "Discord",
|
||||||
"Telegram Android Group": "Telegram Android Group",
|
"Telegram Android Group": "Grupa Telegram dla wydań na Android",
|
||||||
"Credits:": "Credits:",
|
"Credits:": "Twórcy:",
|
||||||
"Agree": "Agree"
|
"Agree": "Akceptuję",
|
||||||
|
"Dismiss": "Dismiss",
|
||||||
|
"Added to playlist!": "Added to playlist!",
|
||||||
|
"Added to library!": "Added to library!",
|
||||||
|
"Removed from library!": "Removed from library!",
|
||||||
|
"Removed from playlist!": "Removed from playlist!",
|
||||||
|
"Playlist deleted!": "Playlist deleted!"
|
||||||
}
|
}
|
|
@ -49,34 +49,34 @@
|
||||||
"Play top": "Reproduzir no topo",
|
"Play top": "Reproduzir no topo",
|
||||||
"Radio": "Rádio",
|
"Radio": "Rádio",
|
||||||
"Show all albums": "Mostrar todos os álbuns",
|
"Show all albums": "Mostrar todos os álbuns",
|
||||||
"Show all singles": "Show all singles",
|
"Show all singles": "Mostrar todas as músicas",
|
||||||
"Show more": "Show more",
|
"Show more": "Mostrar mais",
|
||||||
"Downloaded": "Downloaded",
|
"Downloaded": "Baixados",
|
||||||
"Queue": "Queue",
|
"Queue": "Fila de Reprodução",
|
||||||
"Total": "Total",
|
"Total": "Total",
|
||||||
"Stop": "Stop",
|
"Stop": "Parar",
|
||||||
"Start": "Start",
|
"Start": "Começar",
|
||||||
"Show folder": "Show folder",
|
"Show folder": "Mostrar pastas",
|
||||||
"Clear queue": "Clear queue",
|
"Clear queue": "Limpar lista",
|
||||||
"Playing from": "Playing from",
|
"Playing from": "Reproduzindo de",
|
||||||
"Info": "Info",
|
"Info": "Informações",
|
||||||
"Lyrics": "Lyrics",
|
"Lyrics": "Letras",
|
||||||
"Track number": "Track number",
|
"Track number": "Número de faixa",
|
||||||
"Disk number": "Disk number",
|
"Disk number": "Numero de disco",
|
||||||
"Explicit": "Explicit",
|
"Explicit": "Explicito",
|
||||||
"Source": "Source",
|
"Source": "Fonte",
|
||||||
"ID": "ID",
|
"ID": "Identificação",
|
||||||
"Error logging in!": "Error logging in!",
|
"Error logging in!": "Erro de login!",
|
||||||
"Please try again later, or try another account.": "Please try again later, or try another account.",
|
"Please try again later, or try another account.": "Por favor, tente novamente mais tarde ou tente outra conta.",
|
||||||
"Logout": "Logout",
|
"Logout": "Encerrar sessão",
|
||||||
"Login using browser": "Login using browser",
|
"Login using browser": "Login usando o navegador",
|
||||||
"Please login using your Deezer account:": "Please login using your Deezer account:",
|
"Please login using your Deezer account:": "Faça login usando sua conta do Deezer:",
|
||||||
"...or paste your ARL/Token below:": "...or paste your ARL/Token below:",
|
"...or paste your ARL/Token below:": "...ou cole seu ARL/Token abaixo:",
|
||||||
"ARL/Token": "ARL/Token",
|
"ARL/Token": "ARL/Token",
|
||||||
"Login": "Login",
|
"Login": "Login",
|
||||||
"By using this program, you disagree with Deezer's ToS.": "By using this program, you disagree with Deezer's ToS.",
|
"By using this program, you disagree with Deezer's ToS.": "Ao usar este programa, você discorda do Acordo de Assinatura do Deezer.",
|
||||||
"Only in Electron version!": "Only in Electron version!",
|
"Only in Electron version!": "Apenas na versão do Electron!",
|
||||||
"Search results for:": "Search results for:",
|
"Search results for:": "Buscar resultados para:",
|
||||||
"Error loading data!": "Error loading data!",
|
"Error loading data!": "Error loading data!",
|
||||||
"Try again later!": "Try again later!",
|
"Try again later!": "Try again later!",
|
||||||
"Search": "Search",
|
"Search": "Search",
|
||||||
|
@ -98,7 +98,7 @@
|
||||||
"Connect your LastFM account to allow scrobbling.": "Connect your LastFM account to allow scrobbling.",
|
"Connect your LastFM account to allow scrobbling.": "Connect your LastFM account to allow scrobbling.",
|
||||||
"Login with LastFM": "Login with LastFM",
|
"Login with LastFM": "Login with LastFM",
|
||||||
"Disconnect LastFM": "Disconnect LastFM",
|
"Disconnect LastFM": "Disconnect LastFM",
|
||||||
"Requires restart to apply!": "Requires restart to apply!",
|
"Requires restart to apply!": "Requer reinicialização do aplicativo para aplicar!",
|
||||||
"Enable Discord Rich Presence, requires restart to toggle!": "Ativar o Rich Presence do Discord, requer reiniciar para alternar!",
|
"Enable Discord Rich Presence, requires restart to toggle!": "Ativar o Rich Presence do Discord, requer reiniciar para alternar!",
|
||||||
"Discord Rich Presence": "Habilitar o Discord",
|
"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!",
|
"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!",
|
||||||
|
@ -120,5 +120,11 @@
|
||||||
"Discord": "Discord",
|
"Discord": "Discord",
|
||||||
"Telegram Android Group": "Grupo Android do Telegram",
|
"Telegram Android Group": "Grupo Android do Telegram",
|
||||||
"Credits:": "Créditos:",
|
"Credits:": "Créditos:",
|
||||||
"Agree": "Concordo"
|
"Agree": "Concordo",
|
||||||
|
"Dismiss": "Dismiss",
|
||||||
|
"Added to playlist!": "Added to playlist!",
|
||||||
|
"Added to library!": "Added to library!",
|
||||||
|
"Removed from library!": "Removed from library!",
|
||||||
|
"Removed from playlist!": "Removed from playlist!",
|
||||||
|
"Playlist deleted!": "Playlist deleted!"
|
||||||
}
|
}
|
|
@ -120,5 +120,11 @@
|
||||||
"Discord": "Discord",
|
"Discord": "Discord",
|
||||||
"Telegram Android Group": "Telegram Android Group",
|
"Telegram Android Group": "Telegram Android Group",
|
||||||
"Credits:": "Credits:",
|
"Credits:": "Credits:",
|
||||||
"Agree": "Agree"
|
"Agree": "Agree",
|
||||||
|
"Dismiss": "Dismiss",
|
||||||
|
"Added to playlist!": "Added to playlist!",
|
||||||
|
"Added to library!": "Added to library!",
|
||||||
|
"Removed from library!": "Removed from library!",
|
||||||
|
"Removed from playlist!": "Removed from playlist!",
|
||||||
|
"Playlist deleted!": "Playlist deleted!"
|
||||||
}
|
}
|
|
@ -120,5 +120,11 @@
|
||||||
"Discord": "Discord",
|
"Discord": "Discord",
|
||||||
"Telegram Android Group": "Telegram Android Group",
|
"Telegram Android Group": "Telegram Android Group",
|
||||||
"Credits:": "Credits:",
|
"Credits:": "Credits:",
|
||||||
"Agree": "Agree"
|
"Agree": "Agree",
|
||||||
|
"Dismiss": "Dismiss",
|
||||||
|
"Added to playlist!": "Added to playlist!",
|
||||||
|
"Added to library!": "Added to library!",
|
||||||
|
"Removed from library!": "Removed from library!",
|
||||||
|
"Removed from playlist!": "Removed from playlist!",
|
||||||
|
"Playlist deleted!": "Playlist deleted!"
|
||||||
}
|
}
|
|
@ -120,5 +120,11 @@
|
||||||
"Discord": "Discord",
|
"Discord": "Discord",
|
||||||
"Telegram Android Group": "Telegram Android Group",
|
"Telegram Android Group": "Telegram Android Group",
|
||||||
"Credits:": "Credits:",
|
"Credits:": "Credits:",
|
||||||
"Agree": "Agree"
|
"Agree": "Agree",
|
||||||
|
"Dismiss": "Dismiss",
|
||||||
|
"Added to playlist!": "Added to playlist!",
|
||||||
|
"Added to library!": "Added to library!",
|
||||||
|
"Removed from library!": "Removed from library!",
|
||||||
|
"Removed from playlist!": "Removed from playlist!",
|
||||||
|
"Playlist deleted!": "Playlist deleted!"
|
||||||
}
|
}
|
|
@ -63,7 +63,7 @@
|
||||||
"Lyrics": "Текст",
|
"Lyrics": "Текст",
|
||||||
"Track number": "Номер треку",
|
"Track number": "Номер треку",
|
||||||
"Disk number": "Номер диску",
|
"Disk number": "Номер диску",
|
||||||
"Explicit": "Явний",
|
"Explicit": "Докладно",
|
||||||
"Source": "Джерело",
|
"Source": "Джерело",
|
||||||
"ID": "ID",
|
"ID": "ID",
|
||||||
"Error logging in!": "Помилка входу!",
|
"Error logging in!": "Помилка входу!",
|
||||||
|
@ -75,7 +75,7 @@
|
||||||
"ARL/Token": "ARL/токен",
|
"ARL/Token": "ARL/токен",
|
||||||
"Login": "Увійти",
|
"Login": "Увійти",
|
||||||
"By using this program, you disagree with Deezer's ToS.": "Використовуючи цю програму, ви не погоджуєтесь із умовами використання Deezer.",
|
"By using this program, you disagree with Deezer's ToS.": "Використовуючи цю програму, ви не погоджуєтесь із умовами використання Deezer.",
|
||||||
"Only in Electron version!": "Тільки в Electron версії!",
|
"Only in Electron version!": "Тільки в версії Electron!",
|
||||||
"Search results for:": "Результати пошуку для:",
|
"Search results for:": "Результати пошуку для:",
|
||||||
"Error loading data!": "Помилка завантаження даних!",
|
"Error loading data!": "Помилка завантаження даних!",
|
||||||
"Try again later!": "Повторіть спробу пізніше!",
|
"Try again later!": "Повторіть спробу пізніше!",
|
||||||
|
@ -90,18 +90,18 @@
|
||||||
"Create folders for albums": "Створити теки для альбомів",
|
"Create folders for albums": "Створити теки для альбомів",
|
||||||
"Download lyrics": "Завантажити тексти пісень",
|
"Download lyrics": "Завантажити тексти пісень",
|
||||||
"Variables": "Змінні",
|
"Variables": "Змінні",
|
||||||
"UI": "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.": "Для правильної роботи Flow, рекомендацій та історії.",
|
||||||
"Log track listens to Deezer": "Реєстр треків Deezer",
|
"Log track listens to Deezer": "Відправляти статистику",
|
||||||
"Connect your LastFM account to allow scrobbling.": "Підключіть обліковий запис LastFM, щоб дозволити скроблінг.",
|
"Connect your LastFM account to allow scrobbling.": "Підключити обліковий запис LastFM, щоб дозволити scrobbling.",
|
||||||
"Login with LastFM": "Увійти через LastFM",
|
"Login with LastFM": "Увійти через LastFM",
|
||||||
"Disconnect LastFM": "Від'єднати LastFM",
|
"Disconnect LastFM": "Від'єднати LastFM",
|
||||||
"Requires restart to apply!": "Необхідно перезапустити для застосування!",
|
"Requires restart to apply!": "Необхідно перезапустити для застосування!",
|
||||||
"Enable Discord Rich Presence, requires restart to toggle!": "Увімкнути Discord Rich Presence, для використання необхідний перезапуск!",
|
"Enable Discord Rich Presence, requires restart to toggle!": "Увімкнути Discord Rich Presence, для застосування потрібен перезапуск!",
|
||||||
"Discord Rich Presence": "Discord Rich Presence",
|
"Discord Rich Presence": "Discord Rich Presence",
|
||||||
"Enable Discord join button for syncing tracks, requires restart to toggle!": "Увімкніть кнопку приєднання Discord для синхронізації треків, для застосування потрібен перезапуск!",
|
"Enable Discord join button for syncing tracks, requires restart to toggle!": "Увімкнути приєднання до Discord для синхронізації треків, для застосування потрібен перезапуск!",
|
||||||
"Discord Join Button": "Кнопка приєднання до Discord",
|
"Discord Join Button": "Кнопка приєднання до Discord",
|
||||||
"Other": "Інше",
|
"Other": "Інше",
|
||||||
"Minimize to tray": "Згорнути в трей",
|
"Minimize to tray": "Згорнути в трей",
|
||||||
|
@ -110,15 +110,21 @@
|
||||||
"Settings saved!": "Налаштування збережено!",
|
"Settings saved!": "Налаштування збережено!",
|
||||||
"Available only in Electron version!": "Доступно лише в Electron версії!",
|
"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 релізи",
|
"Telegram Releases": "Telegram релізи",
|
||||||
"Telegram Group": "Група в Telegram",
|
"Telegram Group": "Група в Telegram",
|
||||||
"Discord": "Discord",
|
"Discord": "Discord",
|
||||||
"Telegram Android Group": "Група Андроїд Telegram",
|
"Telegram Android Group": "Група Android в Telegram",
|
||||||
"Credits:": "Автори:",
|
"Credits:": "Автори:",
|
||||||
"Agree": "Погоджуюсь"
|
"Agree": "Погоджуюсь",
|
||||||
|
"Dismiss": "Dismiss",
|
||||||
|
"Added to playlist!": "Added to playlist!",
|
||||||
|
"Added to library!": "Added to library!",
|
||||||
|
"Removed from library!": "Removed from library!",
|
||||||
|
"Removed from playlist!": "Removed from playlist!",
|
||||||
|
"Playlist deleted!": "Playlist deleted!"
|
||||||
}
|
}
|
|
@ -120,5 +120,11 @@
|
||||||
"Discord": "Discord",
|
"Discord": "Discord",
|
||||||
"Telegram Android Group": "Telegram Android Group",
|
"Telegram Android Group": "Telegram Android Group",
|
||||||
"Credits:": "Credits:",
|
"Credits:": "Credits:",
|
||||||
"Agree": "Agree"
|
"Agree": "Agree",
|
||||||
|
"Dismiss": "Dismiss",
|
||||||
|
"Added to playlist!": "Added to playlist!",
|
||||||
|
"Added to library!": "Added to library!",
|
||||||
|
"Removed from library!": "Removed from library!",
|
||||||
|
"Removed from playlist!": "Removed from playlist!",
|
||||||
|
"Playlist deleted!": "Playlist deleted!"
|
||||||
}
|
}
|
|
@ -108,7 +108,9 @@ new Vue({
|
||||||
},
|
},
|
||||||
|
|
||||||
//Used to prevent double listen logging
|
//Used to prevent double listen logging
|
||||||
logListenId: null
|
logListenId: null,
|
||||||
|
|
||||||
|
globalSnackbar: null
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
@ -241,25 +243,30 @@ new Vue({
|
||||||
if (this.settings.crossfadeDuration > 0 && this.position >= (this.duration() - this.settings.crossfadeDuration) && this.state == 2 && this.gapless.audio && !this.gapless.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;
|
this.gapless.crossfade = true;
|
||||||
let currentVolume = this.audio.volume;
|
let currentVolume = this.audio.volume;
|
||||||
this.gapless.audio.play();
|
let oldAudio = this.audio;
|
||||||
|
|
||||||
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.audio = this.gapless.audio;
|
||||||
|
this.audio.play();
|
||||||
|
|
||||||
|
//Update meta
|
||||||
this.playbackInfo = this.gapless.info;
|
this.playbackInfo = this.gapless.info;
|
||||||
this.track = this.gapless.track;
|
this.track = this.gapless.track;
|
||||||
this.queue.index = this.gapless.index;
|
this.queue.index = this.gapless.index;
|
||||||
this.resetGapless();
|
|
||||||
this.configureAudio();
|
this.configureAudio();
|
||||||
this.updateMediaSession();
|
this.updateMediaSession();
|
||||||
|
|
||||||
|
let volumeStep = currentVolume / (this.settings.crossfadeDuration / 50);
|
||||||
|
for (let i=0; i<(this.settings.crossfadeDuration / 50); i++) {
|
||||||
|
if ((oldAudio.volume - volumeStep) > 0)
|
||||||
|
oldAudio.volume -= volumeStep;
|
||||||
|
this.audio.volume += volumeStep;
|
||||||
|
await new Promise((res) => setTimeout(() => res(), 50));
|
||||||
|
}
|
||||||
|
oldAudio.pause();
|
||||||
|
|
||||||
|
this.resetGapless();
|
||||||
|
|
||||||
|
//Save
|
||||||
await this.savePlaybackInfo();
|
await this.savePlaybackInfo();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -105,6 +105,7 @@ export default {
|
||||||
this.libraryLoading = true;
|
this.libraryLoading = true;
|
||||||
await this.$axios.put(`/library/album?id=${this.album.id}`);
|
await this.$axios.put(`/library/album?id=${this.album.id}`);
|
||||||
this.libraryLoading = false;
|
this.libraryLoading = false;
|
||||||
|
this.$root.globalSnackbar = this.$t('Added to library!');
|
||||||
},
|
},
|
||||||
async download() {
|
async download() {
|
||||||
this.downloadDialog = true;
|
this.downloadDialog = true;
|
||||||
|
|
|
@ -151,6 +151,7 @@ export default {
|
||||||
async library() {
|
async library() {
|
||||||
this.libraryLoading = true;
|
this.libraryLoading = true;
|
||||||
await this.$axios.put(`/library/artist?id=${this.artist.id}`);
|
await this.$axios.put(`/library/artist?id=${this.artist.id}`);
|
||||||
|
this.$root.globalSnackbar = this.$t('Added to library!');
|
||||||
this.libraryLoading = false;
|
this.libraryLoading = false;
|
||||||
},
|
},
|
||||||
async load() {
|
async load() {
|
||||||
|
|
|
@ -270,11 +270,13 @@ export default {
|
||||||
this.inLibrary = false;
|
this.inLibrary = false;
|
||||||
//Remove from cache
|
//Remove from cache
|
||||||
this.$root.libraryTracks.splice(this.$root.libraryTracks.indexOf(this.$root.track.id), 1);
|
this.$root.libraryTracks.splice(this.$root.libraryTracks.indexOf(this.$root.track.id), 1);
|
||||||
|
this.$root.globalSnackbar = this.$t('Removed from library!');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
await this.$axios.put('/library/track?id=' + this.$root.track.id);
|
await this.$axios.put('/library/track?id=' + this.$root.track.id);
|
||||||
this.$root.libraryTracks.push(this.$root.track.id);
|
this.$root.libraryTracks.push(this.$root.track.id);
|
||||||
this.inLibrary = true;
|
this.inLibrary = true;
|
||||||
|
this.$root.globalSnackbar = this.$t('Added to library!');
|
||||||
},
|
},
|
||||||
//Download current track
|
//Download current track
|
||||||
async download() {
|
async download() {
|
||||||
|
|
|
@ -141,6 +141,7 @@ export default {
|
||||||
this.libraryLoading = true;
|
this.libraryLoading = true;
|
||||||
await this.$axios.put(`/library/playlist?id=${this.playlist.id}`);
|
await this.$axios.put(`/library/playlist?id=${this.playlist.id}`);
|
||||||
this.libraryLoading = false;
|
this.libraryLoading = false;
|
||||||
|
this.$root.globalSnackbar = this.$t('Added to library!');
|
||||||
},
|
},
|
||||||
|
|
||||||
async initialLoad() {
|
async initialLoad() {
|
||||||
|
|
|
@ -292,13 +292,16 @@ export default {
|
||||||
languages: [
|
languages: [
|
||||||
{code: 'en', name: 'English'},
|
{code: 'en', name: 'English'},
|
||||||
{code: 'ar', name: 'Arabic'},
|
{code: 'ar', name: 'Arabic'},
|
||||||
|
{code: 'fr', name: 'French'},
|
||||||
{code: 'de', name: 'German'},
|
{code: 'de', name: 'German'},
|
||||||
{code: 'el', name: 'Greek'},
|
{code: 'el', name: 'Greek'},
|
||||||
{code: 'id', name: 'Indonesian'},
|
{code: 'id', name: 'Indonesian'},
|
||||||
{code: 'it', name: 'Italian'},
|
{code: 'it', name: 'Italian'},
|
||||||
{code: 'pl', name: 'Polish'},
|
{code: 'pl', name: 'Polish'},
|
||||||
|
{code: 'pt', name: 'Portuguese'},
|
||||||
{code: 'ro', name: 'Romanian'},
|
{code: 'ro', name: 'Romanian'},
|
||||||
{code: 'ru', name: 'Russian'},
|
{code: 'ru', name: 'Russian'},
|
||||||
|
{code: 'es', name: 'Spanish'},
|
||||||
{code: 'tr', name: 'Turkish'},
|
{code: 'tr', name: 'Turkish'},
|
||||||
{code: 'uk', name: 'Ukrainian'}
|
{code: 'uk', name: 'Ukrainian'}
|
||||||
],
|
],
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "freezer",
|
"name": "freezer",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "1.1.2",
|
"version": "1.1.3",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "background.js",
|
"main": "background.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "freezer",
|
"name": "freezer",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "1.1.2",
|
"version": "1.1.3",
|
||||||
"description": "",
|
"description": "",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"pack": "electron-builder --dir",
|
"pack": "electron-builder --dir",
|
||||||
|
|
Loading…
Reference in New Issue