diff --git a/locale/fr/LC_MESSAGES/django.mo b/locale/fr/LC_MESSAGES/django.mo
index 43ce08c..27814ce 100644
Binary files a/locale/fr/LC_MESSAGES/django.mo and b/locale/fr/LC_MESSAGES/django.mo differ
diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po
index 21673a4..176b28c 100644
--- a/locale/fr/LC_MESSAGES/django.po
+++ b/locale/fr/LC_MESSAGES/django.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-12-10 16:36+0000\n"
-"PO-Revision-Date: 2017-12-10 17:36+0100\n"
+"POT-Creation-Date: 2017-12-16 12:20+0000\n"
+"PO-Revision-Date: 2017-12-16 13:22+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: fr\n"
@@ -100,23 +100,23 @@ msgstr "Profil modifié avec succès !"
msgid "Please correct those errors."
msgstr "Merci de corriger ces erreurs."
-#: cfp/emails.py:16
+#: cfp/emails.py:16 cfp/emails.py:32
msgid "There is an error in your subject template."
msgstr "Il y a une erreur dans le gabarit du sujet."
-#: cfp/emails.py:20
+#: cfp/emails.py:20 cfp/emails.py:36
msgid "There is an error in your body template."
msgstr "Il y a une erreur dans le gabarit du corps."
-#: cfp/emails.py:22
+#: cfp/emails.py:22 cfp/emails.py:38
msgid "Environment:"
msgstr "Environnement :"
-#: cfp/emails.py:23
+#: cfp/emails.py:23 cfp/emails.py:39
msgid "Subject:"
msgstr "Sujet :"
-#: cfp/emails.py:23
+#: cfp/emails.py:23 cfp/emails.py:39
msgid "Body:"
msgstr "Corps :"
@@ -124,7 +124,7 @@ msgstr "Corps :"
msgid "Pending decision"
msgstr "Décision en attente"
-#: cfp/forms.py:19 cfp/forms.py:126 cfp/forms.py:224
+#: cfp/forms.py:19 cfp/forms.py:126 cfp/forms.py:234
msgid "Accepted"
msgstr "Accepté"
@@ -136,7 +136,7 @@ msgstr "Décliné"
msgid "Waiting"
msgstr "En attente"
-#: cfp/forms.py:30 cfp/forms.py:132 cfp/forms.py:230 cfp/models.py:379
+#: cfp/forms.py:30 cfp/forms.py:132 cfp/forms.py:240 cfp/models.py:379
msgid "Confirmed"
msgstr "Confirmé"
@@ -158,12 +158,12 @@ msgstr "Aucune"
msgid "Default duration: %(duration)d min"
msgstr "Durée par défaut : %(duration)d min"
-#: cfp/forms.py:108 cfp/forms.py:120 cfp/forms.py:218
+#: cfp/forms.py:108 cfp/forms.py:120 cfp/forms.py:228
#: cfp/templates/cfp/staff/talk_details.html:15
msgid "Category"
msgstr "Catégorie"
-#: cfp/forms.py:109 cfp/templates/cfp/staff/talk_list.html:51
+#: cfp/forms.py:109 cfp/templates/cfp/staff/talk_list.html:55
msgid "Title"
msgstr "Titre"
@@ -184,9 +184,9 @@ msgstr "Notes"
msgid "Visible by speakers"
msgstr "Visible par les orateurs"
-#: cfp/forms.py:138 cfp/forms.py:236 cfp/models.py:335
+#: cfp/forms.py:138 cfp/forms.py:246 cfp/models.py:335
#: cfp/templates/cfp/staff/talk_details.html:21
-#: cfp/templates/cfp/staff/talk_list.html:54
+#: cfp/templates/cfp/staff/talk_list.html:58
#: cfp/templates/cfp/staff/track_form.html:14
msgid "Track"
msgstr "Session"
@@ -241,7 +241,7 @@ msgstr "Vidéo"
msgid "Filter talks with / without video"
msgstr "Filtrer les exposés avec / sans vidéo"
-#: cfp/forms.py:176 cfp/forms.py:248
+#: cfp/forms.py:176 cfp/forms.py:258
msgid "Not assigned"
msgstr "Pas encore assignée"
@@ -261,32 +261,32 @@ msgstr "Ajouter une étiquette"
msgid "Put in a room"
msgstr "Assigner à une salle"
-#: cfp/forms.py:186
+#: cfp/forms.py:186 cfp/forms.py:203
msgid "Send a email"
msgstr "Envoyer un e-mail"
-#: cfp/forms.py:202
+#: cfp/forms.py:212
msgid "Notify by mail?"
msgstr "Notifier par e-mail ?"
-#: cfp/forms.py:252 cfp/models.py:486
+#: cfp/forms.py:262 cfp/models.py:486
#: cfp/templates/cfp/staff/volunteer_list.html:30
msgid "Email"
msgstr "E-mail"
-#: cfp/forms.py:258
+#: cfp/forms.py:268 cfp/forms.py:274
msgid "Subject"
msgstr "Sujet"
-#: cfp/forms.py:259
+#: cfp/forms.py:269 cfp/forms.py:275
msgid "Body"
msgstr "Corps"
-#: cfp/forms.py:265
+#: cfp/forms.py:281 cfp/forms.py:309
msgid "I read my self twice, confirm sending"
msgstr "Je me suis relu 2 fois, confirmer l’envoi"
-#: cfp/forms.py:285
+#: cfp/forms.py:301
#, python-format
msgid ""
"Your template does not compile (at least) with talk '%(talk)s' and speaker "
@@ -295,17 +295,23 @@ msgstr ""
"Vos gabarits ne compile pas avec (au moins) l’exposé « %(talk)s » et "
"l’intervenant « %(speaker)s »."
-#: cfp/forms.py:306
+#: cfp/forms.py:328
+#, python-format
+msgid "Your template does not compile (at least) with speaker '%(speaker)s'."
+msgstr ""
+"Vos gabarits ne compile pas avec (au moins) l’intervenant « %(speaker)s »."
+
+#: cfp/forms.py:349
msgid "New staff members will be informed of their new position by e-mail."
msgstr ""
"Les nouveaux membres du staff seront informés de leur nouveau rôle par "
"courrier électronique."
-#: cfp/forms.py:332
+#: cfp/forms.py:375
msgid "An user with that firstname and that lastname already exists."
msgstr "Un utilisateur avec ce prénom et ce nom existe déjà."
-#: cfp/forms.py:337
+#: cfp/forms.py:380
msgid "A user with that email already exists."
msgstr "Un utilisateur avec cet email existe déjà."
@@ -379,7 +385,7 @@ msgstr ""
"argument « token » (e.g. ponyconf+{token}@exemple.com)."
#: cfp/models.py:105 cfp/models.py:161 cfp/models.py:183 cfp/models.py:213
-#: cfp/models.py:464 cfp/templates/cfp/staff/participant_list.html:42
+#: cfp/models.py:464 cfp/templates/cfp/staff/participant_list.html:54
#: cfp/templates/cfp/staff/volunteer_list.html:29
msgid "Name"
msgstr "Nom"
@@ -426,9 +432,9 @@ msgstr "Label dans le xml du programme"
#: cfp/models.py:330 cfp/templates/cfp/proposal_talk_details.html:53
#: cfp/templates/cfp/staff/base.html:10
-#: cfp/templates/cfp/staff/participant_list.html:8
+#: cfp/templates/cfp/staff/participant_list.html:16
#: cfp/templates/cfp/staff/talk_details.html:68
-#: cfp/templates/cfp/staff/talk_list.html:53
+#: cfp/templates/cfp/staff/talk_list.html:57
msgid "Speakers"
msgstr "Orateurs"
@@ -559,7 +565,7 @@ msgstr "Catégories"
#: cfp/templates/cfp/admin/base.html:13 cfp/templates/cfp/admin/tag_list.html:9
#: cfp/templates/cfp/staff/talk_details.html:28
-#: cfp/templates/cfp/staff/talk_list.html:55
+#: cfp/templates/cfp/staff/talk_list.html:59
msgid "Tags"
msgstr "Étiquettes"
@@ -789,7 +795,7 @@ msgstr "avec"
#: cfp/templates/cfp/staff/participant_details.html:53
#: cfp/templates/cfp/staff/room_details.html:21
#: cfp/templates/cfp/staff/room_details.html:39
-#: cfp/templates/cfp/staff/talk_list.html:77
+#: cfp/templates/cfp/staff/talk_list.html:81
msgid "and"
msgstr "et"
@@ -867,7 +873,7 @@ msgstr "Éditer cette proposition"
#: cfp/templates/cfp/proposal_talk_details.html:28
#: cfp/templates/cfp/staff/talk_details.html:18
-#: cfp/templates/cfp/staff/talk_list.html:56
+#: cfp/templates/cfp/staff/talk_list.html:60
msgid "Status"
msgstr "Statut"
@@ -1014,68 +1020,87 @@ msgstr ""
"d’organisation"
#: cfp/templates/cfp/staff/participant_form.html:12
-#: cfp/templates/cfp/staff/participant_list.html:15
+#: cfp/templates/cfp/staff/participant_list.html:23
msgid "Add a speaker"
msgstr "Ajouter un intervenant"
#: cfp/templates/cfp/staff/participant_list.html:12
-#: cfp/templates/cfp/staff/talk_list.html:18
+#: cfp/templates/cfp/staff/talk_list.html:12
+#, python-format
+msgid ""
+"You have a pending e-mail. To continue its edition, click here."
+msgstr ""
+"Vous avez un e-mail en attente d’envoi. Pour continuer son édition, cliquez "
+"ici."
+
+#: cfp/templates/cfp/staff/participant_list.html:20
+#: cfp/templates/cfp/staff/talk_list.html:20
#: cfp/templates/cfp/staff/volunteer_list.html:11
msgid "Show filtering options…"
msgstr "Afficher les options de filtrage…"
-#: cfp/templates/cfp/staff/participant_list.html:32
-#: cfp/templates/cfp/staff/talk_list.html:39
+#: cfp/templates/cfp/staff/participant_list.html:40
+#: cfp/templates/cfp/staff/talk_list.html:43
#: cfp/templates/cfp/staff/volunteer_list.html:19
msgid "Filter"
msgstr "Filtrer"
-#: cfp/templates/cfp/staff/participant_list.html:38
-#: cfp/templates/cfp/staff/talk_list.html:47
+#: cfp/templates/cfp/staff/participant_list.html:49
+#: cfp/templates/cfp/staff/talk_list.html:51
#: cfp/templates/cfp/staff/volunteer_list.html:25
msgid "Total:"
msgstr "Total :"
-#: cfp/templates/cfp/staff/participant_list.html:38
+#: cfp/templates/cfp/staff/participant_list.html:49
msgid "speaker"
msgstr "orateur"
-#: cfp/templates/cfp/staff/participant_list.html:43
+#: cfp/templates/cfp/staff/participant_list.html:55
msgid "Talk count"
msgstr "Nombre d’exposé"
-#: cfp/templates/cfp/staff/participant_list.html:51
+#: cfp/templates/cfp/staff/participant_list.html:63
#: cfp/templates/cfp/staff/volunteer_list.html:38
msgid "contact by email"
msgstr "contacter par e-mail"
-#: cfp/templates/cfp/staff/participant_list.html:53
-#: cfp/templates/cfp/staff/talk_list.html:62
+#: cfp/templates/cfp/staff/participant_list.html:65
+#: cfp/templates/cfp/staff/talk_list.html:66
#: cfp/templates/cfp/staff/volunteer_list.html:40
msgid "download as csv"
msgstr "télécharger au format CSV"
-#: cfp/templates/cfp/staff/participant_list.html:67
+#: cfp/templates/cfp/staff/participant_list.html:80
#, python-format
msgid "accepted: %(accepted)s"
msgid_plural "accepted: %(accepted)s"
msgstr[0] "accepté : %(accepted)s"
msgstr[1] "acceptés : %(accepted)s"
-#: cfp/templates/cfp/staff/participant_list.html:69
+#: cfp/templates/cfp/staff/participant_list.html:82
#, python-format
msgid "pending: %(pending)s"
msgid_plural "pending: %(pending)s"
msgstr[0] "en attente : %(pending)s"
msgstr[1] "en attente : %(pending)s"
-#: cfp/templates/cfp/staff/participant_list.html:71
+#: cfp/templates/cfp/staff/participant_list.html:84
#, python-format
msgid "refused: %(refused)s"
msgid_plural "refused: %(refused)s"
msgstr[0] "refusé : %(refused)s"
msgstr[1] "refusés : %(refused)s"
+#: cfp/templates/cfp/staff/participant_list.html:95
+msgid "For selected speakers:"
+msgstr "Pour les intervenants sélectionnés :"
+
+#: cfp/templates/cfp/staff/participant_list.html:100
+#: cfp/templates/cfp/staff/talk_list.html:104
+msgid "Apply"
+msgstr "Appliquer"
+
#: cfp/templates/cfp/staff/room_details.html:13
msgid "Scheduled talks"
msgstr "Exposés planifiés"
@@ -1102,7 +1127,7 @@ msgid "Some talks are not scheduled yet."
msgstr "Certains exposés ne sont pas encore planifiés."
#: cfp/templates/cfp/staff/room_list.html:24
-#: cfp/templates/cfp/staff/talk_list.html:47
+#: cfp/templates/cfp/staff/talk_list.html:51
#: cfp/templates/cfp/staff/track_list.html:21
msgid "talk"
msgstr "exposé"
@@ -1111,6 +1136,47 @@ msgstr "exposé"
msgid "No rooms."
msgstr "Aucune salle."
+#: cfp/templates/cfp/staff/speaker_email.html:9
+msgid "Send an email to each speaker"
+msgstr "Envoyer un e-mail à chaque intervenant"
+
+#: cfp/templates/cfp/staff/speaker_email.html:15
+#: cfp/templates/cfp/staff/talk_email.html:15
+msgid "Please write your email bellow:"
+msgstr "Veuillez écrire votre e-mail ci-dessous :"
+
+#: cfp/templates/cfp/staff/speaker_email.html:18
+#: cfp/templates/cfp/staff/talk_email.html:18
+msgid ""
+"You can use Jinja2 "
+"templating language."
+msgstr ""
+"Vous pouvez utiliser le langage de gabarit Jinja2."
+
+#: cfp/templates/cfp/staff/speaker_email.html:19
+#: cfp/templates/cfp/staff/talk_email.html:19
+msgid ""
+"To see available environment variables, please click on a talk and speaker "
+"combination."
+msgstr ""
+"Pour voir les variables d’environnement disponibles, veuillez cliquer sur "
+"une combinaison d’intervenant et exposé."
+
+#: cfp/templates/cfp/staff/speaker_email.html:28
+msgid "To preview your email, click on a speaker:"
+msgstr "Pour voir un aperçu de votre e-mail, cliquez sur un intervenant."
+
+#: cfp/templates/cfp/staff/speaker_email.html:51
+#: cfp/templates/cfp/staff/talk_email.html:53
+msgid "Send!"
+msgstr "Envoyer !"
+
+#: cfp/templates/cfp/staff/speaker_email.html:55
+#: cfp/templates/cfp/staff/talk_email.html:57
+msgid "Check template validity"
+msgstr "Vérifier la validité des gabarits"
+
#: cfp/templates/cfp/staff/talk_decide.html:8
msgid "Are you sure to accept this proposals?"
msgstr "Êtes-vous sûr d’accepter cette propositon d’intervention ?"
@@ -1223,65 +1289,24 @@ msgstr ""
msgid "Send an email to each speaker of each talk"
msgstr "Envoyer un e-mail à chaque intervenant de chaque exposé"
-#: cfp/templates/cfp/staff/talk_email.html:15
-msgid "Please write your email bellow:"
-msgstr "Veuillez écrire votre e-mail ci-dessous :"
-
-#: cfp/templates/cfp/staff/talk_email.html:18
-msgid ""
-"You can use Jinja2 "
-"templating language."
-msgstr ""
-"Vous pouvez utiliser le langage de gabarit Jinja2."
-
-#: cfp/templates/cfp/staff/talk_email.html:19
-msgid ""
-"To see available environment variables, please click on a talk and speaker "
-"combination."
-msgstr ""
-"Pour voir les variables d’environnement disponibles, veuillez cliquer sur "
-"une combinaison d’intervenant et exposé."
-
#: cfp/templates/cfp/staff/talk_email.html:28
msgid "To preview your email, click on a speaker and talk combination:"
msgstr ""
"Pour voir un aperçu de votre e-mail, cliquez sur une combinaison "
"d'intervenant et exposé."
-#: cfp/templates/cfp/staff/talk_email.html:53
-msgid "Send!"
-msgstr "Envoyer !"
-
-#: cfp/templates/cfp/staff/talk_email.html:57
-msgid "Check template validity"
-msgstr "Vérifier la validité des gabarits"
-
#: cfp/templates/cfp/staff/talk_form.html:10
msgid "Edit a talk"
msgstr "Éditer un exposé"
-#: cfp/templates/cfp/staff/talk_list.html:12
-#, python-format
-msgid ""
-"You have a pending e-mail. To continue its edition, click here."
-msgstr ""
-"Vous avez un e-mail en attente d’envoi. Pour continuer son édition, cliquez "
-"ici."
-
-#: cfp/templates/cfp/staff/talk_list.html:52
+#: cfp/templates/cfp/staff/talk_list.html:56
msgid "Intervention kind"
msgstr "Type d’intervention"
-#: cfp/templates/cfp/staff/talk_list.html:95
+#: cfp/templates/cfp/staff/talk_list.html:99
msgid "For selected talks:"
msgstr "Pour les exposés sélectionnés :"
-#: cfp/templates/cfp/staff/talk_list.html:100
-msgid "Apply"
-msgstr "Appliquer"
-
#: cfp/templates/cfp/staff/track_list.html:11
msgid "Add a track"
msgstr "Ajouter une session"
@@ -1632,7 +1657,7 @@ msgstr "[%(conference)s] L’exposé « %(talk)s » a été %(action)s"
msgid "[%(conference)s] New comment about '%(talk)s'"
msgstr "[%(conference)s] Nouveau commentaire sur « %(talk)s »"
-#: cfp/views.py:724 cfp/views.py:888
+#: cfp/views.py:724 cfp/views.py:898
msgid "Message sent!"
msgstr "Message envoyé !"
@@ -1657,21 +1682,25 @@ msgstr "Décision enregistrée"
msgid "Please select some talks."
msgstr "Veuillez sélectionner un ou plusieurs exposés."
-#: cfp/views.py:801
+#: cfp/views.py:801 cfp/views.py:969
#, python-format
msgid "%(count)d mails have been sent."
msgstr "%(count)d e-mails ont été envoyés."
-#: cfp/views.py:805
+#: cfp/views.py:805 cfp/views.py:973
#, python-format
msgid "Your ready to send %(count)d emails."
msgstr "Vous êtes prêt pour envoyer %(count)d e-mails."
-#: cfp/views.py:958
+#: cfp/views.py:960
+msgid "Please select some speakers."
+msgstr "Veuillez sélectionner un ou plusieurs intervenants."
+
+#: cfp/views.py:1005
msgid "[{}] You have been added to the staff team"
msgstr "[{}] Vous avez été ajouté aux membres du staff"
-#: cfp/views.py:959
+#: cfp/views.py:1006
msgid ""
"Hi {},\n"
"\n"
@@ -1695,15 +1724,15 @@ msgstr ""
"{}\n"
"\n"
-#: cfp/views.py:980 cfp/views.py:992
+#: cfp/views.py:1027 cfp/views.py:1039
msgid "Modifications successfully saved."
msgstr "Modification enregistrée avec succès."
-#: cfp/views.py:1156
+#: cfp/views.py:1203
msgid "User created successfully."
msgstr "Utilisateur créé avec succès."
-#: cfp/views.py:1177
+#: cfp/views.py:1224
#, python-format
msgid "Format '%s' not available"
msgstr "Format '%s' non disponible"