diff --git a/client/strings/fr.json b/client/strings/fr.json
index ef5568ff4..1e81d94b6 100644
--- a/client/strings/fr.json
+++ b/client/strings/fr.json
@@ -28,6 +28,7 @@
"ButtonEdit": "Modifier",
"ButtonEditChapters": "Modifier les chapitres",
"ButtonEditPodcast": "Modifier les podcasts",
+ "ButtonEnable": "Activer",
"ButtonForceReScan": "Forcer une nouvelle analyse",
"ButtonFullPath": "Chemin complet",
"ButtonHide": "Cacher",
@@ -93,6 +94,7 @@
"ButtonStats": "Statistiques",
"ButtonSubmit": "Soumettre",
"ButtonTest": "Test",
+ "ButtonUnlinkOpedId": "Dissocier OpenID",
"ButtonUpload": "Téléverser",
"ButtonUploadBackup": "Téléverser une sauvegarde",
"ButtonUploadCover": "Téléverser une couverture",
@@ -105,6 +107,7 @@
"ErrorUploadFetchMetadataNoResults": "Impossible de récupérer les métadonnées - essayez de mettre à jour le titre et/ou l’auteur",
"ErrorUploadLacksTitle": "Doit avoir un titre",
"HeaderAccount": "Compte",
+ "HeaderAddCustomMetadataProvider": "Ajouter un fournisseur de métadonnées personnalisé",
"HeaderAdvanced": "Avancé",
"HeaderAppriseNotificationSettings": "Configuration des notifications Apprise",
"HeaderAudioTracks": "Pistes audio",
@@ -150,6 +153,7 @@
"HeaderMetadataToEmbed": "Métadonnées à intégrer",
"HeaderNewAccount": "Nouveau compte",
"HeaderNewLibrary": "Nouvelle bibliothèque",
+ "HeaderNotificationCreate": "Créer une notification",
"HeaderNotifications": "Notifications",
"HeaderOpenIDConnectAuthentication": "Authentification via OpenID Connect",
"HeaderOpenRSSFeed": "Ouvrir le flux RSS",
@@ -207,6 +211,7 @@
"LabelAddToPlaylist": "Ajouter à la liste de lecture",
"LabelAddToPlaylistBatch": "{0} éléments ajoutés à la liste de lecture",
"LabelAddedAt": "Date d’ajout",
+ "LabelAddedDate": "{0} ajoutés",
"LabelAdminUsersOnly": "Administrateurs uniquement",
"LabelAll": "Tout",
"LabelAllUsers": "Tous les utilisateurs",
@@ -297,6 +302,7 @@
"LabelEpisode": "Épisode",
"LabelEpisodeTitle": "Titre de l’épisode",
"LabelEpisodeType": "Type de l’épisode",
+ "LabelEpisodes": "Épisodes",
"LabelExample": "Exemple",
"LabelExpandSeries": "Développer la série",
"LabelExpandSubSeries": "Développer les sous-séries",
@@ -309,6 +315,7 @@
"LabelFile": "Fichier",
"LabelFileBirthtime": "Création du fichier",
"LabelFileModified": "Modification du fichier",
+ "LabelFileModifiedDate": "{0} modifiés",
"LabelFilename": "Nom de fichier",
"LabelFilterByUser": "Filtrer par utilisateur",
"LabelFindEpisodes": "Trouver des épisodes",
@@ -449,6 +456,7 @@
"LabelProvider": "Fournisseur",
"LabelPubDate": "Date de publication",
"LabelPublishYear": "Année de publication",
+ "LabelPublishedDate": "{0} publiés",
"LabelPublisher": "Éditeur",
"LabelPublishers": "Éditeurs",
"LabelRSSFeedCustomOwnerEmail": "Courriel du propriétaire personnalisé",
@@ -594,6 +602,7 @@
"LabelUnabridged": "Version intégrale",
"LabelUndo": "Annuler",
"LabelUnknown": "Inconnu",
+ "LabelUnknownPublishDate": "Date de publication inconnue",
"LabelUpdateCover": "Mettre à jour la couverture",
"LabelUpdateCoverHelp": "Autoriser la mise à jour de la couverture existante lorsqu’une correspondance est trouvée",
"LabelUpdateDetails": "Mettre à jours les détails",
@@ -642,16 +651,22 @@
"MessageCheckingCron": "Vérification du cron…",
"MessageConfirmCloseFeed": "Êtes-vous sûr de vouloir fermer ce flux ?",
"MessageConfirmDeleteBackup": "Êtes-vous sûr de vouloir supprimer la sauvegarde de « {0} » ?",
+ "MessageConfirmDeleteDevice": "Êtes-vous sûr de vouloir supprimer la liseuse « {0} » ?",
"MessageConfirmDeleteFile": "Cela supprimera le fichier de votre système de fichiers. Êtes-vous sûr ?",
"MessageConfirmDeleteLibrary": "Êtes-vous sûr de vouloir supprimer définitivement la bibliothèque « {0} » ?",
"MessageConfirmDeleteLibraryItem": "Cette opération supprimera l’élément de la base de données et de votre système de fichiers. Êtes-vous sûr ?",
"MessageConfirmDeleteLibraryItems": "Cette opération supprimera {0} éléments de la base de données et de votre système de fichiers. Êtes-vous sûr ?",
+ "MessageConfirmDeleteMetadataProvider": "Êtes-vous sûr de vouloir supprimer le fournisseur de métadonnées personnalisées « {0} » ?",
+ "MessageConfirmDeleteNotification": "Êtes-vous sûr de vouloir supprimer cette notification ?",
"MessageConfirmDeleteSession": "Êtes-vous sûr de vouloir supprimer cette session ?",
"MessageConfirmForceReScan": "Êtes-vous sûr de vouloir lancer une analyse forcée ?",
"MessageConfirmMarkAllEpisodesFinished": "Êtes-vous sûr de marquer tous les épisodes comme terminés ?",
"MessageConfirmMarkAllEpisodesNotFinished": "Êtes-vous sûr de vouloir marquer tous les épisodes comme non terminés ?",
+ "MessageConfirmMarkItemFinished": "Êtes-vous sûr de vouloir marquer \"{0}\" comme terminé ?",
+ "MessageConfirmMarkItemNotFinished": "Êtes-vous sûr de vouloir marquer \"{0}\" comme non terminé ?",
"MessageConfirmMarkSeriesFinished": "Êtes-vous sûr de vouloir marquer tous les livres de cette série comme terminées ?",
"MessageConfirmMarkSeriesNotFinished": "Êtes-vous sûr de vouloir marquer tous les livres de cette série comme non terminés ?",
+ "MessageConfirmNotificationTestTrigger": "Déclencher cette notification avec des données de test ?",
"MessageConfirmPurgeCache": "La purge du cache supprimera l’intégralité du répertoire à /metadata/cache.
Êtes-vous sûr de vouloir supprimer le répertoire de cache ?",
"MessageConfirmPurgeItemsCache": "Purger le cache des éléments supprimera l'ensemble du répertoire /metadata/cache/items.
Êtes-vous sûr ?",
"MessageConfirmQuickEmbed": "Attention ! L'intégration rapide ne permet pas de sauvegarder vos fichiers audio. Assurez-vous d’avoir effectuer une sauvegarde de vos fichiers audio.
Souhaitez-vous continuer ?",
@@ -670,7 +685,9 @@
"MessageConfirmRenameTag": "Êtes-vous sûr de vouloir renommer l’étiquette « {0} » en « {1} » pour tous les éléments ?",
"MessageConfirmRenameTagMergeNote": "Information : Cette étiquette existe déjà et sera fusionnée.",
"MessageConfirmRenameTagWarning": "Attention ! Une étiquette similaire avec une casse différente existe déjà « {0} ».",
+ "MessageConfirmResetProgress": "Êtes-vous sûr de vouloir réinitialiser votre progression ?",
"MessageConfirmSendEbookToDevice": "Êtes-vous sûr de vouloir envoyer {0} livre numérique « {1} » à l'appareil « {2} » ?",
+ "MessageConfirmUnlinkOpenId": "Êtes-vous sûr de vouloir dissocier cet utilisateur d’OpenID ?",
"MessageDownloadingEpisode": "Téléchargement de l’épisode",
"MessageDragFilesIntoTrackOrder": "Faites glisser les fichiers dans l’ordre correct des pistes",
"MessageEmbedFailed": "Échec de l’intégration !",
@@ -705,6 +722,7 @@
"MessageNoCollections": "Aucune collection",
"MessageNoCoversFound": "Aucune couverture trouvée",
"MessageNoDescription": "Aucune description",
+ "MessageNoDevices": "Aucun appareil",
"MessageNoDownloadsInProgress": "Aucun téléchargement en cours",
"MessageNoDownloadsQueued": "Aucun téléchargement en attente",
"MessageNoEpisodeMatchesFound": "Aucune correspondance d’épisode trouvée",
@@ -732,6 +750,7 @@
"MessagePauseChapter": "Suspendre la lecture du chapitre",
"MessagePlayChapter": "Écouter depuis le début du chapitre",
"MessagePlaylistCreateFromCollection": "Créer une liste de lecture depuis la collection",
+ "MessagePleaseWait": "Merci de patienter…",
"MessagePodcastHasNoRSSFeedForMatching": "Le Podcast n’a pas d’URL de flux RSS à utiliser pour la correspondance",
"MessageQuickMatchDescription": "Renseigne les détails manquants ainsi que la couverture avec la première correspondance de « {0} ». N’écrase pas les données présentes à moins que le paramètre « Préférer les Métadonnées par correspondance » soit activé.",
"MessageRemoveChapter": "Supprimer le chapitre",