Files
Psychotoxical-psysonic/src/locales/fr/settings.ts
T
cucadmuh 40db6b08d2 chore(playback): remove Preload Next Track setting (#1007)
* chore(playback): remove Preload Next Track setting

The configurable next-track RAM preload duplicated hot cache and is
obsolete now that ranged streaming starts playback sooner. Gapless and
crossfade still use the internal audio_preload backup when hot cache is off.

* docs: add CHANGELOG entry for Preload Next Track removal (PR #1007)
2026-06-06 01:01:08 +03:00

602 lines
42 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
export const settings = {
title: 'Paramètres',
language: 'Langue',
languageEn: 'English',
languageDe: 'Deutsch',
languageEs: 'Español',
languageFr: 'Français',
languageNl: 'Nederlands',
languageNb: 'Norsk',
languageRu: 'Русский',
languageZh: '中文',
languageRo: 'Română',
font: 'Police',
fontHintOpenDyslexic: 'Adapté à la dyslexie · sans prise en charge du chinois',
theme: 'Thème',
appearance: 'Apparence',
servers: 'Serveurs',
serverName: 'Nom du serveur',
serverUrl: 'URL du serveur',
serverUrlPlaceholder: '192.168.1.100:4533 ou https://music.exemple.com',
serverAlternateUrl: 'Seconde adresse (optionnelle)',
serverAlternateUrlPlaceholderPublic: 'https://music.example.com',
serverAlternateUrlPlaceholderLocal: '192.168.1.100:4533',
serverAlternateUrlHintAddPublic: 'Vous pouvez ajouter une adresse publique pour y accéder en dehors de votre réseau domestique.',
serverAlternateUrlHintAddLocal: 'Vous pouvez ajouter une adresse locale pour une connexion plus rapide à domicile.',
serverBothLanError: 'Les deux adresses sont locales — conservez-en une ou ajoutez une adresse publique.',
dualAddressVerifying: 'Vérification que les deux adresses pointent vers le même serveur…',
dualAddressMismatch: 'Les deux adresses pointent vers des serveurs différents. Vérifiez lorthographe et réessayez.',
dualAddressInsufficient: 'Impossible de confirmer que les deux adresses correspondent au même serveur. Supprimez une adresse pour continuer.',
dualAddressUnreachable: 'Impossible de joindre {{host}}. Vérifiez ladresse et votre réseau, puis réessayez.',
urlRemigrationTitle: 'Déplacer les données de la bibliothèque ?',
urlRemigrationMessage: 'Changer ladresse déplacera toutes les données de la bibliothèque, de lanalyse et du cache de couvertures de {{oldKey}} vers {{newKey}}. Cette action est irréversible.',
urlRemigrationConfirm: 'Déplacer les données',
urlRemigrationProgress: 'Déplacement des données de la bibliothèque…',
urlRemigrationFailureInspect: 'Impossible de vérifier ce qui serait déplacé. Réessayez ou ouvrez le journal de débogage.',
urlRemigrationFailureRun: 'Le déplacement des données de la bibliothèque a échoué. Vos données enregistrées sont intactes — réessayez.',
urlRemigrationFailureCoverRename: 'Les données de la bibliothèque ont été déplacées, mais les fichiers de couverture nont pas pu être renommés. Les couvertures seront reconstruites au prochain accès.',
shareUsesLocalUrl: 'Utiliser ladresse locale dans les liens de partage',
shareUsesLocalUrlDesc: 'Affecte les invitations Orbit et les partages de bibliothèque. Par défaut : adresse publique.',
serverUsername: 'Nom d\'utilisateur',
serverPassword: 'Mot de passe',
addServer: 'Ajouter un serveur',
addServerTitle: 'Ajouter un nouveau serveur',
editServer: 'Modifier',
editServerTitle: 'Modifier le serveur',
useServer: 'Utiliser',
deleteServer: 'Supprimer',
noServers: 'Aucun serveur enregistré.',
serverActive: 'Actif',
confirmDeleteServer: 'Supprimer le serveur « {{name}} » ?',
serverConnecting: 'Connexion…',
serverConnected: 'Connecté !',
serverFailed: 'Connexion échouée.',
testBtn: 'Tester la connexion',
testingBtn: 'Test en cours…',
serverCompatible: 'Conçu pour Navidrome. Les autres serveurs compatibles Subsonic (Gonic, Airsonic, …) peuvent fonctionner avec des fonctionnalités réduites, car Psysonic utilise de nombreux endpoints dAPI spécifiques à Navidrome.',
userMgmtTitle: 'Gestion des utilisateurs',
userMgmtDesc: 'Gérer les utilisateurs sur ce serveur. Nécessite des privilèges administrateur.',
userMgmtNoAdmin: 'Vous devez être administrateur pour gérer les utilisateurs sur ce serveur.',
userMgmtLoadError: 'Impossible de charger les utilisateurs.',
userMgmtLoadFriendly: 'Le serveur n\'a pas répondu — généralement ponctuel.',
userMgmtRetry: 'Réessayer',
userMgmtEmpty: 'Aucun utilisateur trouvé.',
userMgmtYouBadge: 'Vous',
userMgmtAdminBadge: 'Admin',
userMgmtAddUser: 'Ajouter un utilisateur',
userMgmtAddUserTitle: 'Nouvel utilisateur',
userMgmtEditUserTitle: 'Modifier lutilisateur',
userMgmtUsername: 'Nom dutilisateur',
userMgmtName: 'Nom affiché',
userMgmtEmail: 'E-mail',
userMgmtPassword: 'Mot de passe',
userMgmtPasswordEditHint: 'Saisir un nouveau mot de passe pour le modifier.',
userMgmtRoleAdmin: 'Admin',
userMgmtLibraries: 'Bibliothèques',
userMgmtLibrariesAdminHint: 'Les utilisateurs admin ont automatiquement accès à toutes les bibliothèques.',
userMgmtLibrariesEmpty: 'Aucune bibliothèque disponible sur ce serveur.',
userMgmtLibrariesValidation: 'Sélectionnez au moins une bibliothèque.',
userMgmtLibrariesUpdateError: 'Utilisateur enregistré, mais l\u2019attribution des bibliothèques a échoué',
userMgmtNoLibraries: 'Aucune bibliothèque attribuée',
userMgmtNeverSeen: 'Jamais',
userMgmtSave: 'Enregistrer',
userMgmtCancel: 'Annuler',
userMgmtDelete: 'Supprimer',
userMgmtEdit: 'Modifier',
userMgmtConfirmDelete: 'Supprimer lutilisateur « {{username}} » ? Action irréversible.',
userMgmtCreateError: 'Impossible de créer lutilisateur.',
userMgmtUpdateError: 'Impossible de mettre à jour lutilisateur.',
userMgmtDeleteError: 'Impossible de supprimer lutilisateur.',
userMgmtCreated: 'Utilisateur créé.',
userMgmtUpdated: 'Utilisateur mis à jour.',
userMgmtDeleted: 'Utilisateur supprimé.',
userMgmtValidationMissing: 'Nom dutilisateur, nom affiché et mot de passe sont requis.',
userMgmtValidationMissingIdentity: 'Le nom dutilisateur et le nom affiché sont requis.',
userMgmtMagicStringGenerate: 'Générer la chaîne magique',
userMgmtSaveAndMagicString: 'Enregistrer et obtenir la chaîne magique',
userMgmtMagicStringPasswordNavHint:
'Navidrome enregistrera ce mot de passe pour lutilisateur. Sil diffère de lactuel, le mot de passe de connexion sur le serveur sera mis à jour.',
userMgmtMagicStringPlaintextWarning:
'Partagez la chaîne magique avec prudence : elle contient un mot de passe non chiffré (lencodage nest pas du chiffrement). Quiconque possède la chaîne complète peut se connecter en tant que cet utilisateur.',
userMgmtMagicStringCopied: 'Chaîne magique copiée dans le presse-papiers.',
userMgmtMagicStringCopyFailed: 'Impossible de copier dans le presse-papiers.',
userMgmtMagicStringLoginFailed: 'Échec de la vérification du mot de passe — identifiants non confirmés.',
userMgmtMagicStringModalTitle: 'Générer la chaîne magique',
userMgmtMagicStringModalDesc: 'Saisissez le mot de passe Subsonic de « {{username}} ». Il est inclus dans la chaîne magique copiée.',
userMgmtMagicStringModalConfirm: 'Copier la chaîne',
audiomuseTitle: 'AudioMuse-AI (Navidrome)',
audiomuseDesc:
'Activez si ce serveur utilise le <pluginLink>plugin Navidrome AudioMuse-AI</pluginLink>. Active le mix instantané depuis un morceau et affiche les artistes similaires côté serveur au lieu de Last.fm sur les pages artiste.',
audiomuseIssueHint:
'Le mix instantané a échoué récemment — vérifiez le plugin Navidrome et lAPI AudioMuse. Les artistes similaires utilisent Last.fm si le serveur ne renvoie rien.',
connected: 'Connecté',
failed: 'Échec',
eqTitle: 'Égaliseur',
eqEnabled: 'Activer l\'égaliseur',
eqPreset: 'Préréglage',
eqPresetCustom: 'Personnalisé',
eqPresetBuiltin: 'Préréglages intégrés',
eqPresetCustomGroup: 'Mes préréglages',
eqSavePreset: 'Enregistrer comme préréglage',
eqPresetName: 'Nom du préréglage…',
eqDeletePreset: 'Supprimer le préréglage',
eqResetBands: 'Réinitialiser à plat',
eqPreGain: 'Pré-amplification',
eqResetPreGain: 'Réinitialiser la pré-amplification',
eqAutoEqTitle: 'Recherche AutoEQ',
eqAutoEqPlaceholder: 'Rechercher un casque / IEM…',
eqAutoEqSearching: 'Recherche…',
eqAutoEqNoResults: 'Aucun résultat',
eqAutoEqError: 'Échec de la recherche',
eqAutoEqRateLimit: 'Limite GitHub atteinte — réessayez dans une minute',
eqAutoEqFetchError: 'Impossible de charger le profil EQ',
lfmTitle: 'Last.fm',
lfmConnect: 'Connecter avec Last.fm',
lfmConnecting: 'En attente d\'autorisation…',
lfmConfirm: 'J\'ai autorisé l\'application',
lfmConnected: 'Connecté en tant que',
lfmDisconnect: 'Déconnecter',
lfmConnectDesc: 'Connectez votre compte Last.fm pour activer le scrobbling et les mises à jour « En cours de lecture » depuis Psysonic — aucune configuration Navidrome requise.',
lfmOpenBrowser: 'Une fenêtre de navigateur s\'ouvrira. Autorisez Psysonic sur Last.fm, puis cliquez sur le bouton ci-dessous.',
lfmScrobbles: '{{n}} scrobbles',
lfmMemberSince: 'Membre depuis {{year}}',
scrobbleEnabled: 'Scrobbling activé',
scrobbleDesc: 'Envoyer les morceaux à Last.fm après 50% d\'écoute',
behavior: 'Comportement de l\'application',
cacheTitle: 'Taille max. du stockage',
cacheDesc: 'Pochettes et images d\'artistes. Quand le cache est plein, les entrées les plus anciennes sont supprimées automatiquement. Les albums hors ligne ne sont pas supprimés automatiquement, mais le seront lors d\'un nettoyage manuel.',
cacheUsedImages: 'Images :',
cacheUsedOffline: 'Pistes hors ligne :',
cacheUsedHot: 'Espace disque :',
hotCacheTrackCount: 'Pistes en cache :',
cacheMaxLabel: 'Taille max.',
cacheClearBtn: 'Vider le cache',
cacheClearWarning: 'Cela supprimera aussi tous les albums hors ligne de la bibliothèque.',
cacheClearConfirm: 'Tout supprimer',
cacheClearCancel: 'Annuler',
offlineDirTitle: 'Bibliothèque hors ligne (intégrée)',
offlineDirDesc: 'Emplacement de stockage des titres rendus disponibles hors ligne dans Psysonic.',
offlineDirDefault: 'Par défaut (données d\'application)',
offlineDirChange: 'Changer le dossier',
offlineDirClear: 'Réinitialiser',
offlineDirHint: 'Les nouveaux téléchargements utiliseront cet emplacement. Les téléchargements existants restent à leur emplacement d\'origine.',
hotCacheTitle: 'Cache de lecture à chaud',
hotCacheDisclaimer: 'Précharge les titres à venir dans la file et conserve les précédents. Si activé : espace disque et réseau.',
hotCacheDirDefault: 'Par défaut (données d\'application)',
hotCacheDirChange: 'Changer le dossier',
hotCacheDirClear: 'Réinitialiser',
hotCacheDirHint: 'Changer de dossier réinitialise lindex dans lapp ; les fichiers déjà écrits restent à lancien emplacement.',
hotCacheEnabled: 'Activer le cache de lecture à chaud',
hotCacheMaxMb: 'Taille maximale du cache',
hotCacheDebounce: 'Délai après changement de file',
hotCacheDebounceImmediate: 'Immédiat',
hotCacheDebounceSeconds: '{{n}} s',
hotCacheClearBtn: 'Vider le cache à chaud',
audioOutputDevice: 'Périphérique de sortie audio',
audioOutputDeviceDesc: 'Choisissez le périphérique audio utilisé par Psysonic. Les changements sont immédiats et relancent la piste en cours.',
audioOutputDeviceDefault: 'Défaut système',
audioOutputDeviceRefresh: 'Actualiser la liste',
audioOutputDeviceOsDefaultNow: 'sortie système actuelle',
audioOutputDeviceListError: 'Impossible de charger la liste des périphériques audio.',
audioOutputDeviceNotInCurrentList: 'absent de la liste actuelle',
audioOutputDeviceMacNotice: 'Sur macOS, la lecture suit actuellement toujours la sortie audio du système pour des raisons techniques. Changez la cible via Réglages Système → Son ou l\'icône haut-parleur de la barre de menus. Contexte : CoreAudio déclenche une demande d\'autorisation du microphone à l\'ouverture d\'un flux non par défaut — nous l\'évitons en utilisant toujours la sortie système par défaut.',
hiResTitle: 'Lecture haute résolution native',
hiResEnabled: 'Activer la lecture haute résolution native',
hiResDesc: "Force une sortie à 44,1 kHz par défaut pour une stabilité maximale. N'activer que si le matériel et le réseau prennent en charge les hautes fréquences d'échantillonnage (88,2 kHz+).",
showArtistImages: 'Afficher les images d\'artistes',
showArtistImagesDesc: 'Charge et affiche les images d\'artistes dans la vue d\'ensemble. Désactivé par défaut pour réduire les E/S disque serveur et la charge réseau sur les grandes bibliothèques.',
showOrbitTrigger: 'Afficher « Orbit » dans l\'en-tête',
showOrbitTriggerDesc: 'Le bouton d\'en-tête pour démarrer ou rejoindre une session d\'écoute partagée. Masque-le si tu n\'utilises pas Orbit — tu peux le réactiver ici.',
showTrayIcon: 'Afficher l\'icône dans la barre système',
showTrayIconDesc: 'Affiche l\'icône Psysonic dans la zone de notification / barre des menus.',
minimizeToTray: 'Réduire dans la barre système',
minimizeToTrayDesc: 'Lors de la fermeture, Psysonic continue de fonctionner dans la barre système au lieu de se fermer.',
clockFormat: 'Format de l\'heure',
clockFormatDesc: 'Format de l\'horloge utilisé par l\'ETA de la file d\'attente et l\'aperçu du minuteur de mise en veille.',
clockFormatAuto: 'Automatique (langue du système)',
clockFormatTwentyFour: '24 heures',
clockFormatTwelve: '12 heures (AM/PM)',
preloadMiniPlayer: 'Précharger le mini-lecteur',
preloadMiniPlayerDesc: 'Construit la fenêtre du mini-lecteur en arrière-plan au démarrage de l\'application afin qu\'elle affiche son contenu instantanément à la première ouverture. Utilise un peu plus de mémoire.',
linuxWebkitSmoothScroll: 'Molette fluide (Linux)',
linuxWebkitSmoothScrollDesc: 'Activé : inertie. Désactivé : pas à la ligne, style GTK.',
linuxWebkitInputForceRepaint: 'Repeindre les champs au focus (Linux)',
linuxWebkitInputForceRepaintDesc: 'Contournement pour WebKitGTK 2.50.x où les champs texte gèlent au clic. Les loupes scintillent brièvement au focus.',
linuxWaylandTextRender: 'Rendu du texte Wayland (Linux)',
linuxWaylandTextRenderDesc:
'Le lissage dans linterface est immédiat. Laccélération matérielle WebKit (net / GPU) est enregistrée et appliquée au prochain lancement — la modifier en direct peut figer WebKitGTK.',
linuxWaylandTextRenderBalanced: 'Équilibré',
linuxWaylandTextRenderSharp: 'Net (favorise le CPU)',
linuxWaylandTextRenderGpu: 'GPU prioritaire',
linuxWaylandTextRenderMinimal: 'Minimal (lissage CSS par défaut)',
discordRichPresence: 'Discord Rich Presence',
discordRichPresenceDesc: 'Affiche le titre en cours de lecture sur votre profil Discord. Discord doit être ouvert.',
discordCoverSource: 'Source de pochette',
discordCoverSourceDesc: 'D\'où récupérer la pochette pour votre profil Discord.',
discordCoverNone: 'Aucune (icône de l\'app uniquement)',
discordCoverServer: 'Serveur (via infos album)',
discordCoverApple: 'Apple Music',
discordOptions: 'Options Discord avancées',
discordTemplates: 'Modèles de texte personnalisés',
discordTemplatesDesc: 'Personnalisez les informations affichées sur votre profil Discord. Variables : {title}, {artist}, {album}',
discordTemplateDetails: 'Ligne principale (details)',
discordTemplateState: 'Ligne secondaire (state)',
discordTemplateLargeText: 'Info-bulle album (largeText)',
discordTemplateName: 'Ligne de la liste (name)',
nowPlayingEnabled: 'Afficher dans la fenêtre live',
nowPlayingEnabledDesc: 'Diffuse le titre en cours de lecture vers la vue des auditeurs en direct du serveur. Désactiver pour ne pas envoyer de données de lecture.',
enableBandsintown: 'Dates de tournée Bandsintown',
enableBandsintownDesc: 'Affiche les concerts à venir de l\'artiste actuel dans l\'onglet Info. Les données proviennent de l\'API publique Bandsintown.',
lyricsServerFirst: 'Préférer les paroles du serveur',
lyricsServerFirstDesc: 'Consulter d\'abord les paroles fournies par le serveur (tags intégrés, fichiers sidecar) avant LRCLIB. Désactiver pour utiliser LRCLIB en priorité.',
enableNeteaselyrics: 'Paroles Netease Cloud Music',
enableNeteaselyricsDesc: 'Utiliser Netease Cloud Music en dernier recours lorsque le serveur et LRCLIB ne retournent rien. Meilleure couverture pour la musique asiatique et internationale.',
lyricsSourcesTitle: 'Sources de paroles',
lyricsSourcesDesc: 'Choisissez quelles sources interroger et dans quel ordre. Glissez pour réordonner. Les sources désactivées sont ignorées.',
lyricsSourceServer: 'Serveur',
lyricsSourceLrclib: 'LRCLIB',
lyricsSourceNetease: 'Netease Cloud Music',
lyricsYouLyPlus: 'YouLyPlus (Karaoké)',
lyricsYouLyPlusDesc: 'Synchronisation mot à mot depuis un backend communautaire (Apple Music, Spotify, Musixmatch, QQ). Essayé en premier ; les sources activées ci-dessous servent de repli.',
lyricsSourcesFallbackHint: 'Utilisées en repli quand YouLyPlus ne trouve rien. Glisser pour réordonner.',
lyricsSourcesPrimaryHint: 'Essayées dans l\'ordre. Glisser pour réordonner. Tout désactivé = paroles désactivées.',
lyricsStaticOnly: 'Afficher les paroles en texte statique uniquement',
lyricsStaticOnlyDesc: 'Affiche les paroles synchronisées sans défilement automatique ni surlignage des mots.',
downloadsTitle: 'Export ZIP & Archivage',
downloadsFolderDesc: 'Dossier de destination pour les albums téléchargés en tant que fichier ZIP sur votre ordinateur.',
downloadsDefault: 'Dossier de téléchargement par défaut',
pickFolder: 'Sélectionner',
pickFolderTitle: 'Sélectionner le dossier de téléchargement',
clearFolder: 'Effacer le dossier',
logout: 'Se déconnecter',
aboutTitle: 'À propos de Psysonic',
aboutDesc: 'Un lecteur de musique de bureau moderne conçu pour Navidrome. Utilise l\'API Subsonic ainsi que des extensions spécifiques à Navidrome. Basé sur Tauri v2 avec un moteur audio Rust natif — léger et rapide, mais riche en fonctionnalités : barre waveform, paroles synchronisées, intégration Last.fm, égaliseur 10 bandes, crossfade, lecture sans blanc, Replay Gain, navigation par genre et une grande bibliothèque de thèmes.',
aboutLicense: 'Licence',
aboutLicenseText: 'GNU GPL v3 — libre d\'utilisation, de modification et de distribution sous la même licence.',
aboutRepo: 'Code source sur GitHub',
aboutVersion: 'Version',
aboutBuiltWith: 'Construit avec Tauri · React · TypeScript · Rust/rodio',
aboutReleaseNotesLabel: 'Notes de version',
aboutReleaseNotesLink: 'Ouvrir les nouveautés de cette version',
aboutContributorsLabel: 'Contributeurs',
showChangelogOnUpdate: "Afficher 'Quoi de neuf' lors des mises à jour",
showChangelogOnUpdateDesc: "Affiche une bannière discrète du changelog au-dessus de Now Playing après une mise à jour. Un clic ouvre les notes de version, le X la masque.",
libraryGridMaxColumnsTitle: 'Grilles de cartes dans la bibliothèque',
libraryGridMaxColumnsPerfHint: 'Plus de colonnes signifie plus de tuiles par ligne et davantage de travail de mise en page et de peinture — surtout sur de grosses bibliothèques ou du matériel lent.',
libraryGridMaxColumnsRangeLabel: 'Nombre maximal de colonnes ({{min}}{{max}})',
libraryGridMaxColumnsDesc: 'Sapplique aux vues album, artiste, liste de lecture, radio, hors ligne et autres pages en cartes. Moins de colonnes = tuiles plus grandes et en général moins de charge CPU.',
libraryIndexTitle: 'Index local de bibliothèque (aperçu)',
libraryIndexDesc: 'Conserve une copie locale de la base de morceaux de chaque serveur pour que la navigation et la recherche restent rapides et fonctionnent hors ligne. La synchronisation initiale sexécute pour tous les serveurs configurés ; les serveurs hors ligne sont réessayés automatiquement.',
libraryIndexDeltaHint: 'La synchronisation delta en arrière-plan vérifie les serveurs liés toutes les 30 secondes et sexécute quand cest dû — en général toutes les 5 à 45 minutes selon la taille de la bibliothèque et la charge.',
libraryIndexEnable: 'Activer lindex local de bibliothèque',
libraryIndexEnableAllDesc: 'Indexer et synchroniser tous les serveurs configurés en arrière-plan.',
libraryIndexNoServer: 'Ajoutez dabord un serveur.',
libraryIndexServerListTitle: 'Serveurs indexés',
libraryIndexAllExcluded: 'Tous les serveurs sont exclus de la synchronisation. Réactivez lindex ou ajoutez un serveur.',
libraryIndexServerOffline: 'Serveur hors ligne — synchronisation reportée',
libraryIndexServerDeferred: 'Reportée',
libraryIndexServerSyncing: 'Synchronisation…',
libraryIndexFullResync: 'Resynchronisation complète',
libraryIndexDeltaSync: 'Synchronisation delta',
libraryIndexExcludeServer: 'Exclure de la synchronisation',
libraryIndexExcludingServer: 'Exclusion…',
libraryIndexExcludedTitle: 'Exclus de la synchronisation',
libraryIndexIncludeServer: 'Réinclure',
libraryIndexIncludingServer: 'Réinclusion…',
libraryIndexStatus: 'État',
libraryIndexStatusIdle: 'Inactif',
libraryIndexStatusProbing: 'Vérification du serveur…',
libraryIndexStatusInitial: 'Synchronisation initiale…',
libraryIndexStatusReady: 'Prêt ({{count}} morceaux)',
libraryIndexStatusError: 'Erreur — voir les journaux',
libraryIndexProgressIngest: '{{count}} morceaux indexés…',
libraryIndexProgressVerify: '{{checked}} vérifiés ({{deleted}} supprimés)',
libraryIndexSyncNow: 'Synchroniser maintenant',
libraryIndexVerify: 'Vérifier lintégrité de la bibliothèque',
libraryIndexCancel: 'Annuler',
libraryIndexAutoReconcile: 'Réconciliation auto en cas de baisse du nombre',
libraryIndexAutoReconcileDesc: 'Recherche automatiquement les morceaux supprimés lorsque le serveur en signale moins que prévu.',
libraryIndexSyncError: 'Échec de la synchronisation de la bibliothèque : {{error}}',
libraryIndexBindError: 'Impossible dactiver lindex : {{error}}',
randomMixTitle: 'Liste noire du mix aléatoire',
luckyMixMenuTitle: 'Afficher Mix Chance dans le menu',
luckyMixMenuDesc: 'Active Mix Chance dans "Créer un mix" et comme entrée séparée quand la navigation est scindée. Visible uniquement si AudioMuse est actif sur le serveur courant.',
randomMixBlacklistTitle: 'Mots-clés de filtre personnalisés',
randomMixBlacklistDesc: 'Les morceaux sont exclus si un mot-clé correspond à leur genre, titre, album ou artiste (actif quand la case ci-dessus est cochée).',
randomMixBlacklistPlaceholder: 'Ajouter un mot-clé…',
randomMixBlacklistAdd: 'Ajouter',
randomMixBlacklistEmpty: 'Aucun mot-clé personnalisé ajouté.',
randomMixHardcodedTitle: 'Mots-clés intégrés (actifs quand la case est cochée)',
tabAudio: 'Audio',
tabStorage: 'Hors ligne & Cache',
tabAppearance: 'Apparence',
tabLibrary: 'Bibliothèque',
tabServers: 'Serveurs',
tabLyrics: 'Paroles',
tabPersonalisation: 'Personnalisation',
tabIntegrations: 'Intégrations',
inputKeybindingsTitle: 'Raccourcis clavier',
aboutContributorsCount_one: '{{count}} contribution',
aboutContributorsCount_other: '{{count}} contributions',
searchPlaceholder: 'Rechercher dans les paramètres…',
searchNoResults: 'Aucun réglage ne correspond à votre recherche.',
aboutMaintainersLabel: 'Mainteneurs',
integrationsPrivacyTitle: 'Avis de confidentialité',
integrationsPrivacyBody: 'Toutes les intégrations de cet onglet sont <strong>facultatives</strong> et, une fois activées, envoient des données à des services externes ou à votre serveur Navidrome. Last.fm reçoit votre historique d\'écoute, Discord affiche le morceau en cours dans votre profil, Bandsintown est interrogé par artiste pour récupérer les dates de tournée, et le partage « En cours de lecture » publie votre morceau actuel auprès des autres utilisateurs de votre serveur Navidrome. Si vous ne voulez rien de tout cela, laissez simplement la section correspondante désactivée.',
homeCustomizerTitle: 'Scène principale',
queueModeTitle: 'Mode d\'affichage de la file',
queueModeQueueSub: 'N\'affiche que les pistes à venir. La piste en cours reste dans l\'en-tête et quitte la liste une fois jouée.',
queueModePlaylistSub: 'Conserve toute la file dans la liste, la piste en cours surlignée en haut ; les pistes jouées restent.',
queueModeTimelineSub: 'Centrer le morceau en cours, avec l\'historique au-dessus et les morceaux à venir (dans l\'ordre aléatoire) en dessous.',
queueToolbarTitle: 'Barre d\'outils de file d\'attente',
queueToolbarReset: 'Réinitialiser',
queueToolbarSeparator: 'Séparateur',
sidebarTitle: 'Barre latérale',
sidebarReset: 'Réinitialiser',
artistLayoutTitle: 'Sections de la page artiste',
artistLayoutDesc: 'Glissez pour réorganiser, basculez pour masquer des sections individuelles de la page artiste. Les sections sans données sont ignorées automatiquement.',
artistLayoutReset: 'Réinitialiser',
artistLayoutBio: 'Biographie de l\'artiste',
artistLayoutTopTracks: 'Titres populaires',
artistLayoutSimilar: 'Artistes similaires',
artistLayoutAlbums: 'Albums',
artistLayoutFeatured: 'Apparaît aussi sur',
playlistLayoutTitle: 'Mise en page de la playlist',
playlistLayoutDesc: 'Afficher ou masquer des éléments individuels sur la page de la playlist.',
playlistLayoutReset: 'Réinitialiser',
playerBarTitle: 'Barre de lecture',
playerBarReset: 'Réinitialiser',
playerBarStarRating: 'Note par étoiles',
playerBarFavorite: 'Favori (cœur)',
playerBarLastfmLove: 'Last.fm love',
playerBarPlaybackRate: 'Vitesse de lecture',
playerBarEqualizer: 'Égaliseur',
playerBarMiniPlayer: 'Mini-lecteur',
playbackRateTitle: 'Vitesse de lecture',
playbackRateEnabled: 'Activer la vitesse de lecture',
playbackRateEnabledDesc: 'Vitesse globale pour toutes les pistes. Non appliquée à la radio ni aux aperçus.',
playbackRateStrategy: 'Stratégie',
playbackRateStrategySpeed: 'Vitesse',
playbackRateStrategyVarispeed: 'Avec hauteur',
playbackRateStrategyPreserve: 'Hauteur',
playbackRateSpeed: 'Vitesse',
playbackRatePitch: 'Hauteur',
playbackRateDerivedPitch: 'Décalage de hauteur lié à la vitesse : {{value}}',
playbackRateAutoPitch: 'La hauteur est corrigée automatiquement.',
playbackRateHint: '« Vitesse » conserve la hauteur naturelle. « Avec hauteur » change la hauteur avec la vitesse. « Hauteur » ajoute un décalage manuel. Plus gourmand en CPU que « Avec hauteur ». Non pour la radio, les aperçus ou Orbit.',
playbackRateNeutral: 'À 1,0× sans décalage de hauteur, la lecture est normale.',
playbackRateOrbitPaused: 'Non appliqué pendant les sessions Orbit — la lecture reste à 1,0× pour la synchro.',
playbackRateOrbitPausedShort: 'Orbit : 1,0× pour la synchro.',
advancedMode: 'Avancé',
advancedModeTooltip: 'Afficher les options avancées dans tous les onglets des paramètres. Contributions de la communauté qui ne reflètent pas nécessairement la philosophie de conception des mainteneurs de Psysonic.',
advancedBadge: 'Avancé',
sidebarDrag: 'Glisser pour réorganiser',
sidebarFixed: 'Toujours visible',
nowPlayingTopTitle: '« En cours » en haut',
nowPlayingTopDesc: 'Épingler l\'entrée « En cours » en haut de la barre latérale au lieu du bas.',
randomNavSplitTitle: 'Diviser la navigation Mix',
randomNavSplitDesc: 'Afficher "Mix Aléatoire", "Albums Aléatoires" et "Mix Chance" comme entrées séparées dans la barre latérale plutôt que le hub "Créer un Mix".',
tabInput: 'Entrée',
tabUsers: 'Utilisateurs',
shortcutsReset: 'Réinitialiser',
shortcutListening: 'Appuyez sur une touche…',
shortcutUnbound: '—',
shortcutClear: 'Effacer',
globalShortcutsTitle: 'Raccourcis globaux',
globalShortcutsNote: 'Fonctionnent à l\'échelle du système, même quand Psysonic est en arrière-plan. Nécessite Ctrl, Alt ou Super comme modificateur.',
shortcutPlayPause: 'Lecture / Pause',
shortcutNext: 'Piste suivante',
shortcutPrev: 'Piste précédente',
shortcutVolumeUp: 'Volume +',
shortcutVolumeDown: 'Volume -',
shortcutSeekForward: 'Avancer de 10s',
shortcutSeekBackward: 'Reculer de 10s',
shortcutToggleQueue: 'Afficher/masquer la file',
shortcutOpenFolderBrowser: 'Ouvrir {{folderBrowser}}',
shortcutFullscreenPlayer: 'Lecteur plein écran',
shortcutNativeFullscreen: 'Plein écran natif',
shortcutOpenMiniPlayer: 'Ouvrir le mini-lecteur',
shortcutStartSearch: 'Lancer une recherche',
shortcutStartAdvancedSearch: 'Lancer une recherche avancée',
shortcutToggleSidebar: 'Afficher / masquer la barre latérale',
shortcutMuteSound: 'Couper le son',
shortcutToggleEqualizer: 'Ouvrir / basculer l\'égaliseur',
shortcutToggleRepeat: 'Basculer la répétition',
shortcutOpenNowPlaying: 'Ouvrir « En cours »',
shortcutShowLyrics: 'Afficher les paroles',
shortcutFavoriteCurrentTrack: 'Ajouter la piste actuelle aux favoris',
shortcutOpenHelp: 'Aide',
tabSystem: 'Système',
loggingTitle: 'Journalisation',
loggingModeDesc: 'Contrôle le niveau de verbosité des journaux backend dans le terminal.',
loggingModeOff: 'Désactivé',
loggingModeNormal: 'Normal',
loggingModeDebug: 'Débogage',
loggingExport: 'Exporter les journaux',
loggingExportSuccess: 'Journaux exportés ({{count}} lignes).',
loggingExportError: 'Impossible d\'exporter les journaux.',
ratingsSectionTitle: 'Notes',
ratingsSkipStarTitle: 'Passer pour 1 étoile',
ratingsSkipStarDesc:
"Après plusieurs sauts daffilée, le morceau passe à 1 étoile. Uniquement sil n’était pas encore noté.",
ratingsSkipStarThresholdLabel: 'Sauts',
ratingsMixFilterTitle: 'Filtrage par note',
ratingsMixFilterDesc:
"Filtrer le contenu peu noté dans {{mix}} et {{albums}}. Cliquer de nouveau sur l’étoile choisie désactive le seuil.",
ratingsMixMinSong: 'Morceaux',
ratingsMixMinAlbum: 'Albums',
ratingsMixMinArtist: 'Artistes',
ratingsMixMinThresholdAria: 'Étoiles minimum : {{label}}',
backupTitle: 'Sauvegarde & Restauration',
backupExport: 'Exporter les paramètres',
backupExportDesc: 'Enregistre tous les paramètres, profils serveur, configuration Last.fm, thème, EQ et raccourcis dans un fichier .psybkp. Les mots de passe sont stockés en clair — conservez le fichier en sécurité.',
backupImport: 'Importer les paramètres',
backupImportDesc: 'Restaure les paramètres depuis un fichier .psybkp. L\'application sera rechargée après l\'import.',
backupImportConfirm: 'Tous les paramètres actuels seront écrasés. Continuer ?',
backupSuccess: 'Sauvegarde enregistrée',
backupImportSuccess: 'Paramètres restaurés — rechargement…',
backupImportError: 'Fichier de sauvegarde invalide ou corrompu.',
playbackTitle: 'Lecture',
replayGain: 'Replay Gain',
replayGainDesc: 'Normaliser le volume des pistes avec les métadonnées ReplayGain',
replayGainMode: 'Mode',
replayGainAuto: 'Auto',
replayGainAutoDesc: 'Utilise le gain d\'album quand les pistes voisines de la file proviennent du même album, sinon le gain de piste.',
replayGainTrack: 'Piste',
replayGainAlbum: 'Album',
replayGainPreGain: 'Pré-Gain (fichiers taggés)',
replayGainPreGainDesc: 'Boost universel ajouté à chaque calcul ReplayGain. Utile si votre bibliothèque semble globalement trop discrète.',
replayGainFallback: 'Repli (sans tags / radio)',
replayGainFallbackDesc: 'Appliqué aux pistes (et flux radio) sans tags ReplayGain, pour que le contenu non taggé ne sorte pas plus fort que le reste.',
normalization: 'Normalisation',
normalizationDesc: 'Égalise la sonie perçue entre pistes, albums et radio.',
normalizationOff: 'Désactivé',
normalizationReplayGain: 'ReplayGain',
normalizationLufs: 'LUFS',
loudnessTargetLufs: 'LUFS cible',
loudnessTargetLufsDesc: 'Sonie de référence sur laquelle toutes les pistes sont calées. Valeur plus basse = sortie plus forte. Les services de streaming tournent autour de -14 LUFS.',
loudnessPreAnalysisAttenuation: 'Atténuation avant mesure',
loudnessPreAnalysisAttenuationDesc:
'Réduit le volume tant que la loudness du morceau nest pas enregistrée. En streaming, des estimations grossières suivent, pas une mesure complète. 0 dB = rien ; plus négatif = plus discret. À droite, le dB effectif pour la cible actuelle.',
loudnessPreAnalysisAttenuationRef: 'Effectif {{eff}} dB avec cible {{tgt}} LUFS.',
loudnessPreAnalysisAttenuationReset: 'Valeur par défaut',
loudnessFirstPlayNote:
'À la première lecture dun nouveau morceau, le volume peut brièvement varier pendant la mesure. La fois suivante, la mesure mise en cache prend le relais et tout reste stable. Les pistes à venir dans la file sont en général pré-analysées pendant la lecture précédente, ce cas est donc rare en pratique.',
crossfade: 'Fondu enchaîné',
crossfadeDesc: 'Fondu entre les pistes',
crossfadeSecs: '{{n}} s',
notWithGapless: 'Non disponible quand la lecture sans blanc est active',
notWithCrossfade: 'Non disponible quand le fondu enchaîné est actif',
gapless: 'Lecture sans blanc',
gaplessDesc: 'Préparer la piste suivante pour éliminer les silences entre les morceaux',
preservePlayNextOrder: "Préserver l'ordre « Lire ensuite »",
preservePlayNextOrderDesc: 'Les nouveaux éléments « Lire ensuite » s\'ajoutent à la fin de la file existante au lieu de la doubler.',
trackPreviewsTitle: 'Aperçus de pistes',
trackPreviewsToggle: 'Activer les aperçus de pistes',
trackPreviewsDesc: 'Affiche les boutons Lecture et Aperçu dans les listes pour un court extrait au milieu du morceau.',
trackPreviewStart: 'Position de départ',
trackPreviewStartDesc: 'À quel point du morceau l\'aperçu commence (% de la durée).',
trackPreviewDuration: 'Durée',
trackPreviewDurationDesc: 'Combien de temps chaque aperçu joue avant de s\'arrêter.',
trackPreviewDurationSecs: '{{n}} s',
trackPreviewLocationsTitle: 'Où afficher les aperçus',
trackPreviewLocationsDesc: 'Choisissez dans quelles listes afficher les boutons d\'aperçu.',
trackPreviewLocation_suggestions: 'Dans les suggestions de playlist',
trackPreviewLocation_albums: 'Dans les listes d\'albums',
trackPreviewLocation_playlists: 'Dans les playlists',
trackPreviewLocation_favorites: 'Dans les favoris',
trackPreviewLocation_artist: 'Dans les meilleurs morceaux de l\'artiste',
trackPreviewLocation_randomMix: 'Dans Random Mix',
nextTrackBufferingTitle: 'Mise en mémoire tampon',
infiniteQueue: 'File infinie',
infiniteQueueDesc: 'Ajouter automatiquement des morceaux aléatoires quand la file est épuisée',
experimental: 'Expérimental',
sidebarLyricsStyle: "Style de défilement des paroles",
sidebarLyricsStyleClassic: "Classique",
sidebarLyricsStyleClassicDesc: "La ligne active est centrée.",
sidebarLyricsStyleApple: "Apple Music-like",
sidebarLyricsStyleAppleDesc: "La ligne active reste en haut avec une animation fluide.",
seekbarStyle: 'Style de la barre de lecture',
seekbarStyleDesc: 'Choisir l\'apparence de la barre de progression',
seekbarTruewave: 'Forme d\'onde réelle',
seekbarPseudowave: 'Forme d\'onde pseudo',
seekbarLinedot: 'Ligne & point',
seekbarBar: 'Barre',
seekbarThick: 'Barre épaisse',
seekbarSegmented: 'Segmentée',
seekbarNeon: 'Néon',
seekbarPulsewave: 'Onde pulsée',
seekbarParticletrail: 'Traînée de particules',
seekbarLiquidfill: 'Tube liquide',
seekbarRetrotape: 'Bande rétro',
themeSchedulerTitle: 'Planificateur de thème',
themeSchedulerEnable: 'Activer le planificateur de thème',
themeSchedulerEnableSub: 'Bascule automatiquement entre deux thèmes selon l\'heure',
themeSchedulerDayTheme: 'Thème de jour',
themeSchedulerDayStart: 'Début du jour',
themeSchedulerNightTheme: 'Thème de nuit',
themeSchedulerNightStart: 'Début de la nuit',
themeSchedulerActiveHint: 'Le planificateur de thème est actif - les thèmes changent automatiquement.',
visualOptionsTitle: 'Options Visuelles',
coverArtBackground: "Fond d'Art de Poche",
coverArtBackgroundSub: "Afficher la pochette floutée comme fond dans les en-têtes d'albums et de playlists",
playlistCoverPhoto: 'Photo de Couverture de Playlist',
playlistCoverPhotoSub: 'Afficher la grille de photos de couverture dans la vue détaillée des playlists',
showBitrate: 'Afficher le Débit',
showBitrateSub: 'Afficher le débit audio dans les listes de pistes',
floatingPlayerBar: 'Barre de Lecteur Flottante',
floatingPlayerBarSub: 'Garder la barre du lecteur flottante au-dessus du contenu',
uiScaleTitle: "Mise à l'échelle de l'interface",
uiScaleLabel: 'Zoom',
confirmDeleteServerLibrary: 'Supprimer aussi lindex local de bibliothèque de ce serveur ? Cliquez sur Annuler pour conserver la copie en cache pour un usage hors ligne.',
waveformCacheClearBtn: 'Vider le cache des formes donde',
waveformCacheCleared: 'Cache des formes donde vidé ({{count}} lignes).',
waveformCacheClearFailed: 'Impossible de vider le cache des formes donde.',
useCustomTitlebar: 'Barre de titre personnalisée',
useCustomTitlebarDesc: 'Remplace la barre de titre système par une barre intégrée assortie au thème de lapp. Désactivez pour utiliser la barre GNOME/GTK native.',
analyticsStrategyTitle: 'Stratégies danalyse',
analyticsStrategyDesc: 'Choisissez le style danalyse pour la bibliothèque.',
analyticsStrategyLabel: 'Stratégie',
analyticsStrategyLazy: 'Paresseuse',
analyticsStrategyLazyDesc: 'Analyse uniquement quand les pistes sont lues ou entrent dans le cache hot/hors ligne — utilisation minimale du CPU et du réseau.',
analyticsStrategyAdvanced: 'Agressive',
analyticsStrategyAdvancedDesc: 'Analyse de fond plus agressive. Une fois terminée, vous obtenez le BPM pour toutes les pistes et un chargement immédiat de loudness et de formes donde.',
analyticsStrategyPriorityTitle: 'Priorité danalyse (toujours appliquée)',
analyticsStrategyPriorityHigh: '1 — En cours de lecture : télécharger et analyser en premier (octets de lecture, backfill loudness ou HTTP si nécessaire).',
analyticsStrategyPriorityMiddle: '2 — À suivre : les ~5 pistes suivantes de la file et voisines du hot-cache — analyse depuis cache/téléchargements si possible, backfill HTTP seulement en cas dabsence.',
analyticsStrategyPriorityLow: '3 — Lot bibliothèque (Agressive uniquement) : file darrière-plan automatique en fin de file ; réalimentée par watermark (~3× workers) sans attendre une file vide.',
analyticsStrategyServerLabel: 'Server',
analyticsStrategyProgressLabel: 'Progression de lanalyse :',
analyticsStrategyProgressValue: '{{percent}}% ({{done}}/{{total}})',
analyticsStrategyActionsLabel: 'Actions',
analyticsStrategyParallelismLabel: 'Workers parallèles',
analyticsStrategyParallelismValue: '{{n}} threads',
analyticsStrategyParallelismDesc: 'Nombre de pistes à télécharger et analyser en même temps (HTTP + CPU). Des valeurs plus élevées accélèrent le rattrapage de la bibliothèque, mais consomment plus de réseau et de CPU.',
analyticsStrategyAdvancedWarning: 'Le mode agressif utilise davantage de CPU et de bande passante réseau pendant lexécution du lot bibliothèque en arrière-plan.',
analyticsStrategyServerRemoved: 'Serveur supprimé',
analyticsStrategyClearAction: 'Effacer lanalyse',
analyticsStrategyClearTitle: 'Effacer lanalyse ?',
analyticsStrategyClearDesc: 'Effacer lanalyse de {{server}} supprime les formes donde et données de loudness mises en cache. Réajouter ce serveur plus tard peut nécessiter une longue réindexation.',
analyticsStrategyClearCancel: 'Annuler',
analyticsStrategyClearConfirm: 'Effacer lanalyse',
analyticsStrategyClearSuccess: 'Analyse effacée pour le serveur supprimé.',
analyticsStrategyClearError: 'Échec de leffacement de lanalyse pour le serveur supprimé.',
analyticsStrategyProgressEmptyAfterFailed: '100% (0/0, bloqué par des pistes en échec)',
analyticsFailedTracksOpenTitle: 'Pistes en échec : {{count}}',
analyticsFailedTracksTitle: 'Pistes danalyse en échec — {{server}}',
analyticsFailedTracksDesc: 'Ces pistes ont échoué de manière répétée au décodage/enrichissement et sont exclues de lanalyse de fond automatique.',
analyticsFailedTracksLoading: 'Chargement de la liste des pistes en échec…',
analyticsFailedTracksEmpty: 'Aucune piste en échec pour ce serveur.',
analyticsFailedTracksClose: 'Fermer',
analyticsFailedTracksExport: 'Exporter la liste',
analyticsFailedTracksExportSuccess: 'Liste des pistes en échec exportée ({{count}}).',
analyticsFailedTracksExportError: 'Impossible dexporter la liste des pistes en échec.',
analyticsFailedTracksRescan: 'Relancer lanalyse des pistes en échec',
analyticsFailedTracksRescanSuccess: 'Relance programmée pour {{count}} pistes en échec.',
analyticsFailedTracksRescanError: 'Impossible de relancer lanalyse des pistes en échec.',
analyticsFailedTracksLoadError: 'Impossible de charger les pistes en échec.',
backupImportAny: 'Importer une sauvegarde',
backupImportAnyConfirm: 'Importer le fichier de sauvegarde sélectionné et appliquer son contenu (réglages, bases de données de bibliothèque ou sauvegarde complète). Continuer ?',
backupModeFull: 'Complet',
backupModeLibrary: 'Bases de données de bibliothèque',
backupModeConfig: 'Configuration',
backupFullDesc: 'Archive les réglages et les bases de données de bibliothèque dans un seul fichier de sauvegarde.',
backupFullExport: 'Exporter une sauvegarde complète',
backupFullImport: 'Importer une sauvegarde complète',
backupFullImportConfirm: 'Cela écrasera les réglages, remplacera les bases de données actuelles et les déplacera en .bak. Continuer ?',
backupFullExportSuccess: 'Sauvegarde complète exportée.',
backupFullImportSuccess: 'Sauvegarde complète importée — rechargement…',
backupFullImportError: 'Impossible dimporter la sauvegarde complète.',
backupLibraryExport: 'Exporter les bases de données',
backupLibraryExportDesc: 'Crée une archive compressée contenant des instantanés SQLite propres des bases de données de bibliothèque.',
backupLibraryImport: 'Importer les bases de données',
backupLibraryImportDesc: 'Restaure les bases de données de bibliothèque depuis un fichier darchive. Les bases actuelles sont déplacées en .bak avant le basculement.',
backupLibraryImportConfirm: 'Cela remplacera les bases de données actuelles et les déplacera en .bak. Continuer ?',
backupLibraryExportSuccess: 'Sauvegarde des bases de données exportée.',
backupLibraryImportSuccess: 'Sauvegarde des bases de données importée.',
backupLibraryImportError: 'Impossible dimporter la sauvegarde des bases de données.',
backupOverlayExportTitle: 'Création de la sauvegarde…',
backupOverlayImportTitle: 'Restauration de la sauvegarde…',
backupOverlayHint: 'Vous pouvez garder la fenêtre ouverte pendant le traitement des fichiers. La saisie est temporairement verrouillée.',
};