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',)
def __str__(self):
return _("Solution of team {trigram} for problem {problem}")\
.format(trigram=self.team.trigram, problem=self.problem)
if self.final:
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):

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.
"""
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["admin"] = request.user.pk
obj = self.get_object()

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: TFJM2\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"
"Last-Translator: Yohann D'ANELLO <yohann.danello@animath.fr>\n"
"Language-Team: fr <LL@li.org>\n"
@ -18,253 +18,266 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: apps/api/apps.py:7
#: apps/api/apps.py:10
msgid "API"
msgstr "API"
#: apps/member/apps.py:7
#: apps/member/apps.py:10
msgid "member"
msgstr "membre"
#: apps/member/forms.py:14
#: apps/member/forms.py:18
msgid "Choose a role..."
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"
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"
msgstr "Adresse électronique"
#: apps/member/models.py:26 apps/member/models.py:218 apps/member/models.py:234
#: apps/member/models.py:265 apps/tournament/models.py:221
#: apps/tournament/models.py:295 templates/member/tfjmuser_detail.html:16
#: apps/member/models.py:22
msgid "This should be valid and will be controlled."
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"
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"
msgstr "date de naissance"
#: apps/member/models.py:40
#: apps/member/models.py:45
msgid "Male"
msgstr "Homme"
#: apps/member/models.py:41
#: apps/member/models.py:46
msgid "Female"
msgstr "Femme"
#: apps/member/models.py:42
#: apps/member/models.py:47
msgid "Non binary"
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"
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"
msgstr "adresse"
#: apps/member/models.py:57
#: apps/member/models.py:62
msgid "postal code"
msgstr "code postal"
#: apps/member/models.py:64
#: apps/member/models.py:69
msgid "city"
msgstr "ville"
#: apps/member/models.py:71
#: apps/member/models.py:76
msgid "country"
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"
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"
msgstr "école"
#: apps/member/models.py:92
#: apps/member/models.py:97
msgid "Seconde or less"
msgstr "Seconde ou inférieur"
#: apps/member/models.py:93
#: apps/member/models.py:98
msgid "Première"
msgstr "Première"
#: apps/member/models.py:94
#: apps/member/models.py:99
msgid "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"
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"
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"
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/tournament/tournament_detail.html:42
msgid "description"
msgstr "description"
#: apps/member/models.py:130
#: apps/member/models.py:135
msgid "Admin"
msgstr "Administrateur"
#: apps/member/models.py:131
#: apps/member/models.py:136
msgid "Organizer"
msgstr "Organisateur"
#: apps/member/models.py:132
msgid "Coach"
msgstr "Encadrant"
#: apps/member/models.py:139 apps/tournament/models.py:81
#: apps/tournament/models.py:178
#: apps/member/models.py:144 apps/tournament/models.py:89
#: apps/tournament/models.py:214
msgid "year"
msgstr "année"
#: apps/member/models.py:155 apps/member/models.py:191
#: apps/tournament/models.py:288
#: apps/member/models.py:171 apps/member/models.py:214
#: apps/tournament/models.py:378
msgid "user"
msgstr "utilisateur"
#: apps/member/models.py:156
#: apps/member/models.py:172
msgid "users"
msgstr "utilisateurs"
#: apps/member/models.py:169
#: apps/member/models.py:189
msgid "file"
msgstr "fichier"
#: apps/member/models.py:174
#: apps/member/models.py:194
msgid "uploaded at"
msgstr "téléversé le"
#: apps/member/models.py:178
#: apps/member/models.py:198
msgid "document"
msgstr "document"
#: apps/member/models.py:179
#: apps/member/models.py:199
msgid "documents"
msgstr "documents"
#: apps/member/models.py:197
#: apps/member/models.py:220
msgid "Parental consent"
msgstr "Autorisation parentale"
#: apps/member/models.py:198
#: apps/member/models.py:221
msgid "Photo consent"
msgstr "Autorisation de droit à l'image"
#: apps/member/models.py:199
#: apps/member/models.py:222
msgid "Sanitary plug"
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"
msgstr "Bourse"
#: apps/member/models.py:202
#: apps/member/models.py:225
msgid "type"
msgstr "type"
#: apps/member/models.py:206
#: apps/member/models.py:229
msgid "authorization"
msgstr "autorisation"
#: apps/member/models.py:207
#: apps/member/models.py:230
msgid "authorizations"
msgstr "autorisations"
#: apps/member/models.py:210
#: apps/member/models.py:233
#, python-brace-format
msgid "{authorization} for user {user}"
msgstr "{authorization} pour l'utilisateur {user}"
#: apps/member/models.py:222
#: apps/member/models.py:248
msgid "motivation letter"
msgstr "lettre de motivation"
#: apps/member/models.py:223
#: apps/member/models.py:249
msgid "motivation letters"
msgstr "lettres de motivation"
#: apps/member/models.py:226
#: apps/member/models.py:252
#, python-brace-format
msgid "Motivation letter of team {team} ({trigram})"
msgstr "Lettre de motivation de l'équipe {team} ({trigram})"
#: apps/member/models.py:238
#: apps/member/models.py:267
msgid "problem"
msgstr "problème"
#: apps/member/models.py:243
#: apps/member/models.py:272
msgid "final solution"
msgstr "solution pour la finale"
#: apps/member/models.py:251
#: apps/member/models.py:285
msgid "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"
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
msgid "Solution of team {trigram} for problem {problem}"
msgstr "Solution de l'équipe {trigram} pour le problème {problem}"
#: apps/member/models.py:271
#: apps/member/models.py:312
msgid "Opponent"
msgstr "Opposant"
#: apps/member/models.py:272
#: apps/member/models.py:313
msgid "Rapporteur"
msgstr "Rapporteur"
#: apps/member/models.py:274
#: apps/member/models.py:315
msgid "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"
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"
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
msgid "round"
msgstr "tour"
#: apps/member/models.py:287
#: apps/member/models.py:328
msgid "final synthesis"
msgstr "synthèse pour la finale"
#: apps/member/models.py:295
#: apps/member/models.py:341
msgid "synthesis"
msgstr "synthèse"
#: apps/member/models.py:296
#: apps/member/models.py:342
msgid "syntheses"
msgstr "synthèses"
#: apps/member/models.py:300
#: apps/member/models.py:346
#, python-brace-format
msgid ""
"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 "
"tournoi {tournament}"
#: apps/member/models.py:309
#: apps/member/models.py:358
msgid "key"
msgstr "clé"
#: apps/member/models.py:314
#: apps/member/models.py:363
msgid "value"
msgstr "valeur"
#: apps/member/models.py:318
#: apps/member/models.py:367
msgid "configuration"
msgstr "configuration"
#: apps/member/models.py:319
#: apps/member/models.py:368
msgid "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."
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."
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."
msgstr "Cette équipe est pleine en encadrants."
#: apps/member/views.py:130
#: apps/member/views.py:152
msgid "This team is full of 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"
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"
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"
msgstr "Organisateurs"
#: apps/tournament/apps.py:7 apps/tournament/models.py:110
#: apps/tournament/models.py:147 apps/tournament/tables.py:94
#: apps/tournament/apps.py:10 apps/tournament/models.py:134
#: apps/tournament/models.py:182 apps/tournament/tables.py:110
#: templates/tournament/pool_detail.html:21
#: templates/tournament/team_detail.html:21
msgid "tournament"
msgstr "tournoi"
#: apps/tournament/forms.py:25
#: apps/tournament/forms.py:30
msgid "This tournament already exists."
msgstr "Ce tournoi existe déjà."
#: apps/tournament/forms.py:27
#: apps/tournament/forms.py:32
msgid "The final tournament was already defined."
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."
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."
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."
msgstr "Ce trigramme est déjà utilisé."
#: apps/tournament/forms.py:88
#: apps/tournament/forms.py:100
msgid "This name is already used."
msgstr "Ce nom est déjà utilisé."
#: apps/tournament/forms.py:91
#: apps/tournament/forms.py:103
msgid "This tournament is already closed."
msgstr "Ce tournoi est déjà fermé."
#: apps/tournament/forms.py:98
#: apps/tournament/forms.py:114
msgid "Access code"
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."
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."
msgstr "Ce code d'accès est invalide."
#: apps/tournament/forms.py:113
#: apps/tournament/forms.py:129
msgid "The team is already validated."
msgstr "L'équipe est déjà validée."
#: apps/tournament/forms.py:121
#: apps/tournament/forms.py:141
msgid "Problem"
msgstr "Problème"
#: apps/tournament/forms.py:122
#: apps/tournament/forms.py:142
#, python-brace-format
msgid "Problem #{problem:d}"
msgstr "Problème n°{problem:d}"
#: apps/tournament/forms.py:139 apps/tournament/forms.py:152
#: apps/tournament/forms.py:165
#: apps/tournament/forms.py:168 apps/tournament/forms.py:181
#: apps/tournament/forms.py:194
msgid "Choose a team..."
msgstr "Choisir une équipe ..."
#: apps/tournament/forms.py:140
#: apps/tournament/forms.py:169
msgid "Team 1"
msgstr "Équipe 1"
#: apps/tournament/forms.py:147
#: apps/tournament/forms.py:176
msgid "Problem defended by team 1"
msgstr "Problème défendu par l'équipe 1"
#: apps/tournament/forms.py:153
#: apps/tournament/forms.py:182
msgid "Team 2"
msgstr "Équipe 2"
#: apps/tournament/forms.py:160
#: apps/tournament/forms.py:189
msgid "Problem defended by team 2"
msgstr "Problème défendu par l'équipe 2"
#: apps/tournament/forms.py:166
#: apps/tournament/forms.py:195
msgid "Team 3"
msgstr "Équipe 3"
#: apps/tournament/forms.py:173
#: apps/tournament/forms.py:202
msgid "Problem defended by team 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
msgid "name"
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"
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"
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"
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"
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"
msgstr "date de début"
#: apps/tournament/models.py:47
#: apps/tournament/models.py:54
msgid "date end"
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"
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"
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"
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"
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"
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"
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"
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"
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"
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"
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"
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"
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
msgid "validation status"
msgstr "statut de validation"
#: apps/tournament/models.py:167
#: apps/tournament/models.py:203
msgid "selected for final"
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"
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
msgid "teams"
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"
msgstr "jurys"
#: apps/tournament/models.py:279
#: apps/tournament/models.py:365
msgid "pool"
msgstr "poule"
#: apps/tournament/models.py:280
#: apps/tournament/models.py:366
msgid "pools"
msgstr "poules"
#: apps/tournament/models.py:301
#: apps/tournament/models.py:391
msgid "Not paid"
msgstr "Non payé"
#: apps/tournament/models.py:302
#: apps/tournament/models.py:392
msgid "Credit card"
msgstr "Carte bancaire"
#: apps/tournament/models.py:303
#: apps/tournament/models.py:393
msgid "Bank check"
msgstr "Chèque bancaire"
#: apps/tournament/models.py:304
#: apps/tournament/models.py:394
msgid "Bank transfer"
msgstr "Virement bancaire"
#: apps/tournament/models.py:305
#: apps/tournament/models.py:395
msgid "Cash"
msgstr "Espèces"
#: apps/tournament/models.py:309
#: apps/tournament/models.py:399
msgid "payment method"
msgstr "moyen de paiement"
#: apps/tournament/models.py:323
#: apps/tournament/models.py:413
msgid "payment"
msgstr "paiement"
#: apps/tournament/models.py:324
#: apps/tournament/models.py:414
msgid "payments"
msgstr "paiements"
#: apps/tournament/models.py:327
#: apps/tournament/models.py:417
#, python-brace-format
msgid "Payment of {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"
msgstr "dates"
#: apps/tournament/tables.py:22
#: apps/tournament/tables.py:26
msgid "From {start:%b %d %Y} to {end:%b %d %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"
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:144
msgid "Download"
msgstr "Télécharger"
#: apps/tournament/tables.py:120
#: apps/tournament/tables.py:140
msgid "Problems"
msgstr "Problèmes"
#: apps/tournament/views.py:50
#: apps/tournament/views.py:66
msgid "Tournaments list"
msgstr "Liste des tournois"
#: apps/tournament/views.py:69
#: apps/tournament/views.py:89
msgid "Add tournament"
msgstr "Ajouter un tournoi"
#: apps/tournament/views.py:81
#: apps/tournament/views.py:106
#, python-brace-format
msgid "Tournament of {name}"
msgstr "Tournoi de {name}"
#: apps/tournament/views.py:102
#: apps/tournament/views.py:140
msgid "Update tournament"
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
msgid "Solutions for team {team}.zip"
msgstr "Solutions pour l'équipe {team}.zip"
#: apps/tournament/views.py:189
#: apps/tournament/views.py:243
msgid "Information about team"
msgstr "Informations sur l'équipe"
#: apps/tournament/views.py:199
#: apps/tournament/views.py:258
msgid "Update team"
msgstr "Modifier l'équipe"
#: apps/tournament/views.py:211
#: apps/tournament/views.py:276
msgid "Add organizer"
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
msgid "Solutions"
msgstr "Solutions"
#: apps/tournament/views.py:270
#: apps/tournament/views.py:339
msgid ""
"You can't publish your solution anymore. Deadline: {date:%m-%d-%Y %H:%M}."
msgstr ""
"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"
msgstr "Toutes les solutions"
#: apps/tournament/views.py:313
#: apps/tournament/views.py:387
#, python-brace-format
msgid "Solutions for tournament {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
msgid "Syntheses"
msgstr "Synthèses"
#: apps/tournament/views.py:356
#: apps/tournament/views.py:433
#, python-brace-format
msgid "Syntheses for team {team}.zip"
msgstr "Notes de synthèse de l'équipe {team}.zip"
#: apps/tournament/views.py:381
#: apps/tournament/views.py:458
msgid ""
"You can't publish your synthesis anymore for the first round. Deadline: "
"{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. "
"Deadline : {date:%d/%m/%Y %h:%M}."
#: apps/tournament/views.py:387
#: apps/tournament/views.py:464
msgid ""
"You can't publish your synthesis anymore for the second round. Deadline: "
"{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. "
"Deadline : {date:%d/%m/%Y %h:%M}."
#: apps/tournament/views.py:413
#: apps/tournament/views.py:494
msgid "All syntheses"
msgstr "Toutes les notes de synthèses"
#: apps/tournament/views.py:432
#: apps/tournament/views.py:513
#, python-brace-format
msgid "Syntheses for tournament {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"
msgstr "Poules"
#: apps/tournament/views.py:474
#: apps/tournament/views.py:563
msgid "Create pool"
msgstr "Créer une poule"
#: apps/tournament/views.py:482
#: apps/tournament/views.py:580
msgid "Pool detail"
msgstr "Détails d'une poule"
#: apps/tournament/views.py:511
#: apps/tournament/views.py:609
#, python-brace-format
msgid ""
"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"
#: apps/tournament/views.py:528
#: apps/tournament/views.py:626
#, python-brace-format
msgid ""
"Syntheses of a pool for the round {round} of the tournament {tournament}.zip"

View File

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