Merge branch 'main' into main

This commit is contained in:
Phan Thành Nam 2020-07-31 02:13:49 +02:00
commit 57ae261f77
4 changed files with 126 additions and 125 deletions

File diff suppressed because one or more lines are too long

View File

@ -9,8 +9,8 @@ const fr = {
download_hint: 'Télécharger',
play_hint: 'Lire',
toggle_download_tab_hint: 'Développer/Réduire',
clean_queue_hint: 'Retirer les tâches terminées',
cancel_queue_hint: 'Tout annuler',
clean_queue_hint: 'Retirer Les Tâches Terminées',
cancel_queue_hint: 'Tout Annuler',
listTabs: {
empty: '',
all: 'tout',
@ -33,7 +33,7 @@ const fr = {
about: {
titles: {
usefulLinks: 'Liens Utiles',
bugReports: 'Rapports de Bug',
bugReports: 'Rapports De Bug',
contributing: 'Contribution',
donations: 'Dons',
license: 'Licence'
@ -45,14 +45,14 @@ const fr = {
},
usesLibrary:
'Cette application utilise la bibliothèque <strong>deemix</strong>, que vous pouvez exploiter afin de créer votre propre interface utilisateur pour deemix.',
thanks: "Merci à <strong>rtonno</strong>, <strong>uhwot</strong> et <strong>lollilol</strong> de m'avoir aidé dans ce projet ainsi qu\'à <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> de m'avoir aidé dans ce projet ainsi qu'à <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 de nouveautés</a> sur Telegram.',
officialWebsite: 'Site Officiel',
officialRepo: 'Répertoire de dépôt officiel de la bibiliothèque',
officialWebuiRepo: 'Répertoire de dépôt officiel de la WebUI',
officialSubreddit: 'Subreddit officiel',
newsChannel: 'Canal de nouveautés',
questions: `Si vous avez des questions ou des problèmes avec l'application, cherchez d'abord une solution dans le <a href="https://www.reddit.com/r/deemix" target="_blank">subreddit</a>. Ensuite, si vous ne trouvez rien, vous pouvez publier un message avec votre problème sur le subreddit.`,
officialRepo: 'Répertoire De Dépôt Officiel De La Bibiliothèque',
officialWebuiRepo: 'Répertoire De Dépôt Officiel De La WebUI',
officialSubreddit: 'Subreddit Officiel',
newsChannel: 'Canal De Nouveautés',
questions: `Si vous avez des questions ou des problèmes avec l'application, cherchez d'abord une solution dans le <a href="https://www.reddit.com/r/deemix" target="_blank">subreddit</a>. Ensuite, si vous ne trouvez rien, vous pouvez publier un message avec votre problème dans le subreddit.`,
beforeReporting: "Avant de signaler un bug, assurez-vous que vous exécutez la dernière version de l'application et que ce que vous voulez signaler est bien un bug et non quelque chose qui ne va pas de votre côté.",
beSure: "Assurez-vous que le bug est reproductible sur d'autres machines et aussi de <strong>NE PAS</strong> signaler un bug si celui-ci a déjà été mentionné.",
duplicateReports: 'Les doublons de rapports de bug seront supprimés, alors gardez un œil sur cela.',
@ -60,7 +60,7 @@ const fr = {
newUI: `Si vous maîtrisez python, vous pouvez essayer de créer une nouvelle interface utilisateur pour l'application à l'aide de la bibliothèque de base, ou corriger des bugs dans la bibliothèque avec une requête sur le <a href="https://codeberg.org/RemixDev/deemix" target="_blank">répertoire de dépôt</a>.`,
acceptFeatures: "J'accepte également les fonctionnalités, mais pas de choses complexes, car elles peuvent être implémentées directement dans l'application et non dans la bibliothèque.",
otherLanguages: "Si vous maîtrisez un autre langage de programmation, vous pouvez essayer de transposer deemix dans d'autres langages de programmation !",
understandingCode: "Vous avez besoin d'aide pour comprendre le code ? Contactez simplement RemixDev sur Telegram ou Reddit.",
understandingCode: "Vous avez besoin d'aide pour comprendre le code ? Il suffit de contacter RemixDev sur Telegram ou Reddit.",
contributeWebUI: `Si vous vous y connaissez en Vue.js (JavaScript), HTML ou CSS vous pouvez contribuer à la <a href="https://codeberg.org/RemixDev/deemix-webui" target="_blank">WebUI</a>.`,
itsFree: "N'oubliez pas que <strong>ceci est un projet gratuit</strong> et que <strong>vous devez soutenir les artistes que vous appréciez</strong> avant de supporter les développeurs.",
notObligated: "Ne vous sentez pas obligé de faire un don, je vous apprécie quand même !",
@ -70,15 +70,15 @@ const fr = {
},
charts: {
title: 'Hit-Parade',
changeCountry: 'Changer de Pays',
download: 'Télécharger le Hit-Parade'
changeCountry: 'Changer De Pays',
download: 'Télécharger Le Hit-Parade'
},
errors: {
title: 'Erreurs pour {0}',
ids: {
invalidURL: "Cette URL n'est pas reconnue",
unsupportedURL: "Cette URL n'est pas supportée actuellement",
ISRCnotOnDeezer: "L'ISRC de la piste n'est pas disponible sur Deezer",
ISRCnotOnDeezer: "L'ISRC de la piste est indisponible 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 configurées correctement.',
trackNotOnDeezer: 'La piste est introuvable sur Deezer !',
@ -88,21 +88,21 @@ const fr = {
notEncodedNoAlternative: "La piste n'a pas encore été encodée et aucune alternative n'a été trouvée !",
wrongBitrate: 'La piste est introuvable au débit souhaité.',
wrongBitrateNoAlternative: "La piste est introuvable au débit souhaité et aucune alternative n'a été trouvée !",
no360RA: "La piste n'est pas disponible au format Reality Audio 360.",
no360RA: 'La piste est indisponible au format Reality Audio 360.',
notAvailable: 'La piste est indisponible sur les serveurs de Deezer !',
notAvailableNoAlternative: "La piste est indisponible sur les serveurs de Deezer et aucune alternative n'a été trouvée !"
}
},
favorites: {
title: 'Favoris',
noPlaylists: "Aucune playlist n'a été trouvée",
noAlbums: "Aucun album favori n'a été trouvé",
noArtists: "Aucun artiste favori n'a été trouvé",
noTracks: "Aucune piste favorite n'a été trouvée"
noPlaylists: "Aucune Playlist n'a été trouvée",
noAlbums: "Aucun Album Favori n'a été trouvé",
noArtists: "Aucun Artiste Favori n'a été trouvé",
noTracks: "Aucune Piste Favorite n'a été trouvée"
},
home: {
needTologin: 'Vous devez vous connecter à votre compte Deezer avant de pouvoir commencer le téléchargement.',
openSettings: 'Ouvrir les paramètres',
needTologin: 'Vous devez vous connecter à votre compte Deezer avant de pouvoir commencer les téléchargements.',
openSettings: 'Ouvrir Les Paramètres',
sections: {
popularPlaylists: 'Playlists populaires',
popularAlbums: 'Albums les plus diffusés'
@ -120,20 +120,20 @@ const fr = {
isrc: 'ISRC',
upc: 'UPC',
duration: 'Durée',
diskNumber: 'Numéro de disque',
trackNumber: 'Numéro de disque',
releaseDate: 'Date de parution',
diskNumber: 'Numéro De Disque',
trackNumber: 'Numéro De Disque',
releaseDate: 'Date De Parution',
bpm: 'BPM',
label: 'Label',
recordType: "Type d'enregistrement",
recordType: "Type d'Enregistrement",
genres: 'Genres',
tracklist: 'Liste des pistes'
tracklist: 'Liste Des Pistes'
}
},
search: {
startSearching: 'Commencer une recherche !',
description:
'Vous pouvez rechercher une piste, un album entier, un artiste, une playlist.... tout ! Vous pouvez également copier-coller un lien Deezer',
'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 n'a été trouvée",
@ -141,7 +141,7 @@ const fr = {
noResultsArtist: "Aucun artiste n'a été trouvé",
noResultsPlaylist: "Aucune playlist n'a été trouvée"
},
searchbar: 'Recherchez tout ce que vous voulez (ou copier-collez simplement un lien)',
searchbar: 'Recherchez tout ce que vous voulez (ou copiez-collez simplement un lien)',
downloads: 'téléchargements',
toasts: {
addedToQueue: "{0} ajouté à la file d'attente",
@ -178,7 +178,7 @@ const fr = {
slimDownloadTab: 'Onglet de téléchargement plus petit'
},
downloadPath: {
title: 'Emplacement de téléchargement'
title: 'Emplacement De Téléchargement'
},
templates: {
title: 'Gabarits',
@ -200,15 +200,15 @@ const fr = {
},
trackTitles: {
title: 'Titres de pistes',
padTracks: 'Pad tracks',
paddingSize: 'Écraser la taille du remplissage',
padTracks: "Longueur uniforme des numéros de piste (ajoute automatiquement des zéros devant le numéro initial de la piste)",
paddingSize: 'Nombre de zéros à ajouter en permanance devant le numéro initial de la piste',
illegalCharacterReplacer: 'Remplacement de caractère inapproprié'
},
downloads: {
title: 'Téléchargements',
queueConcurrency: 'Téléchargements Simultanés',
maxBitrate: {
title: 'Débit préféré',
title: 'Débit Préféré',
9: 'FLAC 1411kbps',
3: 'MP3 320kbps',
1: 'MP3 128kbps'
@ -216,21 +216,21 @@ const fr = {
overwriteFile: {
title: 'Dois-je écraser les fichiers ?',
y: 'Oui, écraser le fichier',
n: "Non, ne pas écraser le fichier",
n: 'Non, ne pas écraser le fichier',
t: 'Écraser uniquement les métadonnées'
},
fallbackBitrate: 'Débits plus faibles',
fallbackBitrate: 'Recours aux débits plus faibles',
fallbackSearch: 'Rechercher un débit plus faible',
logErrors: "Créer un fichier journal d'erreurs",
logSearched: 'Créer un fichier journal des pistes recherchées',
createM3U8File: 'Créer un fichier de playlist',
syncedLyrics: 'Créer des fichiers .lyr (Paroles Synchronisées)',
playlistFilenameTemplate: 'Gabarit du nom de fichier de la playlist',
saveDownloadQueue: "Enregistrer la file d'attente de téléchargement lors de la fermeture de l'application"
saveDownloadQueue: "Enregistrer la file d'attente de téléchargement à la fermeture de l'application"
},
covers: {
title: "Pochettes d'albums",
saveArtwork: 'Enregistrer les pochettes',
saveArtwork: 'Enregistrer Les Pochettes',
coverImageTemplate: 'Gabarit pour le nom de la pochette',
saveArtworkArtist: "Enregistrer l'image de l'artiste",
artistImageTemplate: "Gabarit pour le nom de l'image de l'artiste",
@ -249,32 +249,32 @@ const fr = {
title: 'Titre',
artist: 'Artiste',
album: 'Album',
cover: 'Reprise',
trackNumber: 'Numéro de piste',
trackTotal: 'Nombre de pistes',
discNumber: 'Numéro du disque',
discTotal: 'Nombre de disques',
albumArtist: "Artiste de l'album",
cover: 'Pochette',
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: 'Longueur de la piste',
barcode: "Code-barres de l'album (UPC)",
length: 'Longueur De La Piste',
barcode: "Code-Barres De l'Album (UPC)",
bpm: 'BPM',
replayGain: 'Gain en Relecture (Replay Gain)',
label: "Label de l'album",
lyrics: 'Paroles non-synchronisées',
copyright: "Droits d'auteur (copyright)",
replayGain: 'Gain En Relecture (Replay Gain)',
label: "Label De l'Album",
lyrics: 'Paroles Non-Synchronisées',
copyright: "Droits d'Auteur (Copyright)",
composer: 'Compositeur',
involvedPeople: 'Personnes impliquées'
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",
saveID3v1: 'Enregistrer également les métadonnées ID3v1',
multiArtistSeparator: {
title: 'Comment aimeriez-vous séparer les artistes ?',
nothing: "Enregistrer uniquement l'artiste principal",
@ -283,7 +283,7 @@ const fr = {
using: 'En utilisant "{0}"'
},
singleAlbumArtist: "Enregistrer uniquement l'artiste principal de l'album",
albumVariousArtists: `Conserver "Various Artists" dans les artistes de l'album`,
albumVariousArtists: `Conserver "Various Artists" dans les Artistes de l'Album`,
removeAlbumVersion: `Supprimer "Album Version" du titre de la piste`,
removeDuplicateArtists: "Supprimer les combinaisons d'artistes",
dateFormat: {

View File

@ -6,7 +6,7 @@ const pt = {
download: 'Transferir {0}',
by: 'por {0}',
in: 'em {0}',
download_hint: 'Descarregar',
download_hint: 'Transferir',
play_hint: 'Tocar',
toggle_download_tab_hint: 'Expandir/Recolher',
clean_queue_hint: 'Limpar Finalizados',
@ -71,7 +71,7 @@ const pt = {
charts: {
title: 'Tabelas',
changeCountry: 'Alterar país',
download: 'Descarregar tabela'
download: 'Transferir tabela'
},
errors: {
title: 'Erros para {0}',
@ -79,7 +79,7 @@ const pt = {
invalidURL: 'URL não reconhecido',
unsupportedURL: 'URL ainda não suportado',
ISRCnotOnDeezer: 'Faixa ISRC não disponível no deezer',
notYourPrivatePlaylist: "Nao podes baixar listas de reprodução privado dos outros.",
notYourPrivatePlaylist: "Nao podes baixar listas de reprodução privadas de outros.",
spotifyDisabled: 'Funcionalidades do Spotify não estão definidas corretamente.',
trackNotOnDeezer: 'Faixa não encontrada no deezer!',
albumNotOnDeezer: 'Álbum não encontrado no deezer!',
@ -123,7 +123,7 @@ const pt = {
releaseDate: 'Data de lançamento',
bpm: 'BPM',
label: 'Editora',
recordType: 'Tipo de Recorde',
recordType: 'Tipo de Disco',
genres: 'Géneros',
tracklist: 'Lista de faixas'
}
@ -166,7 +166,7 @@ const pt = {
loggedIn: 'Estás autenticado como {username}',
arl: {
question: 'Como obter o meu ARL?',
update: 'Atualizar ARL'
update: 'Actualizar ARL'
},
logout: 'Sair'
},
@ -175,7 +175,7 @@ const pt = {
slimDownloadTab: 'Aba de transferências estreita'
},
downloadPath: {
title: 'Caminho de transferências'
title: 'Caminho das transferências'
},
templates: {
title: 'Formatos',
@ -199,7 +199,7 @@ const pt = {
title: 'Título',
padTracks: 'Bloco de Faixas',
paddingSize: 'Substituir tamanho do preenchimento',
illegalCharacterReplacer: 'Substituir caractere inválidos'
illegalCharacterReplacer: 'Substituir caractere inválido'
},
downloads: {
title: 'Transferências',
@ -216,12 +216,12 @@ const pt = {
n: 'Não substituir o ficheiro',
t: 'Subescrever apenas as etiquetas'
},
fallbackBitrate: 'Reserva de taxa de bits',
fallbackSearch: 'reserva de pesquisa',
fallbackBitrate: 'Bitrate fallback',
fallbackSearch: 'Fallback de pesquisa',
logErrors: 'Criar histórico para erros',
logSearched: 'Criar histórico para faixas pesquisadas',
createM3U8File: 'Criar ficheiro de lista de reprodução',
syncedLyrics: 'Criar ficheiro .lyr (Letras Sincronizadas)',
syncedLyrics: 'Criar ficheiro .lyr (Letra Sincronizada)',
playlistFilenameTemplate: 'Formato do nome de ficheiro da lista de reprodução',
saveDownloadQueue: 'Guardar fila de transferências ao fechar a aplicação'
},
@ -234,10 +234,10 @@ const pt = {
localArtworkSize: 'Tamanho do trabalho artístico local',
embeddedArtworkSize: 'Tamanho do trabalho artístico incorporado',
localArtworkFormat: {
title: 'Que formato você deseja que o trabalho artístico local seja?',
jpg: 'Uma imagem jpeg',
png: 'Uma imagem png',
both: 'Os dois um jpeg e um png'
title: 'Em que formato desejas o trabalho artístico local?',
jpg: 'Em imagem jpeg',
png: 'Em imagem png',
both: 'Em jpeg e em png'
},
jpegImageQuality: 'Qualidade de imagem JPEG'
},
@ -260,16 +260,16 @@ const pt = {
length: 'Duração da faixa',
barcode: 'Código de barras do álbum (UPC)',
bpm: 'BPM',
replayGain: 'Ganho de Repeticao',
replayGain: 'ReplayGain',
label: 'Editora do álbum',
lyrics: 'Letra da música não sincronizado',
copyright: 'Direito Autoral',
lyrics: 'Letra da música não sincronizada',
copyright: 'Direitos de Autor',
composer: 'Compositor',
involvedPeople: 'Pessoas envolvidas'
},
other: {
title: 'Outros',
savePlaylistAsCompilation: 'Guardar a lista de reproducao como uma compilacao',
savePlaylistAsCompilation: 'Guardar listas de reprodução como compilação',
useNullSeparator: 'Usar separador nulo',
saveID3v1: 'Também guardar ID3v1',
multiArtistSeparator: {
@ -284,16 +284,16 @@ const pt = {
removeAlbumVersion: 'Remover "Album Version" do título da faixa',
removeDuplicateArtists: 'Remover combinação de artistas',
dateFormat: {
title: 'Formtado de data nos ficheiros FLAC',
title: 'Formato de data nos ficheiros FLAC',
year: 'AAAA',
month: 'MM',
day: 'DD'
},
featuredToTitle: {
title: 'O que devo fazer com os artistas em destaque?',
title: 'O que devo fazer com artistas convidados/participações?',
0: 'Nada',
1: 'Remover do título',
3: 'Remover do título de do título do album',
3: 'Remover do título e do título do album',
2: 'Movê-lo para o título'
},
titleCasing: 'Caixa do Título',
@ -301,11 +301,11 @@ const pt = {
casing: {
nothing: 'Manter inalterado',
lower: 'minusculas',
upper: 'MAIÙSCULAS',
start: 'Ínicio De Cada Palavra',
upper: 'MAIÚSCULAS',
start: 'Início De Cada Palavra',
sentence: 'Como uma frase'
},
previewVolume: 'Pre visualizacao do volume',
previewVolume: 'Volume de Pré-visualização',
executeCommand: {
title: 'Comando a executar após transferir',
description: 'Deixar em branco para nenhuma acção'
@ -317,7 +317,7 @@ const pt = {
clientSecret: 'Spotify Client Secret',
username: 'nome de utilizador Spotify'
},
reset: 'Restaurar para o padrao',
reset: 'Repor configurações padrão',
save: 'Guardar',
toasts: {
init: 'Configurações carregadas!',
@ -330,12 +330,12 @@ const pt = {
search: 'pesquisa',
charts: 'tabelas',
favorites: 'favoritos',
linkAnalyzer: 'Analizador de Links',
linkAnalyzer: 'analizador de links',
settings: 'definições',
about: 'sobre'
},
tracklist: {
downloadSelection: 'Descarregar seleccionados'
downloadSelection: 'Transferir seleccionados'
}
}

View File

@ -3,10 +3,10 @@ const ru = {
welcome: 'Добро пожаловать в deemix',
back: 'назад',
loading: 'загрузка',
download: 'Загрузить {0}',
download: 'Скачать {0}',
by: '{0}',
in: 'из {0}',
download_hint: 'Загрузить',
download_hint: 'Скачать',
play_hint: 'Прослушать',
toggle_download_tab_hint: 'Показать/Свернуть',
clean_queue_hint: 'Очистить завершённые',
@ -40,10 +40,10 @@ const ru = {
},
subtitles: {
bugReports: "Что-то не работает? Сообщите нам!",
contributing: 'Хотите внести свой вклад в развитие этого проекта? Это можно сделать разными способами!',
contributing: 'Хотите внести вклад в развитие этого проекта? Это можно сделать разными способами!',
donations: 'Хотите поддержать материально? Можно сделать пожертвование!'
},
usesLibrary: 'Приложение использует библиотеку <strong>deemix</strong>, с помощью которой вы можете разработать собственный UI deemix.',
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: 'Официальный сайт',
@ -57,21 +57,21 @@ const ru = {
duplicateReports: 'Повторные сообщения об ошибках рассматриваться не будут.',
dontOpenIssues: `<strong>НЕ</strong> используйте репозиторий для вопросов автору, для этого есть сабреддит.`,
newUI: `Если вы хорошо знаете python, то можете сделать новый UI для приложения с использованием базовой библиотеки или пофиксить в ней баги и сделать pull request в <a href="https://codeberg.org/RemixDev/deemix" target="_blank">репозитории</a>.`,
acceptFeatures: `Можете предлагать новые функции, но не слишком сложные, так как они будут добавлены в приложение, а не в саму библиотеку.`,
acceptFeatures: `Можете предложить новые функции, но не слишком сложные, так как они будут добавлены в приложение, а не в саму библиотеку.`,
otherLanguages: `Если вы хорошо знаете другой язык программирования, можете портировать на нём deemix!`,
understandingCode: `Не можете понять код? Свяжитесь с RemixDev в Telegram или на Reddit.`,
understandingCode: `Не можете разобраться в коде? Свяжитесь с RemixDev в 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>, а затем уже поддержать разработчиков.`,
itsFree: `Помните, что это <strong>бесплатное приложение</strong> и вам следует <strong>поддерживать понравившихся исполнителей</strong> прежде, чем поддерживать разработчиков.`,
notObligated: `Вы не обязаны делать пожертвования, я всё равно вас ценю!`,
lincensedUnder: `Проект выпускается под лицензией
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: 'Загрузить чарт'
changeCountry: 'Сменить страну',
download: 'Скачать чарт'
},
errors: {
title: 'Ошибки {0}',
@ -79,15 +79,15 @@ const ru = {
invalidURL: 'URL не распознан',
unsupportedURL: 'URL не поддерживается',
ISRCnotOnDeezer: 'ISRC данного трека недоступен на Deezer',
notYourPrivatePlaylist: "Вы не можете загружать чужие приватные плейлисты.",
notYourPrivatePlaylist: "Вы не можете скачивать чужие приватные плейлисты.",
spotifyDisabled: 'Неправильно настроены параметры Spotify.',
trackNotOnDeezer: 'Трек не найден на Deezer!',
albumNotOnDeezer: 'Альбом не найден на Deezer!',
notOnDeezer: 'Трек недоступен на Deezer!',
notEncoded: 'Трек ещё не перекодирован!',
notEncodedNoAlternative: 'Трек не перекодирован, альтернатив не найдено!',
wrongBitrate: ля данного трека нет нужного битрейта.',
wrongBitrateNoAlternative: ля данного трека нет нужного битрейта. Альтернатив не найдено!',
wrongBitrate: анного трека нет в нужном битрейте.',
wrongBitrateNoAlternative: анного трека нет в нужном битрейте. Альтернатив не найдено!',
no360RA: 'Трек недоступен в формате Reality Audio 360.',
notAvailable: "Трек недоступен на серверах Deezer!",
notAvailableNoAlternative: "Трек недоступен на серверах Deezer. Альтернатив не найдено!"
@ -101,7 +101,7 @@ const ru = {
noTracks: 'Избранные треки не найдены'
},
home: {
needTologin: 'Вам необходимо войти под своей учетной записью Deezer, прежде чем вы сможете начать скачивание.',
needTologin: 'Вам необходимо войти под своей учетной записью Deezer, прежде чем вы сможете скачивать.',
openSettings: 'Открыть настройки',
sections: {
popularPlaylists: 'Популярные плейлисты',
@ -109,7 +109,7 @@ const ru = {
}
},
linkAnalyzer: {
info: 'Используйте этот раздел, чтобы узнать информацию о ссылке, которую необходимо загрузить.',
info: 'Используйте этот раздел, чтобы узнать информацию о ссылке, которую требуется скачать.',
useful:
"Этот раздел нужен, если вы хотите загрузить треки, недоступные в вашей стране, а также посмотреть, где они доступны.",
linkNotSupported: 'Ссылка не поддерживается',
@ -153,12 +153,13 @@ const ru = {
alreadyLogged: 'Вход уже выполнен',
loginFailed: "Вход не выполнен",
loggedOut: 'Вы вышли из аккаунта',
cancellingCurrentItem: 'Отменена текущая загрузка.',
cancellingCurrentItem: 'Отмена текущей загрузки.',
currentItemCancelled: 'Отменено.',
startAddingArtist: 'Добавление альбомов {0} в очередь',
finishAddingArtist: 'Альбомы {0} добавлены в очередь',
startConvertingSpotifyPlaylist: 'Добавление плейлиста Spotify в очередь',
finishConvertingSpotifyPlaylist: 'Spotify плейлист добавлен в очередь'
finishConvertingSpotifyPlaylist: 'Spotify плейлист добавлен в очередь',
loginNeededToDownload: 'Войдите в аккаунт, чтобы скачивать треки!'
},
settings: {
title: 'Настройки',
@ -181,26 +182,26 @@ const ru = {
},
templates: {
title: 'Шаблоны',
tracknameTemplate: 'Шаблон названия синглов',
tracknameTemplate: 'Шаблон названия трека',
albumTracknameTemplate: 'Шаблон названия трека альбома',
playlistTracknameTemplate: 'Шаблон названия трека плейлиста'
},
folders: {
title: 'Папки',
createPlaylistFolder: 'Создать папки для плейлистов',
createPlaylistFolder: 'Создавать папки для плейлистов',
playlistNameTemplate: 'Название папки плейлиста',
createArtistFolder: 'Создать папки для исполнителя',
createArtistFolder: 'Создавать папки для исполнителя',
artistNameTemplate: 'Название папки исполнителя',
createAlbumFolder: 'Создать папки для альбома',
createAlbumFolder: 'Создавать папки для альбома',
albumNameTemplate: 'Название папки альбома',
createCDFolder: 'Создать папки для CD',
createStructurePlaylist: 'Создать структуру папок для плейлистов',
createSingleFolder: 'Создать структуру папок для синглов'
createCDFolder: 'Создавать папки для CD',
createStructurePlaylist: 'Создавать структуру папок для плейлистов',
createSingleFolder: 'Создавать структуру папок для синглов'
},
trackTitles: {
title: 'Названия треков',
padTracks: 'Добавить ноль к номерам треков (01, 02, ...)',
paddingSize: 'Кол-во добавленных нолей',
padTracks: 'Добавлять ноль к номерам треков (01, 02, ...)',
paddingSize: 'Кол-во цифр в номере',
illegalCharacterReplacer: 'Замена для запрещённых в имени символов'
},
downloads: {
@ -220,20 +221,20 @@ const ru = {
},
fallbackBitrate: 'Загружать с битрейтом ниже, если текущий недоступен',
fallbackSearch: 'Искать похожий трек, если запрашиваемый недоступен',
logErrors: 'Создать логи для ошибок',
logSearched: 'Создать лог поиска',
createM3U8File: 'Создать файлы плейлистов',
syncedLyrics: 'Создать .lyr файлы (Синхронизированный текст)',
playlistFilenameTemplate: 'Шаблон названия плейлистов',
logErrors: 'Сохранять логи ошибок',
logSearched: 'Сохранять лог истории поиска',
createM3U8File: 'Создавать файлы плейлистов',
syncedLyrics: 'Создать .lyr файлы (синхронизированная лирика)',
playlistFilenameTemplate: 'Шаблон названия плейлиста',
saveDownloadQueue: 'Сохранять текущую очередь загрузок при закрытии приложения'
},
covers: {
title: 'Обложки',
saveArtwork: 'Сохранять обложки файлом',
coverImageTemplate: 'Шаблон названия изображения',
saveArtworkArtist: 'Сохранять изображение исполнителя файлом',
saveArtwork: 'Сохранять файл обложки',
coverImageTemplate: 'Шаблон названия обложки',
saveArtworkArtist: 'Сохранять файл изображения исполнителя',
artistImageTemplate: 'Шаблон названия изображения',
localArtworkSize: 'Размер сохраненной обложки файлом',
localArtworkSize: 'Размер сохраненной обложки',
embeddedArtworkSize: 'Размер встроенной в теги обложки',
localArtworkFormat: {
title: 'В каком формате сохранять обложки?',
@ -257,23 +258,23 @@ const ru = {
genre: 'Жанр',
year: 'Год',
date: 'Дата',
explicit: 'Пометка о нецензурной лексике',
isrc: 'Идентиф. код трека (ISRC)',
explicit: 'Метка о нецензурной лексике',
isrc: 'Номер записи (ISRC)',
length: 'Продолжительность',
barcode: 'Идентиф. код альбома (UPC)',
barcode: 'Уникальный код альбома (UPC)',
bpm: 'BPM',
replayGain: 'Replay Gain',
label: 'Издатель',
lyrics: 'Текст песни',
copyright: 'Автор. права',
copyright: 'Права (копирайт)',
composer: 'Композитор',
involvedPeople: 'Вовлечённые люди'
},
other: {
title: 'Разное',
savePlaylistAsCompilation: 'Сохранить плейлисты как сборники',
useNullSeparator: 'Использовать нулевой символ в качестве разделителя',
saveID3v1: 'Дополнительно сохранять ID3v1',
savePlaylistAsCompilation: 'Сохранять плейлисты как сборники',
useNullSeparator: 'Использовать null в качестве разделителя',
saveID3v1: 'Сохранять ID3v1',
multiArtistSeparator: {
title: 'Как разделять несколько исполнителей?',
nothing: 'Сохранить только основного',
@ -292,7 +293,7 @@ const ru = {
day: 'ДД'
},
featuredToTitle: {
title: 'Что делать с "feat."?',
title: 'Что делать с приглашёнными исполнителями (feat.)?',
0: 'Ничего',
1: 'Удалить из названия трека',
3: 'Удалить из названия трека и альбома',
@ -314,7 +315,7 @@ const ru = {
}
},
spotify: {
title: 'Функции Spotify',
title: 'Настройки Spotify',
clientID: 'Spotify clientID',
clientSecret: 'Spotify Client Secret',
username: 'Spotify username'
@ -337,7 +338,7 @@ const ru = {
about: 'о проекте'
},
tracklist: {
downloadSelection: 'Загрузить выбранные'
downloadSelection: 'Скачать выбранные'
}
}