Files
bichon/web/src/locales/fr.json
T
2026-03-27 14:41:09 +08:00

1596 lines
79 KiB
JSON
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.
{
"common": {
"submit": "Soumettre",
"cancel": "Annuler",
"save": "Enregistrer",
"save_changes": "Enregistrer les modifications",
"delete": "Supprimer",
"edit": "Modifier",
"search": "Rechercher",
"add": "Ajouter",
"remove": "Retirer",
"create": "Créer",
"update": "Mettre à jour",
"confirm": "Confirmer",
"close": "Fermer",
"yes": "Oui",
"no": "Non",
"ok": "OK",
"loading": "Chargement...",
"empty": "Vide",
"noData": "Aucune donnée",
"table": {
"noResults": "Aucun résultat."
},
"failed": "Échec",
"notFound": "Introuvable",
"back": "Retour",
"goBack": "Retourner",
"backToHome": "Retour à l'accueil",
"tryAgain": "Réessayer",
"more": "Plus",
"actions": "Actions",
"filter": "Filtrer",
"reset": "Réinitialiser",
"clear": "Effacer",
"error": "Erreur",
"apply": "Appliquer",
"select": "Sélectionner",
"selectAll": "Tout sélectionner",
"deselectAll": "Tout désélectionner",
"all": "Tout",
"none": "Aucun",
"showLess": "Afficher moins",
"showMore": "Afficher plus...",
"project_description": "Bichon est un projet open-source.",
"view_on_github_button": "Voir sur GitHub",
"op_failed": "L'opération a échoué",
"na": "N/A",
"retry": "Réessayer",
"deleting": "Suppression..."
},
"navigation": {
"home": "Accueil",
"settings": "Paramètres",
"accounts": "Comptes",
"dashboard": "Tableau de bord",
"mailbox": "Boîte aux lettres",
"oauth2": "OAuth2",
"accessTokens": "Jetons d'accès",
"apiDocs": "Documentation API",
"general": "Général",
"auth": "Authentification",
"other": "Autre",
"users": "Utilisateurs du système"
},
"auth": {
"welcome": "Bienvenue sur Bichon",
"username": "Nom d'utilisateur",
"password": "Mot de passe",
"login": "Se connecter",
"loginFailed": "Échec de la Connexion",
"invalidPassword": "Mot de passe non valide. Veuillez réessayer.",
"somethingWentWrong": "Quelque chose s'est mal passé",
"sessionExpired": "Session expirée !",
"sessionExpiredDesc": "Votre session a été fermée en raison de l'inactivité. Veuillez vous reconnecter pour continuer.",
"logout": "Se déconnecter",
"areYouSureYouWantToLogOut": "Êtes-vous sûr de vouloir vous déconnecter ?",
"youWillNeedToLogInAgain": "Vous devrez vous reconnecter pour accéder à votre compte."
},
"errors": {
"pageNotFound": "Oups ! Page non trouvée !",
"pageNotFoundDesc": "Il semble que la page que vous recherchez n'existe pas ou a été supprimée.",
"somethingWentWrong": "Oups ! Quelque chose s'est mal passé :')",
"somethingWentWrongDesc": "Nous nous excusons pour le désagrément. Veuillez réessayer plus tard.",
"internalServerError": "Erreur Interne du Serveur !",
"contentNotModified": "Contenu non modifié !",
"networkError": "Erreur Réseau",
"networkErrorDesc": "Impossible de se connecter au serveur. Veuillez vérifier votre connexion Internet et réessayer.",
"forbidden": "Interdit",
"forbiddenTitle": "Accès Interdit",
"forbiddenDesc": "Vous n'avez pas l'autorisation de visualiser cette ressource.",
"unauthorized": "Non autorisé",
"unauthorizedTitle": "Accès Non Autorisé",
"unauthorizedDesc": "Veuillez vous connecter avec les informations d'identification appropriées pour accéder à cette ressource.",
"maintenance": "Maintenance",
"maintenanceTitle": "Le site est en maintenance !",
"maintenanceDesc": "Le site est temporairement indisponible. Nous serons bientôt de retour en ligne.",
"learnMore": "En savoir plus"
},
"dashboard": {
"title": "Tableau de bord",
"mailAccounts": "Comptes de messagerie",
"connected": "Connecté",
"totalEmails": "Total des e-mails",
"syncedLocally": "Synchronisés localement",
"totalEmailSize": "Taille totale des e-mails",
"logicalVolume": "Volume logique",
"localDataFiles": "Fichiers de données locaux",
"actualDiskUsage": "Utilisation réelle du disque",
"metadataSize": "Taille des métadonnées",
"duckdbDatabase": "Basé sur le stockage DuckDB",
"dayTrend": "Tendance sur 30 jours",
"attachments": "Pièces jointes",
"topLists": "Top Listes",
"newEmails": "Nouveaux e-mails",
"messageDistribution": "Distribution des messages",
"attachmentRatio": "Ratio de pièces jointes",
"attachmentRatioDesc": "{{percent}}% des e-mails ont des pièces jointes",
"noEmailsSynced": "Aucun e-mail synchronisé pour l'instant",
"withAttachments": "Avec Pièces Jointes",
"noAttachments": "Sans Pièces Jointes",
"top10Senders": "Top 10 des Expéditeurs",
"byMessageCount": "Par nombre de messages",
"sender": "Expéditeur",
"count": "Compte",
"top10LargestEmails": "Top 10 des E-mails les Plus Volumineux",
"byMessageSize": "Par taille de message",
"subject": "Objet",
"size": "Taille",
"noSubject": "(Aucun Objet)",
"top10Accounts": "Top 10 des Comptes",
"emails": "E-mails",
"account": "Compte",
"noRecentActivity": "Aucune activité récente",
"noSendersData": "Aucune donnée d'expéditeurs",
"noLargeEmails": "Aucun gros e-mail",
"noAccountData": "Aucune donnée de compte",
"systemVersion": "Version du système"
},
"accounts": {
"beforeRelativeValue": "Synchroniser les e-mails datant de plus de {{value}} {{unit}}",
"sinceRelativeValue": "Synchroniser les e-mails des derniers {{value}} {{unit}}",
"syncBatchSize": "Taille du lot de synchronisation",
"syncBatchSizeDescription": "Nombre de messages récupérés par requête IMAP",
"incrementalSyncDescription": "Fréquence de synchronisation incrémentielle (en minutes)",
"syncScope": "Stratégie de synchronisation",
"syncScopeDescription": "Choisissez les e-mails à indexer et à archiver.",
"selectMode": "Sélectionner le mode de filtrage",
"syncAll": "Synchroniser tous les e-mails",
"sinceFixed": "Depuis une date spécifique",
"sinceRelative": "Synchroniser uniquement les e-mails récents",
"beforeRelative": "Archiver uniquement les anciens e-mails",
"duration": "Durée",
"unit": "Unité",
"accessControl": "Contrôle d'accès",
"owner": "Créateur",
"access_control": {
"title": "Attribution d'accès au compte",
"description": "Attribuer des rôles et des utilisateurs autorisés à {{email}}",
"role_label": "Rôle d'accès",
"role_placeholder": "Sélectionner un rôle",
"role_loading": "Chargement des rôles...",
"user_label": "Sélectionner les utilisateurs autorisés",
"user_search_placeholder": "Rechercher par nom d'utilisateur ou e-mail...",
"user_empty": "Aucun utilisateur trouvé",
"user_selected_count": "Sélectionné : {{count}} utilisateur(s)",
"buttons": {
"cancel": "Annuler",
"save": "Enregistrer l'attribution"
},
"validation": {
"user_required": "Veuillez sélectionner au moins un utilisateur",
"role_required": "Veuillez sélectionner un rôle à attribuer"
},
"toast": {
"success_title": "Attribution réussie",
"success_desc": "Les autorisations ont été attribuées avec succès à {{email}}",
"failed_title": "Échec de l'attribution"
}
},
"title": "Comptes de Messagerie",
"description": "Gérez et configurez vos comptes de messagerie.",
"addImap": "Ajouter IMAP",
"addNoSync": "Ajouter NoSync",
"moreAccountTypes": "Plus de types de compte",
"noAccountConfigurations": "Aucune Configuration de Compte",
"noAccountConfigurationsDesc": "Vous n'avez pas encore ajouté de Configuration de Compte. Veuillez en ajouter une pour commencer à utiliser les fonctionnalités du Compte.",
"addConfiguration": "Ajouter Configuration",
"name": "Nom de connexion",
"email": "E-mail",
"status": "Statut",
"type": "Type",
"lastSync": "Dernière Synchronisation",
"actions": "Actions",
"edit": "Modifier",
"delete": "Supprimer",
"detail": "Détail",
"syncFolders": "Synchroniser les Dossiers",
"oauth2Tokens": "Jetons OAuth2",
"id": "ID",
"enabled": "Activé",
"auth": "Auth.",
"incSync": "Sync. Inc.",
"state": "État",
"createdAt": "Créé le",
"updatedAt": "Mis à jour le",
"openMenu": "Ouvrir le menu",
"emailAccountRegistration": "Enregistrement de Compte E-mail",
"emailAccountRegistrationDesc": "Veuillez entrer votre adresse e-mail. Vous configurerez les détails IMAP/SMTP dans les étapes suivantes. Nous essaierons de trouver automatiquement les adresses des serveurs SMTP/IMAP en utilisant l'adresse e-mail fournie.",
"emailAddress": "Adresse E-mail",
"emailPlaceholder": "ex. jean.dupont@exemple.com",
"namePlaceholder": "ex. jean.dupont",
"optional": "Facultatif",
"nameDescription": "Nom d'utilisateur de connexion IMAP. Laissez ce champ vide si vous utilisez votre adresse e-mail complète comme nom d'utilisateur de connexion.",
"emailCannotBeModified": "L'adresse e-mail du compte ne peut pas être modifiée lors de l'édition.",
"addAccount": "Ajouter un Compte",
"updateAccount": "Mettre à jour le Compte",
"accountUpdated": "Compte Mis à Jour",
"accountCreated": "Compte Créé",
"accountUpdatedDesc": "Votre compte a été mis à jour avec succès.",
"accountCreatedDesc": "Votre compte a été créé avec succès.",
"accountUpdateFailed": "Échec de la Mise à Jour du Compte",
"accountCreationFailed": "Échec de la Création du Compte",
"updateFailed": "La mise à jour a échoué, veuillez réessayer plus tard",
"creationFailed": "La création a échoué, veuillez réessayer plus tard",
"selectSyncFolders": "Sélectionner les Dossiers de Synchronisation",
"allMailFolderSelected": "Attention : Dossier 'Tous les messages' sélectionné",
"accountSyncFoldersUpdated": "Dossiers de Synchronisation de Compte Mis à Jour",
"accountSyncFoldersUpdateFailed": "Échec de la Mise à Jour des Dossiers de Synchronisation de Compte",
"serverConfiguration": "Configuration du Serveur (IMAP)",
"syncFoldersTitle": "Synchroniser les Dossiers",
"allMailFolderSelectedDesc": "La sélection de dossiers avec l'attribut 'Tous les messages' entraînera probablement la duplication des messages déjà synchronisés à partir de dossiers tels que Boîte de réception et Éléments envoyés. Cela peut consommer beaucoup plus d'espace de stockage.",
"allMailSkipped": "Dossiers par défaut sélectionnés. 'Tous les messages' a été ignoré pour éviter les doublons.",
"selectAtLeastOneFolder": "Veuillez sélectionner au moins un dossier",
"chooseFoldersToSync": "Choisissez les dossiers à synchroniser pour {{email}}. Les dossiers nouvellement ajoutés commenceront à être téléchargés lors du prochain cycle de synchronisation.",
"accountDetails": "Détails du Compte",
"capabilities": "Capacités",
"folderLimit": "Limite de Dossiers",
"incrementalSyncInterval": "Intervalle de Synchronisation Incrémentielle",
"everyMinutes": "toutes les {{minutes}} minutes",
"foldersConfiguredForSync": "{{count}} dossier(s) configuré(s) pour la synchronisation",
"foldersSelected": "{{count}} dossier(s) sélectionné(s)",
"imapHost": "Hôte IMAP",
"imapHostPlaceholder": "ex. imap.exemple.com",
"imapPort": "Port IMAP",
"imapPortPlaceholder": "ex. 993",
"imapEncryption": "Chiffrement IMAP",
"selectEncryptionMethod": "Sélectionner une méthode de chiffrement",
"chooseEncryptionMethod": "Choisissez la méthode de chiffrement à utiliser pour IMAP.",
"imapAuthMethod": "Méthode d'Authentification IMAP",
"selectAuthMethod": "Sélectionner une méthode d'authentification",
"chooseAuthMethod": "Choisissez la méthode d'authentification à utiliser pour IMAP.",
"imapPassword": "Mot de passe IMAP",
"leaveEmptyToKeepPassword": "Laisser vide pour conserver le mot de passe actuel",
"enterPassword": "Entrez votre mot de passe",
"leaveEmptyToKeepExisting": "Laissez vide pour conserver le mot de passe existant, ou entrez-en un nouveau pour le mettre à jour.",
"useProxy": "Utiliser un Proxy",
"selectProxy": "Sélectionner un proxy",
"incrementalSync": "Synchronisation Incrémentielle (minutes)",
"incrementalSyncPlaceholder": "ex. 300",
"enabledDescription": "Détermine si ce compte est actif. S'il est désactivé, les synchronisations associées ne seront pas exécutées.",
"dateSince": "Date Depuis",
"none": "Aucune",
"fixed": "Fixe",
"relative": "Relative",
"selectDate": "Sélectionner une date",
"selectUnit": "Sélectionner une unité",
"days": "Jours",
"months": "Mois",
"years": "Années",
"enterValue": "Entrez une valeur",
"mustBeAtLeast1": "Doit être au moins 1",
"dateSelection": "Sélection de Date",
"since": "depuis",
"recent": "récent",
"notAvailable": "n.d.",
"host": "hôte",
"port": "port",
"encryption": "chiffrement",
"authType": "type_auth",
"password": "mot_de_passe",
"useProxyField": "utiliser un proxy",
"clickSaveWhenDone": "Cliquez sur Enregistrer lorsque vous avez terminé.",
"step": "Étape {{index}}",
"goBack": "Retourner",
"autoConfiguring": "Configuration automatique...",
"continue": "Continuer",
"saveChanges": "Enregistrer les Modifications",
"submit": "Soumettre",
"field": "Champ",
"value": "Valeur",
"refreshToken": "Jeton de Rafraîchissement",
"accessTokenCopiedToClipboard": "Jeton d'accès copié dans le presse-papiers",
"refreshTokenCopiedToClipboard": "Jeton de rafraîchissement copié dans le presse-papiers",
"noOAuth2Tokens": "Aucun Jeton OAuth2",
"theAccountHasNotCompletedTheAuthorizationProcess": "Le compte n'a pas terminé le processus d'autorisation. Veuillez ",
"clickHere": "cliquer ici",
"toAuthorizeTheAccount": " pour autoriser le compte.",
"detailsOfTheOAuth2TokensForTheAccount": "Détails des jetons OAuth2 pour le compte.",
"updateTheEmailAccountHere": "Mettez à jour le compte e-mail ici. ",
"addNewEmailAccountHere": "Ajoutez un nouveau compte e-mail ici. ",
"thisAccountIsUsedForIdentificationPurposesOnly": "Ce compte est utilisé uniquement à des fins d'identification et ne nécessite pas de synchronisation avec un serveur de messagerie. Il est utile pour l'importation de données d'e-mails.",
"determinesWhetherThisAccountIsActiveNoSync": "Détermine si ce compte est actif. Sil est désactivé, il ne pourra pas importer de données.",
"folderSync": {
"noData": "Aucune Donnée",
"noFolders": "Aucun dossier à synchroniser",
"batches": "lots",
"autoSelectDescendants": "Sélectionner automatiquement les descendants",
"autoSelectParents": "Sélectionner automatiquement les parents",
"expandAll": "Tout développer",
"collapseAll": "Tout réduire",
"loadingMailboxFolders": "Chargement des dossiers de la boîte…"
},
"viewDetails": "voir les détails",
"runningState": {
"notStarted": "Non Démarré",
"inProgress": "En Cours",
"calculating": "Calcul en cours...",
"initialSync": "Synchronisation Initiale",
"completed": "Terminé",
"duration": "Durée",
"startTime": "Heure de Début :",
"endTime": "Heure de Fin :",
"syncProgress": "Progression de la Synchronisation",
"incrementalSync": "Synchronisation Incrémentielle",
"syncInterval": "Intervalle de Synchronisation :",
"everyMinutes": "Toutes les {{minutes}} minutes",
"errorLogs": "Journaux d'Erreurs",
"noErrorLogs": "Aucun journal d'erreurs disponible.",
"noActiveState": "Aucun état actif disponible",
"accountNotStarted": "La synchronisation du compte n'a peut-être pas encore démarré",
"close": "Fermer"
},
"steps": {
"complete": "Terminé",
"emailAddress": "Adresse E-mail",
"imap": "IMAP",
"syncPreferences": "Préférences de Synchronisation",
"summary": "Résumé"
},
"imapProxy": "Utiliser un proxy SOCKS5 pour les connexions IMAP.",
"syncStartDateDescription": "Définit la date de début de la synchronisation - fixe ou relative à l'heure actuelle. Les e-mails antérieurs à cette date seront exclus, {{fixedPart}}.",
"syncAfterDate": "synchroniser les données après une date définie",
"syncRecentData": "faire glisser la date de synchronisation dans le temps, en ne synchronisant que les données récentes",
"folderLimitDescription": "Limite le nombre d'e-mails à synchroniser par dossier (minimum 100). Laissez vide pour aucune limite.",
"folderLimitPlaceholder": "ex. 1000",
"imap": "IMAP",
"minutes": "minutes",
"accountHasBeenSuccessfully": "Le compte a été {{action}} avec succès",
"enableAccount": "Activer le compte",
"disableAccount": "Désactiver le compte",
"areYouSureYouWantTo": "Êtes-vous sûr de vouloir {{action}} ce compte ?",
"enable": "Activer",
"disable": "Désactiver",
"thisWillPreventTheAccountFromBeingUsed": "Ce compte ne synchronisera plus les données depuis le serveur IMAP, mais les données existantes resteront accessibles.",
"disabled": "Désactivé",
"useDangerous": "Faire confiance à nimporte quel certificat TLS",
"useDangerousDescription": "Activez cette option seulement si vous vous connectez à un serveur IMAP utilisant un certificat public ou autosigné que votre système pourrait ne pas reconnaître. Cette option contourne la vérification standard des certificats, ce qui peut vous exposer à des attaques de type hommedumilieu — nactivez que si vous comprenez les risques."
},
"mailbox": {
"deleteMailboxDialog": {
"title": "Supprimer le dossier de messagerie",
"desc": "Êtes-vous sûr de vouloir supprimer ce dossier de messagerie ? Cette action est irréversible.",
"warningTitle": "Avertissement",
"warningDesc": "La suppression de ce dossier supprimera également de façon permanente tous les e-mails archivés et sous-dossiers qu'il contient.",
"confirm": "Supprimer définitivement",
"successTitle": "Suppression réussie",
"successDesc": "Le dossier de messagerie et son contenu ont été supprimés avec succès.",
"errorTitle": "Échec de la suppression"
},
"title": "Boîte aux lettres",
"folders": "Dossiers",
"messages": "Messages",
"noMessages": "Aucun message",
"selectFolder": "Sélectionnez un dossier pour voir les messages",
"deleteDialog": {
"title": "Supprimer l'E-mail",
"desc": "Êtes-vous sûr de vouloir supprimer {{countText}} ? Cette action supprimera définitivement le(s) e-mail(s) sélectionné(s) de la base de données locale. L'e-mail/les e-mails seront perdus à jamais et ne pourront pas être récupérés.",
"descCountSingle": "cet e-mail",
"descCountMultiple": "ces {{count}} e-mails",
"warningTitle": "Attention !",
"warningDesc": "Veuillez procéder avec prudence.",
"confirm": "Supprimer",
"successTitle": "Messages supprimés avec succès",
"successDesc": "Les messages ont été supprimés.",
"errorTitle": "Échec de la suppression des messages"
},
"thread": {
"title": "Fil de discussion ({{count}} {{messageLabel}})",
"message": "message",
"messages": "messages",
"noSubject": "(Aucun objet)",
"invalidDate": "Date invalide",
"empty": "Aucun message dans ce fil de discussion.",
"loadError": "Échec du chargement du fil de discussion",
"loadingMore": "Chargement en cours...",
"loadMore": "Charger plus"
},
"bulkActions": {
"ariaLabel": "Actions de masse pour {{count}} {{emailLabel}} sélectionné(s)",
"email": "e-mail",
"emails": "e-mails",
"selected": "sélectionné(s)",
"clearSelection": "Effacer la sélection",
"clearSelectionWithKey": "Effacer la sélection ({{key}})",
"delete": "Supprimer",
"deleteTooltip": "Supprimer les e-mails sélectionnés"
}
},
"search": {
"size": "Taille",
"any": "Toutes",
"tiny": "Très petite (<15 KB)",
"small": "Petite (<2 MB)",
"medium": "Moyenne (2 - 10 MB)",
"large": "Grande (10 - 20 MB)",
"huge": "Énorme (≥20 Mo)",
"sort": "Trier",
"sizeDescription": "La taille correspond à la taille totale de le-mail, pièces jointes incluses.",
"title": "Recherche",
"searching": "Recherche en cours, veuillez patienter...",
"noEmailsFound": "Aucun e-mail trouvé",
"startSearching": "Commencez à rechercher en utilisant un mot-clé, un expéditeur ou des filtres avancés.",
"adjustSearch": "Essayez d'ajuster vos critères de recherche ou d'effacer les filtres.",
"tagFilter": "Filtre par Étiquette",
"from": "De",
"to": "À",
"subject": "Objet",
"date": "Date",
"editTag": "Modifier l'Étiquette",
"keyword": "Mot-clé",
"sender": "Expéditeur",
"recipient": "Destinataire",
"hasAttachment": "Contient une Pièce Jointe",
"yes": "Oui",
"no": "Non",
"dateRange": "Plage de Dates",
"startDate": "Date de Début",
"endDate": "Date de Fin",
"advancedFilters": "Filtres Avancés",
"searchArchivedEmails": "Rechercher dans les E-mails Archivés",
"fullTextMultiAccount": "Texte intégral · Multi-comptes · Filtres avancés",
"account": "Compte",
"mailbox": "Boîte aux lettres",
"selectAccount": "Sélectionner un compte",
"selectMailbox": "Sélectionner une boîte aux lettres",
"noActiveEmailAccount": "Aucun compte e-mail actif.",
"addEmailAccount": "Ajouter un Compte E-mail",
"noMailboxSelectAccount": "Aucune boîte aux lettres. Veuillez sélectionner un compte d'abord.",
"searchInSubjectBody": "Rechercher dans l'objet, le corps, les pièces jointes...",
"searchingButton": "Recherche en cours...",
"searchButton": "Rechercher",
"advanced": "Avancé",
"clear": "Effacer",
"since": "Depuis :",
"before": "Avant :",
"selectDate": "Sélectionner une date",
"pleaseSelectAtLeastOne": "Veuillez sélectionner au moins un critère de recherche",
"cc": "Cc",
"bcc": "Cci",
"attachmentName": "Nom de la Pièce Jointe",
"messageId": "ID du Message",
"minSize": "Taille Min",
"maxSize": "Taille Max",
"senderRecipients": "Expéditeur / Destinataires",
"attachmentsSize": "Pièces Jointes et Taille",
"minimumBytes": "Minimum (octets)",
"maximumBytes": "Maximum (octets)",
"originalMessageIdHeader": "En-tête Message-ID de l'e-mail original",
"addTags": {
"title": "Modifier les Étiquettes",
"none": "Aucune étiquette ajoutée pour l'instant",
"searchPlaceholder": "Rechercher ou créer des étiquettes...",
"createHint": "Créer une nouvelle étiquette : {{tag}}",
"invalidTitle": "Étiquette Non Valide",
"updatedTitle": "Étiquettes Mises à Jour",
"updatedDesc": "Les étiquettes ont été mises à jour avec succès",
"updateFailedTitle": "Échec de la Mise à Jour",
"tryAgain": "Veuillez réessayer plus tard",
"selectedCount": "{{count}} étiquette(s) sélectionnée(s)",
"cancel": "Annuler",
"save": "Enregistrer",
"saving": "Enregistrement en cours..."
},
"updateTags": {
"overwriteWarning": "Avertissement : cela écrasera tous les tags existants sur les éléments sélectionnés.",
"title": "Modifier les tags",
"none": "Aucun tag sélectionné",
"searchPlaceholder": "Rechercher ou créer un tag...",
"createHint": "Appuyez sur Entrée pour créer le tag : \"{{tag}}\"",
"selectedCount": "{{count}} tag(s) à appliquer",
"cancel": "Annuler",
"invalidTitle": "Tag invalide",
"updatedTitle": "Tags mis à jour",
"updatedDesc": "Les tags ont été mis à jour avec succès.",
"updateFailedTitle": "Échec de la mise à jour",
"tryAgain": "Veuillez réessayer plus tard.",
"actionAdd": "Ajouter",
"actionRemove": "Retirer",
"actionOverwrite": "Écraser",
"submitAdd": "Ajouter les tags",
"submitRemove": "Retirer les tags",
"submitOverwrite": "Écraser les tags",
"savingAdd": "Ajout...",
"savingRemove": "Retrait...",
"savingOverwrite": "Écrasement..."
},
"thread": {
"title": "Fil de discussion · {{count}} messages",
"error": "Échec du chargement du fil de discussion",
"empty": "Aucun message dans ce fil de discussion",
"invalidDate": "Date invalide",
"noSubject": "(Aucun objet)",
"loadingMore": "Chargement en cours...",
"loadMore": "Charger plus"
},
"bulkActions": {
"ariaLabel": "{{count}} messages sélectionnés. Barre d'actions groupées",
"delete": "Supprimer",
"deleteDesc": "Supprimer les messages sélectionnés",
"selected": "{{count}} sélectionné(s)",
"clear": "Effacer la sélection",
"manageTags": "Gérer les tags"
},
"delete": {
"title": "Supprimer les messages",
"confirmPrefix": "Êtes-vous sûr de vouloir supprimer",
"countLabel": "{{count}} message(s)",
"confirmDetail": "Cette action est irréversible.",
"confirmButton": "Supprimer",
"warningTitle": "Avertissement",
"warningDesc": "Les messages supprimés seront définitivement retirés.",
"successTitle": "Messages supprimés",
"successDesc": "Les messages ont été supprimés avec succès.",
"errorTitle": "Échec de la suppression"
}
},
"mail": {
"emailViewer": "Afficheur d'E-mail",
"noMessageSelected": "Aucun message sélectionné",
"account": "Compte",
"from": "De",
"to": "À",
"subject": "Objet",
"date": "Date",
"tags": "Étiquettes",
"noTagsYet": "Aucune étiquette pour l'instant",
"id": "ID",
"cc": "Cc",
"bcc": "Cci",
"attachments": "Pièces jointes",
"download": "Télécharger",
"delete": "Supprimer",
"viewThread": "Voir le Fil de Discussion",
"downloadStarted": "Téléchargement démarré",
"downloadComplete": "Téléchargement terminé",
"downloadFailed": "Échec du téléchargement",
"failedToDownloadFile": "Échec du téléchargement du fichier",
"failedToLoadEmail": "Échec du chargement du message e-mail.",
"isBeingDownloaded": "{{id}} en cours de téléchargement",
"downloaded": "{{id}} téléchargé",
"showLess": "afficher moins",
"showMore": "afficher plus...",
"onlyNonInlineAttachments": "Seules les pièces jointes non intégrées sont affichées ici.",
"noAttachments": "Aucune pièce jointe"
},
"oauth2": {
"title": "OAuth2",
"addConfiguration": "Ajouter Configuration",
"id": "ID",
"provider": "Fournisseur",
"clientId": "ID Client",
"clientSecret": "Secret Client",
"redirectUri": "URI de Redirection",
"scopes": "Portées",
"status": "Statut",
"enabled": "Activé",
"disabled": "Désactivé",
"edit": "Modifier",
"delete": "Supprimer",
"enable": "Activer",
"disable": "Désactiver",
"noConfigurations": "Aucune Configuration OAuth2",
"noConfigurationsDesc": "Vous n'avez pas encore ajouté de configuration OAuth2. Veuillez en ajouter une pour commencer à utiliser les fonctionnalités OAuth2.",
"description": "Gère automatiquement la récupération, le stockage et le rafraîchissement des jetons d'accès, garantissant une expérience d'authentification transparente et toujours disponible.",
"addNew": "Ajouter Nouveau",
"updateHere": "Mettez à jour ici.",
"createNewHere": "Créez-en un nouveau ici.",
"clickSaveWhenDone": "Cliquez sur Enregistrer lorsque vous avez terminé.",
"quickPresets": "Préréglages rapides :",
"gmail": "Gmail",
"outlook": "Outlook",
"whenDisabled": "Si désactivé : - Les nouveaux flux d'autorisation seront immédiatement refusés - Les jetons d'accès et de rafraîchissement existants seront révoqués dans la minute - Les utilisateurs devront réautoriser lors de la réactivation",
"clientIdLabel": "ID Client :",
"enterYourClientId": "Entrez votre ID client",
"theUniqueIdentifierForYourApplication": "L'identifiant unique de votre application, fourni par le fournisseur OAuth.",
"clientSecretLabel": "Secret Client :",
"leaveEmptyToKeepExistingSecret": "Laisser vide pour conserver le secret existant",
"enterYourClientSecret": "Entrez votre secret client",
"leaveEmptyToKeepTheExistingSecret": "Laissez vide pour conserver le secret existant, entrez une nouvelle valeur seulement pour mettre à jour.",
"aSecretKeyProvidedByTheOAuthProvider": "Une clé secrète fournie par le fournisseur OAuth pour authentifier votre application.",
"authUrlLabel": "URL d'Autorisation :",
"enterTheAuthorizationUrl": "Entrez l'URL d'autorisation",
"theUrlWhereUsersWillBeRedirected": "L'URL vers laquelle les utilisateurs seront redirigés pour autoriser votre application.",
"tokenUrlLabel": "URL du Jeton :",
"enterTheTokenUrl": "Entrez l'URL du jeton",
"theUrlUsedToExchange": "L'URL utilisée pour échanger le code d'autorisation contre un jeton d'accès.",
"redirectUrlLabel": "URI de Redirection :",
"enterYourRedirectUrl": "Entrez votre URI de redirection",
"theRedirectUrlAfterAuthorization": "L'URI de redirection après autorisation. Doit correspondre à celui enregistré auprès du fournisseur OAuth. Utilise le format http://[host]:[port]/oauth2/callback (ou https://), où [host] et [port] doivent correspondre à votre déploiement RustMailer. Le chemin /oauth2/callback est fixe.",
"scope": "Portée :",
"enterTheScopeHere": "Entrez la portée ici.",
"addScope": "Ajouter une Portée",
"key": "Clé :",
"enterTheKeyHere": "Entrez la clé ici.",
"value": "Valeur :",
"enterTheValueHere": "Entrez la valeur ici.",
"addExtraParams": "Ajouter des Paramètres Supplémentaires",
"useProxyOptional": "Utiliser un Proxy (facultatif) :",
"selectAProxy": "Sélectionner un proxy",
"noProxyAvailable": "Aucun proxy disponible",
"useSocks5ProxyForOAuthRequests": "Utilise le proxy SOCKS5 pour les requêtes OAuth lorsque l'accès direct est bloqué.",
"descriptionLabel": "Description :",
"describeThePurposeOfTheOauth2Application": "Décrivez le but de l'application OAuth2",
"optional": "Facultatif",
"saving": "Enregistrement en cours...",
"creating": "Création en cours...",
"saveChanges": "Enregistrer les Modifications",
"save": "Enregistrer",
"updated": "Mis à jour",
"created": "Créé",
"yourOAuth2ApplicationHasBeenSuccessfully": "Votre application OAuth2 a été {{action}} avec succès.",
"updateFailed": "Échec de la Mise à Jour",
"creationFailed": "Échec de la Création",
"updateOrCreationFailed": "La {{action}} a échoué, veuillez réessayer plus tard",
"clientSecretIsRequired": "Le Secret Client est obligatoire",
"clientSecretCannotBeEmpty": "Le Secret Client ne peut pas être vide",
"keyIsRequired": "La Clé est obligatoire",
"keyCannotBeEmpty": "La Clé ne peut pas être vide",
"valueIsRequired": "La Valeur est obligatoire",
"valueCannotBeEmpty": "La Valeur ne peut pas être vide",
"descriptionMustNotExceed255Characters": "La description ne doit pas dépasser 255 caractères.",
"clientIdIsRequired": "L'ID Client est obligatoire",
"clientIdCannotBeEmpty": "L'ID Client ne peut pas être vide",
"authorizationUrlIsRequired": "L'URL d'Autorisation est obligatoire",
"authorizationUrlCannotBeEmpty": "L'URL d'Autorisation ne peut pas être vide",
"invalidAuthorizationUrlFormat": "Format d'URL d'autorisation invalide",
"tokenUrlIsRequired": "L'URL du Jeton est obligatoire",
"tokenUrlCannotBeEmpty": "L'URL du Jeton ne peut pas être vide",
"invalidTokenUrlFormat": "Format d'URL de jeton invalide",
"redirectUriIsRequired": "L'URI de Redirection est obligatoire",
"redirectUriCannotBeEmpty": "L'URI de Redirection ne peut pas être vide",
"invalidRedirectUriFormat": "Format d'URI de redirection invalide",
"authorizeEmailAccount": "Autoriser le Compte E-mail",
"authorizeAnEmailAccountToStartTheOAuth2AuthorizationProcess": "Autorisez un compte e-mail pour démarrer le processus d'autorisation OAuth2.",
"loadingAccounts": "Chargement des comptes...",
"selectAnAccount": "Sélectionner un compte",
"noEmailAccountsRegistered": "Aucun compte e-mail enregistré. Veuillez en créer un.",
"pleaseCreateOne": "Veuillez en créer un.",
"createAccount": "Créer un Compte",
"authorize": "Autoriser",
"getAuthorizeUrlFailed": "Échec de la Récupération de l'URL d'Autorisation",
"getAuthorizeUrlFailedDesc": "Échec de la récupération de l'URL d'autorisation, veuillez réessayer plus tard",
"oauth2ClientUpdated": "Client OAuth2 Mis à Jour",
"oauth2ClientHasBeenSuccessfully": "Le client OAuth2 a été {{action}} avec succès.",
"statusUpdateFailed": "Échec de la mise à jour du statut, veuillez réessayer plus tard",
"disableOAuth2Client": "Désactiver le Client OAuth2",
"enableOAuth2Client": "Activer le Client OAuth2",
"areYouSureYouWantTo": "Êtes-vous sûr de vouloir {{action}} ce client OAuth2 ?",
"thisWillPreventTheOAuth2ClientFromBeingUsed": "Cela empêchera l'utilisation du client OAuth2.",
"deleteToken": "Supprimer le Jeton",
"areYouSureYouWantToDelete": "Êtes-vous sûr de vouloir supprimer",
"thisActionWillPermanentlyRemoveTheOauth2Record": "Cette action supprimera définitivement l'enregistrement OAuth2 du système. Cela ne peut pas être annulé.",
"enterIdToConfirmDeletion": "Entrez l'ID pour confirmer la suppression.",
"warning": "Attention !",
"pleaseBeCareful": "Soyez prudent, cette opération ne peut pas être annulée.",
"deleteSuccess": "Suppression Réussie",
"yourOAuth2ApplicationHasBeenSuccessfullyDeleted": "Votre application OAuth2 a été supprimée avec succès.",
"oauth2DeleteFailed": "Échec de la Suppression OAuth2",
"deleteFailed": "La suppression a échoué, veuillez réessayer plus tard",
"actions": {
"openMenu": "Ouvrir le menu",
"edit": "Modifier",
"authorize": "Autoriser",
"delete": "Supprimer"
},
"authFailed": "Échec de l'Authentification OAuth2",
"error": "Erreur",
"unknownError": "Une erreur inconnue s'est produite.",
"tryAgain": "Réessayer",
"goHome": "Aller à l'Accueil",
"authSuccess": "Authentification OAuth2 Réussie",
"success": "Succès",
"successMessage": "Votre compte e-mail a été authentifié avec succès via OAuth2. Le jeton d'accès a été enregistré par le système et sera rafraîchi automatiquement si nécessaire.",
"goToAccounts": "Aller aux Comptes",
"authAtatus": "Statut de l'Authentification OAuth2",
"information": "Information",
"noStatus": "Cette page affiche le résultat de votre authentification OAuth2. Aucun statut spécifique n'est disponible actuellement. Veuillez réessayer si nécessaire.",
"backToLogin": "Retour à la Connexion"
},
"accessTokens": {
"title": "Jetons d'Accès",
"name": "Nom",
"accounts": "Comptes",
"token": "Jeton",
"createdAt": "Créé le",
"expiresAt": "Expire le",
"edit": "Modifier",
"delete": "Supprimer",
"create": "Créer",
"noTokens": "Aucun Jeton d'Accès",
"noTokensDesc": "Vous n'avez pas encore créé de jeton d'accès. Veuillez en créer un pour utiliser les fonctionnalités API.",
"description": "Gérez vos jetons d'accès, leurs règles ACL, les listes blanches IP et les paramètres de limitation de débit ici.",
"editToken": "Modifier le Jeton",
"addNew": "Ajouter Nouveau",
"updateTheAccessTokenHere": "Mettez à jour le jeton d'accès ici.",
"createNewAccessTokenHere": "Créez un nouveau jeton d'accès ici.",
"selectAccounts": "Sélectionner des comptes",
"selectMultipleAccountsForTheAccessToken": "Sélectionnez plusieurs comptes pour l'autorisation du jeton d'accès.",
"enterOneIpAddressPerLine": "Entrez une adresse IP par ligne, ex. :\n192.168.1.1\n192.168.1.2",
"aListOfIpAddressesAllowed": "Une liste d'adresses IP autorisées à accéder à la ressource. Entrez une adresse IP par ligne. (Facultatif)",
"enterQuota": "Entrez le quota, ex. 100",
"theMaximumNumberOfRequestsAllowed": "Le nombre maximum de requêtes autorisées dans l'intervalle. (Facultatif)",
"enterIntervalInSeconds": "Entrez l'intervalle en secondes, ex. 60",
"theTimeWindowForTheRateLimit": "La fenêtre de temps (en secondes) pour la limitation de débit. (Facultatif)",
"describeThePurposeOfTheAccessToken": "Décrivez le but du jeton d'accès",
"updating": "Mise à jour en cours...",
"saving": "Enregistrement en cours...",
"creating": "Création en cours...",
"saveChanges": "Enregistrer les Modifications",
"save": "Enregistrer",
"updated": "Mis à jour",
"created": "Créé",
"yourAccessTokenHasBeenSuccessfully": "Votre jeton d'accès a été {{action}} avec succès.",
"updateFailed": "Échec de la Mise à Jour",
"creationFailed": "Échec de la Création",
"updateOrCreationFailed": "La {{action}} a échoué, veuillez réessayer plus tard",
"quotaMustBeAPositiveInteger": "Le quota doit être un entier positif.",
"intervalMustBeAPositiveInteger": "L'intervalle doit être un entier positif.",
"invalidIpAddressesFound": "Adresses IP non valides trouvées. Veuillez entrer des adresses IPv4 ou IPv6 valides.",
"atLeastOneAccountIsRequired": "Au moins un compte est requis.",
"descriptionMustNotExceed255Characters": "La description ne doit pas dépasser 255 caractères.",
"notUsedYet": "Pas encore utilisé",
"theListOfAccountsThatCanBeQueried": "La liste des comptes qui peuvent être interrogés à l'aide du jeton d'accès.",
"accountId": "ID Compte",
"filterByEmailAddressOrAccountId": "Filtrer par adresse e-mail ou ID de compte...",
"aclRulesForAccessTokens": "Les règles ACL pour les jetons d'accès incluent la vérification de la liste blanche IP et l'application de la limite de débit.",
"actions": {
"openMenu": "Ouvrir le menu",
"edit": "Modifier",
"delete": "Supprimer"
},
"quota": "Quota",
"interval": "Intervalle"
},
"settings": {
"appearance": {
"title": "Apparence",
"field": {
"language": "Langue de l'interface",
"theme": "Thème de l'interface"
},
"description": {
"language": "Choisissez la langue de l'interface web.",
"theme": "Choisissez entre le mode clair ou sombre."
},
"placeholder": {
"select_language": "Choisir une langue"
},
"command": {
"search": "Rechercher une langue...",
"no_results": "Aucune langue trouvée."
},
"theme": {
"light": "Clair",
"dark": "Sombre"
},
"button": {
"update": "Mettre à jour les préférences"
},
"validation": {
"language": {
"required": "Veuillez sélectionner une langue."
},
"theme": {
"required": "Veuillez sélectionner un thème."
}
}
},
"title": "Paramètres",
"general": "Général",
"proxy": "Proxy",
"name": "Nom",
"host": "Hôte",
"port": "Port",
"username": "Nom d'utilisateur",
"password": "Mot de passe",
"type": "Type",
"actions": "Actions",
"edit": "Modifier",
"delete": "Supprimer",
"add": "Ajouter",
"noProxies": "Aucun Proxy",
"noProxiesDesc": "Vous n'avez pas encore ajouté de configuration de proxy. Veuillez en ajouter une pour utiliser les fonctionnalités de proxy.",
"root": "Root",
"rootTitle": "Root",
"rootDesc": "Gérez les informations d'identification d'accès root, y compris le jeton et le mot de passe.",
"rootAccessManagement": "Gestion de l'Accès Root",
"manageRootTokenAndPassword": "Gérez en toute sécurité le jeton et le mot de passe root.",
"resetRootToken": "Réinitialiser le Jeton Root",
"generateNewToken": "Génère un nouveau jeton, l'ancien expirera immédiatement.",
"reset": "Réinitialiser",
"resetRootPassword": "Réinitialiser le Mot de Passe Root",
"changePasswordForFutureLogins": "Change le mot de passe pour les futures connexions.",
"youAreAboutToResetTheRootToken": "Vous êtes sur le point de réinitialiser le jeton root. Cette action ne peut pas être annulée.",
"confirmReset": "Confirmer la Réinitialisation",
"youAreAboutToResetTheRootPassword": "Vous êtes sur le point de réinitialiser le mot de passe root. Assurez-vous de le conserver en lieu sûr.",
"enterNewRootPassword": "Entrez le nouveau mot de passe root",
"theRootTokenHasBeenReset": "Le jeton root a été réinitialisé",
"yourLoginInformationHasBeenUpdated": "Vos informations de connexion ont été mises à jour. Il n'est pas nécessaire de vous reconnecter.",
"invalidPassword": "Mot de passe non valide",
"rootPasswordMustBeAtLeast6Characters": "Le mot de passe root doit contenir au moins 6 caractères.",
"theRootPasswordHasBeenReset": "Le mot de passe root a été réinitialisé",
"useNewPasswordForNextLogin": "Utilisez le nouveau mot de passe pour la prochaine connexion.",
"failedToCopyText": "Échec de la copie du texte",
"filterProxy": "Filtrer les Proxys...",
"filterOauth2": "Filtrer OAuth2...",
"filterAccount": "Filtrer les Comptes...",
"filterAccessToken": "Filtrer les Jetons d'Accès...",
"selectAll": "Tout sélectionner",
"theme": "Thème",
"id": "Id",
"url": "Url",
"createdAt": "Créé le",
"updatedAt": "Mis à jour le",
"enabled": "Activé",
"useProxy": "Utiliser un Proxy",
"authUrl": "URL d'Autorisation",
"tokenUrl": "URL du Jeton",
"description": "Description",
"token": "Jeton",
"accounts": "Comptes",
"acl": "Acl",
"lastAccess": "Dernier Accès",
"enterProxyIdToConfirmDeletion": "Entrez l'ID Proxy pour confirmer la suppression.",
"updateTheProxyHere": "Mettez à jour le Proxy ici. ",
"addNewProxyHere": "Ajoutez un nouveau Proxy ici. ",
"pleaseUseAnIpAddressForBetterReliability": "Veuillez utiliser une adresse IP (ex. 127.0.0.1) au lieu d'un nom d'hôte ou de domaine pour une meilleure fiabilité.",
"adding": "Ajout en cours...",
"yourProxyHasBeenSuccessfully": "Votre Proxy a été {{action}} avec succès.",
"proxyUpdateOrAddFailed": "La {{action}} a échoué, veuillez réessayer plus tard",
"sidebar": {
"profile": "Profil",
"apiTokens": "Jetons API",
"proxy": "Proxy réseau",
"configurations": "Configurations système"
},
"profile": {
"loadError": "Impossible de charger les informations de lutilisateur.",
"uploadTitle": "Téléverser un avatar",
"maxSize": "Jusqu’à {{size}}",
"avatarAlt": "Avatar",
"removeAvatar": "Supprimer lavatar",
"uploadError": "Erreur(s) lors du téléversement du fichier",
"field": {
"username": "Nom dutilisateur",
"email": "E-mail",
"password": "Mot de passe"
},
"placeholder": {
"password_keep": "Laissez vide pour conserver le mot de passe actuel"
},
"button": {
"update_profile": "Mettre à jour le profil",
"permissions": "Autorisations",
"view_global_permissions": "Voir les autorisations globales"
},
"section": {
"roles": "Rôles",
"accounts": "{{count}} comptes liés"
},
"account": {
"id": "ID du compte : {{id}}"
},
"toast": {
"updated": "Profil mis à jour avec succès",
"update_failed": "Échec de la mise à jour du profil"
},
"validation": {
"username": {
"required": "Le nom dutilisateur est requis",
"min": "Le nom dutilisateur doit contenir au moins 5 caractères",
"max": "Le nom dutilisateur doit contenir au maximum 32 caractères"
},
"email": {
"required": "Ladresse e-mail est requise",
"invalid": "Veuillez saisir une adresse e-mail valide"
},
"password": {
"min": "Le mot de passe doit contenir au moins 8 caractères",
"max": "Le mot de passe doit contenir au maximum 256 caractères"
}
}
}
},
"apiDocs": {
"choosePreferredType": "Choisissez votre type de documentation API préféré",
"swaggerUI": "Swagger UI",
"reDoc": "ReDoc",
"openAPIExplorer": "Explorateur OpenAPI",
"scalar": "Scalar",
"downloadSpecYAML": "Télécharger la Spécification YAML"
},
"dialogs": {
"confirmDelete": "Confirmer la Suppression",
"confirmDeleteDesc": "Êtes-vous sûr de vouloir supprimer cet élément ? Cette action ne peut pas être annulée.",
"deleteSuccess": "Supprimé avec succès",
"deleteFailed": "Échec de la suppression",
"saveSuccess": "Enregistré avec succès",
"saveFailed": "Échec de l'enregistrement",
"createSuccess": "Créé avec succès",
"createFailed": "Échec de la création",
"updateSuccess": "Mis à jour avec succès",
"updateFailed": "Échec de la mise à jour",
"continue": "Continuer",
"deleting": "Suppression en cours...",
"accountDeleted": "Compte Supprimé",
"accountDeletedDesc": "Votre compte a été supprimé avec succès.",
"accountDeleteFailed": "Échec de la suppression du compte",
"deleteAccountPermanently": "Supprimer le Compte Définitivement",
"youAreDeleting": "Vous êtes en train de supprimer {{email}}. Cela supprimera définitivement :",
"accountCredentials": "Les informations d'identification et les paramètres du compte",
"localCachedMetadata": "Les métadonnées et l'état de synchronisation mis en cache localement",
"imapSyncData": "Les données de synchronisation IMAP",
"oauthTokens": "Les jetons OAuth et les informations d'identification API",
"typeEmailToConfirm": "Tapez l'adresse e-mail du compte pour confirmer :",
"typeToConfirm": "Tapez \"{{email}}\" pour confirmer",
"cannotBeUndone": "Cette action ne peut pas être annulée !",
"allResourcesErased": "Toutes les ressources associées seront effacées définitivement.",
"permanentlyDeleteAccount": "Supprimer Définitivement le Compte"
},
"command": {
"typeCommandOrSearch": "Tapez une commande ou recherchez...",
"noResultsFound": "Aucun résultat trouvé.",
"theme": "Thème",
"light": "Clair",
"dark": "Sombre"
},
"validation": {
"required": "Ce champ est obligatoire",
"invalidEmail": "Adresse e-mail non valide",
"invalidUrl": "URL non valide",
"passwordMinLength": "Le mot de passe doit contenir au moins {{min}} caractères",
"pleaseEnterPassword": "Veuillez entrer votre mot de passe",
"passwordRequired": "Le mot de passe est obligatoire lorsque la méthode d'authentification est Mot de passe",
"emailRequired": "L'adresse e-mail est obligatoire",
"imapHostRequired": "L'hôte IMAP est obligatoire",
"imapHostCannotBeEmpty": "L'hôte IMAP ne peut pas être vide",
"imapPortMustBePositive": "Le port IMAP doit être un entier positif",
"imapPortMustBeLessThan65536": "Le port IMAP doit être inférieur à 65536",
"folderLimitMustBeNumber": "La limite de dossiers doit être un nombre",
"folderLimitMustBeAtLeast100": "La limite de dossiers doit être d'au moins 100",
"incrementalSyncMustBeNumber": "L'intervalle de synchronisation incrémentielle doit être un nombre",
"incrementalSyncMustBeAtLeast10": "L'intervalle de synchronisation incrémentielle doit être d'au moins 10 minutes",
"pleaseEnterUsernameOrEmail": "Veuillez entrer votre nom d'utilisateur ou votre courriel",
"singleRequestBatchSizeMustBeNumber": "La taille du lot doit être un nombre",
"singleRequestBatchSizeTooSmall": "La taille du lot doit être au moins 10",
"singleRequestBatchSizeTooLarge": "La taille du lot doit être au plus 200"
},
"table": {
"noResults": "Aucun résultat trouvé",
"loading": "Chargement...",
"page": "Page",
"of": "de",
"rowsPerPage": "Lignes par page",
"showing": "Affichage",
"to": "à",
"results": "résultats",
"asc": "Asc",
"desc": "Desc",
"hide": "Masquer",
"edit": "Modifier",
"delete": "Supprimer",
"pagination": {
"selected": "{{selected}} / {{total}} ligne(s) sélectionnée(s).",
"fixed_page_size": "{{size}} lignes par page.",
"rows_per_page": "Lignes per page",
"page_info": "Page {{page}} sur {{total}}",
"first": "Première page",
"previous": "Page précédente",
"next": "Page suivante",
"last": "Dernière page"
}
},
"proxyDelete": {
"title": "Supprimer le Proxy",
"successTitle": "Suppression Réussie",
"successDesc": "Le Proxy a été supprimé avec succès.",
"close": "Fermer",
"failedTitle": "Échec de la suppression du Proxy",
"failedDesc": "La suppression a échoué, veuillez réessayer plus tard",
"tryAgain": "Réessayer",
"confirmText": "Êtes-vous sûr de vouloir supprimer",
"permanent": "Cette action supprimera définitivement le Proxy du système. Cela ne peut pas être annulé.",
"proxyIdLabel": "ID Proxy :",
"proxyIdPlaceholder": "Entrez l'ID Proxy pour confirmer la suppression.",
"warningTitle": "Attention !",
"warningDesc": "Soyez prudent, cette opération ne peut pas être annulée.",
"deleteBtn": "Supprimer"
},
"systemConfig": {
"pageTitle": "Configurations au niveau système",
"pageDescription": "Ces paramètres sont initialisés via des drapeaux CLI ou des variables d'environnement. Ils sont en lecture seule pour garantir la cohérence de l'environnement.",
"status": {
"enabled": "Activé",
"disabled": "Désactivé",
"configured": "Configuré",
"missing": "Manquant",
"auto": "Auto",
"notSet": "Non défini"
},
"sections": {
"network": {
"title": "Réseau",
"desc": "Accès HTTP et public"
},
"cors": {
"title": "CORS",
"desc": "Règles d'accès cross-origin"
},
"logging": {
"title": "Journalisation",
"desc": "Comportement de sortie des logs"
},
"storage": {
"title": "Stockage et Cache",
"desc": "Chemins de base de données et limites"
},
"security": {
"title": "Sécurité",
"desc": "Authentification et chiffrement"
},
"performance": {
"title": "Performance",
"desc": "Concurrence et compression"
},
"smtp": {
"title": "Serveur SMTP",
"desc": "Paramètres de réception du courrier entrant pour l'archivage en temps réel"
}
}
},
"apiTokens": {
"page": {
"loadError": "Échec du chargement des jetons API.",
"emptyTitle": "Aucun jeton API",
"emptyDescription": "Vous n'avez pas encore créé de jetons API. Cliquez ci-dessous pour en créer un.",
"addBtn": "Ajouter un jeton"
},
"list": {
"unnamedToken": "Jeton sans nom",
"statusActive": "Actif",
"statusExpired": "Expiré",
"neverExpires": "N'expire jamais",
"expiresOnShort": "Expire le {{date}}",
"tokenLabel": "Jeton",
"createdLabel": "Créé le",
"lastUsedLabel": "Dernière utilisation",
"expiresOnLabel": "Expire le",
"neverUsed": "Jamais",
"neverLabel": "Jamais",
"deleteBtn": "Supprimer le jeton"
},
"dialog": {
"createTitle": "Créer un jeton d'accès",
"editTitle": "Modifier le jeton d'accès",
"description": "Cliquez sur enregistrer lorsque vous avez terminé.",
"save": "Enregistrer",
"saveChanges": "Enregistrer les modifications"
},
"deleteDialog": {
"title": "Supprimer le jeton d'accès ?",
"description": "Cette action est irréversible. Toute application utilisant ce jeton perdra immédiatement son accès.",
"cancel": "Annuler",
"confirm": "Supprimer",
"deleting": "Suppression..."
},
"form": {
"nameLabel": "Nom",
"namePlaceholder": "Donnez un nom court à ce jeton",
"nameDescription": "Optionnel · Max 32 caractères",
"expirationLabel": "Expiration",
"expirationPlaceholder": "Sélectionner l'expiration",
"expirationDescription": "Les jetons expireront automatiquement après le délai sélectionné.",
"never": "Jamais",
"1day": "1 jour",
"7days": "7 jours",
"30days": "30 jours",
"errorMax": "Max 32 caractères",
"errorNumber": "Doit être un nombre",
"errorInt": "Doit être un entier",
"errorPositive": "Doit être supérieur à 0"
},
"notifications": {
"createSuccess": "Jeton d'accès créé",
"createSuccessDesc": "Le jeton d'accès a été créé avec succès.",
"updateSuccess": "Jeton d'accès mis à jour",
"updateSuccessDesc": "Le jeton d'accès a été mis à jour avec succès.",
"createFailed": "Échec de la création",
"updateFailed": "Échec de la mise à jour",
"deleteSuccess": "Jeton d'accès supprimé avec succès",
"deleteFailed": "Échec de la suppression du jeton",
"copied": "Copié dans le presse-papiers",
"genericError": "L'opération a échoué. Veuillez réessayer.",
"close": "Fermer",
"tryAgain": "Réessayer"
}
},
"permission": {
"scope": {
"global": "Global",
"account": "Compte #{{id}}"
},
"dialog": {
"global_title": "Autorisations globales",
"account_title": "Autorisations du compte",
"global_description": "Autorisations système accordées à cet utilisateur.",
"account_description": "Autorisations limitées au compte sélectionné."
},
"category": {
"system_identity": "Système et identité",
"global_data": "Données globales (Admin)",
"account": "Autorisations du compte"
},
"system": {
"access": "Accès système de base",
"root": "Contrôle système complet"
},
"user": {
"manage": "Gérer tous les utilisateurs",
"view": "Lister les noms d'utilisateur"
},
"token": {
"manage": "Gérer les jetons d'accès"
},
"account": {
"create": "Créer des comptes e-mail",
"manage": "Gérer les comptes attribués",
"manage_all": "Gérer toutes les configurations de compte",
"read_details": "Lire les détails du compte"
},
"data": {
"read": "Lire les données e-mail attribuées",
"read_all": "Lire toutes les données e-mail",
"manage": "Gérer les métadonnées e-mail attribuées",
"manage_all": "Gérer toutes les métadonnées e-mail",
"raw_download": "Télécharger les e-mails bruts attribués",
"raw_download_all": "Télécharger tous les e-mails bruts",
"delete": "Supprimer les e-mails attribués",
"delete_all": "Supprimer les e-mails de tous les comptes",
"export_batch": "Exporter les données attribuées par lot",
"export_batch_all": "Exporter toutes les données par lot",
"import_batch": "Importer des données e-mail par lot",
"smtp_ingest": "Ingérer des e-mails via le protocole SMTP"
}
},
"users": {
"columns": {
"id": "ID",
"avatar": "Avatar",
"username": "Nom d'utilisateur",
"email": "Adresse e-mail",
"roles": "Rôles et permissions",
"created_at": "Créé le",
"updated_at": "Mis à jour le",
"actions": "Actions"
},
"buttons": {
"add": "Ajouter un utilisateur",
"add_new": "Créer un utilisateur"
},
"empty": {
"title": "Aucun utilisateur trouvé",
"description": "Cliquez sur le bouton ci-dessous pour ajouter votre premier utilisateur."
},
"nav": {
"users": "Utilisateurs",
"roles": "Rôles",
"api_tokens": "Jetons API"
},
"api_tokens": {
"empty": {
"title": "Aucun jeton API trouvé",
"description": "Aucun jeton API n'a encore été généré dans le système."
},
"button": {
"generate": "Générer un nouveau jeton"
},
"toolbar": {
"search_placeholder": "Rechercher par nom, propriétaire ou jeton..."
},
"table": {
"name": "Nom",
"type": "Type",
"last_used": "Dernière utilisation",
"expires_at": "Expire le",
"owner": "Propriétaire",
"created": "Créé",
"api_key": "Clé API",
"web_ui": "Interface Web",
"never": "Jamais",
"permanent": "Permanent",
"expired": "Expiré",
"unnamed": "Jeton sans nom"
},
"unnamed": "Jeton sans nom",
"delete": {
"title": "Supprimer le jeton API",
"desc": "Vous êtes sur le point de supprimer définitivement ce jeton API",
"prefix": "Préfixe du jeton",
"irreversible": "Cette action est irréversible. Toutes les applications utilisant ce jeton perdront immédiatement l'accès.",
"confirm_label": "Pour confirmer, saisissez {{word}} ci-dessous :",
"confirm_placeholder": "Saisissez \"{{word}}\" pour confirmer",
"warning_title": "Avertissement",
"warning_desc": "Tous les scripts ou services utilisant ce jeton échoueront. Assurez-vous d'avoir mis à jour vos systèmes.",
"confirm_button": "Supprimer le jeton",
"deleting": "Suppression..."
},
"toast": {
"deleted_title": "Jeton API supprimé",
"deleted_desc": "Le jeton \"{{name}}\" a été supprimé avec succès.",
"delete_failed_title": "Échec de la suppression",
"delete_failed": "Impossible de supprimer le jeton, veuillez réessayer."
}
},
"tokens": {
"schema": {
"name_max": "Max 32 caractères",
"expire_number": "Doit être un nombre",
"expire_int": "Doit être un entier",
"expire_positive": "Doit être supérieur à 0"
},
"toast": {
"update_success_title": "Jeton mis à jour",
"update_success_desc": "Le jeton d'accès a été mis à jour avec succès.",
"create_success_title": "Jeton créé",
"create_success_desc": "Le jeton d'accès a été créé avec succès.",
"update_failed_title": "Échec de la mise à jour",
"create_failed_title": "Échec de la création"
},
"error": {
"fallback": "L'opération a échoué, veuillez réessayer plus tard."
},
"dialog": {
"edit_title": "Modifier le jeton",
"create_title": "Créer un jeton d'accès",
"description": "Cliquez sur enregistrer lorsque vous avez terminé."
},
"fields": {
"name_label": "Nom",
"name_placeholder": "Donnez un nom court à ce jeton",
"name_hint": "Optionnel · Max 32 caractères",
"expire_label": "Expiration",
"expire_placeholder": "Choisir l'expiration",
"expire_hint": "Le jeton expirera automatiquement après le délai choisi."
},
"expire_options": {
"never": "N'expire jamais",
"1_day": "1 jour",
"7_days": "7 jours",
"30_days": "30 jours"
}
},
"tokens_action": {
"dialog": {
"title": "Jetons API",
"description": "Gérer les jetons API pour cet utilisateur."
},
"empty": {
"title": "Aucun jeton API",
"description": "Cet utilisateur n'a aucun jeton API pour le moment."
},
"buttons": {
"add": "Ajouter un jeton"
},
"list": {
"unnamed_token": "Jeton sans nom",
"status_expired": "Expiré",
"status_active": "Actif",
"expires_on_brief": "Expire le {{date}}",
"never_expires": "N'expire jamais",
"label_token": "Jeton",
"label_created": "Créé le",
"label_last_used": "Dernière utilisation",
"label_expires_at": "Expire le",
"never": "Jamais",
"button_delete": "Supprimer le jeton"
},
"delete_dialog": {
"title": "Supprimer le jeton d'accès ?",
"description": "Cette action est irréversible."
}
},
"actions": {
"schema": {
"account_required": "Veuillez sélectionner un compte",
"role_required": "Veuillez sélectionner un rôle",
"username_required": "Le nom d'utilisateur est requis",
"username_min": "Le nom d'utilisateur doit contenir au moins 3 caractères",
"username_max": "Le nom d'utilisateur ne peut pas dépasser 32 caractères",
"email_required": "L'adresse e-mail est requise",
"email_invalid": "Veuillez saisir une adresse e-mail valide",
"global_role_required": "Attribuez au moins un rôle global",
"description_max": "La description ne peut pas dépasser 256 caractères",
"ip_invalid": "Adresse IP invalide détectée",
"password_required": "Le mot de passe est requis",
"password_min": "Le mot de passe doit contenir au moins 8 caractères",
"password_max": "Le mot de passe ne peut pas dépasser 256 caractères"
},
"toast": {
"updated": "Utilisateur mis à jour",
"created": "Utilisateur créé"
},
"dialog": {
"edit_title": "Modifier l'utilisateur : {{name}}",
"create_title": "Créer un utilisateur",
"subtitle": "Configurez l'identité, les accès et les politiques de sécurité."
},
"tabs": {
"general": "Général",
"permissions": "Permissions compte",
"security": "Sécurité & ACL"
},
"sections": {
"basic": "Identité de base",
"global": "Permissions globales",
"mail_access": "Contrôle d'accès mail",
"mail_access_subtitle": "Définissez les comptes mail gérables par cet utilisateur.",
"policy": "Politiques"
},
"fields": {
"username": "Nom d'utilisateur",
"username_hint": "Identifiant unique pour la connexion.",
"email": "Adresse e-mail",
"email_hint": "Contact principal et notifications.",
"password": "Mot de passe",
"password_placeholder_create": "Au moins 8 caractères",
"password_placeholder_edit": "Laisser vide pour conserver l'actuel",
"password_hint_create": "Mot de passe sécurisé pour la configuration initiale.",
"password_hint_edit": "Saisissez un nouveau mot de passe uniquement si vous souhaitez le changer.",
"global_roles_hint": "Attribuez des permissions système.",
"description": "Description (optionnel)",
"description_placeholder": "Notes sur cet utilisateur...",
"description_hint": "Notes internes (max 256 caractères).",
"select_account": "Choisir un compte",
"assign_role": "Attribuer un rôle",
"ip_whitelist": "Liste blanche IP",
"ip_whitelist_hint": "Limiter la connexion à ces IP (une par ligne).",
"rate_quota": "Quota de débit",
"burst_interval": "Intervalle de rafale (sec)"
},
"buttons": {
"add_account": "Ajouter un compte",
"update": "Mettre à jour",
"create": "Créer"
},
"states": {
"full_access": "Mode accès complet",
"full_access_desc": "Les administrateurs ont un accès inhérent à tous les comptes.",
"no_accounts": "Aucun compte spécifique attribué.",
"security_disabled": "Les politiques de sécurité sont désactivées."
},
"api_tokens": "Jetons API",
"placeholder": {
"filter": "Rechercher des utilisateurs..."
},
"delete": {
"title": "Supprimer l'utilisateur",
"confirm_msg": "Vous supprimez définitivement l'utilisateur {{name}} (ID : {{id}}).",
"irreversible": "Cette action est irréversible.",
"input_label": "Saisissez l'ID de l'utilisateur pour confirmer :",
"placeholder": "Saisissez \"{{id}}\"",
"alert_title": "Attention : action définitive.",
"alert_desc": "L'utilisateur et toutes ses données seront supprimés.",
"button_confirm": "Supprimer l'utilisateur",
"button_deleting": "Suppression...",
"toast": {
"success_title": "Utilisateur supprimé",
"success_desc": "L'utilisateur \"{{name}}\" a été supprimé.",
"failed_title": "Échec de la suppression",
"failed_fallback": "Impossible de supprimer l'utilisateur."
}
}
}
},
"roles": {
"title": {
"create": "Créer un rôle",
"edit": "Modifier le rôle : {{name}}"
},
"description_hint": "Définissez la portée des accès et les permissions.",
"form": {
"name_label": "Nom du rôle",
"type_label": "Type de rôle",
"desc_label": "Description",
"matrix_label": "Matrice des permissions ({{type}})",
"builtin_badge": "Rôle intégré",
"builtin_desc": "Ce rôle est prédéfini et en lecture seule."
},
"types": {
"Global": "Global",
"Account": "Compte"
},
"categories": {
"identity": "Identité & Gestion",
"global_data": "Accès données globales",
"account_resource": "Accès ressources compte"
},
"actions": {
"cancel": "Annuler",
"submit_create": "Créer le rôle",
"submit_update": "Mettre à jour le rôle",
"success_create": "Rôle créé avec succès",
"success_update": "Rôle mis à jour avec succès",
"failed": "L'opération a échoué",
"close": "Fermer",
"retry": "Réessayer",
"add": "Ajouter un rôle"
},
"validation": {
"name_required": "Le nom du rôle est requis",
"perm_required": "Sélectionnez au moins une permission"
},
"columns": {
"id": "ID",
"name": "Nom",
"role_type": "Type",
"permissions": "Permissions",
"created_at": "Créé le",
"updated_at": "Mis à jour le"
},
"placeholder": {
"filter": "Rechercher des rôles..."
},
"delete": {
"dialog_title": "Supprimer le rôle",
"warning_text": "Vous supprimez définitivement le rôle {{name}} (ID : {{id}}).",
"irreversible": "Cette action est irréversible.",
"confirm_label": "Saisissez l'ID du rôle pour confirmer :",
"placeholder": "Saisissez \"{{id}}\"",
"alert_title": "Attention : action définitive.",
"alert_desc": "La suppression de ce rôle le retirera de tous les utilisateurs assignés.",
"confirm_btn": "Supprimer le rôle",
"deleting": "Suppression...",
"success_title": "Rôle supprimé",
"success_desc": "Le rôle \"{{name}}\" a été supprimé.",
"error_title": "Échec de la suppression",
"error_fallback": "Impossible de supprimer le rôle."
},
"details": {
"title": "Permissions : {{name}}",
"unknown": "Rôle inconnu",
"role_badge": "Rôle {{type}}",
"desc_global": "Gestion globale et accès système.",
"desc_account": "Accès et opérations sur les comptes individuels.",
"close_btn": "Fermer",
"view_permissions": "Détails des permissions"
},
"empty": {
"title": "Aucun rôle trouvé",
"desc": "Vous n'avez pas encore créé de rôles personnalisés."
}
},
"profile": {
"avatar_alt": "Avatar",
"menu": {
"profile": "Profil",
"settings": "Paramètres",
"sign_out": "Se déconnecter"
}
},
"sign_out": {
"title": "Déconnexion",
"desc": "Êtes-vous sûr de vouloir vous déconnecter ? Vous devrez vous reconnecter pour accéder à votre compte.",
"confirm": "Déconnexion"
},
"restore_message": {
"title": "Restaurer un message",
"bulkTitle": "Restaurer plusieurs messages",
"bulkWarning": "Remarque : les messages seront restaurés dans leurs dossiers d'origine.",
"accountsInvolved": "Comptes concernés",
"summary": "Détails de la restauration",
"messages": "messages",
"desc": "Cette action va re-télécharger les messages sélectionnés depuis Bichon et les restaurer dans leurs boîtes aux lettres correspondantes sur le serveur IMAP.",
"confirm": "Exécuter la restauration",
"restore_to_imap": "Restaurer le message",
"success": "Restauration réussie",
"successDesc": "Les messages sélectionnés ont été restaurés avec succès sur le serveur IMAP.",
"failed": "Échec de la restauration",
"failedTitle": "Erreur de restauration"
},
"time": {
"label": "Temps",
"since": "Depuis",
"before": "Avant",
"recent_range": "Période récente (depuis...)",
"historical": "Période historique (avant...)",
"absolute_range": "Plage de dates absolue",
"last_day": "Dernier jour",
"last_days": "Derniers {{count}} jours",
"last_months": "Derniers {{count}} mois",
"over_years_ago": "Il y a {{count}} {{unit}}",
"year": "an",
"years": "ans",
"recent_prefix": "Récent :",
"days_ago_to_now": "jours jusqu’à aujourdhui",
"apply": "Appliquer",
"start_date": "Date de début",
"end_date": "Date de fin",
"clear_filters": "Effacer les filtres de temps",
"format": "yyyy-MM-dd"
},
"tag": {
"label": "Étiquettes",
"search_placeholder": "Rechercher des étiquettes...",
"clear_all": "Effacer toutes les étiquettes",
"no_tags_found": "Aucune étiquette trouvée"
},
"search_accounts": {
"label": "Comptes e-mail",
"search_placeholder": "Rechercher des comptes e-mail...",
"clear_accounts": "Effacer les comptes sélectionnés",
"no_accounts_found": "Aucun compte trouvé"
},
"search_mailbox": {
"label": "Boîtes mail",
"search_placeholder": "Rechercher des dossiers",
"clear_mailboxes": "Effacer les dossiers sélectionnés",
"select_account_first": "Veuillez dabord sélectionner un compte e-mail",
"no_mailbox_found": "Aucun dossier trouvé"
},
"search_contacts": {
"label": "Contacts",
"label_with_count": "Contacts ({{count}})",
"any": "Tous",
"search_placeholder": "Rechercher {{field}}...",
"reset_all": "Réinitialiser tous les contacts",
"no_contact_found": "Aucun contact trouvé",
"loading": "Chargement...",
"showing_limit": "Affichage des 100 premiers résultats uniquement • Total {{total}}"
},
"search_more": {
"trigger_label": "Avancé",
"title": "Filtres avancés",
"reset": "Réinitialiser",
"has_attachment": "Contient une pièce jointe",
"attachment_name_label": "Nom de la pièce jointe",
"attachment_name_placeholder": "Ex. : invoice.pdf",
"message_size_label": "Taille du message",
"message_id_label": "Message-ID dorigine",
"message_id_description": "Recherche via len-tête Message-ID de le-mail",
"apply": "Appliquer les filtres",
"size_presets": {
"any": "Toutes tailles",
"tiny": "Très petite (< 15 Ko)",
"small": "Petite (< 2 Mo)",
"medium": "Moyenne (2 10 Mo)",
"large": "Grande (10 20 Mo)",
"huge": "Très grande (> 20 Mo)"
},
"any": "Tous",
"search_placeholder": "Rechercher {{field}}...",
"extension": "Extension de fichier",
"category": "Catégorie de pièce jointe",
"content_types": "Type spécifique"
},
"search_view": {
"button_label": "Affichage",
"menu_title": "Paramètres des colonnes"
},
"search_reset": {
"label": "Réinitialiser",
"tooltip": "Effacer tous les filtres"
},
"search_input": {
"placeholder": "Rechercher des e-mails... (Regex supporté)",
"button": "Rechercher",
"recent_title": "Recherches récentes",
"clear_history": "Effacer lhistorique",
"no_history": "Aucun historique de recherche",
"all": "Tous les champs",
"all_fields_desc": "Recherche dans l'objet, le corps, l'expéditeur et les destinataires",
"subject": "Objet",
"body": "Corps du message"
}
}