From 7f6385853211c6accfc296540756b9f094add8de Mon Sep 17 00:00:00 2001
From: Valentin Deniaud <vdeniaud@entrouvert.com>
Date: Mon, 21 Oct 2019 17:34:03 +0200
Subject: [PATCH 3/3] update translations (#35773)

---
 .../locale/fr/LC_MESSAGES/django.po           | 196 ++++++++++--------
 .../manager/locale/fr/LC_MESSAGES/django.po   |  51 ++++-
 2 files changed, 158 insertions(+), 89 deletions(-)

diff --git a/src/authentic2/locale/fr/LC_MESSAGES/django.po b/src/authentic2/locale/fr/LC_MESSAGES/django.po
index bd85fe8a..be25e07e 100644
--- a/src/authentic2/locale/fr/LC_MESSAGES/django.po
+++ b/src/authentic2/locale/fr/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Authentic\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-08 16:44+0200\n"
+"POT-Creation-Date: 2019-10-22 11:27+0200\n"
 "PO-Revision-Date: 2019-10-08 17:47+0200\n"
 "Last-Translator: Mikaël Ates <mates@entrouvert.com>\n"
 "Language-Team: None\n"
@@ -18,7 +18,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n>1;\n"
 
 #: debian-wheezy/multitenant/debian_config.py:39
-#: debian/multitenant/debian_config.py:38 src/authentic2/forms/passwords.py:39
+#: debian/multitenant/debian_config.py:40 src/authentic2/forms/passwords.py:39
 #: src/authentic2/forms/registration.py:39
 #: src/authentic2/templates/authentic2/api_user_create_registration_email_body.txt:4
 msgid "Email"
@@ -41,8 +41,8 @@ msgstr "adresses IP"
 msgid "deleted user %r"
 msgstr "utilisateur supprimé %r"
 
-#: src/authentic2/admin.py:131 src/authentic2/models.py:50
-#: src/authentic2/models.py:60 src/authentic2/models.py:330
+#: src/authentic2/admin.py:131 src/authentic2/models.py:53
+#: src/authentic2/models.py:63 src/authentic2/models.py:333
 msgid "user"
 msgstr "utilisateur"
 
@@ -143,33 +143,37 @@ msgstr "Utilisateur retiré du rôle"
 msgid "Payload must be a dictionary"
 msgstr "La charge utile doit être un dictionnaire"
 
-#: src/authentic2/api_views.py:786
+#: src/authentic2/api_views.py:783
+msgid "Invalid payload (missing 'data' key)"
+msgstr ""
+
+#: src/authentic2/api_views.py:789
 msgid "List elements of the 'data' dict entry must be dictionaries"
 msgstr "Les éléments de la liste « data » doivent être des dictionnaires"
 
-#: src/authentic2/api_views.py:789
+#: src/authentic2/api_views.py:792
 #, python-format
 msgid "Missing 'uuid' key for dict entry %s of the 'data' payload"
 msgstr "Clé 'uuid' manquante pour l'entrée dict %s de la charge utile 'data'"
 
-#: src/authentic2/api_views.py:795
+#: src/authentic2/api_views.py:798
 #, python-format
 msgid "No known user for UUID %s"
 msgstr "Aucun utilisateur connu pour l'UUID %s"
 
-#: src/authentic2/api_views.py:799
+#: src/authentic2/api_views.py:801
 msgid "No valid user UUID"
 msgstr "Aucun UUID d'utilisateur valide"
 
-#: src/authentic2/api_views.py:806
+#: src/authentic2/api_views.py:808
 msgid "Users successfully added to role"
 msgstr "Utilisateurs ajoutés au rôle avec succès"
 
-#: src/authentic2/api_views.py:815
+#: src/authentic2/api_views.py:817
 msgid "Users successfully removed from role"
 msgstr "Utilisateurs retirés du rôle avec succès"
 
-#: src/authentic2/api_views.py:824
+#: src/authentic2/api_views.py:826
 msgid "Users successfully assigned to role"
 msgstr "Utilisateurs assignés au rôle avec succès"
 
@@ -329,82 +333,100 @@ msgstr "attribut de rôle"
 msgid "Username or email"
 msgstr "Identifiant ou courriel"
 
-#: src/authentic2/csv_import.py:106
+#: src/authentic2/csv_import.py:110
 msgid "Cannot detect encoding"
 msgstr "Impossible de détecter l'encodage"
 
-#: src/authentic2/csv_import.py:121
+#: src/authentic2/csv_import.py:125
 #, python-format
 msgid "Unknown CSV dialect: %s"
 msgstr "Dialecte CSV inconnu: %s"
 
-#: src/authentic2/csv_import.py:127
+#: src/authentic2/csv_import.py:131
 msgid "Unknown CSV dialect"
 msgstr "Dialecte CSV inconnu"
 
-#: src/authentic2/csv_import.py:201
+#: src/authentic2/csv_import.py:205
+#, fuzzy
+#| msgid "Role names"
+msgid "Role name"
+msgstr "Noms des rôles"
+
+#: src/authentic2/csv_import.py:208
+#, fuzzy
+#| msgid "Role slugs"
+msgid "Role slug"
+msgstr "Identifiants courts du rôle"
+
+#: src/authentic2/csv_import.py:218
 msgid "Source name"
 msgstr "Nom de la source"
 
-#: src/authentic2/csv_import.py:206
+#: src/authentic2/csv_import.py:223
 msgid "_source_name must contain no spaces and only letters, digits, - and _"
 msgstr ""
 "_source_name ne doit contenir aucun espace, et seulement des lettres, des "
 "chiffres, les caractères « - » et « _ »"
 
-#: src/authentic2/csv_import.py:209
+#: src/authentic2/csv_import.py:226
 msgid "Source external id"
 msgstr "Identifiant de la source"
 
-#: src/authentic2/csv_import.py:227
+#: src/authentic2/csv_import.py:245
 msgid "update"
 msgstr "mise à jour"
 
-#: src/authentic2/csv_import.py:228
+#: src/authentic2/csv_import.py:246
 msgid "create"
 msgstr "création"
 
-#: src/authentic2/csv_import.py:324
+#: src/authentic2/csv_import.py:343
 msgid "Missing header row"
 msgstr "Ligne d'entête manquante"
 
-#: src/authentic2/csv_import.py:331
+#: src/authentic2/csv_import.py:350
 msgid "Empty header row"
 msgstr "Ligne d'entête vide"
 
-#: src/authentic2/csv_import.py:337
+#: src/authentic2/csv_import.py:356
 msgid "Missing key column"
 msgstr "Colonne clé manquante"
 
-#: src/authentic2/csv_import.py:339
+#: src/authentic2/csv_import.py:358
 msgid "Too many key columns"
 msgstr "Trop de colonnes clés"
 
-#: src/authentic2/csv_import.py:345
+#: src/authentic2/csv_import.py:364
 msgid "You must have a _source_name and a _source_id column"
 msgstr "Vous devez avoir une colonne _source_name and une colone _source_id"
 
-#: src/authentic2/csv_import.py:353
+#: src/authentic2/csv_import.py:368
+msgid "Either specify role names or role slugs, not both"
+msgstr ""
+"Les colonnes noms de rôle et slugs de rôles ne peuvent pas être présentes en "
+"même temps."
+
+#: src/authentic2/csv_import.py:376
 #, python-format
 msgid "Header \"%s\" is duplicated"
 msgstr "L'entête « %s » existe deux fois"
 
-#: src/authentic2/csv_import.py:392
+#: src/authentic2/csv_import.py:415
 #, python-format
 msgid "unknown or missing attribute \"%s\""
 msgstr "attribut inconnu ou manquant « %s »"
 
-#: src/authentic2/csv_import.py:400
+#: src/authentic2/csv_import.py:423
 msgid "You cannot set flags on _source_name and _source_id columns"
 msgstr ""
 "Vous ne pouvez pas utiliser de modificateurs sur les colonnes _source_name"
 
-#: src/authentic2/csv_import.py:413
+#: src/authentic2/csv_import.py:436
 #, python-format
 msgid "unknown flag \"%s\""
 msgstr "modificateur inconnu « %s »"
 
-#: src/authentic2/csv_import.py:483
+#: src/authentic2/csv_import.py:513
 #, python-format
 msgid ""
 "Unique constraint on column \"%(column)s\" failed: value already appear on "
@@ -413,21 +435,26 @@ msgstr ""
 "La contrainte d'unicité sur la colonne « %(column)s » est rompu: la valeur "
 "apparaît déjà ligne %(line)d"
 
-#: src/authentic2/csv_import.py:503
+#: src/authentic2/csv_import.py:537
 #, python-format
 msgid "Unique constraint on column \"%s\" failed"
 msgstr "La contrainte d'unicité sur la colonne « %s » est rompu"
 
-#: src/authentic2/csv_import.py:546
+#: src/authentic2/csv_import.py:581
 #, python-format
 msgid "Key value \"%s\" matches too many users"
 msgstr "La valeur de la clé « %s » correpond avec trop d'utilisateurs"
 
-#: src/authentic2/csv_import.py:583
+#: src/authentic2/csv_import.py:621
 #, python-format
 msgid "External id \"%s\" already exists"
 msgstr "La clé extern « %s » existe déjà"
 
+#: src/authentic2/csv_import.py:655
+#, python-format
+msgid "Role \"%s\" does not exist"
+msgstr "Le rôle « %s » n'existe pas"
+
 #: src/authentic2/forms/authentication.py:36
 msgid "Remember me"
 msgstr "Se souvenir de moi"
@@ -557,72 +584,72 @@ msgstr "condensé"
 msgid "You must change your password to continue"
 msgstr "Vous devez changer votre mot de passe avant de continuer."
 
-#: src/authentic2/models.py:51 src/authentic2/models.py:63
+#: src/authentic2/models.py:54 src/authentic2/models.py:66
 msgid "creation date"
 msgstr "date de création"
 
-#: src/authentic2/models.py:54
+#: src/authentic2/models.py:57
 msgid "user to delete"
 msgstr "utilisateur à effacer"
 
-#: src/authentic2/models.py:55
+#: src/authentic2/models.py:58
 msgid "users to delete"
 msgstr "utilisateurs à effacer"
 
-#: src/authentic2/models.py:61
+#: src/authentic2/models.py:64
 msgid "source"
 msgstr "source"
 
-#: src/authentic2/models.py:62
+#: src/authentic2/models.py:65
 msgid "external id"
 msgstr "identifiant externe"
 
-#: src/authentic2/models.py:64
+#: src/authentic2/models.py:67
 msgid "last update date"
 msgstr "dernière date de mise à jour"
 
-#: src/authentic2/models.py:76
+#: src/authentic2/models.py:79
 msgid "user external id"
 msgstr "identifiant externe d'un utilisateur"
 
-#: src/authentic2/models.py:77
+#: src/authentic2/models.py:80
 msgid "user external ids"
 msgstr "identifiants externes des utilisateurs"
 
-#: src/authentic2/models.py:86
+#: src/authentic2/models.py:89
 msgid "when"
 msgstr "quand"
 
-#: src/authentic2/models.py:87
+#: src/authentic2/models.py:90
 msgid "who"
 msgstr "qui"
 
-#: src/authentic2/models.py:88
+#: src/authentic2/models.py:91
 msgid "how"
 msgstr "comment"
 
-#: src/authentic2/models.py:89
+#: src/authentic2/models.py:92
 msgid "nonce"
 msgstr "numéro unique"
 
-#: src/authentic2/models.py:94
+#: src/authentic2/models.py:97
 msgid "authentication log"
 msgstr "Journal des authentifications"
 
-#: src/authentic2/models.py:95
+#: src/authentic2/models.py:98
 msgid "authentication logs"
 msgstr "Journaux des authentification"
 
-#: src/authentic2/models.py:98
+#: src/authentic2/models.py:101
 #, python-format
 msgid "Authentication of %(who)s by %(how)s at %(when)s"
 msgstr "Authentification de %(who)s par %(how)s à %(when)s"
 
-#: src/authentic2/models.py:104
+#: src/authentic2/models.py:107
 msgid "url"
 msgstr "url"
 
-#: src/authentic2/models.py:105
+#: src/authentic2/models.py:108
 msgid ""
 "you can use a {} to pass the URL of the success icon, ex.: http://example."
 "com/logout?next={}"
@@ -630,15 +657,15 @@ msgstr ""
 "vous pouvez utiliser la chaîne {} pour passer l'URL de l'icône de succès,  "
 "ex.: http://example.com/logout?next={}"
 
-#: src/authentic2/models.py:111
+#: src/authentic2/models.py:114
 msgid "use an iframe instead of an img tag for logout"
 msgstr "utiliser une iframe au lieu d'un tag img pour la déconnexion"
 
-#: src/authentic2/models.py:114
+#: src/authentic2/models.py:117
 msgid "iframe logout timeout (ms)"
 msgstr "temps d'expiration pour les iframe de déconnexion (en ms)"
 
-#: src/authentic2/models.py:115
+#: src/authentic2/models.py:118
 msgid ""
 "if iframe logout is used, it's the time between the onload event for this "
 "iframe and the moment we consider its loading to be really finished"
@@ -647,131 +674,131 @@ msgstr ""
 "l'évènement onload pour cette iframe et le moment où l'on peut considérer "
 "que le chargement vraiment terminé."
 
-#: src/authentic2/models.py:131 src/authentic2/models.py:296
+#: src/authentic2/models.py:134 src/authentic2/models.py:299
 msgid "content type"
 msgstr "type d'objet"
 
-#: src/authentic2/models.py:132 src/authentic2/models.py:297
+#: src/authentic2/models.py:135 src/authentic2/models.py:300
 msgid "object identifier"
 msgstr "identifiant d'objet"
 
-#: src/authentic2/models.py:136 src/authentic2/models.py:137
+#: src/authentic2/models.py:139 src/authentic2/models.py:140
 msgid "logout URL"
 msgstr "URL de déconnexion"
 
-#: src/authentic2/models.py:142
+#: src/authentic2/models.py:145
 msgid "label"
 msgstr "libellé"
 
-#: src/authentic2/models.py:143
+#: src/authentic2/models.py:146
 msgid "description"
 msgstr "description"
 
-#: src/authentic2/models.py:144 src/authentic2/models.py:349
+#: src/authentic2/models.py:147 src/authentic2/models.py:352
 msgid "name"
 msgstr "nom"
 
-#: src/authentic2/models.py:145
+#: src/authentic2/models.py:148
 msgid "required"
 msgstr "requis"
 
-#: src/authentic2/models.py:146
+#: src/authentic2/models.py:149
 msgid "asked on registration"
 msgstr "demandé à la création du compte"
 
-#: src/authentic2/models.py:147
+#: src/authentic2/models.py:150
 msgid "user editable"
 msgstr "éditable par l'utilisateur"
 
-#: src/authentic2/models.py:148
+#: src/authentic2/models.py:151
 msgid "user visible"
 msgstr "visible de l'utilisateur"
 
-#: src/authentic2/models.py:149
+#: src/authentic2/models.py:152
 msgid "multiple"
 msgstr "multiple"
 
-#: src/authentic2/models.py:150
+#: src/authentic2/models.py:153
 msgid "kind"
 msgstr "type"
 
-#: src/authentic2/models.py:151
+#: src/authentic2/models.py:154
 msgid "disabled"
 msgstr "désactivé"
 
-#: src/authentic2/models.py:152
+#: src/authentic2/models.py:155
 msgid "searchable"
 msgstr "indexé"
 
-#: src/authentic2/models.py:155
+#: src/authentic2/models.py:158
 msgid "scopes"
 msgstr "portées"
 
-#: src/authentic2/models.py:156
+#: src/authentic2/models.py:159
 msgid "scopes separated by spaces"
 msgstr "portées séparées par des espaces"
 
-#: src/authentic2/models.py:162
+#: src/authentic2/models.py:165
 msgid "order"
 msgstr "ordre"
 
-#: src/authentic2/models.py:290
+#: src/authentic2/models.py:293
 msgid "attribute definition"
 msgstr "définition d'un attribut"
 
-#: src/authentic2/models.py:291
+#: src/authentic2/models.py:294
 msgid "attribute definitions"
 msgstr "définition des attributs"
 
-#: src/authentic2/models.py:302
+#: src/authentic2/models.py:305
 msgid "attribute"
 msgstr "attribut"
 
-#: src/authentic2/models.py:305
+#: src/authentic2/models.py:308
 msgid "content"
 msgstr "contenu"
 
-#: src/authentic2/models.py:321
+#: src/authentic2/models.py:324
 msgid "attribute value"
 msgstr "valeur d'un attribut"
 
-#: src/authentic2/models.py:322
+#: src/authentic2/models.py:325
 msgid "attribute values"
 msgstr "valeurs des attributs"
 
-#: src/authentic2/models.py:339 src/authentic2/models.py:340
+#: src/authentic2/models.py:342 src/authentic2/models.py:343
 msgid "password reset"
 msgstr "obligation de changement de mot de passe"
 
-#: src/authentic2/models.py:352
+#: src/authentic2/models.py:355
 msgid "slug"
 msgstr "identifiant court"
 
-#: src/authentic2/models.py:355
+#: src/authentic2/models.py:358
 msgid "organizational unit"
 msgstr "collectivité"
 
-#: src/authentic2/models.py:361
+#: src/authentic2/models.py:364
 msgid "authorized services"
 msgstr "services autorisés"
 
-#: src/authentic2/models.py:365
+#: src/authentic2/models.py:368
 msgid "callback url when unauthorized"
 msgstr "URL de retour quand non-autorisé"
 
-#: src/authentic2/models.py:376
+#: src/authentic2/models.py:379
 msgid "The slug must be unique for this ou"
 msgstr "L'identifiant court doit être unique au sein de cette collectivité."
 
-#: src/authentic2/models.py:381
+#: src/authentic2/models.py:384
 msgid "The name must be unique for this ou"
 msgstr "Le nom doit être unique au sein de cette collectivité."
 
-#: src/authentic2/models.py:387
+#: src/authentic2/models.py:390
 msgid "base service model"
 msgstr "application"
 
-#: src/authentic2/models.py:388
+#: src/authentic2/models.py:391
 msgid "base service models"
 msgstr "applications"
 
@@ -972,7 +999,6 @@ msgstr "Confirmer la suppression"
 
 #: src/authentic2/templates/authentic2/accounts_edit.html:20
 #: src/authentic2/templates/authentic2/login_password_registration_form.html:6
-#: src/authentic2/templates/registration/login_password_registration_form.html:6
 #: src/authentic2/templates/registration/password_change_form.html:25
 #: src/authentic2/templates/registration/password_reset_confirm.html:16
 #: src/authentic2/templates/registration/password_reset_form.html:16
diff --git a/src/authentic2/manager/locale/fr/LC_MESSAGES/django.po b/src/authentic2/manager/locale/fr/LC_MESSAGES/django.po
index cb8c659c..dae6b6c0 100644
--- a/src/authentic2/manager/locale/fr/LC_MESSAGES/django.po
+++ b/src/authentic2/manager/locale/fr/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: authentic2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-16 11:20+0200\n"
+"POT-Creation-Date: 2019-10-22 11:28+0200\n"
 "PO-Revision-Date: 2019-10-16 11:22+0200\n"
 "Last-Translator: Benjamin Dauvergne <bdauvergne@entrouvert.com>\n"
 "Language-Team: French <fr@li.org>\n"
@@ -1110,14 +1110,17 @@ msgstr ""
 "var> pour positionner sa valeur à faux."
 
 #: src/authentic2/manager/templates/authentic2/manager/user_imports.html:88
+#: src/authentic2/manager/templates/authentic2/manager/user_imports.html:183
 msgid "Flag"
 msgstr "Modificateur"
 
 #: src/authentic2/manager/templates/authentic2/manager/user_imports.html:89
+#: src/authentic2/manager/templates/authentic2/manager/user_imports.html:184
 msgid "Meaning"
 msgstr "Usage"
 
 #: src/authentic2/manager/templates/authentic2/manager/user_imports.html:90
+#: src/authentic2/manager/templates/authentic2/manager/user_imports.html:185
 msgid "Default value"
 msgstr "Valeur par défaut"
 
@@ -1134,6 +1137,8 @@ msgstr ""
 #: src/authentic2/manager/templates/authentic2/manager/user_imports.html:128
 #: src/authentic2/manager/templates/authentic2/manager/user_imports.html:140
 #: src/authentic2/manager/templates/authentic2/manager/user_imports.html:151
+#: src/authentic2/manager/templates/authentic2/manager/user_imports.html:196
+#: src/authentic2/manager/templates/authentic2/manager/user_imports.html:206
 msgid "False"
 msgstr "Faux"
 
@@ -1210,22 +1215,54 @@ msgstr ""
 "d'import et vous ne pouvez définir d'autre colonne comme clé d'import."
 
 #: src/authentic2/manager/templates/authentic2/manager/user_imports.html:169
+msgid "Role operations"
+msgstr "Opérations sur les rôles"
+
+#: src/authentic2/manager/templates/authentic2/manager/user_imports.html:171
+msgid ""
+"Adding existing roles to users is supported. Use either <var>_role_name</"
+"var> or <var>_role_slug</var> special columns to specify the names or the "
+"slugs that should be added to the user. In order to add multiple roles, "
+"simply add a new line, identical to the first one, except for the value of "
+"the role cell. These columns also accept special flags, as listed below."
+msgstr ""
+"Il est possible d'ajouter des rôles existants aux utilisateurs. Pour cela, "
+"utilisez l'une des colonnes spéciales <var>_role_name</var> ou "
+"<var>_role_slug</var> afin de spécifier les noms ou les slugs des rôles à "
+"ajouter à l'utilisateur. Pour ajouter plusieurs rôles, il suffit d'insérer "
+"une nouvelle ligne identique à la première, à l'exception de la case role. "
+"Ces colonnes acceptent aussi des modificateurs spéciaux, présentés ci-"
+"dessous."
+
+#: src/authentic2/manager/templates/authentic2/manager/user_imports.html:192
+msgid "Remove role from user instead of adding it."
+msgstr "Enlever le rôle à l'utilisateur au lieu de le lui ajouter."
+
+#: src/authentic2/manager/templates/authentic2/manager/user_imports.html:201
+msgid ""
+"Clear user roles beforehand, so that they will have no more roles than those "
+"specified in the import file."
+msgstr ""
+"Écraser les rôles de l'utilisateur avec ceux de l'import. Il n'aura ainsi "
+"que les rôles tels que spécifiés dans l'import."
+
+#: src/authentic2/manager/templates/authentic2/manager/user_imports.html:210
 msgid "Examples"
 msgstr "Exemples"
 
-#: src/authentic2/manager/templates/authentic2/manager/user_imports.html:170
+#: src/authentic2/manager/templates/authentic2/manager/user_imports.html:211
 msgid "Importing first and last name of users keyed by email"
 msgstr ""
 "Importer le prénom et le nom des utilisateurs en utilisant le courriel comme "
 "clé."
 
-#: src/authentic2/manager/templates/authentic2/manager/user_imports.html:176
+#: src/authentic2/manager/templates/authentic2/manager/user_imports.html:217
 msgid "Importing verified first and last name of users keyed by email"
 msgstr ""
 "Importer et verrouiller le prénom et le nom des utilisateurs en utilisant le "
 "courriel comme clé."
 
-#: src/authentic2/manager/templates/authentic2/manager/user_imports.html:182
+#: src/authentic2/manager/templates/authentic2/manager/user_imports.html:223
 msgid ""
 "Importing email, family_reference, first and last name of users from "
 "application <var>app1</var>, ensuring family_reference is unique."
@@ -1234,6 +1271,12 @@ msgstr ""
 "utilisateur depuis une application désignée par <var>app1</var>, en "
 "s'assurant de l'unicité de la référence famille."
 
+#: src/authentic2/manager/templates/authentic2/manager/user_imports.html:229
+msgid "Importing email, first and last name of users while adding roles."
+msgstr ""
+"Importer le courriel, le prénom et le nom des utilisateurs en ajoutant des "
+"rôles."
+
 #: src/authentic2/manager/templates/authentic2/manager/user_ou_roles.html:12
 #: src/authentic2/manager/templates/authentic2/manager/user_roles.html:12
 msgid "Edit User Roles"
-- 
2.20.1

