1.1.0 - Translations, downloads, bug fixes
This commit is contained in:
@ -31,7 +31,7 @@
|
||||
<v-list-item-icon>
|
||||
<v-icon>mdi-home</v-icon>
|
||||
</v-list-item-icon>
|
||||
<v-list-item-title>Home</v-list-item-title>
|
||||
<v-list-item-title>{{$t('Home')}}</v-list-item-title>
|
||||
</v-list-item>
|
||||
|
||||
<!-- Browse link -->
|
||||
@ -39,10 +39,10 @@
|
||||
<v-list-item-icon>
|
||||
<v-icon>mdi-earth</v-icon>
|
||||
</v-list-item-icon>
|
||||
<v-list-item-title>Browse</v-list-item-title>
|
||||
<v-list-item-title>{{$t('Browse')}}</v-list-item-title>
|
||||
</v-list-item>
|
||||
|
||||
<v-subheader inset>Library</v-subheader>
|
||||
<v-subheader inset>{{$t('Library')}}</v-subheader>
|
||||
<v-divider></v-divider>
|
||||
|
||||
<!-- Tracks -->
|
||||
@ -50,7 +50,7 @@
|
||||
<v-list-item-icon>
|
||||
<v-icon>mdi-music-note</v-icon>
|
||||
</v-list-item-icon>
|
||||
<v-list-item-title>Tracks</v-list-item-title>
|
||||
<v-list-item-title>{{$t('Tracks')}}</v-list-item-title>
|
||||
</v-list-item>
|
||||
|
||||
<!-- Playlists -->
|
||||
@ -58,7 +58,7 @@
|
||||
<v-list-item-icon>
|
||||
<v-icon>mdi-playlist-music</v-icon>
|
||||
</v-list-item-icon>
|
||||
<v-list-item-title>Playlists</v-list-item-title>
|
||||
<v-list-item-title>{{$t('Playlists')}}</v-list-item-title>
|
||||
</v-list-item>
|
||||
|
||||
<!-- Albums -->
|
||||
@ -66,7 +66,7 @@
|
||||
<v-list-item-icon>
|
||||
<v-icon>mdi-album</v-icon>
|
||||
</v-list-item-icon>
|
||||
<v-list-item-title>Albums</v-list-item-title>
|
||||
<v-list-item-title>{{$t('Albums')}}</v-list-item-title>
|
||||
</v-list-item>
|
||||
|
||||
<!-- Artists -->
|
||||
@ -74,10 +74,10 @@
|
||||
<v-list-item-icon>
|
||||
<v-icon>mdi-account-music</v-icon>
|
||||
</v-list-item-icon>
|
||||
<v-list-item-title>Artists</v-list-item-title>
|
||||
<v-list-item-title>{{$t('Artists')}}</v-list-item-title>
|
||||
</v-list-item>
|
||||
|
||||
<v-subheader inset>More</v-subheader>
|
||||
<v-subheader inset>{{$t('More')}}</v-subheader>
|
||||
<v-divider></v-divider>
|
||||
|
||||
<!-- Settings -->
|
||||
@ -85,30 +85,30 @@
|
||||
<v-list-item-icon>
|
||||
<v-icon>mdi-cog</v-icon>
|
||||
</v-list-item-icon>
|
||||
<v-list-item-title>Settings</v-list-item-title>
|
||||
<v-list-item-title>{{$t('Settings')}}</v-list-item-title>
|
||||
</v-list-item>
|
||||
|
||||
<!-- Downloads -->
|
||||
<v-list-item link to='/downloads'>
|
||||
<!-- Downloads, shitty hack if downloads not yet loaded -->
|
||||
<v-list-item link to='/downloads' v-if='$root.downloads.queue'>
|
||||
|
||||
<!-- Download icon -->
|
||||
<v-list-item-icon v-if='!$root.download && $root.downloads.length == 0'>
|
||||
<v-list-item-icon v-if='!$root.downloads.downloading && $root.downloads.queue.length == 0'>
|
||||
<v-icon>mdi-download</v-icon>
|
||||
</v-list-item-icon>
|
||||
|
||||
<!-- Paused download -->
|
||||
<v-list-item-icon v-if='!$root.download && $root.downloads.length > 0'>
|
||||
<v-list-item-icon v-if='!$root.downloads.downloading && $root.downloads.queue.length > 0'>
|
||||
<v-icon>mdi-pause</v-icon>
|
||||
</v-list-item-icon>
|
||||
|
||||
<!-- Download in progress -->
|
||||
<v-list-item-icon v-if='$root.download'>
|
||||
<v-list-item-icon v-if='$root.downloads.downloading'>
|
||||
<v-progress-circular :value='downloadPercentage' style='top: -2px' class='text-caption'>
|
||||
{{$root.downloads.length + 1}}
|
||||
{{$root.downloads.queue.length + $root.downloads.threads.length}}
|
||||
</v-progress-circular>
|
||||
</v-list-item-icon>
|
||||
|
||||
<v-list-item-title>Downloads</v-list-item-title>
|
||||
<v-list-item-title>{{$t('Downloads')}}</v-list-item-title>
|
||||
</v-list-item>
|
||||
|
||||
</v-list>
|
||||
@ -133,7 +133,7 @@
|
||||
solo
|
||||
clearable
|
||||
hide-no-data
|
||||
placeholder='Search or paste Deezer URL. Use "/" to quickly focus.'
|
||||
:placeholder='$t("Search or paste Deezer URL. Use / to quickly focus.")'
|
||||
:loading='searchLoading'
|
||||
@keyup='search'
|
||||
ref='searchBar'
|
||||
@ -141,6 +141,7 @@
|
||||
:search-input.sync='searchInput'
|
||||
:items='suggestions'
|
||||
></v-autocomplete>
|
||||
|
||||
|
||||
</v-app-bar>
|
||||
|
||||
@ -355,12 +356,19 @@ export default {
|
||||
},
|
||||
computed: {
|
||||
qualityText() {
|
||||
return `${this.$root.playbackInfo.format} ${this.$root.playbackInfo.quality}`;
|
||||
return `${this.$root.playbackInfo.qualityString}`;
|
||||
},
|
||||
downloadPercentage() {
|
||||
if (!this.$root.download) return 0;
|
||||
let p = (this.$root.download.downloaded / this.$root.download.size) * 100;
|
||||
if (isNaN(p)) return 0;
|
||||
if (!this.$root.downloads.downloading) return 0;
|
||||
|
||||
let downloaded = this.$root.downloads.threads.reduce((a, b) => a + b.downloaded, 0);
|
||||
let size = this.$root.downloads.threads.reduce((a, b) => a + b.size, 0);
|
||||
if (size == 0)
|
||||
size = 1;
|
||||
|
||||
let p = (downloaded / size) * 100;
|
||||
if (p > 100)
|
||||
p = 100;
|
||||
return Math.round(p);
|
||||
}
|
||||
},
|
||||
@ -413,6 +421,8 @@ export default {
|
||||
this.suggestions = [];
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.$root.settings.showAutocomplete) return;
|
||||
this.searchLoading = true;
|
||||
//Prevent spam
|
||||
setTimeout(() => {
|
||||
|
@ -33,7 +33,7 @@
|
||||
<v-icon>mdi-play</v-icon>
|
||||
</v-list-item-icon>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>Play</v-list-item-title>
|
||||
<v-list-item-title>{{$t("Play")}}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
<!-- Add to library -->
|
||||
@ -42,7 +42,7 @@
|
||||
<v-icon>mdi-heart</v-icon>
|
||||
</v-list-item-icon>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>Add to library</v-list-item-title>
|
||||
<v-list-item-title>{{$t("Add to library")}}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
<!-- Download -->
|
||||
@ -51,7 +51,7 @@
|
||||
<v-icon>mdi-download</v-icon>
|
||||
</v-list-item-icon>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>Download</v-list-item-title>
|
||||
<v-list-item-title>{{$t("Download")}}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
</v-list-item-avatar>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>{{artist.name}}</v-list-item-title>
|
||||
<v-list-item-subtitle v-if='!tiny'>{{$abbreviation(artist.fans)}} fans</v-list-item-subtitle>
|
||||
<v-list-item-subtitle v-if='!tiny'>{{$abbreviation(artist.fans)}} {{$t("fans")}}</v-list-item-subtitle>
|
||||
</v-list-item-content>
|
||||
<v-list-item-action>
|
||||
<!-- Context menu -->
|
||||
@ -23,7 +23,7 @@
|
||||
<v-icon>mdi-heart</v-icon>
|
||||
</v-list-item-icon>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>Add to library</v-list-item-title>
|
||||
<v-list-item-title>{{$t("Add to library")}}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
</v-list>
|
||||
|
@ -5,29 +5,29 @@
|
||||
<v-card>
|
||||
|
||||
<v-card-title class='headline'>
|
||||
Download {{tracks.length}} tracks
|
||||
{{$t("Download")}} {{tracks.length}} {{$t("tracks")}}
|
||||
</v-card-title>
|
||||
<v-card-text class='pb-0'>
|
||||
|
||||
<v-select
|
||||
label='Quality'
|
||||
:label='$t("Quality")'
|
||||
persistent-hint
|
||||
:items='qualities'
|
||||
v-model='qualityString'
|
||||
:hint='"Estimated size: " + $filesize(estimatedSize)'
|
||||
:hint='$t("Estimated size:") + " " + $filesize(estimatedSize)'
|
||||
></v-select>
|
||||
|
||||
<v-checkbox
|
||||
v-model='autostart'
|
||||
label='Start downloading'
|
||||
:label='$t("Start downloading")'
|
||||
></v-checkbox>
|
||||
|
||||
</v-card-text>
|
||||
|
||||
<v-card-actions>
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn text @click='$emit("close")'>Cancel</v-btn>
|
||||
<v-btn text @click='download'>Download</v-btn>
|
||||
<v-btn text @click='$emit("close")'>{{$t("Cancel")}}</v-btn>
|
||||
<v-btn text @click='download'>{{$t("Download")}}</v-btn>
|
||||
</v-card-actions>
|
||||
|
||||
</v-card>
|
||||
|
@ -12,10 +12,10 @@
|
||||
</v-list-item-avatar>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>
|
||||
Streaming logging is disabled!
|
||||
{{$t("Stream logging is disabled!")}}
|
||||
</v-list-item-title>
|
||||
<v-list-item-subtitle>
|
||||
Enable it in settings for history to work properly.
|
||||
{{$t("Enable it in settings for history to work properly.")}}
|
||||
</v-list-item-subtitle>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
@ -56,7 +56,7 @@ export default {
|
||||
//Load as queue and play
|
||||
play(index) {
|
||||
this.$root.queue.source = {
|
||||
text: 'History',
|
||||
text: this.$t('History'),
|
||||
source: 'history',
|
||||
data: null
|
||||
};
|
||||
|
@ -8,7 +8,7 @@
|
||||
<!-- Create playlist -->
|
||||
<v-btn class='ma-2 ml-3' color='primary' @click='popup = true'>
|
||||
<v-icon left>mdi-playlist-plus</v-icon>
|
||||
Create new playlist
|
||||
{{$t("Create new playlist")}}
|
||||
</v-btn>
|
||||
|
||||
<v-dialog max-width="400px" v-model='popup'>
|
||||
|
@ -2,10 +2,10 @@
|
||||
<div v-scroll.self='scroll'>
|
||||
<div class='px-4 pt-2 d-flex' style='max-height: 50px;'>
|
||||
<div class='text-overline px-2 pt-1'>
|
||||
{{count}} TRACKS.
|
||||
{{count}} {{$t("TRACKS")}}
|
||||
</div>
|
||||
<div style="max-width: 200px;" class='d-flex mx-2'>
|
||||
<v-select class='px-2' dense solo :items='sortTypes' @change='sort' label='Sort By'>
|
||||
<v-select class='px-2' dense solo :items='sortTypes' @change='sort' :label='$t("Sort by")'>
|
||||
</v-select>
|
||||
</div>
|
||||
<div class='px-2' @click='reverseSort'>
|
||||
@ -46,10 +46,10 @@ export default {
|
||||
tracks: [],
|
||||
count: 0,
|
||||
sortTypes: [
|
||||
'Date Added',
|
||||
'Name (A-Z)',
|
||||
'Artist (A-Z)',
|
||||
'Album (A-Z)'
|
||||
this.$t('Date Added'),
|
||||
this.$t('Name (A-Z)'),
|
||||
this.$t('Artist (A-Z)'),
|
||||
this.$t('Album (A-Z)')
|
||||
],
|
||||
tracksUnsorted: null,
|
||||
isReversed: false
|
||||
|
@ -34,7 +34,7 @@
|
||||
<!-- Error -->
|
||||
<div v-if='!loading && (!lyrics || (lyrics.text.length == 0 && lyrics.lyrics.length == 0))' class='pa-4 text-center'>
|
||||
<span class='red--text text-h5'>
|
||||
Error loading lyrics or lyrics not found!
|
||||
{{$t("Error loading lyrics or lyrics not found!")}}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
<!-- Create playlist -->
|
||||
<v-card class='text-center pa-2' v-if='!addToPlaylist'>
|
||||
<v-card-text>
|
||||
<p primary-title class='display-1'>Create playlist</p>
|
||||
<p primary-title class='display-1'>{{$t("Create playlist")}}</p>
|
||||
<v-text-field label='Title' class='ma-2' v-model='title'></v-text-field>
|
||||
<v-textarea class='mx-2' v-model='description' label='Description' rows='1' auto-grow></v-textarea>
|
||||
<v-select class='mx-2' v-model='type' :items='types' label='Type'></v-select>
|
||||
@ -12,17 +12,17 @@
|
||||
|
||||
<v-card-actions>
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn class='primary' :loading='createLoading' @click='create'>Create</v-btn>
|
||||
<v-btn class='primary' :loading='createLoading' @click='create'>{{$t("Create")}}</v-btn>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
|
||||
<!-- Add to playlist -->
|
||||
<v-card class='text-center pa-2' v-if='addToPlaylist'>
|
||||
<v-card-text>
|
||||
<p primary-title class='display-1'>Add to playlist</p>
|
||||
<p primary-title class='display-1'>{{$t("Add to playlist")}}</p>
|
||||
<v-btn block class='mb-1' @click='addToPlaylist = false'>
|
||||
<v-icon left>mdi-playlist-plus</v-icon>
|
||||
Create New
|
||||
{{$t("Create new")}}
|
||||
</v-btn>
|
||||
<v-list>
|
||||
<div v-for='playlist in playlists' :key='playlist.id'>
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>{{playlist.title}}</v-list-item-title>
|
||||
<v-list-item-subtitle>{{$numberString(playlist.trackCount)}} tracks</v-list-item-subtitle>
|
||||
<v-list-item-subtitle>{{$numberString(playlist.trackCount)}} {{$t("tracks")}}</v-list-item-subtitle>
|
||||
</v-list-item-content>
|
||||
<v-list-item-action>
|
||||
<!-- Context menu -->
|
||||
@ -32,7 +32,7 @@
|
||||
<v-icon>mdi-play</v-icon>
|
||||
</v-list-item-icon>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>Play</v-list-item-title>
|
||||
<v-list-item-title>{{$t('Play')}}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
|
||||
@ -42,7 +42,7 @@
|
||||
<v-icon>mdi-playlist-remove</v-icon>
|
||||
</v-list-item-icon>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>Remove</v-list-item-title>
|
||||
<v-list-item-title>{{$t('Remove')}}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
|
||||
@ -52,7 +52,7 @@
|
||||
<v-icon>mdi-download</v-icon>
|
||||
</v-list-item-icon>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>Download</v-list-item-title>
|
||||
<v-list-item-title>{{$t('Download')}}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
|
||||
|
@ -45,7 +45,7 @@
|
||||
<v-icon>mdi-playlist-plus</v-icon>
|
||||
</v-list-item-icon>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>Play next</v-list-item-title>
|
||||
<v-list-item-title>{{$t("Play next")}}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
<!-- Add to end of queue -->
|
||||
@ -54,7 +54,7 @@
|
||||
<v-icon>mdi-playlist-plus</v-icon>
|
||||
</v-list-item-icon>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>Add to queue</v-list-item-title>
|
||||
<v-list-item-title>{{$t("Add to queue")}}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
<!-- Add to library -->
|
||||
@ -63,7 +63,7 @@
|
||||
<v-icon>mdi-heart</v-icon>
|
||||
</v-list-item-icon>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>Add to library</v-list-item-title>
|
||||
<v-list-item-title>{{$t("Add to library")}}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
<!-- Remove from library -->
|
||||
@ -72,7 +72,7 @@
|
||||
<v-icon>mdi-heart-remove</v-icon>
|
||||
</v-list-item-icon>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>Remove from library</v-list-item-title>
|
||||
<v-list-item-title>{{$t("Remove from library")}}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
<!-- Add to playlist -->
|
||||
@ -81,7 +81,7 @@
|
||||
<v-icon>mdi-playlist-plus</v-icon>
|
||||
</v-list-item-icon>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>Add to playlist</v-list-item-title>
|
||||
<v-list-item-title>{{$t("Add to playlist")}}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
<!-- Remove from playlist -->
|
||||
@ -90,7 +90,16 @@
|
||||
<v-icon>mdi-playlist-remove</v-icon>
|
||||
</v-list-item-icon>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>Remove from playlist</v-list-item-title>
|
||||
<v-list-item-title>{{$t("Remove from playlist")}}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
<!-- Play track mix -->
|
||||
<v-list-item dense @click='trackMix'>
|
||||
<v-list-item-icon>
|
||||
<v-icon>mdi-playlist-music</v-icon>
|
||||
</v-list-item-icon>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>{{$t("Play track mix")}}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
<!-- Go to album -->
|
||||
@ -99,7 +108,7 @@
|
||||
<v-icon>mdi-album</v-icon>
|
||||
</v-list-item-icon>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>Go to "{{track.album.title}}"</v-list-item-title>
|
||||
<v-list-item-title>{{$t("Go to")}} "{{track.album.title}}"</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
<!-- Go to artists -->
|
||||
@ -113,7 +122,7 @@
|
||||
<v-icon>mdi-account-music</v-icon>
|
||||
</v-list-item-icon>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>Go to "{{artist.name}}"</v-list-item-title>
|
||||
<v-list-item-title>{{$t("Go to")}} "{{artist.name}}"</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
|
||||
@ -123,7 +132,7 @@
|
||||
<v-icon>mdi-download</v-icon>
|
||||
</v-list-item-icon>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>Download</v-list-item-title>
|
||||
<v-list-item-title>{{$t("Download")}}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
|
||||
@ -207,8 +216,18 @@ export default {
|
||||
this.$emit('remove');
|
||||
},
|
||||
//Download track
|
||||
async download() {
|
||||
download() {
|
||||
this.downloadDialog = true;
|
||||
},
|
||||
async trackMix() {
|
||||
let res = await this.$axios.get('/trackmix/' + this.track.id);
|
||||
this.$root.queue.source = {
|
||||
text: this.$t('Track Mix'),
|
||||
source: 'trackmix',
|
||||
data: this.track.id
|
||||
};
|
||||
this.$root.replaceQueue(res.data);
|
||||
this.$root.playIndex(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
23
app/client/src/js/i18n.js
Normal file
23
app/client/src/js/i18n.js
Normal file
@ -0,0 +1,23 @@
|
||||
import Vue from 'vue'
|
||||
import VueI18n from 'vue-i18n'
|
||||
|
||||
Vue.use(VueI18n);
|
||||
|
||||
function loadLocaleMessages () {
|
||||
const locales = require.context('../locales', true, /[A-Za-z0-9-_,\s]+\.json$/i)
|
||||
const messages = {}
|
||||
locales.keys().forEach(key => {
|
||||
const matched = key.match(/([A-Za-z0-9-_]+)\./i)
|
||||
if (matched && matched.length > 1) {
|
||||
const locale = matched[1]
|
||||
messages[locale] = locales(key)
|
||||
}
|
||||
})
|
||||
return messages
|
||||
}
|
||||
|
||||
export default new VueI18n({
|
||||
locale: process.env.VUE_APP_I18N_LOCALE || 'en',
|
||||
fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || 'en',
|
||||
messages: loadLocaleMessages()
|
||||
})
|
@ -8,6 +8,6 @@ Vue.use(Vuetify);
|
||||
|
||||
export default new Vuetify({
|
||||
theme: {
|
||||
dark: true
|
||||
dark: true,
|
||||
}
|
||||
});
|
||||
|
112
app/client/src/locales/ar.json
Normal file
112
app/client/src/locales/ar.json
Normal file
@ -0,0 +1,112 @@
|
||||
{
|
||||
"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)": "الألبوم (أ - ي)",
|
||||
"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": "الرقم التعريفي",
|
||||
"Error logging in!": "خطأ في تسجيل الدخول!",
|
||||
"Please try again later, or try another account.": "الرجاء المحاولة مرة أخرى لاحقا، أو حاول حساب آخر.",
|
||||
"Logout": "تسجيل الخروج",
|
||||
"Login using browser": "تسجيل الدخول باستخدام المتصفح",
|
||||
"Please login using your Deezer account:": "يرجى تسجيل الدخول باستخدام حساب ديزر الخاص بك:",
|
||||
"...or paste your ARL/Token below:": "...أو لصق ARL/الرمز الخاص بك أدناه:",
|
||||
"ARL/Token": "ARL/الرمز المميز",
|
||||
"Login": "تسجيل الدخول",
|
||||
"By using this program, you disagree with Deezer's ToS.": "باستخدام هذا البرنامج، أنت لا توافق على شروط خدمة ديزر.",
|
||||
"Only in Electron version!": "فقط في إصدار إلكترون!",
|
||||
"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": "تنزيل ملف كلمات الاغنية. Lrc",
|
||||
"Variables": "المتغيرات",
|
||||
"UI": "واجهة المستخدم",
|
||||
"Show autocomplete in search": "إظهار الإكمال التلقائي في البحث",
|
||||
"Integrations": "الدمج",
|
||||
"This allows listening history, flow and recommendations to work properly.": "وهذا يتيح لسجل الاستماع و فلو والتوصيات, العمل على نحو سليم.",
|
||||
"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": "فعالية دسكورد",
|
||||
"Enable Discord join button for syncing tracks, requires restart to toggle!": "تمكين زر انضمام دسكورد لمزامنة الاغاني، يتطلب إعادة تشغيل للتبديل!",
|
||||
"Discord Join Button": "زر الانضمام في دسكورد",
|
||||
"Other": "أخرى",
|
||||
"Minimize to tray": "تصغير إلى شريط المهام",
|
||||
"Don't minimize to tray": "عدم التصغير إلى شريط المهام",
|
||||
"Close on exit": "إغلاق عند الخروج",
|
||||
"Settings saved!": "تم حفظ الإعدادات!",
|
||||
"Available only in Electron version!": "متاح فقط في اصدار الإلكترون!"
|
||||
}
|
112
app/client/src/locales/de.json
Normal file
112
app/client/src/locales/de.json
Normal file
@ -0,0 +1,112 @@
|
||||
{
|
||||
"Home": "Start",
|
||||
"Browse": "Durchsuchen",
|
||||
"Library": "Mediathek",
|
||||
"Tracks": "Titel",
|
||||
"Playlists": "Wiedergabelisten",
|
||||
"Albums": "Alben",
|
||||
"Artists": "Künstler",
|
||||
"More": "Mehr",
|
||||
"Settings": "Einstellungen",
|
||||
"Downloads": "Downloads",
|
||||
"Search or paste Deezer URL. Use / to quickly focus.": "Suche oder füge Deezer URL ein. Benutze \"/\" um schnell zu fokussieren.",
|
||||
"Play": "Wiedergeben",
|
||||
"Add to library": "Zur Mediathek hinzufügen",
|
||||
"Download": "Download",
|
||||
"fans": "Fans",
|
||||
"tracks": "Titel",
|
||||
"Quality": "Qualität",
|
||||
"Estimated size:": "Geschätzte Zeit:",
|
||||
"Start downloading": "Download beginnen",
|
||||
"Cancel": "Abbrechen",
|
||||
"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",
|
||||
"TRACKS": "Titel",
|
||||
"Sort by": "Sortieren nach",
|
||||
"Date Added": "Hinzugefügt am",
|
||||
"Name (A-Z)": "Name (A-Z)",
|
||||
"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": "Erstellen",
|
||||
"Add to playlist": "Zur Wiedergabeliste 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",
|
||||
"Play track mix": "Track Mix abspielen",
|
||||
"Go to": "Gehe zu",
|
||||
"Track Mix": "Track Mix",
|
||||
"Duration": "Dauer",
|
||||
"Released": "Veröffentlicht",
|
||||
"Disk": "Disk",
|
||||
"albums": "Alben",
|
||||
"Play top": "Play top",
|
||||
"Radio": "Radio",
|
||||
"Show all albums": "Zeige alle Alben",
|
||||
"Show all singles": "Zeige alle Singles",
|
||||
"Show more": "Mehr anzeigen",
|
||||
"Downloaded": "Heruntergeladen",
|
||||
"Queue": "Warteschleife",
|
||||
"Total": "Gesamt",
|
||||
"Stop": "Stop",
|
||||
"Start": "Start",
|
||||
"Show folder": "Ordner anzeigen",
|
||||
"Clear queue": "Warteschleife löschen",
|
||||
"Playing from": "Wiedergabe von",
|
||||
"Info": "Info",
|
||||
"Lyrics": "Lyrics",
|
||||
"Track number": "Titelnummer",
|
||||
"Disk number": "Disk-Nummer",
|
||||
"Explicit": "Explizit",
|
||||
"Source": "Quelle",
|
||||
"ID": "ID",
|
||||
"Error logging in!": "Fehler beim einloggen!",
|
||||
"Please try again later, or try another account.": "Bitte versuche es später noch einmal oder versuche es mit einem anderen Konto.",
|
||||
"Logout": "Abmelden",
|
||||
"Login using browser": "Anmeldung über Browser",
|
||||
"Please login using your Deezer account:": "Bitte melde dich mit deinem Deezer-Konto an:",
|
||||
"...or paste your ARL/Token below:": "...oder füge dein ARL/Token unten ein:",
|
||||
"ARL/Token": "ARL/Token",
|
||||
"Login": "Anmeldung",
|
||||
"By using this program, you disagree with Deezer's ToS.": "Durch die Verwendung dieses Programms lehnen Sie Deezer's ToS ab.",
|
||||
"Only in Electron version!": "Nur in der Electron-Version!",
|
||||
"Search results for:": "Suchergebnisse für:",
|
||||
"Error loading data!": "Fehler beim Laden der Daten!",
|
||||
"Try again later!": "Versuch's später nochmal!",
|
||||
"Search": "Suche",
|
||||
"Streaming Quality": "Streamqualität",
|
||||
"Download Quality": "Download-Qualität",
|
||||
"Downloads Directory": "Downloadverzeichnis",
|
||||
"Simultaneous downloads": "Gleichzeitige Downloads",
|
||||
"Always show download confirm dialog before downloading.": "Downloadbestätigungsdialog immer vor dem Download anzeigen.",
|
||||
"Show download dialog": "Download-Dialog anzeigen",
|
||||
"Create folders for artists": "Ordner für Künstler erstellen",
|
||||
"Create folders for albums": "Ordner für Alben erstellen",
|
||||
"Download lyrics": "Download Lyrics",
|
||||
"Variables": "Variablen",
|
||||
"UI": "Benutzeroberfläche",
|
||||
"Show autocomplete in search": "Auto-Vervollständigung in der Suche anzeigen",
|
||||
"Integrations": "Integrationen",
|
||||
"This allows listening history, flow and recommendations to work properly.": "Dies ermöglicht das korrekte Arbeiten von Wiedergabeverlauf, Flow und Empfehlungen.",
|
||||
"Log track listens to Deezer": "Prokotolliere gehörte Titel auf Deezer",
|
||||
"Connect your LastFM account to allow scrobbling.": "Verbinde dein LastFM-Konto, um das Scrobbing zu erlauben.",
|
||||
"Login with LastFM": "Anmelden mit LastFM",
|
||||
"Disconnect LastFM": "Disconnect LastFM",
|
||||
"Requires restart to apply!": "Erfordert einen Neustart der App!",
|
||||
"Enable Discord Rich Presence, requires restart to toggle!": "Discord Rich Presence aktivieren, erfordert einen Neustart zum Umschalten!",
|
||||
"Discord Rich Presence": "Discord Rich Presence",
|
||||
"Enable Discord join button for syncing tracks, requires restart to toggle!": "Aktiviere Discord Join für die Synchronisierung von Titel, benötigt einen Neustart zum Umschalten!",
|
||||
"Discord Join Button": "Discord Join Button",
|
||||
"Other": "Andere",
|
||||
"Minimize to tray": "In Statusleiste minimieren",
|
||||
"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!"
|
||||
}
|
112
app/client/src/locales/el.json
Normal file
112
app/client/src/locales/el.json
Normal file
@ -0,0 +1,112 @@
|
||||
{
|
||||
"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",
|
||||
"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!",
|
||||
"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!"
|
||||
}
|
112
app/client/src/locales/en.json
Normal file
112
app/client/src/locales/en.json
Normal file
@ -0,0 +1,112 @@
|
||||
{
|
||||
"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",
|
||||
"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!",
|
||||
"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!"
|
||||
}
|
112
app/client/src/locales/es.json
Normal file
112
app/client/src/locales/es.json
Normal file
@ -0,0 +1,112 @@
|
||||
{
|
||||
"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",
|
||||
"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!",
|
||||
"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!"
|
||||
}
|
112
app/client/src/locales/fa.json
Normal file
112
app/client/src/locales/fa.json
Normal file
@ -0,0 +1,112 @@
|
||||
{
|
||||
"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",
|
||||
"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!",
|
||||
"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!"
|
||||
}
|
112
app/client/src/locales/fil.json
Normal file
112
app/client/src/locales/fil.json
Normal file
@ -0,0 +1,112 @@
|
||||
{
|
||||
"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",
|
||||
"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!",
|
||||
"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!"
|
||||
}
|
112
app/client/src/locales/fr.json
Normal file
112
app/client/src/locales/fr.json
Normal file
@ -0,0 +1,112 @@
|
||||
{
|
||||
"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",
|
||||
"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!",
|
||||
"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!"
|
||||
}
|
112
app/client/src/locales/he.json
Normal file
112
app/client/src/locales/he.json
Normal file
@ -0,0 +1,112 @@
|
||||
{
|
||||
"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",
|
||||
"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!",
|
||||
"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!"
|
||||
}
|
112
app/client/src/locales/hi.json
Normal file
112
app/client/src/locales/hi.json
Normal file
@ -0,0 +1,112 @@
|
||||
{
|
||||
"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",
|
||||
"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!",
|
||||
"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!"
|
||||
}
|
112
app/client/src/locales/hr.json
Normal file
112
app/client/src/locales/hr.json
Normal file
@ -0,0 +1,112 @@
|
||||
{
|
||||
"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",
|
||||
"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!",
|
||||
"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!"
|
||||
}
|
112
app/client/src/locales/hu.json
Normal file
112
app/client/src/locales/hu.json
Normal file
@ -0,0 +1,112 @@
|
||||
{
|
||||
"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",
|
||||
"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!",
|
||||
"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!"
|
||||
}
|
112
app/client/src/locales/id.json
Normal file
112
app/client/src/locales/id.json
Normal file
@ -0,0 +1,112 @@
|
||||
{
|
||||
"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",
|
||||
"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!",
|
||||
"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!"
|
||||
}
|
112
app/client/src/locales/it.json
Normal file
112
app/client/src/locales/it.json
Normal file
@ -0,0 +1,112 @@
|
||||
{
|
||||
"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",
|
||||
"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!",
|
||||
"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!"
|
||||
}
|
112
app/client/src/locales/ko.json
Normal file
112
app/client/src/locales/ko.json
Normal file
@ -0,0 +1,112 @@
|
||||
{
|
||||
"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",
|
||||
"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!",
|
||||
"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!"
|
||||
}
|
112
app/client/src/locales/pl.json
Normal file
112
app/client/src/locales/pl.json
Normal file
@ -0,0 +1,112 @@
|
||||
{
|
||||
"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",
|
||||
"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!",
|
||||
"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!"
|
||||
}
|
112
app/client/src/locales/pt.json
Normal file
112
app/client/src/locales/pt.json
Normal file
@ -0,0 +1,112 @@
|
||||
{
|
||||
"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",
|
||||
"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!",
|
||||
"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!"
|
||||
}
|
112
app/client/src/locales/ro.json
Normal file
112
app/client/src/locales/ro.json
Normal file
@ -0,0 +1,112 @@
|
||||
{
|
||||
"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",
|
||||
"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!",
|
||||
"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!"
|
||||
}
|
112
app/client/src/locales/ru.json
Normal file
112
app/client/src/locales/ru.json
Normal file
@ -0,0 +1,112 @@
|
||||
{
|
||||
"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",
|
||||
"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!",
|
||||
"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!"
|
||||
}
|
112
app/client/src/locales/tr.json
Normal file
112
app/client/src/locales/tr.json
Normal file
@ -0,0 +1,112 @@
|
||||
{
|
||||
"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",
|
||||
"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!",
|
||||
"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!"
|
||||
}
|
112
app/client/src/locales/uk.json
Normal file
112
app/client/src/locales/uk.json
Normal file
@ -0,0 +1,112 @@
|
||||
{
|
||||
"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",
|
||||
"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!",
|
||||
"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!"
|
||||
}
|
112
app/client/src/locales/ur.json
Normal file
112
app/client/src/locales/ur.json
Normal file
@ -0,0 +1,112 @@
|
||||
{
|
||||
"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",
|
||||
"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!",
|
||||
"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!"
|
||||
}
|
@ -5,6 +5,7 @@ import vuetify from './js/vuetify';
|
||||
import axios from 'axios';
|
||||
import VueEsc from 'vue-esc';
|
||||
import VueSocketIO from 'vue-socket.io';
|
||||
import i18n from './js/i18n';
|
||||
|
||||
//Globals
|
||||
let ipcRenderer;
|
||||
@ -52,7 +53,8 @@ Vue.prototype.$filesize = (bytes) => {
|
||||
|
||||
//Sockets
|
||||
Vue.use(new VueSocketIO({
|
||||
connection: window.location.origin
|
||||
connection: window.location.toString(),
|
||||
options: {path: '/socket'}
|
||||
}));
|
||||
|
||||
Vue.config.productionTip = false;
|
||||
@ -66,10 +68,7 @@ new Vue({
|
||||
authorized: false,
|
||||
loadingPromise: null,
|
||||
|
||||
//Downloads
|
||||
downloading: false,
|
||||
downloads: [],
|
||||
download: null,
|
||||
downloads: {},
|
||||
|
||||
//Player
|
||||
track: null,
|
||||
@ -111,6 +110,7 @@ new Vue({
|
||||
//Used to prevent double listen logging
|
||||
logListenId: null
|
||||
},
|
||||
|
||||
methods: {
|
||||
// PLAYBACK METHODS
|
||||
isPlaying() {
|
||||
@ -199,7 +199,12 @@ new Vue({
|
||||
if (this.audio) this.audio.currentTime = 0;
|
||||
|
||||
//Load track meta
|
||||
this.playbackInfo = await this.loadPlaybackInfo(track.streamUrl, track.duration);
|
||||
let playbackInfo = await this.loadPlaybackInfo(track.streamUrl, track.duration);
|
||||
if (!playbackInfo) {
|
||||
this.skipNext();
|
||||
return;
|
||||
}
|
||||
this.playbackInfo = playbackInfo;
|
||||
|
||||
//Stream URL
|
||||
let url = `${window.location.origin}${this.playbackInfo.url}`;
|
||||
@ -290,6 +295,7 @@ new Vue({
|
||||
//Update media session with current track metadata
|
||||
updateMediaSession() {
|
||||
if (!this.track || !('mediaSession' in navigator)) return;
|
||||
|
||||
// eslint-disable-next-line no-undef
|
||||
navigator.mediaSession.metadata = new MediaMetadata({
|
||||
title: this.track.title,
|
||||
@ -315,11 +321,25 @@ new Vue({
|
||||
//Get playback info
|
||||
let quality = this.settings.streamQuality;
|
||||
let infoUrl = `/streaminfo/${streamUrl}?q=${quality}`;
|
||||
let res = await this.$axios.get(infoUrl);
|
||||
let res;
|
||||
try {
|
||||
res = await this.$axios.get(infoUrl);
|
||||
} catch (_) {
|
||||
return null;
|
||||
}
|
||||
|
||||
let info = res.data;
|
||||
//Calculate flac bitrate
|
||||
if (!info.quality.includes('kbps')) {
|
||||
info.quality = Math.round((parseInt(info.quality, 10)*8) / duration) + 'kbps';
|
||||
//Generate qualityString
|
||||
switch (info.quality) {
|
||||
case 9:
|
||||
info.qualityString = 'FLAC ' + Math.round((info.size*8) / duration) + 'kbps';
|
||||
break;
|
||||
case 3:
|
||||
info.qualityString = 'MP3 320kbps';
|
||||
break;
|
||||
case 1:
|
||||
info.qualityString = 'MP3 128kbps';
|
||||
break;
|
||||
}
|
||||
return info;
|
||||
},
|
||||
@ -341,6 +361,10 @@ new Vue({
|
||||
//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();
|
||||
if (this.gapless.promise) resolve();
|
||||
}
|
||||
this.gapless.info = info
|
||||
this.gapless.audio = new Audio(`${window.location.origin}${info.url}`);
|
||||
|
||||
@ -382,12 +406,12 @@ new Vue({
|
||||
//Get downloads from server
|
||||
async getDownloads() {
|
||||
let res = await this.$axios.get('/downloads');
|
||||
this.downloading = res.data.downloading;
|
||||
this.downloads = res.data.downloads;
|
||||
if (res.data)
|
||||
this.downloads = res.data;
|
||||
},
|
||||
//Start stop downloading
|
||||
async toggleDownload() {
|
||||
if (this.downloading) {
|
||||
if (this.downloads.downloading) {
|
||||
await this.$axios.delete('/download');
|
||||
} else {
|
||||
await this.$axios.put('/download');
|
||||
@ -411,8 +435,12 @@ new Vue({
|
||||
//Send state update to integrations
|
||||
async updateState() {
|
||||
//Wait for duration
|
||||
if (this.state == 2 && (this.duration() == null || isNaN(this.duration())))
|
||||
await new Promise((res) => setTimeout(res, 1000));
|
||||
if (this.state == 2 && (this.duration() == null || isNaN(this.duration()))) {
|
||||
setTimeout(() => {
|
||||
this.updateState();
|
||||
}, 500);
|
||||
return;
|
||||
}
|
||||
this.$socket.emit('stateChange', {
|
||||
position: this.position,
|
||||
duration: this.duration(),
|
||||
@ -424,14 +452,20 @@ new Vue({
|
||||
if (this.settings.electron) {
|
||||
ipcRenderer.send('playing', this.state == 2);
|
||||
}
|
||||
},
|
||||
updateLanguage(l) {
|
||||
i18n.locale = l;
|
||||
}
|
||||
},
|
||||
|
||||
async created() {
|
||||
//Load settings, create promise so `/login` can await it
|
||||
let r;
|
||||
this.loadingPromise = new Promise((resolve) => r = resolve);
|
||||
let res = await this.$axios.get('/settings');
|
||||
this.settings = res.data;
|
||||
this.$vuetify.theme.themes.dark.primary = this.settings.primaryColor;
|
||||
i18n.locale = this.settings.language;
|
||||
this.volume = this.settings.volume;
|
||||
|
||||
//Restore playback data
|
||||
@ -480,17 +514,17 @@ new Vue({
|
||||
}
|
||||
|
||||
//Get downloads
|
||||
this.getDownloads();
|
||||
await this.getDownloads();
|
||||
|
||||
//Sockets
|
||||
|
||||
//Queue change
|
||||
this.sockets.subscribe('downloads', (data) => {
|
||||
this.downloading = data.downloading;
|
||||
this.downloads = data.downloads;
|
||||
this.downloads = data;
|
||||
});
|
||||
//Current download change
|
||||
this.sockets.subscribe('download', (data) => {
|
||||
this.download = data;
|
||||
this.sockets.subscribe('currentlyDownloading', (data) => {
|
||||
this.downloads.threads = data;
|
||||
});
|
||||
//Play at offset (for integrations)
|
||||
this.sockets.subscribe('playOffset', async (data) => {
|
||||
@ -501,6 +535,7 @@ new Vue({
|
||||
|
||||
r();
|
||||
},
|
||||
|
||||
mounted() {
|
||||
//Save settings on unload
|
||||
window.addEventListener('beforeunload', () => {
|
||||
@ -548,6 +583,7 @@ new Vue({
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
watch: {
|
||||
//Watch state for integrations
|
||||
state() {
|
||||
@ -558,5 +594,6 @@ new Vue({
|
||||
|
||||
router,
|
||||
vuetify,
|
||||
i18n,
|
||||
render: function (h) { return h(App) }
|
||||
}).$mount('#app');
|
||||
|
@ -16,24 +16,24 @@
|
||||
<h1>{{album.title}}</h1>
|
||||
<h3>{{album.artistString}}</h3>
|
||||
<div class='mt-2' v-if='!loading'>
|
||||
<span class='text-subtitle-2'>{{album.tracks.length}} tracks</span><br>
|
||||
<span class='text-subtitle-2'>Duration: {{duration}}</span><br>
|
||||
<span class='text-subtitle-2'>{{album.tracks.length}} {{$t("tracks")}}</span><br>
|
||||
<span class='text-subtitle-2'>{{$t("Duration")}}: {{duration}}</span><br>
|
||||
<span class='text-subtitle-2'>{{$numberString(album.fans)}} fans</span><br>
|
||||
<span class='text-subtitle-2'>Released: {{album.releaseDate}}</span><br>
|
||||
<span class='text-subtitle-2'>{{$t("Released")}}: {{album.releaseDate}}</span><br>
|
||||
</div>
|
||||
|
||||
<div class='my-2'>
|
||||
<v-btn color='primary' class='mx-1' @click='play'>
|
||||
<v-icon left>mdi-play</v-icon>
|
||||
Play
|
||||
{{$t("Play")}}
|
||||
</v-btn>
|
||||
<v-btn color='red' class='mx-1' @click='library' :loading='libraryLoading'>
|
||||
<v-icon left>mdi-heart</v-icon>
|
||||
Library
|
||||
{{$t("Library")}}
|
||||
</v-btn>
|
||||
<v-btn color='green' class='mx-1' @click='download'>
|
||||
<v-icon left>mdi-download</v-icon>
|
||||
Download
|
||||
{{$t("Download")}}
|
||||
</v-btn>
|
||||
</div>
|
||||
</div>
|
||||
@ -48,7 +48,7 @@
|
||||
v-if='index == 0 || track.diskNumber != album.tracks[index-1].diskNumber'
|
||||
class='mx-4 text-subtitle-1'
|
||||
>
|
||||
Disk {{track.diskNumber}}
|
||||
{{$t("Disk")}} {{track.diskNumber}}
|
||||
</div>
|
||||
|
||||
<TrackTile :track='track' @click='playTrack(index)'></TrackTile>
|
||||
|
@ -16,18 +16,22 @@
|
||||
</v-overlay>
|
||||
<h1>{{artist.name}}</h1>
|
||||
<div class='mt-2' v-if='!loading'>
|
||||
<span class='text-subtitle-2'>{{artist.albumCount}} albums</span><br>
|
||||
<span class='text-subtitle-2'>{{$numberString(artist.fans)}} fans</span><br>
|
||||
<span class='text-subtitle-2'>{{artist.albumCount}} {{$t("albums")}}</span><br>
|
||||
<span class='text-subtitle-2'>{{$numberString(artist.fans)}} {{$t("fans")}}</span><br>
|
||||
</div>
|
||||
|
||||
<div class='my-2'>
|
||||
<v-btn color='primary' class='mx-1' @click='play'>
|
||||
<v-icon left>mdi-play</v-icon>
|
||||
Play top
|
||||
{{$t("Play top")}}
|
||||
</v-btn>
|
||||
<v-btn color='red' class='mx-1' @click='library' :loading='libraryLoading'>
|
||||
<v-icon left>mdi-heart</v-icon>
|
||||
Library
|
||||
{{$t("Library")}}
|
||||
</v-btn>
|
||||
<v-btn color='green' class='mx-1' @click='radio' v-if='artist.radio'>
|
||||
<v-icon left>mdi-radio</v-icon>
|
||||
{{$t("Radio")}}
|
||||
</v-btn>
|
||||
</div>
|
||||
</div>
|
||||
@ -67,7 +71,7 @@
|
||||
|
||||
<!-- Show all albums -->
|
||||
<v-list-item v-if='!allAlbums && index == 3' @click='allAlbums = true'>
|
||||
<v-list-item-title>Show all albums</v-list-item-title>
|
||||
<v-list-item-title>{{$t("Show all albums")}}</v-list-item-title>
|
||||
</v-list-item>
|
||||
|
||||
</div>
|
||||
@ -91,7 +95,7 @@
|
||||
|
||||
<!-- Show all albums -->
|
||||
<v-list-item v-if='!allSingles && index == 3' @click='showAllSingles'>
|
||||
<v-list-item-title>Show all singles</v-list-item-title>
|
||||
<v-list-item-title>{{$t('Show all singles')}}</v-list-item-title>
|
||||
</v-list-item>
|
||||
|
||||
</div>
|
||||
@ -179,6 +183,19 @@ export default {
|
||||
this.allSingles = true;
|
||||
this.loadMoreAlbums();
|
||||
},
|
||||
async radio() {
|
||||
//Load
|
||||
let res = await this.$axios.get('/smartradio/' + this.artist.id);
|
||||
if (res.data) {
|
||||
this.$root.queue.source = {
|
||||
text: this.artist.name,
|
||||
source: 'radio',
|
||||
data: this.artist.id
|
||||
};
|
||||
this.$root.replaceQueue(res.data);
|
||||
this.$root.playIndex(0);
|
||||
}
|
||||
},
|
||||
//On scroll load more albums
|
||||
scroll(event) {
|
||||
if (!this.allAlbums && !this.allSingles) return;
|
||||
|
@ -23,7 +23,7 @@
|
||||
</div>
|
||||
<div v-if='section.hasMore' class='mx-2 align-center justify-center d-flex'>
|
||||
<v-btn @click='showMore(section)' color='primary'>
|
||||
Show more
|
||||
{{$t("Show more")}}
|
||||
</v-btn>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,51 +1,51 @@
|
||||
<template>
|
||||
<div>
|
||||
|
||||
<h1 class='pb-2'>Downloads</h1>
|
||||
|
||||
<v-card v-if='$root.download' max-width='100%'>
|
||||
|
||||
<v-list-item three-line>
|
||||
<v-list-item-avatar>
|
||||
<v-img :src='$root.download.track.albumArt.thumb'></v-img>
|
||||
</v-list-item-avatar>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>{{$root.download.track.title}}</v-list-item-title>
|
||||
<v-list-item-subtitle>
|
||||
Downloaded: {{$filesize($root.download.downloaded)}} / {{$filesize($root.download.size)}}<br>
|
||||
Path: {{$root.download.path}}
|
||||
</v-list-item-subtitle>
|
||||
</v-list-item-content>
|
||||
<h1 class='pb-2'>{{$t("Downloads")}}</h1>
|
||||
<div v-if='$root.downloads.downloading'>
|
||||
<v-card v-for='(download, index) in $root.downloads.threads' :key='"t" + index.toString()' max-width='100%'>
|
||||
<v-list-item>
|
||||
<v-list-item-avatar>
|
||||
<v-img :src='download.track.albumArt.thumb'></v-img>
|
||||
</v-list-item-avatar>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>{{download.track.title}}</v-list-item-title>
|
||||
<v-list-item-subtitle>
|
||||
{{$t('Downloaded')}}: {{$filesize(download.downloaded)}} / {{$filesize(download.size)}}<br>
|
||||
</v-list-item-subtitle>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
</v-card>
|
||||
|
||||
<h1 class='pb-2'>Queue:</h1>
|
||||
<div class='text-h6 mr-4 pb-2 d-flex'>Total: {{$root.downloads.length}}
|
||||
</v-card>
|
||||
</div>
|
||||
|
||||
<h1 class='pb-2'>{{$t("Queue")}}:</h1>
|
||||
<div class='text-h6 mr-4 pb-2 d-flex'>{{$t("Total")}}: {{$root.downloads.queue.length}}
|
||||
<v-btn @click='$root.toggleDownload' class='ml-4' color='primary'>
|
||||
<div v-if='$root.downloading'>
|
||||
<div v-if='$root.downloads.downloading'>
|
||||
<v-icon>mdi-stop</v-icon>
|
||||
Stop
|
||||
{{$t("Stop")}}
|
||||
</div>
|
||||
<div v-if='!$root.downloading'>
|
||||
<div v-if='!$root.downloads.downloading'>
|
||||
<v-icon>mdi-download</v-icon>
|
||||
Start
|
||||
{{$t("Start")}}
|
||||
</div>
|
||||
</v-btn>
|
||||
<!-- Open dir -->
|
||||
<v-btn @click='openDir' class='ml-4' v-if='$root.settings.electron'>
|
||||
<v-icon>mdi-folder</v-icon>
|
||||
Show folder
|
||||
{{$t("Show folder")}}
|
||||
</v-btn>
|
||||
<!-- Delete all -->
|
||||
<v-btn @click='deleteDownload(-1)' class='ml-4' color='red'>
|
||||
<v-icon>mdi-delete</v-icon>
|
||||
Clear queue
|
||||
{{$t("Clear queue")}}
|
||||
</v-btn>
|
||||
</div>
|
||||
|
||||
<!-- Downloads -->
|
||||
<!-- Queue -->
|
||||
<v-list dense>
|
||||
<div v-for='(download, index) in $root.downloads' :key='download.id'>
|
||||
<div v-for='(download, index) in $root.downloads.queue' :key='download.id'>
|
||||
<v-list-item dense>
|
||||
<v-list-item-avatar>
|
||||
<v-img :src='download.track.albumArt.thumb'></v-img>
|
||||
|
@ -5,7 +5,7 @@
|
||||
<v-btn icon @click='close'>
|
||||
<v-icon>mdi-close</v-icon>
|
||||
</v-btn>
|
||||
<v-toolbar-title>Playing from: {{$root.queue.source.text}}</v-toolbar-title>
|
||||
<v-toolbar-title>{{$t("Playing from")}}: {{$root.queue.source.text}}</v-toolbar-title>
|
||||
</v-app-bar>
|
||||
|
||||
<!-- Split to half -->
|
||||
@ -122,13 +122,13 @@
|
||||
<v-col class='col-6 pt-4'>
|
||||
<v-tabs v-model='tab'>
|
||||
<v-tab key='queue'>
|
||||
Queue
|
||||
{{$t("Queue")}}
|
||||
</v-tab>
|
||||
<v-tab key='info'>
|
||||
Info
|
||||
{{$t("Info")}}
|
||||
</v-tab>
|
||||
<v-tab key='lyrics'>
|
||||
Lyrics
|
||||
{{$t("Lyrics")}}
|
||||
</v-tab>
|
||||
</v-tabs>
|
||||
|
||||
@ -172,14 +172,13 @@
|
||||
></ArtistTile>
|
||||
</v-list>
|
||||
<!-- Meta -->
|
||||
<h3>Duration: <span>{{$duration($root.track.duration)}}</span></h3>
|
||||
<h3>Track number: {{$root.track.trackNumber}}</h3>
|
||||
<h3>Disk number: {{$root.track.diskNumber}}</h3>
|
||||
<h3>Explicit: {{$root.track.explicit?"Yes":"No"}}</h3>
|
||||
<h3>Source: {{$root.playbackInfo.source}}</h3>
|
||||
<h3>Format: {{$root.playbackInfo.format}}</h3>
|
||||
<h3>Quality: {{$root.playbackInfo.quality}}</h3>
|
||||
<h3>ID: {{$root.track.id}}</h3>
|
||||
<h3>{{$t("Duration")}}: <span>{{$duration($root.track.duration)}}</span></h3>
|
||||
<h3>{{$t("Track number")}}: {{$root.track.trackNumber}}</h3>
|
||||
<h3>{{$t("Disk number")}}: {{$root.track.diskNumber}}</h3>
|
||||
<h3>{{$t("Explicit")}}: {{$root.track.explicit?"Yes":"No"}}</h3>
|
||||
<h3>{{$t("Source")}}: {{$root.playbackInfo.source}}</h3>
|
||||
<h3>{{$t("Quality")}}: {{$root.playbackInfo.qualityString}}</h3>
|
||||
<h3>{{$t("ID")}}: {{$root.track.id}}</h3>
|
||||
</v-list>
|
||||
</v-tab-item>
|
||||
<!-- Lyrics -->
|
||||
@ -261,7 +260,7 @@ export default {
|
||||
let offsetp = (v.pageX - seeker.$el.offsetLeft) / seeker.$el.clientWidth;
|
||||
let pos = offsetp * this.$root.duration();
|
||||
this.$root.seek(pos);
|
||||
this.position = pos;
|
||||
this.position = pos / 1000;
|
||||
this.seeking = false;
|
||||
},
|
||||
//Add/Remove track from library
|
||||
@ -305,7 +304,9 @@ export default {
|
||||
this.inLibrary = this.$root.libraryTracks.includes(this.$root.track.id);
|
||||
},
|
||||
'$root.position'() {
|
||||
if (!this.seeking) this.position = this.$root.position / 1000;
|
||||
if (!this.seeking) {
|
||||
this.position = this.$root.position / 1000;
|
||||
}
|
||||
},
|
||||
}
|
||||
};
|
||||
|
@ -1,29 +1,29 @@
|
||||
<template>
|
||||
<div>
|
||||
<h1>Library</h1>
|
||||
<h1>{{$t("Library")}}</h1>
|
||||
|
||||
<v-tabs v-model='tab'>
|
||||
<v-tab key='tracks'>
|
||||
Tracks
|
||||
{{$t("Tracks")}}
|
||||
</v-tab>
|
||||
<v-tab key='albums'>
|
||||
Albums
|
||||
{{$t("Albums")}}
|
||||
</v-tab>
|
||||
<v-tab key='artists'>
|
||||
Artists
|
||||
{{$t("Artists")}}
|
||||
</v-tab>
|
||||
<v-tab key='playlists'>
|
||||
Playlists
|
||||
{{$t("Playlists")}}
|
||||
</v-tab>
|
||||
<v-tab key='history'>
|
||||
History
|
||||
{{$t("History")}}
|
||||
</v-tab>
|
||||
</v-tabs>
|
||||
|
||||
<v-tabs-items v-model='tab'>
|
||||
<!-- Tracks -->
|
||||
<v-tab-item key='tracks'>
|
||||
<LibraryTracks height='calc(100vh - 240px)'></LibraryTracks>
|
||||
<LibraryTracks height='calc(100vh - 290px)'></LibraryTracks>
|
||||
</v-tab-item>
|
||||
|
||||
<!-- Albums -->
|
||||
|
@ -9,11 +9,11 @@
|
||||
|
||||
<!-- Error -->
|
||||
<v-card class='text-center pa-4' v-if='error'>
|
||||
<h1 class='text--red'>Error logging in!</h1>
|
||||
<h3>Please try again later, or try another account.</h3>
|
||||
<h1 class='text--red'>{{$t("Error logging in!")}}</h1>
|
||||
<h3>{{$t("Please try again later, or try another account.")}}</h3>
|
||||
<v-btn large class='my-4' @click='logout'>
|
||||
<v-icon left>mdi-logout-variant</v-icon>
|
||||
Logout
|
||||
{{$t("Logout")}}
|
||||
</v-btn>
|
||||
</v-card>
|
||||
|
||||
@ -21,23 +21,24 @@
|
||||
<div v-if='showForm' class='text-center'>
|
||||
<v-img src='banner.png' contain max-width='400px' class='py-8'></v-img>
|
||||
|
||||
<h3>Please login using your Deezer account:</h3>
|
||||
<h3>{{$t("Please login using your Deezer account:")}}</h3>
|
||||
<v-btn large class='my-2 mb-4 primary' @click='browserLogin'>
|
||||
<v-icon left>mdi-open-in-app</v-icon>
|
||||
Login using browser
|
||||
{{$t("Login using browser")}}
|
||||
</v-btn>
|
||||
|
||||
<h3 class='mt-4'>...or paste your ARL/Token below:</h3>
|
||||
<v-text-field label='ARL/Token' v-model='arl'>
|
||||
<h3 class='mt-4'>{{$t("...or paste your ARL/Token below:")}}</h3>
|
||||
<v-text-field :label='$t("ARL/Token")' v-model='arl'>
|
||||
</v-text-field>
|
||||
|
||||
<v-btn large class='my-4 primary' :loading='authorizing' @click='login'>
|
||||
<v-icon left>mdi-login-variant</v-icon>Login
|
||||
<v-icon left>mdi-login-variant</v-icon>
|
||||
{{$t("Login")}}
|
||||
</v-btn>
|
||||
|
||||
<br>
|
||||
<span class='mt-8 text-caption'>
|
||||
By using this program, you disagree with Deezer's ToS.
|
||||
{{$t("By using this program, you disagree with Deezer's ToS.")}}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@ -99,7 +100,7 @@ export default {
|
||||
},
|
||||
//Login using browser
|
||||
browserLogin() {
|
||||
if (!this.$root.settings.electron) return alert('Only in Electron version!');
|
||||
if (!this.$root.settings.electron) return alert(this.$t('Only in Electron version!'));
|
||||
|
||||
const {ipcRenderer} = window.require('electron');
|
||||
ipcRenderer.on('browserLogin', (event, newArl) => {
|
||||
|
@ -17,23 +17,23 @@
|
||||
<h3>{{playlist.user.name}}</h3>
|
||||
<h5>{{playlist.description}}</h5>
|
||||
<div class='mt-2' v-if='!loading'>
|
||||
<span class='text-subtitle-2'>{{playlist.trackCount}} tracks</span><br>
|
||||
<span class='text-subtitle-2'>Duration: {{$duration(playlist.duration)}}</span><br>
|
||||
<span class='text-subtitle-2'>{{$numberString(playlist.fans)}} fans</span><br>
|
||||
<span class='text-subtitle-2'>{{playlist.trackCount}} {{$t("tracks")}}</span><br>
|
||||
<span class='text-subtitle-2'>{{$t("Duration")}}: {{$duration(playlist.duration)}}</span><br>
|
||||
<span class='text-subtitle-2'>{{$numberString(playlist.fans)}} {{$t('fans')}}</span><br>
|
||||
</div>
|
||||
|
||||
<div class='my-1'>
|
||||
<v-btn color='primary' class='mr-1' @click='play'>
|
||||
<v-icon left>mdi-play</v-icon>
|
||||
Play
|
||||
{{$t('Play')}}
|
||||
</v-btn>
|
||||
<v-btn color='red' class='mx-1' @click='library' :loading='libraryLoading'>
|
||||
<v-icon left>mdi-heart</v-icon>
|
||||
Library
|
||||
{{$t('Library')}}
|
||||
</v-btn>
|
||||
<v-btn color='green' class='mx-1' @click='download'>
|
||||
<v-icon left>mdi-download</v-icon>
|
||||
Download
|
||||
{{$t('Download')}}
|
||||
</v-btn>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div>
|
||||
|
||||
<h1 class='pb-2'>Search results for: "{{query}}"</h1>
|
||||
<h1 class='pb-2'>{{$t('Search results for:')}} "{{query}}"</h1>
|
||||
|
||||
<!-- Loading overlay -->
|
||||
<v-overlay opacity='0.9' :value='loading' z-index='3'>
|
||||
@ -12,24 +12,24 @@
|
||||
|
||||
<!-- Error overlay -->
|
||||
<v-overlay opacity='0.9' :value='error' z-index="3">
|
||||
<h1 class='red--text'>Error loading data!</h1><br>
|
||||
<h3>Try again later!</h3>
|
||||
<h1 class='red--text'>{{$t("Error loading data!")}}</h1><br>
|
||||
<h3>{{$t("Try again later!")}}</h3>
|
||||
</v-overlay>
|
||||
|
||||
<!-- Tabs -->
|
||||
<v-tabs v-model="tab">
|
||||
<v-tabs-slider></v-tabs-slider>
|
||||
<v-tab key="tracks">
|
||||
<v-icon left>mdi-music-note</v-icon>Tracks
|
||||
<v-icon left>mdi-music-note</v-icon>{{$t("Tracks")}}
|
||||
</v-tab>
|
||||
<v-tab>
|
||||
<v-icon left>mdi-album</v-icon>Albums
|
||||
<v-icon left>mdi-album</v-icon>{{$t("Albums")}}
|
||||
</v-tab>
|
||||
<v-tab>
|
||||
<v-icon left>mdi-account-music</v-icon>Artists
|
||||
<v-icon left>mdi-account-music</v-icon>{{$t("Artists")}}
|
||||
</v-tab>
|
||||
<v-tab>
|
||||
<v-icon left>mdi-playlist-music</v-icon>Playlists
|
||||
<v-icon left>mdi-playlist-music</v-icon>{{$t("Playlists")}}
|
||||
</v-tab>
|
||||
</v-tabs>
|
||||
|
||||
@ -130,7 +130,7 @@ export default {
|
||||
//On click for track tile
|
||||
playTrack(i) {
|
||||
this.$root.queue.source = {
|
||||
text: "Search",
|
||||
text: this.$t("Search"),
|
||||
source: "search",
|
||||
data: this.query
|
||||
};
|
||||
|
@ -1,10 +1,10 @@
|
||||
<template>
|
||||
<div>
|
||||
<h1 class='pb-2'>Settings</h1>
|
||||
<h1 class='pb-2'>{{$t('Settings')}}</h1>
|
||||
<v-list>
|
||||
<v-select
|
||||
class='px-4'
|
||||
label='Streaming Quality'
|
||||
:label='$t("Streaming Quality")'
|
||||
persistent-hint
|
||||
:items='qualities'
|
||||
@change='updateStreamingQuality'
|
||||
@ -13,7 +13,7 @@
|
||||
|
||||
<v-select
|
||||
class='px-4'
|
||||
label='Download Quality'
|
||||
:label='$t("Download Quality")'
|
||||
persistent-hint
|
||||
:items='qualities'
|
||||
@change='updateDownloadQuality'
|
||||
@ -23,11 +23,23 @@
|
||||
<!-- Download path -->
|
||||
<v-text-field
|
||||
class='px-4'
|
||||
label='Downloads Directory'
|
||||
:label='$t("Downloads Directory")'
|
||||
v-model='$root.settings.downloadsPath'
|
||||
append-icon='mdi-open-in-app'
|
||||
@click:append='selectDownloadPath'
|
||||
></v-text-field>
|
||||
|
||||
<!-- Download threads -->
|
||||
<v-slider
|
||||
:label='$t("Simultaneous downloads")'
|
||||
min='1'
|
||||
max='16'
|
||||
thumb-label
|
||||
step='1'
|
||||
ticks
|
||||
class='px-4'
|
||||
v-model='$root.settings.downloadThreads'
|
||||
></v-slider>
|
||||
|
||||
<!-- Download dialog -->
|
||||
<v-list-item>
|
||||
@ -35,8 +47,8 @@
|
||||
<v-checkbox v-model='$root.settings.downloadDialog'></v-checkbox>
|
||||
</v-list-item-action>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>Show download dialog</v-list-item-title>
|
||||
<v-list-item-subtitle>Always show download confirm dialog before downloading.</v-list-item-subtitle>
|
||||
<v-list-item-title>{{$t("Show download dialog")}}</v-list-item-title>
|
||||
<v-list-item-subtitle>{{$t("Always show download confirm dialog before downloading.")}}</v-list-item-subtitle>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
|
||||
@ -46,7 +58,7 @@
|
||||
<v-checkbox v-model='$root.settings.createArtistFolder'></v-checkbox>
|
||||
</v-list-item-action>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>Create folders for artists</v-list-item-title>
|
||||
<v-list-item-title>{{$t("Create folders for artists")}}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
<!-- Create album folder -->
|
||||
@ -55,9 +67,19 @@
|
||||
<v-checkbox v-model='$root.settings.createAlbumFolder'></v-checkbox>
|
||||
</v-list-item-action>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>Create folders for albums</v-list-item-title>
|
||||
<v-list-item-title>{{$t("Create folders for albums")}}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
<!-- Download lyrics -->
|
||||
<v-list-item>
|
||||
<v-list-item-action>
|
||||
<v-checkbox v-model='$root.settings.downloadLyrics'></v-checkbox>
|
||||
</v-list-item-action>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>{{$t("Download lyrics")}}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
|
||||
|
||||
<!-- Download naming -->
|
||||
<v-text-field
|
||||
@ -65,11 +87,34 @@
|
||||
label='Download Filename'
|
||||
persistent-hint
|
||||
v-model='$root.settings.downloadFilename'
|
||||
hint='Variables: %title%, %artists%, %artist%, %feats%, %trackNumber%, %0trackNumber%, %album%'
|
||||
:hint='$t("Variables") + ": %title%, %artists%, %artist%, %feats%, %trackNumber%, %0trackNumber%, %album%, %year%"'
|
||||
></v-text-field>
|
||||
|
||||
<!-- UI -->
|
||||
<v-subheader>{{$t("UI")}}</v-subheader>
|
||||
<v-divider></v-divider>
|
||||
|
||||
<!-- Language -->
|
||||
<v-select
|
||||
class='mt-2 px-4'
|
||||
label='Language'
|
||||
persistent-hint
|
||||
:items='languageNames'
|
||||
@change='updateLanguage'
|
||||
></v-select>
|
||||
|
||||
<!-- Autocomplete -->
|
||||
<v-list-item>
|
||||
<v-list-item-action>
|
||||
<v-checkbox v-model='$root.settings.showAutocomplete'></v-checkbox>
|
||||
</v-list-item-action>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>{{$t("Show autocomplete in search")}}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
|
||||
<!-- Accounts -->
|
||||
<v-subheader>Integrations</v-subheader>
|
||||
<v-subheader>{{$t("Integrations")}}</v-subheader>
|
||||
<v-divider></v-divider>
|
||||
|
||||
<!-- Log listening -->
|
||||
@ -78,8 +123,8 @@
|
||||
<v-checkbox v-model='$root.settings.logListen'></v-checkbox>
|
||||
</v-list-item-action>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>Log track listens to Deezer</v-list-item-title>
|
||||
<v-list-item-subtitle>This allows listening history, flow and recommendations to work properly.</v-list-item-subtitle>
|
||||
<v-list-item-title>{{$t("Log track listens to Deezer")}}</v-list-item-title>
|
||||
<v-list-item-subtitle>{{$t("This allows listening history, flow and recommendations to work properly.")}}</v-list-item-subtitle>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
<!-- LastFM -->
|
||||
@ -88,8 +133,8 @@
|
||||
<v-img src='lastfm.svg'></v-img>
|
||||
</v-list-item-avatar>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>Login with LastFM</v-list-item-title>
|
||||
<v-list-item-subtitle>Connect your LastFM account to allow scrobbling.</v-list-item-subtitle>
|
||||
<v-list-item-title>{{$t("Login with LastFM")}}</v-list-item-title>
|
||||
<v-list-item-subtitle>{{$t("Connect your LastFM account to allow scrobbling.")}}</v-list-item-subtitle>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
<v-list-item v-if='$root.settings.lastFM' @click='disconnectLastFM'>
|
||||
@ -97,32 +142,32 @@
|
||||
<v-icon>mdi-logout</v-icon>
|
||||
</v-list-item-avatar>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title class='red--text'>Disconnect LastFM</v-list-item-title>
|
||||
<v-list-item-title class='red--text'>{{$t("Disconnect LastFM")}}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
<!-- Discord -->
|
||||
<v-list-item>
|
||||
<v-list-item-action>
|
||||
<v-checkbox v-model='$root.settings.enableDiscord' @click='snackbarText = "Requires restart to apply!"; snackbar = true'></v-checkbox>
|
||||
<v-checkbox v-model='$root.settings.enableDiscord' @click='snackbarText = $t("Requires restart to apply!"); snackbar = true'></v-checkbox>
|
||||
</v-list-item-action>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>Discord Rich Presence</v-list-item-title>
|
||||
<v-list-item-subtitle>Enable Discord Rich Presence, requires restart to toggle!</v-list-item-subtitle>
|
||||
<v-list-item-title>{{$t("Discord Rich Presence")}}</v-list-item-title>
|
||||
<v-list-item-subtitle>{{$t("Enable Discord Rich Presence, requires restart to toggle!")}}</v-list-item-subtitle>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
<!-- Discord Join Button -->
|
||||
<v-list-item>
|
||||
<v-list-item-action>
|
||||
<v-checkbox v-model='$root.settings.discordJoin' @click='snackbarText = "Requires restart to apply!"; snackbar = true'></v-checkbox>
|
||||
<v-checkbox v-model='$root.settings.discordJoin' @click='snackbarText = $t("Requires restart to apply!"); snackbar = true'></v-checkbox>
|
||||
</v-list-item-action>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>Discord Join Button</v-list-item-title>
|
||||
<v-list-item-subtitle>Enable Discord join button for syncing tracks, requires restart to toggle!</v-list-item-subtitle>
|
||||
<v-list-item-title>{{$t("Discord Join Button")}}</v-list-item-title>
|
||||
<v-list-item-subtitle>{{$t("Enable Discord join button for syncing tracks, requires restart to toggle!")}}</v-list-item-subtitle>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
|
||||
<!-- Misc -->
|
||||
<v-subheader>Other</v-subheader>
|
||||
<v-subheader>{{$t("Other")}}</v-subheader>
|
||||
<v-divider></v-divider>
|
||||
|
||||
<!-- Minimize to tray -->
|
||||
@ -131,7 +176,7 @@
|
||||
<v-checkbox v-model='$root.settings.minimizeToTray'></v-checkbox>
|
||||
</v-list-item-action>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>Minimize to tray</v-list-item-title>
|
||||
<v-list-item-title>{{$t("Minimize to tray")}}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
<!-- Close on exit -->
|
||||
@ -140,22 +185,21 @@
|
||||
<v-checkbox v-model='$root.settings.closeOnExit'></v-checkbox>
|
||||
</v-list-item-action>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title>Close on exit</v-list-item-title>
|
||||
<v-list-item-subtitle>Don't minimize to tray</v-list-item-subtitle>
|
||||
<v-list-item-title>{{$t("Close on exit")}}</v-list-item-title>
|
||||
<v-list-item-subtitle>{{$t("Don't minimize to tray")}}</v-list-item-subtitle>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
|
||||
<!-- Logout -->
|
||||
<v-btn block color='red' class='mt-4' @click='logout'>
|
||||
<v-icon>mdi-logout</v-icon>
|
||||
Logout
|
||||
{{$t("Logout")}}
|
||||
</v-btn>
|
||||
|
||||
</v-list>
|
||||
|
||||
<v-btn class='my-4' large color='primary' :loading='saving' block @click='save'>
|
||||
<v-btn fab color='primary' absolute bottom right class='mb-12' @click='save' :loading='saving'>
|
||||
<v-icon>mdi-content-save</v-icon>
|
||||
Save
|
||||
</v-btn>
|
||||
|
||||
<!-- Info snackbar -->
|
||||
@ -192,7 +236,17 @@ export default {
|
||||
downloadQuality: null,
|
||||
devToolsCounter: 0,
|
||||
snackbarText: null,
|
||||
snackbar: false
|
||||
snackbar: false,
|
||||
language: 'en',
|
||||
languages: [
|
||||
{code: 'en', name: 'English'},
|
||||
{code: 'ar', name: 'Arabic'},
|
||||
{code: 'de', name: 'German'},
|
||||
],
|
||||
primaryColorIndex: 0,
|
||||
primaries: ['#F44336', '#E91E63', '#9C27B0', '#673AB7', '#3F51B5', '#2196F3', '#03A9F4',
|
||||
'#00BCD4', '#009688', '#4CAF50', '#8BC34A', '#CDDC39', '#FFEB3B', '#FFC107', '#FF9800', '#FF5722',
|
||||
'#795548', '#607D8B', '#9E9E9E', '#333333', '#000000']
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@ -202,6 +256,8 @@ export default {
|
||||
this.$root.saveSettings();
|
||||
//Artificial wait to make it seem like something happened.
|
||||
setTimeout(() => {this.saving = false;}, 500);
|
||||
this.snackbarText = this.$t("Settings saved!");
|
||||
this.snackbar = true;
|
||||
},
|
||||
getQuality(v) {
|
||||
let i = this.qualities.indexOf(v);
|
||||
@ -228,7 +284,7 @@ export default {
|
||||
selectDownloadPath() {
|
||||
//Electron check
|
||||
if (!this.$root.settings.electron) {
|
||||
alert('Available only in Electron version!');
|
||||
alert(this.$t("Available only in Electron version!"));
|
||||
return;
|
||||
}
|
||||
const {ipcRenderer} = window.require('electron');
|
||||
@ -252,6 +308,24 @@ export default {
|
||||
this.$root.settings.lastFM = null;
|
||||
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;
|
||||
},
|
||||
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;
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
languageNames() {
|
||||
return this.languages.map(l => l.name);
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@ -272,6 +346,18 @@ export default {
|
||||
remote.getCurrentWindow().toggleDevTools();
|
||||
}
|
||||
}
|
||||
|
||||
//Shhhhhh
|
||||
if (event.code == 'KeyC' && event.shiftKey) {
|
||||
this.changeColor();
|
||||
}
|
||||
|
||||
//SSHHSHSHHSH
|
||||
if (event.code == 'KeyG' && event.shiftKey && event.altKey) {
|
||||
setInterval(() => {
|
||||
this.changeColor();
|
||||
}, 400);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user