Merge remote-tracking branch 'origin/main' into router-implementation

This commit is contained in:
Roberto Tonino 2020-07-29 18:53:11 +02:00
commit 6b475910b5
14 changed files with 2879 additions and 12 deletions

View File

@ -6,8 +6,9 @@ This is just the WebUI for deemix, it should be used with deemix-pyweb or someth
- Use Vue as much as possible - Use Vue as much as possible
- First step: rewrite the app in Single File Components way ✅ - First step: rewrite the app in Single File Components way ✅
- Second step: Implement routing for the whole app using Vue Router - Second step: Implement custom contextmenu
- Third step: Remove jQuery - Third step: Implement routing for the whole app using Vue Router
- Fourth step: Remove jQuery
- Make i18n async (https://kazupon.github.io/vue-i18n/guide/lazy-loading.html) - Make i18n async (https://kazupon.github.io/vue-i18n/guide/lazy-loading.html)
- Use ES2020 async imports, if possible - Use ES2020 async imports, if possible
- Make the UI look coherent - Make the UI look coherent

File diff suppressed because one or more lines are too long

View File

@ -679,6 +679,55 @@ export default {
} }
} }
}, },
mounted() {
this.locales = this.$i18n.availableLocales
EventBus.$on('settingsTab:revertSettings', this.revertSettings)
EventBus.$on('settingsTab:revertCredentials', this.revertCredentials)
this.$refs.loggedInInfo.classList.add('hide')
let storedLocale = localStorage.getItem('locale')
if (storedLocale) {
this.$i18n.locale = storedLocale
this.currentLocale = storedLocale
}
let storedArl = localStorage.getItem('arl')
if (storedArl) {
this.$refs.loginInput.value = storedArl.trim()
}
let storedAccountNum = localStorage.getItem('accountNum')
if (storedAccountNum) {
this.accountNum = storedAccountNum
}
let spotifyUser = localStorage.getItem('spotifyUser')
if (spotifyUser) {
this.lastUser = spotifyUser
this.spotifyUser = spotifyUser
socket.emit('update_userSpotifyPlaylists', spotifyUser)
}
this.changeSlimDownloads = 'true' === localStorage.getItem('slimDownloads')
let volume = parseInt(localStorage.getItem('previewVolume'))
if (isNaN(volume)) {
volume = 80
localStorage.setItem('previewVolume', volume)
}
window.vol.preview_max_volume = volume
socket.on('init_settings', this.initSettings)
socket.on('updateSettings', this.updateSettings)
socket.on('accountChanged', this.accountChanged)
socket.on('familyAccounts', this.initAccounts)
},
methods: { methods: {
revertSettings() { revertSettings() {
this.settings = { ...this.lastSettings } this.settings = { ...this.lastSettings }

344
src/lang/de.js Normal file
View File

@ -0,0 +1,344 @@
const de = {
globals: {
welcome: 'Willkommen bei deemix',
back: 'zurück',
loading: 'lädt',
download: 'Download {0}',
by: 'um {0}',
in: 'in {0}',
download_hint: 'Download',
play_hint: 'Abspielen',
toggle_download_tab_hint: 'Einblenden/Ausblenden',
clean_queue_hint: 'Fertige löschen',
cancel_queue_hint: 'Alle abbrechen',
listTabs: {
empty: '',
all: 'alle',
top_result: 'top-ergebnis',
album: 'album | alben',
artist: 'künstler | künstler',
single: 'single | singles',
title: 'titel | titel',
track: 'track | tracks',
trackN: '0 tracks | {n} track | {n} tracks',
releaseN: '0 veröffentlichungen | {n} veröffentlichung | {n} veröffentlichungen',
playlist: 'playlist | playlisten',
compile: 'compilation | compilations',
ep: 'ep | eps',
spotifyPlaylist: 'spotify playlist | spotify playlists',
releaseDate: 'veröffentlichungsdatum',
error: 'fehler'
}
},
about: {
titles: {
usefulLinks: 'Hilfreiche Links',
bugReports: 'Fehlerberichte',
contributing: 'Mitwirkende',
donations: 'Spenden',
license: 'Lizenz'
},
subtitles: {
bugReports: "Gibt es etwas, das im Deemix nicht funktioniert? Teil es uns mit!",
contributing: 'du möchtest zu diesem Projekt beitragen? Das kannst du auf verschiedene Weise tun!',
donations: 'du möchtest einen monetären Beitrag leisten? Gib uns eine Spende!'
},
usesLibrary: 'Diese App verwendet die <strong>deemix</strong> Bibliothek, die du verwenden kannst, um Deine eigene UI für Deemix zu erstellen.',
thanks: `Danke an <strong>rtonno</strong>, <strong>uhwot</strong> und <strong>lollilol</strong> für die Hilfe bei diesem Projekt und an <strong>BasCurtiz</strong> und <strong>scarvimane</strong> für das Design der Icons.`,
upToDate: `Bleibe mit den Aktualisierungen auf dem Laufenden, indem du dem <a href="https://t.me/RemixDevNews" target="_blank">Nachrichtenkanal</a> auf Telegram folgst.`,
officialWebsite: 'Offizielle Webseite',
officialRepo: 'Offizielle Library Repository',
officialWebuiRepo: 'Offizielle WebUI Repository',
officialSubreddit: 'Offizieller Subreddit',
newsChannel: 'News Kanal',
questions: `Wenn du Fragen oder Probleme mit der App hast, suche zuerst nach einer Lösung im <a href="https://www.reddit.com/r/deemix" target="_blank">subreddit</a>. Wenn du dann nichts findest, kannst du einen Beitrag mit Deinem Thema auf dem subreddit verfassen.`,
beforeReporting: `Bevor du einen Fehler meldest, stelle sicher, dass du die neueste Version der App benutzt und dass das, was du melden möchtest, tatsächlich ein Fehler ist und nicht etwas, das nur auf deiner Seite falsch ist.`,
beSure: `Vergewissere dich, dass der Fehler auf einem anderen Rechner reproduzierbar ist und auch <stark>DO NOT</stark> melde einen Fehler, wenn er bereits gemeldet wurde.`,
duplicateReports: 'Doppelte Fehlerberichte werden geschlossen, also behalte das im Auge.',
dontOpenIssues: `Erstelle <strong>KEINE</strong> Einträge, um Fragen zu stellen, dafür gibt es einen Unterpunkt.`,
newUI: `Wenn du dich mit Python auskennst, könntest du versuchen, ein neues UI für die Anwendung zu erstellen, indem du die Basisbibliothek benutzt, oder Fehler in der Bibliothek mit einer Pull-Anfrage auf der <a href="https://codeberg.org/RemixDev/deemix" target="_blank">Repo</a> behebst.`,
acceptFeatures: `Ich akzeptiere auch Features, aber keine komplexen Dinge, da sie direkt in der App und nicht in der Bibliothek implementiert werden können.`,
otherLanguages: `Wenn du eine andere Programmiersprache fließend beherrschst, könntest du versuchen, deemix in andere Programmiersprachen zu portieren!`,
understandingCode: `Sie benötigen Hilfe beim Verständnis des Codes? Drücken Sie einfach RemixDev auf Telegram oder Reddit.`,
contributeWebUI: `Wenn du Vue.js (JavaScript), HTML oder CSS kennst, könntest du zum <a href="https://codeberg.org/RemixDev/deemix-webui" target="_blank">WebUI</a> beitragen.`,
itsFree: `Du solltest daran denken, dass dies ist ein <strong>freies Projekt</strong> ist und <strong>Du solltest die Künstler, die du liebst, unterstützen<strong>, bevor du die Entwickler unterstützt.`,
notObligated: `Fühle dich nicht verpflichtet zu spenden, wir schätzen deinen Beitrag trotzdem!`,
lincensedunder: `Diese Arbeit ist lizensiert unter einer
<a rel="license" href="https://www.gnu.org/licenses/gpl-3.0.en.html" target="_blank"
>GNU General Public License 3.0</a
>.`
},
charts: {
title: 'Charts',
changeCountry: 'Land ändern',
download: 'Charts herunterladen'
},
errors: {
title: 'Fehler für {0}',
ids: {
invaliduRL: 'URL nicht erkannt',
unsupporteduRL: 'URL noch nicht unterstützt',
ISRCnotOnDeezer: 'Titel ISRC ist auf deezer nicht verfügbar',
notYourPrivatePlaylist: "Du kannst keine privaten Playlisten anderer herunterladen.",
spotifyDisabled: 'Spotify Features sind nicht korrekt eingerichtet.',
trackNotOnDeezer: 'Titel auf der Deezer nicht gefunden!',
albumNotOnDeezer: 'Album auf der Deezer nicht gefunden!',
notOnDeezer: 'Titel bei Deezer nicht verfügbar!',
notEncoded: 'Titel noch nicht kodiert!',
notEncodedNoAlternative: 'Titel noch nicht kodiert und keine Alternative gefunden!',
wrongBitrate: 'Titel mit der gewünschten Bitrate nicht gefunden.',
wrongBitrateNoAlternative: 'Titel mit der gewünschten Bitrate nicht gefunden und keine Alternative gefunden!',
no360RA: 'Der Titel ist im Reality Audio 360 Format nicht verfügbar.',
notAvailable: "Titel auf den Servern von deezer nicht verfügbar!",
notAvailableNoAlternative: "Titel auf den Servern von deezer nicht verfügbar und keine Alternative gefunden!"
}
},
favorites: {
title: 'Favoriten',
noPlaylists: 'Keine Playlisten gefunden',
noAlbums: 'Keine Album-Favoriten gefunden',
noArtists: 'Keine Künstler-Favoriten gefunden',
noTracks: 'Keine Titel-Favoriten gefunden'
},
home: {
needTologin: 'Du musst dich in dein Deezer-Konto einloggen, bevor du mit dem Download beginnen kannst.',
openSettings: 'Einstellungen öffnen',
sections: {
popularPlaylists: 'Beliebte Playlisten',
popularAlbums: 'Meist gestreamte Alben'
}
},
linkAnalyzer: {
info: 'In dieser Sektion findest du weitere Informationen über den Link, den du versuchst herunterzuladen.',
useful:
"Dies ist nützlich, wenn du versuchst, einige Titel herunterzuladen, die in deinem Land nicht verfügbar sind, und du zum Beispiel wissen willst, wo sie verfügbar sind.",
linkNotSupported: 'Dieser Link wird noch nicht unterstützt',
linkNotSupportedYet: 'Es scheint, als ob dieser Link noch nicht unterstützt wird, versuche einen anderen zu analysieren.',
table: {
id: 'ID',
isrc: 'ISRC',
upc: 'UPC',
duration: 'Länge',
diskNumber: 'Disk Nummer',
trackNumber: 'Titel Nummer',
releaseDate: 'Veröffentlichungsdatum',
bpm: 'BPM',
label: 'Musiklabel',
recordType: 'Record Typ',
genres: 'Genres',
tracklist: 'Tracklist'
}
},
search: {
startSearching: 'Suche starten!',
description:
'Du kannst einen Track suchen, ein ganzes Album, einen Künstler, eine Playlist.... alles! Du kannst auch einen Deezer-Link einfügen',
fans: '{0} Fans',
noResults: 'Keine Ergebnisse',
noResultsTrack: 'Keine Titel gefunden',
noResultsAlbum: 'Keine Alben gefunden',
noResultsArtist: 'Keine Künstler gefunden',
noResultsPlaylist: 'Keine Playlisten gefunden'
},
searchbar: 'Suche alles, was du willst (oder füge einfach einen Link ein)',
downloads: 'downloads',
toasts: {
addedToQueue: '{0} zur Warteschlange hinzugefügt',
alreadyInQueue: '{0} ist bereits in der Warteschlange!',
finishDownload: '{0} bereits heruntgeladen',
allDownloaded: 'Alle Downloads abgeschlossen!',
refreshFavs: 'Aktualisierung abgeschlossen!',
loggingIn: 'Einloggen',
loggedIn: 'Eingeloggt',
alreadyLogged: 'Bereits eingeloggt',
loginFailed: "Einloggen nicht möglich",
loggedOut: 'Ausgeloggt',
cancellingCurrentItem: 'Aktuellen Eintrag abbrechen.',
currentItemCancelled: 'Aktueller Eintrag abgebrochen.',
startAddingArtist: '{0} Alben zur Warteschlange hinzufügen',
finishAddingArtist: '{0} Alben zur Warteschlange hinzugefügt',
startConvertingSpotifyPlaylist: 'Umwandlung von Spotify-Titel in Deezer-Titel',
finishConvertingSpotifyPlaylist: 'Spotify Playlist konvertiert'
},
settings: {
title: 'Eisntellungen',
languages: 'Sprachen',
login: {
title: 'Login',
loggedIn: 'Sie sind eingeloggt als {username}',
arl: {
question: 'Wie bekomme ich meine eigene ARL?',
update: 'ARL aktualisieren'
},
logout: 'Ausloggen'
},
appearance: {
title: 'Aussehen',
slimDownloadTab: 'Schlanker Download-Tab'
},
downloadPath: {
title: 'Download Pfad'
},
templates: {
title: 'Vorlagen',
tracknameTemplate: 'Titelname Vorlage',
albumTracknameTemplate: 'Album Titel Vorlage',
playlistTracknameTemplate: 'Playlist Titel Vorlage'
},
folders: {
title: 'Ordner',
createPlaylistFolder: 'Ordner für Playlists erstellen',
playlistNameTemplate: 'Vorlage für Playlist-Ordner',
createArtistFolder: 'Ordner für Künstler erstellen',
artistNameTemplate: 'Vorlage für Künstler-Ordner',
createAlbumFolder: 'Ordner für Album erstellen',
albumNameTemplate: 'Vorlage für Album-Ordner',
createCDFolder: 'Ordner für CDs erstellen',
createStructurePlaylist: 'Ordnerstruktur für Wiedergabelisten erstellen',
createSingleFolder: 'Ordnerstruktur für Singles erstellen'
},
trackTitles: {
title: 'Tracktitel',
padTracks: 'Pad tracks',
paddingSize: 'Overwrite padding size',
illegalCharacterReplacer: 'Unzulässiger Zeichen-Ersetzer'
},
downloads: {
title: 'Downloads',
queueConcurrency: 'Gleichzeitige Downloads',
maxBitrate: {
title: 'Bevorzugte Bitrate',
9: 'FLAC 1411kbps',
3: 'MP3 320kbps',
1: 'MP3 128kbps'
},
overwriteFile: {
title: 'Soll ich die Dateien überschreiben?',
y: 'Ja, Datei überschreiben',
n: "Nein, Datei nicht überschreiben",
t: 'Nur Tags überschreiben'
},
fallbackBitrate: 'Fallback Bitrate',
fallbackSearch: 'Fallback suchen',
logErrors: 'Protokolldateien für Fehler erstellen',
logSearched: 'Protokolldateien für gesuchte Titel erstellen',
createM3U8File: 'Playlist-Datei erstellen (M3U8)',
syncedLyrics: '.lyr-Dateien erstellen (Liedtexte synchronisieren)',
playlistFilenameTemplate: 'Vorlage für Playlist-Dateinamen',
saveDownloadQueue: 'Speichern der Download-Warteschlange beim Schließen der Anwendung'
},
covers: {
title: 'Album-Cover',
saveArtwork: 'Cover speichern',
coverImageTemplate: 'Vorlage für Cover-Bezeichnung',
saveArtworkArtist: 'Künstlerbild speichern',
artistImageTemplate: 'Vorlage für Künstlerbild',
localArtworkSize: 'Lokale Größe des Künstlerbildes',
embeddedArtworkSize: 'Eingebettete Größe des Künstlerbildes',
localArtworkFormat: {
title: 'Welches Format soll das lokale Künstlerbild haben?',
jpg: 'Ein jpeg Bild',
png: 'Ein png Bild',
both: 'Beides, eine jpeg und eine png'
},
jpegImageQuality: 'JPEG Bild Qualität'
},
tags: {
head: 'Welche Tags sollen gespeichert werden',
title: 'Titel',
artist: 'Künstler',
album: 'Album',
cover: 'Cover',
trackNumber: 'Titel Nummer',
trackTotal: 'Titel Insgesamt',
discNumber: 'Disc Nummer',
discTotal: 'Disc Insgesamt',
albumArtist: 'Album Künstler',
genre: 'Genre',
year: 'Jahr',
date: 'Datum',
explicit: 'Explizite Texte',
isrc: 'ISRC',
length: 'Länge',
barcode: 'Album Barcode (UPC)',
bpm: 'BPM',
replayGain: 'Replay Gain',
label: 'Album Plattenlabel',
lyrics: 'Unsynchronisierte Liedtexte',
copyright: 'Urheberrecht',
composer: 'Komponist',
involvedPeople: 'Beteiligte Personen'
},
other: {
title: 'Andere',
savePlaylistAsCompilation: 'Wiedergabelisten als Compilation speichern',
useNullSeparator: 'Null-Trennzeichen verwenden',
saveID3v1: 'ID3v1 ebenfalls speichern',
multiArtistSeparator: {
title: 'Wie möchten Sie Ihre Künstler trennen?',
nothing: 'Nur den Hauptkünstler speichern',
default: 'Verwendung der Standardspezifikation',
andFeat: 'Verwendung von & und feat.',
using: 'Verwendet "{0}"'
},
singleAlbumArtist: 'Nur den Interpreten des Hauptalbums speichern',
albumVariousArtists: '"Verschiedene Künstler" im Album Künstler Tag behalten',
removeAlbumVersion: '"Album-Version" aus dem Titelnamen entfernen',
removeduplicateArtists: 'Kombinationen von Künstlern entfernen',
dateFormat: {
title: 'Datumsformat für FLAC-Dateien',
year: 'YYYY',
month: 'MM',
day: 'DD'
},
featuredToTitle: {
title: 'Was soll ich mit den Featured Künstlern machen?',
0: 'Nichts',
1: 'Aus dem Titel entfernen',
3: 'Aus dem Titel und dem Albumtitel entfernen',
2: 'In den Titel verschieben'
},
titleCasing: 'Titel Textformattierung',
artistCasing: 'Künstler Textformattierung',
casing: {
nothing: 'Unverändert lassen',
lower: 'kleinbuchstaben',
upper: 'GROSSBUCHSTABEN',
start: 'Anfang Jedes Wortes',
sentence: 'Wie einen Satz'
},
previewVolume: 'Vorschau Lautstärke',
executeCommand: {
title: 'Befehl zur Ausführung nach dem Download',
description: 'Leer lassen für keine Aktion'
}
},
spotify: {
title: 'Spotify-Funktionen',
clientID: 'Spotify clientID',
clientSecret: 'Spotify Client Secret',
username: 'Spotify Benutzername'
},
reset: 'Auf Standard zurücksetzen',
save: 'Speichern',
toasts: {
init: 'Einstellungen geladen!',
update: 'Einstellungen aktualisiert!',
ARLcopied: 'ARL in die Zwischenablage kopiert'
}
},
sidebar: {
home: 'start',
search: 'suche',
charts: 'charts',
favorites: 'favoriten',
linkAnalyzer: 'link-analysator',
settings: 'einstellungen',
about: 'über'
},
tracklist: {
downloadSelection: 'Auswahl herunterladen'
}
}
export default de

346
src/lang/es.js Normal file
View File

@ -0,0 +1,346 @@
const es = {
globals: {
welcome: 'Bienvenido a deemix',
back: 'atrás',
loading: 'cargando',
download: 'Descarga {0}',
by: 'por {0}',
in: 'en {0}',
download_hint: 'Descargar',
play_hint: 'Reproducir',
toggle_download_tab_hint: 'Expandir/Colapsar',
clean_queue_hint: 'Limpiar terminados',
cancel_queue_hint: 'Cancelar todos',
listTabs: {
empty: '',
all: 'todos',
top_result: 'mejores resultados',
album: 'álbum | álbumes',
artist: 'artista | artistas',
single: 'sencillo | sencillos',
title: 'título | títulos',
track: 'pista | pistas',
trackN: '0 pistas | {n} pista | {n} pistas',
releaseN: '0 entregas | {n} entrega | {n} entregas',
playlist: 'lista de reproducción | listas de reproducción',
compile: 'compilación | compilaciones',
ep: 'ep | eps',
spotifyPlaylist: 'lista de reproducción spotify | listas de reproducción spotify',
releaseDate: 'fecha de publicación',
error: 'error'
}
},
about: {
titles: {
usefulLinks: 'Enlaces útiles',
bugReports: 'Reportar fallos',
contributing: 'Contribuye',
donations: 'Donaciones',
license: 'Licencia'
},
subtitles: {
bugReports: '¿Hay algo que no funcione en Deemix? ¡Díganoslo!',
contributing: '¿Quieres contribuir a este proyecto? ¡Puedes hacerlo de diferentes maneras!',
donations: '¿Quiere contribuir monetariamente? ¡Podrías hacer una donación!'
},
usesLibrary:
'Esta aplicación usa la biblioteca <strong>deemix</strong>, que puedes usar para hacer tu propia interfaz de usuario para deemix.',
thanks: `Gracias a <strong>rtonno</fuerte>, <strong>uhwot</fuerte> y <strong>lollilol</fuerte> por ayudarme con este proyecto, a <strong>BasCurtiz</fuerte> y <strong>scarvimane</fuerte> por hacer el icono.`,
upToDate: `Mantente al día con las actualizaciones siguiendo el <a href="https://t.me/RemixDevNews" target="_blank">canal de noticias</a> en Telegram.`,
officialWebsite: 'Página web oficial',
officialRepo: 'Repositorio de la biblioteca oficial',
officialWebuiRepo: 'Repositorio oficial de WebUI',
officialSubreddit: 'Subreddit oficial',
newsChannel: 'Canal de noticias',
questions: `Si tienes preguntas o problemas con la aplicación, busca una solución en el <a href="https://www.reddit.com/r/deemix" target="_blank">subreddit</a> primero. Luego, si no encuentras nada puedes hacer un post con tu problema en el subreddit.`,
beforeReporting: `Antes de informar de un error asegúrese de que está ejecutando la última versión de la aplicación y que lo que quiere informar es en realidad un error y no algo que está mal sólo en su extremo.`,
beSure: `Asegúrate de que el fallo es reproducible en otras máquinas y también <strong>NO</strong> reporte un fallo si ya ha sido reportado.`,
duplicateReports: 'Los informes de errores duplicados se cerrarán, así que manténgase al tanto de eso.',
dontOpenIssues: `<strong>NO</strong> abra problemas para hacer preguntas, hay un subreddit para eso.`,
newUI: `Si tienes fluidez en Python podrías intentar hacer una nueva interfaz de usuario para la aplicación usando la biblioteca base, o arreglar los errores de la biblioteca con una petición pull en el <a href="https://codeberg.org/RemixDev/deemix" target="_blank">repo</a>.`,
acceptFeatures: `También acepto características, pero no cosas complejas, ya que se pueden implementar directamente en la aplicación y no en la biblioteca.`,
otherLanguages: `¡Si dominas otro lenguaje de programación podrías intentar portar Deemix a otros lenguajes de programación!`,
understandingCode: `¿Necesitas ayuda para entender el código? Sólo tienes que poner RemixDev en Telegram o Reddit.`,
contributeWebUI: `Si conoces Vue.js (JavaScript), HTML o CSS podrías contribuir a la <a href="https://codeberg.org/RemixDev/deemix-webui" target="_blank">WebUI</a>.`,
itsFree: `Debes recordar que <strong>este es un proyecto libre</fuerte> y <strong>debes apoyar a los artistas que amas</fuerte> antes de apoyar a los desarrolladores.`,
notObligated: `No te sientas obligado a donar, ¡te aprecio de todas formas!`,
lincensedUnder: `Esta obra está autorizada bajo una
<a rel="licencia" href="https://www.gnu.org/licenses/gpl-3.0.en.html" target="_blank"
>GNU Licencia Pública General 3.0</a>.`
},
charts: {
title: 'Tablas',
changeCountry: 'Cambiar país',
download: 'Descargar la tabla'
},
errors: {
title: 'Errores para {0}',
ids: {
invalidURL: 'No se reconoce la URL',
unsupportedURL: 'La URL no está soportada aún',
ISRCnotOnDeezer: 'Pista ISRC no está disponible en Deezer',
notYourPrivatePlaylist: 'No puedes descargar otras listas de reproducción privadas.',
spotifyDisabled: 'Funciones de Spotify no está configurado correctamente.',
trackNotOnDeezer: '¡No se encontró la pista en Deezer!',
albumNotOnDeezer: '¡El álbum no se encuentra en Deezer!',
notOnDeezer: '¡Pista no disponible en Deezer!',
notEncoded: '¡Pista aún no codificada!',
notEncodedNoAlternative: '¡Pista aún no codificada y no se ha encontrado ninguna alternativa!',
wrongBitrate: 'La pista no se encuentra a la velocidad de bitrate deseada.',
wrongBitrateNoAlternative:
'¡Pista no encontrada a la tasa de bits deseada y no se ha encontrado ninguna alternativa!',
no360RA: 'La pista no está disponible en Reality Audio 360.',
notAvailable: '¡La pista no está disponible en los servidores de Deezer!',
notAvailableNoAlternative:
'¡La pista no está disponible en los servidores de Deezer y no se ha encontrado ninguna alternativa!'
}
},
favorites: {
title: 'Favoritos',
noPlaylists: 'No se han encontrado listas de reproducción',
noAlbums: 'No se han encontrado álbumes favoritos',
noArtists: 'No se han encontrado artistas favoritos',
noTracks: 'No se han encontrado pistas favoritas'
},
home: {
needTologin: 'Necesitas entrar en tu cuenta de Deezer antes de poder empezar a descargar.',
openSettings: 'Abrir la configuración',
sections: {
popularPlaylists: 'Listas de reproducción populares',
popularAlbums: 'Los álbumes más transmitidos'
}
},
linkAnalyzer: {
info: 'Puedes usar esta sección para encontrar más información sobre el enlace que estás tratando de descargar.',
useful:
'Esto es útil si está tratando de descargar algunas pistas que no están disponibles en su país y quiere saber dónde están disponibles, por ejemplo.',
linkNotSupported: 'Este enlace aún no está soportado',
linkNotSupportedYet: 'Parece que este enlace aún no está soportado, intenta analizar otro.',
table: {
id: 'ID',
isrc: 'ISRC',
upc: 'UPC',
duration: 'Duración',
diskNumber: 'Número del disco',
trackNumber: 'Número de la pista',
releaseDate: 'Fecha de lanzamiento',
bpm: 'BPM',
label: 'Etiqueta',
recordType: 'Tipo de grabación',
genres: 'Géneros',
tracklist: 'Lista de pista'
}
},
search: {
startSearching: '¡Comienza a buscar!',
description:
'Puedes buscar un tema, un álbum entero, un artista, una lista de reproducción... ¡todo! También puedes pegar un enlace de Deezer',
fans: '{0} fanáticos',
noResults: 'No hay resultados',
noResultsTrack: 'No se encontraron pistas',
noResultsAlbum: 'No se encontraron álbumes',
noResultsArtist: 'No se encontraron artistas',
noResultsPlaylist: 'No se encontraron listas de reproducción'
},
searchbar: 'Busca lo que quieras (o simplemente pega un enlace)',
downloads: 'descargas',
toasts: {
addedToQueue: '{0} añadidos a la cola',
alreadyInQueue: '¡{0} ya está en la cola!',
finishDownload: '{0} terminado de descargar.',
allDownloaded: '¡Todas las descargas se han completado!',
refreshFavs: '¡Actualización completada!',
loggingIn: 'Conectando...',
loggedIn: 'Conectado',
alreadyLogged: 'Ya está conectado',
loginFailed: 'No se puede conectar',
loggedOut: 'Desconectado',
cancellingCurrentItem: 'Cancelando el elemento actual.',
currentItemCancelled: 'El elemento actual se ha cancelado.',
startAddingArtist: 'Añadiendo {0} álbumes a la cola',
finishAddingArtist: 'Añadido {0} álbumes a la cola',
startConvertingSpotifyPlaylist: 'Convertir las pistas de Spotify en pistas de Deezer',
finishConvertingSpotifyPlaylist: 'Lista de reproducción de Spotify convertida'
},
settings: {
title: 'Configuración',
languages: 'Idiomas',
login: {
title: 'Ingresa',
loggedIn: 'Usted está conectado como {nombre de usuario}',
arl: {
question: '¿Cómo consigo mi propio ARL?',
update: 'Actualizar la ARL'
},
logout: 'Cerrar sesión'
},
appearance: {
title: 'Apariencia',
slimDownloadTab: 'Pestaña de descargas delgada'
},
downloadPath: {
title: 'Ruta de descarga'
},
templates: {
title: 'Plantillas',
tracknameTemplate: 'Plantilla de nombres de pista',
albumTracknameTemplate: 'Plantilla de pista del álbum',
playlistTracknameTemplate: 'Plantilla de pista de la lista de reproducción'
},
folders: {
title: 'Carpetas',
createPlaylistFolder: 'Crear una carpeta para las listas de reproducción',
playlistNameTemplate: 'Plantilla de la carpeta de la lista de reproducción',
createArtistFolder: 'Crear carpeta para el artista',
artistNameTemplate: 'Plantilla de la carpeta del artista',
createAlbumFolder: 'Crear carpeta para el álbum',
albumNameTemplate: 'Plantilla de la carpeta del álbum',
createCDFolder: 'Crear una carpeta para los CDs',
createStructurePlaylist: 'Crear una estructura de carpetas para las listas de reproducción',
createSingleFolder: 'Crear una estructura de carpetas para individuales'
},
trackTitles: {
title: 'Títulos de las pistas',
padTracks: 'Pad de pistas',
paddingSize: 'Sobrescribir el tamaño del pad',
illegalCharacterReplacer: 'Reemplazo del carácter ilegal'
},
downloads: {
title: 'Descargas',
queueConcurrency: 'Descargas simultáneas',
maxBitrate: {
title: 'Tasa de bits preferida',
9: 'FLAC 1411kbps',
3: 'MP3 320kbps',
1: 'MP3 128kbps'
},
overwriteFile: {
title: '¿Desea que sobreescriba los archivos?',
y: 'Sí, sobrescribir el archivo',
n: 'No, no sobrescribir el archivo',
t: 'Sobrescribir sólo las etiquetas'
},
fallbackBitrate: 'La solución alternativa de bitrate',
fallbackSearch: 'Búsqueda de la segunda opción',
logErrors: 'Crear archivos de registro de errores',
logSearched: 'Crear archivos de registro para las pistas buscadas',
createM3U8File: 'Crear archivo de la lista de reproducción',
syncedLyrics: 'Crear archivos .lyr (letras sincronizadas)',
playlistFilenameTemplate: 'Plantilla de nombres de archivos de la lista de reproducción',
saveDownloadQueue: 'Guardar la cola de descarga al cerrar la aplicación'
},
covers: {
title: 'Cubiertas de álbumes',
saveArtwork: 'Guardar las cubiertas',
coverImageTemplate: 'Plantilla de nombres de portada',
saveArtworkArtist: 'Guardar imagen de artista',
artistImageTemplate: 'Plantilla de imagen de artista',
localArtworkSize: 'El tamaño de la imagen local',
embeddedArtworkSize: 'El tamaño de la imagen incorporada',
localArtworkFormat: {
title: '¿Qué formato quieres que tenga la imagen de arte local?',
jpg: 'Una imagen jpeg',
png: 'Una imagen png',
both: 'Ambos, jpeg y png'
},
jpegImageQuality: 'Calidad de la imagen JPEG'
},
tags: {
head: '¿Qué etiquetas guardar?',
title: 'Título',
artist: 'Artista',
album: 'Álbum',
cover: 'Portada',
trackNumber: 'Número de pista',
trackTotal: 'Total de pistas',
discNumber: 'Número del disco',
discTotal: 'Discos totales',
albumArtist: 'Artista del álbum',
genre: 'Género',
year: 'Año',
date: 'Fecha',
explicit: 'Letras explícitas',
isrc: 'ISRC',
length: 'Longitud de la pista',
barcode: 'Código de barras del álbum (UPC)',
bpm: 'BPM',
replayGain: 'Ganancia de la reproducción',
label: 'Etiqueta del álbum',
lyrics: 'Letras no sincronizadas',
copyright: 'Derechos de autor',
composer: 'Compositor',
involvedPeople: 'Personas involucradas'
},
other: {
title: 'Otros',
savePlaylistAsCompilation: 'Guardar las listas de reproducción como una compilación',
useNullSeparator: 'Usar separador nulo',
saveID3v1: 'Guarda ID3v1 también',
multiArtistSeparator: {
title: '¿Cómo le gustaría separar a sus artistas?',
nothing: 'Guardar sólo el artista principal',
default: 'Usar la especificación estándar',
andFeat: 'Usar & y feat.',
using: 'Usar "{0}"'
},
singleAlbumArtist: 'Guardar sólo el artista principal del álbum',
albumVariousArtists: 'Mantén "Various Artists" en los artistas del álbum',
removeAlbumVersion: 'Eliminar "Album Version" del título de la pista',
removeDuplicateArtists: 'Eliminar las combinaciones de artistas',
dateFormat: {
title: 'Formato de fecha para los archivos FLAC',
year: 'AAAA',
month: 'MM',
day: 'DD'
},
featuredToTitle: {
title: '¿Qué debo hacer con los artistas destacados?',
0: 'Nada',
1: 'Quítalo del título',
3: 'Quítalo del título y del título del álbum',
2: 'Muévalo al título'
},
titleCasing: 'Capitalizar título',
artistCasing: 'Capitalizar artista',
casing: {
nothing: 'Manténgase sin cambios',
lower: 'minúsculas',
upper: 'MAYÚSCULAS',
start: 'Al Principio De Cada Palabra',
sentence: 'Como una oración'
},
previewVolume: 'Volumen de previsualización',
executeCommand: {
title: 'Comando a ejecutar después de la descarga',
description: 'Deje en blanco para no hacer nada'
}
},
spotify: {
title: 'Funciones de Spotify',
clientID: 'ID del cliente de Spotify',
clientSecret: 'Cliente secreto de Spotify',
username: 'Nombre de usuario de Spotify'
},
reset: 'Restablecer el valor por defecto',
save: 'Guardar',
toasts: {
init: '¡Configuraciones cargadas!',
update: '¡Ajustes actualizados!',
ARLcopied: 'ARL copiado al portapapeles'
}
},
sidebar: {
home: 'inicio',
search: 'buscar',
charts: 'charts',
favorites: 'favoritos',
linkAnalyzer: 'analizar enlaces',
settings: 'ajustes',
about: 'acerca de'
},
tracklist: {
downloadSelection: 'Descargar selección'
}
}
export default es

346
src/lang/fr.js Normal file
View File

@ -0,0 +1,346 @@
const fr = {
globals: {
welcome: 'Bienvenue sur deemix',
back: 'retour',
loading: 'chargement',
download: 'Téléchargement {0}',
by: 'par {0}',
in: 'en {0}',
download_hint: 'Télécharger',
play_hint: 'Jouer',
toggle_download_tab_hint: 'Agrandir/Réduire',
clean_queue_hint: 'Effacer les tâches terminées',
cancel_queue_hint: 'Tout Annuler',
listTabs: {
empty: '',
all: 'tout',
top_result: 'meilleur résultat',
album: 'album | albums',
artist: 'artiste | artistes',
single: 'single | singles',
title: 'titre | titres',
track: 'piste | pistes',
trackN: '0 pistes | {n} piste | {n} pistes',
releaseN: '0 releases | {n} sortie | {n} sorties',
playlist: 'playlist | playlists',
compile: 'compilation | compilations',
ep: 'ep | eps',
spotifyPlaylist: 'playlist spotify | playlists spotify',
releaseDate: 'date de sortie',
error: 'erreur'
}
},
about: {
titles: {
usefulLinks: 'Liens Utiles',
bugReports: 'Rapporter un Bug',
contributing: 'Contribuer',
donations: 'Donations',
license: 'Licence'
},
subtitles: {
bugReports: 'Y a-t-il quelque chose qui ne fonctionne pas avec deemix ? Dites-le nous !',
contributing: 'Vous souhaitez contribuer à ce projet ? Vous pouvez le faire de différentes manières !',
donations: 'Vous souhaitez contribuer financièrement ? Vous pourriez faire un don !'
},
usesLibrary:
'Cette application utilise la librairie <strong>deemix</strong>, que vous pouvez utiliser afin de créer votre propre interface utilisateur pour deemix.',
thanks: `Merci à <strong>rtonno</strong>, <strong>uhwot</strong> et <strong>lollilol</strong> pour m'avoir aidé avec ce projet et à <strong>BasCurtiz</strong> et <strong>scarvimane</strong> pour avoir réalisé l'icône.`,
upToDate: `Restez informé des mises à jour en suivant le <a href="https://t.me/RemixDevNews" target="_blank">canal d'information</a> sur Telegram.`,
officialWebsite: 'Site Officiel',
officialRepo: 'Site Officiel de la Librairie',
officialWebuiRepo: 'Site Officiel de WebUI',
officialSubreddit: 'Subreddit Officiel',
newsChannel: `Canal d'informations`,
questions: `Si vous avez des questions ou soucis avec l'application, cherchez une solution sur le <a href="https://www.reddit.com/r/deemix" target="_blank">subreddit</a> d'abord. Ensuite, vous pouvez créer une publication sur le subreddit en décrivant votre problème.`,
beforeReporting: `Avant de rapporter un bug, assurez vous d'avoir la dernière version de l'application et que ce que vous voulez rapporter est bien un bug et non pas quelque chose qui ne fonctionne pas juste pour vous.`,
beSure: `Assurez vous que le bug est reproductible sur d'autres machines et <strong>NE PAS</strong> rapporter un bug si il l'est déjà par quelqu'un d'autre.`,
duplicateReports: 'Les doublons de rapports de bug seront fermés, gardez un œil sur cela.',
dontOpenIssues: `<strong>NE PAS</strong> ouvrir un problème pour poser des questions, il y a un subreddit pour cela.`,
newUI: `Si vous maitrisez le python, vous pourriez essayer de créer une nouvelle interface utilisateur pour l'application à l'aide de la librairie de base, ou corriger des bugs de cette librairie sur son <a href="https://codeberg.org/RemixDev/deemix" target="_blank">repo git</a>.`,
acceptFeatures: `J'accepte également de nouvelles fonctionnalités, mais pas de choses complexes, car elles peuvent être implémentées directement dans l'application et non dans la librairie.`,
otherLanguages: `Si vous maîtrisez un autre langage de programmation, vous pouvez essayer de porter deemix dans d'autres langages de programmation !`,
understandingCode: `Vous avez besoin d'aide pour comprendre le code ? Contactez RemixDev sur Telegram ou Reddit.`,
contributeWebUI: `Si vous vous y connaissez en Vue.js (JavaScript), HTML ou CSS vous pourriez contribuer au <a href="https://codeberg.org/RemixDev/deemix-webui" target="_blank">WebUI</a>.`,
itsFree: `N'oubliez pas que <strong>ce projet est gratuit</strong> et que <strong>vous devriez soutenir les artistes que vous aimez</strong> avant de supporter les développeurs.`,
notObligated: `Ne vous sentez pas obligé de faire un don, je vous apprécie quand même !`,
lincensedUnder: `Ce projet est fourni sous la
<a rel="license" href="https://www.gnu.org/licenses/gpl-3.0.en.html" target="_blank"
>Licence publique générale GNU 3.0</a
>.`
},
charts: {
title: 'Classements',
changeCountry: 'Changer le Pays',
download: 'Télécharger le Classement'
},
errors: {
title: 'Erreurs pour {0}',
ids: {
invalidURL: 'URL non reconnue',
unsupportedURL: 'URL pas encore prise en charge',
ISRCnotOnDeezer: "L'ISRC de la piste n'est pas encore disponible sur deezer",
notYourPrivatePlaylist: "Vous ne pouvez pas télécharger les playlists privées de quelqu'un d'autre.",
spotifyDisabled: 'Les Fonctionnalités Spotify ne sont pas bien configurées.',
trackNotOnDeezer: 'Piste introuvable sur deezer !',
albumNotOnDeezer: 'Album introuvable sur deezer !',
notOnDeezer: 'Piste non disponible sur Deezer !',
notEncoded: 'Piste pas encore encodée !',
notEncodedNoAlternative: 'Piste pas encore encodée et aucune alternative trouvée !',
wrongBitrate: 'Piste introuvable au débit souhaité.',
wrongBitrateNoAlternative: 'Piste introuvable au débit souhaité et aucune alternative trouvée !',
no360RA: "La piste n'est pas disponible avec Reality Audio 360.",
notAvailable: 'Piste non disponible sur les serveurs de deezer !',
notAvailableNoAlternative: 'Piste non disponible sur les serveurs de deezer et aucune alternative trouvée !'
}
},
favorites: {
title: 'Favoris',
noPlaylists: 'Aucune Playlist trouvée',
noAlbums: 'Aucuns Album Favori trouvé',
noArtists: 'Aucun Artiste Favori trouvé',
noTracks: 'Aucune Piste Favorite trouvée'
},
home: {
needTologin: 'Vous devez vous connecter à votre compte Deezer avant de pouvoir commencer le téléchargement.',
openSettings: 'Ouvrir les Paramètres',
sections: {
popularPlaylists: 'Playlists Populaires',
popularAlbums: 'Albums les plus diffusés'
}
},
linkAnalyzer: {
info:
"Vous pouvez utiliser cette section afin de trouver plus d'informations sur le lien que vous essayer de télcharger.",
useful:
"C'est utile si vous essayer de télécharger des pistes qui ne sont pas disponibles dans votre pays et que vous souhaitez savoir où elles sont disponibles, par exemple.",
linkNotSupported: "Ce lien n'est pas encore supporté",
linkNotSupportedYet: 'Seems like this link is not yet supported, try analyzing another one.',
table: {
id: 'ID',
isrc: 'ISRC',
upc: 'UPC',
duration: 'Durée',
diskNumber: 'Numéro de Disque',
trackNumber: 'Numéro de Piste',
releaseDate: 'Date de Sortie',
bpm: 'BPM',
label: 'Label',
recordType: "Type d'Enregistrement",
genres: 'Genres',
tracklist: 'Tracklist'
}
},
search: {
startSearching: 'Lancer la recherche !',
description:
'Vous pouvez rechercher une piste, un album entier, un artiste, une playlist .... tout ! Vous pouvez également copier-coller un lien Deezer',
fans: '{0} fans',
noResults: 'Aucun résultat',
noResultsTrack: 'Aucune Piste trouvée',
noResultsAlbum: 'Aucun Album trouvé',
noResultsArtist: 'Aucun Artiste trouvé',
noResultsPlaylist: 'Aucune Playlist trouvée'
},
searchbar: 'Recherchez tout ce que vous voulez (ou copier-collez un lien)',
downloads: 'téléchargements',
toasts: {
addedToQueue: "{0} ajouté à la file d'attente",
alreadyInQueue: "{0} est déjà en file d'attente !",
finishDownload: '{0} a fini de télécharger.',
allDownloaded: 'Tous les téléchargements sont terminés !',
refreshFavs: 'Actualisation terminée !',
loggingIn: 'Connexion',
loggedIn: 'Connecté',
alreadyLogged: 'Déjà connecté',
loginFailed: 'Connexion impossible',
loggedOut: 'Déconnecté',
cancellingCurrentItem: "Annulation de l'élément actuel.",
currentItemCancelled: 'Élément actuel annulé.',
startAddingArtist: "Ajout de {0} albums en file d'attente",
finishAddingArtist: "Ajouté {0} en file d'attente",
startConvertingSpotifyPlaylist: 'Converting spotify tracks to deezer tracks',
finishConvertingSpotifyPlaylist: 'Spotify playlist converted'
},
settings: {
title: 'Paramètres',
languages: 'Langues',
login: {
title: 'Connexion',
loggedIn: 'Vous êtes connecté en tant que {username}',
arl: {
question: 'Comment obtenir mon propre ARL ?',
update: "Mettre à jour l'ARL"
},
logout: 'Déconnecter'
},
appearance: {
title: 'Apparence',
slimDownloadTab: 'Onglet de téléchargement mince'
},
downloadPath: {
title: 'Dossier de Téléchargement'
},
templates: {
title: 'Modèles',
tracknameTemplate: 'Modèle de nom de piste',
albumTracknameTemplate: "Modèle de piste d'album",
playlistTracknameTemplate: 'Modèle de piste de playlist'
},
folders: {
title: 'Dossiers',
createPlaylistFolder: 'Créer un dossier pour Playlists',
playlistNameTemplate: 'Modèle de dossier pour Playlist',
createArtistFolder: 'Créer un dossier pour Artiste',
artistNameTemplate: 'Modèle de dossier pour Artiste',
createAlbumFolder: 'Créer un dossier pour Album',
albumNameTemplate: 'Modèle de dossier pour Album',
createCDFolder: 'Créer un dossier pour CDs',
createStructurePlaylist: 'Créer une structure de dossiers pour Playlists',
createSingleFolder: 'Créer une structure de dossiers pour Singles'
},
trackTitles: {
title: 'Titres de pistes',
padTracks: 'Pad tracks',
paddingSize: 'Écraser la taille du remplissage',
illegalCharacterReplacer: 'Caractère de remplacement illégal'
},
downloads: {
title: 'Téléchargements',
queueConcurrency: 'Téléchargements Simultanés',
maxBitrate: {
title: 'Débit Préféré',
9: 'FLAC 1411kbps',
3: 'MP3 320kbps',
1: 'MP3 128kbps'
},
overwriteFile: {
title: 'Dois-je écraser les fichiers ?',
y: 'Oui, écraser le fichier',
n: "Non, n'écrasez pas le fichier",
t: 'Écraser uniquement les balises'
},
fallbackBitrate: 'Débit de secours',
fallbackSearch: 'Recherche de secours',
logErrors: 'Créer des fichiers journaux pour les erreurs',
logSearched: 'Créer des fichiers journaux pour les pistes recherchées',
createM3U8File: 'Créer un fichier playlist',
syncedLyrics: 'Créer des fichiers .lyr (Sync Paroles)',
playlistFilenameTemplate: 'Modèle de nom de fichier de Playlist',
saveDownloadQueue: "Enregistrer la file d'attente lors de la fermeture de l'application"
},
covers: {
title: "Couvertures d'album",
saveArtwork: 'Enregistrer les couvertures',
coverImageTemplate: 'Modèle de nom de la couverture',
saveArtworkArtist: "Enregistrer l'image de l'artiste",
artistImageTemplate: "Modèle de l'image de l'artiste",
localArtworkSize: "Taille de l'illustration locale",
embeddedArtworkSize: "Taille de l'illustration intégrée",
localArtworkFormat: {
title: "Dans quel format voulez-vous que l'illustration locale soit ?",
jpg: 'Une image jpeg',
png: 'Une image png',
both: 'Les deux, jpeg et png'
},
jpegImageQuality: "Qualité d'image JPEG"
},
tags: {
head: 'Balises à sauvegarder',
title: 'Titre',
artist: 'Artiste',
album: 'Album',
cover: 'Couverture',
trackNumber: 'Numéro de Piste',
trackTotal: 'Nombre de Pistes',
discNumber: 'Numéro du Disque',
discTotal: 'Nombre de Disques',
albumArtist: "Artiste de l'Album",
genre: 'Genre',
year: 'Année',
date: 'Date',
explicit: 'Paroles Explicites',
isrc: 'ISRC',
length: 'Durée de Piste',
barcode: "Code-barres de l'album (UPC)",
bpm: 'BPM',
replayGain: 'Gain du Replay',
label: "Label de l'Album",
lyrics: 'Paroles non synchronisées',
copyright: "Droits d'auteur (copyright)",
composer: 'Compositeur',
involvedPeople: 'Personnes impliquées'
},
other: {
title: 'Autre',
savePlaylistAsCompilation: 'Enregistrer les playlists en tant que compilation',
useNullSeparator: 'Utiliser un séparateur nul',
saveID3v1: "Enregistrez l'ID3v1 également",
multiArtistSeparator: {
title: 'Comment aimeriez-vous séparer vos artistes ?',
nothing: "Enregistrer uniquement l'artiste principal",
default: 'En utilisant la spécification standard',
andFeat: 'En utilisant & et feat.',
using: 'En utilisant "{0}"'
},
singleAlbumArtist: "Enregistrer uniquement l'artiste principal de l'album",
albumVariousArtists: `Conserver "Artistes Divers" dans les artistes de l'album`,
removeAlbumVersion: `Supprimer "Version de l'album" du titre de la piste`,
removeDuplicateArtists: "Supprimer les combinaisons d'artistes",
dateFormat: {
title: 'Format de date pour les fichiers FLAC',
year: 'AAAA',
month: 'MM',
day: 'JJ'
},
featuredToTitle: {
title: 'Que dois-je faire avec les artistes en vedette ?',
0: 'Rien',
1: 'Retirez-les du titre',
3: "Supprimez-les du titre et du titre de l'album",
2: 'Déplacez-les vers le titre'
},
titleCasing: 'Titre de la boîte',
artistCasing: "Boite de l'artiste",
casing: {
nothing: 'Rester inchangé',
lower: 'minuscule',
upper: 'MAJUSCULE',
start: 'Début De Chaque Mot',
sentence: 'Comme une phrase'
},
previewVolume: 'Aperçu du volume',
executeCommand: {
title: 'Commande à exécuter après le téléchargement',
description: 'Laisser vide pour aucune action'
}
},
spotify: {
title: 'Fonctionnalités Spotify',
clientID: 'ID Client Spotify',
clientSecret: 'Secret Client Spotify',
username: "Nom d'utilisateur Spotify"
},
reset: 'Rétablir les valeurs par défaut',
save: 'Sauvegarder',
toasts: {
init: 'Paramètres chargés !',
update: 'Paramètres mis à jour !',
ARLcopied: 'ARL copié dans le presse-papier'
}
},
sidebar: {
home: 'accueil',
search: 'chercher',
charts: 'classements',
favorites: 'favoris',
linkAnalyzer: 'analyseur de liens',
settings: 'paramètres',
about: 'à propos'
},
tracklist: {
downloadSelection: 'Section des téléchargements'
}
}
export default fr

344
src/lang/id.js Normal file
View File

@ -0,0 +1,344 @@
const id = {
globals: {
welcome: 'Selamat datang di deemix',
back: 'kembali',
loading: 'memuat',
download: 'Mengunduh {0}',
by: 'oleh {0}',
in: 'di {0}',
download_hint: 'Unduh',
play_hint: 'Putar',
toggle_download_tab_hint: 'Buka/Tutup',
clean_queue_hint: 'Berhasil Mengosongkan',
cancel_queue_hint: 'Batalkan Semua',
listTabs: {
empty: '',
all: 'semua',
top_result: 'hasil teratas',
album: 'album | album',
artist: 'artis | artis',
single: 'singel | singel',
title: 'judul | judul',
track: 'lagu | lagu',
trackN: '0 lagu | {n} lagu | {n} lagu',
releaseN: '0 rilis | {n} rilis | {n} rilis',
playlist: 'daftar putar | daftar putar',
compile: 'kompilasi | kompilasi',
ep: 'ep | ep',
spotifyPlaylist: 'daftar putar spotify | daftar putar spotify',
releaseDate: 'tanggal rilis',
error: 'galat'
}
},
about: {
titles: {
usefulLinks: 'Tautan Berguna',
bugReports: 'Laporan Kesalahan',
contributing: 'Kontirbutor',
donations: 'Donasi',
license: 'Lisensi'
},
subtitles: {
bugReports: "Ada yang tidak bekerja dengan baik di deemix? Beri tahu kami!",
contributing: 'Mau kontribusi dalam proyek ini? Kamu bisa lakukan dengan banyak hal!',
donations: 'Mau kontribusi secara finansial? Kamu bisa beri donasi!'
},
usesLibrary: 'Aplikasi ini menggunakan pustaka <strong>deemix</strong>, yang bisa kamu gunakan untuk membuat UI deemix milikmu sendiri.',
thanks: `Terima kasih kepada <strong>rtonno</strong>, <strong>uhwot</strong> dan <strong>lollilol</strong> yang telah membantuku dalam proyek ini, serta kepada <strong>BasCurtiz</strong> dan <strong>scarvimane</strong> yang telah membuat ikon.`,
upToDate: `Ikuti <a href="https://t.me/RemixDevNews" target="_blank">kanal berita deemix</a> di Telegram agar tidak ketinggalan berita terbaru.`,
officialWebsite: 'Situs Web Resmi',
officialRepo: 'Repositori Pustaka Resmi',
officialWebuiRepo: 'Repositori WebUI Resmi',
officialSubreddit: 'Subreddit Resmi',
newsChannel: 'Kanal Berita',
questions: `Kalau kamu punya pertanyaan atau masalah dengan aplikasi ini, tolong cari solusinya di <a href="https://www.reddit.com/r/deemix" target="_blank">subreddit</a> kami terlebih dahulu. Kalau memang tidak ada, silakan buat pos baru berisikan persoalan tersebut.`,
beforeReporting: `Sebelum melaporkan masalah, pastikan kamu sudah memakai versi aplikasi terbaru dan hal yang akan kamu laporkan memang bukan kesalahan dari pihak kamu sendiri.`,
beSure: `Pastikan masalah tersebut bisa diemulasikan di mesin lain, dan juga <strong>JANGAN</strong> laporkan masalah yang sudah dilaporkan sebelumnya.`,
duplicateReports: 'Laporan duplikat akan kami tutup, jadi perhatikan baik-baik.',
dontOpenIssues: `<strong>JANGAN</strong> buka issue baru untuk mengirimkan pertanyaan, silakan lakukan di subreddit.`,
newUI: `Kalau kamu mahir pada python, kamu bisa coba membuat UI baru untuk aplikasi ini menggunakan pustaka dasar, atau membenarkan masalah di pustaka kami dengan melakukan pull request pada <a href="https://codeberg.org/RemixDev/deemix" target="_blank">repo</a> kami.`,
acceptFeatures: `Kami juga menerima fitur baru, tapi jangan yang terlalu kompleks, karena hal itu lebih baik diimplementasikan langsung di aplikasi daripada di pustaka.`,
otherLanguages: `Kalau kamu mahir dengan bahasa pemrograman lain, kamu bisa coba mentransfer deemix ke bahasa tersebut!`,
understandingCode: `Butuh bantuan untuk memahami kode deemix? Kontak RemixDev di Telegram atau Reddit.`,
contributeWebUI: `Kalau kamu paham Vue.js (JavaScript), HTML, atau CSS, kamu bisa berkontribusi pada <a href="https://codeberg.org/RemixDev/deemix-webui" target="_blank">WebUI</a>.`,
itsFree: `Perlu diingat bahwa <strong>ini adalah proyek gratis</strong> dan <strong>dukung artis idolamu terlebih dahulu</strong> sebelum mendukung kami sebagai pengembang aplikasi.`,
notObligated: `Jangan merasa terpaksa untuk menyumbang, kami tetap menghargai kamu!`,
lincensedUnder: `Pekerjaan ini ada di bawah lisensi
<a rel="license" href="https://www.gnu.org/licenses/gpl-3.0.en.html" target="_blank"
>GNU General Public License 3.0</a
>.`
},
charts: {
title: 'Tangga Lagu',
changeCountry: 'Ubah Negara',
download: 'Unduh Tangga Lagu'
},
errors: {
title: 'Galat untuk {0}',
ids: {
invalidURL: 'URL tidak dikenal',
unsupportedURL: 'URL belum didukung',
ISRCnotOnDeezer: 'Lagu ISRC tidak tersedia di deezer',
notYourPrivatePlaylist: "Kamu tidak bisa mengunduh daftar putar privat orang lain.",
spotifyDisabled: 'Fitur Spotify tidak diatur dengan benar.',
trackNotOnDeezer: 'Lagu tidak ditemukan di deezer!',
albumNotOnDeezer: 'Album tidak ditemukan di deezer!',
notOnDeezer: 'Lagu tidak ada di Deezer!',
notEncoded: 'Lagu belum di-encode!',
notEncodedNoAlternative: 'Lagu belum di-encode dan tidak ada alternatif lain!',
wrongBitrate: 'Lagu tidak tersedia pada bitrate yang diinginkan.',
wrongBitrateNoAlternative: 'Lagu tidak tersedia pada bitrate yang diinginkan dan tidak ada alternatif lain!',
no360RA: 'Lagu tidak tersedia pada Reality Audio 360.',
notAvailable: "Lagu tidak tersedia pada server deezer!",
notAvailableNoAlternative: "Lagu tidak tersedia pada server deezer dan tidak ada alternatif lain!"
}
},
favorites: {
title: 'Favorit',
noPlaylists: 'Daftar Putar kosong',
noAlbums: 'Album Favorit kosong',
noArtists: 'Artis Favorit kosong',
noTracks: 'Lagu Favorit kosong'
},
home: {
needTologin: 'Kamu harus masuk ke akun Deezer kamu sebelum bisa memulai pengunduhan.',
openSettings: 'Buka Pengaturan',
sections: {
popularPlaylists: 'Daftar putar populer',
popularAlbums: 'Album paling banyak diputar'
}
},
linkAnalyzer: {
info: 'Di sini, kamu bisa mencari informasi lebih lanjut tentang tautan yang ingin kamu unduh.',
useful:
"Contohnya, ini dapat berguna jika kamu ingin mengunduh lagu yang tidak tersedia di negaramu dan ingin tahu di negara mana lagu itu tersedia.",
linkNotSupported: 'Tautan seperti ini belum didukung',
linkNotSupportedYet: 'Sepertinya tautan ini belum didukung, silakan coba analisa tautan lain.',
table: {
id: 'ID',
isrc: 'ISRC',
upc: 'UPC',
duration: 'Durasi',
diskNumber: 'Nomor Disk',
trackNumber: 'Nomor Lagu',
releaseDate: 'Tanggal Rilis',
bpm: 'BPM',
label: 'Label',
recordType: 'Tipe Rekaman',
genres: 'Genre',
tracklist: 'Daftar Lagu'
}
},
search: {
startSearching: 'Mulai cari!',
description:
'Kamu bisa mencari lagu, album, artis, daftar putar.... apa pun! Kamu juga bisa memberikan tautan Deezer',
fans: '{0} fan',
noResults: 'Tak ada hasil',
noResultsTrack: 'Lagu tidak ditemukan',
noResultsAlbum: 'Album tidak ditemukan',
noResultsArtist: 'Artis tidak ditemukan',
noResultsPlaylist: 'Daftar putar tidak ditemukan'
},
searchbar: 'Cari apa pun yang kamu mau (atau berikan tautannya saja)',
downloads: 'unduhan',
toasts: {
addedToQueue: '{0} ditambah ke antrian',
alreadyInQueue: '{0} sudah ada di antrian!',
finishDownload: '{0} selesai diunduh.',
allDownloaded: 'Seluruh unduhan selesai!',
refreshFavs: 'Penyegaran selesai!',
loggingIn: 'Masuk',
loggedIn: 'Telah masuk',
alreadyLogged: 'Telah masuk',
loginFailed: "Tidak bisa masuk",
loggedOut: 'Belum masuk',
cancellingCurrentItem: 'Membatalkan item.',
currentItemCancelled: 'Item telah dibatalan.',
startAddingArtist: 'Menambahkan {0} album ke antrian',
finishAddingArtist: '{0} album telah ditambahkan ke antrian',
startConvertingSpotifyPlaylist: 'Mengonversi lagu spotify ke deezer',
finishConvertingSpotifyPlaylist: 'Daftar putar Spotify selesai dikonversi'
},
settings: {
title: 'Pengaturan',
languages: 'Bahasa',
login: {
title: 'Masuk',
loggedIn: 'Kamu telah masuk sebagai {username}',
arl: {
question: 'Bagaimana cara mendapat ARL?',
update: 'Perbarui ARL'
},
logout: 'Keluar'
},
appearance: {
title: 'Tampilan',
slimDownloadTab: 'Tab unduhan ramping'
},
downloadPath: {
title: 'Direktori Unduhan'
},
templates: {
title: 'Templat',
tracknameTemplate: 'Templat judul lagu',
albumTracknameTemplate: 'Templat judul album',
playlistTracknameTemplate: 'Templat judul daftar putar'
},
folders: {
title: 'Folders',
createPlaylistFolder: 'Buat folder untuk daftar putar',
playlistNameTemplate: 'Templat folder daftar putar',
createArtistFolder: 'Buat folder untuk artis',
artistNameTemplate: 'Templat folder artis',
createAlbumFolder: 'Buat folder untuk album',
albumNameTemplate: 'Templat folder album',
createCDFolder: 'Buat folder untuk CD',
createStructurePlaylist: 'Buat struktur folder untuk daftar putar',
createSingleFolder: 'Buat struktur folder untuk singel'
},
trackTitles: {
title: 'Judul lagu',
padTracks: 'Judul pad',
paddingSize: 'Timpa ukuran padding',
illegalCharacterReplacer: 'Pengubah Simbol Tak Terdukung'
},
downloads: {
title: 'Unduhan',
queueConcurrency: 'Unduhan Bersamaan',
maxBitrate: {
title: 'Bitrate Prioritas',
9: 'FLAC 1411kbps',
3: 'MP3 320kbps',
1: 'MP3 128kbps'
},
overwriteFile: {
title: 'Apakah file mau ditimpa?',
y: 'Ya, silakan',
n: "Tidak, jangan ditimpa",
t: 'Timpa tag-nya saja'
},
fallbackBitrate: 'Rendahkan bitrate',
fallbackSearch: 'Cari bitrate lebih rendah',
logErrors: 'Buat file log untuk galat',
logSearched: 'Buat file log untuk lagu yang dicari',
createM3U8File: 'Buat file daftar putar',
syncedLyrics: 'Buat file .lyr (Sinkronisasikan Lirik)',
playlistFilenameTemplate: 'Templat nama file untuk daftar putar',
saveDownloadQueue: 'Simpan antrian pengunduhan saat menutup aplikasi'
},
covers: {
title: 'Sampul album',
saveArtwork: 'Simpan Sampul',
coverImageTemplate: 'Templat nama sampul',
saveArtworkArtist: 'Simpan gambar artis',
artistImageTemplate: 'Templat gambar artis',
localArtworkSize: 'Ukuran sampul lokal',
embeddedArtworkSize: 'Ukuran sampul tertanam',
localArtworkFormat: {
title: 'Format gambar apa yang kamu mau untuk sampul lokal?',
jpg: 'Gambar JPEG',
png: 'Gambar PNG',
both: 'Keduanya'
},
jpegImageQuality: 'Kualitas gambar JPEG'
},
tags: {
head: 'Tag apa saja yang disimpan?',
title: 'Judul',
artist: 'Artis',
album: 'Album',
cover: 'Sampul',
trackNumber: 'Nomor Lagu',
trackTotal: 'Jumlah Lagu',
discNumber: 'Nomor Disk',
discTotal: 'Jumlah Disk',
albumArtist: 'Artis pada Album',
genre: 'Genre',
year: 'Tahun',
date: 'Tanggal',
explicit: 'Lirik Eksplisit',
isrc: 'ISRC',
length: 'Durasi',
barcode: 'Barcode Album (UPC)',
bpm: 'BPM',
replayGain: 'Replay Gain',
label: 'Label Album',
lyrics: 'Lirik Tak Tersinkronisasi',
copyright: 'Hak Cipta',
composer: 'Komposer',
involvedPeople: 'Orang-Orang Terlibat'
},
other: {
title: 'Lainnya',
savePlaylistAsCompilation: 'Simpan daftar putar sebagai kompilasi',
useNullSeparator: 'Gunakan separator null',
saveID3v1: 'Simpan juga ID3v1',
multiArtistSeparator: {
title: 'Bagaimana kamu mau memisahkan nama artis?',
nothing: 'Simpan artis utamanya saja',
default: 'Gunakan spesifikasi standard',
andFeat: 'Gunakan & dan feat.',
using: 'Gunakan "{0}"'
},
singleAlbumArtist: 'Simpan artis utama saja',
albumVariousArtists: 'Simpan "Various Artists" sebagai artis',
removeAlbumVersion: 'Hapus "Versi Album" dari judul lagu',
removeDuplicateArtists: 'Hapus kombinasi artis',
dateFormat: {
title: 'Format tanggal untuk file FLAC',
year: 'YYYY',
month: 'MM',
day: 'DD'
},
featuredToTitle: {
title: 'Apa yang harus dilakukan jika ada artis kedua?',
0: 'Biarkan saja',
1: 'Hapus dari judul lagu',
3: 'Hapus dari judul lagu dan judul album',
2: 'Pindahkan ke judul lagu'
},
titleCasing: 'Kapitalisasi judul',
artistCasing: 'Kapitalisasi album',
casing: {
nothing: 'Biarkan seadanya',
lower: 'huruf kecil',
upper: 'HURUF KAPITAL',
start: 'Setiap Awal Kata',
sentence: 'Huruf pertama saja'
},
previewVolume: 'Pratinjau volume',
executeCommand: {
title: 'Perintah yang dijalankan setelah pengunduhan',
description: 'Biarkan kosong jika tidak ada'
}
},
spotify: {
title: 'Fitur Spotify',
clientID: 'clientID Spotify ',
clientSecret: 'Client Secret Spotify ',
username: 'Username Spotify'
},
reset: 'Kembalikan ke Awal',
save: 'Simpan',
toasts: {
init: 'Pengaturan dimuat!',
update: 'Pengaturan diperbarui!',
ARLcopied: 'ARL tersalin ke papan klip'
}
},
sidebar: {
home: 'utama',
search: 'cari',
charts: 'tangga lagu',
favorites: 'favorit',
linkAnalyzer: 'penganalisa tautan',
settings: 'pengaturan',
about: 'tentang'
},
tracklist: {
downloadSelection: 'Seleksi unduhan'
}
}
export default id

View File

@ -46,7 +46,6 @@ const it = {
usesLibrary: usesLibrary:
'Questa app utilizza la libreria <strong>deemix</strong>, che puoi utilizzare per creare la tua Interfaccia Utente per deemix.', 'Questa app utilizza la libreria <strong>deemix</strong>, che puoi utilizzare per creare la tua Interfaccia Utente per deemix.',
thanks: `Un ringraziamento a <strong>rtonno</strong>, <strong>uhwot</strong> e <strong>lollilol</strong> per l'aiuto che mi stanno dando in questo progetto e a <strong>BasCurtiz</strong> e <strong>scarvimane</strong> per aver creato l'icona.`, thanks: `Un ringraziamento a <strong>rtonno</strong>, <strong>uhwot</strong> e <strong>lollilol</strong> per l'aiuto che mi stanno dando in questo progetto e a <strong>BasCurtiz</strong> e <strong>scarvimane</strong> per aver creato l'icona.`,
upToDate: `Stay up to date with the updates by following the <a href="https://t.me/RemixDevNews" target="_blank">news channel</a> on Telegram.`,
upToDate: `Rimani al passo con gli ultimi aggiornamenti seguendo il <a href="https://t.me/RemixDevNews" target="_blank">canale delle news</a> su Telegram.`, upToDate: `Rimani al passo con gli ultimi aggiornamenti seguendo il <a href="https://t.me/RemixDevNews" target="_blank">canale delle news</a> su Telegram.`,
officialWebsite: 'Sito Ufficiale', officialWebsite: 'Sito Ufficiale',
officialRepo: 'Repository Ufficiale della Libreria', officialRepo: 'Repository Ufficiale della Libreria',

345
src/lang/pt-br.js Normal file
View File

@ -0,0 +1,345 @@
const ptBr = {
globals: {
welcome: 'Bem vindo ao deemix',
back: 'voltar',
loading: 'carregando',
download: 'Baixar {0}',
by: 'por {0}',
in: 'em {0}',
download_hint: 'Baixar',
play_hint: 'Reproduzir',
toggle_download_tab_hint: 'Expandir/Recolher',
clean_queue_hint: 'Limpar os terminados',
cancel_queue_hint: 'Cancelar todos',
listTabs: {
empty: '',
all: 'todos',
top_result: 'Resultado principal',
album: 'álbum | álbuns',
artist: 'artista | artistas',
single: 'single | singles',
title: 'título | títulos',
track: 'faixa | faixas',
trackN: '0 faixas | {n} faixa | {n} faixas',
releaseN: '0 lançamentos | {n} lançamento | {n} lançamentos',
playlist: 'playlist | playlists',
compile: 'compilação | compilações',
ep: 'ep | eps',
spotifyPlaylist: 'playlist do spotify | playlists do spotify',
releaseDate: 'data de lançamento',
error: 'erro'
}
},
about: {
titles: {
usefulLinks: 'Links Úteis',
bugReports: 'Relatar Bugs',
contributing: 'Contribuições',
donations: 'Doações',
license: 'Licença'
},
subtitles: {
bugReports: 'Tem algo não funcionando no deemix? Informe-nos!',
contributing: 'Quer contribuir com este projeto? Há várias formas!',
donations: 'Quer contribuir monetariamente? Você pode fazer uma doação!'
},
usesLibrary:
'Este programa usa a biblioteca <strong>deemix</strong>, no qual você pode usar para construir uma UI para o seu deemix.',
thanks: `Obrigado <strong>rtonno</strong>, <strong>uhwot</strong> e <strong>lollilol</strong> por me ajudarem com este projeto e <strong>BasCurtiz</strong> e <strong>scarvimane</strong> por fazerem o ícone.`,
upToDate: `Seja avisado quando houver novas atualizações, siga o <a href="https://t.me/RemixDevNews" target="_blank">nosso canal de notícias</a> no Telegram.`,
officialWebsite: 'Website Oficial',
officialRepo: 'Repositório da Biblioteca Oficial',
officialWebuiRepo: 'Repositório da WebUI Oficial',
officialSubreddit: 'Subreddit Oficial',
newsChannel: 'Canal de Notícia',
questions: `Caso houver dúvidas ou problemas com o programa, procure uma solução no <a href="https://www.reddit.com/r/deemix" target="_blank">subreddit</a>. Caso não encontre nada, você pode fazer um post com a sua dúvida no subreddit.`,
beforeReporting: `Antes de reportar um bug tenha certeza de que o seu deemix esteja atualizado e que o seu relato seja realmente um bug e não um problema no seu lado de usuário.`,
beSure: `Certifique-se de que o bug ocorra em outras máquinas e <strong>NÃO</strong> relate-o caso ele já tenha sido relatado.`,
duplicateReports: 'Relatos duplicados de bug serão fechados, então fique de olho.',
dontOpenIssues: `<strong>NÃO</strong> abra uma issue para fazer questões, o subreddit é para isso.`,
newUI: `Caso seja fluente em python, você pode tentar fazer uma nova UI para o app usando a biblioteca base, ou consertar os bugs da biblioteca com uma pull request na <a href="https://codeberg.org/RemixDev/deemix" target="_blank">repo do projeto</a>.`,
acceptFeatures: `Eu aceito recursos também, mas nada muito complexo e que possa ser implementado diretamente no aplicativo e não na biblioteca.`,
otherLanguages: `Caso seja fluente em outra linguagem de programação você pode tentar portar o deemix para ela!`,
understandingCode: `Precisa de ajuda para entender o código? Contate o RemixDev no Telegram ou Reddit.`,
contributeWebUI: `Caso saiba Vue.js (JavaScript), HTML ou CSS você pode contribuir para a <a href="https://codeberg.org/RemixDev/deemix-webui" target="_blank">WebUI</a>.`,
itsFree: `Mantenha em mente que <strong>este é um projeto gratuito</strong> e que <strong>você deve apoiar os artistas que ama</strong> antes de apoiar os desenvolvedores.`,
notObligated: `Não se sinta obrigado a doar, agradecemos da mesma forma!`,
lincensedUnder: `Este trabalho é licenciado sob a
<a rel="license" href="https://www.gnu.org/licenses/gpl-3.0.en.html" target="_blank"
>GNU General Public License 3.0</a
>.`
},
charts: {
title: 'Charts',
changeCountry: 'Trocar o país',
download: 'Baixe a chart'
},
errors: {
title: 'Erros para {0}',
ids: {
invalidURL: 'URL não reconhecida',
unsupportedURL: 'URL não suportada',
ISRCnotOnDeezer: 'ISRC da faixa não está no deezer',
notYourPrivatePlaylist: 'Você não pode baixar playlists privadas de outros usuários.',
spotifyDisabled: 'Recursos do Spotify não estão configurados corretamente.',
trackNotOnDeezer: 'Faixa não encontrada no deezer!',
albumNotOnDeezer: 'Álbum não encontrada no deezer!',
notOnDeezer: 'Faixa não disponível no Deezer!',
notEncoded: 'Faixa ainda não encodada!',
notEncodedNoAlternative: 'Faixa ainda não encodada e sem alternativas encontradas!',
wrongBitrate: 'Faixa não encontrada no bitrate desejado.',
wrongBitrateNoAlternative: 'Faixa não encontrada no bitrate desejado e sem alternativas encontradas!',
no360RA: 'Faixa não disponível no Reality Audio 360.',
notAvailable: 'Faixa não disponível nos servidores do deezer!',
notAvailableNoAlternative: 'Faixa não disponível nos servidores do deezer e sem alternativas encontradas!'
}
},
favorites: {
title: 'Favorites',
noPlaylists: 'Nenhuma playlists favorita encontrada',
noAlbums: 'Nenhum álbum favorito encontrado',
noArtists: 'Nenhum artista favorito encontrado',
noTracks: 'Nenhuma faixa favorita encontrada'
},
home: {
needTologin: 'Você precisa logar na sua conta do Deezer antes de poder começar a baixar.',
openSettings: 'Abrir configurações',
sections: {
popularPlaylists: 'Playlists populares',
popularAlbums: 'Álbuns mais ouvidos'
}
},
linkAnalyzer: {
info: 'Você pode usar esta seção para descobrir mais informações sobre o link que está tentando baixar.',
useful:
'Esta função é útil caso esteja tentando baixar algumas faixas que não estão disponíveis no seu país e você quer descobrir aonde estão disponíveis, por exemplo.',
linkNotSupported: 'Este link não é suportado ainda',
linkNotSupportedYet: 'Aparentemente este link ainda não é suportado, tente analizar algum outro.',
table: {
id: 'ID',
isrc: 'ISRC',
upc: 'UPC',
duration: 'Duração',
diskNumber: 'Número do disco',
trackNumber: 'Número da faixa',
releaseDate: 'Data de lançamento',
bpm: 'BPM',
label: 'Gravadora',
recordType: 'Tipo de gravação',
genres: 'Gêneros',
tracklist: 'Lista de faixas'
}
},
search: {
startSearching: 'Comece a procurar!',
description:
'Você pode procurar uma faixa, um álbum inteiro, um artista, uma playlist... tudo! Você também pode colar um link do Deezer',
fans: '{0} fãs',
noResults: 'Sem resultados',
noResultsTrack: 'Nenhuma faixa encontrada',
noResultsAlbum: 'Nenhum álbum encontrado',
noResultsArtist: 'Nenhum artista encontrado',
noResultsPlaylist: 'Nenhuma playlist encontrada'
},
searchbar: 'Pesquise tudo o que quiser (ou simplesmente cole um link)',
downloads: 'downloads',
toasts: {
addedToQueue: '{0} adicionado à lista de espera',
alreadyInQueue: '{0} já está na lista de espera!',
finishDownload: '{0} terminou de baixar.',
allDownloaded: 'Todos os downloads terminaram!',
refreshFavs: 'Atualização completa!',
loggingIn: 'Entrando na conta',
loggedIn: 'Conta logada',
alreadyLogged: 'Já está na conta',
loginFailed: 'Não pode entrar na conta',
loggedOut: 'Saindo da conta',
cancellingCurrentItem: 'Cancelando item atual.',
currentItemCancelled: 'Cancelado item atual.',
startAddingArtist: 'Adicionando {0} álbuns à lista de espera',
finishAddingArtist: '{0} álbuns adicionados à lista de espera',
startConvertingSpotifyPlaylist: 'Convertendo faixas do Spotify para faixas do Deezer',
finishConvertingSpotifyPlaylist: 'Playlist do Spotify convertida'
},
settings: {
title: 'Configurações',
languages: 'Linguagens',
login: {
title: 'Login',
loggedIn: 'Você já está logado como {username}',
arl: {
question: 'Como eu pego a minha ARL?',
update: 'Atualizar a ARL'
},
logout: 'Sair'
},
appearance: {
title: 'Aparência',
slimDownloadTab: 'Guia de download slim'
},
downloadPath: {
title: 'Diretório de download'
},
templates: {
title: 'Templates',
tracknameTemplate: 'Template do nome da faixa avulsa',
albumTracknameTemplate: 'Template do nome da faixa no álbum',
playlistTracknameTemplate: 'Template do nome da faixa na playlist'
},
folders: {
title: 'Pastas',
createPlaylistFolder: 'Criar pasta para playlists',
playlistNameTemplate: 'Template do nome da pasta da playlist',
createArtistFolder: 'Criar pasta para artistas',
artistNameTemplate: 'Template do nome da pasta do artista',
createAlbumFolder: 'Criar pasta para álbuns',
albumNameTemplate: 'Template do nome da pasta do álbum',
createCDFolder: 'Criar pasta para discos',
createStructurePlaylist: 'Criar estrutura de pasta para playlists',
createSingleFolder: 'Criar estrutura de pasta para singles'
},
trackTitles: {
title: 'Títulos das faixas',
padTracks: 'Pad das faixas',
paddingSize: 'Substituir tamanho do padding',
illegalCharacterReplacer: 'Substituto de caracter ilegal'
},
downloads: {
title: 'Downloads',
queueConcurrency: 'Downloads simultâneos',
maxBitrate: {
title: 'Bitrate preferido',
9: 'FLAC 1411kbps',
3: 'MP3 320kbps',
1: 'MP3 128kbps'
},
overwriteFile: {
title: 'Posso substituir os arquivos?',
y: 'Sim, substitua os arquivos',
n: 'Não, não substitua os arquivos',
t: 'Substitua apenas as tags'
},
fallbackBitrate: 'Bitrate reserva',
fallbackSearch: 'Pesquisa reserva',
logErrors: 'Criar log para erros',
logSearched: 'Criar log para faixas pesquisadas',
createM3U8File: 'Criar arquivo de playlist',
syncedLyrics: 'Criar arquivos .lyr (Letras sincronizadas)',
playlistFilenameTemplate: 'Template do nome da playlist',
saveDownloadQueue: 'Salvar lista de espera do download ao fechar o programa'
},
covers: {
title: 'Capa dos álbuns',
saveArtwork: 'Salvar as capas',
coverImageTemplate: 'Template do nome da capa',
saveArtworkArtist: 'Salvar imagem do artista',
artistImageTemplate: 'Template da imagem do artista',
localArtworkSize: 'Tamanho da artwork local',
embeddedArtworkSize: 'Tamanho da artwork embutida',
localArtworkFormat: {
title: 'Qual formato você quer que a artwork local seja?',
jpg: 'Uma imagem jpeg',
png: 'Uma imagem png',
both: 'Ambos um jpeg e um png'
},
jpegImageQuality: 'Qualidade do JPEG'
},
tags: {
head: 'Quais tags salvar',
title: 'Título',
artist: 'Artista',
album: 'Álbuns',
cover: 'Capa',
trackNumber: 'Número da faixa',
trackTotal: 'Total de faixas',
discNumber: 'Número de discos',
discTotal: 'Total de discos',
albumArtist: 'Artista do álbum',
genre: 'Gênero',
year: 'Ano',
date: 'Data',
explicit: 'Letras explícitas',
isrc: 'ISRC',
length: 'Tamanho da faixa',
barcode: 'Barcode do álbum (UPC)',
bpm: 'BPM',
replayGain: 'Replay Gain',
label: 'Gravadora do álbum',
lyrics: 'Letras desincronizadas',
copyright: 'Copyright',
composer: 'Compositor',
involvedPeople: 'Pessoas involvidas'
},
other: {
title: 'Outros',
savePlaylistAsCompilation: 'Savar playlists como uma compilação',
useNullSeparator: 'Usar separador nulo',
saveID3v1: 'Salvar ID3v1',
multiArtistSeparator: {
title: 'Como gostaria de separar seus artistas?',
nothing: 'Salvar apenas o artista principal',
default: 'Usando especificação padrão',
andFeat: 'Usando & e feat.',
using: 'Usando "{0}"'
},
singleAlbumArtist: 'Salvar apenas o artista principal do álbum',
albumVariousArtists: 'Manter "Various Artists" em Artistas do Álbum',
removeAlbumVersion: 'Remover "Album Version" do título de faixas',
removeDuplicateArtists: 'Remover combinações de artistas',
dateFormat: {
title: 'Formato da data para arquivos FLAC',
year: 'AAAA',
month: 'MM',
day: 'DD'
},
featuredToTitle: {
title: 'O que eu deveria fazer com os artistas feat.?',
0: 'Nada',
1: 'Remova-os do título da faixa',
3: 'Remova-os do título da faixa e do álbum',
2: 'Mova-os para o título da faixa'
},
titleCasing: 'Formatação do título',
artistCasing: 'Formatação do artista',
casing: {
nothing: 'Manter intocado',
lower: 'minúsculo',
upper: 'MAIÚSCULO',
start: 'No Começo De Cada Palavra',
sentence: 'Como uma frase'
},
previewVolume: 'Volume da prévia',
executeCommand: {
title: 'Comando para executar depois do download',
description: 'Deixe em branco para não executar nada'
}
},
spotify: {
title: 'Destaques do Spotify',
clientID: 'Spotify clientID',
clientSecret: 'Spotify Client Secret',
username: 'Nome de usuário do Spotify'
},
reset: 'Resetar para Padrão',
save: 'Save',
toasts: {
init: 'Configurações carregadas!',
update: 'Configurações atualizadas!',
ARLcopied: 'ARL copiado para o clipboard'
}
},
sidebar: {
home: 'home',
search: 'pesquisa',
charts: 'charts',
favorites: 'favoritos',
linkAnalyzer: 'analizador de links',
settings: 'configurações',
about: 'sobre'
},
tracklist: {
downloadSelection: 'Baixar seleção'
}
}
export default ptBr

345
src/lang/pt-pt.js Normal file
View File

@ -0,0 +1,345 @@
const pt = {
globals: {
welcome: 'Bem-vindo ao deemix',
back: 'voltar',
loading: 'A carregar',
download: 'Transferir {0}',
by: 'por {0}',
in: 'em {0}',
download_hint: 'Descarregar',
play_hint: 'Tocar',
toggle_download_tab_hint: 'Expandir/Recolher',
clean_queue_hint: 'Limpar Finalizados',
cancel_queue_hint: 'Cancelar Tudo',
listTabs: {
empty: '',
all: 'Tudo',
top_result: 'melhor resultado',
album: 'álbum | álbums',
artist: 'artista | artistas',
single: 'single | singles',
title: 'título | títulos',
track: 'faixa | faixas',
trackN: '0 faixas | {n} faixa | {n} faixas',
releaseN: '0 lançamentos | {n} lançamento | {n} lançamento',
playlist: 'lista de reprodução | listas de reprodução',
compile: 'compilação | compilações',
ep: 'ep | eps',
spotifyPlaylist: 'lista de reprodução spotify | listas de reprodução spotify',
releaseDate: 'data de lançamento',
error: 'erro'
}
},
about: {
titles: {
usefulLinks: 'Links Úteis',
bugReports: 'Relatório de erros',
contributing: 'Contribuir',
donations: 'Doações',
license: 'Licenças'
},
subtitles: {
bugReports: 'Existe alguma coisa que não funciona no deemix? Informa-nos!',
contributing: 'Queres contribuir para o projecto? Podes fazê-lo de diferentes formas!',
donations: 'Desejas contribuir monetariamente? Faz uma doação!'
},
usesLibrary:
'Esta aplicação usa a biblioteca <strong>deemix</strong>, que poderás usar para desenvolver o teu proprio UI para o deemix.',
thanks: `Agradeço a <strong>rtonno</strong>, <strong>uhwot</strong> and <strong>lollilol</strong> por me ajudarem neste projeto e a <strong>BasCurtiz</strong> and <strong>scarvimane</strong> por elaborarem o ícone.`,
upToDate: `Mantem-te atualizado seguindo o <a href="https://t.me/RemixDevNews" target="_blank">canal de notícias</a> no Telegram.`,
officialWebsite: 'Site Oficial',
officialRepo: 'Repositório Oficial da Biblioteca',
officialWebuiRepo: 'Repositório Oficial WebUI',
officialSubreddit: 'Subreddit Oficial',
newsChannel: 'Canal de Notícias',
questions: `Caso tenhas alguma duvida ou problema com a app, primeiro procura por uma solução no <a href="https://www.reddit.com/r/deemix" target="_blank">subreddit</a>. Caso não encontres nada podes criar um post com a tua questão no subreddit.`,
beforeReporting: `Antes de reportares um bug certifica-te que estás a correr a versão mais recente e que o que queres reportar é mesmo um bug e não algo que apenas não funciona do teu lado.`,
beSure: `Certifica-te que o erro é reprodutivel noutros dispositivos e <strong>NÃO</strong> reportes um bug que já tenha sido reportado.`,
duplicateReports: 'Bug reports duplicados serão fechados, mantém-te atento a isso.',
dontOpenIssues: `<strong>NÃO</strong> abras issues para colocar questões, existe um subreddit para isso.`,
newUI: `Caso sejas fluente em python podes tentar criar um novo UI para a aplicação recorrendo à biblioteca base , ou corrigir erros na biblioteca com um pull request no <a href="https://codeberg.org/RemixDev/deemix" target="_blank">repositório</a>.`,
acceptFeatures: `Também aceito funcionalidades não complexas caso possam ser implementadas directamente na app e não na biblioteca.`,
otherLanguages: `Caso sejas fluente noutra linguagem de programação podes tentar migrar o deemix para outra linguagem de programação!`,
understandingCode: `Precisas de ajuda a entender o código? Acede a RemixDev no Telegram ou no Reddit.`,
contributeWebUI: `Caso saibas Vue.js (JavaScript), HTML ou CSS podes contribuir para o <a href="https://codeberg.org/RemixDev/deemix-webui" target="_blank">WebUI</a>.`,
itsFree: `Deves ter em conta que <strong>que este projecto é gratuito</strong> e <strong>deverás apoiar os artistas que aprecias</strong> antes de apoiares os programadores.`,
notObligated: `Não te sintas obrigado a doar, agradeço-te na mesma!`,
lincensedUnder: `This work is licensed under a
<a rel="license" href="https://www.gnu.org/licenses/gpl-3.0.en.html" target="_blank"
>GNU General Public License 3.0</a
>.`
},
charts: {
title: 'Tabelas',
changeCountry: 'Alterar país',
download: 'Descarregar tabela'
},
errors: {
title: 'Erros para {0}',
ids: {
invalidURL: 'URL não reconhecido',
unsupportedURL: 'URL ainda não suportado',
ISRCnotOnDeezer: 'Track ISRC não disponível no deezer',
notYourPrivatePlaylist: "You can't download others private playlists.",
spotifyDisabled: 'Funcionalidades do Spotify não estão definidas corretamente.',
trackNotOnDeezer: 'Faixa não encontrada no deezer!',
albumNotOnDeezer: 'Álbum não encontrado no deezer!',
notOnDeezer: 'Faixa não encontrada no Deezer!',
notEncoded: 'Faixa ainda não codificada!',
notEncodedNoAlternative: 'Faixa ainda não codificada e não foi encontrada alternativa!',
wrongBitrate: 'Faixa não encontrada no bitrate desejado.',
wrongBitrateNoAlternative: 'Faixa não encontrada no bitrate desejado e não foi encontrada alternativa!',
no360RA: 'Faixa não disponível em Reality Audio 360.',
notAvailable: 'Faixa não disponível nos servidores do deezer!',
notAvailableNoAlternative: 'Faixa não disponível nos servidores do deezer e não foi encontrada alternativa!'
}
},
favorites: {
title: 'Favoritos',
noPlaylists: 'Listas de reprodução não encontradas',
noAlbums: 'Álbuns favoritos não encontrados',
noArtists: 'Artistas favoritos não encontrados',
noTracks: 'Faixas favoritas não encontradas'
},
home: {
needTologin: 'Antes de iniciar transferências é necessário efectuar autenticação na conta Deezer.',
openSettings: 'Abrir Definições',
sections: {
popularPlaylists: 'Listas de reprodução populares',
popularAlbums: 'Álbuns mais ouvidos'
}
},
linkAnalyzer: {
info: 'Podes usar esta secção para obteres mais informação sobre o link que estás a tentar transferir.',
useful:
'Isto é útil caso estejas a tentar transferir faixas que não estão disponíveis no teu país e queres saber onde estão disponíveis, por exemplo.',
linkNotSupported: 'Este link ainda não é suportado',
linkNotSupportedYet: 'Parece que este link ainda não é suportado, tenta analisar outro.',
table: {
id: 'ID',
isrc: 'ISRC',
upc: 'UPC',
duration: 'Duração',
diskNumber: 'Número do disco',
trackNumber: 'Número da faixa',
releaseDate: 'Data de lançamento',
bpm: 'BPM',
label: 'Editora',
recordType: 'Record Type',
genres: 'Géneros',
tracklist: 'Lista de faixas'
}
},
search: {
startSearching: 'Começa a pesquisar!',
description:
'Podes perquisar uma música, um álbum inteiro, um artista, uma lista de reprodução... tudo! Também podes colar um link do Deezer',
fans: '{0} fãs',
noResults: 'Sem resultados',
noResultsTrack: 'Faixa não encontrada',
noResultsAlbum: 'Álbum não encontrado',
noResultsArtist: 'Artista não encontrado',
noResultsPlaylist: 'Lista de reprodução não encontrada'
},
searchbar: 'Pesquisa o que quiseres (ou cola um link)',
downloads: 'transferências',
toasts: {
addedToQueue: '{0} adicionados à fila',
alreadyInQueue: '{0} já está na fila!',
finishDownload: '{0} foi transferido.',
allDownloaded: 'Todas as transferências terminadas!',
refreshFavs: 'Actualizar terminados!',
loggingIn: 'A autenticar',
loggedIn: 'Autenticado',
alreadyLogged: 'Já estás autenticado',
loginFailed: "Couldn't log in",
loggedOut: 'Logged out',
cancellingCurrentItem: 'A cancelar item actual.',
currentItemCancelled: 'Item actual cancelado.',
startAddingArtist: 'A adicionar {0} álbuns à fila',
finishAddingArtist: 'Adicionados {0} álbuns à fila',
startConvertingSpotifyPlaylist: 'A converter faixas do spotify em faixas do deezer',
finishConvertingSpotifyPlaylist: 'Lista de reprodução do Spotify convertida.'
},
settings: {
title: 'Definições',
languages: 'Idioma',
login: {
title: 'Login',
loggedIn: 'Estás autenticado como {username}',
arl: {
question: 'Como obter o meu ARL?',
update: 'Atualizar ARL'
},
logout: 'Sair'
},
appearance: {
title: 'Aspecto',
slimDownloadTab: 'Aba de transferências estreita'
},
downloadPath: {
title: 'Caminho de transferências'
},
templates: {
title: 'Formatos',
tracknameTemplate: 'Formato do nome de faixa',
albumTracknameTemplate: 'Formato do nome de Álbum',
playlistTracknameTemplate: 'Formato do nome de lista de reprodução'
},
folders: {
title: 'Pastas',
createPlaylistFolder: 'Criar pasta para lista de reprodução',
playlistNameTemplate: 'Formato da pasta de lista de reprodução',
createArtistFolder: 'Criar pasta para artista',
artistNameTemplate: 'Formato da pasta de artista',
createAlbumFolder: 'Criar pasta para álbum',
albumNameTemplate: 'Formato da pasta de álbum',
createCDFolder: 'Criar pasta para CDs',
createStructurePlaylist: 'Criar estrutura de pastas para listas reprodução',
createSingleFolder: 'Criar estrutura de pastas para singles'
},
trackTitles: {
title: 'Título',
padTracks: 'Pad tracks',
paddingSize: 'Overwrite padding size',
illegalCharacterReplacer: 'Substituir caractere inválidos'
},
downloads: {
title: 'Transferências',
queueConcurrency: 'Transferências concorrentes',
maxBitrate: {
title: 'Bitrate preferencial',
9: 'FLAC 1411kbps',
3: 'MP3 320kbps',
1: 'MP3 128kbps'
},
overwriteFile: {
title: 'Ficheiros existentes. Substituir?',
y: 'Sim, substituir o ficheiro',
n: 'Não substituir o ficheiro',
t: 'Sobrescrever apenas as etiquetas'
},
fallbackBitrate: 'Bitrate fallback',
fallbackSearch: 'Fallback de pesquisa',
logErrors: 'Criar logs para erros',
logSearched: 'Criar logs para faixas pesquisadas',
createM3U8File: 'Criar ficheiro de lista de reprodução',
syncedLyrics: 'Criar ficheiro .lyr (Letras Sincronizadas)',
playlistFilenameTemplate: 'Formato do nome de ficheiro playlists',
saveDownloadQueue: 'Guardar fila de transferências ao fechar a aplicação'
},
covers: {
title: 'Capas do Álbum',
saveArtwork: 'Guardar capas',
coverImageTemplate: 'Cover name template',
saveArtworkArtist: 'Save artist image',
artistImageTemplate: 'Artist image template',
localArtworkSize: 'Local artwork size',
embeddedArtworkSize: 'Embedded artwork size',
localArtworkFormat: {
title: 'What format do you want the local artwork to be?',
jpg: 'A jpeg image',
png: 'A png image',
both: 'Both a jpeg and a png'
},
jpegImageQuality: 'Qualidade de imagem JPEG'
},
tags: {
head: 'Etiquetas a guardar',
title: 'Título',
artist: 'Artista',
album: 'Álbum',
cover: 'Capa',
trackNumber: 'Número de faixa',
trackTotal: 'Total de faixas',
discNumber: 'Número do Disco',
discTotal: 'Total de Discos',
albumArtist: 'Artista do Álbum',
genre: 'Género',
year: 'Ano',
date: 'Data',
explicit: 'Letra Explícita',
isrc: 'ISRC',
length: 'Duração da faixa',
barcode: 'Código de barras do álbum (UPC)',
bpm: 'BPM',
replayGain: 'Replay Gain',
label: 'Editora do álbum',
lyrics: 'Unsynchronized Lyrics',
copyright: 'Copyright',
composer: 'Compositor',
involvedPeople: 'Pessoas envolvidas'
},
other: {
title: 'Outros',
savePlaylistAsCompilation: 'Save playlists as compilation',
useNullSeparator: 'Usar separador null',
saveID3v1: 'Também guardar ID3v1',
multiArtistSeparator: {
title: 'Como queres separarar os artistas?',
nothing: 'Guardar apenas o artista principal',
default: 'Usar especificação padrão',
andFeat: 'Usar & e feat.',
using: 'Usar "{0}"'
},
singleAlbumArtist: 'Guardar apenas o artista principal do álbum',
albumVariousArtists: 'Manter "Various Artists" nos Artistas do Álbum',
removeAlbumVersion: 'Remover "Album Version" do título da faixa',
removeDuplicateArtists: 'Remover combinação de artistas',
dateFormat: {
title: 'Formtado de data nos ficheiros FLAC',
year: 'AAAA',
month: 'MM',
day: 'DD'
},
featuredToTitle: {
title: 'What should I do with featured artists?',
0: 'Nada',
1: 'Remover do título',
3: 'Remover do título de do título do album',
2: 'Movê-lo para o título'
},
titleCasing: 'Title casing',
artistCasing: 'Artist casing',
casing: {
nothing: 'Manter inalterado',
lower: 'minusculas',
upper: 'MAIÙSCULAS',
start: 'Ínicio De Cada Palavra',
sentence: 'Like a sentence'
},
previewVolume: 'Preview Volume',
executeCommand: {
title: 'Comando a executar após transferir',
description: 'Deixar em branco para nenhuma acção'
}
},
spotify: {
title: 'Funcionalidades Spotify',
clientID: 'Spotify clientID',
clientSecret: 'Spotify Client Secret',
username: 'nome de utilizador Spotify'
},
reset: 'Reset to Default',
save: 'Save',
toasts: {
init: 'Configurações carregadas!',
update: 'Configurações actualizadas',
ARLcopied: 'ARL copied to clipboard'
}
},
sidebar: {
home: 'início',
search: 'pesquisa',
charts: 'tabelas',
favorites: 'favoritos',
linkAnalyzer: 'link analyzer',
settings: 'definições',
about: 'sobre'
},
tracklist: {
downloadSelection: 'Descarregar seleccionados'
}
}
export default pt

344
src/lang/ru.js Normal file
View File

@ -0,0 +1,344 @@
const ru = {
globals: {
welcome: 'Добро пожаловать в deemix',
back: 'назад',
loading: 'загрузка',
download: 'Скачать {0}',
by: '{0}',
in: 'из {0}',
download_hint: 'Скачать',
play_hint: 'Прослушать',
toggle_download_tab_hint: 'Показать/Свернуть',
clean_queue_hint: 'Очистить завершённые',
cancel_queue_hint: 'Очистить всё',
listTabs: {
empty: '',
all: 'все',
top_result: 'лучший результат',
album: 'альбом | альбомы',
artist: 'исполнитель | исполнители',
single: 'сингл | синглы',
title: 'название | названия',
track: 'трек | треки',
trackN: '0 треков | {n} трек | {n} трека | {n} треков',
releaseN: '0 релизов | {n} релиз | {n} релиза | {n} релизов',
playlist: 'плейлист | плейлисты',
compile: 'сборник | сборники',
ep: 'ep | eps',
spotifyPlaylist: 'плейлисты spotify | плейлисты spotify',
releaseDate: 'Дата выхода',
error: 'ошибка'
}
},
about: {
titles: {
usefulLinks: 'Полезные ссылки',
bugReports: 'Баг репорты',
contributing: 'Помощь проекту',
donations: 'Пожертвования',
license: 'Лицензия'
},
subtitles: {
bugReports: "Что-то не работает? Скажите нам!",
contributing: 'Хотите поддержать проект? Это можно сделать разными способами!',
donations: 'Хотите поддержать материально? Можно сделать пожертвование!'
},
usesLibrary: 'Приложение использует библиотеку <strong>deemix</strong>, с помощью которой вы можете сделать собственный UI deemix.',
thanks: `Спасибо <strong>rtonno</strong>, <strong>uhwot</strong> и <strong>lollilol</strong> за помощь с этим проектом, а также <strong>BasCurtiz</strong> и <strong>scarvimane</strong> за иконку.`,
upToDate: `Следите за последними обновлениями на <a href="https://t.me/RemixDevNews" target="_blank">канале</a> в Telegram.`,
officialWebsite: 'Официальный сайт',
officialRepo: 'Официальный репозиторий библиотеки',
officialWebuiRepo: 'Официальный репозиторий WebUI',
officialSubreddit: 'Официальный сабреддит',
newsChannel: 'Канал новостей',
questions: `Если у вас возникли вопросы или проблемы с приложением, поищите решение на <a href="https://www.reddit.com/r/deemix" target="_blank">сабреддите</a>. Если решения не нашли, можете создать новый пост и описать вашу проблему.`,
beforeReporting: `Перед тем, как сообщать об ошибках, убедитесь, что у вас стоит последняя версия приложения и что проблема не на вашей стороне.`,
beSure: `Убедитесь, что ошибка возникает и на других устройствах. Также <strong>НЕ </strong> сообщайте об ошибке, если про неё уже известно.`,
duplicateReports: 'Повторные сообщения об ошибках рассматриваться не будут.',
dontOpenIssues: `<strong>НЕ НАДО</strong> создавать задачу с простым вопросом, для этого есть сабреддит.`,
newUI: `Если вы хорошо знаете python, то можете сделать новый UI для приложения с использованием базовой библиотеки или пофиксить в ней баги и сделать pull request в <a href="https://codeberg.org/RemixDev/deemix" target="_blank">репозитории</a>.`,
acceptFeatures: `Новые фичи также приветствуются, но не слишком сложные, так как они будут добавлены в приложение, а не в саму библиотеку.`,
otherLanguages: `Если вы хорошо знаете другой язык программирования, можете портировать на нём deemix!`,
understandingCode: `Не можете понять код? Напишите RemixDev up в Telegram или на Reddit.`,
contributeWebUI: `Если вы знаете Vue.js (JavaScript), HTML или CSS, можете внести вклад в <a href="https://codeberg.org/RemixDev/deemix-webui" target="_blank">WebUI</a>.`,
itsFree: `Помните, что это <strong>бесплатное приложение</strong> и вам следует <strong>поддерживать исполнителей</strong>, которые вам нравятся прежде, чем поддерживать разработчиков.`,
notObligated: `Вы не обязаны делать пожертвования, я всё равно вас ценю!`,
lincensedUnder: `Проект находится под лицензией
<a rel="license" href="https://www.gnu.org/licenses/gpl-3.0.en.html" target="_blank"
>GNU General Public License 3.0</a
>.`
},
charts: {
title: 'Чарты',
changeCountry: 'Изменить страну',
download: 'Скачать чарт'
},
errors: {
title: 'Errors for {0}',
ids: {
invalidURL: 'URL не распознана',
unsupportedURL: 'URL не поддерживается',
ISRCnotOnDeezer: 'ISRC трека недоступен на deezer',
notYourPrivatePlaylist: "Нельзя скачивать чужие плейлисты.",
spotifyDisabled: 'Неправильно настроены параметры Spotify.',
trackNotOnDeezer: 'Трек не найден на deezer!',
albumNotOnDeezer: 'Альбом не найден deezer!',
notOnDeezer: 'Трек недоступен на Deezer!',
notEncoded: 'Трек ещё не перекодирован!',
notEncodedNoAlternative: 'Трек не перекодирован, альтернатив не найдено!',
wrongBitrate: 'Не найден трек с нужным битрейтом.',
wrongBitrateNoAlternative: 'Не найден трек с нужным битрейтом. Альтернатив не найдено!',
no360RA: 'Трек недоступен в Reality Audio 360.',
notAvailable: "Трек недоступен на серверах deezer!",
notAvailableNoAlternative: "Трек недоступен на серверах deezer. Альтернатив не найдено!"
}
},
favorites: {
title: 'Избранное',
noPlaylists: 'Плейлисты не найдены',
noAlbums: 'Избранные альбомы не найдены',
noArtists: 'Избранные исполнители не найдены',
noTracks: 'Избранные треки не найдены'
},
home: {
needTologin: 'Вам нужно зайти под своим Deezer аккаунтом прежде, чем скачивать.',
openSettings: 'Открыть настройки',
sections: {
popularPlaylists: 'Популярные плейлисты',
popularAlbums: 'Самые прослушиваемые альбомы'
}
},
linkAnalyzer: {
info: 'Используйте этот раздел, чтобы узнать информацию о ссылке, по которой вы хотите скачать.',
useful:
"Этот раздел нужен, если вы хотите скачать треки, недоступные в вашей стране, а также посмотреть, где они доступны.",
linkNotSupported: 'Ссылка не поддерживается',
linkNotSupportedYet: 'Эта ссылка не поддерживается, попробуйте вставить другую.',
table: {
id: 'ID',
isrc: 'ISRC',
upc: 'UPC',
duration: 'Продолжительность',
diskNumber: 'Номер диска',
trackNumber: 'Номер трека',
releaseDate: 'Дата выхода',
bpm: 'BPM',
label: 'Издатель',
recordType: 'Тип',
genres: 'Жанр',
tracklist: 'Треклист'
}
},
search: {
startSearching: 'Начните искать!',
description:
'Здесь можно найти трек, альбом, исполнителя, плейлист... всё! Можно также вставить ссылку Deezer',
fans: '{0} поклонников',
noResults: 'Нет результатов',
noResultsTrack: 'Треков не найдено',
noResultsAlbum: 'Альбомов не найдено',
noResultsArtist: 'Исполнителей не найдено',
noResultsPlaylist: 'Плейлистов не найдено'
},
searchbar: 'Ищите, что хотите (или вставьте ссылку)',
downloads: 'загрузки',
toasts: {
addedToQueue: '{0} добавлено в очередь',
alreadyInQueue: '{0} уже есть в очереди!',
finishDownload: '{0} загрузок завершено.',
allDownloaded: 'Все загрузки завершены!',
refreshFavs: 'Обновление завершено!',
loggingIn: 'Вход',
loggedIn: 'Вход выполнен',
alreadyLogged: 'Вход уже выполнен',
loginFailed: "Вход не выполнен",
loggedOut: 'Logged out',
cancellingCurrentItem: 'Отмена закачки.',
currentItemCancelled: 'Отменено.',
startAddingArtist: 'Добавление {0} альбомов в очередь',
finishAddingArtist: 'Добавлено {0} альбомов в очередь',
startConvertingSpotifyPlaylist: 'Преобразование треков из spotify в deezer',
finishConvertingSpotifyPlaylist: 'Преобразование Spotify playlist converted'
},
settings: {
title: 'Настройки',
languages: 'Язык',
login: {
title: 'Вход',
loggedIn: 'Вы вошли как {username}',
arl: {
question: 'Как узнать свой ARL?',
update: 'Обновить ARL'
},
logout: 'Выйти'
},
appearance: {
title: 'Внешний вид',
slimDownloadTab: 'Обрезать вкладку с загрузками'
},
downloadPath: {
title: 'Путь сохранения'
},
templates: {
title: 'Шаблоны',
tracknameTemplate: 'Шаблон названия трека',
albumTracknameTemplate: 'Шаблон названия трека альбома',
playlistTracknameTemplate: 'Шаблон названия трека плейлиста'
},
folders: {
title: 'Папки',
createPlaylistFolder: 'Создать папки для плейлистов',
playlistNameTemplate: 'Название папки плейлиста',
createArtistFolder: 'Создать папки для исполнителя',
artistNameTemplate: 'Название папки исполнителя',
createAlbumFolder: 'Создать папки для альбома',
albumNameTemplate: 'Название папки альбома',
createCDFolder: 'Создать папки для CD',
createStructurePlaylist: 'Создать структуру папок для плейлистов',
createSingleFolder: 'Создать структуру папок для синглов'
},
trackTitles: {
title: 'Названия треков',
padTracks: 'Добавлять нули',
paddingSize: 'Количество цифр',
illegalCharacterReplacer: 'Замена для запрещённых символов'
},
downloads: {
title: 'Загрузки',
queueConcurrency: 'Количество одновременных закачек',
maxBitrate: {
title: 'Битрейт',
9: 'FLAC 1411kbps',
3: 'MP3 320kbps',
1: 'MP3 128kbps'
},
overwriteFile: {
title: 'Нужно ли перезаписывать файлы?',
y: 'Да, перезаписать файл',
n: "Нет, не перезаписывать",
t: 'Обновить только теги'
},
fallbackBitrate: 'Скачивать с низким битрейтом, если текущий недоступен',
fallbackSearch: 'Искать другой трек, если нужный недоступен',
logErrors: 'Создать логи для ошибок',
logSearched: 'Создать лог поиска',
createM3U8File: 'Создать файлы плейлистов',
syncedLyrics: 'Создать .lyr файлы (Синхронизированный текст)',
playlistFilenameTemplate: 'Шаблон названия плейлиста',
saveDownloadQueue: 'Сохранять текущий список загрузок при закрытии приложения'
},
covers: {
title: 'Обложки',
saveArtwork: 'Сохранять обложки',
coverImageTemplate: 'Шаблон названия обложки',
saveArtworkArtist: 'Сохранять изображение исполнителя',
artistImageTemplate: 'Шаблон названия изображения',
localArtworkSize: 'Размер сохраненной обложки',
embeddedArtworkSize: 'Размер встроенной',
localArtworkFormat: {
title: 'В каком формате сохранять обложки?',
jpg: 'jpeg',
png: 'png',
both: 'jpeg и png'
},
jpegImageQuality: 'Качество JPEG'
},
tags: {
head: 'Какие теги сохранять',
title: 'Название',
artist: 'Исполнитель',
album: 'Альбом',
cover: 'Обложка',
trackNumber: 'Номер трека',
trackTotal: 'Кол-во треков',
discNumber: 'Номер диска',
discTotal: 'Кол-во дисков',
albumArtist: 'Исполнитель альбома',
genre: 'Жанр',
year: 'Год',
date: 'Дата',
explicit: 'Нецензурная лирика',
isrc: 'ISRC',
length: 'Продолжительность',
barcode: 'Штрихкод альбома (UPC)',
bpm: 'BPM',
replayGain: 'Replay Gain',
label: 'Издатель',
lyrics: 'Несинхронизированный текст',
copyright: 'Права',
composer: 'Композитор',
involvedPeople: 'Вовлечённые люди'
},
other: {
title: 'Разное',
savePlaylistAsCompilation: 'Сохранить плейлисты как сборники',
useNullSeparator: 'Использовать нулевой символ в качестве разделителя',
saveID3v1: 'Дополнительно сохранять ID3v1',
multiArtistSeparator: {
title: 'Как разделять несколько исполнителей?',
nothing: 'Сохранить только основного',
default: 'Используя стандартную спецификацию',
andFeat: 'Используя & и feat.',
using: 'Используя "{0}"'
},
singleAlbumArtist: 'Сохранить только основного исполнителя альбома',
albumVariousArtists: 'Оставить "Various Artists" в Исполнителях льбома',
removeAlbumVersion: 'Удалить "Album Version" из названия трека',
removeDuplicateArtists: 'Удалить повторяющихся исполнителей',
dateFormat: {
title: 'Формат даты для FLAC файлов',
year: 'YYYY',
month: 'MM',
day: 'DD'
},
featuredToTitle: {
title: 'Что делать с приглашёнными исполнителями?',
0: 'Ничего',
1: 'Удалить их из названия',
3: 'Удалить из названия и названия альбома',
2: 'Добавить в название'
},
titleCasing: 'Регистр названия',
artistCasing: 'Регистр исполнителя',
casing: {
nothing: 'Не менять',
lower: 'в нижнем регистре',
upper: 'В ВЕРХНЕМ РЕГИСТРЕ',
start: 'Каждое Слово С Заглавной Буквы',
sentence: 'Как в предложении'
},
previewVolume: 'Громкость прослушивания',
executeCommand: {
title: 'Выполнить команды по окончании загрузок',
description: 'Оставьте пустым, если ничего не требуется'
}
},
spotify: {
title: 'Функции Spotify',
clientID: 'Spotify clientID',
clientSecret: 'Spotify Client Secret',
username: 'Spotify username'
},
reset: 'По умолчанию',
save: 'Сохранить',
toasts: {
init: 'Настройки загружены!',
update: 'Настройки обновлены!',
ARLcopied: 'ARL скопирован в буфер обмена'
}
},
sidebar: {
home: 'домой',
search: 'поиск',
charts: 'чарты',
favorites: 'избранное',
linkAnalyzer: 'просмотр ссылок',
settings: 'настройки',
about: 'о проекте'
},
tracklist: {
downloadSelection: 'Скачать выбранные'
}
}
export default ru

344
src/lang/tr.js Normal file
View File

@ -0,0 +1,344 @@
const tr = {
globals: {
welcome: `Deemix'e hoş geldin.`,
back: `geri`,
loading: `yükleniyor`,
download: 'İndir {0}',
by: '{0} tarafından',
in: '{0} içinde',
download_hint: 'İndir',
play_hint: 'Oynat',
toggle_download_tab_hint: 'Genişlet/Daralt',
clean_queue_hint: 'Tamamlananları Temizle',
cancel_queue_hint: 'Hepsini ',
listTabs: {
empty: '',
all: 'Tümü',
top_result: 'top result',
album: 'albüm | albümler',
artist: 'sanatçı | sanatçılar',
single: 'single | singlelar',
title: 'başlık | başlıklar',
track: 'Parça | Parçalar',
trackN: '0 parça | {n} parça | {n} parça',
releaseN: '0 yayınlanan | {n} yayınlanan | {n} yayınlanan',
playlist: 'oynatma listesi | oynatma listeleri',
compile: 'derleme | derlemeler',
ep: 'kayıt | kayıtlar',
spotifyPlaylist: 'spotify oynatma listesi | oynatma listeleri',
releaseDate: 'yayınlanma tarihi',
error: 'hata'
}
},
about: {
titles: {
usefulLinks: 'Yararlı Bağlantılar',
bugReports: 'Hata Raporları',
contributing: 'Katkı Sağlayanlar',
donations: 'Bağışlar',
license: 'Lisans'
},
subtitles: {
bugReports: "Deemix'te çalışmayan bir şey mi var?, Bize bildirin!",
contributing: 'Projeye katkı sağlamak mı istiyorsun? Farklı yollardan sağlayabilirsin!',
donations: 'Bütçe yardımı mı yapmak istiyorsun? Bağış yapabilirsin!'
},
usesLibrary:
'<strong>deemix</strong> kendi kullanıcı arabiriminizi oluşturabileceğiniz, kendine özgü kütüphanesini kullanıyor.',
thanks: ` <strong>rtonno</strong>, <strong>uhwot</strong> ve <strong>lollilol</strong>'a bu projeye yaptığı katkılardan ve <strong>BasCurtiz</strong> ile <strong>scarvimane</strong>'e ikonlardan dolayı teşekkür ederim.`,
upToDate: `Telegramdaki haber kanalını takip ederek <a href="https://t.me/RemixDevNews" target="_blank"></a>güncellemelerden haberdar olun.`,
officialWebsite: 'İlgili İnternet Sitemiz',
officialRepo: 'İlgili Kütüphanemiz',
officialWebuiRepo: 'İlgili Web Kullanıcı Arayüzü Kütüphanemiz.',
officialSubreddit: 'İlgili Subreddit adresimiz',
newsChannel: 'Haber Kanalı',
questions: `Eğer uygulama ile ilgili sorularınız veya bir probleminiz varsa,ilk önce <a href="https://www.reddit.com/r/deemix" target="_blank">subreddit adresinden </a> sorununuzu arayın. Eğer bir şey bulamazsanız, sorununuz ile ilgili bir gönderi paylaşabilirsiniz.`,
beforeReporting: `Bir hatayı bildirmeden önce, uygulamanın son sürümünde olduğunuza veya sorunun sizden kaynaklı olmayıp bir hata olduğuna emin olduktan sonra emin olun.`,
beSure: `Hatanın başka cihazlarda da olduğunu doğrulayın ve <strong>Bildirilen</strong> bir hatayı tekrar bildirmeyin.`,
duplicateReports: 'Birbirinin aynısı olan hata bildirileri kapatılacaktır, o yüzden dikkatli olun.',
dontOpenIssues: `<strong>Soru sormak</strong> için hata bildirisi yollamayın, bunun için bir subreddit adresimiz var.`,
newUI: `Eğer Phython kullanmakta iyiysen, ana kütüphaneyi kullanan bir kullanıcı arayüzü yapmayı deneyebilir, veya kütüphanedeki hataları düzeltmek için <a href="https://codeberg.org/RemixDev/deemix" target="_blank">deposuna değişiklik isteği yollayabilirsin.</a>.`,
acceptFeatures: `Yeni özellikleri de kabul ediyorum, fakat karışık şeyleri kütüphaneye değil uygulamaya eklendiği için kabul edemiyorum.`,
otherLanguages: `Eğer diğer programlama dillerinde kendine güveniyorsan, deemix'i farklı dillere port etmeye çalışabilirsin!`,
understandingCode: `Kodu anlamak için yardım mı lazım? Reddit üzerinden veya Telegramdan RemixDev'e ulaş.`,
contributeWebUI: `Eğer Vue.js (JavaScript), HTML veya CSS biliyorsan, <a href="https://codeberg.org/RemixDev/deemix-webui" target="_blank">Web Kullanıcı Arayüzüne katkıda bulanabilirsin</a>.`,
itsFree: `Bunun <strong>ücretsiz bir proje olduğunu</strong> ve <strong>geliştiricilerden önce</strong> sevdiğiniz sanatçıları desteklemeniz gerektiğini unutmayın.`,
notObligated: `Kendinizi bağış yapmak zorunda hissetmeyin!, Sizi her halinizle seviyorum!`,
lincensedUnder: `Bu çalışma lisanslıdır:
<a rel="license" href="https://www.gnu.org/licenses/gpl-3.0.en.html" target="_blank"
>GNU General Public License 3.0</a
>.`
},
charts: {
title: 'Grafikler',
changeCountry: 'Ülke Değiştir',
download: 'Grafiği İndir'
},
errors: {
title: '{0} Hatalı bulundu',
ids: {
invalidURL: 'URL geçersiz.',
unsupportedURL: 'URL şimdilik desteklenmiyor',
ISRCnotOnDeezer: 'ISRC parça deezerda bulunmuyor',
notYourPrivatePlaylist: 'Başkalarının özel oynatma listelerini indiremezsin.',
spotifyDisabled: 'Spotify Özellikleri doğru şekilde ayarlanmamış.',
trackNotOnDeezer: `Parça Deezer'da bulunamadı!`,
albumNotOnDeezer: `Albüm Deezer'da bulunamadı!`,
notOnDeezer: `Parça Deezer'da yok!`,
notEncoded: `Parça henüz dönüştürülmedi!`,
notEncodedNoAlternative: 'Parça henüz dönüştürülmedi ve alternatifi bulunamadı!',
wrongBitrate: 'Parça, istenen kalitede bulunamadı!',
wrongBitrateNoAlternative: 'Parça veya alternatifler istenen kalitede bulunamadı!',
no360RA: 'Parça 360 Derece gerçekçi ses olarak bulunamadı!',
notAvailable: 'Parça Deezer sunucularında bulunamadı!',
notAvailableNoAlternative: 'Parça veya Alternatifleri Deezer sunucularında bulunamadı.!'
}
},
favorites: {
title: 'Favoriler',
noPlaylists: 'Oynatma listesi bulunamadı.',
noAlbums: 'Favori albümler bulunamadı.',
noArtists: 'Favori sanatçılar bulunamadı.',
noTracks: 'Favori parçalar bulunamadı.'
},
home: {
needTologin: 'İndirmeden önce Deezer hesabına giriş yapmalısın.',
openSettings: 'Ayarları Aç',
sections: {
popularPlaylists: 'Popüler Oynatma Listeleri',
popularAlbums: 'En çok dinlenen albümler'
}
},
linkAnalyzer: {
info: 'İndirmeye çalıştığın link hakkında daha fazla bilgi için burayı kullanabilirsin.',
useful: 'Mesela, ülkende dinlenebilir olmayan parçaların nerelerde var olduğunu bulmak için kullanabilirsin.',
linkNotSupported: 'Bu link şimdilik desteklenmemektedir.',
linkNotSupportedYet: 'Bu link şimdilik desteklenmiyor gibi duruyor, başkasını analiz etmeyi dene.',
table: {
id: 'ID',
isrc: 'ISRC',
upc: 'UPC',
duration: 'Süre',
diskNumber: 'Sıra numarası',
trackNumber: 'Parça numarası',
releaseDate: 'Yayınlanma tarihi',
bpm: 'BPM',
label: 'Etiketi',
recordType: 'Kayıt Şekli',
genres: 'Türü',
tracklist: 'Parça listesi'
}
},
search: {
startSearching: 'Aramayı Başlat!',
description:
'Bir parçayı, tüm albümü, bir sanatçıyı, bir oynatma listesini... kısaca her şeyi aratabilirsin! Ayrıca Deezer Linki de yapıştırabilirsin!',
fans: '{0} Hayranlar',
noResults: 'Sonuç Bulunamadı',
noResultsTrack: 'Parça bulunamadı',
noResultsAlbum: 'Albüm bulunamadı',
noResultsArtist: 'Sanatçı bulunamadı',
noResultsPlaylist: 'Oynatma Listesi bulunamadı'
},
searchbar: 'İstediğin bir şeyi arat (ya da bir link yapıştır.)',
downloads: 'İndirilenler',
toasts: {
addedToQueue: '{0} kuyruğa eklendi',
alreadyInQueue: '{0} çoktan kuyrukta!',
finishDownload: '{0} indirmesi tamamlandı.',
allDownloaded: 'Tüm indirmeler tamamlandı!',
refreshFavs: 'Yenileme tamamlandı.!',
loggingIn: 'Giriş yapılıyor',
loggedIn: 'Giriş yapıldı',
alreadyLogged: 'Çoktan giriş yapıldı',
loginFailed: 'Giriş yapılamadı',
loggedOut: 'Oturum kapatıldı.',
cancellingCurrentItem: 'Geçerli öğe iptal ediliyor.',
currentItemCancelled: 'Geçerli öğe iptal edildi.',
startAddingArtist: '{0} albüm kuyruğa ekleniyor',
finishAddingArtist: '{0} albüm kuyruğa eklendi.',
startConvertingSpotifyPlaylist: 'Spotify parçaları deezer parçalarına dönüştürülüyor.',
finishConvertingSpotifyPlaylist: 'Spotify oynatma listesi dönüştürüldü.'
},
settings: {
title: 'Ayarlar',
languages: 'Diller',
login: {
title: 'Giriş',
loggedIn: '{username} olarak giriş yaptın.',
arl: {
question: `Kendi ARL'mi nasıl alırım?`,
update: 'ARL güncelle.'
},
logout: ıkış'
},
appearance: {
title: 'Görünüm',
slimDownloadTab: 'İnce indirme sekmesi'
},
downloadPath: {
title: 'İndirilen dizin'
},
templates: {
title: 'Şablonlar',
tracknameTemplate: 'Parça ismi şablonu',
albumTracknameTemplate: 'Albüm parçası şablonu',
playlistTracknameTemplate: 'Oynatma listesi parça şablonu'
},
folders: {
title: 'Dosyalar',
createPlaylistFolder: 'Oynatma listesi için dosya oluştur',
playlistNameTemplate: 'Oynatma listesi dosyası şablonu',
createArtistFolder: 'Sanatçı için dosya oluştur',
artistNameTemplate: 'Sanatçı dosyası şablonu',
createAlbumFolder: 'Albüm için dosya oluştur',
albumNameTemplate: 'Albüm dosyası şablonu',
createCDFolder: 'CDler için dosya oluştur',
createStructurePlaylist: 'Oynatma listeleri için dosya kökü oluştur',
createSingleFolder: 'Singlelar için dosya kökü oluştur'
},
trackTitles: {
title: 'Parça başlıkları',
padTracks: 'İz Numaraları',
paddingSize: 'İz Numaralarını değiştir',
illegalCharacterReplacer: 'Illegal Karakter Düzenleyici'
},
downloads: {
title: 'İndirilenler',
queueConcurrency: 'Devam eden indirmeler',
maxBitrate: {
title: 'Tercih edilmiş Bitrateler (kaliteler)',
9: 'FLAC 1411kbps',
3: 'MP3 320kbps',
1: 'MP3 128kbps'
},
overwriteFile: {
title: 'Dosyaların üstüne yazmalı mıyım?',
y: 'Evet, üstüne yaz',
n: 'Hayır, üstüne yazma',
t: 'Sadece izleri üstüne yaz'
},
fallbackBitrate: 'Bitrate düşürme',
fallbackSearch: 'Düşürme ara',
logErrors: 'Hatalar için günlük tut',
logSearched: 'Aranmış parçalar için günlük tut',
createM3U8File: 'Oynatma sıra listesi oluştur',
syncedLyrics: '.lyr dosyaları oluştur (Senkronize şarkı sözleri)',
playlistFilenameTemplate: 'Oynatma listesi şablonu',
saveDownloadQueue: 'Uygulamayı kapatırken indirme kuyruğunu kaydet'
},
covers: {
title: 'Albüm kapakları',
saveArtwork: 'Kapakları kaydet',
coverImageTemplate: 'Kapak ismi şablonu',
saveArtworkArtist: 'Sanatçı fotoğrafını kaydet',
artistImageTemplate: 'Şarkıcı fotoğraf şablonu',
localArtworkSize: 'Yerel fotoğraf boyutu',
embeddedArtworkSize: 'Gömülü fotoğraf boyutu',
localArtworkFormat: {
title: 'Yerel fotoğrafın hangi formatta olmasını istersin?',
jpg: 'Jpeg dosyası',
png: 'Png dosyası',
both: 'Her ikisi'
},
jpegImageQuality: 'JPEG görüntü kalitesi'
},
tags: {
head: 'Hangi izler kayıt edilsin?',
title: 'Başlık',
artist: 'Sanatçı',
album: 'Albüm',
cover: 'Kapak',
trackNumber: 'Parça Numarası',
trackTotal: 'Tüm Parça',
discNumber: 'Plak Sayısı',
discTotal: 'Tüm Plak',
albumArtist: 'Sanatçı Albümü',
genre: 'Tür',
year: 'Yıl',
date: 'Tarih',
explicit: 'Cinsel içerikli şarkı sözleri',
isrc: 'ISRC',
length: 'Parça Uzunluğu',
barcode: 'Albüm Barkodu (UPC)',
bpm: 'BPM',
replayGain: 'Ses Yüksekliği Normalleştirici',
label: 'Albüm Etiketi',
lyrics: 'Senkronize edilmemiş şarkı sözleri',
copyright: 'Telif hakkı',
composer: 'Besteleyen',
involvedPeople: 'Alakalı Kişiler'
},
other: {
title: 'Diğer',
savePlaylistAsCompilation: 'Oynatma listelerini derleme olarak kaydet',
useNullSeparator: 'Boşluk ayırıcı kullan',
saveID3v1: 'ID3v1 dosyasını da kaydet',
multiArtistSeparator: {
title: 'Sanatçılarınızı nasıl ayırmak istersiniz?',
nothing: 'Sadece ana sanatçıyı kaydet',
default: 'Genel prosedür uygulansın',
andFeat: 'Kullanılanlar & ve Feat.',
using: 'Kullanılan "{0}"'
},
singleAlbumArtist: 'Sadece ana albüm sanatçısını kaydet',
albumVariousArtists: '"Çeşitli sanatçılar"ı sanatçı albümlerinde tut',
removeAlbumVersion: '"Albüm Sürümü"nü parça başlığından çıkart',
removeDuplicateArtists: 'Sanatçı topluluğunu çıkart',
dateFormat: {
title: 'FLAC dosyalar için zaman formatı',
year: 'YYYY',
month: 'AA',
day: 'GG'
},
featuredToTitle: {
title: 'Öne çıkan sanatçıları ne yapmalıyım?',
0: 'Elleme',
1: 'Başlıktan çıkart',
3: 'Başlıktan ve albüm başlığından çıkart',
2: 'Başlığa taşı'
},
titleCasing: 'Albüm harfi',
artistCasing: 'Sanatçı harfi',
casing: {
nothing: 'Değiştirmeden bırak',
lower: 'küçük harf',
upper: 'BÜYÜK HARF',
start: 'Kelimenin başı ile başla',
sentence: 'Cümle gibi yap'
},
previewVolume: 'Ses önizlemesi',
executeCommand: {
title: 'İndirdikten sonra komut uygula',
description: 'Bir şey yapmamak için boş bırak'
}
},
spotify: {
title: 'Spotify Özelliği',
clientID: 'Spotify clientID',
clientSecret: 'Spotify Client Secret',
username: 'Spotify Kullanıcı Adı'
},
reset: 'Varsayılana sıfırla',
save: 'Kaydet',
toasts: {
init: 'Ayarlar yüklendi!',
update: 'Ayarlar güncellendi!',
ARLcopied: 'ARL panoya kopyalandı!'
}
},
sidebar: {
home: 'Ana sayfa',
search: 'Ara',
charts: 'Grafikler',
favorites: 'Favoriler',
linkAnalyzer: 'Link Analizörü',
settings: 'Ayarlar',
about: 'Hakkında'
},
tracklist: {
downloadSelection: 'İndirme bölümü'
}
}
export default tr

View File

@ -4,6 +4,14 @@ import VueI18n from 'vue-i18n'
// Languages // Languages
import it from '@/lang/it' import it from '@/lang/it'
import en from '@/lang/en' import en from '@/lang/en'
import es from '@/lang/es'
import de from '@/lang/de'
import fr from '@/lang/fr'
import id from '@/lang/id'
import pt from '@/lang/pt-pt'
import ptBr from '@/lang/pt-br'
import ru from '@/lang/ru'
import tr from '@/lang/tr'
Vue.use(VueI18n) Vue.use(VueI18n)
@ -13,13 +21,49 @@ document.querySelector('html').setAttribute('lang', DEFAULT_LANG)
const locales = { const locales = {
it, it,
en en,
es,
de,
fr,
id,
pt,
ptBr,
ru,
tr
} }
const i18n = new VueI18n({ const i18n = new VueI18n({
locale: DEFAULT_LANG, locale: DEFAULT_LANG,
fallbackLocale: DEFAULT_LANG, fallbackLocale: DEFAULT_LANG,
messages: locales messages: locales,
pluralizationRules: {
/**
* @param choice {number} a choice index given by the input to $tc: `$tc('path.to.rule', choiceIndex)`
* @param choicesLength {number} an overall amount of available choices
* @returns a final choice index to select plural word by
*/
ru: function(choice, choicesLength) {
if (choice === 0) {
return 0
}
var n = Math.abs(choice) % 100
var n1 = n % 10
if (n > 10 && n < 20) {
return 3
}
if (n1 > 1 && n1 < 5) {
return 2
}
if (n1 == 1) {
return 1
}
return 3
}
}
}) })
export default i18n export default i18n

View File

@ -1,7 +1,23 @@
import it from 'svg-country-flags/svg/it.svg' import it from 'svg-country-flags/svg/it.svg'
import gb from 'svg-country-flags/svg/gb.svg' import gb from 'svg-country-flags/svg/gb.svg'
import es from 'svg-country-flags/svg/es.svg'
import de from 'svg-country-flags/svg/de.svg'
import fr from 'svg-country-flags/svg/fr.svg'
import id from 'svg-country-flags/svg/id.svg'
import pt from 'svg-country-flags/svg/pt.svg'
import br from 'svg-country-flags/svg/br.svg'
import ru from 'svg-country-flags/svg/ru.svg'
import tr from 'svg-country-flags/svg/tr.svg'
export default { export default {
it, it,
en: gb en: gb,
es,
de,
fr,
id,
pt,
ptBr: br,
ru,
tr
} }