Traduction de l'objet du mail

This commit is contained in:
Tom Hubrecht 2021-05-27 00:26:49 +02:00
parent eca8028928
commit b9703e6e78
3 changed files with 107 additions and 94 deletions

View file

@ -69,7 +69,7 @@ class UploadVotersForm(forms.Form):
class VoterMailForm(forms.Form): class VoterMailForm(forms.Form):
objet = forms.CharField() objet = forms.CharField(label=_("Objet"))
message = forms.CharField(widget=forms.Textarea) message = forms.CharField(widget=forms.Textarea)

View file

@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: 0.1\n" "Project-Id-Version: 0.1\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-20 10:03+0200\n" "POT-Creation-Date: 2021-05-27 00:24+0200\n"
"PO-Revision-Date: 2021-04-20 10:03+0200\n" "PO-Revision-Date: 2021-05-27 00:26+0200\n"
"Last-Translator: Test Translator <test@translator>\n" "Last-Translator: Test Translator <test@translator>\n"
"Language-Team: \n" "Language-Team: \n"
"Language: en\n" "Language: en\n"
@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"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"
"X-Generator: Poedit 2.4.1\n" "X-Generator: Poedit 2.4.3\n"
#: elections/forms.py:19 #: elections/forms.py:19
msgid "Impossible de faire débuter l'élection dans le passé" msgid "Impossible de faire débuter l'élection dans le passé"
@ -26,15 +26,25 @@ msgstr "Impossible to start the election in the past"
msgid "Impossible de terminer l'élection avant de la commencer" msgid "Impossible de terminer l'élection avant de la commencer"
msgstr "Impossible to end the election before it starts" msgstr "Impossible to end the election before it starts"
#: elections/forms.py:46 #: elections/forms.py:30
msgid ""
"Le mail d'annonce a déjà été envoyé, il n'est pas possible d'ouvrir "
"l'élection à tout le monde"
msgstr ""
#: elections/forms.py:55
msgid "Sélectionnez un fichier .csv" msgid "Sélectionnez un fichier .csv"
msgstr "Select a .csv file" msgstr "Select a .csv file"
#: elections/forms.py:56 #: elections/forms.py:65
msgid "Extension de fichier invalide, il faut un fichier au format CSV." msgid "Extension de fichier invalide, il faut un fichier au format CSV."
msgstr "Invalid file extension, a CSV file is required." msgstr "Invalid file extension, a CSV file is required."
#: elections/forms.py:85 #: elections/forms.py:72
msgid "Objet"
msgstr "Subject"
#: elections/forms.py:94
msgid "" msgid ""
"L'abréviation est optionnelle et sert à identifier plus facilement les " "L'abréviation est optionnelle et sert à identifier plus facilement les "
"différentes options. Elle est affiché sans espaces et en majuscules." "différentes options. Elle est affiché sans espaces et en majuscules."
@ -42,21 +52,21 @@ msgstr ""
"The abbreviation is optional and serves to identify the different options " "The abbreviation is optional and serves to identify the different options "
"more easily. It is displayed without spaces and in capital letters." "more easily. It is displayed without spaces and in capital letters."
#: elections/forms.py:96 #: elections/forms.py:105
msgid "Supprimer le vote de {} ({}) ?" msgid "Supprimer le vote de {} ({}) ?"
msgstr "Delete the vote of {} ({}) ?" msgstr "Delete the vote of {} ({}) ?"
#: elections/forms.py:101 elections/templates/elections/election_admin.html:176 #: elections/forms.py:110 elections/templates/elections/election_admin.html:178
#: elections/templates/elections/election_admin.html:203 #: elections/templates/elections/election_admin.html:205
#: elections/templates/elections/election_voters.html:57 #: elections/templates/elections/election_voters.html:57
msgid "Supprimer" msgid "Supprimer"
msgstr "Delete" msgstr "Delete"
#: elections/forms.py:101 #: elections/forms.py:110
msgid "Non" msgid "Non"
msgstr "No" msgstr "No"
#: elections/forms.py:101 #: elections/forms.py:110
msgid "Oui" msgid "Oui"
msgstr "Yes" msgstr "Yes"
@ -144,11 +154,11 @@ msgstr "extra votes"
msgid "Nom et Prénom" msgid "Nom et Prénom"
msgstr "Name and surname" msgstr "Name and surname"
#: elections/models.py:231 elections/tests/test_models.py:57 #: elections/models.py:232 elections/tests/test_models.py:57
msgid "identifiants spécifiques" msgid "identifiants spécifiques"
msgstr "dedicated credentials" msgstr "dedicated credentials"
#: elections/models.py:235 #: elections/models.py:236
msgid "Peut administrer des élections" msgid "Peut administrer des élections"
msgstr "Can manage elections" msgstr "Can manage elections"
@ -208,34 +218,6 @@ msgstr ""
msgid "Supprimer un vote" msgid "Supprimer un vote"
msgstr "Delete a vote" msgstr "Delete a vote"
#: elections/templates/elections/delete_vote.html:23
#: elections/templates/elections/election_create.html:41
#: elections/templates/elections/election_update.html:47
#: elections/templates/elections/option_update.html:29
#: elections/templates/elections/question_update.html:29
#: elections/templates/elections/vote.html:40
#: shared/templates/auth/election_login.html:25
#: shared/templates/authens/pwd_login.html:25
#: shared/templates/authens/pwd_reset_confirm.html:25
#: shared/templates/forms/modal-form.html:23
msgid "Enregistrer"
msgstr "Save"
#: elections/templates/elections/delete_vote.html:32
#: elections/templates/elections/election_ballots.html:18
#: elections/templates/elections/election_update.html:55
#: elections/templates/elections/election_voters.html:19
#: elections/templates/elections/mail_voters.html:43
#: elections/templates/elections/option_update.html:37
#: elections/templates/elections/question_update.html:37
#: elections/templates/elections/upload_voters.html:46
#: elections/templates/elections/vote.html:49
#: shared/templates/auth/election_login.html:34
#: shared/templates/authens/pwd_login.html:34
#: shared/templates/authens/pwd_reset.html:34
msgid "Retour"
msgstr "Back"
#: elections/templates/elections/election.html:20 #: elections/templates/elections/election.html:20
msgid "Votant·e·s" msgid "Votant·e·s"
msgstr "Voters" msgstr "Voters"
@ -298,7 +280,7 @@ msgstr "Login with credentials"
msgid "Connexion via CAS" msgid "Connexion via CAS"
msgstr "Login via CAS" msgstr "Login via CAS"
#: elections/templates/elections/election.html:187 #: elections/templates/elections/election.html:189
msgid "A voté" msgid "A voté"
msgstr "Voted" msgstr "Voted"
@ -311,13 +293,13 @@ msgid "Exporter les votant·e·s"
msgstr "Export the list of voters" msgstr "Export the list of voters"
#: elections/templates/elections/election_admin.html:61 #: elections/templates/elections/election_admin.html:61
#: elections/templates/elections/election_admin.html:185 #: elections/templates/elections/election_admin.html:187
#: elections/templates/elections/election_admin.html:208 #: elections/templates/elections/election_admin.html:210
msgid "Modifier" msgid "Modifier"
msgstr "Edit" msgstr "Edit"
#: elections/templates/elections/election_admin.html:70 #: elections/templates/elections/election_admin.html:70
#: elections/templates/elections/upload_voters.html:25 #: elections/templates/elections/upload_voters.html:27
msgid "Gestion de la liste de votant·e·s" msgid "Gestion de la liste de votant·e·s"
msgstr "Management of the voters' list" msgstr "Management of the voters' list"
@ -342,16 +324,28 @@ msgstr "De-publish"
msgid "Archiver" msgid "Archiver"
msgstr "Archive" msgstr "Archive"
#: elections/templates/elections/election_admin.html:251 #: elections/templates/elections/election_admin.html:253
#: elections/templates/elections/election_admin.html:262 #: elections/templates/elections/election_admin.html:264
msgid "Rajouter une option" msgid "Rajouter une option"
msgstr "Add an option" msgstr "Add an option"
#: elections/templates/elections/election_admin.html:266 #: elections/templates/elections/election_admin.html:268
#: elections/templates/elections/election_admin.html:276 #: elections/templates/elections/election_admin.html:278
msgid "Rajouter une question" msgid "Rajouter une question"
msgstr "Add a question" msgstr "Add a question"
#: elections/templates/elections/election_ballots.html:18
#: elections/templates/elections/election_voters.html:19
#: elections/templates/elections/option_update.html:37
#: elections/templates/elections/upload_voters.html:48
#: elections/templates/elections/vote.html:49
#: shared/templates/auth/election_login.html:34
#: shared/templates/authens/pwd_login.html:34
#: shared/templates/authens/pwd_reset.html:34
#: shared/templates/forms/common-form.html:25
msgid "Retour"
msgstr "Back"
#: elections/templates/elections/election_ballots.html:26 #: elections/templates/elections/election_ballots.html:26
msgid "Liste des bulletins" msgid "Liste des bulletins"
msgstr "List of ballots" msgstr "List of ballots"
@ -360,6 +354,17 @@ msgstr "List of ballots"
msgid "Création d'une élection" msgid "Création d'une élection"
msgstr "Creating an election" msgstr "Creating an election"
#: elections/templates/elections/election_create.html:41
#: elections/templates/elections/option_update.html:29
#: elections/templates/elections/vote.html:40
#: shared/templates/auth/create-user.html:23
#: shared/templates/auth/election_login.html:25
#: shared/templates/authens/pwd_login.html:25
#: shared/templates/authens/pwd_reset_confirm.html:25
#: shared/templates/forms/modal-form.html:23
msgid "Enregistrer"
msgstr "Save"
#: elections/templates/elections/election_list.html:10 #: elections/templates/elections/election_list.html:10
msgid "Liste des élections" msgid "Liste des élections"
msgstr "List of elections" msgstr "List of elections"
@ -393,7 +398,7 @@ msgstr ""
"your login credentials." "your login credentials."
#: elections/templates/elections/election_voters.html:54 #: elections/templates/elections/election_voters.html:54
#: elections/templates/elections/upload_voters.html:105 #: elections/templates/elections/upload_voters.html:107
msgid "Nom" msgid "Nom"
msgstr "Name" msgstr "Name"
@ -427,7 +432,7 @@ msgstr ""
"Add the message to be sent to voters between 'Dear {full_name}' and the " "Add the message to be sent to voters between 'Dear {full_name}' and the "
"election url." "election url."
#: elections/templates/elections/mail_voters.html:34 #: elections/templates/elections/mail_voters.html:22
msgid "Envoyer" msgid "Envoyer"
msgstr "Send" msgstr "Send"
@ -458,11 +463,11 @@ msgstr ""
msgid "L'option majoritaire et gagnante est colorée en vert." msgid "L'option majoritaire et gagnante est colorée en vert."
msgstr "The dominant and winning option is coloured green." msgstr "The dominant and winning option is coloured green."
#: elections/templates/elections/upload_voters.html:36 #: elections/templates/elections/upload_voters.html:38
msgid "Envoyer le mail d'annonce" msgid "Envoyer le mail d'annonce"
msgstr "Send the announcement e-mail" msgstr "Send the announcement e-mail"
#: elections/templates/elections/upload_voters.html:57 #: elections/templates/elections/upload_voters.html:59
msgid "" msgid ""
"Importez un fichier au format CSV, avec sur la première colonne le login, " "Importez un fichier au format CSV, avec sur la première colonne le login, "
"sur la deuxième, le nom et prénom et enfin l'adresse email sur la troisième. " "sur la deuxième, le nom et prénom et enfin l'adresse email sur la troisième. "
@ -474,19 +479,19 @@ msgstr ""
"<br><br><pre>Login_1,Firstname/Lastname_1,mail_1@thing.test<br>Login_2," "<br><br><pre>Login_1,Firstname/Lastname_1,mail_1@thing.test<br>Login_2,"
"Firstname/Lastname_2,mail_2@thingy.test<br>...</pre>" "Firstname/Lastname_2,mail_2@thingy.test<br>...</pre>"
#: elections/templates/elections/upload_voters.html:83 #: elections/templates/elections/upload_voters.html:85
msgid "Importer" msgid "Importer"
msgstr "Import" msgstr "Import"
#: elections/templates/elections/upload_voters.html:96 #: elections/templates/elections/upload_voters.html:98
msgid "Liste des votant·e·s pour cette élection" msgid "Liste des votant·e·s pour cette élection"
msgstr "List of voters for this election" msgstr "List of voters for this election"
#: elections/templates/elections/upload_voters.html:104 #: elections/templates/elections/upload_voters.html:106
msgid "Login" msgid "Login"
msgstr "Login" msgstr "Login"
#: elections/templates/elections/upload_voters.html:106 #: elections/templates/elections/upload_voters.html:108 shared/auth/forms.py:73
msgid "Email" msgid "Email"
msgstr "E-mail" msgstr "E-mail"
@ -507,50 +512,50 @@ msgstr "Confirm"
msgid "Annuler" msgid "Annuler"
msgstr "Cancel" msgstr "Cancel"
#: elections/templates/elections/vote/rank.html:120 #: elections/templates/elections/vote/rank.html:150
msgid "Classement" msgid "Classement"
msgstr "Ranking" msgstr "Ranking"
#: elections/templates/elections/vote/rank.html:121 #: elections/templates/elections/vote/rank.html:151
#: elections/templates/elections/vote/select.html:24 #: elections/templates/elections/vote/select.html:24
msgid "Option(s) selectionnée(s)" msgid "Option(s) selectionnée(s)"
msgstr "Selected option(s)" msgstr "Selected option(s)"
#: elections/templates/elections/vote/rank.html:141 #: elections/templates/elections/vote/rank.html:171
#: elections/templates/elections/vote/rank.html:188 #: elections/templates/elections/vote/rank.html:224
msgid "Utiliser le formulaire classique" msgid "Utiliser le formulaire classique"
msgstr "Use the traditional form" msgstr "Use the traditional form"
#: elections/templates/elections/vote/rank.html:143 #: elections/templates/elections/vote/rank.html:176
msgid "Utiliser le cliquer-déposer" msgid "Utiliser le cliquer-déposer"
msgstr "Use Drag & Drop" msgstr "Use Drag & Drop"
#: elections/templates/elections/vote/rank.html:198 #: elections/templates/elections/vote/rank.html:234
#, python-format #, python-format
msgid "Rang %(i)s" msgid "Rang %(i)s"
msgstr "Rank %(i)s" msgstr "Rank %(i)s"
#: elections/templates/elections/vote/rank.html:209 #: elections/templates/elections/vote/rank.html:245
msgid "Ajouter un rang" msgid "Ajouter un rang"
msgstr "Add an rank" msgstr "Add an rank"
#: elections/utils.py:206 #: elections/utils.py:207
msgid "Vous devez sélectionnner une option." msgid "Vous devez sélectionnner une option."
msgstr "You must select an option." msgstr "You must select an option."
#: elections/utils.py:211 #: elections/utils.py:212
msgid "Vous ne pouvez pas sélectionner plus d'une option." msgid "Vous ne pouvez pas sélectionner plus d'une option."
msgstr "You cannot select more than one option." msgstr "You cannot select more than one option."
#: elections/utils.py:228 #: elections/utils.py:229
msgid "Le classement maximal est {}." msgid "Le classement maximal est {}."
msgstr "The maximum ranking is {}." msgstr "The maximum ranking is {}."
#: elections/utils.py:232 #: elections/utils.py:233
msgid "Le classement minimal est 1." msgid "Le classement minimal est 1."
msgstr "The minimum ranking is 1." msgstr "The minimum ranking is 1."
#: elections/utils.py:346 #: elections/utils.py:347
msgid "" msgid ""
"Format invalide. Vérifiez que le fichier est bien formé (i.e. chaque ligne " "Format invalide. Vérifiez que le fichier est bien formé (i.e. chaque ligne "
"de la forme 'login,nom,email')." "de la forme 'login,nom,email')."
@ -558,23 +563,23 @@ msgstr ""
"Invalid format. Check that the file is properly formed (i.e. each line of " "Invalid format. Check that the file is properly formed (i.e. each line of "
"the form 'login,name,e-mail')." "the form 'login,name,e-mail')."
#: elections/utils.py:360 #: elections/utils.py:361
msgid "La ligne {} n'a pas le bon nombre d'éléments." msgid "La ligne {} n'a pas le bon nombre d'éléments."
msgstr "The line {} has the wrong number of elements." msgstr "The line {} has the wrong number of elements."
#: elections/utils.py:365 #: elections/utils.py:366
msgid "Valeur manquante dans la ligne {} : 'login'." msgid "Valeur manquante dans la ligne {} : 'login'."
msgstr "Missing value in line {}: 'login'." msgstr "Missing value in line {}: 'login'."
#: elections/utils.py:370 #: elections/utils.py:371
msgid "Doublon dans les logins : lignes {} et {}." msgid "Doublon dans les logins : lignes {} et {}."
msgstr "Duplicate logins: lines {} and {}." msgstr "Duplicate logins: lines {} and {}."
#: elections/utils.py:378 #: elections/utils.py:379
msgid "Valeur manquante dans la ligne {} : 'nom'." msgid "Valeur manquante dans la ligne {} : 'nom'."
msgstr "Missing value in line {}: 'name'." msgstr "Missing value in line {}: 'name'."
#: elections/utils.py:384 #: elections/utils.py:385
msgid "Adresse mail invalide à la ligne {} : '{}'." msgid "Adresse mail invalide à la ligne {} : '{}'."
msgstr "Invalid e-mail address in line {}: '{}'." msgstr "Invalid e-mail address in line {}: '{}'."
@ -582,51 +587,51 @@ msgstr "Invalid e-mail address in line {}: '{}'."
msgid "Élection créée avec succès !" msgid "Élection créée avec succès !"
msgstr "Election successfully created!" msgstr "Election successfully created!"
#: elections/views.py:133 #: elections/views.py:130
msgid "Liste de votant·e·s importée avec succès !" msgid "Liste de votant·e·s importée avec succès !"
msgstr "Voters list successfully imported!" msgstr "Voters list successfully imported!"
#: elections/views.py:167 #: elections/views.py:164
msgid "Mail d'annonce envoyé avec succès !" msgid "Mail d'annonce envoyé avec succès !"
msgstr "Announcement e-mail sent successfully!" msgstr "Announcement e-mail sent successfully!"
#: elections/views.py:199 #: elections/views.py:196
msgid "Élection modifiée avec succès !" msgid "Élection modifiée avec succès !"
msgstr "Election successfully modified!" msgstr "Election successfully modified!"
#: elections/views.py:269 #: elections/views.py:279
msgid "Élection dépouillée avec succès !" msgid "Élection dépouillée avec succès !"
msgstr "Election successfully counted!" msgstr "Election successfully counted!"
#: elections/views.py:295 #: elections/views.py:305
msgid "Élection publiée avec succès !" msgid "Élection publiée avec succès !"
msgstr "Election successfully published!" msgstr "Election successfully published!"
#: elections/views.py:296 #: elections/views.py:306
msgid "Élection dépubliée avec succès !" msgid "Élection dépubliée avec succès !"
msgstr "Election successfully de-published!" msgstr "Election successfully de-published!"
#: elections/views.py:308 #: elections/views.py:318
msgid "Élection archivée avec succès !" msgid "Élection archivée avec succès !"
msgstr "Election successfully archived!" msgstr "Election successfully archived!"
#: elections/views.py:340 #: elections/views.py:350
msgid "Question modifiée avec succès !" msgid "Question modifiée avec succès !"
msgstr "Question successfully modified!" msgstr "Question successfully modified!"
#: elections/views.py:352 #: elections/views.py:362
msgid "Question supprimée !" msgid "Question supprimée !"
msgstr "Question deleted!" msgstr "Question deleted!"
#: elections/views.py:390 #: elections/views.py:400
msgid "Option modifiée avec succès !" msgid "Option modifiée avec succès !"
msgstr "Option successfully modified!" msgstr "Option successfully modified!"
#: elections/views.py:402 #: elections/views.py:412
msgid "Option supprimée !" msgid "Option supprimée !"
msgstr "Option deleted!" msgstr "Option deleted!"
#: elections/views.py:558 #: elections/views.py:568
msgid "Votre choix a bien été enregistré !" msgid "Votre choix a bien été enregistré !"
msgstr "Your choice has been recorded!" msgstr "Your choice has been recorded!"
@ -638,15 +643,15 @@ msgstr "French"
msgid "Anglais" msgid "Anglais"
msgstr "English" msgstr "English"
#: shared/auth/forms.py:13 #: shared/auth/forms.py:14
msgid "Identifiant" msgid "Identifiant"
msgstr "Username" msgstr "Username"
#: shared/auth/forms.py:15 #: shared/auth/forms.py:16
msgid "Mot de passe" msgid "Mot de passe"
msgstr "Password" msgstr "Password"
#: shared/auth/forms.py:50 #: shared/auth/forms.py:51
msgid "" msgid ""
"Aucun·e électeur·ice avec cet identifiant et mot de passe n'existe pour " "Aucun·e électeur·ice avec cet identifiant et mot de passe n'existe pour "
"cette élection. Vérifiez que les informations rentrées sont correctes, les " "cette élection. Vérifiez que les informations rentrées sont correctes, les "
@ -655,6 +660,10 @@ msgstr ""
"No voter with this username and password exists for this election. Check " "No voter with this username and password exists for this election. Check "
"that the information entered is correct, the fields are case sensitive." "that the information entered is correct, the fields are case sensitive."
#: shared/templates/auth/create-user.html:7
msgid "Créer un compte avec mot de passe"
msgstr "Create a password account"
#: shared/templates/auth/election_login.html:9 #: shared/templates/auth/election_login.html:9
#: shared/templates/authens/login_switch.html:33 #: shared/templates/authens/login_switch.html:33
#: shared/templates/authens/pwd_login.html:9 #: shared/templates/authens/pwd_login.html:9
@ -682,20 +691,20 @@ msgstr "Password reset"
msgid "Envoyer un mail" msgid "Envoyer un mail"
msgstr "Send an e-mail" msgstr "Send an e-mail"
#: shared/templates/base.html:113 #: shared/templates/base.html:124
msgid "Élections" msgid "Élections"
msgstr "Elections" msgstr "Elections"
#: shared/templates/base.html:125 #: shared/templates/base.html:136
#, python-format #, python-format
msgid "Connecté·e en tant que %(name)s par %(connection)s" msgid "Connecté·e en tant que %(name)s par %(connection)s"
msgstr "Logged in as %(name)s via %(connection)s" msgstr "Logged in as %(name)s via %(connection)s"
#: shared/templates/base.html:141 #: shared/templates/base.html:152
msgid "Se connecter" msgid "Se connecter"
msgstr "Log in" msgstr "Log in"
#: shared/templates/base.html:224 #: shared/templates/base.html:235
msgid "" msgid ""
"Développé par <a class=\"tag is-light is-danger\" href=\"https://www.eleves." "Développé par <a class=\"tag is-light is-danger\" href=\"https://www.eleves."
"ens.fr/kde\">KDEns</a>. En cas de pépin, contacter <span class=\"tag is-info " "ens.fr/kde\">KDEns</a>. En cas de pépin, contacter <span class=\"tag is-info "
@ -705,6 +714,10 @@ msgstr ""
"ens.fr/kde\">KDEns</a>. In case of glitches, contact <span class=\"tag is-" "ens.fr/kde\">KDEns</a>. In case of glitches, contact <span class=\"tag is-"
"info is-light\">klub-dev [at] ens [dot] fr</span>." "info is-light\">klub-dev [at] ens [dot] fr</span>."
#: shared/templates/forms/common-form.html:16
msgid "Enregister"
msgstr "Save"
#: shared/templates/forms/file.html:17 #: shared/templates/forms/file.html:17
msgid "Choisissez un fichier..." msgid "Choisissez un fichier..."
msgstr "Choose a file..." msgstr "Choose a file..."