From 4d46302451b7241e1fd8814308f8b45f575c8915 Mon Sep 17 00:00:00 2001 From: Tom Hubrecht Date: Tue, 20 Apr 2021 10:04:16 +0200 Subject: [PATCH] Typo & traduction --- elections/forms.py | 2 +- .../0025_alter_option_abbreviation.py | 20 +++++ elections/models.py | 2 +- shared/locale/en/LC_MESSAGES/django.mo | Bin 13264 -> 13897 bytes shared/locale/en/LC_MESSAGES/django.po | 74 ++++++++++++------ 5 files changed, 74 insertions(+), 24 deletions(-) create mode 100644 elections/migrations/0025_alter_option_abbreviation.py diff --git a/elections/forms.py b/elections/forms.py index dbcc88d..0004b53 100644 --- a/elections/forms.py +++ b/elections/forms.py @@ -82,7 +82,7 @@ class OptionForm(forms.ModelForm): widgets = {"text_fr": forms.TextInput, "text_en": forms.TextInput} help_texts = { "abbreviation": _( - "L'abbré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 --git a/elections/migrations/0025_alter_option_abbreviation.py b/elections/migrations/0025_alter_option_abbreviation.py new file mode 100644 index 0000000..5f82947 --- /dev/null +++ b/elections/migrations/0025_alter_option_abbreviation.py @@ -0,0 +1,20 @@ +# Generated by Django 3.2 on 2021-04-20 08:02 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("elections", "0024_alter_option_abbreviation"), + ] + + operations = [ + migrations.AlterField( + model_name="option", + name="abbreviation", + field=models.CharField( + blank=True, max_length=3, verbose_name="abréviation" + ), + ), + ] diff --git a/elections/models.py b/elections/models.py index bd423d6..430d225 100644 --- a/elections/models.py +++ b/elections/models.py @@ -137,7 +137,7 @@ class Option(models.Model): Question, related_name="options", on_delete=models.CASCADE ) text = TranslatedFieldWithFallback(models.TextField(_("texte"), blank=False)) - abbreviation = models.CharField(_("abbréviation"), max_length=3, blank=True) + abbreviation = models.CharField(_("abréviation"), max_length=3, blank=True) winner = models.BooleanField(_("option gagnante"), default=False) voters = models.ManyToManyField( diff --git a/shared/locale/en/LC_MESSAGES/django.mo b/shared/locale/en/LC_MESSAGES/django.mo index 440065f0818ccd85c616c6950878157661e0aeac..dc7ee68d04f5526f1ca9ac529392ce224b1e4f0d 100644 GIT binary patch delta 3823 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 IR$3GDFMuvAs{jB1 diff --git a/shared/locale/en/LC_MESSAGES/django.po b/shared/locale/en/LC_MESSAGES/django.po index fed5159..56bb634 100644 --- a/shared/locale/en/LC_MESSAGES/django.po +++ b/shared/locale/en/LC_MESSAGES/django.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-04-17 00:58+0200\n" -"PO-Revision-Date: 2021-04-17 00:58+0200\n" +"POT-Creation-Date: 2021-04-20 10:03+0200\n" +"PO-Revision-Date: 2021-04-20 10:03+0200\n" "Last-Translator: Test Translator \n" "Language-Team: \n" "Language: en\n" @@ -34,21 +34,29 @@ msgstr "Select a .csv file" msgid "Extension de fichier invalide, il faut un fichier au format CSV." msgstr "Invalid file extension, a CSV file is required." -#: elections/forms.py:90 +#: elections/forms.py:85 +msgid "" +"L'abréviation est optionnelle et sert à identifier plus facilement les " +"différentes options. Elle est affiché sans espaces et en majuscules." +msgstr "" +"The abbreviation is optional and serves to identify the different options " +"more easily. It is displayed without spaces and in capital letters." + +#: elections/forms.py:96 msgid "Supprimer le vote de {} ({}) ?" msgstr "Delete the vote of {} ({}) ?" -#: elections/forms.py:95 elections/templates/elections/election_admin.html:176 +#: elections/forms.py:101 elections/templates/elections/election_admin.html:176 #: elections/templates/elections/election_admin.html:203 #: elections/templates/elections/election_voters.html:57 msgid "Supprimer" msgstr "Delete" -#: elections/forms.py:95 +#: elections/forms.py:101 msgid "Non" msgstr "No" -#: elections/forms.py:95 +#: elections/forms.py:101 msgid "Oui" msgstr "Yes" @@ -112,31 +120,35 @@ msgstr "maximal number of votes received" msgid "texte" msgstr "text" -#: elections/models.py:141 +#: elections/models.py:140 +msgid "abréviation" +msgstr "abbreviation" + +#: elections/models.py:142 msgid "option gagnante" msgstr "winning option" -#: elections/models.py:149 +#: elections/models.py:150 msgid "nombre de votes reçus" msgstr "number of votes received" -#: elections/models.py:168 +#: elections/models.py:177 msgid "rang de l'option" msgstr "option's ranking" -#: elections/models.py:184 +#: elections/models.py:193 msgid "votes supplémentaires" msgstr "extra votes" -#: elections/models.py:200 +#: elections/models.py:209 msgid "Nom et Prénom" msgstr "Name and surname" -#: elections/models.py:222 elections/tests/test_models.py:57 +#: elections/models.py:231 elections/tests/test_models.py:57 msgid "identifiants spécifiques" msgstr "dedicated credentials" -#: elections/models.py:226 +#: elections/models.py:235 msgid "Peut administrer des élections" msgstr "Can manage elections" @@ -495,15 +507,33 @@ msgstr "Confirm" msgid "Annuler" msgstr "Cancel" -#: elections/templates/elections/vote/rank.html:44 +#: elections/templates/elections/vote/rank.html:120 msgid "Classement" msgstr "Ranking" -#: elections/templates/elections/vote/rank.html:45 +#: elections/templates/elections/vote/rank.html:121 #: elections/templates/elections/vote/select.html:24 msgid "Option(s) selectionnée(s)" msgstr "Selected option(s)" +#: elections/templates/elections/vote/rank.html:141 +#: elections/templates/elections/vote/rank.html:188 +msgid "Utiliser le formulaire classique" +msgstr "Use the traditional form" + +#: elections/templates/elections/vote/rank.html:143 +msgid "Utiliser le cliquer-déposer" +msgstr "Use Drag & Drop" + +#: elections/templates/elections/vote/rank.html:198 +#, python-format +msgid "Rang %(i)s" +msgstr "Rank %(i)s" + +#: elections/templates/elections/vote/rank.html:209 +msgid "Ajouter un rang" +msgstr "Add an rank" + #: elections/utils.py:206 msgid "Vous devez sélectionnner une option." msgstr "You must select an option." @@ -520,7 +550,7 @@ msgstr "The maximum ranking is {}." msgid "Le classement minimal est 1." msgstr "The minimum ranking is 1." -#: elections/utils.py:342 +#: elections/utils.py:346 msgid "" "Format invalide. Vérifiez que le fichier est bien formé (i.e. chaque ligne " "de la forme 'login,nom,email')." @@ -528,23 +558,23 @@ msgstr "" "Invalid format. Check that the file is properly formed (i.e. each line of " "the form 'login,name,e-mail')." -#: elections/utils.py:356 +#: elections/utils.py:360 msgid "La ligne {} n'a pas le bon nombre d'éléments." msgstr "The line {} has the wrong number of elements." -#: elections/utils.py:361 +#: elections/utils.py:365 msgid "Valeur manquante dans la ligne {} : 'login'." msgstr "Missing value in line {}: 'login'." -#: elections/utils.py:366 +#: elections/utils.py:370 msgid "Doublon dans les logins : lignes {} et {}." msgstr "Duplicate logins: lines {} and {}." -#: elections/utils.py:374 +#: elections/utils.py:378 msgid "Valeur manquante dans la ligne {} : 'nom'." msgstr "Missing value in line {}: 'name'." -#: elections/utils.py:380 +#: elections/utils.py:384 msgid "Adresse mail invalide à la ligne {} : '{}'." msgstr "Invalid e-mail address in line {}: '{}'." @@ -596,7 +626,7 @@ msgstr "Option successfully modified!" msgid "Option supprimée !" msgstr "Option deleted!" -#: elections/views.py:557 +#: elections/views.py:558 msgid "Votre choix a bien été enregistré !" msgstr "Your choice has been recorded!"