From 5a01275e6ce6bc0eee2b86f8f16bcec1d89898f1 Mon Sep 17 00:00:00 2001 From: LaurentHa Date: Sun, 30 Aug 2020 22:02:30 +0200 Subject: [PATCH] New French translation, reviewed and refined (August 30, 2020) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **New French translation, reviewed and refined (August 30, 2020)** Translation have been reviewed and refined. Some changes have been made by CoolYear9 on Reddit (https://www.reddit.com/r/deemix/comments/i00ejl/help_translate_deemixwebui/). Some of these changes have been retained and/or reworked and implemented in this version of this French translation. Explanations of the changes CoolYear9 mentioned in its message : -> Change of focalization and narrative perspective : discussed with the developer and preference was given to more "human" sentences for more comprehension by the user. -> Numerous grammatical mistakes : mistakes have been corrected or were correct. -> "Gabarit" was used to translate "Template" : changed, in fact, it's better to say "Modèle" in a music related software. -> Several "Englishes"/linguistics calques/loan translations : some of these words are used in the French version of Deezer's website and weren't changed. Others are officially accepted by the french language dictionary and have also been kept (all French-speaking countries must understand). -> Diachronic words, such as "piste" instead of "morceau" in order to translate "track" : many websites/apps still use this word (piste), then I've kept that term (still used in some MP3 tagging apps,...). --- src/lang/fr.js | 130 ++++++++++++++++++++++++------------------------- 1 file changed, 65 insertions(+), 65 deletions(-) diff --git a/src/lang/fr.js b/src/lang/fr.js index a518428..d404bc4 100644 --- a/src/lang/fr.js +++ b/src/lang/fr.js @@ -1,11 +1,11 @@ const fr = { globals: { - welcome: 'Bienvenue sur deemix', + welcome: 'Bienvenue dans deemix', back: 'retour', - loading: 'chargement', - download: 'Téléchargement {0}', + loading: 'chargement en cours', + download: 'Télécharger {0}', by: 'par {0}', - in: 'en {0}', + in: 'dans {0}', download_hint: 'Télécharger', play_hint: 'Lire', toggle_download_tab_hint: 'Développer/Réduire', @@ -28,14 +28,14 @@ const fr = { title: 'titre | titres', track: 'piste | pistes', trackN: '0 piste | {n} piste | {n} pistes', - releaseN: '0 parution | {n} parution | {n} parutions', + releaseN: '0 sortie | {n} sortie | {n} sorties', playlist: 'playlist | playlists', compile: 'compilation | compilations', ep: 'ep | eps', more: "Plus d'albums", featured: 'En vedette dans', spotifyPlaylist: 'playlist spotify | playlists spotify', - releaseDate: 'date de parution', + releaseDate: 'date de sortie', error: 'erreur' } }, @@ -48,45 +48,45 @@ const fr = { license: 'Licence' }, subtitles: { - bugReports: 'Y a-t-il quelque chose qui ne fonctionne pas dans deemix ? Dites-le nous !', + bugReports: 'Quelque chose ne fonctionne pas dans deemix ? Contactez-nous !', contributing: 'Vous souhaitez contribuer à ce projet ? Vous pouvez le faire de différentes manières !', donations: 'Vous souhaitez contribuer financièrement ? Vous pouvez faire un don !' }, usesLibrary: 'Cette application utilise la bibliothèque deemix, que vous pouvez exploiter afin de créer votre propre interface utilisateur pour deemix.', - thanks: "Merci à rtonno, uhwot et lollilol de m'avoir aidé dans ce projet ainsi qu'à BasCurtiz et scarvimane pour avoir réalisé l'icône.", - upToDate: 'Restez informé des mises à jour en suivant le canal de nouveautés sur Telegram.', + thanks: "Merci à rtonno, uhwot et lollilol de m'avoir aidé dans ce projet ainsi qu'à BasCurtiz et scarvimane pour la création de l'icône.", + upToDate: `Restez informé des mises à jour en suivant le canal d'informations sur Telegram.`, officialWebsite: 'Site Officiel', - officialRepo: 'Répertoire De Dépôt Officiel De La Bibiliothèque', + officialRepo: 'Répertoire De Dépôt Officiel De La Bibliothè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 subreddit. 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 NE PAS 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.', - dontOpenIssues: "NE PAS ouvrir un nouveau problème pour poser des questions, il existe un subreddit pour cela.", + newsChannel: "Canal d'Informations", + questions: `Si vous avez des questions ou des problèmes avec l'application, cherchez d'abord une solution dans le subreddit. Ensuite, si la solution ne s'y trouve pas, vous pouvez publier un message dans le subreddit en décrivant votre problème.`, + beforeReporting: "Avant de signaler un bug, assurez-vous que vous utilisez la version la plus récente de l'application. Vérifiez que vous souhaitez nous rapporter un bug et non quelque chose qui ne fonctionne pas de votre côté.", + beSure: "Assurez-vous que le bug soit reproductible sur d'autres appareils mais aussi de NE PAS signaler un bug si celui-ci a déjà été recensé.", + duplicateReports: "Les rapports de bug répétitifs seront supprimés, merci d'en prendre bonne note.", + dontOpenIssues: "NE PAS rapporter de problème s'il ne s'agit que de simples questions. Un subreddit existe pour ces questions.", 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 à l'aide d'une demande de fusion de branches (pull request) sur le répertoire de dépôt.`, - 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 !", + acceptFeatures: "J'accepte également les nouvelles fonctionnalités, mais pas de choses complexes, dans la mesure où 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 ce dernier !", 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 WebUI.`, - itsFree: "N'oubliez pas que ceci est un projet gratuit et que vous devez soutenir les artistes que vous appréciez avant de supporter les développeurs.", - notObligated: "Ne vous sentez pas obligé de faire un don, je vous apprécie quand même !", - lincensedUnder: `Ce projet est autorisé dans le cadre d'une - Licence publique générale GNU 3.0.` + contributeWebUI: `Si vous vous y connaissez en Vue.js (JavaScript), HTML ou CSS, vous pouvez contribuer à la WebUI.`, + itsFree: "N'oubliez pas que ce projet est libre et qu'il est important de soutenir vos artistes préférés avant de supporter les développeurs.", + notObligated: "Ne vous sentez pas obligé de faire un don, vous êtes tout de même apprécié !", + lincensedUnder: `Ce projet s'inscrit dans le cadre de la + Licence publique générale GNU, version 3.` }, charts: { - title: 'Hit-Parade', + title: 'Classements', changeCountry: 'Changer De Pays', - download: 'Télécharger Le Hit-Parade' + download: 'Télécharger Le Classement' }, errors: { title: 'Erreurs pour {0}', ids: { invalidURL: "Cette URL n'est pas reconnue", - unsupportedURL: "Cette URL n'est pas supportée actuellement", + unsupportedURL: "Cette URL n'est actuellement pas supportée", 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.", + notYourPrivatePlaylist: "Vous n'êtes pas autorisé à 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 !', albumNotOnDeezer: "L'album est introuvable sur Deezer !", @@ -108,16 +108,16 @@ const fr = { noTracks: "Aucune Piste Favorite n'a été trouvée" }, home: { - needTologin: 'Vous devez vous connecter à votre compte Deezer avant de pouvoir commencer les téléchargements.', + needTologin: 'Vous devez vous connecter à votre compte Deezer avant de pouvoir démarrer un téléchargement.', openSettings: 'Ouvrir Les Paramètres', sections: { popularPlaylists: 'Playlists populaires', - popularAlbums: 'Albums les plus diffusés' + popularAlbums: 'Albums les plus écoutés' } }, linkAnalyzer: { - info: "Vous pouvez utiliser cette section pour obtenir plus d'informations sur le lien que vous essayez de télécharger.", - 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.", + info: "Vous pouvez utiliser cette section pour obtenir davantage d'informations sur le lien que vous essayez de télécharger.", + useful: "C'est utile si vous essayez, par exemple, de télécharger des pistes indisponibles dans votre pays et que vous souhaitez savoir où elles sont disponibles.", linkNotSupported: "Ce lien n'est pas encore pris en charge", linkNotSupportedYet: "Il semble que ce lien ne soit pas encore pris en charge, essayez d'en analyser un autre.", table: { @@ -126,8 +126,8 @@ const fr = { upc: 'UPC', duration: 'Durée', diskNumber: 'Numéro De Disque', - trackNumber: 'Numéro De Disque', - releaseDate: 'Date De Parution', + trackNumber: 'Numéro De Piste', + releaseDate: 'Date De Sortie', bpm: 'BPM', label: 'Label', recordType: "Type d'Enregistrement", @@ -136,8 +136,8 @@ const fr = { } }, 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', + startSearching: 'Démarrer la recherche !', + description: 'Vous pouvez rechercher une piste, un album entier, un artiste, une playlist... tout ce que vous voulez ! Vous pouvez également copier-coller un lien Deezer', fans: '{0} fans', noResults: 'Aucun résultat', noResultsTrack: "Aucune piste n'a été trouvée", @@ -145,27 +145,27 @@ 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 copiez-collez simplement un lien)', + searchbar: 'Saisissez une requête (ou collez simplement un lien)', downloads: 'téléchargements', toasts: { restoringQueue: "Restauration de la file d'attente de téléchargement...", queueRestored: "La file d'attente de téléchargement a été restaurée !", addedToQueue: "{0} ajouté à la file d'attente", addedMoreToQueue: "{0} éléments ajoutés à la file d'attente", - alreadyInQueue: "{0} est déjà en file d'attente !", + alreadyInQueue: "{0} est déjà dans la file d'attente !", finishDownload: '{0} a été téléchargé.', allDownloaded: 'Tous les téléchargements sont terminés !', refreshFavs: 'Actualisation terminée !', - loggingIn: 'Connexion...', + loggingIn: 'Connexion en cours...', loggedIn: 'Connecté', alreadyLogged: 'Déjà connecté', loginFailed: 'Connexion impossible', loggedOut: 'Déconnecté', cancellingCurrentItem: "Annulation de l'élément actuel.", currentItemCancelled: 'Élément actuel annulé.', - startAddingArtist: "Ajout de {0} albums en file d'attente", - finishAddingArtist: "{0} albums ajoutés en file d'attente", - startConvertingSpotifyPlaylist: 'Conversion de pistes Spotify en pistes Deezer', + startAddingArtist: "Ajout de {0} albums à la file d'attente", + finishAddingArtist: "{0} albums ajoutés à la file d'attente", + startConvertingSpotifyPlaylist: 'Conversion de pistes Spotify en équivalents Deezer', finishConvertingSpotifyPlaylist: 'Playlist Spotify convertie', loginNeededToDownload: 'Vous devez vous connecter pour pouvoir télécharger des pistes !' }, @@ -176,40 +176,40 @@ const fr = { title: 'Connexion', loggedIn: 'Vous êtes connecté en tant que {username}', arl: { - question: 'Comment puis-je obtenir mon ARL personnel ?', + question: 'Comment obtenir mon ARL personnel ?', update: "Mettre à jour l'ARL" }, logout: 'Déconnexion' }, appearance: { title: 'Apparence', - slimDownloadTab: 'Onglet de téléchargement plus petit' + slimDownloadTab: 'Onglet de téléchargement compact' }, downloadPath: { title: 'Emplacement De Téléchargement' }, templates: { - title: 'Gabarits', - tracknameTemplate: 'Gabarit pour le nom de piste', - albumTracknameTemplate: "Gabarit pour le nom de piste de l'album", - playlistTracknameTemplate: 'Gabarit pour le nom de piste de la playlist' + title: 'Modèles', + tracknameTemplate: 'Modèle pour le nom de piste', + albumTracknameTemplate: "Modèle pour le nom de piste de l'album", + playlistTracknameTemplate: 'Modèle pour le nom de piste de la playlist' }, folders: { title: 'Dossiers', createPlaylistFolder: 'Générer des dossiers par playlist', - playlistNameTemplate: 'Gabarit pour le nom du dossier de playlist', + playlistNameTemplate: 'Modèle pour le nom du dossier de playlist', createArtistFolder: 'Générer des dossiers par artiste', - artistNameTemplate: "Gabarit pour le nom du dossier d'artiste", + artistNameTemplate: "Modèle pour le nom du dossier d'artiste", createAlbumFolder: 'Générer des dossiers par album', - albumNameTemplate: "Gabarit pour le nom du dossier d'album", + albumNameTemplate: "Modèle pour le nom du dossier d'album", createCDFolder: 'Générer des dossiers par CD', - createStructurePlaylist: 'Créer une structure de dossiers pour les playlists', - createSingleFolder: 'Créer une structure de dossiers pour les singles' + createStructurePlaylist: 'Générer une structure de dossiers pour les playlists', + createSingleFolder: 'Générer une structure de dossiers pour les singles' }, trackTitles: { - title: 'Titres de pistes', + title: 'Titres des pistes', 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', + paddingSize: 'Nombre de zéros à ajouter en permanence devant le numéro initial de la piste', illegalCharacterReplacer: 'Remplacement de caractère inapproprié' }, downloads: { @@ -222,30 +222,30 @@ const fr = { 1: 'MP3 128kbps' }, overwriteFile: { - title: 'Dois-je écraser les fichiers ?', + title: 'Faut-il écraser les fichiers ?', y: 'Oui, écraser le fichier', n: 'Non, ne pas écraser le fichier', t: 'Écraser uniquement les métadonnées', b: 'Non, conserver les deux fichiers et ajouter un numéro au doublon', e: "Non, et ne pas tenir compte de l'extension du fichier" }, - fallbackBitrate: "Recourir à des débits plus faibles si le débit préféré n'est pas disponible", + fallbackBitrate: "Recourir à un débit plus faible si le débit préféré n'est pas disponible", fallbackSearch: "Rechercher la piste si le lien original n'est pas disponible", 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', + playlistFilenameTemplate: 'Modèle du nom de fichier de la playlist', saveDownloadQueue: "Enregistrer la file d'attente de téléchargement à la fermeture de l'application" }, covers: { title: "Pochettes d'albums", saveArtwork: 'Enregistrer Les Pochettes', - coverImageTemplate: 'Gabarit pour le nom de la pochette', + coverImageTemplate: 'Modèle pour le nom de la pochette', saveArtworkArtist: "Enregistrer l'image de l'artiste", - artistImageTemplate: "Gabarit pour le nom de l'image de l'artiste", + artistImageTemplate: "Modèle pour le nom de l'image de l'artiste", localArtworkSize: "Taille de l'illustration locale", - embeddedArtworkSize: "Taille de l'illustration incorporée", + embeddedArtworkSize: "Taille de l'illustration incorporée aux fichiers audio", localArtworkFormat: { title: "Dans quel format souhaitez-vous l'illustration locale ?", jpg: 'Une image jpeg', @@ -253,9 +253,9 @@ const fr = { both: 'À la fois jpeg et png' }, jpegImageQuality: "Qualité de l'image JPEG", - embeddedArtworkPNG: "Enregistrer l'illustration incorporée en tant qu'image PNG", + embeddedArtworkPNG: "Enregistrer l'illustration incorporée aux fichiers audio en tant que PNG", embeddedPNGWarning: 'Les images PNG ne sont pas officiellement utilisées par Deezer et pourraient causer des problèmes', - imageSizeWarning: "Toute valeur supérieure à x1200 n'est pas officiellement utilisée par Deezer, vous pourriez donc rencontrer des problèmes" + imageSizeWarning: "Toute valeur supérieure à x1200 n'est pas officiellement supportée par Deezer, vous pourriez donc rencontrer des problèmes" }, tags: { head: 'Métadonnées à sauvegarder', @@ -286,7 +286,7 @@ const fr = { other: { title: 'Autre', savePlaylistAsCompilation: 'Enregistrer les playlists en tant que compilation', - useNullSeparator: 'Utiliser un séparateur nul', + useNullSeparator: 'Utiliser le caractère NULL comme séparateur', saveID3v1: 'Enregistrer également les métadonnées ID3v1', multiArtistSeparator: { title: 'Comment aimeriez-vous séparer les artistes ?', @@ -306,7 +306,7 @@ const fr = { day: 'JJ' }, featuredToTitle: { - title: 'Que dois-je faire avec les artistes participants (featuring) ?', + title: 'Que faut-il faire avec les artistes participants (featuring) ?', 0: 'Ne rien faire', 1: 'Les retirer du titre de la piste', 3: "Les supprimer du titre de la piste et du titre de l'album", @@ -344,7 +344,7 @@ const fr = { sidebar: { home: 'accueil', search: 'recherche', - charts: 'hit-parade', + charts: 'classements', favorites: 'favoris', linkAnalyzer: 'analyseur de liens', settings: 'paramètres',