added Russian, Turkish, French and Portuguese (Brazilian) languages

This commit is contained in:
Roberto Tonino 2020-07-29 18:41:08 +02:00
parent 897be92e22
commit cbc0e0d710
9 changed files with 1150 additions and 429 deletions

File diff suppressed because one or more lines are too long

View File

@ -623,6 +623,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 }
@ -705,55 +754,6 @@ export default {
resetSettings() { resetSettings() {
this.settings = { ...this.defaultSettings } this.settings = { ...this.defaultSettings }
} }
},
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)
} }
} }
</script> </script>

View File

@ -39,11 +39,12 @@ const es = {
license: 'Licencia' license: 'Licencia'
}, },
subtitles: { subtitles: {
bugReports: "¿Hay algo que no funcione en Deemix? ¡Díganoslo!", bugReports: '¿Hay algo que no funcione en Deemix? ¡Díganoslo!',
contributing: '¿Quieres contribuir a este proyecto? ¡Puedes hacerlo de diferentes maneras!', contributing: '¿Quieres contribuir a este proyecto? ¡Puedes hacerlo de diferentes maneras!',
donations: '¿Quiere contribuir monetariamente? ¡Podrías hacer una donación!' 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.', 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.`, 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.`, 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', officialWebsite: 'Página web oficial',
@ -78,7 +79,7 @@ const es = {
invalidURL: 'No se reconoce la URL', invalidURL: 'No se reconoce la URL',
unsupportedURL: 'La URL no está soportada aún', unsupportedURL: 'La URL no está soportada aún',
ISRCnotOnDeezer: 'Pista ISRC no está disponible en Deezer', ISRCnotOnDeezer: 'Pista ISRC no está disponible en Deezer',
notYourPrivatePlaylist: "No puedes descargar otras listas de reproducción privadas.", notYourPrivatePlaylist: 'No puedes descargar otras listas de reproducción privadas.',
spotifyDisabled: 'Funciones de Spotify no está configurado correctamente.', spotifyDisabled: 'Funciones de Spotify no está configurado correctamente.',
trackNotOnDeezer: '¡No se encontró la pista en Deezer!', trackNotOnDeezer: '¡No se encontró la pista en Deezer!',
albumNotOnDeezer: '¡El álbum no se encuentra en Deezer!', albumNotOnDeezer: '¡El álbum no se encuentra en Deezer!',
@ -86,10 +87,12 @@ const es = {
notEncoded: '¡Pista aún no codificada!', notEncoded: '¡Pista aún no codificada!',
notEncodedNoAlternative: '¡Pista aún no codificada y no se ha encontrado ninguna alternativa!', 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.', 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!', 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.', no360RA: 'La pista no está disponible en Reality Audio 360.',
notAvailable: "¡La pista no está disponible en los servidores de Deezer!", 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!" notAvailableNoAlternative:
'¡La pista no está disponible en los servidores de Deezer y no se ha encontrado ninguna alternativa!'
} }
}, },
favorites: { favorites: {
@ -109,7 +112,8 @@ const es = {
}, },
linkAnalyzer: { linkAnalyzer: {
info: 'Puedes usar esta sección para encontrar más información sobre el enlace que estás tratando de descargar.', 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.", 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', linkNotSupported: 'Este enlace aún no está soportado',
linkNotSupportedYet: 'Parece que este enlace aún no está soportado, intenta analizar otro.', linkNotSupportedYet: 'Parece que este enlace aún no está soportado, intenta analizar otro.',
table: { table: {
@ -129,7 +133,8 @@ const es = {
}, },
search: { search: {
startSearching: '¡Comienza a buscar!', 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', 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', fans: '{0} fanáticos',
noResults: 'No hay resultados', noResults: 'No hay resultados',
noResultsTrack: 'No se encontraron pistas', noResultsTrack: 'No se encontraron pistas',
@ -148,7 +153,7 @@ const es = {
loggingIn: 'Conectando...', loggingIn: 'Conectando...',
loggedIn: 'Conectado', loggedIn: 'Conectado',
alreadyLogged: 'Ya está conectado', alreadyLogged: 'Ya está conectado',
loginFailed: "No se puede conectar", loginFailed: 'No se puede conectar',
loggedOut: 'Desconectado', loggedOut: 'Desconectado',
cancellingCurrentItem: 'Cancelando el elemento actual.', cancellingCurrentItem: 'Cancelando el elemento actual.',
currentItemCancelled: 'El elemento actual se ha cancelado.', currentItemCancelled: 'El elemento actual se ha cancelado.',
@ -212,7 +217,7 @@ const es = {
overwriteFile: { overwriteFile: {
title: '¿Desea que sobreescriba los archivos?', title: '¿Desea que sobreescriba los archivos?',
y: 'Sí, sobrescribir el archivo', y: 'Sí, sobrescribir el archivo',
n: "No, no sobrescribir el archivo", n: 'No, no sobrescribir el archivo',
t: 'Sobrescribir sólo las etiquetas' t: 'Sobrescribir sólo las etiquetas'
}, },
fallbackBitrate: 'La solución alternativa de bitrate', fallbackBitrate: 'La solución alternativa de bitrate',

View File

@ -39,11 +39,12 @@ const fr = {
license: 'Licence' license: 'Licence'
}, },
subtitles: { subtitles: {
bugReports: "Y a-t-il quelque chose qui ne fonctionne pas avec deemix ? Dites-le nous !", 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 !', 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 !' 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.', 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.`, 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.`, 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', officialWebsite: 'Site Officiel',
@ -85,19 +86,19 @@ const fr = {
albumNotOnDeezer: 'Album introuvable sur deezer !', albumNotOnDeezer: 'Album introuvable sur deezer !',
notOnDeezer: 'Piste non disponible sur Deezer !', notOnDeezer: 'Piste non disponible sur Deezer !',
notEncoded: 'Piste pas encore encodée !', notEncoded: 'Piste pas encore encodée !',
notEncodedNoAlternative: "Piste pas encore encodée et aucune alternative trouvée !", notEncodedNoAlternative: 'Piste pas encore encodée et aucune alternative trouvée !',
wrongBitrate: 'Piste introuvable au débit souhaité.', wrongBitrate: 'Piste introuvable au débit souhaité.',
wrongBitrateNoAlternative: 'Piste introuvable au débit souhaité et aucune alternative trouvée !', wrongBitrateNoAlternative: 'Piste introuvable au débit souhaité et aucune alternative trouvée !',
no360RA: "La piste n'est pas disponible avec Reality Audio 360.", no360RA: "La piste n'est pas disponible avec Reality Audio 360.",
notAvailable: "Piste non disponible sur les serveurs de deezer !", notAvailable: 'Piste non disponible sur les serveurs de deezer !',
notAvailableNoAlternative: "Piste non disponible sur les serveurs de deezer et aucune alternative trouvée !" notAvailableNoAlternative: 'Piste non disponible sur les serveurs de deezer et aucune alternative trouvée !'
} }
}, },
favorites: { favorites: {
title: 'Favoris', title: 'Favoris',
noPlaylists: 'Aucune Playlist trouvée', noPlaylists: 'Aucune Playlist trouvée',
noAlbums: "Aucuns Album Favori trouvé", noAlbums: 'Aucuns Album Favori trouvé',
noArtists: "Aucun Artiste Favori trouvé", noArtists: 'Aucun Artiste Favori trouvé',
noTracks: 'Aucune Piste Favorite trouvée' noTracks: 'Aucune Piste Favorite trouvée'
}, },
home: { home: {
@ -109,7 +110,8 @@ const fr = {
} }
}, },
linkAnalyzer: { linkAnalyzer: {
info: "Vous pouvez utiliser cette section afin de trouver plus d'informations sur le lien que vous essayer de télcharger.", info:
"Vous pouvez utiliser cette section afin de trouver plus d'informations sur le lien que vous essayer de télcharger.",
useful: 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.", "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é", linkNotSupported: "Ce lien n'est pas encore supporté",
@ -151,7 +153,7 @@ const fr = {
loggingIn: 'Connexion', loggingIn: 'Connexion',
loggedIn: 'Connecté', loggedIn: 'Connecté',
alreadyLogged: 'Déjà connecté', alreadyLogged: 'Déjà connecté',
loginFailed: "Connexion impossible", loginFailed: 'Connexion impossible',
loggedOut: 'Déconnecté', loggedOut: 'Déconnecté',
cancellingCurrentItem: "Annulation de l'élément actuel.", cancellingCurrentItem: "Annulation de l'élément actuel.",
currentItemCancelled: 'Élément actuel annulé.', currentItemCancelled: 'Élément actuel annulé.',
@ -262,7 +264,7 @@ const fr = {
length: 'Durée de Piste', length: 'Durée de Piste',
barcode: "Code-barres de l'album (UPC)", barcode: "Code-barres de l'album (UPC)",
bpm: 'BPM', bpm: 'BPM',
replayGain: "Gain du Replay", replayGain: 'Gain du Replay',
label: "Label de l'Album", label: "Label de l'Album",
lyrics: 'Paroles non synchronisées', lyrics: 'Paroles non synchronisées',
copyright: "Droits d'auteur (copyright)", copyright: "Droits d'auteur (copyright)",
@ -277,7 +279,7 @@ const fr = {
multiArtistSeparator: { multiArtistSeparator: {
title: 'Comment aimeriez-vous séparer vos artistes ?', title: 'Comment aimeriez-vous séparer vos artistes ?',
nothing: "Enregistrer uniquement l'artiste principal", nothing: "Enregistrer uniquement l'artiste principal",
default: "En utilisant la spécification standard", default: 'En utilisant la spécification standard',
andFeat: 'En utilisant & et feat.', andFeat: 'En utilisant & et feat.',
using: 'En utilisant "{0}"' using: 'En utilisant "{0}"'
}, },

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

View File

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

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

@ -9,6 +9,9 @@ import de from '@/lang/de'
import fr from '@/lang/fr' import fr from '@/lang/fr'
import id from '@/lang/id' import id from '@/lang/id'
import pt from '@/lang/pt-pt' 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)
@ -23,7 +26,10 @@ const locales = {
de, de,
fr, fr,
id, id,
pt pt,
ptBr,
ru,
tr
} }
const i18n = new VueI18n({ const i18n = new VueI18n({
@ -31,21 +37,33 @@ const i18n = new VueI18n({
fallbackLocale: DEFAULT_LANG, fallbackLocale: DEFAULT_LANG,
messages: locales, messages: locales,
pluralizationRules: { pluralizationRules: {
/** /**
* @param choice {number} a choice index given by the input to $tc: `$tc('path.to.rule', choiceIndex)` * @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 * @param choicesLength {number} an overall amount of available choices
* @returns a final choice index to select plural word by * @returns a final choice index to select plural word by
*/ */
'ru': function(choice, choicesLength) { ru: function(choice, choicesLength) {
if (choice === 0) { return 0 } if (choice === 0) {
return 0
}
var n = Math.abs(choice) % 100 var n = Math.abs(choice) % 100
var n1 = n % 10 var n1 = n % 10
if (n > 10 && n < 20) { return 3 }
if (n1 > 1 && n1 < 5) { return 2 } if (n > 10 && n < 20) {
if (n1 == 1) { return 1 } return 3
return 3; }
}
} if (n1 > 1 && n1 < 5) {
return 2
}
if (n1 == 1) {
return 1
}
return 3
}
}
}) })
export default i18n export default i18n

View File

@ -5,6 +5,9 @@ import de from 'svg-country-flags/svg/de.svg'
import fr from 'svg-country-flags/svg/fr.svg' import fr from 'svg-country-flags/svg/fr.svg'
import id from 'svg-country-flags/svg/id.svg' import id from 'svg-country-flags/svg/id.svg'
import pt from 'svg-country-flags/svg/pt.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,
@ -13,5 +16,8 @@ export default {
de, de,
fr, fr,
id, id,
pt pt,
ptBr: br,
ru,
tr
} }