diff --git a/src/authentic2/locale/fr/LC_MESSAGES/django.po b/src/authentic2/locale/fr/LC_MESSAGES/django.po index 2a93e1074..80deb4554 100644 --- a/src/authentic2/locale/fr/LC_MESSAGES/django.po +++ b/src/authentic2/locale/fr/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Authentic\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-24 09:35+0200\n" +"POT-Creation-Date: 2021-07-15 21:41+0200\n" "PO-Revision-Date: 2021-06-24 09:38+0200\n" "Last-Translator: Mikaël Ates \n" "Language-Team: None\n" @@ -17,18 +17,18 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n>1;\n" -#: debian/multitenant/debian_config.py:43 src/authentic2/forms/passwords.py:41 -#: src/authentic2/forms/registration.py:41 src/authentic2/manager/forms.py:642 +#: debian/multitenant/debian_config.py:43 src/authentic2/forms/passwords.py:42 +#: src/authentic2/forms/registration.py:41 src/authentic2/manager/forms.py:651 #: src/authentic2/manager/templates/authentic2/manager/user_create_registration_email_body.txt:4 #: src/authentic2/saml/models.py:145 #: src/authentic2/templates/authentic2/api_user_create_registration_email_body.txt:4 msgid "Email" msgstr "Courriel" -#: src/authentic2/a2_rbac/admin.py:94 src/authentic2/a2_rbac/models.py:405 +#: src/authentic2/a2_rbac/admin.py:94 src/authentic2/a2_rbac/models.py:413 #: src/authentic2/apps/journal/models.py:181 -#: src/authentic2/manager/tables.py:224 src/authentic2/models.py:142 -#: src/authentic2/models.py:370 src/authentic2/saml/models.py:230 +#: src/authentic2/manager/tables.py:224 src/authentic2/models.py:139 +#: src/authentic2/models.py:367 src/authentic2/saml/models.py:230 #: src/authentic2/saml/models.py:322 msgid "name" msgstr "nom" @@ -83,40 +83,54 @@ msgstr "Envoyer un lien de réinitialisation" msgid "Manual password definition" msgstr "Définition manuelle du mot de passe" -#: src/authentic2/a2_rbac/models.py:69 +#: src/authentic2/a2_rbac/models.py:60 +msgid "System default" +msgstr "Valeur par défaut du système" + +#: src/authentic2/a2_rbac/models.py:61 src/authentic2/admin.py:156 +#: src/authentic2/forms/mixins.py:43 +msgid "Yes" +msgstr "Oui" + +#: src/authentic2/a2_rbac/models.py:62 src/authentic2/admin.py:156 +#: src/authentic2/forms/mixins.py:43 +msgid "No" +msgstr "Non" + +#: src/authentic2/a2_rbac/models.py:75 msgid "Username is unique" msgstr "L’identifiant doit être unique" -#: src/authentic2/a2_rbac/models.py:70 +#: src/authentic2/a2_rbac/models.py:76 msgid "Email is unique" msgstr "Le courriel doit être unique" -#: src/authentic2/a2_rbac/models.py:71 -#: src/authentic2/a2_rbac/signal_handlers.py:42 +#: src/authentic2/a2_rbac/models.py:77 +#: src/authentic2/a2_rbac/signal_handlers.py:41 msgid "Default organizational unit" msgstr "Collectivité par défaut" -#: src/authentic2/a2_rbac/models.py:73 +#: src/authentic2/a2_rbac/models.py:79 msgid "Validate emails" msgstr "Validation des adresses de courriel" -#: src/authentic2/a2_rbac/models.py:75 +#: src/authentic2/a2_rbac/models.py:81 msgid "Show username" msgstr "Afficher l’identifiant de l’usager" -#: src/authentic2/a2_rbac/models.py:81 +#: src/authentic2/a2_rbac/models.py:88 msgid "Users can reset password" msgstr "Les utilisateurs peuvent réinitialiser le mot de passe" -#: src/authentic2/a2_rbac/models.py:84 +#: src/authentic2/a2_rbac/models.py:92 msgid "User creation password policy" msgstr "Politique de création de mot de passe des usagers" -#: src/authentic2/a2_rbac/models.py:88 +#: src/authentic2/a2_rbac/models.py:96 msgid "Days after which the user receives an account deletion alert" msgstr "Nombre de jours avant l’alerte de suppression de compte" -#: src/authentic2/a2_rbac/models.py:91 src/authentic2/a2_rbac/models.py:102 +#: src/authentic2/a2_rbac/models.py:99 src/authentic2/a2_rbac/models.py:110 msgid "" "Ensure that this value is greater than 30 days, or leave blank for " "deactivating." @@ -124,20 +138,20 @@ msgstr "" "Assurez-vous que cette valeur est supérieure à 30 jours, ou laissez vide " "pour désactiver." -#: src/authentic2/a2_rbac/models.py:99 +#: src/authentic2/a2_rbac/models.py:107 msgid "Delay in days before cleaning unused accounts" msgstr "Nombre de jours avant la suppression des comptes inutilisés" -#: src/authentic2/a2_rbac/models.py:112 -#: src/authentic2/custom_user/models.py:165 src/authentic2/models.py:373 +#: src/authentic2/a2_rbac/models.py:120 +#: src/authentic2/custom_user/models.py:166 src/authentic2/models.py:370 msgid "organizational unit" msgstr "collectivité" -#: src/authentic2/a2_rbac/models.py:113 +#: src/authentic2/a2_rbac/models.py:121 msgid "organizational units" msgstr "collectivités" -#: src/authentic2/a2_rbac/models.py:131 +#: src/authentic2/a2_rbac/models.py:139 msgid "" "You cannot unset this organizational unit as the default, but you can set " "another one as the default." @@ -145,176 +159,168 @@ msgstr "" "Vous ne pouvez pas enlever le drapeau défaut de cette collectivité, mais " "vous pouvez le poser sur une autre collectivité." -#: src/authentic2/a2_rbac/models.py:137 +#: src/authentic2/a2_rbac/models.py:145 msgid "Deletion and alert delays must be set together." msgstr "" "Les délais de suppression et d’alerte doivent être remplis simultanément." -#: src/authentic2/a2_rbac/models.py:142 +#: src/authentic2/a2_rbac/models.py:150 msgid "Deletion alert delay must be less than actual deletion delay." msgstr "Le délai d’alerte doit être inférieur au délai de suppression." -#: src/authentic2/a2_rbac/models.py:149 +#: src/authentic2/a2_rbac/models.py:157 #, python-brace-format msgid "Managers of \"{ou}\"" msgstr "Administrateur de la collectivité « {ou} »" -#: src/authentic2/a2_rbac/models.py:194 +#: src/authentic2/a2_rbac/models.py:202 msgid "permission" msgstr "permission" -#: src/authentic2/a2_rbac/models.py:195 +#: src/authentic2/a2_rbac/models.py:203 msgid "permissions" msgstr "permissions" -#: src/authentic2/a2_rbac/models.py:215 +#: src/authentic2/a2_rbac/models.py:223 msgid "administrative scope content type" msgstr "type d’objet administré" -#: src/authentic2/a2_rbac/models.py:219 +#: src/authentic2/a2_rbac/models.py:227 msgid "administrative scope id" msgstr "identifiant de l’objet administré" -#: src/authentic2/a2_rbac/models.py:224 +#: src/authentic2/a2_rbac/models.py:232 msgid "service" msgstr "service" -#: src/authentic2/a2_rbac/models.py:230 src/authentic2/models.py:54 +#: src/authentic2/a2_rbac/models.py:238 src/authentic2/models.py:54 msgid "external id" msgstr "identifiant externe" -#: src/authentic2/a2_rbac/models.py:237 +#: src/authentic2/a2_rbac/models.py:245 msgid "Allow adding or deleting role members" msgstr "Autoriser l’ajout ou la suppression de membres" -#: src/authentic2/a2_rbac/models.py:250 +#: src/authentic2/a2_rbac/models.py:258 #, python-brace-format msgid "Managers of role \"{role}\"" msgstr "Administrateur du rôle « {role} »" -#: src/authentic2/a2_rbac/models.py:274 +#: src/authentic2/a2_rbac/models.py:282 msgid "Name already used" msgstr "Ce nom est déjà utilisé." -#: src/authentic2/a2_rbac/models.py:281 +#: src/authentic2/a2_rbac/models.py:289 msgid "Slug already used" msgstr "Ce slug est déjà utilisé." -#: src/authentic2/a2_rbac/models.py:325 src/authentic2/a2_rbac/models.py:403 +#: src/authentic2/a2_rbac/models.py:333 src/authentic2/a2_rbac/models.py:411 msgid "role" msgstr "rôle" -#: src/authentic2/a2_rbac/models.py:326 +#: src/authentic2/a2_rbac/models.py:334 msgid "roles" msgstr "rôles" -#: src/authentic2/a2_rbac/models.py:393 +#: src/authentic2/a2_rbac/models.py:401 msgid "role parenting relation" msgstr "relation de parenté entre rôles" -#: src/authentic2/a2_rbac/models.py:394 +#: src/authentic2/a2_rbac/models.py:402 msgid "role parenting relations" msgstr "relations de parenté entre rôles" -#: src/authentic2/a2_rbac/models.py:401 src/authentic2/attribute_kinds.py:261 +#: src/authentic2/a2_rbac/models.py:409 src/authentic2/attribute_kinds.py:261 msgid "string" msgstr "chaîne de caractère" -#: src/authentic2/a2_rbac/models.py:406 src/authentic2/models.py:150 +#: src/authentic2/a2_rbac/models.py:414 src/authentic2/models.py:147 msgid "kind" msgstr "type" -#: src/authentic2/a2_rbac/models.py:407 +#: src/authentic2/a2_rbac/models.py:415 msgid "value" msgstr "valeur" -#: src/authentic2/a2_rbac/models.py:411 +#: src/authentic2/a2_rbac/models.py:419 msgid "role attributes" msgstr "attributs de rôle" -#: src/authentic2/a2_rbac/models.py:423 +#: src/authentic2/a2_rbac/models.py:431 msgid "Change password" msgstr "Modification de mot de passe" -#: src/authentic2/a2_rbac/models.py:424 src/authentic2/views.py:676 +#: src/authentic2/a2_rbac/models.py:432 src/authentic2/views.py:681 msgid "Password reset" msgstr "Mot de passe oublié" -#: src/authentic2/a2_rbac/models.py:425 +#: src/authentic2/a2_rbac/models.py:433 msgid "Activation" msgstr "Activation" -#: src/authentic2/a2_rbac/models.py:426 +#: src/authentic2/a2_rbac/models.py:434 msgctxt "operation" msgid "Change email" msgstr "Modification de l’adresse de courriel" -#: src/authentic2/a2_rbac/models.py:427 +#: src/authentic2/a2_rbac/models.py:435 msgid "Manage role members" msgstr "Gestion des membres d’un rôle" -#: src/authentic2/a2_rbac/models.py:428 +#: src/authentic2/a2_rbac/models.py:436 msgid "Manage service consents" msgstr "Gestion des consentements" -#: src/authentic2/admin.py:42 +#: src/authentic2/admin.py:43 msgid "Cleanup expired objects" msgstr "Nettoyer les objets qui ont expiré" -#: src/authentic2/admin.py:107 +#: src/authentic2/admin.py:108 msgid "session data" msgstr "données de session" -#: src/authentic2/admin.py:119 +#: src/authentic2/admin.py:120 msgid "IP adresses" msgstr "adresses IP" -#: src/authentic2/admin.py:136 +#: src/authentic2/admin.py:137 #, python-format msgid "deleted user %r" msgstr "utilisateur supprimé %r" -#: src/authentic2/admin.py:139 src/authentic2/apps/journal/models.py:296 -#: src/authentic2/custom_user/models.py:194 src/authentic2/models.py:52 -#: src/authentic2/models.py:353 +#: src/authentic2/admin.py:140 src/authentic2/apps/journal/models.py:296 +#: src/authentic2/custom_user/models.py:195 src/authentic2/models.py:52 +#: src/authentic2/models.py:350 msgid "user" msgstr "utilisateur" -#: src/authentic2/admin.py:144 +#: src/authentic2/admin.py:145 msgid "clear expired sessions" msgstr "Supprimer les sessions expirées" -#: src/authentic2/admin.py:150 +#: src/authentic2/admin.py:151 msgid "external" msgstr "identifiant externe" -#: src/authentic2/admin.py:155 src/authentic2/forms/mixins.py:43 -msgid "Yes" -msgstr "Oui" - -#: src/authentic2/admin.py:155 src/authentic2/forms/mixins.py:43 -msgid "No" -msgstr "Non" - -#: src/authentic2/admin.py:173 +#: src/authentic2/admin.py:174 msgid "realm" msgstr "domaine" -#: src/authentic2/admin.py:201 src/authentic2/admin.py:248 +#: src/authentic2/admin.py:202 src/authentic2/admin.py:249 msgid "You must at least give a username or an email to your user" msgstr "Un utilisateur doit au minimum posséder un courriel ou un identifiant." -#: src/authentic2/admin.py:205 src/authentic2/admin.py:250 -#: src/authentic2/authenticators.py:69 -#: src/authentic2/forms/authentication.py:38 src/authentic2/forms/profile.py:32 -#: src/authentic2/forms/profile.py:54 src/authentic2/forms/registration.py:141 +#: src/authentic2/admin.py:206 src/authentic2/admin.py:251 +#: src/authentic2/authenticators.py:70 +#: src/authentic2/forms/authentication.py:39 src/authentic2/forms/profile.py:32 +#: src/authentic2/forms/profile.py:54 src/authentic2/forms/registration.py:154 #: src/authentic2/manager/forms.py:272 #: src/authentic2/manager/journal_views.py:90 #: src/authentic2/templates/authentic2/login_password_profile.html:4 msgid "Password" msgstr "Mot de passe" -#: src/authentic2/admin.py:207 +#: src/authentic2/admin.py:208 msgid "" "Raw passwords are not stored, so there is no way to see this user's " "password, but you can change the password using this " @@ -325,39 +331,39 @@ msgstr "" "modifier le mot de passe de l’usager en utilisant ce " "formulaire." -#: src/authentic2/admin.py:247 src/authentic2/forms/registration.py:153 +#: src/authentic2/admin.py:248 src/authentic2/forms/registration.py:166 #: src/authentic2/manager/forms.py:207 msgid "The two password fields didn't match." msgstr "Les deux champs mot de passe ne correspondent pas l’un à l’autre." -#: src/authentic2/admin.py:252 +#: src/authentic2/admin.py:253 msgid "Password confirmation" msgstr "Confirmation du mot de passe" -#: src/authentic2/admin.py:254 +#: src/authentic2/admin.py:255 msgid "Enter the same password as above, for verification." msgstr "Entrez le même mot de passe qu’au dessus, pour validation." -#: src/authentic2/admin.py:289 +#: src/authentic2/admin.py:290 msgid "Personal info" msgstr "Informations personnelles" -#: src/authentic2/admin.py:290 src/authentic2/manager/role_views.py:306 +#: src/authentic2/admin.py:291 src/authentic2/manager/role_views.py:306 #: src/authentic2/manager/templates/authentic2/manager/role_members.html:41 #: src/authentic2/manager/templates/authentic2/manager/role_permissions.html:7 msgid "Permissions" msgstr "Permissions" -#: src/authentic2/admin.py:291 +#: src/authentic2/admin.py:292 msgid "Important dates" msgstr "Dates importantes" -#: src/authentic2/admin.py:322 +#: src/authentic2/admin.py:323 #: src/authentic2/manager/templates/authentic2/manager/user_imports.html:66 msgid "Attributes" msgstr "Attributs" -#: src/authentic2/admin.py:356 +#: src/authentic2/admin.py:357 msgid "Mark as inactive" msgstr "Désactiver" @@ -366,131 +372,131 @@ msgid "Cannot process request because of conflicting resources." msgstr "" "Impossible de traiter la requête à cause d’un conflit sur les ressources." -#: src/authentic2/api_views.py:155 +#: src/authentic2/api_views.py:156 msgid "you are not authorized to create users in this ou" msgstr "Vous n’êtes pas autorisé à vous inscrire dans cette collectivité." -#: src/authentic2/api_views.py:161 +#: src/authentic2/api_views.py:162 msgid "Email is required" msgstr "Le courriel est obligatoire" -#: src/authentic2/api_views.py:163 src/authentic2/api_views.py:175 -#: tests/test_all.py:524 tests/test_all.py:634 +#: src/authentic2/api_views.py:164 src/authentic2/api_views.py:176 +#: tests/test_all.py:515 tests/test_all.py:625 msgid "Account already exists" msgstr "Le compte existe déjà" -#: src/authentic2/api_views.py:167 +#: src/authentic2/api_views.py:168 msgid "Email is required in this ou" msgstr "Le courriel est obligatoire dans cette collectivité." -#: src/authentic2/api_views.py:169 src/authentic2/api_views.py:181 -#: tests/test_all.py:501 tests/test_all.py:611 +#: src/authentic2/api_views.py:170 src/authentic2/api_views.py:182 +#: tests/test_all.py:492 tests/test_all.py:602 msgid "Account already exists in this ou" msgstr "Le compte existe déjà dans cette collectivité" -#: src/authentic2/api_views.py:173 tests/test_all.py:512 tests/test_all.py:622 +#: src/authentic2/api_views.py:174 tests/test_all.py:503 tests/test_all.py:613 msgid "Username is required" msgstr "L’identifiant est obligatoire" -#: src/authentic2/api_views.py:179 +#: src/authentic2/api_views.py:180 msgid "Username is required in this ou" msgstr "L’identifiant est obligatoire dans cette collectivité." -#: src/authentic2/api_views.py:951 +#: src/authentic2/api_views.py:956 msgid "User successfully added to role" msgstr "Utilisateur ajouté au rôle" -#: src/authentic2/api_views.py:962 +#: src/authentic2/api_views.py:967 msgid "User successfully removed from role" msgstr "Utilisateur retiré du rôle" -#: src/authentic2/api_views.py:986 +#: src/authentic2/api_views.py:991 msgid "Payload must be a dictionary" msgstr "Le contenu de l’appel doit être un dictionnaire" -#: src/authentic2/api_views.py:989 +#: src/authentic2/api_views.py:994 msgid "Invalid payload (missing 'data' key)" msgstr "Le contenu de l’appel est invalide (clé « data » absente)" -#: src/authentic2/api_views.py:995 +#: src/authentic2/api_views.py:1000 msgid "List elements of the 'data' dict entry must be dictionaries" msgstr "Les éléments de la liste « data » doivent être des dictionnaires" -#: src/authentic2/api_views.py:998 +#: src/authentic2/api_views.py:1003 #, python-format msgid "Missing 'uuid' key for dict entry %s of the 'data' payload" msgstr "Clé « uuid » manquante pour l’entrée dict %s de « data »" -#: src/authentic2/api_views.py:1003 +#: src/authentic2/api_views.py:1008 #, python-format msgid "No known user for UUID %s" msgstr "Aucun utilisateur connu pour l’UUID %s" -#: src/authentic2/api_views.py:1006 +#: src/authentic2/api_views.py:1011 msgid "No valid user UUID" msgstr "Aucun UUID d’utilisateur valide" -#: src/authentic2/api_views.py:1013 +#: src/authentic2/api_views.py:1018 msgid "Users successfully added to role" msgstr "Utilisateurs ajoutés au rôle avec succès" -#: src/authentic2/api_views.py:1021 +#: src/authentic2/api_views.py:1026 msgid "Users successfully removed from role" msgstr "Utilisateurs retirés du rôle avec succès" -#: src/authentic2/api_views.py:1032 +#: src/authentic2/api_views.py:1037 msgid "Users successfully assigned to role" msgstr "Utilisateurs assignés au rôle avec succès" -#: src/authentic2/api_views.py:1162 +#: src/authentic2/api_views.py:1167 msgid "Day" msgstr "Jour" -#: src/authentic2/api_views.py:1162 +#: src/authentic2/api_views.py:1167 msgid "Month" msgstr "Mois" -#: src/authentic2/api_views.py:1162 +#: src/authentic2/api_views.py:1167 msgid "Year" msgstr "Année" -#: src/authentic2/api_views.py:1208 +#: src/authentic2/api_views.py:1213 msgid "Time interval" msgstr "Période" -#: src/authentic2/api_views.py:1220 +#: src/authentic2/api_views.py:1225 msgid "Service" msgstr "Service" -#: src/authentic2/api_views.py:1223 +#: src/authentic2/api_views.py:1228 msgid "Services organizational unit" msgstr "Collectivité des services" -#: src/authentic2/api_views.py:1227 +#: src/authentic2/api_views.py:1232 msgid "Users organizational unit" msgstr "Collectivité des utilisateurs" -#: src/authentic2/api_views.py:1278 +#: src/authentic2/api_views.py:1283 msgid "Login count by authentication type" msgstr "Nombre de connexions par type d’authentification" -#: src/authentic2/api_views.py:1282 +#: src/authentic2/api_views.py:1287 msgid "Login count by service" msgstr "Nombre de connexions par service" -#: src/authentic2/api_views.py:1286 +#: src/authentic2/api_views.py:1291 msgid "Login count by organizational unit" msgstr "Nombre de connexion par collectivité" -#: src/authentic2/api_views.py:1290 +#: src/authentic2/api_views.py:1295 msgid "Registration count by type" msgstr "Nombre d’inscriptions par type" -#: src/authentic2/api_views.py:1294 +#: src/authentic2/api_views.py:1299 msgid "Registration count by service" msgstr "Nombre d’inscriptions par service" -#: src/authentic2/api_views.py:1298 +#: src/authentic2/api_views.py:1303 msgid "Registration count by organizational unit" msgstr "Nombre d’inscriptions par collectivité" @@ -501,7 +507,7 @@ msgstr "" "caractères « @ », « . », « + », « - » et « _ »." #: src/authentic2/app_settings.py:149 -#: src/authentic2/forms/authentication.py:144 +#: src/authentic2/forms/authentication.py:147 #: src/authentic2/manager/templates/authentic2/manager/user_create_registration_email_body.txt:3 #: src/authentic2/templates/authentic2/api_user_create_registration_email_body.txt:3 msgid "Username" @@ -516,7 +522,7 @@ msgstr "Identifiant" #: src/authentic2/manager/templates/authentic2/manager/role_members.html:44 #: src/authentic2/manager/templates/authentic2/manager/roles.html:18 #: src/authentic2/manager/templates/authentic2/manager/user_detail.html:25 -#: src/authentic2/manager/user_views.py:994 +#: src/authentic2/manager/user_views.py:990 msgid "Journal" msgstr "Journal des évènements" @@ -826,7 +832,7 @@ msgstr "UUID des rôles de la même collectivité que le service" msgid "role attribute" msgstr "attribut de rôle" -#: src/authentic2/authenticators.py:122 +#: src/authentic2/authenticators.py:123 msgid "Username or email" msgstr "Identifiant ou courriel" @@ -904,129 +910,129 @@ msgstr[1] "" "Votre mot de passe aura bientôt dépassé sa limite d'utilisation, vous pouvez " "encore l'utiliser {graceAuthNsRemaining} fois en incluant cette connexion." -#: src/authentic2/csv_import.py:147 +#: src/authentic2/csv_import.py:146 msgid "Cannot detect encoding" msgstr "Impossible de détecter l’encodage" -#: src/authentic2/csv_import.py:162 +#: src/authentic2/csv_import.py:161 msgid "Bad encoding" msgstr "Mauvais encodage" -#: src/authentic2/csv_import.py:167 +#: src/authentic2/csv_import.py:166 #, python-format msgid "Unknown CSV dialect: %s" msgstr "Dialecte CSV inconnu : %s" -#: src/authentic2/csv_import.py:173 +#: src/authentic2/csv_import.py:172 msgid "Unknown CSV dialect" msgstr "Dialecte CSV inconnu" -#: src/authentic2/csv_import.py:179 +#: src/authentic2/csv_import.py:178 #, python-format msgid "Cannot read CSV: %s" msgstr "Erreur à la lecture du fichier CSV : %s" -#: src/authentic2/csv_import.py:253 +#: src/authentic2/csv_import.py:252 msgid "Role name" msgstr "Nom du rôle" -#: src/authentic2/csv_import.py:254 +#: src/authentic2/csv_import.py:253 msgid "Role slug" msgstr "Identifiant court du rôle" -#: src/authentic2/csv_import.py:256 +#: src/authentic2/csv_import.py:255 msgid "Email user so they can set a password" msgstr "Envoi à l’usager d’un courriel d’initialisation de mot de passe" -#: src/authentic2/csv_import.py:259 +#: src/authentic2/csv_import.py:258 msgid "Registration option" msgstr "Options d’inscription" -#: src/authentic2/csv_import.py:261 src/authentic2/manager/user_views.py:809 +#: src/authentic2/csv_import.py:260 src/authentic2/manager/user_views.py:802 msgid "Password hash" msgstr "Version hachée du mot de passe" -#: src/authentic2/csv_import.py:272 +#: src/authentic2/csv_import.py:271 msgid "Invalid password format or unknown hashing algorithm." msgstr "Format de mot de passe invalide ou algorithme de hachage inconnu." -#: src/authentic2/csv_import.py:278 +#: src/authentic2/csv_import.py:277 msgid "Source name" msgstr "Nom de la source" -#: src/authentic2/csv_import.py:283 +#: src/authentic2/csv_import.py:282 msgid "_source_name must contain no spaces and only letters, digits, - and _" msgstr "" "_source_name ne doit contenir aucun espace, et seulement des lettres, des " "chiffres, les caractères « - » et « _ »" -#: src/authentic2/csv_import.py:288 +#: src/authentic2/csv_import.py:287 msgid "Source external id" msgstr "Identifiant de la source" -#: src/authentic2/csv_import.py:307 +#: src/authentic2/csv_import.py:306 msgid "update" msgstr "mise à jour" -#: src/authentic2/csv_import.py:308 +#: src/authentic2/csv_import.py:307 msgid "create" msgstr "création" -#: src/authentic2/csv_import.py:389 +#: src/authentic2/csv_import.py:388 msgid "importing" msgstr "import" -#: src/authentic2/csv_import.py:421 +#: src/authentic2/csv_import.py:420 msgid "Missing header row" msgstr "Ligne d’entête manquante" -#: src/authentic2/csv_import.py:428 +#: src/authentic2/csv_import.py:427 msgid "Empty header row" msgstr "Ligne d’entête vide" -#: src/authentic2/csv_import.py:439 +#: src/authentic2/csv_import.py:438 msgid "Missing key column" msgstr "Colonne clé manquante" -#: src/authentic2/csv_import.py:441 +#: src/authentic2/csv_import.py:440 msgid "Too many key columns" msgstr "Trop de colonnes clés" -#: src/authentic2/csv_import.py:446 +#: src/authentic2/csv_import.py:445 msgid "You must have a _source_name and a _source_id column" msgstr "Vous devez avoir une colonne _source_name and une colonne _source_id" -#: src/authentic2/csv_import.py:450 +#: src/authentic2/csv_import.py:449 msgid "Either specify role names or role slugs, not both" msgstr "" "Les colonnes noms de rôle et slugs de rôles ne peuvent pas être présentes en " "même temps." -#: src/authentic2/csv_import.py:458 +#: src/authentic2/csv_import.py:457 #, python-format msgid "Header \"%s\" is duplicated" msgstr "L’entête « %s » existe deux fois" -#: src/authentic2/csv_import.py:498 +#: src/authentic2/csv_import.py:497 #, python-format msgid "unknown or missing attribute \"%s\"" msgstr "attribut inconnu ou manquant « %s »" -#: src/authentic2/csv_import.py:510 +#: src/authentic2/csv_import.py:509 msgid "You cannot set flags on _source_name and _source_id columns" msgstr "" "Vous ne pouvez pas utiliser de modificateurs sur les colonnes _source_name" -#: src/authentic2/csv_import.py:525 +#: src/authentic2/csv_import.py:524 #, python-format msgid "unknown flag \"%s\"" msgstr "modificateur inconnu « %s »" -#: src/authentic2/csv_import.py:535 +#: src/authentic2/csv_import.py:534 msgid "parsing" msgstr "analyse" -#: src/authentic2/csv_import.py:612 +#: src/authentic2/csv_import.py:611 #, python-format msgid "" "Unique constraint on column \"%(column)s\" failed: value already appear on " @@ -1035,22 +1041,22 @@ msgstr "" "La contrainte d’unicité sur la colonne « %(column)s » est rompue : la valeur " "apparaît déjà ligne %(line)d" -#: src/authentic2/csv_import.py:643 +#: src/authentic2/csv_import.py:642 #, python-format msgid "Unique constraint on column \"%s\" failed" msgstr "La contrainte d’unicité sur la colonne « %s » est rompue" -#: src/authentic2/csv_import.py:687 +#: src/authentic2/csv_import.py:686 #, python-format msgid "Key value \"%s\" matches too many users" msgstr "La valeur de la clé « %s » correspond à trop d’utilisateurs" -#: src/authentic2/csv_import.py:728 +#: src/authentic2/csv_import.py:727 #, python-format msgid "External id \"%s\" already exists" msgstr "La clé externe « %s » existe déjà" -#: src/authentic2/csv_import.py:771 +#: src/authentic2/csv_import.py:770 #, python-format msgid "Role \"%s\" does not exist" msgstr "Le rôle « %s » n’existe pas" @@ -1073,39 +1079,39 @@ msgstr "Nom" msgid "uuid" msgstr "identifiant unique" -#: src/authentic2/custom_user/models.py:146 +#: src/authentic2/custom_user/models.py:147 msgid "username" msgstr "identifiant" -#: src/authentic2/custom_user/models.py:147 +#: src/authentic2/custom_user/models.py:148 msgid "first name" msgstr "prénom" -#: src/authentic2/custom_user/models.py:148 +#: src/authentic2/custom_user/models.py:149 msgid "last name" msgstr "nom" -#: src/authentic2/custom_user/models.py:149 +#: src/authentic2/custom_user/models.py:150 msgid "email address" msgstr "courriel" -#: src/authentic2/custom_user/models.py:150 +#: src/authentic2/custom_user/models.py:151 msgid "email verified" msgstr "courriel vérifié" -#: src/authentic2/custom_user/models.py:152 +#: src/authentic2/custom_user/models.py:153 msgid "staff status" msgstr "statut équipe" -#: src/authentic2/custom_user/models.py:154 +#: src/authentic2/custom_user/models.py:155 msgid "Designates whether the user can log into this admin site." msgstr "Précise si l’utilisateur peut se connecter à ce site d’administration." -#: src/authentic2/custom_user/models.py:157 +#: src/authentic2/custom_user/models.py:158 msgid "active" msgstr "activé" -#: src/authentic2/custom_user/models.py:160 +#: src/authentic2/custom_user/models.py:161 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -1113,31 +1119,31 @@ msgstr "" "Précise si l’utilisateur doit être considéré comme actif. Décochez ceci " "plutôt que de supprimer le compte." -#: src/authentic2/custom_user/models.py:174 +#: src/authentic2/custom_user/models.py:175 msgid "date joined" msgstr "date d’inscription" -#: src/authentic2/custom_user/models.py:175 +#: src/authentic2/custom_user/models.py:176 msgid "Last modification time" msgstr "Dernière modification" -#: src/authentic2/custom_user/models.py:177 +#: src/authentic2/custom_user/models.py:178 msgid "Last account deletion alert" msgstr "Dernière alerte sur la suppression du compte" -#: src/authentic2/custom_user/models.py:179 +#: src/authentic2/custom_user/models.py:180 msgid "Deactivation datetime" msgstr "Date de désactivation" -#: src/authentic2/custom_user/models.py:180 +#: src/authentic2/custom_user/models.py:181 msgid "Deactivation reason" msgstr "Motif de la suspension" -#: src/authentic2/custom_user/models.py:195 +#: src/authentic2/custom_user/models.py:196 msgid "users" msgstr "utilisateurs" -#: src/authentic2/custom_user/models.py:243 +#: src/authentic2/custom_user/models.py:244 msgid "" "An account needs at least one identifier: username, email or a full name " "(first and last name)." @@ -1145,15 +1151,15 @@ msgstr "" "Vous devez préciser au moins un identifiant parmi : identifiant utilisateur, " "adresse de courriel ou nom complet – prénom et nom." -#: src/authentic2/custom_user/models.py:278 -#: src/authentic2/forms/registration.py:104 tests/test_all.py:710 +#: src/authentic2/custom_user/models.py:279 +#: src/authentic2/forms/registration.py:117 tests/test_all.py:701 msgid "This username is already in use. Please supply a different username." msgstr "" "Cet identifiant est déjà utilisé. Utilisez s’il vous plaît un autre " "identifiant." -#: src/authentic2/custom_user/models.py:298 -#: src/authentic2/forms/registration.py:123 +#: src/authentic2/custom_user/models.py:299 +#: src/authentic2/forms/registration.py:136 msgid "" "This email address is already in use. Please supply a different email " "address." @@ -1161,80 +1167,80 @@ msgstr "" "Cette adresse de courriel est déjà utilisée. Utilisez s’il vous plaît une " "autre adresse de courriel." -#: src/authentic2/custom_user/models.py:404 +#: src/authentic2/custom_user/models.py:405 msgid "Deletion date" msgstr "Date de suppression" -#: src/authentic2/custom_user/models.py:405 +#: src/authentic2/custom_user/models.py:406 msgid "Old UUID" msgstr "Ancien UUID" -#: src/authentic2/custom_user/models.py:406 +#: src/authentic2/custom_user/models.py:407 msgid "Old user id" msgstr "Ancien identifiant en base" -#: src/authentic2/custom_user/models.py:407 +#: src/authentic2/custom_user/models.py:408 msgid "Old email adress" msgstr "Ancienne adresse de courriel" -#: src/authentic2/custom_user/models.py:408 +#: src/authentic2/custom_user/models.py:409 msgid "Old data" msgstr "Données conservées" -#: src/authentic2/custom_user/models.py:428 +#: src/authentic2/custom_user/models.py:429 #, python-format msgid "deleted user (%s)" msgstr "utilisateur supprimé (%s)" -#: src/authentic2/custom_user/models.py:431 +#: src/authentic2/custom_user/models.py:432 msgid "deleted user" msgstr "utilisateur supprimé" -#: src/authentic2/custom_user/models.py:432 +#: src/authentic2/custom_user/models.py:433 msgid "deleted users" msgstr "utilisateurs supprimés" -#: src/authentic2/data_transfer.py:201 +#: src/authentic2/data_transfer.py:200 #, python-format msgid "Role \"%(name)s\": %(errors)s" msgstr "Rôle « %(name)s »: %(errors)s" -#: src/authentic2/data_transfer.py:220 +#: src/authentic2/data_transfer.py:219 #, python-format msgid "Can't import role because missing Organizational Unit: %s" msgstr "Impossible d’importer le rôle, la collectivité est manquante : %s" -#: src/authentic2/data_transfer.py:232 src/authentic2/data_transfer.py:236 +#: src/authentic2/data_transfer.py:231 src/authentic2/data_transfer.py:235 #, python-format msgid "Cannot import role '%s' with invalid uuid" msgstr "Impossible d’importer le rôle « %s » avec un UUID invalide" -#: src/authentic2/data_transfer.py:240 src/authentic2/data_transfer.py:244 +#: src/authentic2/data_transfer.py:239 src/authentic2/data_transfer.py:243 #, python-format msgid "Cannot import role '%s' with invalid slug" msgstr "" "Impossible d’importer le rôle « %s » avec un identifiant court invalide" -#: src/authentic2/data_transfer.py:252 +#: src/authentic2/data_transfer.py:251 #, python-format msgid "Cannot import role '%s' with empty uuid" msgstr "Impossible d’importer le rôle « %s » sans uuid" -#: src/authentic2/data_transfer.py:291 +#: src/authentic2/data_transfer.py:290 #, python-format msgid "Could not find parent role: %s" msgstr "Impossible de trouver le rôle parent « %s »" -#: src/authentic2/data_transfer.py:377 +#: src/authentic2/data_transfer.py:376 msgid "Import file is invalid: not a dictionnary" msgstr "Fichier d’import invalide, ce n’est pas un objet JSON" -#: src/authentic2/data_transfer.py:409 +#: src/authentic2/data_transfer.py:408 #, python-format msgid "Unsupported context value for ou_delete_orphans : %s" msgstr "Valeur de contexte non prise en charge pour ou_delete_orphans : %s" -#: src/authentic2/data_transfer.py:415 +#: src/authentic2/data_transfer.py:414 #, python-format msgid "Unsupported context value for role_delete_orphans : %s" msgstr "Valeur de contexte non prise en charge pour role_delete_orphans : %s" @@ -1263,36 +1269,36 @@ msgstr "impossible de trouver une URL de retour valide pour %s" msgid "invalid return url %(return_url)s for %(entity_id)s" msgstr "URL de retour %(return_url)s invalide pour %(entity_id)s" -#: src/authentic2/forms/authentication.py:42 +#: src/authentic2/forms/authentication.py:43 msgid "Remember me" msgstr "Se souvenir de moi" -#: src/authentic2/forms/authentication.py:43 +#: src/authentic2/forms/authentication.py:44 msgid "Do not ask for authentication next time" msgstr "Ne pas demander d’authentification au prochain accès" -#: src/authentic2/forms/authentication.py:46 +#: src/authentic2/forms/authentication.py:47 #: src/authentic2/manager/forms.py:163 src/authentic2/manager/forms.py:397 -#: src/authentic2/manager/forms.py:603 src/authentic2/manager/forms.py:694 -#: src/authentic2/manager/forms.py:752 +#: src/authentic2/manager/forms.py:612 src/authentic2/manager/forms.py:703 +#: src/authentic2/manager/forms.py:761 #: src/authentic2/manager/templates/authentic2/manager/ou_detail.html:5 #: src/authentic2/manager/templates/authentic2/manager/ou_detail.html:10 #: src/authentic2/manager/templates/authentic2/manager/ou_edit.html:6 #: src/authentic2/manager/templates/authentic2/manager/service.html:24 -#: src/authentic2/saml/forms.py:38 +#: src/authentic2/saml/forms.py:39 msgid "Organizational unit" msgstr "Collectivité" -#: src/authentic2/forms/authentication.py:71 +#: src/authentic2/forms/authentication.py:72 msgid "Preferred organizational units" msgstr "Collectivités préférées" -#: src/authentic2/forms/authentication.py:72 +#: src/authentic2/forms/authentication.py:73 #: src/authentic2/manager/templates/authentic2/manager/user_detail.html:89 msgid "All organizational units" msgstr "Toutes les collectivités" -#: src/authentic2/forms/authentication.py:95 +#: src/authentic2/forms/authentication.py:96 #, python-format msgid "" "You made too many login errors recently, you must wait %s secondes avant de pouvoir à nouveau essayer." -#: src/authentic2/forms/authentication.py:148 +#: src/authentic2/forms/authentication.py:151 #, python-format msgid "Incorrect %(username_label)s or password." msgstr " %(username_label)s ou mot de passe incorrect." -#: src/authentic2/forms/authentication.py:154 +#: src/authentic2/forms/authentication.py:157 msgid "Try again, use the forgotten password link below, or create an account." msgstr "" "Vous pouvez réessayer ou utiliser le lien ci-dessous en cas de mot de passe " "perdu. Vous pouvez également vous créer un compte." -#: src/authentic2/forms/authentication.py:157 +#: src/authentic2/forms/authentication.py:160 msgid "Try again or use the forgotten password link below." msgstr "" "Vous pouvez réessayer ou utiliser le lien ci-dessous en cas de mot de passe " "perdu." -#: src/authentic2/forms/authentication.py:159 +#: src/authentic2/forms/authentication.py:162 msgid "Try again or create an account." msgstr "Vous pouvez réessayer ou vous créer un compte." @@ -1338,23 +1344,23 @@ msgstr "Les mots de passe ne sont pas identiques." msgid "The image is not valid" msgstr "L’image n’est pas valide" -#: src/authentic2/forms/passwords.py:47 +#: src/authentic2/forms/passwords.py:48 msgid "Email or username" msgstr "Courriel ou identifiant" -#: src/authentic2/forms/passwords.py:134 src/authentic2/forms/passwords.py:148 +#: src/authentic2/forms/passwords.py:135 src/authentic2/forms/passwords.py:149 msgid "New password" msgstr "Nouveau mot de passe" -#: src/authentic2/forms/passwords.py:135 src/authentic2/forms/passwords.py:149 +#: src/authentic2/forms/passwords.py:136 src/authentic2/forms/passwords.py:150 msgid "New password confirmation" msgstr "Confirmation du nouveau mot de passe" -#: src/authentic2/forms/passwords.py:140 src/authentic2/forms/passwords.py:155 +#: src/authentic2/forms/passwords.py:141 src/authentic2/forms/passwords.py:156 msgid "New password must differ from old password" msgstr "Le nouveau mot de passe doit être différent de l’ancien." -#: src/authentic2/forms/passwords.py:147 +#: src/authentic2/forms/passwords.py:148 msgid "Old password" msgstr "Ancien mot de passe" @@ -1386,11 +1392,11 @@ msgstr "Vous ne pouvez pas vous inscrire avec cette adresse de courriel." msgid "Special characters are not allowed." msgstr "Les caractères spéciaux sont interdits." -#: src/authentic2/forms/registration.py:142 +#: src/authentic2/forms/registration.py:155 msgid "Password (again)" msgstr "Confirmation du mot de passe" -#: src/authentic2/forms/widgets.py:168 +#: src/authentic2/forms/widgets.py:166 msgid "Format:" msgstr "Format :" @@ -1441,7 +1447,7 @@ msgstr "Supprimer" #: src/authentic2/idp/saml/backend.py:183 #: src/authentic2/manager/templates/authentic2/manager/user_imports.html:20 -#: src/authentic2/manager/user_views.py:172 +#: src/authentic2/manager/user_views.py:166 #: src/authentic2/templates/authentic2/accounts_edit.html:23 msgid "Create" msgstr "Créer" @@ -1592,8 +1598,8 @@ msgid "password reset request with email \"%s\"" msgstr "" "demande de réinitialisation du mot de passe pour l’adresse de courriel « %s »" -#: src/authentic2/journal_event_types.py:217 src/authentic2/models.py:362 -#: src/authentic2/models.py:363 +#: src/authentic2/journal_event_types.py:217 src/authentic2/models.py:359 +#: src/authentic2/models.py:360 msgid "password reset" msgstr "réinitialisation du mot de passe" @@ -1739,8 +1745,8 @@ msgstr "" "Vous devez au moins définir soit un identifiant soit un courriel pour " "pouvoir définir un mot de passe ou envoyer un lien d’activation." -#: src/authentic2/manager/forms.py:363 src/authentic2/manager/forms.py:589 -#: src/authentic2/saml/forms.py:32 +#: src/authentic2/manager/forms.py:363 src/authentic2/manager/forms.py:598 +#: src/authentic2/saml/forms.py:33 msgid "Name" msgstr "Nom" @@ -1758,94 +1764,100 @@ msgctxt "organizational unit" msgid "None" msgstr "Aucune" -#: src/authentic2/manager/forms.py:559 +#: src/authentic2/manager/forms.py:536 +#, fuzzy +#| msgid "Show internal roles" +msgid "Show only direct user roles" +msgstr "Afficher les rôles internes" + +#: src/authentic2/manager/forms.py:568 msgid "Free text" msgstr "Recherche libre" -#: src/authentic2/manager/forms.py:614 src/authentic2/manager/tables.py:104 +#: src/authentic2/manager/forms.py:623 src/authentic2/manager/tables.py:104 #: src/authentic2/manager/tables.py:134 src/authentic2/manager/tables.py:146 -#: src/authentic2/manager/tables.py:185 src/authentic2/models.py:140 +#: src/authentic2/manager/tables.py:185 src/authentic2/models.py:137 msgid "label" msgstr "libellé" -#: src/authentic2/manager/forms.py:666 +#: src/authentic2/manager/forms.py:675 msgid "Site Export File" msgstr "Fichier d’export de site" -#: src/authentic2/manager/forms.py:678 +#: src/authentic2/manager/forms.py:687 msgid "File is not in the expected JSON format." msgstr "Le fichier n’est pas au format JSON attendu." -#: src/authentic2/manager/forms.py:682 +#: src/authentic2/manager/forms.py:691 msgid "Organizational Units Export File" msgstr "Fichier d’export des collectivités" -#: src/authentic2/manager/forms.py:686 +#: src/authentic2/manager/forms.py:695 msgid "Roles Export File" msgstr "Fichier d’export des rôles" -#: src/authentic2/manager/forms.py:699 +#: src/authentic2/manager/forms.py:708 msgid "Unicode (UTF-8)" msgstr "Unicode (UTF-8)" -#: src/authentic2/manager/forms.py:700 +#: src/authentic2/manager/forms.py:709 msgid "Western Europe (Windows-1252)" msgstr "Europe occidentale (Windows-1252)" -#: src/authentic2/manager/forms.py:701 +#: src/authentic2/manager/forms.py:710 msgid "Western Europe (ISO-8859-15)" msgstr "Europe occidentale (ISO-8859-15)" -#: src/authentic2/manager/forms.py:706 +#: src/authentic2/manager/forms.py:715 msgid "Import file" msgstr "Fichier d’import" -#: src/authentic2/manager/forms.py:706 +#: src/authentic2/manager/forms.py:715 msgid "A CSV file" msgstr "Un fichier CSV" -#: src/authentic2/manager/forms.py:707 +#: src/authentic2/manager/forms.py:716 msgid "Encoding" msgstr "Encodage" -#: src/authentic2/manager/forms.py:708 +#: src/authentic2/manager/forms.py:717 msgid "Organizational Unit" msgstr "Collectivité" -#: src/authentic2/manager/forms.py:712 +#: src/authentic2/manager/forms.py:721 msgid "Invalid import file" msgstr "Fichier d’import invalide" -#: src/authentic2/manager/forms.py:746 +#: src/authentic2/manager/forms.py:755 msgid "Roles file" msgstr "Fichier de rôles" -#: src/authentic2/manager/forms.py:748 +#: src/authentic2/manager/forms.py:757 msgid "" "CSV file with role name and optionnaly role slug and organizational unit." msgstr "" "Fichier CSV avec le nom des rôles et, facultatifs, l’identifiant court du " "rôle et la collectivité." -#: src/authentic2/manager/forms.py:765 +#: src/authentic2/manager/forms.py:774 msgid "Invalid file format." msgstr "Format de fichier invalide." -#: src/authentic2/manager/forms.py:798 +#: src/authentic2/manager/forms.py:807 #, python-format msgid "Invalid file header \"%s\", expected \"name,slug,ou\"." msgstr "Entête de fichier invalide (%s), valeur attendue : « name,slug,ou »." -#: src/authentic2/manager/forms.py:803 +#: src/authentic2/manager/forms.py:812 msgid "Name is required." msgstr "Le nom est obligatoire" -#: src/authentic2/manager/forms.py:815 +#: src/authentic2/manager/forms.py:824 #, python-format msgid "Organizational Unit %s does not exist." msgstr "La collectivité %s n’existe pas." -#: src/authentic2/manager/forms.py:837 +#: src/authentic2/manager/forms.py:846 #, python-format msgid "%(error)s (line %(number)d)" msgstr "%(error)s (ligne %(number)d)" @@ -1973,7 +1985,8 @@ msgstr "activation d’un compte" #: src/authentic2/manager/journal_event_types.py:210 msgid "automatic activation because the associated LDAP account reappeared" -msgstr "activation automatique parce que le compte LDAP associé existe à nouveau" +msgstr "" +"activation automatique parce que le compte LDAP associé existe à nouveau" #: src/authentic2/manager/journal_event_types.py:212 msgid "activation by administrator" @@ -2289,7 +2302,7 @@ msgstr "Tous" #: src/authentic2/manager/templates/authentic2/manager/user_journal.html:5 #: src/authentic2/manager/templates/authentic2/manager/users.html:4 #: src/authentic2/manager/templates/authentic2/manager/users.html:33 -#: src/authentic2/manager/user_views.py:103 src/authentic2/manager/views.py:611 +#: src/authentic2/manager/user_views.py:97 src/authentic2/manager/views.py:611 msgid "Users" msgstr "Utilisateurs" @@ -2461,7 +2474,7 @@ msgstr "Rôle déjà autorisé dans ce service." msgid "Edit service" msgstr "Éditer le service" -#: src/authentic2/manager/tables.py:62 src/authentic2/models.py:151 +#: src/authentic2/manager/tables.py:62 src/authentic2/models.py:148 msgid "disabled" msgstr "désactivé" @@ -2574,7 +2587,7 @@ msgstr "" #: src/authentic2/templates/authentic2/login_password_form.html:13 #: src/authentic2/templates/authentic2/logout_confirm.html:20 #: src/authentic2/templates/registration/password_change_form.html:26 -#: tests/test_idp_saml2.py:342 +#: tests/test_idp_saml2.py:340 msgid "Cancel" msgstr "Annuler" @@ -2890,7 +2903,7 @@ msgstr "" "avant de finaliser sa création :" #: src/authentic2/manager/templates/authentic2/manager/user_authorizations.html:17 -#: src/authentic2/manager/user_views.py:956 +#: src/authentic2/manager/user_views.py:952 msgctxt "manager" msgid "Consent Management" msgstr "Gestion des consentements" @@ -3147,7 +3160,7 @@ msgstr "Rapports" #: src/authentic2/manager/templates/authentic2/manager/user_import.html:52 #: src/authentic2/manager/templates/authentic2/manager/user_imports.html:32 -#: src/authentic2/models.py:471 +#: src/authentic2/models.py:468 msgid "Creation date" msgstr "Date de création" @@ -3311,7 +3324,7 @@ msgid "Label" msgstr "Libellé" #: src/authentic2/manager/templates/authentic2/manager/user_imports.html:71 -#: src/authentic2/models.py:467 +#: src/authentic2/models.py:464 msgid "Identifier" msgstr "Identifiant" @@ -3557,112 +3570,112 @@ msgstr "" msgid "Add user" msgstr "Ajouter un utilisateur" -#: src/authentic2/manager/user_import.py:127 +#: src/authentic2/manager/user_import.py:126 msgid "Waiting" msgstr "En attente" -#: src/authentic2/manager/user_import.py:128 +#: src/authentic2/manager/user_import.py:127 msgid "Running" msgstr "En cours d’exécution" -#: src/authentic2/manager/user_import.py:129 +#: src/authentic2/manager/user_import.py:128 msgid "Finished" msgstr "Terminé" -#: src/authentic2/manager/user_import.py:130 +#: src/authentic2/manager/user_import.py:129 msgid "Error" msgstr "Échec" -#: src/authentic2/manager/user_views.py:137 +#: src/authentic2/manager/user_views.py:131 #, python-format msgid "Enter at least %(limit)d characters (%(user_count)d users)" msgstr "" "Veuillez taper au moins %(limit)d caractères — %(user_count)d utilisateur(s)" -#: src/authentic2/manager/user_views.py:160 +#: src/authentic2/manager/user_views.py:154 msgid "Import users" msgstr "Importer des utilisateurs" -#: src/authentic2/manager/user_views.py:171 +#: src/authentic2/manager/user_views.py:165 msgid "Create user" msgstr "Créer un nouvel utilisateur" -#: src/authentic2/manager/user_views.py:276 +#: src/authentic2/manager/user_views.py:270 msgid "Choose organizational unit in which to create user" msgstr "Choisir la collectivité du nouvel utilisateur" -#: src/authentic2/manager/user_views.py:294 +#: src/authentic2/manager/user_views.py:288 #: src/authentic2/templates/authentic2/change_email.html:20 msgid "Validate" msgstr "Valider" -#: src/authentic2/manager/user_views.py:319 +#: src/authentic2/manager/user_views.py:312 msgid "Reset password" msgstr "Réinitialiser le mot de passe" -#: src/authentic2/manager/user_views.py:321 +#: src/authentic2/manager/user_views.py:314 msgid "Suspend" msgstr "Suspendre" -#: src/authentic2/manager/user_views.py:323 +#: src/authentic2/manager/user_views.py:316 msgid "Activate" msgstr "Activer" -#: src/authentic2/manager/user_views.py:327 +#: src/authentic2/manager/user_views.py:320 msgid "Do not force password change on next login" msgstr "Ne pas forcer le changement de mot de passe à la prochaine connexion" -#: src/authentic2/manager/user_views.py:333 +#: src/authentic2/manager/user_views.py:326 msgid "Force password change on next login" msgstr "Forcer le changement de mot de passe à la prochaine connexion" -#: src/authentic2/manager/user_views.py:338 -#: src/authentic2/manager/user_views.py:572 +#: src/authentic2/manager/user_views.py:331 +#: src/authentic2/manager/user_views.py:565 msgid "Change user password" msgstr "Changer le mot de passe" -#: src/authentic2/manager/user_views.py:343 +#: src/authentic2/manager/user_views.py:336 msgid "Impersonate this user" msgstr "Se reconnecter avec cet utilisateur" -#: src/authentic2/manager/user_views.py:347 -#: src/authentic2/manager/user_views.py:602 +#: src/authentic2/manager/user_views.py:340 +#: src/authentic2/manager/user_views.py:595 msgid "Change user email" msgstr "Changer l’adresse de courriel" -#: src/authentic2/manager/user_views.py:363 +#: src/authentic2/manager/user_views.py:356 msgid "You cannot desactivate your own user" msgstr "Vous ne pouvez pas désactiver votre propre utilisateur." -#: src/authentic2/manager/user_views.py:373 +#: src/authentic2/manager/user_views.py:366 msgid "" "User has no email, it'not possible to send him am email to reset its password" msgstr "" "Cet utilisateur n’a pas d’adresse de courriel, il n’est pas possible de lui " "envoyer un lien de réinitialisation de son mot de passe" -#: src/authentic2/manager/user_views.py:377 +#: src/authentic2/manager/user_views.py:370 #, python-format msgid "A mail was sent to %s" msgstr "Un courrier électronique a été envoyé à %s." -#: src/authentic2/manager/user_views.py:418 +#: src/authentic2/manager/user_views.py:411 msgid "Email verified" msgstr "Courriel vérifié" -#: src/authentic2/manager/user_views.py:420 +#: src/authentic2/manager/user_views.py:413 msgid "Email not verified" msgstr "Courriel non vérifié" -#: src/authentic2/manager/user_views.py:466 +#: src/authentic2/manager/user_views.py:459 msgid "Change" msgstr "Modifier" -#: src/authentic2/manager/user_views.py:467 +#: src/authentic2/manager/user_views.py:460 msgid "Edit user" msgstr "Éditer l’utilisateur" -#: src/authentic2/manager/user_views.py:573 +#: src/authentic2/manager/user_views.py:566 #: src/authentic2/saml/templates/admin/saml/libertyprovider/add_from_url.html:37 #: src/authentic2/templates/authentic2/accounts_edit.html:20 #: src/authentic2/templates/authentic2/login_password_registration_form.html:7 @@ -3674,51 +3687,51 @@ msgstr "Éditer l’utilisateur" msgid "Submit" msgstr "Valider" -#: src/authentic2/manager/user_views.py:579 +#: src/authentic2/manager/user_views.py:572 #, python-format msgid "New password sent to %s" msgstr "Un nouveau mot de passe a été envoyé par courriel à %s." -#: src/authentic2/manager/user_views.py:581 +#: src/authentic2/manager/user_views.py:574 msgid "New password set" msgstr "Nouveau mot de passe défini" -#: src/authentic2/manager/user_views.py:606 +#: src/authentic2/manager/user_views.py:599 #, python-format msgid "A mail was sent to %s to verify it." msgstr "Un courrier électronique a été envoyé à %s pour la vérifier." -#: src/authentic2/manager/user_views.py:691 +#: src/authentic2/manager/user_views.py:684 #, python-brace-format msgid "User {user} has already the role {role}." msgstr "L’utilisateur {user} possède déjà le rôle {role}." -#: src/authentic2/manager/user_views.py:735 +#: src/authentic2/manager/user_views.py:728 msgid "Delete user" msgstr "Supprimer l’utilisateur" -#: src/authentic2/manager/user_views.py:822 +#: src/authentic2/manager/user_views.py:815 #, python-brace-format msgid "{0}. {1} {3}" msgstr "{0}. {1} {3}" -#: src/authentic2/manager/user_views.py:824 +#: src/authentic2/manager/user_views.py:817 msgid "ex.:" msgstr "ex. :" -#: src/authentic2/manager/user_views.py:826 +#: src/authentic2/manager/user_views.py:819 msgid "users.csv" msgstr "utilisateurs.csv" -#: src/authentic2/manager/user_views.py:901 +#: src/authentic2/manager/user_views.py:897 msgid "Simulation" msgstr "Simulation" -#: src/authentic2/manager/user_views.py:903 +#: src/authentic2/manager/user_views.py:899 msgid "Execution" msgstr "Importation" -#: src/authentic2/manager/user_views.py:925 +#: src/authentic2/manager/user_views.py:921 msgid "Switch user" msgstr "Reconnexion" @@ -3736,7 +3749,7 @@ msgstr "Éditer l’objet « %s »" msgid "Site Import" msgstr "Import de site" -#: src/authentic2/middleware.py:135 +#: src/authentic2/middleware.py:136 msgid "You must change your password to continue" msgstr "Vous devez changer votre mot de passe avant de continuer." @@ -3752,48 +3765,48 @@ msgstr "date de création" msgid "last update date" msgstr "dernière date de mise à jour" -#: src/authentic2/models.py:70 +#: src/authentic2/models.py:67 msgid "user external id" msgstr "identifiant externe d’un utilisateur" -#: src/authentic2/models.py:71 +#: src/authentic2/models.py:68 msgid "user external ids" msgstr "identifiants externes des utilisateurs" -#: src/authentic2/models.py:80 +#: src/authentic2/models.py:77 msgid "when" msgstr "quand" -#: src/authentic2/models.py:81 +#: src/authentic2/models.py:78 msgid "who" msgstr "qui" -#: src/authentic2/models.py:82 +#: src/authentic2/models.py:79 msgid "how" msgstr "comment" -#: src/authentic2/models.py:83 +#: src/authentic2/models.py:80 msgid "nonce" msgstr "numéro unique" -#: src/authentic2/models.py:88 +#: src/authentic2/models.py:85 msgid "authentication log" msgstr "Journal des authentifications" -#: src/authentic2/models.py:89 +#: src/authentic2/models.py:86 msgid "authentication logs" msgstr "Journaux des authentification" -#: src/authentic2/models.py:92 +#: src/authentic2/models.py:89 #, python-format msgid "Authentication of %(who)s by %(how)s at %(when)s" msgstr "Authentification de %(who)s par %(how)s à %(when)s" -#: src/authentic2/models.py:97 +#: src/authentic2/models.py:94 msgid "url" msgstr "url" -#: src/authentic2/models.py:99 +#: src/authentic2/models.py:96 msgid "" "you can use a {} to pass the URL of the success icon, ex.: http://example." "com/logout?next={}" @@ -3801,15 +3814,15 @@ msgstr "" "vous pouvez utiliser la chaîne {} pour passer l’URL de l’icône de succès, " "ex. : http://example.com/logout?next={}" -#: src/authentic2/models.py:106 +#: src/authentic2/models.py:103 msgid "use an iframe instead of an img tag for logout" msgstr "utiliser une iframe au lieu d’un tag img pour la déconnexion" -#: src/authentic2/models.py:109 +#: src/authentic2/models.py:106 msgid "iframe logout timeout (ms)" msgstr "temps d’expiration pour les iframe de déconnexion (en ms)" -#: src/authentic2/models.py:111 src/authentic2/saml/models.py:275 +#: src/authentic2/models.py:108 src/authentic2/saml/models.py:275 msgid "" "if iframe logout is used, it's the time between the onload event for this " "iframe and the moment we consider its loading to be really finished" @@ -3818,121 +3831,121 @@ msgstr "" "l’évènement onload pour cette iframe et le moment où l’on peut considérer " "que le chargement vraiment terminé." -#: src/authentic2/models.py:130 src/authentic2/models.py:315 +#: src/authentic2/models.py:127 src/authentic2/models.py:312 #: src/authentic2/saml/models.py:314 msgid "content type" msgstr "type d’objet" -#: src/authentic2/models.py:131 src/authentic2/models.py:317 +#: src/authentic2/models.py:128 src/authentic2/models.py:314 #: src/authentic2/saml/models.py:315 msgid "object identifier" msgstr "identifiant d’objet" -#: src/authentic2/models.py:135 src/authentic2/models.py:136 +#: src/authentic2/models.py:132 src/authentic2/models.py:133 msgid "logout URL" msgstr "URL de déconnexion" -#: src/authentic2/models.py:141 +#: src/authentic2/models.py:138 msgid "description" msgstr "description" -#: src/authentic2/models.py:143 +#: src/authentic2/models.py:140 msgid "required" msgstr "requis" -#: src/authentic2/models.py:145 +#: src/authentic2/models.py:142 msgid "asked on registration" msgstr "demandé à la création du compte" -#: src/authentic2/models.py:147 +#: src/authentic2/models.py:144 msgid "user editable" msgstr "éditable par l’utilisateur" -#: src/authentic2/models.py:148 +#: src/authentic2/models.py:145 msgid "user visible" msgstr "visible de l’utilisateur" -#: src/authentic2/models.py:149 +#: src/authentic2/models.py:146 msgid "multiple" msgstr "multiple" -#: src/authentic2/models.py:152 +#: src/authentic2/models.py:149 msgid "searchable" msgstr "indexé" -#: src/authentic2/models.py:155 +#: src/authentic2/models.py:152 msgid "scopes" msgstr "portées" -#: src/authentic2/models.py:156 +#: src/authentic2/models.py:153 msgid "scopes separated by spaces" msgstr "portées séparées par des espaces" -#: src/authentic2/models.py:162 +#: src/authentic2/models.py:159 msgid "order" msgstr "ordre" -#: src/authentic2/models.py:307 +#: src/authentic2/models.py:304 msgid "attribute definition" msgstr "définition d’un attribut" -#: src/authentic2/models.py:308 +#: src/authentic2/models.py:305 msgid "attribute definitions" msgstr "définition des attributs" -#: src/authentic2/models.py:320 +#: src/authentic2/models.py:317 msgid "attribute" msgstr "attribut" -#: src/authentic2/models.py:326 +#: src/authentic2/models.py:323 msgid "content" msgstr "contenu" -#: src/authentic2/models.py:343 +#: src/authentic2/models.py:340 msgid "attribute value" msgstr "valeur d’un attribut" -#: src/authentic2/models.py:345 +#: src/authentic2/models.py:342 msgid "attribute values" msgstr "valeurs des attributs" -#: src/authentic2/models.py:371 +#: src/authentic2/models.py:368 msgid "slug" msgstr "identifiant court" -#: src/authentic2/models.py:382 +#: src/authentic2/models.py:379 msgid "authorized services" msgstr "services autorisés" -#: src/authentic2/models.py:389 +#: src/authentic2/models.py:386 msgid "callback url when unauthorized" msgstr "URL de retour quand non-autorisé" -#: src/authentic2/models.py:400 +#: src/authentic2/models.py:397 msgid "The slug must be unique for this ou" msgstr "L’identifiant court doit être unique au sein de cette collectivité." -#: src/authentic2/models.py:404 +#: src/authentic2/models.py:401 msgid "The name must be unique for this ou" msgstr "Le nom doit être unique au sein de cette collectivité." -#: src/authentic2/models.py:409 +#: src/authentic2/models.py:406 msgid "base service model" msgstr "service" -#: src/authentic2/models.py:410 +#: src/authentic2/models.py:407 msgid "base service models" msgstr "services" -#: src/authentic2/models.py:469 +#: src/authentic2/models.py:466 msgid "Kind" msgstr "Type" -#: src/authentic2/models.py:470 +#: src/authentic2/models.py:467 msgid "Content" msgstr "Contenu" -#: src/authentic2/models.py:472 +#: src/authentic2/models.py:469 msgid "Expires" msgstr "Expiration" @@ -3993,34 +4006,34 @@ msgstr "explicite" msgid "implicit" msgstr "implicite" -#: src/authentic2/saml/forms.py:34 +#: src/authentic2/saml/forms.py:35 msgid "Shortcut" msgstr "Raccourci" -#: src/authentic2/saml/forms.py:34 +#: src/authentic2/saml/forms.py:35 msgid "Internal nickname for the service provider" msgstr "Nom local du fournisseur de service" -#: src/authentic2/saml/forms.py:36 +#: src/authentic2/saml/forms.py:37 msgid "Metadata's URL" msgstr "URL des métadonnées" -#: src/authentic2/saml/forms.py:56 +#: src/authentic2/saml/forms.py:57 #, python-format msgid "Retrieval of %(url)s failed: %(exception)s" msgstr "" "La récupération des métadonnées à l’URL %(url)s a échouée : %(exception)s" -#: src/authentic2/saml/forms.py:60 src/authentic2/saml/forms.py:63 +#: src/authentic2/saml/forms.py:61 src/authentic2/saml/forms.py:64 #, python-format msgid "Invalid SAML metadata: %s" msgstr "Métadonnées SAML incorrectes : %s" -#: src/authentic2/saml/forms.py:60 +#: src/authentic2/saml/forms.py:61 msgid "missing EntityDescriptor tag" msgstr "Au moins un tag XML EntityDescriptor est nécessaire" -#: src/authentic2/saml/forms.py:63 +#: src/authentic2/saml/forms.py:64 msgid "missing SPSSODescriptor tags" msgstr "Au moins un tag XML SPSSODescriptor est nécessaire" @@ -4040,14 +4053,14 @@ msgstr "Téléphone" msgid "Email Address" msgstr "Courriel" -#: src/authentic2/saml/management/commands/sync-metadata.py:155 -#: src/authentic2/saml/management/commands/sync-metadata.py:241 +#: src/authentic2/saml/management/commands/sync-metadata.py:154 +#: src/authentic2/saml/management/commands/sync-metadata.py:240 #, python-format msgid "Created new attribute %(name)s for %(provider)s" msgstr "" "Création d’un nouvel attribut %(name)s pour le fournisseur %(provider)s" -#: src/authentic2/saml/management/commands/sync-metadata.py:229 +#: src/authentic2/saml/management/commands/sync-metadata.py:228 #, python-format msgid "" "Unable to find an LDAP definition for attribute %(name)s on %(provider)s" @@ -4055,18 +4068,18 @@ msgstr "" "Impossible de trouver une définition LDAP pour l’attribut %(name)s du " "fournisseur %(provider)s" -#: src/authentic2/saml/management/commands/sync-metadata.py:378 +#: src/authentic2/saml/management/commands/sync-metadata.py:377 #, python-format msgid "SAML2 service provider options policy with name %s not found" msgstr "" "La politique de fournisseur de service SAML nommée « %s » est introuvable" -#: src/authentic2/saml/management/commands/sync-metadata.py:400 +#: src/authentic2/saml/management/commands/sync-metadata.py:399 #, python-format msgid "Failed to load entity descriptor for %s" msgstr "Échec du chargement des descripteurs d’entité pour %s" -#: src/authentic2/saml/management/commands/sync-metadata.py:415 +#: src/authentic2/saml/management/commands/sync-metadata.py:414 #, python-format msgid "Deleted obsolete provider %s" msgstr "Suppression du fournisseur obsolète %s" @@ -4470,7 +4483,7 @@ msgid "Change email" msgstr "Modifier votre adresse électronique" #: src/authentic2/templates/authentic2/accounts.html:38 -#: src/authentic2/views.py:74 +#: src/authentic2/views.py:75 msgid "Edit account data" msgstr "Éditer les données du compte" @@ -4497,7 +4510,7 @@ msgstr "Gestion des liaisons" #: src/authentic2/templates/authentic2/change_email.html:10 #: src/authentic2/templates/authentic2/homepage.html:10 #: src/authentic2/templates/registration/password_change_form.html:10 -#: src/authentic2/views.py:409 +#: src/authentic2/views.py:412 msgid "Your account" msgstr "Votre compte" @@ -5088,7 +5101,7 @@ msgid "Logged out" msgstr "Déconnecté" #: src/authentic2/templates/registration/password_change_done.html:9 -#: src/authentic2/views.py:1356 +#: src/authentic2/views.py:1369 msgid "Password changed" msgstr "Mot de passe modifié" @@ -5255,7 +5268,7 @@ msgstr "" #: src/authentic2/templates/registration/registration_completion_choose.html:5 #: src/authentic2/templates/registration/registration_completion_form.html:5 #: src/authentic2/templates/registration/registration_completion_form.html:10 -#: src/authentic2/views.py:837 +#: src/authentic2/views.py:846 msgid "Registration" msgstr "Création d’un compte" @@ -5311,34 +5324,6 @@ msgstr "" "Le lien de demande de récupération du compte n’est plus valide, veuillez " "effectuer une nouvelle demande." -#: src/authentic2/utils/__init__.py:1072 -#, python-format -msgid "%s day" -msgid_plural "%s days" -msgstr[0] "%s jour" -msgstr[1] "%s jours" - -#: src/authentic2/utils/__init__.py:1074 -#, python-format -msgid "%s hour" -msgid_plural "%s hours" -msgstr[0] "%s heure" -msgstr[1] "%s heures" - -#: src/authentic2/utils/__init__.py:1076 -#, python-format -msgid "%s minute" -msgid_plural "%s minutes" -msgstr[0] "%s minute" -msgstr[1] "%s minutes" - -#: src/authentic2/utils/__init__.py:1078 -#, python-format -msgid "%s second" -msgid_plural "%s seconds" -msgstr[0] "%s seconde" -msgstr[1] "%s secondes" - #: src/authentic2/utils/evaluate.py:95 #, python-format msgid "expression \"%(expression)s\" is forbidden" @@ -5348,19 +5333,47 @@ msgstr "l’expression « %(expression)s » est interdite" msgid "could not parse expression" msgstr "analyse de l’expression impossible" -#: src/authentic2/utils/evaluate.py:185 +#: src/authentic2/utils/evaluate.py:183 msgid "name must not start with a _" msgstr "un nom ne peut pas commencer par _" -#: src/authentic2/utils/evaluate.py:202 +#: src/authentic2/utils/evaluate.py:200 msgid "subscript index MUST be a constant" msgstr "l’index utilisé dans l’instruction DOIT être une constante" -#: src/authentic2/utils/evaluate.py:224 +#: src/authentic2/utils/evaluate.py:222 #, python-format msgid "variable is not defined: %s" msgstr "variable non définie : %s" +#: src/authentic2/utils/misc.py:1071 +#, python-format +msgid "%s day" +msgid_plural "%s days" +msgstr[0] "%s jour" +msgstr[1] "%s jours" + +#: src/authentic2/utils/misc.py:1073 +#, python-format +msgid "%s hour" +msgid_plural "%s hours" +msgstr[0] "%s heure" +msgstr[1] "%s heures" + +#: src/authentic2/utils/misc.py:1075 +#, python-format +msgid "%s minute" +msgid_plural "%s minutes" +msgstr[0] "%s minute" +msgstr[1] "%s minutes" + +#: src/authentic2/utils/misc.py:1077 +#, python-format +msgid "%s second" +msgid_plural "%s seconds" +msgstr[0] "%s seconde" +msgstr[1] "%s secondes" + #: src/authentic2/utils/template.py:35 src/authentic2/utils/template.py:45 #, python-format msgid "template syntax error: %s" @@ -5383,23 +5396,23 @@ msgstr "" msgid "The form was out of date, please try again." msgstr "Ce formulaire était périmé, veuillez ré-essayer." -#: src/authentic2/validators.py:77 +#: src/authentic2/validators.py:76 msgid "Invalid email address." msgstr "Adresse de courriel invalide." -#: src/authentic2/validators.py:95 +#: src/authentic2/validators.py:94 msgid "Email domain is invalid" msgstr "Le domaine de l’adresse de courriel est invalide." -#: src/authentic2/validators.py:113 +#: src/authentic2/validators.py:112 msgid "Null characters are not allowed." msgstr "Le caractère nul est interdit." -#: src/authentic2/views.py:161 +#: src/authentic2/views.py:162 msgid "Email Change" msgstr "Changement d’adresse de courriel" -#: src/authentic2/views.py:186 +#: src/authentic2/views.py:187 msgid "" "Your request for changing your email is received. An email of validation was " "sent to you. Please click on the link contained inside." @@ -5408,54 +5421,54 @@ msgstr "" "courriel de validation vous a été envoyé. Veuillez cliquer sur le lien " "contenu dans ce courriel." -#: src/authentic2/views.py:220 +#: src/authentic2/views.py:221 msgid "This email is already used by another account." msgstr "Cette adresse de courriel est déjà utilisée par un autre compte." -#: src/authentic2/views.py:226 +#: src/authentic2/views.py:227 #, python-brace-format msgid "your request for changing your email for {0} is successful" msgstr "Votre demande de changement d’adresse de courriel pour {0} est validée" -#: src/authentic2/views.py:238 +#: src/authentic2/views.py:239 msgid "your request for changing your email is too old, try again" msgstr "" "Votre demande de changement d’adresse de courriel est trop ancienne, " "veuillez réessayer" -#: src/authentic2/views.py:240 +#: src/authentic2/views.py:241 msgid "your request for changing your email is invalid, try again" msgstr "" "Votre demande de changement d’adresse de courriel est invalide, veuillez " "réessayer" -#: src/authentic2/views.py:243 +#: src/authentic2/views.py:244 msgid "your request for changing your email was not on this site, try again" msgstr "" "Votre demande de changement d’adresse de courriel vient d’un autre site que " "celui-ci." -#: src/authentic2/views.py:247 +#: src/authentic2/views.py:248 msgid "your request for changing your email is for an unknown user, try again" msgstr "" "Votre demande de changement d’adresse de courriel concerne un utilisateur " "inconnu." -#: src/authentic2/views.py:575 +#: src/authentic2/views.py:580 msgid "Logging out from all your services" msgstr "Déconnexion de tous les services" -#: src/authentic2/views.py:647 +#: src/authentic2/views.py:652 msgid "The page is out of date, it was reloaded for you" msgstr "" "Cette page est périmée car vous vous êtes connecté entretemps; nous l’avons " "rechargée pour vous." -#: src/authentic2/views.py:655 src/authentic2/views.py:767 +#: src/authentic2/views.py:660 src/authentic2/views.py:772 msgid "Password Reset" msgstr "Mot de passe oublié" -#: src/authentic2/views.py:700 src/authentic2/views.py:881 +#: src/authentic2/views.py:705 src/authentic2/views.py:890 #, python-format msgid "" "An email has already been sent to %s. Click \"Validate\" again if you really " @@ -5464,7 +5477,7 @@ msgstr "" "Un courriel a déjà été envoyé à %s. Cliquez sur « Valider » si vous voulez " "vraiment qu’il soit réenvoyé." -#: src/authentic2/views.py:719 src/authentic2/views.py:899 +#: src/authentic2/views.py:724 src/authentic2/views.py:908 msgid "" "Multiple emails have already been sent to this address. Further attempts are " "blocked, please check your spam folder or try again later." @@ -5473,7 +5486,7 @@ msgstr "" "envois sont bloqués, vous devriez vérifier votre dossier d’indésirables " "(spams, pourriels) ou réessayer plus tard." -#: src/authentic2/views.py:735 +#: src/authentic2/views.py:740 msgid "" "Multiple password reset attempts have already been made from this IP " "address. No further email will be sent, please check your spam folder or try " @@ -5483,30 +5496,30 @@ msgstr "" "adresse IP. Les nouveaux de courriels sont bloqués, vous devriez vérifier " "votre dossier d’indésirables (spams, pourriels) ou réessayer plus tard." -#: src/authentic2/views.py:780 +#: src/authentic2/views.py:785 msgid "Password reset token is unknown or expired" msgstr "Le lien de récupération du compte est inconnu ou expiré" -#: src/authentic2/views.py:783 +#: src/authentic2/views.py:788 msgid "Password reset token is invalid" msgstr "Le lien de récupération du compte est invalide" -#: src/authentic2/views.py:791 +#: src/authentic2/views.py:796 msgid "User not found" msgstr "Utilisateur introuvable" -#: src/authentic2/views.py:799 +#: src/authentic2/views.py:808 msgid "" "It's not possible to reset your password. Please contact an administrator." msgstr "" "Vous ne pouvez pas utiliser la procédure de récupération de compte. Veuillez " "contacter votre administrateur." -#: src/authentic2/views.py:807 +#: src/authentic2/views.py:816 msgid "Enter new password" msgstr "Entrez un nouveau mot de passe" -#: src/authentic2/views.py:914 +#: src/authentic2/views.py:923 msgid "" "Multiple registration attempts have already been made from this IP address. " "No further email will be sent, please check your spam folder or try again " @@ -5517,63 +5530,63 @@ msgstr "" "vérifier votre dossier d’indésirables (spams, pourriels) ou réessayer plus " "tard." -#: src/authentic2/views.py:985 +#: src/authentic2/views.py:996 msgid "Your activation key is unknown or expired" msgstr "Votre clé d’activation est inconnue ou a expiré" -#: src/authentic2/views.py:988 +#: src/authentic2/views.py:999 msgid "Activation failed" msgstr "Échec à l’activation du compte" -#: src/authentic2/views.py:1245 +#: src/authentic2/views.py:1260 msgid "Request account deletion" msgstr "Demande de suppression de compte" -#: src/authentic2/views.py:1256 +#: src/authentic2/views.py:1271 msgid "" "An account deletion validation email has been sent to your email address." msgstr "" "Un message pour valider la suppression du compte a été envoyé à votre " "adresse électronique." -#: src/authentic2/views.py:1267 +#: src/authentic2/views.py:1282 msgid "Confirm account deletion" msgstr "Confirmation de la suppression du compte" -#: src/authentic2/views.py:1279 +#: src/authentic2/views.py:1294 msgid "This account is inactive, it cannot be deleted." msgstr "Ce compte est désactivé, il ne peut plus être supprimé." -#: src/authentic2/views.py:1282 +#: src/authentic2/views.py:1297 msgid "The account deletion request is too old, try again" msgstr "La demande de suppression de compte est expirée." -#: src/authentic2/views.py:1284 +#: src/authentic2/views.py:1299 msgid "The account deletion request is invalid, try again" msgstr "La demande de suppression de compte n’est pas valide." -#: src/authentic2/views.py:1286 +#: src/authentic2/views.py:1301 msgid "The account deletion request was not on this site, try again" msgstr "" "Votre demande de suppression de compte vient d’un autre site que celui-ci." -#: src/authentic2/views.py:1290 +#: src/authentic2/views.py:1305 msgid "This account has previously been deleted." msgstr "Ce compte a déjà été supprimé." -#: src/authentic2/views.py:1304 +#: src/authentic2/views.py:1319 msgid "Deletion performed." msgstr "Suppression effectuée." -#: src/authentic2/views.py:1334 +#: src/authentic2/views.py:1347 msgid "Password Change" msgstr "Changement de mot de passe" -#: src/authentic2/views.py:1345 +#: src/authentic2/views.py:1358 msgid "Password change is forbidden" msgstr "Changement de mot de passe interdit" -#: src/authentic2/views.py:1395 +#: src/authentic2/views.py:1408 msgid "Consent Management" msgstr "Gestion des autorisations"