diff --git a/data/web/lang/lang.fr.json b/data/web/lang/lang.fr.json
index 477f605a..8badc081 100644
--- a/data/web/lang/lang.fr.json
+++ b/data/web/lang/lang.fr.json
@@ -136,11 +136,11 @@
"arrival_time": "Heure d'arrivée (heure du serveur)",
"authed_user": "Utilisateur autorisé",
"ays": "Voulez-vous vraiment le faire ?",
- "ban_list_info": "Consultez la liste des adresses IP interdites ci-dessous: réseau (durée d'interdiction restante) - [actions].
Les adresses IP mises en file d'attente pour être interdites seront supprimées de la liste d'interdiction active dans quelques secondes.
Les étiquettes rouges indiquent des interdictions permanentes actives par liste noire.",
+ "ban_list_info": "Consultez la liste des adresses IP bannies ci-dessous : réseau (durée de bannissement restante) - [actions].
Les adresses IP mises en file d'attente pour être dé-bannies seront supprimées de la liste de bannissement dans quelques secondes.
Les étiquettes rouges indiquent les bannissement permanent par liste noire.",
"change_logo": "Changer de logo",
"configuration": "Configuration",
"convert_html_to_text": "Convertir le code HTML en texte brut",
- "credentials_transport_warning": "Attention: L’ajout d’une nouvelle entrée de carte de transport mettra à jour les informations d’identification pour toutes les entrées avec une colonne nexthop correspondante.",
+ "credentials_transport_warning": "Attention : L’ajout d’une nouvelle entrée de carte de transport mettra à jour les informations d’identification pour toutes les entrées avec une colonne nexthop.",
"customer_id": "ID client",
"customize": "Personnaliser",
"delete_queue": "Tout supprimer",
@@ -176,7 +176,7 @@
"f2b_netban_ipv4": "Taille du sous-réseau IPv4 pour l'application du bannissement (8-32)",
"f2b_netban_ipv6": "Taille du sous-réseau IPv6 pour l'application du bannissement (8-128)",
"f2b_parameters": "Paramètres Fail2ban",
- "f2b_regex_info": "Logs pris en compte: SOGo, Postfix, Dovecot, PHP-FPM.",
+ "f2b_regex_info": "Logs pris en compte : SOGo, Postfix, Dovecot, PHP-FPM.",
"f2b_retry_window": "Fenêtre de nouvel essai pour le nb max. de tentatives",
"f2b_whitelist": "Réseaux/hôtes en liste blanche",
"filter_table": "Table de filtrage",
@@ -216,7 +216,7 @@
"no_record": "Aucun enregistrement",
"oauth2_client_id": "Client ID",
"oauth2_client_secret": "Secret client",
- "oauth2_info": "L'implémentation OAuth2 prend en charge le type d'autorisation \"Authorization Code\" et émet des jetons d'actualisation.
\r\nLe serveur émet également automatiquement de nouveaux jetons d'actualisation, après qu'un jeton d'actualisation a été utilisé.
\r\n→ La portée par défaut est profile. Seuls les utilisateurs de boîte peuvent être authentifiés par rapport à OAuth2. Si le paramètre scope est omis, il revient au profile.
\r\n→ Le paramètre state doit être envoyé par le client dans le cadre de la demande d'autorisation.
\r\nChemins d'accès aux requêtes vers l'API OAuth
\r\n
\r\n - Point de terminaison d'autorisation:
/oauth/authorize
\r\n - Point de terminaison du jeton:
/oauth/token
\r\n - Page de ressource:
/oauth/profile
\r\n
\r\nLa régénération du secret client n'expirera pas les codes d'autorisation existants, mais ils ne renouvelleront pas leur jeton.
\r\nLa révocation des jetons clients entraînera la fin immédiate de toutes les sessions actives.\nTous les clients doivent se ré-authentifier.",
+ "oauth2_info": "L'implémentation OAuth2 prend en charge le type d'autorisation \"Authorization Code\" et émet des jetons d'actualisation.
\nLe serveur émet également automatiquement de nouveaux jetons d'actualisation, après qu'un jeton d'actualisation a été utilisé.
\n→ La portée par défaut est profile. Seuls les utilisateurs d'une boîte peuvent être authentifiés par rapport à OAuth2. Si le paramètre scope est omis, il revient au profile.
\n→ Le paramètre state doit être envoyé par le client dans le cadre de la demande d'autorisation.
\nChemins d'accès aux requêtes vers l'API OAuth
\n\n - Point de terminaison d'autorisation :
/oauth/authorize
\n - Point de terminaison du jeton :
/oauth/token
\n - Page de ressource :
/oauth/profile
\n
\nLa régénération du secret client ne fera pas expirer les codes d'autorisation existants, mais ils ne pourront pas renouveler leur jeton.
\nLa révocation des jetons clients entraînera la fin immédiate de toutes les sessions actives. Tous les clients doivent se ré-authentifier.",
"oauth2_redirect_uri": "URI de redirection",
"oauth2_renew_secret": "Générer un nouveau secret client",
"oauth2_revoke_tokens": "Révoquer tous les jetons",
@@ -230,7 +230,7 @@
"quarantine_exclude_domains": "Exclure les domaines et les alias de domaine",
"quarantine_max_age": "Âge maximun en jour(s)
La valeur doit être égale ou supérieure à 1 jour.",
"quarantine_max_size": "Taille maximum en Mo (les éléments plus grands sont mis au rebut):
0 ne signifie pas illimité.",
- "quarantine_max_score": "Ignorer la notification si le score de spam est au dessus de cette valeur:
Par défaut: 9999.0",
+ "quarantine_max_score": "Ignorer la notification si le score de spam est au dessus de cette valeur :
Par défaut : 9999.0",
"quarantine_notification_html": "Modèle de courriel de notification:
Laisser vide pour restaurer le modèle par défaut.",
"quarantine_notification_sender": "Notification par e-mail de l’expéditeur",
"quarantine_notification_subject": "Objet du courriel de notification",
@@ -262,8 +262,8 @@
"regex_maps": "Cartes Regex (expression régulière)",
"relay_from": "\"De:\" adresse",
"relay_run": "Lancer le test",
- "relayhosts": "Transports de l’expéditeur",
- "relayhosts_hint": "Définir les transports dépendant de l’expéditeur pour pouvoir les sélectionner dans un dialogue de configuration de domaines.
\r\n Le service de transport est toujours \"SMTP:\" et va donc essayer TLS (lorsqu’il est proposé. Le TLS encapsulé (SMTPS) n’est pas pris en charge. Il est tenu compte de la définition de la politique TLS pour chaque utilisateur sortant.
\r\n Affecte les domaines sélectionnés, y compris les domaines alias.",
+ "relayhosts": "Transports dépendant de l’expéditeur",
+ "relayhosts_hint": "Définir les transports dépendant de l’expéditeur pour pouvoir les sélectionner dans un dialogue de configuration de domaines.
\n Le service de transport est toujours \"SMTP:\" et va donc essayer TLS lorsqu’il est proposé. Le TLS encapsulé (SMTPS) n’est pas pris en charge. Il est tenu compte de la définition de la politique TLS pour chaque utilisateur sortant.
\n Affecte les domaines sélectionnés, y compris les domaines alias.",
"remove": "Supprimer",
"remove_row": "Supprimer la ligne",
"reset_default": "Réinitialisation à la valeur par défaut",
@@ -299,7 +299,7 @@
"title": "Titre",
"title_name": "\"mailcow UI\" titre du site web",
"to_top": "Retour en haut",
- "transport_dest_format": "Syntaxe: example.org, .example.org, *, box@example.org (les valeurs multiples peuvent être séparées par des virgules)",
+ "transport_dest_format": "Syntaxe : example.org, .example.org, *, box@example.org (les valeurs multiples peuvent être séparées par des virgules)",
"transport_maps": "Plans de transport",
"transports_hint": "→ Une entrée de carte de transport annule une carte de transport dépendante de l’expéditeur.
\r\n→ Les paramètres de politique TLS sortants par utilisateur sont ignorés et ne peuvent être appliqués que par les entrées de carte de politique TLS.
\r\n→ Le service de transport pour des transports définis est toujours \"smtp:\" et va donc essayer TLS lorsqu’il est offert. Wrapped TLS (SMTPS) n’est pas pris en charge.
\r\n→ Les adresses correspondantes \"/localhost$/\" seront toujours transportées via \"local:\", donc une destination \"*\" ne s'applique pas à ces adresses.
\r\n→ Pour déterminer les compétences dans l'exemple suivant \"[host]:25\", Postfix demande toujours pour \"host\" avant de chercher \"[host]:25\". Ce comportement rend impossible l’utilisation \"host\" et \"[host]:25\" en même temps.",
"ui_footer": "Pied de page (HTML autorisé)",
@@ -327,7 +327,7 @@
"alias_empty": "L'alias d'adresse ne peut pas être vide",
"alias_goto_identical": "L’alias et l’adresse Goto ne doivent pas être identiques",
"alias_invalid": "L'alias d'adresse %s est non valide",
- "aliasd_targetd_identical": "Le domaine alias ne doit pas être égal au domaine cible: %s",
+ "aliasd_targetd_identical": "Le domaine alias ne doit pas être égal au domaine cible : %s",
"aliases_in_use": "Max. alias doit être supérieur ou égal à %d",
"app_name_empty": "Le nom de l'application ne peut pas être vide",
"app_passwd_id_invalid": "Le mot de passe ID %s de l'application est non valide",
@@ -338,7 +338,7 @@
"defquota_empty": "Le quota par défaut par boîte ne doit pas être 0.",
"description_invalid": "La description des ressources pour %s est non valide",
"dkim_domain_or_sel_exists": "Une clé DKIM pour \"%s\" existe et ne sera pas écrasée",
- "dkim_domain_or_sel_invalid": "Domaine ou sélection DKIM non valide: %s",
+ "dkim_domain_or_sel_invalid": "Domaine ou sélection DKIM non valide : %s",
"domain_cannot_match_hostname": "Le domaine ne correspond pas au nom d’hôte",
"domain_exists": "Le domaine %s exite déjà",
"domain_invalid": "Le mom de domaine est vide ou non valide",
@@ -350,24 +350,24 @@
"file_open_error": "Le fichier ne peut pas être ouvert pour l'écriture",
"filter_type": "Type de fltre erroné",
"from_invalid": "Expéditeur ne peut pas être vide",
- "global_filter_write_error": "Impossible d’écrire le fichier de filtre: %s",
+ "global_filter_write_error": "Impossible d’écrire le fichier de filtre : %s",
"global_map_invalid": "ID de carte globale %s non valide",
- "global_map_write_error": "Impossible d’écrire l’ID de la carte globale %s: %s",
+ "global_map_write_error": "Impossible d’écrire l’ID de la carte globale %s : %s",
"goto_empty": "Une adresse alias doit contenir au moins une adresse 'goto'valide",
"goto_invalid": "Adresse Goto %s non valide",
- "ham_learn_error": "Erreur d'apprentissage Ham: %s",
+ "ham_learn_error": "Erreur d'apprentissage Ham : %s",
"imagick_exception": "Erreur : Exception Imagick lors de la lecture de l’image",
"img_invalid": "Impossible de valider le fichier image",
- "img_tmp_missing": "Impossible de valider le fichier image: Fichier temporaire introuvable",
+ "img_tmp_missing": "Impossible de valider le fichier image : Fichier temporaire introuvable",
"invalid_bcc_map_type": "Type de carte BCC non valide",
"invalid_destination": "Le format de la destination \"%s\" est non valide",
"invalid_filter_type": "Type de filtre non valide",
- "invalid_host": "Hôte non valide spécifié: %s",
+ "invalid_host": "Hôte non valide spécifié : %s",
"invalid_mime_type": "Type mime non valide",
"invalid_nexthop": "Le format de saut suivant est non valide",
"invalid_nexthop_authenticated": "Next hop existe avec différents identifiants, veuillez d’abord mettre à jour les identifiants existants pour ce prochain saut.",
- "invalid_recipient_map_new": "Nouveau destinataire précisé non valide: %s",
- "invalid_recipient_map_old": "Destinataire original précisé non valide: %s",
+ "invalid_recipient_map_new": "Nouveau destinataire spécifié non valide : %s",
+ "invalid_recipient_map_old": "Destinataire original spécifié non valide : %s",
"ip_list_empty": "La liste des adresses IP autorisées ne peut pas être vide",
"is_alias": "%s est déjà connu comme une adresse alias",
"is_alias_or_mailbox": "%s est déjà connu comme un alias, une boîte ou une adresse alias développée à partir d’un domaine alias.",
@@ -378,7 +378,7 @@
"mailbox_invalid": "Le nom de la boîte n'est pas valide",
"mailbox_quota_exceeded": "Le quota dépasse la limite du domaine (max. %d Mo)",
"mailbox_quota_exceeds_domain_quota": "Le quota maximum dépasse la limite du quota de domaine",
- "mailbox_quota_left_exceeded": "Espace libre insuffisant (espace libre: %d Mo)",
+ "mailbox_quota_left_exceeded": "Espace libre insuffisant (espace libre : %d Mio)",
"mailboxes_in_use": "Le max. des boîtes doit être supérieur ou égal à %d",
"malformed_username": "Nom d’utilisateur malformé",
"map_content_empty": "Le contenu de la carte ne peut pas être vide",
@@ -386,9 +386,9 @@
"max_mailbox_exceeded": "Le nombre max. de boîte est dépassé (%d of %d)",
"max_quota_in_use": "Le quota de la boîte doit être supérieur ou égal à %d Mo",
"maxquota_empty": "Le quota maximum par boîte ne doit pas être de 0.",
- "mysql_error": "Erreur MySQL: %s",
- "nginx_reload_failed": "Le rechargement de Nginx a échoué: %s",
- "network_host_invalid": "Réseau ou host non valide: %s",
+ "mysql_error": "Erreur MySQL : %s",
+ "nginx_reload_failed": "Le rechargement de Nginx a échoué : %s",
+ "network_host_invalid": "Réseau ou hôte non valide : %s",
"next_hop_interferes": "%s interfère avec le nexthop %s",
"next_hop_interferes_any": "Un saut suivant existant interfère avec %s",
"no_user_defined": "Aucun utilisateur défini",
@@ -399,15 +399,15 @@
"password_mismatch": "Le mot de passe de confirmation ne correspond pas",
"policy_list_from_exists": "Un enregistrement avec ce nom existe déjà",
"policy_list_from_invalid": "Le format de l’enregistrement est invalide",
- "private_key_error": "Erreur de clé privée: %s",
+ "private_key_error": "Erreur de clé privée : %s",
"pushover_credentials_missing": "Jeton Pushover ou clé manquante",
"pushover_key": "La clé Pushover a un mauvais format",
"pushover_token": "Le jeton Pushover a un mauvais format",
"quota_not_0_not_numeric": "Le quota doit être numerique et >= 0",
"recipient_map_entry_exists": "Une entrée dans la carte du bénéficiaire \"%s\" existe",
- "redis_error": "Erreur Redis: %s",
+ "redis_error": "Erreur Redis : %s",
"relayhost_invalid": "La saisie de la carte %s est invalide",
- "release_send_failed": "Le message n’a pas pu être diffusé: %s",
+ "release_send_failed": "Le message n’a pas pu être diffusé : %s",
"reset_f2b_regex": "Le filtre regex n'a pas pu être réinitialisé à temps, veuillez réessayer ou attendre quelques secondes de plus et recharger le site web.",
"resource_invalid": "Le nom de la resource %s n'est pas valide",
"rl_timeframe": "Le délai limite du taux est incorrect",
@@ -416,8 +416,8 @@
"sender_acl_invalid": "La valeur ACL de l’expéditeur %s est invalide",
"set_acl_failed": "Impossible de définir ACL",
"settings_map_invalid": "La carte des paramètres %s est invalide",
- "sieve_error": "Erreur d’analyseur de tamis: %s",
- "spam_learn_error": "Erreur d'apprentissage du spam: %s",
+ "sieve_error": "Erreur d'analyse syntaxique Sieve : %s",
+ "spam_learn_error": "Erreur d'apprentissage du spam : %s",
"subject_empty": "Le sujet ne peut^pas être vide",
"target_domain_invalid": "Le domaine cible %s n'est pas valide",
"targetd_not_found": "Le domaine cible %s est introuvable",
@@ -430,15 +430,15 @@
"tls_policy_map_parameter_invalid": "Le paramètre Policy est invalide",
"totp_verification_failed": "Echec de la vérification TOTP",
"transport_dest_exists": "La destination de transport \"%s\" existe",
- "webauthn_verification_failed": "Echec de la vérification WebAuthn: %s",
- "fido2_verification_failed": "La vérification FIDO2 a échoué: %s",
+ "webauthn_verification_failed": "Echec de la vérification WebAuthn : %s",
+ "fido2_verification_failed": "La vérification FIDO2 a échoué : %s",
"unknown": "Une erreur inconnue est survenue",
"unknown_tfa_method": "Methode TFA inconnue",
"unlimited_quota_acl": "Quota illimité interdit par les ACL",
"username_invalid": "Le nom d'utilisateur %s ne peut pas être utilisé",
"validity_missing": "Veuillez attribuer une période de validité",
"value_missing": "Veuillez fournir toutes les valeurs",
- "yotp_verification_failed": "La vérification Yubico OTP a échoué: %s"
+ "yotp_verification_failed": "La vérification Yubico OTP a échoué : %s"
},
"debug": {
"chart_this_server": "Graphique (ce serveur)",
@@ -509,7 +509,7 @@
"force_pw_update_info": "Cet utilisateur pourra uniquement se connecter à %s.",
"full_name": "Nom complet",
"gal": "Liste d'adresses globale (GAL)",
- "gal_info": "La liste d'adresses globale (GAL) contient tous les objets d’un domaine et ne peut pas être édité par un utilisateur. Les informations libres/occupées dans SOGo sont manquantes si elles sont désactivées! Redémarrer SOGo pour appliquer les modifications.",
+ "gal_info": "La liste d'adresses globale (GAL) contient tous les objets d’un domaine et ne peut pas être édité par un utilisateur. Les informations libres/occupées dans SOGo sont manquantes si elles sont désactivées ! Redémarrer SOGo pour appliquer les modifications.",
"generate": "générer",
"grant_types": "Types 'autorisation",
"hostname": "Nom d'hôte",
@@ -581,7 +581,7 @@
"confirm_delete": "Confirmer la suppression",
"delete_now": "Effacer maintenant",
"delete_these_items": "Veuillez confirmer les modifications apportées à l’identifiant d’objet suivant",
- "hibp_nok": "Trouvé! Il s’agit d’un mot de passe potentiellement dangereux!",
+ "hibp_nok": "Trouvé ! Il s’agit d’un mot de passe potentiellement dangereux !",
"hibp_ok": "Aucune correspondance trouvée.",
"loading": "Veuillez patienter...",
"restart_container": "Redémarrer le conteneur",
@@ -740,7 +740,7 @@
"tls_enforce_in": "Appliquer le TLS entrant",
"tls_enforce_out": "Appliquer le TLS sortant",
"tls_map_dest": "Destination",
- "tls_map_dest_info": "Exemples: example.org, .example.org, [mail.example.org]:25",
+ "tls_map_dest_info": "Exemples : example.org, .example.org, [mail.example.org]:25",
"tls_map_parameters": "Paramètres",
"tls_map_parameters_info": "Vide ou paramètres, par exemple: protocols=!SSLv2 ciphers=medium exclude=3DES",
"tls_map_policy": "Politique",
@@ -772,7 +772,7 @@
"danger": "Danger",
"deliver_inbox": "Envoyer dans la boîte de reception",
"disabled_by_config": "La configuration actuelle du système désactive la fonctionnalité de quarantaine. Veuillez définir \"retentions par boîte\" et une \"taille maximum\" pour les éléments en quarantaine.",
- "settings_info": "Quantité maximum d'éléments à mettre en quarantaine: %s
Taille maximale des e-mails: %s MiB",
+ "settings_info": "Quantité maximum d'éléments à mettre en quarantaine : %s
Taille maximale des e-mails : %s MiB",
"download_eml": "Télécharger (.eml)",
"empty": "Pas de résultat",
"high_danger": "Haut",
@@ -819,7 +819,7 @@
"start": {
"help": "Afficher/masquer le panneau d’aide",
"imap_smtp_server_auth_info": "Veuillez utiliser votre adresse e-mail complète et le mécanisme d’authentification PLAIN.
\r\nVos données de connexion seront cryptées par le cryptage obligatoire côté serveur.",
- "mailcow_apps_detail": "Utiliser une application Maicow pour accéder à vos messages, calendrier, contacts et plus.",
+ "mailcow_apps_detail": "Utiliser une application mailcow pour accéder à vos messages, calendrier, contacts et plus.",
"mailcow_panel_detail": "Les administrateurs de domaines peuvent créer, modifier or supprimer des boîtes et alias, changer de domaines et lire de plus amples renseignements sur les domaines qui leurs sont attribués.
\r\nLes utilisateurs de boîtes sont en mesure de créer des alias limités dans le temps (alias spam), de modifier leurs mots de passe et les paramètres du filtre anti-spam."
},
"success": {
@@ -837,14 +837,14 @@
"app_links": "Modifications enregistrées dans les liens d’application",
"app_passwd_added": "Ajout d’un nouveau mot de passe d’application",
"app_passwd_removed": "Suppression de l’identifiant du mot de passe de l’application %s",
- "bcc_deleted": "Suppression des entrées de la carte BCC: %s",
+ "bcc_deleted": "Suppression des entrées de la carte BCC : %s",
"bcc_edited": "Entrée de la carte BCC %s modifiée",
"bcc_saved": "Saisie de carte BCC enregistrée",
"db_init_complete": "Initialisation de la base de données terminée",
"delete_filter": "ID des filtres supprimés %s",
- "delete_filters": "Filtres supprimés: %s",
- "deleted_syncjob": "Job de synchronisation supprimé ID %s",
- "deleted_syncjobs": "Jobs de synchronisation supprimé: %s",
+ "delete_filters": "Filtres supprimés : %s",
+ "deleted_syncjob": "ID du travail de synchronisation supprimé : %s",
+ "deleted_syncjobs": "Travail de synchronisation supprimé : %s",
"dkim_added": "La clé DKIM %s a été sauvegardée",
"dkim_duplicated": "La clé DKIM pour e domaine %s a été copiée vers %s",
"dkim_removed": "La clé DKIM %s a été supprimée",
@@ -908,7 +908,7 @@
"enter_qr_code": "Votre code TOTP si votre appareil ne peut pas scanner les codes QR",
"error_code": "Code d'erreur",
"init_webauthn": "Initialisation, veuillez patienter...",
- "key_id": "Un identifiant pour votre Yubikey",
+ "key_id": "Un identifiant pour votre Périphérique",
"key_id_totp": "Un identifiant pour votre clé",
"none": "Désactiver",
"reload_retry": "- (recharger le navigateur si l’erreur persiste)",
@@ -1034,7 +1034,7 @@
"spamfilter_bl_desc": "Les adresses de courriel sur la liste noire de always (toujours) peuvent être classées comme des pourriels et rejetées. Des caractères génériques peuvent être utilisés. Un filtre n’est appliqué qu’aux alias directs (alias avec une seule boîte cible), à l’exclusion des alias tous azimuts et d’une boîte elle-même.",
"spamfilter_default_score": "Valeurs par défaut",
"spamfilter_green": "Vert: ce message n'est pas un spam",
- "spamfilter_hint": "La première valeur indique un \"faible score de spam\", la seconde représente un \"haut score de spam\".",
+ "spamfilter_hint": "La première valeur indique un \"faible score de spam\", la seconde représente un \"haut score de spam\".",
"spamfilter_red": "Rouge: Ce message est un spam et sera rejeté par le serveur",
"spamfilter_table_action": "Action",
"spamfilter_table_add": "Ajouter un élément",
@@ -1043,7 +1043,7 @@
"spamfilter_table_remove": "supprimer",
"spamfilter_table_rule": "Règle",
"spamfilter_wl": "Liste blanche (WhiteList)",
- "spamfilter_wl_desc": "Liste blanche des adresses e-mail à ne jamais classer comme spam. Des caractères génériques peuvent être utilisés. Un filtre n’est appliqué qu’aux alias directs (alias avec une seule boîte cible), à l’exclusion des alias tous azimuts et d’une boîte elle-même.",
+ "spamfilter_wl_desc": "La liste blanche est programmé pour ne jamais classer comme spam les adresses e-mail qu'elle contient. Des caractères génériques peuvent être utilisés. Un filtre n’est appliqué qu’aux alias directs (alias avec une seule boîte cible), à l’exclusion des alias catch-all et d’une boîte mail.",
"spamfilter_yellow": "Jaune: ce message est peut être un spam, il sera étiqueté comme spam et déplacé vers votre dossier Junk",
"status": "Statut",
"sync_jobs": "Jobs de synchronisation",