From 27f6a99069dbfd0643cc8b063902c9363acbffdb Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Thu, 28 Aug 2025 08:22:41 +0000 Subject: [PATCH] Translate django.po in fr 100% translated source file: 'django.po' on 'fr'. --- modoboa/locale/fr/LC_MESSAGES/django.po | 585 +++++++----------------- 1 file changed, 162 insertions(+), 423 deletions(-) diff --git a/modoboa/locale/fr/LC_MESSAGES/django.po b/modoboa/locale/fr/LC_MESSAGES/django.po index ca86ac815..1003449b6 100644 --- a/modoboa/locale/fr/LC_MESSAGES/django.po +++ b/modoboa/locale/fr/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Antoine Nguyen , 2016-2017,2020,2023-2025 # Christophe CHAUVET , 2018 @@ -19,26 +19,21 @@ msgstr "" "PO-Revision-Date: 2011-07-01 08:15+0000\n" "Last-Translator: Antoine Nguyen , 2016-2017,2020,2023-2025\n" "Language-Team: French (http://app.transifex.com/tonio/modoboa/language/fr/)\n" -"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " -"1000000 == 0 ? 1 : 2;\n" +"Language: fr\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" #: admin/api/v1/serializers.py:39 msgid "" "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. " "A value of 0 means no quota." -msgstr "" -"Quota partagé entre les boîtes aux lettres. Peut être exprimé en Ko, Mo " -"(défaut) ou Go. Une valeur à 0 signifie pas de quota." +msgstr "Quota partagé entre les boîtes aux lettres. Peut être exprimé en Ko, Mo (défaut) ou Go. Une valeur à 0 signifie pas de quota." #: admin/api/v1/serializers.py:46 msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." -msgstr "" -"Quota par défaut en Mo appliqué aux boîtes aux lettres. Une valeur à 0 " -"signifie pas de quota." +msgstr "Quota par défaut en Mo appliqué aux boîtes aux lettres. Une valeur à 0 signifie pas de quota." #: admin/api/v1/serializers.py:94 msgid "domain alias with this name already exists" @@ -67,9 +62,7 @@ msgstr "Ce champ est requis" #: admin/api/v1/serializers.py:243 msgid "" "List of administered domains (resellers and domain administrators only)." -msgstr "" -"Liste des domaines administrés (revendeurs et administrateurs de domaine " -"seulement)." +msgstr "Liste des domaines administrés (revendeurs et administrateurs de domaine seulement)." #: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:546 msgid "Not allowed for this role." @@ -132,8 +125,7 @@ msgstr "Doit être un entier positif" #: admin/api/v2/serializers.py:265 msgid "openssl not found, please make sure it is installed." -msgstr "" -"impossible de trouver openssl, veuillez vous assurer vous qu'il est installé." +msgstr "impossible de trouver openssl, veuillez vous assurer vous qu'il est installé." #: admin/api/v2/serializers.py:268 pdfcredentials/api/v2/serializers.py:84 msgid "Directory not found." @@ -153,8 +145,7 @@ msgstr "Définissez au moins un réseau / une adresse autorisé" #: admin/api/v2/serializers.py:581 msgid "The left part of an email address can't be more than 64 characters." -msgstr "" -"La partie gauche d'un courriel ne peut pas faire plus de 64 caractères." +msgstr "La partie gauche d'un courriel ne peut pas faire plus de 64 caractères." #: admin/api/v2/serializers.py:603 msgid "A mailbox is required to create aliases." @@ -190,12 +181,9 @@ msgstr "MX(s) valide(s)" #: admin/app_settings.py:37 msgid "" -"A list of IP or network address every MX record should match. A warning will " -"be sent if a record does not respect it." -msgstr "" -"Une liste d'adresses IP ou réseau que chaque enregistrement MX doit " -"respecter. Un avertissement sera envoyé dès qu'un enregistrement ne la " -"respecte pas." +"A list of IP or network address every MX record should match. A warning will" +" be sent if a record does not respect it." +msgstr "Une liste d'adresses IP ou réseau que chaque enregistrement MX doit respecter. Un avertissement sera envoyé dès qu'un enregistrement ne la respecte pas." #: admin/app_settings.py:47 msgid "New domains must use authorized MX(s)" @@ -205,9 +193,7 @@ msgstr "Les nouveaux domaines doivent utiliser un ou plusieurs MX autorisés" msgid "" "Prevent the creation of a new domain if its MX record does not use one of " "the defined addresses." -msgstr "" -"Empêcher la création d'un domaine s'il n'a pas au moins un MX utilisant une " -"adresse autorisée." +msgstr "Empêcher la création d'un domaine s'il n'a pas au moins un MX utilisant une adresse autorisée." #: admin/app_settings.py:59 msgid "Enable IPV6 checks" @@ -231,9 +217,7 @@ msgstr "Activer les tests DKIM" #: admin/app_settings.py:80 msgid "Check if every domain with DKIM signin enabled has a valid DNS record" -msgstr "" -"Vérifie que chaque domaine ayant la signature DKIM activée dispose d'un " -"enregistrement DNS valide" +msgstr "Vérifie que chaque domaine ayant la signature DKIM activée dispose d'un enregistrement DNS valide" #: admin/app_settings.py:88 msgid "Enable DMARC checks" @@ -249,9 +233,7 @@ msgstr "Activer les tests d'autoconfiguration" #: admin/app_settings.py:99 msgid "Check if every domain has a valid records for autoconfiguration" -msgstr "" -"Vérifie que chaque domaine a les enregistrements nécessaires à " -"l'autoconfiguration" +msgstr "Vérifie que chaque domaine a les enregistrements nécessaires à l'autoconfiguration" #: admin/app_settings.py:107 msgid "Enable DNSBL checks" @@ -267,9 +249,7 @@ msgstr "Serveur DNS personnalisé" #: admin/app_settings.py:118 msgid "Use a custom DNS server instead of local server configuration" -msgstr "" -"Utiliser un serveur DNS personnalisé à la place de la configuration par " -"défaut du serveur" +msgstr "Utiliser un serveur DNS personnalisé à la place de la configuration par défaut du serveur" #: admin/app_settings.py:126 msgid "DKIM keys storage directory" @@ -280,10 +260,7 @@ msgid "" "Absolute path of the directory where DKIM private keys will be stored. Make " "sure this directory belongs to root user and is not readable by the outside " "world." -msgstr "" -"Chemin absolu du répertoire dans lequel seront stockées les clés DKIM. " -"Assurez vous que ce répertoire appartient à l'utilisateur root et qu'il " -"n'est pas lisible par le monde extérieur." +msgstr "Chemin absolu du répertoire dans lequel seront stockées les clés DKIM. Assurez vous que ce répertoire appartient à l'utilisateur root et qu'il n'est pas lisible par le monde extérieur." #: admin/app_settings.py:137 msgid "Default DKIM key length" @@ -301,9 +278,7 @@ msgstr "Quota de domaine par défaut" msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." -msgstr "" -"Quota par défaut (en Mo) appliqué aux domaines fraichement créés et ne " -"spécifiant pas de valeur. 0 signifie qu'aucun quota ne sera appliqué." +msgstr "Quota par défaut (en Mo) appliqué aux domaines fraichement créés et ne spécifiant pas de valeur. 0 signifie qu'aucun quota ne sera appliqué." #: admin/app_settings.py:156 msgid "Default domain sending limit" @@ -313,9 +288,7 @@ msgstr "Limite d'envoi par défaut du domaine" msgid "" "Number of messages freshly created domains will be allowed to send per day. " "Leave empty for no limit." -msgstr "" -"Nombre maximal de messages que les nouveaux domaines seront autorisés à " -"envoyer par jour. Laisser vide pour n'indiquer aucune limite." +msgstr "Nombre maximal de messages que les nouveaux domaines seront autorisés à envoyer par jour. Laisser vide pour n'indiquer aucune limite." #: admin/app_settings.py:170 limits/app_settings.py:61 #: limits/app_settings.py:135 limits/constants.py:31 limits/constants.py:84 @@ -330,9 +303,7 @@ msgstr "Gérer les boites sur le système de fichiers" msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" -msgstr "" -"Renommer ou supprimer les boites sur le système de fichiers quand elles sont " -"renommées ou supprimées dans Modoboa" +msgstr "Renommer ou supprimer les boites sur le système de fichiers quand elles sont renommées ou supprimées dans Modoboa" #: admin/app_settings.py:186 admin/models/domain.py:36 msgid "Default mailbox quota" @@ -342,9 +313,7 @@ msgstr "Quota par défaut pour une boîte aux lettres" msgid "" "Default mailbox quota (in MB) applied to freshly created domains with no " "value specified. A value of 0 means no quota." -msgstr "" -"Quota par défaut (en Mo) appliqué aux nouveaux domaines quand aucune valeur " -"n'est spécifiée. Une valeur de 0 signifie pas de quota." +msgstr "Quota par défaut (en Mo) appliqué aux nouveaux domaines quand aucune valeur n'est spécifiée. Une valeur de 0 signifie pas de quota." #: admin/app_settings.py:197 msgid "Default mailbox sending limit" @@ -354,9 +323,7 @@ msgstr "Limite d'envoi par défaut d'une boîte aux lettres" msgid "" "Number of messages freshly created mailboxes will be allowed to send per " "day. Leave empty for no limit." -msgstr "" -"Nombre maximal de messages que les nouveaux comptes seront autorisés à " -"envoyer par jour. Laisser vide pour n'indiquer aucune limite." +msgstr "Nombre maximal de messages que les nouveaux comptes seront autorisés à envoyer par jour. Laisser vide pour n'indiquer aucune limite." #: admin/app_settings.py:207 msgid "Automatic account removal" @@ -364,19 +331,16 @@ msgstr "Suppression automatique de compte" #: admin/app_settings.py:209 msgid "When a mailbox is removed, also remove the associated account" -msgstr "" -"Lorsqu'une boite aux lettres est supprimée, supprimer le compte associé en " -"même temps" +msgstr "Lorsqu'une boite aux lettres est supprimée, supprimer le compte associé en même temps" #: admin/app_settings.py:218 msgid "Automatic domain/mailbox creation" msgstr "Création automatique de domaine/boite aux lettres" #: admin/app_settings.py:221 -msgid "Create a domain and a mailbox when an account is automatically created." -msgstr "" -"Créer un domaine et une boite aux lettres quand un compte est créé " -"automatiquement." +msgid "" +"Create a domain and a mailbox when an account is automatically created." +msgstr "Créer un domaine et une boite aux lettres quand un compte est créé automatiquement." #: admin/app_settings.py:230 msgid "Create an alias when a mailbox is renamed" @@ -384,9 +348,7 @@ msgstr "Créer un alias quand une boite aux lettres est renommée" #: admin/app_settings.py:233 msgid "Create an alias using the old address when a mailbox is renamed." -msgstr "" -"Créer un alias en utilisant l'ancienne adresse quand une boite aux lettres " -"est renommée." +msgstr "Créer un alias en utilisant l'ancienne adresse quand une boite aux lettres est renommée." #: admin/app_settings.py:287 core/api/v2/viewsets.py:174 msgid "Administration" @@ -475,9 +437,7 @@ msgstr "%d objets importés avec succès" #: admin/management/commands/subcommands/_import.py:97 msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" -msgstr "" -"Le fichier CSV n'est pas encodé en UTF-8, tentative de détermination de " -"l'encodage" +msgstr "Le fichier CSV n'est pas encodé en UTF-8, tentative de détermination de l'encodage" #: admin/management/commands/subcommands/_import.py:112 #, python-format @@ -487,16 +447,13 @@ msgstr "Lire le fichier CSV en utilisant l'encodage %(encoding)s" #: admin/management/commands/subcommands/_import.py:123 #, python-format msgid "Unable to decode CSV file using %(encoding)s encoding" -msgstr "" -"Impossible de décoder le fichier CSV en utilisant l'encodage %(encoding)s" +msgstr "Impossible de décoder le fichier CSV en utilisant l'encodage %(encoding)s" #: admin/management/commands/subcommands/_manage_dkim_keys.py:29 msgid "" "DKIM path non-writable (either a permission issue or the directory does not " "exist)" -msgstr "" -"Le chemin d'accès DKIM n'est pas modifiable (soit à cause d'un problème de " -"permission, soit parce que le répertoire n'existe pas)" +msgstr "Le chemin d'accès DKIM n'est pas modifiable (soit à cause d'un problème de permission, soit parce que le répertoire n'existe pas)" #: admin/management/commands/subcommands/_manage_dkim_keys.py:52 msgid "Failed to generate DKIM private key" @@ -615,9 +572,7 @@ msgstr "Activer la signature DKIM" #: admin/models/domain.py:63 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." -msgstr "" -"Si vous activez cette fonctionnalité, une clé DKIM sera générée pour ce " -"domain." +msgstr "Si vous activez cette fonctionnalité, une clé DKIM sera générée pour ce domain." #: admin/models/domain.py:70 msgid "Key length" @@ -638,15 +593,11 @@ msgstr "{} : valeur incorrecte de quota pour ce domaine" #: admin/models/domain.py:343 msgid "{}: invalid default mailbox quota value for domain" -msgstr "" -"{} : la valeur du quota par défaut des boîtes aux lettres est incorrecte " -"pour ce domaine" +msgstr "{} : la valeur du quota par défaut des boîtes aux lettres est incorrecte pour ce domaine" #: admin/models/domain.py:350 msgid "{}: default mailbox quota cannot be greater than domain quota" -msgstr "" -"{} : le quota par défaut de la boîte aux lettres ne peut pas être supérieur " -"au quota du domaine" +msgstr "{} : le quota par défaut de la boîte aux lettres ne peut pas être supérieur au quota du domaine" #: admin/models/domain_alias.py:36 msgid "The alias name" @@ -695,26 +646,19 @@ msgstr "Domaine inexistant" msgid "" "Modoboa detected that domain %(domain)s is listed by the following DNSBL " "providers:" -msgstr "" -"Modoboa a détecté que le domaine %(domain)s est listé par les fournisseurs " -"de DNSBL suivants :" +msgstr "Modoboa a détecté que le domaine %(domain)s est listé par les fournisseurs de DNSBL suivants :" #: admin/templates/admin/notifications/domain_in_dnsbl.html:11 msgid "" "The domain's reputation will be affected and there is a chance that emails " "coming from it are considered as spam. You should contact those providers " "and ask them to unlist detected IP address(es)." -msgstr "" -"La réputation de ce domaine sera affectée et il est probable que les emails " -"venant de lui soient considérés comme du spam. Vous devriez contacter ces " -"fournisseurs pour leur demander de délister la/les adresse(s) détectée(s)." +msgstr "La réputation de ce domaine sera affectée et il est probable que les emails venant de lui soient considérés comme du spam. Vous devriez contacter ces fournisseurs pour leur demander de délister la/les adresse(s) détectée(s)." #: admin/templates/admin/notifications/domain_invalid_mx.html:3 #, python-format msgid "Modoboa detected that domain %(domain)s has no valid MX record:" -msgstr "" -"Modoboa a détecté que le domain %(domain)s n'a aucun enregistrement MX " -"valide :" +msgstr "Modoboa a détecté que le domain %(domain)s n'a aucun enregistrement MX valide :" #: admin/tests/test_mx.py:155 #, python-format @@ -756,9 +700,7 @@ msgstr "Période entre deux réponses automatiques" #: autoreply/app_settings.py:20 msgid "" "Number of days to wait before sending a new auto-reply to the same recipient" -msgstr "" -"Attendre ce nombre de jours avant l'envoi d'une nouvelle réponse automatique " -"au même destinataire" +msgstr "Attendre ce nombre de jours avant l'envoi d'une nouvelle réponse automatique au même destinataire" #: autoreply/app_settings.py:27 autoreply/app_settings.py:36 msgid "Default subject" @@ -767,19 +709,14 @@ msgstr "Sujet par défaut" #: autoreply/app_settings.py:29 msgid "" "Default subject used when an auto-reply message is created automatically" -msgstr "" -"Sujet par défaut utilisé quand un message de réponse automatique est crée " -"automatiquement" +msgstr "Sujet par défaut utilisé quand un message de réponse automatique est crée automatiquement" #: autoreply/app_settings.py:38 #, python-format msgid "" "Default content used when an auto-reply message is created automatically. " "The '%(name)s' macro will be replaced by the user's full name." -msgstr "" -"Contenu par défaut utilisé quand un message de réponse automatique est créé " -"automatiquement. La macro %(name)s sera remplacée par le nom complet de " -"l'utilisateur " +msgstr "Contenu par défaut utilisé quand un message de réponse automatique est créé automatiquement. La macro %(name)s sera remplacée par le nom complet de l'utilisateur " #: autoreply/apps.py:15 msgid "Automatic replies" @@ -816,9 +753,7 @@ msgstr "URL du serveur" #: calendars/app_settings.py:19 msgid "" "The URL of your Radicale server. It will be used to construct calendar URLs." -msgstr "" -"L'URL de votre serveur Radicale. Elle sera utilisée pour construire les URL " -"des calendriers." +msgstr "L'URL de votre serveur Radicale. Elle sera utilisée pour construire les URL des calendriers." #: calendars/app_settings.py:31 msgid "Rights management" @@ -838,9 +773,7 @@ msgstr "Autoriser l'administration des calendriers" #: calendars/app_settings.py:48 msgid "Allow domain administrators to manage user calendars (read and write)" -msgstr "" -"Autoriser les administrateurs de domaine à gérer les calendriers des " -"utilisateurs (lecture et écriture)" +msgstr "Autoriser les administrateurs de domaine à gérer les calendriers des utilisateurs (lecture et écriture)" #: calendars/app_settings.py:60 core/app_settings.py:676 #: rspamd/app_settings.py:45 @@ -854,9 +787,7 @@ msgstr "Taille maximale des fichiers ICS" #: calendars/app_settings.py:68 msgid "" "Maximum size in bytes of imported ICS files (or KB, MB, GB if specified)" -msgstr "" -"Taille maximale en octets des fichiers ICS importés (ou KB, MB, GB si " -"précisé)" +msgstr "Taille maximale en octets des fichiers ICS importés (ou KB, MB, GB si précisé)" #: calendars/app_settings.py:89 core/api/v2/viewsets.py:195 msgid "Calendars" @@ -882,9 +813,7 @@ msgstr "Synchroniser le carnet d'adresse en utilisant CardDAV" msgid "" "Choose to synchronize or not your address book using CardDAV. You will be " "able to access your contacts from the outside." -msgstr "" -"Choisir de synchroniser ou non votre carnet d'adresse en utilisant CardDAV. " -"Vous pourrez ainsi accéder à vos contacts depuis l'extérieur." +msgstr "Choisir de synchroniser ou non votre carnet d'adresse en utilisant CardDAV. Vous pourrez ainsi accéder à vos contacts depuis l'extérieur." #: contacts/app_settings.py:29 msgid "Synchronization frequency" @@ -943,12 +872,9 @@ msgid "2FA is already enabled" msgstr "2FA est déjà activf" #: core/api/v1/serializers.py:86 -#, fuzzy, python-format -#| msgid "Failed TFA settings editing attempt from '%s' as user '%s'" +#, python-format msgid "Failed TFA settings editing attempt from '%(addr)s' as user '%(user)s'" -msgstr "" -"Echec lors de la tentative de modification des paramètres de '%s' en tant " -"qu'utilisateur '%s'" +msgstr "Echec de modification des paramètres TFA depuis '%(addr)s' en tant qu'utilisateur '%(user)s'" #: core/api/v1/serializers.py:91 core/api/v2/serializers.py:445 msgid "Invalid password" @@ -979,11 +905,10 @@ msgstr "Nombre invalide de tours" msgid "This code is invalid" msgstr "Ce code n'est pas valide" -#: core/api/v2/serializers.py:503 core/views/auth.py:194 core/views/auth.py:247 +#: core/api/v2/serializers.py:503 core/views/auth.py:194 +#: core/views/auth.py:247 msgid "Please use the following code to recover your Modoboa password: {}" -msgstr "" -"Veuillez utiliser le code suivant pour récupérer votre mot de passe " -"Modoboa : {}" +msgstr "Veuillez utiliser le code suivant pour récupérer votre mot de passe Modoboa : {}" #: core/api/v2/viewsets.py:176 msgid "Administration console" @@ -1020,8 +945,7 @@ msgstr "Méthode de chiffrement par défaut" #: core/app_settings.py:54 msgid "Scheme used to crypt mailbox passwords" -msgstr "" -"Méthode utilisée pour chiffrer les mots de passe des boites aux lettres" +msgstr "Méthode utilisée pour chiffrer les mots de passe des boites aux lettres" #: core/app_settings.py:61 msgid "Rounds" @@ -1031,9 +955,7 @@ msgstr "Tours" msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." -msgstr "" -"Nombre de tours à utiliser (sha256crypt et sha512crypt uniquement). Doit " -"être compris entre 1000 et 999999999 inclue." +msgstr "Nombre de tours à utiliser (sha256crypt et sha512crypt uniquement). Doit être compris entre 1000 et 999999999 inclue." #: core/app_settings.py:73 msgid "Update password scheme at login" @@ -1041,9 +963,7 @@ msgstr "Mettre à jour la méthode de chiffrement du mot de passe à la connexio #: core/app_settings.py:76 msgid "Update user password at login to use the default password scheme" -msgstr "" -"Mise à jour du mot de passe utilisateur lors d'une connexion pour utiliser " -"la méthode de chiffrement par défaut" +msgstr "Mise à jour du mot de passe utilisateur lors d'une connexion pour utiliser la méthode de chiffrement par défaut" #: core/app_settings.py:84 msgid "Default password" @@ -1067,8 +987,7 @@ msgstr "Autoriser les caractères spéciaux pour les mots de passe aléatoires" #: core/app_settings.py:106 msgid "Enable special characters in randomly generated passwords." -msgstr "" -"Activer les caractères spéciaux dans les mots de passe générés aléatoirement." +msgstr "Activer les caractères spéciaux dans les mots de passe générés aléatoirement." #: core/app_settings.py:114 msgid "Update password service URL" @@ -1079,10 +998,7 @@ msgid "" "The URL of an external page where users will be able to update their " "password. It applies only to non local users, ie. those automatically " "created after a successful external authentication (LDAP, SMTP)." -msgstr "" -"L'URL d'une page externe où les utilisateurs pourront mettre à jour leur mot " -"de passe. Elle s'applique uniquement aux utilisateurs non locaux, c'est à " -"dire ceux créés après une authentification externe réussie (LDAP, SMTP)." +msgstr "L'URL d'une page externe où les utilisateurs pourront mettre à jour leur mot de passe. Elle s'applique uniquement aux utilisateurs non locaux, c'est à dire ceux créés après une authentification externe réussie (LDAP, SMTP)." #: core/app_settings.py:126 msgid "Password recovery announcement" @@ -1090,9 +1006,7 @@ msgstr "Annonce pour la récupération de mot de passe" #: core/app_settings.py:128 msgid "A temporary message that will be displayed on the reset password page." -msgstr "" -"Un message temporaire qui sera affiché sur la page de récupération de mot de " -"passe" +msgstr "Un message temporaire qui sera affiché sur la page de récupération de mot de passe" #: core/app_settings.py:137 msgid "Enable password recovery by SMS" @@ -1100,9 +1014,7 @@ msgstr "Activer la récupération de mot de passe par SMS" #: core/app_settings.py:140 msgid "Enable password recovery by SMS for users who filled a phone number." -msgstr "" -"Activer la récupération de mot de passe par SMS pour les utilisateurs ayant " -"renseigné un numéro de téléphone" +msgstr "Activer la récupération de mot de passe par SMS pour les utilisateurs ayant renseigné un numéro de téléphone" #: core/app_settings.py:148 msgid "SMS provider" @@ -1110,8 +1022,7 @@ msgstr "Fournisseur SMS" #: core/app_settings.py:151 msgid "Choose a provider to send password recovery SMS" -msgstr "" -"Choisir un fournisseur pour envoyer les SMS de récupération de mot de passe" +msgstr "Choisir un fournisseur pour envoyer les SMS de récupération de mot de passe" #: core/app_settings.py:163 msgid "LDAP" @@ -1144,9 +1055,7 @@ msgstr "Activer le serveur secondaire (secours)" #: core/app_settings.py:191 msgid "" "Enable a secondary LDAP server which will be used if the primary one fails" -msgstr "" -"Activer un serveur LDAP secondaire qui sera utilisé si le principal est en " -"échec" +msgstr "Activer un serveur LDAP secondaire qui sera utilisé si le principal est en échec" #: core/app_settings.py:199 msgid "Secondary server address" @@ -1187,12 +1096,9 @@ msgstr "Groupes administrateurs" #: core/app_settings.py:239 msgid "" -"Members of those LDAP Posix groups will be created as domain administrators. " -"Use ';' characters to separate groups." -msgstr "" -"Les membres de ces groupes LDAP (Posix) seront créés en tant " -"qu'administrateurs de domaine. Utiliser des caractères ';' pour séparer les " -"groupes." +"Members of those LDAP Posix groups will be created as domain administrators." +" Use ';' characters to separate groups." +msgstr "Les membres de ces groupes LDAP (Posix) seront créés en tant qu'administrateurs de domaine. Utiliser des caractères ';' pour séparer les groupes." #: core/app_settings.py:248 msgid "Group type" @@ -1208,9 +1114,7 @@ msgstr "Base de recherche des groupes" #: core/app_settings.py:259 msgid "The distinguished name of the search base used to find groups" -msgstr "" -"Le nom distinctif de la base de recherche utilisée pour rechercher les " -"groupes" +msgstr "Le nom distinctif de la base de recherche utilisée pour rechercher les groupes" #: core/app_settings.py:267 msgid "Password attribute" @@ -1240,9 +1144,7 @@ msgstr "ND de connexion" msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" -msgstr "" -"Le nom distinctif à utiliser pour les connections au serveur LDAP. Laisser " -"vide pour une connexion anonyme" +msgstr "Le nom distinctif à utiliser pour les connections au serveur LDAP. Laisser vide pour une connexion anonyme" #: core/app_settings.py:305 core/app_settings.py:367 msgid "Bind password" @@ -1250,9 +1152,7 @@ msgstr "Mot de passe de connexion" #: core/app_settings.py:307 core/app_settings.py:369 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" -msgstr "" -"Le mot de passe à utiliser pour les connections au serveur LDAP (avec 'ND de " -"connexion')" +msgstr "Le mot de passe à utiliser pour les connections au serveur LDAP (avec 'ND de connexion')" #: core/app_settings.py:317 core/app_settings.py:422 msgid "Users search base" @@ -1260,9 +1160,7 @@ msgstr "Base de recherche des utilisateurs" #: core/app_settings.py:319 core/app_settings.py:424 msgid "The distinguished name of the search base used to find users" -msgstr "" -"Le nom distinctif de la base de recherche utilisée pour rechercher les " -"utilisateurs" +msgstr "Le nom distinctif de la base de recherche utilisée pour rechercher les utilisateurs" #: core/app_settings.py:328 core/app_settings.py:433 msgid "Search filter" @@ -1272,9 +1170,7 @@ msgstr "Filtre de recherche" msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." -msgstr "" -"Un filtre de recherche optionel (ex. '(objectClass=person)'). Pour être " -"valide, il doit être entouré de parenthèses." +msgstr "Un filtre de recherche optionel (ex. '(objectClass=person)'). Pour être valide, il doit être entouré de parenthèses." #: core/app_settings.py:339 msgid "User DN template" @@ -1285,9 +1181,7 @@ msgstr "Modèle de nom distinctif utilisateur" msgid "" "The template used to construct a user's DN. It should contain one " "placeholder (ie. %(user)s)" -msgstr "" -"Le modèle utilisé pour construire le nom distinctif d'un utilisateur. Il " -"doit contenir un espace réservé (ex. %(user)s)" +msgstr "Le modèle utilisé pour construire le nom distinctif d'un utilisateur. Il doit contenir un espace réservé (ex. %(user)s)" #: core/app_settings.py:350 msgid "LDAP synchronization settings" @@ -1300,9 +1194,7 @@ msgstr "Activer l'export LDAP" #: core/app_settings.py:380 msgid "" "Enable automatic synchronization between local database and LDAP directory" -msgstr "" -"Activer la synchronisation automatique entre la base de données locale et " -"l'annuaire LDAP" +msgstr "Activer la synchronisation automatique entre la base de données locale et l'annuaire LDAP" #: core/app_settings.py:389 msgid "Delete remote LDAP account when local account is deleted" @@ -1312,9 +1204,7 @@ msgstr "Supprimer un compte LDAP distant lorsqu'un compte local est supprimé" msgid "" "Delete remote LDAP account when local account is deleted, otherwise it will " "be disabled." -msgstr "" -"Supprimer un compte LDAP distant lorsqu'un compte local supprimé, autrement " -"il sera désactivé." +msgstr "Supprimer un compte LDAP distant lorsqu'un compte local supprimé, autrement il sera désactivé." #: core/app_settings.py:401 msgid "Account DN template" @@ -1325,9 +1215,7 @@ msgstr "Modèle des DN de compte" msgid "" "The template used to construct an account's DN. It should contain one " "placeholder (ie. %(user)s)" -msgstr "" -"Le modèle utilisé pour construite un DN de compte (nom unique). Il doit " -"contenir un emplacement (c'est à dire 1%(user)s)" +msgstr "Le modèle utilisé pour construite un DN de compte (nom unique). Il doit contenir un emplacement (c'est à dire 1%(user)s)" #: core/app_settings.py:412 msgid "Enable import from LDAP" @@ -1335,9 +1223,7 @@ msgstr "Activer l'import LDAP" #: core/app_settings.py:414 msgid "Enable account synchronization from LDAP directory to local database" -msgstr "" -"Activer la synchronisation des comptes entre un annuaire LDAP et la base de " -"données locale" +msgstr "Activer la synchronisation des comptes entre un annuaire LDAP et la base de données locale" #: core/app_settings.py:444 msgid "Username attribute" @@ -1345,8 +1231,7 @@ msgstr "Attribut nom d'utilisateur" #: core/app_settings.py:446 msgid "The name of the LDAP attribute where the username can be found." -msgstr "" -"Le nom de l'attribut LDAP dans lequel le nom d'utilisateur peut être trouvé." +msgstr "Le nom de l'attribut LDAP dans lequel le nom d'utilisateur peut être trouvé." #: core/app_settings.py:455 msgid "Enable Dovecot LDAP sync" @@ -1354,9 +1239,7 @@ msgstr "Activer la synchronisation LDAP pour Dovecot" #: core/app_settings.py:457 msgid "LDAP authentication settings will be applied to Dovecot configuration." -msgstr "" -"Les paramètres d'authentification LDAP seront appliqués à la configuration " -"de Dovecot." +msgstr "Les paramètres d'authentification LDAP seront appliqués à la configuration de Dovecot." #: core/app_settings.py:465 msgid "Dovecot LDAP config file" @@ -1365,9 +1248,7 @@ msgstr "Fichier de configuration Dovecot pour LDAP" #: core/app_settings.py:467 msgid "" "Location of the configuration file which contains Dovecot LDAP settings." -msgstr "" -"Emplacement du fichier de configuration qui contient les paramètres LDAP de " -"Dovecot" +msgstr "Emplacement du fichier de configuration qui contient les paramètres LDAP de Dovecot" #: core/app_settings.py:480 msgid "Dashboard" @@ -1387,9 +1268,7 @@ msgstr "Flux RSS personnalisé" #: core/app_settings.py:497 msgid "Display custom RSS feed to resellers and domain administrators" -msgstr "" -"Afficher un flux RSS personnalisé aux revendeurs et administrateurs de " -"domaine" +msgstr "Afficher un flux RSS personnalisé aux revendeurs et administrateurs de domaine" #: core/app_settings.py:506 msgid "Display custom RSS feed to super admins" @@ -1405,9 +1284,7 @@ msgstr "Masquer le widget des fonctionnalités" #: core/app_settings.py:519 msgid "Hide features widget for resellers and domain administrators" -msgstr "" -"Masquer le widget des fonctionnalités pour les revendeurs et les " -"administrateurs de domaine" +msgstr "Masquer le widget des fonctionnalités pour les revendeurs et les administrateurs de domaine" #: core/app_settings.py:531 msgid "Theme" @@ -1421,9 +1298,7 @@ msgstr "Couleur principale du thème" msgid "" "Primary color of the theme (hexadecimal code), used as the background color " "of the left menu for example" -msgstr "" -"Couleur principale du thème (code hexadécimal), utilisée par exemple comme " -"couleur de fond dans le menu de gauche" +msgstr "Couleur principale du thème (code hexadécimal), utilisée par exemple comme couleur de fond dans le menu de gauche" #: core/app_settings.py:548 msgid "Primary theme color (lighter version)" @@ -1445,9 +1320,7 @@ msgstr "Couleur secondaire du thème" msgid "" "Secondary color of the theme (hexadecimal code), used as the background " "color of some buttons for example" -msgstr "" -"Couleur secondaire du thème (code hexadécimal), utilisée par exemple comme " -"couleur de fond de certains boutons" +msgstr "Couleur secondaire du thème (code hexadécimal), utilisée par exemple comme couleur de fond de certains boutons" #: core/app_settings.py:581 msgid "Labels theme color" @@ -1491,9 +1364,7 @@ msgstr "Envoyer un email quand de nouvelles versions sont trouvées" #: core/app_settings.py:644 msgid "Send an email to notify admins about new versions" -msgstr "" -"Envoyer un email pour notifier les administrateurs à propos des nouvelles " -"versions" +msgstr "Envoyer un email pour notifier les administrateurs à propos des nouvelles versions" #: core/app_settings.py:651 sievefilters/constants.py:25 msgid "Recipient" @@ -1509,9 +1380,7 @@ msgstr "Envoyer des statistiques" #: core/app_settings.py:664 msgid "Send statistics to Modoboa public API (counters and used extensions)" -msgstr "" -"Envoyer des statistiques à l'API publique de Modoboa (compteurs et " -"extensions utilisées)" +msgstr "Envoyer des statistiques à l'API publique de Modoboa (compteurs et extensions utilisées)" #: core/app_settings.py:683 msgid "Enable inactive account tracking" @@ -1519,11 +1388,9 @@ msgstr "Activer le suivi des comptes inactifs" #: core/app_settings.py:686 msgid "" -"Allow the administrator to set a threshold (in days) beyond which an account " -"is considered inactive if the user hasn't logged in" -msgstr "" -"Autoriser les administrateurs à définir in seuil (en jours) à partir duquel " -"un compte est considéré comme inactif si l'utilisateur ne s'est pas connecté" +"Allow the administrator to set a threshold (in days) beyond which an account" +" is considered inactive if the user hasn't logged in" +msgstr "Autoriser les administrateurs à définir in seuil (en jours) à partir duquel un compte est considéré comme inactif si l'utilisateur ne s'est pas connecté" #: core/app_settings.py:695 msgid "Inactive account threshold" @@ -1531,11 +1398,9 @@ msgstr "Seuil des comptes inactifs" #: core/app_settings.py:698 msgid "" -"An account with a last login date greater than this threshold (in days) will " -"be considered as inactive" -msgstr "" -"Un compte avec une date de dernière connexion antérieure à ce seuil sera " -"considéré comme inactif" +"An account with a last login date greater than this threshold (in days) will" +" be considered as inactive" +msgstr "Un compte avec une date de dernière connexion antérieure à ce seuil sera considéré comme inactif" #: core/app_settings.py:707 msgid "Top notifications check interval" @@ -1555,11 +1420,11 @@ msgstr "L'age maximal en jours d'un enregistrement du journal" #: core/app_settings.py:727 msgid "Retention time in message history" -msgstr "" +msgstr "Durée de rétention dans l'historique des messages" #: core/app_settings.py:730 msgid "Retention time (in days) of a message in the message history section" -msgstr "" +msgstr "Durée de rétention (en jours) d'un message dans l'historique des messages" #: core/app_settings.py:737 msgid "Items per page" @@ -1575,18 +1440,14 @@ msgstr "Redirection par défaut" #: core/app_settings.py:748 msgid "The default redirection used when no application is specified" -msgstr "" -"La redirection appliquée par défaut quand aucune application n'est spécifiée" +msgstr "La redirection appliquée par défaut quand aucune application n'est spécifiée" #: core/checks.py:15 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." -msgstr "" -"Vous avez défini USE_TZ à False, ce qui peut entraîner des problèmes lors " -"des transitions entre l'heure d'été et l'heure d'hiver (c.-à-d. La même " -"heure locale se produisant deux fois en raison d'un changement d'horloge)." +msgstr "Vous avez défini USE_TZ à False, ce qui peut entraîner des problèmes lors des transitions entre l'heure d'été et l'heure d'hiver (c.-à-d. La même heure locale se produisant deux fois en raison d'un changement d'horloge)." #: core/checks.py:19 msgid "Set `USE_TZ = True` in settings.py" @@ -1598,40 +1459,33 @@ msgstr "La méthode de chiffrement que vous utilisez est obsolète." #: core/checks.py:24 msgid "Upgrade your password scheme to a stronger one" -msgstr "" -"Mettez à jour votre méthode de chiffrement de mot de passe vers une plus sûre" +msgstr "Mettez à jour votre méthode de chiffrement de mot de passe vers une plus sûre" #: core/checks.py:30 msgid "" "Oauth2 application for dovecot has not been found. Webmail and some other " "features won't be available." -msgstr "" -"Application Oauth2 non trouvée pour dovecot. Le webmail ainsi que d'autres " -"fonctionnalités ne seront pas disponibles." +msgstr "Application Oauth2 non trouvée pour dovecot. Le webmail ainsi que d'autres fonctionnalités ne seront pas disponibles." #: core/checks.py:34 msgid "" -"Visit : https://modoboa.readthedocs.io/en/latest/manual_installation/" -"dovecot.html#dovecot-oauth2" -msgstr "" -"Visiter : https://modoboa.readthedocs.io/en/latest/manual_installation/" -"dovecot.html#dovecot-oauth2" +"Visit : " +"https://modoboa.readthedocs.io/en/latest/manual_installation/dovecot.html#dovecot-" +"oauth2" +msgstr "Visiter : https://modoboa.readthedocs.io/en/latest/manual_installation/dovecot.html#dovecot-oauth2" #: core/checks.py:41 msgid "" "Oauth2 application for radicale has not been found. Calendar and some other " "features won't be available." -msgstr "" -"Application Oauth2 pour Radicale non trouvée. Le calendrier ainsi que " -"d'autres fonctionnalités ne seront pas disponibles." +msgstr "Application Oauth2 pour Radicale non trouvée. Le calendrier ainsi que d'autres fonctionnalités ne seront pas disponibles." #: core/checks.py:45 msgid "" -"Visit : https://modoboa.readthedocs.io/en/latest/manual_installation/" -"radicale.html#radicale-oauth2" -msgstr "" -"Consulter : https://modoboa.readthedocs.io/en/latest/manual_installation/" -"radicale.html#radicale-oauth2" +"Visit : " +"https://modoboa.readthedocs.io/en/latest/manual_installation/radicale.html#radicale-" +"oauth2" +msgstr "Consulter : https://modoboa.readthedocs.io/en/latest/manual_installation/radicale.html#radicale-oauth2" #: core/constants.py:6 msgid "Simple user" @@ -1718,8 +1572,7 @@ msgstr "Une ou plusieurs mises à jour sont disponibles!" #: core/handlers.py:138 #, python-format msgid "You are still using a deprecated password scheme (%s)" -msgstr "" -"Vous utilisez encore une méthode de chiffrement de mot de passe obsolète (%s)" +msgstr "Vous utilisez encore une méthode de chiffrement de mot de passe obsolète (%s)" #: core/management/commands/communicate_with_public_api.py:42 msgid "[modoboa] Update(s) available" @@ -1759,8 +1612,7 @@ msgstr "Une adresse e-mail alternative ou de secours." #: core/models.py:150 msgid "Failed to update password: LDAP module not installed" -msgstr "" -"Echec de la mise à jour du mot de passe : le module LDAP n'est pas installé" +msgstr "Echec de la mise à jour du mot de passe : le module LDAP n'est pas installé" #: core/models.py:185 policyd/core.py:117 msgid "account" @@ -1780,9 +1632,7 @@ msgstr "L'utilisateur de base '{}' doit avoir une adresse email correcte" #: core/models.py:383 msgid "username and email fields must not differ for '{}'" -msgstr "" -"les champs nom d'utilisateur et email ne doivent pas être différents pour " -"'{}'" +msgstr "les champs nom d'utilisateur et email ne doivent pas être différents pour '{}'" #: core/password_validation.py:25 msgid "Password must contain at least {} digit." @@ -1814,9 +1664,7 @@ msgstr[2] "Le mot de passe doit contenir au moins {} caractères spéciaux." #: core/password_validation.py:70 msgid "Your password must contain a combination of different character types." -msgstr "" -"Votre mot de passe doit contenir une combinaison de différents types de " -"caractère." +msgstr "Votre mot de passe doit contenir une combinaison de différents types de caractère." #: core/sms_backends/ovh.py:21 core/sms_backends/ovh.py:102 msgid "API endpoint" @@ -1873,15 +1721,9 @@ msgid "" msgid_plural "" "\n" " The following updates are available:\n" -msgstr[0] "" -"\n" -"La mise à jour suivante est disponible :\n" -msgstr[1] "" -"\n" -"Les mises à jour suivantes sont disponibles :\n" -msgstr[2] "" -"\n" -"Les mises à jour suivantes sont disponibles :\n" +msgstr[0] "\nLa mise à jour suivante est disponible :\n" +msgstr[1] "\nLes mises à jour suivantes sont disponibles :\n" +msgstr[2] "\nLes mises à jour suivantes sont disponibles :\n" #: core/utils.py:43 msgid "The core part of Modoboa" @@ -1895,16 +1737,12 @@ msgstr "Utiliseur '%s' connecté avec succès" #: core/views/auth.py:109 #, python-format msgid "Password scheme mismatch. Updating %s password" -msgstr "" -"La méthode de chiffrement du mot de passe diffère. Mise à jour du mot de " -"passe de %s" +msgstr "La méthode de chiffrement du mot de passe diffère. Mise à jour du mot de passe de %s" #: core/views/auth.py:116 #, python-format msgid "Password hash parameter missmatch. Updating %s password" -msgstr "" -"Le paramètre de hash du mot de passe ne correspond pas. Mise à jour %s du " -"mot de passe" +msgstr "Le paramètre de hash du mot de passe ne correspond pas. Mise à jour %s du mot de passe" #: core/views/auth.py:154 msgid "User '{}' successfully logged out" @@ -1920,9 +1758,7 @@ msgstr "Activer les recherches inversées" #: dmarc/forms.py:23 msgid "Enable reverse DNS lookups (reports will be longer to display)" -msgstr "" -"Activer les recherches DNS inversées (les rapports seront plus longs à " -"afficher)" +msgstr "Activer les recherches DNS inversées (les rapports seront plus longs à afficher)" #: dmarc/forms.py:42 msgid "DMARC" @@ -2109,9 +1945,7 @@ msgstr "Filtre d'exclusion de dossier" msgid "" "Use a regular expression to explicitly include folders in sync. Example: " "^Trash$|Del" -msgstr "" -"Utiliser une expression régulière pour explicitement inclure des dossiers à " -"synchroniser. Exemple : ^Trash$|Del" +msgstr "Utiliser une expression régulière pour explicitement inclure des dossiers à synchroniser. Exemple : ^Trash$|Del" #: imap_migration/app_settings.py:74 msgid "Folder Filter Inclusions" @@ -2122,10 +1956,7 @@ msgid "" "A comma seperated list of folders to explicitly include in sync even if " "filtered by the Folder Filter Exclusions. Example: debian.user, " "debian.personal " -msgstr "" -"Une liste de dossiers séparés par des virgules à explicitement inclure " -"pendant la synchronisation même s'ils sont concernés par le filtre " -"d'exclusion. Exemple debian.user, debian.personal" +msgstr "Une liste de dossiers séparés par des virgules à explicitement inclure pendant la synchronisation même s'ils sont concernés par le filtre d'exclusion. Exemple debian.user, debian.personal" #: imap_migration/apps.py:20 msgid "IMAP Migration" @@ -2135,16 +1966,12 @@ msgstr "Migration IMAP" msgid "" "Automatic domain/mailbox creation is disabled which means IMAP " "authentication won't work." -msgstr "" -"La création automatique de domaine/compte est désactivée, ce qui veut dire " -"que l'authentification IMAP ne fonctionnera pas." +msgstr "La création automatique de domaine/compte est désactivée, ce qui veut dire que l'authentification IMAP ne fonctionnera pas." #: imap_migration/checks.py:16 msgid "" "Go to the online parameters panel (admin tab) and activate this feature." -msgstr "" -"Rendez vous sur le panneau de configuration des paramètres (onglet " -"Administration) et activez cette fonctionnalité." +msgstr "Rendez vous sur le panneau de configuration des paramètres (onglet Administration) et activez cette fonctionnalité." #: ldapsync/lib.py:82 msgid "Failed to create LDAP account: {}" @@ -2213,17 +2040,13 @@ msgstr "Admins de domaine" msgid "" "Maximum number of allowed domain administrators for a new administrator. (0 " "to deny any creation, -1 to allow unlimited creations)" -msgstr "" -"Nombre maximal d'admins de domaine pour un nouvel administrateur. (0 pour " -"interdire toute création, -1 pour autoriser les création illimitées)" +msgstr "Nombre maximal d'admins de domaine pour un nouvel administrateur. (0 pour interdire toute création, -1 pour autoriser les création illimitées)" #: limits/app_settings.py:41 msgid "" "Maximum number of allowed domains for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" -msgstr "" -"Nombre maximal de domaines pour un nouvel administrateur. (0 pour interdire " -"toute création, -1 pour autoriser les créations illimitées)" +msgstr "Nombre maximal de domaines pour un nouvel administrateur. (0 pour interdire toute création, -1 pour autoriser les créations illimitées)" #: limits/app_settings.py:49 limits/app_settings.py:123 limits/constants.py:22 #: limits/constants.py:76 @@ -2232,19 +2055,15 @@ msgstr "Alias de domaine" #: limits/app_settings.py:52 msgid "" -"Maximum number of allowed domain aliases for a new administrator. (0 to deny " -"any creation, -1 to allow unlimited creations)" -msgstr "" -"Nombre maximal d'alias de domaine pour un nouvel administrateur. (0 pour " -"interdire toute création, -1 pour autoriser les créations illimitées)" +"Maximum number of allowed domain aliases for a new administrator. (0 to deny" +" any creation, -1 to allow unlimited creations)" +msgstr "Nombre maximal d'alias de domaine pour un nouvel administrateur. (0 pour interdire toute création, -1 pour autoriser les créations illimitées)" #: limits/app_settings.py:64 msgid "" "Maximum number of allowed mailboxes for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" -msgstr "" -"Nombre maximal de boites pour un nouvel administrateur. (0 pour interdire " -"toute création, -1 pour autoriser les créations illimitées)" +msgstr "Nombre maximal de boites pour un nouvel administrateur. (0 pour interdire toute création, -1 pour autoriser les créations illimitées)" #: limits/app_settings.py:73 limits/app_settings.py:146 limits/constants.py:39 #: limits/constants.py:92 @@ -2255,9 +2074,7 @@ msgstr "Alias de boite" msgid "" "Maximum number of allowed aliases for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" -msgstr "" -"Nombre maximal d'alias de boite pour un nouvel administrateur. (0 pour " -"interdire toute création, -1 pour autoriser les créations illimitées)" +msgstr "Nombre maximal d'alias de boite pour un nouvel administrateur. (0 pour interdire toute création, -1 pour autoriser les créations illimitées)" #: limits/app_settings.py:84 limits/constants.py:59 msgid "Quota" @@ -2267,9 +2084,7 @@ msgstr "Quota" msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" -msgstr "" -"Le quota qu'un revendeur sera autorisé à partager entre les domaines qu'il " -"créé. (0 signifie pas de quota)" +msgstr "Le quota qu'un revendeur sera autorisé à partager entre les domaines qu'il créé. (0 signifie pas de quota)" #: limits/app_settings.py:98 msgid "Default per-domain limits" @@ -2285,36 +2100,27 @@ msgstr "Activer ou désactiver les limites par domaine" #: limits/app_settings.py:114 msgid "" -"Maximum number of allowed domain administrators for a new domain. (0 to deny " -"any creation, -1 to allow unlimited creations)" -msgstr "" -"Nombre maximal d'administrateurs de domaine autorisés pour un nouveau " -"domaine (0 pour interdire toute création, -1 pour autoriser les créations " -"illimitées)" +"Maximum number of allowed domain administrators for a new domain. (0 to deny" +" any creation, -1 to allow unlimited creations)" +msgstr "Nombre maximal d'administrateurs de domaine autorisés pour un nouveau domaine (0 pour interdire toute création, -1 pour autoriser les créations illimitées)" #: limits/app_settings.py:126 msgid "" "Maximum number of allowed domain aliases for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" -msgstr "" -"Nombre maximal d'alias de domaine autorisés pour un nouveau domaine. (0 pour " -"interdire toute création, -1 pour autoriser les créations illimitées)" +msgstr "Nombre maximal d'alias de domaine autorisés pour un nouveau domaine. (0 pour interdire toute création, -1 pour autoriser les créations illimitées)" #: limits/app_settings.py:138 msgid "" "Maximum number of allowed mailboxes for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" -msgstr "" -"Nombre maximal de boites aux lettres autorisées pour un nouveau domaine. (0 " -"pour interdire toute création, -1 pour autoriser les créations illimitées)" +msgstr "Nombre maximal de boites aux lettres autorisées pour un nouveau domaine. (0 pour interdire toute création, -1 pour autoriser les créations illimitées)" #: limits/app_settings.py:149 msgid "" -"Maximum number of allowed aliases for a new domain. (0 to deny any creation, " -"-1 to allow unlimited creations)" -msgstr "" -"Nombre maximal d'alias autorisés pour un nouveau domaine. (0 pour interdire " -"toute création, -1 pour autoriser les créations illimitées)" +"Maximum number of allowed aliases for a new domain. (0 to deny any creation," +" -1 to allow unlimited creations)" +msgstr "Nombre maximal d'alias autorisés pour un nouveau domaine. (0 pour interdire toute création, -1 pour autoriser les créations illimitées)" #: limits/apps.py:16 msgid "Limits" @@ -2379,9 +2185,7 @@ msgstr "illimité" #: maillog/api/v2/serializers.py:35 msgid "You must provide start and end dates when period is custom" -msgstr "" -"Vous devez fournir des dates de début et fin quand la période est " -"personnalisée" +msgstr "Vous devez fournir des dates de début et fin quand la période est personnalisée" #: maillog/apps.py:20 msgid "Path to the log file" @@ -2493,9 +2297,7 @@ msgstr "Activer les identifiants PDF" #: pdfcredentials/app_settings.py:21 msgid "Enabled PDF credentials document generation on account creation." -msgstr "" -"Activer la génération d'un document PDF d'identifiants à la création d'un " -"compte." +msgstr "Activer la génération d'un document PDF d'identifiants à la création d'un compte." #: pdfcredentials/app_settings.py:32 msgid "Documents storage" @@ -2521,9 +2323,7 @@ msgstr "Supprimer les documents après le premier téléchargement" msgid "" "Automatically delete a document just after its first download from this " "interface" -msgstr "" -"Supprimer automatiquement un document juste après son premier " -"téléchargement depuis cette interface" +msgstr "Supprimer automatiquement un document juste après son premier téléchargement depuis cette interface" #: pdfcredentials/app_settings.py:68 msgid "Generate documents only at account creation" @@ -2533,10 +2333,7 @@ msgstr "Générer les documents à la création des comptes uniquement" msgid "" "Generate a new document only when a new account is created. If set to no, a " "new document will be created each time a password is updated." -msgstr "" -"Génère un nouveau document uniquement lors de la création d'un compte. Si " -"défini à non, un nouveau document sera généré chaque fois qu'un mot de passe " -"est changé." +msgstr "Génère un nouveau document uniquement lors de la création d'un compte. Si défini à non, un nouveau document sera généré chaque fois qu'un mot de passe est changé." #: pdfcredentials/app_settings.py:84 msgid "Customization options" @@ -2574,9 +2371,7 @@ msgstr "Inclure les paramètres de connexion pour client mail" msgid "" "Include required SMTP and IMAP connection information to configure a mail " "client, a tablet or a phone" -msgstr "" -"Inclure les paramètres de connexion nécessaires pour configurer un client " -"mail, une tablette ou un téléphone" +msgstr "Inclure les paramètres de connexion nécessaires pour configurer un client mail, une tablette ou un téléphone" #: pdfcredentials/app_settings.py:123 pdfcredentials/documents.py:133 msgid "SMTP server address" @@ -2637,11 +2432,7 @@ msgid "" "Dear %s, this document contains the credentials you will need\n" "to connect to Modoboa. Learn the content and destroy\n" "the document as soon as possible.\n" -msgstr "" -"\n" -"Cher %s, ce document contient les identifiants dont vous aurez\n" -"besoin pour vous connecter à Modoboa. Apprenez les puis détruisez\n" -"ce document le plus rapidement possible.\n" +msgstr "\nCher %s, ce document contient les identifiants dont vous aurez\nbesoin pour vous connecter à Modoboa. Apprenez les puis détruisez\nce document le plus rapidement possible.\n" #: pdfcredentials/documents.py:95 msgid "Web panel:" @@ -2660,10 +2451,7 @@ msgid "" "\n" "Here you can view your emails anytime online, create filters or manage\n" "your contacts.\n" -msgstr "" -"\n" -"D'ici vous pouvez consulter vos emails en ligne n'importe quand, créer des " -"filtres ou gérer vos contacts.\n" +msgstr "\nD'ici vous pouvez consulter vos emails en ligne n'importe quand, créer des filtres ou gérer vos contacts.\n" #: pdfcredentials/documents.py:126 msgid "Please change your password!" @@ -2675,17 +2463,13 @@ msgstr "Configuration PC/Tablette/Smartphone :" #: pdfcredentials/documents.py:153 msgid "Use those settings for your computer, tablet or phone." -msgstr "" -"Utilisez ces paramètres pour votre ordinateur, votre tablette ou votre " -"téléphone." +msgstr "Utilisez ces paramètres pour votre ordinateur, votre tablette ou votre téléphone." #: pdfcredentials/handlers.py:35 msgid "" "Failed to create PDF_credentials directory. Please check the permissions or " "the path." -msgstr "" -"Echec lors de la création du répertoire PDF_credentials. Veuillez vérifier " -"les permissions et le chemin d'accès." +msgstr "Echec lors de la création du répertoire PDF_credentials. Veuillez vérifier les permissions et le chemin d'accès." #: pdfcredentials/handlers.py:64 msgid "Download PDF credentials" @@ -2693,23 +2477,18 @@ msgstr "Télécharger les identifiants PDF" #: pdfcredentials/lib.py:29 msgid "Can't write to selected directory to store PDF documents" -msgstr "" -"Impossible d'écrire dans le répertoire sélectionné pour stocker les " -"documents PDF" +msgstr "Impossible d'écrire dans le répertoire sélectionné pour stocker les documents PDF" #: pdfcredentials/lib.py:35 #, python-format msgid "Failed to create the directory that will contain PDF documents (%s)" -msgstr "" -"Echec lors de la création du répertoire qui contiendra les documents PDF (%s)" +msgstr "Echec lors de la création du répertoire qui contiendra les documents PDF (%s)" #: pdfcredentials/lib.py:82 msgid "" "Failed to create PDF_credentials file. Please check the permissions or the " "path." -msgstr "" -"Echec lors de la création du fichier PDF_credentials. Veuillez vérifier les " -"permissions et le chemin d'accès." +msgstr "Echec lors de la création du fichier PDF_credentials. Veuillez vérifier les permissions et le chemin d'accès." #: policyd/core.py:99 msgid "Daily sending limit reached" @@ -2726,8 +2505,7 @@ msgstr "[modoboa] Limite d'envoi atteinte" #: policyd/templates/policyd/notifications/limit_reached.html:3 #, python-format msgid "Daily limit of the following %(ltype)s has been reached: %(name)s." -msgstr "" -"Limite quotidienne d'envoi du %(ltype)s suivant a été atteinte : %(name)s." +msgstr "Limite quotidienne d'envoi du %(ltype)s suivant a été atteinte : %(name)s." #: relaydomains/api/v1/serializers.py:24 msgid "Unsupported service" @@ -2767,11 +2545,9 @@ msgstr "Chemin d'accès vers le fichier des clés" #: rspamd/app_settings.py:21 msgid "" -"Absolute path of the file which contains paths to DKIM private keys. Must be " -"readable by _rspamd group or user." -msgstr "" -"Chemin absolu vers le fichier qui contient les chemins vers les clés privées " -"DKIM. Doit être accessible en lecture par l'utilisateur ou le groupe _rspamd." +"Absolute path of the file which contains paths to DKIM private keys. Must be" +" readable by _rspamd group or user." +msgstr "Chemin absolu vers le fichier qui contient les chemins vers les clés privées DKIM. Doit être accessible en lecture par l'utilisateur ou le groupe _rspamd." #: rspamd/app_settings.py:30 msgid "Selector map path" @@ -2781,9 +2557,7 @@ msgstr "Chemin d'accès vers le fichier des sélecteurs" msgid "" "Absolute path of the file which contains names of DKIM selectors. Must be " "readable by _rspamd group or user." -msgstr "" -"Chemin absolu vers le fichier qui contient le nom des sélecteurs DKIM. Doit " -"être accessible en lecture par l'utilisateur ou le groupe _rspamd." +msgstr "Chemin absolu vers le fichier qui contient le nom des sélecteurs DKIM. Doit être accessible en lecture par l'utilisateur ou le groupe _rspamd." #: rspamd/app_settings.py:51 msgid "Rspamd dashboard location" @@ -2791,12 +2565,10 @@ msgstr "Emplacement du tableau de bord Rspamd" #: rspamd/app_settings.py:53 msgid "" -"Location of the rspamd dashboard. Can either be a relative URL (eg. '/" -"rspamd') or a full URL (eg. 'https://rspamd.domain.tld/').Only use for " +"Location of the rspamd dashboard. Can either be a relative URL (eg. " +"'/rspamd') or a full URL (eg. 'https://rspamd.domain.tld/').Only use for " "guidance on the Super-Admin dashboard." -msgstr "" -"Emplacement du dashboard rspamd. Peut être soit une URL relative (ie. '/" -"rspamd') ou une URL complète (ie. 'https://rspamd.domain.tld')." +msgstr "Emplacement du dashboard rspamd. Peut être soit une URL relative (ie. '/rspamd') ou une URL complète (ie. 'https://rspamd.domain.tld')." #: rspamd/apps.py:18 msgid "Rspamd" @@ -2921,8 +2693,7 @@ msgstr "Arrêter le traitement" #: sievefilters/lib.py:49 msgid "Connection to MANAGESIEVE server failed, check your configuration" -msgstr "" -"La connexion au serveur MANAGESIEVE a échoué, vérifiez votre configuration" +msgstr "La connexion au serveur MANAGESIEVE a échoué, vérifiez votre configuration" #: sievefilters/lib.py:76 msgid "Not enough space on server" @@ -2977,9 +2748,7 @@ msgstr "Mot de passe oublié ?" msgid "" "Your password has been set. You may go ahead and sign " "in now." -msgstr "" -"Votre mot de passe a été défini. Vous pouvez continuer et vous connecter dès maintenant." +msgstr "Votre mot de passe a été défini. Vous pouvez continuer et vous connecter dès maintenant." #: templates/registration/password_reset_confirm.html:8 msgid "Change password" @@ -2995,10 +2764,7 @@ msgstr "Soumettre" msgid "" "The password reset link was invalid, possibly because it has already been " "used. Please request a new password reset." -msgstr "" -"Le lien de réinitialisation du mot de passe était invalide, probablement " -"parce qu'il a déjà été utilisé. Merci de demander une nouvelle " -"réinitialisation de mot de passe." +msgstr "Le lien de réinitialisation du mot de passe était invalide, probablement parce qu'il a déjà été utilisé. Merci de demander une nouvelle réinitialisation de mot de passe." #: templates/registration/password_reset_confirm_code.html:22 msgid "Enter the code you've just received by SMS" @@ -3018,12 +2784,7 @@ msgid "" "exists with the email you entered. You should receive them shortly.

" "

If you don't receive an email, please make sure you've entered your " "primary address, and check your spam folder.

" -msgstr "" -"

Nous vous avons envoyé par email les instructions pour définir votre mot " -"de passe, pour peu qu'un compte avec l'email que vous avez renseigné existe. " -"Vous devriez les recevoir rapidement.

Si vous ne recevez pas d'email, " -"merci de vérifier que vous avez renseigné votre adresse principale et de " -"vérifier votre dossier spam.

" +msgstr "

Nous vous avons envoyé par email les instructions pour définir votre mot de passe, pour peu qu'un compte avec l'email que vous avez renseigné existe. Vous devriez les recevoir rapidement.

Si vous ne recevez pas d'email, merci de vérifier que vous avez renseigné votre adresse principale et de vérifier votre dossier spam.

" #: templates/registration/password_reset_email.html:4 #: templates/registration/password_reset_email_v2.html:4 @@ -3031,18 +2792,14 @@ msgstr "" msgid "" "To initiate the password reset process for your %(username)s Modoboa " "account, click the link below:" -msgstr "" -"Pour initier la procédure de réinitialisation du mot de passe de votre " -"compte Modoboa %(username)s, cliquez sur le lien ci-dessous :" +msgstr "Pour initier la procédure de réinitialisation du mot de passe de votre compte Modoboa %(username)s, cliquez sur le lien ci-dessous :" #: templates/registration/password_reset_email.html:10 #: templates/registration/password_reset_email_v2.html:10 msgid "" "If clicking the link above doesn't work, please copy and paste the URL in a " "new browser window instead." -msgstr "" -"Si cliquer sur lien ci-dessous ne fonctionne pas, merci de copier / coller " -"cette URL dans une nouvelle fenêtre navigateur à la place." +msgstr "Si cliquer sur lien ci-dessous ne fonctionne pas, merci de copier / coller cette URL dans une nouvelle fenêtre navigateur à la place." #: templates/registration/password_reset_email.html:14 #: templates/registration/password_reset_email_v2.html:14 @@ -3071,12 +2828,9 @@ msgstr "Mot de passe jetable" #: templates/registration/twofactor_code_verify.html:35 msgid "" -"Enter the code from the two-factor app on your mobile device. If you've lost " -"your device, you may enter one of your recovery codes." -msgstr "" -"Renseignez le code provenant de l'application double-facteur de votre " -"téléphone mobile. Si vous avez perdu votre téléphone, vous pouvez utiliser " -"l'un de vos codes de récupération." +"Enter the code from the two-factor app on your mobile device. If you've lost" +" your device, you may enter one of your recovery codes." +msgstr "Renseignez le code provenant de l'application double-facteur de votre téléphone mobile. Si vous avez perdu votre téléphone, vous pouvez utiliser l'un de vos codes de récupération." #: templates/registration/twofactor_code_verify.html:42 msgid "Verify code" @@ -3113,8 +2867,7 @@ msgstr "Taille maximale d'une pièce jointe" #: webmail/app_settings.py:19 msgid "Maximum attachment size in bytes (or KB, MB, GB if specified)" -msgstr "" -"Taille maximale d'une pièce jointe en octets (ou KB, MG, GB si précisé)" +msgstr "Taille maximale d'une pièce jointe en octets (ou KB, MG, GB si précisé)" #: webmail/app_settings.py:67 msgid "SMTP settings" @@ -3245,10 +2998,8 @@ msgid "User defined email signature" msgstr "Signature email personnalisée" #: webmail/exceptions.py:18 -#, fuzzy -#| msgid "Server address" msgid "Server response" -msgstr "Adresse du serveur" +msgstr "Réponse du serveur" #: webmail/lib/attachments.py:112 msgid "Failed to remove attachment: " @@ -3256,17 +3007,15 @@ msgstr "Impossible de supprimer la pièce jointe :" #: webmail/lib/imapemail.py:272 msgid "wrote:" -msgstr "" +msgstr "a écrit :" #: webmail/lib/imapemail.py:306 msgid "Date" msgstr "Date" #: webmail/lib/imapemail.py:322 webmail/lib/imapemail.py:325 -#, fuzzy -#| msgid "All messages" msgid "Original message" -msgstr "Tous les messages" +msgstr "Message original" #: webmail/lib/imaputils.py:221 msgid "Failed to retrieve hierarchy delimiter" @@ -3296,13 +3045,3 @@ msgstr "Corbeille" #, python-format msgid "Attachment is too big (limit: %s)" msgstr "La pièce jointe est trop grosse (limite : %s)" - -#~ msgid "No alarm ID provided" -#~ msgstr "Aucun ID d'alarme fourni" - -#~ msgid "Received invalid alarm id(s)" -#~ msgstr "ID(s) incorrect(s) d'alarme(s) reçu(s)" - -#, python-brace-format -#~ msgid "Connection to IMAP server failed: {error}" -#~ msgstr "La connexion au serveur IMAP a échoué : {error}"