mirror of
https://github.com/bookorbit/bookorbit.git
synced 2026-11-03 08:21:39 -06:00
c0759ea1bf
Keep sparse translated catalogs synchronized with reviewed Crowdin content. Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
11572 lines
609 KiB
JSON
11572 lines
609 KiB
JSON
{
|
||
"common": {
|
||
"resetSortAria": "Réinitialiser le tri par défaut",
|
||
"save": "Enregistrer",
|
||
"cancel": "Annuler",
|
||
"delete": "Supprimer",
|
||
"edit": "Modifier",
|
||
"close": "Fermer",
|
||
"confirm": "Confirmer",
|
||
"loading": "Chargement...",
|
||
"search": "Rechercher",
|
||
"back": "Retour",
|
||
"next": "Suivant",
|
||
"previous": "Précédent",
|
||
"retry": "Réessayer",
|
||
"yes": "Oui",
|
||
"no": "Non",
|
||
"show": "Afficher",
|
||
"hide": "Masquer",
|
||
"undo": "Annuler"
|
||
},
|
||
"settings": {
|
||
"privacySharing": {
|
||
"title": "Confidentialité et partage",
|
||
"subtitle": "Choisissez si les administrateurs peuvent consulter un récapitulatif de votre activité de lecture.",
|
||
"levelLegend": "Niveau de partage des statistiques de lecture",
|
||
"current": "Paramètre actuel",
|
||
"levels": {
|
||
"private": {
|
||
"title": "Privé",
|
||
"description": "Vous seul pouvez voir vos statistiques de lecture."
|
||
},
|
||
"summary": {
|
||
"title": "Partager le résumé",
|
||
"description": "Partager vos habitudes de lecture globales sans mentionner les titres des livres, auteurs, séries ou narrateurs."
|
||
},
|
||
"detailed": {
|
||
"title": "Partager vos statistiques détaillées",
|
||
"description": "Partager également les livres, auteurs, séries, genres et narrateurs récents et les mieux notés."
|
||
}
|
||
},
|
||
"fields": {
|
||
"frequency": "Fréquence de lecture et jours actifs",
|
||
"completion": "Inclure les livres commencés et terminés",
|
||
"formats": "Répartition des formats",
|
||
"genres": "Répartition des genres principaux",
|
||
"trend": "Tendance globale de lectures",
|
||
"books": "Titres des livres en cours, récents et les plus lus",
|
||
"authors": "Meilleurs auteurs",
|
||
"series": "Meilleures séries",
|
||
"narrators": "Meilleurs narrateurs"
|
||
},
|
||
"confirm": {
|
||
"shareTitle": "Activer {level} ?",
|
||
"shareDescription": "Les administrateurs autorisés pourront voir les informations suivantes.",
|
||
"stopTitle": "Arrêter de partager des informations sur la lecture ?",
|
||
"stopDescription": "L'accès administrateur sera immédiatement bloqué. Les enregistrements d'accès existants restent dans votre historique.",
|
||
"recordedNotice": "Chaque vue de profil d'administrateur est enregistrée et apparaît dans votre historique d'accès."
|
||
},
|
||
"preview": {
|
||
"title": "Prévisualisez votre profil partagé",
|
||
"description": "Consultez les informations actuellement disponibles pour les administrateurs autorisés.",
|
||
"action": "Charger l'aperçu",
|
||
"readingTime": "Temps de lecture",
|
||
"activeDays": "Journées actives",
|
||
"started": "Livres commencés",
|
||
"completed": "Livres terminés",
|
||
"topBooks": "Meilleurs livres"
|
||
},
|
||
"history": {
|
||
"title": "Historique d'accès au profil",
|
||
"description": "Vues récentes de l'administrateur de votre profil de lecture partagé.",
|
||
"empty": "Aucun administrateur n'a consulté votre profil de lecture partagé.",
|
||
"paginationLabel": "Pages d'historique d'accès au profil"
|
||
},
|
||
"durationMinutes": "{count, plural, one {# minute} other {# minutes} many {# minutes}}",
|
||
"durationHours": "{count, plural, one {# heure} other {# heures} many {# heures}}",
|
||
"unknownTitle": "Livre sans titre",
|
||
"errors": {
|
||
"load": "Échec du chargement des paramètres de partage.",
|
||
"save": "Échec de la mise à jour des paramètres de partage.",
|
||
"preview": "Échec du chargement de l'aperçu du profil partagé."
|
||
}
|
||
},
|
||
"appearance": {
|
||
"language": {
|
||
"title": "Langue",
|
||
"description": "Choisissez la langue utilisée dans l'interface.",
|
||
"label": "Langue de l'interface",
|
||
"loadError": "Échec du chargement de la langue sélectionnée",
|
||
"saveError": "Échec de l'enregistrement des préférences de langue"
|
||
},
|
||
"pageTitle": "Affichage",
|
||
"pageSubtitle": "Contrôlez les thèmes, les couvertures, la mise en page et la présentation de votre bibliothèque.",
|
||
"mobileSummary": "Thème : {theme} • Accent : {accent} • Arrière-plan : {background}",
|
||
"themeMode": {
|
||
"light": "Clair",
|
||
"dark": "Sombre",
|
||
"system": "Système"
|
||
},
|
||
"theme": {
|
||
"title": "Thème",
|
||
"colorScheme": {
|
||
"label": "Jeu de couleurs",
|
||
"hint": "Interface claire ou sombre"
|
||
},
|
||
"accents": {
|
||
"grey": "Gris",
|
||
"scarlet": "Écarlate",
|
||
"vermilion": "Vermillon",
|
||
"rose": "Rose",
|
||
"copper": "Cuivre",
|
||
"orange": "Orange",
|
||
"chartreuse": "Chartreuse",
|
||
"marigold": "Souci",
|
||
"wasabi": "Wasabi",
|
||
"amber": "Ambre",
|
||
"malachite": "Malachite",
|
||
"yellow": "Jaune",
|
||
"viridian": "Viridien",
|
||
"turquoise": "Turquoises",
|
||
"lime": "Vert citron",
|
||
"green": "Vert",
|
||
"acid-green": "Vert acide",
|
||
"emerald": "Émeraude",
|
||
"teal": "Sarcelle",
|
||
"electric-blue": "Bleu électrique",
|
||
"cyan": "Cyan",
|
||
"jade": "Jade",
|
||
"ultramarine": "Outremer",
|
||
"iris": "Iris",
|
||
"purple": "Violet",
|
||
"blue": "Bleu",
|
||
"indigo": "Indigo",
|
||
"violet": "Violette",
|
||
"amethyst": "Améthyste",
|
||
"fuchsia": "Fuchsia",
|
||
"raspberry": "Framboise",
|
||
"pink": "Rose",
|
||
"white": "Blanc",
|
||
"rosewater": "Eau de rose",
|
||
"salmon": "Saumon",
|
||
"coral": "Corail",
|
||
"sand": "Sable",
|
||
"peach": "Pêche",
|
||
"pear": "Poire",
|
||
"flax": "Lin",
|
||
"sprout": "Germer",
|
||
"butter": "Beurre",
|
||
"aloe": "Aloès",
|
||
"lemon": "Citron",
|
||
"foam": "Mousse",
|
||
"aqua": "Aqua",
|
||
"celadon": "Céladon",
|
||
"sage": "Sauge",
|
||
"pistachio": "Pistache",
|
||
"mint": "Menthe",
|
||
"seafoam": "Écume de mer",
|
||
"baby-blue": "Bleu bébé",
|
||
"powder": "Poudre",
|
||
"sea-glass": "Verre de mer",
|
||
"bluebell": "Jacinthe des bois",
|
||
"cornflower": "Bleuet",
|
||
"thistle": "Chardon",
|
||
"periwinkle": "Pervenche",
|
||
"wisteria": "Glycine",
|
||
"lavender": "Lavande",
|
||
"mauve": "Mauve",
|
||
"orchid": "Orchidée",
|
||
"rose-quartz": "Quartz rose",
|
||
"blush": "Fard à joues"
|
||
},
|
||
"accentColor": {
|
||
"label": "Couleur d'accentuation",
|
||
"hint": "Contrôle les points forts et les éléments interactifs"
|
||
},
|
||
"cornerRadius": {
|
||
"label": "Rayon d'angle",
|
||
"hint": "Rondeur des cartes et des éléments de l'interface utilisateur"
|
||
},
|
||
"surfaceBrightness": {
|
||
"label": "Luminosité des surfaces",
|
||
"hint": "Éclaircir les surfaces en mode sombre",
|
||
"reset": "Réinitialiser"
|
||
},
|
||
"libraryBackground": {
|
||
"title": "Contexte de la bibliothèque",
|
||
"pattern": {
|
||
"label": "Motif de fond",
|
||
"hint": "Motif affiché derrière la grille du livre"
|
||
}
|
||
},
|
||
"backgroundGroups": {
|
||
"fundamental": "Fondamental",
|
||
"structural": "Structurel",
|
||
"ambient": "Ambiante",
|
||
"refractive": "Réfractif"
|
||
}
|
||
},
|
||
"storage": {
|
||
"title": "Où enregistrer les préférences d'apparence",
|
||
"active": "Actif",
|
||
"notAvailable": "Non disponible",
|
||
"device": {
|
||
"title": "Cet appareil uniquement",
|
||
"description": "Les préférences restent dans votre navigateur. Idéal si vous souhaitez un look différent sur différents appareils."
|
||
},
|
||
"account": {
|
||
"title": "Mon compte",
|
||
"description": "Les préférences sont enregistrées sur votre compte. Idéal si vous souhaitez la même apparence sur chaque appareil."
|
||
},
|
||
"toasts": {
|
||
"synced": "Les préférences seront désormais synchronisées",
|
||
"local": "Les préférences resteront sur cet appareil"
|
||
},
|
||
"errors": {
|
||
"demoRestricted": "Le compte restreint à la démo ne peut pas changer le mode de stockage du thème",
|
||
"update": "Échec de la mise à jour du mode de stockage",
|
||
"generic": "Une erreur s'est produite lors de la mise à jour du mode de stockage"
|
||
}
|
||
},
|
||
"bookCovers": {
|
||
"title": "Couvertures de livres",
|
||
"coverSearch": {
|
||
"label": "Fournisseur de couverture par défaut",
|
||
"hint": "Choisissez la source sélectionnée lorsque la recherche de couverture en ligne s'ouvre. Enregistrée sur votre compte, elle s'applique à tous les appareils.",
|
||
"loadError": "Impossible de charger le fournisseur de couverture par défaut",
|
||
"saveError": "Impossible d'enregistrer le fournisseur de couverture par défaut"
|
||
},
|
||
"displayMode": {
|
||
"title": "Mode d'affichage de la couverture",
|
||
"hint": "Contrôle la manière dont les couvertures réelles s'insèrent dans les emplacements des livres lorsque les proportions diffèrent",
|
||
"blurredFit": {
|
||
"label": "Ajustement flou",
|
||
"hint": "Afficher la couverture complète avec un remplissage flou derrière"
|
||
},
|
||
"fillCrop": {
|
||
"label": "Remplir la carte",
|
||
"hint": "Remplissez tout l'emplacement en coupant les bords lorsque les proportions diffèrent"
|
||
},
|
||
"naturalBottom": {
|
||
"label": "Fond naturel",
|
||
"hint": "Conservez le rapport de couverture d'origine et ancrez la couverture au fond."
|
||
}
|
||
},
|
||
"spine": {
|
||
"title": "Superposition du dos du livre",
|
||
"hint": "Ajoute un dos stylisé et un effet brillant aux cartes de couverture.",
|
||
"off": {
|
||
"label": "Désactivé",
|
||
"hint": "Pas d'effet dos/brillant sur les couvertures"
|
||
},
|
||
"subtle": {
|
||
"label": "Subtil",
|
||
"hint": "Dos et brillance légers, plus proches de l'aspect par défaut"
|
||
},
|
||
"strong": {
|
||
"label": "Fort",
|
||
"hint": "Traitement du dos et du brillant plus prononcé"
|
||
}
|
||
},
|
||
"showSpineOnComics": {
|
||
"label": "Montrer le dos des bandes dessinées",
|
||
"hint": "Appliquer l'effet dos et brillant aux couvertures de bandes dessinées (cbz, cbr, cb7)"
|
||
},
|
||
"detailCoverTint": {
|
||
"title": "Teinte des détails du livre",
|
||
"hint": "Fondu de la couleur échantillonnée à partir de la couleur derrière l'illustration et le titre sur la page de détails du livre",
|
||
"off": {
|
||
"label": "Désactiver",
|
||
"hint": "Arrière-plan uni"
|
||
},
|
||
"single": {
|
||
"label": "Couleur unique",
|
||
"hint": "Couleur dominante de la couverture uniquement"
|
||
},
|
||
"duotone": {
|
||
"label": "Deux couleurs",
|
||
"hint": "Ajoute la couleur d'accentuation de la couverture lorsqu'elle est différente"
|
||
}
|
||
},
|
||
"shadow": {
|
||
"title": "Couvrir la force de l'ombre",
|
||
"hint": "Contrôle la profondeur sous les couvertures dans les vignettes de la grille, de la liste, du tableau et du tableau de bord",
|
||
"default": {
|
||
"label": "Par défaut",
|
||
"hint": "Altitude et profondeur actuelles"
|
||
},
|
||
"strong": {
|
||
"label": "Fort",
|
||
"hint": "Ombre portée plus lourde, semblable à une étagère, sous les couvertures"
|
||
}
|
||
},
|
||
"overlays": {
|
||
"title": "Superpositions de cartes",
|
||
"hint": "Choisissez les métadonnées affichées directement sur les cartes de couverture du livre",
|
||
"progressBar": {
|
||
"label": "Barre de progression",
|
||
"hint": "Fine ligne colorée le long du bord inférieur"
|
||
},
|
||
"format": {
|
||
"label": "Format de fichier",
|
||
"hint": "Badge à code couleur EPUB, PDF, CBZ en bas à droite"
|
||
},
|
||
"rating": {
|
||
"label": "Note",
|
||
"hint": "Indicateur de nombre d'étoiles en bas à gauche"
|
||
},
|
||
"readStatus": {
|
||
"label": "Statut de lecture",
|
||
"hint": "Icône de couleur affichant l'état de lecture actuel en haut à gauche"
|
||
},
|
||
"seriesPosition": {
|
||
"label": "Tome",
|
||
"hint": "Badge indiquant la position du livre dans sa série en haut à droite (p. ex. #3, #1,5)"
|
||
},
|
||
"lockStatus": {
|
||
"label": "Statut de verrouillage",
|
||
"hint": "Icône de verrouillage des métadonnées en haut à droite : orange lorsqu'elle est verrouillée, verte lorsqu'elle est déverrouillée"
|
||
}
|
||
}
|
||
},
|
||
"layout": {
|
||
"coverSize": "Taille de la couverture",
|
||
"gridSpacing": "Espacement des grilles",
|
||
"gridLayout": {
|
||
"title": "Disposition de la grille de la bibliothèque"
|
||
},
|
||
"coverSizeBehavior": {
|
||
"label": "Comportement de la taille de la couverture",
|
||
"hint": "Contrôlez si les tailles portrait/carré et l'espacement de la grille sont partagés dans toutes les vues ou conservés par vue.",
|
||
"perViewHint": "Mode par vue : ajustez la taille de la couverture et l'espacement à partir du panneau d'affichage de chaque vue.",
|
||
"syncAll": "Synchroniser toutes les vues",
|
||
"perView": "Tailles par vue"
|
||
},
|
||
"portraitCoverSize": {
|
||
"label": "Taille de la couverture en mode portrait",
|
||
"hint": "Utilisé pour les bibliothèques de portraits et les vues"
|
||
},
|
||
"squareCoverSize": {
|
||
"label": "Taille du couvercle carré",
|
||
"hint": "Utilisé pour les bibliothèques et les vues carrées"
|
||
},
|
||
"portraitGridSpacing": {
|
||
"label": "Espacement de la grille portrait",
|
||
"hint": "Écart entre les couvertures de portrait"
|
||
},
|
||
"squareGridSpacing": {
|
||
"label": "Espacement des grilles carrées",
|
||
"hint": "Espace entre les couvercles carrés"
|
||
},
|
||
"cardInfoMode": {
|
||
"label": "Mode informations sur la carte",
|
||
"hint": "Où afficher le titre du livre et l'auteur sur les cartes quadrillées",
|
||
"onHover": "En survol",
|
||
"belowCover": "Sous la couverture",
|
||
"off": "Désactivé"
|
||
},
|
||
"primaryCardLabel": {
|
||
"label": "Étiquette de la carte principale",
|
||
"hint": "Texte affiché sous chaque couverture de livre (première ligne)"
|
||
},
|
||
"secondaryCardLabel": {
|
||
"label": "Étiquette de carte secondaire",
|
||
"hint": "Texte supplémentaire sous l'étiquette principale (deuxième ligne)"
|
||
},
|
||
"labelField": {
|
||
"hidden": "Caché",
|
||
"bookTitle": "Titre du livre",
|
||
"seriesTitle": "Titre de la série",
|
||
"seriesTitlePosition": "Titre de la série + position",
|
||
"author": "Auteur"
|
||
},
|
||
"seriesDisplay": {
|
||
"title": "Affichage de la série",
|
||
"collapsedCover": {
|
||
"label": "Couverture de la série réduite",
|
||
"hint": "Choisissez la couverture à afficher lorsque les séries sont réduites dans la grille du livre"
|
||
},
|
||
"stack": "Pile",
|
||
"mosaic": "Mosaïque",
|
||
"first": "D'abord",
|
||
"latest": "Dernier",
|
||
"firstUnread": "Premier non lu"
|
||
},
|
||
"authorGrid": {
|
||
"title": "Grille des auteurs",
|
||
"coverSize": {
|
||
"label": "Taille de la couverture",
|
||
"hint": "Largeur des couvertures d'auteur dans la grille"
|
||
},
|
||
"coverShape": {
|
||
"label": "Forme de la couverture",
|
||
"hint": "Forme des couvertures d'auteur dans la grille"
|
||
},
|
||
"circle": "Cercle",
|
||
"square": "Carré"
|
||
},
|
||
"listTableViews": {
|
||
"title": "Vues de liste et de tableau"
|
||
},
|
||
"zebraStriping": {
|
||
"label": "Rayure zébrée",
|
||
"hint": "Alterner la couleur de fond des lignes pour parcourir le tableau plus facilement"
|
||
}
|
||
},
|
||
"behavior": {
|
||
"title": "Comportement de la bibliothèque",
|
||
"thumbnailClicks": {
|
||
"label": "Clics sur les vignettes",
|
||
"hint": "Choisissez ce qui se passe lors de l'ouverture d'un livre à partir des vues grille et liste",
|
||
"readFirst": "Lire d'abord",
|
||
"readFirstHint": "Ouvrir le lecteur lorsqu'un fichier lisible existe",
|
||
"openDetails": "Ouvrir les détails",
|
||
"openDetailsHint": "Accédez à la page de détails du livre à partir des vignettes de la grille et de la liste."
|
||
},
|
||
"filterPreview": {
|
||
"label": "Afficher l'aperçu du filtre par défaut",
|
||
"hint": "Développez le résumé du filtre et du tri actifs à l'ouverture d'une liste intelligente"
|
||
},
|
||
"collapseSeries": {
|
||
"label": "Réduire la série par défaut",
|
||
"hint": "Regroupez les livres de la même série sur une seule carte dans les vues de bibliothèque et de collection."
|
||
}
|
||
},
|
||
"icons": {
|
||
"title": "Icônes personnalisées",
|
||
"uploadIcons": "Envoyer des icônes",
|
||
"uploadedCount": "{count, plural, =0 {aucune icône envoyée} one {# icône envoyée} other {# icônes envoyées} many {# icônes envoyées}}",
|
||
"searchPlaceholder": "Icônes de recherche",
|
||
"sort": {
|
||
"newest": "Le plus récent",
|
||
"name": "Nom"
|
||
},
|
||
"selectedCount": "{count, plural, one {# icône sélectionnée} other {# icônes sélectionnées} many {# icônes sélectionnées}}",
|
||
"clear": "Effacer",
|
||
"deleteSelected": "Supprimer la sélection",
|
||
"loading": "Chargement des icônes...",
|
||
"emptySearch": "Aucune icône ne correspond à votre recherche.",
|
||
"emptyNoIcons": "Aucune icône personnalisée n'a encore été envoyée.",
|
||
"namePlaceholder": "Nom",
|
||
"checkingUsage": "Vérification de l'utilisation...",
|
||
"usedBy": "Utilisé par {count}",
|
||
"notUsedYet": "Pas encore utilisé",
|
||
"rename": "Renommer",
|
||
"replace": "Remplacer",
|
||
"usage": {
|
||
"libraries": "{count, plural, =0 {pas de bibliothèques} one {# bibliothèque} other {# bibliothèques} many {# bibliothèques}}",
|
||
"collections": "{count, plural, =0 {aucune collection} one {# collection} other {# collections} many {# collections}}",
|
||
"smartScopes": "{count, plural, =0 {aucune liste intelligente} one {# liste intelligente} other {# listes intelligentes} many {# listes intelligentes}}"
|
||
},
|
||
"confirm": {
|
||
"deleteOne": "Supprimer « {name} » ? Les utilisations existantes reviendront à leur icône par défaut.",
|
||
"deleteMany": "{count, plural, =0 {Ne supprimer aucune icône ?} one {Supprimer # icône ? Les utilisations existantes reviendront à leur icône par défaut.} other {Supprimer # icônes ? Les utilisations existantes reviendront à leur icône par défaut.} many {Supprimer # icônes ? Les utilisations existantes reviendront à leur icône par défaut.}}"
|
||
},
|
||
"toasts": {
|
||
"saved": "Icône enregistrée",
|
||
"updated": "Icône mise à jour",
|
||
"deleted": "Icône supprimée",
|
||
"bulkDeleted": "{count, plural, =0 {Aucune icône supprimée} one {Supprimé # icône} other {Supprimé # icônes} many {Supprimé # icônes}}",
|
||
"bulkDeletePartial": "{deleted} supprimé, {failed} a échoué"
|
||
},
|
||
"errors": {
|
||
"load": "Échec du chargement des icônes",
|
||
"save": "Échec de l'enregistrement de l'icône",
|
||
"replace": "Échec du remplacement de l'icône",
|
||
"delete": "Échec de la suppression de l'icône",
|
||
"bulkDelete": "Échec de la suppression des icônes"
|
||
}
|
||
},
|
||
"tabs": {
|
||
"theme": "Thème",
|
||
"book-covers": "Couvertures de livres",
|
||
"icons": "Icônes",
|
||
"layout": "Disposition",
|
||
"behavior": "Comportement",
|
||
"language": "Langue"
|
||
}
|
||
},
|
||
"account": {
|
||
"title": "Compte",
|
||
"subtitle": "Gérez les paramètres de votre profil personnel.",
|
||
"subtitleAll": "Gérez votre profil et vos préférences de notification.",
|
||
"tabs": {
|
||
"profile": "Profil",
|
||
"privacy": "Confidentialité et partage",
|
||
"notifications": "Notifications",
|
||
"restrictions": "Restrictions"
|
||
},
|
||
"demoRestricted": {
|
||
"cannotEdit": "Le compte restreint à la démo ne peut pas modifier les paramètres du compte",
|
||
"notice": "Compte restreint à la démo : la modification du profil, du mot de passe, de l'avatar et des identités liées est désactivée."
|
||
},
|
||
"feedback": {
|
||
"unsavedChanges": "Modifications non enregistrées",
|
||
"discard": "Abandonner"
|
||
},
|
||
"profile": {
|
||
"securityHeading": "Profil et sécurité",
|
||
"username": "Nom d'utilisateur",
|
||
"fullName": "Nom complet",
|
||
"email": "Courriel",
|
||
"emailHint": "Contactez un administrateur pour modifier votre adresse e-mail.",
|
||
"save": "Enregistrer le profil",
|
||
"saving": "Sauvegarde...",
|
||
"changePassword": "Changer le mot de passe",
|
||
"accountType": "Type de compte :",
|
||
"accountTypeOidc": "OIDC / SSO",
|
||
"accountTypeShared": "Partagé",
|
||
"accountTypeLocal": "Local",
|
||
"nameRequired": "Le nom est requis",
|
||
"updateFailed": "Échec de la mise à jour du profil",
|
||
"updated": "Profil mis à jour",
|
||
"usernameHint": "Votre nom d'utilisateur ne peut pas être modifié.",
|
||
"passwordHint": "Modifiez le mot de passe que vous utilisez pour vous connecter.",
|
||
"passwordHintOidc": "Votre mot de passe est géré par votre fournisseur d'identité.",
|
||
"passwordHintShared": "Les comptes partagés se connectent via un lien magique et n'ont pas de mot de passe."
|
||
},
|
||
"readingPreferences": {
|
||
"title": "Préférences de lecture",
|
||
"timezoneHint": "Le fuseau horaire sert aux succès liés à l'heure, comme Early Bird et All-nighter.",
|
||
"timezone": "Fuseau horaire",
|
||
"save": "Enregistrer les préférences",
|
||
"enableAchievements": "Activer les succès",
|
||
"enableAchievementsHint": "Suivez la progression des succès et affichez l'interface qui leur est liée. Gérez les notifications de succès séparément dans Notifications.",
|
||
"achievementsEnabled": "Succès activés",
|
||
"achievementsDisabled": "Succès désactivés",
|
||
"achievementsSaveFailed": "Échec de la mise à jour de la préférence des succès"
|
||
},
|
||
"preferences": {
|
||
"saveFailed": "Échec de l'enregistrement des préférences",
|
||
"saved": "Préférences enregistrées"
|
||
},
|
||
"avatar": {
|
||
"title": "Photo de profil",
|
||
"unknownUser": "Utilisateur inconnu",
|
||
"formatHint": "PNG/JPEG/WEBP jusqu'à {size} Mo",
|
||
"upload": "Envoyer une photo",
|
||
"replace": "Remplacer l'image",
|
||
"uploading": "Envoi en cours...",
|
||
"remove": "Supprimer l'image",
|
||
"removing": "Suppression...",
|
||
"updated": "Photo de profil mise à jour",
|
||
"uploadFailed": "Échec de l'envoi de la photo de profil",
|
||
"removed": "Photo de profil supprimée",
|
||
"removeFailed": "Échec de la suppression de la photo de profil",
|
||
"removeConfirm": {
|
||
"title": "Supprimer la photo de profil ?",
|
||
"description": "Votre avatar sera supprimé et remplacé par vos initiales.",
|
||
"confirm": "Supprimer"
|
||
}
|
||
},
|
||
"connectedAccounts": {
|
||
"title": "Comptes connectés",
|
||
"unlink": "Dissocier",
|
||
"unlinking": "Dissociation...",
|
||
"linkAdditional": "Associez des fournisseurs supplémentaires :",
|
||
"linkProvider": "Lier {provider}",
|
||
"redirecting": "Redirection...",
|
||
"noneConfigured": "Aucun fournisseur OIDC n'est configuré. Demandez à un administrateur de configurer le SSO.",
|
||
"linkStateFailed": "Échec de la génération de l'état du lien",
|
||
"startLinkFailed": "Échec du démarrage du lien OIDC",
|
||
"unlinkFailed": "Échec de la dissociation",
|
||
"unlinked": "Identité non liée",
|
||
"unlinkIdentityFailed": "Échec de la dissociation de l'identité",
|
||
"unlinkDialog": {
|
||
"title": "Dissocier l'identité {provider} ?",
|
||
"description": "Entrez votre mot de passe pour confirmer. Vous ne pourrez plus vous connecter avec ce fournisseur.",
|
||
"currentPassword": "Mot de passe actuel"
|
||
},
|
||
"description": "Connectez-vous avec un fournisseur d'identité externe lié à ce compte.",
|
||
"unlinkAria": "Dissocier {provider}"
|
||
},
|
||
"tour": {
|
||
"title": "Visite guidée",
|
||
"description": "Rejouez la procédure pas à pas qui met en évidence les principales fonctionnalités de l'application.",
|
||
"action": "Refaire le tour"
|
||
},
|
||
"restrictions": {
|
||
"none": {
|
||
"title": "Aucune restriction de contenu",
|
||
"description": "Votre compte a un accès complet à tout le contenu de vos bibliothèques attribuées."
|
||
},
|
||
"banner": "Votre compte est soumis à des restrictions de contenu appliquées par un administrateur. Certains livres peuvent ne pas vous être visibles.",
|
||
"allowedTags": {
|
||
"title": "Balises autorisées",
|
||
"description": "Seuls les livres comportant au moins une de ces balises vous sont présentés."
|
||
},
|
||
"blockedTags": {
|
||
"title": "Balises bloquées",
|
||
"description": "Les livres comportant l'une de ces balises vous sont masqués."
|
||
},
|
||
"allowedGenres": {
|
||
"title": "Genres autorisés",
|
||
"description": "Seuls les livres appartenant à au moins un de ces genres vous sont présentés."
|
||
},
|
||
"blockedGenres": {
|
||
"title": "Genres bloqués",
|
||
"description": "Les livres appartenant à l'un de ces genres vous sont cachés."
|
||
}
|
||
},
|
||
"groups": {
|
||
"profile": "Profil",
|
||
"preferences": "Préférences",
|
||
"security": "Sécurité et accès"
|
||
}
|
||
},
|
||
"magicLinks": {
|
||
"title": "Liens magiques",
|
||
"subtitle": "Créez des liens de connexion partageables pour les comptes partagés.",
|
||
"createLink": "Créer un lien",
|
||
"noSharedAccounts": "Aucun compte partagé trouvé",
|
||
"noSharedAccountsHint": "Créez d'abord un compte partagé à partir du {usersPage} pour générer des liens magiques.",
|
||
"activeLinks": "Liens actifs",
|
||
"inactiveLinks": "Liens inactifs",
|
||
"paused": "En pause",
|
||
"deletedUser": "Utilisateur supprimé",
|
||
"expiredPrefix": "Expiré ",
|
||
"never": "Aucune activité enregistrée",
|
||
"noExpiry": "Pas d'expiration",
|
||
"expired": "Expiré",
|
||
"expiresOn": "Expire {date}",
|
||
"revokedOn": "Révoqué {date}",
|
||
"expiredOn": "{date} expiré",
|
||
"usesCount": "{count, plural, =0 {aucune utilisation} one {une utilisation} other {# utilise} many {# utilise}}",
|
||
"copied": "Copié !",
|
||
"copyLink": "Copier le lien",
|
||
"pause": "Pause",
|
||
"resume": "Reprendre",
|
||
"revoke": "Révoquer",
|
||
"revoking": "Révoquer...",
|
||
"emptyState": "Aucun lien magique n'a encore été créé. Cliquez sur « {action} » pour générer une connexion partageable URL.",
|
||
"columns": {
|
||
"label": "Étiquette",
|
||
"account": "Compte",
|
||
"createdBy": "Créé par",
|
||
"expires": "Expire",
|
||
"uses": "Utilisations",
|
||
"created": "Créé",
|
||
"status": "Statut",
|
||
"totalUses": "Utilisations totales",
|
||
"actions": "Actions"
|
||
},
|
||
"createDialog": {
|
||
"title": "Créer un lien magique",
|
||
"description": "Générez une connexion partageable URL pour un compte partagé.",
|
||
"sharedAccount": "Compte partagé",
|
||
"selectAccount": "Sélectionnez un compte partagé",
|
||
"label": "Étiquette",
|
||
"labelPlaceholder": "par ex. Lien de démonstration pour la conférence",
|
||
"expiresAt": "Expire à",
|
||
"optional": "(facultatif)",
|
||
"create": "Créer",
|
||
"creating": "Création..."
|
||
},
|
||
"revokeDialog": {
|
||
"title": "Révoquer le lien magique ?",
|
||
"description": "Cela invalidera immédiatement le lien et mettra fin à toutes les sessions actives pour le compte lié."
|
||
},
|
||
"errors": {
|
||
"create": "Échec de la création",
|
||
"copy": "Échec de la copie du lien magique",
|
||
"update": "Échec de la mise à jour du lien magique",
|
||
"revoke": "Échec de la révocation"
|
||
},
|
||
"usersPage": "Page des utilisateurs",
|
||
"emptyTitle": "Aucun lien magique n'a encore été créé",
|
||
"emptyHint": "Cliquez sur « {action} » pour générer une connexion partageable URL.",
|
||
"noActiveTitle": "Aucun lien magique actif",
|
||
"noActiveHint": "Tous les liens magiques générés pour cette page ont expiré ou ont été révoqués.",
|
||
"copyLinkAria": "Copier le lien pour {label}",
|
||
"pauseAria": "Suspendre {label}",
|
||
"resumeAria": "Reprendre {label}",
|
||
"revokeAria": "Révoquer {label}",
|
||
"lastUsedLabel": "Dernière utilisation : {date}"
|
||
},
|
||
"oidc": {
|
||
"title": "OIDC / SSO",
|
||
"subtitle": "Gérez les fournisseurs OpenID Connect pour l'authentification unique.",
|
||
"providers": "Fournisseurs",
|
||
"addProvider": "Ajouter un fournisseur",
|
||
"editProvider": "Modifier le fournisseur",
|
||
"configureNew": "Configurez un nouveau fournisseur OIDC.",
|
||
"editing": "Modification de {slug}",
|
||
"enabled": "Activé",
|
||
"disabled": "Désactivé",
|
||
"empty": {
|
||
"title": "Aucun fournisseur pour l'instant",
|
||
"description": "Ajoutez un fournisseur OIDC pour activer l'authentification unique pour vos utilisateurs."
|
||
},
|
||
"form": {
|
||
"status": "Statut",
|
||
"enableProvider": "Activer le fournisseur",
|
||
"enableProviderHint": "Affichez ce fournisseur sur la page de connexion.",
|
||
"identity": "Identité du fournisseur",
|
||
"slug": "Slug",
|
||
"slugHint": "Identifiant unique (minuscules, tirets). Ne peut pas être modifié ultérieurement.",
|
||
"displayName": "Nom d'affichage",
|
||
"displayNameHint": "Affiché sur le bouton de connexion.",
|
||
"iconUrl": "Icône URL",
|
||
"iconUrlHint": "Logo facultatif affiché à côté du bouton de connexion.",
|
||
"iconPreviewAlt": "aperçu de l'icône",
|
||
"connection": "Connexion",
|
||
"issuerUri": "URI de l'émetteur",
|
||
"issuerUriHint": "L'URL de base du fournisseur.",
|
||
"test": "Tester",
|
||
"testing": "Test...",
|
||
"clientId": "Identifiant client",
|
||
"clientSecret": "Secret client",
|
||
"clientSecretPlaceholder": "Laisser vide pour conserver l'existant",
|
||
"scopes": "Scopes",
|
||
"claimMapping": "Mappage des claims",
|
||
"previewClaims": "Aperçu des claims",
|
||
"redirecting": "Redirection...",
|
||
"mappedClaims": "Claims mappés",
|
||
"rawClaims": "Claims bruts",
|
||
"usernameClaim": "Claim du nom d'utilisateur",
|
||
"nameClaim": "Claim du nom",
|
||
"emailClaim": "Claim de l'adresse e-mail",
|
||
"groupsClaim": "Claim des groupes",
|
||
"autoProvisioning": "Provisionnement automatique",
|
||
"autoProvisionUsers": "Provisionner automatiquement les utilisateurs",
|
||
"autoProvisionUsersHint": "Créez des comptes lors de la première connexion OIDC si l'utilisateur n'existe pas.",
|
||
"allowLocalLinking": "Autoriser l'association de comptes locaux",
|
||
"allowLocalLinkingHint": "Liez l'identité OIDC à un compte local existant par correspondance de nom d'utilisateur.",
|
||
"defaultPermissions": "Autorisations par défaut",
|
||
"defaultPermissionsHint": "Autorisations accordées aux nouveaux utilisateurs lors de la première connexion OIDC.",
|
||
"createProvider": "Créer un fournisseur",
|
||
"saveChanges": "Enregistrer les modifications",
|
||
"saving": "Sauvegarde...",
|
||
"deleteProvider": "Supprimer le fournisseur",
|
||
"deleting": "Suppression..."
|
||
},
|
||
"test": {
|
||
"connected": "Connecté - {issuer}",
|
||
"connectionFailed": "La connexion a échoué",
|
||
"privateIssuerAddress": "L'URL de l'émetteur résout à une adresse de réseau privé ou local, donc le serveur a refusé de se connecter. Définissez OIDC_ALLOW_LOCAL_ISSUERS=true sur le serveur BookOrbit pour l'autoriser.",
|
||
"tlsCertificateUntrusted": "BookOrbit n'a pas pu vérifier le certificat TLS du fournisseur OIDC. Si le fournisseur utilise une autorité de certification privée, montez son bundle CA PEM, définissez NODE_EXTRA_CA_CERTS sur le chemin du bundle dans le conteneur, puis redémarrez BookOrbit.",
|
||
"hide": "Masquer",
|
||
"details": "Détails",
|
||
"supported": "pris en charge",
|
||
"notSupported": "non pris en charge"
|
||
},
|
||
"groupMappings": {
|
||
"title": "Mappages de groupes",
|
||
"description": "Associez les claims de groupe OIDC aux autorisations BookOrbit. Ils sont synchronisés à chaque connexion.",
|
||
"noPermission": "Aucune autorisation",
|
||
"empty": "Aucun mappage de groupe configuré.",
|
||
"addMapping": "Ajouter un mappage",
|
||
"claimPlaceholder": "Claim de groupe OIDC (par exemple, administrateurs)",
|
||
"add": "Ajouter",
|
||
"adding": "Ajout..."
|
||
},
|
||
"toasts": {
|
||
"providerCreated": "Fournisseur créé",
|
||
"providerSaved": "Fournisseur enregistré",
|
||
"providerDeleted": "Fournisseur supprimé",
|
||
"mappingAdded": "Mappage de groupe ajouté",
|
||
"mappingRemoved": "Mappage de groupe supprimé"
|
||
},
|
||
"errors": {
|
||
"loadProvider": "Échec du chargement du fournisseur",
|
||
"createProvider": "Échec de la création du fournisseur",
|
||
"save": "Échec de l'enregistrement",
|
||
"delete": "Échec de la suppression",
|
||
"deleteProvider": "Échec de la suppression du fournisseur",
|
||
"requestFailed": "La demande a échoué",
|
||
"previewState": "Échec de la génération de l'état d'aperçu",
|
||
"startPreview": "Échec du démarrage de l'aperçu",
|
||
"addMapping": "Échec de l'ajout du mappage",
|
||
"removeMapping": "Échec de la suppression du mappage de groupe"
|
||
}
|
||
},
|
||
"admin": {
|
||
"title": "Administrateur",
|
||
"subtitle": "Gérez les utilisateurs et les paramètres d'authentification.",
|
||
"system": {
|
||
"title": "Système",
|
||
"subtitle": "Paramètres d'organisation, d'ingestion et de maintenance des fichiers."
|
||
},
|
||
"maintenance": {
|
||
"title": "Entretien",
|
||
"subtitle": "Gérez les tâches en arrière-plan, les index système et les opérations de maintenance.",
|
||
"importGroup": "Importer",
|
||
"recommendationsGroup": "Recommandations",
|
||
"achievementsGroup": "Succès",
|
||
"updatesGroup": "Mises à jour",
|
||
"importFromBooklore": "Importer depuis Booklore",
|
||
"bookloreImportConfigured": "Importation de livres configurée",
|
||
"importLibraryData": "Importer les données de la bibliothèque",
|
||
"migrationConfigured": "Source de migration configurée",
|
||
"migrationRunning": "Migration en cours",
|
||
"migrationCompleted": "Migration terminée",
|
||
"migrationFailed": "Échec de la migration",
|
||
"importDescription": "Importation unique de livres, de métadonnées et de progrès de lecture à partir d'une installation précédente de Booklore.",
|
||
"migrationDescription": "Importation unique de livres, de métadonnées et de progrès de lecture depuis une autre application de bibliothèque.",
|
||
"configuredDescription": "Source : {name}. Aucune migration n'a encore été effectuée : poursuivez l'installation pour exécuter l'importation.",
|
||
"runningDescription": "Étape : {stage} - commencée {started}",
|
||
"completedDescription": "De {name} à {date} terminé",
|
||
"migrationErrorGeneric": "Une erreur s'est produite lors de la migration.",
|
||
"stageInitializing": "initialisation",
|
||
"recently": "récemment",
|
||
"getStarted": "Commencer",
|
||
"continueSetup": "Continuer la configuration",
|
||
"viewDetails": "Afficher les détails",
|
||
"refreshRecommendationIndex": "Actualiser l'index des recommandations",
|
||
"refreshRecommendationHint": "Mettez à jour le moteur de recommandations avec les dernières modifications de votre bibliothèque. Ce processus s'exécute en arrière-plan.",
|
||
"booksQueuedForProcessing": "{count, plural, =0 {aucun livre en attente de traitement} one {# livre en attente de traitement} other {# livres en attente de traitement} many {# livres en attente de traitement}}",
|
||
"run": "Courir",
|
||
"running": "Courir...",
|
||
"backfillAchievements": "Remplir les succès rétroactivement",
|
||
"backfillAchievementsHint": "Réévaluez les succès de tous les utilisateurs.",
|
||
"backfillResult": "Utilisateurs {users} traités ; a reçu {awards} récompenses.",
|
||
"runBackfill": "Exécuter le remplissage",
|
||
"checkForUpdates": "Vérifier les mises à jour",
|
||
"checkForUpdatesHint": "Recherchez automatiquement une nouvelle version sur GitHub au démarrage et affichez un indicateur dans la barre latérale lorsqu'elle est disponible.",
|
||
"updateChecksEnabled": "Vérifications de mise à jour activées",
|
||
"updateChecksDisabled": "Vérifications de mise à jour désactivées",
|
||
"updateSettingFailed": "Échec de la mise à jour du paramètre",
|
||
"booksQueuedForEmbedding": "{count, plural, =0 {aucun livre en attente d'intégration} one {# livre en attente d'intégration} other {# livres en attente d'intégration} many {# livres en attente d'intégration}}",
|
||
"failed": "Échec",
|
||
"unknownError": "Erreur inconnue",
|
||
"rebuildEmbeddingsFailed": "Échec de la reconstruction des intégrations : {error}",
|
||
"achievementBackfillConfirm": "Exécuter le remplissage rétroactif pour tous les succès de tous les utilisateurs ? Cela peut prendre du temps.",
|
||
"achievementBackfillComplete": "Remplissage des succès terminé : {count} récompenses accordées",
|
||
"backfillRunFailed": "Échec de l'exécution du remplissage",
|
||
"achievementBackfillFailed": "Échec du remplissage des succès : {error}",
|
||
"uploadsGroup": "Envois",
|
||
"maxUploadSize": "Limite maximale de taille de fichier d'envoi",
|
||
"maxUploadSizeHint": "Configurez la limite de taille maximale pour les envois de fichiers sur l'ensemble du système.",
|
||
"save": "Enregistrer",
|
||
"uploadSizeInvalid": "La limite de taille d'envoi doit être supérieure à 0",
|
||
"uploadSizeUpdated": "Limite de taille d'envoi mise à jour"
|
||
},
|
||
"migration": {
|
||
"title": "Migrations",
|
||
"subtitle": "Importation unique de Booklore : connectez la source, cartographiez les utilisateurs, effectuez une exécution à sec, démarrez la migration et exportez un rapport.",
|
||
"genericSubtitle": "Importation unique de la bibliothèque : connecter une source, associer les utilisateurs, effectuer un test, lancer la migration et exporter un rapport.",
|
||
"progress": "Progression",
|
||
"stepSourceConnection": "Connexion source",
|
||
"stepUserPathMapping": "Cartographie des utilisateurs et des chemins",
|
||
"stepDryRun": "Simulation",
|
||
"stepDryRunTitle": "Simulation",
|
||
"stepRunMigration": "Exécuter la migration",
|
||
"stepReport": "Rapport",
|
||
"stepReportTitle": "Rapport de migration",
|
||
"subtitleSource": "Configurez la connexion à la base de données à votre instance Booklore source.",
|
||
"genericSubtitleSource": "Configurez la connexion à votre application de bibliothèque source.",
|
||
"subtitleMappings": "Mappez les utilisateurs source avec les utilisateurs cibles et traduisez les chemins de fichiers.",
|
||
"subtitleDryRun": "Prévisualisez ce qui sera importé avant d'exécuter la migration en direct.",
|
||
"subtitleRun": "Démarrez l'importation en direct et suivez sa progression.",
|
||
"subtitleReport": "Vérifiez ce qui a été importé et exportez un rapport détaillé.",
|
||
"continueToMappings": "Continuer vers les mappages",
|
||
"continueToDryRun": "Continuer vers la simulation",
|
||
"continueToMigration": "Continuer vers la migration",
|
||
"viewReport": "Afficher le rapport",
|
||
"badgeValidated": "Validé",
|
||
"badgeSaved": "Enregistré",
|
||
"badgeUpToDate": "À jour",
|
||
"badgeCompleted": "Terminé",
|
||
"badgeRunning": "Courir",
|
||
"badgeFailed": "Échec",
|
||
"mediaPathRequired": "Obligatoire pour la migration des couvertures de livres.",
|
||
"mediaPathAbsolute": "Utilisez un chemin absolu (par exemple : /books). Les chemins relatifs ne sont pas pris en charge.",
|
||
"mediaPathConfigured": "Chemin d'importation de couverture configuré. Utilisez Test Connection pour vérifier l'accès et la structure des dossiers d'images Booklore.",
|
||
"issueSaveSource": "Enregistrer les paramètres de connexion source",
|
||
"issueValidateSource": "Valider la connexion source",
|
||
"issueSaveMappings": "Enregistrer les mappages d'utilisateurs et de chemins",
|
||
"issueSavePathMappings": "Enregistrez les mappages de chemin pour les valider",
|
||
"issueFreshDryRun": "Exécutez un nouvel essai à sec",
|
||
"issueResolveDuplicates": "Résoudre les correspondances de livres cibles en double lors de l'essai à sec",
|
||
"issueWaitActiveRun": "Attendez la fin de l'exécution active",
|
||
"sourceRecordId": "ID de l'enregistrement source #{id}",
|
||
"byAuthorWithId": "par {author} (ID : {id})",
|
||
"filePathWithId": "{path} (ID : {id})",
|
||
"bookloreSourceId": "ID de la source du livre : {id}",
|
||
"libraryBookNum": "Livre de bibliothèque #{id}",
|
||
"errorInitialize": "Échec de l'initialisation des paramètres de migration",
|
||
"errorLoadSourceTypes": "Échec du chargement des types de sources de migration pris en charge",
|
||
"errorLoadTargetUsers": "Échec du chargement des utilisateurs cibles",
|
||
"errorLoadLibraryFolders": "Échec du chargement des dossiers de la bibliothèque cible",
|
||
"noSourceUsersReturned": "Aucun utilisateur source n'a été renvoyé",
|
||
"userMappingSuggestionsLoaded": "Suggestions de mappage utilisateur chargées",
|
||
"errorLoadSuggestions": "Échec du chargement des suggestions de mappage utilisateur",
|
||
"requiredFields": "L'hôte, l'utilisateur, la base de données et le nom de la source sont requis",
|
||
"connectionTestPassedWithWarnings": "Test de connexion réussi avec avertissements",
|
||
"connectionTestPassedWithCount": "Test de connexion réussi. Nombre d'avertissements : {count}. Premier : {first}",
|
||
"connectionTestPassed": "Test de connexion réussi",
|
||
"connectionOkMissingTables": "Connexion établie, mais nombre de tables requises manquantes : {count}",
|
||
"cannotTestMediaPathActiveRun": "Impossible de tester le chemin du support lorsqu'une exécution est active",
|
||
"mediaRootPathRequiredCover": "Le chemin racine du média est requis pour l'importation de la couverture.",
|
||
"useAbsolutePath": "Utilisez un chemin absolu (par exemple : /books).",
|
||
"mediaPathVerified": "Chemin du média vérifié.",
|
||
"mediaPathValidReadable": "Le chemin du média est valide et lisible",
|
||
"mediaPathValidationFailed": "La validation du chemin du média a échoué.",
|
||
"connectionFailedBeforeMediaPath": "Le test de connexion a échoué avant que la validation du chemin du support ne puisse être terminée.",
|
||
"cannotModifySourceActiveRun": "Impossible de modifier la source lorsqu'une exécution est active",
|
||
"sourceSavedValidatedWarnings": "Source enregistrée et validée. Nombre d'avertissements : {count}",
|
||
"sourceSavedValidated": "Source enregistrée et validée",
|
||
"errorSaveValidateSource": "Échec de l'enregistrement ou de la validation de la source",
|
||
"cannotSaveMappingsActiveRun": "Impossible d'enregistrer les mappages lorsqu'une exécution est active",
|
||
"saveSourceFirst": "Enregistrez d'abord la source",
|
||
"mapAtLeastOneUser": "Mapper au moins un utilisateur source à un utilisateur cible",
|
||
"mapEveryUser": "Mappez chaque utilisateur source avant de l'enregistrer",
|
||
"pathValidationFailedProfileSaved": "La validation du chemin a échoué, mais le profil sera toujours enregistré",
|
||
"mappingsSaved": "Mappages enregistrés",
|
||
"errorSaveMappings": "Échec de l'enregistrement des mappages",
|
||
"cannotRunDryRunActiveRun": "Impossible d'exécuter un essai à blanc lorsqu'une exécution est active",
|
||
"saveMappingsFirst": "Enregistrez d'abord les mappages",
|
||
"dryRunCompleted": "Simulation terminée : {matched} correspondances, {unresolved} non résolues",
|
||
"dryRunFailed": "Échec de l'essai à sec",
|
||
"selectSourceForAllGroups": "Sélectionnez un livre source pour tous les {count} groupes en double",
|
||
"duplicatesResolved": "Correspondances en double résolues",
|
||
"errorResolveDuplicates": "Échec de la résolution des doublons",
|
||
"preflightNotReady": "Le contrôle en amont de la migration n'est pas prêt",
|
||
"runDryRunFirst": "Exécutez d'abord un essai à sec",
|
||
"runStarted": "La migration a démarré",
|
||
"errorStartMigration": "Échec du démarrage de la migration",
|
||
"runCancelled": "Exécution de migration annulée",
|
||
"errorCancelMigration": "Échec de l'annulation de la migration",
|
||
"runRetried": "Nouvelle tentative d'exécution de migration – reprise à partir de la dernière étape terminée",
|
||
"errorRetryMigration": "Échec de la nouvelle tentative de migration",
|
||
"errorLoadRunProgress": "Échec du chargement de la progression de l'exécution",
|
||
"startMigrationFirst": "Commencer la migration en premier",
|
||
"reportRefreshed": "Exécuter le rapport actualisé",
|
||
"errorLoadReport": "Échec du chargement du rapport d'exécution",
|
||
"reportExported": "Rapport exporté sous {format}",
|
||
"errorExportReport": "Échec de l'exportation du rapport de migration",
|
||
"reasonNoTitleAuthorMatch": "Aucun livre correspondant trouvé par titre ou par auteur",
|
||
"reasonNoFilePathMatch": "Le chemin du fichier ne correspond à aucun livre de cette bibliothèque",
|
||
"reasonNoFileHashMatch": "Le hachage du fichier ne correspond à aucun livre de cette bibliothèque",
|
||
"reasonNoIsbnMatch": "ISBN ne correspond à aucun livre de cette bibliothèque",
|
||
"reasonNoAsinMatch": "L'ASIN ne correspond à aucun livre de cette bibliothèque",
|
||
"reasonInsufficientSourceData": "Pas assez de métadonnées pour tenter une correspondance",
|
||
"reasonAmbiguousIsbnMatch": "Plusieurs livres correspondent au même ISBN",
|
||
"reasonAmbiguousAsinMatch": "Plusieurs livres correspondent au même ASIN",
|
||
"reasonAmbiguousFileHashMatch": "Plusieurs livres correspondaient au même hachage de fichier",
|
||
"reasonAmbiguousFilePathMatch": "Plusieurs livres correspondaient au même chemin de fichier",
|
||
"reasonAmbiguousTitleAuthorMatch": "Plusieurs livres correspondaient au même titre et au même auteur",
|
||
"reasonUnknown": "Impossible de déterminer la raison",
|
||
"strategyIsbn": "Correspondant à ISBN",
|
||
"strategyAsin": "Correspondance par ASIN",
|
||
"strategyFileHash": "Correspondance par hachage de fichier",
|
||
"strategyPathMapping": "Correspondant au chemin du fichier mappé",
|
||
"strategyTitleAuthor": "Assorti par titre et auteur",
|
||
"strategyUnavailable": "Stratégie de correspondance indisponible",
|
||
"userPreviewCounts": "Statuts {statuses}, entrées de progression {progress}, signets {bookmarks}, annotations {annotations}, entrées de collection {collections}",
|
||
"connErrorUnreachable": "Impossible d'atteindre le serveur de base de données. Vérifiez l'hôte et le port.",
|
||
"connErrorAuth": "L'authentification a échoué. Vérifiez le nom d'utilisateur et le mot de passe.",
|
||
"connErrorUnknownDatabase": "Base de données introuvable. Vérifiez le nom de la base de données.",
|
||
"connErrorTimeout": "La connexion a expiré. Vérifiez les paramètres de l'hôte et du pare-feu.",
|
||
"connErrorGeneric": "Le test de connexion a échoué",
|
||
"sourceType": "Type de source",
|
||
"sourceName": "Nom de la source",
|
||
"host": "Hôte",
|
||
"port": "Port",
|
||
"user": "Utilisateur",
|
||
"password": "Mot de passe",
|
||
"passwordSavedPlaceholder": "Enregistré - laisser inchangé",
|
||
"passwordEmptyPlaceholder": "Aucun mot de passe défini",
|
||
"database": "Base de données",
|
||
"mediaRootPath": "Chemin racine du média",
|
||
"pathOk": "Chemin OK",
|
||
"pathIssue": "Problème de chemin",
|
||
"testPath": "Chemin de test",
|
||
"useTls": "Utiliser TLS/SSL",
|
||
"testConnection": "Tester la connexion",
|
||
"saveAndValidate": "Enregistrer et valider",
|
||
"sourceValidatedWithWarnings": "Source validée avec avertissements",
|
||
"lastValidationSnapshot": "Dernier instantané de validation",
|
||
"sourceVersion": "Version source : {version}",
|
||
"unknown": "Inconnu",
|
||
"missingRequiredTables": "Tables obligatoires manquantes : {tables}",
|
||
"suggestionsAutoLoad": "Les suggestions des utilisateurs se chargent automatiquement après validation de la source.",
|
||
"refresh": "Actualiser",
|
||
"sourceUser": "Utilisateur source",
|
||
"targetUser": "Utilisateur cible",
|
||
"doNotImport": "Ne pas importer cet utilisateur",
|
||
"noSourceUsersLoaded": "Aucun utilisateur source n'a encore été chargé.",
|
||
"noActiveTargetUsers": "Aucun utilisateur cible actif trouvé. Créez ou réactivez un utilisateur BookOrbit avant le mappage.",
|
||
"pathPrefixMappings": "Mappages de préfixes de chemin",
|
||
"addMapping": "Ajouter un mappage",
|
||
"pathMappingsHelp1": "Les mappages de chemin traduisent les chemins des fichiers source en chemins cibles afin que les livres puissent être mis en correspondance par emplacement de fichier. Par exemple, si votre bibliothèque Booklore stockait des fichiers sous",
|
||
"pathMappingsHelp2": "et les mêmes fichiers vivent maintenant sous",
|
||
"pathMappingsHelp3": ", ajoutez ce mappage ici. Les livres correspondent également à ISBN, au hachage de fichier et au titre/auteur, quels que soient les mappages de chemin. Le mappage de chemin n'est qu'une des quatre stratégies et ne limite pas les livres sources inclus dans la migration.",
|
||
"noPrefixesFound": "Aucun préfixe trouvé - validez d'abord la source",
|
||
"selectSourcePrefix": "Sélectionnez le préfixe source...",
|
||
"selectTargetFolder": "Sélectionnez le dossier cible...",
|
||
"remove": "Supprimer",
|
||
"pathValidation": "Validation du chemin",
|
||
"pathValidationMapped": "{mapped} des {total} livres sources ont un chemin cartographié",
|
||
"pathValidationUnmatched": "{count} chemins mappés introuvables sur le disque - ces livres reviendront à ISBN / correspondance de titre",
|
||
"pathValidationAllMatched": "Tous les chemins mappés {count} trouvés sur le disque",
|
||
"saveMappings": "Enregistrer les mappages",
|
||
"runDryRun": "Exécuter un essai à sec",
|
||
"matched": "Correspondances :",
|
||
"unresolved": "Non résolu :",
|
||
"duplicateMatches": "Correspondances en double :",
|
||
"unresolvedSummary": "Résumé non résolu",
|
||
"resolveDuplicateMatches": "Résoudre les correspondances de cibles en double",
|
||
"resolveDuplicateHint": "Pour chaque livre cible, choisissez un livre source à conserver. Les choix recommandés sont présélectionnés lorsqu'il existe une seule correspondance la plus forte.",
|
||
"remainingGroups": "Groupes restants :",
|
||
"ofCount": "de {count}",
|
||
"targetBookNum": "Livre cible #{id}",
|
||
"recommended": "Recommandé",
|
||
"resolveDuplicatesButton": "{count, plural, =0 {Résoudre # dupliquer} one {Résoudre # dupliquer} other {Résoudre # doublons} many {Résoudre # doublons}}",
|
||
"preflightChecks": "Vérifications préalables",
|
||
"allChecksPassed": "Tous les contrôles ont été réussis - prêt à migrer",
|
||
"checkSourceValidated": "Source validée",
|
||
"checkSaveValidateSource": "Enregistrer et valider la connexion source",
|
||
"checkValidateSource": "Valider la connexion source",
|
||
"checkMappingsSaved": "Mappages enregistrés",
|
||
"checkSaveMappings": "Enregistrer les mappages d'utilisateurs et de chemins",
|
||
"checkPathMappingsValidated": "Mappages de chemins validés",
|
||
"checkSavePathMappings": "Enregistrez les mappages de chemin pour les valider",
|
||
"checkDryRunUpToDate": "Le test à sec est à jour",
|
||
"checkFreshDryRun": "Exécutez un nouvel essai à sec",
|
||
"startConfirmPrompt": "Cela lancera la migration en direct. Êtes-vous sûr ?",
|
||
"confirmStart": "Confirmer le démarrage",
|
||
"startMigration": "Démarrer la migration",
|
||
"cancelRun": "Annuler l'exécution",
|
||
"refreshStatus": "Actualiser le statut",
|
||
"statusPollingStopped": "L'interrogation d'état s'est arrêtée en raison d'une erreur.",
|
||
"retry": "Réessayer",
|
||
"stageLabel": "Étape : {stage}",
|
||
"stageInitializing": "initialisation",
|
||
"endedLabel": "Terminé {date}",
|
||
"stageCompleted": "Terminé",
|
||
"stageInit": "Initialisation",
|
||
"stageSharedOverlays": "Importer des métadonnées",
|
||
"stageBookCovers": "Importer des couvertures",
|
||
"stageUserState": "Importer des données utilisateur",
|
||
"noRunYet": "Aucune migration n'a encore été exécutée. Suivez les étapes ci-dessus pour commencer.",
|
||
"runNum": "Exécutez #{id}",
|
||
"notStarted": "Pas démarré",
|
||
"reloadReport": "Recharger le rapport",
|
||
"loadFullReport": "Charger le rapport complet",
|
||
"exportJson": "Exporter JSON",
|
||
"exportCsv": "Exporter CSV",
|
||
"migrationFailed": "Échec de la migration",
|
||
"retryFromLastStage": "Réessayer depuis la dernière étape terminée",
|
||
"booksCard": "Livres",
|
||
"metadataOverlaysApplied": "Superpositions de métadonnées appliquées",
|
||
"authorMappingsReplaced": "Mappages d'auteur remplacés",
|
||
"narratorMappingsReplaced": "Mappages du narrateur remplacés",
|
||
"genreMappingsReplaced": "Les mappages de genre remplacés",
|
||
"tagMappingsReplaced": "Mappages de balises remplacés",
|
||
"coversImported": "Couvertures importées",
|
||
"coverImportSkipped": "L'importation de la couverture a été ignorée : le chemin racine du média n'est pas configuré sur la source",
|
||
"couldNotMatch": "Impossible de correspondre",
|
||
"userDataCard": "Données utilisateur",
|
||
"readingStatuses": "Statuts de lecture",
|
||
"readingProgressEntries": "Lecture des entrées de progression",
|
||
"audiobookProgressEntries": "Entrées de progression du livre audio",
|
||
"bookmarksLabel": "Signets",
|
||
"annotationsLabel": "Annotations",
|
||
"collectionEntries": "Entrées de collection",
|
||
"loadFullReportHint": "Cliquez sur « Charger le rapport complet » pour inclure le résumé des correspondances à sec dans le rapport exporté.",
|
||
"completedNoIssues": "Migration terminée sans livres ni échecs non résolus.",
|
||
"matchedBooksHeading": "Livres correspondants ({count})",
|
||
"matchedBooksHint": "Ces correspondances à sec ont été utilisées pour décider quels livres de bibliothèque recevaient des données importées.",
|
||
"sourceBookFallback": "Livre source {id}",
|
||
"libraryBookFallback": "Livre de bibliothèque {id}",
|
||
"unresolvedBooksHeading": "Livres non résolus ({count})",
|
||
"unresolvedBooksHint": "Ces livres existent dans la source mais n'ont pu être associés à aucun livre de votre bibliothèque.",
|
||
"mappedUsersHeading": "Utilisateurs mappés ({count})",
|
||
"mappedUsersHint": "Les totaux par utilisateur proviennent de l'aperçu d'exécution à sec mis en cache avec le plan de migration.",
|
||
"coverImportsFailed": "Nombre d'échecs d'importation de couverture : {count}. Les détails des échecs ne sont pas conservés.",
|
||
"backToSetup": "Retour à la configuration"
|
||
},
|
||
"libraries": {
|
||
"title": "Bibliothèques",
|
||
"subtitle": "Gérez vos bibliothèques multimédias et déclenchez des analyses de contenu.",
|
||
"scanAll": "Tout analyser",
|
||
"scanning": "Analyse en cours...",
|
||
"addLibrary": "Ajouter une bibliothèque",
|
||
"scan": "Analyser",
|
||
"editLibrary": "Modifier la bibliothèque",
|
||
"refreshCovers": "Actualiser les couvertures",
|
||
"syncMetadataToFiles": "Synchroniser les métadonnées avec les fichiers",
|
||
"deleteLibrary": "Supprimer la bibliothèque",
|
||
"bookCount": "{count, plural, =0 {pas de livres} one {# livre} other {# livres} many {# livres}}",
|
||
"booksUnit": "{count, plural, one {livre} other {livres} many {livres}}",
|
||
"folderCount": "{count, plural, =0 {pas de dossiers} one {# dossier} other {# dossiers} many {# dossiers}}",
|
||
"fileMode": "Mode fichier",
|
||
"folderMode": "Mode dossier",
|
||
"emptyTitle": "Pas encore de bibliothèques",
|
||
"emptyHint": "Ajoutez une bibliothèque pour commencer à organiser vos livres.",
|
||
"addFirstLibrary": "Ajoutez votre première bibliothèque",
|
||
"deleteConfirmTitle": "Supprimer « {name} » ?",
|
||
"deleteConfirmBody": "Cela supprimera définitivement tous les livres, métadonnées, progression de la lecture, signets et annotations de cette bibliothèque. Cela ne peut pas être annulé.",
|
||
"deleteConfirmTypeName": "Tapez le nom de la bibliothèque pour confirmer :",
|
||
"deleting": "Suppression...",
|
||
"deleteLibraryButton": "Supprimer la bibliothèque",
|
||
"syncConfirmTitle": "Synchroniser les métadonnées avec les fichiers ?",
|
||
"syncFiles": "Synchroniser les fichiers",
|
||
"metadataSynced": "Métadonnées synchronisées avec les fichiers pour « {name} »",
|
||
"fileWriteNotEnabled": "L'écriture du fichier de métadonnées n'est pas activée pour cette bibliothèque. Activez-le dans les paramètres de la bibliothèque.",
|
||
"fileSyncFailed": "Échec de la synchronisation du fichier pour « {name} »",
|
||
"scanStarted": "Analyse lancée pour « {name} »",
|
||
"scanStartFailed": "Échec du démarrage de l'analyse de « {name} »",
|
||
"refreshCoversFailed": "Échec de l'actualisation des couvertures pour « {name} »",
|
||
"scanStartedAll": "Analyse lancée pour toutes les bibliothèques",
|
||
"librariesFailedToStart": "{count, plural, =0 {aucune bibliothèque n'a échoué à démarrer} one {# la bibliothèque n'a pas pu démarrer} other {# les bibliothèques n'ont pas pu démarrer} many {# les bibliothèques n'ont pas pu démarrer}}",
|
||
"scansStartFailed": "Échec du démarrage des analyses",
|
||
"libraryCreated": "Bibliothèque « {name} » créée",
|
||
"libraryUpdated": "Bibliothèque « {name} » mise à jour",
|
||
"libraryDeleted": "« {name} » supprimé",
|
||
"deleteFailed": "Échec de la suppression de la bibliothèque",
|
||
"refreshingCovers": "Couvertures rafraîchissantes {pct} % ({processed}/{total})",
|
||
"coversRefreshed": "Couvertures actualisées ({count} traitées)",
|
||
"onDiskUnit": "{size} sur le disque",
|
||
"noFilesIndexed": "Aucun fichier indexé",
|
||
"formatEntry": "{format} {count}",
|
||
"formatOverflow": "{count, plural, one {+# format supplémentaire} other {+# formats supplémentaires} many {+# formats supplémentaires}}",
|
||
"extraFolders": "{count, plural, one {+# dossier supplémentaire} other {+# dossiers supplémentaires} many {+# dossiers supplémentaires}}",
|
||
"openLibrary": "Ouvrir {name}",
|
||
"moreActions": "Plus d'actions pour {name}",
|
||
"statsFailed": "Impossible de charger le nombre de bibliothèques. Tout le reste de cette page fonctionne encore.",
|
||
"filterLabel": "Filtrer les bibliothèques",
|
||
"filterPlaceholder": "Filtrer par nom ou chemin",
|
||
"filterClear": "Effacer le filtre",
|
||
"sortLabel": "Trier",
|
||
"noMatchesTitle": "Aucune bibliothèque ne correspond à ce filtre",
|
||
"noMatchesHint": "Aucun résultat ne correspond à « {query} » par son nom ou le chemin du dossier.",
|
||
"totalLibraries": "{count, plural, one {# bibliothèque} other {# bibliothèques}}",
|
||
"neverScanned": "Jamais analysée",
|
||
"neverScannedHint": "Lancez une analyse pour indexer ses dossiers",
|
||
"scanFailedAt": "Échec {time}",
|
||
"scanningPercent": "Analyse : {pct} %",
|
||
"scanCounting": "Comptage des fichiers",
|
||
"scanCounts": "{processed} sur {total}",
|
||
"scanAdded": "{count, plural, one {+# ajouté} other {+# ajoutés} many {+# ajoutés}}",
|
||
"scanUpdated": "{count, plural, one {# mis à jour} other {# mis à jour} many {# mis à jour}}",
|
||
"scanMissing": "{count, plural, one {# manquant} other {# manquants} many {# manquants}}",
|
||
"scanNoChange": "aucune modification",
|
||
"outcomeSeparator": ", ",
|
||
"scanOutcome": "{trigger} - {outcome}",
|
||
"syncConfirmBody": "Cette action remplacera directement sur le disque les métadonnées de chaque fichier pris en charge dans {name}. Cette action est irréversible.",
|
||
"columns": {
|
||
"library": "Bibliothèque",
|
||
"contents": "Contenu",
|
||
"onDisk": "Sur le disque",
|
||
"automation": "Automatisation",
|
||
"lastScan": "Dernière analyse",
|
||
"actions": "Actions"
|
||
},
|
||
"sort": {
|
||
"default": "Ordre par défaut",
|
||
"name": "Nom",
|
||
"books": "Livres",
|
||
"size": "Taille sur le disque",
|
||
"lastScan": "Dernière analyse"
|
||
},
|
||
"trigger": {
|
||
"manual": "Manuel",
|
||
"watcher": "Surveillance",
|
||
"schedule": "Planification"
|
||
},
|
||
"capability": {
|
||
"watch": "Surveiller les dossiers",
|
||
"schedule": "Analyse planifiée",
|
||
"fileWrite": "Écrire dans le fichier",
|
||
"fileRename": "Renommer les fichiers",
|
||
"on": "{name} : activé",
|
||
"off": "{name} : désactivé",
|
||
"legendHint": "Les tirets signifient désactivé"
|
||
},
|
||
"stateOn": "Activé",
|
||
"stateOff": "Désactivé",
|
||
"toggleDetail": "Afficher les détails de {name}",
|
||
"durationMs": "{ms} ms",
|
||
"durationSeconds": "{seconds} s",
|
||
"durationMinutes": "{minutes} min {seconds} s",
|
||
"history": {
|
||
"when": "Quand",
|
||
"trigger": "Déclencheur",
|
||
"duration": "Durée",
|
||
"result": "Résultat",
|
||
"status": "Statut",
|
||
"statusValue": {
|
||
"running": "En cours",
|
||
"completed": "Terminé",
|
||
"failed": "Échoué"
|
||
}
|
||
},
|
||
"detail": {
|
||
"foldersTitle": "Dossiers et organisation",
|
||
"metadataTitle": "Métadonnées et lecture",
|
||
"accessTitle": "Accès",
|
||
"historyTitle": "Historique des analyses",
|
||
"path": "Chemin {index}",
|
||
"organization": "Organisation",
|
||
"excludePatterns": "Motifs d'exclusion",
|
||
"precedence": "Priorité des sources",
|
||
"allowedFormats": "Formats autorisés",
|
||
"countsAsStarted": "Compte comme commencé",
|
||
"countsAsFinished": "Compte comme terminé",
|
||
"peopleWithAccess": "Personnes ayant accès",
|
||
"added": "Ajouté",
|
||
"coverShape": "Forme de couverture",
|
||
"coverShapeValue": {
|
||
"portrait": "Portrait 2:3",
|
||
"square": "Carré 1:1"
|
||
},
|
||
"none": "Aucun",
|
||
"allSupported": "Tous pris en charge",
|
||
"patternCount": "{count, plural, one {# motif} other {# motifs} many {# motifs}}",
|
||
"peopleCount": "{count, plural, =0 {Aucun accès explicite} one {# personne} other {# personnes} many {# personnes}}",
|
||
"historyEmpty": "Cette bibliothèque n'a jamais été analysée.",
|
||
"historyFailed": "Impossible de charger l'historique des analyses de cette bibliothèque."
|
||
},
|
||
"scannedAt": "Analysé {time}",
|
||
"detailRegion": "Détails de {name}"
|
||
},
|
||
"authorEnrichment": {
|
||
"configuration": "Configuration",
|
||
"saving": "Sauvegarde...",
|
||
"running": "Courir...",
|
||
"runEligibleShort": "Exécuter pour les éléments éligibles",
|
||
"runAllShort": "Exécutez tout",
|
||
"enableTitle": "Activer l'enrichissement automatique des auteurs",
|
||
"enableHint": "Récupérez automatiquement les biographies des auteurs et les photos de profil lorsque des livres sont ajoutés ou mis à jour.",
|
||
"triggerOnImportTitle": "Déclencheur à l'importation",
|
||
"triggerOnImportHint": "Mettez les auteurs en file d'attente pour les enrichir lorsque les livres sont ajoutés pour la première fois à une bibliothèque.",
|
||
"eligibilityTitle": "Conditions d'éligibilité",
|
||
"eligibilityHint": "Un auteur est éligible s'il répond à l'une des conditions activées.",
|
||
"neverEnrichedTitle": "Jamais enrichi",
|
||
"neverEnrichedHint": "Enrichissez les auteurs qui n'ont jamais eu d'enrichissement réussi.",
|
||
"missingBioTitle": "Biographie manquante",
|
||
"missingBioHint": "Enrichir si l'auteur n'a pas de biographie.",
|
||
"missingPhotoTitle": "Photo manquante",
|
||
"missingPhotoHint": "Enrichissez si l'auteur n'a pas de photo de profil.",
|
||
"runForEligibleAuthors": "Courir pour les auteurs éligibles",
|
||
"eligibleCount": "~{count} éligible",
|
||
"runForAllAuthors": "Courir pour tous les auteurs",
|
||
"saved": "Paramètres d'enrichissement de l'auteur enregistrés",
|
||
"saveFailed": "Échec de l'enregistrement des paramètres d'enrichissement de l'auteur",
|
||
"noEligibleAuthors": "Aucun auteur éligible trouvé",
|
||
"noAuthorsToEnrich": "Aucun auteur à enrichir",
|
||
"queueFailed": "Échec du remplissage de la file d'attente de l'auteur",
|
||
"fields": {
|
||
"description": "Biographie",
|
||
"photo": "Photo",
|
||
"birthDate": "Naissance",
|
||
"deathDate": "Mort",
|
||
"website": "Site web",
|
||
"genres": "Genres",
|
||
"influences": "Influences"
|
||
},
|
||
"metadataPreferences": {
|
||
"title": "Sources de champ",
|
||
"hint": "Définissez l'ordre dans lequel chaque champ est renseigné. Le premier fournisseur dont la valeur est renseignée l'emporte.",
|
||
"noProviders": "Aucun fournisseur disponible",
|
||
"saved": "Sources de champ enregistrées",
|
||
"saveFailed": "Impossible d'enregistrer les sources de champ",
|
||
"limitedProviders": "{providers} fournit uniquement des biographies et des photos.",
|
||
"addProvider": "Ajouter {provider} comme source"
|
||
}
|
||
},
|
||
"scoreWeights": {
|
||
"groupLabel": "Pondérations des scores",
|
||
"assignHintPrefix": "Attribuez un poids à chaque champ. Poids total :",
|
||
"areYouSure": "Êtes-vous sûr ?",
|
||
"resetToDefaultsButton": "Réinitialiser aux valeurs par défaut",
|
||
"recalculateAll": "Tout recalculer",
|
||
"confirmReset": "Confirmer la réinitialisation",
|
||
"resetDialog": {
|
||
"title": "Réinitialiser toutes les pondérations à leur valeur par défaut ?",
|
||
"description": "Les 24 champs retrouvent les pondérations fournies par défaut avec BookOrbit. Rien n'est enregistré tant que vous n'avez pas choisi Enregistrer et recalculer."
|
||
},
|
||
"reset": "Réinitialiser",
|
||
"recalculate": "Recalculer",
|
||
"subtotal": "sous-total : {count}",
|
||
"savedRecalculating": "Pondérations enregistrées. Recalcul des scores de la bibliothèque...",
|
||
"saveFailed": "Échec de l'enregistrement des pondérations des scores",
|
||
"recalcStarted": "Le recalcul du score a démarré en arrière-plan",
|
||
"recalcFailed": "Le recalcul a échoué",
|
||
"resetToDefaults": "Pondérations réinitialisées aux valeurs par défaut. Enregistrez pour appliquer les modifications.",
|
||
"howItWorks": {
|
||
"title": "Comment ça marche.",
|
||
"summary": "Chaque livre reçoit un score sur 100 selon l'exhaustivité de ses métadonnées. Une pondération n'a de sens que par rapport aux autres : chaque champ ci-dessous indique donc la part du score qu'il représente. Doubler toutes les pondérations ne change rien."
|
||
},
|
||
"readOnly": "Vous pouvez voir comment les scores sont calculés, mais la modification des pondérations nécessite la permission Paramètres de l'application.",
|
||
"compositionTitle": "D'où vient un score",
|
||
"compositionHint": "Les pourcentages totalisent toujours 100.",
|
||
"searchFields": "Filtrer les champs",
|
||
"clearSearch": "Effacer la recherche",
|
||
"noMatches": "Aucun champ ne correspond à cette recherche.",
|
||
"totalSummary": "{scoring} champs sur 24 comptent dans le score, {total} points au total",
|
||
"countGroups": "Comptent dans le score",
|
||
"notScored": "Non pris en compte",
|
||
"notScoredHeading": "Non pris en compte ({count})",
|
||
"notScoredHint": "Un champ à zéro est aussi exclu du total : les livres qui ne le renseignent pas ne sont donc pas pénalisés.",
|
||
"decreaseWeight": "Diminuer la pondération de {field}",
|
||
"increaseWeight": "Augmenter la pondération de {field}",
|
||
"revertField": "Rétablir la pondération enregistrée de {field}",
|
||
"table": {
|
||
"field": "Champ",
|
||
"weight": "Pondération",
|
||
"share": "Part du score",
|
||
"versusDefault": "Modification"
|
||
},
|
||
"groups": {
|
||
"core": "Essentiel",
|
||
"publishing": "Publication",
|
||
"classification": "Classification",
|
||
"enrichment": "Enrichissement",
|
||
"providers": "Identifiants des fournisseurs"
|
||
},
|
||
"rules": {
|
||
"text": "Compte lorsqu'il n'est pas vide",
|
||
"positive": "Compte lorsqu'il est supérieur à zéro",
|
||
"count": "Compte lorsqu'au moins un est renseigné",
|
||
"cover": "Compte lorsqu'une image de couverture est enregistrée",
|
||
"providerId": "Compte lorsque l'identifiant est enregistré",
|
||
"seriesIndex": "Compte lorsqu'il est supérieur à zéro : le volume 0 ne compte donc jamais"
|
||
},
|
||
"rail": {
|
||
"title": "Répartition de vos livres",
|
||
"description": "La couleur du badge qu'un lecteur voit sur une fiche livre, comparée à tous les livres que vous pouvez voir aujourd'hui.",
|
||
"bandsLabel": "Paliers de couleur du badge",
|
||
"bands": {
|
||
"poor": "MOINS DE 50",
|
||
"fair": "50-69",
|
||
"good": "70-89",
|
||
"great": "90+"
|
||
},
|
||
"median": "Médiane",
|
||
"belowFifty": "Moins de 50",
|
||
"ninetyPlus": "90 et plus",
|
||
"noBooks": "Aucun livre noté pour le moment. Relancez le calcul des scores une fois l'importation de votre bibliothèque terminée.",
|
||
"scopeNote": "{count, plural, one {# livre} other {# livres} many {# livres}} dans les bibliothèques auxquelles vous avez accès, évalués avec les pondérations actuellement enregistrées."
|
||
},
|
||
"progress": {
|
||
"running": "Recalcul des scores de la bibliothèque",
|
||
"failed": "Échec du recalcul du score",
|
||
"count": "{processed} livres traités",
|
||
"countOf": "{processed} livres sur {total}",
|
||
"failedCount": "({count} en échec)",
|
||
"safeToLeave": "Vous pouvez quitter cette page sans risque.",
|
||
"dismiss": "Fermer"
|
||
},
|
||
"save": {
|
||
"upToDate": "Toutes les modifications sont enregistrées.",
|
||
"unsaved": "{count, plural, one {# champ modifié} other {# champs modifiés} many {# champs modifiés}}",
|
||
"totalShift": "total de {from} à {to} points",
|
||
"rescores": "L'enregistrement recalcule {count, plural, one {# livre} other {# livres} many {# livres}} en arrière-plan.",
|
||
"rescoresUnknown": "L'enregistrement relance le calcul des scores de votre bibliothèque en arrière-plan.",
|
||
"action": "Enregistrer et recalculer les scores",
|
||
"discard": "Ignorer",
|
||
"leaveWarning": "Des modifications de pondération ne sont pas enregistrées. Quitter la page et les perdre ?"
|
||
}
|
||
},
|
||
"tabs": {
|
||
"users": "Utilisateurs",
|
||
"account-activity": "Activité du compte",
|
||
"magic-links": "Liens magiques",
|
||
"oidc": "OIDC / SSO",
|
||
"tts": "Synthèse vocale",
|
||
"server-fonts": "Polices du serveur"
|
||
},
|
||
"tts": {
|
||
"title": "Fournisseurs",
|
||
"subtitle": "Moteurs vocaux proposés aux lecteurs. Les voix sont sélectionnées pour chaque fournisseur.",
|
||
"summary": "{providers, plural, one {# fournisseur} many {# fournisseurs} other {# fournisseurs}} · activés : {enabled} · {voices, plural, one {# voix sélectionnée} many {# voix sélectionnées} other {# voix sélectionnées}}",
|
||
"addProvider": "Ajouter un fournisseur",
|
||
"loadFailed": "Impossible de charger la configuration de la synthèse vocale",
|
||
"empty": "Aucun fournisseur vocal configuré.",
|
||
"reorderHint": "Faites glisser pour réordonner. Les lecteurs voient les fournisseurs dans cet ordre.",
|
||
"dragHandle": "Déplacer {name}",
|
||
"moveUp": "Monter {name}",
|
||
"moveDown": "Descendre {name}",
|
||
"reorderFailed": "Impossible d'enregistrer l'ordre des fournisseurs",
|
||
"expand": "Afficher les détails de {name}",
|
||
"collapse": "Masquer les détails de {name}",
|
||
"toggleEnabled": "Activer {name}",
|
||
"enableFailed": "Impossible de mettre à jour {name}",
|
||
"statusConnected": "Connecté",
|
||
"statusUnreachable": "Injoignable",
|
||
"statusUnchecked": "Non vérifié",
|
||
"voiceCount": "{count, plural, one {# voix} many {# voix} other {# voix}}",
|
||
"configuration": "Configuration",
|
||
"fieldType": "Type",
|
||
"fieldTypeOpenAi": "Compatible OpenAI",
|
||
"fieldApiKey": "Clé API",
|
||
"apiKeySet": "Définie",
|
||
"apiKeyNotSet": "Non définie",
|
||
"fieldModel": "Modèle par défaut",
|
||
"fieldModelNone": "Valeur par défaut du fournisseur",
|
||
"fieldDiscovery": "Découverte des voix",
|
||
"discoverySupported": "Prise en charge",
|
||
"discoveryUnsupported": "Non prise en charge",
|
||
"voices": "Voix",
|
||
"voicesCurated": "sélection : {count}",
|
||
"voicesTapToPreview": "Touchez une voix pour l'écouter",
|
||
"voicesNone": "Aucune voix configurée pour l'instant",
|
||
"manageVoices": "Gérer les voix",
|
||
"previewVoice": "Écouter {name}",
|
||
"previewStop": "Arrêter l'écoute",
|
||
"previewFailed": "Impossible de lire un extrait de {name}",
|
||
"previewNeedsEnabled": "Activez ce fournisseur pour écouter ses voix",
|
||
"editConfiguration": "Modifier la configuration",
|
||
"testConnection": "Tester la connexion",
|
||
"testPassed": "Connecté · {count, plural, one {# voix trouvée} many {# voix trouvées} other {# voix trouvées}}",
|
||
"testFailed": "Échec de la connexion",
|
||
"delete": "Supprimer",
|
||
"deleteConfirm": "Supprimer le fournisseur « {name} » ? Les lecteurs qui utilisent ses voix basculent sur un autre fournisseur.",
|
||
"deleteFailed": "Impossible de supprimer {name}",
|
||
"deleted": "Fournisseur supprimé",
|
||
"saveFailed": "Impossible d'enregistrer {name}",
|
||
"saved": "Fournisseur enregistré",
|
||
"formAddTitle": "Nouveau fournisseur",
|
||
"formEditTitle": "Modifier le fournisseur",
|
||
"formName": "Nom",
|
||
"formNamePlaceholder": "Kokoro",
|
||
"formBaseUrl": "URL de base",
|
||
"formBaseUrlPlaceholder": "http://localhost:8880/v1",
|
||
"formApiKey": "Clé API",
|
||
"formApiKeyOptional": "Facultative",
|
||
"formApiKeyPlaceholder": "sk-...",
|
||
"formApiKeyKeep": "Laissez vide pour conserver la clé actuelle",
|
||
"formModel": "Modèle par défaut",
|
||
"formModelPlaceholder": "tts-1",
|
||
"formDiscovery": "Ce fournisseur peut lister ses propres voix",
|
||
"formRequired": "Le nom et l'URL de base sont obligatoires",
|
||
"curation": {
|
||
"title": "Gérer les voix – {provider}",
|
||
"summary": "{count, plural, one {# voix configurée} many {# voix configurées} other {# voix configurées}}",
|
||
"summaryUnsaved": "{count, plural, one {# voix configurée} many {# voix configurées} other {# voix configurées}} – Modifications non enregistrées",
|
||
"importFromProvider": "Importer depuis le fournisseur",
|
||
"loadPreset": "Charger le préréglage {preset}",
|
||
"importUnsupported": "Ce fournisseur ne prend pas en charge la découverte des voix.",
|
||
"importUnsupportedWithPreset": "Ce fournisseur ne prend pas en charge la découverte des voix. Utilisez plutôt le bouton « Charger le préréglage {preset} ».",
|
||
"discoveryUnsupported": "Ce fournisseur n'expose pas de point d'accès listant ses voix.",
|
||
"discoverFailed": "Impossible de découvrir les voix",
|
||
"emptyImportOrPreset": "Aucune voix configurée. Importez-en depuis le fournisseur ou chargez un préréglage.",
|
||
"emptyImport": "Aucune voix configurée. Importez-en depuis le fournisseur.",
|
||
"emptyPreset": "Aucune voix configurée. Chargez un préréglage pour commencer.",
|
||
"emptyManual": "Aucune voix configurée. Ajoutez des voix manuellement.",
|
||
"columnId": "ID",
|
||
"columnName": "Nom",
|
||
"columnLocale": "Langue",
|
||
"columnGender": "Genre",
|
||
"genderMale": "Masculin",
|
||
"genderFemale": "Féminin",
|
||
"genderUnknown": "Inconnu",
|
||
"cancelEdit": "Annuler la modification",
|
||
"editVoice": "Modifier {name}",
|
||
"deleteVoice": "Supprimer {name}",
|
||
"previewVoice": "Écouter {name}",
|
||
"stopPreview": "Arrêter l'écoute de {name}",
|
||
"saveVoices": "{count, plural, one {Enregistrer # voix} many {Enregistrer # voix} other {Enregistrer # voix}}"
|
||
}
|
||
},
|
||
"serverFonts": {
|
||
"title": "Polices du serveur",
|
||
"subtitle": "Envoyez des polices directement disponibles pour tous les utilisateurs dans le lecteur Ebook.",
|
||
"listLabel": "Polices du serveur",
|
||
"noFontsYet": "Aucune police disponible sur le serveur pour le moment",
|
||
"noFontsHint": "Les polices que vous ajoutez ici sont disponibles dans le lecteur de tous les utilisateurs."
|
||
}
|
||
},
|
||
"common": {
|
||
"nav": {
|
||
"libraries": "Bibliothèques",
|
||
"display": "Affichage",
|
||
"reader": "Lecteur",
|
||
"metadata": "Métadonnées",
|
||
"usersAccess": "Utilisateurs et accès",
|
||
"email": "Courriel",
|
||
"opds": "OPDS",
|
||
"kobo": "Kobo",
|
||
"koreader": "KOReader",
|
||
"tts": "Synthèse vocale",
|
||
"integrations": "Intégrations",
|
||
"hardcover": "Hardcover",
|
||
"admin": "Administrateur",
|
||
"system": "Système",
|
||
"account": "Compte",
|
||
"podcasts": "Podcasts"
|
||
}
|
||
},
|
||
"integrations": {
|
||
"title": "Intégrations",
|
||
"subtitle": "Connectez des services externes pour synchroniser vos données de lecture et vos passages surlignés.",
|
||
"noPermission": "Vous n'avez pas la permission d'utiliser des intégrations.",
|
||
"tabs": {
|
||
"hardcover": "Hardcover",
|
||
"readwise": "Readwise",
|
||
"storygraph": "The StoryGraph"
|
||
},
|
||
"providerSubtitles": {
|
||
"readwise": "Envoyer automatiquement vos surlignages à Readwise.",
|
||
"storygraph": "Synchronise la progression et l'état de lecture vers The StoryGraph."
|
||
}
|
||
},
|
||
"metadata": {
|
||
"title": "Métadonnées",
|
||
"subtitle": "Configurez les fournisseurs de métadonnées, les règles de correspondance, l'automatisation et l'enrichissement des auteurs.",
|
||
"noPermission": "Vous n'êtes pas autorisé à gérer les paramètres de métadonnées.",
|
||
"fields": {
|
||
"title": "Titre",
|
||
"subtitle": "Sous-titre",
|
||
"description": "Description",
|
||
"cover": "Couverture",
|
||
"authors": "Auteurs",
|
||
"publisher": "Éditeur",
|
||
"publishedYear": "Année de publication",
|
||
"language": "Langue",
|
||
"pageCount": "Nombre de pages",
|
||
"communityRating": "Évaluation de la communauté",
|
||
"seriesName": "Nom de la série",
|
||
"seriesIndex": "Tome",
|
||
"genres": "Genres",
|
||
"narrators": "Narrateurs",
|
||
"duration": "Durée",
|
||
"abridged": "Abrégé",
|
||
"tags": "Balises",
|
||
"isbn13": "ISBN-13",
|
||
"isbn10": "ISBN-10",
|
||
"googleBooksId": "Identifiant Google Books",
|
||
"goodreadsId": "Identifiant Goodreads",
|
||
"amazonId": "Identifiant Amazon",
|
||
"hardcoverId": "Identifiant Hardcover",
|
||
"openLibraryId": "ID Open Library",
|
||
"itunesId": "Identifiant iTunes",
|
||
"koboId": "Identifiant Kobo",
|
||
"aladinId": "Identifiant Aladin"
|
||
},
|
||
"mergeStrategy": {
|
||
"fillMissing": {
|
||
"label": "Remplissage manquant",
|
||
"description": "N'écrire que si le champ est actuellement vide",
|
||
"short": "Compléter les manques"
|
||
},
|
||
"mergeExisting": {
|
||
"label": "Fusionner avec l'existant",
|
||
"description": "Conserver les genres enregistrés et ajouter les nouveaux genres du fournisseur",
|
||
"short": "Fusionner"
|
||
},
|
||
"overwriteIfProvided": {
|
||
"label": "Écraser si fourni",
|
||
"description": "Écrire si le fournisseur a renvoyé une valeur",
|
||
"short": "Si renseigné"
|
||
},
|
||
"overwrite": {
|
||
"label": "Toujours écraser",
|
||
"description": "Remplacez toujours la valeur existante",
|
||
"short": "Toujours"
|
||
}
|
||
},
|
||
"autoFetch": {
|
||
"globalSettings": "Paramètres globaux",
|
||
"perLibraryOverrides": "Exceptions par bibliothèque",
|
||
"saving": "Sauvegarde...",
|
||
"running": "Courir...",
|
||
"runNow": "Exécuter maintenant",
|
||
"runForEligible": "Exécuter pour les livres éligibles",
|
||
"enable": {
|
||
"label": "Activer la récupération automatique",
|
||
"hint": "Récupérez automatiquement les métadonnées des livres éligibles."
|
||
},
|
||
"triggerOnImport": {
|
||
"label": "Déclencheur à l'importation",
|
||
"hint": "Mettez en file d'attente les livres éligibles lorsqu'ils sont ajoutés pour la première fois à une bibliothèque."
|
||
},
|
||
"status": {
|
||
"inQueuePaused": "{count} dans la file d'attente – en pause",
|
||
"remaining": "{count} restants",
|
||
"eligible": "~{count} éligible"
|
||
},
|
||
"trigger": {
|
||
"queued": "{count, plural, one {En file d'attente # livre} other {En file d'attente # livres} many {En file d'attente # livres}}",
|
||
"noneFound": "Aucun livre éligible trouvé"
|
||
},
|
||
"lastRun": {
|
||
"justNow": "juste maintenant",
|
||
"minutesAgo": "il y a {count} m",
|
||
"hoursAgo": "il y a {count} h",
|
||
"yesterday": "hier",
|
||
"daysAgo": "{count, plural, one {il y a # jour} other {il y a # jours} many {il y a # jours}}",
|
||
"label": "Dernière exécution : {when}",
|
||
"labelQueued": "Dernière exécution : {when} - livres {count} mis en file d'attente",
|
||
"labelNoneEligible": "Dernière exécution : {when} - aucun livre éligible"
|
||
},
|
||
"conditions": {
|
||
"title": "Conditions d'éligibilité",
|
||
"hint": "Un livre est éligible s'il répond à l'une des conditions activées.",
|
||
"noneEnabled": "Aucune condition activée",
|
||
"neverFetched": {
|
||
"label": "Jamais récupéré",
|
||
"hint": "Récupérez des livres qui n'ont jamais fait l'objet d'une tentative de récupération de métadonnées.",
|
||
"summary": "Jamais récupéré"
|
||
},
|
||
"scoreThreshold": {
|
||
"label": "Faible score de métadonnées",
|
||
"hint": "Récupère si le score des métadonnées est inférieur à un seuil.",
|
||
"scoreBelow": "Score ci-dessous",
|
||
"summary": "Score < {threshold}"
|
||
},
|
||
"missingFields": {
|
||
"label": "Champs manquants",
|
||
"hint": "Récupère si l'un des champs sélectionnés est vide.",
|
||
"summary": "{count, plural, one {Manquant # champ} other {Manquant # champs} many {Manquant # champs}}"
|
||
}
|
||
},
|
||
"library": {
|
||
"inheritingGlobal": "Héritage des valeurs par défaut globales",
|
||
"inheritFromGlobal": "Hériter du global",
|
||
"usingGlobalDefaults": "Utilisation des valeurs par défaut globales.",
|
||
"saveOverride": "Enregistrer le remplacement"
|
||
}
|
||
},
|
||
"providers": {
|
||
"availableSources": "Sources disponibles",
|
||
"saveChanges": "Enregistrer les modifications",
|
||
"discard": "Ignorer",
|
||
"configure": "Configurer",
|
||
"test": "Tester",
|
||
"testing": "Test...",
|
||
"testHint": "Vérifie ces identifiants auprès du service en ligne. Rien n'est enregistré.",
|
||
"enabled": "Activé",
|
||
"retryIn": "Réessayez dans {duration}",
|
||
"runTestBeforeEnabling": "Exécutez le test avant d'activer",
|
||
"hardcoverEnableHint": "Exécutez le test avec le jeton actuel pour déverrouiller le commutateur d'activation.",
|
||
"searchPlaceholder": "Filtrer les sources",
|
||
"sourcesEnabled": "{enabled} sources activées sur {total}",
|
||
"groupEnabled": "{enabled} sur {total} activées",
|
||
"unsavedChanges": "{count, plural, one {# modification non enregistrée} other {# modifications non enregistrées} many {# modifications non enregistrées}}",
|
||
"noMatches": "Aucune source ne correspond à ce filtre.",
|
||
"clearFilters": "Effacer les filtres",
|
||
"filter": {
|
||
"label": "Filtrer les sources par état",
|
||
"all": "Toutes",
|
||
"enabled": "Activées",
|
||
"needsSetup": "À configurer"
|
||
},
|
||
"groups": {
|
||
"books": "Catalogues généraux de livres",
|
||
"audiobooks": "Livres audio",
|
||
"comics": "Bandes dessinées et light novels",
|
||
"regional": "Catalogues régionaux"
|
||
},
|
||
"badge": {
|
||
"setupRequired": "Configuration requise",
|
||
"throttled": "Étranglé",
|
||
"ready": "Prêt",
|
||
"active": "Active"
|
||
},
|
||
"fields": {
|
||
"apiKey": "Clé API",
|
||
"region": "Région",
|
||
"cookie": "Biscuit",
|
||
"coverResolution": "Résolution de la couverture",
|
||
"country": "Pays",
|
||
"language": "Langue",
|
||
"ttbKey": "Clé TTB"
|
||
},
|
||
"helpers": {
|
||
"googleApiKey": "Clé Google Books API de Google Cloud."
|
||
},
|
||
"hints": {
|
||
"google": "Large couverture de l'index des livres de Google. Google Books nécessite désormais une clé API avant que ce fournisseur puisse être activé.",
|
||
"amazon": "Le cookie de session est recommandé. Collez uniquement la valeur du cookie (pas de « Cookie : »).",
|
||
"goodreads": "La plus grande communauté de lecture sur le Web. Aucune configuration requise.",
|
||
"hardcover": "Une alternative moderne à Goodreads. Jeton de hardcover.app/account/api. Le préfixe « Bearer » est facultatif.",
|
||
"openLibrary": "Le catalogue de livres gratuit d'Internet Archive. Aucune configuration requise.",
|
||
"itunes": "Le catalogue de livres numériques d'Apple. Choisissez si vous souhaitez récupérer des couvertures haute résolution ou standard.",
|
||
"kobo": "Gratte les pages du livre public de Kobo. Le pays et la langue doivent correspondre aux chemins Kobo URL ; la protection contre les robots peut bloquer les demandes.",
|
||
"audible": "Extrait les métadonnées du livre audio de Audible. Aucune configuration supplémentaire n'est requise.",
|
||
"audnexus": "Métadonnées de livres audio gérées par la communauté. Aucune configuration requise.",
|
||
"librofm": "Métadonnées d'un catalogue de livres audio sans DRM. Utilise un point de terminaison Libro.fm non documenté et est désactivé par défaut.",
|
||
"comicvine": "Métadonnées de bande dessinée de ComicVine. Une clé API gratuite est requise sur comicvine.gamespot.com.",
|
||
"ranobedb": "Métadonnées du light novel japonais de RanobeDB. Aucune configuration requise.",
|
||
"lubimyczytac": "Catalogue de livres polonais (lubimyczytac.pl). Extrait les pages publiques des livres. Aucune configuration requise.",
|
||
"aladin": "Métadonnées du livre coréen d'Aladin (알라딘). Une clé TTB d'aladin.co.kr est requise."
|
||
},
|
||
"blocked": {
|
||
"google": "Google Books nécessite une clé API avant de pouvoir être activé",
|
||
"hardcover": "Hardcover nécessite une clé API avant de pouvoir être activé",
|
||
"hardcoverTest": "Le jeton Hardcover doit réussir le test avant de pouvoir être activé",
|
||
"comicvine": "ComicVine nécessite une clé API avant de pouvoir être activé",
|
||
"aladin": "Aladin nécessite une clé TTB avant de pouvoir être activé"
|
||
}
|
||
},
|
||
"fieldRules": {
|
||
"clearAllProviders": "Effacer tous les fournisseurs",
|
||
"clearAll": "Tout effacer",
|
||
"resetToDefault": "Réinitialiser aux valeurs par défaut",
|
||
"reset": "Réinitialiser",
|
||
"dragProvidersHint": "Faites glisser les fournisseurs d'ici vers n'importe quel champ pour les ajouter",
|
||
"dragProviderHere": "faites glisser un fournisseur ici",
|
||
"howItWorks": {
|
||
"title": "Comment fonctionnent les règles de champ",
|
||
"priorityOrder": {
|
||
"title": "Ordre prioritaire",
|
||
"body": "Faites glisser les fournisseurs dans la liste pour les réorganiser. Le principal fournisseur qui renvoie un résultat sera la source principale de ce champ."
|
||
},
|
||
"mergeStrategy": {
|
||
"title": "Stratégie de fusion",
|
||
"fillMissingTerm": "Remplissez manquant :",
|
||
"fillMissingBody": "N'écrivez que si la valeur actuelle est vide.",
|
||
"overwriteTerm": "Écraser :",
|
||
"overwriteBody": "Remplacez chaque fois qu'un fournisseur dispose de données."
|
||
},
|
||
"summary": "Les fournisseurs sont essayés de haut en bas et le premier à renvoyer une valeur l'emporte. La stratégie de fusion détermine si cette valeur peut remplacer celle que le livre possède déjà ; les genres peuvent aussi ajouter de nouvelles valeurs uniques. Définissez les valeurs par défaut ici, puis remplacez-les champ par champ, par bibliothèque."
|
||
},
|
||
"libraryOverrides": {
|
||
"title": "Remplacements de bibliothèque",
|
||
"hint": "Développez une bibliothèque pour personnaliser des champs individuels. Les champs non remplacés héritent des valeurs par défaut globales."
|
||
},
|
||
"global": {
|
||
"title": "Valeurs par défaut globales",
|
||
"hint": "Règles par défaut appliquées à chaque bibliothèque. Remplacez par bibliothèque ci-dessous.",
|
||
"saveDefaults": "Enregistrer les paramètres par défaut",
|
||
"clearAllConfirm": "Supprimer tous les fournisseurs actifs de chaque champ ? Ceci sera enregistré immédiatement et ne pourra pas être annulé.",
|
||
"resetConfirm": "Réinitialiser toutes les règles de champ globales aux valeurs par défaut du système ? Cela écrasera votre configuration actuelle."
|
||
},
|
||
"advanced": {
|
||
"title": "Comportement de récupération avancé",
|
||
"combineGenres": {
|
||
"label": "Combiner les genres de tous les fournisseurs sélectionnés",
|
||
"hint": "Collecter et rassembler les genres de chaque fournisseur attribués au champ Genres plutôt que de s'arrêter au premier résultat."
|
||
},
|
||
"maxGenres": {
|
||
"label": "Maximum de genres par livre",
|
||
"hint": "Appliqué après les exclusions et la suppression des doublons. Laisser vide pour illimité. Ceci affectera les futures récupérations de métadonnées.",
|
||
"unlimited": "Illimité",
|
||
"error": "Entrez un nombre entier de 1 à {max} ou laissez le champ vide."
|
||
},
|
||
"storeProviderIds": {
|
||
"label": "Stocker les identifiants des fournisseurs sur les livres",
|
||
"hint": "Lors de la récupération des métadonnées enregistrer les identifiants de fournisseurs correspondants (ISBN, ASIN, Goodreads ID, etc.) dans l'enregistrement du livre pour des recherches futures plus précises."
|
||
},
|
||
"existingProviderIdsOnly": {
|
||
"label": "Utiliser uniquement les identifiants de fournisseur existants",
|
||
"hint": "Pour les livres déjà présents dans la bibliothèque, n'interroger que les fournisseurs dont un identifiant est enregistré, sans jamais se rabattre sur une recherche lorsque la consultation par identifiant échoue. La recherche manuelle et la découverte de nouveaux livres ne sont pas concernées."
|
||
}
|
||
},
|
||
"library": {
|
||
"primary": "Principal :",
|
||
"overrideCount": "{count, plural, one {# remplacement} other {# remplacements} many {# remplacements}}",
|
||
"unsavedSuffix": "(non enregistré)",
|
||
"unsavedChanges": "Modifications non enregistrées",
|
||
"globalDefaults": "Valeurs par défaut globales",
|
||
"overriding": "Remplacement : {fields}",
|
||
"inheritingAll": "Héritage de toutes les règles globales de métadonnées",
|
||
"subHint": "Les champs non remplacés héritent des valeurs par défaut globales.",
|
||
"resetTooltip": "Supprimez tous les remplacements et héritez des valeurs par défaut globales",
|
||
"clearAllConfirm": "Supprimer tous les fournisseurs actifs de chaque champ dans « {library} » ?",
|
||
"resetConfirm": "Réinitialiser « {library} » aux valeurs par défaut globales ? Tous les remplacements de bibliothèque seront supprimés."
|
||
},
|
||
"groups": {
|
||
"core": "Noyau",
|
||
"contributors": "Contributeurs",
|
||
"publication": "Publication",
|
||
"series": "Série",
|
||
"classification": "Classement",
|
||
"audiobook": "Livre audio"
|
||
},
|
||
"groupSummary": {
|
||
"base": "{fields} champs · {enabled} activés",
|
||
"withOverrides": "{base} · {overrides} remplacements",
|
||
"enabledOf": "{enabled} champs activés sur {fields}"
|
||
},
|
||
"table": {
|
||
"field": "Champ",
|
||
"activeProviders": "Fournisseurs actifs (classés par priorité)",
|
||
"mergeStrategy": "Stratégie de fusion",
|
||
"status": "Statut",
|
||
"noMatches": "Aucun champ ne correspond à ces filtres."
|
||
},
|
||
"field": {
|
||
"noProviders": "Activé mais n'a aucun fournisseur",
|
||
"empty": "Vide",
|
||
"config": "Configuration",
|
||
"custom": "Personnalisé",
|
||
"default": "Par défaut",
|
||
"resetToDefault": "Réinitialiser aux valeurs par défaut",
|
||
"toggle": "Récupérer {field} lors de l'actualisation des métadonnées",
|
||
"configure": "Configurer {field}",
|
||
"add": "Ajouter",
|
||
"addHint": "Ajouté à la fin de l'ordre. Faites glisser une étiquette pour la placer plus haut.",
|
||
"addProviderTo": "Ajouter un fournisseur à {field}",
|
||
"removeProvider": "Supprimer {provider}",
|
||
"noProvidersYet": "Aucun fournisseur pour le moment",
|
||
"skippedCount": "{count, plural, one {# ignoré} other {# ignorés} many {# ignorés}}",
|
||
"unsaved": "Non enregistré",
|
||
"override": "Remplacer",
|
||
"inherited": "Hérité",
|
||
"morePreview": "+{count} de plus"
|
||
},
|
||
"reservoir": {
|
||
"disabled": "{provider} - désactivé",
|
||
"notConfigured": "{provider} - non configuré",
|
||
"dragToAssign": "Faites glisser pour attribuer {provider} à un champ"
|
||
},
|
||
"sheet": {
|
||
"subtitle": "Appuyez sur les fournisseurs à attribuer, utilisez les flèches pour réorganiser",
|
||
"enableField": "Activer ce champ lors de l'actualisation",
|
||
"providers": "Fournisseurs",
|
||
"statusDisabled": "désactivé",
|
||
"statusNotConfigured": "non configuré",
|
||
"done": "Terminé"
|
||
},
|
||
"scope": {
|
||
"label": "Portée de la règle",
|
||
"global": "Valeurs par défaut globales",
|
||
"overrideCount": "{count, plural, one {# champ remplacé} other {# champs remplacés} many {# champs remplacés}}",
|
||
"unsavedMarker": "Modifications non enregistrées"
|
||
},
|
||
"toolbar": {
|
||
"searchFields": "Rechercher des champs",
|
||
"clearSearch": "Effacer la recherche",
|
||
"provider": "Fournisseur",
|
||
"anyProvider": "Tous",
|
||
"providerMenuTitle": "Filtrer et modifier en masse par fournisseur",
|
||
"usedIn": "{count, plural, =0 {non utilisé} one {# champ} other {# champs} many {# champs}}",
|
||
"showOnlyThese": "Afficher uniquement les champs qui l'utilisent",
|
||
"bulkLabel": "Appliquer aux {count} champs qui l'utilisent",
|
||
"makeFirst": "Placer en premier partout",
|
||
"makeLast": "Placer en dernier partout",
|
||
"removeEverywhere": "Supprimer de tous les champs",
|
||
"allFields": "Tous les champs",
|
||
"overridesOnly": "Remplacements uniquement",
|
||
"clearFilters": "Effacer les filtres"
|
||
},
|
||
"providerState": {
|
||
"disabled": "Désactivé",
|
||
"notConfigured": "Non configuré",
|
||
"disabledDetail": "{provider} est désactivé ; il reste donc dans l'ordre, mais est ignoré.",
|
||
"notConfiguredDetail": "{provider} n'a pas encore d'identifiants ; il reste donc dans l'ordre, mais est ignoré."
|
||
},
|
||
"detail": {
|
||
"priority": "Priorité des fournisseurs",
|
||
"priorityHint": "Le premier fournisseur qui renvoie une valeur est retenu.",
|
||
"moveUp": "Placer {provider} plus haut",
|
||
"moveDown": "Placer {provider} plus bas",
|
||
"result": "Résultat",
|
||
"resultHint": "Lors de la prochaine actualisation, ce champ est résolu dans cet ordre :",
|
||
"noUsableProviders": "Aucun fournisseur utilisable : ce champ ne sera pas renseigné.",
|
||
"skippedSummary": "{count, plural, one {{providers} est dans l'ordre mais sera ignoré.} other {{providers} sont dans l'ordre mais seront ignorés.} many {{providers} sont dans l'ordre mais seront ignorés.}}",
|
||
"appliesTo": "S'applique à {scope}.",
|
||
"inheritGlobal": "Hériter de la règle globale",
|
||
"inheritingGlobal": "Hérite de la règle globale.",
|
||
"collapse": "Réduire"
|
||
},
|
||
"save": {
|
||
"upToDate": "Aucune modification non enregistrée",
|
||
"unsaved": "{count, plural, one {# modification non enregistrée} other {# modifications non enregistrées} many {# modifications non enregistrées}} dans {scope}",
|
||
"discard": "Ignorer",
|
||
"action": "Enregistrer {scope}"
|
||
},
|
||
"confirm": {
|
||
"clearProviders": {
|
||
"title": "Supprimer tous les fournisseurs ?",
|
||
"description": "Cette action vide la liste des fournisseurs pour les 16 champs de {scope}. Rien n'est enregistré tant que vous n'avez pas choisi Enregistrer."
|
||
},
|
||
"resetScope": {
|
||
"title": "Rétablir les valeurs par défaut ?",
|
||
"globalDescription": "Cette action remplace vos règles de champ globales par les valeurs par défaut du système et les enregistre immédiatement.",
|
||
"libraryDescription": "Cette action supprime toutes les substitutions de {scope} afin qu'il hérite à nouveau des règles globales, et les enregistre immédiatement."
|
||
},
|
||
"removeProvider": {
|
||
"title": "Supprimer {provider} de tous les champs ?",
|
||
"description": "Cette action retire {provider} de l'ordre des fournisseurs pour chaque champ de {scope}. Rien n'est enregistré tant que vous n'avez pas choisi Enregistrer."
|
||
}
|
||
}
|
||
},
|
||
"genreBlocklist": {
|
||
"heading": "Exclusions de genres mondiaux",
|
||
"hint": "Les valeurs exactes de genre dans cette liste sont supprimées des résultats du fournisseur avant l'écriture des métadonnées.",
|
||
"saving": "Économiser",
|
||
"genreValueLabel": "Valeur du genre",
|
||
"addPlaceholder": "Ajoutez une valeur de genre, par exemple Livre audio",
|
||
"duplicate": "Ce genre est déjà bloqué.",
|
||
"add": "Ajouter",
|
||
"filterPlaceholder": "Filtrer la liste de blocage",
|
||
"entryCount": "{count, plural, one {# entrée} other {# entrées} many {# entrées}}",
|
||
"filteredCount": "{shown} sur {total}",
|
||
"noFilterMatch": "Aucun genre bloqué ne correspond au filtre actuel.",
|
||
"emptyTitle": "Aucun genre bloqué",
|
||
"emptyHint": "Ajoutez des valeurs exactes telles que Livre audio ou Adulte pour les empêcher d'apparaître dans les métadonnées récupérées.",
|
||
"removeLabel": "Supprimer {genre}"
|
||
},
|
||
"customFields": {
|
||
"label": "Étiquette",
|
||
"labelPlaceholder": "par ex. Titre original",
|
||
"labelTooLong": "L'étiquette doit comporter 255 caractères maximum",
|
||
"labelDuplicate": "Un champ avec ce libellé existe déjà",
|
||
"type": "Type",
|
||
"usage": "{count, plural, one {Utilisé par # livre} other {Utilisé par # livres} many {Utilisé par # livres}}",
|
||
"newField": {
|
||
"title": "Nouveau champ",
|
||
"hint": "Définissez un champ de métadonnées personnalisé et choisissez les bibliothèques qui l'utilisent."
|
||
},
|
||
"previewToggle": "Aperçu de l'apparence de ce champ lors de la modification d'un livre",
|
||
"untitledField": "Champ sans titre",
|
||
"addField": "Ajouter un champ",
|
||
"fields": "Champs",
|
||
"fieldsHint": "Faites glisser pour réorganiser, modifier les étiquettes, basculer entre les bibliothèques ou archiver les champs dont vous n'avez plus besoin.",
|
||
"searchPlaceholder": "Champs de recherche",
|
||
"searchAriaLabel": "Rechercher des champs personnalisés",
|
||
"emptyTitle": "Pas encore de champs personnalisés",
|
||
"emptyHint": "Utilisez le formulaire ci-dessus pour définir votre premier champ de métadonnées personnalisé.",
|
||
"noMatchTitle": "Aucun champ ne correspond à « {query} »",
|
||
"noMatchHint": "Essayez une autre étiquette, clé ou type.",
|
||
"clearSearchToReorder": "Effacer la recherche pour réorganiser",
|
||
"dragToReorder": "Faites glisser pour réorganiser",
|
||
"dragToReorderField": "Faites glisser pour réorganiser le champ",
|
||
"unsaved": "Non enregistré",
|
||
"archive": "Archiver",
|
||
"archivedFields": "Champs archivés",
|
||
"archivedSummary": "{count, plural, one {# champ archivé - restaurer ou supprimer définitivement.} other {# champs archivés - restaurer ou supprimer définitivement.} many {# champs archivés - restaurer ou supprimer définitivement.}}",
|
||
"archivedAt": "Archivé {when}",
|
||
"restore": "Restaurer",
|
||
"deleteForever": "Supprimer pour toujours",
|
||
"deleteDialog": {
|
||
"title": "Supprimer définitivement le champ",
|
||
"bodyBefore": "Cela supprimera définitivement",
|
||
"bodyMiddle": "et supprimera ses valeurs stockées de",
|
||
"bodyAfter": ". Cela ne peut pas être annulé.",
|
||
"confirmBefore": "Tapez",
|
||
"confirmAfter": "pour confirmer",
|
||
"confirmPlaceholder": "Tapez le libellé du champ pour confirmer"
|
||
},
|
||
"preview": "Aperçu",
|
||
"sampleValue": "Exemple de valeur",
|
||
"enabledLibraries": "Bibliothèques activées",
|
||
"countOf": "{selected} sur {total}",
|
||
"selectAll": "Tout sélectionner",
|
||
"clear": "Effacer",
|
||
"noLibraries": "Aucune bibliothèque disponible pour l'instant.",
|
||
"allLibraries": "Toutes les bibliothèques"
|
||
},
|
||
"tabs": {
|
||
"providers": "Fournisseurs",
|
||
"field-rules": "Règles de terrain",
|
||
"custom-fields": "Champs personnalisés",
|
||
"genre-blocklist": "Liste de blocage des genres",
|
||
"score": "Score de confiance",
|
||
"auto-fetch": "Livres",
|
||
"authors": "Auteurs"
|
||
},
|
||
"tabTitles": {
|
||
"providers": "Fournisseurs",
|
||
"field-rules": "Règles au niveau du champ",
|
||
"custom-fields": "Métadonnées personnalisées",
|
||
"genre-blocklist": "Liste de blocage des genres",
|
||
"score": "Score de confiance",
|
||
"auto-fetch": "Récupération automatique du livre",
|
||
"authors": "Récupération automatique de l'auteur"
|
||
},
|
||
"tabSubtitles": {
|
||
"providers": "Activez les sources de métadonnées externes et configurez leurs informations d'identification.",
|
||
"field-rules": "Contrôlez quel fournisseur fournit chaque champ de métadonnées et comment les valeurs sont fusionnées dans vos bibliothèques.",
|
||
"custom-fields": "Définissez des champs de métadonnées personnalisés et choisissez les bibliothèques qui les utilisent.",
|
||
"genre-blocklist": "Empêchez que les valeurs de genre indésirables du fournisseur soient écrites dans les livres.",
|
||
"score": "Déterminez la contribution de chaque champ de métadonnées au score d'exhaustivité affiché pour chaque livre.",
|
||
"auto-fetch": "Récupérez automatiquement des couvertures, des descriptions et d'autres détails lorsque de nouveaux livres sont ajoutés à votre bibliothèque.",
|
||
"authors": "Récupérez automatiquement des biographies et des photos de profil lorsque de nouveaux auteurs apparaissent dans votre bibliothèque."
|
||
},
|
||
"preferences": {
|
||
"toast": {
|
||
"saved": "Préférences de métadonnées enregistrées",
|
||
"saveFailed": "Impossible d'enregistrer les préférences de métadonnées. Vérifiez votre connexion et réessayez.",
|
||
"globalReset": "Règles de champ globales rétablies aux valeurs par défaut du système",
|
||
"libraryReset": "Bibliothèque réinitialisée aux règles globales",
|
||
"resetFailed": "Impossible de rétablir les préférences de métadonnées. Vérifiez votre connexion et réessayez."
|
||
}
|
||
}
|
||
},
|
||
"reader": {
|
||
"resetToDefaults": "Réinitialiser aux valeurs par défaut",
|
||
"all": {
|
||
"title": "Lecteur",
|
||
"subtitle": "Configurez les valeurs par défaut pour tous les modes de lecture en un seul endroit."
|
||
},
|
||
"general": {
|
||
"title": "Lecture",
|
||
"subtitle": "Comportement général qui s'applique à tous les types de lecteurs.",
|
||
"storageLabel": "Où enregistrer les préférences du lecteur",
|
||
"deviceOnly": "Cet appareil uniquement",
|
||
"deviceOnlyHint": "Les préférences restent dans votre navigateur. Idéal si vous lisez toujours sur cet appareil ou si vous souhaitez des paramètres différents par appareil.",
|
||
"myAccount": "Mon compte",
|
||
"myAccountHint": "Les préférences sont enregistrées sur votre compte. Idéal si vous vous connectez à partir de plusieurs appareils et souhaitez une expérience cohérente partout.",
|
||
"active": "Actif",
|
||
"notAvailable": "Non disponible",
|
||
"demoCannotChangeStorage": "Le compte restreint à la démo ne peut pas modifier le mode de stockage du lecteur",
|
||
"preferencesSynced": "Les préférences seront désormais synchronisées",
|
||
"preferencesLocal": "Les préférences resteront sur cet appareil",
|
||
"storageUpdateFailed": "Échec de la mise à jour du mode de stockage",
|
||
"storageUpdateError": "Une erreur s'est produite lors de la mise à jour du mode de stockage"
|
||
},
|
||
"ebook": {
|
||
"title": "Lecteur Ebook",
|
||
"subtitle": "Paramètres par défaut appliqués lors de l'ouverture des fichiers EPUB, MOBI, FB2 et TXT.",
|
||
"newBooks": "Nouveaux livres",
|
||
"applySettings": "Appliquer mes paramètres aux nouveaux livres",
|
||
"applySettingsHint": "Lorsqu'elle est désactivée, les nouveaux livres s'ouvrent avec les polices et la mise en page propres à l'éditeur. Vos paramètres ne s'appliquent qu'une fois que vous modifiez quelque chose dans le lecteur.",
|
||
"layout": "Disposition",
|
||
"readingFlow": "Flux de lecture",
|
||
"readingFlowHint": "Le mode paginé tourne les pages ; le mode défilé fait défiler le texte en continu",
|
||
"paginated": "Paginé",
|
||
"scrolled": "Défilé",
|
||
"fixedLayoutSpread": "Pages doubles à mise en page fixe",
|
||
"fixedLayoutSpreadHint": "Valeur par défaut pour les mangas, les bandes dessinées et les EPUB basés sur des images",
|
||
"bookDefault": "Valeur par défaut du livre",
|
||
"singlePage": "Page unique",
|
||
"columns": "Colonnes",
|
||
"columnsHint": "Nombre de colonnes de texte par page",
|
||
"theme": "Thème",
|
||
"darkMode": "Mode sombre",
|
||
"darkModeHint": "Utiliser la variante sombre du thème sélectionné",
|
||
"typography": "Typographie",
|
||
"font": "Police",
|
||
"fontHint": "Police utilisée pour le corps du texte",
|
||
"fontStyle": "Style de police",
|
||
"fontStyleHint": "Graisse et inclinaison du texte courant. Le gras et l'italique du livre restent relatifs à ce réglage.",
|
||
"builtInFonts": "Polices intégrées",
|
||
"yourFonts": "Vos polices",
|
||
"fontSize": "Taille de la police",
|
||
"fontSizeHint": "Taille du texte de base en pixels",
|
||
"lineHeight": "Hauteur de ligne",
|
||
"lineHeightHint": "Espacement vertical entre les lignes",
|
||
"paragraphSpacing": "Espacement des paragraphes",
|
||
"paragraphSpacingHint": "Espace entre les paragraphes. « Valeur par défaut du livre » conserve l'espacement de l'éditeur.",
|
||
"paragraphSpacingDefault": "Valeur par défaut du livre",
|
||
"paragraphSpacingValue": "{value} em",
|
||
"letterSpacing": "Espacement des lettres",
|
||
"letterSpacingHint": "Espace entre les lettres. « Valeur par défaut du livre » conserve l'espacement de l'éditeur.",
|
||
"wordSpacing": "Espacement des mots",
|
||
"wordSpacingHint": "Espace entre les mots. « Valeur par défaut du livre » conserve l'espacement de l'éditeur.",
|
||
"textIndent": "Retrait de première ligne",
|
||
"textIndentHint": "Retrait au début des paragraphes ordinaires. « Valeur par défaut du livre » conserve le retrait de l'éditeur.",
|
||
"custom": "Personnalisé",
|
||
"emValue": "{value} em",
|
||
"justify": "Justifier le texte",
|
||
"justifyHint": "Aligner le texte sur les deux marges",
|
||
"hyphenation": "Césure",
|
||
"hyphenationHint": "Coupez automatiquement les mots longs avec des traits d'union",
|
||
"advanced": "Avancé",
|
||
"maxContentWidth": "Largeur maximale du contenu",
|
||
"maxContentWidthHint": "Largeur maximale de la zone de texte en pixels",
|
||
"columnGap": "Écart de colonne",
|
||
"columnGapHint": "Remplissage horizontal de chaque côté de la zone de texte"
|
||
},
|
||
"pdf": {
|
||
"title": "PDF Lecteur",
|
||
"subtitle": "Paramètres par défaut appliqués lors de l'ouverture des fichiers PDF.",
|
||
"layout": "Disposition",
|
||
"scrollMode": "Mode défilement",
|
||
"scrollModeHint": "Les pages se retournent une à la fois ; défile en continu à travers toutes les pages",
|
||
"page": "Pages",
|
||
"scrolled": "Défilé",
|
||
"pageSpread": "Page étendue",
|
||
"pageSpreadHint": "Quel numéro de page commence à droite en affichage sur deux pages",
|
||
"spreadNone": "Aucun",
|
||
"spreadOdd": "Bizarre",
|
||
"spreadEven": "Paires",
|
||
"zoom": "Zoom",
|
||
"defaultFit": "Ajustement par défaut",
|
||
"defaultFitHint": "Comment les pages sont mises à l'échelle lorsqu'un PDF est ouvert",
|
||
"fitPage": "Ajuster la page",
|
||
"fitWidth": "Ajuster la largeur",
|
||
"custom": "Personnalisé",
|
||
"zoomLevel": "Niveau de zoom",
|
||
"zoomLevelHint": "Facteur d'échelle pour le mode de zoom personnalisé"
|
||
},
|
||
"comics": {
|
||
"title": "Lecteur de bandes dessinées",
|
||
"subtitle": "Paramètres par défaut appliqués lors de l'ouverture des fichiers CBZ, CBR et CB7.",
|
||
"view": "Voir",
|
||
"readingMode": "Mode lecture",
|
||
"readingModeHint": "Comment les pages sont parcourues - utilisez « Infini (pas d'espaces) » pour les webtoons",
|
||
"paginated": "Paginé",
|
||
"infiniteSpaced": "Infini (espacé)",
|
||
"infiniteNoGaps": "Infini (pas de trous)",
|
||
"pageView": "Affichage des pages",
|
||
"pageViewHint": "Afficher une ou deux pages côte à côte",
|
||
"single": "Une page",
|
||
"twoPage": "Deux pages",
|
||
"fitMode": "Mode d'ajustement",
|
||
"fitModeHint": "Comment les pages sont mises à l'échelle pour s'adapter à l'écran",
|
||
"fitPage": "Pages",
|
||
"fitWidth": "Largeur",
|
||
"fitHeight": "Hauteur",
|
||
"fitActual": "Réel",
|
||
"readingDirection": "Sens de lecture",
|
||
"readingDirectionHint": "De gauche à droite pour les bandes dessinées occidentales ; de droite à gauche pour les mangas",
|
||
"ltr": "De gauche à droite",
|
||
"rtl": "R à L",
|
||
"spreadAlignment": "Alignement de la propagation",
|
||
"spreadAlignmentHint": "Décaler l'appariement d'une page après la couverture, pour les numérisations mal alignées",
|
||
"alignmentNormal": "Normale",
|
||
"alignmentShifted": "Décalé",
|
||
"spreadGap": "Écart de propagation",
|
||
"spreadGapHint": "Espace entre les pages en affichage sur deux pages",
|
||
"spreadGapValue": "{value}px",
|
||
"widePageHandling": "Gestion des pages larges",
|
||
"widePageHandlingHint": "Affiche automatiquement les numérisations larges uniquement en mode paginé sur deux pages",
|
||
"widePageAuto": "Automatique",
|
||
"widePageDisable": "Désactiver",
|
||
"forceTwoPage": "Forcer deux pages sur les petits écrans",
|
||
"forceTwoPageHint": "Contourner le repli automatique mobile lorsque le mode paginé sur deux pages est sélectionné",
|
||
"autoAdvance": "Passer automatiquement au livre suivant",
|
||
"autoAdvanceHint": "Tournez après la dernière page pour ouvrir le livre suivant de la série",
|
||
"off": "Désactivé",
|
||
"on": "Sur",
|
||
"display": "Affichage",
|
||
"backgroundColor": "Couleur de fond",
|
||
"backgroundColorHint": "Couleur de la toile derrière les pages",
|
||
"bgBlack": "Noir",
|
||
"bgGray": "Gris",
|
||
"bgWhite": "Blanc"
|
||
},
|
||
"audio": {
|
||
"title": "Lecteur de livres audio",
|
||
"subtitle": "Paramètres par défaut appliqués lors de la lecture de M4B, MP3 et d'autres formats audio.",
|
||
"playback": "Lecture",
|
||
"playbackSpeed": "Vitesse de lecture par défaut",
|
||
"playbackSpeedHint": "Multiplicateur de vitesse appliqué lors de l'ouverture d'un nouveau livre audio",
|
||
"volume": "Volume par défaut",
|
||
"volumeHint": "Niveau de volume initial (0 à 100 %)",
|
||
"skipControls": "Ignorer les contrôles",
|
||
"skipBack": "Revenir en arrière sur la durée",
|
||
"skipBackHint": "Secondes rembobinées lors d'une pression en arrière",
|
||
"skipForward": "Avancer la durée",
|
||
"skipForwardHint": "Secondes avancées en appuyant sur le saut en avant"
|
||
},
|
||
"fonts": {
|
||
"title": "Polices",
|
||
"subtitle": "Envoyez des polices personnalisées à utiliser dans le lecteur Ebook.",
|
||
"uploadFonts": "Envoyer des polices",
|
||
"notAvailableDemo": "Non disponible pour les comptes démo",
|
||
"uploading": "Envoi en cours...",
|
||
"dropFilesHere": "Déposez les fichiers ici",
|
||
"dragFontsPrefix": "Faites glisser les fichiers de polices ici, ou",
|
||
"browse": "parcourir",
|
||
"fileTypesHint": "TTF, OTF, WOFF et WOFF2 - 50 Mo maximum par fichier",
|
||
"yourFonts": "Vos polices",
|
||
"fontsUsed": "{count} / {max} utilisé",
|
||
"noFontsYet": "Aucune police envoyée pour le moment",
|
||
"noFontsHint": "Faites glisser un fichier de police ci-dessus pour commencer.",
|
||
"fileCount": "{count, plural, =0 {pas de fichiers} one {# fichier} other {# fichiers} many {# fichiers}}",
|
||
"pangram": "Le renard brun rapide saute par-dessus le chien paresseux",
|
||
"renameFamily": "Renommer la famille",
|
||
"deleteFamily": "Supprimer la famille",
|
||
"editVariant": "Modifier le poids/le style",
|
||
"deleteVariant": "Supprimer la variante",
|
||
"styleNormal": "Normale",
|
||
"styleItalic": "Italique",
|
||
"weightItalicOf": "{weight} italique",
|
||
"variableRange": "Variable {min}-{max}",
|
||
"variableStyles": "{count, plural, one {# style} other {# styles} many {# styles}}",
|
||
"weightThin": "Mince",
|
||
"weightExtraLight": "Lumière supplémentaire",
|
||
"weightLight": "Fin",
|
||
"weightRegular": "Régulier",
|
||
"weightMedium": "Moyen",
|
||
"weightSemiBold": "Semi-gras",
|
||
"weightBold": "Audacieux",
|
||
"weightExtraBold": "Extra audacieux",
|
||
"weightBlack": "Noir",
|
||
"renameFamilyFailed": "Échec du renommage de la famille de polices",
|
||
"renamedTo": "Renommé en « {name} »",
|
||
"updateVariantFailed": "Échec de la mise à jour de la variante de police",
|
||
"deleteFontFailed": "Échec de la suppression de la police",
|
||
"deleteFamilyFailed": "Échec de la suppression de la famille de polices",
|
||
"demoCannotManage": "Le compte restreint à la démo ne peut pas gérer les polices",
|
||
"fileAdded": "« {name} » ajouté",
|
||
"uploadFailed": "Échec de l'envoi",
|
||
"serverFontsTitle": "Polices du serveur (partagées par l'admin)",
|
||
"serverFontsHint": "Ces polices proviennent de l'admin du serveur. Désactivez-en une pour qu'elle ne soit plus disponible dans votre lecteur.",
|
||
"serverFontsShown": "{count} sur {total} disponibles",
|
||
"serverFontsAllHidden": "Toutes les polices du serveur sont désactivées. Votre lecteur ne proposera que les polices intégrées et vos propres polices.",
|
||
"serverFontVisibilityFailed": "Échec de mise à jour des polices disponibles sur le serveur"
|
||
},
|
||
"bookDock": {
|
||
"title": "Book Dock",
|
||
"subtitle": "Configurez la manière dont les fichiers sont traités lorsqu'ils entrent dans Book Dock.",
|
||
"dropFolder": "Déposer le dossier",
|
||
"containerPath": "Chemin du conteneur",
|
||
"containerPathHint": "Copiez ou déplacez vos fichiers de livres dans ce dossier et ils seront automatiquement récupérés et traités par Book Dock. Les sous-répertoires sont pris en charge.",
|
||
"changePathPrefix": "Pour modifier ce chemin, définissez",
|
||
"changePathMiddle": "dans votre",
|
||
"changePathSuffix": "fichier.",
|
||
"metadata": "Métadonnées",
|
||
"autoFetch": "Récupérer automatiquement les métadonnées des fournisseurs",
|
||
"autoFetchHint": "Récupère automatiquement les métadonnées des fournisseurs configurés (Google Books, iTunes, Open Library, etc.) après l'ajout d'un fichier à Book Dock.",
|
||
"autoFinalize": "Finalisation automatique",
|
||
"enableAutoFinalize": "Activer la finalisation automatique",
|
||
"enableAutoFinalizeHint": "Les fichiers dont le score de confiance des métadonnées est égal ou supérieur au seuil seront finalisés automatiquement.",
|
||
"confidenceThreshold": "Seuil de confiance : {value} %",
|
||
"thresholdIgnored": "(ignoré en mode intégré uniquement)",
|
||
"destinationLibrary": "Bibliothèque de destinations",
|
||
"selectLibrary": "Sélectionnez une bibliothèque...",
|
||
"metadataMode": "Mode métadonnées",
|
||
"metadataModeSafeMerge": "Fusion sécurisée (recommandé)",
|
||
"metadataModeFetchedOnly": "Récupéré uniquement",
|
||
"metadataModeEmbeddedOnly": "Intégré uniquement",
|
||
"destinationFolder": "Dossier de destination",
|
||
"selectFolder": "Sélectionnez un dossier...",
|
||
"saveSettingFailed": "Échec de l'enregistrement du paramètre",
|
||
"updateSettingFailed": "Échec de la mise à jour du paramètre",
|
||
"autoFetchEnabled": "Récupération automatique activée",
|
||
"autoFetchDisabled": "Récupération automatique désactivée",
|
||
"autoFinalizeEnabled": "Finalisation automatique activée",
|
||
"autoFinalizeDisabled": "Finalisation automatique désactivée",
|
||
"destinationLibraryUpdated": "Bibliothèque de destinations mise à jour",
|
||
"destinationFolderUpdated": "Dossier de destination mis à jour",
|
||
"confidenceThresholdUpdated": "Seuil de confiance mis à jour",
|
||
"metadataModeUpdated": "Mode métadonnées mis à jour"
|
||
},
|
||
"fileNaming": {
|
||
"title": "Nommage des fichiers",
|
||
"subtitle": "Contrôlez l'organisation des fichiers sur le disque lors de leur envoi et leur nom lors du téléchargement à l'aide de jetons de substitution.",
|
||
"copy": "Copier",
|
||
"previewLabel": "Aperçu :",
|
||
"globalDefaults": "Valeurs par défaut globales",
|
||
"crossPlatform": "Normalisation multiplateforme des chemins",
|
||
"crossPlatformHint": "Sécurisez les noms de fichiers et de dossiers générés sous Windows en remplaçant les caractères non valides et les noms réservés, et en supprimant les points et les espaces de fin. Désactivez uniquement pour les configurations Linux uniquement qui conservent intentionnellement ces caractères.",
|
||
"fileAsBookDefault": "Fichier comme livre par défaut",
|
||
"fileAsBookDefaultHint": "Modèle d'envoi des bibliothèques utilisant le mode Fichier comme livre. Chaque fichier est un livre.",
|
||
"folderAsBookDefault": "Dossier comme livre par défaut",
|
||
"folderAsBookDefaultHint": "Modèle d'envoi des bibliothèques utilisant le mode Dossier comme livre. Chaque livre doit se trouver dans son propre dossier.",
|
||
"downloadPattern": "Modèle de téléchargement",
|
||
"downloadPatternHint": "Noms de fichiers suggérés pour les téléchargements de fichiers uniques et les fichiers dans les ZIP d'exportation.",
|
||
"libraryOverrides": "Paramètres propres aux bibliothèques",
|
||
"noLibraries": "Aucune bibliothèque configurée. Créez-en une dans les paramètres de la bibliothèque pour définir des modèles de nommage personnalisés.",
|
||
"badgeCustom": "Personnalisé",
|
||
"badgeDefault": "Par défaut",
|
||
"orgFolderAsBook": "Dossier en tant que livre",
|
||
"orgFileAsBook": "Fichier en tant que livre",
|
||
"resetToDefault": "Réinitialiser aux valeurs par défaut",
|
||
"tokens": "Jetons",
|
||
"clickTokenHint": "Cliquez sur n'importe quel jeton pour le copier dans votre presse-papiers.",
|
||
"copyValue": "Copier {value}",
|
||
"modifiers": "Modificateurs",
|
||
"modifiersExplain": "Ajoutez un modificateur à l'intérieur d'un jeton pour transformer sa valeur :",
|
||
"modFirst": "Première valeur uniquement",
|
||
"modSort": "Format Nom, Prénom",
|
||
"modInitial": "Première lettre seulement",
|
||
"modFixed2": "Deux décimales",
|
||
"modMax3": "Trois valeurs maximum, ne rien mettre sinon",
|
||
"folderOnlyPrefix": "Terminez un modèle par",
|
||
"folderOnlySuffix": "pour spécifier un dossier uniquement. Le nom du fichier original sera conservé à l'intérieur.",
|
||
"conditionalLogic": "Logique conditionnelle",
|
||
"conditionalPart1": "Entourez de",
|
||
"conditionalPart2": "pour sauter un segment lorsque son jeton est vide. Utiliser",
|
||
"conditionalPart3": "pour une valeur par défaut.",
|
||
"examples": "Exemples",
|
||
"exCalibre": "Style Calibre par défaut",
|
||
"exSeriesReader": "Lecteur de série",
|
||
"exCleanDownload": "Nom de fichier de téléchargement nettoyé",
|
||
"exAlphabetical": "Regroupement alphabétique avec séries",
|
||
"exSeriesFallback": "Solution de repli pour série ou livre indépendant",
|
||
"exOptionalSubtitle": "Téléchargement avec sous-titre facultatif",
|
||
"exMultilingual": "Bibliothèque multilingue",
|
||
"exPublisher": "Organisé par l'éditeur",
|
||
"exStacked": "Dossiers facultatifs empilés",
|
||
"exFolderDrop": "Dossier déposé avec le nom du tri",
|
||
"caseWithYear": "avec année",
|
||
"caseNoYear": "sans année",
|
||
"caseInSeries": "en série",
|
||
"caseStandalone": "autonome",
|
||
"caseNoSeries": "pas de série",
|
||
"caseFull": "complet",
|
||
"caseMinimal": "minimal",
|
||
"caseWithLanguage": "avec la langue",
|
||
"caseNoLanguage": "sans langue",
|
||
"caseWithPublisher": "avec l'éditeur",
|
||
"caseNoPublisher": "sans éditeur",
|
||
"caseAllSet": "tout est prêt",
|
||
"copiedToClipboard": "{value} copié dans le presse-papiers",
|
||
"copyTokenFailed": "Échec de la copie du jeton",
|
||
"patternCopied": "Motif copié dans le presse-papiers",
|
||
"copyPatternFailed": "Échec de la copie du modèle",
|
||
"labelCopied": "{label} copié dans le presse-papiers",
|
||
"copyLabelFailed": "Échec de la copie de {label}",
|
||
"patternHelp": "Aide sur les modèles",
|
||
"patternHelpDescription": "Jetons, modificateurs et modèles prêts à l'emploi que vous pouvez copier dans n'importe quel champ.",
|
||
"copyPreview": "Copier {label}",
|
||
"copyExample": "Copier le modèle {label}",
|
||
"invalidCharacters": "Le modèle contient des caractères non valides",
|
||
"fileAsBookSaved": "Valeur par défaut du mode « Fichier comme livre » enregistrée",
|
||
"folderAsBookSaved": "Valeur par défaut du mode « Dossier comme livre » enregistrée",
|
||
"downloadPatternSaved": "Modèle de téléchargement enregistré",
|
||
"savePatternFailed": "Échec de l'enregistrement du modèle",
|
||
"saveDownloadPatternFailed": "Échec de l'enregistrement du modèle de téléchargement",
|
||
"crossPlatformEnabled": "Normalisation multiplateforme des chemins activée",
|
||
"crossPlatformDisabled": "Normalisation multiplateforme des chemins désactivée",
|
||
"crossPlatformSaveFailed": "Échec de l'enregistrement de la normalisation multiplateforme des chemins",
|
||
"librarySaved": "Modèle enregistré pour {name}",
|
||
"librarySaveFailed": "Échec de l'enregistrement du modèle de bibliothèque",
|
||
"saveLibraryPattern": "Enregistrer le modèle pour {name}",
|
||
"resetLibraryPattern": "Réinitialiser {name} au modèle par défaut",
|
||
"tokenTitle": "Titre du livre",
|
||
"tokenSubtitle": "Sous-titre du livre",
|
||
"tokenAuthors": "Auteurs, séparés par des virgules",
|
||
"tokenNarrators": "Narrateur(s), séparés par des virgules",
|
||
"tokenYear": "Année de publication",
|
||
"tokenSeries": "Nom de la série",
|
||
"tokenSeriesIndex": "Tome (complété par des zéros)",
|
||
"tokenPublisher": "Éditeur",
|
||
"tokenIsbn": "ISBN-13",
|
||
"tokenLanguage": "Langue",
|
||
"tokenLibrary": "Nom de la bibliothèque",
|
||
"tokenOriginalFilename": "Nom de fichier d'origine (sans extension)",
|
||
"tokenExtension": "Extension de fichier (sans point)",
|
||
"patternHelpIntro": "Les modèles utilisent des jetons comme {titleToken} et {authorsToken}, ainsi que des modificateurs et des segments facultatifs.",
|
||
"browseTokensAndExamples": "Parcourir les jetons et les exemples",
|
||
"subtitleShort": "Modèles de noms de dossiers et de fichiers pour les fichiers stockés.",
|
||
"rule": {
|
||
"fileAsBook": "Valeur par défaut du mode « Fichier comme livre »",
|
||
"folderAsBook": "Valeur par défaut du mode « Dossier comme livre »",
|
||
"download": "Nom de fichier de téléchargement"
|
||
},
|
||
"howItWorks": {
|
||
"title": "Comment un chemin est choisi.",
|
||
"summary": "Une bibliothèque disposant de son propre modèle est prioritaire. Toute autre bibliothèque suit la valeur par défaut globale pour son mode d'organisation. Modifier un modèle ne déplace pas les livres déjà sur le disque ; les nouveaux envois le suivent dès le prochain envoi."
|
||
},
|
||
"filterRules": "Filtrer les règles",
|
||
"librariesGroup": "Bibliothèques",
|
||
"customCount": "{custom}/{total} personnalisées",
|
||
"noRuleMatches": "Aucune règle ne correspond à « {query} ».",
|
||
"unsavedMarker": "Modifications non enregistrées",
|
||
"backToRules": "Retour aux règles de nommage",
|
||
"appliesToLibraries": "{count, plural, =0 {Aucune bibliothèque n'utilise cette valeur par défaut} one {S'applique à # bibliothèque} other {S'applique à # bibliothèques} many {S'applique à # bibliothèques}}",
|
||
"downloadScope": "Téléchargements et ZIP d'exportation",
|
||
"badgeInherits": "Hérite de la valeur par défaut",
|
||
"badgeUnsaved": "Non enregistré",
|
||
"patternLabel": "Modèle",
|
||
"readOnlyFromGlobal": "Lecture seule, depuis la valeur par défaut globale",
|
||
"useGlobalDefault": "Utiliser la valeur par défaut globale",
|
||
"resetToShipped": "Rétablir la valeur par défaut fournie",
|
||
"addOverride": "Ajouter une substitution",
|
||
"inheritsNotice": "Cette bibliothèque suit {base}. Ajoutez un remplacement pour lui donner un modèle qui lui est propre.",
|
||
"libraryRuleHint": "Remplace {base} pour cette bibliothèque uniquement.",
|
||
"scopeLibrary": "S'applique uniquement aux envois vers {name}.",
|
||
"scopeDownload": "S'applique à chaque téléchargement de fichier unique et à chaque fichier d'un ZIP d'exportation.",
|
||
"scopeGlobal": "{count, plural, one {S'applique à # bibliothèque qui n'a pas de modèle qui lui est propre.} other {S'applique à # bibliothèques qui n'ont pas de modèle qui leur est propre.} many {S'applique à # bibliothèques qui n'ont pas de modèle qui leur est propre.}}",
|
||
"scopeGlobalNone": "Aucune bibliothèque n'utilise cette valeur par défaut actuellement ; chaque bibliothèque de ce mode possède son propre modèle.",
|
||
"unbalancedOptional": "Il manque le crochet fermant d'un groupe facultatif",
|
||
"unbalancedToken": "Il manque l'accolade fermante d'un token",
|
||
"structure": "Structure",
|
||
"paletteOptional": "facultatif",
|
||
"paletteOptionalHint": "Entoure un segment afin qu'il soit supprimé lorsqu'un token qu'il contient est vide",
|
||
"paletteFallback": "remplacement",
|
||
"paletteFallbackHint": "Dans un groupe facultatif, texte utilisé lorsque le côté gauche ne peut pas être renseigné",
|
||
"paletteSeparator": "dossier",
|
||
"paletteSeparatorHint": "Commence un nouveau niveau de dossier",
|
||
"modUpper": "MAJUSCULES",
|
||
"modLower": "minuscules",
|
||
"recipesLabel": "Ou partez d'une recette",
|
||
"recipe": {
|
||
"seriesShelf": "Étagère de série",
|
||
"calibre": "Style Calibre",
|
||
"alphabetical": "Alphabétique",
|
||
"flat": "À plat, sans dossiers",
|
||
"originalName": "Nom de fichier d'origine",
|
||
"authorTitle": "Auteur et titre",
|
||
"titleOnly": "Titre uniquement",
|
||
"seriesOrdered": "Série ordonnée"
|
||
},
|
||
"resultPanel": "Résultat résolu",
|
||
"resultFor": "Résultat : {rule}",
|
||
"copyResult": "Copier le résultat résolu",
|
||
"resultCopied": "Résultat résolu copié dans le presse-papiers",
|
||
"resultCopyFailed": "Impossible de copier le résultat résolu",
|
||
"sampleBookNote": "Livre exemple utilisé pour chaque aperçu",
|
||
"missingMetadata": "Si des métadonnées sont manquantes",
|
||
"caseNoSeriesLabel": "Aucune série",
|
||
"caseNoYearLabel": "Aucune année",
|
||
"caseNoAuthorLabel": "Aucun auteur",
|
||
"previewEmpty": "Ce modèle ne produit rien ; le nom de fichier d'origine serait donc utilisé à la place.",
|
||
"previewEmptyShort": "Ne produit rien",
|
||
"crossPlatformShortHint": "Remplace les caractères refusés par Windows. Les aperçus tiennent compte de ce réglage.",
|
||
"rulesSaved": "{count, plural, one {# règle de nommage enregistrée} other {# règles de nommage enregistrées} many {# règles de nommage enregistrées}}",
|
||
"rulesSaveFailed": "{count, plural, one {Impossible d'enregistrer # règle de nommage} other {Impossible d'enregistrer # règles de nommage} many {Impossible d'enregistrer # règles de nommage}}",
|
||
"rulesPartiallySaved": "{saved} enregistrées, {failed} en échec. Les règles en échec comportent encore des modifications non enregistrées.",
|
||
"save": {
|
||
"unsaved": "{count, plural, one {# modification non enregistrée} other {# modifications non enregistrées} many {# modifications non enregistrées}}",
|
||
"upToDate": "Aucune modification non enregistrée",
|
||
"discard": "Ignorer",
|
||
"action": "Enregistrer les modifications",
|
||
"blocked": "Corrigez le modèle invalide avant d'enregistrer"
|
||
},
|
||
"examplesDescription": "Constructions que les recettes ne couvrent pas. Un modèle se terminant par une barre oblique produit un dossier et y conserve le nom de fichier envoyé.",
|
||
"examplesApply": "Appliquer",
|
||
"examplesApplyAria": "Appliquer le modèle {label}",
|
||
"examplesUploadOnly": "Il s'agit de modèles d'envoi, affichés ici à titre de référence. Basculez vers une règle Fichier comme livre ou Dossier comme livre pour en appliquer un.",
|
||
"examplesFileModeOnly": "Dossier comme livre nécessite son propre segment de nom de fichier ; cette construction s'applique donc uniquement aux bibliothèques Fichier comme livre.",
|
||
"example": {
|
||
"seriesOrStandalone": "Série ou dossier autonome",
|
||
"optionalSubtitle": "Sous-titre facultatif",
|
||
"languageFolder": "Dossier de langue",
|
||
"publisherFolder": "Dossier d'éditeur",
|
||
"stackedOptional": "Dossiers facultatifs imbriqués",
|
||
"folderDrop": "Dossier uniquement, conserver le nom de fichier envoyé"
|
||
},
|
||
"exampleCase": {
|
||
"complete": "Complet",
|
||
"noSeries": "Aucune série",
|
||
"noSubtitle": "Aucun sous-titre",
|
||
"noLanguage": "Aucune langue",
|
||
"noPublisher": "Aucun éditeur"
|
||
},
|
||
"unknownModifier": "Modificateur « {modifier} » inconnu. Il sera ignoré et la valeur restera inchangée."
|
||
},
|
||
"kobo": {
|
||
"title": "Synchronisation Kobo",
|
||
"subtitle": "Associez votre appareil Kobo pour synchroniser votre bibliothèque.",
|
||
"copy": "Copier",
|
||
"never": "Jamais",
|
||
"justNow": "Juste maintenant",
|
||
"minutesAgo": "il y a {count} m",
|
||
"hoursAgo": "il y a {count} h",
|
||
"daysAgo": "Il y a {count}j",
|
||
"loadFailed": "Échec du chargement",
|
||
"devicePaired": "Appareil couplé avec succès",
|
||
"devicePairedHint": "Vous êtes prêt à configurer votre Kobo. Suivez les instructions ci-dessous.",
|
||
"syncUrl": "Synchroniser URL",
|
||
"urlNotShownAgain": "Ce URL ne sera plus affiché. Gardez-le privé.",
|
||
"registeredDevices": "Appareils enregistrés",
|
||
"addDevice": "Ajouter un appareil",
|
||
"deviceName": "Nom de l'appareil",
|
||
"deviceNamePlaceholder": "par ex. Mon Kobo Libra",
|
||
"creating": "Création...",
|
||
"createDevice": "Créer un appareil",
|
||
"createDeviceFailed": "Échec de la création de l'appareil",
|
||
"deviceRegistered": "Appareil « {name} » enregistré",
|
||
"noDevicesYet": "Aucun appareil pour l'instant",
|
||
"noDevicesHint": "Ajoutez un appareil pour commencer à synchroniser vos livres avec votre Kobo.",
|
||
"lastSync": "Dernière synchronisation : {time}",
|
||
"renameDevice": "Renommer l'appareil",
|
||
"revokeAccess": "Révoquer l'accès",
|
||
"deviceRenamed": "Appareil renommé",
|
||
"renameDeviceFailed": "Échec du renommage de l'appareil",
|
||
"revokeConfirm": "Révoquer l'accès pour « {name} » ? L'appareil ne pourra pas se synchroniser tant qu'il n'aura pas été réappairé.",
|
||
"accessRevoked": "Accès révoqué pour « {name} »",
|
||
"revokeFailed": "Échec de la révocation de l'accès",
|
||
"syncUrlCopied": "Synchroniser URL copié dans le presse-papiers",
|
||
"syncUrlCopyFailed": "Échec de la copie de la synchronisation URL",
|
||
"syncPreferences": "Préférences de synchronisation",
|
||
"twoWaySync": "Synchronisation de progression bidirectionnelle",
|
||
"twoWaySyncHint": "Synchronisez la position de lecture entre BookOrbit et Kobo. Nécessite la livraison KEPUB pour des emplacements précis et une restauration de page fiable.",
|
||
"syncHighlights": "Synchronisez les passages surlignés de BookOrbit avec Kobo",
|
||
"syncHighlightsHint": "Envoyez les passages surlignés réalisés dans BookOrbit ou KOReader à votre Kobo. Les passages surlignés Kobo sont importées dans BookOrbit même lorsque cette option est désactivée. Les annotations liées synchronisent les modifications et les suppressions dans les deux sens. Nécessite la livraison KEPUB ; le livre sur Kobo doit être le KEPUB téléchargé depuis BookOrbit.",
|
||
"storeSync": "Inclure les titres du magasin Kobo",
|
||
"storeSyncHint": "Envoyez aussi les livres de votre compte Kobo (y compris Kobo Plus et vos achats) en plus de votre bibliothèque BookOrbit. Sans cette option, seuls les livres BookOrbit sont envoyés vers l'appareil. Les titres du magasin sont téléchargés directement depuis Kobo et ne sont pas ajoutés à votre bibliothèque BookOrbit.",
|
||
"convertKepub": "Convertir en KEPUB",
|
||
"convertKepubHint": "Envoyez des EPUB éligibles en tant que KEPUB. Cela reste activé lorsque la synchronisation de la progression ou les passages surlignés de BookOrbit-to-Kobo sont activées. Lors de la prochaine synchronisation Kobo, les livres concernés sont à nouveau proposés en téléchargement KEPUB ; supprimez toute ancienne copie de EPUB si Kobo continue de l'ouvrir.",
|
||
"forceHyphenation": "Forcer la césure",
|
||
"forceHyphenationHint": "Garantit une justification cohérente du texte. Cela régénérera les KEPUB mis en cache.",
|
||
"progressThresholds": "Seuils de progression",
|
||
"progressThresholdsHint": "Définissez quand la progression de la lecture Kobo met à jour le statut de votre bibliothèque.",
|
||
"markAsReading": "Marquer comme lecture",
|
||
"markAsReadingHint": "Pourcentage minimum pour déplacer un livre vers « Lecture ».",
|
||
"markAsFinished": "Marquer comme terminé",
|
||
"markAsFinishedHint": "Seuil de pourcentage pour marquer un livre comme « Terminé ».",
|
||
"kepubLimit": "Limite de conversion KEPUB",
|
||
"kepubLimitHint": "Les livres dépassant cette limite sont envoyés sous forme d'EPUB standards, donc BookOrbit ne synchronisera pas sa position de lecteur avec Kobo.",
|
||
"changesMustBeSaved": "Les modifications doivent être enregistrées pour prendre effet.",
|
||
"saving": "Sauvegarde...",
|
||
"saveSyncSettings": "Enregistrer les paramètres de synchronisation",
|
||
"thresholdOrderError": "Le seuil de lecture doit être inférieur au seuil de fin",
|
||
"saveSettingsFailed": "Échec de l'enregistrement des paramètres",
|
||
"settingsSaved": "Kobo paramètres de synchronisation enregistrés",
|
||
"saveFailed": "Échec de l'enregistrement",
|
||
"activity": {
|
||
"waitingForActivity": "En attente d'activité",
|
||
"needsAttention": "A besoin d'attention",
|
||
"syncHealthy": "Synchronisation saine",
|
||
"never": "Jamais",
|
||
"none": "Aucun",
|
||
"unknown": "Inconnu",
|
||
"failureCount": "{count, plural, one {# échec} other {# échecs} many {# échecs}}",
|
||
"noActivityRecorded": "Aucune activité de synchronisation Kobo n'a été enregistrée.",
|
||
"lastSuccess": "Dernier succès {time}",
|
||
"lastFailure": "Dernier échec {time}",
|
||
"noFailedActivity": "Aucune activité Kobo ayant échoué dans l'historique récent.",
|
||
"noActivityYet": "Aucune activité Kobo pour l'instant.",
|
||
"event": {
|
||
"librarySync": "Bibliothèque vérifiée pour les mises à jour",
|
||
"bookDownload": "Livre téléchargé",
|
||
"progressUpdate": "Position de lecture mise à jour",
|
||
"annotationsPull": "Les passages surlignés envoyés à Kobo",
|
||
"annotationsPush": "Les passages surlignés reçus de Kobo"
|
||
},
|
||
"outcome": {
|
||
"failed": "Échec",
|
||
"noUpdates": "Aucune mise à jour",
|
||
"noChanges": "Aucun changement",
|
||
"pending": "En attente",
|
||
"completed": "Terminé",
|
||
"downloaded": "Téléchargé",
|
||
"updated": "Mis à jour",
|
||
"sent": "Envoyé",
|
||
"imported": "Importé"
|
||
},
|
||
"failure": {
|
||
"librarySync": "La vérification de la bibliothèque n'a pas été terminée",
|
||
"bookDownload": "Le téléchargement n'a pas été terminé",
|
||
"progressUpdate": "La position de lecture n'a pas été mise à jour",
|
||
"annotationsPull": "Les passages surlignés n'ont pas été envoyés",
|
||
"annotationsPush": "Les passages surlignés n'ont pas été importés"
|
||
},
|
||
"chip": {
|
||
"morePending": "Plus en attente",
|
||
"noUpdatesPending": "Aucune mise à jour en attente",
|
||
"bookCount": "{count, plural, one {# livre} other {# livres} many {# livres}}",
|
||
"deletedAnnotations": "{count} annotations supprimées",
|
||
"deviceAlreadyCurrent": "Appareil déjà actuel",
|
||
"freshHighlightData": "Données récentes sur les passages surlignés",
|
||
"created": "{count} créé",
|
||
"updated": "{count} mis à jour",
|
||
"deleted": "{count} supprimé",
|
||
"unchanged": "{count} inchangé"
|
||
},
|
||
"readingPositionSyncedTitle": "Position de lecture synchronisée : {title}",
|
||
"readingPositionSynced": "Position de lecture synchronisée",
|
||
"labelWithTitle": "{label} : {title}",
|
||
"updateCount": "{count, plural, one {# mettre à jour} other {# mises à jour} many {# mises à jour}}",
|
||
"directionToKobo": "BookOrbit → Kobo",
|
||
"directionToBookOrbit": "Kobo → BookOrbit",
|
||
"twoWaySyncEnabled": "Synchronisation bidirectionnelle activée",
|
||
"deviceProgressSaved": "Progression de l'appareil enregistrée",
|
||
"summary": {
|
||
"noLibraryUpdatesPending": "Aucune mise à jour de bibliothèque n'est en attente pour cet appareil",
|
||
"libraryUpdatesPrepared": "{count, plural, one {# mise à jour de la bibliothèque préparée pour l'appareil} other {# mises à jour de bibliothèque préparées pour l'appareil} many {# mises à jour de bibliothèque préparées pour l'appareil}}",
|
||
"bookDownloadedBy": "{title} a été téléchargé par {device}",
|
||
"booksDownloaded": "{count, plural, one {# livre téléchargé} other {# livres téléchargés} many {# livres téléchargés}}",
|
||
"progressUpdatesSyncedFor": "{count, plural, one {# mise à jour de progression synchronisée pour {title}} other {# mises à jour de progression synchronisées pour {title}} many {# mises à jour de progression synchronisées pour {title}}}",
|
||
"progressUpdatesSynced": "{count, plural, one {# mise à jour de progression synchronisée} other {# mises à jour de progression synchronisées} many {# mises à jour de progression synchronisées}}",
|
||
"newReadingPositionFor": "Kobo a signalé une nouvelle position de lecture pour {title}",
|
||
"newReadingPosition": "Kobo a signalé une nouvelle position de lecture",
|
||
"noHighlightChangesNeededFor": "Aucune modification des passages surlignés n'est nécessaire pour {title}",
|
||
"noHighlightChangesNeeded": "Aucun changement des passages surlignés n'est nécessaire",
|
||
"highlightsSentToKoboFor": "{count, plural, one {# passage surligné envoyé à Kobo pour {title}} many {# passages surlignés envoyés à Kobo pour {title}} other {# passages surlignés envoyés à Kobo pour {title}}}",
|
||
"highlightsSentToKobo": "{count, plural, one {# passage surligné envoyé à Kobo} other {# passages surlignés envoyés à Kobo} many {# passages surlignés envoyés à Kobo}}",
|
||
"noKoboHighlightChangesFor": "Aucun nouveau passage surligné via Kobo pour {title}",
|
||
"noKoboHighlightChanges": "Aucun nouveau passage surligné via Kobo",
|
||
"highlightsImportedFromKoboFor": "{count, plural, one {# passage surligné importé depuis Kobo pour {title}} many {# passages surlignés importés depuis Kobo pour {title}} other {# passages surlignés importés depuis Kobo pour {title}}}",
|
||
"highlightsImportedFromKobo": "{count, plural, one {# passage surligné importé depuis Kobo} many {# passages surlignés importés depuis Kobo} other {# passages surlignés importés depuis Kobo}}"
|
||
},
|
||
"timeRange": "{from} à {to}",
|
||
"eventsGrouped": "{count, plural, one {# événement groupé} other {# événements regroupés} many {# événements regroupés}}",
|
||
"removedDevice": "Appareil supprimé",
|
||
"loadMoreFailed": "Échec du chargement de plus d'historique",
|
||
"historyRefreshed": "Kobo historique de synchronisation actualisé",
|
||
"refreshFailed": "Échec de l'actualisation de l'historique",
|
||
"recentActivity": "Activité récente de Kobo",
|
||
"filterAll": "Tout",
|
||
"filterFailures": "Échecs",
|
||
"refresh": "Actualiser",
|
||
"loadingActivity": "Chargement de l'activité Kobo...",
|
||
"noActivityHint": "L'activité de synchronisation récente apparaîtra dès qu'un Kobo appairé contactera BookOrbit.",
|
||
"error": "Erreur",
|
||
"loading": "Chargement...",
|
||
"loadMore": "Charger plus d'activité"
|
||
},
|
||
"howBooksSynced": {
|
||
"title": "Comment les livres sont synchronisés",
|
||
"body": "Pour envoyer des livres vers votre appareil Kobo, vous devez activer {syncToKobo} sur les collections contenant ces livres. Ouvrez n'importe quelle collection dans la barre latérale, cliquez sur l'icône Modifier et activez {syncToKobo}. Les livres qui ne font pas partie d'une collection activée ne seront pas synchronisés."
|
||
},
|
||
"nextSteps": {
|
||
"title": "Prochaines étapes",
|
||
"step1": "1. Configurez votre appareil Kobo pour qu'il se synchronise avec l'URL de synchronisation ci-dessus.",
|
||
"step2": "2. Dans BookOrbit, accédez à n'importe quelle collection dans la barre latérale, cliquez sur l'icône Modifier et activez {syncToKobo}. Seuls les livres appartenant à des collections compatibles avec la synchronisation seront téléchargés sur votre appareil."
|
||
},
|
||
"syncToKobo": "Synchroniser avec Kobo",
|
||
"tabs": {
|
||
"syncSettings": "Paramètres de synchronisation",
|
||
"activityLog": "Journal d'activité"
|
||
}
|
||
},
|
||
"koreader": {
|
||
"title": "KOReader Synchronisation",
|
||
"subtitle": "Parcourez votre catalogue BookOrbit dans KOReader et synchronisez la progression, l'activité de lecture, les passages surlignés et les modifications d'annotations.",
|
||
"tabs": {
|
||
"sync": "Paramètres de synchronisation",
|
||
"fileNaming": "Nom du fichier"
|
||
},
|
||
"fileNaming": {
|
||
"accountTitle": "Modèle KOReader par défaut du compte",
|
||
"accountDescription": "Définit le dossier relatif et le nom de fichier par défaut utilisés par les téléchargements du plugin BookOrbit pour votre compte KOReader. Les règles spécifiques à l'appareil peuvent le remplacer ci-dessous.",
|
||
"defaultPattern": "Modèle de chemin de livre par défaut",
|
||
"accountHelp": "Votre compte est par défaut pour les téléchargements du plug-in KOReader, sauf si un appareil dispose d'une règle personnalisée.",
|
||
"accountHint": "Utilisé par vos appareils KOReader qui ne disposent pas de remplacement personnalisé.",
|
||
"preview": "Aperçu",
|
||
"saveAccount": "Enregistrer le compte par défaut",
|
||
"deviceTitle": "Remplacements de périphérique KOReader",
|
||
"deviceDescription": "Personnalisez n'importe quelle combinaison de chemins par défaut, en série et autonomes. Les lignes vides spécifiques à l'appareil héritent de la valeur par défaut de l'appareil, qui elle-même peut hériter du modèle KOReader par défaut du compte.",
|
||
"noDevices": "Les appareils apparaissent ici après avoir été synchronisés avec BookOrbit.",
|
||
"customOrganization": "Organisation personnalisée",
|
||
"usingAccountDefault": "Utiliser le compte par défaut",
|
||
"deviceDefaultHelp": "Solution de repli pour cet appareil. Laissez-le égal à la valeur par défaut du compte pour hériter automatiquement des modifications futures.",
|
||
"seriesBooks": "Livres en série",
|
||
"seriesHelp": "Chemin facultatif utilisé uniquement pour les livres avec des métadonnées de série. Laissez vide pour utiliser le modèle de chemin par défaut de cet appareil.",
|
||
"standaloneBooks": "Livres sans série",
|
||
"standaloneHelp": "Chemin facultatif utilisé uniquement pour les livres sans métadonnées de série. Laissez vide pour utiliser le modèle de chemin par défaut de cet appareil.",
|
||
"inheritPlaceholder": "Laissez vide pour utiliser le modèle par défaut de cet appareil",
|
||
"useAccount": "Utiliser le compte par défaut",
|
||
"saveOverride": "Enregistrer le remplacement",
|
||
"loadFailed": "Échec du chargement des paramètres d'organisation des fichiers",
|
||
"accountRequired": "Entrez un modèle de chemin de livre par défaut avant d'enregistrer.",
|
||
"accountSaved": "Modèle KOReader par défaut du compte enregistré",
|
||
"accountSaveFailed": "Échec de l'enregistrement des paramètres d'organisation des fichiers",
|
||
"deviceUsesAccount": "L'appareil utilise désormais le modèle KOReader par défaut du compte",
|
||
"deviceSaved": "Remplacement de l'organisation des appareils enregistré",
|
||
"deviceSaveFailed": "Échec de l'enregistrement du remplacement du périphérique",
|
||
"deviceResetFailed": "Échec de la réinitialisation du remplacement du périphérique"
|
||
},
|
||
"loadingSettings": "Chargement des paramètres KOReader...",
|
||
"loadFailed": "Échec du chargement des paramètres KOReader",
|
||
"never": "Jamais",
|
||
"justNow": "Juste maintenant",
|
||
"minutesAgo": "il y a {count} m",
|
||
"hoursAgo": "il y a {count} h",
|
||
"daysAgo": "Il y a {count}j",
|
||
"unknown": "Inconnu",
|
||
"updateAvailable": "Mise à jour disponible",
|
||
"manualUpdateRequired": "Mise à jour manuelle requise",
|
||
"manualUpdateExplanation": "Cette version du plugin ne peut pas se mettre à jour. Téléchargez le plugin et copiez bookorbit.koplugin dans koreader/plugins/ sur cet appareil.",
|
||
"upToDate": "À jour",
|
||
"versionUnknown": "Version inconnue",
|
||
"latestPlugin": "Dernier plugin : v{version}",
|
||
"latestPluginUnavailable": "Dernier plugin indisponible",
|
||
"notConfigured": "La synchronisation KOReader n'est pas configurée",
|
||
"notConfiguredHint": "Créez un ensemble d'identifiants de synchronisation, puis utilisez-les avec le plugin BookOrbit KOReader pour la navigation, les téléchargements, la progression, la lecture des événements, les passages surlignés et les suppressions.",
|
||
"createCredentials": "Créer des identifiants",
|
||
"createFormTitle": "Créer des informations d'identification de synchronisation KOReader",
|
||
"createFormHint": "Ces informations d'identification authentifient vos appareils KOReader avec BookOrbit.",
|
||
"username": "Nom d'utilisateur",
|
||
"usernamePlaceholder": "ex. monlecteur",
|
||
"password": "Mot de passe",
|
||
"passwordPlaceholder": "Minimum 6 caractères",
|
||
"changeCredentials": {
|
||
"action": "Modifier les identifiants",
|
||
"title": "Modifier les identifiants KOReader",
|
||
"description": "Chaque compte BookOrbit ne peut avoir qu'un identifiant KOReader associé. Modifiez-le ici sans supprimer les données synchronisées.",
|
||
"newPassword": "Nouveau mot de passe",
|
||
"usernameInvalid": "Le nom d'utilisateur doit contenir entre 3 et 100 caractères.",
|
||
"passwordPlaceholder": "Laisser vide pour conserver le mot de passe actuel",
|
||
"passwordHint": "Laissez ce champ vide pour conserver le mot de passe actuel.",
|
||
"passwordInvalid": "Le mot de passe doit contenir entre 6 et 128 caractères.",
|
||
"deviceNotice": "Les appareils utilisant les anciens identifiants doivent être reconnectés ou mis à jour avec un nouveau paquet de plugin téléchargé.",
|
||
"showPassword": "Afficher le nouveau mot de passe",
|
||
"hidePassword": "Cacher le nouveau mot de passe",
|
||
"save": "Enregistrer les identifiants",
|
||
"saving": "Sauvegarde en cours...",
|
||
"updated": "Identifiants KOReader mis à jour",
|
||
"updateFailed": "Échec de la mise à jour des identifiants KOReader"
|
||
},
|
||
"creating": "Création...",
|
||
"create": "Créer",
|
||
"credentialsCreated": "KOReader identifiants de synchronisation créés",
|
||
"createCredentialsFailed": "Échec de la création des informations d'identification",
|
||
"status": "KOReader Statut",
|
||
"refresh": "Actualiser",
|
||
"progressSync": "Synchronisation de la progression",
|
||
"progressSyncHint": "Autorisez les appareils KOReader à synchroniser la progression, l'activité de lecture, les passages surlignés et les suppressions d'annotations avec BookOrbit.",
|
||
"lastSync": "Dernière synchronisation",
|
||
"syncedBooks": "Livres synchronisés",
|
||
"bookCount": "{count, plural, =0 {pas de livres} one {# livre} other {# livres} many {# livres}}",
|
||
"devices": "Appareils",
|
||
"deviceCount": "{count, plural, =0 {aucun appareil} one {# appareil} other {# appareils} many {# appareils}}",
|
||
"credentialsCreatedLabel": "Identifiants créés",
|
||
"setup": "Configuration",
|
||
"pluginServerUrl": "Serveur de plugins URL",
|
||
"syncUrl": "URL de synchronisation KOReader",
|
||
"syncUrlHint": "Fonctionne avec le plugin BookOrbit et la synchronisation de progression intégrée à KOReader.",
|
||
"copied": "Copié",
|
||
"copyUrl": "Copier URL",
|
||
"preconfiguredPlugin": "Plugin BookOrbit préconfiguré",
|
||
"preconfiguredPluginHintPrefix": "Téléchargez un zip avec le serveur URL et votre connexion de synchronisation déjà configurée. Le plugin inclut la navigation et la synchronisation du catalogue. Copiez le dossier dans",
|
||
"preconfiguredPluginHintSuffix": "et redémarrez KOReader.",
|
||
"latestPluginNote": "{label}. Les mises à jour des appareils s'exécutent à partir du menu BookOrbit dans KOReader.",
|
||
"preparing": "Préparation...",
|
||
"downloadPlugin": "Télécharger le plugin",
|
||
"noDevicesSynced": "Aucun appareil n'a encore été synchronisé",
|
||
"noDevicesSyncedHint": "Installez le plugin BookOrbit pour une synchronisation complète ou configurez la synchronisation de la progression des stocks de KOReader pour les mises à jour uniquement sur la progression.",
|
||
"lastSyncLabel": "Dernière synchronisation :",
|
||
"lastBookLabel": "Dernier livre :",
|
||
"noneYet": "Aucun pour l'instant",
|
||
"pluginActivity": "Activité du plugin",
|
||
"noPluginActivity": "Aucune activité du plugin n'a encore été signalée.",
|
||
"lastFullSync": "Dernière synchronisation complète : {time}",
|
||
"latestPluginSuffix": "- dernier plugin v{version}",
|
||
"matchedBooks": "Livres assortis",
|
||
"readingEvents": "Événements de lecture",
|
||
"highlights": "Passages surlignés",
|
||
"syncedTotals": "Totaux synchronisés",
|
||
"trashedHighlights": "Passages surlignés mis à la corbeille",
|
||
"pendingDeletes": "{count, plural, =0 {aucun passage surligné supprimé en attente de reconnaissance du plugin KOReader.} one {# passage surligné en attente de confirmation du plugin KOReader.} other {# passages surlignés supprimés en attente de reconnaissance du plugin KOReader.} many {# passages surlignés supprimés en attente de reconnaissance du plugin KOReader.}}",
|
||
"failedPositions": "{count, plural, =0 {aucune position de passage surligné ne nécessite d'attention.} one {# La position du passage surligné nécessite une attention particulière.} other {# des passages surlignés nécessitent une attention particulière.} many {# des passages surlignés nécessitent une attention particulière.}}",
|
||
"setupGuide": "Guide de configuration",
|
||
"setupSteps": "KOReader étapes de configuration",
|
||
"setupStepsHint": "Utilisez le plugin BookOrbit pour la navigation dans le catalogue, les téléchargements, la progression, la lecture des événements et les passages surlignés. Utilisez le plugin stock pour progresser uniquement.",
|
||
"pluginGuideTitle": "Plugin BookOrbit",
|
||
"pluginStep1": "Téléchargez le plugin préconfiguré ci-dessus.",
|
||
"pluginStep2Prefix": "Décompressez-le et copiez",
|
||
"pluginStep2Middle": "à",
|
||
"pluginStep2Suffix": "sur votre appareil.",
|
||
"pluginStep3": "Redémarrez KOReader. Le serveur et la connexion sont configurés automatiquement.",
|
||
"pluginStep4Prefix": "Ouvert",
|
||
"pluginStep4Suffix": "pour rechercher, télécharger et lier des livres à synchroniser.",
|
||
"stockGuideTitle": "Plugin de synchronisation de la progression des stocks",
|
||
"stockStep1Prefix": "Sur votre appareil KOReader, accédez à",
|
||
"stockStep1Suffix": ".",
|
||
"stockStep2": "Définissez le serveur de synchronisation personnalisé sur URL indiqué ci-dessus.",
|
||
"stockStep2InlineUrl": "Définir le serveur de synchronisation personnalisé à l'URL suivante :",
|
||
"stockStep3": "Saisissez le nom d'utilisateur et le mot de passe que vous avez créés, puis appuyez sur Connexion.",
|
||
"locationNote": "BookOrbit enregistre les emplacements EPUB compatibles KOReader à partir du lecteur Web. La restauration doit atterrir à proximité de la même position, bien que l'emplacement exact de la ligne puisse varier selon le lecteur et la disposition EPUB.",
|
||
"dangerZone": "Zone dangereuse",
|
||
"deleteCredentials": "Supprimer les identifiants KOReader",
|
||
"deleteCredentialsHint": "Supprimez les informations d'identification de synchronisation et déconnectez tous les appareils. Les données de progression seront conservées.",
|
||
"credentialsDeleted": "KOReader identifiants supprimés",
|
||
"deleteCredentialsFailed": "Échec de la suppression des informations d'identification",
|
||
"deleteConfirmTitle": "Supprimer les identifiants KOReader ?",
|
||
"deleteConfirmBody": "Cela supprimera vos informations d'identification de synchronisation et déconnectera tous les appareils KOReader. Les données de progression existantes seront conservées.",
|
||
"syncEnabled": "Synchronisation KOReader activée",
|
||
"syncDisabled": "Synchronisation KOReader désactivée",
|
||
"toggleSyncFailed": "Échec de la synchronisation",
|
||
"syncUrlCopied": "Synchroniser URL copié dans le presse-papiers",
|
||
"syncUrlCopyFailed": "Échec de la copie de la synchronisation URL",
|
||
"statusRefreshed": "Statut de synchronisation actualisé",
|
||
"refreshFailed": "Échec de l'actualisation",
|
||
"pluginDownloaded": "Plugin téléchargé. Copiez bookorbit.koplugin du zip vers koreader/plugins/ sur votre appareil.",
|
||
"pluginDownloadFailed": "Échec du téléchargement du plugin",
|
||
"hashLinks": {
|
||
"unmatchedTitle": "Livres KOReader sans correspondance",
|
||
"unmatchedBooks": "Livres sans correspondance",
|
||
"manualTitle": "Liens manuels KOReader",
|
||
"refresh": "Actualiser",
|
||
"link": "Lien",
|
||
"change": "Changement",
|
||
"unlink": "Dissocier",
|
||
"hash": "Hachage :",
|
||
"lastOpened": "Dernière ouverture :",
|
||
"firstSeen": "Vu pour la première fois :",
|
||
"lastSeen": "Vu pour la dernière fois :",
|
||
"linked": "En lien :",
|
||
"updated": "Mis à jour :",
|
||
"linkedTo": "Lié à {title}",
|
||
"loadingUnmatched": "Chargement des livres sans correspondance...",
|
||
"loadingManual": "Chargement des liens de hachage manuels...",
|
||
"noUnmatched": "Aucun livre KOReader sans correspondance.",
|
||
"noManual": "Aucun lien manuel KOReader.",
|
||
"pageOf": "Page {page} sur {total}",
|
||
"showingRange": "Affichage de {start}-{end} sur {total}",
|
||
"unknownFile": "Fichier KOReader inconnu {hash}",
|
||
"unknownAuthor": "Auteur inconnu",
|
||
"noTitleOrAuthor": "Aucun titre ni auteur signalé",
|
||
"bookNumber": "BookOrbit livre n° {id}",
|
||
"toast": {
|
||
"unmatchedRefreshed": "Livres sans correspondance actualisés",
|
||
"unmatchedRefreshFailed": "Échec de l'actualisation des livres sans correspondance",
|
||
"manualRefreshed": "Liens de hachage manuels actualisés",
|
||
"manualRefreshFailed": "Échec de l'actualisation des liens de hachage manuels",
|
||
"bookLinked": "Livre lié",
|
||
"linkUpdated": "Lien mis à jour",
|
||
"linkFailed": "Échec de l'association du livre",
|
||
"linkRemoved": "Lien supprimé",
|
||
"unlinkFailed": "Échec de la dissociation du livre",
|
||
"unmatchedDismissed": "Livre sans correspondance ignoré",
|
||
"dismissFailed": "Échec de la suppression du livre sans correspondance",
|
||
"allDismissed": "{count, plural, =0 {Aucun livre sans correspondance ignoré} one {# livre sans correspondance ignoré} other {# livres sans correspondance ignorés} many {# livres sans correspondance ignorés}}",
|
||
"dismissAllFailed": "Échec de la suppression de tous les livres sans correspondance"
|
||
},
|
||
"modal": {
|
||
"linkTitle": "Lien vers le livre KOReader",
|
||
"changeTitle": "Modifier le lien KOReader",
|
||
"bookOrbitBook": "Livre BookOrbit",
|
||
"searchPlaceholder": "Recherchez dans votre bibliothèque BookOrbit",
|
||
"minChars": "Saisissez au moins 2 caractères.",
|
||
"searching": "Recherche...",
|
||
"noBooksFound": "Aucun livre trouvé.",
|
||
"untitledBook": "Livre sans titre",
|
||
"selected": "Sélectionné",
|
||
"select": "Sélectionner",
|
||
"loadMore": "Charger plus",
|
||
"confirmTitle": "Confirmer le lien KOReader",
|
||
"koreader": "KOReader",
|
||
"bookOrbit": "BookOrbit",
|
||
"bookId": "Identifiant du livre : {id}",
|
||
"syncedStatsNote": "Les statistiques déjà synchronisées resteront sur leur livre BookOrbit actuel.",
|
||
"chooseDifferent": "Choisissez différent",
|
||
"saving": "Sauvegarde...",
|
||
"confirmLink": "Confirmer le lien",
|
||
"unlinkTitle": "Dissocier le livre KOReader ?",
|
||
"unlinkBody": "Les synchronisations futures pour ce hachage cesseront de se résoudre en {title} jusqu'à ce qu'il soit à nouveau lié. Les statistiques déjà synchronisées resteront sur leur livre BookOrbit actuel.",
|
||
"unlinking": "Dissociation..."
|
||
},
|
||
"dismiss": "Ignorer",
|
||
"dismissAll": "Tout rejeter",
|
||
"dismissing": "Rejeter...",
|
||
"unlinking": "Dissociation...",
|
||
"unlinkConfirmTitle": "Dissocier le livre KOReader ?",
|
||
"unlinkConfirmBody": "Les synchronisations futures pour ce hachage cesseront de se résoudre en {title} jusqu'à ce qu'il soit à nouveau lié. Les statistiques déjà synchronisées resteront sur leur livre BookOrbit actuel.",
|
||
"dismissConfirmTitle": "Ignorer {title} ?",
|
||
"dismissConfirmBody": "Cela le supprime de votre liste de livres sans correspondance. Si un appareil signale à nouveau ce hachage, il réapparaîtra en tant que nouvelle entrée.",
|
||
"dismissAllConfirmTitle": "{count, plural, =0 {Ignorer tous les livres sans correspondance ?} one {Ignorer # livre sans correspondance ?} other {Ignorer # livres sans correspondance ?} many {Ignorer # livres sans correspondance ?}}",
|
||
"dismissAllConfirmBody": "Cela efface toute votre liste de livres sans correspondance, pas seulement la page actuelle. Si un appareil signale à nouveau l'un de ces hachages, il réapparaîtra sous la forme d'une nouvelle entrée.",
|
||
"changeLinkTitle": "Modifier le lien KOReader",
|
||
"linkBookTitle": "Lien vers le livre KOReader",
|
||
"bookOrbitBook": "Livre BookOrbit",
|
||
"searchLibraryPlaceholder": "Recherchez dans votre bibliothèque BookOrbit",
|
||
"enterMinChars": "Saisissez au moins 2 caractères.",
|
||
"searching": "Recherche...",
|
||
"noBooksFound": "Aucun livre trouvé.",
|
||
"untitledBook": "Livre sans titre",
|
||
"selected": "Sélectionné",
|
||
"select": "Sélectionner",
|
||
"loadMore": "Charger plus",
|
||
"loadingMore": "Chargement...",
|
||
"confirmLinkTitle": "Confirmer le lien KOReader",
|
||
"bookId": "Identifiant du livre : {id}",
|
||
"syncedStatsNote": "Les statistiques déjà synchronisées resteront sur leur livre BookOrbit actuel.",
|
||
"chooseDifferent": "Choisissez différent",
|
||
"saving": "Sauvegarde...",
|
||
"confirmLink": "Confirmer le lien"
|
||
},
|
||
"remove": "Supprimer",
|
||
"removing": "Suppression...",
|
||
"unmatchedBooks": "Livres sans correspondance",
|
||
"deviceRemoved": "Appareil supprimé",
|
||
"removeDeviceFailed": "Échec de la suppression de l'appareil",
|
||
"removeDeviceConfirmTitle": "Supprimer {device} ?",
|
||
"removeDeviceConfirmBody": "Cela supprime définitivement la progression synchronisée de cet appareil, l'activité de lecture et toutes les entrées de livre sans correspondance qui ne sont plus signalées par un autre appareil. Si l'appareil se synchronise à nouveau plus tard, il réapparaîtra en tant que nouvelle entrée.",
|
||
"deleteDeviceDataConfirmTitle": "Supprimer les données synchronisées de {device} ?",
|
||
"deleteDeviceDataConfirmBody": "Cette action supprime définitivement la progression synchronisée de cet appareil, l'activité de lecture page par page et les entrées de livres non appariés qui ne sont plus signalées par un autre appareil. Les sessions de lecture déjà enregistrées dans vos statistiques sont conservées. Si l'appareil se synchronise à nouveau plus tard, il réapparaîtra comme une nouvelle entrée.",
|
||
"devicesHint": "Retirer un appareil le masque tout en conservant tout ce qu'il a synchronisé. La suppression de ses données synchronisées est irréversible.",
|
||
"retire": "Retirer",
|
||
"retiring": "Retrait...",
|
||
"restore": "Restaurer",
|
||
"restoring": "Restauration...",
|
||
"deleteSyncedData": "Supprimer",
|
||
"deletingSyncedData": "Suppression...",
|
||
"deviceRetired": "Périphérique retiré",
|
||
"deviceRestored": "Périphérique restauré",
|
||
"retireDeviceFailed": "Échec au retrait du périphérique",
|
||
"restoreDeviceFailed": "Échec de restauration du périphérique",
|
||
"retiredDevices": "{count, plural, one {# appareil retiré} other {# appareils retirés} many {# appareils retirés}}",
|
||
"retiredOnLabel": "Retiré"
|
||
},
|
||
"opds": {
|
||
"title": "OPDS",
|
||
"subtitle": "Connectez des applications de lecture compatibles OPDS comme KOReader ou Thorium Reader à votre bibliothèque.",
|
||
"copy": "Copier",
|
||
"loadFailed": "Échec du chargement",
|
||
"server": "Serveur",
|
||
"catalogServer": "OPDS Serveur de catalogue",
|
||
"catalogServerHint": "Autoriser les clients OPDS à parcourir et télécharger des livres",
|
||
"endpoint": "Point de terminaison",
|
||
"accounts": "OPDS Comptes",
|
||
"add": "Ajouter",
|
||
"addAccount": "Ajouter un compte",
|
||
"username": "Nom d'utilisateur",
|
||
"usernameLabel": "Nom d'utilisateur",
|
||
"usernamePlaceholder": "par ex. coréen",
|
||
"password": "Mot de passe",
|
||
"passwordPlaceholder": "Minimum 8 caractères",
|
||
"defaultSort": "Tri par défaut",
|
||
"sortLabel": "Trier",
|
||
"creating": "Création...",
|
||
"create": "Créer",
|
||
"noAccounts": "Aucun compte OPDS pour l'instant. Créez-en un pour commencer à utiliser les clients OPDS.",
|
||
"hideDetails": "Masquer les détails",
|
||
"showDetails": "Afficher les détails",
|
||
"copyUsername": "Copier le nom d'utilisateur",
|
||
"notes": "OPDS Remarques",
|
||
"notesBody": "Utilisez les comptes OPDS dans les applications de lecture. Gardez les informations d'identification privées et alternez les mots de passe s'ils sont partagés accidentellement.",
|
||
"deleteConfirmTitle": "Supprimer le compte OPDS ?",
|
||
"deleteConfirmBody": "Supprimez « {username} ». Cette action ne peut pas être annulée.",
|
||
"sortRecent": "Récemment ajouté",
|
||
"sortTitleAsc": "Titre (A-Z)",
|
||
"sortTitleDesc": "Titre (Z-A)",
|
||
"sortAuthorAsc": "Auteur (A-Z)",
|
||
"sortAuthorDesc": "Auteur (Z-A)",
|
||
"sortSeriesAsc": "Série (A-Z)",
|
||
"sortSeriesDesc": "Série (Z–A)",
|
||
"serverEnabled": "Serveur OPDS activé",
|
||
"serverDisabled": "Serveur OPDS désactivé",
|
||
"updateSettingsFailed": "Échec de la mise à jour des paramètres OPDS",
|
||
"urlCopied": "OPDS URL copié dans le presse-papiers",
|
||
"urlCopyFailed": "Échec de la copie de OPDS URL",
|
||
"createUserFailed": "Échec de la création de l'utilisateur OPDS",
|
||
"userCreated": "OPDS utilisateur « {username} » créé",
|
||
"sortOrderUpdated": "Ordre de tri mis à jour pour « {username} »",
|
||
"updateSortFailed": "Échec de la mise à jour de l'ordre de tri",
|
||
"userDeleted": "OPDS utilisateur « {username} » supprimé",
|
||
"deleteUserFailed": "Échec de la suppression de l'utilisateur OPDS",
|
||
"labelCopied": "{label} copié",
|
||
"copyLabelFailed": "Échec de la copie de {label}"
|
||
},
|
||
"tabs": {
|
||
"general": "Général",
|
||
"ebook": "Ebook",
|
||
"pdf": "PDF",
|
||
"comics": "Bandes dessinées",
|
||
"audio": "Livre audio",
|
||
"fonts": "Polices"
|
||
}
|
||
},
|
||
"system": {
|
||
"tabs": {
|
||
"file-naming": "Nom du fichier",
|
||
"book-dock": "Book Dock",
|
||
"requests": "Demandes",
|
||
"maintenance": "Entretien",
|
||
"audit-log": "Journal d'audit"
|
||
},
|
||
"requests": {
|
||
"title": "Demandes",
|
||
"subtitle": "Où les releases sont trouvées, ce qui les récupère, et ce qui se passe une fois qu'elles sont arrivées.",
|
||
"tabs": {
|
||
"sources": "Sources",
|
||
"clients": "Clients de téléchargement",
|
||
"automation": "Automatisation"
|
||
},
|
||
"loading": "Chargement des clients de téléchargement...",
|
||
"clients": "Clients de téléchargement",
|
||
"addClient": "Ajouter un client",
|
||
"editClient": "Modifier le client",
|
||
"deleteClient": "Supprimer {name}",
|
||
"clientsEmpty": {
|
||
"title": "Aucun client de téléchargement",
|
||
"body": "Un téléchargement HTTP direct n'a besoin d'aucun client. Connectez-en un pour que BookOrbit puisse aussi récupérer ce qu'un tracker propose en torrent.",
|
||
"note": "qBittorrent, Transmission et Deluge sont pris en charge."
|
||
},
|
||
"summary": "{type} - catégorie {category}, priorité {priority}",
|
||
"disabled": "Désactivé",
|
||
"test": "Tester la connexion",
|
||
"testSaveFirst": "Enregistrez vos modifications avant de tester",
|
||
"testOk": "Connecté à {client} {version}",
|
||
"testOkNoVersion": "Connecté à {client}",
|
||
"lastTestOk": "Dernier test {time} : connecté",
|
||
"lastTestFailed": "Dernier test {time} : {error}",
|
||
"saved": "Client de téléchargement enregistré",
|
||
"deleted": "Client de téléchargement supprimé",
|
||
"clientTypes": {
|
||
"qbittorrent": "qBittorrent",
|
||
"transmission": "Transmission",
|
||
"deluge": "Deluge",
|
||
"nzbget": "NZBGet",
|
||
"sabnzbd": "SABnzbd"
|
||
},
|
||
"color": {
|
||
"label": "Couleur",
|
||
"hint": "Signale ce client dans le détail des transferts. Le protocole de transfert garde sa propre couleur.",
|
||
"none": "Aucune couleur"
|
||
},
|
||
"fields": {
|
||
"name": "Nom",
|
||
"type": "Type de client",
|
||
"baseUrl": "URL de base",
|
||
"username": "Nom d'utilisateur",
|
||
"password": "Mot de passe",
|
||
"apiKey": "Clé API",
|
||
"passwordKeep": "Laissez vide pour conserver le mot de passe enregistré",
|
||
"apiKeyKeep": "Laissez vide pour conserver la clé API enregistrée",
|
||
"passwordClear": "Effacer",
|
||
"passwordKeepAction": "Conserver",
|
||
"passwordWillClear": "Le mot de passe enregistré sera supprimé à l'enregistrement",
|
||
"apiKeyWillClear": "La clé API enregistrée sera supprimée à l'enregistrement",
|
||
"category": "Catégorie",
|
||
"categoryHint": "Marque les torrents ajoutés par BookOrbit, pour qu'il n'agisse jamais que sur les siens.",
|
||
"priority": "Priorité",
|
||
"enabled": "Activé",
|
||
"useHardlinks": "Utiliser les liens physiques",
|
||
"allowPrivateAddress": "Autoriser les adresses privées",
|
||
"allowPrivateAddressHint": "Nécessaire lorsque le client tourne sur votre réseau local ou sur la même machine.",
|
||
"passwordBrief": "Stocké chiffré.",
|
||
"apiKeyBrief": "Disponible dans SABnzbd sous Config > General. Stockée chiffrée.",
|
||
"useHardlinksBrief": "Permet le partage sans occuper le disque deux fois. Revient à une copie d'un système de fichiers à l'autre."
|
||
},
|
||
"mappings": {
|
||
"title": "Correspondances de chemins",
|
||
"hint": "Traduit les chemins signalés par le client en chemins que BookOrbit peut ouvrir. Nécessaire lorsque les deux tournent dans des conteneurs distincts.",
|
||
"add": "Ajouter une correspondance",
|
||
"remove": "Supprimer la correspondance",
|
||
"remotePath": "Chemin côté client",
|
||
"localPath": "Chemin côté BookOrbit",
|
||
"brief": "Obligatoire. Déclare le répertoire depuis lequel BookOrbit peut importer ; lorsque le client voit les mêmes fichiers aux mêmes chemins, faites correspondre le répertoire de téléchargement à lui-même.",
|
||
"identityExample": "Même système de fichiers ? Utilisez le même chemin des deux côtés, par exemple /downloads à gauche et /downloads à droite."
|
||
},
|
||
"hardlink": {
|
||
"test": "Tester les liens physiques",
|
||
"checking": "Vérification...",
|
||
"works": "Les liens physiques fonctionnent ici : les imports n'occuperont pas le disque deux fois.",
|
||
"unavailable": "Les liens physiques ne sont pas disponibles ici : les imports copieront les fichiers, occupant l'espace deux fois.",
|
||
"link_refused": "Ce système de fichiers a refusé le lien ({code}) : les imports copieront les fichiers, occupant l'espace deux fois.",
|
||
"download_dir_unwritable": "BookOrbit ne peut pas écrire dans le répertoire de téléchargement ({code}), les liens physiques n'ont donc pas pu être testés.",
|
||
"localMissing": "BookOrbit ne voit pas ce chemin.",
|
||
"dockMissing": "Le dossier Book Dock n'est pas lisible."
|
||
},
|
||
"reconciliation": {
|
||
"action": "Rapprocher",
|
||
"clean": "Chaque élément du client rattaché à BookOrbit correspond à une tentative de téléchargement conservée.",
|
||
"unsupported": "Ce client ne sait pas lister ses éléments d'après la marque de propriété de BookOrbit. Pour Deluge, activez le plugin Label ; pour Transmission, configurez un dossier de catégorie.",
|
||
"truncated": "Le client a renvoyé plus de 1 000 éléments lui appartenant. Traitez les entrées visibles, puis relancez le rapprochement.",
|
||
"orphan": "Aucune tentative BookOrbit conservée ne possède cet élément du client.",
|
||
"failedAttempt": "Le client détient encore cet élément, mais sa tentative pour « {title} » est marquée en échec.",
|
||
"missing": "Cette tentative {status} n'est plus présente dans le client de téléchargement.",
|
||
"adopt": "Rattacher à {title}",
|
||
"adopted": "Élément du client rattaché à {title}",
|
||
"remove": "Retirer du client",
|
||
"removed": "Élément orphelin retiré du client",
|
||
"removeTitle": "Retirer cet élément orphelin du client ?",
|
||
"removeDescription": "{name} est retiré du client de téléchargement. Ses fichiers téléchargés sont conservés.",
|
||
"notOrphan": "Cet élément du client est encore rattaché à une tentative de téléchargement BookOrbit.",
|
||
"notAdoptable": "Cet élément du client ou cette tentative en échec a changé et ne peut plus être rattaché. Relancez le rapprochement."
|
||
},
|
||
"errors": {
|
||
"loadFailed": "Impossible de charger les clients de téléchargement",
|
||
"saveFailed": "Impossible d'enregistrer ce client de téléchargement",
|
||
"deleteFailed": "Impossible de supprimer ce client de téléchargement",
|
||
"testFailed": "Impossible de joindre ce client de téléchargement",
|
||
"nameAndUrlRequired": "Un nom et une URL de base sont obligatoires",
|
||
"nameTaken": "Un client de téléchargement porte déjà ce nom",
|
||
"urlUnsafe": "Cette URL de base n'a pas pu être jointe. Vérifiez l'adresse et qu'elle utilise http ou https.",
|
||
"urlPrivate": "Cette adresse est sur un réseau privé ou local. Activez « Autoriser les adresses privées » si le client tourne là.",
|
||
"encryptionKeyMissing": "Définissez BOOK_REQUEST_ENCRYPTION_KEY avant d'enregistrer un mot de passe. Générez-en une avec : openssl rand -hex 32",
|
||
"encryptionKeyChanged": "Le mot de passe enregistré n'a pas pu être lu. BOOK_REQUEST_ENCRYPTION_KEY a peut-être changé depuis son enregistrement.",
|
||
"pathNotAbsolute": "Les correspondances de chemins doivent utiliser des chemins absolus des deux côtés",
|
||
"nameRequired": "Donnez un nom à ce client.",
|
||
"urlRequired": "Saisissez l'adresse à laquelle BookOrbit doit joindre ce client.",
|
||
"mappingRequired": "Ajoutez au moins une correspondance de chemins, pour que BookOrbit sache depuis quel répertoire il peut importer.",
|
||
"apiKeyRequired": "Saisissez la clé API SABnzbd indiquée sous Config > General."
|
||
},
|
||
"encryptionKeyMissing": "BOOK_REQUEST_ENCRYPTION_KEY n'est pas définie, un mot de passe de client ne peut donc pas être enregistré. Générez-en une avec : openssl rand -hex 32",
|
||
"confirmDelete": {
|
||
"title": "Supprimer ce client de téléchargement ?",
|
||
"description": "L'adresse et le mot de passe enregistré de {name} sont supprimés, et les demandes qui téléchargent là cessent d'être mises à jour. Désactivez-le plutôt pour conserver ces informations.",
|
||
"confirm": "Supprimer le client"
|
||
},
|
||
"indexers": {
|
||
"title": "Indexeurs torrent",
|
||
"hint": "Votre propre Prowlarr, Jackett ou NZBHydra, via Torznab. Ajoutez-en un par flux Torznab à interroger.",
|
||
"allDisabled": "Toutes les sources ci-dessous sont désactivées : aucune recherche de demande ne trouvera quoi que ce soit. Réactivez-en au moins une.",
|
||
"loading": "Chargement des indexeurs...",
|
||
"empty": {
|
||
"title": "Aucune source pour l'instant",
|
||
"body": "BookOrbit ne fournit aucune source, une recherche de demande ne trouve donc rien tant que vous n'en ajoutez pas une. Il y a deux façons de procéder.",
|
||
"bodyOneWay": "BookOrbit ne fournit aucune source, une recherche de demande ne trouve donc rien tant que vous n'en ajoutez pas une.",
|
||
"responsibility": "Ce qu'indexe une source que vous ajoutez relève de votre responsabilité.",
|
||
"prowlarrTitle": "Connecter Prowlarr",
|
||
"prowlarrBody": "Gérez plusieurs indexeurs torrent et Usenet via une seule connexion.",
|
||
"recommended": "Recommandé",
|
||
"pluginTitle": "Installer un plugin",
|
||
"pluginBody": "Un fichier unique qui apprend à BookOrbit à interroger un site précis. Vous le fournissez, puis vous renseignez ses paramètres.",
|
||
"torznabTitle": "Ajouter un indexeur Torznab",
|
||
"torznabBody": "Pointez vers un flux Prowlarr, Jackett ou NZBHydra que vous hébergez déjà. Un par flux.",
|
||
"builtInTitle": "Ajouter un indexeur",
|
||
"builtInBody": "Indiquez un flux Torznab ou Newznab que vous utilisez déjà. Une configuration par flux."
|
||
},
|
||
"add": "Ajouter un indexeur",
|
||
"edit": "Modifier l'indexeur",
|
||
"delete": "Supprimer {name}",
|
||
"none": "Aucun indexeur pour l'instant.",
|
||
"disabled": "Désactivé",
|
||
"test": "Tester la connexion",
|
||
"testSaveFirst": "Enregistrez vos modifications avant de tester",
|
||
"testOk": "Connecté à {name}",
|
||
"toggleAria": "Chercher avec {name}",
|
||
"enabledNotice": "{name} sera interrogé",
|
||
"disabledNotice": "{name} ne sera pas interrogé",
|
||
"lastTestOk": "Dernier test {time} : connecté",
|
||
"lastTestFailed": "Dernier test {time} : {error}",
|
||
"saved": "Indexeur enregistré",
|
||
"deleted": "Source supprimée",
|
||
"unavailable": "Cette installation n'a pas de type d'indexeur « {type} ». Changez le type, ou supprimez son plugin et sa configuration enregistrée.",
|
||
"pluginFailed": "Le plugin situé dans « {directory} » ne s'est pas chargé : {reason}",
|
||
"sources": {
|
||
"title": "Sources",
|
||
"hint": "Tout ce que BookOrbit peut interroger, regroupé par connexion.",
|
||
"add": "Ajouter une source",
|
||
"prowlarr": "Connecter Prowlarr",
|
||
"prowlarrHint": "Gérez plusieurs indexeurs torrent et Usenet ensemble.",
|
||
"direct": "Ajouter Torznab ou Newznab",
|
||
"directHint": "Connectez directement un flux compatible.",
|
||
"plugin": "Installer un plugin",
|
||
"pluginHint": "Ajoutez une implémentation de source spécialisée.",
|
||
"activeSummary": "{count, plural, one {# source active} many {# sources actives} other {# sources actives}} : {torrent} torrent, {usenet} Usenet, {direct} en direct"
|
||
},
|
||
"network": {
|
||
"title": "Réseau avancé",
|
||
"hint": "Utile seulement lorsque le chemin par défaut vers cette source ne fonctionne pas. Ce qui est autorisé ne change pas : quelle que soit l'adresse jointe, elle est vérifiée de la même manière.",
|
||
"resolvers": "Serveurs DNS",
|
||
"proxyUrl": "URL du proxy",
|
||
"proxyHint": "Un proxy http ou https par lequel faire passer les requêtes de cette source. SOCKS n'est pas pris en charge.",
|
||
"brief": "Utile seulement lorsque le chemin par défaut vers cette source ne fonctionne pas.",
|
||
"resolversBrief": "Séparés par des virgules. Utilisés à la place du résolveur système pour cette source uniquement ; vide, c'est le résolveur système qui sert.",
|
||
"proxyBrief": "Un proxy http ou https pour cette source. SOCKS n'est pas pris en charge."
|
||
},
|
||
"types": {
|
||
"torznab": "Torznab (Jackett, Prowlarr, NZBHydra)",
|
||
"newznab": "Newznab"
|
||
},
|
||
"fields": {
|
||
"name": "Nom",
|
||
"type": "Type d'indexeur",
|
||
"baseUrl": "URL de base",
|
||
"baseUrlHint": {
|
||
"torznab": "L'URL du flux torznab, sans la chaîne de requête. Jackett l'affiche sur chaque indexeur sous « Torznab Feed ».",
|
||
"newznab": "L'URL du site Newznab ou le point d'accès de l'API, sans requête de recherche."
|
||
},
|
||
"credential": {
|
||
"apiKey": "Clé API",
|
||
"sessionId": "ID de session"
|
||
},
|
||
"credentialKeep": "Laissez vide pour conserver l'identifiant enregistré",
|
||
"credentialClear": "Effacer",
|
||
"credentialKeepAction": "Conserver",
|
||
"credentialWillClear": "L'identifiant enregistré sera supprimé à l'enregistrement",
|
||
"enabled": "Activé",
|
||
"allowPrivateAddress": "Autoriser les adresses privées",
|
||
"credentialBrief": "Stocké chiffré.",
|
||
"allowPrivateAddressBrief": "Désactivé par défaut. Utile seulement pour un proxy comme Jackett sur votre réseau local.",
|
||
"searchByIsbn": "Chercher par ISBN",
|
||
"searchByIsbnBrief": "Activé par défaut. Désactivez-le si cette source renvoie le mauvais livre pour un ISBN exact : elle sera alors interrogée par titre et auteur."
|
||
},
|
||
"color": {
|
||
"label": "Couleur",
|
||
"hint": "Signale cette source sur chaque release qu'elle renvoie, pour repérer d'où vient un résultat avant même d'en lire le nom. Le torrent et le téléchargement direct gardent leurs deux couleurs, c'est pourquoi aucune des deux n'est proposée ici.",
|
||
"none": "Aucune couleur",
|
||
"options": {
|
||
"blue": "Bleu",
|
||
"indigo": "Indigo",
|
||
"purple": "Violet",
|
||
"pink": "Rose",
|
||
"red": "Rouge",
|
||
"orange": "Orange",
|
||
"yellow": "Jaune",
|
||
"lime": "Vert citron",
|
||
"green": "Vert",
|
||
"teal": "Sarcelle"
|
||
}
|
||
},
|
||
"mediaKinds": {
|
||
"label": "Supports à chercher sur cette source",
|
||
"hint": "Désactivez un support qu'il ne vaut pas la peine de demander à cette source. Un tracker qui ne propose que des livres audio, derrière un proxy généraliste, annonce quand même tout porter, et l'interroger pour des ebooks coûte une requête à chaque recherche.",
|
||
"notCarried": "Cette source ne le propose pas."
|
||
},
|
||
"categories": {
|
||
"title": "Catégories",
|
||
"brief": "Les numéros de catégorie propres à l'indexeur, séparés par des virgules."
|
||
},
|
||
"settings": {
|
||
"restoreDefault": "Rétablir les valeurs par défaut"
|
||
},
|
||
"seeding": {
|
||
"applyTracker": "Appliquer les objectifs de partage du tracker",
|
||
"applyTrackerBrief": "Lorsqu'une valeur manuelle est vide, utiliser un objectif valide communiqué par le tracker. Désactivé, les valeurs vides reprennent les réglages par défaut du client de téléchargement. Les valeurs manuelles s'appliquent toujours.",
|
||
"ratio": "Ratio de partage",
|
||
"ratioBrief": "Un nombre décimal positif. Vide, la valeur est reprise du tracker ou du client.",
|
||
"time": "Durée de partage (minutes)",
|
||
"timeBrief": "Un nombre entier positif. Vide, la valeur est reprise du tracker ou du client.",
|
||
"clientSupport": "qBittorrent accepte un ratio et une durée totale de partage. Deluge et Transmission n'acceptent que le ratio. Les règles globales du client et la première limite atteinte peuvent arrêter le partage : ces valeurs ne garantissent donc pas que chaque minimum de tracker soit respecté.",
|
||
"futureGrabs": "Les modifications s'appliquent aux prochaines récupérations. Les torrents existants ou adoptés peuvent conserver des limites propres au client. Désactiver le repli sur le tracker laisse actifs les réglages par défaut du client ; cela ne signifie pas un partage illimité.",
|
||
"reset": "Réinitialiser les paramètres de partage",
|
||
"summary": {
|
||
"title": "Résumé de la politique",
|
||
"ratio": "Ratio",
|
||
"time": "Durée de partage",
|
||
"manual": "Manuel : {value}",
|
||
"tracker": "Repli sur le tracker",
|
||
"client": "Valeur par défaut du client"
|
||
},
|
||
"errors": {
|
||
"ratio": "Saisissez un nombre fini supérieur à zéro, ou laissez ce champ vide.",
|
||
"minutes": "Saisissez un nombre entier de 1 à 2 147 483 647, ou laissez ce champ vide."
|
||
}
|
||
},
|
||
"confirmDelete": {
|
||
"title": "Supprimer cette source ?",
|
||
"description": "L'adresse, les paramètres et l'identifiant enregistré de {name} sont supprimés. Désactivez-la plutôt pour cesser de l'interroger sans les perdre.",
|
||
"confirm": "Supprimer la source"
|
||
},
|
||
"errors": {
|
||
"loadFailed": "Impossible de charger les indexeurs",
|
||
"saveFailed": "Impossible d'enregistrer cet indexeur",
|
||
"deleteFailed": "Impossible de supprimer cette source",
|
||
"testFailed": "Impossible de joindre cet indexeur",
|
||
"nameAndUrlRequired": "Un nom et une URL de base sont obligatoires",
|
||
"nameTaken": "Un indexeur porte déjà ce nom",
|
||
"urlUnsafe": "Cette URL de base n'a pas pu être jointe. Vérifiez l'adresse et qu'elle utilise http ou https.",
|
||
"urlPrivate": "Cette adresse est sur un réseau privé ou local. Activez « Autoriser les adresses privées » si l'indexeur tourne là.",
|
||
"credentialRequired": "Cet indexeur a besoin d'un identifiant avant de pouvoir servir",
|
||
"invalidSettings": "Un ou plusieurs paramètres de la source sont invalides. Revoyez les choix disponibles.",
|
||
"nameRequired": "Donnez un nom à cet indexeur.",
|
||
"urlRequired": "Saisissez l'adresse à laquelle BookOrbit doit chercher."
|
||
},
|
||
"editName": "Modifier {name}",
|
||
"editorDescription": "Paramètres de cet indexeur.",
|
||
"chooseType": "Choisir un type d'indexeur",
|
||
"chooseTypeHint": "Choisissez où BookOrbit doit chercher. Le formulaire ne demande ensuite que ce dont cette source a besoin.",
|
||
"builtIn": "Intégré",
|
||
"plugin": "Plugin",
|
||
"typeDescriptions": {
|
||
"torznab": "Votre propre Jackett, Prowlarr ou NZBHydra. Utilise les catégories et les objectifs de partage.",
|
||
"newznab": "Un indexeur Usenet compatible Newznab. Utilise les catégories et nécessite une clé API."
|
||
},
|
||
"plugins": {
|
||
"title": "Plugins",
|
||
"hint": "Un site que BookOrbit peut interroger, ajouté sous la forme d'un unique fichier de plugin. Installez-en un, puis renseignez ses paramètres.",
|
||
"directoryLink": "Parcourir les plugins open source disponibles",
|
||
"none": "Aucun plugin installé. Installez-en un pour interroger un site que Torznab ne couvre pas.",
|
||
"install": "Installer un plugin",
|
||
"installed": "{label} installé.",
|
||
"installFailed": "Ce plugin n'a pas pu être installé.",
|
||
"inspectFailed": "Ce fichier n'a pas pu être lu comme un plugin.",
|
||
"removeAction": "Supprimer le plugin",
|
||
"removed": "{type} et ses sources ont été supprimés.",
|
||
"removeFailed": "Ce plugin n'a pas pu être supprimé.",
|
||
"confirmRemove": "Supprimer le plugin {label} ?",
|
||
"replaces": "Cela remplace le plugin {type} déjà installé.",
|
||
"restartRequired": "Redémarrez BookOrbit pour que le changement de plugin prenne effet.",
|
||
"confirmInstall": "Installer le plugin",
|
||
"configure": "Configurer",
|
||
"notSetUp": "Pas encore configuré",
|
||
"brokenTitle": "Un plugin ne s'est pas chargé",
|
||
"managedHint": "Installé sur ce serveur. Le mettre à jour remplace son code. Le supprimer retire définitivement le plugin et toutes les sources de ce type.",
|
||
"missingHint": "Le fichier du plugin a déjà disparu. Supprimez cette entrée de plugin pour retirer toutes les sources, tous les paramètres et tous les identifiants enregistrés qui restent pour son type.",
|
||
"removeWarning": "{count, plural, one {# source, ses paramètres et son identifiant enregistrés seront définitivement supprimés avec ce plugin.} other {# sources, leurs paramètres et leurs identifiants enregistrés seront définitivement supprimés avec ce plugin.} many {# sources, leurs paramètres et leurs identifiants enregistrés seront définitivement supprimés avec ce plugin.}}",
|
||
"configureAria": "Configurer {label}",
|
||
"usedBy": "{count, plural, one {utilisé par # source} other {utilisé par # sources} many {utilisé par # sources}}",
|
||
"unused": "aucune source ne l'utilise encore",
|
||
"update": "Mettre à jour le plugin",
|
||
"checkUpdates": "Rechercher des mises à jour",
|
||
"updateCheckComplete": "Recherche de mises à jour des plugins terminée.",
|
||
"updateCheckFailed": "Impossible de rechercher les mises à jour des plugins.",
|
||
"updateInspectFailed": "La mise à jour publiée du plugin n'a pas pu être vérifiée.",
|
||
"reviewUpdate": "Examiner la mise à jour",
|
||
"updated": "{label} mis à jour en version {version}.",
|
||
"autoUpdate": "Installer automatiquement les mises à jour signées",
|
||
"autoUpdateFailed": "Impossible de modifier les mises à jour automatiques de ce plugin.",
|
||
"installedVersion": "Version installée",
|
||
"updateChannel": "Canal de mises à jour signées",
|
||
"signatureVerified": "La source téléchargée correspond à la signature Ed25519 de l'éditeur.",
|
||
"updateStates": {
|
||
"unsupported": "Mises à jour manuelles",
|
||
"unchecked": "Pas encore vérifié",
|
||
"current": "À jour",
|
||
"available": "Version {version} disponible",
|
||
"custom": "Build personnalisé",
|
||
"failed": "Échec de la recherche de mises à jour"
|
||
},
|
||
"wrongType": "Ce fichier est le plugin {found}, pas {expected}.",
|
||
"replaceTitle": "Remplacer ce plugin ?",
|
||
"replace": "Remplacer le plugin",
|
||
"reviewTitle": "Installer ce plugin ?",
|
||
"reviewDescription": "Ce que le fichier déclare sur lui-même, et le code qu'il exécutera.",
|
||
"declares": "Ce qu'il déclare",
|
||
"source": "Ce qu'il exécutera",
|
||
"type": "Type",
|
||
"version": "Version",
|
||
"versionLabel": "Version {version} du plugin",
|
||
"versionUnknown": "Version du plugin inconnue",
|
||
"versionUnknownValue": "Inconnue",
|
||
"media": "Supports",
|
||
"credential": "Identifiant",
|
||
"credentialRequired": "Obligatoire",
|
||
"credentialNone": "Aucun",
|
||
"trustWarning": "Un plugin s'exécute à l'intérieur de BookOrbit, avec son accès à votre base de données, aux fichiers de votre bibliothèque et à votre clé de chiffrement. N'en installez un que depuis une source de confiance, et lisez-le d'abord.",
|
||
"sectionTitle": "Plugin",
|
||
"removeUnusedWarning": "Le plugin sera définitivement supprimé du serveur."
|
||
},
|
||
"posture": "BookOrbit ne fournit ni ne cautionne aucune source d'indexation. Chaque source ici est une source que vous avez configurée, et vous êtes responsable de ce que vous recherchez et téléchargez par son intermédiaire."
|
||
},
|
||
"managers": {
|
||
"add": "Ajouter Prowlarr",
|
||
"loading": "Chargement des connexions Prowlarr...",
|
||
"managedSources": "{count, plural, one {# indexeur géré} many {# indexeurs gérés} other {# indexeurs gérés}}",
|
||
"protocol": {
|
||
"torrent": "Torrent",
|
||
"usenet": "Usenet"
|
||
},
|
||
"saved": "Paramètres Prowlarr enregistrés",
|
||
"deleted": "Prowlarr supprimé",
|
||
"synced": "Sources Prowlarr synchronisées",
|
||
"test": "Tester la connexion",
|
||
"sync": "Synchroniser",
|
||
"testOk": "Connecté à Prowlarr {version}. {count, plural, one {# source trouvée} many {# sources trouvées} other {# sources trouvées}}.",
|
||
"unavailable": "Indisponible",
|
||
"priority": "Priorité Prowlarr {priority}",
|
||
"toggleSource": "Rechercher avec {name}",
|
||
"changeColor": "Changer la couleur de {name}",
|
||
"sourceColor": "Couleur de la source",
|
||
"sourceColorHint": "Signale les releases renvoyées par {name} dans tout BookOrbit.",
|
||
"noSources": "Aucun indexeur torrent ou Usenet compatible n'a été découvert. Synchronisez après en avoir ajouté un dans Prowlarr.",
|
||
"unknown": "de version inconnue",
|
||
"editorDescription": "Paramètres de connexion et de synchronisation des sources pour Prowlarr.",
|
||
"confirmDelete": "Supprimer cette connexion Prowlarr ?",
|
||
"deleteConsequence": "La connexion, la clé API chiffrée et toutes les sources synchronisées sont supprimées. Les téléchargements déjà en cours ne sont pas supprimés.",
|
||
"fields": {
|
||
"name": "Nom",
|
||
"color": "Couleur de la connexion",
|
||
"colorHint": "Signale ici cette connexion Prowlarr. Chaque indexeur géré a sa propre couleur de release.",
|
||
"baseUrl": "URL de base",
|
||
"apiKey": "Clé API",
|
||
"apiKeyHint": "Disponible dans Prowlarr sous Settings > General > Security. Stockée chiffrée.",
|
||
"syncNew": "Activer les sources nouvellement découvertes",
|
||
"syncNewHint": "Les nouveaux indexeurs Prowlarr sont interrogeables immédiatement. Les sources que vous désactivez ici le restent après les synchronisations suivantes.",
|
||
"autoExpand": "Réessayer sans filtre de catégorie",
|
||
"autoExpandHint": "Lorsqu'un indexeur répond correctement mais sans résultat, réessayer une fois sans le filtre de catégorie livres de BookOrbit.",
|
||
"inheritSeedLimits": "Utiliser les limites de partage de Prowlarr",
|
||
"inheritSeedLimitsHint": "Appliquer aux prochains téléchargements le ratio et la durée de partage configurés sur chaque indexeur torrent, lorsqu'aucune valeur BookOrbit ne les remplace.",
|
||
"perIndexerTimeout": "Délai d'attente par indexeur (secondes)",
|
||
"perIndexerTimeoutHint": "Temps maximal accordé à une source synchronisée. Les indexeurs lents qui passent par FlareSolverr peuvent demander davantage.",
|
||
"overallBudget": "Budget Prowlarr (secondes)",
|
||
"overallBudgetHint": "Durée réelle maximale partagée par toutes les sources de cette connexion Prowlarr pendant une recherche."
|
||
},
|
||
"errors": {
|
||
"load": "Impossible de charger les gestionnaires d'indexeurs",
|
||
"nameTaken": "Une connexion Prowlarr porte déjà ce nom",
|
||
"urlPrivate": "Cette adresse est sur un réseau privé ou local. Activez « Autoriser les adresses privées » si Prowlarr tourne sur ce réseau.",
|
||
"required": "Saisissez un nom, une URL de base et une clé API.",
|
||
"save": "Impossible d'enregistrer la connexion Prowlarr",
|
||
"delete": "Impossible de supprimer la connexion Prowlarr",
|
||
"test": "Impossible de joindre Prowlarr",
|
||
"sync": "Impossible de synchroniser les sources Prowlarr",
|
||
"source": "Impossible de modifier cette source"
|
||
}
|
||
},
|
||
"automation": {
|
||
"title": "Automatisation",
|
||
"pipeline": "Quand un téléchargement se termine, il passe par le Book Dock, où son titre et son auteur sont lus pour que le fichier puisse être nommé et classé correctement, puis il rejoint tout seul la bibliothèque de destination de la demande. Il ne s'arrête pour vous que si la vérification des imports est active et que le fichier ne correspond pas à ce qui avait été demandé.",
|
||
"groupDownloads": "Téléchargements automatiques",
|
||
"groupImports": "Vérification des imports",
|
||
"stateOn": "Activée",
|
||
"stateOff": "Désactivée",
|
||
"summaryOff": "Chaque demande approuvée attend qu'une personne ouvre le sélecteur de releases et choisisse.",
|
||
"summaryNoRetry": "Une demande approuvée télécharge sa meilleure release toute seule, à condition que cette release atteigne un score d'au moins {score}. En cas d'échec, la demande attend une personne.",
|
||
"summaryRetry": "Une demande approuvée télécharge sa meilleure release toute seule, à condition que cette release atteigne un score d'au moins {score}. {count, plural, one {C'est la seule release essayée avant que la demande n'attende une personne.} other {Jusqu'à # releases sont essayées avant que la demande n'attende une personne.} many {Jusqu'à # releases sont essayées avant que la demande n'attende une personne.}}",
|
||
"howDownloads": "Comment fonctionnent les téléchargements automatiques",
|
||
"howImports": "Comment fonctionne la vérification des imports",
|
||
"minScoreShort": "Rien en dessous n'est téléchargé sans surveillance.",
|
||
"autoRetryShort": "Un téléchargement en échec bascule sur la suivante.",
|
||
"maxAttemptsShort": "La première tentative et chaque reprise comptent dans ce total.",
|
||
"verificationShort": "En dessous, le fichier attend dans le Book Dock pour vérification.",
|
||
"loading": "Chargement des paramètres d'automatisation...",
|
||
"loadFailed": "Impossible de charger les paramètres d'automatisation",
|
||
"saveFailed": "Impossible d'enregistrer ce paramètre",
|
||
"saved": "Paramètres d'automatisation enregistrés",
|
||
"autoGrab": "Télécharger automatiquement la meilleure release",
|
||
"noSourcesConfigured": "Aucune source de recherche n'est configurée : rien ne sera cherché et toute demande approuvée repassera directement en traitement manuel. Ajoutez-en une sous Sources.",
|
||
"noSourcesEnabled": "Toutes les sources de recherche sont désactivées : rien ne sera cherché et toute demande approuvée repassera directement en traitement manuel. Réactivez-en une sous Sources.",
|
||
"autoGrabHint": "Quand une demande est approuvée, la release au meilleur score part directement au client de téléchargement et personne n'a à ouvrir le sélecteur de releases. Désactivé par défaut, car associer un livre à la bonne release est difficile et une personne juge en général mieux.",
|
||
"autoGrabEnabled": "Les téléchargements automatiques sont activés",
|
||
"autoGrabDisabled": "Les téléchargements automatiques sont désactivés",
|
||
"minScore": "Score minimal d'une release",
|
||
"minScoreHint": "Une release dont le score est inférieur n'est jamais téléchargée automatiquement. Les scores vont jusqu'à 100, et la correspondance du titre et de l'auteur en constitue l'essentiel, devant le format, la taille du fichier, les seeders et la priorité de la source. Si rien n'atteint un score suffisant, la demande attend qu'une personne choisisse une release à la main, en indiquant ce qui l'a arrêtée.",
|
||
"minScoreHintV2": "Une release dont le score est inférieur n'est jamais téléchargée automatiquement. Les scores vont jusqu'à 100. La pertinence du titre et de l'auteur compte le plus, suivie du format et d'une taille de fichier plausible ; l'état de l'essaim et le freeleech entrent en compte lorsqu'une source les fournit. Si rien n'atteint un score suffisant, la demande attend qu'une personne choisisse une release à la main et indique pourquoi elle s'est arrêtée.",
|
||
"autoRetry": "Essayer la release suivante après un échec",
|
||
"autoRetryHint": "Quand un téléchargement automatique échoue, la release suivante est essayée plutôt que d'abandonner. Cela couvre une source qui refuse de livrer le fichier comme un téléchargement qui meurt en cours de route. Cela ne vaut que pour les releases choisies par BookOrbit lui-même : une release choisie à la main par un approbateur reste en échec et l'attend.",
|
||
"maxAttempts": "Tentatives par demande",
|
||
"maxAttemptsHint": "Chaque release que BookOrbit envoie à un client de téléchargement pour cette demande compte dans cette limite : la première tentative automatique, tout ce qui est essayé après le refus d'une source, et tout ce qui est essayé après l'échec d'un téléchargement. Réglez-la sur 1 pour vous arrêter à la première tentative.",
|
||
"autoSearch": "Continuer à chercher pour les demandes restées sans résultat",
|
||
"autoSearchShort": "Une demande approuvée sans correspondance est recherchée à nouveau plus tard.",
|
||
"autoSearchHint": "Une demande fait l'objet d'une recherche au moment de son approbation. Si rien d'assez bon ne se présente, ou si le livre n'est pas encore paru, cette demande reste à l'état approuvé et plus rien ne la cherche. Activez ceci et BookOrbit continue de vérifier tout seul, si bien qu'une release publiée le mois suivant est quand même trouvée. Cela ne fonctionne que si les téléchargements automatiques sont actifs, puisqu'une recherche qui ne peut rien faire de ce qu'elle trouve ne fait que coûter du trafic à vos sources.",
|
||
"autoSearchEnabledToast": "Les demandes feront l'objet de nouvelles recherches",
|
||
"autoSearchDisabledToast": "Les demandes ne seront recherchées qu'à leur approbation",
|
||
"autoSearchInterval": "Chercher à nouveau après",
|
||
"autoSearchIntervalShort": "Compté depuis la dernière recherche, et allongé à mesure que la demande vieillit.",
|
||
"autoSearchIntervalHint": "Combien de temps attendre avant de chercher à nouveau pour une demande restée sans résultat. L'attente double à chaque semaine d'attente de la demande, jusqu'à huit fois cette valeur, pour qu'un long arriéré de vieilles demandes ne se transforme pas en trafic quotidien contre chacune de vos sources.",
|
||
"autoSearchIntervalUnit": "heures",
|
||
"autoSearchMaxAge": "Arrêter de chercher après",
|
||
"autoSearchMaxAgeShort": "Compté depuis la date de la demande.",
|
||
"autoSearchMaxAgeHint": "Une demande plus ancienne que cela est laissée tranquille. Elle reste approuvée et une release peut toujours lui être choisie à la main à tout moment ; plus rien ne la cherche automatiquement.",
|
||
"autoSearchMaxAgeUnit": "jours",
|
||
"verify": "Vérifier les imports face à la demande",
|
||
"verifyOnHint": "Chaque fichier téléchargé est comparé au livre demandé avant d'être classé. Tout ce qui ne correspond pas d'assez près attend dans le Book Dock que quelqu'un y jette un œil.",
|
||
"verifyOffHint": "Rien n'est retenu pour vérification. Chaque téléchargement est classé dès que son titre et son auteur ont été lus, si bien qu'une release mal étiquetée atterrit dans votre bibliothèque sans prévenir.",
|
||
"verificationEnabled": "La vérification des imports est active",
|
||
"verificationDisabled": "La vérification des imports est inactive. Les téléchargements seront classés sans contrôle",
|
||
"verification": "Seuil de vérification",
|
||
"verificationHint": "À quel point un fichier téléchargé doit correspondre à la demande pour être classé tout seul. Tout ce qui est en dessous attend plutôt dans le Book Dock pour vérification. Cela vaut pour toutes les demandes, y compris les releases choisies à la main.",
|
||
"destinations": "Destinations par défaut",
|
||
"destinationsHint": "Où un livre est classé quand personne ne lui a choisi de bibliothèque. Il y a une destination par défaut par support, parce que le support est choisi avant toute recherche et qu'il est la seule chose connue du fichier à ce stade. Une destination épinglée par le demandeur, ou choisie à l'approbation, prime sur celles-ci.",
|
||
"destinationUnset": "Aucune par défaut",
|
||
"destinationHiddenLibrary": "Une bibliothèque que vous ne pouvez pas voir",
|
||
"destinationHiddenFolder": "Un dossier que vous ne pouvez pas voir",
|
||
"selectFolder": "Choisir un dossier",
|
||
"destinationLibraryFor": "Bibliothèque par défaut - demandes de type {medium}",
|
||
"destinationFolderFor": "Dossier par défaut - demandes de type {medium}",
|
||
"destinationClearFor": "Effacer la destination par défaut des demandes de type {medium}",
|
||
"importFormats": "Formats importés",
|
||
"importFormatsHint": "Ce qu'il faut garder quand une release porte le même livre dans plusieurs formats, par exemple un EPUB et un PDF ensemble. Cela ne s'applique jamais à un livre audio en plusieurs parties, car ses parties forment un seul livre plutôt que des éditions concurrentes.",
|
||
"importFormatsOption": {
|
||
"all": "Tous les formats disponibles",
|
||
"allHint": "Garder tous les formats livrés avec la release.",
|
||
"preferred": "Le format préféré uniquement",
|
||
"preferredHint": "Ne garder que le format le plus haut placé dans la priorité de formats de la bibliothèque de destination."
|
||
}
|
||
},
|
||
"profiles": {
|
||
"title": "Profils de release",
|
||
"effectiveRule": "Règle de téléchargement automatique : premier palier correspondant, puis meilleur score (minimum {score}).",
|
||
"summary": "Les releases hors profil restent disponibles pour une sélection manuelle. Sans palier, les releases sont classées selon leur seul score.",
|
||
"howProfiles": "Fonctionnement des profils de release",
|
||
"hint": "L'édition que vous voulez, la meilleure d'abord. Une release est confrontée à ces paliers de haut en bas et prend le premier auquel elle satisfait. C'est là-dedans que le téléchargement sans surveillance choisit : une release qui ne correspond à aucun palier n'est jamais téléchargée automatiquement, même si elle reste proposée dans le sélecteur pour que vous l'envoyiez à la main. Laissez un support vide et rien n'est filtré ni refusé : les releases sont alors classées par leur seul score.",
|
||
"bitrateNote": "Un débit plancher écarte une release qui en annonce un plus faible. La plupart des sources ne mesurent que très peu de leurs releases, et une release non mesurée n'est pas écartée : ce réglage restreint donc moins qu'il n'y paraît.",
|
||
"empty": "Aucun profil. Les releases de ce support sont classées par leur seul score.",
|
||
"addTier": "Ajouter un palier",
|
||
"removeTier": "Supprimer ce palier",
|
||
"moveUp": "Monter ce palier",
|
||
"moveDown": "Descendre ce palier",
|
||
"tierName": "Nom du palier",
|
||
"newTier": "Palier {position}",
|
||
"formats": "Formats",
|
||
"files": "Fichiers",
|
||
"anyLayout": "Indifférent",
|
||
"minBitrate": "Débit min. (kbps)",
|
||
"minSeeders": "Seeders min.",
|
||
"torrentConditions": "Conditions torrent",
|
||
"nonTorrentConditions": "Les conditions de seeders, de freeleech et de VIP ne s'appliquent pas aux sources sélectionnées.",
|
||
"incompatibleTorrentConditions": "Ce palier hors torrent conserve des conditions torrent enregistrées. Elles peuvent être ignorées ou empêcher le palier de correspondre.",
|
||
"removeTorrentConditions": "Supprimer les conditions torrent",
|
||
"channels": "Canaux",
|
||
"anyChannels": "Indifférent",
|
||
"mono": "Mono",
|
||
"stereo": "Stéréo",
|
||
"maxSize": "Taille max. (Mo)",
|
||
"languages": "Langues",
|
||
"indexers": "Sources",
|
||
"multiSelectHint": "Choisissez-en une ou plusieurs, ou laissez vide pour tout autoriser",
|
||
"multiSelectAny": "Indifférent"
|
||
},
|
||
"health": {
|
||
"ok": "Connecté",
|
||
"failed": "Injoignable",
|
||
"untested": "Jamais testé",
|
||
"disabled": "Désactivé",
|
||
"testedAt": "testé {time}",
|
||
"failedAt": "échec {time}"
|
||
},
|
||
"categoryLabel": "catégorie {category}",
|
||
"priorityLabel": "priorité {priority}",
|
||
"editClientName": "Modifier {name}",
|
||
"sections": {
|
||
"connection": "Connexion",
|
||
"search": "Ce qui est recherché",
|
||
"access": "Accès",
|
||
"seeding": "Partage",
|
||
"availability": "Disponibilité",
|
||
"behaviour": "Comportement"
|
||
},
|
||
"continueWithType": "Continuer",
|
||
"external": "Externe",
|
||
"editorDescription": "Paramètres de ce client de téléchargement.",
|
||
"chooseClientType": "Choisir un type de client",
|
||
"chooseClientTypeHint": "Choisissez le programme auquel BookOrbit confie les torrents.",
|
||
"clientTypeDescriptions": {
|
||
"qbittorrent": "Votre propre qBittorrent. Demande une adresse et un compte.",
|
||
"transmission": "Votre propre Transmission. Il n'a pas de catégories : la catégorie devient un sous-dossier de son répertoire de téléchargement.",
|
||
"deluge": "Votre propre Deluge. Connectez-vous avec le mot de passe de l'interface web ; la catégorie nécessite le plugin Label activé.",
|
||
"nzbget": "Votre propre NZBGet. BookOrbit envoie les fichiers NZB via son API JSON-RPC.",
|
||
"sabnzbd": "Votre propre SABnzbd. BookOrbit envoie les fichiers NZB à l'aide de sa clé API."
|
||
},
|
||
"searchHealth": {
|
||
"failingOnce": "La dernière recherche a échoué",
|
||
"failingStreak": "{count} recherches ont échoué d'affilée",
|
||
"lastSearchAt": "dernière recherche {time}"
|
||
}
|
||
}
|
||
},
|
||
"nav": {
|
||
"title": "Paramètres",
|
||
"ariaLabel": "Sections des paramètres",
|
||
"searchPlaceholder": "Rechercher des paramètres",
|
||
"clearSearch": "Effacer la recherche",
|
||
"noResults": "Aucun paramètre ne correspond à « {query} ».",
|
||
"status": {
|
||
"scanning": "Analyse en cours"
|
||
},
|
||
"groups": {
|
||
"you": "Vous",
|
||
"library": "Bibliothèque",
|
||
"devices": "Appareils et synchronisation",
|
||
"accounts": "Comptes",
|
||
"server": "Serveur"
|
||
},
|
||
"descriptions": {
|
||
"profile": "Votre nom, votre e-mail, votre mot de passe et vos sessions actives.",
|
||
"appearanceTheme": "Thème, couleur d'accent, arrière-plan et arrondi des angles.",
|
||
"appearanceBookCovers": "Ombres de couverture, effets de dos et visuels de remplacement.",
|
||
"appearanceIcons": "Choisissez le style d'icônes utilisé dans toute l'application.",
|
||
"appearanceLayout": "Vue, densité et espacement par défaut de la bibliothèque.",
|
||
"appearanceBehavior": "Comment la bibliothèque réagit lorsque vous parcourez et triez.",
|
||
"appearanceLanguage": "Langue de l'interface et formats régionaux.",
|
||
"readerEbook": "Polices, espacement et comportement des pages pour les ebooks.",
|
||
"readerPdf": "Rendu, zoom et ajustement des pages pour les PDF.",
|
||
"readerComics": "Sens de lecture et affichage en double page pour les bandes dessinées.",
|
||
"readerAudio": "Vitesse de lecture, intervalles de saut et minuterie de veille.",
|
||
"readerFonts": "Polices disponibles pendant la lecture.",
|
||
"readerGeneral": "Paramètres par défaut communs à tous les modes de lecture.",
|
||
"notifications": "Ce que BookOrbit vous signale, et où.",
|
||
"privacy": "Statistiques de lecture, liens partagés et visibilité de l'activité.",
|
||
"restrictions": "Classifications d'âge et contenu masqué pour ce compte.",
|
||
"libraries": "Chemins d'analyse, dossiers surveillés et règles d'importation.",
|
||
"fileNaming": "Modèles de noms de dossiers et de fichiers pour les fichiers stockés.",
|
||
"maintenance": "Réanalyses, doublons, orphelins et reconstruction du cache.",
|
||
"kobo": "Point de synchronisation, proxy boutique et correspondance des étagères.",
|
||
"koreader": "Synchronisation de la progression et correspondance des documents.",
|
||
"opds": "Flux de catalogue pour les applications de lecture tierces.",
|
||
"email": "Envoi SMTP et adresses d'envoi vers un appareil.",
|
||
"hardcover": "Synchronisez le statut de lecture et les avis avec Hardcover.",
|
||
"users": "Comptes, rôles, permissions et invitations.",
|
||
"accountActivity": "Activité de lecture et de session par utilisateur.",
|
||
"magicLinks": "Liens de partage et de connexion sans mot de passe.",
|
||
"oidc": "Fournisseur d'authentification unique (SSO), claims et provisionnement.",
|
||
"serverFonts": "Polices installées pour tous les lecteurs de ce serveur.",
|
||
"bookDock": "Actions rapides affichées sur les pages des livres.",
|
||
"auditLog": "Qui a modifié quoi, et quand.",
|
||
"requests": "Les sources, les clients de téléchargement et ce qui arrive à un livre une fois téléchargé."
|
||
},
|
||
"backToApp": "Retour à la bibliothèque"
|
||
},
|
||
"field": {
|
||
"required": "(obligatoire)"
|
||
},
|
||
"editor": {
|
||
"discardTitle": "Abandonner vos modifications ?",
|
||
"discardDescription": "Cet éditeur contient des modifications qui n'ont jamais été enregistrées. Le fermer maintenant les abandonne.",
|
||
"discardConfirm": "Abandonner les modifications",
|
||
"moreActions": "Plus d'actions",
|
||
"removeQuestion": "Supprimer cet élément ?"
|
||
}
|
||
},
|
||
"achievements": {
|
||
"title": "Succès",
|
||
"tiersCount": "Niveaux {earned} / {total}",
|
||
"loadFailed": "Échec du chargement des succès",
|
||
"tryAgain": "Réessayez",
|
||
"noMatchFilter": "Aucun succès ne correspond à ce filtre",
|
||
"secretAchievement": "Succès secret",
|
||
"earnedOn": "Vous avez gagné {date}",
|
||
"whileReading": "En lisant « {title} »",
|
||
"tierProgress": "Niveau {earned} sur {total}",
|
||
"progressToNext": "{current} / {threshold} à {name}",
|
||
"rarity": {
|
||
"common": "Commun",
|
||
"rare": "Rare",
|
||
"epic": "Épique",
|
||
"legendary": "Légendaire"
|
||
},
|
||
"filter": {
|
||
"all": "Tout",
|
||
"earned": "Gagné ({count})",
|
||
"inProgress": "En cours ({count})",
|
||
"locked": "Verrouillé ({count})"
|
||
}
|
||
},
|
||
"adminFeature": {
|
||
"accountActivity": {
|
||
"title": "Activité du compte",
|
||
"subtitle": "Examinez l'activité d'authentification du compte sans exposer l'historique de lecture.",
|
||
"privacyNotice": "Cette page signale uniquement les connexions et les actualisations d'authentification. Il n'utilise pas l'historique de lecture, la progression du livre ou l'activité de la bibliothèque.",
|
||
"privacyLabel": "À propos de la confidentialité des activités du compte",
|
||
"never": "Jamais",
|
||
"openInsightsFor": "Ouvrir les informations de lecture partagées pour {name}",
|
||
"permissionLabel": "Afficher l'activité des utilisateurs",
|
||
"states": {
|
||
"recent": "Récemment actif",
|
||
"dormant": "Dormant",
|
||
"never": "Aucune activité enregistrée",
|
||
"disabled": "Désactivé"
|
||
},
|
||
"filters": {
|
||
"search": "Rechercher des comptes",
|
||
"searchPlaceholder": "Rechercher un nom ou un nom d'utilisateur",
|
||
"state": "État d'activité",
|
||
"allStates": "Tous les états d'activité",
|
||
"provisioning": "Méthode d'authentification",
|
||
"allMethods": "Toutes les méthodes d'authentification",
|
||
"sort": "Trier les comptes",
|
||
"mostRecent": "Actif le plus récemment",
|
||
"leastRecent": "Actif le moins récemment",
|
||
"lastLogin": "Connexion la plus récente",
|
||
"newest": "Comptes les plus récents",
|
||
"oldest": "Comptes les plus anciens",
|
||
"name": "Nom",
|
||
"apply": "Appliquer",
|
||
"clear": "Effacer"
|
||
},
|
||
"methods": {
|
||
"local": "Local",
|
||
"manual": "Créé par l'administrateur",
|
||
"oidc": "OIDC / SSO",
|
||
"shared": "Lien magique partagé"
|
||
},
|
||
"columns": {
|
||
"user": "Utilisateur",
|
||
"state": "État du compte",
|
||
"lastLogin": "Dernière connexion",
|
||
"lastAuthenticated": "Dernière authentification",
|
||
"created": "Créé",
|
||
"readingInsights": "Aperçus de lecture"
|
||
},
|
||
"sharing": {
|
||
"private": "Non partagé",
|
||
"summary": "Résumé partagé",
|
||
"detailed": "Partagé détaillé"
|
||
},
|
||
"empty": {
|
||
"title": "Aucun compte trouvé",
|
||
"description": "Essayez de modifier ou d'effacer les filtres actuels."
|
||
},
|
||
"pagination": {
|
||
"label": "Pages d'activité du compte",
|
||
"page": "Page {page} sur {totalPages}"
|
||
},
|
||
"errors": {
|
||
"load": "Échec du chargement de l'activité du compte."
|
||
}
|
||
},
|
||
"sharedInsights": {
|
||
"title": "Informations de lecture partagées",
|
||
"subtitle": "Lecture des informations que cet utilisateur a volontairement choisi de partager.",
|
||
"auditNotice": "L'accès à ce profil est enregistré et visible par l'utilisateur.",
|
||
"period": "Période de déclaration",
|
||
"periodDays": "{count} derniers jours",
|
||
"durationMinutes": "{count, plural, one {# minute} other {# minutes} many {# minutes}}",
|
||
"durationHours": "{count, plural, one {# heure} other {# heures} many {# heures}}",
|
||
"metrics": {
|
||
"sessions": "Séances",
|
||
"readingTime": "Temps de lecture",
|
||
"activeDays": "Journées actives",
|
||
"started": "Livres commencés",
|
||
"completed": "Livres terminés"
|
||
},
|
||
"trend": "Tendance de lecture quotidienne",
|
||
"emptyTitle": "Aucune activité de lecture pendant cette période",
|
||
"noData": "Aucune donnée de lecture enregistrée pour cette période.",
|
||
"sessionCount": "{count, plural, one {# session} many {# sessions} other {# sessions}}",
|
||
"sourceNames": {
|
||
"web": "Lecteur web",
|
||
"ios": "Application iOS",
|
||
"watchos": "Apple Watch",
|
||
"koreader": "KOReader",
|
||
"manual": "Manuel",
|
||
"kobo": "Kobo",
|
||
"unknown": "Inconnu"
|
||
},
|
||
"formats": "Formats",
|
||
"genres": "Genres",
|
||
"broadGenres": {
|
||
"science_fiction": "Science-fiction",
|
||
"fantasy": "Fantaisie",
|
||
"mystery_thriller": "Mystère et thriller",
|
||
"romance": "Romance",
|
||
"horror": "Horreur",
|
||
"history_biography": "Histoire et biographie",
|
||
"science_technology": "Sciences et technologies",
|
||
"business_economics": "Affaires et économie",
|
||
"self_development": "Développement personnel",
|
||
"society_culture": "Société et culture",
|
||
"children_young_adult": "Enfants et jeunes adultes",
|
||
"comics_graphic_novels": "Bandes dessinées et romans graphiques",
|
||
"poetry": "Poésie",
|
||
"other": "Autre"
|
||
},
|
||
"sources": "Sources de données",
|
||
"topBooks": "Livres les plus lus",
|
||
"recentBooks": "Lu récemment",
|
||
"unknownTitle": "Livre sans titre",
|
||
"top": {
|
||
"authors": "Meilleurs auteurs",
|
||
"genres": "Genres populaires",
|
||
"series": "Meilleures séries",
|
||
"narrators": "Meilleurs narrateurs"
|
||
},
|
||
"errors": {
|
||
"READING_INSIGHTS_PRIVATE": "Cet utilisateur ne partage pas d'informations sur la lecture.",
|
||
"READING_INSIGHTS_SUMMARY_ONLY": "Cet utilisateur partage uniquement des informations récapitulatives.",
|
||
"READING_INSIGHTS_VIEW_SESSION_REQUIRED": "Une session de visualisation de profil est requise.",
|
||
"READING_INSIGHTS_VIEW_SESSION_INVALID": "Cette vue de profil a expiré ou n'est plus valide.",
|
||
"LOAD_FAILED": "Les informations de lecture partagées n'ont pas pu être chargées.",
|
||
"cleared": "Aucune information de profil précédemment chargée n'est affichée."
|
||
}
|
||
},
|
||
"resetLink": {
|
||
"title": "Lien de réinitialisation du mot de passe",
|
||
"description": "Partagez ce lien avec l'utilisateur. Il expire dans 15 minutes.",
|
||
"copy": "Copier",
|
||
"copied": "Copié !",
|
||
"copyFailed": "Échec de la copie",
|
||
"notShownAgain": "Ce lien ne sera plus affiché."
|
||
},
|
||
"userForm": {
|
||
"editUser": "Modifier l'utilisateur",
|
||
"createUser": "Créer un utilisateur",
|
||
"createSharedAccount": "Créer un compte partagé",
|
||
"sharedBadge": "Partagé",
|
||
"active": "Actif",
|
||
"suspended": "Suspendu",
|
||
"tabs": {
|
||
"general": "général",
|
||
"access": "accès",
|
||
"restrictions": "restrictions"
|
||
},
|
||
"sharedAccount": "Compte partagé",
|
||
"sharedAccountHint": "Pas de mot de passe. L'accès est accordé uniquement via des liens magiques.",
|
||
"sharedAccountManageHint": "Gérez les liens de connexion depuis Paramètres - Magic Links.",
|
||
"username": "Nom d'utilisateur",
|
||
"fullName": "Nom complet",
|
||
"email": "Courriel",
|
||
"optional": "(facultatif)",
|
||
"libraryAccess": "Accès à la bibliothèque",
|
||
"noLibrariesSelected": "Aucune bibliothèque sélectionnée. L'utilisateur ne peut afficher aucun livre.",
|
||
"permissions": "Autorisations",
|
||
"presetStandard": "Norme",
|
||
"presetAdmin": "Administrateur",
|
||
"presetClearAll": "Tout effacer",
|
||
"permissionGroups": {
|
||
"content": "Contenu",
|
||
"podcasts": "Podcasts",
|
||
"devicesAccess": "Appareils et accès",
|
||
"email": "Courriel",
|
||
"administration": "Administration",
|
||
"notifications": "Notifications",
|
||
"restrictions": "Restrictions",
|
||
"libraryBooks": "Bibliothèque et livres",
|
||
"bookRequests": "Demandes de livres",
|
||
"bookDock": "Book Dock",
|
||
"devices": "Appareils",
|
||
"readingIntegrations": "Intégrations de lecture",
|
||
"emailNotifications": "Courriel et notifications",
|
||
"libraryConfiguration": "Configuration des bibliothèques",
|
||
"usersSecurity": "Utilisateurs et sécurité",
|
||
"system": "Système"
|
||
},
|
||
"permissionLevels": {
|
||
"use": "Utiliser",
|
||
"manage": "Gérer"
|
||
},
|
||
"accountRestrictions": "Restrictions du compte",
|
||
"demoRestrictedHint": "Limite ce compte à l'expérience de démonstration restreinte.",
|
||
"superuserTarget": "Cible du super-utilisateur",
|
||
"superuserTargetHint": "Les restrictions de contenu ne peuvent pas être appliquées aux super-utilisateurs.",
|
||
"superuserAccess": {
|
||
"title": "Accès super-utilisateur",
|
||
"enabled": "Activé",
|
||
"disabled": "Désactivé",
|
||
"enabledHint": "Ce compte dispose d'un accès illimité au serveur. Ses autorisations, bibliothèques et restrictions enregistrées s'appliqueront de nouveau après rétrogradation.",
|
||
"disabledHint": "La promotion accorde un accès illimité au serveur et contourne les autorisations, les affectations de bibliothèques et les restrictions de contenu.",
|
||
"selfHint": "Vous ne pouvez pas modifier votre propre accès super-utilisateur.",
|
||
"sharedHint": "Les comptes partagés ne peuvent pas être promus super-utilisateurs.",
|
||
"promote": "Promouvoir en super-utilisateur",
|
||
"demote": "Retirer l'accès super-utilisateur",
|
||
"promoteDialogTitle": "Promouvoir en super-utilisateur ?",
|
||
"promoteDialogBody": "Accorder à {name} un accès illimité au serveur. Ses sessions actives prendront fin et une nouvelle connexion sera nécessaire.",
|
||
"demoteDialogTitle": "Retirer l'accès super-utilisateur ?",
|
||
"demoteDialogBody": "Retirer l'accès illimité de {name}. Ses autorisations, bibliothèques et restrictions enregistrées prendront effet et une nouvelle connexion sera nécessaire.",
|
||
"changing": "Mise à jour de l'accès...",
|
||
"changeError": "Échec de la mise à jour de l'accès super-utilisateur. Rechargez le compte et réessayez."
|
||
},
|
||
"noRestrictions": "Aucune restriction de contenu",
|
||
"noRestrictionsHint": "Cet utilisateur a un accès complet à tous les livres de ses bibliothèques assignées.",
|
||
"addRestrictions": "+ Ajouter des restrictions de contenu",
|
||
"contentRestrictions": "Restrictions de contenu",
|
||
"remove": "Supprimer",
|
||
"includeTags": "Inclure des balises",
|
||
"includeTagsHint": "(afficher uniquement les livres avec ces balises)",
|
||
"excludeTags": "Exclure les balises",
|
||
"excludeTagsHint": "(masquer les livres avec ces balises)",
|
||
"includeGenres": "Inclure les genres",
|
||
"includeGenresHint": "(afficher uniquement les livres avec ces genres)",
|
||
"excludeGenres": "Exclure les genres",
|
||
"excludeGenresHint": "(masquer les livres avec ces genres)",
|
||
"seeOwnRequestedBooks": "Autoriser ce compte à voir les livres qu'il a demandés",
|
||
"seeOwnRequestedBooksHint": "Les livres arrivés par ses propres demandes de livres ignorent les règles ci-dessus. Désactivé par défaut.",
|
||
"searchTagsPlaceholder": "Rechercher des balises...",
|
||
"searchGenresPlaceholder": "Rechercher des genres...",
|
||
"saving": "Sauvegarde...",
|
||
"errors": {
|
||
"updateUser": "Échec de la mise à jour de l'utilisateur",
|
||
"updatePermissions": "Échec de la mise à jour des autorisations",
|
||
"updateLibraryAccess": "Échec de la mise à jour de l'accès à la bibliothèque",
|
||
"updateContentFilters": "Échec de la mise à jour des filtres de contenu",
|
||
"emailRequired": "L'e-mail est requis",
|
||
"createSharedAccount": "Échec de la création d'un compte partagé",
|
||
"createUser": "Échec de la création de l'utilisateur",
|
||
"nameRequired": "Le nom complet est obligatoire",
|
||
"usernameRequired": "Le nom d'utilisateur est obligatoire"
|
||
},
|
||
"drawerDescription": "Modifiez le profil, les accès aux bibliothèques, les autorisations et les restrictions de ce compte.",
|
||
"createHint": "Un nouveau compte ne détient aucune autorisation tant que vous ne lui en accordez pas.",
|
||
"sectionsLabel": "Paramètres du compte",
|
||
"sections": {
|
||
"profile": "Profil",
|
||
"libraries": "Bibliothèques",
|
||
"permissions": "Autorisations",
|
||
"restrictions": "Restrictions"
|
||
},
|
||
"sectionSummary": {
|
||
"newAccount": "Pas encore créé",
|
||
"libraries": "{selected} sur {total}",
|
||
"permissions": "{count, plural, =0 {Aucune autorisation} one {1 accordée} other {# accordées} many {# accordées}}",
|
||
"restrictionsNone": "Aucune",
|
||
"restrictionsContent": "Filtres de contenu",
|
||
"restrictionsDemo": "Démo restreinte",
|
||
"restrictionsBoth": "Filtres et mode démo"
|
||
},
|
||
"account": "Compte",
|
||
"status": "Statut",
|
||
"statusHint": "Un compte suspendu ne peut ni se connecter ni synchroniser d'appareil.",
|
||
"signInMethod": "Connexion",
|
||
"signInMethods": {
|
||
"password": "Mot de passe",
|
||
"oidc": "Authentification unique",
|
||
"shared": "Lien magique"
|
||
},
|
||
"created": "Créé le",
|
||
"lockedUntil": "Verrouillé jusqu'à {time}",
|
||
"lockedHint": "Trop de tentatives de connexion échouées. Déverrouillez ce compte depuis la liste des utilisateurs.",
|
||
"usernameFixedHint": "Le nom d'utilisateur ne peut pas être modifié.",
|
||
"emailHint": "Utilisée pour les réinitialisations de mot de passe et les notifications.",
|
||
"libraryAccessHint": "Les livres hors de ces bibliothèques sont invisibles pour ce compte.",
|
||
"selectAll": "Tout sélectionner",
|
||
"clearAll": "Effacer",
|
||
"permissionsHint": "Ce que ce compte est autorisé à faire. {granted} sur {total} accordées.",
|
||
"groupLegend": "{group} : {granted} sur {total} accordées",
|
||
"presets": {
|
||
"label": "Préréglage d'autorisations",
|
||
"none": "Aucun",
|
||
"standard": "Standard",
|
||
"custom": "Personnalisé",
|
||
"admin": "Admin",
|
||
"customHint": "Cette sélection ne correspond à aucun préréglage."
|
||
},
|
||
"filterPermissions": "Filtrer les autorisations",
|
||
"grantedOnly": "Accordées uniquement",
|
||
"noPermissionMatches": "Aucune autorisation ne correspond à ce filtre.",
|
||
"clearFilters": "Effacer les filtres",
|
||
"filteredNotice": "Liste filtrée. Les autorisations masquées conservent leur réglage actuel.",
|
||
"contentRestrictionsHint": "Limitez les livres visibles par ce compte, par balise ou par genre.",
|
||
"contentRestrictionsAfterCreate": "Les restrictions de contenu pourront être définies une fois le compte créé.",
|
||
"unsavedChanges": "{count, plural, one {1 modification non enregistrée} other {# modifications non enregistrées} many {# modifications non enregistrées}}",
|
||
"libraryBookCount": "{count, plural, =0 {Aucun livre} one {1 livre} other {# livres} many {# livres}}",
|
||
"dangerZone": "Zone dangereuse",
|
||
"deleteUserHint": "Supprime définitivement ce compte et ses données de lecture. Les livres de la bibliothèque ne sont pas touchés.",
|
||
"libraryReach": "Ce compte peut voir {selected} livres sur {total}."
|
||
},
|
||
"usersPage": {
|
||
"usersTitle": "Utilisateurs",
|
||
"usersSubtitle": "Gérez les comptes d'utilisateurs et les attributions d'autorisations.",
|
||
"createUser": "Créer un utilisateur",
|
||
"columns": {
|
||
"name": "Nom",
|
||
"username": "Nom d'utilisateur",
|
||
"email": "Courriel",
|
||
"access": "Accès",
|
||
"status": "Statut",
|
||
"actions": "Actions",
|
||
"user": "Utilisateur",
|
||
"libraries": "Bibliothèques",
|
||
"lastActive": "Dernière activité"
|
||
},
|
||
"adminBadge": "Administrateur",
|
||
"permissionCount": "{count, plural, =0 {aucune autorisation} one {une autorisation} other {# autorisations} many {# autorisations}}",
|
||
"filteredBadge": "Filtré",
|
||
"contentRestrictionsActive": "Restrictions de contenu actives",
|
||
"statusActive": "Actif",
|
||
"statusInactive": "Inactif",
|
||
"lockedBadge": "Verrouillé",
|
||
"unlockAccount": "Déverrouiller le compte",
|
||
"unlockHint": "Supprimer le blocage de connexion",
|
||
"unlockAria": "Déverrouiller {name}",
|
||
"resetPassword": "Réinitialiser le mot de passe",
|
||
"resetPasswordOidcHint": "OIDC utilisateurs réinitialisent les mots de passe dans leur fournisseur d'identité",
|
||
"resetPasswordSharedHint": "Les comptes partagés n'ont pas de mot de passe",
|
||
"resetPasswordOidcHintFull": "Les utilisateurs OIDC réinitialisent les mots de passe dans leur fournisseur d'identité.",
|
||
"resetPasswordSharedHintFull": "Les comptes partagés n'ont pas de mot de passe.",
|
||
"resetPasswordDisabledHintFull": "L'authentification par mot de passe est désactivée par la configuration du serveur.",
|
||
"deleteUserAction": "Supprimer un utilisateur",
|
||
"deleteDialogTitle": "Supprimer l'utilisateur ?",
|
||
"deleteDialogBody": "Supprimez l'utilisateur « {username} ». Cette action ne peut pas être annulée.",
|
||
"deleting": "Suppression...",
|
||
"errors": {
|
||
"load": "Échec du chargement",
|
||
"deleteUser": "Échec de la suppression de l'utilisateur",
|
||
"resetPassword": "Échec de la création d'un lien de réinitialisation du mot de passe",
|
||
"unlock": "Le déverrouillage du compte a échoué"
|
||
},
|
||
"selfRegistration": {
|
||
"title": "Auto-inscription",
|
||
"subtitle": "Définissez si les visiteurs peuvent créer leur propre compte.",
|
||
"label": "Autoriser l'auto-inscription",
|
||
"hint": "Lorsque cette option est activée, la page de connexion affiche un lien pour créer un compte.",
|
||
"enabledNotice": "Les nouveaux comptes ont par défaut uniquement les accès à la bibliothèque ci-dessous. Définissez les permissions nécessaires pour qu'ils puissent utiliser des fonctionnalités protégées.",
|
||
"loadError": "Échec du chargement des paramètres d'auto-inscription",
|
||
"saveError": "Échec de la mise à jour des paramètres d'auto-inscription"
|
||
},
|
||
"defaultLibraryAccess": {
|
||
"title": "Accès à la bibliothèque par défaut",
|
||
"subtitle": "Accès en lecture seule accordé aux utilisateurs auto-enregistrés et provisionnés via OIDC.",
|
||
"description": "Sélectionnez les bibliothèques attribuées automatiquement aux nouveaux utilisateurs.",
|
||
"noLibraries": "Aucune bibliothèque disponible.",
|
||
"save": "Enregistrer les valeurs par défaut",
|
||
"saving": "Sauvegarde...",
|
||
"saveError": "Échec de l'enregistrement de l'accès par défaut à la bibliothèque"
|
||
},
|
||
"filters": {
|
||
"search": "Rechercher des utilisateurs",
|
||
"searchPlaceholder": "Rechercher par nom, nom d'utilisateur ou e-mail",
|
||
"sort": "Trier les utilisateurs",
|
||
"clear": "Effacer",
|
||
"state": "Filtrer les utilisateurs",
|
||
"allUsers": "Tous les utilisateurs",
|
||
"admins": "Administrateurs",
|
||
"active": "Actif",
|
||
"inactive": "Inactif"
|
||
},
|
||
"empty": {
|
||
"title": "Aucun utilisateur pour l'instant",
|
||
"description": "Créez le premier compte pour commencer.",
|
||
"filtered": "Aucun utilisateur ne correspond à la recherche et aux filtres actuels."
|
||
},
|
||
"pagination": {
|
||
"label": "Pagination des utilisateurs",
|
||
"page": "Page {page} sur {totalPages}",
|
||
"showing": "Affichage de {shown} comptes sur {total}"
|
||
},
|
||
"editUserAria": "Modifier {name}",
|
||
"resetPasswordAria": "Réinitialiser le mot de passe de {name}",
|
||
"deleteUserAria": "Supprimer {name}",
|
||
"moreActionsAria": "Plus d'actions pour {name}",
|
||
"headerSummary": "{count, plural, =0 {Aucun compte} one {# compte} other {# comptes} many {# comptes}} · {admins} avec accès administrateur",
|
||
"noEmail": "Aucune adresse",
|
||
"editAccount": "Modifier le compte",
|
||
"cardMeta": "{access} · {libraries} · {lastActive}",
|
||
"accessTier": {
|
||
"superuser": "Super-utilisateur",
|
||
"admin": "Administrateur",
|
||
"standard": "Standard",
|
||
"custom": "Personnalisé",
|
||
"none": "Aucun accès"
|
||
},
|
||
"libraries": {
|
||
"all": "Les {total}",
|
||
"some": "{granted} sur {total}"
|
||
},
|
||
"statusLocked": "Verrouillé",
|
||
"status": {
|
||
"never": "Jamais",
|
||
"neverSignedIn": "Jamais connecté",
|
||
"defaultPassword": "Mot de passe par défaut",
|
||
"contentFiltered": "Contenu filtré",
|
||
"unlocksIn": "Se déverrouille {when}"
|
||
},
|
||
"attention": {
|
||
"title": "Nécessite une attention",
|
||
"count": "{count, plural, one {# compte} other {# comptes} many {# comptes}}",
|
||
"filter": "{count, plural, one {# nécessite une attention} other {# nécessitent une attention} many {# nécessitent une attention}}",
|
||
"more": "{count} de plus non affichés ici",
|
||
"reason": {
|
||
"locked": "{name} est verrouillé après trop de tentatives de connexion échouées",
|
||
"neverSignedIn": "{name} ne s'est jamais connecté",
|
||
"defaultPassword": "{name} utilise encore le mot de passe défini à la création du compte"
|
||
},
|
||
"detail": {
|
||
"unlocksIn": "Se déverrouille automatiquement {when}",
|
||
"created": "Créé {when}",
|
||
"linkExpired": "Créé {when} · le lien de connexion a expiré",
|
||
"linkValid": "Créé {when} · lien de connexion valide jusqu'au {expiry}"
|
||
},
|
||
"action": {
|
||
"unlock": "Déverrouiller maintenant",
|
||
"sendResetLink": "Envoyer un lien de réinitialisation",
|
||
"sendNewLink": "Envoyer un nouveau lien"
|
||
},
|
||
"collapse": "Masquer",
|
||
"expand": "Afficher"
|
||
},
|
||
"defaults": {
|
||
"title": "Valeurs par défaut pour les nouveaux comptes",
|
||
"appliesTo": "S'applique à l'auto-inscription et à OIDC",
|
||
"startingLibraries": "Bibliothèques de départ",
|
||
"startingLibrariesHint": "Accès en lecture seule accordé automatiquement à chaque nouveau compte."
|
||
}
|
||
}
|
||
},
|
||
"annotations": {
|
||
"unknownBook": "Livre inconnu",
|
||
"styles": {
|
||
"highlight": "Surlignage",
|
||
"underline": "Soulignement",
|
||
"strike": "Barré",
|
||
"squiggle": "Soulignement ondulé",
|
||
"invert": "Inversion"
|
||
},
|
||
"combobox": {
|
||
"filterByBook": "Filtrer par livre",
|
||
"allBooks": "Tous les livres",
|
||
"clearBookFilter": "Effacer le filtre de livre",
|
||
"searching": "Recherche...",
|
||
"noBooksFound": "Aucun livre trouvé"
|
||
},
|
||
"bulk": {
|
||
"countSelected": "{count, plural, one {# annotation sélectionnée} other {# annotations sélectionnées} many {# annotations sélectionnées}}",
|
||
"pageSelected": "Page sélectionnée",
|
||
"selectPage": "Sélectionner une page",
|
||
"clear": "Effacer",
|
||
"recolorTo": "Recolorer en {color}",
|
||
"restyleTo": "Relooker en {style}"
|
||
},
|
||
"chips": {
|
||
"active": "Actif :",
|
||
"removeFilter": "Supprimer le filtre {label}",
|
||
"clearAll": "Tout effacer"
|
||
},
|
||
"filters": {
|
||
"colors": "Couleurs",
|
||
"dateRange": "Plage de dates",
|
||
"fromDate": "À partir du jour",
|
||
"toDate": "À ce jour",
|
||
"to": "à",
|
||
"clearDateRange": "Effacer la plage de dates",
|
||
"clearAll": "Tout effacer"
|
||
},
|
||
"pagination": {
|
||
"showing": "Affichage de {start}-{end} sur {total}",
|
||
"pageOf": "Page {page} sur {totalPages}",
|
||
"firstPage": "Première page",
|
||
"previousPage": "Page précédente",
|
||
"nextPage": "Page suivante",
|
||
"lastPage": "Dernière page"
|
||
},
|
||
"sync": {
|
||
"loading": "Chargement des détails de synchronisation",
|
||
"positions": "Postes",
|
||
"devices": "Appareils",
|
||
"retryConversion": "Réessayer la conversion",
|
||
"noStoredPositions": "Aucune position enregistrée.",
|
||
"notSynced": "Pas encore synchronisé avec aucun appareil.",
|
||
"upToDate": "À jour",
|
||
"pendingVersion": "En attente de v{version}",
|
||
"syncedAt": "synchronisé {date}",
|
||
"format": {
|
||
"webReader": "Lecteur web",
|
||
"koreader": "KOReader",
|
||
"pdf": "PDF",
|
||
"kobo": "Kobo"
|
||
},
|
||
"status": {
|
||
"exact": "Exact",
|
||
"repaired": "Réparé",
|
||
"failed": "Échec",
|
||
"pending": "En attente"
|
||
}
|
||
},
|
||
"toolbar": {
|
||
"searchPlaceholder": "Rechercher du texte et des notes",
|
||
"filters": "Filtres",
|
||
"sortOrder": "Ordre de tri",
|
||
"switchToCompact": "Passer à la vue compacte",
|
||
"switchToComfortable": "Passer à une vue confortable",
|
||
"compactView": "Vue compacte",
|
||
"comfortableView": "Vue confortable"
|
||
},
|
||
"listItem": {
|
||
"pageNumber": "p. {page}",
|
||
"chapterNumber": "chapitre {chapter}",
|
||
"selectAnnotation": "Sélectionner une annotation",
|
||
"collapse": "Réduire",
|
||
"expand": "Développer",
|
||
"hideSyncDetail": "Masquer les détails de synchronisation",
|
||
"showSyncDetail": "Afficher les détails de la synchronisation",
|
||
"exactPositionUnavailable": "Position exacte du lecteur indisponible",
|
||
"saving": "Économiser",
|
||
"bookDetails": "Détails du livre",
|
||
"openInReader": "Ouvrir dans le lecteur",
|
||
"restore": "Restaurer",
|
||
"deleteForever": "Supprimer pour toujours",
|
||
"editNote": "Modifier la remarque",
|
||
"addNote": "Ajouter une remarque",
|
||
"colorAndStyle": "Couleur et style",
|
||
"copied": "Copié",
|
||
"copyText": "Copier le texte",
|
||
"trash": "Corbeille",
|
||
"moveToTrash": "Déplacer vers la corbeille"
|
||
},
|
||
"hub": {
|
||
"title": "Annotations",
|
||
"totalCount": "{count} total",
|
||
"bookCount": "{count, plural, =0 {pas de livres} one {# livre} other {# livres} many {# livres}}",
|
||
"noteCount": "{count, plural, =0 {pas de notes} one {# remarque} other {# remarques} many {# remarques}}",
|
||
"export": "Exporter",
|
||
"exportMarkdown": "Markdown",
|
||
"exportCsv": "CSV",
|
||
"exportJson": "JSON",
|
||
"notesOnly": "Remarques uniquement",
|
||
"style": "Style",
|
||
"source": "Source",
|
||
"bulkTrash": "Corbeille",
|
||
"bulkRestore": "Restaurer",
|
||
"tabs": {
|
||
"highlights": "Passages surlignés",
|
||
"trash": "Corbeille"
|
||
},
|
||
"empty": {
|
||
"noMatch": "Aucun passage surligné ne correspond à vos filtres.",
|
||
"resetFilters": "Réinitialiser les filtres",
|
||
"trashEmpty": "La corbeille est vide",
|
||
"noAnnotations": "Aucun passage surligné pour l'instant. Vos futurs passages surlignés et notes apparaîtront ici.",
|
||
"noMatchHint": "Essayez une expression plus courte, ou effacez les filtres de couleur et de livre.",
|
||
"noAnnotationsBody": "Tout ce que vous marquez, dans n'importe quel livre et sur n'importe quel appareil, se retrouve ici.",
|
||
"readHere": "Lisez ici",
|
||
"readHereBody": "Sélectionnez du texte dans le lecteur et choisissez une couleur.",
|
||
"syncKobo": "Synchroniser une Kobo",
|
||
"syncKoboBody": "Les marques faites sur l'appareil arrivent à la synchronisation suivante.",
|
||
"syncKoreader": "Synchroniser KOReader",
|
||
"syncKoreaderBody": "Le plugin envoie les annotations avec leur position.",
|
||
"goToLibrary": "Aller à la bibliothèque"
|
||
},
|
||
"toast": {
|
||
"movedToTrash": "Déplacé vers la corbeille",
|
||
"annotationRestored": "Annotation restaurée",
|
||
"annotationDeletedForever": "Annotation supprimée définitivement",
|
||
"failedToDelete": "Échec de la suppression",
|
||
"bulkTrashed": "{count, plural, =0 {Aucune annotation déplacée vers la corbeille} one {Déplacé # annotation à la corbeille} other {Déplacé # annotations à la corbeille} many {Déplacé # annotations à la corbeille}}",
|
||
"bulkRestored": "{count, plural, =0 {Restauré sans annotations} one {Restauré # annotation} other {Restauré # annotations} many {Restauré # annotations}}",
|
||
"bulkRecolored": "{count, plural, =0 {Recoloré sans annotations} one {Recoloré # annotation} other {Recoloré # annotations} many {Recoloré # annotations}}",
|
||
"bulkRestyled": "{count, plural, =0 {Aucune annotation restylée} one {# annotation restylée} other {# annotations restylées} many {# annotations restylées}}",
|
||
"noteSaved": "Remarque enregistrée"
|
||
},
|
||
"railTitle": "{marks} marques · {books} livres",
|
||
"lastTwelveMonths": "12 derniers mois",
|
||
"colour": "Couleur",
|
||
"whereFrom": "Provenance",
|
||
"theShelf": "L'étagère",
|
||
"devices": "Appareils",
|
||
"allBooks": "Les {count} livres",
|
||
"behindCount": "{count, plural, one {# en retard} other {# en retard} many {# en retard}}",
|
||
"busiestWeek": "Semaine la plus chargée",
|
||
"longestQuiet": "Plus longue période creuse",
|
||
"mostMarked": "Le plus marqué",
|
||
"weekCount": "{count, plural, one {# semaine} other {# semaines} many {# semaines}}",
|
||
"anchorsUnplaced": "{count, plural, one {# ancre n'a pas pu être placée} other {# ancres n'ont pas pu être placées} many {# ancres n'ont pas pu être placées}}",
|
||
"reviewThem": "Les vérifier",
|
||
"anchorLost": "Ancre perdue",
|
||
"anchorRepaired": "Réparée",
|
||
"notes": "Remarques",
|
||
"review": "À vérifier",
|
||
"viewLabel": "Grouper et trier",
|
||
"views": {
|
||
"newest": "Plus récents d'abord",
|
||
"oldest": "Plus anciens d'abord",
|
||
"book": "Par livre",
|
||
"color": "Par couleur",
|
||
"source": "Par provenance"
|
||
},
|
||
"matchCount": "{shown} sur {total}",
|
||
"moreActions": "Plus d'actions",
|
||
"loadMore": "{count, plural, one {En charger 1 de plus} other {En charger # de plus} many {En charger # de plus}}",
|
||
"openBook": "Ouvrir le livre",
|
||
"noteLabel": "Remarque",
|
||
"yourNote": "Votre remarque",
|
||
"notePlaceholder": "Dites pourquoi cela comptait.",
|
||
"openAtThisPage": "Ouvrir à cette page",
|
||
"positionAndSync": "Position et synchronisation",
|
||
"loadFailed": "Impossible de charger vos passages surlignés. Réessayez dans un instant.",
|
||
"chips": {
|
||
"dateBetween": "de {from} à {to}",
|
||
"dateFrom": "À partir de {from}",
|
||
"dateUntil": "Jusqu'à {to}"
|
||
},
|
||
"activitySummary": "{count, plural, one {# passage surligné entre {from} et {to}} other {# passages surlignés entre {from} et {to}} many {# passages surlignés entre {from} et {to}}}",
|
||
"book": "Livre",
|
||
"needsReview": "À vérifier"
|
||
},
|
||
"sources": {
|
||
"web": "Web",
|
||
"koreader": "KOReader",
|
||
"kobo": "Kobo"
|
||
},
|
||
"colors": {
|
||
"yellow": "Jaune",
|
||
"green": "Vert",
|
||
"blue": "Bleu",
|
||
"pink": "Rose",
|
||
"orange": "Orange",
|
||
"red": "Rouge",
|
||
"olive": "Olive",
|
||
"cyan": "Cyan",
|
||
"purple": "Violet",
|
||
"gray": "Gris"
|
||
}
|
||
},
|
||
"audit": {
|
||
"pageTitle": "Journal d'audit",
|
||
"pageSubtitle": "Un enregistrement des actions importantes pour l'administration effectuées dans l'ensemble du système.",
|
||
"filters": "Filtres",
|
||
"noActiveFilters": "Aucun filtre actif",
|
||
"clear": "Effacer",
|
||
"empty": "Aucun journal d'audit trouvé",
|
||
"showMore": "Afficher plus",
|
||
"showLess": "Afficher moins",
|
||
"details": "Détails",
|
||
"hideDetails": "Masquer les détails",
|
||
"refresh": "Actualiser le journal d'audit",
|
||
"loadError": "Impossible de charger les événements d'audit.",
|
||
"removeFilter": "Supprimer le filtre : {value}",
|
||
"allActions": "Toutes les actions",
|
||
"allEventTypes": "Tous types d'événements",
|
||
"allActors": "Tous les acteurs",
|
||
"noActionsFound": "Aucune action correspondante",
|
||
"noActorsFound": "Aucun acteur correspondant",
|
||
"noResourcesFound": "Aucun type de cible correspondant",
|
||
"unknownAction": "Action inconnue",
|
||
"unknownResource": "Autre type de cible",
|
||
"allResources": "Toutes les ressources",
|
||
"allTargetTypes": "Tous types de cibles",
|
||
"quickDates": "Rendez-vous rapides",
|
||
"today": "Aujourd'hui",
|
||
"sevenDays": "7 jours",
|
||
"thirtyDays": "30 jours",
|
||
"userId": "Utilisateur #{id}",
|
||
"userIdCompact": "#{id}",
|
||
"targetAdditional": "et {count, plural, one {# plus de cible} other {# plus de cibles} many {# plus de cibles}}",
|
||
"bookImpact": "{count, plural, one {# livre} other {# livres} many {# livres}}",
|
||
"entryDetailsLabel": "Détails de l'événement d'audit n° {id}",
|
||
"detailEventId": "ID d'événement",
|
||
"detailOccurredAt": "Survenu",
|
||
"detailActor": "Acteur",
|
||
"detailCategory": "Catégorie",
|
||
"detailActionLabel": "Action",
|
||
"detailEventTypeLabel": "Type d'événement",
|
||
"detailIpLabel": "Adresse IP",
|
||
"detailResourceLabel": "Ressource",
|
||
"detailResourceIdLabel": "ID de ressource",
|
||
"detailTargetTypeLabel": "Type de cible",
|
||
"detailTargetIdLabel": "ID cible",
|
||
"detailAction": "Action : {value}",
|
||
"detailIp": "IP : {value}",
|
||
"detailResource": "Ressource : {value}",
|
||
"detailResourceId": "ID de ressource : {value}",
|
||
"deletedBooks": "Livres supprimés",
|
||
"deletedBookDetail": "{title} (livre n° {id})",
|
||
"untitledBook": "Sans titre",
|
||
"deletedBooksOmitted": "{count, plural, one {# livre supplémentaire omis} other {# livres supplémentaires omis} many {# livres supplémentaires omis}}",
|
||
"showing": "Affichage de {from}-{to} sur {total}",
|
||
"prev": "Précédent",
|
||
"chips": {
|
||
"search": "Rechercher : {value}",
|
||
"action": "Action : {value}",
|
||
"eventType": "Type d'événement : {value}",
|
||
"actor": "Acteur : {value}",
|
||
"resource": "Ressource : {value}",
|
||
"targetType": "Type de cible : {value}",
|
||
"user": "Utilisateur : {value}",
|
||
"from": "De : {value}",
|
||
"to": "À : {value}"
|
||
},
|
||
"filterLabels": {
|
||
"search": "Rechercher des événements",
|
||
"action": "Action",
|
||
"eventType": "Type d'événement (ce qui s'est passé)",
|
||
"actor": "Acteur",
|
||
"resource": "Ressource",
|
||
"targetType": "Type de cible (ce qui a été affecté)",
|
||
"userId": "Identifiant utilisateur",
|
||
"from": "De",
|
||
"to": "À"
|
||
},
|
||
"filterPlaceholders": {
|
||
"search": "Description, acteur, cible ou identifiant",
|
||
"actor": "Nom d'utilisateur",
|
||
"action": "par ex. auth.login",
|
||
"userId": "par ex. 1"
|
||
},
|
||
"columns": {
|
||
"when": "Quand",
|
||
"actor": "Acteur",
|
||
"event": "Événement",
|
||
"target": "Cible",
|
||
"impact": "Impact",
|
||
"user": "Utilisateur",
|
||
"action": "Action",
|
||
"description": "Descriptif",
|
||
"ip": "PI"
|
||
},
|
||
"categories": {
|
||
"authentication": "Authentification",
|
||
"books": "Livres",
|
||
"users": "Utilisateurs",
|
||
"libraries": "Bibliothèques",
|
||
"collections": "Collections",
|
||
"integrations": "Intégrations",
|
||
"settings": "Paramètres",
|
||
"other": "Autre"
|
||
},
|
||
"resourceLabels": {
|
||
"User": "Utilisateur",
|
||
"Library": "Bibliothèque",
|
||
"Book": "Livre",
|
||
"Podcast": "Podcast",
|
||
"PodcastEpisode": "Épisode de podcast",
|
||
"Collection": "Collection",
|
||
"SmartScope": "Liste intelligente",
|
||
"BookDockFile": "Fichier Book Dock",
|
||
"BookRequest": "Demande de livre",
|
||
"DownloadClient": "Client de téléchargement",
|
||
"RequestIndexer": "Indexeur",
|
||
"Author": "Auteur",
|
||
"AppSettings": "Paramètres de l'application",
|
||
"Genre": "Genre",
|
||
"Tag": "Balise",
|
||
"KoboDevice": "Appareil Kobo",
|
||
"EmailProvider": "Fournisseur de messagerie",
|
||
"EmailTemplate": "Modèle d'e-mail",
|
||
"EmailRecipient": "Destinataire de l'e-mail",
|
||
"EmailRecipientGroup": "Groupe de destinataires d'e-mails",
|
||
"Narrator": "Narrateur",
|
||
"Publisher": "Éditeur",
|
||
"Language": "Langue",
|
||
"Series": "Série",
|
||
"OidcIdentity": "Identité OIDC",
|
||
"MagicLinkToken": "Lien magique",
|
||
"ReadingInsightsProfile": "Profil d'informations sur la lecture"
|
||
},
|
||
"actionLabels": {
|
||
"AuthRegister": "Créer un compte",
|
||
"AuthLogin": "Connectez-vous",
|
||
"AuthLoginFailed": "Échec de la connexion",
|
||
"AuthLogout": "Se déconnecter",
|
||
"AuthPasswordChange": "Changer le mot de passe",
|
||
"AuthPasswordResetRequest": "Demander la réinitialisation du mot de passe",
|
||
"AuthPasswordReset": "Réinitialiser le mot de passe",
|
||
"AuthPasswordAdminReset": "Réinitialiser le mot de passe utilisateur",
|
||
"AuthSessionRevoke": "Révoquer la session",
|
||
"MagicLinkCreate": "Créer un lien magique",
|
||
"MagicLinkLogin": "Connectez-vous avec le lien magique",
|
||
"MagicLinkRevoke": "Révoquer le lien magique",
|
||
"MagicLinkActivate": "Activer le lien magique",
|
||
"MagicLinkDeactivate": "Désactiver le lien magique",
|
||
"OidcLogin": "Connectez-vous avec OIDC",
|
||
"OidcUserProvisioned": "Provisionner l'utilisateur OIDC",
|
||
"OidcIdentityLinked": "Lier l'identité OIDC",
|
||
"OidcIdentityUnlinked": "Dissocier l'identité OIDC",
|
||
"UserCreate": "Créer un utilisateur",
|
||
"UserUpdate": "Mettre à jour l'utilisateur",
|
||
"UserSelfUpdate": "Mettre à jour son propre profil",
|
||
"UserDelete": "Supprimer un utilisateur",
|
||
"UserPermissionSet": "Mettre à jour les autorisations des utilisateurs",
|
||
"UserSuperuserEnable": "Activer l'accès super-utilisateur",
|
||
"UserSuperuserDisable": "Désactiver l'accès super-utilisateur",
|
||
"UserContentFiltersSet": "Mettre à jour les filtres de contenu",
|
||
"UserUnlock": "Déverrouiller le compte",
|
||
"ReadingInsightsSharingUpdate": "Mettre à jour le partage d'informations",
|
||
"ReadingInsightsProfileView": "Afficher les informations partagées",
|
||
"LibraryCreate": "Créer une bibliothèque",
|
||
"LibraryUpdate": "Mettre à jour la bibliothèque",
|
||
"LibraryDelete": "Supprimer la bibliothèque",
|
||
"LibraryFolderAdd": "Ajouter un dossier de bibliothèque",
|
||
"LibraryFolderRemove": "Supprimer le dossier de la bibliothèque",
|
||
"LibraryAccessGrant": "Accorder l'accès à la bibliothèque",
|
||
"LibraryAccessUpdate": "Mettre à jour l'accès à la bibliothèque",
|
||
"LibraryAccessRevoke": "Révoquer l'accès à la bibliothèque",
|
||
"LibraryWriteMetadataToFiles": "Écrire des métadonnées dans des fichiers",
|
||
"LibraryBulkRename": "Renommer les fichiers de la bibliothèque",
|
||
"LibraryRecomputeAddedAt": "Recalculer la date d'ajout",
|
||
"PodcastCreate": "Créer un podcast",
|
||
"PodcastUpdate": "Mettre à jour un podcast",
|
||
"PodcastArchive": "Archiver un podcast",
|
||
"PodcastRestore": "Restaurer un podcast",
|
||
"PodcastPurge": "Purger un podcast",
|
||
"PodcastMerge": "Fusionner des podcasts",
|
||
"PodcastDownload": "Télécharger un épisode de podcast",
|
||
"PodcastDownloadRemove": "Supprimer un téléchargement de podcast",
|
||
"PodcastRetentionUpdate": "Mettre à jour la rétention des podcasts",
|
||
"PodcastOpmlImport": "Importer un OPML de podcasts",
|
||
"PodcastOpmlExport": "Exporter l'OPML des podcasts",
|
||
"BookUpload": "Envoyer le livre",
|
||
"BookMetadataUpdate": "Mettre à jour les métadonnées du livre",
|
||
"BookMetadataLocksUpdate": "Mettre à jour les verrous des métadonnées",
|
||
"BookDelete": "Supprimer le livre",
|
||
"BookBulkMetadataRefresh": "Actualiser les métadonnées du livre",
|
||
"BookBulkDelete": "Supprimer des livres",
|
||
"BookBulkCoverReextract": "Réextraire les couvertures de livres",
|
||
"BookBulkSetStatus": "Définir le statut du livre",
|
||
"BookBulkSetRating": "Définir la note du livre",
|
||
"BookBulkSetMetadata": "Définir les métadonnées du livre",
|
||
"BookBulkUpdateTags": "Mettre à jour les balises du livre",
|
||
"BookBulkSetMetadataLock": "Définir des verrous de métadonnées",
|
||
"BookBulkEditMetadata": "Modifier les métadonnées du livre",
|
||
"BookBulkMoveLibrary": "Déplacer les livres vers une autre bibliothèque",
|
||
"BookReadingStateReset": "Réinitialiser l'état de lecture",
|
||
"BookWriteAndRename": "Écrire les métadonnées et renommer le fichier",
|
||
"CollectionCreate": "Créer une collection",
|
||
"CollectionUpdate": "Mettre à jour la collection",
|
||
"CollectionDelete": "Supprimer la collection",
|
||
"CollectionBooksAdd": "Ajouter des livres à la collection",
|
||
"CollectionBooksRemove": "Supprimer des livres de la collection",
|
||
"SmartScopeCreate": "Créer une liste intelligente",
|
||
"SmartScopeUpdate": "Mettre à jour la liste intelligente",
|
||
"SmartScopeDelete": "Supprimer la liste intelligente",
|
||
"BookDockFinalize": "Finaliser le fichier Book Dock",
|
||
"BookRequestCreate": "Créer une demande de livre",
|
||
"BookRequestApprove": "Approuver une demande de livre",
|
||
"BookRequestReject": "Rejeter une demande de livre",
|
||
"BookRequestCancel": "Annuler une demande de livre",
|
||
"BookRequestFulfill": "Clôturer une demande de livre",
|
||
"BookRequestGrab": "Envoyer une demande de livre à un client de téléchargement",
|
||
"BookRequestImport": "Importer le téléchargement d'une demande de livre",
|
||
"BookRequestRemoveDownload": "Retirer du client le téléchargement d'une demande de livre",
|
||
"BookRequestDelete": "Supprimer une demande de livre",
|
||
"DownloadClientCreate": "Créer un client de téléchargement",
|
||
"DownloadClientUpdate": "Mettre à jour un client de téléchargement",
|
||
"DownloadClientDelete": "Supprimer un client de téléchargement",
|
||
"RequestIndexerCreate": "Ajouter un indexeur",
|
||
"RequestIndexerUpdate": "Mettre à jour un indexeur",
|
||
"RequestIndexerDelete": "Supprimer une source",
|
||
"RequestIndexerPluginInspect": "Inspecter un plugin d'indexeur",
|
||
"RequestIndexerPluginInstall": "Installer un plugin d'indexeur",
|
||
"RequestIndexerPluginRemove": "Supprimer un plugin d'indexeur",
|
||
"AuthorUpdate": "Mettre à jour l'auteur",
|
||
"AuthorDelete": "Supprimer l'auteur",
|
||
"AuthorMerge": "Fusionner les auteurs",
|
||
"AuthorEnrichmentConfigUpdate": "Mettre à jour l'enrichissement de l'auteur",
|
||
"AuthorEnrichmentPause": "Suspendre l'enrichissement de l'auteur",
|
||
"AuthorEnrichmentResume": "Reprendre l'enrichissement de l'auteur",
|
||
"AuthorEnrichmentCancel": "Annuler l'enrichissement de l'auteur",
|
||
"EntityManagerMerge": "Fusionner des entités",
|
||
"EntityManagerRename": "Renommer l'entité",
|
||
"EntityManagerDelete": "Supprimer l'entité",
|
||
"EntityManagerSplit": "Diviser l'entité",
|
||
"EntityManagerDismiss": "Ignorer le doublon",
|
||
"EntityManagerUndismiss": "Restaurer le doublon rejeté",
|
||
"AppSettingsUpdate": "Mettre à jour les paramètres de l'application",
|
||
"KoboDeviceRegister": "Enregistrer l'appareil Kobo",
|
||
"KoboDeviceRename": "Renommer l'appareil Kobo",
|
||
"KoboDeviceRemove": "Supprimer l'appareil Kobo",
|
||
"EmailProviderCreate": "Créer un fournisseur de messagerie",
|
||
"EmailProviderUpdate": "Mettre à jour le fournisseur de messagerie",
|
||
"EmailProviderDelete": "Supprimer le fournisseur de messagerie",
|
||
"EmailProviderSetDefault": "Définir le fournisseur de messagerie par défaut",
|
||
"EmailProviderSetSystem": "Définir le fournisseur de messagerie du système",
|
||
"EmailProviderClearSystem": "Fournisseur de messagerie système clair",
|
||
"EmailTemplateCreate": "Créer un modèle d'e-mail",
|
||
"EmailTemplateUpdate": "Mettre à jour le modèle d'e-mail",
|
||
"EmailTemplateDelete": "Supprimer le modèle d'e-mail",
|
||
"EmailTemplateSetDefault": "Définir le modèle d'e-mail par défaut",
|
||
"EmailRecipientCreate": "Créer un destinataire de courrier électronique",
|
||
"EmailRecipientUpdate": "Mettre à jour le destinataire de l'e-mail",
|
||
"EmailRecipientDelete": "Supprimer le destinataire de l'e-mail",
|
||
"EmailRecipientGroupCreate": "Créer un groupe de destinataires",
|
||
"EmailRecipientGroupUpdate": "Mettre à jour le groupe de destinataires",
|
||
"EmailRecipientGroupDelete": "Supprimer le groupe de destinataires",
|
||
"EmailRecipientGroupMemberAdd": "Ajouter un destinataire au groupe",
|
||
"EmailRecipientGroupMemberRemove": "Supprimer le destinataire du groupe",
|
||
"MaintenanceMissingBooksClean": "Livres manquants nettoyés",
|
||
"MaintenanceBrokenCoversClean": "Couvertures cassées nettoyées",
|
||
"MaintenanceOrphanedCoversClean": "Dossiers de couvertures orphelines nettoyés"
|
||
}
|
||
},
|
||
"auth": {
|
||
"backToSignIn": "Retour pour vous connecter",
|
||
"themePicker": {
|
||
"switchToLight": "Passer à la lumière",
|
||
"switchToDark": "Passer au noir",
|
||
"changeRadius": "Changer le rayon du coin",
|
||
"changeBackground": "Changer l'arrière-plan",
|
||
"changeAccent": "Changer la couleur des accents"
|
||
},
|
||
"fields": {
|
||
"username": "Nom d'utilisateur",
|
||
"password": "Mot de passe",
|
||
"email": "Courriel",
|
||
"emailAddress": "Adresse e-mail",
|
||
"fullName": "Nom complet",
|
||
"newPassword": "Nouveau mot de passe",
|
||
"confirmPassword": "Confirmer le mot de passe",
|
||
"confirmNewPassword": "Confirmer le nouveau mot de passe",
|
||
"currentPassword": "Mot de passe actuel",
|
||
"passwordHint": "Min. 8 caractères avec majuscules, minuscules et un chiffre"
|
||
},
|
||
"errors": {
|
||
"generic": "Quelque chose s'est mal passé. Veuillez réessayer.",
|
||
"passwordsDoNotMatch": "Les mots de passe ne correspondent pas"
|
||
},
|
||
"login": {
|
||
"subtitle": "Connectez-vous à votre compte",
|
||
"signIn": "Connectez-vous",
|
||
"signingIn": "Connexion...",
|
||
"orDivider": "ou",
|
||
"forgotPassword": "Mot de passe oublié ?",
|
||
"noAccount": "Vous n'avez pas de compte ?",
|
||
"signUp": "Inscrivez-vous",
|
||
"registeredNotice": "Compte créé. Connectez-vous pour continuer. Un administrateur doit vous accorder les permissions nécessaires avant de pouvoir accéder à la bibliothèque.",
|
||
"errors": {
|
||
"invalidCredentials": "Nom d'utilisateur ou mot de passe invalide",
|
||
"tooManyAttempts": "Trop de tentatives de connexion. Veuillez patienter une minute et réessayer.",
|
||
"passwordDisabled": "La connexion par mot de passe est désactivée. Utilisez un fournisseur d'authentification unique.",
|
||
"optionsUnavailable": "Impossible de charger les options de connexion. Veuillez actualiser la page ou contacter votre administrateur.",
|
||
"accountLocked": "Votre mot de passe est correct, mais ce compte est temporairement verrouillé après trop de tentatives de connexion infructueuses. Réessayez dans {minutes, plural, one {# minute} many {# minutes} other {# minutes}}, ou réinitialisez votre mot de passe pour le déverrouiller maintenant."
|
||
}
|
||
},
|
||
"oidc": {
|
||
"loginFailed": "Échec de la connexion à OIDC",
|
||
"redirecting": "Redirection...",
|
||
"signInWith": "Connectez-vous avec {provider}",
|
||
"completingSignIn": "Connexion terminée...",
|
||
"tryAgain": "Réessayez",
|
||
"errors": {
|
||
"stateExpired": "Votre session de connexion a expiré. Veuillez réessayer de vous connecter.",
|
||
"tokenExchangeFailed": "Impossible de terminer la connexion avec votre fournisseur. Veuillez réessayer ou contacter votre administrateur.",
|
||
"userNotProvisioned": "Votre compte n'a pas été créé. Contactez votre administrateur pour y accéder.",
|
||
"userInactive": "Votre compte a été désactivé. Contactez votre administrateur.",
|
||
"providerError": "Votre fournisseur d'identité a renvoyé une erreur. Veuillez réessayer.",
|
||
"missingCodeOrState": "Code ou paramètre d'état manquant"
|
||
},
|
||
"providerErrors": {
|
||
"accessDenied": "L'accès a été refusé par le fournisseur d'identité.",
|
||
"loginRequired": "L'authentification est requise. Veuillez vous reconnecter.",
|
||
"interactionRequired": "Une interaction utilisateur supplémentaire est requise."
|
||
}
|
||
},
|
||
"forgotPassword": {
|
||
"subtitle": "Réinitialisez votre mot de passe",
|
||
"submitted": "Si un compte avec cette adresse e-mail existe, un lien de réinitialisation a été envoyé. Vérifiez votre boîte de réception.",
|
||
"sending": "Envoi...",
|
||
"sendResetLink": "Envoyer le lien de réinitialisation",
|
||
"errors": {
|
||
"emailUnavailable": "La réinitialisation du mot de passe par e-mail n'est pas disponible. Contactez votre administrateur."
|
||
}
|
||
},
|
||
"resetPassword": {
|
||
"subtitle": "Définissez un nouveau mot de passe",
|
||
"saving": "Sauvegarde...",
|
||
"setNewPassword": "Définir un nouveau mot de passe",
|
||
"errors": {
|
||
"invalidLink": "Lien de réinitialisation invalide. Veuillez en demander un nouveau.",
|
||
"invalidOrExpired": "Lien de réinitialisation invalide ou expiré. Veuillez en demander un nouveau."
|
||
}
|
||
},
|
||
"register": {
|
||
"title": "Créez votre compte",
|
||
"subtitle": "Inscrivez-vous pour commencer.",
|
||
"createAccount": "Créer un compte",
|
||
"creatingAccount": "Création du compte...",
|
||
"haveAccount": "Vous avez déjà un compte ?",
|
||
"signIn": "Connectez-vous",
|
||
"errors": {
|
||
"closed": "L'auto-inscription n'est pas possible sur ce serveur.",
|
||
"taken": "Ce nom d'utilisateur ou cette adresse email est déjà utilisé.",
|
||
"invalid": "Vérifiez les informations saisies et réessayez.",
|
||
"tooManyAttempts": "Trop de tentatives de connexion. Veuillez patienter une minute et réessayez.",
|
||
"failed": "Échec de création du compte",
|
||
"username": {
|
||
"unsafeCharacters": "Votre nom d'utilisateur ne peut pas contenir de caractères cachés ou de direction textuelle.",
|
||
"untrimmed": "Votre nom d'utilisateur ne peut pas commencer ou terminer par un espace."
|
||
},
|
||
"name": {
|
||
"unsafeCharacters": "Votre nom ne peut pas contenir de caractères cachés ou de direction textuelle.",
|
||
"untrimmed": "Votre nom ne peut pas commencer ou terminer par un espace."
|
||
}
|
||
}
|
||
},
|
||
"setup": {
|
||
"title": "Configuration initiale",
|
||
"subtitle": "Créez le premier compte administrateur.",
|
||
"setupToken": "Jeton de configuration",
|
||
"setupTokenHint": "(obligatoire en production)",
|
||
"creatingAccount": "Création d'un compte...",
|
||
"createAccount": "Créer un compte administrateur",
|
||
"errors": {
|
||
"failed": "Échec de la configuration"
|
||
}
|
||
},
|
||
"changePassword": {
|
||
"title": "Changer le mot de passe",
|
||
"saving": "Sauvegarde...",
|
||
"forcedNotice": "Vous devez définir un nouveau mot de passe avant de continuer.",
|
||
"errors": {
|
||
"failed": "Échec de la modification du mot de passe"
|
||
}
|
||
},
|
||
"magicLink": {
|
||
"signingIn": "Vous connecter...",
|
||
"loginFailed": "La connexion a échoué",
|
||
"goToLogin": "Allez vous connecter",
|
||
"errors": {
|
||
"noToken": "Aucun jeton fourni"
|
||
}
|
||
}
|
||
},
|
||
"author": {
|
||
"card": {
|
||
"portraitAlt": "{name} portrait",
|
||
"viewDetails": "Afficher les détails de l'auteur",
|
||
"refreshMetadata": "Actualiser les métadonnées",
|
||
"deleteAuthor": "Supprimer l'auteur"
|
||
},
|
||
"filters": {
|
||
"allLibraries": "Toutes les bibliothèques",
|
||
"chips": {
|
||
"groupLabel": "Filtrer les auteurs",
|
||
"all": "Tous",
|
||
"noPortrait": "Sans portrait",
|
||
"multipleBooks": "2 livres et plus",
|
||
"recentlyAdded": "Ajoutés cette semaine",
|
||
"noSortName": "Sans nom de tri"
|
||
}
|
||
},
|
||
"header": {
|
||
"never": "Jamais",
|
||
"portraitAlt": "{name} portrait",
|
||
"actions": "Actions",
|
||
"editAuthor": "Modifier l'auteur",
|
||
"mergeAuthors": "Fusionner les auteurs",
|
||
"refreshing": "Rafraîchissant...",
|
||
"refreshMetadata": "Actualiser les métadonnées",
|
||
"deleteAuthor": "Supprimer l'auteur",
|
||
"showLess": "Afficher moins",
|
||
"showMore": "Afficher plus",
|
||
"lookingUpMetadata": "Recherche des métadonnées de l'auteur...",
|
||
"noBiography": "Aucune biographie disponible. Utilisez le menu pour actualiser les métadonnées.",
|
||
"previewFrom": "Aperçu à partir de {provider}. Enregistrez les métadonnées pour les conserver.",
|
||
"booksLabel": "Livres",
|
||
"lastAdded": "Dernier ajout",
|
||
"born": "Date de naissance",
|
||
"died": "Date de décès",
|
||
"website": "Site web",
|
||
"genres": "Genres",
|
||
"influences": "Influences"
|
||
},
|
||
"list": {
|
||
"title": "Auteurs",
|
||
"showControlsAria": "Afficher les contrôles d'auteur",
|
||
"searchPlaceholder": "Rechercher des auteurs",
|
||
"sortButton": "Trier",
|
||
"sortBy": "Trier par",
|
||
"ascending": "Ascendant",
|
||
"descending": "Décroissant",
|
||
"asc": "Asc.",
|
||
"desc": "Description",
|
||
"filters": "Filtres",
|
||
"clear": "Effacer",
|
||
"allLoaded": "Tous les auteurs {total} chargés",
|
||
"sort": {
|
||
"name": "Nom",
|
||
"sortName": "Nom du tri",
|
||
"bookCount": "Nombre de livres",
|
||
"recentAdditions": "Ajouts récents",
|
||
"lastEnriched": "Dernier enrichi"
|
||
},
|
||
"empty": {
|
||
"title": "Aucun auteur trouvé",
|
||
"hint": "Essayez de modifier le texte de recherche, le tri ou le filtre de bibliothèque."
|
||
},
|
||
"deleteDialog": {
|
||
"titleOne": "Supprimer l'auteur ?",
|
||
"titleMany": "Supprimer {count} auteurs ?",
|
||
"descriptionOne": "Cela supprime l'auteur du catalogue et le dissocie des livres associés. Cette action ne peut pas être annulée.",
|
||
"descriptionMany": "Cela supprime les auteurs sélectionnés du catalogue et les dissocie des livres associés. Cette action ne peut pas être annulée."
|
||
},
|
||
"selection": {
|
||
"selectVisible": "Sélectionnez visible",
|
||
"refreshMetadata": "Actualiser les métadonnées",
|
||
"refreshingMetadata": "Actualisation des métadonnées...",
|
||
"deleteSelected": "Supprimer la sélection",
|
||
"deleting": "Suppression...",
|
||
"exitSelection": "Quitter la sélection",
|
||
"confirmDeleteCount": "{count, plural, =0 {Supprimer # auteur ?} one {Supprimer # auteur ?} other {Supprimer # des auteurs ?} many {Supprimer # des auteurs ?}}"
|
||
},
|
||
"toast": {
|
||
"refreshed": "Métadonnées de l'auteur actualisées",
|
||
"refreshedNoImage": "Métadonnées actualisées, mais aucune image d'auteur n'a été trouvée.",
|
||
"refreshFailed": "Échec de l'actualisation des métadonnées de l'auteur",
|
||
"bulkRefreshPartial": "Actualisation des auteurs - réussites : {updated} ; échecs : {failed}",
|
||
"bulkRefreshSuccess": "Auteurs dont les métadonnées ont été actualisées : {updated}",
|
||
"bulkRefreshFailed": "Échec de l'actualisation des auteurs sélectionnés",
|
||
"deleteSuccess": "{count, plural, =0 {# auteurs supprimés ; {books} livres concernés} one {# auteur supprimé ; {books} livres concernés} other {# auteurs supprimés ; {books} livres concernés} many {# auteurs supprimés ; {books} livres concernés}}",
|
||
"deleteFailed": "Échec de la suppression des auteurs"
|
||
}
|
||
},
|
||
"detail": {
|
||
"pageTitle": "Auteur",
|
||
"pageTitleNamed": "Auteur · {name}",
|
||
"pageTitleId": "Auteur #{id}",
|
||
"entityName": "Auteur",
|
||
"loadingAuthor": "Chargement de l'auteur...",
|
||
"previewError": "Impossible de charger les métadonnées d'aperçu de l'auteur externe pour le moment.",
|
||
"edit": {
|
||
"name": "Nom",
|
||
"sortName": "Nom du tri",
|
||
"description": "Descriptif",
|
||
"image": "Images",
|
||
"uploading": "Envoi en cours...",
|
||
"replaceImage": "Remplacer l'image",
|
||
"uploadImage": "Envoyer une image",
|
||
"removing": "Suppression...",
|
||
"removeImage": "Supprimer l'image",
|
||
"imageHint": "PNG/JPEG/WEBP/GIF/BMP jusqu'à {size} Mo",
|
||
"saving": "Sauvegarde..."
|
||
},
|
||
"merge": {
|
||
"searchPlaceholder": "Rechercher des auteurs pour fusionner avec cet auteur",
|
||
"searching": "Recherche...",
|
||
"bookCount": "{count, plural, =0 {pas de livres} one {# livre} other {# livres} many {# livres}}",
|
||
"selectedSummary": "Sélection : {count} auteurs ; environ {books} livres concernés.",
|
||
"merging": "Fusion...",
|
||
"mergeSelected": "Fusionner la sélection",
|
||
"confirmLabel": "Fusionner"
|
||
},
|
||
"mergeDialog": {
|
||
"title": "Fusionner la sélection ({count}) dans « {name} » ?",
|
||
"titleFallback": "Fusionner les auteurs sélectionnés ?",
|
||
"description": "Cela fusionnera les auteurs sélectionnés avec l'auteur actuel et reliera à nouveau les livres associés. Cette action ne peut pas être annulée.",
|
||
"descriptionEmpty": "Cette action ne peut pas être annulée."
|
||
},
|
||
"deleteDialog": {
|
||
"title": "Supprimer l'auteur ?",
|
||
"description": "Cela supprime l'auteur du catalogue et le dissocie des livres associés. Cette action ne peut pas être annulée."
|
||
},
|
||
"books": {
|
||
"heading": "Livres",
|
||
"allLibraries": "Toutes les bibliothèques",
|
||
"asc": "Asc.",
|
||
"desc": "Description",
|
||
"ascending": "Ascendant",
|
||
"descending": "Décroissant",
|
||
"allLoaded": "Tous les {total} livres chargés",
|
||
"sort": {
|
||
"recentlyAdded": "Récemment ajouté",
|
||
"title": "Titre",
|
||
"publishedYear": "Année de publication"
|
||
},
|
||
"empty": {
|
||
"title": "Aucun livre trouvé pour cet auteur",
|
||
"hint": "Essayez de modifier le tri/l'ordre ou de sélectionner une autre bibliothèque."
|
||
}
|
||
},
|
||
"toast": {
|
||
"refreshed": "Métadonnées de l'auteur actualisées",
|
||
"refreshedNoImage": "Métadonnées actualisées, mais aucune image d'auteur n'a été trouvée.",
|
||
"refreshFailed": "Échec de l'actualisation des métadonnées de l'auteur",
|
||
"nameRequired": "Le nom de l'auteur est obligatoire",
|
||
"updated": "Auteur mis à jour",
|
||
"updateFailed": "Échec de la mise à jour de l'auteur",
|
||
"imageUpdated": "Image de l'auteur mise à jour",
|
||
"imageUploadFailed": "Échec de l'envoi de l'image de l'auteur",
|
||
"imageRemoved": "Image de l'auteur supprimée",
|
||
"imageRemoveFailed": "Échec de la suppression de l'image de l'auteur",
|
||
"mergeSuccess": "Fusion terminée - auteurs : {count} ; livres concernés : {books}",
|
||
"mergeFailed": "Échec de la fusion des auteurs",
|
||
"deleteSuccess": "Auteur supprimé ; {books} livres concernés",
|
||
"deleteFailed": "Échec de la suppression de l'auteur"
|
||
}
|
||
},
|
||
"portrait": {
|
||
"fromTheirBook": "Couverture d'un de ses livres ; aucun portrait disponible"
|
||
},
|
||
"index": {
|
||
"bookCount": "{count, plural, =0 {pas de livres} one {# livre} other {# livres} many {# livres}}",
|
||
"rowLabel": "{name}, {count, plural, =0 {pas de livres} one {# livre} other {# livres} many {# livres}}",
|
||
"actionsFor": "Actions pour {name}",
|
||
"refreshing": "Actualisation des métadonnées de {name}",
|
||
"deleting": "Suppression de {name}"
|
||
}
|
||
},
|
||
"book": {
|
||
"untitled": "Sans titre",
|
||
"unknownFormat": "inconnu",
|
||
"collapsedSeries": {
|
||
"label": "Série",
|
||
"bookCount": "{count, plural, =0 {pas de livres} one {# livre} other {# livres} many {# livres}}",
|
||
"readCount": "{count} lire"
|
||
},
|
||
"card": {
|
||
"missing": "Manquant"
|
||
},
|
||
"file": {
|
||
"primary": "Principal",
|
||
"audiobook": "Livre audio"
|
||
},
|
||
"actions": {
|
||
"read": "Marquer comme lu",
|
||
"listen": "Écoute",
|
||
"startReading": "Commencer la lecture",
|
||
"continueReading": "Reprendre la lecture",
|
||
"startListening": "Commencer l'écoute",
|
||
"continueListening": "Reprendre l'écoute",
|
||
"peek": "Coup d'œil",
|
||
"quickView": "Aperçu rapide",
|
||
"details": "Détails",
|
||
"bookDetails": "Détails du livre",
|
||
"download": "Télécharger",
|
||
"metadata": "Métadonnées",
|
||
"editMetadata": "Modifier les métadonnées",
|
||
"refreshMetadata": "Actualiser les métadonnées",
|
||
"regenerateCover": "Régénérer la couverture",
|
||
"addToCollection": "Ajouter à la collection",
|
||
"setStatus": "Définir le statut",
|
||
"sendViaEmail": "Envoyer par e-mail",
|
||
"rate": "Noter {star}",
|
||
"openAs": "Ouvrir en tant que {format}",
|
||
"openReadAlong": "Ouvrir l'EPUB à lecture synchronisée"
|
||
},
|
||
"readStatus": {
|
||
"unread": "Non lu",
|
||
"wantToRead": "Envie de lire",
|
||
"reading": "Lecture",
|
||
"onHold": "En attente",
|
||
"rereading": "Relecture",
|
||
"read": "Lu",
|
||
"skimmed": "Écrémé",
|
||
"abandoned": "Abandonné"
|
||
},
|
||
"download": {
|
||
"action": "Télécharger",
|
||
"audiobookZip": "Livre audio (ZIP)",
|
||
"allFormatsZip": "Tous formats (ZIP)",
|
||
"primaryOnlyZip": "Principal uniquement (ZIP)",
|
||
"preparing": "Préparation du téléchargement...",
|
||
"preparingExport": "Préparation de {count, plural, one {# livre} other {# livres} many {# livres}} pour le téléchargement...",
|
||
"progressPercent": "Téléchargement : {percent} sur {total}",
|
||
"progressBytes": "Téléchargement : {transferred}",
|
||
"failed": "Échec du téléchargement",
|
||
"exportFailed": "Échec de l'export"
|
||
},
|
||
"sort": {
|
||
"moveUp": "Monter",
|
||
"moveDown": "Descendre",
|
||
"ascending": "Ascendant",
|
||
"descending": "Décroissant",
|
||
"fields": {
|
||
"relevance": "Pertinence",
|
||
"author": "Auteur",
|
||
"title": "Titre",
|
||
"series": "Séries",
|
||
"seriesIndex": "Tome",
|
||
"addedAt": "Date d'ajout",
|
||
"updatedAt": "Date de modification",
|
||
"publishedDate": "Date de publication",
|
||
"publishedYear": "Année de publication",
|
||
"pageCount": "Nombre de pages",
|
||
"rating": "Note",
|
||
"publisher": "Éditeur",
|
||
"fileSize": "Taille du fichier",
|
||
"readProgress": "Progression de lecture",
|
||
"readStatus": "Statut de lecture",
|
||
"format": "Format",
|
||
"lastReadAt": "Dernière lecture",
|
||
"startedAt": "Date de début",
|
||
"finishedAt": "Date de fin",
|
||
"random": "Aléatoire",
|
||
"language": "Langue",
|
||
"metadataScore": "Score des métadonnées",
|
||
"collectionOrder": "Ordre d'ajout"
|
||
},
|
||
"customFieldsGroup": "Groupe de champs personnalisés",
|
||
"customFieldFallback": "Valeur par défaut des champs personnalisés",
|
||
"remove": "Supprimer",
|
||
"emptyState": "Aucun tri configuré. Le titre ascendant sera utilisé.",
|
||
"addLevel": "Ajouter un niveau de tri"
|
||
},
|
||
"filter": {
|
||
"match": "Correspondance",
|
||
"all": "TOUS",
|
||
"any": "TOUT",
|
||
"ofFollowingRules": "des règles suivantes",
|
||
"fields": {
|
||
"title": "Titre",
|
||
"publisher": "Éditeur",
|
||
"language": "Langue",
|
||
"series": "Séries",
|
||
"seriesIndex": "Tome",
|
||
"publishedDate": "Date de publication",
|
||
"publishedYear": "Année de publication",
|
||
"pageCount": "Nombre de pages",
|
||
"author": "Auteur",
|
||
"genre": "Genre",
|
||
"tag": "Balises",
|
||
"collection": "Collection",
|
||
"library": "Bibliothèque",
|
||
"format": "Format",
|
||
"fileSize": "Taille du fichier principal",
|
||
"addedAt": "Date d'ajout",
|
||
"startedAt": "Date de début",
|
||
"finishedAt": "Date de fin",
|
||
"fileAvailability": "Présence du fichier",
|
||
"rating": "Note",
|
||
"communityRating": "Évaluations de la communauté",
|
||
"communityRatingCount": "Nombre d'avis de la communauté",
|
||
"readProgress": "Progression de lecture",
|
||
"readStatus": "Statut de lecture",
|
||
"description": "Description",
|
||
"isbn": "ISBN",
|
||
"metadataScore": "Score des métadonnées",
|
||
"cover": "Couverture",
|
||
"lockStatus": "Statut de verrouillage",
|
||
"seriesStatus": "Statut de la série"
|
||
},
|
||
"operators": {
|
||
"contains": "contient",
|
||
"notContains": "ne contient pas",
|
||
"startsWith": "commence par",
|
||
"endsWith": "finit par",
|
||
"eq": "est",
|
||
"notEq": "est différent de",
|
||
"isEmpty": "est vide",
|
||
"isNotEmpty": "n'est pas vide",
|
||
"gt": "supérieur à",
|
||
"gte": "au moins",
|
||
"lt": "inférieur à",
|
||
"lte": "au maximum",
|
||
"between": "compris entre",
|
||
"includesAny": "inclut l'un des",
|
||
"includesAll": "inclut tous les",
|
||
"excludesAll": "exclut tous les",
|
||
"before": "avant",
|
||
"after": "après",
|
||
"withinLast": "dans le dernier",
|
||
"isMissing": "est manquant",
|
||
"isPresent": "existe",
|
||
"isUnread": "est non lu",
|
||
"isInProgress": "est en cours",
|
||
"isFinished": "est terminé",
|
||
"isLocked": "est verrouillé",
|
||
"isUnlocked": "n'est pas verrouillé",
|
||
"isUpNext": "est à la suite",
|
||
"isTrue": "est Vrai",
|
||
"isFalse": "est Faux"
|
||
},
|
||
"customFieldsGroup": "Champs personnalisés",
|
||
"customFieldFallback": "Champ personnalisé",
|
||
"anyProvider": "N'importe quel fournisseur",
|
||
"communityRatingProvider": "Fournisseur de notation communautaire",
|
||
"loadingLibraries": "Chargement des bibliothèques...",
|
||
"noLibrariesAvailable": "Aucune bibliothèque disponible",
|
||
"selectLibrary": "Sélectionnez la bibliothèque...",
|
||
"selectStatus": "Sélectionnez le statut...",
|
||
"withinLastPlaceholder": "par ex. 7",
|
||
"unit": {
|
||
"days": "jours",
|
||
"weeks": "semaines",
|
||
"months": "mois",
|
||
"megabytes": "Mo"
|
||
},
|
||
"scorePreset": {
|
||
"outstanding": "Excellent",
|
||
"good": "Bon",
|
||
"fair": "Moyen",
|
||
"poor": "Faible"
|
||
},
|
||
"scoreRangePlaceholder": "0-100",
|
||
"fileSizePlaceholder": "par ex. 10",
|
||
"fileSizeValueAria": "Taille du fichier principal en mégaoctets",
|
||
"fileSizeMaximumAria": "Taille maximale du fichier principal en mégaoctets",
|
||
"valuePlaceholder": "valeur",
|
||
"maxPlaceholder": "maximum",
|
||
"to": "à",
|
||
"group": "Groupe",
|
||
"addRule": "Ajouter une règle",
|
||
"addGroup": "Ajouter un groupe",
|
||
"typeToSearch": "Tapez pour rechercher..."
|
||
},
|
||
"deleteDialog": {
|
||
"title": "Supprimer le livre ?",
|
||
"description": "Cela supprimera définitivement le livre et toutes ses métadonnées, fichiers, progression de la lecture et signets. Cela ne peut pas être annulé."
|
||
},
|
||
"bulkEdit": {
|
||
"title": "{count, plural, =0 {Modifier les métadonnées - # livre} one {Modifier les métadonnées - # livre} other {Modifier les métadonnées - # livres} many {Modifier les métadonnées - # livres}}",
|
||
"instructions": "Basculez les champs à modifier, puis configurez les valeurs. Seuls les champs basculés seront modifiés.",
|
||
"invalidYear": "Entrez une année valide (chiffres uniquement)",
|
||
"clearWarning": "Cela supprimera tous les {field} des livres sélectionnés.",
|
||
"searchPlaceholder": "Rechercher {field}...",
|
||
"enterPlaceholder": "Saisissez {field}",
|
||
"yearPlaceholder": "par ex. 2024",
|
||
"leaveEmptyHint": "Laissez vide pour effacer ce champ sur tous les livres sélectionnés.",
|
||
"applying": "Candidature...",
|
||
"apply": "Appliquer",
|
||
"mode": {
|
||
"add": "Ajouter",
|
||
"remove": "Supprimer",
|
||
"replace": "Remplacer",
|
||
"clear": "Effacer"
|
||
}
|
||
},
|
||
"export": {
|
||
"title": "Exporter les métadonnées",
|
||
"scope": "Portée",
|
||
"selectedRows": "Lignes sélectionnées",
|
||
"currentlySelected": "{count} actuellement sélectionné",
|
||
"allMatchingRows": "Toutes les lignes correspondantes",
|
||
"rowsInResult": "{count} lignes dans le résultat actuel",
|
||
"format": "Format",
|
||
"csvDescription": "Compatible avec les feuilles de calcul, nomenclature UTF-8 incluse",
|
||
"jsonDescription": "Exportation structurée avec contexte de métadonnées",
|
||
"columns": "Colonnes",
|
||
"canonicalSchema": "Schéma canonique stable",
|
||
"visibleColumns": "Colonnes actuellement visibles",
|
||
"options": "Possibilités",
|
||
"includePersonalData": "Inclure les données de lecture personnelles",
|
||
"includeFilePaths": "Inclure les chemins de fichiers (avancé)",
|
||
"includeContextMeta": "Inclure les métadonnées contextuelles",
|
||
"preflight": "Contrôle en amont",
|
||
"scopeLabel": "Portée : {summary}",
|
||
"calculatingSize": "Calcul de la taille des exportations...",
|
||
"estimatedSize": "Taille estimée :",
|
||
"fileLabel": "Fichier : {fileName}",
|
||
"exportAction": "Exporter",
|
||
"selectedRowsSummary": "{count, plural, =0 {# ligne sélectionnée} one {# ligne sélectionnée} other {# lignes sélectionnées} many {# lignes sélectionnées}}",
|
||
"matchingRowsSummary": "{count, plural, =0 {# ligne correspondante} one {# ligne correspondante} other {# lignes correspondantes} many {# lignes correspondantes}}",
|
||
"prepareFailed": "Échec de la préparation de l'exportation",
|
||
"exportStarted": "L'exportation des métadonnées a démarré : {fileName}",
|
||
"exportFailed": "Échec de l'exportation des métadonnées"
|
||
},
|
||
"columnPanel": {
|
||
"columnsHeading": "Colonnes",
|
||
"reset": "Réinitialiser",
|
||
"tableDensity": "Densité du tableau",
|
||
"density": {
|
||
"compact": "Compact",
|
||
"comfortable": "Confortable",
|
||
"roomy": "Spacieux"
|
||
},
|
||
"presets": "Préréglages",
|
||
"exportBackup": "Exporter les préréglages et les vues enregistrées",
|
||
"importBackup": "Importer des préréglages et des vues enregistrées",
|
||
"rename": "Renommer",
|
||
"renamePrompt": "Entrez un nouveau nom",
|
||
"builtIn": "Intégré",
|
||
"saveCurrentPreset": "Enregistrer le préréglage actuel",
|
||
"savedViews": "Vues enregistrées",
|
||
"savedViewsEmpty": "Enregistrez les filtres de tri, de mise en page et spécifiques à la vue pour une réutilisation rapide.",
|
||
"saveCurrentView": "Enregistrer la vue actuelle",
|
||
"pinnedLeft": "Épinglé à gauche",
|
||
"pinnedRight": "Épinglé à droite",
|
||
"columns": {
|
||
"cover": "Couverture",
|
||
"read": "Lu",
|
||
"actions": "Actions"
|
||
}
|
||
},
|
||
"shortcuts": {
|
||
"title": "Raccourcis clavier",
|
||
"navigation": {
|
||
"title": "Navigation",
|
||
"moveFocusVertical": "Déplacer la mise au point vers le haut/bas",
|
||
"moveFocusHorizontal": "Déplacer le focus vers la gauche/droite",
|
||
"jumpFirstColumn": "Aller à la première colonne",
|
||
"jumpLastColumn": "Aller à la dernière colonne",
|
||
"jumpFirstRow": "Passer à la première ligne",
|
||
"jumpLastRow": "Aller à la dernière ligne"
|
||
},
|
||
"actions": {
|
||
"title": "Actions",
|
||
"editCell": "Modifier la cellule ciblée",
|
||
"cancelEditing": "Annuler l'édition / Fermer la superposition",
|
||
"toggleRowSelection": "Basculer la sélection de ligne",
|
||
"copyCell": "Copier la valeur de la cellule",
|
||
"copyRow": "Copier la ligne ciblée"
|
||
},
|
||
"general": {
|
||
"title": "Général",
|
||
"toggleHelp": "Activer cette superposition d'aide"
|
||
}
|
||
},
|
||
"jumpRail": {
|
||
"jumpToSection": "Aller à la section",
|
||
"jumpTo": "Aller à {label}",
|
||
"unknownDate": "Date inconnue",
|
||
"unknownValue": "Valeur inconnue"
|
||
},
|
||
"quickView": {
|
||
"title": "Aperçu rapide du livre",
|
||
"titleFor": "Aperçu rapide de {title}",
|
||
"description": "Prévisualisez les détails du livre et exécutez des actions rapides.",
|
||
"openIn": "Ouvrir dans {provider}",
|
||
"pages": "{count, plural, =0 {# page} one {# page} other {# pages} many {# pages}}",
|
||
"primaryFile": "Fichier principal",
|
||
"fileNumber": "Fichier n° {id}",
|
||
"showLess": "Afficher moins",
|
||
"showMore": "Afficher plus",
|
||
"collections": "Collections",
|
||
"noDescription": "Aucune description disponible.",
|
||
"openMetadataEditor": "Ouvrir l'éditeur de métadonnées",
|
||
"coverPreview": "Aperçu de la couverture du livre",
|
||
"coverPreviewFor": "Aperçu de la couverture {title}",
|
||
"coverPreviewDescription": "Boîte de dialogue d'aperçu de l'image de couverture agrandie."
|
||
},
|
||
"tableView": {
|
||
"openBookDetails": "Détails du livre ouvert",
|
||
"openSeries": "Série ouverte",
|
||
"metadataRefreshFailed": "Échec de l'actualisation des métadonnées",
|
||
"booksSelected": "{count, plural, =0 {# livre sélectionné} one {# livre sélectionné} other {# livres sélectionnés} many {# livres sélectionnés}}",
|
||
"loadingMoreBooks": "Charger plus de livres",
|
||
"sort": "Trier",
|
||
"refreshingMetadata": "Actualisation des métadonnées {processed} / {total}",
|
||
"failedCount": "{count} a échoué",
|
||
"remainingCount": "{count} restants",
|
||
"readOnlyNotice": "L'édition des tableaux est désactivée sur les écrans plus petits. Passez à la liste ou à la grille pour des actions plus rapides.",
|
||
"fetching": "Récupération...",
|
||
"updated": "Mis à jour",
|
||
"failed": "Échec",
|
||
"noBooks": "Aucun livre à afficher",
|
||
"scrollToTop": "Faire défiler vers le haut",
|
||
"selectedStatus": "{count} sélectionné",
|
||
"filtered": "Filtré",
|
||
"loadedStatus": "{loaded} sur {total} chargé",
|
||
"bookCount": "{count, plural, =0 {# livre} one {# livre} other {# livres} many {# livres}}",
|
||
"keyboardShortcutsTitle": "Raccourcis clavier (?)",
|
||
"showKeyboardShortcuts": "Afficher les raccourcis clavier du tableau",
|
||
"copyHint": "Copier la cellule : Ctrl/Cmd+C · Copier la ligne : Ctrl/Cmd+Shift+C"
|
||
},
|
||
"detail": {
|
||
"authorBooks": {
|
||
"alsoByAuthor": "Également de cet auteur",
|
||
"alsoByAuthors": "Également par ces auteurs"
|
||
},
|
||
"header": {
|
||
"previousBook": "Livre précédent",
|
||
"nextBook": "Livre suivant"
|
||
},
|
||
"tabs": {
|
||
"details": "Détails",
|
||
"editMetadata": "Modifier les métadonnées",
|
||
"files": "Fichiers",
|
||
"readingLog": "Journal de lecture",
|
||
"highlights": "Passages surlignés"
|
||
},
|
||
"discover": {
|
||
"moreInSeries": "Plus en série",
|
||
"byAuthor": "Par auteur",
|
||
"similarBooks": "Livres similaires"
|
||
},
|
||
"recommended": {
|
||
"moreLikeThis": "Plus comme ça"
|
||
},
|
||
"series": {
|
||
"moreInSeries": "Plus dans la série {series}"
|
||
},
|
||
"writeRename": {
|
||
"written": "{count, plural, =0 {aucun champ n'est écrit} one {Écrit (un champ)} other {Écrit (# champs)} many {Écrit (# champs)}}",
|
||
"writeFailed": "Échec de l'écriture",
|
||
"skipped": "Sauté",
|
||
"renamedTo": "Renommé en {name}",
|
||
"fileRenamed": "Fichier renommé",
|
||
"renameFailed": "Échec du changement de nom",
|
||
"autoWriteAndRenameDisabled": "L'écriture automatique et le renommage sont désactivés dans les paramètres de la bibliothèque. Les modifications ne seront pas automatiquement synchronisées lors des prochaines sauvegardes.",
|
||
"autoWriteDisabled": "L'écriture automatique est désactivée dans les paramètres de la bibliothèque. Les modifications ne seront pas automatiquement synchronisées lors des prochaines sauvegardes.",
|
||
"autoRenameDisabled": "Le renommage automatique est désactivé dans les paramètres de la bibliothèque. Les modifications ne seront pas automatiquement synchronisées lors des prochaines sauvegardes.",
|
||
"writeLabel": "Écrivez :",
|
||
"renameLabel": "Renommer :"
|
||
},
|
||
"addFile": {
|
||
"uploading": "Envoi en cours...",
|
||
"uploadComplete": "Envoi terminé",
|
||
"title": "Ajouter un fichier",
|
||
"dropzone": {
|
||
"title": "Déposez les fichiers ici ou cliquez pour parcourir",
|
||
"hint": "epub, pdf, mobi, cbz, m4b et plus - jusqu'à {size} Mo chacun"
|
||
},
|
||
"addMore": "Ajouter plus de fichiers",
|
||
"fileCount": "{count, plural, =0 {pas de fichiers} one {un fichier} other {# fichiers} many {# fichiers}}",
|
||
"clearAll": "Tout effacer",
|
||
"done": "Terminé",
|
||
"retry": "Réessayer",
|
||
"filesAdded": "{count, plural, =0 {aucun fichier ajouté} one {un fichier ajouté} other {# fichiers ajoutés} many {# fichiers ajoutés}}",
|
||
"uploadedFailed": "{done} envoyé, {failed} a échoué",
|
||
"uploadingProgress": "{done} sur {total} en cours d'envoi...",
|
||
"renameAfter": "Renommer tous les fichiers du livre après l'envoi",
|
||
"uploadCount": "Envoyer ({count})",
|
||
"upload": "Envoyer"
|
||
},
|
||
"addSession": {
|
||
"errors": {
|
||
"invalidDate": "Choisissez une date et une heure valides.",
|
||
"future": "La session ne pourra pas démarrer dans le futur.",
|
||
"duration": "La durée doit être comprise entre 1 et 1440 minutes.",
|
||
"endProgress": "La progression finale doit être comprise entre 0 et 100."
|
||
},
|
||
"title": "Ajouter une séance de lecture",
|
||
"startedAt": "Commencé à",
|
||
"duration": "Durée (minutes)",
|
||
"endProgress": "Fin de la progression %",
|
||
"optional": "Facultatif",
|
||
"format": "Format",
|
||
"noFormat": "Pas de format spécifique",
|
||
"saving": "Sauvegarde...",
|
||
"submit": "Ajouter une séance"
|
||
},
|
||
"coverEditor": {
|
||
"unlockCover": "Déverrouiller le couvercle",
|
||
"lockCover": "Couvercle de serrure",
|
||
"fileTab": "Fichier",
|
||
"urlTab": "URL",
|
||
"chooseImage": "Choisissez une image...",
|
||
"findCoverOnline": "Trouver une couverture en ligne",
|
||
"saving": "Sauvegarde...",
|
||
"saveCover": "Enregistrer la couverture",
|
||
"revertToOriginal": "Revenir à l'original",
|
||
"regenerateCover": "Régénérer la couverture"
|
||
},
|
||
"coverSearch": {
|
||
"title": "Recherche en ligne",
|
||
"subtitle": "Recherchez des couvertures de livres",
|
||
"titleField": "Titre",
|
||
"authorField": "Auteur",
|
||
"sourceField": "Source",
|
||
"allSources": "Toutes les sources",
|
||
"audiobookCovers": "Couvertures de livres audio",
|
||
"squareHint": "(carré)",
|
||
"searching": "Recherche...",
|
||
"findCovers": "Trouver des couvertures",
|
||
"selectCover": "Sélectionnez la couverture",
|
||
"noResultsTitle": "Aucun résultat trouvé",
|
||
"noResultsHint": "Essayez d'ajuster vos termes de recherche",
|
||
"readyTitle": "Prêt à rechercher",
|
||
"readyHint": "Entrez un titre et un auteur ci-dessus",
|
||
"resolutionTip": "Astuce : les couvertures haute résolution sont marquées en vert"
|
||
},
|
||
"details": {
|
||
"by": "par",
|
||
"narratedBy": "raconté par",
|
||
"ratingLocked": "Notation verrouillée",
|
||
"rateStar": "Notez {star}",
|
||
"listen": "Écouter",
|
||
"read": "Lire",
|
||
"chooseFormat": "Choisir le format",
|
||
"audiobook": "Livre audio",
|
||
"primary": "Principal",
|
||
"peek": "Coup d'œil",
|
||
"sendViaEmail": "Envoyer par e-mail",
|
||
"personalReview": {
|
||
"title": "Examen personnel",
|
||
"toggleAria": "Activer l'avis personnel",
|
||
"editAria": "Modifier l'avis personnel",
|
||
"placeholder": "Revue privée",
|
||
"clearAria": "Avis personnel clair",
|
||
"cancelEditAria": "Annuler la modification de l'avis personnel"
|
||
},
|
||
"editCover": "Modifier la couverture",
|
||
"finished": "Terminé",
|
||
"resetFileProgress": "Réinitialiser la progression du fichier",
|
||
"resetting": "Réinitialisation...",
|
||
"resetProgressConfirm": "Réinitialiser la progression de lecture stockée pour {label} ?",
|
||
"moreCount": "+{count} plus",
|
||
"untitled": "Sans titre",
|
||
"metadataScore": "Score des métadonnées",
|
||
"primaryFormat": "Format principal",
|
||
"readAloudSync": {
|
||
"title": "Synchronisation de la progression audio-texte",
|
||
"state": {
|
||
"enabled": "Activée",
|
||
"disabled": "Désactivée",
|
||
"unavailable": "Indisponible"
|
||
},
|
||
"enabledDescription": "Les positions du livre audio, du lecteur web, de Kobo et de KOReader restent synchronisées.",
|
||
"disabledDescription": "Chaque format conserve sa propre position de lecture.",
|
||
"reason": {
|
||
"no_media_overlay_epub": "Un EPUB à lecture synchronisée avec des media overlays est nécessaire.",
|
||
"no_audio_files": "Des fichiers de livre audio autonomes correspondants sont nécessaires.",
|
||
"missing_duration": "Les métadonnées de durée audio sont incomplètes.",
|
||
"durationMismatch": "Les durées ne concordent pas suffisamment : livre audio {audio}, EPUB à lecture synchronisée {overlay}."
|
||
},
|
||
"enable": "Activer",
|
||
"disable": "Désactiver",
|
||
"saving": "Enregistrement...",
|
||
"saveFailed": "Impossible de mettre à jour la synchronisation de la progression audio-texte."
|
||
},
|
||
"openIn": "Ouvrir dans {provider}",
|
||
"showLess": "Afficher moins",
|
||
"showMore": "Afficher plus",
|
||
"publisher": "Éditeur",
|
||
"published": "Publié",
|
||
"language": "Langue",
|
||
"pages": "Pages",
|
||
"duration": "Durée",
|
||
"edition": "Édition",
|
||
"abridged": "Abrégé",
|
||
"unabridged": "Version intégrale",
|
||
"isbn": "ISBN",
|
||
"fileSize": "Taille du fichier",
|
||
"library": "Bibliothèque",
|
||
"added": "Ajouté",
|
||
"cancelDateAddedEdit": "Annuler la modification de la date d'ajout",
|
||
"editDateAdded": "Modifier la date d'ajout",
|
||
"dateStarted": "Date de début",
|
||
"saving": "Sauvegarde...",
|
||
"cancelDateStartedEdit": "Annuler la date de début de la modification",
|
||
"editDateStarted": "Date de début de modification",
|
||
"dateFinished": "Date de fin",
|
||
"cancelDateFinishedEdit": "Annuler la date de fin de la modification",
|
||
"editDateFinished": "Date de fin de modification",
|
||
"customMetadata": "Métadonnées personnalisées",
|
||
"synopsis": "Résumé",
|
||
"noDescription": "Aucune description disponible.",
|
||
"dateStartedFutureError": "La date de début ne peut pas être postérieure.",
|
||
"dateAddedRequiredError": "La date d'ajout est requise.",
|
||
"dateAddedFutureError": "La date d'ajout ne peut pas être postérieure.",
|
||
"dateFinishedFutureError": "La date de fin ne peut pas être postérieure.",
|
||
"dateFinishedBeforeStartedError": "La date de fin doit être identique ou postérieure à la date de début.",
|
||
"dateFinishedBeforeStartedErrorWithDate": "La date de fin doit être égale ou postérieure à la date de début ({date}).",
|
||
"saveReadingDatesError": "Échec de l'enregistrement des dates de lecture.",
|
||
"saveAddedDateError": "Échec d'enregistrement de la date d'ajout.",
|
||
"koboPendingDelete": "En attente de suppression de l'appareil",
|
||
"koboPendingDeleteTooltip": "Kobo le supprimera lors de la prochaine synchronisation.",
|
||
"koboRemovedByDevice": "Supprimé par appareil",
|
||
"koboRemovedByDeviceTooltip": "Kobo a signalé la suppression de ce livre.",
|
||
"koboNotSynced": "Non synchronisé",
|
||
"koboNotSyncedTooltip": "En file d'attente pour la prochaine synchronisation Kobo.",
|
||
"filesNotFound": "Fichiers introuvables",
|
||
"filesNotFoundDescription": "Les fichiers de ce livre sont introuvables sur le disque. Les métadonnées restent disponibles. Analysez la bibliothèque pour le confirmer ou supprimez l'enregistrement.",
|
||
"resetHoldNotice": "{device} conserve encore l'ancienne position ({percent})",
|
||
"resetHoldRelease": "Utiliser la position de cet appareil",
|
||
"resetHoldReleasing": "Application...",
|
||
"resetHoldReleaseFailed": "Impossible d'utiliser cette position. Réessayez.",
|
||
"editions": "Éditions",
|
||
"editionsSummary": "{count} · {size}",
|
||
"moreFormats": "+{count} de plus",
|
||
"filesOnDisk": "Fichiers sur le disque",
|
||
"yourReading": "Votre lecture",
|
||
"lastRead": "dernière lecture {when}",
|
||
"notStarted": "pas commencé",
|
||
"noSessionsYet": "Aucune session de lecture pour l'instant. Ouvrir ce livre dans le lecteur suit le temps, le rythme et la progression sur chaque appareil.",
|
||
"activitySessions": "Sessions",
|
||
"activityTime": "Durée",
|
||
"activityAverage": "Moy",
|
||
"activityProgress": "Progression",
|
||
"activityDayTooltip": "{day} : {minutes} min",
|
||
"activityReached": "{percent} atteint",
|
||
"durationS": "{seconds} s",
|
||
"durationM": "{minutes} min",
|
||
"durationHm": "{hours} h {minutes} min",
|
||
"yourReview": "Votre avis",
|
||
"reviewNotWritten": "Pas encore rédigé",
|
||
"writeReview": "Rédiger",
|
||
"collections": "Collections",
|
||
"noCollections": "Aucune",
|
||
"onDisk": "Sur le disque",
|
||
"detailsHeading": "Détails",
|
||
"percentUnderOne": "<1%",
|
||
"percentOverNinetyNine": ">99%"
|
||
},
|
||
"editMetadata": {
|
||
"fieldCount": "{count, plural, =0 {pas de champs} one {un champ} other {# champs} many {# champs}}",
|
||
"bookFilesTarget": "fichiers du livre",
|
||
"formatFilesTarget": "{formats} fichiers",
|
||
"noPrimaryFile": "Aucun fichier principal disponible",
|
||
"formatNotSupported": "Ce format de fichier ne prend pas en charge la réécriture",
|
||
"formatDisabled": "La réécriture est désactivée pour ce format",
|
||
"fileExceedsSizeLimit": "Ce fichier dépasse la taille limite de réécriture",
|
||
"writing": "Écrire...",
|
||
"saveInProgress": "Enregistrement en cours",
|
||
"writeManualLibraryDisabled": "Écrivez les métadonnées dans un fichier et renommez-les sur le disque ; la réécriture automatique est désactivée pour cette bibliothèque",
|
||
"writeManualTooltip": "Écrivez {fields} dans {target} et renommez-le sur le disque",
|
||
"applyResult": "{skipped}, {updated}",
|
||
"skippedLockedFields": "{count, plural, =0 {Aucun champ verrouillé ignoré} one {J'ai ignoré un champ verrouillé} other {Sauté # champs verrouillés} many {Sauté # champs verrouillés}}",
|
||
"updatedFields": "{count, plural, =0 {mis à jour aucun champ} one {mis à jour un champ} other {mis à jour # champs} many {mis à jour # champs}}",
|
||
"wroteFieldsToFile": "J'ai écrit {fields} dans le fichier",
|
||
"fileWriteFailedReason": "Échec de l'écriture du fichier : {reason}",
|
||
"fileWriteFailed": "Échec de l'écriture du fichier",
|
||
"fileWriteSkippedReason": "Écriture du fichier ignorée : {reason}",
|
||
"fileWriteSkipped": "Écriture du fichier ignorée",
|
||
"metadataSaved": "Métadonnées enregistrées",
|
||
"metadataWrittenToFile": "Métadonnées écrites dans un fichier",
|
||
"savedButWriteFailedReason": "Métadonnées enregistrées, mais l'écriture du fichier a échoué : {reason}",
|
||
"savedButWriteFailed": "Métadonnées enregistrées, mais l'écriture du fichier a échoué",
|
||
"savedWriteSkippedReason": "Métadonnées enregistrées, écriture du fichier ignorée : {reason}",
|
||
"savedWriteSkipped": "Métadonnées enregistrées, écriture du fichier ignorée",
|
||
"saveFailed": "Impossible d'enregistrer les modifications",
|
||
"saveFailedWithStatus": "Impossible d'enregistrer les modifications (HTTP {status})",
|
||
"loadFromFileFailed": "Échec du chargement des métadonnées du fichier",
|
||
"loadedFieldsFromFile": "{count, plural, =0 {Aucun champ chargé à partir du fichier} one {Chargé un champ du fichier} other {Chargé # champs du fichier} many {Chargé # champs du fichier}}",
|
||
"noMetadataInFile": "Aucune métadonnée trouvée dans le fichier",
|
||
"loadFromFile": "Charger à partir d'un fichier",
|
||
"loadFromFileTooltip": "Charger les métadonnées du fichier de livre principal",
|
||
"writeToFile": "Écrire dans un fichier",
|
||
"autoFill": "Remplissage automatique",
|
||
"fetchingMetadata": "Récupération des métadonnées...",
|
||
"noExistingProviderIds": "Aucune métadonnée récupérée : aucun des fournisseurs actifs des règles de champ n'a d'identifiant enregistré pour ce livre.",
|
||
"allFieldsLocked": "Tous les champs sont verrouillés",
|
||
"autoFillTooltip": "Remplissez automatiquement les champs en utilisant vos préférences de métadonnées",
|
||
"lockAll": "Verrouiller tout",
|
||
"lockAllTooltip": "Verrouiller tous les champs",
|
||
"unlockAll": "Déverrouiller tout",
|
||
"unlockAllTooltip": "Déverrouiller tous les champs",
|
||
"saving": "Sauvegarde...",
|
||
"fileWriteBackDetails": "Détails de réécriture du fichier",
|
||
"fileWriteBack": "Réécriture de fichier",
|
||
"enabled": "Activé",
|
||
"saveWritesMetadata": "« Enregistrer » écrit les métadonnées dans {target}",
|
||
"formats": "Formats",
|
||
"bookFiles": "Fichiers de livres",
|
||
"supportedFields": "Champs pris en charge",
|
||
"titleLabel": "Titre",
|
||
"subtitleLabel": "Sous-titre",
|
||
"authorsLabel": "Auteurs",
|
||
"narratorsLabel": "Narrateurs",
|
||
"genresLabel": "Genres",
|
||
"tagsLabel": "Balises",
|
||
"ratingLabel": "Note",
|
||
"rateStar": "Notez {star}",
|
||
"clear": "Effacer",
|
||
"communityRatingsLabel": "Évaluations de la communauté",
|
||
"noProviderRatings": "Aucune évaluation du fournisseur",
|
||
"seriesLabel": "Série",
|
||
"publisherLabel": "Éditeur",
|
||
"languageLabel": "Langue",
|
||
"yearLabel": "Année",
|
||
"pageCountLabel": "Nombre de pages",
|
||
"isbn13Label": "ISBN-13",
|
||
"isbn10Label": "ISBN-10",
|
||
"durationLabel": "Durée",
|
||
"abridgedLabel": "Abrégé",
|
||
"providerIds": "ID de fournisseur",
|
||
"comicDetails": "Détails de la bande dessinée",
|
||
"comicIssueNumberLabel": "Numéro",
|
||
"comicVolumeLabel": "Volume",
|
||
"comicStoryArcsLabel": "Arcs narratifs",
|
||
"comicPencillersLabel": "Crayonneurs",
|
||
"comicInkersLabel": "Encreurs",
|
||
"comicColoristsLabel": "Coloristes",
|
||
"comicLetterersLabel": "Lettreurs",
|
||
"comicCoverArtistsLabel": "Artistes de couverture",
|
||
"comicCharactersLabel": "Personnages",
|
||
"comicTeamsLabel": "Équipes",
|
||
"comicLocationsLabel": "Emplacements",
|
||
"customMetadata": "Métadonnées personnalisées",
|
||
"descriptionLabel": "Descriptif",
|
||
"unlockField": "Déverrouiller {field}",
|
||
"lockField": "Verrouiller {field}",
|
||
"diffPanel": {
|
||
"untitled": "Sans titre",
|
||
"noFieldsSelected": "Aucun champ sélectionné",
|
||
"fieldsSelected": "{count, plural, =0 {aucun champ sélectionné} one {un champ sélectionné} other {# champs sélectionnés} many {# champs sélectionnés}}",
|
||
"results": "Résultats",
|
||
"providerMatches": "{provider} correspondances",
|
||
"selectedOf": "{selected} sélectionné sur {total}",
|
||
"yearUnknown": "Année inconnue",
|
||
"indexOf": "{index} sur {total}",
|
||
"switchedResult": "Résultat commuté. Les sélections précédentes de ce fournisseur ont été effacées.",
|
||
"selectFieldsToApply": "Sélectionnez les champs à appliquer",
|
||
"copyMissing": "Copie manquante",
|
||
"copyAll": "Copier tout",
|
||
"hideUnchanged": "Masquer inchangé",
|
||
"showUnchanged": "Afficher inchangé",
|
||
"current": "Actuel",
|
||
"noMetadata": "Aucune métadonnée disponible à partir de cette source.",
|
||
"noChangedFields": "Aucun champ modifié ou manquant. Utilisez « Afficher inchangé » pour tout inspecter.",
|
||
"applyToForm": "Postuler au formulaire"
|
||
},
|
||
"diff": {
|
||
"locked": "Verrouillé",
|
||
"previewAlt": "Aperçu",
|
||
"currentCoverAlt": "Couverture actuelle",
|
||
"newCoverAlt": "Nouvelle couverture",
|
||
"pickCoverFromProvider": "Choisir une couverture auprès d'un autre fournisseur",
|
||
"pickCoverSource": "Choisir la source de couverture",
|
||
"pickFromProvider": "Choisissez auprès d'un autre fournisseur",
|
||
"pickSource": "Choisir la source",
|
||
"genreWriteMode": {
|
||
"label": "Comment appliquer les genres",
|
||
"merge": "Fusionner",
|
||
"replace": "Remplacer"
|
||
},
|
||
"empty": "vide",
|
||
"showLess": "Afficher moins",
|
||
"showMore": "Afficher plus",
|
||
"coverPreviewAlt": "Aperçu de la couverture"
|
||
},
|
||
"searchDrawer": {
|
||
"searchTitle": "Rechercher des métadonnées",
|
||
"compareTitle": "Comparer les métadonnées",
|
||
"searchSubtitle": "Trouvez le meilleur fournisseur pour ce livre.",
|
||
"compareSubtitle": "Examinez les différences et appliquez uniquement ce que vous voulez."
|
||
},
|
||
"searchPanel": {
|
||
"untitledQuery": "Requête sans titre",
|
||
"titlePlaceholder": "Titre",
|
||
"authorPlaceholder": "Auteur",
|
||
"isbnPlaceholder": "ISBN",
|
||
"searching": "Recherche...",
|
||
"activeQuery": "Requête active",
|
||
"searchScope": "Portée de la recherche",
|
||
"allEnabled": "Tout activé",
|
||
"all": "Tout",
|
||
"fieldRules": "Règles de terrain",
|
||
"custom": "Personnalisé",
|
||
"providerNotInFieldRules": "{provider} est activé mais pas dans les règles de champ",
|
||
"notInFieldRulesLabel": "Pas dans les règles de terrain :",
|
||
"notInFieldRulesText": "{providers}. Inclus dans la recherche manuelle avec Tous activés, mais non utilisé par la récupération automatique des métadonnées.",
|
||
"noResults": "Aucun résultat trouvé",
|
||
"noResultsHint": "Essayez d'ajuster le titre ou l'auteur",
|
||
"searchInterrupted": "La recherche n'est pas terminée",
|
||
"searchIncomplete": "Certains résultats peuvent manquer",
|
||
"providerTimedOut": "{provider} a mis trop de temps à répondre.",
|
||
"providerThrottled": "{provider} a atteint sa limite de requêtes. Patientez un instant et réessayez.",
|
||
"providerFailed": "Impossible de joindre {provider}.",
|
||
"searchInterruptedHint": "Réessayez ou réduisez la portée de la recherche.",
|
||
"searchPrompt": "Recherchez ci-dessus, puis cliquez sur un résultat pour commencer à comparer les métadonnées."
|
||
},
|
||
"writeAndRename": "Écrire dans un fichier et renommer",
|
||
"writeAndRenameShort": "Écrire et renommer",
|
||
"identityCard": "Identifiant",
|
||
"catalogCard": "Catalogue",
|
||
"sourceCard": "Source",
|
||
"score": "Score",
|
||
"scoreTooltip": "Score des métadonnées : {score} sur 100",
|
||
"emptyFields": "{count, plural, one {champ vide} other {champs vides}}",
|
||
"emptyFieldsTooltip": "Pas encore renseigné : {fields}. Chercher en ligne pour les trouver.",
|
||
"libraryRow": "Bibliothèque",
|
||
"primaryRow": "Titre",
|
||
"writeBackRow": "4ᵉ de couverture",
|
||
"writeBackOff": "Désactiver",
|
||
"lastWrittenRow": "Dernière mise à jour",
|
||
"neverWritten": "Jamais",
|
||
"fileCount": "{count, plural, =0 {aucun fichier} one {un fichier} other {# fichiers}}",
|
||
"unknownFormat": "Inconnu"
|
||
},
|
||
"files": {
|
||
"title": "Fichiers de livres",
|
||
"stats": {
|
||
"files": "Fichiers",
|
||
"total": "Total",
|
||
"runtime": "Durée",
|
||
"formats": "Formats"
|
||
},
|
||
"filesHeading": "Fichiers",
|
||
"allPresent": "Complet",
|
||
"groupedByReader": "regroupés par lecteur",
|
||
"thisFile": "Ce fichier",
|
||
"writeBackShort": "Réécriture",
|
||
"fieldsSet": "{filled} / {total} définis",
|
||
"writtenSummary": "{fields} et {count, plural, one {# autre champ} other {# autres champs} many {# autres champs}} sont écrits dans le {format}.",
|
||
"writtenSummaryAll": "{fields} sont écrits dans le {format}.",
|
||
"writtenNothing": "Aucun des {total} champs modifiables n'a encore de valeur.",
|
||
"writeBackOff": "La réécriture est désactivée pour ce livre.",
|
||
"editMetadata": "Modifier les métadonnées",
|
||
"showAllTracks": "Tout afficher",
|
||
"collapseTracks": "Réduire",
|
||
"moreTracks": "{count, plural, one {# piste de plus} other {# pistes de plus} many {# pistes de plus}}",
|
||
"tracksRolled": "{count, plural, one {# piste} other {# pistes} many {# pistes}}",
|
||
"fileDetails": "Détails du fichier",
|
||
"openDetails": "Ouvrir les détails du fichier",
|
||
"closeDetails": "Fermer les détails du fichier",
|
||
"trackFrom": "Piste {track} sur {total}, à partir de {time}",
|
||
"throughCopy": "{percent} de ce fichier",
|
||
"fileCount": "{count, plural, =0 {pas de fichiers} one {# fichier} other {# fichiers} many {# fichiers}}",
|
||
"synced": "Synchronisé {time}",
|
||
"sortAria": "Trier les fichiers",
|
||
"syncHistory": "Historique de synchronisation",
|
||
"metadataWriteBack": "Réécriture des métadonnées",
|
||
"relative": {
|
||
"seconds": "Il y a {value}s",
|
||
"minutes": "il y a {value} m",
|
||
"hours": "il y a {value} h",
|
||
"days": "Il y a {value}j"
|
||
},
|
||
"renameFailed": "Échec du renommage du fichier",
|
||
"deleteFailed": "Échec de la suppression du fichier",
|
||
"addFile": "Ajouter un fichier",
|
||
"lastSynced": "Dernière synchronisation : {time}",
|
||
"sort": {
|
||
"label": "Trier :",
|
||
"name": "Nom",
|
||
"format": "Format",
|
||
"size": "Taille",
|
||
"date": "Date"
|
||
},
|
||
"hidePaths": "Masquer les chemins",
|
||
"showPaths": "Afficher les chemins",
|
||
"hideLog": "Masquer le journal",
|
||
"viewSyncLog": "Afficher le journal de synchronisation",
|
||
"noWriteHistory": "Pas encore d'écriture d'historique.",
|
||
"fieldsWritten": "{count, plural, =0 {pas de champs} one {un champ} other {# champs} many {# champs}}",
|
||
"track": "Piste {number}",
|
||
"primary": "Principal",
|
||
"read": "Lire",
|
||
"play": "Écouter",
|
||
"peek": "Aperçu",
|
||
"download": "Télécharger",
|
||
"moreActions": "Plus de propositions",
|
||
"rename": "Renommer",
|
||
"empty": {
|
||
"title": "Aucun fichier joint",
|
||
"description": "Ce livre n'a aucun fichier associé."
|
||
},
|
||
"renameModal": {
|
||
"title": "Renommer le fichier",
|
||
"description": "Renommez le fichier physique sur le disque.",
|
||
"placeholder": "Nouveau nom de fichier"
|
||
},
|
||
"saving": "Sauvegarde...",
|
||
"deleteModal": {
|
||
"title": "Supprimer le fichier ?",
|
||
"description": "Êtes-vous sûr de vouloir supprimer « {filename} » ? Cette action ne peut pas être annulée."
|
||
},
|
||
"deleting": "Suppression...",
|
||
"folderAria": "Emplacement du dossier",
|
||
"folderContents": "Contenu du dossier",
|
||
"inspectorAria": "Fichier sélectionné",
|
||
"libraryRoot": "racine de la bibliothèque",
|
||
"onDisk": "Sur le disque",
|
||
"missing": "Manquant",
|
||
"backToFolder": "Revenir au dossier",
|
||
"copyPath": "Copier le chemin complet",
|
||
"pathCopied": "Chemin copié dans le presse-papiers",
|
||
"resume": "Reprendre",
|
||
"audiobook": "Livre audio",
|
||
"writeTarget": "Cible d'écriture",
|
||
"enabled": "Activée",
|
||
"disabled": "Désactivée",
|
||
"notSet": "non défini",
|
||
"sortAdded": "Ajout",
|
||
"formatCount": "{count, plural, one {# format} other {# formats} many {# formats}}",
|
||
"trackCount": "{count, plural, one {# piste} other {# pistes} many {# pistes}}",
|
||
"formatsInFolder": "{count, plural, one {# format ici} other {# formats ici} many {# formats ici}}",
|
||
"compositionAria": "Répartition de la taille du dossier par format",
|
||
"percentRead": "{percent} lu",
|
||
"trackOf": "Piste {track} sur {total}",
|
||
"groups": {
|
||
"ebook": "Ebook",
|
||
"document": "Document",
|
||
"comic": "Bande dessinée",
|
||
"audio": "Audio",
|
||
"extras": "Suppléments"
|
||
},
|
||
"roles": {
|
||
"primary": "Principal",
|
||
"content": "Autre version",
|
||
"supplement": "Complément",
|
||
"cover": "Couverture"
|
||
},
|
||
"reader": {
|
||
"none": "Aucun lecteur",
|
||
"ebook": "Lecteur Ebook",
|
||
"document": "Lecteur PDF",
|
||
"comic": "Lecteur de bandes dessinées",
|
||
"audio": "Lecteur audio"
|
||
},
|
||
"spec": {
|
||
"format": "Format",
|
||
"role": "Rôle",
|
||
"size": "Taille",
|
||
"length": "Durée",
|
||
"added": "Ajouté le",
|
||
"indexed": "Indexé",
|
||
"opensIn": "S'ouvre dans",
|
||
"writeBack": "Réécriture",
|
||
"track": "Piste",
|
||
"targetFile": "Fichier cible",
|
||
"notWritten": "Non réécrit"
|
||
},
|
||
"duration": {
|
||
"hoursMinutes": "{hours} h {minutes} min",
|
||
"minutes": "{minutes} min",
|
||
"minutesSeconds": "{minutes} min {seconds} s",
|
||
"seconds": "{seconds} s"
|
||
},
|
||
"positionHeading": "Votre position dans cet exemplaire",
|
||
"copiesStarted": "{started} exemplaires commencés sur {total}",
|
||
"nothingStarted": "Rien de commencé",
|
||
"throughFile": "{percent} de ce fichier lu",
|
||
"notOpened": "Jamais ouvert",
|
||
"lastRead": "Dernière lecture {time}",
|
||
"noPosition": "Aucune position de lecture enregistrée",
|
||
"trackPositionHeading": "Position de cette piste",
|
||
"totalRuntime": "{duration} totale",
|
||
"startsAt": "Commence à {time}",
|
||
"trackLength": "{duration} totale",
|
||
"switchFileHeading": "Changer de fichier",
|
||
"writeBackHeading": "Écrit dans ce fichier",
|
||
"fieldsWithValue": "{filled} champs sur {total} ont une valeur",
|
||
"lastRun": "Dernière exécution : {time}",
|
||
"neverRun": "Jamais exécuté",
|
||
"historyHeading": "Historique",
|
||
"timeline": {
|
||
"written": "Métadonnées écrites dans {format}",
|
||
"writtenMany": "Métadonnées écrites dans {format} ×{count}",
|
||
"writeDetail": "{count, plural, one {# champ} other {# champs}} · {ms}ms · {trigger}",
|
||
"failed": "Échec d'écriture",
|
||
"indexed": "{name} indexé",
|
||
"indexedMany": "Fichiers {count} {format} indexés"
|
||
}
|
||
},
|
||
"highlights": {
|
||
"note": {
|
||
"placeholder": "Ajouter une note...",
|
||
"saving": "Économiser"
|
||
},
|
||
"export": {
|
||
"trigger": "Exporter",
|
||
"plainText": "Texte brut",
|
||
"page": "Page d'exportation",
|
||
"selected": "Exporter la sélection"
|
||
},
|
||
"sort": {
|
||
"position": "Poste",
|
||
"newest": "Le plus récent en premier",
|
||
"oldest": "Le plus ancien en premier"
|
||
},
|
||
"summary": {
|
||
"highlights": "{count, plural, =0 {pas de passages surlignés} one {un passage surligné} other {# passages surlignés} many {# passages surlignés}}",
|
||
"notes": "{count, plural, =0 {pas de notes} one {une note} other {# remarques} many {# remarques}}",
|
||
"chapters": "{count, plural, =0 {pas de chapitres} one {un chapitre} other {# chapitres} many {# chapitres}}"
|
||
},
|
||
"filterByChapter": "Filtrer par chapitre",
|
||
"allChapters": "Tous les chapitres",
|
||
"untitled": "Sans titre",
|
||
"trash": "Corbeille",
|
||
"empty": {
|
||
"noMatch": "Aucun passage surligné ne correspond à vos filtres.",
|
||
"resetFilters": "Réinitialiser les filtres",
|
||
"none": "Pas encore de passages surlignés",
|
||
"hint": "Sélectionnez du texte pendant la lecture pour créer des passages surlignés"
|
||
},
|
||
"uncategorized": "Non classé",
|
||
"paginationUnit": "passages surlignés",
|
||
"rail": {
|
||
"title": "Marques",
|
||
"unit": "{count, plural, one {passage surligné} other {passages surlignés} many {passages surlignés}}",
|
||
"withNotes": "portent une remarque",
|
||
"chaptersMarked": "chapitres marqués",
|
||
"ofChaptersMarked": "sur {total} chapitres marqués",
|
||
"colour": "Couleur",
|
||
"showOnly": "Afficher seulement {colour}",
|
||
"source": "Provenance",
|
||
"health": "État des positions",
|
||
"needsAttention": "{count, plural, one {# à vérifier} other {# à vérifier} many {# à vérifier}}",
|
||
"anchorLost": "{count, plural, one {une a perdu son ancre quand le fichier a changé} other {# ont perdu leur ancre quand le fichier a changé} many {# ont perdu leur ancre quand le fichier a changé}}",
|
||
"reAnchored": "{count, plural, one {une a été réancrée automatiquement} other {# ont été réancrées automatiquement} many {# ont été réancrées automatiquement}}",
|
||
"reviewPositions": "Vérifier les positions",
|
||
"span": "Étendue",
|
||
"firstMark": "Première marque",
|
||
"lastMark": "Dernière marque",
|
||
"markingDays": "Jours de marquage",
|
||
"exportCount": "Exporter {count}"
|
||
},
|
||
"row": {
|
||
"select": "Sélectionner ce passage surligné",
|
||
"showMore": "Afficher plus",
|
||
"showLess": "Afficher moins",
|
||
"note": "Remarque",
|
||
"addNote": "Ajouter une remarque",
|
||
"page": "p. {page}",
|
||
"anchorLost": "Ancre perdue",
|
||
"reAnchored": "Réancrée"
|
||
},
|
||
"stream": {
|
||
"title": "Le flux",
|
||
"searchPlaceholder": "Rechercher parmi {count} passages surlignés et remarques",
|
||
"all": "Tout",
|
||
"notes": "Remarques",
|
||
"review": "À vérifier",
|
||
"density": "Basculer entre lignes confortables et compactes",
|
||
"matchCount": "{shown} sur {total} correspondent",
|
||
"textChip": "texte « {query} »",
|
||
"marks": "{count, plural, one {# marque} other {# marques} many {# marques}}",
|
||
"loadingMore": "Chargement en cours"
|
||
},
|
||
"bulk": {
|
||
"selected": "{count} sélectionnés",
|
||
"selectAll": "Sélectionner les {count}",
|
||
"recolour": "Recolorer la sélection",
|
||
"recolourTo": "Recolorer en {colour}",
|
||
"clear": "Effacer la sélection"
|
||
},
|
||
"index": {
|
||
"title": "Index",
|
||
"groupBy": "Grouper le flux par",
|
||
"byChapter": "Chapitres",
|
||
"byColour": "Couleurs",
|
||
"byDay": "Jours"
|
||
},
|
||
"activity": {
|
||
"title": "Activité de marquage",
|
||
"days": "{count, plural, one {# jour} other {# jours} many {# jours}}",
|
||
"showAll": "Afficher les {count} jours",
|
||
"showFewer": "Afficher moins"
|
||
},
|
||
"inspector": {
|
||
"title": "Détail du passage surligné",
|
||
"back": "Retour à l'index",
|
||
"counter": "Marque {position} sur {total}",
|
||
"previous": "Marque précédente",
|
||
"next": "Marque suivante",
|
||
"notePrompt": "Pourquoi celui-ci comptait-il ? Les remarques sont consultables et suivent l'export.",
|
||
"style": "Style",
|
||
"position": "Position et synchronisation",
|
||
"openHere": "Ouvrir ici"
|
||
},
|
||
"band": {
|
||
"title": "Où sont les marques",
|
||
"subtitle": "chaque chapitre marqué dans l'ordre de lecture, avec la couleur que vous avez choisie",
|
||
"barTitle": "{chapter}, {count} marques",
|
||
"start": "Début",
|
||
"densest": "Le plus dense",
|
||
"marks": "{count, plural, one {# marque} other {# marques} many {# marques}}",
|
||
"longestGap": "Plus longue portion sans marque",
|
||
"chapters": "{count, plural, one {# chapitre} other {# chapitres} many {# chapitres}}",
|
||
"end": "Fin"
|
||
},
|
||
"emptyStage": {
|
||
"title": "Aucun passage surligné dans {title}",
|
||
"body": "Les passages surlignés arrivent de trois endroits, et cette page les rassemble tous sur une seule colonne.",
|
||
"openReader": "Ouvrir le lecteur",
|
||
"web": {
|
||
"title": "Lisez ici",
|
||
"body": "Sélectionnez du texte dans le lecteur intégré et choisissez une couleur."
|
||
},
|
||
"kobo": {
|
||
"title": "Synchroniser une Kobo",
|
||
"body": "Les passages surlignés faits sur l'appareil arrivent à la synchronisation suivante."
|
||
},
|
||
"koreader": {
|
||
"title": "Synchroniser KOReader",
|
||
"body": "Le plugin envoie les annotations avec leur position exacte."
|
||
}
|
||
},
|
||
"shortcuts": {
|
||
"title": "Clavier",
|
||
"description": "Raccourcis clavier de la liste des passages surlignés.",
|
||
"move": "Marque suivante / précédente",
|
||
"open": "Ouvrir l'inspecteur",
|
||
"back": "Retour à l'index",
|
||
"search": "Rechercher",
|
||
"note": "Écrire une remarque",
|
||
"recolour": "Recolorer",
|
||
"select": "Sélectionner cette marque",
|
||
"regroup": "Regrouper le flux",
|
||
"copy": "Copier la citation",
|
||
"reader": "Ouvrir dans le lecteur"
|
||
},
|
||
"railTitle": "{marks} marques · {chapters} chapitres",
|
||
"whenMarked": "Quand elles ont été marquées",
|
||
"chapters": "Chapitres",
|
||
"noChapter": "Sans chapitre",
|
||
"views": {
|
||
"position": "Dans l'ordre de lecture",
|
||
"newest": "Plus récents d'abord",
|
||
"oldest": "Plus anciens d'abord",
|
||
"colour": "Par couleur",
|
||
"source": "Par provenance"
|
||
}
|
||
},
|
||
"readingLog": {
|
||
"resetReadingState": "Réinitialiser le statut de lecture",
|
||
"vitals": {
|
||
"aria": "Résumé de lecture",
|
||
"notSet": "Non défini",
|
||
"started": "Commencé",
|
||
"finished": "Terminé",
|
||
"editStarted": "Modifier la date à laquelle vous avez commencé ce livre",
|
||
"editFinished": "Modifier la date à laquelle vous avez fini ce livre",
|
||
"totalTime": "Durée totale",
|
||
"sessions": "Sessions",
|
||
"avgSession": "Session moyenne",
|
||
"activeDays": "Jours d'activité",
|
||
"activeDaysOf": "{active} sur {total}",
|
||
"pace": "Rythme",
|
||
"pacePerHour": "{percent}%/h",
|
||
"lastRead": "Dernière lecture",
|
||
"whereYouRead": "Où vous l'avez lu",
|
||
"addSession": "Ajouter une session",
|
||
"durationHm": "{hours} h {minutes} min",
|
||
"durationM": "{minutes} min",
|
||
"durationS": "{seconds} s"
|
||
},
|
||
"ledger": {
|
||
"title": "Sessions",
|
||
"none": "aucune",
|
||
"colDay": "Jour",
|
||
"colTime": "Heure",
|
||
"colLength": "Durée",
|
||
"colChange": "Modifier",
|
||
"colPosition": "Position dans le livre",
|
||
"colReached": "Atteint",
|
||
"colSource": "Source",
|
||
"colFormat": "Format",
|
||
"gapDays": "{count, plural, one {# jour sans lire} other {# jours sans lire}}",
|
||
"attemptBegan": "Début de la tentative {index}",
|
||
"attemptOutsideAny": "Hors de toute tentative",
|
||
"empty": "Aucune session enregistrée",
|
||
"emptyHint": "Ouvrez le livre dans le lecteur, synchronisez un appareil ou ajoutez une session à la main."
|
||
},
|
||
"attempts": {
|
||
"title": "Tentatives",
|
||
"none": "aucune",
|
||
"ordinal": "Tentative {index}",
|
||
"addPast": "Ajouter une tentative passée",
|
||
"reread": "Relire",
|
||
"rereadPrompt": "Démarrer une nouvelle tentative de lecture ?",
|
||
"rereadResetProgress": "Remet la position de lecture au début. Les appareils synchronisés peuvent recevoir cette remise à zéro.",
|
||
"rereadConfirm": "Démarrer la relecture",
|
||
"fieldStarted": "Début",
|
||
"fieldEnded": "Fin",
|
||
"fieldOutcome": "Issue",
|
||
"outcome": {
|
||
"completed": "Terminée",
|
||
"skimmed": "Parcourue",
|
||
"abandoned": "Abandonnée",
|
||
"inProgress": "En cours"
|
||
},
|
||
"spanRange": "de {from} à {to}",
|
||
"spanSince": "depuis {from}",
|
||
"spanEnded": "terminée {to}",
|
||
"spanUnknown": "Aucune date enregistrée",
|
||
"sessionCount": "{count, plural, one {# session} other {# sessions} many {# sessions}}",
|
||
"endBeforeStart": "La date de fin doit être égale ou postérieure à la date de début.",
|
||
"editAria": "Modifier cette tentative",
|
||
"deleteAria": "Supprimer cette tentative",
|
||
"cancelDeleteAria": "Annuler la suppression de cette tentative",
|
||
"confirmDeleteAria": "Confirmer la suppression de cette tentative",
|
||
"empty": "Aucune tentative enregistrée",
|
||
"emptyHint": "Démarrez une relecture, ou ajoutez une tentative terminée avant l'existence de cette bibliothèque."
|
||
},
|
||
"records": {
|
||
"title": "Records",
|
||
"longestSession": "Session la plus longue",
|
||
"bestDay": "Meilleure journée",
|
||
"longestStreak": "Plus longue série",
|
||
"streakDays": "{count, plural, one {# jour} other {# jours} many {# jours}}",
|
||
"pace": "Rythme de lecture",
|
||
"jumpedBack": "Retours en arrière",
|
||
"jumpedBackTimes": "{count, plural, one {# fois} other {# fois} many {# fois}}",
|
||
"firstOpened": "Première ouverture",
|
||
"empty": "Les records apparaîtront dès que ce livre aura des sessions."
|
||
},
|
||
"band": {
|
||
"curve": "Courbe",
|
||
"trace": "Tracé",
|
||
"switchAria": "Type de graphique",
|
||
"curveTitle": "Progression dans le temps",
|
||
"traceTitle": "Où vous en étiez dans le livre",
|
||
"curveSubDays": "{active} jours actifs sur {total}",
|
||
"curveSubSitting": "d'une traite, session par session",
|
||
"traceSub": "chaque barre est le passage couvert par une session",
|
||
"traceSubWithBacktracks": "{count, plural, one {chaque barre est une session, # retour en arrière} other {chaque barre est une session, # retours en arrière} many {chaque barre est une session, # retours en arrière}}",
|
||
"legendPosition": "Position atteinte",
|
||
"legendMinutes": "Minutes lues",
|
||
"legendBacktrack": "Retours en arrière",
|
||
"traceEmpty": "Aucun tracé",
|
||
"traceEmptyHint": "Dès qu'il y aura des sessions, ceci montrera le passage du livre couvert par chacune, et les endroits où vous êtes revenu en arrière.",
|
||
"tooltipCovered": "De {from} % à {to} %",
|
||
"tooltipMinutes": "{minutes} min"
|
||
},
|
||
"emptyStage": {
|
||
"title": "Rien d'enregistré pour ce livre",
|
||
"description": "Un journal de lecture se construit à partir des sessions. BookOrbit en enregistre une chaque fois que vous lisez dans le lecteur web, et récupère le reste depuis les appareils que vous synchronisez.",
|
||
"readerTitle": "Lisez ici",
|
||
"readerBody": "Chaque minute passée dans le lecteur BookOrbit est enregistrée automatiquement.",
|
||
"koreaderTitle": "Synchroniser KOReader",
|
||
"koreaderBody": "Le plugin renvoie chaque séance, avec la page que vous avez atteinte.",
|
||
"koboTitle": "Synchroniser une Kobo",
|
||
"koboBody": "Branchez l'appareil et BookOrbit lit son propre compteur de temps de lecture.",
|
||
"addSession": "Ajouter une session à la main",
|
||
"recordPast": "Enregistrer une lecture passée"
|
||
},
|
||
"moreActionsAria": "Plus d'actions de journal de lecture",
|
||
"export": {
|
||
"button": "Exporter"
|
||
},
|
||
"weekdays": {
|
||
"sun": "Soleil",
|
||
"mon": "lundi",
|
||
"tue": "mar.",
|
||
"wed": "mer",
|
||
"thu": "jeu.",
|
||
"fri": "vendredi",
|
||
"sat": "Samedi"
|
||
},
|
||
"months": {
|
||
"jan": "janvier",
|
||
"feb": "Février",
|
||
"mar": "mars",
|
||
"apr": "avril",
|
||
"may": "mai",
|
||
"jun": "juin",
|
||
"jul": "juillet",
|
||
"aug": "Août",
|
||
"sep": "septembre",
|
||
"oct": "octobre",
|
||
"nov": "novembre",
|
||
"dec": "décembre"
|
||
},
|
||
"heatmap": {
|
||
"minutesUnit": "min",
|
||
"title": "Activité",
|
||
"empty": "Aucune activité de lecture dans cette fenêtre.",
|
||
"emptyHint": "Les sessions enregistrées ici construiront votre vue de cohérence."
|
||
},
|
||
"hero": {
|
||
"summaryAria": "Résumé de lecture",
|
||
"notSet": "Non défini",
|
||
"relative": {
|
||
"seconds": "Il y a {count}s",
|
||
"minutes": "il y a {count} m",
|
||
"hours": "il y a {count} h",
|
||
"days": "Il y a {count}j",
|
||
"months": "{count, plural, =0 {# il y a un mois} one {# il y a un mois} other {# il y a des mois} many {# il y a des mois}}",
|
||
"years": "{count, plural, =0 {# il y a un an} one {# il y a un an} other {# il y a des années} many {# il y a des années}}"
|
||
},
|
||
"noSessions": "Aucune séance",
|
||
"dateErrors": {
|
||
"startFuture": "La date de début ne peut pas être postérieure.",
|
||
"finishFuture": "La date de fin ne peut pas être postérieure.",
|
||
"finishBeforeStart": "La date de fin doit être identique ou postérieure à la date de début.",
|
||
"finishBeforeStartWithDate": "La date de fin doit être égale ou postérieure à la date de début ({date}).",
|
||
"saveFailed": "Échec de l'enregistrement des dates de lecture."
|
||
},
|
||
"eta": {
|
||
"max": "99 h+ pour terminer",
|
||
"minutes": "~{m}m pour terminer",
|
||
"hours": "~{h} h pour terminer",
|
||
"hoursMinutes": "~{h} h {m}m pour terminer"
|
||
},
|
||
"momentum": {
|
||
"none": "Aucune activité au cours des deux dernières semaines",
|
||
"new": "Nouvelle activité cette semaine",
|
||
"up": "+{pct} % par rapport aux 7 jours précédents",
|
||
"down": "{pct} % par rapport aux 7 jours précédents",
|
||
"flat": "Inchangé par rapport aux 7 jours précédents"
|
||
},
|
||
"stats": {
|
||
"totalTime": "Durée totale",
|
||
"sessions": "Séances",
|
||
"avgSession": "Session moyenne",
|
||
"lastRead": "Dernière lecture"
|
||
},
|
||
"firstRead": "Première lecture",
|
||
"lastRead": "Dernière lecture",
|
||
"dateStarted": "Date de début",
|
||
"dateFinished": "Date de fin",
|
||
"addSession": "Ajouter une séance"
|
||
},
|
||
"journey": {
|
||
"tooltipProgress": "Progression",
|
||
"tooltipReading": "Lecture",
|
||
"minutesUnit": "min",
|
||
"title": "Parcours de progression",
|
||
"empty": "Aucune donnée de progression dans cette fenêtre.",
|
||
"emptyHint": "La progression apparaîtra après qu'une session ait enregistré une position de lecture."
|
||
},
|
||
"sourceSplit": {
|
||
"title": "Sources de lecture",
|
||
"shortTitle": "Sources"
|
||
},
|
||
"untitled": "Sans titre",
|
||
"addSessionFailed": "Échec de l'ajout d'une session",
|
||
"filters": {
|
||
"show": "Afficher",
|
||
"dateRangeAria": "Plage de dates de la session de lecture",
|
||
"allTime": "Tout le temps",
|
||
"last30": "30 derniers jours",
|
||
"last90": "90 derniers jours",
|
||
"thisYear": "Cette année",
|
||
"allFormats": "Tous les formats"
|
||
},
|
||
"table": {
|
||
"title": "Séances",
|
||
"sourceWeb": "Web",
|
||
"sourceIos": "Application iOS",
|
||
"sourceWatchos": "Apple Watch",
|
||
"sourceManual": "Manuel",
|
||
"colDate": "Date",
|
||
"colDateMobile": "Date",
|
||
"colDuration": "Durée",
|
||
"colDurationMobile": "Durée",
|
||
"colProgressChange": "Changement de progression",
|
||
"colProgressChangeMobile": "Delta",
|
||
"colEndProgress": "Fin de la progression",
|
||
"colEndProgressMobile": "Fin",
|
||
"jumpToProgress": "Aller à {progress} %",
|
||
"empty": "Aucune séance de lecture enregistrée pour le moment.",
|
||
"emptyHint": "Ajoutez une session pour commencer à créer l'historique de lecture de ce livre.",
|
||
"colPace": "Rythme",
|
||
"colSource": "Source",
|
||
"colFormatMobile": "Fmt",
|
||
"colFormat": "Format",
|
||
"cancelDelete": "Annuler la suppression",
|
||
"cancelDeleteAria": "Annuler la suppression de la session",
|
||
"confirmDeleteTitle": "Cliquez à nouveau pour confirmer la suppression",
|
||
"confirmDeleteAria": "Confirmer la suppression de la session",
|
||
"deleteAria": "Supprimer la séance",
|
||
"loadMore": "Charger plus",
|
||
"showing": "Affichage de {shown} sessions sur {total}"
|
||
}
|
||
},
|
||
"richDescription": {
|
||
"linkProtocolError": "Utilisez http, https ou mailto.",
|
||
"bold": "Audacieux",
|
||
"italic": "Italique",
|
||
"underline": "Souligner",
|
||
"strikethrough": "Barré",
|
||
"bulletList": "Liste à puces",
|
||
"numberedList": "Liste numérotée",
|
||
"outdentAria": "Réduire le retrait de l'élément de liste",
|
||
"outdent": "Réduire le retrait",
|
||
"indentAria": "Élément de liste de retrait",
|
||
"indent": "Retrait",
|
||
"quote": "Citation",
|
||
"editLink": "Modifier le lien",
|
||
"link": "Lien",
|
||
"removeLink": "Supprimer le lien",
|
||
"undo": "Annuler",
|
||
"redo": "Refaire",
|
||
"clearFormatting": "Formatage clair",
|
||
"previewDescription": "Description de l'aperçu",
|
||
"preview": "Aperçu",
|
||
"linkUrlLabel": "URL du lien",
|
||
"applyLink": "Appliquer le lien",
|
||
"apply": "Appliquer",
|
||
"cancelLink": "Annuler le lien",
|
||
"noDescription": "Aucune description disponible."
|
||
},
|
||
"seriesMembership": {
|
||
"addSeries": "Ajouter une série",
|
||
"seriesPlaceholder": "Série",
|
||
"moveUp": "Monter",
|
||
"moveDown": "Descendre",
|
||
"removeSeries": "Supprimer la série",
|
||
"seriesIndexLabel": "Tome",
|
||
"invalidSeriesIndex": "Saisissez des chiffres avec au plus un point décimal, par exemple 5.10.",
|
||
"totalLabel": "Livres dans la série",
|
||
"totalPlaceholder": "sur",
|
||
"totalHint": "Nombre de tomes dans cette série. Partagé avec tous ceux qui ont cette série."
|
||
}
|
||
},
|
||
"table": {
|
||
"actions": {
|
||
"quickView": "Aperçu rapide",
|
||
"bookDetails": "Détails du livre",
|
||
"editMetadata": "Modifier les métadonnées",
|
||
"refreshMetadata": "Actualiser les métadonnées",
|
||
"addToCollection": "Ajouter à la collection",
|
||
"sendToDevice": "Envoyer à l'appareil"
|
||
},
|
||
"boolean": {
|
||
"ariaNotSet": "Non défini - cliquez pour définir vrai",
|
||
"ariaTrue": "Vrai - cliquez pour définir faux",
|
||
"ariaFalse": "Faux - cliquez pour effacer"
|
||
},
|
||
"chips": {
|
||
"addPlaceholder": "Ajouter..."
|
||
},
|
||
"cover": {
|
||
"previewDescription": "Aperçu de la couverture du livre",
|
||
"editDescription": "Modifier la couverture du livre",
|
||
"editTitle": "Modifier la couverture",
|
||
"editCover": "Modifier la couverture",
|
||
"view": "Voir la couverture"
|
||
},
|
||
"date": {
|
||
"justNow": "juste maintenant"
|
||
},
|
||
"format": {
|
||
"unknown": "inconnu"
|
||
},
|
||
"header": {
|
||
"sortAscending": "Trier par ordre croissant",
|
||
"sortDescending": "Trier par ordre décroissant",
|
||
"clearSort": "Effacer le tri",
|
||
"hideColumn": "Masquer la colonne",
|
||
"pinLeft": "Épingler à gauche",
|
||
"pinRight": "Épingler à droite",
|
||
"unpinColumn": "Désépingler la colonne",
|
||
"autoFitWidth": "Largeur d'ajustement automatique",
|
||
"autoFitAllColumns": "Ajuster automatiquement toutes les colonnes",
|
||
"selectAllBooks": "Sélectionnez tous les livres",
|
||
"shiftClickSecondarySort": "Maj+clic pour ajouter un tri secondaire",
|
||
"clickToSort": "Cliquez pour trier"
|
||
},
|
||
"locks": {
|
||
"lockAll": "Verrouiller tous les champs",
|
||
"unlockAll": "Déverrouiller tous les champs",
|
||
"lockField": "Champ de verrouillage",
|
||
"unlockField": "Champ de déverrouillage",
|
||
"clickToLock": "Cliquez pour verrouiller",
|
||
"clickToUnlock": "Cliquez pour déverrouiller"
|
||
},
|
||
"progress": {
|
||
"complete": "{percent} terminé"
|
||
},
|
||
"rating": {
|
||
"label": "Note",
|
||
"remove": "Supprimer la note",
|
||
"rate": "Notez {star} sur 5"
|
||
},
|
||
"read": {
|
||
"play": "Jouer",
|
||
"read": "Lire",
|
||
"primary": "Principal",
|
||
"peekFormat": "Aperçu de {format}",
|
||
"chooseFormat": "Choisissez le format à lire ou à jouer",
|
||
"fileFallback": "FICHIER"
|
||
},
|
||
"readStatus": {
|
||
"unread": "Non lu"
|
||
},
|
||
"series": {
|
||
"seriesRow": "Ligne de série",
|
||
"bookCount": "{count, plural, =0 {(pas de livres)} one {(# livre)} other {(# livres)} many {(# livres)}}",
|
||
"readOfCount": "{read} sur {total} lu"
|
||
},
|
||
"text": {
|
||
"openDetails": "Ouvrir les détails"
|
||
}
|
||
},
|
||
"move": {
|
||
"title": "{count, plural, one {Déplacez # livre} many {Déplacez # livres} other {Déplacez # livres}}",
|
||
"subtitle": "Les fichiers sont déplacés sur le disque vers la bibliothèque choisie. Cela peut changer la visibilité de ces livres pour les utilisateurs.",
|
||
"searchPlaceholder": "Rechercher dans les bibliothèques",
|
||
"currentLibrary": "Actuelle",
|
||
"folderCount": "{count, plural, one {# folder} many {# folders} other {# folders}}",
|
||
"continue": "Continuer",
|
||
"back": "Retour",
|
||
"confirm": "{count, plural, one {Déplacer # livre} many {Déplacer # livres} other {Déplacer # livres}}",
|
||
"action": "Déplacer vers la bibliothèque",
|
||
"review": {
|
||
"ready": "{count} prêt",
|
||
"collisions": "{count, plural, one {# conflit de nom} many {# conflits de nom} other {# conflits de nom}}",
|
||
"ineligible": "{count} ne peut pas être déplacé",
|
||
"alreadyThere": "{count} déjà présent",
|
||
"collisionsHeading": "Conflit de noms",
|
||
"ineligibleHeading": "Ne peut pas être déplacé",
|
||
"moreCollisions": "et {count} autres"
|
||
},
|
||
"policy": {
|
||
"suggested": "Utiliser la suggestion",
|
||
"keep_both": "Garder les deux",
|
||
"merge": "Fusionner",
|
||
"skip": "Passer"
|
||
},
|
||
"collision": {
|
||
"folder_path": "Un livre utilise déjà ce nom de dossier",
|
||
"file_path": "Un fichier utilise déjà ce chemin",
|
||
"hash_duplicate": "Une copie identique existe déjà dans cette bibliothèque"
|
||
},
|
||
"ineligible": {
|
||
"book_not_present": "Les fichiers de ce livre sont manquants",
|
||
"no_content_file": "Ce livre n'a aucun fichier lisible",
|
||
"multi_file_target_per_file": "La destination stocke un fichier par livre, et ce livre a {detail} fichiers",
|
||
"no_source_access": "Vous ne pouvez pas modifier la bibliothèque dans laquelle se trouve ce livre",
|
||
"pattern_unresolved": "La bibliothèque de destination n'a pas de motif de nommage utilisable",
|
||
"path_too_long": "Le chemin de destination est trop long",
|
||
"path_outside_target_root": "Le chemin de destination est en hors du dossier de la bibliothèque"
|
||
},
|
||
"warning": {
|
||
"accessLoss": "{user} ne verra plus {count} de ces livres",
|
||
"koboImpact": "{count} livres seront supprimés de la Kobo de {user} lors de la prochaine synchronisation",
|
||
"layout": {
|
||
"wrap_into_folder": "{count} livres seront placés dans leur propre dossier",
|
||
"dissolve_folder": "{count} dossiers de livres seront changés en fichiers uniques"
|
||
},
|
||
"crossDevice": "Les fichiers sont déplacés vers un autre lecteur : ils sont copiés, vérifiés, puis supprimés."
|
||
},
|
||
"progress": {
|
||
"label": "Déplacement des livres vers {library}",
|
||
"failed": "{count} en échec"
|
||
},
|
||
"done": {
|
||
"summary": "{count} livres déplacés vers {library}",
|
||
"merged": "{count} fusionnés avec des copies existantes",
|
||
"skipped": "{count} ignorés",
|
||
"failed": "{count} en échec"
|
||
},
|
||
"toast": {
|
||
"success": "{count} livres déplacés vers {library}",
|
||
"partial": "{moved} livres déplacés, {failed} en échec"
|
||
}
|
||
}
|
||
},
|
||
"bookMetadataFetch": {
|
||
"book": {
|
||
"title": "Récupération de métadonnées"
|
||
},
|
||
"author": {
|
||
"title": "Enrichissement de l'auteur"
|
||
},
|
||
"stats": {
|
||
"queued": "En file d'attente",
|
||
"processing": "Traitement",
|
||
"rateLimited": "Requêtes limitées",
|
||
"failed": "Échec"
|
||
},
|
||
"actions": {
|
||
"pause": "Pause",
|
||
"resume": "Reprendre",
|
||
"cancelQueued": "Annuler la file d'attente",
|
||
"dismissBookStatus": "Ignorer l'état de récupération des métadonnées",
|
||
"dismissAuthorStatus": "Ignorer le statut d'enrichissement de l'auteur"
|
||
},
|
||
"cancel": {
|
||
"processingWillFinish": "Le traitement des éléments en cours sera terminé.",
|
||
"confirm": "Confirmer l'annulation",
|
||
"keepRunning": "Continuez à courir"
|
||
},
|
||
"viewFailed": "{count, plural, one {Afficher un échec} other {Voir # échoué} many {Voir # échoué}}",
|
||
"card": {
|
||
"fetchingMetadata": "Récupérer des métadonnées",
|
||
"enrichingAuthors": "Enrichir les auteurs",
|
||
"metadataFetchFinished": "Récupération des métadonnées terminée",
|
||
"authorEnrichmentFinished": "Enrichissement de l'auteur terminé"
|
||
},
|
||
"label": {
|
||
"paused": "En pause",
|
||
"remaining": "{count} restants",
|
||
"processing": "Traitement {count}",
|
||
"failed": "{count} a échoué",
|
||
"rateLimited": "{count} limitées par débit"
|
||
},
|
||
"report": {
|
||
"bookTitle": "Échec de la récupération des métadonnées",
|
||
"authorTitle": "Enrichissements d'auteurs ayant échoué",
|
||
"noFailedItems": "Aucun élément échoué.",
|
||
"retryAllFailed": "Réessayer, tout a échoué",
|
||
"bookFallback": "Livre n° {id}",
|
||
"authorFallback": "Auteur #{id}",
|
||
"columns": {
|
||
"title": "Titre",
|
||
"library": "Bibliothèque",
|
||
"author": "Auteur",
|
||
"error": "Erreur",
|
||
"http": "HTTP"
|
||
}
|
||
},
|
||
"toast": {
|
||
"failedToPause": "Échec de la mise en pause",
|
||
"failedToResume": "Échec de la reprise",
|
||
"failedToCancel": "Échec de l'annulation",
|
||
"failedToRetry": "Échec de la nouvelle tentative",
|
||
"failedItemsRequeued": "Éléments en échec remis en file d'attente",
|
||
"bookComplete": "Récupération des métadonnées terminée – {done} livres mis à jour",
|
||
"bookDoneWithFailures": "Récupération des métadonnées terminée – {done} traité, {failed} a échoué",
|
||
"authorComplete": "Enrichissement des auteurs terminé – {done} auteurs mis à jour",
|
||
"authorDoneWithFailures": "Enrichissement de l'auteur effectué - {done} traité, {failed} a échoué"
|
||
}
|
||
},
|
||
"bookDock": {
|
||
"apply": "Appliquer",
|
||
"done": "Terminé",
|
||
"discard": "Abandonner",
|
||
"deselect": "Désélectionner",
|
||
"finalize": "Finaliser",
|
||
"rescan": "Nouvelle analyse",
|
||
"uploadAction": "Envoyer",
|
||
"uploading": "Envoi en cours...",
|
||
"searchPlaceholder": "Rechercher des fichiers...",
|
||
"setDestinationAction": "Définir la destination",
|
||
"bulkEditAction": "Modification groupée",
|
||
"applyFetched": "Appliquer récupéré",
|
||
"retryErrors": "Erreurs de nouvelle tentative",
|
||
"discardDialog": {
|
||
"title": "{count, plural, =0 {Supprimer aucun fichier ?} one {Supprimer le fichier sélectionné ?} other {Supprimer les # fichiers sélectionnés ?} many {Supprimer les # fichiers sélectionnés ?}}",
|
||
"description": "{count, plural, =0 {Aucun fichier n'est sélectionné.} one {Cette action supprime définitivement le fichier sélectionné du disque. Cette action est irréversible.} other {Cette action supprime définitivement les # fichiers sélectionnés du disque. Cette action est irréversible.} many {Cette action supprime définitivement les # fichiers sélectionnés du disque. Cette action est irréversible.}}",
|
||
"confirm": "{count, plural, one {Supprimer le fichier} other {Supprimer # fichiers} many {Supprimer # fichiers}}",
|
||
"failed": "Impossible de supprimer les fichiers sélectionnés. Réessayez."
|
||
},
|
||
"commaSeparated": "séparés par des virgules",
|
||
"destinationLibrary": "Bibliothèque de destinations",
|
||
"destinationFolder": "Dossier de destination",
|
||
"nFailed": "{count} a échoué",
|
||
"updatedOfFiles": "Mise à jour de {updated} sur {total} fichiers",
|
||
"errorStatus": "Erreur {status}",
|
||
"invalidSeriesIndex": "Saisissez des chiffres avec au plus un point décimal, par exemple 5.10.",
|
||
"tab": {
|
||
"all": "Tout",
|
||
"pending": "En attente",
|
||
"ready": "Prêt",
|
||
"error": "Erreur"
|
||
},
|
||
"status": {
|
||
"pending": "En attente",
|
||
"extracting": "Extraction",
|
||
"fetching": "Récupération",
|
||
"ready": "Prêt",
|
||
"error": "Erreur"
|
||
},
|
||
"field": {
|
||
"title": "Titre",
|
||
"subtitle": "Sous-titre",
|
||
"authors": "Auteurs",
|
||
"authorsCommaSeparated": "Auteurs (séparés par des virgules)",
|
||
"publisher": "Éditeur",
|
||
"publishedDate": "Date de publication",
|
||
"year": "Année",
|
||
"language": "Langue",
|
||
"isbn13": "ISBN-13",
|
||
"isbn10": "ISBN-10",
|
||
"series": "Série",
|
||
"seriesIndex": "Tome",
|
||
"genres": "Genres",
|
||
"genresCommaSeparated": "Genres (séparés par des virgules)",
|
||
"description": "Descriptif"
|
||
},
|
||
"upload": {
|
||
"nDone": "{count} terminé",
|
||
"nFailed": "{count} a échoué",
|
||
"nTotal": "{count} total"
|
||
},
|
||
"fileList": {
|
||
"emptyTitle": "Aucun fichier dans Book Dock",
|
||
"emptyMessageDefault": "Envoyez des fichiers ou déposez-les dans le dossier Book Dock",
|
||
"colCurrent": "Actuel",
|
||
"colNew": "Nouveau",
|
||
"colFile": "Fichier",
|
||
"colSize": "Taille",
|
||
"colFormat": "Format",
|
||
"colMatch": "Correspondance",
|
||
"colApply": "Appliquer",
|
||
"colStatus": "Statut",
|
||
"applyFetchedMetadata": "Appliquer les métadonnées récupérées",
|
||
"coverPreview": "Aperçu de la couverture",
|
||
"coverPreviewDescription": "Boîte de dialogue d'aperçu de l'image de couverture agrandie.",
|
||
"currentCoverAlt": "{title} couverture actuelle",
|
||
"newCoverAlt": "{title} nouvelle couverture",
|
||
"unknownLibrary": "Bibliothèque inconnue",
|
||
"unassigned": "Non attribué",
|
||
"targetPath": "Cible : {library} · {path}",
|
||
"targetUnassigned": "Cible : non attribué",
|
||
"targetUnknownPath": "Cible : {library} · Chemin de destination inconnu"
|
||
},
|
||
"sheet": {
|
||
"saved": "Enregistré",
|
||
"providerMetadataFound": "Métadonnées du fournisseur trouvées",
|
||
"providerMetadataFoundEdited": "Métadonnées du fournisseur trouvées : l'application groupée ignorera ce fichier (vous avez des modifications)",
|
||
"review": "Examen",
|
||
"added": "Ajout de {date}",
|
||
"searchMetadata": "Rechercher des métadonnées",
|
||
"results": "Résultats"
|
||
},
|
||
"bulkEdit": {
|
||
"title": "{count, plural, =0 {Modification groupée d'aucun fichier} one {Modification groupée # fichier} other {Modification groupée # fichiers} many {Modification groupée # fichiers}}",
|
||
"resultTitle": "Modification groupée des résultats",
|
||
"instructions": "Basculez les champs que vous souhaitez mettre à jour. Seuls les champs activés seront appliqués.",
|
||
"mergeArrays": "Fusionner les tableaux (ajouter aux valeurs existantes au lieu de remplacer)",
|
||
"failed": "Échec de la modification groupée"
|
||
},
|
||
"setDestination": {
|
||
"title": "{count, plural, =0 {Définir la destination pour aucun fichier} one {Définir la destination pour # fichier} other {Définir la destination pour # fichiers} many {Définir la destination pour # fichiers}}",
|
||
"resultTitle": "Destination mise à jour",
|
||
"failed": "Échec de la définition de la destination"
|
||
},
|
||
"finalizeDialog": {
|
||
"title": "{count, plural, =0 {Ne finaliser aucun fichier} one {Finaliser # fichier} other {Finaliser # fichiers} many {Finaliser # fichiers}}",
|
||
"resultTitle": "Finaliser les résultats",
|
||
"needDestination": "{count, plural, =0 {Sans destination : {without} sur # fichiers sélectionnés} one {Sans destination : {without} sur # fichier sélectionné} other {Sans destination : {without} sur # fichiers sélectionnés} many {Sans destination : {without} sur # fichiers sélectionnés}}",
|
||
"allHaveDestination": "Tous les fichiers sélectionnés ont déjà une destination définie",
|
||
"defaultDestinationLibrary": "Bibliothèque de destination par défaut",
|
||
"defaultDestinationFolder": "Dossier de destination par défaut",
|
||
"renamePreview": "Renommer l'aperçu",
|
||
"moreFiles": "+{count} fichiers supplémentaires",
|
||
"start": "Commencer",
|
||
"filesFinalized": "{succeeded} fichiers sur {total} finalisés",
|
||
"checking": "Vérification des fichiers sélectionnés...",
|
||
"readyCount": "{count, plural, =0 {aucun fichier n'est prêt} one {# fichier prêt} other {# fichiers prêts} many {# fichiers prêts}}",
|
||
"duplicateCount": "{count, plural, =0 {aucun déjà dans la bibliothèque} one {# déjà en bibliothèque} other {# déjà en bibliothèque} many {# déjà en bibliothèque}}",
|
||
"conflictCount": "{count, plural, =0 {aucun conflit de nom de fichier} one {# conflit de nom de fichier} other {# conflits de noms de fichiers} many {# conflits de noms de fichiers}}",
|
||
"missingDestinationCount": "{count, plural, =0 {aucune destination manquante} one {# destination manquante} other {# destinations manquantes} many {# destinations manquantes}}",
|
||
"blockedCount": "{count, plural, =0 {aucun fichier bloqué} one {# fichier bloqué} other {# fichiers bloqués} many {# fichiers bloqués}}",
|
||
"moreDuplicates": "+{count} plus déjà dans la bibliothèque",
|
||
"discardDuplicates": "Supprimer les doublons",
|
||
"failedCount": "{count, plural, =0 {aucun fichier n'a échoué} one {# le fichier a échoué} other {# les fichiers ont échoué} many {# les fichiers ont échoué}}",
|
||
"failedWithDuplicates": "{count, plural, =0 {{failed} échecs (# doublons)} one {{failed} échecs (# doublon)} other {{failed} échecs (# doublons)} many {{failed} échecs (# doublons)}}",
|
||
"view": "Voir",
|
||
"viewExisting": "Voir existant",
|
||
"hide": "Masquer",
|
||
"details": "Détails",
|
||
"alreadyExistsSaveAs": "Existe déjà - enregistrer sous :",
|
||
"renamePlaceholder": "par ex. {name} (2)",
|
||
"import": "Importer"
|
||
},
|
||
"layout": {
|
||
"pause": "Suspendre",
|
||
"resume": "Reprendre",
|
||
"pauseUpdateFailed": "Échec de la mise en pause",
|
||
"clearSearch": "Effacer la recherche",
|
||
"filter": {
|
||
"all": "Tous",
|
||
"needsReview": "À vérifier",
|
||
"pending": "En attente",
|
||
"ready": "Prêt",
|
||
"error": "Erreur"
|
||
},
|
||
"working": {
|
||
"label": "{count} en cours"
|
||
},
|
||
"row": {
|
||
"select": "Sélectionner {title}",
|
||
"setDestination": "Définir la destination",
|
||
"file": "Fichier",
|
||
"match": "{percent} % de correspondance",
|
||
"noAuthor": "Aucun auteur pour le moment",
|
||
"proposedChanges": "Modifications proposées",
|
||
"noChanges": "Aucune métadonnée récupérée pour le moment",
|
||
"editDetails": "Modifier les détails",
|
||
"noMatch": "Aucune correspondance",
|
||
"applied": "Appliqué",
|
||
"refetch": "Récupérer à nouveau les métadonnées",
|
||
"clickToZoom": "Cliquez sur une couverture pour l'agrandir",
|
||
"changedFields": "{count, plural, one {# champ} other {# champs} many {# champs}}",
|
||
"needMore": "Besoin de rechercher d'autres fournisseurs ou de modifier d'autres champs ?"
|
||
},
|
||
"selection": {
|
||
"fileToLibrary": "{count, plural, =0 {Fichier vers la bibliothèque} one {Fichier # vers la bibliothèque} other {Fichier # vers la bibliothèque} many {Fichier # vers la bibliothèque}}",
|
||
"nSelected": "Éléments dans la sélection : {count}",
|
||
"nReadyToFile": "Éléments prêts à classer : {count}"
|
||
},
|
||
"empty": {
|
||
"nothingToReview": "Rien à vérifier. Chaque fichier prêt a une destination et une correspondance fiable.",
|
||
"nothingReadyToFile": "Aucun fichier n'est prêt à être classé.",
|
||
"dropHint": "Ou déposez des fichiers n'importe où sur cette page."
|
||
},
|
||
"selectAllOnPage": "Sélectionner tous les fichiers de cette page",
|
||
"showingOf": "{shown} sur {total}",
|
||
"keyboardHint": "J / K pour se déplacer · espace pour sélectionner · entrée pour développer",
|
||
"allOnPageSelected": "Les {count} éléments de cette page sont tous sélectionnés.",
|
||
"selectAllMatching": "Sélectionner les {count} correspondances",
|
||
"allMatchingSelected": "Les {count} fichiers correspondants sont tous sélectionnés",
|
||
"sort": {
|
||
"label": "Trier par",
|
||
"attention": "Nécessite une attention",
|
||
"createdAt": "Ajoutés récemment",
|
||
"fileName": "Nom du fichier",
|
||
"fileSize": "Taille",
|
||
"format": "Format",
|
||
"status": "Statut"
|
||
},
|
||
"conflict": {
|
||
"duplicate": "Doublon",
|
||
"destination_conflict": "Chemin déjà utilisé",
|
||
"invalid_target": "Cible invalide",
|
||
"access_denied": "Accès refusé",
|
||
"invalid_format": "Format invalide",
|
||
"error": "Échouerait"
|
||
},
|
||
"unit": {
|
||
"fileCount": "{count, plural, one {# fichier} other {# fichiers} many {# fichiers}}",
|
||
"filesHeading": "{count, plural, one {Fichier de cette entrée} other {# fichiers de cette entrée} many {# fichiers de cette entrée}}",
|
||
"role": {
|
||
"content": "Livre",
|
||
"cover": "Couverture",
|
||
"metadata": "Métadonnées",
|
||
"supplement": "Supplément"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"bookRequests": {
|
||
"title": "Demandes (bêta)",
|
||
"subtitle": "Demandez des livres que la bibliothèque n'a pas encore. Cette fonctionnalité est expérimentale, attendez-vous à quelques anomalies.",
|
||
"tabs": {
|
||
"search": "Demander un livre",
|
||
"mine": "Mes demandes",
|
||
"all": "Toutes les demandes"
|
||
},
|
||
"mediaKind": {
|
||
"ebook": "Ebook",
|
||
"audiobook": "Livre audio",
|
||
"comic": "Bande dessinée"
|
||
},
|
||
"status": {
|
||
"pending": "En attente",
|
||
"approved": "Approuvée",
|
||
"rejected": "Rejetée",
|
||
"cancelled": "Annulée",
|
||
"searching": "Recherche en cours",
|
||
"grabbed": "Récupérée",
|
||
"downloading": "Téléchargement en cours",
|
||
"importing": "Import en cours",
|
||
"needs_review": "À vérifier",
|
||
"available": "Disponible",
|
||
"failed": "En échec"
|
||
},
|
||
"search": {
|
||
"titleLabel": "Titre",
|
||
"titlePlaceholder": "Titre du livre",
|
||
"authorLabel": "Auteur",
|
||
"authorPlaceholder": "Nom de l'auteur",
|
||
"mediaKindLabel": "Format",
|
||
"libraryLabel": "Ajouter à la bibliothèque",
|
||
"libraryAny": "Laisser l'approbateur décider",
|
||
"libraryDefault": "Par défaut ({library})",
|
||
"libraryChoose": "Choisir une bibliothèque",
|
||
"libraryRequired": "Vos demandes sont approuvées dès que vous les faites : choisissez la bibliothèque où le livre doit atterrir.",
|
||
"fulfillmentLabel": "Mode de traitement",
|
||
"fulfillmentAutomatic": "Automatique",
|
||
"fulfillmentChooseRelease": "Choisir une release",
|
||
"folderLabel": "Dossier",
|
||
"languageLabel": "Langue demandée",
|
||
"languageAny": "Toutes les langues",
|
||
"languageDefaultToggleLabel": "Utiliser cette langue pour les nouvelles demandes",
|
||
"languageDefaultSetHint": "Demander cette langue sur chaque nouvelle demande",
|
||
"languageDefaultClearHint": "Ne plus demander cette langue par défaut",
|
||
"languageDefaultSaved": "Les nouvelles demandes porteront sur {language}",
|
||
"languageDefaultCleared": "Les nouvelles demandes suivront la langue de votre interface",
|
||
"languageDefaultFailed": "Impossible d'enregistrer votre préférence de langue",
|
||
"submit": "Rechercher",
|
||
"searching": "Interrogation des fournisseurs...",
|
||
"noResultsTitle": "Aucun livre correspondant",
|
||
"noResultsHint": "Essayez un autre titre ou un autre auteur.",
|
||
"noResultsIndexerHint": "Essayez un autre titre ou un autre auteur, ou cherchez « {title} » sur les indexeurs et choisissez une release vous-même.",
|
||
"freeTextAction": "Chercher sur les indexeurs",
|
||
"manualSearchAction": "Chercher manuellement sur les indexeurs",
|
||
"yearUnknown": "Année inconnue",
|
||
"sourceCount": "{count, plural, one {# source} other {# sources} many {# sources}}",
|
||
"sourcesLabel": "Sources : {sources}",
|
||
"sourcesUnavailable": "Certaines sources n'ont pas répondu, les résultats sont donc peut-être incomplets : {sources}",
|
||
"identifiers": {
|
||
"none": "Aucun ISBN",
|
||
"one": "1 ISBN",
|
||
"confirmed": "ISBN confirmé",
|
||
"count": "{count} ISBN",
|
||
"sourcesTitle": "Sources de métadonnées",
|
||
"provider": "Fournisseur",
|
||
"providerTitle": "Titre chez le fournisseur",
|
||
"isbn": "ISBN",
|
||
"year": "Année",
|
||
"language": "Langue",
|
||
"notProvided": "Non fourni",
|
||
"searchScope": "Choisissez {count, plural, one {l'ISBN} other {l'un des # ISBN} many {l'un des # ISBN}} à chercher, ou cherchez par titre et auteur.",
|
||
"searchScopeLimited": "Choisissez un seul ISBN à chercher.",
|
||
"titleAuthorOnly": "Aucun ISBN n'a été fourni. BookOrbit cherchera une fois par titre et auteur.",
|
||
"chooseSearch": "Choisir une édition à chercher",
|
||
"searchByEdition": "Trouver une release pour une édition",
|
||
"findRelease": "Trouver une release",
|
||
"primaryIsbn": "ISBN {isbn}",
|
||
"primaryTitleAuthor": "Titre et auteur",
|
||
"recommended": "Recommandé",
|
||
"recommendationHelpLabel": "Comment BookOrbit choisit l'ISBN recommandé",
|
||
"recommendationTitle": "Comment la recherche recommandée est choisie",
|
||
"recommendationLanguage": "Préférer la langue demandée, puis une langue inconnue, avant une langue qui ne correspond pas.",
|
||
"recommendationAgreement": "Préférer un ISBN confirmé par davantage de fournisseurs de métadonnées indépendants.",
|
||
"recommendationProvider": "Utiliser la priorité stable des fournisseurs de métadonnées de BookOrbit.",
|
||
"recommendationRelevance": "Utiliser la position de l'édition dans les résultats de ce fournisseur.",
|
||
"recommendationYear": "Préférer l'année d'édition la plus proche de la première année connue de l'œuvre.",
|
||
"recommendationStable": "Utiliser l'ISBN lui-même comme départage stable final.",
|
||
"recommendationFallback": "Si aucun ISBN valide n'est disponible, BookOrbit cherche une fois par titre et auteur. Choisir une édition dans le menu prime toujours sur cette recommandation.",
|
||
"withoutIsbn": "Chercher par titre et auteur",
|
||
"action": "Action"
|
||
},
|
||
"request": "Demander",
|
||
"download": "Télécharger",
|
||
"getAutomatically": "Obtenir automatiquement",
|
||
"chooseRelease": "Choisir une release",
|
||
"joinRequest": "M'ajouter aussi",
|
||
"submitted": "Demande envoyée",
|
||
"joinedExisting": "Vous suivez maintenant la demande existante",
|
||
"submitFailed": "Impossible d'envoyer cette demande",
|
||
"alreadyInLibrary": "Déjà dans votre bibliothèque",
|
||
"alreadyRequested": "Déjà demandé par quelqu'un d'autre",
|
||
"alreadyRequestedByYou": "Vous l'avez déjà demandé",
|
||
"preferredFormatsLabel": "Formats préférés",
|
||
"preferredFormatsHint": "Les releases dans ces formats sont mieux classées. Les autres formats restent proposés.",
|
||
"noteLabel": "Note pour l'approbateur",
|
||
"notePlaceholder": "Ce qu'il y a à savoir sur cette demande",
|
||
"moreOptions": "Plus d'options",
|
||
"fewerOptions": "Moins d'options",
|
||
"optionsSummary": "{formats} · note ajoutée",
|
||
"formatToggleAria": "Préférer {format}"
|
||
},
|
||
"card": {
|
||
"details": "Détails",
|
||
"mediaKind": "Format",
|
||
"library": "Bibliothèque",
|
||
"requestedBy": "Demandé par",
|
||
"requestedByAt": "{name}, {time}",
|
||
"alsoWanted": "Également souhaité par",
|
||
"alsoWantedCount": "{count, plural, one {# autre personne le souhaite} other {# autres personnes le souhaitent} many {# autres personnes le souhaitent}}",
|
||
"moreActions": "Plus d'actions pour {title}",
|
||
"settledIn": "Classé dans {library}, {time}",
|
||
"settledAt": "Clôturée {time}",
|
||
"dismissedBadge": "Masquée"
|
||
},
|
||
"detail": {
|
||
"unknownAuthor": "Auteur inconnu",
|
||
"requestedBy": "Demandé par",
|
||
"requestedOn": "Demandé le",
|
||
"library": "Bibliothèque",
|
||
"series": "Série",
|
||
"isbn": "ISBN",
|
||
"decidedBy": "Tranchée par",
|
||
"requesterNote": "Note du demandeur",
|
||
"decisionNote": "Note de décision",
|
||
"statusReason": "Ce qui l'a arrêtée",
|
||
"alsoWanted": "Également souhaité par",
|
||
"decisionNoteLabel": "Note (facultative)",
|
||
"decisionNotePlaceholder": "Expliquez la décision",
|
||
"destinationLibraryLabel": "Bibliothèque de destination",
|
||
"destinationLibraryPlaceholder": "Choisir une bibliothèque",
|
||
"destinationFolderLabel": "Dossier de destination",
|
||
"languageLabel": "Langue demandée",
|
||
"languageAny": "Toutes les langues",
|
||
"destinationRequired": "Approuver classe le livre dans une bibliothèque : choisissez-en une avant d'approuver.",
|
||
"fulfilTitle": "Clôturer cette demande",
|
||
"fulfilHint": "Pointez la demande vers le livre que vous avez ajouté, ou vers le fichier du Book Dock qui attend d'être classé.",
|
||
"bookIdLabel": "ID du livre",
|
||
"bookIdPlaceholder": "p. ex. 128",
|
||
"dockFileIdLabel": "ID du fichier Book Dock",
|
||
"dockFileIdPlaceholder": "p. ex. 42",
|
||
"backToList": "Toutes les demandes",
|
||
"loading": "Chargement de la demande...",
|
||
"transfer": "Transfert",
|
||
"requestSection": "Demande",
|
||
"decideTitle": "Approuver ou rejeter",
|
||
"fulfilSourceLabel": "Ce qui clôture cette demande",
|
||
"fulfilFromLibrary": "Un livre de la bibliothèque",
|
||
"fulfilFromDock": "Un fichier du Book Dock",
|
||
"fulfilSearchLabel": "Chercher le fichier qui clôture cette demande",
|
||
"fulfilSearchBooks": "Chercher dans votre bibliothèque par titre ou par auteur",
|
||
"fulfilSearchDock": "Chercher dans le Book Dock par nom de fichier",
|
||
"fulfilSearching": "Recherche...",
|
||
"fulfilNoResults": "Aucun résultat. Essayez une autre recherche.",
|
||
"errors": {
|
||
"notFound": "Cette demande n'existe plus.",
|
||
"forbidden": "Cette demande appartient à quelqu'un d'autre.",
|
||
"loadFailed": "Impossible de charger cette demande"
|
||
},
|
||
"entityName": "Demande"
|
||
},
|
||
"actions": {
|
||
"approve": "Approuver",
|
||
"approveAndNext": "Approuver et passer à la suivante",
|
||
"reject": "Rejeter",
|
||
"cancel": "Annuler la demande",
|
||
"cancelDownload": "Annuler le téléchargement",
|
||
"dismiss": "Masquer",
|
||
"restore": "Réafficher",
|
||
"delete": "Supprimer la demande",
|
||
"markFulfilled": "Marquer comme satisfaite",
|
||
"grab": "Trouver une release",
|
||
"goToBook": "Aller au livre",
|
||
"retryRelease": "Essayer une autre release",
|
||
"leave": "Quitter la demande"
|
||
},
|
||
"filters": {
|
||
"status": "Statut",
|
||
"anyStatus": "Tous les statuts",
|
||
"mediaKind": "Format",
|
||
"anyMediaKind": "Tous les formats",
|
||
"requester": "Demandeur",
|
||
"anyRequester": "Tous les demandeurs",
|
||
"showDismissed": "Afficher les demandes masquées",
|
||
"fulfilment": "Traitement",
|
||
"anyFulfilment": "Tous les traitements",
|
||
"selfServeOnly": "En libre-service",
|
||
"approvedOnly": "Passée par une approbation"
|
||
},
|
||
"list": {
|
||
"loading": "Chargement des demandes...",
|
||
"emptyMine": "Vous n'avez encore demandé aucun livre.",
|
||
"emptyAll": "Aucune demande de livre pour l'instant.",
|
||
"pagination": "Pages de demandes",
|
||
"pageOf": "Page {page} sur {total}",
|
||
"emptyHint": "Cherchez un livre et il apparaîtra ici une fois que vous l'aurez demandé."
|
||
},
|
||
"toasts": {
|
||
"approved": "Demande approuvée",
|
||
"rejected": "Demande rejetée",
|
||
"cancelled": "Demande annulée",
|
||
"downloadCancelled": "Téléchargement annulé",
|
||
"dismissed": "Masquée de votre liste",
|
||
"restored": "De retour dans votre liste",
|
||
"deleted": "Demande supprimée",
|
||
"fulfilled": "Demande marquée comme satisfaite",
|
||
"grabbed": "Téléchargement démarré",
|
||
"downloadRemoved": "Retiré du client de téléchargement",
|
||
"bulkApproved": "{count, plural, one {# demande approuvée} other {# demandes approuvées} many {# demandes approuvées}}",
|
||
"bulkApprovedPartial": "{done} approuvées, {failed} en échec",
|
||
"bulkDismissed": "{count, plural, one {# demande masquée} other {# demandes masquées} many {# demandes masquées}}",
|
||
"bulkDismissedPartial": "{done} masquées, {failed} en échec",
|
||
"unitChosen": "Import du livre que vous avez choisi",
|
||
"languageChanged": "Langue de la demande mise à jour",
|
||
"left": "Vous avez quitté cette demande",
|
||
"bulkRejected": "{count, plural, one {# demande rejetée} other {# demandes rejetées} many {# demandes rejetées}}",
|
||
"bulkRejectedPartial": "{done} rejetées, {failed} en échec",
|
||
"importDiscarded": "Le fichier importé a été écarté"
|
||
},
|
||
"errors": {
|
||
"loadFailed": "Impossible de charger les demandes",
|
||
"approveFailed": "Impossible d'approuver cette demande",
|
||
"rejectFailed": "Impossible de rejeter cette demande",
|
||
"cancelFailed": "Impossible d'annuler cette demande",
|
||
"cancelDownloadFailed": "Impossible d'annuler ce téléchargement",
|
||
"dismissFailed": "Impossible de masquer cette demande",
|
||
"restoreFailed": "Impossible de réafficher cette demande",
|
||
"deleteFailed": "Impossible de supprimer cette demande",
|
||
"fulfilFailed": "Impossible de clôturer cette demande",
|
||
"grabFailed": "Impossible de démarrer ce téléchargement",
|
||
"removeDownloadFailed": "Impossible de retirer ce torrent du client de téléchargement",
|
||
"bulkApproveFailed": "Impossible d'approuver les demandes sélectionnées",
|
||
"bulkDismissFailed": "Impossible de masquer les demandes sélectionnées",
|
||
"selectUnitFailed": "Ce livre n'a pas pu être importé.",
|
||
"languageChangeFailed": "Impossible de changer la langue de la demande",
|
||
"leaveFailed": "Cette demande n'a pas pu être quittée",
|
||
"bulkRejectFailed": "Cette sélection n'a pas pu être rejetée",
|
||
"discardImportFailed": "Cet import n'a pas pu être écarté"
|
||
},
|
||
"grab": {
|
||
"title": "Envoyer à un client de téléchargement",
|
||
"subtitle": "Collez un lien magnet ou envoyez un fichier .torrent pour « {title} ».",
|
||
"singleFileNote": "Une release peut être un livre en plusieurs formats, un livre audio en plusieurs parties ou une archive - tout cela s'importe comme un seul livre. Une release contenant plusieurs livres distincts vous demande lequel garder.",
|
||
"magnet": "Lien magnet",
|
||
"torrentFile": "Fichier .torrent",
|
||
"client": "Client de téléchargement",
|
||
"submit": "Envoyer",
|
||
"errors": {
|
||
"pickOne": "Fournissez soit un lien magnet, soit un fichier .torrent, mais pas les deux",
|
||
"fileTooLarge": "Ce fichier dépasse {limit} : ce n'est donc pas un fichier .torrent",
|
||
"fileUnreadable": "Ce fichier n'a pas pu être lu"
|
||
},
|
||
"noClientList": "BookOrbit utilisera son client de téléchargement actif de plus haute priorité."
|
||
},
|
||
"attempts": {
|
||
"title": "Tentatives précédentes",
|
||
"loading": "Chargement des tentatives précédentes...",
|
||
"loadFailed": "Impossible de charger les tentatives précédentes",
|
||
"refused": "Refusée, rien téléchargé",
|
||
"handPicked": "Envoyée à la main"
|
||
},
|
||
"download": {
|
||
"source": {
|
||
"automatic": "Récupérée automatiquement",
|
||
"manual": "Choisie par un approbateur",
|
||
"pasted": "Collée à la main"
|
||
},
|
||
"transferred": "{done} sur {total}",
|
||
"transferredUnknown": "{done} téléchargés",
|
||
"progressLabel": "Progression du téléchargement de {title}",
|
||
"status": {
|
||
"queued": "En file d'attente de téléchargement",
|
||
"downloading": "Téléchargement en cours",
|
||
"completed": "Téléchargement terminé",
|
||
"importing": "Import dans votre bibliothèque",
|
||
"needs_review": "En attente de vérification dans le Book Dock",
|
||
"imported": "Ajouté à votre bibliothèque",
|
||
"failed": "Échec du téléchargement"
|
||
}
|
||
},
|
||
"releases": {
|
||
"title": "Choisir une release",
|
||
"retryTitle": "Essayer une autre release",
|
||
"subtitle": "Classées sur l'ensemble des indexeurs actifs.",
|
||
"summaryCount": "{count, plural, one {# release} other {# releases} many {# releases}}",
|
||
"allFreeleech": "toutes en freeleech",
|
||
"allLanguage": "toutes en {language}",
|
||
"allFormat": "toutes en {format}",
|
||
"allIndexer": "toutes depuis {name}",
|
||
"criteria": {
|
||
"label": "Recherche active",
|
||
"searched": "Recherché",
|
||
"searchedTitleAuthor": "Titre et auteur recherchés",
|
||
"nothingFound": "Rien trouvé pour {key}",
|
||
"changeSearch": "Modifier la recherche",
|
||
"closeSearch": "Fermer",
|
||
"sources": "Sources",
|
||
"sourceSearchedIsbn": "a cherché l'ISBN",
|
||
"sourceSearchedTitleAuthor": "a cherché le titre et l'auteur",
|
||
"sourceNoAdapter": "aucun adaptateur correspondant",
|
||
"sourceReleases": "{count, plural, one {# release} other {# releases} many {# releases}}",
|
||
"sourceNone": "aucun résultat",
|
||
"sourceFiltered": "{count} écartées",
|
||
"sourcesSearched": "{count, plural, one {# source interrogée} other {# sources interrogées} many {# sources interrogées}}",
|
||
"showEachSource": "Afficher le détail",
|
||
"uncovered": "{count, plural, one {# source active ne propose pas} other {# sources actives ne proposent pas} many {# sources actives ne proposent pas}} ce type de livre",
|
||
"fixSource": "Corriger dans les paramètres",
|
||
"searchInstead": "Chercher plutôt ceci",
|
||
"keyTried": "essayé, rien trouvé",
|
||
"keyTriedCount": "essayé, {count, plural, one {# release} other {# releases} many {# releases}}",
|
||
"searchWithoutIsbn": "Titre et auteur",
|
||
"customIsbnSource": "ISBN personnalisé",
|
||
"filteredLocally": "Filtré localement :",
|
||
"title": "Titre",
|
||
"author": "Auteur",
|
||
"additionalAuthors": "Auteurs supplémentaires",
|
||
"isbn10": "ISBN-10",
|
||
"isbn13": "ISBN-13",
|
||
"isbns": "ISBN",
|
||
"mediaKind": "Support",
|
||
"language": "Langue",
|
||
"formats": "Formats préférés",
|
||
"editFields": "Modifier les champs",
|
||
"closeEditor": "Fermer l'éditeur",
|
||
"authorsEditor": "Auteurs, un par ligne",
|
||
"authorsPlaceholder": "Un auteur par ligne",
|
||
"authorsInvalid": "Pas plus de 50 auteurs, et 255 caractères au maximum par auteur.",
|
||
"languagePlaceholder": "Toutes les langues",
|
||
"formatsPlaceholder": "epub, azw3",
|
||
"formatsInvalid": "Pas plus de 20 formats, et 20 caractères au maximum par format.",
|
||
"isbnSelection": "Méthode de recherche",
|
||
"isbnSelectionHint": "Choisissez un ISBN, le titre et l'auteur, ou ajoutez un ISBN personnalisé.",
|
||
"noIsbnSelected": "Titre et auteur, sans ISBN",
|
||
"customIsbn": "ISBN personnalisé",
|
||
"customIsbnPlaceholder": "ISBN-10 ou ISBN-13",
|
||
"addIsbn": "Ajouter un ISBN",
|
||
"invalidIsbn": "{isbn} n'est pas un ISBN-10 ni un ISBN-13 valide.",
|
||
"titleRequired": "Saisissez un titre à chercher.",
|
||
"fixedMedia": "Le support reste {media} car il détermine les sources compatibles et le mode de traitement.",
|
||
"useRequestFields": "Reprendre les champs de la demande",
|
||
"runSearch": "Chercher avec ces champs"
|
||
},
|
||
"previousFailure": "La dernière tentative a échoué : {reason}",
|
||
"refused": {
|
||
"sourceRefused": "Cette source a refusé une release précédente",
|
||
"sourceUnavailable": "Cette source n'a pas répondu",
|
||
"vipRequired": "Nécessite un compte VIP sur cette source",
|
||
"clientRefused": "Votre client de téléchargement a refusé une release précédente",
|
||
"clientUnavailable": "Votre client de téléchargement n'a pas répondu pour une release précédente"
|
||
},
|
||
"singleFileNote": "Une release peut être un livre en plusieurs formats, un livre audio en plusieurs parties ou une archive - tout cela s'importe comme un seul livre. Une release contenant plusieurs livres distincts vous demande lequel garder.",
|
||
"searching": "Interrogation des indexeurs...",
|
||
"refresh": "Chercher à nouveau",
|
||
"cached": "Affichage de la dernière recherche. Relancez-la pour des résultats frais.",
|
||
"sortBy": "Trier par",
|
||
"sort": {
|
||
"score": "Meilleure correspondance",
|
||
"seeders": "Seeders",
|
||
"size": "Taille",
|
||
"bitrate": "Débit",
|
||
"added": "Date d'ajout"
|
||
},
|
||
"freeleechOnly": "Freeleech uniquement ({count})",
|
||
"clearFilters": "Effacer les filtres",
|
||
"filteredEmpty": "Aucune release ne correspond à ces filtres.",
|
||
"grab": "Télécharger la release",
|
||
"viewFiles": "Voir les fichiers",
|
||
"hideFiles": "Masquer les fichiers",
|
||
"viewDetails": "À propos du contenu",
|
||
"hideDetails": "Masquer les détails",
|
||
"inspectingFiles": "Lecture de la liste des fichiers de la release...",
|
||
"inspectingNzb": "Récupération et validation du NZB...",
|
||
"inspectingShort": "Vérification des fichiers...",
|
||
"inspectionFailed": "La liste des fichiers de cette release n'a pas pu être lue.",
|
||
"manifest": {
|
||
"ready": "{count, plural, one {Cette release contient # fichier. Le fichier de livre pris en charge peut être importé.} other {Cette release contient # fichiers. Le fichier de livre pris en charge peut être importé.} many {Cette release contient # fichiers. Le fichier de livre pris en charge peut être importé.}}",
|
||
"noSupported": "Cette release ne contient aucun fichier de livre directement pris en charge : elle ne peut donc pas être envoyée.",
|
||
"contentsUnknown": "Cette release est empaquetée dans une archive (RAR, ZIP ou 7z). BookOrbit l'extraira après le téléchargement, son contenu n'est donc pas encore connu.",
|
||
"multipleBooks": "Cette release contient {count} livres distincts. Une fois téléchargée, il vous sera demandé lequel importer.",
|
||
"multiPartBook": "{count, plural, one {Cette release est un seul livre composé de # fichier.} other {Cette release est un seul livre composé de # fichiers, importés ensemble comme un livre unique.} many {Cette release est un seul livre composé de # fichiers, importés ensemble comme un livre unique.}}",
|
||
"metadataUnavailable": "C'est un lien magnet. Sa liste de fichiers reste indisponible tant qu'un client torrent n'a pas récupéré les métadonnées auprès de l'essaim.",
|
||
"usenetMetadataUnavailable": "Il s'agit d'une release Usenet. Sa liste de fichiers définitive reste indisponible tant que NZBGet ne l'a pas téléchargée et post-traitée.",
|
||
"bookFile": "Fichier de livre",
|
||
"extraFile": "Supplément",
|
||
"truncated": "Affichage de {shown} fichiers sur {total}.",
|
||
"untitledUnit": "Sans titre",
|
||
"unitFiles": "{count, plural, one {# fichier} other {# fichiers} many {# fichiers}}",
|
||
"unitsTruncated": "Affichage de {shown} livres sur {total}.",
|
||
"ignored": "{count, plural, one {# fichier d'exemple ou de remplissage ignoré.} other {# fichiers d'exemple et de remplissage ignorés.} many {# fichiers d'exemple et de remplissage ignorés.}}",
|
||
"mediaKind": {
|
||
"ebook": "Ebook",
|
||
"audiobook": "Livre audio",
|
||
"comic": "Bande dessinée"
|
||
}
|
||
},
|
||
"manual": "Coller un lien à la place",
|
||
"manualTorrent": "Utiliser plutôt un magnet ou un .torrent",
|
||
"indexer": "Indexeur",
|
||
"size": "Taille",
|
||
"seeders": "Seeders",
|
||
"language": "Langue",
|
||
"seederCountPlural": "{count, plural, one {# seeder} other {# seeders} many {# seeders}}",
|
||
"seederCountUnknown": "Seeders inconnus",
|
||
"format": "Format",
|
||
"files": "Fichiers",
|
||
"fileLayout": {
|
||
"single": "Un seul fichier de livre",
|
||
"multi": "Plusieurs fichiers"
|
||
},
|
||
"fileCount": "{count, plural, one {# fichier} other {# fichiers} many {# fichiers}}",
|
||
"audio": "Audio",
|
||
"bitrateAtLeast": "{rate}k+",
|
||
"channels": {
|
||
"mono": "Mono",
|
||
"stereo": "Stéréo"
|
||
},
|
||
"chapterCountPlural": "{count, plural, one {# chapitre} other {# chapitres} many {# chapitres}}",
|
||
"durationHm": "{hours} h {minutes} min",
|
||
"durationM": "{minutes} min",
|
||
"freeleech": "Freeleech",
|
||
"vipOnly": "VIP uniquement",
|
||
"hideVipOnly": "Masquer les releases VIP uniquement",
|
||
"noneMatchedProfile": "Aucune release ici ne correspond à votre profil pour ce support : aucune ne sera donc téléchargée automatiquement. Vous pouvez toujours en envoyer une à la main. Pour élargir, ajoutez sous les vôtres un palier avec moins de conditions.",
|
||
"profileMismatch": {
|
||
"summary": "{count, plural, one {# release a été trouvée, mais le téléchargement automatique l'ignorera, car elle ne correspond à aucun palier du profil {medium}.} many {# releases ont été trouvées, mais le téléchargement automatique les ignorera, car aucune ne correspond à un palier du profil {medium}.} other {# releases ont été trouvées, mais le téléchargement automatique les ignorera, car aucune ne correspond à un palier du profil {medium}.}} Le score de correspondance et les règles du profil sont des vérifications distinctes. Vous pouvez toujours cliquer sur Envoyer.",
|
||
"review": "Vérifier le profil {medium}",
|
||
"row": "Le téléchargement automatique l'ignorera. Palier le plus proche : {tier}. {reasons}",
|
||
"failures": {
|
||
"formatUnknown": "{source} n'a pas indiqué de format ; ce palier exige {expected}.",
|
||
"format": "Le format est {actual} ; ce palier exige {expected}.",
|
||
"fileLayoutUnknown": "{source} n'a pas indiqué de nombre de fichiers ; ce palier exige {expected}.",
|
||
"fileLayout": "Organisation des fichiers : {actual} ; ce palier exige {expected}.",
|
||
"bitrate": "Le débit est de {actual} kbit/s ; ce palier exige au moins {expected} kbit/s.",
|
||
"channels": "L'audio est en {actual} ; ce palier exige {expected}.",
|
||
"languageUnknown": "{source} n'a pas indiqué de langue ; ce palier exige {expected}.",
|
||
"language": "La langue est {actual} ; ce palier exige {expected}.",
|
||
"source": "Cette source n'est pas incluse dans le palier.",
|
||
"seeders": "Cette release a {actual} seeders ; ce palier en exige au moins {expected}.",
|
||
"sizeUnknown": "{source} n'a pas indiqué de taille ; ce palier autorise jusqu'à {expected}.",
|
||
"size": "La taille est de {actual} ; ce palier autorise jusqu'à {expected}.",
|
||
"freeleech": "Ce palier exige le freeleech.",
|
||
"vipOnly": "Ce palier exclut les releases réservées aux VIP."
|
||
}
|
||
},
|
||
"alreadyGrabbed": "Déjà récupérée",
|
||
"freeleechLabel": "Freeleech",
|
||
"published": "Publiée",
|
||
"scoreLabel": "Score de correspondance : {score} sur 100",
|
||
"scoreBreakdown": "Comment cette release a été notée",
|
||
"whyThisScore": "Pourquoi ce score",
|
||
"failures": {
|
||
"unauthorized": "connexion expirée",
|
||
"throttled": "limite de débit atteinte",
|
||
"timeout": "délai dépassé",
|
||
"unreachable": "injoignable",
|
||
"unsupportedMedium": "ne propose pas ce type de livre",
|
||
"error": "recherche en échec"
|
||
},
|
||
"reasons": {
|
||
"isbnMatch": "ISBN correspondant",
|
||
"titleMatch": "Titre correspondant",
|
||
"authorMatch": "Titre et auteur correspondants",
|
||
"preferredFormat": "Format préféré {detail}",
|
||
"knownFormat": "Format {detail}",
|
||
"unknownFormat": "Format non précisé",
|
||
"expectedSize": "Taille plausible",
|
||
"suspiciousSize": "Taille improbable {detail}",
|
||
"seeders": "{detail} seeders",
|
||
"freeleech": "Freeleech",
|
||
"likelySeveralBooks": "{detail} fichiers, peut-être plusieurs livres"
|
||
},
|
||
"errors": {
|
||
"loadFailed": "Impossible de chercher des releases"
|
||
},
|
||
"backToRequest": "Retour à la demande",
|
||
"bestMatch": "Meilleure correspondance",
|
||
"flags": "Marqueurs",
|
||
"score": "Score",
|
||
"release": "Release",
|
||
"send": "Envoyer",
|
||
"tableCaption": "Toutes les autres releases, classées",
|
||
"onlyBestMatch": "C'est la seule release qui a correspondu.",
|
||
"tiedWithBest": "{count, plural, one {# autre release a obtenu le même score} other {# autres releases ont obtenu le même score} many {# autres releases ont obtenu le même score}}",
|
||
"inspectionFailedHint": "Elle n'a pas été envoyée à un client de téléchargement. Réessayez, ou utilisez « Coller un lien à la place ».",
|
||
"inspectionFailedHintGeneric": "Elle n'a pas été envoyée à un client de téléchargement. Réessayez, ou choisissez une autre release.",
|
||
"mediumUncovered": "Aucune source ne propose ce type de livre.",
|
||
"mediumUncoveredHint": "Aucun de vos indexeurs actifs ne le couvre. Ajoutez-en un qui le fasse, ou collez un lien vous-même.",
|
||
"noSourcesConfigured": "Aucune source de recherche n'est encore configurée.",
|
||
"noSourcesEnabled": "Toutes les sources de recherche sont désactivées.",
|
||
"noSourcesConfiguredHint": "Rien n'a été cherché. Ajoutez un indexeur ou installez un plugin de source, ou collez vous-même le lien d'une release.",
|
||
"noSourcesEnabledHint": "Rien n'a été cherché. Réactivez-en une, ou collez vous-même le lien d'une release.",
|
||
"noSourcesAskAdmin": "Rien n'a été cherché. Demandez à un administrateur de configurer une source de recherche, ou collez vous-même le lien d'une release.",
|
||
"addSource": "Ajouter une source",
|
||
"reviewSources": "Revoir les sources",
|
||
"protocol": {
|
||
"torrent": "Torrent",
|
||
"usenet": "Usenet",
|
||
"direct": "Téléchargement direct",
|
||
"directPill": "Direct"
|
||
}
|
||
},
|
||
"seed": {
|
||
"title": "Client de téléchargement",
|
||
"automated": "BookOrbit a choisi cette release automatiquement.",
|
||
"loading": "Lecture du client de téléchargement...",
|
||
"loadFailed": "Impossible de joindre le client de téléchargement pour cette demande.",
|
||
"notInClient": "Le client de téléchargement n'a plus ce torrent.",
|
||
"state": "Statut",
|
||
"seeding": "En partage",
|
||
"stopped": "Arrêté",
|
||
"client": "Client",
|
||
"ratio": "Ratio",
|
||
"time": "Temps de partage",
|
||
"uploaded": "Envoyé",
|
||
"hours": "{value} h",
|
||
"ofGoal": "{value} sur {goal}",
|
||
"deleteFiles": "Supprimer aussi les fichiers téléchargés",
|
||
"remove": "Retirer du client",
|
||
"removeHint": "BookOrbit n'arrête jamais un partage de lui-même. Le livre importé reste dans votre bibliothèque dans les deux cas.",
|
||
"confirm": {
|
||
"title": "Retirer ce torrent ?",
|
||
"description": "Le torrent cesse d'être partagé. Les fichiers téléchargés restent sur le disque.",
|
||
"descriptionWithFiles": "Le torrent cesse d'être partagé et ses fichiers téléchargés sont supprimés. Le livre importé reste dans votre bibliothèque."
|
||
}
|
||
},
|
||
"pipeline": {
|
||
"label": "Progression",
|
||
"steps": {
|
||
"asked": "Demandé",
|
||
"approved": "Approuvé",
|
||
"release": "Release trouvée",
|
||
"downloading": "Téléchargement",
|
||
"filed": "Classé"
|
||
},
|
||
"summary": {
|
||
"waiting": "En attente à l'étape : {step}",
|
||
"progress": "En cours à l'étape : {step}",
|
||
"done": "Classé dans votre bibliothèque",
|
||
"failed": "Arrêté par un échec à l'étape : {step}",
|
||
"stopped": "Arrêté à l'étape : {step}"
|
||
}
|
||
},
|
||
"density": {
|
||
"label": "Densité de la liste",
|
||
"comfortable": "Confortable",
|
||
"compact": "Compacte"
|
||
},
|
||
"drawer": {
|
||
"label": "Détail de la demande",
|
||
"description": "La demande, l'étape qu'elle a atteinte et les décisions qui restent ouvertes dessus.",
|
||
"previous": "Demande précédente",
|
||
"next": "Demande suivante",
|
||
"position": "{position} sur {total}",
|
||
"shortcuts": "J / K pour naviguer, A pour approuver, Échap pour fermer"
|
||
},
|
||
"table": {
|
||
"caption": "Demandes de livres, avec l'étape atteinte par chacune",
|
||
"cover": "Couverture",
|
||
"title": "Titre",
|
||
"mediaKind": "Format",
|
||
"requestedBy": "Demandé par",
|
||
"age": "Ancienneté",
|
||
"state": "État",
|
||
"outcome": "Issue",
|
||
"actions": "Actions",
|
||
"selectAll": "Sélectionner toutes les demandes en attente d'approbation",
|
||
"selectRow": "Sélectionner {title}",
|
||
"toggleDetail": "Afficher ce qui est arrivé à {title}",
|
||
"release": "Release",
|
||
"decidedBy": "Tranchée par",
|
||
"decisionNote": "Note de décision",
|
||
"requestNote": "Note de la demande",
|
||
"openDetail": "Ouvrir le détail complet"
|
||
},
|
||
"confirm": {
|
||
"cancelDownloadTitle": "Annuler ce téléchargement ?",
|
||
"cancelDownloadDescription": "Le transfert en cours s'arrête et la demande reste ouverte pour qu'une autre release puisse être choisie. Les données du torrent sont conservées ; les fichiers partiels d'un téléchargement direct sont supprimés.",
|
||
"cancelTitle": "Arrêter cette demande ?",
|
||
"cancelDescription": "Elle passe à l'état annulée. Personne parmi ceux qui l'attendent n'obtiendra le livre.",
|
||
"cancelDescriptionWithDownload": "Le transfert en cours est arrêté. Les données présentes dans le client de téléchargement sont conservées ; les fichiers partiels d'un téléchargement direct sont supprimés.",
|
||
"deleteTitle": "Supprimer cette demande ?",
|
||
"deleteDescription": "La demande et la trace de qui l'a faite disparaissent définitivement, pour tout le monde. Tout torrent encore en partage est retiré du client de téléchargement, ses fichiers étant conservés. Les fichiers temporaires d'un téléchargement direct sont nettoyés automatiquement. Masquer la demande, au contraire, ne fait que la retirer de votre propre liste.",
|
||
"discardImportTitle": "Écarter cet import ?",
|
||
"discardImportDescription": "Les fichiers téléchargés sont retirés du Book Dock et la demande est marquée en échec. Le torrent continue d'être partagé ; arrêtez-le séparément si vous voulez vous en débarrasser.",
|
||
"leaveTitle": "Quitter cette demande ?",
|
||
"leaveDescription": "Vous cessez de la suivre et de recevoir des notifications à son sujet. La personne qui l'a faite conserve sa demande.",
|
||
"rejectDescription": "Toutes les personnes qui attendent ces demandes sont informées de leur rejet. Rien n'est téléchargé."
|
||
},
|
||
"outcome": {
|
||
"filedIn": "Classé dans {library} {time}",
|
||
"filed": "Classé {time}",
|
||
"rejected": "Rejetée {time}",
|
||
"cancelled": "Annulée {time}",
|
||
"awaitingApproval": "En attente d'approbation",
|
||
"awaitingReview": "En attente d'une vérification manuelle",
|
||
"failedUnknown": "Arrêtée sans motif de la part de l'indexeur",
|
||
"atStage": {
|
||
"asked": "Tout juste demandée",
|
||
"approved": "Approuvée, pas encore recherchée",
|
||
"release": "Recherche d'une release",
|
||
"downloading": "Téléchargement de la release",
|
||
"filed": "Classement dans la bibliothèque"
|
||
}
|
||
},
|
||
"handback": {
|
||
"AUTOMATION_DISABLED": "La récupération automatique est désactivée : celle-ci a besoin d'une release choisie à la main",
|
||
"NO_DESTINATION": "Cette demande n'a pas de bibliothèque de destination : il n'y a nulle part où classer le livre",
|
||
"ATTEMPT_LIMIT": "Le traitement automatique a abandonné après {attempts} tentatives",
|
||
"SEARCH_FAILED": "Impossible de chercher une release : {detail}",
|
||
"NO_SOURCES_CONFIGURED": "Aucune source de recherche n'est configurée : rien n'a été cherché pour cette demande",
|
||
"NO_SOURCES_ENABLED": "Toutes les sources de recherche sont désactivées : rien n'a été cherché pour cette demande",
|
||
"MEDIUM_UNCOVERED": "Aucune source de recherche active ne propose ce type de livre : rien n'a été cherché pour cette demande",
|
||
"PROFILE_EXCLUDED_ALL": "Aucune release ne correspond au profil de ce support : celle-ci a besoin d'une release choisie à la main",
|
||
"ALL_TRIED": "Toutes les releases assez bonnes pour être récupérées ont déjà été essayées : celle-ci a besoin d'une release choisie à la main",
|
||
"BELOW_SCORE_FLOOR": "Aucune release n'a atteint un score de {floor} ou plus : celle-ci a besoin d'une release choisie à la main",
|
||
"ALL_BLOCKED": "Toutes les releases assez bonnes pour être récupérées ont été écartées par un échec antérieur : celle-ci a besoin d'une release choisie à la main",
|
||
"ABANDONED": "Aucune release n'a été choisie : ce téléchargement n'a pas été démarré"
|
||
},
|
||
"submitError": {
|
||
"SUBMIT_TITLE_REQUIRED": "Donnez un titre au livre avant de le demander",
|
||
"SUBMIT_SELF_FULFIL_FORBIDDEN": "Satisfaire vos propres demandes ne vous est pas permis",
|
||
"SUBMIT_LIBRARY_FORBIDDEN": "Vous n'avez pas accès à cette bibliothèque",
|
||
"SUBMIT_FOLDER_NEEDS_LIBRARY": "Choisissez une bibliothèque de destination avant de choisir un dossier",
|
||
"SUBMIT_FOLDER_NOT_IN_LIBRARY": "Ce dossier ne fait pas partie de la bibliothèque de destination",
|
||
"SUBMIT_DEFAULT_LIBRARY_UNREACHABLE": "Choisissez une bibliothèque de destination à laquelle vous avez accès : celle par défaut de cette instance n'en fait pas partie",
|
||
"SUBMIT_DESTINATION_REQUIRED": "Vos demandes sont approuvées dès que vous les faites : choisissez la bibliothèque où le livre doit atterrir",
|
||
"SUBMIT_SELF_SERVE_LIMIT": "Terminez ou annulez d'abord quelques téléchargements : vous pouvez en avoir {limit} en cours à la fois",
|
||
"SUBMIT_ON_BEHALF_FORBIDDEN": "Demander des livres pour d'autres personnes ne vous est pas permis",
|
||
"SUBMIT_ON_BEHALF_UNKNOWN_USER": "Aucune demande de livre ne peut être faite pour ce compte"
|
||
},
|
||
"actionError": {
|
||
"BOOK_REQUEST_NOT_PENDING": "Seule une demande en attente accepte cette action ; celle-ci est actuellement : {status}",
|
||
"BOOK_REQUEST_NOT_CANCELLABLE": "Une demande dont le statut est {status} ne peut plus être annulée",
|
||
"BOOK_REQUEST_DESTINATION_REQUIRED": "Choisissez une bibliothèque de destination avant d'approuver cette demande",
|
||
"BOOK_REQUEST_ACTION_FORBIDDEN": "Cette action sur la demande ne vous est pas permise : {action}",
|
||
"BOOK_REQUEST_STALE_TRANSITION": "Cette demande a changé pendant l'application de l'action. Son statut est maintenant : {status}."
|
||
},
|
||
"bulk": {
|
||
"selected": "{count, plural, one {# demande sélectionnée} other {# demandes sélectionnées} many {# demandes sélectionnées}}",
|
||
"approveSelected": "{count, plural, one {Approuver # demande} other {Approuver les #} many {Approuver les #}}",
|
||
"clear": "Effacer",
|
||
"dismissSelected": "{count, plural, one {Masquer # demande} other {Masquer les #} many {Masquer les #}}",
|
||
"rejectSelected": "{count, plural, one {Rejeter # demande} other {Rejeter les #} many {Rejeter les #}}",
|
||
"rejectNoteLabel": "Motif (facultatif)",
|
||
"rejectNotePlaceholder": "Pourquoi elles sont refusées",
|
||
"rejectTitle": "Rejeter {count, plural, one {# demande} other {# demandes} many {# demandes}} ?",
|
||
"rejectConfirm": "Rejeter"
|
||
},
|
||
"chooser": {
|
||
"title": "Choisir le livre à importer",
|
||
"hint": "Cette release contenait finalement {count} livres distincts. Le téléchargement est terminé ; choisissez celui qui avait été demandé, les autres seront laissés de côté.",
|
||
"untitled": "Sans titre",
|
||
"files": "{count, plural, one {# fichier} other {# fichiers} many {# fichiers}}",
|
||
"import": "Importer ce livre",
|
||
"mediaKind": {
|
||
"ebook": "Ebook",
|
||
"audiobook": "Livre audio",
|
||
"comic": "Bande dessinée"
|
||
}
|
||
},
|
||
"review": {
|
||
"title": "Pourquoi c'est en attente",
|
||
"scoreShort": "Le fichier importé a obtenu un score de {score} face à cette demande, sous les {threshold} nécessaires pour le classer automatiquement.",
|
||
"scoreClears": "Le fichier importé a obtenu un score de {score}, qui atteint les {threshold} nécessaires pour le classer automatiquement.",
|
||
"verificationOff": "La vérification des imports est inactive : ce fichier n'a donc jamais été noté face à la demande.",
|
||
"reason": {
|
||
"isbn_match": "Son ISBN est celui qui avait été demandé.",
|
||
"above_threshold": "Il ressemble au livre qui avait été demandé.",
|
||
"below_threshold": "Vérifiez les champs ci-dessous et décidez s'il s'agit du bon livre.",
|
||
"author_mismatch": "Le titre est proche, mais l'auteur est quelqu'un d'autre.",
|
||
"no_title": "Le fichier ne porte aucun titre lisible : il n'y avait donc rien à comparer."
|
||
},
|
||
"field": {
|
||
"title": "Titre",
|
||
"authors": "Auteur",
|
||
"isbn13": "ISBN"
|
||
},
|
||
"verdict": {
|
||
"match": "Correspond",
|
||
"mismatch": "Ne correspond pas",
|
||
"unknown": "Non comparé"
|
||
},
|
||
"requested": "Demandé",
|
||
"imported": "Importé",
|
||
"absent": "Ni la demande ni le fichier n'en portent.",
|
||
"notSet": "Non renseigné",
|
||
"filesTitle": "Ce qui est arrivé",
|
||
"fileCount": "{count, plural, one {# fichier} other {# fichiers} many {# fichiers}}",
|
||
"role": {
|
||
"cover": "Couverture",
|
||
"metadata": "Métadonnées",
|
||
"supplement": "Supplément"
|
||
},
|
||
"fileAnyway": "Classer quand même",
|
||
"fileAnywayHint": "Classe ce fichier dans la bibliothèque de destination et marque la demande comme disponible, exactement comme l'aurait fait un score suffisant.",
|
||
"noDestination": "Cette demande n'a aucune bibliothèque de destination pourvue d'un dossier : il n'y a donc pas encore où classer le livre.",
|
||
"openDock": "Ouvrir le Book Dock",
|
||
"missingEntry": "Le fichier pour lequel cette demande était en attente n'est plus dans le Book Dock. Il a été classé ou écarté à la main : il ne reste donc rien à vérifier ici.",
|
||
"missingEntryNext": "Si le livre est déjà dans votre bibliothèque, clôturez cette demande dessus ci-dessous. Sinon, annulez la demande et cherchez une autre release.",
|
||
"filed": "Classé dans votre bibliothèque.",
|
||
"fileFailed": "Impossible de classer cet import",
|
||
"discard": "Écarter cet import",
|
||
"discardHint": "Utilisez ceci lorsque la release s'est révélée être le mauvais livre. Les fichiers sont retirés du Book Dock et la demande est marquée en échec."
|
||
},
|
||
"sources": {
|
||
"noneConfigured": "Aucune source de recherche n'est configurée.",
|
||
"allDisabled": "Toutes les sources de recherche sont désactivées.",
|
||
"noneConfiguredHint": "Les demandes peuvent être déposées, mais rien ne sera cherché pour elles tant que vous n'aurez pas ajouté un indexeur ou installé un plugin de source.",
|
||
"allDisabledHint": "Les demandes peuvent être déposées, mais rien ne sera cherché pour elles tant que vous n'en aurez pas réactivé une.",
|
||
"askAdmin": "Les demandes peuvent être déposées, mais rien ne sera cherché pour elles tant qu'un administrateur n'en aura pas configuré une.",
|
||
"addSource": "Ajouter une source",
|
||
"reviewSources": "Revoir les sources"
|
||
},
|
||
"selfServeBadge": "En libre-service",
|
||
"selfServeBadgeHint": "Téléchargé directement par le demandeur, sans étape d'approbation"
|
||
},
|
||
"collection": {
|
||
"visibleToAll": "Visible pour tous les utilisateurs",
|
||
"visibleToAllHint": "Tous les utilisateurs peuvent voir cette collection, mais vous seul pouvez modifier ses livres",
|
||
"dialog": {
|
||
"name": "Nom",
|
||
"icon": "Icône",
|
||
"iconPlaceholder": "Choisissez une icône...",
|
||
"nameRequired": "Le nom est requis",
|
||
"iconRequired": "Choisissez une icône",
|
||
"creating": "Création...",
|
||
"createFailed": "Échec de la création de la collection"
|
||
},
|
||
"createDialog": {
|
||
"title": "Nouvelle collection",
|
||
"podcastTitle": "Nouvelle collection de podcasts",
|
||
"namePlaceholder": "par ex. Favoris"
|
||
},
|
||
"editDialog": {
|
||
"title": "Modifier la collection",
|
||
"syncToKobo": "Synchroniser avec Kobo",
|
||
"syncToKoboHint": "Les livres de cette collection apparaîtront sur votre appareil Kobo",
|
||
"deleteCollection": "Supprimer la collection",
|
||
"confirmDelete": "Confirmer ?",
|
||
"deleting": "Suppression...",
|
||
"saving": "Sauvegarde...",
|
||
"deleted": "« {name} » supprimé",
|
||
"updateFailed": "Échec de la mise à jour de la collection",
|
||
"deleteFailed": "Échec de la suppression de la collection"
|
||
},
|
||
"addToSheet": {
|
||
"title": "Gérer les collections",
|
||
"selectedCount": "{count, plural, =0 {aucun livre sélectionné} one {un livre sélectionné} other {# livres sélectionnés} many {# livres sélectionnés}}",
|
||
"newCollection": "Nouvelle collection",
|
||
"namePlaceholder": "Nom de la collection",
|
||
"create": "Créer",
|
||
"collections": "Collections",
|
||
"empty": "Aucune collection pour l'instant. Créez-en une ci-dessus.",
|
||
"done": "Terminé",
|
||
"added": "Ajouté",
|
||
"allAdded": "Tous les {total} ajoutés",
|
||
"inCollection": "Dans cette collection",
|
||
"allInCollection": "Tous les {total} de cette collection",
|
||
"partialInCollection": "{partial} sur {total} dans cette collection",
|
||
"bookCount": "{count, plural, =0 {pas de livres} one {un livre} other {# livres} many {# livres}}",
|
||
"loadFailed": "Échec du chargement des collections",
|
||
"createdAndAdded": "{count, plural, =0 {« {name} » créée sans ajouter de livre} one {« {name} » créée et un livre ajouté} other {« {name} » créée et # livres ajoutés} many {« {name} » créée et # livres ajoutés}}",
|
||
"createdButAddFailed": "« {name} » a été créée, mais les livres n'ont pas pu être ajoutés",
|
||
"createFailed": "Échec de la création de la collection",
|
||
"addedNewWithExisting": "{count, plural, =0 {Un nouveau livre ajouté à « {name} » ({alreadyHad} déjà présent)} one {Un nouveau livre ajouté à « {name} » ({alreadyHad} déjà présent)} other {# nouveaux livres ajoutés à « {name} » ({alreadyHad} déjà présents)} many {# nouveaux livres ajoutés à « {name} » ({alreadyHad} déjà présents)}}",
|
||
"addedToCollection": "{count, plural, =0 {Aucun livre ajouté à « {name} »} one {Un livre ajouté à « {name} »} other {# livres ajoutés à « {name} »} many {# livres ajoutés à « {name} »}}",
|
||
"addFailed": "Échec de l'ajout à la collection",
|
||
"removedFromCollection": "{count, plural, =0 {Aucun livre retiré de « {name} »} one {Un livre retiré de « {name} »} other {# livres retirés de « {name} »} many {# livres retirés de « {name} »}}",
|
||
"removeFailed": "Échec de la suppression de la collection"
|
||
}
|
||
},
|
||
"components": {
|
||
"appHeader": {
|
||
"searchAllBooks": "Rechercher tous les livres...",
|
||
"searching": "Recherche...",
|
||
"noResults": "Aucun résultat",
|
||
"loadingMore": "Chargement plus...",
|
||
"loadMore": "Charger plus ({loaded}/{total})",
|
||
"allMatchesShown": "{count, plural, =0 {La correspondance est affichée} one {La correspondance est affichée} other {Les # correspondances sont affichées} many {Les # correspondances sont affichées}}",
|
||
"bookCount": "{count, plural, =0 {pas de livres} one {# livre} other {# livres} many {# livres}}",
|
||
"fileCount": "{count, plural, =0 {pas de fichiers} one {# fichier} other {# fichiers} many {# fichiers}}",
|
||
"uploadedToast": "{uploaded} envoyé",
|
||
"uploadFailedToast": "Échec de l'envoi pour {failed}",
|
||
"uploadPartialToast": "{uploaded} envoyé, {failed} a échoué",
|
||
"bookDock": "Book Dock",
|
||
"statistics": "Statistiques",
|
||
"achievements": "Succès",
|
||
"annotations": "Annotations",
|
||
"uploadBooks": "Envoyer des livres",
|
||
"appearance": "Apparence",
|
||
"appearanceDescription": "Choisissez les options de thème, de couleur d'accent, d'arrondi des angles, de surface et d'arrière-plan.",
|
||
"theme": "Thème",
|
||
"accent": "Accent",
|
||
"radius": "Rayon",
|
||
"background": "Contexte",
|
||
"settings": "Paramètres",
|
||
"whatsNew": "Quoi de neuf",
|
||
"documentation": "Documentation",
|
||
"help": "Aide",
|
||
"starOnGithub": "Mettez une étoile sur GitHub",
|
||
"new": "Nouveau",
|
||
"newReleaseNotes": "Nouvelles notes de version disponibles",
|
||
"account": "Compte",
|
||
"changePassword": "Changer le mot de passe",
|
||
"signOut": "Se déconnecter",
|
||
"githubStar": {
|
||
"title": "Vous appréciez BookOrbit ?",
|
||
"body": "Si BookOrbit vous aide avec votre bibliothèque, pensez à mettre le projet en vedette sur GitHub. Cela aide davantage de personnes à découvrir l'application et prend en charge le développement continu.",
|
||
"cta": "Mettez une étoile à BookOrbit sur GitHub"
|
||
},
|
||
"surfaceOpacity": "Opacité de la surface",
|
||
"surfaceOpacityValue": "{value} %",
|
||
"surfaceBrightnessValue": "{value} %"
|
||
},
|
||
"sidebar": {
|
||
"dashboard": "Tableau de bord",
|
||
"authors": "Auteurs",
|
||
"series": "Série",
|
||
"tools": "Outils",
|
||
"libraries": "Bibliothèques",
|
||
"newLibrary": "Nouvelle bibliothèque",
|
||
"scanProgress": "Livres {processed} / {total}",
|
||
"smartScopes": "Listes intelligentes",
|
||
"newSmartScope": "Nouvelle liste intelligente",
|
||
"noSmartScopes": "Aucune liste intelligente pour le moment",
|
||
"collections": "Collections",
|
||
"newCollection": "Nouvelle collection",
|
||
"noCollections": "Aucune collection pour l'instant",
|
||
"newReleaseNotes": "Nouvelles notes de version disponibles",
|
||
"requestBadge": {
|
||
"allActive": "{count, plural, one {# demande active, tous utilisateurs confondus} other {# demandes actives, tous utilisateurs confondus} many {# demandes actives, tous utilisateurs confondus}}",
|
||
"mineActive": "{count, plural, one {# de vos demandes est active} other {# de vos demandes sont actives} many {# de vos demandes sont actives}}"
|
||
},
|
||
"support": "Prise en charge de BookOrbit",
|
||
"supportAria": "Soutenez BookOrbit sur Ko-fi",
|
||
"appLinks": {
|
||
"ios": "Télécharger l'application iOS",
|
||
"android": "Application Android bientôt disponible"
|
||
},
|
||
"sectionHeader": {
|
||
"add": "Ajouter",
|
||
"showAll": "Tout afficher",
|
||
"showCount": "Afficher {count}",
|
||
"rowsShown": "Lignes affichées",
|
||
"menuAria": "Options de section pour {section}",
|
||
"reorder": "Réorganiser",
|
||
"doneReordering": "Réorganisation terminée"
|
||
},
|
||
"noLibraries": "Aucune bibliothèque pour l'instant",
|
||
"clearFilter": "Effacer le filtre",
|
||
"filterSummary": "{shown} sur {total} affichés",
|
||
"filterLibraries": "Filtrer les bibliothèques",
|
||
"filterLibrariesPlaceholder": "Filtrer les bibliothèques...",
|
||
"filterSmartScopes": "Filtrer les listes intelligentes",
|
||
"filterSmartScopesPlaceholder": "Filtrer les listes intelligentes...",
|
||
"filterCollections": "Filtrer les collections",
|
||
"filterCollectionsPlaceholder": "Filtrer les collections...",
|
||
"seeAllLibraries": "Voir toutes les bibliothèques ({count})",
|
||
"seeAllSmartScopes": "Voir toutes les listes intelligentes ({count})",
|
||
"seeAllCollections": "Voir toutes les collections ({count})",
|
||
"podcasts": "Podcasts",
|
||
"newPodcastLibrary": "Nouvelle bibliothèque de podcasts",
|
||
"noPodcastLibraries": "Aucune bibliothèque de podcasts pour l'instant",
|
||
"filterPodcastLibraries": "Filtrer les bibliothèques de podcasts",
|
||
"filterPodcastLibrariesPlaceholder": "Filtrer les bibliothèques de podcasts...",
|
||
"seeAllPodcastLibraries": "Voir toutes les bibliothèques de podcasts ({count})",
|
||
"podcastScopes": "Playlists intelligentes de podcasts",
|
||
"newPodcastScope": "Nouvelle playlist intelligente de podcasts",
|
||
"noPodcastScopes": "Aucune playlist intelligente de podcasts pour l'instant",
|
||
"filterPodcastScopes": "Filtrer les playlists intelligentes de podcasts",
|
||
"filterPodcastScopesPlaceholder": "Filtrer les playlists intelligentes de podcasts...",
|
||
"seeAllPodcastScopes": "Voir toutes les playlists intelligentes de podcasts ({count})",
|
||
"podcastCollections": "Collections de podcasts",
|
||
"newPodcastCollection": "Nouvelle collection de podcasts",
|
||
"noPodcastCollections": "Aucune collection de podcasts pour l'instant",
|
||
"filterPodcastCollections": "Filtrer les collections de podcasts",
|
||
"filterPodcastCollectionsPlaceholder": "Filtrer les collections de podcasts...",
|
||
"seeAllPodcastCollections": "Voir toutes les collections de podcasts ({count})",
|
||
"queue": "File d'attente",
|
||
"mode": {
|
||
"books": "Livres",
|
||
"podcasts": "Podcasts",
|
||
"switcherAria": "Basculer entre livres et podcasts"
|
||
},
|
||
"updateAvailable": "Mettre à jour {version}",
|
||
"updateTooltip": "Mise à jour {version} disponible",
|
||
"openUpdateRelease": "Ouvrir la version {version} sur GitHub",
|
||
"zones": {
|
||
"browse": "Parcourir"
|
||
},
|
||
"reorder": {
|
||
"gripAria": "Réorganiser {name}",
|
||
"lifted": "{name} soulevé, position {position} sur {total}. Utilisez les touches fléchées pour le déplacer.",
|
||
"moved": "{name}, position {position} sur {total}",
|
||
"dropped": "{name} déposé à la position {position} sur {total}",
|
||
"cancelled": "Réorganisation annulée. {name} est revenu à la position {position} sur {total}.",
|
||
"filteredHint": "Effacez le filtre pour réorganiser"
|
||
},
|
||
"podcastImportProgress": "{processed} / {total} fichiers",
|
||
"podcastImportCounting": "Comptage des fichiers...",
|
||
"playlists": "Playlists intelligentes",
|
||
"newPlaylist": "Nouvelle playlist intelligente",
|
||
"noPlaylists": "Aucune playlist intelligente pour l'instant",
|
||
"filterPlaylists": "Filtrer les playlists intelligentes",
|
||
"filterPlaylistsPlaceholder": "Filtrer les playlists intelligentes...",
|
||
"seeAllPlaylists": "Voir toutes les playlists intelligentes ({count})"
|
||
},
|
||
"selectionActionBar": {
|
||
"setReadingStatus": "Définir le statut de lecture",
|
||
"setRating": "Définir la note",
|
||
"openMetadataEditor": "Ouvrir l'éditeur de métadonnées",
|
||
"editIndividually": "Modifier des livres individuellement",
|
||
"addToCollection": "Ajouter à la collection",
|
||
"removeFromCollection": "Supprimer de la collection",
|
||
"sendViaEmail": "Envoyer par email",
|
||
"downloadFilesZip": "Télécharger des fichiers au format ZIP",
|
||
"moreActions": "Plus de propositions",
|
||
"setField": "Définir le champ",
|
||
"refreshMetadata": "Actualiser les métadonnées",
|
||
"reExtractCover": "Réextraire la couverture",
|
||
"metadataLock": "Verrouillage des métadonnées",
|
||
"lockAll": "Verrouiller tout",
|
||
"unlockAll": "Déverrouiller tout",
|
||
"exportMetadata": "Exporter les métadonnées",
|
||
"deleteSelected": "Supprimer la sélection",
|
||
"exitSelection": "Quitter la sélection",
|
||
"downloadFilesZipLabel": "Téléchargez des fichiers au format ZIP :",
|
||
"primaryOnly": "Principal uniquement",
|
||
"allFormats": "Tous les formats",
|
||
"audioOnly": "Audio uniquement",
|
||
"setRatingLabel": "Définir la note :",
|
||
"clear": "Effacer",
|
||
"setFieldLabel": "Définir le champ :",
|
||
"apply": "Appliquer",
|
||
"fieldPlaceholder": "Laisser vide pour effacer",
|
||
"fieldPlaceholderArray": "Séparés par des virgules (laisser vide pour effacer)",
|
||
"deleteConfirm": "{count, plural, =0 {Supprimer # livre ?} one {Supprimer # livre ?} other {Supprimer # des livres ?} many {Supprimer # des livres ?}}",
|
||
"typeDelete": "Tapez SUPPRIMER"
|
||
},
|
||
"viewHeader": {
|
||
"select": "Sélectionner",
|
||
"display": "Affichage",
|
||
"displayDescription": "Ajustez la taille de la couverture, l'espacement de la grille et affichez les options d'affichage.",
|
||
"columnVisibilityHint": "Utilisez le panneau de visibilité des colonnes dans l'en-tête du tableau pour afficher ou masquer les colonnes.",
|
||
"columnVisibilityMobileHint": "La visibilité des colonnes peut être gérée depuis l'en-tête du tableau.",
|
||
"searchPlaceholder": "Rechercher un titre, un auteur, une série, un narrateur...",
|
||
"clearSearch": "Effacer la recherche",
|
||
"closeSearch": "Fermer la recherche",
|
||
"mobileSearch": {
|
||
"description": "Recherchez des éléments par titre, auteur, série ou narrateur.",
|
||
"done": "Terminé"
|
||
},
|
||
"mobileMenu": {
|
||
"grid": "Grille",
|
||
"list": "Liste",
|
||
"select": "Sélectionner",
|
||
"exitSelect": "Quitter le mode de sélection"
|
||
},
|
||
"displayControls": {
|
||
"display": "Affichage",
|
||
"coverSize": "Taille de la couverture",
|
||
"gridGap": "Écart de grille",
|
||
"pixelValue": "{value} pixels",
|
||
"showJumpRails": "Afficher les rails de saut",
|
||
"columnsHint": "Utilisez le panneau de visibilité des colonnes dans l'en-tête du tableau pour afficher ou masquer les colonnes.",
|
||
"coverShape": "Forme de la couverture",
|
||
"circle": "Rond",
|
||
"square": "Carré",
|
||
"rowDensity": "Hauteur des lignes",
|
||
"densityCompact": "Compact",
|
||
"densityComfortable": "Confortable",
|
||
"densityRoomy": "Spacieux",
|
||
"coverFallback": "Utiliser les couvertures de livres à défaut de portrait"
|
||
},
|
||
"viewModes": {
|
||
"grid": "Vue en grille",
|
||
"list": "Vue en liste",
|
||
"table": "Vue en tableau"
|
||
}
|
||
},
|
||
"iconPicker": {
|
||
"clearSelectionAria": "Annuler la sélection",
|
||
"searchLucide": "Rechercher dans les icônes Lucide...",
|
||
"searchCustom": "Rechercher des icônes personnalisées...",
|
||
"chooseIcon": "Choisir une icône...",
|
||
"selectIcon": "Sélectionner l'icône",
|
||
"customTab": "Personnalisé",
|
||
"searching": "Recherche...",
|
||
"noIconsMatch": "Aucune icône ne correspond à « {query} »",
|
||
"typeToSearch": "Tapez pour rechercher toutes les icônes",
|
||
"noCustomIcons": "Aucune icône personnalisée envoyée",
|
||
"noIconsAvailable": "Aucune icône disponible"
|
||
},
|
||
"entityNotFound": {
|
||
"title": "{entity} introuvable",
|
||
"description": "Cet élément de type {entity} n'existe pas ou a été supprimé.",
|
||
"goBack": "Retourner"
|
||
},
|
||
"media": {
|
||
"volume": "Volume",
|
||
"mute": "Couper le son",
|
||
"unmute": "Rétablir le son"
|
||
},
|
||
"themePicker": {
|
||
"light": "Clair",
|
||
"dark": "Sombre",
|
||
"system": "Système"
|
||
},
|
||
"radiusPicker": {
|
||
"sharp": "Angles nets",
|
||
"default": "Angles par défaut",
|
||
"rounded": "Angles arrondis",
|
||
"pill": "Angles en forme de pilule"
|
||
},
|
||
"languagePicker": {
|
||
"searchPlaceholder": "Rechercher une langue",
|
||
"suggested": "Suggérées",
|
||
"all": "Toutes les langues",
|
||
"results": "Résultats",
|
||
"empty": "Aucune langue ne correspond à « {query} »"
|
||
},
|
||
"userAvatar": {
|
||
"profilePicture": "Photo de profil",
|
||
"profilePictureOf": "photo de profil {name}"
|
||
},
|
||
"ui": {
|
||
"sidebar": {
|
||
"title": "Barre latérale",
|
||
"mobileDescription": "Affiche la barre latérale mobile.",
|
||
"toggle": "Basculer la barre latérale",
|
||
"collapse": "Réduire la barre latérale",
|
||
"expand": "Développer la barre latérale",
|
||
"open": "Ouvrir la barre latérale",
|
||
"close": "Fermer la barre latérale"
|
||
},
|
||
"chipInput": {
|
||
"typeAndEnter": "Tapez et appuyez sur Entrée pour ajouter",
|
||
"pressEnter": "Appuyez sur Entrée pour ajouter",
|
||
"remove": "Supprimer {value}"
|
||
},
|
||
"tokenSelect": {
|
||
"remove": "Supprimer {value}",
|
||
"noMatches": "Aucun résultat",
|
||
"showOptions": "Afficher les options"
|
||
}
|
||
},
|
||
"entityIndex": {
|
||
"sortBy": "Trier par",
|
||
"sort": {
|
||
"custom": "Ordre personnalisé",
|
||
"name": "Nom",
|
||
"bookCount": "Nombre de livres",
|
||
"showCount": "Nombre d'émissions"
|
||
},
|
||
"ascending": "Ascendant",
|
||
"descending": "Décroissant",
|
||
"clearSearch": "Effacer la recherche",
|
||
"resultCount": "{shown} sur {total}",
|
||
"noMatches": "Aucun résultat",
|
||
"noMatchesHint": "Essayez un autre terme de recherche.",
|
||
"bookCount": "Livres : {count}",
|
||
"showCount": "Émissions : {count}",
|
||
"librariesEmptyHint": "Créez une bibliothèque pour commencer à ajouter des livres.",
|
||
"podcastLibrariesEmptyHint": "Créez une bibliothèque de podcasts pour commencer à suivre des émissions.",
|
||
"smartScopesEmptyHint": "Les listes intelligentes enregistrent un ensemble de filtres que vous utilisez souvent.",
|
||
"collectionsEmptyHint": "Les collections regroupent les livres que vous choisissez à la main."
|
||
},
|
||
"legalNotices": {
|
||
"about": "À propos de BookOrbit",
|
||
"trigger": "Mentions légales",
|
||
"title": "À propos de BookOrbit",
|
||
"description": "Crédits, licence et code source de BookOrbit.",
|
||
"poweredBy": "Propulsé par BookOrbit",
|
||
"originalDevelopment": "Ce logiciel contient des éléments développés à l'origine sous le nom de BookOrbit.",
|
||
"copyright": "Copyright (C) 2025–2026 neon.",
|
||
"contributors": "Des droits d'auteur supplémentaires appartiennent aux contributeurs respectifs de BookOrbit.",
|
||
"licenseSummary": "Distribué sous la GNU Affero General Public License, version 3 uniquement, avec des conditions supplémentaires. Ce logiciel est fourni sans garantie. Vous pouvez le redistribuer et le modifier selon ces conditions.",
|
||
"sourceCode": "Code source",
|
||
"license": "Licence AGPLv3",
|
||
"additionalTerms": "Conditions supplémentaires"
|
||
},
|
||
"confirmDialog": {
|
||
"typeToConfirm": "Saisissez « {phrase} » pour confirmer"
|
||
},
|
||
"formSheet": {
|
||
"discardTitle": "Abandonner les modifications ?",
|
||
"discardDescription": "Vos modifications non enregistrées seront perdues.",
|
||
"discardConfirm": "Abandonner"
|
||
}
|
||
},
|
||
"customIcons": {
|
||
"dialogTitle": "Envoyer des icônes personnalisées",
|
||
"dialogDescription": "Vérifiez les noms avant de les ajouter à votre bibliothèque.",
|
||
"readingFiles": "Lecture de fichiers...",
|
||
"dropPrompt": "Déposez les fichiers SVG ou cliquez pour parcourir",
|
||
"fileLimit": "Jusqu'à {max} fichiers, 128 Ko chacun",
|
||
"namePlaceholder": "Nom",
|
||
"nameRequired": "Le nom est requis",
|
||
"invalidSvg": "SVG invalide",
|
||
"invalidSvgFile": "Fichier SVG invalide",
|
||
"identicalTo": "Identique à « {name} »",
|
||
"uploadAnyway": "Envoyer quand même",
|
||
"skipThisOne": "Passer celui-ci",
|
||
"readyToUpload": "{count} prêt à être envoyé",
|
||
"noIconsStaged": "Aucune icône n'a encore été mise en scène",
|
||
"uploading": "Envoi en cours...",
|
||
"upload": "Envoyer",
|
||
"uploadCount": "Envoyer {count}",
|
||
"onlySvgSupported": "Seuls les fichiers SVG sont pris en charge",
|
||
"maxStaged": "Vous pouvez créer jusqu'à {max} icônes à la fois.",
|
||
"onlyMoreCanStage": "{count, plural, =0 {Aucune autre icône ne peut être mise en scène} one {Seulement # plus d'icônes peuvent être mises en scène} other {Seulement # plus d'icônes peuvent être mises en scène} many {Seulement # plus d'icônes peuvent être mises en scène}}",
|
||
"readFailed": "Échec de la lecture des fichiers SVG",
|
||
"uploadedCount": "{count, plural, =0 {Aucune icône envoyée} one {Envoyé # icône} other {Envoyé # icônes} many {Envoyé # icônes}}",
|
||
"uploadedPartial": "{created} envoyé, {failed} a échoué",
|
||
"noIconsUploaded": "Aucune icône envoyée",
|
||
"uploadFailed": "Échec de l'envoi des icônes",
|
||
"uploadFailedEntry": "Échec de l'envoi"
|
||
},
|
||
"dashboard": {
|
||
"common": {
|
||
"failedToLoad": "Échec du chargement",
|
||
"retry": "Réessayer",
|
||
"untitled": "Sans titre",
|
||
"cover": "Couverture",
|
||
"bookCover": "Couverture du livre"
|
||
},
|
||
"libraryLoad": {
|
||
"errorTitle": "Impossible de charger vos bibliothèques",
|
||
"errorDescription": "BookOrbit n'a pas pu récupérer vos bibliothèques. Les données de votre bibliothèque n'ont pas été supprimées."
|
||
},
|
||
"scroller": {
|
||
"failedToLoad": "Échec du chargement.",
|
||
"empty": {
|
||
"continueReading": "Aucun livre en cours pour le moment. Commencez à en lire un pour le voir ici.",
|
||
"continueListening": "Aucun livre audio en cours pour le moment. Commencez à en écouter un pour le voir ici.",
|
||
"continuePodcasts": "Aucun épisode de podcast en cours pour l'instant. Commencez-en un pour le voir ici.",
|
||
"wantToRead": "Aucun livre marqué « Je veux lire » pour l'instant.",
|
||
"upNextInSeries": "Pas encore de choix pour la prochaine série. Terminez un volume pour faire surface le suivant.",
|
||
"recentlyAdded": "Aucun livre dans votre bibliothèque pour l'instant.",
|
||
"smartScope": "Aucun livre ne correspond à cette liste intelligente.",
|
||
"default": "Aucun livre trouvé."
|
||
}
|
||
},
|
||
"settings": {
|
||
"title": "Personnaliser le tableau de bord",
|
||
"tabs": {
|
||
"widgets": "Widgets",
|
||
"shelves": "Étagères"
|
||
},
|
||
"widgetNames": {
|
||
"readingStreak": "Série de lectures",
|
||
"currentlyReading": "En cours de lecture",
|
||
"readingGoal": "Objectif de lecture",
|
||
"readingDna": "ADN de lecture",
|
||
"monthlyChallenge": "Défi mensuel",
|
||
"highlightOfTheDay": "Passage surligné du jour",
|
||
"neglectedGems": "Trésors oubliés",
|
||
"readingRhythm": "Rythme de lecture",
|
||
"diversityScore": "Score de diversité",
|
||
"libraryOverview": "Vue d'ensemble de la bibliothèque",
|
||
"yearProjection": "Projection annuelle",
|
||
"longWait": "La longue attente"
|
||
},
|
||
"shelfNames": {
|
||
"recentlyAdded": "Ajouté récemment",
|
||
"continueReading": "Poursuivre la lecture",
|
||
"continueListening": "Poursuivre l'écoute",
|
||
"continuePodcasts": "Poursuivre les podcasts",
|
||
"wantToRead": "À lire",
|
||
"upNextInSeries": "Suite de la série",
|
||
"random": "Découvrez quelque chose de nouveau",
|
||
"smartScope": "Liste intelligente"
|
||
},
|
||
"shelfLayout": {
|
||
"title": "Disposition de l'étagère",
|
||
"description": "Choisissez comment les étagères sont disposées sur des écrans plus grands.",
|
||
"wide": "Rangées larges",
|
||
"wideDescription": "Afficher une étagère par ligne.",
|
||
"twoColumns": "Deux colonnes",
|
||
"twoColumnsDescription": "Afficher deux étagères par ligne."
|
||
},
|
||
"libraryScope": {
|
||
"title": "Bibliothèques du tableau de bord",
|
||
"description": "Choisissez les bibliothèques qui alimentent ce tableau de bord en livres et en données de lecture.",
|
||
"allLibraries": "Toutes les bibliothèques accessibles",
|
||
"summaryNone": "Aucune bibliothèque sélectionnée",
|
||
"summaryCount": "{count, plural, one {# bibliothèque} other {# bibliothèques} many {# bibliothèques}}",
|
||
"required": "Sélectionnez au moins une bibliothèque."
|
||
},
|
||
"shelfRows": {
|
||
"label": "Rangées de livres",
|
||
"option": "{count, plural, one {Une rangée de livres} other {# rangées de livres} many {# rangées de livres}}",
|
||
"hint": "Définissez le nombre de rangées de livres affichées par étagère. Les écrans étroits en affichent deux au maximum."
|
||
},
|
||
"reorderHintWidget": "Faites glisser pour réorganiser. Basculez pour afficher ou masquer un widget.",
|
||
"reorderHintShelf": "Faites glisser pour réorganiser. Basculez pour afficher ou masquer une étagère.",
|
||
"smartScope": "Liste intelligente",
|
||
"noSmartScopes": "Aucune liste intelligente pour le moment. Créez-en une depuis la barre latérale.",
|
||
"addShelf": "Ajouter une étagère",
|
||
"resetToDefaults": "Réinitialiser aux valeurs par défaut"
|
||
},
|
||
"welcome": {
|
||
"emptyTitle": "Votre bibliothèque est vide",
|
||
"noLibrariesTitle": "Pas encore de bibliothèques",
|
||
"emptyDescription": "Créez une bibliothèque pour commencer à organiser et à lire vos livres. Pointez-le vers un dossier et il fera le reste.",
|
||
"noLibrariesDescription": "Votre administrateur n'a pas encore configuré de bibliothèques. Contactez-les pour commencer.",
|
||
"createFirstLibrary": "Créez votre première bibliothèque"
|
||
},
|
||
"widgets": {
|
||
"currentlyReading": {
|
||
"title": "Lecture en cours",
|
||
"empty": "Aucun livre en cours. Commencez à en lire un pour le voir ici.",
|
||
"continueReading": "Continuer la lecture"
|
||
},
|
||
"diversityScore": {
|
||
"title": "Score de diversité",
|
||
"notEnoughData": "Lisez au moins 3 livres pour voir votre score de diversité",
|
||
"booksAnalyzed": "{count, plural, =0 {aucun livre analysé} one {# livre analysé} other {# livres analysés} many {# livres analysés}}",
|
||
"subScores": {
|
||
"genre": "Genre",
|
||
"author": "Auteur",
|
||
"era": "Ère",
|
||
"language": "Lang"
|
||
}
|
||
},
|
||
"highlightOfTheDay": {
|
||
"title": "Le moment fort de la journée",
|
||
"empty": "Surlignez des passages pendant la lecture pour les voir ici"
|
||
},
|
||
"libraryOverview": {
|
||
"title": "Présentation de la bibliothèque",
|
||
"empty": "Votre bibliothèque est vide. Ajoutez quelques livres pour commencer.",
|
||
"addedThisYear": "+{count} ajouté cette année",
|
||
"stats": {
|
||
"books": "Livres",
|
||
"authors": "Auteurs",
|
||
"series": "Série",
|
||
"storage": "Stockage"
|
||
}
|
||
},
|
||
"longWait": {
|
||
"title": "La longue attente",
|
||
"empty": "Pas de livres en attente. Vous avez tout commencé !",
|
||
"daysWaiting": "jours d'attente",
|
||
"pages": "{count, plural, =0 {pas de page} one {# page} other {# pages} many {# pages}}",
|
||
"startReading": "Commencer la lecture"
|
||
},
|
||
"monthlyChallenge": {
|
||
"title": "Défi mensuel",
|
||
"complete": "Terminé !"
|
||
},
|
||
"neglectedGems": {
|
||
"title": "Joyaux négligés",
|
||
"empty": "Tous vos livres les mieux notés ont été lus !",
|
||
"rating": "{rating}/5",
|
||
"daysWaiting": "{count} j en attente",
|
||
"queued": "En file d'attente",
|
||
"addToQueue": "Ajouter à la file d'attente",
|
||
"shuffle": "Mélanger"
|
||
},
|
||
"readingDna": {
|
||
"title": "ADN de lecture",
|
||
"notEnoughData": "Lisez au moins 5 livres pour débloquer votre ADN de lecture",
|
||
"basedOn": "{count, plural, =0 {Basé sur aucun livre} one {Basé sur # livre} other {Basé sur # livres} many {Basé sur # livres}}",
|
||
"traits": {
|
||
"length": "Longueur",
|
||
"variety": "Variété",
|
||
"rhythm": "Rythme",
|
||
"time": "Temps",
|
||
"speed": "Vitesse"
|
||
}
|
||
},
|
||
"readingGoal": {
|
||
"title": "Objectif de lecture {year}",
|
||
"setGoalPrompt": "Fixez-vous un objectif de lecture pour suivre votre progression",
|
||
"setGoal": "Fixer un objectif",
|
||
"booksPerYear": "Livres par an",
|
||
"ofGoal": "de {goal}",
|
||
"percentComplete": "{percentage} % terminé",
|
||
"editGoal": "Modifier l'objectif"
|
||
},
|
||
"readingRhythm": {
|
||
"title": "Rythme de lecture",
|
||
"empty": "Commencez à lire pour voir votre rythme prendre forme",
|
||
"activeDays": "{count, plural, =0 {pas de jours actifs} one {# journée active} other {# jours actifs} many {# jours actifs}}",
|
||
"consistency": "{activeDays} · {percent} % de cohérence",
|
||
"avgPerDay": "moyenne de {time}/jour"
|
||
},
|
||
"readingStreak": {
|
||
"title": "Série de lecture",
|
||
"empty": "Lisez aujourd'hui pour commencer votre séquence",
|
||
"streakLabel": "{count, plural, =0 {séquence d'une journée} one {séquence d'une journée} other {jours consécutifs} many {jours consécutifs}}",
|
||
"best": "{count, plural, =0 {Meilleur : # jour} one {Meilleur : # jour} other {Meilleur : # jours} many {Meilleur : # jours}}",
|
||
"lastSevenDays": "7 derniers jours"
|
||
},
|
||
"yearProjection": {
|
||
"title": "Année projetée",
|
||
"books": "livres",
|
||
"trendUp": "Tendance à la hausse",
|
||
"trendDown": "Tendance à la baisse",
|
||
"trendSteady": "Un rythme soutenu",
|
||
"pages": "pages",
|
||
"hours": "heures",
|
||
"readCount": "{count} lire",
|
||
"daysLeft": "{count}j restant"
|
||
}
|
||
}
|
||
},
|
||
"email": {
|
||
"title": "Courriel",
|
||
"subtitle": "Envoyez des livres à votre liseuse par e-mail.",
|
||
"loadFailed": "Échec du chargement",
|
||
"saveFailed": "Échec de l'enregistrement",
|
||
"deleteFailed": "Échec de la suppression",
|
||
"setDefaultFailed": "Échec de la définition par défaut",
|
||
"setAsDefault": "Définir par défaut",
|
||
"saving": "Sauvegarde...",
|
||
"update": "Mise à jour",
|
||
"create": "Créer",
|
||
"deleteConfirm": "Supprimez « {name} ». Cette action ne peut pas être annulée.",
|
||
"badge": {
|
||
"default": "Par défaut",
|
||
"shared": "Partagé",
|
||
"system": "Système"
|
||
},
|
||
"tabs": {
|
||
"providers": "Fournisseurs",
|
||
"recipients": "Destinataires",
|
||
"groups": "Groupes",
|
||
"templates": "Modèles",
|
||
"preferences": "Préférences",
|
||
"history": "Histoire"
|
||
},
|
||
"providers": {
|
||
"heading": "Fournisseurs SMTP",
|
||
"add": "Ajouter un fournisseur",
|
||
"newTitle": "Nouveau fournisseur",
|
||
"editTitle": "Modifier le fournisseur",
|
||
"name": "Nom",
|
||
"namePlaceholder": "par ex. Gmail",
|
||
"host": "Hôte",
|
||
"port": "Port",
|
||
"username": "Nom d'utilisateur",
|
||
"password": "Mot de passe",
|
||
"passwordEdit": "Mot de passe (laissez vide pour rester à jour)",
|
||
"fromName": "Du nom",
|
||
"fromNamePlaceholder": "Ma bibliothèque",
|
||
"fromAddress": "De l'adresse",
|
||
"authentication": "Authentification",
|
||
"verifyTls": "Vérifier le certificat TLS",
|
||
"tlsWarning": "La vérification TLS est désactivée. Le certificat du serveur ne sera pas validé - à utiliser uniquement pour les serveurs internes de confiance.",
|
||
"noFromAddress": "non de l'adresse",
|
||
"emptyManage": "Aucun fournisseur pour l'instant. Ajoutez un fournisseur SMTP pour commencer à envoyer des e-mails.",
|
||
"emptyReadonly": "Aucun fournisseur disponible. Demandez à un administrateur d'en ajouter un.",
|
||
"setSystemTooltip": "Définir comme fournisseur de messagerie système",
|
||
"removeSystemTooltip": "Supprimer en tant que fournisseur de messagerie système",
|
||
"testTooltip": "Tester la connexion",
|
||
"toggleSharing": "Activer le partage",
|
||
"removeSystemBeforeDelete": "Supprimez la désignation du système avant de supprimer",
|
||
"notesHeading": "Notes du fournisseur",
|
||
"notesBody": "Le fournisseur {system} (super-utilisateur uniquement) est utilisé pour les e-mails de réinitialisation de mot de passe. Le fournisseur {defaultProvider} est utilisé lors de l'envoi de livres sans fournisseur explicite sélectionné. Les fournisseurs marqués {shared} sont disponibles pour tous les utilisateurs.",
|
||
"deleteTitle": "Supprimer le fournisseur ?",
|
||
"nameHostRequired": "Le nom et l'hôte sont requis",
|
||
"created": "Fournisseur créé",
|
||
"updated": "Fournisseur mis à jour",
|
||
"deleted": "« {name} » supprimé",
|
||
"setDefaultSuccess": "« {name} » défini par défaut",
|
||
"unshared": "Fournisseur non partagé",
|
||
"sharedWithAll": "Fournisseur partagé avec tous les utilisateurs",
|
||
"updateSharingFailed": "Échec de la mise à jour du partage",
|
||
"systemRemoved": "« {name} » supprimé en tant que fournisseur de messagerie système",
|
||
"systemSet": "« {name} » défini comme fournisseur de messagerie système",
|
||
"updateSystemFailed": "Échec de la mise à jour du fournisseur système",
|
||
"connectionSuccess": "Connexion réussie",
|
||
"connectionFailed": "La connexion a échoué",
|
||
"testFailed": "Le test a échoué"
|
||
},
|
||
"recipients": {
|
||
"heading": "Destinataires",
|
||
"add": "Ajouter un destinataire",
|
||
"newTitle": "Nouveau destinataire",
|
||
"editTitle": "Modifier le destinataire",
|
||
"name": "Nom",
|
||
"namePlaceholder": "Mon Kindle",
|
||
"emailAddress": "Adresse e-mail",
|
||
"deviceType": "Type d'appareil",
|
||
"deviceNone": "Aucun",
|
||
"deviceOther": "Autre",
|
||
"preferredFormat": "Format préféré",
|
||
"formatAuto": "Automatique",
|
||
"defaultTemplate": "Modèle par défaut",
|
||
"useAccountDefault": "Utiliser le compte par défaut",
|
||
"kindleNote": "Les destinataires Kindle reçoivent automatiquement les e-mails avec le sujet « convertir » pour déclencher la conversion du format.",
|
||
"empty": "Aucun destinataire pour l'instant.",
|
||
"prefersFormat": "préfère {format}",
|
||
"deleteTitle": "Supprimer le destinataire ?",
|
||
"nameEmailRequired": "Le nom et l'e-mail sont requis",
|
||
"created": "Destinataire créé",
|
||
"updated": "Destinataire mis à jour",
|
||
"deleted": "« {name} » supprimé",
|
||
"setDefaultSuccess": "« {name} » défini par défaut"
|
||
},
|
||
"groups": {
|
||
"heading": "Groupes de destinataires",
|
||
"create": "Créer un groupe",
|
||
"newTitle": "Nouveau groupe",
|
||
"name": "Nom du groupe",
|
||
"namePlaceholder": "par ex. Club de lecture",
|
||
"creating": "Création...",
|
||
"empty": "Aucun groupe pour l'instant. Créez un groupe à envoyer à plusieurs destinataires à la fois.",
|
||
"memberCount": "{count, plural, =0 {aucun membre} one {un membre} other {# membres} many {# membres}}",
|
||
"deleteTooltip": "Supprimer le groupe",
|
||
"noMembers": "Aucun membre pour l'instant.",
|
||
"removeMember": "Supprimer",
|
||
"selectRecipient": "Sélectionnez le destinataire...",
|
||
"add": "Ajouter",
|
||
"addMember": "Ajouter un membre",
|
||
"allRecipientsInGroup": "Tous les destinataires sont déjà dans ce groupe.",
|
||
"deleteTitle": "Supprimer le groupe ?",
|
||
"created": "Groupe créé",
|
||
"createFailed": "Échec de la création du groupe",
|
||
"deleted": "« {name} » supprimé",
|
||
"memberAdded": "Membre ajouté",
|
||
"addMemberFailed": "Échec de l'ajout d'un membre",
|
||
"memberRemoved": "Membre supprimé",
|
||
"removeMemberFailed": "Échec de la suppression du membre"
|
||
},
|
||
"templates": {
|
||
"heading": "Modèles d'e-mails",
|
||
"new": "Nouveau modèle",
|
||
"newTitle": "Nouveau modèle",
|
||
"editTitle": "Modifier le modèle",
|
||
"name": "Nom",
|
||
"namePlaceholder": "Par défaut",
|
||
"subject": "Sujet",
|
||
"body": "Corps",
|
||
"availableVariables": "Variables disponibles",
|
||
"editTemplate": "Modifier le modèle",
|
||
"empty": "Aucun modèle pour l'instant.",
|
||
"notesHeading": "Remarques sur le modèle",
|
||
"notesBody": "Les modèles système ne peuvent pas être supprimés. Les administrateurs peuvent les modifier. Utilisez des variables telles que {variable} dans les sujets et les corps - elles sont remplacées par les détails du livre au moment de l'envoi.",
|
||
"deleteTitle": "Supprimer le modèle ?",
|
||
"nameSubjectRequired": "Le nom et le sujet sont obligatoires",
|
||
"created": "Modèle créé",
|
||
"updated": "Modèle mis à jour",
|
||
"deleted": "« {name} » supprimé",
|
||
"setDefaultSuccess": "« {name} » défini par défaut"
|
||
},
|
||
"preferences": {
|
||
"heading": "Préférences de courrier électronique",
|
||
"defaultProvider": "Fournisseur par défaut",
|
||
"defaultProviderHint": "Utilisé lorsqu'aucun fournisseur n'est spécifié. S'il est vide, la valeur par défaut du compte est utilisée.",
|
||
"noneAccountDefault": "Aucun (utiliser le compte par défaut)",
|
||
"defaultRecipient": "Destinataire par défaut",
|
||
"defaultRecipientHint": "Utilisé pour un envoi rapide. Doit être configuré pour utiliser l'action d'envoi rapide sur les fiches de livre.",
|
||
"none": "Aucun",
|
||
"defaultTemplate": "Modèle par défaut",
|
||
"defaultTemplateHint": "Utilisé lorsqu'aucun modèle n'est spécifié. Revient à la valeur par défaut du système s'il est vide.",
|
||
"noneSystemDefault": "Aucun (utiliser les valeurs par défaut du système)",
|
||
"save": "Enregistrer les préférences",
|
||
"saved": "Préférences enregistrées"
|
||
},
|
||
"history": {
|
||
"heading": "Envoyer l'historique",
|
||
"empty": "Aucun e-mail envoyé pour l'instant.",
|
||
"noSubject": "(pas de sujet)",
|
||
"loadMore": "Charger plus",
|
||
"resend": "Renvoyer",
|
||
"deleteTitle": "Supprimer l'entrée de l'historique ?",
|
||
"entryDeleted": "Entrée supprimée",
|
||
"queuedForResend": "En file d'attente pour renvoi",
|
||
"resendFailed": "Échec du renvoi",
|
||
"statusSent": "Envoyé",
|
||
"statusFailed": "Échec",
|
||
"statusQueued": "En file d'attente",
|
||
"statusPending": "En attente"
|
||
},
|
||
"send": {
|
||
"title": "Envoyer par e-mail",
|
||
"bookCount": "{count, plural, =0 {pas de livres} one {un livre} other {# livres} many {# livres}}",
|
||
"recipients": "Destinataires",
|
||
"noRecipients": "Aucun destinataire configuré. Ajoutez-en un dans les paramètres de messagerie.",
|
||
"groups": "Groupes",
|
||
"options": "Possibilités",
|
||
"fileFormat": "Format de fichier",
|
||
"autoRecipientPreference": "Auto (utiliser les préférences du destinataire)",
|
||
"unknownFormat": "Inconnu",
|
||
"primarySuffix": "(principal)",
|
||
"provider": "Fournisseur",
|
||
"template": "Modèle",
|
||
"default": "Par défaut",
|
||
"send": "Envoyer",
|
||
"sending": "Envoi...",
|
||
"queued": "{count, plural, =0 {aucun e-mail en file d'attente} one {un e-mail en file d'attente} other {# emails en file d'attente} many {# emails en file d'attente}}",
|
||
"failed": "Échec de l'envoi"
|
||
}
|
||
},
|
||
"errors": {
|
||
"network": "Impossible de joindre BookOrbit. Vérifiez votre connexion, puis réessayez.",
|
||
"codes": {
|
||
"PODCAST_LOCAL_NO_REFRESH": "Cette émission n'a pas de flux : il n'y a rien à actualiser.",
|
||
"PODCAST_LOCAL_NO_DOWNLOAD": "Cet épisode est l'un de vos propres fichiers : il n'y a rien à télécharger. Votre copie est déjà la seule.",
|
||
"PODCAST_LOCAL_FILE_NOT_REMOVABLE": "Cet épisode est l'un de vos propres fichiers : BookOrbit ne le supprimera pas. Retirez-le vous-même du dossier.",
|
||
"PODCAST_LOCAL_MEDIA_MISSING": "La seule copie de cet épisode n'est plus sur le disque : il ne peut pas être lu.",
|
||
"PODCAST_LOCAL_FOLDER_EMPTY": "Ce dossier ne contient aucun fichier audio que BookOrbit puisse importer : il ne peut pas devenir une émission.",
|
||
"PODCAST_STORAGE_FULL": "Cette bibliothèque de podcasts n'a plus d'espace de stockage. Libérez de l'espace ou augmentez son quota, puis réessayez. Les fichiers des émissions locales ne sont jamais supprimés pour faire de la place."
|
||
}
|
||
},
|
||
"hardcover": {
|
||
"settings": {
|
||
"subtitle": "Synchronisez votre progression de lecture, votre statut et vos notes avec Hardcover."
|
||
},
|
||
"bookSync": {
|
||
"label": "Synchronisation Hardcover",
|
||
"toggleAriaLabel": "Synchronisez ce livre avec Hardcover",
|
||
"syncNow": "Synchronisez maintenant"
|
||
},
|
||
"connection": {
|
||
"title": "Connexion",
|
||
"description": "Connectez votre compte Hardcover pour synchroniser les données de lecture.",
|
||
"connected": "Connecté",
|
||
"apiToken": "Jeton API",
|
||
"tokenPlaceholder": "Collez votre jeton Hardcover API",
|
||
"show": "Afficher",
|
||
"hide": "Masquer",
|
||
"findTokenAt": "Trouvez votre jeton sur",
|
||
"validateToken": "Valider le jeton",
|
||
"valid": "Valide ({username})",
|
||
"invalidToken": "Jeton invalide",
|
||
"syncOptions": "Options de synchronisation",
|
||
"syncInfo": "La synchronisation s'exécute uniquement pour les livres qui ne sont pas non lus. Cela s'applique aux déclencheurs de statut, de progression et de notation. Ces commutateurs contrôlent le moment où une synchronisation s'exécute.",
|
||
"syncScope": {
|
||
"title": "Portée de la synchronisation des livres",
|
||
"allEligible": {
|
||
"label": "Tous les livres éligibles",
|
||
"description": "Synchronisez tout sauf si vous excluez un livre."
|
||
},
|
||
"selectedOnly": {
|
||
"label": "Livres sélectionnés uniquement",
|
||
"description": "Synchronisez uniquement les livres que vous incluez explicitement."
|
||
}
|
||
},
|
||
"enableSync": {
|
||
"title": "Activer la synchronisation",
|
||
"description": "Suspendez toutes les synchronisations Hardcover sans vous déconnecter."
|
||
},
|
||
"syncOnStatus": {
|
||
"title": "Synchronisation lors du changement de statut",
|
||
"description": "Envoyez des mises à jour lorsque vous marquez un livre comme lu, lu, etc."
|
||
},
|
||
"syncOnProgress": {
|
||
"title": "Synchronisation lors de la mise à jour de la progression",
|
||
"description": "Envoie la progression de lecture et les dates lorsque celle-ci change dans BookOrbit ou KOReader."
|
||
},
|
||
"syncOnRating": {
|
||
"title": "Synchronisation lors du changement de note",
|
||
"description": "Envoyez vos notes à Hardcover."
|
||
},
|
||
"privacy": {
|
||
"title": "Confidentialité",
|
||
"description": "Visibilité par défaut des livres synchronisés sur Hardcover.",
|
||
"public": "Publique",
|
||
"followersOnly": "Abonnés uniquement",
|
||
"private": "Privé"
|
||
},
|
||
"disconnect": "Déconnecter",
|
||
"toast": {
|
||
"enterToken": "Entrez d'abord votre jeton Hardcover API",
|
||
"saved": "Paramètres Hardcover enregistrés",
|
||
"saveFailed": "Échec de l'enregistrement des paramètres",
|
||
"disconnected": "Hardcover déconnecté"
|
||
}
|
||
},
|
||
"sync": {
|
||
"title": "Synchronisation manuelle",
|
||
"description": "Poussez votre {scope} sur Hardcover maintenant.",
|
||
"scope": {
|
||
"selected": "livres sélectionnés",
|
||
"eligible": "livres éligibles"
|
||
},
|
||
"checkingPending": "Vérification des éléments en attente...",
|
||
"pendingOf": "{pending} en attente de {total} livres.",
|
||
"noBooksInScope": "Aucun livre dans la portée de synchronisation.",
|
||
"allSynced": "Tous les livres sont déjà synchronisés.",
|
||
"lastSyncedLabel": "Dernière synchronisation",
|
||
"lastSuccessfulSync": "Dernière synchronisation réussie",
|
||
"syncing": "Synchronisation...",
|
||
"progressCount": "Livres {synced} / {total}",
|
||
"unavailable": {
|
||
"permissionDenied": "Vous n'êtes pas autorisé à utiliser la synchronisation Hardcover.",
|
||
"userDisabled": "La synchronisation est suspendue dans vos paramètres Hardcover."
|
||
},
|
||
"button": {
|
||
"unavailable": "Synchronisation indisponible",
|
||
"syncNow": "Synchroniser maintenant",
|
||
"syncNowCount": "Synchroniser maintenant ({count})"
|
||
},
|
||
"lastSynced": {
|
||
"justNow": "Juste maintenant",
|
||
"minutesAgo": "il y a {count} minutes",
|
||
"hoursAgo": "{count, plural, =0 {# il y a une heure} one {# il y a une heure} other {# il y a des heures} many {# il y a des heures}}",
|
||
"daysAgo": "{count, plural, =0 {# il y a un jour} one {# il y a un jour} other {# il y a quelques jours} many {# il y a quelques jours}}"
|
||
}
|
||
},
|
||
"import": {
|
||
"title": "Extraire l'état de lecture",
|
||
"description": "Prévisualisez les correspondances Hardcover avant de remplir les statuts BookOrbit vides.",
|
||
"clear": "Effacer",
|
||
"preview": "Aperçu",
|
||
"importProgress": "Progression de l'importation",
|
||
"reviewMatches": "Examiner les correspondances",
|
||
"importReady": "Prêt à importer",
|
||
"exactMatches": "{count, plural, =0 {aucune correspondance exacte ne peut être importée sans examen} one {# la correspondance exacte peut être importée sans examen} other {# les correspondances exactes peuvent être importées sans examen} many {# les correspondances exactes peuvent être importées sans examen}}",
|
||
"progressAvailable": "{count, plural, =0 {aucune mise à jour de progression disponible} one {# mise à jour des progrès disponible} other {# mises à jour de progrès disponibles} many {# mises à jour de progrès disponibles}}",
|
||
"progressConflicts": "{count, plural, =0 {pas de conflits} one {# conflit} other {# conflits} many {# conflits}}",
|
||
"unavailable": {
|
||
"permissionDenied": "Vous n'êtes pas autorisé à utiliser la synchronisation Hardcover.",
|
||
"missingToken": "Connectez Hardcover avant d'importer.",
|
||
"userDisabled": "La synchronisation est suspendue dans vos paramètres Hardcover."
|
||
},
|
||
"summary": {
|
||
"ready": "Prêt",
|
||
"review": "Examen",
|
||
"conflicts": "Conflits",
|
||
"unmatched": "Sans correspondance",
|
||
"skipped": "Sauté"
|
||
},
|
||
"result": {
|
||
"summary": "{applied} importé{progress}, {failed} a échoué",
|
||
"progressUpdated": "Progression de {count} mise à jour"
|
||
},
|
||
"toast": {
|
||
"importFailed": "Échec de l'importation de l'état de lecture de Hardcover",
|
||
"imported": "{count, plural, =0 {aucun statut de lecture importé{progress}} one {# lire le statut importé{progress}} other {# lire les statuts importés{progress}} many {# lire les statuts importés{progress}}}",
|
||
"progressUpdates": "{count, plural, =0 {aucune mise à jour de la progression} one {# mise à jour de la progression} other {# mises à jour de la progression} many {# mises à jour de la progression}}"
|
||
}
|
||
},
|
||
"review": {
|
||
"title": "Hardcover révision de l'importation",
|
||
"subtitle": "{total} Hardcover livres, {matched} correspondant.",
|
||
"closeAriaLabel": "Fermer l'examen de l'importation",
|
||
"searchPlaceholder": "Rechercher un titre ou un auteur",
|
||
"importProgress": "Progression de l'importation",
|
||
"untitled": "Sans titre",
|
||
"blank": "vide",
|
||
"noRows": "Aucune ligne ne correspond aux filtres actuels.",
|
||
"selectRowAriaLabel": "Sélectionnez {title}",
|
||
"selectionSummary": "{count} sélectionné : {ready} prêt, {reviewed} examiné.",
|
||
"selectedProgress": "{count, plural, =0 {aucune mise à jour de la progression} one {# mise à jour de la progression} other {# mises à jour de la progression} many {# mises à jour de la progression}}",
|
||
"selectReady": "Sélectionnez prêt",
|
||
"selectPage": "Sélectionner une page",
|
||
"clearPage": "Effacer la page",
|
||
"clearSelection": "Effacer la sélection",
|
||
"importSelected": "Importer la sélection",
|
||
"previousPage": "Page précédente",
|
||
"nextPage": "Page suivante",
|
||
"pageRange": "{start}-{end} sur {total}",
|
||
"tabs": {
|
||
"all": "Tout",
|
||
"ready": "Prêt",
|
||
"review": "Examen",
|
||
"conflicts": "Conflits",
|
||
"unmatched": "Sans correspondance",
|
||
"skipped": "Sauté"
|
||
},
|
||
"summary": {
|
||
"ready": "Prêt",
|
||
"review": "Examen",
|
||
"conflicts": "Conflits",
|
||
"unmatched": "Sans correspondance",
|
||
"skipped": "Sauté"
|
||
},
|
||
"matchOptions": {
|
||
"all": "Tous les types de correspondance"
|
||
},
|
||
"matchMethod": {
|
||
"hardcoverId": "Hardcover identifiant",
|
||
"isbn": "ISBN",
|
||
"titleAuthor": "Titre + auteur"
|
||
},
|
||
"outcome": {
|
||
"ready": "Prêt",
|
||
"review": "Examen",
|
||
"conflict": "Conflit",
|
||
"unmatched": "Sans correspondance",
|
||
"skipped": "Sauté"
|
||
},
|
||
"column": {
|
||
"progress": "Progression"
|
||
}
|
||
},
|
||
"linkedBooks": {
|
||
"title": "Livres associés",
|
||
"description": "Affiche les livres que vous lisez actuellement. Une fois un livre associé à Hardcover, choisissez ici une autre édition (physique, ebook, audiobook) pour changer ce sur quoi votre progression de lecture est synchronisée.",
|
||
"loading": "Chargement des livres...",
|
||
"loadError": "Échec du chargement des livres.",
|
||
"retry": "Réessayer",
|
||
"empty": "Aucun livre en cours de lecture.",
|
||
"untitled": "Sans titre",
|
||
"unknownAuthor": "Auteur inconnu",
|
||
"matchMethod": {
|
||
"isbn": "ISBN",
|
||
"title": "Titre",
|
||
"cached": "En cache",
|
||
"manual": "Manuelle",
|
||
"metadata_id": "Correspondance des métadonnées"
|
||
},
|
||
"status": {
|
||
"error": "Erreur : {error}",
|
||
"linked": "Associé",
|
||
"linkedWithMethod": "Associé ({method})",
|
||
"notLinked": "Pas encore associé"
|
||
},
|
||
"unmatchedHint": "Ce livre n'a pas encore été associé à Hardcover. Il le sera automatiquement lors de la prochaine synchronisation.",
|
||
"editionsLoadError": "Échec du chargement des éditions.",
|
||
"viewEditions": "Afficher les éditions",
|
||
"noEditionsFound": "Aucune édition trouvée.",
|
||
"booksTruncated": "Affiche les {count} premiers livres que vous lisez.",
|
||
"editionsTruncated": "Affiche les {count} premières éditions.",
|
||
"pages": "{count, plural, one {# page} many {# pages} other {# pages}}",
|
||
"isbn": "ISBN {isbn}",
|
||
"current": "Actuelle",
|
||
"useThis": "Utiliser ceci",
|
||
"toast": {
|
||
"switched": "Basculé sur {format}",
|
||
"switchFailed": "Échec du changement d'édition"
|
||
}
|
||
}
|
||
},
|
||
"library": {
|
||
"creator": {
|
||
"createTitle": "Créer une bibliothèque",
|
||
"editTitle": "Modifier : {name}",
|
||
"stepOf": "Étape {current} sur {total}",
|
||
"unsaved": "Non enregistré",
|
||
"required": "Obligatoire",
|
||
"closeAria": "Fermer le créateur de la bibliothèque",
|
||
"progressAria": "Progression de la configuration de la bibliothèque",
|
||
"sectionsAria": "Sections des paramètres de la bibliothèque",
|
||
"loadingAria": "Chargement des paramètres de la bibliothèque",
|
||
"sections": {
|
||
"details": "Détails",
|
||
"folders": "Dossiers",
|
||
"scanner": "Analyse",
|
||
"metadata": "Métadonnées",
|
||
"fileWrite": "Écriture de fichier",
|
||
"reading": "Lecture",
|
||
"schedule": "Calendrier",
|
||
"access": "Accès"
|
||
},
|
||
"actions": {
|
||
"saving": "Sauvegarde...",
|
||
"saveChanges": "Enregistrer les modifications",
|
||
"creating": "Création...",
|
||
"createLibrary": "Créer une bibliothèque"
|
||
},
|
||
"details": {
|
||
"libraryName": "Nom de la bibliothèque",
|
||
"namePlaceholder": "Ma bibliothèque",
|
||
"coverStyle": {
|
||
"title": "Style de couverture",
|
||
"portrait": "Portrait",
|
||
"square": "Carré",
|
||
"hint": "Portrait pour ebook ou bibliothèques mixtes. Square pour les bibliothèques de livres audio uniquement."
|
||
},
|
||
"icon": {
|
||
"label": "Icône",
|
||
"placeholder": "Choisissez une icône...",
|
||
"selected": "Sélectionné"
|
||
}
|
||
},
|
||
"folders": {
|
||
"title": "Analyser les dossiers",
|
||
"description": "Ajoutez un ou plusieurs répertoires à analyser pour y trouver des livres.",
|
||
"browseAdd": "Parcourir et ajouter un dossier",
|
||
"browseTitle": "Parcourir les dossiers du serveur",
|
||
"browseDescription": "Sélectionnez un ou plusieurs dossiers sans quitter le navigateur.",
|
||
"selectedTitle": "Dossiers sélectionnés",
|
||
"addFolders": "Ajouter des dossiers",
|
||
"manualEntry": "Entrez un chemin manuellement",
|
||
"absolutePath": "Chemin absolu du serveur",
|
||
"addFolder": "Ajouter un dossier",
|
||
"removeFolder": "Supprimer {folder}",
|
||
"manualCheckHint": "Les chemins manuels sont vérifiés avec le reste des dossiers sélectionnés.",
|
||
"pathPlaceholder": "/chemin/vers/livres",
|
||
"test": "Tester",
|
||
"add": "Ajouter",
|
||
"pathNotAccessible": "Le chemin n'est pas accessible sur le serveur.",
|
||
"pathAccessible": "Le chemin est accessible.",
|
||
"pathNotAccessibleShort": "Le chemin n'est pas accessible",
|
||
"overlapsWith": "Chevauche avec « {library} »",
|
||
"noneAdded": "Aucun dossier ajouté pour l'instant",
|
||
"runPrescanHint": "Exécutez une pré-analyse pour valider les chemins avant de les enregistrer.",
|
||
"scanning": "Analyse en cours...",
|
||
"prescan": "Pré-analyse",
|
||
"local": {
|
||
"title": "Dossiers de podcasts existants",
|
||
"optional": "Facultatif",
|
||
"description": "Les dossiers dans lesquels vous rangez déjà des podcasts. BookOrbit les lit là où ils sont, et n'y renomme, ne déplace ni ne supprime jamais rien.",
|
||
"addTitle": "Ajouter un dossier de podcasts existant",
|
||
"addDescription": "Chaque dossier situé directement à l'intérieur devient une émission.",
|
||
"add": "Ajouter un autre dossier",
|
||
"remove": "Retirer {folder}"
|
||
}
|
||
},
|
||
"scanner": {
|
||
"scanMode": {
|
||
"title": "Mode d'analyse",
|
||
"lockedAria": "Le mode organisation est verrouillé",
|
||
"lockTooltip": "Le mode d'organisation est corrigé après la création de la bibliothèque, car sa modification peut créer des entrées de livre en double ou manquantes. Pour utiliser un mode différent, créez une nouvelle bibliothèque et effectuez une nouvelle analyse.",
|
||
"recommended": "Recommandé",
|
||
"folderAsBook": {
|
||
"title": "Dossier en tant que livre",
|
||
"hint": "Tous les fichiers d'un dossier sont regroupés dans un seul livre. Fonctionne bien lorsque vous conservez plusieurs formats, comme EPUB et MOBI, ensemble."
|
||
},
|
||
"fileAsBook": {
|
||
"title": "Fichier en tant que livre",
|
||
"hint": "Traite chaque fichier comme un livre individuel. Idéal pour les bibliothèques avec un format par titre. Évitez si vos livres audio s'étendent sur plusieurs fichiers."
|
||
}
|
||
},
|
||
"addedAt": {
|
||
"title": "Date d'ajout",
|
||
"hint": "Choisissez ce que reflète la « date d'ajout » d'un livre. Ce choix s'applique aux livres importés à partir de maintenant.",
|
||
"options": {
|
||
"imported": {
|
||
"title": "Date d'import",
|
||
"hint": "La date à laquelle BookOrbit a importé le livre pour la première fois. C'est la valeur par défaut."
|
||
},
|
||
"file_modified": {
|
||
"title": "Date de modification du fichier",
|
||
"hint": "La date de dernière modification du fichier (mtime), souvent conservée lors d'une copie."
|
||
},
|
||
"file_created": {
|
||
"title": "Date de création du fichier",
|
||
"hint": "Le moment où le fichier est arrivé sur le disque (birthtime). Se rabat sur la date de modification sur les systèmes de fichiers qui n'enregistrent pas la date de création."
|
||
}
|
||
},
|
||
"recompute": "Recalculer maintenant",
|
||
"recomputing": "Recalcul...",
|
||
"recomputeHint": "Mettre à jour la date d'ajout des livres existants selon ce paramètre.",
|
||
"recomputeSaveFirst": "Enregistrez d'abord vos modifications, puis recalculez les livres existants.",
|
||
"backgroundConfirm": "Recalculer les dates des livres existants ? L'opération s'exécute en arrière-plan et vous pouvez fermer cet éditeur. Les livres dont les fichiers sont illisibles conservent leur date actuelle.",
|
||
"progressSummary": "{processed} traités sur {total} : {updated} mis à jour, {unchanged} inchangés, {skipped} ignorés, {failed} en échec.",
|
||
"failedBooksHint": "Les livres en échec ont conservé leur date. Vérifiez l'accès aux fichiers, puis relancez le recalcul pour réessayer.",
|
||
"jobStatus": {
|
||
"running": "Recalcul des dates en arrière-plan.",
|
||
"completed": "Recalcul des dates terminé.",
|
||
"failed": "Le recalcul s'est arrêté avant la fin. Les modifications effectuées ont été conservées ; vous pouvez le relancer sans risque."
|
||
},
|
||
"errors": {
|
||
"sourceImported": "Enregistrez une source d'horodatage de fichier avant de recalculer les dates.",
|
||
"alreadyRunning": "Un recalcul est déjà en cours pour cette bibliothèque.",
|
||
"busy": "D'autres recalculs sont en cours. Réessayez dans un instant.",
|
||
"requestFailed": "Impossible de joindre le service de recalcul. Fermez et rouvrez cet éditeur pour vérifier son état.",
|
||
"interrupted": "L'état de la tâche n'est plus disponible. Elle a peut-être été interrompue par un redémarrage du serveur. Vous pouvez relancer le recalcul sans risque."
|
||
},
|
||
"failureSample": "Livre {bookId} : {reason}",
|
||
"failureReasons": {
|
||
"file_unavailable": "Un fichier de contenu n'a pas pu être lu.",
|
||
"unsafe_path": "Un fichier de contenu se trouve hors du dossier de bibliothèque autorisé.",
|
||
"database_error": "La mise à jour de la base de données a échoué."
|
||
}
|
||
},
|
||
"allowedFormats": {
|
||
"title": "Formats autorisés",
|
||
"allowAll": "Autoriser tout",
|
||
"allAllowed": "Tous les formats sont autorisés.",
|
||
"onlySelected": "Seuls les formats sélectionnés seront importés.",
|
||
"warning": "Les livres dans d'autres formats déjà présents dans la bibliothèque seront marqués comme manquants lors de la prochaine analyse."
|
||
},
|
||
"excludePatterns": {
|
||
"title": "Exclure les modèles",
|
||
"hintBefore": "Modèles Glob à ignorer pendant l'analyse (par ex. ",
|
||
"hintAfter": ").",
|
||
"add": "Ajouter",
|
||
"empty": "Aucun motif ajouté."
|
||
}
|
||
},
|
||
"metadata": {
|
||
"sourcePrecedence": {
|
||
"title": "Priorité des sources",
|
||
"hint": "La source la plus élevée dans la liste est préférée lorsque plusieurs sont disponibles."
|
||
},
|
||
"formatPriority": {
|
||
"title": "Priorité du format",
|
||
"hint": "Lorsqu'un livre a plusieurs formats, le format le plus élevé dans la liste est préféré."
|
||
}
|
||
},
|
||
"fileWrite": {
|
||
"maxFileSizeMb": "Taille maximale du fichier (Mo)",
|
||
"formatLimits": "Limites de format",
|
||
"rename": {
|
||
"title": "Renommer les fichiers après des modifications de métadonnées",
|
||
"hint": "Renomme les fichiers physiques lorsque le titre, l'auteur, la série ou l'année change, en utilisant le modèle de dénomination de la bibliothèque."
|
||
},
|
||
"write": {
|
||
"title": "Écrire des métadonnées dans des fichiers",
|
||
"hint": "Lorsqu'elle est activée, l'enregistrement des métadonnées réécrira également les modifications dans le fichier physique sur le disque."
|
||
},
|
||
"cover": {
|
||
"title": "Inclure l'image de couverture",
|
||
"hint": "Écrit la couverture stockée dans les formats de fichiers pris en charge."
|
||
},
|
||
"epub": {
|
||
"title": "EPUB",
|
||
"hint": "Écrit les métadonnées dans le fichier OPF à l'intérieur de l'archive EPUB.",
|
||
"toggleAria": "Écrire les métadonnées EPUB"
|
||
},
|
||
"fb2": {
|
||
"title": "FictionBook (FB2)",
|
||
"hint": "Réécrit le bloc de description dans les fichiers FB2, sans modifier le texte du livre.",
|
||
"toggleAria": "Écrire les métadonnées FB2"
|
||
},
|
||
"pdf": {
|
||
"title": "PDF",
|
||
"hint": "Incorpore les métadonnées dans le dictionnaire d'informations PDF et le flux XMP.",
|
||
"toggleAria": "Écrire les métadonnées PDF"
|
||
},
|
||
"cbx": {
|
||
"title": "Archives de bandes dessinées (CBX)",
|
||
"hint": "Écrit ComicInfo.xml dans les archives CBZ et CB7.",
|
||
"toggleAria": "Écrire les métadonnées des archives de bandes dessinées"
|
||
},
|
||
"kindle": {
|
||
"title": "Kindle (MOBI, AZW3)",
|
||
"hint": "Écrit les métadonnées dans l'en-tête EXTH des fichiers MOBI, AZW3 et AZW.",
|
||
"toggleAria": "Écrire des métadonnées Kindle"
|
||
},
|
||
"audio": {
|
||
"title": "Audio",
|
||
"hint": "Incorpore la couverture stockée dans les fichiers M4B, M4A, MP3 et FLAC.",
|
||
"toggleAria": "Écrire des couvertures audio"
|
||
}
|
||
},
|
||
"reading": {
|
||
"readingStart": {
|
||
"title": "Début de lecture",
|
||
"hint": "Un livre est marqué comme « lecture » une fois ce pourcentage de progression atteint."
|
||
},
|
||
"markAsFinished": {
|
||
"title": "Marquer comme terminé",
|
||
"hint": "Un livre est automatiquement marqué comme « lu » lorsque ce pourcentage de progression est atteint."
|
||
}
|
||
},
|
||
"schedule": {
|
||
"fileWatching": "Surveillance de fichiers",
|
||
"autoScanSchedule": "Planification d'analyse automatique",
|
||
"timezoneHint": "Les planifications s'exécutent selon le fuseau horaire du serveur.",
|
||
"cronExpression": "Expression Cron",
|
||
"cronInvalid": "Expression cron invalide.",
|
||
"cronFormat": "Format : minute heure jour mois jour de la semaine",
|
||
"watchFolders": {
|
||
"title": "Regarder les dossiers",
|
||
"hint": "Détectez automatiquement les nouveaux fichiers ajoutés aux dossiers de la bibliothèque."
|
||
},
|
||
"presets": {
|
||
"never": "Jamais",
|
||
"hourly": "Toutes les heures",
|
||
"every6Hours": "Toutes les 6 heures",
|
||
"every12Hours": "Toutes les 12 heures",
|
||
"daily": "Quotidiennement",
|
||
"weekly": "Hebdomadaire",
|
||
"custom": "Personnalisé"
|
||
},
|
||
"human": {
|
||
"disabled": "Analyse automatique désactivée",
|
||
"invalid": "Saisissez une planification valide pour voir un aperçu",
|
||
"hourly": "Toutes les heures",
|
||
"every6Hours": "Toutes les 6 heures",
|
||
"every12Hours": "Toutes les 12 heures",
|
||
"dailyMidnight": "Tous les jours à minuit",
|
||
"weeklyMonday": "Hebdomadaire le lundi à minuit",
|
||
"cron": "Cron : {cron}"
|
||
}
|
||
},
|
||
"access": {
|
||
"title": "Contrôle d'accès",
|
||
"description": "Les super-utilisateurs ont toujours un accès complet. Accordez l'accès aux autres utilisateurs ci-dessous.",
|
||
"notYetCreated": "L'accès peut être configuré après la création de la bibliothèque.",
|
||
"selectUser": "Sélectionnez un utilisateur...",
|
||
"grant": "Accorder",
|
||
"empty": "Aucun utilisateur n'a encore obtenu l'accès.",
|
||
"loading": "Chargement des paramètres d'accès...",
|
||
"userSelectAria": "Utilisateur pour accorder l'accès",
|
||
"levelSelectAria": "Niveau d'accès à accorder",
|
||
"levels": {
|
||
"viewer": "Lecture seule",
|
||
"editor": "Éditeur",
|
||
"owner": "Propriétaire"
|
||
},
|
||
"columns": {
|
||
"user": "Utilisateur",
|
||
"accessLevel": "Niveau d'accès"
|
||
},
|
||
"errors": {
|
||
"grant": "Échec de l'octroi de l'accès",
|
||
"updateLevel": "Échec de la mise à jour du niveau d'accès",
|
||
"revoke": "Échec de la révocation de l'accès"
|
||
}
|
||
}
|
||
},
|
||
"folderPicker": {
|
||
"title": "Parcourir les dossiers du serveur",
|
||
"description": "Sélectionnez un ou plusieurs dossiers pour cette bibliothèque.",
|
||
"closeAria": "Fermer le navigateur de dossiers",
|
||
"currentFolderAria": "Dossier actuel",
|
||
"parentFolder": "Aller au dossier parent",
|
||
"newFolder": "Nouveau dossier",
|
||
"goUp": "Monter",
|
||
"filterPlaceholder": "Filtrer les dossiers...",
|
||
"clearFilterAria": "Effacer le filtre de dossier",
|
||
"newFolderNamePlaceholder": "Nouveau nom de dossier",
|
||
"create": "Créer",
|
||
"loading": "Chargement des dossiers...",
|
||
"selectCurrent": "Sélectionner le dossier actuel",
|
||
"noMatches": "Aucun dossier correspondant",
|
||
"noMatchesHint": "Essayez un autre filtre.",
|
||
"empty": "Ce dossier est vide",
|
||
"emptyHint": "Vous pouvez sélectionner le dossier actuel ou en créer un nouveau.",
|
||
"openFolderAria": "Ouvrir {name}",
|
||
"selectedCount": "{count, plural, =0 {aucun dossier sélectionné} one {# dossier sélectionné} other {# dossiers sélectionnés} many {# dossiers sélectionnés}}",
|
||
"noFolders": "Aucun dossier trouvé",
|
||
"selectFolder": "Sélectionnez ce dossier",
|
||
"errors": {
|
||
"readDirectory": "Impossible de lire le répertoire",
|
||
"connect": "Impossible de se connecter",
|
||
"invalidName": "Entrez un seul nom de dossier sans barres obliques ni points de début",
|
||
"createFolder": "Impossible de créer le dossier"
|
||
}
|
||
},
|
||
"upload": {
|
||
"library": "Bibliothèque",
|
||
"selectLibrary": "Sélectionnez une bibliothèque...",
|
||
"targetFolder": "Dossier cible",
|
||
"addMoreFiles": "Ajouter plus de fichiers",
|
||
"clearAll": "Tout effacer",
|
||
"done": "Terminé",
|
||
"retry": "Réessayer",
|
||
"upload": "Envoyer",
|
||
"uploadWithCount": "Envoyer ({count})",
|
||
"viewInLibrary": "Afficher dans la bibliothèque",
|
||
"fileCount": "{count, plural, =0 {pas de fichiers} one {# fichier} other {# fichiers} many {# fichiers}}",
|
||
"booksAdded": "{count, plural, =0 {aucun livre ajouté} one {# livre ajouté} other {# livres ajoutés} many {# livres ajoutés}}",
|
||
"uploadedFailed": "{done} envoyé, {failed} a échoué",
|
||
"progress": "{done} sur {total} en cours d'envoi...",
|
||
"header": {
|
||
"uploading": "Envoi en cours...",
|
||
"complete": "Envoi terminé",
|
||
"uploadTo": "Envoyer vers {library}",
|
||
"uploadBooks": "Envoyer des livres"
|
||
},
|
||
"dropzone": {
|
||
"title": "Déposez les fichiers ici ou cliquez pour parcourir",
|
||
"hint": "{formats} - jusqu'à {size} Mo chacun"
|
||
}
|
||
}
|
||
},
|
||
"metadataScore": {
|
||
"missingFields": "{count, plural, =0 {aucun champ manquant - modifier les métadonnées} one {# champ manquant - modifier les métadonnées} other {# champs manquants - modifier les métadonnées} many {# champs manquants - modifier les métadonnées}}"
|
||
},
|
||
"migration": {
|
||
"sidebarTitle": "Importation de livres",
|
||
"importTitle": "Importation de bibliothèque",
|
||
"status": {
|
||
"done": "Terminé",
|
||
"saved": "Enregistré",
|
||
"running": "Courir",
|
||
"failed": "Échec"
|
||
},
|
||
"badge": {
|
||
"validated": "Validé",
|
||
"upToDate": "À jour",
|
||
"completed": "Terminé"
|
||
},
|
||
"steps": {
|
||
"source": {
|
||
"short": "Connexion source",
|
||
"title": "Connexion source",
|
||
"subtitle": "Configurez la connexion à la base de données à votre instance Booklore source.",
|
||
"genericSubtitle": "Configurez la connexion à votre application de bibliothèque source."
|
||
},
|
||
"mappings": {
|
||
"short": "Cartographie des utilisateurs et des chemins",
|
||
"title": "Cartographie des utilisateurs et des chemins",
|
||
"subtitle": "Mappez les utilisateurs source avec les utilisateurs cibles et traduisez les chemins de fichiers."
|
||
},
|
||
"dryRun": {
|
||
"short": "Simulation",
|
||
"title": "Simulation",
|
||
"subtitle": "Prévisualisez ce qui sera importé avant d'exécuter la migration en direct."
|
||
},
|
||
"migration": {
|
||
"short": "Exécuter la migration",
|
||
"title": "Exécuter la migration",
|
||
"subtitle": "Démarrez l'importation en direct et suivez sa progression."
|
||
},
|
||
"report": {
|
||
"short": "Rapport",
|
||
"title": "Rapport de migration",
|
||
"subtitle": "Vérifiez ce qui a été importé et exportez un rapport détaillé."
|
||
}
|
||
},
|
||
"footer": {
|
||
"continueToMappings": "Continuer vers les mappages",
|
||
"continueToDryRun": "Continuer vers la simulation",
|
||
"continueToMigration": "Continuer vers la migration",
|
||
"viewReport": "Afficher le rapport",
|
||
"resetSetup": "Réinitialiser la configuration",
|
||
"stepOf": "Étape {current} sur {total}",
|
||
"backToSetup": "Retour à la configuration"
|
||
},
|
||
"stages": {
|
||
"init": "Initialisation",
|
||
"sharedOverlays": "Importer des métadonnées",
|
||
"bookCovers": "Importer des couvertures",
|
||
"userState": "Importer des données utilisateur"
|
||
},
|
||
"source": {
|
||
"testConnection": "Tester la connexion",
|
||
"saveAndValidate": "Enregistrer et valider",
|
||
"validatedWithWarnings": "Source validée avec avertissements",
|
||
"types": {
|
||
"booklore": "Booklore",
|
||
"grimmory": "Grimmory",
|
||
"audiobookshelf": "Audiobookshelf",
|
||
"calibreWebAutomated": "Calibre-Web Automated"
|
||
},
|
||
"fields": {
|
||
"type": "Type de source",
|
||
"name": "Nom de la source",
|
||
"namePlaceholder": "Importation de bibliothèque",
|
||
"host": "Hôte",
|
||
"port": "Port",
|
||
"user": "Utilisateur",
|
||
"password": "Mot de passe",
|
||
"passwordSaved": "Enregistré - laisser inchangé",
|
||
"passwordNotSet": "Aucun mot de passe défini",
|
||
"showSecret": "Afficher le secret",
|
||
"hideSecret": "Masquer le secret",
|
||
"database": "Base de données",
|
||
"mediaRootPath": "Chemin racine du média",
|
||
"ssl": "Utiliser TLS/SSL",
|
||
"connectionMode": "Mode de connexion",
|
||
"apiMode": "API en direct",
|
||
"backupMode": "Fichier de sauvegarde",
|
||
"baseUrl": "URL d'Audiobookshelf",
|
||
"apiToken": "Jeton API",
|
||
"apiTokenPlaceholder": "Saisissez un jeton API administrateur",
|
||
"secretSaved": "Enregistré - ne pas modifier",
|
||
"allowPrivateNetwork": "Autoriser l'accès au réseau privé",
|
||
"allowPrivateNetworkHint": "Activez cette option uniquement si Audiobookshelf est hébergé sur un réseau local ou privé de confiance.",
|
||
"backupPath": "Chemin du fichier de sauvegarde",
|
||
"backupPathHint": "Saisissez un chemin absolu du serveur dans le répertoire d'importation de migration configuré.",
|
||
"cwaAppDatabasePath": "Instantané app.db de Calibre-Web Automated",
|
||
"cwaAppDatabasePathPlaceholder": "/imports/calibre-web-automated/app.db",
|
||
"cwaMetadataDatabasePath": "Instantané metadata.db de Calibre",
|
||
"cwaMetadataDatabasePathPlaceholder": "/imports/calibre-web-automated/metadata.db"
|
||
},
|
||
"validation": {
|
||
"nameRequired": "Le nom de la source est requis",
|
||
"databaseFieldsRequired": "L'hôte, l'utilisateur, la base de données et le nom de la source sont requis",
|
||
"apiFieldsRequired": "L'URL d'Audiobookshelf, le jeton API et le nom de la source sont requis",
|
||
"baseUrlInvalid": "L'URL d'Audiobookshelf doit être une origine HTTP ou HTTPS valide, sans chemin",
|
||
"backupPathRequired": "Le chemin du fichier de sauvegarde et le nom de la source sont requis",
|
||
"backupPathAbsolute": "Le chemin du fichier de sauvegarde doit être absolu",
|
||
"cwaAppDatabasePathRequired": "Le chemin de l'instantané app.db de Calibre-Web Automated est requis",
|
||
"cwaAppDatabasePathAbsolute": "Le chemin de l'instantané app.db de Calibre-Web Automated doit être absolu",
|
||
"cwaMetadataDatabasePathRequired": "Le chemin de l'instantané metadata.db de Calibre est requis",
|
||
"cwaMetadataDatabasePathAbsolute": "Le chemin de l'instantané metadata.db de Calibre doit être absolu"
|
||
},
|
||
"cwa": {
|
||
"snapshotTitle": "Mode instantané à l'arrêt",
|
||
"stoppedWarning": "Arrêtez Calibre-Web Automated avant de copier les deux bases de données. BookOrbit ne peut pas vérifier que les deux instantanés ont été copiés exactement au même instant.",
|
||
"importRootGuidance": "Les deux fichiers instantanés doivent se trouver sur des chemins du serveur lisibles, sous le répertoire MIGRATION_IMPORT_ROOT configuré.",
|
||
"logicalRootGuidance": "Le mappage des chemins de livres utilise la racine logique de la bibliothèque Calibre stockée dans app.db, et non le dossier hôte contenant ces instantanés de base de données.",
|
||
"compatibilityNote": "Le comportement du schéma est vérifié avec Calibre-Web Automated v4.0.6. Ses bases de données n'exposent pas de version fiable de l'application."
|
||
},
|
||
"mediaPath": {
|
||
"hintRequired": "Obligatoire pour la migration des couvertures de livres.",
|
||
"hintAbsolute": "Utilisez un chemin absolu (par exemple : /books). Les chemins relatifs ne sont pas pris en charge.",
|
||
"hintConfigured": "Chemin d'importation de couverture configuré. Utilisez Test Connection pour vérifier l'accès et la structure des dossiers d'images Booklore.",
|
||
"buttonOk": "Chemin OK",
|
||
"buttonIssue": "Problème de chemin",
|
||
"buttonTest": "Chemin de test"
|
||
},
|
||
"compatibility": {
|
||
"title": "Compatibilité testée",
|
||
"verifiedAgainst": "Vérifié par rapport à :",
|
||
"note": "Les versions ultérieures sont probablement compatibles mais n'ont pas été vérifiées. Exécutez d'abord un essai à sec pour confirmer avant de valider les données."
|
||
},
|
||
"snapshot": {
|
||
"title": "Dernier instantané de validation",
|
||
"sourceVersion": "Version source : {version}",
|
||
"unknown": "Inconnu",
|
||
"missingTables": "Tables obligatoires manquantes : {tables}"
|
||
}
|
||
},
|
||
"mappings": {
|
||
"suggestionsAutoLoad": "Les suggestions des utilisateurs se chargent automatiquement après validation de la source.",
|
||
"refresh": "Actualiser",
|
||
"sourceUser": "Utilisateur source",
|
||
"targetUser": "Utilisateur cible",
|
||
"doNotImport": "Ne pas importer cet utilisateur",
|
||
"noSourceUsersLoaded": "Aucun utilisateur source n'a encore été chargé.",
|
||
"noActiveTargetUsers": "Aucun utilisateur cible actif trouvé. Créez ou réactivez un utilisateur BookOrbit avant le mappage.",
|
||
"pathPrefixMappings": "Mappages de préfixes de chemin",
|
||
"addMapping": "Ajouter un mappage",
|
||
"pathMappingsExplanation": "Les mappages de chemin traduisent les chemins des fichiers source en chemins cibles afin que les livres puissent être mis en correspondance par emplacement de fichier. Les livres correspondent également à ISBN, au hachage de fichier et au titre/auteur, quels que soient les mappages de chemin.",
|
||
"noPrefixesFound": "Aucun préfixe trouvé - validez d'abord la source",
|
||
"selectSourcePrefix": "Sélectionnez le préfixe source...",
|
||
"selectTargetFolder": "Sélectionnez le dossier cible...",
|
||
"remove": "Supprimer",
|
||
"saveMappings": "Enregistrer les mappages",
|
||
"pathValidation": {
|
||
"title": "Validation du chemin",
|
||
"mappedSummary": "{mapped} des {total} livres sources ont un chemin cartographié",
|
||
"unmatched": "{count} chemins mappés introuvables sur le disque",
|
||
"allMatched": "Tous les chemins mappés {count} trouvés sur le disque"
|
||
}
|
||
},
|
||
"dryRun": {
|
||
"run": "Exécuter un essai à sec",
|
||
"matched": "Correspondances :",
|
||
"unresolved": "Non résolu :",
|
||
"duplicates": "Doublons :",
|
||
"unresolvedSummary": "Résumé non résolu"
|
||
},
|
||
"duplicates": {
|
||
"title": "Résoudre les correspondances de cibles en double",
|
||
"explanation": "Pour chaque livre cible, choisissez un livre source à conserver. Les choix recommandés sont présélectionnés lorsqu'il existe une seule correspondance la plus forte.",
|
||
"remainingGroups": "Groupes restants :",
|
||
"ofCount": "de {total}",
|
||
"targetBookId": "Livre cible #{id}",
|
||
"recommended": "Recommandé",
|
||
"resolveButton": "{count, plural, =0 {Résoudre # dupliquer} one {Résoudre # dupliquer} other {Résoudre # doublons} many {Résoudre # doublons}}",
|
||
"sourceRecordId": "ID de l'enregistrement source #{id}",
|
||
"byAuthor": "par {author} (ID : {id})",
|
||
"byFilePath": "{filePath} (ID : {id})",
|
||
"bookloreSourceId": "ID de la source du livre : {id}",
|
||
"libraryBookId": "Livre de bibliothèque #{id}"
|
||
},
|
||
"preflight": {
|
||
"title": "Vérifications préalables",
|
||
"allPassed": "Tous les contrôles sont réussis - prêt à migrer",
|
||
"sourceValidated": "Source validée",
|
||
"saveAndValidateSource": "Enregistrer et valider la connexion source",
|
||
"validateSourceConnection": "Valider la connexion source",
|
||
"mappingsSaved": "Mappages enregistrés",
|
||
"saveUserAndPathMappings": "Enregistrer les mappages d'utilisateurs et de chemins",
|
||
"pathMappingsValidated": "Mappages de chemins validés",
|
||
"savePathMappingsToValidate": "Enregistrez les mappages de chemin pour les valider",
|
||
"dryRunUpToDate": "Le test à sec est à jour",
|
||
"runFreshDryRun": "Exécutez un nouvel essai à sec",
|
||
"issues": {
|
||
"saveSource": "Enregistrer les paramètres de connexion source",
|
||
"validateSource": "Valider la connexion source",
|
||
"saveMappings": "Enregistrer les mappages d'utilisateurs et de chemins",
|
||
"savePathMappings": "Enregistrez les mappages de chemin pour les valider",
|
||
"freshDryRun": "Exécutez un nouvel essai à sec",
|
||
"resolveDuplicates": "Résoudre les correspondances de livres cibles en double lors de l'essai à sec",
|
||
"waitForRun": "Attendez la fin de l'exécution active"
|
||
}
|
||
},
|
||
"run": {
|
||
"confirmPrompt": "Cela lancera la migration en direct. Êtes-vous sûr ?",
|
||
"confirmStart": "Confirmer le démarrage",
|
||
"startMigration": "Démarrer la migration",
|
||
"cancelRun": "Annuler l'exécution",
|
||
"refreshStatus": "Actualiser le statut",
|
||
"pollingStopped": "L'interrogation d'état s'est arrêtée en raison d'une erreur.",
|
||
"retry": "Réessayer",
|
||
"stage": "Étape : {stage}",
|
||
"initializing": "initialisation",
|
||
"ended": "Terminé {time}"
|
||
},
|
||
"report": {
|
||
"noRunYet": "Aucune migration n'a encore été exécutée. Suivez les étapes ci-dessus pour commencer.",
|
||
"runNumber": "Exécutez #{id}",
|
||
"notStarted": "Pas démarré",
|
||
"reloadReport": "Recharger le rapport",
|
||
"loadFullReport": "Charger le rapport complet",
|
||
"exportJson": "Exporter JSON",
|
||
"exportCsv": "Exporter CSV",
|
||
"migrationFailed": "Échec de la migration",
|
||
"retryFromLastStage": "Réessayer depuis la dernière étape terminée",
|
||
"booksSection": "Livres",
|
||
"metadataOverlays": "Superpositions de métadonnées appliquées",
|
||
"authorMappings": "Mappages d'auteur remplacés",
|
||
"narratorMappings": "Mappages du narrateur remplacés",
|
||
"genreMappings": "Les mappages de genre remplacés",
|
||
"tagMappings": "Mappages de balises remplacés",
|
||
"coversImported": "Couvertures importées",
|
||
"coverImportSkipped": "Importation de la couverture ignorée : chemin racine du média non configuré",
|
||
"couldNotMatch": "Impossible de correspondre",
|
||
"userDataSection": "Données utilisateur",
|
||
"readingStatuses": "Statuts de lecture",
|
||
"readingProgressEntries": "Lecture des entrées de progression",
|
||
"audiobookProgressEntries": "Entrées de progression du livre audio",
|
||
"readingSessions": "Séances de lecture",
|
||
"bookmarks": "Signets",
|
||
"annotations": "Annotations",
|
||
"collectionEntries": "Entrées de collection",
|
||
"loadFullReportHint": "Cliquez sur « Charger le rapport complet » pour inclure le résumé des correspondances à sec dans le rapport exporté.",
|
||
"completedNoIssues": "Migration terminée sans livres ni échecs non résolus.",
|
||
"matchedBooks": "Livres correspondants ({count})",
|
||
"matchedBooksExplanation": "Ces correspondances à sec ont été utilisées pour décider quels livres de bibliothèque recevaient des données importées.",
|
||
"sourceBook": "Livre source {id}",
|
||
"libraryBook": "Livre de bibliothèque {id}",
|
||
"unresolvedBooks": "Livres non résolus ({count})",
|
||
"unresolvedBooksExplanation": "Ces livres existent dans la source mais n'ont pu être associés à aucun livre de votre bibliothèque.",
|
||
"mappedUsers": "Utilisateurs mappés ({count})",
|
||
"mappedUsersExplanation": "Les totaux par utilisateur proviennent de l'aperçu d'exécution à sec mis en cache avec le plan de migration.",
|
||
"coverFailures": "Nombre d'échecs d'importation de couverture : {count}. Les détails des échecs ne sont pas conservés.",
|
||
"userPreviewCounts": "{statuses} statuts, {progress} entrées de progression, {sessions} sessions de lecture, {bookmarks} signets, {annotations} annotations, {collections} entrées de collection"
|
||
},
|
||
"unresolvedReason": {
|
||
"noTitleAuthorMatch": "Aucun livre correspondant trouvé par titre ou par auteur",
|
||
"noFilePathMatch": "Le chemin du fichier ne correspond à aucun livre de cette bibliothèque",
|
||
"noFileHashMatch": "Le hachage du fichier ne correspond à aucun livre de cette bibliothèque",
|
||
"noIsbnMatch": "ISBN ne correspond à aucun livre de cette bibliothèque",
|
||
"noAsinMatch": "L'ASIN ne correspond à aucun livre de cette bibliothèque",
|
||
"insufficientSourceData": "Pas assez de métadonnées pour tenter une correspondance",
|
||
"ambiguousIsbnMatch": "Plusieurs livres correspondent au même ISBN",
|
||
"ambiguousAsinMatch": "Plusieurs livres correspondent au même ASIN",
|
||
"ambiguousFileHashMatch": "Plusieurs livres correspondaient au même hachage de fichier",
|
||
"ambiguousFilePathMatch": "Plusieurs livres correspondaient au même chemin de fichier",
|
||
"ambiguousTitleAuthorMatch": "Plusieurs livres correspondaient au même titre et au même auteur",
|
||
"unknown": "Impossible de déterminer la raison"
|
||
},
|
||
"matchStrategy": {
|
||
"isbn": "Correspondant à ISBN",
|
||
"asin": "Correspondance par ASIN",
|
||
"fileHash": "Correspondance par hachage de fichier",
|
||
"pathMapping": "Correspondant au chemin du fichier mappé",
|
||
"titleAuthor": "Assorti par titre et auteur",
|
||
"unavailable": "Stratégie de correspondance indisponible"
|
||
},
|
||
"connectionError": {
|
||
"unreachable": "Impossible d'atteindre le serveur de base de données. Vérifiez l'hôte et le port.",
|
||
"authFailed": "L'authentification a échoué. Vérifiez le nom d'utilisateur et le mot de passe.",
|
||
"databaseNotFound": "Base de données introuvable. Vérifiez le nom de la base de données.",
|
||
"timeout": "La connexion a expiré. Vérifiez les paramètres de l'hôte et du pare-feu.",
|
||
"generic": "Le test de connexion a échoué"
|
||
},
|
||
"userSelect": {
|
||
"placeholder": "Sélectionner un utilisateur",
|
||
"noUsersFound": "Aucun utilisateur trouvé"
|
||
},
|
||
"toast": {
|
||
"initFailed": "Échec de l'initialisation des paramètres de migration",
|
||
"loadSupportedTypesFailed": "Échec du chargement des types de sources de migration pris en charge",
|
||
"loadTargetUsersFailed": "Échec du chargement des utilisateurs cibles",
|
||
"loadTargetFoldersFailed": "Échec du chargement des dossiers de la bibliothèque cible",
|
||
"noSourceUsers": "Aucun utilisateur source n'a été renvoyé",
|
||
"suggestionsLoaded": "Suggestions de mappage utilisateur chargées",
|
||
"loadSuggestionsFailed": "Échec du chargement des suggestions de mappage utilisateur",
|
||
"sourceFieldsRequired": "L'hôte, l'utilisateur, la base de données et le nom de la source sont requis",
|
||
"connectionPassedWithWarnings": "Test de connexion réussi avec avertissements",
|
||
"connectionPassedWithWarningCount": "Test de connexion réussi. Nombre d'avertissements : {count}. Premier : {warning}",
|
||
"connectionPassed": "Test de connexion réussi",
|
||
"connectionMissingTables": "Connexion établie, mais nombre de tables requises manquantes : {count}",
|
||
"cannotTestMediaWhileRunning": "Impossible de tester le chemin du support lorsqu'une exécution est active",
|
||
"mediaPathRequired": "Le chemin racine du média est requis pour l'importation de la couverture.",
|
||
"mediaPathAbsolute": "Utilisez un chemin absolu (par exemple : /books).",
|
||
"mediaPathVerified": "Chemin du média vérifié.",
|
||
"mediaPathValid": "Le chemin du média est valide et lisible",
|
||
"mediaPathValidationFailed": "La validation du chemin du média a échoué.",
|
||
"connectionFailedBeforeMedia": "Le test de connexion a échoué avant que la validation du chemin du support ne puisse être terminée.",
|
||
"cannotModifySourceWhileRunning": "Impossible de modifier la source lorsqu'une exécution est active",
|
||
"sourceSavedWithWarnings": "Source enregistrée et validée. Nombre d'avertissements : {count}",
|
||
"sourceSaved": "Source enregistrée et validée",
|
||
"saveSourceFailed": "Échec de l'enregistrement ou de la validation de la source",
|
||
"cannotSaveMappingsWhileRunning": "Impossible d'enregistrer les mappages lorsqu'une exécution est active",
|
||
"saveSourceFirst": "Enregistrez d'abord la source",
|
||
"mapAtLeastOneUser": "Mapper au moins un utilisateur source à un utilisateur cible",
|
||
"mapEveryUser": "Mappez chaque utilisateur source avant de l'enregistrer",
|
||
"pathValidationFailedButSaved": "La validation du chemin a échoué, mais le profil sera toujours enregistré",
|
||
"mappingsSaved": "Mappages enregistrés",
|
||
"saveMappingsFailed": "Échec de l'enregistrement des mappages",
|
||
"cannotDryRunWhileRunning": "Impossible d'exécuter un essai à blanc lorsqu'une exécution est active",
|
||
"saveMappingsFirst": "Enregistrez d'abord les mappages",
|
||
"dryRunCompleted": "Simulation terminée : {matched} correspondances, {unresolved} non résolues",
|
||
"dryRunFailed": "Échec de l'essai à sec",
|
||
"selectSourceForDuplicates": "Sélectionnez un livre source pour tous les {count} groupes en double",
|
||
"duplicatesResolved": "Correspondances en double résolues",
|
||
"resolveDuplicatesFailed": "Échec de la résolution des doublons",
|
||
"preflightNotReady": "Le contrôle en amont de la migration n'est pas prêt",
|
||
"runDryRunFirst": "Exécutez d'abord un essai à sec",
|
||
"runStarted": "La migration a démarré",
|
||
"startFailed": "Échec du démarrage de la migration",
|
||
"runCancelled": "Exécution de migration annulée",
|
||
"cancelFailed": "Échec de l'annulation de la migration",
|
||
"runRetried": "Nouvelle tentative d'exécution de migration – reprise à partir de la dernière étape terminée",
|
||
"retryFailed": "Échec de la nouvelle tentative de migration",
|
||
"loadProgressFailed": "Échec du chargement de la progression de l'exécution",
|
||
"startMigrationFirst": "Commencer la migration en premier",
|
||
"reportRefreshed": "Exécuter le rapport actualisé",
|
||
"loadReportFailed": "Échec du chargement du rapport d'exécution",
|
||
"reportExported": "Rapport exporté sous {format}",
|
||
"exportFailed": "Échec de l'exportation du rapport de migration"
|
||
}
|
||
},
|
||
"notifications": {
|
||
"title": "Notifications",
|
||
"description": "Consultez et gérez vos notifications.",
|
||
"markAllRead": "Marquer tout comme lu",
|
||
"clear": "Effacer",
|
||
"empty": "Aucune notification pour l'instant",
|
||
"loadMore": "Charger plus de notifications",
|
||
"dismiss": "Ignorer la notification",
|
||
"occurrences": "Est arrivé {count} fois",
|
||
"occurrencesShort": "x {count}",
|
||
"preferences": {
|
||
"title": "Notifications",
|
||
"subtitle": "Choisissez les catégories de notifications que vous souhaitez recevoir.",
|
||
"saving": "Sauvegarde...",
|
||
"unsavedChanges": "Modifications non enregistrées",
|
||
"saved": "Préférences de notification enregistrées",
|
||
"saveFailed": "Échec de l'enregistrement des préférences",
|
||
"savePreferenceFailed": "Échec de l'enregistrement des préférences",
|
||
"whatsNewToggle": "Afficher « Quoi de neuf » après les mises à jour",
|
||
"whatsNewToggleHint": "Une fenêtre contextuelle mettant en évidence les nouvelles fonctionnalités après les mises à jour de l'application. Les archives restent disponibles dans tous les cas.",
|
||
"groups": {
|
||
"library": "Bibliothèque",
|
||
"files": "Fichiers",
|
||
"integrations": "Intégrations",
|
||
"personal": "Personnel",
|
||
"app": "Mises à jour de l'application"
|
||
},
|
||
"enabledCount": "{enabled} sur {total} activés",
|
||
"levels": {
|
||
"off": {
|
||
"short": "Désactiver",
|
||
"description": "Ne me notifiez jamais à ce sujet."
|
||
},
|
||
"problems": {
|
||
"short": "Problèmes",
|
||
"description": "Me notifier uniquement lorsqu'il y a un problème ou que mon attention est nécessaire."
|
||
},
|
||
"all": {
|
||
"short": "Toutes",
|
||
"description": "Me notifier à chaque fois, même en cas de réussite."
|
||
}
|
||
},
|
||
"categories": {
|
||
"scanning": {
|
||
"label": "Analyse de la bibliothèque",
|
||
"description": "Lorsqu'une analyse de bibliothèque se termine, échoue ou détecte des livres manquants."
|
||
},
|
||
"metadata": {
|
||
"label": "Récupération des métadonnées",
|
||
"description": "Lorsque les recherches de métadonnées de vos livres aboutissent ou échouent."
|
||
},
|
||
"authorEnrichment": {
|
||
"label": "Enrichissement des auteurs",
|
||
"description": "Lorsque la récupération des biographies et des photos d'auteurs est terminée."
|
||
},
|
||
"fileWriteBack": {
|
||
"label": "Réécriture dans les fichiers",
|
||
"description": "Lorsque les métadonnées modifiées sont réécrites dans les fichiers de livres sur le disque."
|
||
},
|
||
"fileRename": {
|
||
"label": "Renommage de fichier",
|
||
"description": "Lorsqu'un fichier de livre est renommé pour correspondre à votre modèle de dénomination."
|
||
},
|
||
"bulkRename": {
|
||
"label": "Renommage groupé",
|
||
"description": "Lorsqu'un renommage groupé sur de nombreux livres aboutit ou échoue."
|
||
},
|
||
"migration": {
|
||
"label": "Migration des données",
|
||
"description": "Lorsqu'une importation depuis un autre outil de bibliothèque aboutit ou échoue."
|
||
},
|
||
"bookDock": {
|
||
"label": "Book Dock",
|
||
"description": "Lorsque les fichiers déposés dans Book Dock sont prêts à être examinés ou finalisés."
|
||
},
|
||
"koboSync": {
|
||
"label": "Synchronisation Kobo",
|
||
"description": "Lorsqu'un appareil Kobo termine la synchronisation avec votre bibliothèque."
|
||
},
|
||
"email": {
|
||
"label": "Envoi par e-mail",
|
||
"description": "Lorsque l'envoi d'un livre à une adresse e-mail réussit ou échoue."
|
||
},
|
||
"achievements": {
|
||
"label": "Succès",
|
||
"description": "Lorsque vous débloquez un nouveau succès de lecture."
|
||
},
|
||
"bookRequests": {
|
||
"label": "Demandes de livres",
|
||
"description": "Lorsqu'une demande de livre est envoyée, tranchée, ou que le livre devient disponible."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"reader": {
|
||
"retry": "Réessayer",
|
||
"pdf": {
|
||
"openError": "Impossible d'ouvrir ce PDF",
|
||
"preparing": "Préparation du lecteur PDF",
|
||
"opening": "Ouverture PDF",
|
||
"loading": "Chargement du PDF",
|
||
"loadFallback": "Le document n'a pas pu être chargé.",
|
||
"requestFailed": "La requête PDF a échoué avec le statut {status}.",
|
||
"emptyDocument": "La requête PDF a renvoyé un document vide.",
|
||
"managerError": "Le gestionnaire de documents PDF n'a pas pu être initialisé.",
|
||
"engineNoPages": "Le moteur PDF a ouvert ce document sans aucune page.",
|
||
"engineOpenError": "Le moteur de documents n'a pas pu ouvrir ce PDF.",
|
||
"noPages": "Ce PDF s'est ouvert sans aucune page",
|
||
"noPagesHint": "Rechargez le document pour corriger la réponse incomplète du moteur PDF.",
|
||
"externalLinkTitle": "Ouvrir le lien externe ?",
|
||
"externalLinkDescription": "Ce PDF demande à ouvrir {host} dans un nouvel onglet.",
|
||
"openLink": "Ouvrir le lien",
|
||
"annotationsLoadError": "Impossible de charger les passages surlignés de ce PDF.",
|
||
"loadingAnnotations": "Chargement des passages surlignés du PDF",
|
||
"loadMoreAnnotations": "Charger plus de passages surlignés",
|
||
"loadingMoreAnnotations": "Chargement d'autres passages surlignés...",
|
||
"sidebar": {
|
||
"pages": "Pages",
|
||
"contents": "Sommaire",
|
||
"search": "Recherche",
|
||
"tabsLabel": "Navigation dans le PDF",
|
||
"closeNavigation": "Fermer la navigation",
|
||
"goToPage": "Aller à la page {page}",
|
||
"noOutline": "Ce PDF ne contient pas de sommaire.",
|
||
"searchPlaceholder": "Rechercher dans ce PDF",
|
||
"clearSearch": "Effacer la recherche",
|
||
"matchCase": "Respecter la casse",
|
||
"wholeWord": "Mot entier",
|
||
"resultPosition": "{current} sur {total}",
|
||
"previousResult": "Résultat précédent",
|
||
"nextResult": "Résultat suivant",
|
||
"searchingPage": "Recherche dans la page {page} sur {total}",
|
||
"searchPrompt": "Saisissez un terme pour rechercher dans ce PDF.",
|
||
"searchTooShort": "Saisissez au moins {min} caractères pour rechercher dans ce PDF.",
|
||
"noSearchResults": "Aucun texte consultable ne correspond à votre recherche.",
|
||
"page": "Page {page}",
|
||
"filterOutline": "Filtrer le sommaire",
|
||
"noOutlineMatch": "Aucune entrée du sommaire ne correspond à votre filtre.",
|
||
"loadingOutline": "Chargement du sommaire",
|
||
"expandSection": "Développer {title}",
|
||
"collapseSection": "Réduire {title}",
|
||
"jumpToPage": "Aller à la page",
|
||
"resizePanel": "Redimensionner le panneau de navigation"
|
||
},
|
||
"toolbar": {
|
||
"navigation": "Navigation dans le document",
|
||
"previousPage": "Page précédente",
|
||
"currentPage": "Page actuelle",
|
||
"nextPage": "Page suivante",
|
||
"zoomOut": "Zoom arrière",
|
||
"zoomIn": "Zoom avant",
|
||
"panTool": "Outil main",
|
||
"pan": "Main",
|
||
"selectTool": "Outil de sélection de texte",
|
||
"selectText": "Sélectionner le texte",
|
||
"pinHeader": "Épingler l'en-tête du lecteur",
|
||
"unpinHeader": "Désépingler l'en-tête du lecteur",
|
||
"pinHeaderShort": "Épingler l'en-tête",
|
||
"unpinHeaderShort": "Désépingler l'en-tête",
|
||
"moreTools": "Plus d'outils PDF",
|
||
"settings": "Paramètres PDF"
|
||
}
|
||
},
|
||
"loadingBook": "Chargement du livre...",
|
||
"failedToLoadBook": "Échec du chargement du livre",
|
||
"chapterNumber": "Chapitre {number}",
|
||
"peek": {
|
||
"badge": "Aperçu",
|
||
"startReading": "Commencer la lecture"
|
||
},
|
||
"toast": {
|
||
"linkedHighlightError": "Impossible d'ouvrir la position du passage surligné lié",
|
||
"resumed": "Reprise à {pct} % - {label}"
|
||
},
|
||
"header": {
|
||
"goBack": "Retourner",
|
||
"tableOfContents": "Table des matières",
|
||
"toggleBookmark": "Activer/désactiver le signet",
|
||
"cycleFooterMode": "Mode d'information du pied de page du cycle",
|
||
"keyboardShortcutsHint": "Raccourcis clavier (?)",
|
||
"enterFullscreen": "Entrez en plein écran",
|
||
"exitFullscreen": "Quitter le plein écran",
|
||
"narrationPlaying": "Narration en cours",
|
||
"ttsPlaying": "Synthèse vocale en cours",
|
||
"listenWithNarrationShort": "Écouter (narration)",
|
||
"listen": "Écouter",
|
||
"listenWithNarration": "Écouter avec la narration",
|
||
"listenWithTts": "Écouter avec la synthèse vocale",
|
||
"footerMode": {
|
||
"pageProgress": "Infos de pied de page : page + progression",
|
||
"sessionTimeLeft": "Info pied de page : séance de lecture + temps restant",
|
||
"chapterTimeLeft": "Informations de pied de page : chapitre + temps restant du chapitre"
|
||
}
|
||
},
|
||
"footer": {
|
||
"previousSection": "Section précédente",
|
||
"nextSection": "Section suivante",
|
||
"goToPlaceholder": "45 ou p123",
|
||
"jumpToLocation": "Aller à l'emplacement",
|
||
"jumpTooltip": "Aller à % ou à la page (par exemple 45 ou p123)",
|
||
"go": "Allez"
|
||
},
|
||
"settings": {
|
||
"title": "Paramètres",
|
||
"ariaLabel": "Paramètres du lecteur",
|
||
"close": "Fermer les paramètres",
|
||
"reset": "Rétablir les valeurs par défaut",
|
||
"modeLabel": "Style de couleur",
|
||
"mode": {
|
||
"light": "Clair",
|
||
"dark": "Sombre"
|
||
},
|
||
"textSize": "Taille du texte",
|
||
"textSizeSmaller": "Texte plus petit",
|
||
"textSizeLarger": "Texte plus grand",
|
||
"pixels": "{value} px",
|
||
"percent": "{value} %",
|
||
"pageColor": "Couleur de la page",
|
||
"font": "Police",
|
||
"fontBuiltIn": "Intégrée",
|
||
"fontServer": "Polices du serveur",
|
||
"fontYours": "Vos polices",
|
||
"fontStyle": "Style",
|
||
"fontStyleItalicOf": "{style} italique",
|
||
"lineSpacing": "Interligne",
|
||
"paragraphSpacing": "Espacement des paragraphes",
|
||
"paragraphSpacingDefault": "Par défaut",
|
||
"paragraphSpacingValue": "{value} em",
|
||
"letterSpacing": "Espacement des lettres",
|
||
"wordSpacing": "Espacement des mots",
|
||
"textIndent": "Retrait de première ligne",
|
||
"bookDefault": "Livre",
|
||
"custom": "Personnalisé",
|
||
"emValue": "{value} em",
|
||
"pageWidth": "Largeur de page",
|
||
"pageWidthNarrow": "Étroite",
|
||
"pageWidthMedium": "Moyenne",
|
||
"pageWidthWide": "Large",
|
||
"pageWidthFull": "Pleine",
|
||
"readingFlow": "Mode de lecture",
|
||
"flow": {
|
||
"paginated": "Pages",
|
||
"scrolled": "Défilement"
|
||
},
|
||
"pageSpreads": "Double-pages",
|
||
"pageSpreadsHint": "Choisissez comment cet EPUB d'images affiche les pages.",
|
||
"spread": {
|
||
"bookDefault": "Par défaut",
|
||
"singlePage": "Page unique"
|
||
},
|
||
"advanced": "Mise en page avancée",
|
||
"columns": "Colonnes",
|
||
"columnsFewer": "Moins de colonnes",
|
||
"columnsMore": "Plus de colonnes",
|
||
"columnGap": "Espace de colonne",
|
||
"justifyText": "Justifier le texte",
|
||
"hyphenation": "Césure",
|
||
"themes": {
|
||
"default": "Par défaut",
|
||
"gray": "Gris",
|
||
"sepia": "Sépia",
|
||
"crimson": "Cramoisi",
|
||
"meadow": "Prairie",
|
||
"rosewood": "Rose-rouge",
|
||
"azure": "Azur",
|
||
"dawnlight": "Aube",
|
||
"ember": "Ambre",
|
||
"aurora": "Aurore",
|
||
"ocean": "Océan",
|
||
"mist": "Brume",
|
||
"amoled": "AMOLED"
|
||
},
|
||
"fonts": {
|
||
"bookDefault": "Police du livre par défaut",
|
||
"serif": "Serif",
|
||
"sansSerif": "Sans empattement",
|
||
"monospace": "Monospace"
|
||
}
|
||
},
|
||
"search": {
|
||
"placeholder": "Rechercher dans le livre (min {min} caractères)...",
|
||
"searching": "Recherche...",
|
||
"tooShort": "Saisissez au moins {min} caractères",
|
||
"noResults": "Aucun résultat trouvé",
|
||
"prompt": "Tapez pour rechercher",
|
||
"resultCount": "{count, plural, =0 {aucun résultat} one {# résultat} other {# résultats} many {# résultats}}"
|
||
},
|
||
"sidebar": {
|
||
"tabs": {
|
||
"chapters": "Chapitres",
|
||
"bookmarks": "Signets",
|
||
"highlights": "Passages surlignés",
|
||
"toc": "Table des matières",
|
||
"tocShort": "Table des matières",
|
||
"marksShort": "Marques",
|
||
"notesShort": "Remarques"
|
||
},
|
||
"pin": "Épingler la barre latérale",
|
||
"unpin": "Supprimer la barre latérale",
|
||
"close": "Fermer la barre latérale",
|
||
"noChapters": "Aucun chapitre trouvé",
|
||
"noBookmarks": "Pas encore de favoris",
|
||
"noBookmarksMatch": "Aucun signet ne correspond à vos filtres",
|
||
"noHighlights": "Aucun passage surligné pour l'instant",
|
||
"noHighlightsMatch": "Aucun surlignage ne correspond à vos filtres",
|
||
"searchBookmarks": "Rechercher des favoris...",
|
||
"searchHighlights": "Rechercher dans les passages surlignés...",
|
||
"bookmarkFallback": "Signet",
|
||
"locationUnavailable": "Emplacement indisponible",
|
||
"customColor": "Personnalisé ({color})",
|
||
"allColors": "Toutes les couleurs",
|
||
"allChapters": "Tous les chapitres",
|
||
"notesOnly": "Remarques uniquement",
|
||
"deleteBookmark": "Supprimer le favori",
|
||
"deleteHighlight": "Supprimer le surlignage",
|
||
"approximatePosition": "Synchronisé depuis l'appareil ; position exacte indisponible, passe au chapitre",
|
||
"sort": {
|
||
"readingOrder": "Ordre de lecture",
|
||
"newest": "Le plus récent en premier",
|
||
"oldest": "Le plus ancien en premier"
|
||
}
|
||
},
|
||
"selection": {
|
||
"copy": "Copier",
|
||
"copied": "Copié !",
|
||
"highlight": "Surligner",
|
||
"translate": "Traduire",
|
||
"define": "Définir",
|
||
"deleteAnnotation": "Supprimer l'annotation",
|
||
"apply": "Appliquer",
|
||
"color": "Couleur de l'annotation : {color}",
|
||
"style": "Style de l'annotation : {style}",
|
||
"styles": {
|
||
"highlight": "Surlignage",
|
||
"underline": "Soulignement",
|
||
"strikethrough": "Barré",
|
||
"squiggly": "Soulignement ondulé"
|
||
}
|
||
},
|
||
"note": {
|
||
"title": "Ajouter une remarque",
|
||
"placeholder": "Écrivez votre remarque..."
|
||
},
|
||
"dictionary": {
|
||
"noDefinition": "Aucune définition trouvée",
|
||
"loadError": "Impossible de charger la définition"
|
||
},
|
||
"translation": {
|
||
"original": "Originale",
|
||
"translation": "Traduction",
|
||
"translating": "Traduire...",
|
||
"noTranslation": "Pas encore de traduction",
|
||
"viaProvider": "via {provider}",
|
||
"copyTranslation": "Copier la traduction"
|
||
},
|
||
"shortcuts": {
|
||
"title": "Raccourcis clavier",
|
||
"groups": {
|
||
"panels": "Panneaux",
|
||
"reading": "Lecture",
|
||
"actions": "Actions"
|
||
},
|
||
"toggleToc": "Basculer la table des matières",
|
||
"toggleSearch": "Activer/désactiver la recherche",
|
||
"toggleHelp": "Afficher/masquer cette aide",
|
||
"closePanel": "Fermer le panneau",
|
||
"prevNextPage": "Page précédente/suivante",
|
||
"goToStart": "Aller au début du livre",
|
||
"goToEnd": "Aller à la fin du livre",
|
||
"toggleBookmark": "Activer/désactiver le signet",
|
||
"toggleFullscreen": "Basculer en plein écran",
|
||
"cycleFooterMode": "Mode d'information du pied de page du cycle"
|
||
},
|
||
"cbz": {
|
||
"fitMode": "Mode d'ajustement",
|
||
"background": "Contexte",
|
||
"scrollMode": "Mode défilement",
|
||
"scrollModeHint": "Utilisez « Pas d'espaces » pour les webtoons et les bandes verticales.",
|
||
"readingDirection": "Sens de lecture",
|
||
"autoAdvance": "Avance automatique",
|
||
"autoAdvanceHint": "Tourner après la dernière page ouvre le livre suivant de la série.",
|
||
"autoAdvancePagedOnly": "L'avance automatique ne s'applique qu'en mode paginé.",
|
||
"pageView": "Affichage des pages",
|
||
"twoPagePagedOnly": "Les double-pages ne sont affichées qu'en mode paginé.",
|
||
"spreadSection": "Double-pages étendues",
|
||
"spreadFallbackHint": "Cet écran est trop étroit pour les double-pages, affichage en page simple uniquement.",
|
||
"spreadAlignmentLabel": "Alignement de la propagation",
|
||
"spreadGap": "Écart de propagation",
|
||
"spreadGapValue": "{value}px",
|
||
"forceTwoPage": "Forcer deux pages",
|
||
"widePages": "Pages larges",
|
||
"firstPage": "Première page",
|
||
"lastPage": "Dernière page",
|
||
"zoomControls": "Contrôles du zoom",
|
||
"zoomOut": "Zoom arrière",
|
||
"zoomIn": "Zoom avant",
|
||
"fit": {
|
||
"page": "Ajustement de la page",
|
||
"width": "Largeur de page",
|
||
"height": "Hauteur des pages",
|
||
"actual": "Taille réelle"
|
||
},
|
||
"view": {
|
||
"single": "Une page",
|
||
"twoPage": "Deux pages"
|
||
},
|
||
"scroll": {
|
||
"paged": "Paginé",
|
||
"infinite": "Infini",
|
||
"noGaps": "Aucun trou"
|
||
},
|
||
"direction": {
|
||
"ltr": "De gauche à droite",
|
||
"rtl": "R à L"
|
||
},
|
||
"spreadAlignment": {
|
||
"normal": "Normale",
|
||
"shifted": "Décalé"
|
||
},
|
||
"widePage": {
|
||
"auto": "Automatique",
|
||
"inSpreads": "En tartinades"
|
||
},
|
||
"bg": {
|
||
"black": "Noir",
|
||
"gray": "Gris",
|
||
"white": "Blanc"
|
||
},
|
||
"nextIssue": {
|
||
"eyebrow": "Suivant dans la série",
|
||
"action": "Lire la suite",
|
||
"open": "Lire la suite : {title}",
|
||
"numbered": "#{index} {title}",
|
||
"untitled": "Sans titre",
|
||
"autoAdvanceHint": "Tournez à nouveau la page pour continuer"
|
||
}
|
||
},
|
||
"audiobook": {
|
||
"untitled": "Sans titre",
|
||
"loading": "Chargement du livre audio...",
|
||
"loadError": "Échec du chargement du livre audio",
|
||
"noAudioFiles": "Aucun fichier audio trouvé pour ce livre.",
|
||
"speed": "Vitesse",
|
||
"chapters": "Chapitres",
|
||
"bookmarks": "Signets",
|
||
"volume": "Volume",
|
||
"muted": "En sourdine",
|
||
"sleep": "Minuterie",
|
||
"chapterAbbrev": "Ch.",
|
||
"sleepTimer": "Minuterie de mise en veille",
|
||
"minutes": "{count, plural, one {# minute} other {# minutes} many {# minutes}}",
|
||
"endOfChapter": "Fin du chapitre",
|
||
"noChaptersAvailable": "Aucun chapitre disponible",
|
||
"extend15": "+ 15 minutes",
|
||
"timeLeft": "({time} restant)",
|
||
"playbackSpeed": "Vitesse de lecture",
|
||
"noChapters": "Aucun chapitre disponible.",
|
||
"noBookmarks": "Aucun signet pour l'instant.",
|
||
"noBookmarksHint": "Appuyez sur l'icône de signet en haut pour enregistrer votre position actuelle.",
|
||
"playerSettings": "Paramètres du lecteur",
|
||
"skipBack": "Revenir en arrière",
|
||
"skipForward": "Avancer"
|
||
},
|
||
"sheet": {
|
||
"expand": "Agrandir le panneau",
|
||
"collapse": "Réduire le panneau"
|
||
},
|
||
"narration": {
|
||
"fallbackTitle": "Narration",
|
||
"meta": "Narration audio – {speed}x",
|
||
"openControls": "Ouvrir les commandes de narration",
|
||
"previousSentence": "Phrase précédente",
|
||
"nextSentence": "Phrase suivante",
|
||
"play": "Lire la narration",
|
||
"pause": "Mettre la narration en pause",
|
||
"showControls": "Afficher les commandes",
|
||
"hideControls": "Masquer les commandes",
|
||
"stop": "Arrêter la narration",
|
||
"error": "Erreur de lecture de la narration"
|
||
}
|
||
},
|
||
"scanner": {
|
||
"filesProgress": "Fichiers {processed}/{total}",
|
||
"booksFound": "{count, plural, =0 {aucun livre trouvé} one {# livre trouvé} other {# livres trouvés} many {# livres trouvés}}"
|
||
},
|
||
"series": {
|
||
"completion": {
|
||
"readOfTotal": "{read} sur {total} lu ({percentage} %)"
|
||
},
|
||
"ownership": {
|
||
"label": "Dans la bibliothèque",
|
||
"ownedOfExpected": "{owned} de {expected} dans la bibliothèque"
|
||
},
|
||
"gaps": {
|
||
"label": "Trous possibles :",
|
||
"missingCount": "{count, plural, one {# manquant} other {# manquants} many {# manquants}}",
|
||
"missingList": "Manquants : {list}",
|
||
"previewMore": "{shown} +{count}"
|
||
},
|
||
"filters": {
|
||
"title": "Filtres de série",
|
||
"clearAll": "Tout effacer",
|
||
"allLibraries": "Toutes les bibliothèques",
|
||
"allCompletion": "Tout achèvement",
|
||
"notStarted": "Pas démarré",
|
||
"inProgress": "En cours",
|
||
"complete": "Terminé"
|
||
},
|
||
"list": {
|
||
"title": "Série",
|
||
"showControlsAria": "Afficher les contrôles de série",
|
||
"searchPlaceholder": "Rechercher une série ou un auteur",
|
||
"sortButton": "Trier",
|
||
"sortBy": "Trier par",
|
||
"ascending": "Ascendant",
|
||
"descending": "Décroissant",
|
||
"ascShort": "Asc.",
|
||
"descShort": "Description",
|
||
"filters": "Filtres",
|
||
"clear": "Effacer",
|
||
"noMatch": "Aucune série ne correspond à vos filtres.",
|
||
"empty": "Aucune série trouvée dans vos bibliothèques.",
|
||
"sort": {
|
||
"name": "Nom",
|
||
"bookCount": "Nombre de livres",
|
||
"recentAdditions": "Ajouts récents",
|
||
"readingProgress": "Progrès en lecture"
|
||
},
|
||
"clearSearch": "Effacer la recherche",
|
||
"noMatchHint": "Essayez une autre bibliothèque, ou effacez les filtres actifs.",
|
||
"emptyHint": "Les séries apparaissent dès que vos livres portent des métadonnées de série."
|
||
},
|
||
"detail": {
|
||
"pageTitle": "Série",
|
||
"pageTitleNamed": "Série · {name}",
|
||
"pageTitleWithId": "Série #{id}",
|
||
"entityName": "Série",
|
||
"bookCount": "{count, plural, =0 {pas de livres} one {# livre} other {# livres} many {# livres}}",
|
||
"byAuthors": "par {authors}",
|
||
"moreAuthors": "+{count} plus",
|
||
"preparingEditor": "Préparation de l'éditeur...",
|
||
"editMetadata": "Modifier les métadonnées",
|
||
"firstInSeries": "Premier de la série",
|
||
"untitled": "Sans titre",
|
||
"loadingFirstBook": "Chargement de l'aperçu du premier livre...",
|
||
"showLess": "Afficher moins",
|
||
"showMore": "Afficher plus",
|
||
"moreGenres": "+{count} plus",
|
||
"synopsis": "Résumé",
|
||
"noDescription": "Aucune description disponible.",
|
||
"updatingPreview": "Mise à jour de l'aperçu...",
|
||
"noBooksToPreview": "Aucun livre disponible en aperçu.",
|
||
"loadingSeries": "Chargement de la série...",
|
||
"booksHeading": "Livres",
|
||
"allLibraries": "Toutes les bibliothèques",
|
||
"groupByMedia": "Regrouper par média",
|
||
"noBooksFound": "Aucun livre trouvé dans cette série",
|
||
"trySelectingLibrary": "Essayez de sélectionner une autre bibliothèque.",
|
||
"allBooksLoaded": "Tous les {count} livres chargés",
|
||
"leadBookLoadError": "Échec du chargement des détails du livre principal",
|
||
"noBooksToEdit": "Cette série n'a aucun livre à éditer.",
|
||
"loadFullSeriesError": "Échec du chargement de la série complète pour modification.",
|
||
"sort": {
|
||
"seriesOrder": "Commande de série",
|
||
"title": "Titre",
|
||
"recentlyAdded": "Récemment ajouté"
|
||
},
|
||
"order": {
|
||
"ascending": "Ascendant",
|
||
"descending": "Décroissant"
|
||
}
|
||
},
|
||
"authorsPlus": "{authors} +{count}",
|
||
"track": {
|
||
"readCount": "{count, plural, one {# lu} other {# lus} many {# lus}}",
|
||
"readingCount": "{count, plural, one {# en cours} other {# en cours} many {# en cours}}",
|
||
"unreadCount": "{count, plural, one {# non lu} other {# non lus} many {# non lus}}",
|
||
"missingCount": "{count, plural, one {# manquant} other {# manquants} many {# manquants}}",
|
||
"slotMissing": "{number} absent de la bibliothèque",
|
||
"untitled": "Sans titre"
|
||
},
|
||
"legend": {
|
||
"read": "Lu",
|
||
"reading": "En cours",
|
||
"unread": "En bibliothèque",
|
||
"missing": "Manquant"
|
||
},
|
||
"status": {
|
||
"label": "Filtrer les séries par statut de lecture",
|
||
"all": "Toutes",
|
||
"reading": "En cours",
|
||
"unread": "Non commencées",
|
||
"complete": "Complètes",
|
||
"gaps": "Incomplètes",
|
||
"read": "Lue",
|
||
"inProgress": "En cours",
|
||
"hasGaps": "Avec des trous",
|
||
"notStarted": "Non commencées"
|
||
},
|
||
"index": {
|
||
"columnSeries": "Série",
|
||
"columnVolumes": "Volumes",
|
||
"columnRead": "Lus",
|
||
"columnNext": "À suivre",
|
||
"columnAdded": "Ajout",
|
||
"percent": "{value} %",
|
||
"captionReading": "{base} · {count, plural, one {# en cours} other {# en cours} many {# en cours}}",
|
||
"finished": "Lue de bout en bout",
|
||
"reading": "En cours",
|
||
"next": "Suivant",
|
||
"start": "Commencer"
|
||
},
|
||
"grouping": {
|
||
"label": "Grouper par",
|
||
"none": "Aucun regroupement",
|
||
"letter": "Par lettre",
|
||
"library": "Par bibliothèque",
|
||
"status": "Par statut"
|
||
},
|
||
"libraries": {
|
||
"more": "+{count}"
|
||
},
|
||
"card": {
|
||
"oneVolume": "Un volume",
|
||
"oneVolumeShort": "1 vol",
|
||
"volumeCount": "{count, plural, one {# volume} other {# volumes} many {# volumes}}",
|
||
"readSummary": "{base} · {read} lus",
|
||
"publishedOf": "{owned} sur {total} parus",
|
||
"complete": "Complète",
|
||
"moreVolumes": "{count, plural, one {# volume de plus} other {# volumes de plus} many {# volumes de plus}}",
|
||
"label": "{name}, {read} volumes lus sur {total}"
|
||
}
|
||
},
|
||
"smartScope": {
|
||
"syncToKobo": "Synchroniser avec Kobo",
|
||
"syncToKoboHint": "Les livres correspondant à cette portée apparaîtront sur votre appareil Kobo",
|
||
"visibleToAll": "Visible pour tous les utilisateurs",
|
||
"visibleToAllHint": "Tous les utilisateurs peuvent consulter et utiliser cette liste intelligente",
|
||
"dialog": {
|
||
"name": "Nom",
|
||
"namePlaceholder": "par ex. Science-fiction non lue",
|
||
"icon": "Icône",
|
||
"iconPlaceholder": "Choisissez une icône...",
|
||
"nameRequired": "Le nom est requis",
|
||
"iconRequired": "Choisissez une icône",
|
||
"create": "Créer",
|
||
"creating": "Création...",
|
||
"saving": "Sauvegarde..."
|
||
},
|
||
"createDialog": {
|
||
"title": "Nouvelle liste intelligente",
|
||
"podcastTitle": "Nouvelle playlist intelligente",
|
||
"createFailed": "Échec de la création de la liste intelligente"
|
||
},
|
||
"saveAsDialog": {
|
||
"title": "Enregistrer comme liste intelligente",
|
||
"save": "Enregistrer la liste intelligente",
|
||
"saveFailed": "Échec de l'enregistrement de la liste intelligente"
|
||
},
|
||
"editorPanel": {
|
||
"untitled": "Liste intelligente sans titre",
|
||
"subtitle": "Configurez les paramètres de la liste intelligente",
|
||
"counting": "compter...",
|
||
"bookCount": "{count, plural, =0 {pas de livres} one {un livre} other {# livres} many {# livres}}",
|
||
"identity": "Identité",
|
||
"filters": "Filtres",
|
||
"noFilters": "Aucun filtre défini. Tous les livres accessibles seront inclus dans cette liste intelligente.",
|
||
"buildFromScratch": "Construire à partir de zéro",
|
||
"replaceWithTemplate": "Remplacer par le modèle :",
|
||
"defaultSort": "Tri par défaut",
|
||
"saveChanges": "Enregistrer les modifications",
|
||
"saveFailed": "Échec de l'enregistrement",
|
||
"templates": {
|
||
"hasSeries": "A une série",
|
||
"addedRecently": "Ajouté récemment",
|
||
"pdfOnly": "PDF uniquement",
|
||
"noGenres": "Aucun genre",
|
||
"epubOnly": "EPUB uniquement"
|
||
}
|
||
},
|
||
"errors": {
|
||
"load": "Impossible de charger vos listes intelligentes",
|
||
"loadEpisodes": "Impossible de charger les épisodes de cette playlist intelligente",
|
||
"save": "Impossible d'enregistrer la liste intelligente",
|
||
"delete": "Impossible de supprimer la liste intelligente",
|
||
"reorder": "Impossible de réordonner les listes intelligentes",
|
||
"koboSync": "Impossible de mettre à jour la synchronisation Kobo de cette liste intelligente"
|
||
}
|
||
},
|
||
"statistics": {
|
||
"tabs": {
|
||
"library": "Statistiques de la bibliothèque",
|
||
"user": "Ma lecture"
|
||
},
|
||
"filter": {
|
||
"allLibraries": "Toutes les bibliothèques",
|
||
"librarySelection": "{count} bibliothèques sur {total}"
|
||
},
|
||
"config": {
|
||
"button": "Configurer",
|
||
"title": "Configurer les graphiques",
|
||
"description": "Faites glisser pour réorganiser, basculez pour afficher ou masquer.",
|
||
"reset": "Réinitialiser aux valeurs par défaut"
|
||
},
|
||
"summary": {
|
||
"books": "Livres",
|
||
"authors": "Auteurs",
|
||
"series": "Série",
|
||
"publishers": "Éditeurs",
|
||
"storage": "Stockage",
|
||
"genres": "Genres",
|
||
"languages": "Langues",
|
||
"published": "Publié",
|
||
"thisYear": "Cette année",
|
||
"started": "Commencé",
|
||
"inProgress": "En cours",
|
||
"completed": "Terminé",
|
||
"avgProgress": "Progression moyenne"
|
||
},
|
||
"card": {
|
||
"loadError": "Échec du chargement des données",
|
||
"emptyTitle": "Aucune donnée pour l'instant",
|
||
"emptyDescription": "Aucune donnée disponible pour ce graphique",
|
||
"unknownField": "{count, plural, =0 {aucune donnée pour ce champ} one {# le livre n'a pas de données pour ce champ} other {# les livres n'ont pas de données pour ce champ} many {# les livres n'ont pas de données pour ce champ}}"
|
||
},
|
||
"breakdown": {
|
||
"ariaLabel": "Répartition par source ou format"
|
||
},
|
||
"empty": {
|
||
"notEnoughData": "Pas encore assez de données"
|
||
},
|
||
"charts": {
|
||
"acquisitionLag": {
|
||
"title": "Décalage d'acquisition"
|
||
},
|
||
"booksAddedOverTime": {
|
||
"title": "Livres ajoutés au fil du temps",
|
||
"monthly": "Mensuel",
|
||
"yearly": "Annuel",
|
||
"allTime": "Tout le temps",
|
||
"last5Years": "5 dernières années",
|
||
"lastYear": "L'année dernière"
|
||
},
|
||
"formatDistribution": {
|
||
"title": "Répartition des formats"
|
||
},
|
||
"formatShareOverTime": {
|
||
"title": "Répartition des formats au fil du temps"
|
||
},
|
||
"genreCooccurrence": {
|
||
"title": "Cooccurrence des genres"
|
||
},
|
||
"genreDistribution": {
|
||
"title": "Répartition des genres"
|
||
},
|
||
"languageDistribution": {
|
||
"title": "Distribution linguistique"
|
||
},
|
||
"largestBooks": {
|
||
"title": "Top 50 des plus grands livres"
|
||
},
|
||
"libraryIntegrity": {
|
||
"title": "Intégrité de la bibliothèque"
|
||
},
|
||
"libraryMetadataCompleteness": {
|
||
"title": "Exhaustivité des métadonnées de la bibliothèque"
|
||
},
|
||
"metadataCompleteness": {
|
||
"title": "Exhaustivité des métadonnées"
|
||
},
|
||
"metadataFreshness": {
|
||
"title": "Fraîcheur des métadonnées"
|
||
},
|
||
"metadataScoreDistribution": {
|
||
"title": "Distribution des scores des métadonnées"
|
||
},
|
||
"pageCountDistribution": {
|
||
"title": "Distribution du nombre de pages"
|
||
},
|
||
"publicationDecade": {
|
||
"title": "Décennie des publications"
|
||
},
|
||
"publicationYearTimeline": {
|
||
"title": "Chronologie de l'année de publication"
|
||
},
|
||
"storageByFormat": {
|
||
"title": "Stockage par format"
|
||
},
|
||
"topAuthors": {
|
||
"title": "Top 25 des auteurs"
|
||
},
|
||
"topSeries": {
|
||
"title": "50 meilleures séries"
|
||
},
|
||
"booksCompleted": {
|
||
"title": "Livres terminés",
|
||
"notEnoughData": "Il faut au moins {count} livres terminés pour ce tableau."
|
||
},
|
||
"completionLatency": {
|
||
"title": "Latence d'achèvement",
|
||
"notEnoughData": "Il faut au moins {count} livres terminés pour ce tableau."
|
||
},
|
||
"completionTimeline": {
|
||
"title": "Calendrier d'achèvement",
|
||
"notEnoughData": "Il faut au moins {count} livres terminés pour ce tableau."
|
||
},
|
||
"favoriteReadingDays": {
|
||
"title": "Journées de lecture préférées",
|
||
"notEnoughData": "Besoin d'au moins {count} événements de lecture pour ce graphique."
|
||
},
|
||
"genreReadingTime": {
|
||
"title": "Temps de lecture par genre",
|
||
"notEnoughData": "Il faut au moins {count} genres avec un temps de lecture pour ce graphique."
|
||
},
|
||
"goalTrajectory": {
|
||
"title": "Rythme vs objectif",
|
||
"noCompletedTitle": "Aucun livre terminé pour l'instant",
|
||
"noCompletedDescription": "Remplissez un livre pendant cette période pour comparer votre rythme à votre objectif annuel.",
|
||
"notEnoughData": "Il faut au moins {count} livres terminés pour ce tableau."
|
||
},
|
||
"peakReadingHours": {
|
||
"title": "Heures de pointe de lecture",
|
||
"notEnoughData": "Besoin d'au moins {count} événements de lecture pour ce graphique."
|
||
},
|
||
"progressFunnel": {
|
||
"title": "Entonnoir de progression",
|
||
"modePercent": "Pourcentage",
|
||
"modeCounts": "Comptes",
|
||
"modeDropoff": "Dépôt",
|
||
"started": "Démarré {count}",
|
||
"notEnoughData": "Il faut au moins {count} livres commencés pour ce graphique.",
|
||
"noDropOffTitle": "Aucune baisse constatée",
|
||
"noDropOffDescription": "Chaque livre commencé a progressé à travers toutes les étapes de l'entonnoir au cours de cette période."
|
||
},
|
||
"readingClock": {
|
||
"title": "Horloge de lecture",
|
||
"notEnoughData": "Besoin d'au moins {count} séances de lecture pour ce graphique."
|
||
},
|
||
"readingHeatmap": {
|
||
"title": "Lecture de la carte thermique",
|
||
"notEnoughData": "Besoin d'une activité pendant au moins {count} jours pour ce graphique."
|
||
},
|
||
"readingPace": {
|
||
"title": "Rythme de lecture",
|
||
"notEnoughData": "Besoin d'au moins {count} sessions avec des données de progression pour ce graphique."
|
||
},
|
||
"readingSessionTimeline": {
|
||
"title": "Chronologie de la séance de lecture",
|
||
"dragOn": "Faire glisser : activé",
|
||
"dragOff": "Glisser : Désactivé",
|
||
"prev": "Précédent",
|
||
"next": "Suivant",
|
||
"week": "Semaine {week}",
|
||
"dragHint": "Faites glisser les barres pour déplacer les sessions. La durée est verrouillée et les sessions qui se chevauchent sont rejetées.",
|
||
"noSessionsTitle": "Pas de séance cette semaine",
|
||
"noSessionsDescription": "Utilisez Précédent/Suivant ou le sélecteur de semaine pour afficher une semaine différente.",
|
||
"overlapError": "La session chevauche une autre session dans cette fenêtre",
|
||
"moveError": "Échec du déplacement de la session"
|
||
},
|
||
"sessionArchetypes": {
|
||
"title": "Archétypes de session"
|
||
},
|
||
"sourceDistribution": {
|
||
"title": "Où vous lisez",
|
||
"emptyTitle": "Aucune activité de lecture pour l'instant",
|
||
"emptyDescription": "Lisez sur le Web, KOReader ou Kobo pour voir votre répartition de source.",
|
||
"emptyDescriptionWithAppleClients": "Lisez sur le Web, l'application iOS, l'Apple Watch, KOReader ou Kobo pour voir votre répartition par source."
|
||
}
|
||
}
|
||
},
|
||
"tools": {
|
||
"header": {
|
||
"entityManager": "Gestionnaire d'entité",
|
||
"bulkRename": "Renommer en masse",
|
||
"duplicateBooks": "Livres en double",
|
||
"missingResources": "Ressources manquantes"
|
||
},
|
||
"entityTypes": {
|
||
"authors": "Auteurs",
|
||
"genres": "Genres",
|
||
"tags": "Balises",
|
||
"narrators": "Narrateurs",
|
||
"publishers": "Éditeurs",
|
||
"languages": "Langues",
|
||
"series": "Série"
|
||
},
|
||
"bulkRename": {
|
||
"library": "Bibliothèque",
|
||
"selectLibraryPlaceholder": "Sélectionnez une bibliothèque...",
|
||
"noEligibleLibraries": "Aucune bibliothèque n'a activé le changement de nom de fichier. Activez-le dans les paramètres de la bibliothèque.",
|
||
"refresh": "Actualiser",
|
||
"previewFailed": "Échec du chargement de l'aperçu",
|
||
"executionFailed": "Échec du changement de nom groupé",
|
||
"openBookDetails": "Détails du livre ouvert",
|
||
"openBook": "Ouvrir le livre",
|
||
"toRenameCount": "{count, plural, =0 {rien à renommer} one {# à renommer} other {# à renommer} many {# à renommer}}",
|
||
"applyCount": "{count, plural, one {Appliquer # renommage} other {Appliquer # renommages} many {Appliquer # renommages}}",
|
||
"search": {
|
||
"placeholder": "Rechercher un livre ou un chemin",
|
||
"label": "Rechercher un livre",
|
||
"clear": "Effacer la recherche"
|
||
},
|
||
"filter": {
|
||
"all": "Tout",
|
||
"changes": "Modifications",
|
||
"conflicts": "Conflits",
|
||
"unchanged": "Inchangés"
|
||
},
|
||
"status": {
|
||
"willRename": "Renommera",
|
||
"unchanged": "Inchangé",
|
||
"collision": "Conflit",
|
||
"noPattern": "Aucun modèle",
|
||
"error": "Erreur"
|
||
},
|
||
"group": {
|
||
"collision": "Conflit de destination",
|
||
"unchanged": "Déjà correct",
|
||
"noPattern": "Aucun modèle de nommage",
|
||
"error": "En erreur",
|
||
"includeAll": "Inclure tous les renommages « {kind} »",
|
||
"expand": "Développer « {kind} »",
|
||
"collapse": "Réduire « {kind} »",
|
||
"heldBack": "Ces éléments ne peuvent pas être renommés"
|
||
},
|
||
"changeKind": {
|
||
"ungroup": "Regroupement de série supprimé",
|
||
"flatten": "Niveau de dossier redondant supprimé",
|
||
"yearRemoved": "Année de publication supprimée",
|
||
"yearAdded": "Année de publication ajoutée",
|
||
"yearCorrected": "Année de publication corrigée",
|
||
"authorSpelling": "Orthographe du nom d'auteur",
|
||
"capitalisation": "Casse et espacement",
|
||
"unsafeCharacters": "Caractères interdits remplacés",
|
||
"filenameRebuilt": "Nom de fichier reconstruit à partir des métadonnées",
|
||
"folderRenamed": "Dossier renommé",
|
||
"rebuilt": "Dossier et nom de fichier reconstruits",
|
||
"restructured": "Chemin restructuré",
|
||
"multiple": "Modifications multiples"
|
||
},
|
||
"select": {
|
||
"ofSelected": "sur {total} sélectionnés",
|
||
"toggleAll": "Sélectionner ou désélectionner tous les renommages",
|
||
"toggleGroup": "Sélectionner ou désélectionner tous les renommages « {kind} »",
|
||
"toggleBook": "Renommer {title}"
|
||
},
|
||
"review": {
|
||
"loadMore": "Charger plus",
|
||
"queue": "Renommages en attente",
|
||
"position": "{index} sur {total}",
|
||
"previous": "Livre précédent",
|
||
"next": "Livre suivant",
|
||
"keyboardHint": "déplacer",
|
||
"keyboardSkip": "ignorer",
|
||
"skip": "Ignorer",
|
||
"include": "Inclure",
|
||
"excluded": "Exclu",
|
||
"back": "Retour à la liste"
|
||
},
|
||
"detail": {
|
||
"whatChanges": "Ce qui change",
|
||
"foldedFolders": "{count, plural, one {# dossier inchangé} other {# dossiers inchangés} many {# dossiers inchangés}}",
|
||
"onDisk": "Sur le disque",
|
||
"today": "Aujourd'hui",
|
||
"afterRename": "Après le renommage",
|
||
"showLibraryFolders": "Afficher les dossiers de la bibliothèque",
|
||
"hideLibraryFolders": "Masquer les dossiers de la bibliothèque",
|
||
"currentPath": "Chemin actuel",
|
||
"whyItMoves": "Pourquoi ce déplacement",
|
||
"levelTop": "Dossier principal",
|
||
"levelFolder": "Dossier {depth}",
|
||
"levelFilename": "Nom de fichier",
|
||
"levelRemoved": "Supprimé",
|
||
"tokenCount": "{count, plural, one {# jeton} other {# jetons} many {# jetons}}",
|
||
"optionalLevel": "Un niveau de dossier optionnel, produit par un groupe du modèle.",
|
||
"removedExplainer": "Le modèle de nommage ne prévoit aucun dossier à ce niveau : {folder} est donc supprimé et son contenu remonte d'un niveau.",
|
||
"conflictTitle": "Un autre fichier occupe déjà cette destination.",
|
||
"conflictBody": "Le renommage l'écraserait : ce livre est donc mis en attente jusqu'à la résolution du conflit.",
|
||
"siblings": "{count, plural, one {# autre avec la même modification} other {# autres avec la même modification} many {# autres avec la même modification}}",
|
||
"siblingsMore": "+{count} de plus"
|
||
},
|
||
"empty": {
|
||
"title": "Choisissez une bibliothèque pour commencer",
|
||
"description": "Sélectionnez une bibliothèque ci-dessus pour prévisualiser les modifications de renommage, filtrer par statut et appliquer l'exécution de renommage groupé.",
|
||
"chooseLibrary": "Choisir la bibliothèque",
|
||
"noneTitle": "Rien à passer en revue",
|
||
"noneDescription": "Aucun livre ne correspond au filtre actuel. Effacez la recherche ou passez à Tout.",
|
||
"noMatch": "Aucun livre ne correspond à votre recherche."
|
||
},
|
||
"confirmDialog": {
|
||
"title": "{count, plural, one {Renommer # fichier sur le disque ?} many {Renommer # fichiers sur le disque ?} other {Renommer # fichiers sur le disque ?}}",
|
||
"body": "Cela déplace de vrais fichiers dans {library}. BookOrbit enregistre chaque déplacement, mais revenir en arrière suppose de renommer à nouveau.",
|
||
"willRename": "Seront renommés",
|
||
"skippedByYou": "Ignorés par vous",
|
||
"heldBack": "Mis en attente pour conflit",
|
||
"untouched": "Laissés inchangés",
|
||
"confirm": "{count, plural, one {Renommer # fichier} other {Renommer # fichiers} many {Renommer # fichiers}}",
|
||
"cannotRename": "Ne peuvent pas être renommés"
|
||
},
|
||
"run": {
|
||
"preparing": "Préparation...",
|
||
"preparingHint": "Vérification de chaque fichier par rapport au modèle de nommage avant tout déplacement.",
|
||
"title": "Renommage : {done} sur {total}",
|
||
"runningHint": "Les fichiers sont en cours de renommage. Vous pouvez arrêter une fois le fichier actuel terminé.",
|
||
"stop": "Arrêter après ce fichier",
|
||
"resultTitle": "{done, plural, one {# fichier renommé sur {total}} other {# fichiers renommés sur {total}} many {# fichiers renommés sur {total}}}",
|
||
"resultFailed": "{count, plural, one {# échec} other {# échecs} many {# échecs}}",
|
||
"resultSkipped": "{count, plural, one {# ignoré} other {# ignorés} many {# ignorés}}",
|
||
"dismiss": "Fermer"
|
||
},
|
||
"executionError": {
|
||
"http": "Le serveur a rejeté la requête (HTTP {status}).",
|
||
"noBody": "Le serveur n'a pas envoyé de corps de réponse.",
|
||
"incomplete": "La connexion s'est interrompue avant la fin du renommage. Il se peut que certains fichiers n'aient pas été renommés.",
|
||
"unknown": "Le renommage n'a pas pu être terminé."
|
||
}
|
||
},
|
||
"bookDuplicates": {
|
||
"title": "Livres en double",
|
||
"scope": "Portée de la bibliothèque",
|
||
"allLibraries": "Toutes les bibliothèques accessibles",
|
||
"similarity": "Seuil de titre similaire",
|
||
"explainSimilarity": "Expliquer le seuil de titre similaire",
|
||
"similarityHelp": "Uniquement pour les correspondances de titre et d'auteur similaires. Au moins un auteur et le type de livre doivent également correspondre. Lower trouve plus de doublons possibles ; plus haut nécessite des titres plus proches. Les fichiers identiques, ISBN et les métadonnées exactes sont vérifiés séparément.",
|
||
"runScan": "Exécuter une analyse",
|
||
"rescan": "Nouvelle analyse",
|
||
"status": {
|
||
"queued": "Analyse en file d'attente",
|
||
"running": "Analyse des livres"
|
||
},
|
||
"filter": "Type de correspondance",
|
||
"allReasons": "Tous les types de correspondance",
|
||
"reasons": {
|
||
"file_hash": "Ensemble de fichiers identiques",
|
||
"isbn": "Idem ISBN",
|
||
"exact_metadata": "Titre exact et auteurs",
|
||
"fuzzy_metadata": "Titre et auteur similaires"
|
||
},
|
||
"notDuplicates": "Pas de doublons",
|
||
"unknownAuthor": "Auteur inconnu",
|
||
"unknown": "Inconnu",
|
||
"none": "Aucun",
|
||
"accessDenied": "Vous n'êtes pas autorisé à utiliser l'outil de duplication de livre.",
|
||
"pairDetails": "Détails de la correspondance",
|
||
"pairLabel": "{first} et {second}",
|
||
"fields": {
|
||
"library": "Bibliothèque",
|
||
"isbn": "ISBN",
|
||
"formats": "Formats",
|
||
"collections": "Collections",
|
||
"added": "Ajouté",
|
||
"size": "Taille",
|
||
"metadata": "Métadonnées",
|
||
"reading": "Lecture",
|
||
"folder": "Dossier",
|
||
"noIsbn": "Non défini",
|
||
"notStarted": "Non commencé",
|
||
"outOfHundred": "/100",
|
||
"percentRead": "lu à {percent}",
|
||
"fileCount": "{count, plural, one {# fichier} many {# fichiers} other {# fichiers}}"
|
||
},
|
||
"initial": {
|
||
"title": "Trouver des livres en double",
|
||
"description": "Choisissez une étendue de bibliothèque et un niveau de similarité, puis exécutez une analyse. Aucun livre n'est modifié jusqu'à ce que vous confirmiez explicitement une suppression."
|
||
},
|
||
"empty": {
|
||
"title": "Aucun groupe en double trouvé",
|
||
"description": "Aucun livre ne correspond à la portée, au niveau de similarité et au filtre de correspondance actuels."
|
||
},
|
||
"deleteDialog": {
|
||
"warning": "Les métadonnées, les collections, les données de lecture et l'état de l'appareil ne sont pas transférés dans le livre tenu. Les données associées aux autres utilisateurs sont également supprimées.",
|
||
"confirm": "{count, plural, =0 {Supprimer # livre} one {Supprimer # livre} other {Supprimer # livres} many {Supprimer # livres}}",
|
||
"success": "{count, plural, =0 {Aucun livre supprimé} one {Un livre en double supprimé} other {# livres en double supprimés} many {# livres en double supprimés}}"
|
||
},
|
||
"errors": {
|
||
"start": "Impossible de démarrer l'analyse des doublons.",
|
||
"status": "Impossible de charger la progression de l'analyse.",
|
||
"scan": "L'analyse des doublons a échoué. Essayez de l'exécuter à nouveau.",
|
||
"results": "Impossible de charger les groupes en double.",
|
||
"delete": "Impossible de supprimer les livres en double sélectionnés.",
|
||
"dismiss": "Impossible d'ignorer ce groupe.",
|
||
"restore": "Impossible de restaurer cette paire."
|
||
},
|
||
"pagination": {
|
||
"label": "Pages de groupes en double",
|
||
"page": "Page {page} sur {total}"
|
||
},
|
||
"similarityOption": "{percent} et plus",
|
||
"scannedBooks": "{count} livres · vérifiés {when}",
|
||
"scanProgress": "{processed} livres sur {total}",
|
||
"recommended": "Recommandée",
|
||
"keeping": "À conserver",
|
||
"willDelete": "À supprimer",
|
||
"keepCopy": "Conserver {name}",
|
||
"selectGroup": "Sélectionner {title}",
|
||
"selectAll": "Sélectionner tous les groupes de cette page",
|
||
"compareCopies": "Comparer les copies de {title}",
|
||
"compareCaption": "Comparaison champ par champ de {count} copies",
|
||
"fieldColumn": "Champ",
|
||
"filesEach": "{count, plural, one {# fichier chacune} many {# fichiers chacune} other {# fichiers chacune}}",
|
||
"moreFilesCount": "{count, plural, one {et # autre fichier} many {et # autres fichiers} other {et # autres fichiers}}",
|
||
"identicalAcross": "{count, plural, one {Identique dans les deux copies :} many {Identique dans les # copies :} other {Identique dans les # copies :}}",
|
||
"deleteGroup": "{count, plural, one {Supprimer # copie, libérer {size}} many {Supprimer # copies, libérer {size}} other {Supprimer # copies, libérer {size}}}",
|
||
"confidence": {
|
||
"file_hash": "Identique",
|
||
"isbn": "Même ISBN",
|
||
"exact_metadata": "Correspondance exacte",
|
||
"fuzzy_metadata": "Similaire",
|
||
"withSimilarity": "{label} {percent}"
|
||
},
|
||
"summary": {
|
||
"groups": "{count, plural, one {groupe} many {groupes} other {groupes}}",
|
||
"extraCopies": "{count, plural, one {copie en trop} many {copies en trop} other {copies en trop}}",
|
||
"reclaimable": "récupérables"
|
||
},
|
||
"columns": {
|
||
"match": "Correspondance",
|
||
"book": "Livre",
|
||
"copies": "Copies",
|
||
"libraries": "Bibliothèques",
|
||
"frees": "Espace libéré",
|
||
"keeping": "Copie conservée"
|
||
},
|
||
"keepRule": {
|
||
"label": "Conserver",
|
||
"metadata": "Meilleures métadonnées",
|
||
"size": "Fichiers les plus volumineux",
|
||
"formats": "Le plus de formats",
|
||
"oldest": "Copie la plus ancienne",
|
||
"newest": "Copie la plus récente",
|
||
"hint": "Choisit une copie à conserver dans chaque groupe. Vous pouvez modifier n'importe quelle ligne."
|
||
},
|
||
"sort": {
|
||
"label": "Trier",
|
||
"reclaimable": "Le plus d'espace libéré",
|
||
"copies": "Le plus de copies",
|
||
"confidence": "Correspondance la plus forte",
|
||
"title": "Titre de A à Z"
|
||
},
|
||
"keeper": {
|
||
"yourChoice": "Votre choix",
|
||
"reading": "lue à {percent}",
|
||
"collection": "présente dans {name}",
|
||
"metadata": "métadonnées {score}",
|
||
"largest": "la plus volumineuse : {size}",
|
||
"formats": "{count} formats",
|
||
"isbn": "a un ISBN",
|
||
"added": "ajoutée le {date}",
|
||
"riskReading": "supprime une copie lue à {percent}",
|
||
"riskCollection": "supprime une copie présente dans {name}"
|
||
},
|
||
"selection": {
|
||
"summary": "{groups} groupes sélectionnés, {copies} copies à supprimer, {size} libérés",
|
||
"clear": "Effacer",
|
||
"review": "{count, plural, one {Examiner # copie} many {Examiner # copies} other {Examiner # copies}}",
|
||
"hint": "Cochez les groupes qui vous paraissent fiables, ou ouvrez-en un pour comparer les copies."
|
||
},
|
||
"keys": {
|
||
"move": "se déplacer",
|
||
"expand": "développer",
|
||
"keep": "conserver",
|
||
"select": "sélectionner"
|
||
},
|
||
"review": {
|
||
"title": "{count, plural, one {Supprimer # copie} many {Supprimer # copies} other {Supprimer # copies}}",
|
||
"description": "Sur {groups} groupes, {size} libérés. Rien n'est supprimé avant votre confirmation.",
|
||
"riskWarning": "{count, plural, one {# groupe supprime une copie portant vos données de lecture.} many {# groupes suppriment une copie portant vos données de lecture.} other {# groupes suppriment une copie portant vos données de lecture.}}",
|
||
"footer": "Libère {size}"
|
||
},
|
||
"dismissed": {
|
||
"show": "{count, plural, one {Afficher # paire ignorée} many {Afficher # paires ignorées} other {Afficher # paires ignorées}}",
|
||
"hide": "Masquer les paires ignorées",
|
||
"restore": "Restaurer cette paire",
|
||
"restored": "Paire restaurée. Elle pourra de nouveau correspondre à la prochaine analyse."
|
||
}
|
||
},
|
||
"entityManager": {
|
||
"unknown": "Inconnu",
|
||
"bookCount": "{count, plural, =0 {pas de livres} one {# livre} other {# livres} many {# livres}}",
|
||
"sortPrefix": "· trier : {sortName}",
|
||
"selectTargetToKeep": "Sélectionnez la cible à conserver",
|
||
"writeToFiles": "Écrire dans des fichiers",
|
||
"writeChangesToFiles": "Écrire des modifications dans des fichiers",
|
||
"mergeIntoTarget": "Fusionner {count} dans la cible",
|
||
"modes": {
|
||
"browse": "Parcourir et gérer",
|
||
"duplicates": "Rechercher des doublons"
|
||
},
|
||
"actions": {
|
||
"rename": "Renommer",
|
||
"split": "Diviser",
|
||
"merge": "Fusionner"
|
||
},
|
||
"duplicates": {
|
||
"similarity": "Similitude :",
|
||
"scan": "Analyser",
|
||
"scanning": "Analyse en cours...",
|
||
"computing": "Calcul des candidats...",
|
||
"computedAt": "Candidats calculés {date}",
|
||
"recompute": "Recalculer",
|
||
"noneComputed": "Aucun candidat n'a encore été calculé.",
|
||
"computeNow": "Calculez maintenant",
|
||
"emptyTitle": "Rechercher des entités en double",
|
||
"emptyDescription": "Ajustez le seuil de similarité et cliquez sur Analyser pour détecter les doublons potentiels.",
|
||
"noneFoundTitle": "Aucun doublon trouvé",
|
||
"noneFoundDescription": "Aucun doublon potentiel n'a été détecté avec les paramètres actuels.",
|
||
"clustersFound": "{count, plural, =0 {aucun cluster trouvé} one {# cluster trouvé} other {# clusters trouvés} many {# clusters trouvés}}",
|
||
"plusOthers": "{count, plural, =0 {+ # autre} one {+ # autre} other {+ # d'autres} many {+ # d'autres}}",
|
||
"percentSimilar": "{percent} % de similarité",
|
||
"pairDetails": "Détails de la paire",
|
||
"dismissEntityTitle": "Ignorer toutes les paires pour cette entité",
|
||
"dismissPairTitle": "Rejeter cette paire",
|
||
"groupsLabel": "Groupes de doublons possibles",
|
||
"keepThisOne": "À conserver",
|
||
"mergeAway": "À fusionner",
|
||
"notAMatch": "Pas de correspondance",
|
||
"notAMatchTitle": "Ignorer tous les éléments de ce groupe",
|
||
"selectPromptTitle": "Sélectionnez un groupe à examiner",
|
||
"selectPromptDescription": "Choisissez un groupe dans la liste pour comparer ses entités côte à côte.",
|
||
"backToList": "Retour aux groupes",
|
||
"noBookTitles": "Aucun livre associé à cette fiche",
|
||
"thresholdLabel": "Similarité minimale",
|
||
"thresholdValue": "{percent} %+",
|
||
"willBeMerged": "{count, plural, one {# entité sera fusionnée et supprimée} other {# entités seront fusionnées et supprimées} many {# entités seront fusionnées et supprimées}}",
|
||
"chooseTargetHint": "Sélectionnez l'entité à conserver. Tout le reste du groupe sera fusionné avec elle."
|
||
},
|
||
"dismissed": {
|
||
"loading": "Chargement des paires rejetées...",
|
||
"empty": "Aucune paire rejetée",
|
||
"restore": "Restaurer",
|
||
"restoreTitle": "Restaurer cette paire",
|
||
"hidePairs": "Masquer les paires ignorées",
|
||
"showPairs": "Afficher les paires rejetées"
|
||
},
|
||
"browse": {
|
||
"searchPlaceholder": "Rechercher...",
|
||
"emptyOnly": "Vide seulement",
|
||
"clear": "Effacer",
|
||
"noEntities": "Aucune entité trouvée",
|
||
"mergeCount": "Fusionner ({count})",
|
||
"deleteCount": "Supprimer ({count})",
|
||
"totalCount": "{count} total",
|
||
"sortLabel": "trier : {sortName}",
|
||
"sort": {
|
||
"nameAsc": "Nom A-Z",
|
||
"nameDesc": "Nom Z-A",
|
||
"fewestBooks": "Moins de livres",
|
||
"mostBooks": "La plupart des livres"
|
||
},
|
||
"sortByLabel": "Trier par",
|
||
"entityTypeLabel": "Type d'entité",
|
||
"resultCount": "{count, plural, =0 {aucune entité} one {# entité} other {# entités} many {# entités}}",
|
||
"selectedCount": "{count, plural, one {# sélectionnée} other {# sélectionnées} many {# sélectionnées}}",
|
||
"columns": {
|
||
"name": "Nom",
|
||
"sortName": "Nom de tri",
|
||
"books": "Livres",
|
||
"status": "Statut",
|
||
"actions": "Actions"
|
||
},
|
||
"selectAllOnPage": "Sélectionner toutes les entités de cette page",
|
||
"selectEntity": "Sélectionner {name}",
|
||
"actionsFor": "Actions pour {name}",
|
||
"status": {
|
||
"noBooks": "Aucun livre"
|
||
},
|
||
"filters": {
|
||
"all": "Tout",
|
||
"noBooks": "Aucun livre"
|
||
},
|
||
"density": {
|
||
"label": "Hauteur des lignes",
|
||
"comfortable": "Confortable",
|
||
"compact": "Compact"
|
||
},
|
||
"rowsPerPage": "Lignes par page",
|
||
"range": "Affichage de {from} à {to} sur {total}",
|
||
"pagination": "Pagination",
|
||
"previousPage": "Page précédente",
|
||
"nextPage": "Page suivante",
|
||
"goToPage": "Aller à la page {page}",
|
||
"morePages": "Pages supplémentaires",
|
||
"noEntitiesDescription": "Rien n'a encore été ajouté à ce type d'entité.",
|
||
"noMatchesTitle": "Aucun résultat",
|
||
"noMatchesDescription": "Aucune entité ne correspond à votre recherche et à vos filtres actuels.",
|
||
"clearFilters": "Effacer les filtres"
|
||
},
|
||
"deleteMode": {
|
||
"label": "Mode suppression",
|
||
"softTitle": "Suppression logicielle",
|
||
"softDescription": "Dissocier tous les livres mais conserver l'enregistrement de l'entité",
|
||
"softDescriptionPlural": "Dissocier tous les livres mais conserver les enregistrements de l'entité",
|
||
"hardTitle": "Suppression définitive",
|
||
"hardDescription": "Supprimer définitivement l'entité et toutes les associations",
|
||
"hardDescriptionPlural": "Supprimer définitivement les entités et toutes les associations"
|
||
},
|
||
"renameModal": {
|
||
"title": "Renommer l'entité",
|
||
"currentName": "Nom actuel",
|
||
"newName": "Nouveau nom"
|
||
},
|
||
"deleteModal": {
|
||
"title": "Supprimer l'entité",
|
||
"confirm": "Êtes-vous sûr de vouloir supprimer {name} ?"
|
||
},
|
||
"splitModal": {
|
||
"title": "Diviser l'entité",
|
||
"splitting": "Fractionnement",
|
||
"newNames": "Nouveaux noms (min 2)",
|
||
"namePlaceholder": "Entrez le nom...",
|
||
"addAnother": "Ajoutez-en un autre"
|
||
},
|
||
"bulkDeleteModal": {
|
||
"title": "Suppression groupée",
|
||
"confirm": "{count, plural, =0 {Êtes-vous sûr de vouloir supprimer # entité sélectionnée ?} one {Êtes-vous sûr de vouloir supprimer # entité sélectionnée ?} other {Êtes-vous sûr de vouloir supprimer # entités sélectionnées ?} many {Êtes-vous sûr de vouloir supprimer # entités sélectionnées ?}}",
|
||
"deleteButton": "Supprimer {count}"
|
||
},
|
||
"mergeModal": {
|
||
"title": "Fusionner des entités",
|
||
"description": "Sélectionnez l'entité à conserver. Les autres y seront fusionnés et supprimés."
|
||
}
|
||
},
|
||
"missingResources": {
|
||
"title": "Ressources manquantes",
|
||
"accessDenied": "Vous n'avez pas la permission de nettoyer les ressources manquantes.",
|
||
"categoriesLabel": "Catégorie de nettoyage",
|
||
"untitled": "Sans titre",
|
||
"clearSelection": "Effacer la sélection",
|
||
"cleanSelected": "Nettoyer {count} sélectionnés",
|
||
"selectAllMatching": "Sélectionner les {count} entrées correspondantes",
|
||
"allSelected": "Les {count} entrées correspondantes sont toutes sélectionnées.",
|
||
"sweep": {
|
||
"title": "Vérification des couvertures",
|
||
"description": "Vérifie chaque livre indiquant une couverture par rapport aux fichiers présents sur le disque, et recherche les dossiers de couverture laissés par des livres supprimés. Rien n'est supprimé pendant la vérification.",
|
||
"run": "Lancer la vérification",
|
||
"running": "Vérification en cours",
|
||
"progress": "{processed} livres vérifiés sur {total}",
|
||
"lastRun": "Dernière vérification {at}",
|
||
"truncated": "Seuls les premiers résultats sont affichés. Nettoyez-les, puis relancez la vérification pour voir le reste."
|
||
},
|
||
"categories": {
|
||
"missing_books": "Livres manquants",
|
||
"broken_covers": "Couvertures cassées",
|
||
"orphaned_cover_dirs": "Dossiers de couvertures orphelines"
|
||
},
|
||
"found": {
|
||
"missing_books": "{count, plural, =0 {Aucun livre avec des fichiers manquants} one {Un livre avec des fichiers manquants} other {# livres avec des fichiers manquants} many {# livres avec des fichiers manquants}}",
|
||
"broken_covers": "{count, plural, =0 {Aucune référence de couverture cassée} one {Une référence de couverture cassée} other {# références de couverture cassées} many {# références de couverture cassées}}",
|
||
"orphaned_cover_dirs": "{count, plural, =0 {Aucun dossier de couverture orpheline} one {Un dossier de couverture orpheline} other {# dossiers de couverture orpheline} many {# dossiers de couverture orpheline}}"
|
||
},
|
||
"empty": {
|
||
"missing_books": "Aucun livre manquant",
|
||
"broken_covers": "Aucune référence de couverture cassée",
|
||
"orphaned_cover_dirs": "Aucun dossier de couverture orpheline",
|
||
"description": "Tout est en ordre dans cette catégorie."
|
||
},
|
||
"needsSweep": {
|
||
"title": "Lancez d'abord la vérification des couvertures",
|
||
"description": "Les résultats de couverture proviennent d'une vérification du disque. Lancez-la pour voir les références cassées et les dossiers orphelins."
|
||
},
|
||
"coverSource": {
|
||
"extracted": "Extraite",
|
||
"custom": "Personnalisée"
|
||
},
|
||
"table": {
|
||
"selectPage": "Sélectionner tout sur cette page",
|
||
"coverFolder": "Dossier de couverture du livre #{bookId}",
|
||
"fileCount": "{count, plural, one {# fichier} other {# fichiers} many {# fichiers}}"
|
||
},
|
||
"confirm": {
|
||
"title": "Nettoyer les ressources manquantes ?",
|
||
"action": "Nettoyer",
|
||
"missing_books": "{count, plural, one {Supprime l'enregistrement en base de données d'un livre dont les fichiers ont disparu. Le livre, ses métadonnées, sa progression de lecture et sa couverture sont supprimés. Cette action est irréversible.} other {Supprime les enregistrements en base de données de # livres dont les fichiers ont disparu. Les livres, leurs métadonnées, leur progression de lecture et leurs couvertures sont supprimés. Cette action est irréversible.} many {Supprime les enregistrements en base de données de # livres dont les fichiers ont disparu. Les livres, leurs métadonnées, leur progression de lecture et leurs couvertures sont supprimés. Cette action est irréversible.}}",
|
||
"broken_covers": "{count, plural, one {Efface la référence de couverture d'un livre afin qu'il s'affiche sans couverture. Les autres métadonnées ne sont pas modifiées.} other {Efface les références de couverture de # livres afin qu'ils s'affichent sans couverture. Les autres métadonnées ne sont pas modifiées.} many {Efface les références de couverture de # livres afin qu'ils s'affichent sans couverture. Les autres métadonnées ne sont pas modifiées.}}",
|
||
"orphaned_cover_dirs": "{count, plural, one {Supprime un dossier de couverture du disque. Son livre n'est plus dans la base de données. Cette action est irréversible.} other {Supprime # dossiers de couverture du disque. Leurs livres ne sont plus dans la base de données. Cette action est irréversible.} many {Supprime # dossiers de couverture du disque. Leurs livres ne sont plus dans la base de données. Cette action est irréversible.}}"
|
||
},
|
||
"cleaned": {
|
||
"missing_books": "{count, plural, =0 {Rien à nettoyer} one {Un livre manquant supprimé} other {# livres manquants supprimés} many {# livres manquants supprimés}}",
|
||
"broken_covers": "{count, plural, =0 {Rien à nettoyer} one {Une référence de couverture cassée effacée} other {# références de couverture cassées effacées} many {# références de couverture cassées effacées}}",
|
||
"orphaned_cover_dirs": "{count, plural, =0 {Rien à nettoyer} one {Un dossier de couverture orpheline supprimé} other {# dossiers de couverture orpheline supprimés} many {# dossiers de couverture orpheline supprimés}}"
|
||
},
|
||
"pagination": {
|
||
"label": "Pages de ressources manquantes",
|
||
"page": "Page {page} sur {total}"
|
||
},
|
||
"errors": {
|
||
"summary": "Impossible de charger le résumé des ressources manquantes.",
|
||
"sweepStart": "Impossible de lancer la vérification des couvertures.",
|
||
"sweep": "La vérification des couvertures a échoué.",
|
||
"list": "Impossible de charger ces entrées.",
|
||
"clean": "Échec du nettoyage."
|
||
}
|
||
}
|
||
},
|
||
"views": {
|
||
"entity": {
|
||
"book": "Livre",
|
||
"collection": "Collection",
|
||
"library": "Bibliothèque",
|
||
"smartScope": "Liste intelligente"
|
||
},
|
||
"common": {
|
||
"retry": "Réessayer"
|
||
},
|
||
"bookView": {
|
||
"sort": "Trier",
|
||
"sortOn": "Sur",
|
||
"resetSort": "Réinitialiser le tri par défaut",
|
||
"shuffle": "Mélanger",
|
||
"shuffleAria": "Mélanger l'ordre des livres",
|
||
"shuffleHint": "Tirer un nouvel ordre aléatoire",
|
||
"filters": "Filtres",
|
||
"clear": "Effacer",
|
||
"clearAllFilters": "Supprimer tous les filtres",
|
||
"expandSeries": "Agrandir la série",
|
||
"collapseSeries": "Réduire la série",
|
||
"collapseLockedWhileSelecting": "Les séries restent développées pendant la sélection",
|
||
"expanded": "Élargi",
|
||
"exportMetadata": "Exporter les métadonnées",
|
||
"showControlsAria": "Afficher les contrôles de la bibliothèque",
|
||
"export": "Exporter",
|
||
"searchPlaceholder": "Rechercher un titre, un auteur, une série, un narrateur...",
|
||
"allBooksLoaded": "Tous les {count} livres chargés"
|
||
},
|
||
"notFound": {
|
||
"title": "Page introuvable",
|
||
"description": "La page que vous recherchez n'existe pas.",
|
||
"goHome": "Rentrez chez vous"
|
||
},
|
||
"dashboard": {
|
||
"customize": "Personnaliser le tableau de bord",
|
||
"allShelvesHidden": "Toutes les étagères sont cachées.",
|
||
"greeting": {
|
||
"night": "Bonne nuit,",
|
||
"morning": "Bonjour,",
|
||
"afternoon": "Bonjour,",
|
||
"evening": "Bonsoir,",
|
||
"fallbackName": "là"
|
||
}
|
||
},
|
||
"bookDetail": {
|
||
"title": "Livre",
|
||
"titleWithId": "Livre n° {id}",
|
||
"pageTitle": {
|
||
"book": "Livre · {base}",
|
||
"editMetadata": "Modifier les métadonnées · {base}",
|
||
"edit": "Modifier · {base}",
|
||
"files": "Fichiers · {base}",
|
||
"readingLog": "Journal de lecture · {base}",
|
||
"highlights": "Points forts · {base}"
|
||
}
|
||
},
|
||
"bookDock": {
|
||
"title": "Book Dock",
|
||
"newFilesDetected": "Nouveaux fichiers détectés",
|
||
"reconnecting": "Reconnexion",
|
||
"rescanFailed": "Échec de la nouvelle analyse",
|
||
"totalInDock": "{size} dans Book Dock",
|
||
"dropFiles": "Déposez des fichiers dans Book Dock",
|
||
"supportedFormats": "Pris en charge : {formats}",
|
||
"empty": {
|
||
"noSearchMatch": "Aucun fichier ne correspond à « {query} »",
|
||
"noStatusFiles": "Aucun fichier {status}",
|
||
"uploadPrompt": "Envoyez des fichiers ou déposez-les dans le dossier Book Dock"
|
||
},
|
||
"retry": {
|
||
"noneToRetry": "Aucun fichier d'erreur à réessayer",
|
||
"retrying": "{count, plural, =0 {Réessayer un fichier} one {Réessayer un fichier} other {Réessayer # fichiers} many {Réessayer # fichiers}}"
|
||
},
|
||
"applyFetched": {
|
||
"applied": "{count, plural, =0 {Appliqué à aucun fichier} one {Appliqué à un fichier} other {Appliqué à # fichiers} many {Appliqué à # fichiers}}",
|
||
"skippedEdited": "{count, plural, =0 {j'ai ignoré un fichier car ils ont des modifications manuelles} one {j'ai ignoré un fichier car il comporte des modifications manuelles} other {ignoré # fichiers car ils ont des modifications manuelles} many {ignoré # fichiers car ils ont des modifications manuelles}}",
|
||
"skippedNoMetadata": "{count, plural, =0 {j'ai ignoré un fichier car ils n'ont pas récupéré de métadonnées} one {j'ai ignoré un fichier car il ne contient aucune métadonnée récupérée} other {ignoré # fichiers car ils n'ont pas de métadonnées récupérées} many {ignoré # fichiers car ils n'ont pas de métadonnées récupérées}}",
|
||
"noneApplied": "Aucun fichier appliqué ; {reasons}",
|
||
"noneSelected": "Aucun fichier sélectionné"
|
||
}
|
||
},
|
||
"collection": {
|
||
"title": "Collection",
|
||
"pageTitle": "Collection · {name}",
|
||
"pageTitleWithId": "Collection #{id}",
|
||
"editCollection": "Modifier la collection",
|
||
"showControlsAria": "Afficher les contrôles de collection",
|
||
"loadError": "Impossible de charger cette collection",
|
||
"toast": {
|
||
"removed": "{count, plural, =0 {Aucun livre n'a été supprimé de la collection} one {Suppression d'un livre de la collection} other {Supprimé # livres de collection} many {Supprimé # livres de collection}}",
|
||
"removeFailed": "Échec de la suppression des livres de la collection"
|
||
},
|
||
"empty": {
|
||
"noSearchMatch": "Aucun livre ne correspond à cette recherche",
|
||
"noSearchMatchHint": "Essayez un autre terme de recherche ou effacez la recherche.",
|
||
"noBooks": "Aucun livre dans cette collection",
|
||
"noBooksHint": "Sélectionnez des livres de votre bibliothèque et ajoutez-les ici."
|
||
}
|
||
},
|
||
"library": {
|
||
"title": "Bibliothèque",
|
||
"pageTitle": "Bibliothèque · {name}",
|
||
"pageTitleWithId": "Bibliothèque #{id}",
|
||
"filterRules": "Règles de filtrage",
|
||
"saveAsSmartScope": "Enregistrer comme liste intelligente",
|
||
"saveScope": "Enregistrer la portée",
|
||
"saveAsSmartScopeTooltip": "Enregistrez ce filtre comme liste intelligente nommée",
|
||
"saved": "Enregistré",
|
||
"saveFilter": "Enregistrer le filtre",
|
||
"filterSaved": "Filtre enregistré",
|
||
"saveFilterTooltip": "Enregistrer le filtre pour cette bibliothèque",
|
||
"removeSavedFilter": "Supprimer le filtre enregistré",
|
||
"empty": {
|
||
"noFilterMatch": "Aucun livre ne correspond à vos filtres",
|
||
"noFilterMatchHint": "Essayez d'ajuster ou de supprimer vos filtres pour voir plus de livres.",
|
||
"clearFilters": "Effacer les filtres",
|
||
"scanning": "Analyse de votre bibliothèque...",
|
||
"scanningHint": "Les livres apparaîtront ici au fur et à mesure de leur découverte.",
|
||
"emptyLibrary": "Votre bibliothèque est vide",
|
||
"emptyLibraryHint": "Une fois que vous aurez ajouté des livres à cette bibliothèque, ils apparaîtront ici."
|
||
},
|
||
"querySelection": {
|
||
"loadedSelected": "{selected} des {total} livres chargés sélectionnés.",
|
||
"selectAllMatching": "Sélectionnez tous les {total} livres correspondants"
|
||
}
|
||
},
|
||
"smartScope": {
|
||
"title": "Liste intelligente",
|
||
"pageTitle": "Liste intelligente · {name}",
|
||
"pageTitleWithId": "Liste intelligente #{id}",
|
||
"defaultName": "Liste intelligente",
|
||
"filter": "Filtrer",
|
||
"edit": "Modifier la liste intelligente",
|
||
"koboSync": {
|
||
"label": "Synchroniser avec Kobo",
|
||
"enabledHint": "Les livres de cette liste intelligente partagée sont synchronisés avec votre appareil Kobo. Désactivez cette option pour arrêter leur synchronisation.",
|
||
"disabledHint": "Activez cette option pour synchroniser les livres de cette liste intelligente partagée avec votre appareil Kobo."
|
||
},
|
||
"showControlsAria": "Afficher les commandes de la liste intelligente",
|
||
"hideFilter": "Masquer le filtre",
|
||
"showFilter": "Afficher le filtre",
|
||
"confirmDelete": "Confirmer ?",
|
||
"loadError": "Impossible de charger cette liste intelligente",
|
||
"toast": {
|
||
"deleted": "« {name} » supprimé",
|
||
"deleteFailed": "Échec de la suppression de « {name} »",
|
||
"koboSyncEnabled": "« {name} » se synchronise maintenant avec votre Kobo",
|
||
"koboSyncDisabled": "« {name} » ne se synchronise plus avec votre Kobo",
|
||
"koboSyncFailed": "Échec de mise à jour de la synchronisation Kobo pour « {name} »"
|
||
},
|
||
"empty": {
|
||
"noRules": "Aucune règle configurée",
|
||
"noRulesHint": "Ouvrez l'éditeur pour définir quels livres apparaissent dans cette liste intelligente à l'aide de filtres et de règles de tri.",
|
||
"configure": "Configurer la liste intelligente",
|
||
"noMatch": "Aucun livre ne correspond à cette liste intelligente",
|
||
"noMatchHint": "Essayez d'ajuster les règles de filtrage.",
|
||
"edit": "Modifier la liste intelligente"
|
||
}
|
||
},
|
||
"podcastScope": {
|
||
"title": "Playlist intelligente",
|
||
"entity": "Playlist intelligente",
|
||
"loadFailed": "Impossible de charger les épisodes de cette playlist.",
|
||
"loadMoreFailed": "Impossible de charger plus d'épisodes.",
|
||
"retry": "Réessayer",
|
||
"editRules": "Modifier les règles",
|
||
"saveFailed": "Impossible d'enregistrer les règles de la playlist.",
|
||
"deleteFailed": "Impossible de supprimer cette playlist.",
|
||
"empty": {
|
||
"title": "Aucun épisode correspondant",
|
||
"hint": "Ajustez les règles pour inclure plus d'épisodes."
|
||
}
|
||
},
|
||
"podcastCollection": {
|
||
"title": "Collection de podcasts",
|
||
"entity": "Collection de podcasts",
|
||
"loadFailed": "Impossible de charger les émissions de cette collection.",
|
||
"remove": "Retirer",
|
||
"removeAria": "Retirer {name} de cette collection",
|
||
"removed": "{name} retiré",
|
||
"removeFailed": "Impossible de retirer cette émission.",
|
||
"empty": {
|
||
"title": "Aucune émission pour l'instant",
|
||
"hint": "Ajoutez des émissions à cette collection depuis une bibliothèque de podcasts."
|
||
},
|
||
"loadMoreFailed": "Impossible de charger plus d'émissions.",
|
||
"retry": "Réessayer"
|
||
}
|
||
},
|
||
"whatsNew": {
|
||
"title": "Quoi de neuf",
|
||
"subtitle": "Tout ce qui est expédié, le plus récent en premier.",
|
||
"versionPrefix": "Version {version}",
|
||
"newUpdates": "{count, plural, =0 {pas de nouvelles mises à jour} one {une nouvelle mise à jour} other {# nouvelles mises à jour} many {# nouvelles mises à jour}}",
|
||
"remindLater": "Rappelle-moi plus tard",
|
||
"gotIt": "J'ai compris",
|
||
"latest": "Dernier",
|
||
"fullChangelog": "Journal des modifications complet",
|
||
"seeAllReleases": "Voir toutes les versions",
|
||
"versions": "Versions",
|
||
"currentVersion": "Version actuelle",
|
||
"youreHere": "Vous êtes là",
|
||
"searchPlaceholder": "Rechercher des versions...",
|
||
"noReleasesFound": "Aucune version trouvée.",
|
||
"noHighlights": "Aucun fait marquant pour cette version.",
|
||
"showChangelog": "Afficher le journal des modifications complet",
|
||
"hideChangelog": "Masquer le journal des modifications complet",
|
||
"openOnGitHub": "Ouvrir sur GitHub",
|
||
"loadMore": "Charger plus",
|
||
"loadingMore": "Chargement...",
|
||
"loadFailed": "Échec du chargement des versions",
|
||
"loadMoreFailed": "Impossible de charger d'autres versions. Veuillez réessayer.",
|
||
"loadErrorHint": "Impossible de charger les versions. Vérifiez votre connexion et réessayez.",
|
||
"retry": "Réessayer",
|
||
"imageViewer": "Visionneuse d'images",
|
||
"closeImage": "Fermer l'image",
|
||
"previousImage": "Image précédente",
|
||
"nextImage": "Image suivante"
|
||
},
|
||
"podcast": {
|
||
"actions": {
|
||
"add": "Ajouter",
|
||
"cancel": "Annuler",
|
||
"save": "Enregistrer",
|
||
"play": "Lire",
|
||
"pause": "Pause",
|
||
"playEpisode": "Lire l'épisode",
|
||
"listen": "Écouter",
|
||
"remove": "Retirer",
|
||
"episodeActions": "Actions sur l'épisode",
|
||
"removeFromQueue": "Retirer de la file d'attente",
|
||
"addToQueue": "Ajouter à la file d'attente",
|
||
"playNext": "Lire ensuite",
|
||
"retryDownload": "Réessayer le téléchargement",
|
||
"download": "Télécharger",
|
||
"removeDownload": "Supprimer le téléchargement",
|
||
"markUnplayed": "Marquer comme non écouté",
|
||
"markPlayed": "Marquer comme écouté",
|
||
"follow": "Suivre",
|
||
"unfollow": "Ne plus suivre",
|
||
"followPodcast": "Suivre le podcast",
|
||
"unfollowPodcast": "Ne plus suivre le podcast",
|
||
"resume": "Reprendre",
|
||
"playLatest": "Lire le dernier",
|
||
"moveToTop": "Placer en tête",
|
||
"playFromHere": "Lire à partir d'ici",
|
||
"moveDown": "Descendre",
|
||
"clearQueue": "Vider la file d'attente",
|
||
"clearAll": "Tout effacer",
|
||
"search": "Rechercher",
|
||
"clearPlayed": "Effacer les épisodes écoutés",
|
||
"downloadSelected": "Télécharger la sélection",
|
||
"removeSelectedDownloads": "Supprimer les téléchargements sélectionnés",
|
||
"markSelectedPlayed": "Marquer la sélection comme écoutée",
|
||
"removeSelectedFromQueue": "Retirer la sélection de la file d'attente",
|
||
"selectEpisode": "Sélectionner {title}",
|
||
"playNamedEpisode": "Lire {title}",
|
||
"listenToEpisode": "Écouter {title}",
|
||
"resumeEpisode": "Reprendre {title}",
|
||
"playLatestEpisode": "Lire le dernier épisode, {title}",
|
||
"episodeDetails": "Détails de l'épisode",
|
||
"episodeDetailsNamed": "Détails de l'épisode {title}",
|
||
"editEpisodeMetadata": "Modifier les métadonnées",
|
||
"openFullPlayer": "Ouvrir le lecteur complet",
|
||
"reorderEpisode": "Déplacer {title}",
|
||
"playAll": "Tout lire",
|
||
"resumeNamed": "Reprendre {title}",
|
||
"queueAll": "Tout mettre en file d'attente",
|
||
"markAllPlayed": "Tout marquer comme écouté",
|
||
"latestCount": "{count} derniers",
|
||
"downloadLatest": "Télécharger les derniers",
|
||
"removeAllDownloads": "Supprimer tous les téléchargements",
|
||
"pin": "Épingler",
|
||
"unpin": "Désépingler",
|
||
"pinEpisode": "Épingler l'épisode",
|
||
"unpinEpisode": "Désépingler l'épisode"
|
||
},
|
||
"status": {
|
||
"nowPlaying": "En cours de lecture",
|
||
"paused": "En pause",
|
||
"downloaded": "Téléchargé",
|
||
"downloadQueued": "Téléchargement en attente",
|
||
"downloading": "Téléchargement",
|
||
"downloadFailed": "Échec du téléchargement",
|
||
"unavailable": "Indisponible",
|
||
"played": "Écouté",
|
||
"following": "Suivi",
|
||
"playbackProgress": "Progression de la lecture",
|
||
"downloadProgress": "Progression du téléchargement",
|
||
"removedFromFeed": "Retiré du flux",
|
||
"inQueue": "En file d'attente",
|
||
"feedFailing": "Flux en échec",
|
||
"archived": "Archivée",
|
||
"localShow": "Locale",
|
||
"localShowDescription": "Cette émission n'a pas de flux. Ses épisodes sont les fichiers de son dossier.",
|
||
"missing": "Manquante",
|
||
"missingDescription": "Le dossier de cette émission n'est plus sur le disque. Elle est conservée ici au cas où le dossier reviendrait ; supprimez l'émission pour la retirer définitivement."
|
||
},
|
||
"selection": {
|
||
"select": "Sélectionner",
|
||
"selectAll": "Tout sélectionner",
|
||
"count": "{count} sélectionnés",
|
||
"toggleShow": "Sélectionner {title}"
|
||
},
|
||
"bulkDelete": {
|
||
"title": "Supprimer les émissions sélectionnées",
|
||
"action": "Supprimer",
|
||
"confirmPhrase": "SUPPRIMER",
|
||
"description": "Cette action supprime définitivement {count} émissions et tout ce que BookOrbit en sait, y compris votre historique d'écoute. Elle est irréversible.",
|
||
"descriptionWithFiles": "Cette action supprime définitivement {count} émissions, tout ce que BookOrbit en sait et {size} de fichiers téléchargés. Vos propres dossiers ne sont jamais touchés. Elle est irréversible.",
|
||
"queued": "Suppression de {count} émissions",
|
||
"queuedWithFailures": "Suppression de {count} émissions, {failed} n'ont pas pu démarrer",
|
||
"errors": {
|
||
"prepare": "Impossible de déterminer ce que la suppression de ces émissions retirerait",
|
||
"delete": "Impossible de supprimer les émissions sélectionnées"
|
||
}
|
||
},
|
||
"views": {
|
||
"queue": "File d'attente"
|
||
},
|
||
"labels": {
|
||
"episodeCount": "{count} épisodes",
|
||
"unknownPublisher": "Éditeur inconnu",
|
||
"durationHoursMinutes": "{hours} h {minutes} min",
|
||
"durationMinutes": "{minutes} min",
|
||
"durationSeconds": "{seconds} s",
|
||
"durationUnavailable": "Durée indisponible",
|
||
"unknownDate": "Date inconnue",
|
||
"seasonEpisode": "S{season} Ép. {episode}",
|
||
"season": "S{season}",
|
||
"episode": "Ép. {episode}",
|
||
"episodeTypeTrailer": "Bande-annonce",
|
||
"episodeTypeBonus": "Bonus",
|
||
"pinnedHint": "Les épisodes épinglés sont protégés de la suppression par la rétention du stockage.",
|
||
"explicit": "Explicite",
|
||
"lastListened": "Écouté {time}",
|
||
"timeLeft": "{time} restant",
|
||
"remainingClock": "-{time}",
|
||
"pinnedEpisode": "Épisode épinglé",
|
||
"newEpisodeCount": "{count} nouveaux",
|
||
"unplayedShort": "{count} non écoutés"
|
||
},
|
||
"acquisition": {
|
||
"title": "Téléchargements automatiques",
|
||
"never": "Jamais",
|
||
"newEpisodes": "Nouveaux épisodes",
|
||
"recentEpisodes": "Épisodes récents",
|
||
"maximumNewest": "Nombre maximal d'épisodes récents",
|
||
"publishedWithinDays": "Publiés au cours des derniers (jours)",
|
||
"remoteDescription": "Diffuser les épisodes en streaming par défaut. Vous pouvez toujours télécharger des épisodes à l'unité pour les écouter hors ligne.",
|
||
"newestDescription": "Télécharger automatiquement le nombre choisi d'épisodes les plus récents qui ne sont pas déjà stockés ou en file d'attente. L'enregistrement de cette règle vérifie aussi les épisodes déjà présents dans le flux.",
|
||
"windowDescription": "Télécharger les épisodes existants et nouvellement découverts publiés pendant cette période. Les épisodes sans date de publication sont ignorés. Modifier cette règle ne supprime pas les téléchargements plus anciens, mais la rétention du stockage peut supprimer les téléchargements non épinglés lorsque de l'espace est nécessaire."
|
||
},
|
||
"cleanup": {
|
||
"title": "Supprimer après écoute",
|
||
"keep": "Conserver les téléchargements",
|
||
"afterFinished": "Supprimer une fois terminé",
|
||
"delayHours": "Supprimer ce nombre d'heures après que le dernier auditeur a terminé",
|
||
"keepDescription": "Les épisodes téléchargés restent sur le disque jusqu'à ce que la rétention du stockage ait besoin de l'espace.",
|
||
"afterFinishedDescription": "Supprimer un épisode téléchargé lorsque chaque auditeur qui l'a commencé l'a terminé et que le délai est écoulé. Le marquer comme non écouté, l'épingler ou le remettre dans une file d'attente pendant ce délai annule la suppression."
|
||
},
|
||
"player": {
|
||
"miniPlayer": "Mini-lecteur de podcasts",
|
||
"openFullPlayer": "Ouvrir le lecteur complet",
|
||
"expandMiniPlayer": "Agrandir le mini-lecteur",
|
||
"collapseMiniPlayer": "Réduire en lecteur compact",
|
||
"stopAndClose": "Arrêter et fermer le lecteur",
|
||
"sleepActive": "Minuterie de mise en veille active : {value}",
|
||
"previousEpisode": "Épisode précédent",
|
||
"nextEpisode": "Épisode suivant",
|
||
"backSeconds": "Reculer de {count} secondes",
|
||
"forwardSeconds": "Avancer de {count} secondes",
|
||
"episodePosition": "Position dans l'épisode",
|
||
"toggleTimeDisplay": "Basculer entre temps restant et durée totale",
|
||
"positionValue": "{elapsed} sur {duration}",
|
||
"playingAnnouncement": "Lecture de {title} de {podcast}",
|
||
"pausedAnnouncement": "{title} de {podcast} en pause",
|
||
"volume": "Volume",
|
||
"positionValueWithChapter": "{elapsed} sur {duration}, chapitre {chapter}"
|
||
},
|
||
"bookmarks": {
|
||
"title": "Signets",
|
||
"empty": "Aucun signet",
|
||
"closeForm": "Fermer le formulaire de signet",
|
||
"saveAt": "Enregistrer à {time}",
|
||
"titlePlaceholder": "Titre du signet",
|
||
"notePlaceholder": "Remarque facultative",
|
||
"save": "Enregistrer le signet",
|
||
"edit": "Modifier le signet",
|
||
"delete": "Supprimer le signet",
|
||
"titleLabel": "Titre du signet",
|
||
"noteLabel": "Remarque du signet",
|
||
"editTitleLabel": "Modifier le titre du signet",
|
||
"editNoteLabel": "Modifier la remarque du signet",
|
||
"defaultTitle": "Signet à {time}"
|
||
},
|
||
"library": {
|
||
"episodes": "Épisodes",
|
||
"shows": "Émissions",
|
||
"latest": "Récent",
|
||
"inProgress": "En cours",
|
||
"unplayed": "Non écouté",
|
||
"finished": "Terminé",
|
||
"health": "État",
|
||
"search": "Rechercher des podcasts",
|
||
"clearSearch": "Effacer la recherche de podcasts",
|
||
"import": "Importer",
|
||
"importOpml": "Importer un OPML",
|
||
"importDescription": "Importer une liste d'abonnements OPML",
|
||
"addFeed": "Ajouter un flux",
|
||
"settings": "Paramètres des podcasts",
|
||
"views": "Vues des podcasts",
|
||
"loading": "Chargement des podcasts...",
|
||
"noMatchingShows": "Aucune émission correspondante",
|
||
"ready": "Votre bibliothèque de podcasts est prête",
|
||
"tryDifferentSearch": "Essayez un autre titre ou éditeur.",
|
||
"readyDescription": "Ajoutez un flux RSS ou importez un fichier OPML pour commencer à constituer votre bibliothèque d'écoute.",
|
||
"loadMoreShows": "Charger plus d'émissions",
|
||
"upNext": "À suivre",
|
||
"emptyQueue": "Votre file d'attente est vide",
|
||
"emptyQueueDescription": "Ajoutez un épisode depuis une émission pour garder votre prochaine écoute à portée de main.",
|
||
"loadMore": "Charger plus",
|
||
"lastSuccess": "Dernier succès",
|
||
"failureCount": "{count} échecs : {error}",
|
||
"unknownError": "Erreur inconnue",
|
||
"healthy": "Sain",
|
||
"noFeeds": "Aucun flux à surveiller",
|
||
"noFeedsDescription": "Ajoutez un flux de podcast pour voir ici l'état de ses actualisations.",
|
||
"noMatchingEpisodes": "Aucun épisode correspondant",
|
||
"noEpisodesLatest": "Aucun épisode pour l'instant",
|
||
"noEpisodesDownloaded": "Aucun épisode téléchargé",
|
||
"noEpisodesInProgress": "Aucun épisode en cours",
|
||
"noEpisodesUnplayed": "Aucun épisode non écouté",
|
||
"noEpisodesFinished": "Aucun épisode terminé",
|
||
"noEpisodesPinned": "Aucun épisode épinglé",
|
||
"pinned": "Épinglé",
|
||
"continueListening": "Reprendre l'écoute",
|
||
"viewAllContinue": "Tout afficher",
|
||
"noEpisodesDescription": "Les nouveaux épisodes de vos émissions apparaîtront ici.",
|
||
"loadMoreEpisodes": "Charger plus d'épisodes",
|
||
"addPodcastFeed": "Ajouter un flux de podcast",
|
||
"rssUrl": "URL du flux RSS",
|
||
"preview": "Aperçu",
|
||
"addPodcast": "Ajouter un podcast",
|
||
"storage": "Stockage des podcasts",
|
||
"currentlyUsing": "Utilisation actuelle : {size}",
|
||
"libraryQuotaGb": "Quota de la bibliothèque (Go)",
|
||
"freeSpaceReserveGb": "Réserve d'espace libre (Go)",
|
||
"defaultRefreshMinutes": "Actualisation par défaut (minutes)",
|
||
"finishRemainingSeconds": "Terminer lorsqu'il reste (secondes)",
|
||
"exportOpml": "Exporter en OPML",
|
||
"exportDescription": "Exporter cette bibliothèque sous forme de liste d'abonnements OPML",
|
||
"importOpmlDescription": "Choisissez un fichier OPML et la politique de téléchargement à appliquer à chacun de ses flux.",
|
||
"opmlFile": "Fichier OPML",
|
||
"chooseOpmlFile": "Choisir un fichier",
|
||
"noOpmlFileChosen": "Aucun fichier choisi",
|
||
"importPolicyHint": "Elle s'applique à chaque flux importé. Vous pourrez la modifier ensuite pour chaque émission.",
|
||
"searchShows": "Rechercher des émissions",
|
||
"searchEpisodes": "Rechercher des épisodes",
|
||
"searchHealth": "Rechercher dans l'état des flux",
|
||
"manageFeeds": "Gérer les flux",
|
||
"feedHealth": "État des flux",
|
||
"feedsNeedAttention": "Des flux demandent votre attention",
|
||
"episodeFilters": "Filtres d'épisodes",
|
||
"previewing": "Aperçu en cours...",
|
||
"addingPodcast": "Ajout...",
|
||
"openShow": "Ouvrir {title}",
|
||
"retryFeed": "Actualiser {title}",
|
||
"reparseFeed": "Retraiter le flux enregistré de {title}",
|
||
"confirmClearQueue": "Retirer tous les épisodes de la file d'attente ?",
|
||
"importProgress": "Progression de l'import",
|
||
"jobsQueued": "{count} en file d'attente",
|
||
"jobsProcessing": "{count} en traitement",
|
||
"jobsFailed": "{count} en échec",
|
||
"retryUnhealthy": "Réessayer les flux en échec",
|
||
"followedOnly": "Suivis uniquement",
|
||
"queueDuration": "{duration} au total",
|
||
"confirmClearPlayed": "Retirer de la file d'attente tous les épisodes écoutés ?",
|
||
"searchQueue": "Rechercher dans votre file d'attente",
|
||
"noMatchingQueueEpisodes": "Aucun épisode correspondant dans la file d'attente",
|
||
"showAllEpisodes": "Afficher tous les épisodes",
|
||
"browseShows": "Parcourir les émissions",
|
||
"browseEpisodes": "Parcourir les épisodes",
|
||
"allLoaded": "Les {total} éléments sont chargés",
|
||
"addFeedDescription": "Cherchez dans l'annuaire de podcasts ou collez l'URL d'un flux RSS, prévisualisez l'émission, puis choisissez comment ses épisodes sont récupérés.",
|
||
"searchDirectory": "Rechercher dans l'annuaire de podcasts",
|
||
"searchDirectoryPlaceholder": "Nom de l'émission ou de l'éditeur",
|
||
"searchDirectoryEmpty": "Aucune émission de l'annuaire ne correspond à cette recherche.",
|
||
"searchDirectoryHint": "Choisissez un résultat pour le prévisualiser, ou collez l'URL d'un flux ci-dessous.",
|
||
"inLibrary": "Dans la bibliothèque",
|
||
"openExistingShow": "Ouvrir {title}, déjà dans votre bibliothèque",
|
||
"pasteFeedUrl": "Ou collez l'URL d'un flux",
|
||
"selectAllLoaded": "Sélectionner tous les épisodes chargés",
|
||
"reorderLoadedHint": "Le réordonnancement s'applique aux épisodes chargés jusqu'ici.",
|
||
"retryUnhealthyLoaded": "Réessayer les flux en échec chargés",
|
||
"manageFeedsUnhealthy": "Gérer les flux : des flux en échec demandent votre attention",
|
||
"localImportTitle": "Import des podcasts depuis vos dossiers",
|
||
"localImportDoneTitle": "Import terminé",
|
||
"localImportCounting": "Parcours de vos dossiers...",
|
||
"localImportProgress": "{processed} fichiers sur {total}",
|
||
"localImportDone": "{processed} fichiers importés",
|
||
"importingTitle": "Import de vos podcasts",
|
||
"importingHint": "Les émissions apparaissent ici à mesure que leurs fichiers sont lus."
|
||
},
|
||
"import": {
|
||
"title": "Importer des fichiers locaux",
|
||
"description": "Associez les fichiers audio déjà présents dans le dossier de cette bibliothèque aux épisodes des flux que vous suivez.",
|
||
"placementHint": "Placez d'abord les fichiers dans le dossier de cette bibliothèque. BookOrbit les adopte là où ils se trouvent : rien n'est copié, renommé ni déplacé.",
|
||
"scan": "Analyser les fichiers",
|
||
"running": "Analyse en cours...",
|
||
"progress": "{current} fichiers analysés sur {total}",
|
||
"apply": "Importer les fichiers associés",
|
||
"applyWithChoices": "Importer les fichiers associés et vos choix",
|
||
"applied": "{count} fichiers adoptés.",
|
||
"quota": "{adopt} à adopter, {headroom} encore libre sur le quota",
|
||
"truncated": "Certaines listes sont raccourcies. Les totaux ci-dessus sont complets.",
|
||
"chooseEpisode": "Choisir l'épisode",
|
||
"leaveUnresolved": "Laisser pour plus tard",
|
||
"noDate": "Sans date",
|
||
"fileCount": "{count} fichiers",
|
||
"subscribe": "S'abonner",
|
||
"subscribed": "Abonné",
|
||
"suggestedFeedsHint": "Ces dossiers désignent un flux que vous ne suivez pas encore. Abonnez-vous, puis relancez l'analyse pour associer leurs fichiers.",
|
||
"rescanHint": "Relancez l'analyse pour associer les fichiers des dossiers auxquels vous venez de vous abonner.",
|
||
"duplicateDiffers": "Un autre fichier est déjà rattaché à cet épisode",
|
||
"duplicateSame": "Cet épisode a déjà ce fichier",
|
||
"unreadableFolders": "{count} dossiers n'ont pas pu être lus.",
|
||
"groups": {
|
||
"matched": "Associés",
|
||
"ambiguous": "Décision nécessaire",
|
||
"unmatched": "Sans correspondance",
|
||
"duplicates": "Déjà rattachés",
|
||
"skipped": "Ignorés",
|
||
"suggestedFeeds": "Flux auxquels s'abonner",
|
||
"unclaimedFolders": "Dossiers sans flux"
|
||
},
|
||
"signals": {
|
||
"episode_guid": "ID de l'épisode dans les métadonnées du fichier",
|
||
"episode_id_suffix": "ID BookOrbit dans le nom du fichier",
|
||
"enclosure_file_name": "Le nom du fichier correspond à celui du flux",
|
||
"title_and_date": "Titre et date",
|
||
"title_and_duration": "Titre et durée",
|
||
"manual": "Votre choix"
|
||
},
|
||
"scopes": {
|
||
"request": "Émission que vous avez choisie",
|
||
"folder_suffix": "Nom du dossier de l'émission",
|
||
"feed_url_tag": "Adresse du flux dans les métadonnées du fichier",
|
||
"feed_sidecar": "Flux enregistré dans le dossier",
|
||
"title_similarity": "Titre d'émission similaire",
|
||
"library": "Aucune émission identifiée"
|
||
},
|
||
"reasons": {
|
||
"show_unresolved": "Aucune émission n'a pu être identifiée pour ce fichier",
|
||
"no_episode_candidate": "L'émission a été reconnue, mais aucun épisode",
|
||
"single_fuzzy_signal": "Un seul indice désignait un épisode",
|
||
"multiple_candidates": "Plusieurs épisodes correspondent aussi bien",
|
||
"empty_file": "Le fichier est vide",
|
||
"unsupported_format": "Ce n'est pas un fichier audio pris en charge",
|
||
"symlink": "Les liens symboliques ne sont pas importés",
|
||
"unreadable": "Le fichier n'a pas pu être lu",
|
||
"outside_library_root": "Le fichier se trouve en dehors du dossier de la bibliothèque",
|
||
"attach_conflict": "Un fichier a été rattaché à l'épisode pendant l'analyse",
|
||
"quota_exceeded": "Importer ces fichiers dépasserait le quota de stockage de cette bibliothèque. Augmentez le quota ou importez moins de fichiers."
|
||
},
|
||
"sources": {
|
||
"feed_sidecar": "Fichier de flux enregistré",
|
||
"metadata_json": "metadata.json",
|
||
"feed_url_tag": "Métadonnées du fichier"
|
||
},
|
||
"errors": {
|
||
"status": "Impossible de lire l'état de l'import",
|
||
"start": "Impossible de lancer l'import",
|
||
"subscribe": "Impossible de s'abonner à ce flux",
|
||
"createLocalShow": "Impossible de créer une émission locale à partir de ce dossier"
|
||
},
|
||
"messages": {
|
||
"subscribed": "Podcast ajouté. Relancez l'analyse pour associer ses fichiers.",
|
||
"localShowCreated": "Émission locale créée. Ses épisodes sont en cours d'import.",
|
||
"localShowUpdated": "Import des nouveaux fichiers de ce dossier."
|
||
},
|
||
"createLocalShow": "Créer une émission locale",
|
||
"addLocalEpisodes": "Ajouter les nouveaux épisodes",
|
||
"localShowCreated": "Créée",
|
||
"unclaimedFoldersHint": "Ces dossiers ne désignent aucun flux. Transformez-en un en émission locale : chacun de ses fichiers audio deviendra un épisode.",
|
||
"localRescanHint": "Relancez l'analyse pour prendre en compte tout autre changement dans les dossiers que vous venez d'importer."
|
||
},
|
||
"messages": {
|
||
"podcastAdded": "Podcast ajouté",
|
||
"feedsQueued": "{count} flux de podcasts mis en file d'attente",
|
||
"settingsSaved": "Paramètres des podcasts enregistrés",
|
||
"downloadQueued": "Téléchargement de l'épisode mis en file d'attente",
|
||
"downloadRemoved": "Téléchargement de l'épisode supprimé",
|
||
"refreshQueued": "Actualisation du podcast mise en file d'attente",
|
||
"reparseQueued": "Retraitement du podcast mis en file d'attente",
|
||
"mergeQueued": "Fusion des podcasts mise en file d'attente",
|
||
"showDeleted": "{title} supprimé",
|
||
"queueCleared": "File d'attente des podcasts vidée",
|
||
"playerClosed": "Lecteur fermé",
|
||
"feedsRefreshQueued": "Actualisation de {count} flux mise en file d'attente",
|
||
"finishedQueueCleared": "Épisodes écoutés retirés de la file d'attente",
|
||
"bulkQueueActionCompleted": "{count} épisodes sélectionnés mis à jour",
|
||
"bulkQueueActionFailed": "{completed} épisodes mis à jour, {failed} en échec",
|
||
"bulkQueued": "{completed} épisodes mis en file d'attente ; {skipped} y étaient déjà ou dépassaient la limite de la file",
|
||
"bulkMarkedPlayed": "{count} épisodes marqués comme écoutés",
|
||
"bulkDownloadsQueued": "{count} téléchargements d'épisodes mis en file d'attente",
|
||
"bulkDownloadsRemoved": "{count} téléchargements d'épisodes supprimés",
|
||
"bulkDownloadsRemovedWithFailures": "{completed} téléchargements supprimés ; {failed} en échec",
|
||
"queueRestored": "{count} épisodes remis dans la file d'attente",
|
||
"playlistSaved": "Playlist enregistrée",
|
||
"playlistDeleted": "Playlist supprimée",
|
||
"playlistQueued": "{completed} épisodes mis en file d'attente, {skipped} ignorés",
|
||
"playlistQueueEmpty": "Aucun épisode ne correspond à cette playlist",
|
||
"detailsSaved": "Détails de l'émission enregistrés",
|
||
"episodeDetailsSaved": "Détails de l'épisode enregistrés",
|
||
"artworkUpdated": "Illustration mise à jour",
|
||
"artworkRemoved": "Illustration personnalisée retirée",
|
||
"localFileDeleted": "Fichier de l'épisode supprimé",
|
||
"opmlOmittedLocalShows": "{count} émissions locales laissées hors de l'export : l'OPML ne peut décrire que des flux."
|
||
},
|
||
"fullPlayer": {
|
||
"queueNowPlaying": "Lecture en cours : #{position} · {count} restants",
|
||
"queuedCount": "{count} en file d'attente",
|
||
"mediaUnavailable": "Média indisponible",
|
||
"streaming": "Streaming",
|
||
"backToPodcast": "Retour au podcast",
|
||
"loading": "Chargement de l'épisode...",
|
||
"tryAgain": "Réessayer",
|
||
"nowListening": "En cours d'écoute",
|
||
"retry": "Réessayer",
|
||
"restart": "Recommencer",
|
||
"durationUnavailable": "Durée indisponible",
|
||
"previousQueued": "Épisode précédent de la file d'attente",
|
||
"nextQueued": "Épisode suivant de la file d'attente",
|
||
"startingPlayback": "Démarrage de la lecture",
|
||
"speed": "Vitesse",
|
||
"playbackSpeed": "Vitesse de lecture",
|
||
"sleep": "Minuterie",
|
||
"off": "Désactiver",
|
||
"endOfChapter": "Fin du chapitre",
|
||
"endOfEpisode": "Fin de l'épisode",
|
||
"minutesLeft": "{count} min restantes",
|
||
"aboutEpisode": "À propos de cet épisode",
|
||
"showLess": "Afficher moins",
|
||
"showMore": "Afficher plus",
|
||
"chapters": "Chapitres",
|
||
"previousChapter": "Chapitre précédent",
|
||
"nextChapter": "Chapitre suivant",
|
||
"removeNamedFromQueue": "Retirer {title} de la file d'attente",
|
||
"queueClear": "Votre file d'attente est vide.",
|
||
"transcripts": "Transcriptions",
|
||
"transcript": "Transcription",
|
||
"sleepMinutes": "{count} min",
|
||
"speedValue": "{rate}x",
|
||
"cyclePlaybackSpeed": "Changer de vitesse de lecture",
|
||
"choosePlaybackSpeed": "Choisir la vitesse de lecture",
|
||
"moreSpeeds": "Plus",
|
||
"showSpeedOverride": "Cette vitesse est mémorisée pour cette émission.",
|
||
"clearSpeedOverride": "Utiliser la vitesse par défaut pour cette émission",
|
||
"extendSleepLabel": "Ajouter {count} minutes à la minuterie de mise en veille",
|
||
"sleepTimer": "Minuterie de mise en veille",
|
||
"sleepRemaining": "{count} min",
|
||
"fineTuneSpeed": "Réglage fin",
|
||
"decreaseSpeed": "Réduire la vitesse de lecture",
|
||
"increaseSpeed": "Augmenter la vitesse de lecture",
|
||
"extendSleep": "Ajouter {count} min",
|
||
"bookmarkTooltip": "Signet : {title}",
|
||
"openQueue": "Ouvrir la file d'attente",
|
||
"openChapterLink": "Ouvrir le lien du chapitre {title}"
|
||
},
|
||
"show": {
|
||
"loading": "Chargement du podcast...",
|
||
"noAlerts": "Aucune alerte",
|
||
"immediate": "Immédiate",
|
||
"dailyDigest": "Résumé quotidien",
|
||
"weeklyDigest": "Résumé hebdomadaire",
|
||
"refreshFeed": "Actualiser le flux",
|
||
"refreshInterval": "Intervalle d'actualisation en minutes",
|
||
"restore": "Restaurer",
|
||
"archive": "Archiver",
|
||
"deletePermanently": "Supprimer définitivement",
|
||
"mergeSource": "Fusionner un autre ID de podcast dans cette émission",
|
||
"queueMerge": "Lancer la fusion",
|
||
"confirmMerge": "Fusionner le podcast {id} dans ce podcast ? Le podcast source sera définitivement supprimé.",
|
||
"confirmDelete": "Supprimer définitivement {title}, ses {episodes} épisodes et tout l'état d'écoute ? Cette action est irréversible.",
|
||
"confirmDeleteWithDownloads": "Supprimer définitivement {title}, ses {episodes} épisodes, {files} fichiers téléchargés ({size}) et tout l'état d'écoute ? Cette action est irréversible.",
|
||
"back": "Retour",
|
||
"notificationMode": "Fréquence des notifications",
|
||
"readMore": "Lire la suite",
|
||
"searchEpisodes": "Rechercher dans les épisodes de cette émission",
|
||
"clearEpisodeSearch": "Effacer la recherche d'épisodes",
|
||
"episodeFilter": "Filtre des épisodes",
|
||
"episodeSort": "Ordre de tri des épisodes",
|
||
"newestFirst": "Plus récents d'abord",
|
||
"oldestFirst": "Plus anciens d'abord",
|
||
"noEpisodes": "Aucun épisode correspondant",
|
||
"noEpisodesDescription": "Essayez une autre recherche, un autre filtre ou un autre ordre de tri.",
|
||
"dangerZone": "Zone de danger",
|
||
"dangerZoneActions": "Archiver, supprimer ou fusionner ce flux. La suppression est irréversible.",
|
||
"mergeTitle": "Fusionner une émission en double",
|
||
"mergeDescription": "Trouvez l'émission source à fusionner dans celle-ci. La source sera définitivement supprimée.",
|
||
"searchMergeSource": "Rechercher une émission en double",
|
||
"mergeSelected": "Fusionner « {title} » dans cette émission",
|
||
"fromDate": "Du",
|
||
"toDate": "Au",
|
||
"feedFailingTitle": "Le flux demande votre attention",
|
||
"feedFailingDetail": "{count} échecs d'actualisation consécutifs. Dernière actualisation réussie : {lastSuccess}",
|
||
"archivedTitle": "Cette émission est archivée",
|
||
"archivedDescription": "Les émissions archivées ne sont plus actualisées et ne téléchargent plus de nouveaux épisodes.",
|
||
"downloadLatestCount": "Nombre de derniers épisodes à télécharger",
|
||
"confirmRemoveAllDownloads": "Supprimer tous les épisodes téléchargés de cette émission ? Les épisodes diffusés en streaming et la progression d'écoute sont conservés.",
|
||
"refreshCompleted": "Mis à jour, {count} nouveaux épisodes",
|
||
"refreshFailed": "Échec de l'actualisation : {error}",
|
||
"manageTitle": "Gérer l'émission",
|
||
"manageActionsDescription": "L'archivage, la suppression et la fusion sont séparés, pour que les réglages courants restent sans risque à modifier.",
|
||
"openManageActions": "Archiver, supprimer ou fusionner",
|
||
"archiveOrDelete": "L'archivage est réversible et conserve tous les épisodes. La suppression retire définitivement l'émission, ses épisodes et tous les fichiers téléchargés.",
|
||
"deleteRequiresOwner": "L'archivage masque cette émission et arrête ses actualisations. Seul un propriétaire de la bibliothèque autorisé à supprimer des podcasts peut la retirer définitivement.",
|
||
"settingsDescription": "Choisissez comment les épisodes sont récupérés et à quelle fréquence le flux est vérifié.",
|
||
"updatedAgo": "Mis à jour {time}",
|
||
"checksEvery": "Intervalle de vérification : {time}",
|
||
"visitWebsite": "Visiter le site web",
|
||
"backToLibrary": "Retour à {library}",
|
||
"categoryOverflow": "+{count}",
|
||
"moreCategories": "Afficher {count} catégories de plus",
|
||
"allCategories": "Toutes les catégories",
|
||
"serial": "Feuilleton",
|
||
"daysShort": "{count} j",
|
||
"hoursShort": "{count} h",
|
||
"minutesShort": "{count} min",
|
||
"moreActions": "Autres actions sur l'émission",
|
||
"dates": "Dates",
|
||
"anyDate": "Toutes",
|
||
"dateRange": "{from} – {to}",
|
||
"dateFilter": "Dates de publication des épisodes",
|
||
"clearDates": "Effacer les dates",
|
||
"seasonHeader": "Saison {season}",
|
||
"localSettingsHint": "Cette émission n'a pas de flux : elle n'a donc aucun paramètre d'actualisation ni de téléchargement."
|
||
},
|
||
"edit": {
|
||
"title": "Modifier les détails",
|
||
"description": "Tout ce que vous modifiez ici est verrouillé, pour que la prochaine actualisation du flux ne puisse pas l'écraser.",
|
||
"titleLabel": "Titre de l'émission",
|
||
"authorLabel": "Éditeur",
|
||
"authorPlaceholder": "Qui publie cette émission",
|
||
"descriptionLabel": "Description",
|
||
"descriptionPlaceholder": "De quoi parle cette émission",
|
||
"descriptionHint": "La mise en forme du flux est remplacée par le texte brut que vous saisissez ici.",
|
||
"siteUrlLabel": "Site web",
|
||
"siteUrlPlaceholder": "https://example.com/show",
|
||
"languageLabel": "Langue",
|
||
"languagePlaceholder": "fr-fr",
|
||
"categoriesLabel": "Catégories",
|
||
"categoriesPlaceholder": "Ajoutez une catégorie et appuyez sur Entrée",
|
||
"removeCategory": "Retirer la catégorie {category}",
|
||
"categoryLimit": "Vous pouvez conserver jusqu'à {count} catégories.",
|
||
"explicitLabel": "Explicite",
|
||
"explicitHint": "Signale que cette émission contient du contenu explicite.",
|
||
"artworkTitle": "Illustration",
|
||
"artworkHint": "PNG, JPEG, WebP, GIF ou AVIF jusqu'à 10 Mo. Une illustration personnalisée remplace partout l'image du flux.",
|
||
"artworkUrlLabel": "Adresse de l'image",
|
||
"artworkUrlPlaceholder": "https://example.com/artwork.png",
|
||
"chooseImage": "Choisir une image",
|
||
"useImage": "Utiliser cette image",
|
||
"removeCustomArtwork": "Retirer l'illustration personnalisée",
|
||
"lockField": "Verrouiller le champ « {field} » contre les actualisations du flux",
|
||
"unlockField": "Déverrouiller le champ « {field} » pour que le flux puisse le mettre à jour",
|
||
"willLockField": "Le champ « {field} » sera verrouillé à l'enregistrement",
|
||
"willLockHint": "Ce champ sera verrouillé à l'enregistrement.",
|
||
"localDescription": "Cette émission n'a pas de flux : vos modifications sont définitives et rien ne peut les écraser."
|
||
},
|
||
"episodeEdit": {
|
||
"title": "Modifier l'épisode",
|
||
"description": "Tout ce que vous modifiez ici est verrouillé, pour que la prochaine actualisation du flux ne puisse pas l'écraser.",
|
||
"lockHint": "Les champs modifiés sont protégés des mises à jour du flux.",
|
||
"titleLabel": "Titre de l'épisode",
|
||
"subtitleLabel": "Sous-titre",
|
||
"subtitlePlaceholder": "Une ligne courte sous le titre",
|
||
"descriptionLabel": "Description",
|
||
"descriptionPlaceholder": "Ce que couvre cet épisode",
|
||
"descriptionHint": "La mise en forme du flux est remplacée par le texte brut que vous saisissez ici.",
|
||
"publishedAtLabel": "Date de publication",
|
||
"seasonLabel": "Saison",
|
||
"seasonPlaceholder": "2",
|
||
"episodeLabel": "Numéro d'épisode",
|
||
"episodePlaceholder": "14",
|
||
"episodeTypeLabel": "Type d'épisode",
|
||
"episodeTypeNone": "Non défini",
|
||
"episodeTypeFull": "Épisode complet",
|
||
"episodeTypeTrailer": "Bande-annonce",
|
||
"episodeTypeBonus": "Bonus",
|
||
"episodeTypeFromFeed": "{value} (depuis le flux)",
|
||
"durationLabel": "Durée",
|
||
"durationPlaceholder": "Minutes",
|
||
"durationHint": "En minutes. Laissez vide pour supprimer la durée.",
|
||
"durationInvalid": "Saisissez une durée en minutes supérieure à zéro.",
|
||
"explicitLabel": "Explicite",
|
||
"explicitHint": "Signale que cet épisode contient du contenu explicite.",
|
||
"localHint": "Cet épisode provient d'un fichier et non d'un flux : vos modifications sont définitives et rien ne peut les écraser."
|
||
},
|
||
"errors": {
|
||
"createBookmark": "Impossible de créer le signet",
|
||
"updateBookmark": "Impossible de mettre à jour le signet",
|
||
"deleteBookmark": "Impossible de supprimer le signet",
|
||
"feedPreview": "Échec de l'aperçu du flux",
|
||
"directorySearch": "La recherche dans l'annuaire est indisponible pour le moment. Collez plutôt l'URL du flux.",
|
||
"invalidEpisodeLimit": "Saisissez un nombre maximal d'épisodes valide",
|
||
"invalidEpisodeWindow": "Saisissez une période d'épisodes récents valide",
|
||
"invalidCleanupDelay": "Le délai de nettoyage doit être compris entre 0 et 8 760 heures",
|
||
"addPodcast": "Impossible d'ajouter le podcast",
|
||
"opmlTooLarge": "Les fichiers OPML ne peuvent pas dépasser 5 Mo",
|
||
"opmlImport": "Échec de l'import OPML",
|
||
"opmlExport": "Échec de l'export OPML",
|
||
"loadSettings": "Impossible de charger les paramètres des podcasts",
|
||
"invalidStorage": "Les valeurs de stockage doivent être des nombres positifs ou nuls",
|
||
"invalidRefresh": "L'actualisation par défaut doit être comprise entre 5 et 10 080 minutes",
|
||
"invalidCompletion": "Le seuil de fin d'écoute doit être compris entre 0 et 3 600 secondes",
|
||
"saveSettings": "Impossible d'enregistrer les paramètres des podcasts",
|
||
"markPlayed": "Impossible de marquer l'épisode comme écouté",
|
||
"restartEpisode": "Impossible de reprendre l'épisode depuis le début",
|
||
"queueDownload": "Impossible de mettre en file d'attente le téléchargement de l'épisode",
|
||
"removeDownload": "Impossible de supprimer le téléchargement de l'épisode",
|
||
"addToQueue": "Impossible d'ajouter l'épisode à la file d'attente",
|
||
"removeFromQueue": "Impossible de retirer l'épisode de la file d'attente",
|
||
"loadPodcast": "Impossible de charger le podcast",
|
||
"loadEpisodes": "Impossible de charger les épisodes du podcast",
|
||
"queueNext": "Impossible de placer l'épisode en prochaine lecture",
|
||
"follow": "Impossible de suivre le podcast",
|
||
"unfollow": "Impossible de ne plus suivre le podcast",
|
||
"updateEpisode": "Impossible de mettre à jour l'épisode",
|
||
"refresh": "Impossible de mettre en file d'attente l'actualisation du podcast",
|
||
"reparse": "Impossible de mettre en file d'attente le retraitement du podcast",
|
||
"reparseNoSnapshot": "BookOrbit n'a encore aucune copie enregistrée de ce flux. Actualisez-le d'abord.",
|
||
"updatePodcast": "Impossible de mettre à jour le podcast",
|
||
"archive": "Impossible d'archiver le podcast",
|
||
"prepareDelete": "Impossible de préparer la suppression de l'émission",
|
||
"deleteShow": "Impossible de supprimer l'émission",
|
||
"restore": "Impossible de restaurer le podcast",
|
||
"merge": "Impossible de mettre en file d'attente la fusion des podcasts",
|
||
"libraryAccess": "Impossible de charger l'accès aux bibliothèques",
|
||
"reorderQueue": "Impossible de réordonner la file d'attente des podcasts",
|
||
"clearQueue": "Impossible de vider la file d'attente des podcasts",
|
||
"podcastNotFound": "Podcast introuvable",
|
||
"loadPodcasts": "Impossible de charger les podcasts",
|
||
"loadQueue": "Impossible de charger la file d'attente des podcasts",
|
||
"loadHealth": "Impossible de charger l'état des flux",
|
||
"loadPlaybackSettings": "Impossible de charger les paramètres de lecture des podcasts",
|
||
"invalidPlaybackRate": "La vitesse de lecture doit être comprise entre 0,5 et 3",
|
||
"invalidSkipBackward": "Le retour en arrière doit être compris entre 5 et 120 secondes",
|
||
"invalidSkipForward": "L'avance rapide doit être comprise entre 5 et 120 secondes",
|
||
"invalidDateRange": "La date de début doit précéder la date de fin",
|
||
"episodeNotFound": "Épisode de podcast introuvable",
|
||
"loadEpisode": "Impossible de charger l'épisode du podcast",
|
||
"refreshPlaybackContext": "Impossible d'actualiser le contexte de lecture",
|
||
"streamUnavailable": "Impossible de charger cet épisode de podcast",
|
||
"bulkAction": "Impossible de mettre à jour les épisodes du podcast",
|
||
"invalidVolume": "Le volume doit être compris entre 0 et 100 %",
|
||
"restoreQueue": "Impossible de restaurer la file d'attente des podcasts",
|
||
"loadPlaylists": "Impossible de charger vos playlists",
|
||
"savePlaylist": "Impossible d'enregistrer la playlist",
|
||
"deletePlaylist": "Impossible de supprimer la playlist",
|
||
"queuePlaylist": "Impossible de mettre la playlist en file d'attente",
|
||
"playlistNameRequired": "Nommez la playlist avant de l'enregistrer",
|
||
"playlistLimitReached": "Vous avez atteint la limite de playlists enregistrées",
|
||
"playlistDurationRange": "La durée la plus courte doit être inférieure à la plus longue",
|
||
"updatePinned": "Impossible de modifier l'épinglage",
|
||
"titleRequired": "Le titre de l'émission ne peut pas être vide",
|
||
"episodeTitleRequired": "Le titre de l'épisode ne peut pas être vide",
|
||
"updateArtwork": "Impossible de mettre à jour l'illustration",
|
||
"removeArtwork": "Impossible de retirer l'illustration personnalisée"
|
||
},
|
||
"settingsPage": {
|
||
"title": "Paramètres des podcasts",
|
||
"subtitle": "Gérez vos valeurs de lecture par défaut et le comportement du stockage pour chaque bibliothèque de podcasts.",
|
||
"loading": "Chargement des paramètres des podcasts...",
|
||
"saving": "Enregistrement...",
|
||
"playbackTitle": "Lecture par défaut",
|
||
"playbackDescription": "Ces préférences suivent votre compte sur tous vos appareils. Les vitesses de lecture mémorisées pour chaque émission sont conservées.",
|
||
"defaultPlaybackRate": "Vitesse de lecture par défaut",
|
||
"skipBackwardSeconds": "Retour en arrière (secondes)",
|
||
"skipForwardSeconds": "Avance rapide (secondes)",
|
||
"playbackSaved": "Paramètres de lecture des podcasts enregistrés",
|
||
"playbackSaveFailed": "Impossible d'enregistrer les paramètres de lecture des podcasts",
|
||
"libraryTitle": "Valeurs par défaut et stockage de la bibliothèque",
|
||
"libraryDescription": "Choisissez une bibliothèque de podcasts pour voir ses limites de stockage et son comportement d'actualisation par défaut.",
|
||
"library": "Bibliothèque de podcasts",
|
||
"noLibraries": "Vous n'avez encore accès à aucune bibliothèque de podcasts.",
|
||
"loadingLibrary": "Chargement des paramètres de la bibliothèque...",
|
||
"readOnlyLibrary": "Seuls les propriétaires de la bibliothèque disposant de l'autorisation de rétention des podcasts peuvent modifier ces paramètres.",
|
||
"showSettingsHint": "Les règles de téléchargement automatique et les intervalles d'actualisation propres à une émission restent dans les paramètres de chaque émission.",
|
||
"defaultVolume": "Volume par défaut",
|
||
"gigabytesUnit": "Go"
|
||
},
|
||
"queueReorder": {
|
||
"lifted": "{title} saisi en position {position} sur {total}",
|
||
"moved": "{title} déplacé en position {position} sur {total}",
|
||
"dropped": "{title} déposé en position {position} sur {total}",
|
||
"cancelled": "Déplacement de {title} annulé"
|
||
},
|
||
"sort": {
|
||
"label": "Trier",
|
||
"showLabel": "Trier les émissions",
|
||
"episodeLabel": "Trier les épisodes",
|
||
"showTitle": "Titre de A à Z",
|
||
"showRecent": "Mises à jour récemment",
|
||
"showUnplayed": "Le plus d'épisodes non écoutés",
|
||
"shortest": "Plus courts d'abord",
|
||
"longest": "Plus longs d'abord",
|
||
"recentlyListened": "Écoutés récemment"
|
||
},
|
||
"announce": {
|
||
"queued": "{title} ajouté à la file d'attente",
|
||
"queuedNext": "{title} sera lu ensuite",
|
||
"unqueued": "{title} retiré de la file d'attente",
|
||
"downloadReady": "Téléchargement de {title} terminé",
|
||
"downloadFailed": "Échec du téléchargement de {title}",
|
||
"evictedSpace": "Téléchargement de {title} supprimé pour libérer de l'espace",
|
||
"evictedPlayed": "Téléchargement de {title} supprimé après écoute",
|
||
"sleepExpired": "Minuterie de mise en veille écoulée, lecture en pause",
|
||
"sleepExtended": "Minuterie de mise en veille prolongée de {count} minutes",
|
||
"sleepChapterUnavailable": "Minuterie de mise en veille annulée : cet épisode n'a pas de chapitres"
|
||
},
|
||
"shortcuts": {
|
||
"title": "Raccourcis clavier des podcasts",
|
||
"description": "Ces raccourcis fonctionnent tant qu'un épisode est chargé. Espace et les touches fléchées agissent sur la page du lecteur ou sur le mini-lecteur ; les signets ne peuvent être ajoutés que depuis la page du lecteur.",
|
||
"open": "Raccourcis clavier",
|
||
"togglePlayback": "Lecture ou pause",
|
||
"skipBackward": "Reculer",
|
||
"skipForward": "Avancer",
|
||
"next": "Épisode suivant",
|
||
"previous": "Épisode précédent",
|
||
"speedDown": "Réduire la vitesse de lecture",
|
||
"speedUp": "Augmenter la vitesse de lecture",
|
||
"mute": "Couper ou rétablir le son",
|
||
"volumeUp": "Augmenter le volume",
|
||
"volumeDown": "Baisser le volume",
|
||
"bookmark": "Ajouter un signet",
|
||
"help": "Afficher cette liste",
|
||
"spaceKey": "Espace",
|
||
"groups": {
|
||
"playback": "Lecture",
|
||
"navigation": "Navigation",
|
||
"tools": "Outils"
|
||
}
|
||
},
|
||
"playlists": {
|
||
"title": "Playlists",
|
||
"builtInLabel": "Intégrée",
|
||
"savedLabel": "Enregistrées",
|
||
"choose": "Choisir une playlist",
|
||
"search": "Rechercher dans les épisodes de la playlist",
|
||
"summary": "{count} épisodes, {duration}",
|
||
"summaryShortest": "Durée minimale",
|
||
"summaryLongest": "Durée maximale",
|
||
"summaryPublishedWithin": "Publiés depuis",
|
||
"create": "Nouvelle playlist",
|
||
"createTitle": "Nouvelle playlist intelligente",
|
||
"editTitle": "Modifier la playlist intelligente",
|
||
"editorDescription": "Choisissez les épisodes que rassemble cette playlist intelligente. Les règles sont réévaluées chaque fois que vous l'ouvrez : les nouveaux épisodes apparaissent automatiquement.",
|
||
"edit": "Modifier les règles",
|
||
"adjustRules": "Ajuster les règles",
|
||
"saveAs": "Enregistrer comme playlist",
|
||
"save": "Enregistrer la playlist",
|
||
"delete": "Supprimer la playlist",
|
||
"deleteConfirmTitle": "Supprimer cette playlist ?",
|
||
"deleteConfirmDescription": "« {name} » et ses règles seront supprimées. Les épisodes qu'elle rassemble ne sont pas affectés.",
|
||
"nameLabel": "Nom de la playlist",
|
||
"namePlaceholder": "Trajet du matin",
|
||
"filterLabel": "Épisodes",
|
||
"sortLabel": "Ordre",
|
||
"minDuration": "Durée minimale (minutes)",
|
||
"maxDuration": "Durée maximale (minutes)",
|
||
"publishedWithin": "Publiés au cours des derniers (jours)",
|
||
"showsLabel": "Émissions",
|
||
"showsDescription": "Laissez vide pour inclure toutes les émissions de la bibliothèque.",
|
||
"searchShows": "Rechercher des émissions à ajouter",
|
||
"removeShow": "Retirer {title}",
|
||
"showLimit": "Une playlist peut cibler jusqu'à {count} émissions.",
|
||
"copyOf": "Copie de {name}",
|
||
"empty": "Rien ne correspond encore à cette playlist",
|
||
"emptyDescription": "Ajustez les règles, ou revenez quand de nouveaux épisodes seront arrivés.",
|
||
"builtIn": {
|
||
"quick": "Écoutes rapides",
|
||
"continue": "Reprendre l'écoute",
|
||
"downloaded": "Téléchargés",
|
||
"fresh": "Nouveautés de la semaine"
|
||
},
|
||
"nameRequired": "Nommez la playlist avant de l'enregistrer"
|
||
},
|
||
"downloadWidget": {
|
||
"title": "Téléchargements",
|
||
"progress": "{completed} sur {total} téléchargés",
|
||
"progressWithFailures": "{completed} sur {total} téléchargés ; {failed} en échec",
|
||
"progressWithCancelled": "{completed} sur {total} téléchargés ; {cancelled} annulés",
|
||
"complete": "Téléchargements terminés : {count}",
|
||
"expand": "Développer la progression des téléchargements",
|
||
"collapse": "Réduire la progression des téléchargements",
|
||
"overallProgress": "Progression globale des téléchargements",
|
||
"unknownPodcast": "Podcast",
|
||
"unknownEpisode": "Épisode",
|
||
"batchProgress": "{completed} sur {total} terminés",
|
||
"dismiss": "Masquer la progression des téléchargements",
|
||
"bytes": "{received} sur {total}",
|
||
"episodeProgress": "Progression du téléchargement : {title}",
|
||
"status": {
|
||
"queued": "En file d'attente",
|
||
"downloading": "Téléchargement",
|
||
"completed": "Téléchargé",
|
||
"failed": "Échec",
|
||
"cancelled": "Annulé"
|
||
}
|
||
},
|
||
"collections": {
|
||
"addAction": "Ajouter à une collection",
|
||
"addTitle": "Ajouter à une collection",
|
||
"addDescription": "Choisissez une collection de podcasts pour {title}.",
|
||
"added": "Ajouté à {name}",
|
||
"addFailed": "Impossible d'ajouter l'émission à cette collection.",
|
||
"createFailed": "Impossible de créer la collection.",
|
||
"alreadyIn": "Déjà dans cette collection",
|
||
"none": "Aucune collection de podcasts pour l'instant. Créez-en une ci-dessous.",
|
||
"newPlaceholder": "Podcasts de science-fiction",
|
||
"newLabel": "Nom de la nouvelle collection",
|
||
"create": "Créer",
|
||
"newCollection": "Nouvelle collection",
|
||
"existing": "Collections",
|
||
"inCollection": "Dans cette collection",
|
||
"showCount": "{count} émissions",
|
||
"removed": "Retiré de {name}",
|
||
"removeFailed": "Impossible de retirer l'émission de cette collection."
|
||
}
|
||
},
|
||
"titles": {
|
||
"dashboard": "Tableau de bord",
|
||
"libraries": "Bibliothèques",
|
||
"podcastLibraries": "Bibliothèques de podcasts",
|
||
"podcastScope": "Playlist intelligente",
|
||
"podcastCollection": "Collection de podcasts",
|
||
"opds": "OPDS",
|
||
"koboSync": "Kobo Synchronisation",
|
||
"koreaderSync": "KOReader Synchronisation",
|
||
"bookDock": "Book Dock",
|
||
"whatsNew": "Quoi de neuf",
|
||
"annotations": "Annotations",
|
||
"achievements": "Succès",
|
||
"statistics": "Statistiques",
|
||
"authors": "Auteurs",
|
||
"series": "Série",
|
||
"entityManager": "Gestionnaire d'entité",
|
||
"bulkRename": "Renommer en masse",
|
||
"duplicateBooks": "Livres en double",
|
||
"notFound": "Introuvable",
|
||
"signIn": "Connectez-vous",
|
||
"initialSetup": "Configuration initiale",
|
||
"register": "Créer un compte",
|
||
"forgotPassword": "Mot de passe oublié",
|
||
"resetPassword": "Réinitialiser le mot de passe",
|
||
"completingSignIn": "Terminer la connexion",
|
||
"magicLinkLogin": "Connexion au lien magique",
|
||
"readPrefix": "Lire",
|
||
"emailSuffix": "Courriel",
|
||
"library": "Bibliothèque",
|
||
"smartScope": "Liste intelligente",
|
||
"collection": "Collection",
|
||
"author": "Auteur",
|
||
"book": "Livre",
|
||
"podcasts": "Podcasts",
|
||
"podcast": "Podcast",
|
||
"podcastEpisode": "Épisode",
|
||
"seriesItem": "Série",
|
||
"appearance": {
|
||
"theme": "Affichage",
|
||
"book-covers": "Couvertures de livres",
|
||
"icons": "Icônes",
|
||
"layout": "Disposition de l'affichage",
|
||
"behavior": "Comportement de la bibliothèque",
|
||
"language": "Langue"
|
||
},
|
||
"reader": {
|
||
"general": "Paramètres du lecteur",
|
||
"ebook": "Lecteur Ebook",
|
||
"pdf": "PDF Lecteur",
|
||
"comics": "Lecteur de bandes dessinées",
|
||
"audio": "Lecteur de livres audio",
|
||
"fonts": "Polices de lecture"
|
||
},
|
||
"email": {
|
||
"providers": "Fournisseurs",
|
||
"recipients": "Destinataires",
|
||
"groups": "Groupes",
|
||
"templates": "Modèles",
|
||
"preferences": "Préférences",
|
||
"history": "Histoire"
|
||
},
|
||
"metadata": {
|
||
"providers": "Fournisseurs",
|
||
"field-rules": "Règles au niveau du champ",
|
||
"custom-fields": "Métadonnées personnalisées",
|
||
"genre-blocklist": "Liste de blocage des genres",
|
||
"score": "Score de confiance",
|
||
"auto-fetch": "Récupération automatique du livre",
|
||
"authors": "Récupération automatique de l'auteur"
|
||
},
|
||
"admin": {
|
||
"users": "Utilisateurs",
|
||
"account-activity": "Activité du compte",
|
||
"magic-links": "Liens magiques",
|
||
"oidc": "OIDC / SSO",
|
||
"server-fonts": "Polices du serveur",
|
||
"tts": "Synthèse vocale"
|
||
},
|
||
"system": {
|
||
"file-naming": "Nom du fichier",
|
||
"book-dock": "Book Dock",
|
||
"requests": "Demandes",
|
||
"maintenance": "Entretien",
|
||
"audit-log": "Journal d'audit"
|
||
},
|
||
"account": {
|
||
"profile": "Compte",
|
||
"privacy": "Confidentialité et partage",
|
||
"notifications": "Notifications",
|
||
"restrictions": "Restrictions de contenu"
|
||
},
|
||
"smartScopes": "Listes intelligentes",
|
||
"collections": "Collections",
|
||
"missingResources": "Ressources manquantes",
|
||
"bookRequests": "Demandes",
|
||
"bookRequestDetail": "Demande",
|
||
"bookRequestReleases": "Choisir une release",
|
||
"tts": "Synthèse vocale"
|
||
},
|
||
"tts": {
|
||
"readerControls": {
|
||
"listen": "Écouter",
|
||
"playing": "Lecture en cours"
|
||
},
|
||
"player": {
|
||
"fallbackTitle": "Synthèse vocale",
|
||
"play": "Lancer la synthèse vocale",
|
||
"pause": "Mettre la synthèse vocale en pause",
|
||
"openMiniPlayer": "Ouvrir le mini-lecteur",
|
||
"shrinkPlayer": "Réduire le lecteur",
|
||
"expandPlayer": "Agrandir le lecteur",
|
||
"collapsePlayer": "Replier le lecteur",
|
||
"openDetails": "Ouvrir les détails du lecteur",
|
||
"previousSentence": "Phrase précédente",
|
||
"nextSentence": "Phrase suivante",
|
||
"meta": "Ch. {chapter} – Phrase {sentence} – {voice} – {speed}x",
|
||
"metaWithoutVoice": "Ch. {chapter} – Phrase {sentence} – {speed}x",
|
||
"position": "Chapitre {chapter} – Phrase {sentence}",
|
||
"playbackError": "Erreur de lecture – touchez Lecture pour réessayer",
|
||
"voice": "Voix",
|
||
"sleep": "Minuterie",
|
||
"sleepRemaining": "{count} min",
|
||
"currentVoice": "Voix actuelle",
|
||
"chooseVoice": "Choisir une voix",
|
||
"saveForBook": "Enregistrer pour ce livre",
|
||
"setAsDefault": "Définir par défaut partout",
|
||
"bookVoiceSaved": "Voix enregistrée pour ce livre",
|
||
"bookVoiceSaveFailed": "Impossible d'enregistrer la voix du livre",
|
||
"defaultVoiceSaved": "Voix de synthèse par défaut mise à jour",
|
||
"defaultVoiceSaveFailed": "Impossible de mettre à jour la voix par défaut",
|
||
"stop": "Arrêter"
|
||
},
|
||
"speed": {
|
||
"label": "Vitesse de lecture",
|
||
"value": "{speed}x"
|
||
},
|
||
"sleepTimer": {
|
||
"title": "Minuterie de mise en veille",
|
||
"preset": "{count} min",
|
||
"presetLabel": "Arrêter la lecture dans {count} minutes",
|
||
"cancel": "Annuler",
|
||
"cancelLabel": "Annuler la minuterie de mise en veille",
|
||
"remaining": "Arrêt dans {minutes} min {seconds} s"
|
||
},
|
||
"resume": {
|
||
"title": "Reprendre la synthèse vocale ?",
|
||
"description": "Une position de synthèse vocale est enregistrée",
|
||
"descriptionWithChapter": "Une position de synthèse vocale est enregistrée (chapitre {chapter})",
|
||
"resume": "Reprendre",
|
||
"startHere": "Commencer à cette page",
|
||
"dismiss": "Ignorer",
|
||
"clearing": "Effacement...",
|
||
"confirmClear": "Confirmer l'effacement",
|
||
"clearSavedPosition": "Effacer la position enregistrée"
|
||
},
|
||
"voicePicker": {
|
||
"search": "Rechercher des voix...",
|
||
"allProviders": "Tous",
|
||
"allLanguages": "Toutes les langues",
|
||
"allCountries": "Tous les pays",
|
||
"filterByLanguage": "Filtrer par langue",
|
||
"filterByCountry": "Filtrer par pays",
|
||
"empty": "Aucune voix trouvée",
|
||
"select": "Sélectionner {name}",
|
||
"preview": "Écouter {name}",
|
||
"voiceWithLocale": "{voice} – {locale}"
|
||
},
|
||
"settings": {
|
||
"description": "Configurez votre voix de synthèse par défaut et vos paramètres de lecture.",
|
||
"defaultVoice": "Voix par défaut",
|
||
"selectVoice": "Sélectionner une voix...",
|
||
"change": "Modifier",
|
||
"defaultSpeed": "Vitesse par défaut",
|
||
"saved": "Préférences de synthèse vocale enregistrées",
|
||
"saveFailed": "Impossible d'enregistrer les préférences de synthèse vocale"
|
||
},
|
||
"errors": {
|
||
"generic": "Erreur de synthèse vocale"
|
||
}
|
||
}
|
||
}
|