Update translations

This commit is contained in:
Yohann D'ANELLO 2020-05-11 14:21:55 +02:00
parent a561364bd0
commit 3b792a0548
4 changed files with 222 additions and 169 deletions

View File

@ -287,8 +287,12 @@ class Solution(Document):
unique_together = ('team', 'problem', 'final',) unique_together = ('team', 'problem', 'final',)
def __str__(self): def __str__(self):
return _("Solution of team {trigram} for problem {problem}")\ if self.final:
.format(trigram=self.team.trigram, problem=self.problem) return _("Solution of team {trigram} for problem {problem} for final")\
.format(trigram=self.team.trigram, problem=self.problem)
else:
return _("Solution of team {trigram} for problem {problem}")\
.format(trigram=self.team.trigram, problem=self.problem)
class Synthesis(Document): class Synthesis(Document):

View File

@ -71,7 +71,7 @@ class UserDetailView(LoginRequiredMixin, DetailView):
""" """
An administrator can log in through this page as someone else, and act as this other person. An administrator can log in through this page as someone else, and act as this other person.
""" """
if "view_as" in request.POST and self.request.admin: if "view_as" in request.POST and self.request.user.admin:
session = request.session session = request.session
session["admin"] = request.user.pk session["admin"] = request.user.pk
obj = self.get_object() obj = self.get_object()

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: TFJM2\n" "Project-Id-Version: TFJM2\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-05-08 19:44+0200\n" "POT-Creation-Date: 2020-05-11 14:17+0200\n"
"PO-Revision-Date: 2020-04-29 02:30+0000\n" "PO-Revision-Date: 2020-04-29 02:30+0000\n"
"Last-Translator: Yohann D'ANELLO <yohann.danello@animath.fr>\n" "Last-Translator: Yohann D'ANELLO <yohann.danello@animath.fr>\n"
"Language-Team: fr <LL@li.org>\n" "Language-Team: fr <LL@li.org>\n"
@ -18,253 +18,266 @@ 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"
#: apps/api/apps.py:7 #: apps/api/apps.py:10
msgid "API" msgid "API"
msgstr "API" msgstr "API"
#: apps/member/apps.py:7 #: apps/member/apps.py:10
msgid "member" msgid "member"
msgstr "membre" msgstr "membre"
#: apps/member/forms.py:14 #: apps/member/forms.py:18
msgid "Choose a role..." msgid "Choose a role..."
msgstr "Choisir un rôle ..." msgstr "Choisir un rôle ..."
#: apps/member/forms.py:15 apps/member/models.py:133 #: apps/member/forms.py:19 apps/member/models.py:138
msgid "Participant" msgid "Participant"
msgstr "Participant" msgstr "Participant"
#: apps/member/models.py:18 templates/member/tfjmuser_detail.html:35 #: apps/member/forms.py:20 apps/member/models.py:137
msgid "Coach"
msgstr "Encadrant"
#: apps/member/models.py:21 templates/member/tfjmuser_detail.html:35
msgid "email" msgid "email"
msgstr "Adresse électronique" msgstr "Adresse électronique"
#: apps/member/models.py:26 apps/member/models.py:218 apps/member/models.py:234 #: apps/member/models.py:22
#: apps/member/models.py:265 apps/tournament/models.py:221 msgid "This should be valid and will be controlled."
#: apps/tournament/models.py:295 templates/member/tfjmuser_detail.html:16 msgstr ""
#: apps/member/models.py:30 apps/member/models.py:244 apps/member/models.py:263
#: apps/member/models.py:306 apps/tournament/models.py:285
#: apps/tournament/models.py:385 templates/member/tfjmuser_detail.html:16
msgid "team" msgid "team"
msgstr "équipe" msgstr "équipe"
#: apps/member/models.py:32 templates/member/tfjmuser_detail.html:21 #: apps/member/models.py:31
msgid "Concerns only coaches and participants."
msgstr "Concerne uniquement les encadrants et participants."
#: apps/member/models.py:37 templates/member/tfjmuser_detail.html:21
msgid "birth date" msgid "birth date"
msgstr "date de naissance" msgstr "date de naissance"
#: apps/member/models.py:40 #: apps/member/models.py:45
msgid "Male" msgid "Male"
msgstr "Homme" msgstr "Homme"
#: apps/member/models.py:41 #: apps/member/models.py:46
msgid "Female" msgid "Female"
msgstr "Femme" msgstr "Femme"
#: apps/member/models.py:42 #: apps/member/models.py:47
msgid "Non binary" msgid "Non binary"
msgstr "Non binaire" msgstr "Non binaire"
#: apps/member/models.py:44 templates/member/tfjmuser_detail.html:26 #: apps/member/models.py:49 templates/member/tfjmuser_detail.html:26
msgid "gender" msgid "gender"
msgstr "genre" msgstr "genre"
#: apps/member/models.py:51 templates/member/tfjmuser_detail.html:31 #: apps/member/models.py:56 templates/member/tfjmuser_detail.html:31
msgid "address" msgid "address"
msgstr "adresse" msgstr "adresse"
#: apps/member/models.py:57 #: apps/member/models.py:62
msgid "postal code" msgid "postal code"
msgstr "code postal" msgstr "code postal"
#: apps/member/models.py:64 #: apps/member/models.py:69
msgid "city" msgid "city"
msgstr "ville" msgstr "ville"
#: apps/member/models.py:71 #: apps/member/models.py:76
msgid "country" msgid "country"
msgstr "pays" msgstr "pays"
#: apps/member/models.py:79 templates/member/tfjmuser_detail.html:39 #: apps/member/models.py:84 templates/member/tfjmuser_detail.html:39
msgid "phone number" msgid "phone number"
msgstr "numéro de téléphone" msgstr "numéro de téléphone"
#: apps/member/models.py:86 templates/member/tfjmuser_detail.html:44 #: apps/member/models.py:91 templates/member/tfjmuser_detail.html:44
msgid "school" msgid "school"
msgstr "école" msgstr "école"
#: apps/member/models.py:92 #: apps/member/models.py:97
msgid "Seconde or less" msgid "Seconde or less"
msgstr "Seconde ou inférieur" msgstr "Seconde ou inférieur"
#: apps/member/models.py:93 #: apps/member/models.py:98
msgid "Première" msgid "Première"
msgstr "Première" msgstr "Première"
#: apps/member/models.py:94 #: apps/member/models.py:99
msgid "Terminale" msgid "Terminale"
msgstr "Terminale" msgstr "Terminale"
#: apps/member/models.py:105 templates/member/tfjmuser_detail.html:51 #: apps/member/models.py:110 templates/member/tfjmuser_detail.html:51
msgid "responsible name" msgid "responsible name"
msgstr "nom du responsable" msgstr "nom du responsable"
#: apps/member/models.py:112 templates/member/tfjmuser_detail.html:56 #: apps/member/models.py:117 templates/member/tfjmuser_detail.html:56
msgid "responsible phone" msgid "responsible phone"
msgstr "téléphone du responsable" msgstr "téléphone du responsable"
#: apps/member/models.py:118 templates/member/tfjmuser_detail.html:61 #: apps/member/models.py:123 templates/member/tfjmuser_detail.html:61
msgid "responsible email" msgid "responsible email"
msgstr "email du responsable" msgstr "email du responsable"
#: apps/member/models.py:124 apps/tournament/models.py:37 #: apps/member/models.py:129 apps/tournament/models.py:44
#: templates/member/tfjmuser_detail.html:67 #: templates/member/tfjmuser_detail.html:67
#: templates/tournament/tournament_detail.html:42 #: templates/tournament/tournament_detail.html:42
msgid "description" msgid "description"
msgstr "description" msgstr "description"
#: apps/member/models.py:130 #: apps/member/models.py:135
msgid "Admin" msgid "Admin"
msgstr "Administrateur" msgstr "Administrateur"
#: apps/member/models.py:131 #: apps/member/models.py:136
msgid "Organizer" msgid "Organizer"
msgstr "Organisateur" msgstr "Organisateur"
#: apps/member/models.py:132 #: apps/member/models.py:144 apps/tournament/models.py:89
msgid "Coach" #: apps/tournament/models.py:214
msgstr "Encadrant"
#: apps/member/models.py:139 apps/tournament/models.py:81
#: apps/tournament/models.py:178
msgid "year" msgid "year"
msgstr "année" msgstr "année"
#: apps/member/models.py:155 apps/member/models.py:191 #: apps/member/models.py:171 apps/member/models.py:214
#: apps/tournament/models.py:288 #: apps/tournament/models.py:378
msgid "user" msgid "user"
msgstr "utilisateur" msgstr "utilisateur"
#: apps/member/models.py:156 #: apps/member/models.py:172
msgid "users" msgid "users"
msgstr "utilisateurs" msgstr "utilisateurs"
#: apps/member/models.py:169 #: apps/member/models.py:189
msgid "file" msgid "file"
msgstr "fichier" msgstr "fichier"
#: apps/member/models.py:174 #: apps/member/models.py:194
msgid "uploaded at" msgid "uploaded at"
msgstr "téléversé le" msgstr "téléversé le"
#: apps/member/models.py:178 #: apps/member/models.py:198
msgid "document" msgid "document"
msgstr "document" msgstr "document"
#: apps/member/models.py:179 #: apps/member/models.py:199
msgid "documents" msgid "documents"
msgstr "documents" msgstr "documents"
#: apps/member/models.py:197 #: apps/member/models.py:220
msgid "Parental consent" msgid "Parental consent"
msgstr "Autorisation parentale" msgstr "Autorisation parentale"
#: apps/member/models.py:198 #: apps/member/models.py:221
msgid "Photo consent" msgid "Photo consent"
msgstr "Autorisation de droit à l'image" msgstr "Autorisation de droit à l'image"
#: apps/member/models.py:199 #: apps/member/models.py:222
msgid "Sanitary plug" msgid "Sanitary plug"
msgstr "Fiche sanitaire" msgstr "Fiche sanitaire"
#: apps/member/models.py:200 apps/tournament/models.py:306 #: apps/member/models.py:223 apps/tournament/models.py:396
msgid "Scholarship" msgid "Scholarship"
msgstr "Bourse" msgstr "Bourse"
#: apps/member/models.py:202 #: apps/member/models.py:225
msgid "type" msgid "type"
msgstr "type" msgstr "type"
#: apps/member/models.py:206 #: apps/member/models.py:229
msgid "authorization" msgid "authorization"
msgstr "autorisation" msgstr "autorisation"
#: apps/member/models.py:207 #: apps/member/models.py:230
msgid "authorizations" msgid "authorizations"
msgstr "autorisations" msgstr "autorisations"
#: apps/member/models.py:210 #: apps/member/models.py:233
#, python-brace-format #, python-brace-format
msgid "{authorization} for user {user}" msgid "{authorization} for user {user}"
msgstr "{authorization} pour l'utilisateur {user}" msgstr "{authorization} pour l'utilisateur {user}"
#: apps/member/models.py:222 #: apps/member/models.py:248
msgid "motivation letter" msgid "motivation letter"
msgstr "lettre de motivation" msgstr "lettre de motivation"
#: apps/member/models.py:223 #: apps/member/models.py:249
msgid "motivation letters" msgid "motivation letters"
msgstr "lettres de motivation" msgstr "lettres de motivation"
#: apps/member/models.py:226 #: apps/member/models.py:252
#, python-brace-format #, python-brace-format
msgid "Motivation letter of team {team} ({trigram})" msgid "Motivation letter of team {team} ({trigram})"
msgstr "Lettre de motivation de l'équipe {team} ({trigram})" msgstr "Lettre de motivation de l'équipe {team} ({trigram})"
#: apps/member/models.py:238 #: apps/member/models.py:267
msgid "problem" msgid "problem"
msgstr "problème" msgstr "problème"
#: apps/member/models.py:243 #: apps/member/models.py:272
msgid "final solution" msgid "final solution"
msgstr "solution pour la finale" msgstr "solution pour la finale"
#: apps/member/models.py:251 #: apps/member/models.py:285
msgid "solution" msgid "solution"
msgstr "solution" msgstr "solution"
#: apps/member/models.py:252 apps/tournament/models.py:248 #: apps/member/models.py:286 apps/tournament/models.py:324
msgid "solutions" msgid "solutions"
msgstr "solutions" msgstr "solutions"
#: apps/member/models.py:256 #: apps/member/models.py:291
#, python-brace-format
msgid "Solution of team {trigram} for problem {problem} for final"
msgstr "Solution de l'équipe {trigram} pour le problème {problem} pour la finale"
#: apps/member/models.py:294
#, python-brace-format #, python-brace-format
msgid "Solution of team {trigram} for problem {problem}" msgid "Solution of team {trigram} for problem {problem}"
msgstr "Solution de l'équipe {trigram} pour le problème {problem}" msgstr "Solution de l'équipe {trigram} pour le problème {problem}"
#: apps/member/models.py:271 #: apps/member/models.py:312
msgid "Opponent" msgid "Opponent"
msgstr "Opposant" msgstr "Opposant"
#: apps/member/models.py:272 #: apps/member/models.py:313
msgid "Rapporteur" msgid "Rapporteur"
msgstr "Rapporteur" msgstr "Rapporteur"
#: apps/member/models.py:274 #: apps/member/models.py:315
msgid "source" msgid "source"
msgstr "source" msgstr "source"
#: apps/member/models.py:279 apps/tournament/models.py:253 #: apps/member/models.py:320 apps/tournament/models.py:329
msgid "Round 1" msgid "Round 1"
msgstr "Tour 1" msgstr "Tour 1"
#: apps/member/models.py:280 apps/tournament/models.py:254 #: apps/member/models.py:321 apps/tournament/models.py:330
msgid "Round 2" msgid "Round 2"
msgstr "Tour 2" msgstr "Tour 2"
#: apps/member/models.py:282 apps/tournament/models.py:256 #: apps/member/models.py:323 apps/tournament/models.py:332
#: templates/tournament/pool_detail.html:18 #: templates/tournament/pool_detail.html:18
msgid "round" msgid "round"
msgstr "tour" msgstr "tour"
#: apps/member/models.py:287 #: apps/member/models.py:328
msgid "final synthesis" msgid "final synthesis"
msgstr "synthèse pour la finale" msgstr "synthèse pour la finale"
#: apps/member/models.py:295 #: apps/member/models.py:341
msgid "synthesis" msgid "synthesis"
msgstr "synthèse" msgstr "synthèse"
#: apps/member/models.py:296 #: apps/member/models.py:342
msgid "syntheses" msgid "syntheses"
msgstr "synthèses" msgstr "synthèses"
#: apps/member/models.py:300 #: apps/member/models.py:346
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Synthesis of team {trigram} that is {source} for the round {round} of " "Synthesis of team {trigram} that is {source} for the round {round} of "
@ -273,370 +286,406 @@ msgstr ""
"Synthèse de l'équipe {trigram} qui est {source} pour le tour {round} du " "Synthèse de l'équipe {trigram} qui est {source} pour le tour {round} du "
"tournoi {tournament}" "tournoi {tournament}"
#: apps/member/models.py:309 #: apps/member/models.py:358
msgid "key" msgid "key"
msgstr "clé" msgstr "clé"
#: apps/member/models.py:314 #: apps/member/models.py:363
msgid "value" msgid "value"
msgstr "valeur" msgstr "valeur"
#: apps/member/models.py:318 #: apps/member/models.py:367
msgid "configuration" msgid "configuration"
msgstr "configuration" msgstr "configuration"
#: apps/member/models.py:319 #: apps/member/models.py:368
msgid "configurations" msgid "configurations"
msgstr "configurations" msgstr "configurations"
#: apps/member/views.py:82 apps/member/views.py:118 #: apps/member/views.py:100 apps/member/views.py:140
msgid "You can't organize and participate at the same time." msgid "You can't organize and participate at the same time."
msgstr "Vous ne pouvez pas organiser et participer en même temps." msgstr "Vous ne pouvez pas organiser et participer en même temps."
#: apps/member/views.py:86 apps/member/views.py:122 #: apps/member/views.py:104 apps/member/views.py:144
msgid "You are already in a team." msgid "You are already in a team."
msgstr "Vous êtes déjà dans une équipe." msgstr "Vous êtes déjà dans une équipe."
#: apps/member/views.py:126 #: apps/member/views.py:148
msgid "This team is full of coachs." msgid "This team is full of coachs."
msgstr "Cette équipe est pleine en encadrants." msgstr "Cette équipe est pleine en encadrants."
#: apps/member/views.py:130 #: apps/member/views.py:152
msgid "This team is full of participants." msgid "This team is full of participants."
msgstr "Cette équipe est pleine en participants." msgstr "Cette équipe est pleine en participants."
#: apps/member/views.py:179 templates/base.html:81 #: apps/member/views.py:156
msgid "This team is already validated or waiting for validation."
msgstr "L'équipe est déjà en attente de validation."
#: apps/member/views.py:220 templates/base.html:81
msgid "All profiles" msgid "All profiles"
msgstr "Tous les profils" msgstr "Tous les profils"
#: apps/member/views.py:188 templates/base.html:80 #: apps/member/views.py:232 templates/base.html:80
msgid "Orphaned profiles" msgid "Orphaned profiles"
msgstr "Profils orphelins" msgstr "Profils orphelins"
#: apps/member/views.py:197 apps/tournament/forms.py:17 templates/base.html:83 #: apps/member/views.py:244 apps/tournament/forms.py:22 templates/base.html:83
msgid "Organizers" msgid "Organizers"
msgstr "Organisateurs" msgstr "Organisateurs"
#: apps/tournament/apps.py:7 apps/tournament/models.py:110 #: apps/tournament/apps.py:10 apps/tournament/models.py:134
#: apps/tournament/models.py:147 apps/tournament/tables.py:94 #: apps/tournament/models.py:182 apps/tournament/tables.py:110
#: templates/tournament/pool_detail.html:21 #: templates/tournament/pool_detail.html:21
#: templates/tournament/team_detail.html:21 #: templates/tournament/team_detail.html:21
msgid "tournament" msgid "tournament"
msgstr "tournoi" msgstr "tournoi"
#: apps/tournament/forms.py:25 #: apps/tournament/forms.py:30
msgid "This tournament already exists." msgid "This tournament already exists."
msgstr "Ce tournoi existe déjà." msgstr "Ce tournoi existe déjà."
#: apps/tournament/forms.py:27 #: apps/tournament/forms.py:32
msgid "The final tournament was already defined." msgid "The final tournament was already defined."
msgstr "Le tournoi de la finale est déjà défini." msgstr "Le tournoi de la finale est déjà défini."
#: apps/tournament/forms.py:55 #: apps/tournament/forms.py:64
msgid "This organizer already exist." msgid "This organizer already exist."
msgstr "Cet organisateur existe déjà." msgstr "Cet organisateur existe déjà."
#: apps/tournament/forms.py:81 #: apps/tournament/forms.py:93
msgid "The trigram must be composed of three upcase letters." msgid "The trigram must be composed of three upcase letters."
msgstr "Le trigramme doit être composé de trois lettres en majuscules." msgstr "Le trigramme doit être composé de trois lettres en majuscules."
#: apps/tournament/forms.py:85 #: apps/tournament/forms.py:97
msgid "This trigram is already used." msgid "This trigram is already used."
msgstr "Ce trigramme est déjà utilisé." msgstr "Ce trigramme est déjà utilisé."
#: apps/tournament/forms.py:88 #: apps/tournament/forms.py:100
msgid "This name is already used." msgid "This name is already used."
msgstr "Ce nom est déjà utilisé." msgstr "Ce nom est déjà utilisé."
#: apps/tournament/forms.py:91 #: apps/tournament/forms.py:103
msgid "This tournament is already closed." msgid "This tournament is already closed."
msgstr "Ce tournoi est déjà fermé." msgstr "Ce tournoi est déjà fermé."
#: apps/tournament/forms.py:98 #: apps/tournament/forms.py:114
msgid "Access code" msgid "Access code"
msgstr "Code d'accès" msgstr "Code d'accès"
#: apps/tournament/forms.py:106 #: apps/tournament/forms.py:122
msgid "The access code must be composed of 6 alphanumeric characters." msgid "The access code must be composed of 6 alphanumeric characters."
msgstr "Le code d'accès doit être composé de 6 caractères alphanumériques." msgstr "Le code d'accès doit être composé de 6 caractères alphanumériques."
#: apps/tournament/forms.py:110 #: apps/tournament/forms.py:126
msgid "This access code is invalid." msgid "This access code is invalid."
msgstr "Ce code d'accès est invalide." msgstr "Ce code d'accès est invalide."
#: apps/tournament/forms.py:113 #: apps/tournament/forms.py:129
msgid "The team is already validated." msgid "The team is already validated."
msgstr "L'équipe est déjà validée." msgstr "L'équipe est déjà validée."
#: apps/tournament/forms.py:121 #: apps/tournament/forms.py:141
msgid "Problem" msgid "Problem"
msgstr "Problème" msgstr "Problème"
#: apps/tournament/forms.py:122 #: apps/tournament/forms.py:142
#, python-brace-format #, python-brace-format
msgid "Problem #{problem:d}" msgid "Problem #{problem:d}"
msgstr "Problème n°{problem:d}" msgstr "Problème n°{problem:d}"
#: apps/tournament/forms.py:139 apps/tournament/forms.py:152 #: apps/tournament/forms.py:168 apps/tournament/forms.py:181
#: apps/tournament/forms.py:165 #: apps/tournament/forms.py:194
msgid "Choose a team..." msgid "Choose a team..."
msgstr "Choisir une équipe ..." msgstr "Choisir une équipe ..."
#: apps/tournament/forms.py:140 #: apps/tournament/forms.py:169
msgid "Team 1" msgid "Team 1"
msgstr "Équipe 1" msgstr "Équipe 1"
#: apps/tournament/forms.py:147 #: apps/tournament/forms.py:176
msgid "Problem defended by team 1" msgid "Problem defended by team 1"
msgstr "Problème défendu par l'équipe 1" msgstr "Problème défendu par l'équipe 1"
#: apps/tournament/forms.py:153 #: apps/tournament/forms.py:182
msgid "Team 2" msgid "Team 2"
msgstr "Équipe 2" msgstr "Équipe 2"
#: apps/tournament/forms.py:160 #: apps/tournament/forms.py:189
msgid "Problem defended by team 2" msgid "Problem defended by team 2"
msgstr "Problème défendu par l'équipe 2" msgstr "Problème défendu par l'équipe 2"
#: apps/tournament/forms.py:166 #: apps/tournament/forms.py:195
msgid "Team 3" msgid "Team 3"
msgstr "Équipe 3" msgstr "Équipe 3"
#: apps/tournament/forms.py:173 #: apps/tournament/forms.py:202
msgid "Problem defended by team 3" msgid "Problem defended by team 3"
msgstr "Problème défendu par l'équipe 3" msgstr "Problème défendu par l'équipe 3"
#: apps/tournament/models.py:14 apps/tournament/models.py:135 #: apps/tournament/models.py:18 apps/tournament/models.py:169
#: templates/tournament/team_detail.html:12 #: templates/tournament/team_detail.html:12
msgid "name" msgid "name"
msgstr "nom" msgstr "nom"
#: apps/tournament/models.py:20 templates/tournament/tournament_detail.html:12 #: apps/tournament/models.py:24 templates/tournament/tournament_detail.html:12
msgid "organizers" msgid "organizers"
msgstr "organisateurs" msgstr "organisateurs"
#: apps/tournament/models.py:24 templates/tournament/tournament_detail.html:15 #: apps/tournament/models.py:25
msgid ""
"List of all organizers that can see and manipulate data of the tournament "
"and the teams."
msgstr ""
"Liste des organisateurs qui peuvent manipuler les données du tournoi et "
"des équipes."
#: apps/tournament/models.py:29 templates/tournament/tournament_detail.html:15
msgid "size" msgid "size"
msgstr "taille" msgstr "taille"
#: apps/tournament/models.py:29 templates/tournament/tournament_detail.html:18 #: apps/tournament/models.py:30
msgid "Number of teams that are allowed to join the tournament."
msgstr "Nombre d'équipes qui sont autorisées à rejoindre le tournoi."
#: apps/tournament/models.py:35 templates/tournament/tournament_detail.html:18
msgid "place" msgid "place"
msgstr "lieu" msgstr "lieu"
#: apps/tournament/models.py:33 templates/tournament/tournament_detail.html:21 #: apps/tournament/models.py:39 templates/tournament/tournament_detail.html:21
msgid "price" msgid "price"
msgstr "prix" msgstr "prix"
#: apps/tournament/models.py:42 #: apps/tournament/models.py:40
msgid "Price asked to participants. Free with a scholarship."
msgstr "Prix demandé par participant. Gratuit pour les boursiers."
#: apps/tournament/models.py:49
msgid "date start" msgid "date start"
msgstr "date de début" msgstr "date de début"
#: apps/tournament/models.py:47 #: apps/tournament/models.py:54
msgid "date end" msgid "date end"
msgstr "date de fin" msgstr "date de fin"
#: apps/tournament/models.py:52 templates/tournament/tournament_detail.html:27 #: apps/tournament/models.py:59 templates/tournament/tournament_detail.html:27
msgid "date of registration closing" msgid "date of registration closing"
msgstr "date de clôture des inscriptions" msgstr "date de clôture des inscriptions"
#: apps/tournament/models.py:57 templates/tournament/tournament_detail.html:30 #: apps/tournament/models.py:64 templates/tournament/tournament_detail.html:30
msgid "date of maximal solution submission" msgid "date of maximal solution submission"
msgstr "date d'envoi maximal des solutions" msgstr "date d'envoi maximal des solutions"
#: apps/tournament/models.py:62 templates/tournament/tournament_detail.html:33 #: apps/tournament/models.py:69 templates/tournament/tournament_detail.html:33
msgid "date of maximal syntheses submission for the first round" msgid "date of maximal syntheses submission for the first round"
msgstr "date d'envoi maximal des notes de synthèses du premier tour" msgstr "date d'envoi maximal des notes de synthèses du premier tour"
#: apps/tournament/models.py:67 templates/tournament/tournament_detail.html:36 #: apps/tournament/models.py:74 templates/tournament/tournament_detail.html:36
msgid "date when solutions of round 2 are available" msgid "date when solutions of round 2 are available"
msgstr "date à partir de laquelle les solutions du tour 2 sont disponibles" msgstr "date à partir de laquelle les solutions du tour 2 sont disponibles"
#: apps/tournament/models.py:72 templates/tournament/tournament_detail.html:39 #: apps/tournament/models.py:79 templates/tournament/tournament_detail.html:39
msgid "date of maximal syntheses submission for the second round" msgid "date of maximal syntheses submission for the second round"
msgstr "date d'envoi maximal des notes de synthèses pour le second tour" msgstr "date d'envoi maximal des notes de synthèses pour le second tour"
#: apps/tournament/models.py:76 #: apps/tournament/models.py:83
msgid "final tournament" msgid "final tournament"
msgstr "finale" msgstr "finale"
#: apps/tournament/models.py:111 #: apps/tournament/models.py:84
msgid "It should be only one final tournament."
msgstr "Il ne doit y avoir qu'une seule finale."
#: apps/tournament/models.py:135
msgid "tournaments" msgid "tournaments"
msgstr "tournois" msgstr "tournois"
#: apps/tournament/models.py:140 templates/tournament/team_detail.html:15 #: apps/tournament/models.py:174 templates/tournament/team_detail.html:15
msgid "trigram" msgid "trigram"
msgstr "trigramme" msgstr "trigramme"
#: apps/tournament/models.py:152 #: apps/tournament/models.py:175
msgid ""
"The trigram should be composed of 3 capitalize letters, that is a funny "
"acronym for the team."
msgstr ""
"Le trigramme doit être composé de trois lettres en majuscule, qui doit "
"être un acronyme amusant représentant l'équipe."
#: apps/tournament/models.py:183
msgid "The tournament where the team is registered."
msgstr "Le tournoi où l'équipe est inscrite."
#: apps/tournament/models.py:188
msgid "inscription date" msgid "inscription date"
msgstr "date d'inscription" msgstr "date d'inscription"
#: apps/tournament/models.py:158 apps/tournament/models.py:315 #: apps/tournament/models.py:194 apps/tournament/models.py:405
msgid "Registration not validated" msgid "Registration not validated"
msgstr "Inscription non validée" msgstr "Inscription non validée"
#: apps/tournament/models.py:159 apps/tournament/models.py:316 #: apps/tournament/models.py:195 apps/tournament/models.py:406
msgid "Waiting for validation" msgid "Waiting for validation"
msgstr "En attente de validation" msgstr "En attente de validation"
#: apps/tournament/models.py:160 apps/tournament/models.py:317 #: apps/tournament/models.py:196 apps/tournament/models.py:407
msgid "Registration validated" msgid "Registration validated"
msgstr "Inscription validée" msgstr "Inscription validée"
#: apps/tournament/models.py:162 apps/tournament/models.py:319 #: apps/tournament/models.py:198 apps/tournament/models.py:409
#: templates/tournament/team_detail.html:32 #: templates/tournament/team_detail.html:32
msgid "validation status" msgid "validation status"
msgstr "statut de validation" msgstr "statut de validation"
#: apps/tournament/models.py:167 #: apps/tournament/models.py:203
msgid "selected for final" msgid "selected for final"
msgstr "sélectionnée pour la finale" msgstr "sélectionnée pour la finale"
#: apps/tournament/models.py:173 templates/tournament/team_detail.html:18 #: apps/tournament/models.py:209 templates/tournament/team_detail.html:18
msgid "access code" msgid "access code"
msgstr "code d'accès" msgstr "code d'accès"
#: apps/tournament/models.py:222 apps/tournament/models.py:242 #: apps/tournament/models.py:286 apps/tournament/models.py:318
#: templates/tournament/pool_detail.html:15 #: templates/tournament/pool_detail.html:15
msgid "teams" msgid "teams"
msgstr "équipes" msgstr "équipes"
#: apps/tournament/models.py:262 templates/tournament/pool_detail.html:12 #: apps/tournament/models.py:338 templates/tournament/pool_detail.html:12
msgid "juries" msgid "juries"
msgstr "jurys" msgstr "jurys"
#: apps/tournament/models.py:279 #: apps/tournament/models.py:365
msgid "pool" msgid "pool"
msgstr "poule" msgstr "poule"
#: apps/tournament/models.py:280 #: apps/tournament/models.py:366
msgid "pools" msgid "pools"
msgstr "poules" msgstr "poules"
#: apps/tournament/models.py:301 #: apps/tournament/models.py:391
msgid "Not paid" msgid "Not paid"
msgstr "Non payé" msgstr "Non payé"
#: apps/tournament/models.py:302 #: apps/tournament/models.py:392
msgid "Credit card" msgid "Credit card"
msgstr "Carte bancaire" msgstr "Carte bancaire"
#: apps/tournament/models.py:303 #: apps/tournament/models.py:393
msgid "Bank check" msgid "Bank check"
msgstr "Chèque bancaire" msgstr "Chèque bancaire"
#: apps/tournament/models.py:304 #: apps/tournament/models.py:394
msgid "Bank transfer" msgid "Bank transfer"
msgstr "Virement bancaire" msgstr "Virement bancaire"
#: apps/tournament/models.py:305 #: apps/tournament/models.py:395
msgid "Cash" msgid "Cash"
msgstr "Espèces" msgstr "Espèces"
#: apps/tournament/models.py:309 #: apps/tournament/models.py:399
msgid "payment method" msgid "payment method"
msgstr "moyen de paiement" msgstr "moyen de paiement"
#: apps/tournament/models.py:323 #: apps/tournament/models.py:413
msgid "payment" msgid "payment"
msgstr "paiement" msgstr "paiement"
#: apps/tournament/models.py:324 #: apps/tournament/models.py:414
msgid "payments" msgid "payments"
msgstr "paiements" msgstr "paiements"
#: apps/tournament/models.py:327 #: apps/tournament/models.py:417
#, python-brace-format #, python-brace-format
msgid "Payment of {user}" msgid "Payment of {user}"
msgstr "Paiement de {user}" msgstr "Paiement de {user}"
#: apps/tournament/tables.py:18 templates/tournament/tournament_detail.html:24 #: apps/tournament/tables.py:22 templates/tournament/tournament_detail.html:24
msgid "dates" msgid "dates"
msgstr "dates" msgstr "dates"
#: apps/tournament/tables.py:22 #: apps/tournament/tables.py:26
msgid "From {start:%b %d %Y} to {end:%b %d %Y}" msgid "From {start:%b %d %Y} to {end:%b %d %Y}"
msgstr "Du {start: %d %b %Y} au {end:%d %b %Y}" msgstr "Du {start: %d %b %Y} au {end:%d %b %Y}"
#: apps/tournament/tables.py:59 apps/tournament/tables.py:127 #: apps/tournament/tables.py:71 apps/tournament/tables.py:147
msgid "Tournament" msgid "Tournament"
msgstr "Tournoi" msgstr "Tournoi"
#: apps/tournament/tables.py:73 apps/tournament/tables.py:108 #: apps/tournament/tables.py:85 apps/tournament/tables.py:124
#: templates/tournament/team_detail.html:135 #: templates/tournament/team_detail.html:135
#: templates/tournament/team_detail.html:144 #: templates/tournament/team_detail.html:144
msgid "Download" msgid "Download"
msgstr "Télécharger" msgstr "Télécharger"
#: apps/tournament/tables.py:120 #: apps/tournament/tables.py:140
msgid "Problems" msgid "Problems"
msgstr "Problèmes" msgstr "Problèmes"
#: apps/tournament/views.py:50 #: apps/tournament/views.py:66
msgid "Tournaments list" msgid "Tournaments list"
msgstr "Liste des tournois" msgstr "Liste des tournois"
#: apps/tournament/views.py:69 #: apps/tournament/views.py:89
msgid "Add tournament" msgid "Add tournament"
msgstr "Ajouter un tournoi" msgstr "Ajouter un tournoi"
#: apps/tournament/views.py:81 #: apps/tournament/views.py:106
#, python-brace-format #, python-brace-format
msgid "Tournament of {name}" msgid "Tournament of {name}"
msgstr "Tournoi de {name}" msgstr "Tournoi de {name}"
#: apps/tournament/views.py:102 #: apps/tournament/views.py:140
msgid "Update tournament" msgid "Update tournament"
msgstr "Modifier le tournoi" msgstr "Modifier le tournoi"
#: apps/tournament/views.py:134 apps/tournament/views.py:246 #: apps/tournament/views.py:187 apps/tournament/views.py:315
#, python-brace-format #, python-brace-format
msgid "Solutions for team {team}.zip" msgid "Solutions for team {team}.zip"
msgstr "Solutions pour l'équipe {team}.zip" msgstr "Solutions pour l'équipe {team}.zip"
#: apps/tournament/views.py:189 #: apps/tournament/views.py:243
msgid "Information about team" msgid "Information about team"
msgstr "Informations sur l'équipe" msgstr "Informations sur l'équipe"
#: apps/tournament/views.py:199 #: apps/tournament/views.py:258
msgid "Update team" msgid "Update team"
msgstr "Modifier l'équipe" msgstr "Modifier l'équipe"
#: apps/tournament/views.py:211 #: apps/tournament/views.py:276
msgid "Add organizer" msgid "Add organizer"
msgstr "Ajouter un organisateur" msgstr "Ajouter un organisateur"
#: apps/tournament/views.py:230 templates/base.html:108 templates/base.html:126 #: apps/tournament/views.py:299 templates/base.html:108 templates/base.html:126
#: templates/tournament/pool_detail.html:31 #: templates/tournament/pool_detail.html:31
msgid "Solutions" msgid "Solutions"
msgstr "Solutions" msgstr "Solutions"
#: apps/tournament/views.py:270 #: apps/tournament/views.py:339
msgid "" msgid ""
"You can't publish your solution anymore. Deadline: {date:%m-%d-%Y %H:%M}." "You can't publish your solution anymore. Deadline: {date:%m-%d-%Y %H:%M}."
msgstr "" msgstr ""
"Vous ne pouvez plus publier vos solutions. Deadline : {date:%d/%m/%Y %H:%M}." "Vous ne pouvez plus publier vos solutions. Deadline : {date:%d/%m/%Y %H:%M}."
#: apps/tournament/views.py:294 #: apps/tournament/views.py:368
msgid "All solutions" msgid "All solutions"
msgstr "Toutes les solutions" msgstr "Toutes les solutions"
#: apps/tournament/views.py:313 #: apps/tournament/views.py:387
#, python-brace-format #, python-brace-format
msgid "Solutions for tournament {tournament}.zip" msgid "Solutions for tournament {tournament}.zip"
msgstr "Solutions pour le tournoi {tournament}.zip" msgstr "Solutions pour le tournoi {tournament}.zip"
#: apps/tournament/views.py:340 templates/base.html:111 templates/base.html:129 #: apps/tournament/views.py:417 templates/base.html:111 templates/base.html:129
#: templates/tournament/pool_detail.html:57 #: templates/tournament/pool_detail.html:57
msgid "Syntheses" msgid "Syntheses"
msgstr "Synthèses" msgstr "Synthèses"
#: apps/tournament/views.py:356 #: apps/tournament/views.py:433
#, python-brace-format #, python-brace-format
msgid "Syntheses for team {team}.zip" msgid "Syntheses for team {team}.zip"
msgstr "Notes de synthèse de l'équipe {team}.zip" msgstr "Notes de synthèse de l'équipe {team}.zip"
#: apps/tournament/views.py:381 #: apps/tournament/views.py:458
msgid "" msgid ""
"You can't publish your synthesis anymore for the first round. Deadline: " "You can't publish your synthesis anymore for the first round. Deadline: "
"{date:%m-%d-%Y %H:%M}." "{date:%m-%d-%Y %H:%M}."
@ -644,7 +693,7 @@ msgstr ""
"Vous ne pouvez plus envoyer vos notes de synthèse pour le premier tour. " "Vous ne pouvez plus envoyer vos notes de synthèse pour le premier tour. "
"Deadline : {date:%d/%m/%Y %h:%M}." "Deadline : {date:%d/%m/%Y %h:%M}."
#: apps/tournament/views.py:387 #: apps/tournament/views.py:464
msgid "" msgid ""
"You can't publish your synthesis anymore for the second round. Deadline: " "You can't publish your synthesis anymore for the second round. Deadline: "
"{date:%m-%d-%Y %H:%M}." "{date:%m-%d-%Y %H:%M}."
@ -652,34 +701,34 @@ msgstr ""
"Vous ne pouvez plus envoyer vos notes de synthèse pour le second tour. " "Vous ne pouvez plus envoyer vos notes de synthèse pour le second tour. "
"Deadline : {date:%d/%m/%Y %h:%M}." "Deadline : {date:%d/%m/%Y %h:%M}."
#: apps/tournament/views.py:413 #: apps/tournament/views.py:494
msgid "All syntheses" msgid "All syntheses"
msgstr "Toutes les notes de synthèses" msgstr "Toutes les notes de synthèses"
#: apps/tournament/views.py:432 #: apps/tournament/views.py:513
#, python-brace-format #, python-brace-format
msgid "Syntheses for tournament {tournament}.zip" msgid "Syntheses for tournament {tournament}.zip"
msgstr "Notes de synthèse pour le tournoi {tournament}.zip" msgstr "Notes de synthèse pour le tournoi {tournament}.zip"
#: apps/tournament/views.py:457 templates/base.html:133 #: apps/tournament/views.py:542 templates/base.html:133
msgid "Pools" msgid "Pools"
msgstr "Poules" msgstr "Poules"
#: apps/tournament/views.py:474 #: apps/tournament/views.py:563
msgid "Create pool" msgid "Create pool"
msgstr "Créer une poule" msgstr "Créer une poule"
#: apps/tournament/views.py:482 #: apps/tournament/views.py:580
msgid "Pool detail" msgid "Pool detail"
msgstr "Détails d'une poule" msgstr "Détails d'une poule"
#: apps/tournament/views.py:511 #: apps/tournament/views.py:609
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Solutions of a pool for the round {round} of the tournament {tournament}.zip" "Solutions of a pool for the round {round} of the tournament {tournament}.zip"
msgstr "Solutions d'une poule du tour {round} du tournoi {tournament}.zip" msgstr "Solutions d'une poule du tour {round} du tournoi {tournament}.zip"
#: apps/tournament/views.py:528 #: apps/tournament/views.py:626
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Syntheses of a pool for the round {round} of the tournament {tournament}.zip" "Syntheses of a pool for the round {round} of the tournament {tournament}.zip"

View File

@ -5,7 +5,7 @@
{% block content %} {% block content %}
<div class="card bg-light shadow"> <div class="card bg-light shadow">
<div class="card-header text-center"> <div class="card-header text-center">
<h4>{{ user }}</h4> <h4>{{ tfjmuser }}</h4>
</div> </div>
<div class="card-body"> <div class="card-body">
<dl class="row"> <dl class="row">