translation update

This commit is contained in:
Valentin Deniaud 2021-04-28 12:03:54 +02:00
parent a4c3fff8b9
commit 0c342c8cf0
7 changed files with 430 additions and 368 deletions

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Authentic\n" "Project-Id-Version: Authentic\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-02 17:02+0200\n" "POT-Creation-Date: 2021-04-28 12:01+0200\n"
"PO-Revision-Date: 2021-04-02 17:02+0200\n" "PO-Revision-Date: 2021-04-02 17:02+0200\n"
"Last-Translator: Mikaël Ates <mates@entrouvert.com>\n" "Last-Translator: Mikaël Ates <mates@entrouvert.com>\n"
"Language-Team: None\n" "Language-Team: None\n"
@ -17,6 +17,14 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n>1;\n" "Plural-Forms: nplurals=2; plural=n>1;\n"
#: debian/multitenant/debian_config.py:43 src/authentic2/forms/passwords.py:38
#: src/authentic2/forms/registration.py:41 src/authentic2/manager/forms.py:638
#: 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:405
#: src/authentic2/apps/journal/models.py:175 #: src/authentic2/apps/journal/models.py:175
#: src/authentic2/manager/tables.py:224 src/authentic2/models.py:142 #: src/authentic2/manager/tables.py:224 src/authentic2/models.py:142
@ -335,7 +343,7 @@ msgid "Personal info"
msgstr "Informations personnelles" msgstr "Informations personnelles"
#: src/authentic2/admin.py:290 src/authentic2/manager/role_views.py:301 #: src/authentic2/admin.py:290 src/authentic2/manager/role_views.py:301
#: src/authentic2/manager/templates/authentic2/manager/role_members.html:35 #: src/authentic2/manager/templates/authentic2/manager/role_members.html:41
#: src/authentic2/manager/templates/authentic2/manager/role_permissions.html:7 #: src/authentic2/manager/templates/authentic2/manager/role_permissions.html:7
msgid "Permissions" msgid "Permissions"
msgstr "Permissions" msgstr "Permissions"
@ -367,6 +375,7 @@ msgid "Email is required"
msgstr "Le courriel est obligatoire" msgstr "Le courriel est obligatoire"
#: src/authentic2/api_views.py:163 src/authentic2/api_views.py:175 #: src/authentic2/api_views.py:163 src/authentic2/api_views.py:175
#: tests/test_all.py:523 tests/test_all.py:633
msgid "Account already exists" msgid "Account already exists"
msgstr "Le compte existe déjà" msgstr "Le compte existe déjà"
@ -375,10 +384,11 @@ msgid "Email is required in this ou"
msgstr "Le courriel est obligatoire dans cette collectivité." msgstr "Le courriel est obligatoire dans cette collectivité."
#: src/authentic2/api_views.py:169 src/authentic2/api_views.py:181 #: src/authentic2/api_views.py:169 src/authentic2/api_views.py:181
#: tests/test_all.py:500 tests/test_all.py:610
msgid "Account already exists in this ou" msgid "Account already exists in this ou"
msgstr "Le compte existe déjà dans cette collectivité" msgstr "Le compte existe déjà dans cette collectivité"
#: src/authentic2/api_views.py:173 #: src/authentic2/api_views.py:173 tests/test_all.py:511 tests/test_all.py:621
msgid "Username is required" msgid "Username is required"
msgstr "Lidentifiant est obligatoire" msgstr "Lidentifiant est obligatoire"
@ -501,13 +511,13 @@ msgstr "Identifiant"
#: src/authentic2/manager/journal_views.py:121 #: src/authentic2/manager/journal_views.py:121
#: src/authentic2/manager/role_views.py:737 #: src/authentic2/manager/role_views.py:737
#: src/authentic2/manager/role_views.py:755 #: src/authentic2/manager/role_views.py:755
#: src/authentic2/manager/templates/authentic2/manager/homepage.html:15 #: src/authentic2/manager/templates/authentic2/manager/homepage.html:18
#: src/authentic2/manager/templates/authentic2/manager/journal.html:4 #: src/authentic2/manager/templates/authentic2/manager/journal.html:4
#: src/authentic2/manager/templates/authentic2/manager/journal.html:10 #: src/authentic2/manager/templates/authentic2/manager/journal.html:10
#: src/authentic2/manager/templates/authentic2/manager/role_members.html:38 #: 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/roles.html:18
#: src/authentic2/manager/templates/authentic2/manager/user_detail.html:25 #: src/authentic2/manager/templates/authentic2/manager/user_detail.html:25
#: src/authentic2/manager/user_views.py:1012 #: src/authentic2/manager/user_views.py:1016
msgid "Journal" msgid "Journal"
msgstr "Journal des évènements" msgstr "Journal des évènements"
@ -937,53 +947,61 @@ msgstr "mise à jour"
msgid "create" msgid "create"
msgstr "création" msgstr "création"
#: src/authentic2/csv_import.py:411 #: src/authentic2/csv_import.py:385
msgid "importing"
msgstr "import"
#: src/authentic2/csv_import.py:417
msgid "Missing header row" msgid "Missing header row"
msgstr "Ligne dentête manquante" msgstr "Ligne dentête manquante"
#: src/authentic2/csv_import.py:418 #: src/authentic2/csv_import.py:424
msgid "Empty header row" msgid "Empty header row"
msgstr "Ligne dentête vide" msgstr "Ligne dentête vide"
#: src/authentic2/csv_import.py:429 #: src/authentic2/csv_import.py:435
msgid "Missing key column" msgid "Missing key column"
msgstr "Colonne clé manquante" msgstr "Colonne clé manquante"
#: src/authentic2/csv_import.py:431 #: src/authentic2/csv_import.py:437
msgid "Too many key columns" msgid "Too many key columns"
msgstr "Trop de colonnes clés" msgstr "Trop de colonnes clés"
#: src/authentic2/csv_import.py:436 #: src/authentic2/csv_import.py:442
msgid "You must have a _source_name and a _source_id column" 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" msgstr "Vous devez avoir une colonne _source_name and une colonne _source_id"
#: src/authentic2/csv_import.py:440 #: src/authentic2/csv_import.py:446
msgid "Either specify role names or role slugs, not both" msgid "Either specify role names or role slugs, not both"
msgstr "" msgstr ""
"Les colonnes noms de rôle et slugs de rôles ne peuvent pas être présentes en " "Les colonnes noms de rôle et slugs de rôles ne peuvent pas être présentes en "
"même temps." "même temps."
#: src/authentic2/csv_import.py:448 #: src/authentic2/csv_import.py:454
#, python-format #, python-format
msgid "Header \"%s\" is duplicated" msgid "Header \"%s\" is duplicated"
msgstr "Lentête « %s » existe deux fois" msgstr "Lentête « %s » existe deux fois"
#: src/authentic2/csv_import.py:488 #: src/authentic2/csv_import.py:494
#, python-format #, python-format
msgid "unknown or missing attribute \"%s\"" msgid "unknown or missing attribute \"%s\""
msgstr "attribut inconnu ou manquant « %s »" msgstr "attribut inconnu ou manquant « %s »"
#: src/authentic2/csv_import.py:500 #: src/authentic2/csv_import.py:506
msgid "You cannot set flags on _source_name and _source_id columns" msgid "You cannot set flags on _source_name and _source_id columns"
msgstr "" msgstr ""
"Vous ne pouvez pas utiliser de modificateurs sur les colonnes _source_name" "Vous ne pouvez pas utiliser de modificateurs sur les colonnes _source_name"
#: src/authentic2/csv_import.py:515 #: src/authentic2/csv_import.py:521
#, python-format #, python-format
msgid "unknown flag \"%s\"" msgid "unknown flag \"%s\""
msgstr "modificateur inconnu « %s »" msgstr "modificateur inconnu « %s »"
#: src/authentic2/csv_import.py:600 #: src/authentic2/csv_import.py:531
msgid "parsing"
msgstr "analyse"
#: src/authentic2/csv_import.py:608
#, python-format #, python-format
msgid "" msgid ""
"Unique constraint on column \"%(column)s\" failed: value already appear on " "Unique constraint on column \"%(column)s\" failed: value already appear on "
@ -992,22 +1010,22 @@ msgstr ""
"La contrainte dunicité sur la colonne « %(column)s » est rompue : la valeur " "La contrainte dunicité sur la colonne « %(column)s » est rompue : la valeur "
"apparaît déjà ligne %(line)d" "apparaît déjà ligne %(line)d"
#: src/authentic2/csv_import.py:631 #: src/authentic2/csv_import.py:639
#, python-format #, python-format
msgid "Unique constraint on column \"%s\" failed" msgid "Unique constraint on column \"%s\" failed"
msgstr "La contrainte dunicité sur la colonne « %s » est rompue" msgstr "La contrainte dunicité sur la colonne « %s » est rompue"
#: src/authentic2/csv_import.py:675 #: src/authentic2/csv_import.py:683
#, python-format #, python-format
msgid "Key value \"%s\" matches too many users" msgid "Key value \"%s\" matches too many users"
msgstr "La valeur de la clé « %s » correspond à trop dutilisateurs" msgstr "La valeur de la clé « %s » correspond à trop dutilisateurs"
#: src/authentic2/csv_import.py:716 #: src/authentic2/csv_import.py:724
#, python-format #, python-format
msgid "External id \"%s\" already exists" msgid "External id \"%s\" already exists"
msgstr "La clé externe « %s » existe déjà" msgstr "La clé externe « %s » existe déjà"
#: src/authentic2/csv_import.py:759 #: src/authentic2/csv_import.py:767
#, python-format #, python-format
msgid "Role \"%s\" does not exist" msgid "Role \"%s\" does not exist"
msgstr "Le rôle « %s » nexiste pas" msgstr "Le rôle « %s » nexiste pas"
@ -1099,7 +1117,7 @@ msgstr ""
"adresse de courriel ou nom complet  prénom et nom." "adresse de courriel ou nom complet  prénom et nom."
#: src/authentic2/custom_user/models.py:277 #: src/authentic2/custom_user/models.py:277
#: src/authentic2/forms/registration.py:104 #: src/authentic2/forms/registration.py:104 tests/test_all.py:709
msgid "This username is already in use. Please supply a different username." msgid "This username is already in use. Please supply a different username."
msgstr "" msgstr ""
"Cet identifiant est déjà utilisé. Utilisez sil vous plaît un autre " "Cet identifiant est déjà utilisé. Utilisez sil vous plaît un autre "
@ -1286,31 +1304,23 @@ msgstr "Les mots de passe ne sont pas identiques."
msgid "The image is not valid" msgid "The image is not valid"
msgstr "Limage nest pas valide" msgstr "Limage nest pas valide"
#: src/authentic2/forms/passwords.py:37 src/authentic2/forms/registration.py:41 #: src/authentic2/forms/passwords.py:44
#: src/authentic2/manager/forms.py:638
#: 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/forms/passwords.py:43
msgid "Email or username" msgid "Email or username"
msgstr "Courriel ou identifiant" msgstr "Courriel ou identifiant"
#: src/authentic2/forms/passwords.py:124 src/authentic2/forms/passwords.py:138 #: src/authentic2/forms/passwords.py:125 src/authentic2/forms/passwords.py:139
msgid "New password" msgid "New password"
msgstr "Nouveau mot de passe" msgstr "Nouveau mot de passe"
#: src/authentic2/forms/passwords.py:125 src/authentic2/forms/passwords.py:139 #: src/authentic2/forms/passwords.py:126 src/authentic2/forms/passwords.py:140
msgid "New password confirmation" msgid "New password confirmation"
msgstr "Confirmation du nouveau mot de passe" msgstr "Confirmation du nouveau mot de passe"
#: src/authentic2/forms/passwords.py:130 src/authentic2/forms/passwords.py:145 #: src/authentic2/forms/passwords.py:131 src/authentic2/forms/passwords.py:146
msgid "New password must differ from old password" msgid "New password must differ from old password"
msgstr "Le nouveau mot de passe doit être différent de lancien." msgstr "Le nouveau mot de passe doit être différent de lancien."
#: src/authentic2/forms/passwords.py:137 #: src/authentic2/forms/passwords.py:138
msgid "Old password" msgid "Old password"
msgstr "Ancien mot de passe" msgstr "Ancien mot de passe"
@ -1385,12 +1395,12 @@ msgstr "Déconnexion"
#: src/authentic2/manager/templates/authentic2/manager/delete.html:15 #: src/authentic2/manager/templates/authentic2/manager/delete.html:15
#: src/authentic2/manager/templates/authentic2/manager/ou_detail.html:21 #: src/authentic2/manager/templates/authentic2/manager/ou_detail.html:21
#: src/authentic2/manager/templates/authentic2/manager/ou_detail.html:23 #: src/authentic2/manager/templates/authentic2/manager/ou_detail.html:23
#: src/authentic2/manager/templates/authentic2/manager/role_members.html:21 #: src/authentic2/manager/templates/authentic2/manager/role_members.html:27
#: src/authentic2/manager/templates/authentic2/manager/role_members.html:23 #: src/authentic2/manager/templates/authentic2/manager/role_members.html:29
#: src/authentic2/manager/templates/authentic2/manager/role_permissions.html:14 #: src/authentic2/manager/templates/authentic2/manager/role_permissions.html:14
#: src/authentic2/manager/templates/authentic2/manager/user_detail.html:10 #: src/authentic2/manager/templates/authentic2/manager/user_detail.html:10
#: src/authentic2/manager/templates/authentic2/manager/user_detail.html:12 #: src/authentic2/manager/templates/authentic2/manager/user_detail.html:12
#: src/authentic2/manager/templates/authentic2/manager/user_import.html:69 #: src/authentic2/manager/templates/authentic2/manager/user_import_report_row.html:12
#: src/authentic2/manager/templates/authentic2/manager/user_imports.html:46 #: src/authentic2/manager/templates/authentic2/manager/user_imports.html:46
msgid "Delete" msgid "Delete"
msgstr "Supprimer" msgstr "Supprimer"
@ -1785,8 +1795,8 @@ msgstr "La collectivité %s nexiste pas."
#: src/authentic2/manager/forms.py:858 #: src/authentic2/manager/forms.py:858
#, python-format #, python-format
msgid "%s (line %d)" msgid "%(error)s (line %(number)d)"
msgstr "%s (ligne %d)" msgstr "%(error)s (ligne %(number)d)"
#: src/authentic2/manager/journal_event_types.py:31 #: src/authentic2/manager/journal_event_types.py:31
msgid "user creation" msgid "user creation"
@ -2389,7 +2399,7 @@ msgid "You are not authorized to manage this role"
msgstr "Vous nêtes pas autorisé à gérer ce rôle." msgstr "Vous nêtes pas autorisé à gérer ce rôle."
#: src/authentic2/manager/tables.py:163 #: src/authentic2/manager/tables.py:163
#: src/authentic2/manager/templates/authentic2/manager/role_members.html:52 #: src/authentic2/manager/templates/authentic2/manager/role_members.html:58
#: src/authentic2/manager/templates/authentic2/manager/user_roles_table.html:11 #: src/authentic2/manager/templates/authentic2/manager/user_roles_table.html:11
msgid "This role is synchronised from LDAP, changing members is not allowed." msgid "This role is synchronised from LDAP, changing members is not allowed."
msgstr "" msgstr ""
@ -2474,6 +2484,7 @@ msgstr ""
#: src/authentic2/templates/authentic2/login_password_form.html:13 #: src/authentic2/templates/authentic2/login_password_form.html:13
#: src/authentic2/templates/authentic2/logout_confirm.html:20 #: src/authentic2/templates/authentic2/logout_confirm.html:20
#: src/authentic2/templates/registration/password_change_form.html:26 #: src/authentic2/templates/registration/password_change_form.html:26
#: tests/test_idp_saml2.py:342
msgid "Cancel" msgid "Cancel"
msgstr "Annuler" msgstr "Annuler"
@ -2510,11 +2521,11 @@ msgid ""
"and applications." "and applications."
msgstr "Gérer les collectivités, les utilisateurs, les rôles et les services" msgstr "Gérer les collectivités, les utilisateurs, les rôles et les services"
#: src/authentic2/manager/templates/authentic2/manager/homepage.html:13 #: src/authentic2/manager/templates/authentic2/manager/homepage.html:14
msgid "Export Site" msgid "Export Site"
msgstr "Exporter le site" msgstr "Exporter le site"
#: src/authentic2/manager/templates/authentic2/manager/homepage.html:14 #: src/authentic2/manager/templates/authentic2/manager/homepage.html:15
msgid "Import Site" msgid "Import Site"
msgstr "Importer un site" msgstr "Importer un site"
@ -2611,9 +2622,9 @@ msgstr "Vous nêtes pas autorisé à supprimer cette collectivité."
#: src/authentic2/manager/templates/authentic2/manager/ou_detail.html:27 #: src/authentic2/manager/templates/authentic2/manager/ou_detail.html:27
#: src/authentic2/manager/templates/authentic2/manager/ou_detail.html:29 #: src/authentic2/manager/templates/authentic2/manager/ou_detail.html:29
#: src/authentic2/manager/templates/authentic2/manager/ou_edit.html:8 #: src/authentic2/manager/templates/authentic2/manager/ou_edit.html:8
#: src/authentic2/manager/templates/authentic2/manager/role_members.html:26 #: src/authentic2/manager/templates/authentic2/manager/role_members.html:32
#: src/authentic2/manager/templates/authentic2/manager/role_members.html:29 #: src/authentic2/manager/templates/authentic2/manager/role_members.html:35
#: src/authentic2/manager/templates/authentic2/manager/role_members.html:31 #: src/authentic2/manager/templates/authentic2/manager/role_members.html:37
#: src/authentic2/manager/templates/authentic2/manager/role_permissions.html:17 #: src/authentic2/manager/templates/authentic2/manager/role_permissions.html:17
#: src/authentic2/manager/templates/authentic2/manager/service.html:12 #: src/authentic2/manager/templates/authentic2/manager/service.html:12
#: src/authentic2/manager/templates/authentic2/manager/user_detail.html:16 #: src/authentic2/manager/templates/authentic2/manager/user_detail.html:16
@ -2645,63 +2656,68 @@ msgstr "Éditer le rôle"
msgid "Modify" msgid "Modify"
msgstr "Modifier" msgstr "Modifier"
#: src/authentic2/manager/templates/authentic2/manager/role_members.html:23 #: src/authentic2/manager/templates/authentic2/manager/role_members.html:15
#: src/authentic2/saml/models.py:159
msgid "UUID"
msgstr "UUID"
#: src/authentic2/manager/templates/authentic2/manager/role_members.html:29
msgid "This role is technical, you cannot delete it." msgid "This role is technical, you cannot delete it."
msgstr "Ce rôle est interne, vous ne pouvez pas le supprimer." msgstr "Ce rôle est interne, vous ne pouvez pas le supprimer."
#: src/authentic2/manager/templates/authentic2/manager/role_members.html:29 #: src/authentic2/manager/templates/authentic2/manager/role_members.html:35
#: src/authentic2/manager/templates/authentic2/manager/role_members.html:83 #: src/authentic2/manager/templates/authentic2/manager/role_members.html:89
#: src/authentic2/manager/templates/authentic2/manager/role_members.html:99 #: src/authentic2/manager/templates/authentic2/manager/role_members.html:105
#: src/authentic2/manager/templates/authentic2/manager/role_members.html:115 #: src/authentic2/manager/templates/authentic2/manager/role_members.html:121
msgid "Permission denied" msgid "Permission denied"
msgstr "Vous nêtes pas autorisé." msgstr "Vous nêtes pas autorisé."
#: src/authentic2/manager/templates/authentic2/manager/role_members.html:31 #: src/authentic2/manager/templates/authentic2/manager/role_members.html:37
msgid "This role is technical, you cannot edit it." msgid "This role is technical, you cannot edit it."
msgstr "Ce rôle est interne, vous ne pouvez pas léditer." msgstr "Ce rôle est interne, vous ne pouvez pas léditer."
#: src/authentic2/manager/templates/authentic2/manager/role_members.html:65 #: src/authentic2/manager/templates/authentic2/manager/role_members.html:71
#: src/authentic2/manager/templates/authentic2/manager/role_permissions.html:31 #: src/authentic2/manager/templates/authentic2/manager/role_permissions.html:31
#: src/authentic2/manager/templates/authentic2/manager/service.html:42 #: src/authentic2/manager/templates/authentic2/manager/service.html:42
#: src/authentic2/manager/templates/authentic2/manager/user_roles.html:24 #: src/authentic2/manager/templates/authentic2/manager/user_roles.html:24
msgid "Add" msgid "Add"
msgstr "Ajouter" msgstr "Ajouter"
#: src/authentic2/manager/templates/authentic2/manager/role_members.html:69 #: src/authentic2/manager/templates/authentic2/manager/role_members.html:75
msgid "Advanced parameters" msgid "Advanced parameters"
msgstr "Paramètres avancés" msgstr "Paramètres avancés"
#: src/authentic2/manager/templates/authentic2/manager/role_members.html:71 #: src/authentic2/manager/templates/authentic2/manager/role_members.html:77
msgid "Is administered by users" msgid "Is administered by users"
msgstr "Est géré par le(s) utilisateurs(s)" msgstr "Est géré par le(s) utilisateurs(s)"
#: src/authentic2/manager/templates/authentic2/manager/role_members.html:77 #: src/authentic2/manager/templates/authentic2/manager/role_members.html:83
#: src/authentic2/manager/templates/authentic2/manager/role_members.html:109 #: src/authentic2/manager/templates/authentic2/manager/role_members.html:115
msgid "Indirect child role" msgid "Indirect child role"
msgstr "Héritage indirect" msgstr "Héritage indirect"
#: src/authentic2/manager/templates/authentic2/manager/role_members.html:87 #: src/authentic2/manager/templates/authentic2/manager/role_members.html:93
msgid "Is administered by roles" msgid "Is administered by roles"
msgstr "Est géré par le(s) rôle(s)" msgstr "Est géré par le(s) rôle(s)"
#: src/authentic2/manager/templates/authentic2/manager/role_members.html:93 #: src/authentic2/manager/templates/authentic2/manager/role_members.html:99
msgid "Indirect admin role" msgid "Indirect admin role"
msgstr "rôle hérité" msgstr "rôle hérité"
#: src/authentic2/manager/templates/authentic2/manager/role_members.html:103 #: src/authentic2/manager/templates/authentic2/manager/role_members.html:109
msgid "Child roles:" msgid "Child roles:"
msgstr "Contient les membres des rôles :" msgstr "Contient les membres des rôles :"
#: src/authentic2/manager/templates/authentic2/manager/role_members.html:119 #: src/authentic2/manager/templates/authentic2/manager/role_members.html:125
msgid "Parent roles:" msgid "Parent roles:"
msgstr "Contient les permissions des rôles :" msgstr "Contient les permissions des rôles :"
#: src/authentic2/manager/templates/authentic2/manager/role_members.html:128 #: src/authentic2/manager/templates/authentic2/manager/role_members.html:134
#: src/authentic2/manager/templates/authentic2/manager/role_members.html:137 #: src/authentic2/manager/templates/authentic2/manager/role_members.html:143
msgid "This role is technical, you cannot modify its permissions." msgid "This role is technical, you cannot modify its permissions."
msgstr "Ce rôle est interne, vous ne pouvez pas en modifier les permissions." msgstr "Ce rôle est interne, vous ne pouvez pas en modifier les permissions."
#: src/authentic2/manager/templates/authentic2/manager/role_members.html:131 #: src/authentic2/manager/templates/authentic2/manager/role_members.html:137
msgid "Indirect parent role" msgid "Indirect parent role"
msgstr "rôle hérité" msgstr "rôle hérité"
@ -2783,7 +2799,7 @@ msgstr ""
"avant de finaliser sa création :" "avant de finaliser sa création :"
#: src/authentic2/manager/templates/authentic2/manager/user_authorizations.html:17 #: src/authentic2/manager/templates/authentic2/manager/user_authorizations.html:17
#: src/authentic2/manager/user_views.py:974 #: src/authentic2/manager/user_views.py:978
msgctxt "manager" msgctxt "manager"
msgid "Consent Management" msgid "Consent Management"
msgstr "Gestion des consentements" msgstr "Gestion des consentements"
@ -3585,15 +3601,15 @@ msgstr "ex. :"
msgid "users.csv" msgid "users.csv"
msgstr "utilisateurs.csv" msgstr "utilisateurs.csv"
#: src/authentic2/manager/user_views.py:924 #: src/authentic2/manager/user_views.py:923
msgid "Simulation" msgid "Simulation"
msgstr "Simulation" msgstr "Simulation"
#: src/authentic2/manager/user_views.py:926 #: src/authentic2/manager/user_views.py:925
msgid "Execution" msgid "Execution"
msgstr "Importation" msgstr "Importation"
#: src/authentic2/manager/user_views.py:943 #: src/authentic2/manager/user_views.py:947
msgid "Switch user" msgid "Switch user"
msgstr "Reconnexion" msgstr "Reconnexion"
@ -3607,7 +3623,7 @@ msgstr "Supprimer lobjet « %s »"
msgid "Edit %s" msgid "Edit %s"
msgstr "Éditer lobjet « %s »" msgstr "Éditer lobjet « %s »"
#: src/authentic2/manager/views.py:753 #: src/authentic2/manager/views.py:756
msgid "Site Import" msgid "Site Import"
msgstr "Import de site" msgstr "Import de site"
@ -3974,10 +3990,6 @@ msgstr "Temporaire"
msgid "Username (use with Google Apps)" msgid "Username (use with Google Apps)"
msgstr "Identifiant (à utiliser par exemple pour Google Apps)" msgstr "Identifiant (à utiliser par exemple pour Google Apps)"
#: src/authentic2/saml/models.py:159
msgid "UUID"
msgstr "UUID"
#: src/authentic2/saml/models.py:166 #: src/authentic2/saml/models.py:166
msgid "Use eduPersonTargetedID attribute" msgid "Use eduPersonTargetedID attribute"
msgstr "Utiliser lattribut eduPersonTargetedID" msgstr "Utiliser lattribut eduPersonTargetedID"
@ -4246,7 +4258,6 @@ msgstr[1] "Veuillez corriger les erreurs suivantes."
#: src/authentic2/saml/templates/admin/saml/libertyprovider/add_from_url.html:37 #: src/authentic2/saml/templates/admin/saml/libertyprovider/add_from_url.html:37
#: src/authentic2/templates/authentic2/accounts_edit.html:20 #: src/authentic2/templates/authentic2/accounts_edit.html:20
#: src/authentic2/templates/authentic2/login_password_registration_form.html:7 #: src/authentic2/templates/authentic2/login_password_registration_form.html:7
#: src/authentic2/templates/registration/login_password_registration_form.html:7
#: src/authentic2/templates/registration/password_change_form.html:25 #: src/authentic2/templates/registration/password_change_form.html:25
#: src/authentic2/templates/registration/password_reset_confirm.html:16 #: src/authentic2/templates/registration/password_reset_confirm.html:16
#: src/authentic2/templates/registration/password_reset_form.html:16 #: src/authentic2/templates/registration/password_reset_form.html:16
@ -4978,7 +4989,7 @@ msgid "Logged out"
msgstr "Déconnecté" msgstr "Déconnecté"
#: src/authentic2/templates/registration/password_change_done.html:9 #: src/authentic2/templates/registration/password_change_done.html:9
#: src/authentic2/views.py:1337 #: src/authentic2/views.py:1346
msgid "Password changed" msgid "Password changed"
msgstr "Mot de passe modifié" msgstr "Mot de passe modifié"
@ -5019,6 +5030,24 @@ msgid "Password reset instructions"
msgstr "Instructions de réinitialisation du mot de passe" msgstr "Instructions de réinitialisation du mot de passe"
#: src/authentic2/templates/registration/password_reset_instructions.html:10 #: src/authentic2/templates/registration/password_reset_instructions.html:10
msgid "Your password reset request has been refused."
msgstr ""
"Votre demande de réinitialisation du mot de passe n'a pas été prise en "
"compte."
#: src/authentic2/templates/registration/password_reset_instructions.html:10
#: src/authentic2/templates/registration/registration_complete.html:10
msgid ""
"Indeed your browser checked a hidden anti-robot checkbox on the registration "
"form. A browser extension may produce this behaviour, in this case disable "
"such extensions and try again."
msgstr ""
"En effet, votre navigateur a coché une case anti-robot cachée sur le "
"formulaire dinscription. Ce comportement peut être provoqué par une "
"extension de votre navigateur, auquel cas veuillez désactiver les extensions "
"et essayer à nouveau."
#: src/authentic2/templates/registration/password_reset_instructions.html:14
#, python-format #, python-format
msgid "" msgid ""
"\n" "\n"
@ -5031,7 +5060,7 @@ msgstr ""
"a été envoyé à %(email)s.\n" "a été envoyé à %(email)s.\n"
" " " "
#: src/authentic2/templates/registration/password_reset_instructions.html:15 #: src/authentic2/templates/registration/password_reset_instructions.html:19
msgid "" msgid ""
"\n" "\n"
" Follow the instructions in this email in order to choose a new " " Follow the instructions in this email in order to choose a new "
@ -5043,7 +5072,7 @@ msgstr ""
"de passe.\n" "de passe.\n"
" " " "
#: src/authentic2/templates/registration/password_reset_instructions.html:21 #: src/authentic2/templates/registration/password_reset_instructions.html:25
#: src/authentic2/templates/registration/registration_complete.html:26 #: src/authentic2/templates/registration/registration_complete.html:26
msgid "" msgid ""
"\n" "\n"
@ -5056,7 +5085,7 @@ msgstr ""
" également être considéré comme un pourriel (spam) : noubliez pas\n" " également être considéré comme un pourriel (spam) : noubliez pas\n"
" de regarder dans votre dossier « courriers indésirables ». " " de regarder dans votre dossier « courriers indésirables ». "
#: src/authentic2/templates/registration/password_reset_instructions.html:27 #: src/authentic2/templates/registration/password_reset_instructions.html:31
#, python-format #, python-format
msgid "" msgid ""
"\n" "\n"
@ -5073,7 +5102,7 @@ msgstr ""
" puis recommencez la procédure de réinitialisation du mot de passe.\n" " puis recommencez la procédure de réinitialisation du mot de passe.\n"
" " " "
#: src/authentic2/templates/registration/password_reset_instructions.html:35 #: src/authentic2/templates/registration/password_reset_instructions.html:40
msgid "Back to login" msgid "Back to login"
msgstr "Retour à la page de connexion" msgstr "Retour à la page de connexion"
@ -5087,17 +5116,8 @@ msgid "Registration in progress"
msgstr "Création du compte en cours" msgstr "Création du compte en cours"
#: src/authentic2/templates/registration/registration_complete.html:10 #: src/authentic2/templates/registration/registration_complete.html:10
msgid "" msgid "Your registration request has been refused."
"<strong>Your registration request has been refused.</strong> Indeed your " msgstr "Votre demande dinscription na pas été prise en compte."
"browser checked a hidden anti-robot checkbox on the registration form. A "
"browser extension may produce this behaviour, in this case disable such "
"extensions and try again."
msgstr ""
"<strong>Votre demande dinscription na pas été prise en compte.</strong> En "
"effet, votre navigateur a coché une case anti-robot cachée sur le formulaire "
"dinscription. Ce comportement peut être provoqué par une extension de votre "
"navigateur, auquel cas veuillez désactiver les extensions et essayer à "
"nouveau."
#: src/authentic2/templates/registration/registration_complete.html:14 #: src/authentic2/templates/registration/registration_complete.html:14
#, python-format #, python-format
@ -5140,7 +5160,7 @@ msgstr ""
#: src/authentic2/templates/registration/registration_completion_choose.html:5 #: 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:5
#: src/authentic2/templates/registration/registration_completion_form.html:10 #: src/authentic2/templates/registration/registration_completion_form.html:10
#: src/authentic2/views.py:819 #: src/authentic2/views.py:827
msgid "Registration" msgid "Registration"
msgstr "Création dun compte" msgstr "Création dun compte"
@ -5356,11 +5376,11 @@ msgstr ""
"Cette page est périmée car vous vous êtes connecté entretemps; nous lavons " "Cette page est périmée car vous vous êtes connecté entretemps; nous lavons "
"rechargée pour vous." "rechargée pour vous."
#: src/authentic2/views.py:645 src/authentic2/views.py:749 #: src/authentic2/views.py:645 src/authentic2/views.py:757
msgid "Password Reset" msgid "Password Reset"
msgstr "Réinitialisation du mot de passe" msgstr "Réinitialisation du mot de passe"
#: src/authentic2/views.py:682 src/authentic2/views.py:863 #: src/authentic2/views.py:690 src/authentic2/views.py:871
#, python-format #, python-format
msgid "" msgid ""
"An email has already been sent to %s. Click \"Validate\" again if you really " "An email has already been sent to %s. Click \"Validate\" again if you really "
@ -5369,7 +5389,7 @@ msgstr ""
"Un courriel a déjà été envoyé à %s. Cliquez sur « Valider » si vous voulez " "Un courriel a déjà été envoyé à %s. Cliquez sur « Valider » si vous voulez "
"vraiment quil soit réenvoyé." "vraiment quil soit réenvoyé."
#: src/authentic2/views.py:701 src/authentic2/views.py:881 #: src/authentic2/views.py:709 src/authentic2/views.py:889
msgid "" msgid ""
"Multiple emails have already been sent to this address. Further attempts are " "Multiple emails have already been sent to this address. Further attempts are "
"blocked, please check your spam folder or try again later." "blocked, please check your spam folder or try again later."
@ -5378,7 +5398,7 @@ msgstr ""
"envois sont bloqués, vous devriez vérifier votre dossier dindésirables " "envois sont bloqués, vous devriez vérifier votre dossier dindésirables "
"(spams, pourriels) ou réessayer plus tard." "(spams, pourriels) ou réessayer plus tard."
#: src/authentic2/views.py:717 #: src/authentic2/views.py:725
msgid "" msgid ""
"Multiple password reset attempts have already been made from this IP " "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 " "address. No further email will be sent, please check your spam folder or try "
@ -5389,30 +5409,30 @@ msgstr ""
"devriez vérifier votre dossier dindésirables (spams, pourriels) ou " "devriez vérifier votre dossier dindésirables (spams, pourriels) ou "
"réessayer plus tard." "réessayer plus tard."
#: src/authentic2/views.py:762 #: src/authentic2/views.py:770
msgid "Password reset token is unknown or expired" msgid "Password reset token is unknown or expired"
msgstr "Le jeton de réinitialisation de mot de passe est inconnu ou expiré" msgstr "Le jeton de réinitialisation de mot de passe est inconnu ou expiré"
#: src/authentic2/views.py:765 #: src/authentic2/views.py:773
msgid "Password reset token is invalid" msgid "Password reset token is invalid"
msgstr "Le jeton de réinitialisation de mot de passe est invalide" msgstr "Le jeton de réinitialisation de mot de passe est invalide"
#: src/authentic2/views.py:773 #: src/authentic2/views.py:781
msgid "User not found" msgid "User not found"
msgstr "Utilisateur introuvable" msgstr "Utilisateur introuvable"
#: src/authentic2/views.py:781 #: src/authentic2/views.py:789
msgid "" msgid ""
"It's not possible to reset your password. Please contact an administrator." "It's not possible to reset your password. Please contact an administrator."
msgstr "" msgstr ""
"Votre mot de passe na pas pu être réinitialisé. Veuillez contacter votre " "Votre mot de passe na pas pu être réinitialisé. Veuillez contacter votre "
"administrateur." "administrateur."
#: src/authentic2/views.py:789 #: src/authentic2/views.py:797
msgid "Enter new password" msgid "Enter new password"
msgstr "Entrez un nouveau mot de passe" msgstr "Entrez un nouveau mot de passe"
#: src/authentic2/views.py:896 #: src/authentic2/views.py:904
msgid "" msgid ""
"Multiple registration attempts have already been made from this IP address. " "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 " "No further email will be sent, please check your spam folder or try again "
@ -5423,63 +5443,63 @@ msgstr ""
"vérifier votre dossier dindésirables (spams, pourriels) ou réessayer plus " "vérifier votre dossier dindésirables (spams, pourriels) ou réessayer plus "
"tard." "tard."
#: src/authentic2/views.py:967 #: src/authentic2/views.py:975
msgid "Your activation key is unknown or expired" msgid "Your activation key is unknown or expired"
msgstr "Votre clé dactivation est inconnue ou a expiré" msgstr "Votre clé dactivation est inconnue ou a expiré"
#: src/authentic2/views.py:970 #: src/authentic2/views.py:978
msgid "Activation failed" msgid "Activation failed"
msgstr "Échec à lactivation du compte" msgstr "Échec à lactivation du compte"
#: src/authentic2/views.py:1226 #: src/authentic2/views.py:1235
msgid "Request account deletion" msgid "Request account deletion"
msgstr "Demande de suppression de compte" msgstr "Demande de suppression de compte"
#: src/authentic2/views.py:1237 #: src/authentic2/views.py:1246
msgid "" msgid ""
"An account deletion validation email has been sent to your email address." "An account deletion validation email has been sent to your email address."
msgstr "" msgstr ""
"Un message pour valider la suppression du compte a été envoyé à votre " "Un message pour valider la suppression du compte a été envoyé à votre "
"adresse électronique." "adresse électronique."
#: src/authentic2/views.py:1248 #: src/authentic2/views.py:1257
msgid "Confirm account deletion" msgid "Confirm account deletion"
msgstr "Confirmation de la suppression du compte" msgstr "Confirmation de la suppression du compte"
#: src/authentic2/views.py:1260 #: src/authentic2/views.py:1269
msgid "This account is inactive, it cannot be deleted." msgid "This account is inactive, it cannot be deleted."
msgstr "Ce compte est désactivé, il ne peut plus être supprimé." msgstr "Ce compte est désactivé, il ne peut plus être supprimé."
#: src/authentic2/views.py:1263 #: src/authentic2/views.py:1272
msgid "The account deletion request is too old, try again" msgid "The account deletion request is too old, try again"
msgstr "La demande de suppression de compte est expirée." msgstr "La demande de suppression de compte est expirée."
#: src/authentic2/views.py:1265 #: src/authentic2/views.py:1274
msgid "The account deletion request is invalid, try again" msgid "The account deletion request is invalid, try again"
msgstr "La demande de suppression de compte nest pas valide." msgstr "La demande de suppression de compte nest pas valide."
#: src/authentic2/views.py:1267 #: src/authentic2/views.py:1276
msgid "The account deletion request was not on this site, try again" msgid "The account deletion request was not on this site, try again"
msgstr "" msgstr ""
"Votre demande de suppression de compte vient dun autre site que celui-ci." "Votre demande de suppression de compte vient dun autre site que celui-ci."
#: src/authentic2/views.py:1271 #: src/authentic2/views.py:1280
msgid "This account has previously been deleted." msgid "This account has previously been deleted."
msgstr "Ce compte a déjà été supprimé." msgstr "Ce compte a déjà été supprimé."
#: src/authentic2/views.py:1285 #: src/authentic2/views.py:1294
msgid "Deletion performed." msgid "Deletion performed."
msgstr "Suppression effectuée." msgstr "Suppression effectuée."
#: src/authentic2/views.py:1315 #: src/authentic2/views.py:1324
msgid "Password Change" msgid "Password Change"
msgstr "Changement de mot de passe" msgstr "Changement de mot de passe"
#: src/authentic2/views.py:1326 #: src/authentic2/views.py:1335
msgid "Password change is forbidden" msgid "Password change is forbidden"
msgstr "Changement de mot de passe interdit" msgstr "Changement de mot de passe interdit"
#: src/authentic2/views.py:1373 #: src/authentic2/views.py:1385
msgid "Consent Management" msgid "Consent Management"
msgstr "Gestion des autorisations" msgstr "Gestion des autorisations"

View File

@ -18,7 +18,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: authentic2-auth-fc\n" "Project-Id-Version: authentic2-auth-fc\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-02 17:02+0200\n" "POT-Creation-Date: 2021-04-28 12:01+0200\n"
"PO-Revision-Date: 2021-04-02 16:55+0200\n" "PO-Revision-Date: 2021-04-02 16:55+0200\n"
"Last-Translator: Benjamin Dauvergne <bdauvergne@entrouvert.com>\n" "Last-Translator: Benjamin Dauvergne <bdauvergne@entrouvert.com>\n"
"Language-Team: french <fr@li.org>\n" "Language-Team: french <fr@li.org>\n"
@ -57,7 +57,7 @@ msgid "access token"
msgstr "jeton daccès" msgstr "jeton daccès"
#: src/authentic2_auth_fc/templates/authentic2_auth_fc/explanation.html:5 #: src/authentic2_auth_fc/templates/authentic2_auth_fc/explanation.html:5
#: src/authentic2_auth_fc/templates/authentic2_auth_fc/linking.html:27 #: src/authentic2_auth_fc/templates/authentic2_auth_fc/linking.html:30
msgid "What is FranceConnect?" msgid "What is FranceConnect?"
msgstr "Quest-ce que FranceConnect ?" msgstr "Quest-ce que FranceConnect ?"
@ -83,9 +83,14 @@ msgid "Delete link"
msgstr "Supprimer la liaison" msgstr "Supprimer la liaison"
#: src/authentic2_auth_fc/templates/authentic2_auth_fc/linking.html:20 #: src/authentic2_auth_fc/templates/authentic2_auth_fc/linking.html:20
#: src/authentic2_auth_fc/templates/authentic2_auth_fc/linking.html:22
msgid "Link with a FranceConnect account" msgid "Link with a FranceConnect account"
msgstr "Se lier avec un compte FranceConnect" msgstr "Se lier avec un compte FranceConnect"
#: src/authentic2_auth_fc/templates/authentic2_auth_fc/login.html:10
msgid "Log in with FranceConnect"
msgstr "Connectez-vous avec FranceConnect"
#: src/authentic2_auth_fc/templates/authentic2_auth_fc/manager_user_sidebar.html:4 #: src/authentic2_auth_fc/templates/authentic2_auth_fc/manager_user_sidebar.html:4
msgid "Link with FranceConnect created on" msgid "Link with FranceConnect created on"
msgstr "Liaison à un compte FranceConnect créée le" msgstr "Liaison à un compte FranceConnect créée le"
@ -141,76 +146,82 @@ msgstr "Délier"
msgid "Cancel" msgid "Cancel"
msgstr "Annuler" msgstr "Annuler"
#: src/authentic2_auth_fc/utils.py:123 src/authentic2_auth_fc/utils.py:134 #: src/authentic2_auth_fc/utils.py:105 src/authentic2_auth_fc/utils.py:116
msgid "Unknown INSEE code" msgid "Unknown INSEE code"
msgstr "Code INSEE inconnu" msgstr "Code INSEE inconnu"
#: src/authentic2_auth_fc/views.py:259 src/authentic2_auth_fc/views.py:286 #: src/authentic2_auth_fc/views.py:143 src/authentic2_auth_fc/views.py:283
#, python-format #, python-format
msgid "Unable to connect to FranceConnect: \"%s\"." msgid "Unable to connect to FranceConnect: \"%s\"."
msgstr "Impossible de se connecter à FranceConnect : « %s »." msgstr "Impossible de se connecter à FranceConnect : « %s »."
#: src/authentic2_auth_fc/views.py:261 #: src/authentic2_auth_fc/views.py:290
#, python-format
msgid "(\"%s\")"
msgstr "(« %s »)"
#: src/authentic2_auth_fc/views.py:276 src/authentic2_auth_fc/views.py:298
#: src/authentic2_auth_fc/views.py:306 src/authentic2_auth_fc/views.py:317
msgid "Unable to connect to FranceConnect." msgid "Unable to connect to FranceConnect."
msgstr "Impossible de se connecter à FranceConnect." msgstr "Impossible de se connecter à FranceConnect."
#: src/authentic2_auth_fc/views.py:380 #: src/authentic2_auth_fc/views.py:321
msgid "Your account is already linked to a FranceConnect account"
msgstr "Votre compte est déjà associé à un compte FranceConnect."
#: src/authentic2_auth_fc/views.py:385
msgid "The FranceConnect account {} is already linked with another account."
msgstr "Le compte FranceConnect {} est déjà associé à un autre compte."
#: src/authentic2_auth_fc/views.py:391
msgid "Your account is disabled."
msgstr "Votre compte est désactivé."
#: src/authentic2_auth_fc/views.py:410
msgid "Your FranceConnect account {} has been linked." msgid "Your FranceConnect account {} has been linked."
msgstr "Votre compte FranceConnect {} a été associé." msgstr "Votre compte FranceConnect {} a été associé."
#: src/authentic2_auth_fc/views.py:414 #: src/authentic2_auth_fc/views.py:361
msgid "Your local account has been updated."
msgstr "Votre compte local a été mis à jour."
#: src/authentic2_auth_fc/views.py:475
#, python-format
msgid ""
"Your FranceConnect email address '%s' is already used by another account, so "
"we cannot create an account for you. Please create an account with another "
"email address then link it to FranceConnect using your account management "
"page."
msgstr ""
"Ladresse de courriel fournie par FranceConnect « %s » est déjà utilisée par "
"un compte, nous ne pouvons pas vous créer un nouveau compte en lutilisant. "
"Vous pouvez vous créer un compte avec une autre adresse de courriel, puis "
"demander à lier ce compte avec FranceConnect depuis la page de votre compte."
#: src/authentic2_auth_fc/views.py:504
#, python-format #, python-format
msgid "The following fields are mandatory for account creation: %s" msgid "The following fields are mandatory for account creation: %s"
msgstr "Ces champs sont obligatoires pour créer un compte : %s" msgstr "Ces champs sont obligatoires pour créer un compte : %s"
#: src/authentic2_auth_fc/views.py:513 #: src/authentic2_auth_fc/views.py:381
#, python-format
msgid "" msgid ""
"If you already have an account, please log in, else create your account." "Your FranceConnect email address '%s' is already used by another account, so "
"we cannot create an account for you. Please connect with you existing "
"account or create an account with another email address then link it to "
"FranceConnect using your account management page."
msgstr "" msgstr ""
"Si vous avez déjà un compte saisissez vos identifiants sinon créez votre " "Ladresse de courriel fournie par FranceConnect « %s » est déjà utilisée par "
"compte." "un compte, nous ne pouvons pas vous créer un nouveau compte en lutilisant. "
"Vous pouvez vous connecter avec votre compte, ou créer un compte avec une "
"autre adresse de courriel, puis demander à lier ce compte avec FranceConnect "
"depuis la page de votre compte."
#: src/authentic2_auth_fc/views.py:573 #: src/authentic2_auth_fc/views.py:394
#, python-format
msgid ""
"Your FranceConnect email address \"%(email)s\" is already used by the "
"FranceConnect account of \"%(user)s\", so we cannot create an account for "
"you. Please create an account with another email address then link it to "
"FranceConnect using your account management page."
msgstr ""
"Ladresse de courriel fournie par FranceConnect « %(email)s » est déjà "
"utilisée par le compte de « %(user)s », nous ne pouvons pas vous créer un "
"nouveau compte en lutilisant. Vous pouvez vous créer un compte avec une "
"autre adresse de courriel, puis demander à lier ce compte avec FranceConnect "
"depuis la page de votre compte."
#: src/authentic2_auth_fc/views.py:446
msgid "Your account is already linked to a FranceConnect account"
msgstr "Votre compte est déjà associé à un compte FranceConnect."
#: src/authentic2_auth_fc/views.py:451
msgid "The FranceConnect account {} is already linked with another account."
msgstr "Le compte FranceConnect {} est déjà associé à un autre compte."
#: src/authentic2_auth_fc/views.py:538
msgid "The link with the FranceConnect account has been deleted." msgid "The link with the FranceConnect account has been deleted."
msgstr "La liaison avec le compte FranceConnect a été supprimée." msgstr "La liaison avec le compte FranceConnect a été supprimée."
#~ msgid "Log in with FranceConnect" #~ msgid "(\"%s\")"
#~ msgstr "Connectez-vous avec FranceConnect" #~ msgstr "(« %s »)"
#~ msgid "Your account is disabled."
#~ msgstr "Votre compte est désactivé."
#~ msgid "Your local account has been updated."
#~ msgstr "Votre compte local a été mis à jour."
#~ msgid ""
#~ "If you already have an account, please log in, else create your account."
#~ msgstr ""
#~ "Si vous avez déjà un compte saisissez vos identifiants sinon créez votre "
#~ "compte."
#~ msgid "Create your account with FranceConnect" #~ msgid "Create your account with FranceConnect"
#~ msgstr "Créez votre compte avec FranceConnect" #~ msgstr "Créez votre compte avec FranceConnect"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: authentic2-auth-fc 1.0\n" "Project-Id-Version: authentic2-auth-fc 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-04 21:22+0100\n" "POT-Creation-Date: 2021-04-28 12:01+0200\n"
"PO-Revision-Date: 2020-10-02 13:16+0200\n" "PO-Revision-Date: 2020-10-02 13:16+0200\n"
"Last-Translator: Benjamin Dauvergne <bdauvergne@entrouvert.com>\n" "Last-Translator: Benjamin Dauvergne <bdauvergne@entrouvert.com>\n"
"Language-Team: french <fr@li.org>\n" "Language-Team: french <fr@li.org>\n"
@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: src/authentic2_auth_oidc/admin.py:54 #: src/authentic2_auth_oidc/admin.py:68
msgid "Organizational unit slug (ou__slug)" msgid "Organizational unit slug (ou__slug)"
msgstr "Identifiant de collectivité" msgstr "Identifiant de collectivité"
@ -25,21 +25,27 @@ msgstr "Identifiant de collectivité"
msgid "OpenIDConnect" msgid "OpenIDConnect"
msgstr "OpenID Connect" msgstr "OpenID Connect"
#: src/authentic2_auth_oidc/models.py:39 #: src/authentic2_auth_oidc/models.py:37
#, python-format #, python-format
msgid "Invalid JWKSet: %s" msgid "Invalid JWKSet: %s"
msgstr "Ensemble de clé JWK invalide : %s" msgstr "Ensemble de clé JWK invalide : %s"
#: src/authentic2_auth_oidc/models.py:48 #: src/authentic2_auth_oidc/models.py:47
msgid "create" msgid "create"
msgstr "créer" msgstr "créer"
#: src/authentic2_auth_oidc/models.py:49 #: src/authentic2_auth_oidc/models.py:48
msgid "use sub to find existing user through UUID" msgid "use sub to find existing user through UUID"
msgstr "" msgstr ""
"utiliser lidentifiant technique (sub) pour trouver un usager grâce à son " "utiliser lidentifiant technique (sub) pour trouver un usager grâce à son "
"UUID" "UUID"
#: src/authentic2_auth_oidc/models.py:49
msgid "use sub to find existing user through username"
msgstr ""
"utiliser lidentifiant technique (sub) pour trouver un usager grâce à son "
"identifiant"
#: src/authentic2_auth_oidc/models.py:50 src/authentic2_auth_oidc/models.py:57 #: src/authentic2_auth_oidc/models.py:50 src/authentic2_auth_oidc/models.py:57
msgid "none" msgid "none"
msgstr "Aucun(e)" msgstr "Aucun(e)"
@ -56,175 +62,182 @@ msgstr "HMAC"
msgid "EC" msgid "EC"
msgstr "EC" msgstr "EC"
#: src/authentic2_auth_oidc/models.py:66 #: src/authentic2_auth_oidc/models.py:63
msgid "name" msgid "name"
msgstr "nom" msgstr "nom"
#: src/authentic2_auth_oidc/models.py:70 #: src/authentic2_auth_oidc/models.py:64
msgid "slug" msgid "slug"
msgstr "identifiant court (slug)" msgstr "identifiant court (slug)"
#: src/authentic2_auth_oidc/models.py:75 #: src/authentic2_auth_oidc/models.py:65
msgid "issuer" msgid "issuer"
msgstr "émetteur" msgstr "émetteur"
#: src/authentic2_auth_oidc/models.py:81 #: src/authentic2_auth_oidc/models.py:66
msgid "client id" msgid "client id"
msgstr "identifiant du client (client id)" msgstr "identifiant du client (client id)"
#: src/authentic2_auth_oidc/models.py:85 #: src/authentic2_auth_oidc/models.py:67
msgid "client secret" msgid "client secret"
msgstr "secret du client (client secret)" msgstr "secret du client (client secret)"
#: src/authentic2_auth_oidc/models.py:89 #: src/authentic2_auth_oidc/models.py:69
msgid "authorization endpoint" msgid "authorization endpoint"
msgstr "point daccès dautorisation (authorization endpoint)" msgstr "point daccès dautorisation (authorization endpoint)"
#: src/authentic2_auth_oidc/models.py:92 #: src/authentic2_auth_oidc/models.py:70
msgid "token endpoint" msgid "token endpoint"
msgstr "point daccès de jeton (token endpoint)" msgstr "point daccès de jeton (token endpoint)"
#: src/authentic2_auth_oidc/models.py:95 #: src/authentic2_auth_oidc/models.py:71
msgid "userinfo endpoint" msgid "userinfo endpoint"
msgstr "point daccès dinformation utilisateur (userinfo endpoint)" msgstr "point daccès dinformation utilisateur (userinfo endpoint)"
#: src/authentic2_auth_oidc/models.py:100 #: src/authentic2_auth_oidc/models.py:73
msgid "end session endpoint" msgid "end session endpoint"
msgstr "point daccès de terminaison de session (end session endpont)" msgstr "point daccès de terminaison de session (end session endpont)"
#: src/authentic2_auth_oidc/models.py:105 #: src/authentic2_auth_oidc/models.py:76
msgid "token revocation endpoint" msgid "token revocation endpoint"
msgstr "point daccès de révocation de jeton (token revocation endpoint)" msgstr "point daccès de révocation de jeton (token revocation endpoint)"
#: src/authentic2_auth_oidc/models.py:109 #: src/authentic2_auth_oidc/models.py:78
msgid "scopes" msgid "scopes"
msgstr "portées (scopes)" msgstr "portées (scopes)"
#: src/authentic2_auth_oidc/models.py:111 #: src/authentic2_auth_oidc/models.py:80
msgid "JSON WebKey set" msgid "JSON WebKey set"
msgstr "ensemble de WebKey JSON" msgstr "ensemble de WebKey JSON"
#: src/authentic2_auth_oidc/models.py:118 #: src/authentic2_auth_oidc/models.py:83
msgid "IDToken signature algorithm" msgid "IDToken signature algorithm"
msgstr "algorithme de signature IDToken" msgstr "algorithme de signature IDToken"
#: src/authentic2_auth_oidc/models.py:120 #: src/authentic2_auth_oidc/models.py:86
msgid "Claims parameter supported" msgid "Claims parameter supported"
msgstr "Paramètre de claim pris en charge" msgstr "Paramètre de claim pris en charge"
#: src/authentic2_auth_oidc/models.py:127 #: src/authentic2_auth_oidc/models.py:90
msgid "strategy" msgid "strategy"
msgstr "stratégie" msgstr "stratégie"
#: src/authentic2_auth_oidc/models.py:130 #: src/authentic2_auth_oidc/models.py:92
msgid "organizational unit" msgid "organizational unit"
msgstr "unité dorganisation" msgstr "unité dorganisation"
#: src/authentic2_auth_oidc/models.py:135 #: src/authentic2_auth_oidc/models.py:97
msgid "max authentication age" msgid "max authentication age"
msgstr "délai depuis la dernière authentification" msgstr "délai depuis la dernière authentification"
#: src/authentic2_auth_oidc/models.py:141 #: src/authentic2_auth_oidc/models.py:101
msgid "show on login page" msgid "show on login page"
msgstr "afficher sur la page de connexion" msgstr "afficher sur la page de connexion"
#: src/authentic2_auth_oidc/models.py:147 #: src/authentic2_auth_oidc/models.py:104
#: src/authentic2_auth_oidc/models.py:216 #: src/authentic2_auth_oidc/models.py:156
#: src/authentic2_auth_oidc/models.py:245 #: src/authentic2_auth_oidc/models.py:185
msgid "created" msgid "created"
msgstr "date de création" msgstr "date de création"
#: src/authentic2_auth_oidc/models.py:150 #: src/authentic2_auth_oidc/models.py:105
#: src/authentic2_auth_oidc/models.py:219 #: src/authentic2_auth_oidc/models.py:157
#: src/authentic2_auth_oidc/models.py:248 #: src/authentic2_auth_oidc/models.py:186
msgid "modified" msgid "modified"
msgstr "date de dernière modification" msgstr "date de dernière modification"
#: src/authentic2_auth_oidc/models.py:187 #: src/authentic2_auth_oidc/models.py:141
msgid "not verified" msgid "not verified"
msgstr "déclaratif" msgstr "déclaratif"
#: src/authentic2_auth_oidc/models.py:188 #: src/authentic2_auth_oidc/models.py:142
msgid "verified claim" msgid "verified claim"
msgstr "accompagné dun claim de certification" msgstr "accompagné dun claim de certification"
#: src/authentic2_auth_oidc/models.py:189 #: src/authentic2_auth_oidc/models.py:143
msgid "always verified" msgid "always verified"
msgstr "certifié" msgstr "certifié"
#: src/authentic2_auth_oidc/models.py:194 #: src/authentic2_auth_oidc/models.py:147
#: src/authentic2_auth_oidc/models.py:252 #: src/authentic2_auth_oidc/models.py:188
msgid "provider" msgid "provider"
msgstr "fournisseur" msgstr "fournisseur"
#: src/authentic2_auth_oidc/models.py:199 #: src/authentic2_auth_oidc/models.py:149
msgid "claim" msgid "claim"
msgstr "claim" msgstr "claim"
#: src/authentic2_auth_oidc/models.py:202 #: src/authentic2_auth_oidc/models.py:150
msgid "attribute" msgid "attribute"
msgstr "attribut" msgstr "attribut"
#: src/authentic2_auth_oidc/models.py:206 #: src/authentic2_auth_oidc/models.py:152
msgid "verified" msgid "verified"
msgstr "vérifié" msgstr "vérifié"
#: src/authentic2_auth_oidc/models.py:210 #: src/authentic2_auth_oidc/models.py:154
msgid "required" msgid "required"
msgstr "requis" msgstr "requis"
#: src/authentic2_auth_oidc/models.py:212 #: src/authentic2_auth_oidc/models.py:155
msgid "idtoken claim" msgid "idtoken claim"
msgstr "claim de lidtoken" msgstr "claim de lidtoken"
#: src/authentic2_auth_oidc/models.py:257 #: src/authentic2_auth_oidc/models.py:192
msgid "user" msgid "user"
msgstr "utilisateur" msgstr "utilisateur"
#: src/authentic2_auth_oidc/models.py:261 #: src/authentic2_auth_oidc/models.py:196
msgid "sub" msgid "sub"
msgstr "sub" msgstr "sub"
#: src/authentic2_auth_oidc/utils.py:84 #: src/authentic2_auth_oidc/templates/authentic2_auth_oidc/manager_user_sidebar.html:4
#, python-format
msgid "Link with OIDC provider %(name)s created on %(created)s (sub %(sub)s)."
msgstr ""
"Liaison avec le fournisseur d'identité OIDC %(name)s créée le %(created)s "
"(sub %(sub)s)."
#: src/authentic2_auth_oidc/utils.py:83
#, python-format #, python-format
msgid "Key ID %r not in key set" msgid "Key ID %r not in key set"
msgstr "Lidentifiant de clé (Key ID) %r nest pas dans le trousseau" msgstr "Lidentifiant de clé (Key ID) %r nest pas dans le trousseau"
#: src/authentic2_auth_oidc/utils.py:90 #: src/authentic2_auth_oidc/utils.py:89
#, python-format #, python-format
msgid "Error during token parsing: %s" msgid "Error during token parsing: %s"
msgstr "Erreur à lanalyse du jeton : %s" msgstr "Erreur à lanalyse du jeton : %s"
#: src/authentic2_auth_oidc/utils.py:125 #: src/authentic2_auth_oidc/utils.py:123
msgid "Encoded ID Token must be either binary or string data" msgid "Encoded ID Token must be either binary or string data"
msgstr "" msgstr ""
"LID Token encodé doit être une donnée binaire ou une chaîne de caractères" "LID Token encodé doit être une donnée binaire ou une chaîne de caractères"
#: src/authentic2_auth_oidc/utils.py:134 #: src/authentic2_auth_oidc/utils.py:132
msgid "invalid id_token" msgid "invalid id_token"
msgstr "id_token invalide" msgstr "id_token invalide"
#: src/authentic2_auth_oidc/utils.py:139 #: src/authentic2_auth_oidc/utils.py:136
#, python-format #, python-format
msgid "missing field: %s" msgid "missing field: %s"
msgstr "champ manquant : %s" msgstr "champ manquant : %s"
#: src/authentic2_auth_oidc/utils.py:144 src/authentic2_auth_oidc/utils.py:147 #: src/authentic2_auth_oidc/utils.py:140 src/authentic2_auth_oidc/utils.py:142
#, python-format #, python-format
msgid "invalid amr value: %s" msgid "invalid amr value: %s"
msgstr "valeur amr invalide : %s" msgstr "valeur amr invalide : %s"
#: src/authentic2_auth_oidc/utils.py:150 #: src/authentic2_auth_oidc/utils.py:146
#, python-format #, python-format
msgid "invalid %(key)s value: %(value)s" msgid "invalid %(key)s value: %(value)s"
msgstr "valeur %(key)s invalide : %(value)s" msgstr "valeur %(key)s invalide : %(value)s"
#: src/authentic2_auth_oidc/utils.py:162 #: src/authentic2_auth_oidc/utils.py:157
#, python-format #, python-format
msgid "invalid auth_time value: %s" msgid "invalid auth_time value: %s"
msgstr "valeur auth_time invalide : %s" msgstr "valeur auth_time invalide : %s"
#: src/authentic2_auth_oidc/utils.py:208 #: src/authentic2_auth_oidc/utils.py:212
#, python-format #, python-format
msgid "" msgid ""
"Unable to reach the OpenID Connect configuration for %(issuer)s: %(error)s" "Unable to reach the OpenID Connect configuration for %(issuer)s: %(error)s"
@ -232,33 +245,33 @@ msgstr ""
"Impossible datteindre la configuration OpenID Connect pour %(issuer)s : " "Impossible datteindre la configuration OpenID Connect pour %(issuer)s : "
"%(error)s" "%(error)s"
#: src/authentic2_auth_oidc/utils.py:217 #: src/authentic2_auth_oidc/utils.py:222
msgid "MUST be a dictionnary" msgid "MUST be a dictionnary"
msgstr "DOIT être un dictionnaire" msgstr "DOIT être un dictionnaire"
#: src/authentic2_auth_oidc/utils.py:220 #: src/authentic2_auth_oidc/utils.py:225
#, python-format #, python-format
msgid "missing keys %s" msgid "missing keys %s"
msgstr "clés manquantes %s" msgstr "clés manquantes %s"
#: src/authentic2_auth_oidc/utils.py:224 #: src/authentic2_auth_oidc/utils.py:229
#, python-format #, python-format
msgid "%(key)s is not an https:// URL; %(value)s" msgid "%(key)s is not an https:// URL; %(value)s"
msgstr "%(key)s nest pas une URL https://; %(value)s" msgstr "%(key)s nest pas une URL https://; %(value)s"
#: src/authentic2_auth_oidc/utils.py:229 #: src/authentic2_auth_oidc/utils.py:236
#, python-format #, python-format
msgid "Invalid OpenID Connect configuration for %(issuer)s: %(error)s" msgid "Invalid OpenID Connect configuration for %(issuer)s: %(error)s"
msgstr "Configuration OpenID Connect invalide pour %(issuer)s : %(error)s" msgstr "Configuration OpenID Connect invalide pour %(issuer)s : %(error)s"
#: src/authentic2_auth_oidc/utils.py:232 #: src/authentic2_auth_oidc/utils.py:238
msgid "" msgid ""
"authorization code flow is unsupported: code response type is unsupported" "authorization code flow is unsupported: code response type is unsupported"
msgstr "" msgstr ""
"Le flot « authorization code » nest pas pris en charge, aucune des « code " "Le flot « authorization code » nest pas pris en charge, aucune des « code "
"response type » nest pris en charge." "response type » nest pris en charge."
#: src/authentic2_auth_oidc/utils.py:238 #: src/authentic2_auth_oidc/utils.py:244
#, python-format #, python-format
msgid "" msgid ""
"Unable to reach the OpenID Connect JWKSet for %(issuer)s: %(url)s %(error)s" "Unable to reach the OpenID Connect JWKSet for %(issuer)s: %(url)s %(error)s"
@ -266,17 +279,17 @@ msgstr ""
"Impossible datteindre lensemble de clés JWL pour %(issuer)s : %(url)s " "Impossible datteindre lensemble de clés JWL pour %(issuer)s : %(url)s "
"%(error)s" "%(error)s"
#: src/authentic2_auth_oidc/utils.py:247 #: src/authentic2_auth_oidc/utils.py:254
#, python-format #, python-format
msgid "Invalid JSKSet document: %s" msgid "Invalid JSKSet document: %s"
msgstr "Ensemble de clés JWK invalide : %s" msgstr "Ensemble de clés JWK invalide : %s"
#: src/authentic2_auth_oidc/utils.py:262 #: src/authentic2_auth_oidc/utils.py:271
#, python-format #, python-format
msgid "no common algorithm found for signing idtokens: %s" msgid "no common algorithm found for signing idtokens: %s"
msgstr "aucun algorithme commun trouvé pour signer les idtokens : %s" msgstr "aucun algorithme commun trouvé pour signer les idtokens : %s"
#: src/authentic2_auth_oidc/utils.py:286 #: src/authentic2_auth_oidc/utils.py:298
msgid "" msgid ""
"invalid issuer URL, it must use the https:// scheme and not have a query or " "invalid issuer URL, it must use the https:// scheme and not have a query or "
"fragment" "fragment"
@ -284,36 +297,45 @@ msgstr ""
"URL dissuer invalide, elle doit utiliser le protocole https:// et navoir " "URL dissuer invalide, elle doit utiliser le protocole https:// et navoir "
"ni paramètre ni fragment" "ni paramètre ni fragment"
#: src/authentic2_auth_oidc/views.py:160 #: src/authentic2_auth_oidc/views.py:157
#, python-format #, python-format
msgid "Unknown OpenID connect issuer: \"%s\"" msgid "Unknown OpenID connect issuer: \"%s\""
msgstr "Fournisseur OpenID Connect inconnu : \"%s\"" msgstr "Fournisseur OpenID Connect inconnu : \"%s\""
#: src/authentic2_auth_oidc/views.py:176 #: src/authentic2_auth_oidc/views.py:173
#, python-format #, python-format
msgid "Missing code, report %s to an administrator" msgid "Missing code, report %s to an administrator"
msgstr "Code absent, signalez lerreur %s à un administrateur." msgstr "Code absent, signalez lerreur %s à un administrateur."
#: src/authentic2_auth_oidc/views.py:201 src/authentic2_auth_oidc/views.py:213 #: src/authentic2_auth_oidc/views.py:223
#: src/authentic2_auth_oidc/views.py:227 #, python-format
msgid ""
"Authentication on %(name)s failed with error \"%(error)s\", report "
"%(request_id)s to an administrator. "
msgstr ""
"L'authentification sur %(name)s a échoué avec l'erreur « %(error)s », vous "
"pouvez signaler le numéro derreur %(request_id)s à un administrateur."
#: src/authentic2_auth_oidc/views.py:234 src/authentic2_auth_oidc/views.py:252
#: src/authentic2_auth_oidc/views.py:268 src/authentic2_auth_oidc/views.py:287
#, python-format #, python-format
msgid "Provider %(name)s is down, report %(request_id)s to an administrator. " msgid "Provider %(name)s is down, report %(request_id)s to an administrator. "
msgstr "" msgstr ""
"Le fournisseur OpenID Connect %(name)s est défaillant, signalez lerreur " "Le fournisseur OpenID Connect %(name)s est défaillant, signalez lerreur "
"%(request_id)s à un administrateur." "%(request_id)s à un administrateur."
#: src/authentic2_auth_oidc/views.py:251 #: src/authentic2_auth_oidc/views.py:310
msgid "No user found" msgid "No user found"
msgstr "Aucun utilisateur trouvé" msgstr "Aucun utilisateur trouvé"
#: src/authentic2_auth_oidc/views.py:266 #: src/authentic2_auth_oidc/views.py:327
#, python-format #, python-format
msgid "Login with %(name)s failed, report %(request_id)s to an administrator." msgid "Login with %(name)s failed, report %(request_id)s to an administrator."
msgstr "" msgstr ""
"La connexion depuis %(name)s a échoué, vous pouvez signaler le numéro " "La connexion depuis %(name)s a échoué, vous pouvez signaler le numéro "
"derreur %(request_id)s à un administrateur." "derreur %(request_id)s à un administrateur."
#: src/authentic2_auth_oidc/views.py:273 #: src/authentic2_auth_oidc/views.py:336
#, python-format #, python-format
msgid "Login with OpenIDConnect failed, report %s to an administrator" msgid "Login with OpenIDConnect failed, report %s to an administrator"
msgstr "" msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: authentic2-auth-fc 1.0\n" "Project-Id-Version: authentic2-auth-fc 1.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-04 21:22+0100\n" "POT-Creation-Date: 2021-04-28 12:01+0200\n"
"PO-Revision-Date: 2021-03-04 08:59+0100\n" "PO-Revision-Date: 2021-03-04 08:59+0100\n"
"Last-Translator: Benjamin Dauvergne <bdauvergne@entrouvert.com>\n" "Last-Translator: Benjamin Dauvergne <bdauvergne@entrouvert.com>\n"
"Language-Team: french <fr@li.org>\n" "Language-Team: french <fr@li.org>\n"
@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: src/authentic2_auth_saml/adapters.py:82 #: src/authentic2_auth_saml/adapters.py:80
#, python-format #, python-format
msgid "user creation failed on a mandatory mapping action: %s" msgid "user creation failed on a mandatory mapping action: %s"
msgstr "" msgstr ""
@ -34,3 +34,12 @@ msgstr "Connexion"
#: src/authentic2_auth_saml/templates/authentic2_auth_saml/login.html:10 #: src/authentic2_auth_saml/templates/authentic2_auth_saml/login.html:10
msgid "Cancel" msgid "Cancel"
msgstr "Annuler" msgstr "Annuler"
#: src/authentic2_auth_saml/templates/authentic2_auth_saml/manager_user_sidebar.html:5
#, python-format
msgid ""
"Link with SAML provider %(provider)s created on %(created)s (NameID "
"%(name_id)s)."
msgstr ""
"Liaison avec le fournisseur d'identité SAML %(provider)s créée le "
"%(created)s (NameID %(name_id)s)."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: authentic2_idp_cas 1.0 \n" "Project-Id-Version: authentic2_idp_cas 1.0 \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-04 21:22+0100\n" "POT-Creation-Date: 2021-04-28 12:01+0200\n"
"PO-Revision-Date: 2020-09-21 15:57+0200\n" "PO-Revision-Date: 2020-09-21 15:57+0200\n"
"Last-Translator: Benjamin Dauvergne <bdauvergne@entrouvert.com>\n" "Last-Translator: Benjamin Dauvergne <bdauvergne@entrouvert.com>\n"
"Language: fr\n" "Language: fr\n"
@ -17,43 +17,43 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: src/authentic2_idp_cas/admin.py:37 src/authentic2_idp_cas/admin.py:58 #: src/authentic2_idp_cas/admin.py:39 src/authentic2_idp_cas/admin.py:56
msgid "None" msgid "None"
msgstr "Aucun" msgstr "Aucun"
#: src/authentic2_idp_cas/admin.py:97 #: src/authentic2_idp_cas/admin.py:101
msgid "Logout" msgid "Logout"
msgstr "Déconnexion" msgstr "Déconnexion"
#: src/authentic2_idp_cas/models.py:32 #: src/authentic2_idp_cas/models.py:34
msgid "urls" msgid "urls"
msgstr "URLs" msgstr "URLs"
#: src/authentic2_idp_cas/models.py:33 src/authentic2_idp_cas/models.py:85 #: src/authentic2_idp_cas/models.py:35 src/authentic2_idp_cas/models.py:85
msgid "attribute name" msgid "attribute name"
msgstr "nom de lattribut" msgstr "nom de lattribut"
#: src/authentic2_idp_cas/models.py:37 #: src/authentic2_idp_cas/models.py:39
msgid "proxy" msgid "proxy"
msgstr "mandataire" msgstr "mandataire"
#: src/authentic2_idp_cas/models.py:38 #: src/authentic2_idp_cas/models.py:40
msgid "services who can request proxy tickets for this service" msgid "services who can request proxy tickets for this service"
msgstr "" msgstr ""
"autres applications qui peuvent demander un ticket mandataire vers cette " "autres applications qui peuvent demander un ticket mandataire vers cette "
"application" "application"
#: src/authentic2_idp_cas/models.py:50 #: src/authentic2_idp_cas/models.py:53
#, python-format #, python-format
msgid "%s is an invalid URL" msgid "%s is an invalid URL"
msgstr "%s nest pas une URL valide" msgstr "%s nest pas une URL valide"
#: src/authentic2_idp_cas/models.py:75 src/authentic2_idp_cas/models.py:82 #: src/authentic2_idp_cas/models.py:78 src/authentic2_idp_cas/models.py:83
#: src/authentic2_idp_cas/models.py:108 #: src/authentic2_idp_cas/models.py:113
msgid "service" msgid "service"
msgstr "application" msgstr "application"
#: src/authentic2_idp_cas/models.py:76 #: src/authentic2_idp_cas/models.py:79
msgid "services" msgid "services"
msgstr "applications" msgstr "applications"
@ -73,39 +73,39 @@ msgstr "attribut pour les tickets"
msgid "CAS attributes" msgid "CAS attributes"
msgstr "attributs pour les tickets" msgstr "attributs pour les tickets"
#: src/authentic2_idp_cas/models.py:103 #: src/authentic2_idp_cas/models.py:110
msgid "ticket id" msgid "ticket id"
msgstr "identifiant du ticket" msgstr "identifiant du ticket"
#: src/authentic2_idp_cas/models.py:104 #: src/authentic2_idp_cas/models.py:111
msgid "fresh authentication" msgid "fresh authentication"
msgstr "nécessite une ré-authentification" msgstr "nécessite une ré-authentification"
#: src/authentic2_idp_cas/models.py:105 #: src/authentic2_idp_cas/models.py:112
msgid "valid" msgid "valid"
msgstr "valide" msgstr "valide"
#: src/authentic2_idp_cas/models.py:110 #: src/authentic2_idp_cas/models.py:114
msgid "service URL" msgid "service URL"
msgstr "URL de lapplication" msgstr "URL de lapplication"
#: src/authentic2_idp_cas/models.py:116 #: src/authentic2_idp_cas/models.py:120
msgid "user" msgid "user"
msgstr "utilisateur" msgstr "utilisateur"
#: src/authentic2_idp_cas/models.py:118 #: src/authentic2_idp_cas/models.py:123
msgid "creation" msgid "creation"
msgstr "date de création" msgstr "date de création"
#: src/authentic2_idp_cas/models.py:119 #: src/authentic2_idp_cas/models.py:124
msgid "expire" msgid "expire"
msgstr "date dexpiration" msgstr "date dexpiration"
#: src/authentic2_idp_cas/models.py:121 #: src/authentic2_idp_cas/models.py:126
msgid "django session key" msgid "django session key"
msgstr "clé de session django" msgstr "clé de session django"
#: src/authentic2_idp_cas/models.py:122 #: src/authentic2_idp_cas/models.py:128
msgid "proxies" msgid "proxies"
msgstr "mandataires" msgstr "mandataires"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Authentic\n" "Project-Id-Version: Authentic\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-04 21:22+0100\n" "POT-Creation-Date: 2021-04-28 12:01+0200\n"
"PO-Revision-Date: 2021-03-04 09:00+0100\n" "PO-Revision-Date: 2021-03-04 09:00+0100\n"
"Last-Translator: Benjamin Dauvergne <bdauvergne@entrouvert.com>\n" "Last-Translator: Benjamin Dauvergne <bdauvergne@entrouvert.com>\n"
"Language-Team: None\n" "Language-Team: None\n"
@ -17,133 +17,133 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: src/authentic2_idp_oidc/models.py:67 src/authentic2_idp_oidc/models.py:329 #: src/authentic2_idp_oidc/models.py:64 src/authentic2_idp_oidc/models.py:295
#: src/authentic2_idp_oidc/models.py:389 #: src/authentic2_idp_oidc/models.py:334
msgid "uuid" msgid "uuid"
msgstr "identifiant unique interne" msgstr "identifiant unique interne"
#: src/authentic2_idp_oidc/models.py:68 #: src/authentic2_idp_oidc/models.py:65
msgid "pairwise unreversible" msgid "pairwise unreversible"
msgstr "pseudonyme irréversible" msgstr "pseudonyme irréversible"
#: src/authentic2_idp_oidc/models.py:69 #: src/authentic2_idp_oidc/models.py:66
msgid "pairwise reversible" msgid "pairwise reversible"
msgstr "pseudonyme réversible" msgstr "pseudonyme réversible"
#: src/authentic2_idp_oidc/models.py:70 #: src/authentic2_idp_oidc/models.py:67
msgid "email" msgid "email"
msgstr "courriel" msgstr "courriel"
#: src/authentic2_idp_oidc/models.py:77 #: src/authentic2_idp_oidc/models.py:74
msgid "HMAC" msgid "HMAC"
msgstr "HMAC" msgstr "HMAC"
#: src/authentic2_idp_oidc/models.py:78 #: src/authentic2_idp_oidc/models.py:75
msgid "RSA" msgid "RSA"
msgstr "RSA" msgstr "RSA"
#: src/authentic2_idp_oidc/models.py:79 #: src/authentic2_idp_oidc/models.py:76
msgid "EC" msgid "EC"
msgstr "EC" msgstr "EC"
#: src/authentic2_idp_oidc/models.py:85 #: src/authentic2_idp_oidc/models.py:82
msgid "authorization code" msgid "authorization code"
msgstr "code dautorisation" msgstr "code dautorisation"
#: src/authentic2_idp_oidc/models.py:86 #: src/authentic2_idp_oidc/models.py:83
msgid "implicit/native" msgid "implicit/native"
msgstr "implicite/natif" msgstr "implicite/natif"
#: src/authentic2_idp_oidc/models.py:87 #: src/authentic2_idp_oidc/models.py:84
msgid "resource owner password credentials" msgid "resource owner password credentials"
msgstr "mot de passe du propriétaire de ressource" msgstr "mot de passe du propriétaire de ressource"
#: src/authentic2_idp_oidc/models.py:94 #: src/authentic2_idp_oidc/models.py:91
msgid "authorization by service" msgid "authorization by service"
msgstr "autoriser par service" msgstr "autoriser par service"
#: src/authentic2_idp_oidc/models.py:95 #: src/authentic2_idp_oidc/models.py:92
msgid "authorization by ou" msgid "authorization by ou"
msgstr "autoriser par collectivité" msgstr "autoriser par collectivité"
#: src/authentic2_idp_oidc/models.py:96 #: src/authentic2_idp_oidc/models.py:93
msgid "none" msgid "none"
msgstr "aucun" msgstr "aucun"
#: src/authentic2_idp_oidc/models.py:101 src/authentic2_idp_oidc/models.py:268 #: src/authentic2_idp_oidc/models.py:97 src/authentic2_idp_oidc/models.py:243
msgid "client id" msgid "client id"
msgstr "Identifiant du client (client id)" msgstr "Identifiant du client (client id)"
#: src/authentic2_idp_oidc/models.py:106 #: src/authentic2_idp_oidc/models.py:99
msgid "client secret" msgid "client secret"
msgstr "Secret du client (client secret)" msgstr "Secret du client (client secret)"
#: src/authentic2_idp_oidc/models.py:109 #: src/authentic2_idp_oidc/models.py:101
msgid "time during which the token is valid" msgid "time during which the token is valid"
msgstr "durée de validité du jeton" msgstr "durée de validité du jeton"
#: src/authentic2_idp_oidc/models.py:114 #: src/authentic2_idp_oidc/models.py:104
msgid "time during which the access token is valid" msgid "time during which the access token is valid"
msgstr "durée de validité du jeton daccès" msgstr "durée de validité du jeton daccès"
#: src/authentic2_idp_oidc/models.py:121 #: src/authentic2_idp_oidc/models.py:109
msgid "authorization mode" msgid "authorization mode"
msgstr "mode dautorisation" msgstr "mode dautorisation"
#: src/authentic2_idp_oidc/models.py:123 #: src/authentic2_idp_oidc/models.py:112
msgid "authorization flow" msgid "authorization flow"
msgstr "processus dautorisation" msgstr "processus dautorisation"
#: src/authentic2_idp_oidc/models.py:127 #: src/authentic2_idp_oidc/models.py:114
msgid "redirect URIs" msgid "redirect URIs"
msgstr "URIs de redirection" msgstr "URIs de redirection"
#: src/authentic2_idp_oidc/models.py:130 #: src/authentic2_idp_oidc/models.py:116
msgid "post logout redirect URIs" msgid "post logout redirect URIs"
msgstr "URIs de redirection après déconnexion" msgstr "URIs de redirection après déconnexion"
#: src/authentic2_idp_oidc/models.py:135 #: src/authentic2_idp_oidc/models.py:118
msgid "sector identifier URI" msgid "sector identifier URI"
msgstr "URI didentifiant de secteur" msgstr "URI didentifiant de secteur"
#: src/authentic2_idp_oidc/models.py:138 #: src/authentic2_idp_oidc/models.py:120
msgid "identifier policy" msgid "identifier policy"
msgstr "politique des identifiants" msgstr "politique des identifiants"
#: src/authentic2_idp_oidc/models.py:142 #: src/authentic2_idp_oidc/models.py:123
msgid "resource owner credentials grant scope" msgid "resource owner credentials grant scope"
msgstr "portée de cession par crédentiels du propriétaire de la ressource" msgstr "portée de cession par crédentiels du propriétaire de la ressource"
#: src/authentic2_idp_oidc/models.py:143 #: src/authentic2_idp_oidc/models.py:124
msgid "Permitted or default scopes (for credentials grant)" msgid "Permitted or default scopes (for credentials grant)"
msgstr "Portées autorisées ou par défaut (pour la cession par crédentiels)" msgstr "Portées autorisées ou par défaut (pour la cession par crédentiels)"
#: src/authentic2_idp_oidc/models.py:149 #: src/authentic2_idp_oidc/models.py:129
msgid "IDToken signature algorithm" msgid "IDToken signature algorithm"
msgstr "algorithme de signature de lIDToken" msgstr "algorithme de signature de lIDToken"
#: src/authentic2_idp_oidc/models.py:151 #: src/authentic2_idp_oidc/models.py:131
msgid "has API access" msgid "has API access"
msgstr "a accès à lAPI" msgstr "a accès à lAPI"
#: src/authentic2_idp_oidc/models.py:154 #: src/authentic2_idp_oidc/models.py:132
msgid "frontchannel logout URI" msgid "frontchannel logout URI"
msgstr "URI de déconnexion frontchannel" msgstr "URI de déconnexion frontchannel"
#: src/authentic2_idp_oidc/models.py:157 #: src/authentic2_idp_oidc/models.py:134
msgid "frontchannel timeout" msgid "frontchannel timeout"
msgstr "temps dexpiration pour la déconnexion frontchannel" msgstr "temps dexpiration pour la déconnexion frontchannel"
#: src/authentic2_idp_oidc/models.py:167 src/authentic2_idp_oidc/models.py:280 #: src/authentic2_idp_oidc/models.py:142 src/authentic2_idp_oidc/models.py:249
#: src/authentic2_idp_oidc/models.py:358 src/authentic2_idp_oidc/models.py:408 #: src/authentic2_idp_oidc/models.py:306 src/authentic2_idp_oidc/models.py:341
msgid "created" msgid "created"
msgstr "créé" msgstr "créé"
#: src/authentic2_idp_oidc/models.py:170 #: src/authentic2_idp_oidc/models.py:143
msgid "modified" msgid "modified"
msgstr "modifié" msgstr "modifié"
#: src/authentic2_idp_oidc/models.py:181 #: src/authentic2_idp_oidc/models.py:153
#, python-format #, python-format
msgid "" msgid ""
"You cannot use algorithm %(algorithm)s, setting A2_IDP_OIDC_JWKSET is not " "You cannot use algorithm %(algorithm)s, setting A2_IDP_OIDC_JWKSET is not "
@ -152,7 +152,7 @@ msgstr ""
"Impossible dutiliser lalgorithme %(algorithm)s, le paramètre " "Impossible dutiliser lalgorithme %(algorithm)s, le paramètre "
"A2_IDP_OIDC_JWKSET nest pas défini." "A2_IDP_OIDC_JWKSET nest pas défini."
#: src/authentic2_idp_oidc/models.py:188 #: src/authentic2_idp_oidc/models.py:162
msgid "" msgid ""
"Redirect URIs must have the same domain or you must define a sector " "Redirect URIs must have the same domain or you must define a sector "
"identifier URI if you want to use pairwiseidentifiers" "identifier URI if you want to use pairwiseidentifiers"
@ -160,64 +160,64 @@ msgstr ""
"Les URIs de redirection doivent avoir le même domaine ou vous devez définir " "Les URIs de redirection doivent avoir le même domaine ou vous devez définir "
"une URL didentifiant de secteur si vous souhaitez utiliser des pseudonymes." "une URL didentifiant de secteur si vous souhaitez utiliser des pseudonymes."
#: src/authentic2_idp_oidc/models.py:250 #: src/authentic2_idp_oidc/models.py:224
msgid "OU-based authorization requires that the client be within an OU." msgid "OU-based authorization requires that the client be within an OU."
msgstr "" msgstr ""
"Le mode dautorisation par collectivité nécessite den sélectionner une." "Le mode dautorisation par collectivité nécessite den sélectionner une."
#: src/authentic2_idp_oidc/models.py:265 #: src/authentic2_idp_oidc/models.py:241
msgid "client ct" msgid "client ct"
msgstr "type de contenu du client" msgstr "type de contenu du client"
#: src/authentic2_idp_oidc/models.py:272 src/authentic2_idp_oidc/models.py:337 #: src/authentic2_idp_oidc/models.py:245 src/authentic2_idp_oidc/models.py:297
#: src/authentic2_idp_oidc/models.py:397 #: src/authentic2_idp_oidc/models.py:336
msgid "user" msgid "user"
msgstr "utilisateur" msgstr "utilisateur"
#: src/authentic2_idp_oidc/models.py:276 src/authentic2_idp_oidc/models.py:340 #: src/authentic2_idp_oidc/models.py:246 src/authentic2_idp_oidc/models.py:298
#: src/authentic2_idp_oidc/models.py:400 #: src/authentic2_idp_oidc/models.py:337
msgid "scopes" msgid "scopes"
msgstr "portées (scopes)" msgstr "portées (scopes)"
#: src/authentic2_idp_oidc/models.py:283 src/authentic2_idp_oidc/models.py:361 #: src/authentic2_idp_oidc/models.py:250 src/authentic2_idp_oidc/models.py:307
#: src/authentic2_idp_oidc/models.py:411 #: src/authentic2_idp_oidc/models.py:342
msgid "expire" msgid "expire"
msgstr "expiration" msgstr "expiration"
#: src/authentic2_idp_oidc/models.py:333 src/authentic2_idp_oidc/models.py:393 #: src/authentic2_idp_oidc/models.py:296 src/authentic2_idp_oidc/models.py:335
#: src/authentic2_idp_oidc/models.py:449 #: src/authentic2_idp_oidc/models.py:378
msgid "client" msgid "client"
msgstr "client" msgstr "client"
#: src/authentic2_idp_oidc/models.py:343 #: src/authentic2_idp_oidc/models.py:299
msgid "state" msgid "state"
msgstr "statut" msgstr "statut"
#: src/authentic2_idp_oidc/models.py:346 #: src/authentic2_idp_oidc/models.py:300
msgid "nonce" msgid "nonce"
msgstr "nonce" msgstr "nonce"
#: src/authentic2_idp_oidc/models.py:348 #: src/authentic2_idp_oidc/models.py:301
msgid "redirect URI" msgid "redirect URI"
msgstr "URI de redirection" msgstr "URI de redirection"
#: src/authentic2_idp_oidc/models.py:351 src/authentic2_idp_oidc/models.py:402 #: src/authentic2_idp_oidc/models.py:302 src/authentic2_idp_oidc/models.py:338
msgid "session key" msgid "session key"
msgstr "clé de session" msgstr "clé de session"
#: src/authentic2_idp_oidc/models.py:354 #: src/authentic2_idp_oidc/models.py:303
msgid "auth time" msgid "auth time"
msgstr "date dautorisation" msgstr "date dautorisation"
#: src/authentic2_idp_oidc/models.py:453 #: src/authentic2_idp_oidc/models.py:379
msgid "attribute name" msgid "attribute name"
msgstr "nom dattribut" msgstr "nom dattribut"
#: src/authentic2_idp_oidc/models.py:456 #: src/authentic2_idp_oidc/models.py:380
msgid "attribute value" msgid "attribute value"
msgstr "valeur de lattribut" msgstr "valeur de lattribut"
#: src/authentic2_idp_oidc/models.py:459 #: src/authentic2_idp_oidc/models.py:381
msgid "attribute scopes" msgid "attribute scopes"
msgstr "portées (scopes) liées à cet attribut" msgstr "portées (scopes) liées à cet attribut"
@ -259,40 +259,40 @@ msgstr "Refuser"
msgid "Sending logout to %(name)s..." msgid "Sending logout to %(name)s..."
msgstr "Déconnexion de %(name)s…" msgstr "Déconnexion de %(name)s…"
#: src/authentic2_idp_oidc/views.py:108 #: src/authentic2_idp_oidc/views.py:123
#, python-format #, python-format
msgid "OpenIDConnect Error \"%(error_code)s\": %(error_description)s" msgid "OpenIDConnect Error \"%(error_code)s\": %(error_description)s"
msgstr "Erreur OpenID Connect « %(error_code)s » : %(error_description)s" msgstr "Erreur OpenID Connect « %(error_code)s » : %(error_description)s"
#: src/authentic2_idp_oidc/views.py:132 #: src/authentic2_idp_oidc/views.py:146
#, python-format #, python-format
msgid "Missing parameter \"%s\"" msgid "Missing parameter \"%s\""
msgstr "Paramètre « %s » manquant" msgstr "Paramètre « %s » manquant"
#: src/authentic2_idp_oidc/views.py:167 #: src/authentic2_idp_oidc/views.py:181
msgid "Wrong client identifier" msgid "Wrong client identifier"
msgstr "Mauvais identifiant de client" msgstr "Mauvais identifiant de client"
#: src/authentic2_idp_oidc/views.py:171 #: src/authentic2_idp_oidc/views.py:185
msgid "Wrong client secret" msgid "Wrong client secret"
msgstr "Mauvais secret de client" msgstr "Mauvais secret de client"
#: src/authentic2_idp_oidc/views.py:229 #: src/authentic2_idp_oidc/views.py:245
#, python-format #, python-format
msgid "Unknown client identifier: \"%s\"" msgid "Unknown client identifier: \"%s\""
msgstr "Identifiant de client inconnu : « %s »" msgstr "Identifiant de client inconnu : « %s »"
#: src/authentic2_idp_oidc/views.py:234 #: src/authentic2_idp_oidc/views.py:249
#, python-format #, python-format
msgid "Redirect URI \"%s\" is unknown." msgid "Redirect URI \"%s\" is unknown."
msgstr "LURI de redirection « %s » est inconnue." msgstr "LURI de redirection « %s » est inconnue."
#: src/authentic2_idp_oidc/views.py:238 #: src/authentic2_idp_oidc/views.py:251
#, python-format #, python-format
msgid " Known redirect URIs are: %s" msgid " Known redirect URIs are: %s"
msgstr "Les URIs de redirection connues sont : %s" msgstr "Les URIs de redirection connues sont : %s"
#: src/authentic2_idp_oidc/views.py:268 #: src/authentic2_idp_oidc/views.py:284
msgid "" msgid ""
"Client is configured for resource owner password credentials grant, " "Client is configured for resource owner password credentials grant, "
"authorize endpoint is not usable" "authorize endpoint is not usable"
@ -300,20 +300,20 @@ msgstr ""
"Le client est configuré pour le type de cession par crédentiels du " "Le client est configuré pour le type de cession par crédentiels du "
"propriétaire de la ressource, lendpoint dautorisation nest pas utilisable." "propriétaire de la ressource, lendpoint dautorisation nest pas utilisable."
#: src/authentic2_idp_oidc/views.py:273 #: src/authentic2_idp_oidc/views.py:290
msgid "Response type must be \"code\"" msgid "Response type must be \"code\""
msgstr "Le type de réponse doit être « code »" msgstr "Le type de réponse doit être « code »"
#: src/authentic2_idp_oidc/views.py:277 #: src/authentic2_idp_oidc/views.py:293
msgid "Response type must be \"id_token token\" or \"id_token\"" msgid "Response type must be \"id_token token\" or \"id_token\""
msgstr "Le type de réponse doit être « id_token token » ou « id_token »" msgstr "Le type de réponse doit être « id_token token » ou « id_token »"
#: src/authentic2_idp_oidc/views.py:288 #: src/authentic2_idp_oidc/views.py:303
#, python-format #, python-format
msgid "Scope must contain \"openid\", received \"%s\"" msgid "Scope must contain \"openid\", received \"%s\""
msgstr "La portée (scope) doit contenir « openid », mais « %s » a été reçu" msgstr "La portée (scope) doit contenir « openid », mais « %s » a été reçu"
#: src/authentic2_idp_oidc/views.py:292 #: src/authentic2_idp_oidc/views.py:306
#, python-format #, python-format
msgid "" msgid ""
"Scope may contain \"%(allowed_scopes)s\" scope(s), received \"%(scopes)s\"" "Scope may contain \"%(allowed_scopes)s\" scope(s), received \"%(scopes)s\""
@ -321,47 +321,47 @@ msgstr ""
"La portée (scope) peut contenir « %(allowed_scopes)s », mais « %(scopes)s » " "La portée (scope) peut contenir « %(allowed_scopes)s », mais « %(scopes)s » "
"a été reçu" "a été reçu"
#: src/authentic2_idp_oidc/views.py:305 #: src/authentic2_idp_oidc/views.py:321
msgid "Parameter \"max_age\" must be a positive integer" msgid "Parameter \"max_age\" must be a positive integer"
msgstr "Le paramètre « max_age » doit être un entier positif" msgstr "Le paramètre « max_age » doit être un entier positif"
#: src/authentic2_idp_oidc/views.py:309 #: src/authentic2_idp_oidc/views.py:325
msgid "Authentication cancelled by user" msgid "Authentication cancelled by user"
msgstr "Authentification annulée par lusager" msgstr "Authentification annulée par lusager"
#: src/authentic2_idp_oidc/views.py:313 #: src/authentic2_idp_oidc/views.py:329
msgid "Login is required but prompt parameter is \"none\"" msgid "Login is required but prompt parameter is \"none\""
msgstr "" msgstr ""
"La connexion est requise mais le paramètre dinvite (prompt) vaut « none »" "La connexion est requise mais le paramètre dinvite (prompt) vaut « none »"
#: src/authentic2_idp_oidc/views.py:326 #: src/authentic2_idp_oidc/views.py:342
msgid "Login is required because of max_age, but prompt parameter is \"none\"" msgid "Login is required because of max_age, but prompt parameter is \"none\""
msgstr "" msgstr ""
"La connexion est de nouveau requise (max_age atteint), mais le paramètre " "La connexion est de nouveau requise (max_age atteint), mais le paramètre "
"dinvite (prompt) vaut « none »" "dinvite (prompt) vaut « none »"
#: src/authentic2_idp_oidc/views.py:356 #: src/authentic2_idp_oidc/views.py:374
msgid "Consent is required but prompt parameter is \"none\"" msgid "Consent is required but prompt parameter is \"none\""
msgstr "" msgstr ""
"Le consentement est requis mais le paramètre dinvite (prompt) vaut « none »" "Le consentement est requis mais le paramètre dinvite (prompt) vaut « none »"
#: src/authentic2_idp_oidc/views.py:383 #: src/authentic2_idp_oidc/views.py:399
msgid "User did not consent" msgid "User did not consent"
msgstr "Lusager na pas donné son consentement" msgstr "Lusager na pas donné son consentement"
#: src/authentic2_idp_oidc/views.py:542 #: src/authentic2_idp_oidc/views.py:566
#, python-format #, python-format
msgid "Rate limit exceeded for IP address \"%s\"" msgid "Rate limit exceeded for IP address \"%s\""
msgstr "Nombre maximal de tentatives atteint pour ladresse IP « %s »" msgstr "Nombre maximal de tentatives atteint pour ladresse IP « %s »"
#: src/authentic2_idp_oidc/views.py:548 #: src/authentic2_idp_oidc/views.py:573
#, python-format #, python-format
msgid "Rate limit of %(ratelimit)s exceeded for client \"%(client)s\"" msgid "Rate limit of %(ratelimit)s exceeded for client \"%(client)s\""
msgstr "" msgstr ""
"Fréquence maximale de tentatives valant %(ratelimit)s atteinte pour le " "Fréquence maximale de tentatives valant %(ratelimit)s atteinte pour le "
"client « %(client)s »" "client « %(client)s »"
#: src/authentic2_idp_oidc/views.py:555 #: src/authentic2_idp_oidc/views.py:580
msgid "" msgid ""
"Wrong content type. request content type must be 'application/x-www-form-" "Wrong content type. request content type must be 'application/x-www-form-"
"urlencoded'" "urlencoded'"
@ -369,7 +369,7 @@ msgstr ""
"Mauvais type de corps de requête (content type), le type doit être " "Mauvais type de corps de requête (content type), le type doit être "
 application/x-www-form-urlencoded »"  application/x-www-form-urlencoded »"
#: src/authentic2_idp_oidc/views.py:565 #: src/authentic2_idp_oidc/views.py:592
msgid "" msgid ""
"Request must bear both username and password as parameters using the " "Request must bear both username and password as parameters using the "
"\"application/x-www-form-urlencoded\" media type" "\"application/x-www-form-urlencoded\" media type"
@ -378,13 +378,13 @@ msgstr ""
"de passe (password) en tant que paramètre à laide du type de média " "de passe (password) en tant que paramètre à laide du type de média "
 application/x-www-form-urlencoded »"  application/x-www-form-urlencoded »"
#: src/authentic2_idp_oidc/views.py:571 #: src/authentic2_idp_oidc/views.py:601
msgid "Client is not configured for resource owner password credential grant" msgid "Client is not configured for resource owner password credential grant"
msgstr "" msgstr ""
"Le client nest pas configuré pour le type de cession par crédentiels du " "Le client nest pas configuré pour le type de cession par crédentiels du "
"propriétaire de la ressource" "propriétaire de la ressource"
#: src/authentic2_idp_oidc/views.py:585 #: src/authentic2_idp_oidc/views.py:616
#, python-format #, python-format
msgid "" msgid ""
"Too many attempts with erroneous RO password, you must wait %s seconds to " "Too many attempts with erroneous RO password, you must wait %s seconds to "
@ -393,45 +393,45 @@ msgstr ""
"Trop de tentatives avec un mot de passe de lusager erroné, vous devez " "Trop de tentatives avec un mot de passe de lusager erroné, vous devez "
"attendre %s secondes avant de pouvoir essayer à nouveau." "attendre %s secondes avant de pouvoir essayer à nouveau."
#: src/authentic2_idp_oidc/views.py:594 #: src/authentic2_idp_oidc/views.py:627
msgid "Parameter \"ou_slug\" does not match an existing organizational unit" msgid "Parameter \"ou_slug\" does not match an existing organizational unit"
msgstr "Le paramètre « ou_slug » ne correspond à aucune collectivité existante" msgstr "Le paramètre « ou_slug » ne correspond à aucune collectivité existante"
#: src/authentic2_idp_oidc/views.py:599 #: src/authentic2_idp_oidc/views.py:633
msgid "Invalid user credentials" msgid "Invalid user credentials"
msgstr "Mauvaises informations de connexion de lusager" msgstr "Mauvaises informations de connexion de lusager"
#: src/authentic2_idp_oidc/views.py:653 #: src/authentic2_idp_oidc/views.py:683
msgid "Parameter \"code\" is invalid" msgid "Parameter \"code\" is invalid"
msgstr "Le paramètre « code » nest pas valide" msgstr "Le paramètre « code » nest pas valide"
#: src/authentic2_idp_oidc/views.py:655 #: src/authentic2_idp_oidc/views.py:685
msgid "Parameter \"code\" has expired or user is disconnected" msgid "Parameter \"code\" has expired or user is disconnected"
msgstr "" msgstr ""
"Le paramètre « code » est arrivé à expiration, ou bien lusager sest " "Le paramètre « code » est arrivé à expiration, ou bien lusager sest "
"déconnecté" "déconnecté"
#: src/authentic2_idp_oidc/views.py:659 #: src/authentic2_idp_oidc/views.py:689
msgid "Parameter \"redirect_uri\" does not match the code." msgid "Parameter \"redirect_uri\" does not match the code."
msgstr "Le paramètre « redirect_uri » ne correspond pas au code." msgstr "Le paramètre « redirect_uri » ne correspond pas au code."
#: src/authentic2_idp_oidc/views.py:731 #: src/authentic2_idp_oidc/views.py:763
msgid "Bearer authentication is mandatory" msgid "Bearer authentication is mandatory"
msgstr "Lauthentification Bearer est obligatoire" msgstr "Lauthentification Bearer est obligatoire"
#: src/authentic2_idp_oidc/views.py:734 #: src/authentic2_idp_oidc/views.py:766
msgid "Invalid Bearer authentication" msgid "Invalid Bearer authentication"
msgstr "Authentification Bearer invalide" msgstr "Authentification Bearer invalide"
#: src/authentic2_idp_oidc/views.py:738 #: src/authentic2_idp_oidc/views.py:770
msgid "Token unknown" msgid "Token unknown"
msgstr "Jeton inconnu" msgstr "Jeton inconnu"
#: src/authentic2_idp_oidc/views.py:740 #: src/authentic2_idp_oidc/views.py:772
msgid "Token expired or user disconnected" msgid "Token expired or user disconnected"
msgstr "Le jeton est arrivé à expiration, ou bien lusager sest déconnecté" msgstr "Le jeton est arrivé à expiration, ou bien lusager sest déconnecté"
#: src/authentic2_idp_oidc/views.py:773 #: src/authentic2_idp_oidc/views.py:807
msgid "Invalid post logout URI" msgid "Invalid post logout URI"
msgstr "URI de retour après déconnexion invalide" msgstr "URI de retour après déconnexion invalide"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: django-rbac\n" "Project-Id-Version: django-rbac\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-04 21:22+0100\n" "POT-Creation-Date: 2021-04-28 12:01+0200\n"
"PO-Revision-Date: 2020-09-21 15:52+0200\n" "PO-Revision-Date: 2020-09-21 15:52+0200\n"
"Last-Translator: Benjamin Dauvergner <bdauvergne@entrouvert.com>\n" "Last-Translator: Benjamin Dauvergner <bdauvergne@entrouvert.com>\n"
"Language: \n" "Language: \n"
@ -16,69 +16,69 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: src/django_rbac/models.py:30 #: src/django_rbac/models.py:31
msgid "uuid" msgid "uuid"
msgstr "Identifiant unique" msgstr "Identifiant unique"
#: src/django_rbac/models.py:35 #: src/django_rbac/models.py:32
msgid "name" msgid "name"
msgstr "nom" msgstr "nom"
#: src/django_rbac/models.py:38 src/django_rbac/models.py:107 #: src/django_rbac/models.py:33 src/django_rbac/models.py:98
msgid "slug" msgid "slug"
msgstr "identifiant court" msgstr "identifiant court"
#: src/django_rbac/models.py:40 #: src/django_rbac/models.py:34
msgid "description" msgid "description"
msgstr "description" msgstr "description"
#: src/django_rbac/models.py:74 src/django_rbac/models.py:99 #: src/django_rbac/models.py:66 src/django_rbac/models.py:92
#: src/django_rbac/models.py:142 #: src/django_rbac/models.py:130
msgid "organizational unit" msgid "organizational unit"
msgstr "collectivité" msgstr "collectivité"
#: src/django_rbac/models.py:100 #: src/django_rbac/models.py:93
msgid "organizational units" msgid "organizational units"
msgstr "entités" msgstr "entités"
#: src/django_rbac/models.py:138 #: src/django_rbac/models.py:127
msgid "operation" msgid "operation"
msgstr "opération" msgstr "opération"
#: src/django_rbac/models.py:182 #: src/django_rbac/models.py:166
#, python-brace-format #, python-brace-format
msgid " (scope \"{0}\")" msgid " (scope \"{0}\")"
msgstr " (portée « {0} »)" msgstr " (portée « {0} »)"
#: src/django_rbac/models.py:196 #: src/django_rbac/models.py:178
msgid "permission" msgid "permission"
msgstr "permission" msgstr "permission"
#: src/django_rbac/models.py:197 #: src/django_rbac/models.py:179
msgid "permissions" msgid "permissions"
msgstr "permissions" msgstr "permissions"
#: src/django_rbac/models.py:260 #: src/django_rbac/models.py:238
msgid "role" msgid "role"
msgstr "rôle" msgstr "rôle"
#: src/django_rbac/models.py:261 #: src/django_rbac/models.py:239
msgid "roles" msgid "roles"
msgstr "rôles" msgstr "rôles"
#: src/django_rbac/models.py:295 #: src/django_rbac/models.py:272
msgid "role parenting relation" msgid "role parenting relation"
msgstr "relation de parenté entre rôles" msgstr "relation de parenté entre rôles"
#: src/django_rbac/models.py:296 #: src/django_rbac/models.py:273
msgid "role parenting relations" msgid "role parenting relations"
msgstr "relations de parenté entre rôles" msgstr "relations de parenté entre rôles"
#: src/django_rbac/models.py:306 #: src/django_rbac/models.py:284
msgid "superuser status" msgid "superuser status"
msgstr "statut super-utilisateur" msgstr "statut super-utilisateur"
#: src/django_rbac/models.py:307 #: src/django_rbac/models.py:286
msgid "" msgid ""
"Designates that this user has all permissions without explicitly assigning " "Designates that this user has all permissions without explicitly assigning "
"them." "them."
@ -86,11 +86,11 @@ msgstr ""
"Donne à cet utilisateur toutes les permissions sans les lui assigner de " "Donne à cet utilisateur toutes les permissions sans les lui assigner de "
"manière explicite." "manière explicite."
#: src/django_rbac/models.py:311 #: src/django_rbac/models.py:290
msgid "groups" msgid "groups"
msgstr "groupes" msgstr "groupes"
#: src/django_rbac/models.py:313 #: src/django_rbac/models.py:293
msgid "" msgid ""
"The groups this user belongs to. A user will get all permissions granted to " "The groups this user belongs to. A user will get all permissions granted to "
"each of his/her group." "each of his/her group."
@ -98,34 +98,34 @@ msgstr ""
"Les groupes auxquels cet utilisateur appartient. Un utilisateur obtient " "Les groupes auxquels cet utilisateur appartient. Un utilisateur obtient "
"toutes les permissions accordées à chacun de ses groupes." "toutes les permissions accordées à chacun de ses groupes."
#: src/django_rbac/models.py:318 #: src/django_rbac/models.py:302
msgid "user permissions" msgid "user permissions"
msgstr "permissions de lutilisateur" msgstr "permissions de lutilisateur"
#: src/django_rbac/models.py:319 #: src/django_rbac/models.py:304
msgid "Specific permissions for this user." msgid "Specific permissions for this user."
msgstr "Permissions spécifiques à cet utilisateur." msgstr "Permissions spécifiques à cet utilisateur."
#: src/django_rbac/models.py:418 #: src/django_rbac/models.py:405
msgid "Management" msgid "Management"
msgstr "Administration" msgstr "Administration"
#: src/django_rbac/models.py:419 #: src/django_rbac/models.py:406
msgid "Change" msgid "Change"
msgstr "Modification" msgstr "Modification"
#: src/django_rbac/models.py:420 #: src/django_rbac/models.py:407
msgid "Delete" msgid "Delete"
msgstr "Suppression" msgstr "Suppression"
#: src/django_rbac/models.py:421 #: src/django_rbac/models.py:408
msgid "Add" msgid "Add"
msgstr "Ajout" msgstr "Ajout"
#: src/django_rbac/models.py:422 #: src/django_rbac/models.py:409
msgid "View" msgid "View"
msgstr "Visualisation" msgstr "Visualisation"
#: src/django_rbac/models.py:423 #: src/django_rbac/models.py:410
msgid "Search" msgid "Search"
msgstr "Recherche" msgstr "Recherche"