mirror of
https://gitlab.com/animath/si/plateforme.git
synced 2024-12-25 06:22:22 +00:00
Support penalties
This commit is contained in:
parent
d093414ec7
commit
0576f3e32b
@ -0,0 +1,18 @@
|
|||||||
|
# Generated by Django 3.1.7 on 2021-04-03 19:57
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('participation', '0003_tournament_remote'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='passage',
|
||||||
|
name='defender_penalties',
|
||||||
|
field=models.PositiveSmallIntegerField(default=0, help_text='Number of penalties for the defender. The defender will loose a 0.5 coefficient per penalty.', verbose_name='penalties'),
|
||||||
|
),
|
||||||
|
]
|
@ -432,6 +432,13 @@ class Passage(models.Model):
|
|||||||
related_name="+",
|
related_name="+",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
defender_penalties = models.PositiveSmallIntegerField(
|
||||||
|
verbose_name=_("penalties"),
|
||||||
|
default=0,
|
||||||
|
help_text=_("Number of penalties for the defender. "
|
||||||
|
"The defender will loose a 0.5 coefficient per penalty."),
|
||||||
|
)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def defended_solution(self) -> "Solution":
|
def defended_solution(self) -> "Solution":
|
||||||
return Solution.objects.get(
|
return Solution.objects.get(
|
||||||
@ -439,44 +446,44 @@ class Passage(models.Model):
|
|||||||
problem=self.solution_number,
|
problem=self.solution_number,
|
||||||
final_solution=self.pool.tournament.final)
|
final_solution=self.pool.tournament.final)
|
||||||
|
|
||||||
def avg(self, iterator) -> int:
|
def avg(self, iterator) -> float:
|
||||||
items = [i for i in iterator if i]
|
items = [i for i in iterator if i]
|
||||||
return sum(items) / len(items) if items else 0
|
return sum(items) / len(items) if items else 0
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def average_defender_writing(self) -> int:
|
def average_defender_writing(self) -> float:
|
||||||
return self.avg(note.defender_writing for note in self.notes.all())
|
return self.avg(note.defender_writing for note in self.notes.all())
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def average_defender_oral(self) -> int:
|
def average_defender_oral(self) -> float:
|
||||||
return self.avg(note.defender_oral for note in self.notes.all())
|
return self.avg(note.defender_oral for note in self.notes.all())
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def average_defender(self) -> int:
|
def average_defender(self) -> float:
|
||||||
return self.average_defender_writing + 2 * self.average_defender_oral
|
return self.average_defender_writing + (2 - 0.5 * self.defender_penalties) * self.average_defender_oral
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def average_opponent_writing(self) -> int:
|
def average_opponent_writing(self) -> float:
|
||||||
return self.avg(note.opponent_writing for note in self.notes.all())
|
return self.avg(note.opponent_writing for note in self.notes.all())
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def average_opponent_oral(self) -> int:
|
def average_opponent_oral(self) -> float:
|
||||||
return self.avg(note.opponent_oral for note in self.notes.all())
|
return self.avg(note.opponent_oral for note in self.notes.all())
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def average_opponent(self) -> int:
|
def average_opponent(self) -> float:
|
||||||
return self.average_opponent_writing + 2 * self.average_opponent_oral
|
return self.average_opponent_writing + 2 * self.average_opponent_oral
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def average_reporter_writing(self) -> int:
|
def average_reporter_writing(self) -> float:
|
||||||
return self.avg(note.reporter_writing for note in self.notes.all())
|
return self.avg(note.reporter_writing for note in self.notes.all())
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def average_reporter_oral(self) -> int:
|
def average_reporter_oral(self) -> float:
|
||||||
return self.avg(note.reporter_oral for note in self.notes.all())
|
return self.avg(note.reporter_oral for note in self.notes.all())
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def average_reporter(self) -> int:
|
def average_reporter(self) -> float:
|
||||||
return self.average_reporter_writing + self.average_reporter_oral
|
return self.average_reporter_writing + self.average_reporter_oral
|
||||||
|
|
||||||
def average(self, participation):
|
def average(self, participation):
|
||||||
|
@ -28,6 +28,9 @@
|
|||||||
<dt class="col-sm-3">{% trans "Place:" %}</dt>
|
<dt class="col-sm-3">{% trans "Place:" %}</dt>
|
||||||
<dd class="col-sm-9">{{ passage.place }}</dd>
|
<dd class="col-sm-9">{{ passage.place }}</dd>
|
||||||
|
|
||||||
|
<dt class="col-sm-3">{% trans "Defender penalties count:" %}</dt>
|
||||||
|
<dd class="col-sm-9">{{ passage.defender_penalties }}</dd>
|
||||||
|
|
||||||
<dt class="col-sm-3">{% trans "Syntheses:" %}</dt>
|
<dt class="col-sm-3">{% trans "Syntheses:" %}</dt>
|
||||||
<dd class="col-sm-9">
|
<dd class="col-sm-9">
|
||||||
{% for synthesis in passage.syntheses.all %}
|
{% for synthesis in passage.syntheses.all %}
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: TFJM\n"
|
"Project-Id-Version: TFJM\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2021-03-15 10:16+0100\n"
|
"POT-Creation-Date: 2021-04-03 21:58+0200\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: Yohann D'ANELLO <yohann.danello@animath.fr>\n"
|
"Last-Translator: Yohann D'ANELLO <yohann.danello@animath.fr>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
@ -286,8 +286,8 @@ msgstr "L'équipe est sélectionnée pour la finale."
|
|||||||
msgid "Participation of the team {name} ({trigram})"
|
msgid "Participation of the team {name} ({trigram})"
|
||||||
msgstr "Participation de l'équipe {name} ({trigram})"
|
msgstr "Participation de l'équipe {name} ({trigram})"
|
||||||
|
|
||||||
#: apps/participation/models.py:331 apps/participation/models.py:523
|
#: apps/participation/models.py:331 apps/participation/models.py:530
|
||||||
#: apps/participation/models.py:561
|
#: apps/participation/models.py:568
|
||||||
msgid "participation"
|
msgid "participation"
|
||||||
msgstr "participation"
|
msgstr "participation"
|
||||||
|
|
||||||
@ -337,7 +337,7 @@ msgstr "Où est-ce que les solutions sont défendues ?"
|
|||||||
msgid "defended solution"
|
msgid "defended solution"
|
||||||
msgstr "solution défendue"
|
msgstr "solution défendue"
|
||||||
|
|
||||||
#: apps/participation/models.py:410 apps/participation/models.py:530
|
#: apps/participation/models.py:410 apps/participation/models.py:537
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Problem #{problem}"
|
msgid "Problem #{problem}"
|
||||||
msgstr "Problème n°{problem}"
|
msgstr "Problème n°{problem}"
|
||||||
@ -346,110 +346,122 @@ msgstr "Problème n°{problem}"
|
|||||||
msgid "defender"
|
msgid "defender"
|
||||||
msgstr "défenseur"
|
msgstr "défenseur"
|
||||||
|
|
||||||
#: apps/participation/models.py:424 apps/participation/models.py:573
|
#: apps/participation/models.py:424 apps/participation/models.py:580
|
||||||
msgid "opponent"
|
msgid "opponent"
|
||||||
msgstr "opposant"
|
msgstr "opposant"
|
||||||
|
|
||||||
#: apps/participation/models.py:431 apps/participation/models.py:574
|
#: apps/participation/models.py:431 apps/participation/models.py:581
|
||||||
msgid "reporter"
|
msgid "reporter"
|
||||||
msgstr "rapporteur"
|
msgstr "rapporteur"
|
||||||
|
|
||||||
#: apps/participation/models.py:491 apps/participation/models.py:494
|
#: apps/participation/models.py:436
|
||||||
#: apps/participation/models.py:497
|
msgid "penalties"
|
||||||
|
msgstr "pénalités"
|
||||||
|
|
||||||
|
#: apps/participation/models.py:438
|
||||||
|
msgid ""
|
||||||
|
"Number of penalties for the defender. The defender will loose a 0.5 "
|
||||||
|
"coefficient per penalty."
|
||||||
|
msgstr ""
|
||||||
|
"Nombre de pénalités pour le défenseur. Le défenseur perd un coefficient 0.5 "
|
||||||
|
"sur sa solution écrite par pénalité."
|
||||||
|
|
||||||
|
#: apps/participation/models.py:498 apps/participation/models.py:501
|
||||||
|
#: apps/participation/models.py:504
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Team {trigram} is not registered in the pool."
|
msgid "Team {trigram} is not registered in the pool."
|
||||||
msgstr "L'équipe {trigram} n'est pas inscrite dans la poule."
|
msgstr "L'équipe {trigram} n'est pas inscrite dans la poule."
|
||||||
|
|
||||||
#: apps/participation/models.py:502
|
#: apps/participation/models.py:509
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Passage of {defender} for problem {problem}"
|
msgid "Passage of {defender} for problem {problem}"
|
||||||
msgstr "Passage de {defender} pour le problème {problem}"
|
msgstr "Passage de {defender} pour le problème {problem}"
|
||||||
|
|
||||||
#: apps/participation/models.py:506 apps/participation/models.py:568
|
#: apps/participation/models.py:513 apps/participation/models.py:575
|
||||||
#: apps/participation/models.py:606
|
#: apps/participation/models.py:613
|
||||||
msgid "passage"
|
msgid "passage"
|
||||||
msgstr "passage"
|
msgstr "passage"
|
||||||
|
|
||||||
#: apps/participation/models.py:507
|
#: apps/participation/models.py:514
|
||||||
msgid "passages"
|
msgid "passages"
|
||||||
msgstr "passages"
|
msgstr "passages"
|
||||||
|
|
||||||
#: apps/participation/models.py:528
|
#: apps/participation/models.py:535
|
||||||
msgid "problem"
|
msgid "problem"
|
||||||
msgstr "numéro de problème"
|
msgstr "numéro de problème"
|
||||||
|
|
||||||
#: apps/participation/models.py:535
|
#: apps/participation/models.py:542
|
||||||
msgid "solution for the final tournament"
|
msgid "solution for the final tournament"
|
||||||
msgstr "solution pour la finale"
|
msgstr "solution pour la finale"
|
||||||
|
|
||||||
#: apps/participation/models.py:540 apps/participation/models.py:579
|
#: apps/participation/models.py:547 apps/participation/models.py:586
|
||||||
msgid "file"
|
msgid "file"
|
||||||
msgstr "fichier"
|
msgstr "fichier"
|
||||||
|
|
||||||
#: apps/participation/models.py:548
|
#: apps/participation/models.py:555
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Solution of team {team} for problem {problem}"
|
msgid "Solution of team {team} for problem {problem}"
|
||||||
msgstr "Solution de l'équipe {team} pour le problème {problem}"
|
msgstr "Solution de l'équipe {team} pour le problème {problem}"
|
||||||
|
|
||||||
#: apps/participation/models.py:552
|
#: apps/participation/models.py:559
|
||||||
msgid "solution"
|
msgid "solution"
|
||||||
msgstr "solution"
|
msgstr "solution"
|
||||||
|
|
||||||
#: apps/participation/models.py:553
|
#: apps/participation/models.py:560
|
||||||
msgid "solutions"
|
msgid "solutions"
|
||||||
msgstr "solutions"
|
msgstr "solutions"
|
||||||
|
|
||||||
#: apps/participation/models.py:587
|
#: apps/participation/models.py:594
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Synthesis for the {type} of the {passage}"
|
msgid "Synthesis for the {type} of the {passage}"
|
||||||
msgstr "Synthèse pour {type} du {passage}"
|
msgstr "Synthèse pour {type} du {passage}"
|
||||||
|
|
||||||
#: apps/participation/models.py:590
|
#: apps/participation/models.py:597
|
||||||
msgid "synthesis"
|
msgid "synthesis"
|
||||||
msgstr "note de synthèse"
|
msgstr "note de synthèse"
|
||||||
|
|
||||||
#: apps/participation/models.py:591
|
#: apps/participation/models.py:598
|
||||||
msgid "syntheses"
|
msgid "syntheses"
|
||||||
msgstr "notes de synthèse"
|
msgstr "notes de synthèse"
|
||||||
|
|
||||||
#: apps/participation/models.py:599
|
#: apps/participation/models.py:606
|
||||||
msgid "jury"
|
msgid "jury"
|
||||||
msgstr "jury"
|
msgstr "jury"
|
||||||
|
|
||||||
#: apps/participation/models.py:611
|
#: apps/participation/models.py:618
|
||||||
msgid "defender writing note"
|
msgid "defender writing note"
|
||||||
msgstr "note d'écrit du défenseur"
|
msgstr "note d'écrit du défenseur"
|
||||||
|
|
||||||
#: apps/participation/models.py:617
|
#: apps/participation/models.py:624
|
||||||
msgid "defender oral note"
|
msgid "defender oral note"
|
||||||
msgstr "note d'oral du défenseur"
|
msgstr "note d'oral du défenseur"
|
||||||
|
|
||||||
#: apps/participation/models.py:623
|
#: apps/participation/models.py:630
|
||||||
msgid "opponent writing note"
|
msgid "opponent writing note"
|
||||||
msgstr "note d'écrit de l'opposant"
|
msgstr "note d'écrit de l'opposant"
|
||||||
|
|
||||||
#: apps/participation/models.py:629
|
#: apps/participation/models.py:636
|
||||||
msgid "opponent oral note"
|
msgid "opponent oral note"
|
||||||
msgstr "note d'oral de l'opposant"
|
msgstr "note d'oral de l'opposant"
|
||||||
|
|
||||||
#: apps/participation/models.py:635
|
#: apps/participation/models.py:642
|
||||||
msgid "reporter writing note"
|
msgid "reporter writing note"
|
||||||
msgstr "not d'écrit du rapporteur"
|
msgstr "not d'écrit du rapporteur"
|
||||||
|
|
||||||
#: apps/participation/models.py:641
|
#: apps/participation/models.py:648
|
||||||
msgid "reporter oral note"
|
msgid "reporter oral note"
|
||||||
msgstr "note d'oral du rapporteur"
|
msgstr "note d'oral du rapporteur"
|
||||||
|
|
||||||
#: apps/participation/models.py:650
|
#: apps/participation/models.py:657
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Notes of {jury} for {passage}"
|
msgid "Notes of {jury} for {passage}"
|
||||||
msgstr "Notes de {jury} pour le {passage}"
|
msgstr "Notes de {jury} pour le {passage}"
|
||||||
|
|
||||||
#: apps/participation/models.py:657
|
#: apps/participation/models.py:664
|
||||||
msgid "note"
|
msgid "note"
|
||||||
msgstr "note"
|
msgstr "note"
|
||||||
|
|
||||||
#: apps/participation/models.py:658
|
#: apps/participation/models.py:665
|
||||||
msgid "notes"
|
msgid "notes"
|
||||||
msgstr "notes"
|
msgstr "notes"
|
||||||
|
|
||||||
@ -524,14 +536,14 @@ msgid "Join"
|
|||||||
msgstr "Rejoindre"
|
msgstr "Rejoindre"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/note_form.html:11
|
#: apps/participation/templates/participation/note_form.html:11
|
||||||
#: apps/participation/templates/participation/passage_detail.html:44
|
#: apps/participation/templates/participation/passage_detail.html:47
|
||||||
#: apps/participation/templates/participation/passage_detail.html:100
|
#: apps/participation/templates/participation/passage_detail.html:103
|
||||||
#: apps/participation/templates/participation/passage_detail.html:105
|
#: apps/participation/templates/participation/passage_detail.html:108
|
||||||
#: apps/participation/templates/participation/pool_detail.html:55
|
#: apps/participation/templates/participation/pool_detail.html:55
|
||||||
#: apps/participation/templates/participation/pool_detail.html:73
|
#: apps/participation/templates/participation/pool_detail.html:73
|
||||||
#: apps/participation/templates/participation/pool_detail.html:78
|
#: apps/participation/templates/participation/pool_detail.html:78
|
||||||
#: apps/participation/templates/participation/team_detail.html:111
|
#: apps/participation/templates/participation/team_detail.html:113
|
||||||
#: apps/participation/templates/participation/team_detail.html:175
|
#: apps/participation/templates/participation/team_detail.html:177
|
||||||
#: apps/participation/templates/participation/tournament_form.html:12
|
#: apps/participation/templates/participation/tournament_form.html:12
|
||||||
#: apps/participation/templates/participation/update_team.html:12
|
#: apps/participation/templates/participation/update_team.html:12
|
||||||
#: apps/registration/templates/registration/payment_form.html:49
|
#: apps/registration/templates/registration/payment_form.html:49
|
||||||
@ -585,8 +597,8 @@ msgid "Upload solution"
|
|||||||
msgstr "Envoyer une solution"
|
msgstr "Envoyer une solution"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/participation_detail.html:50
|
#: apps/participation/templates/participation/participation_detail.html:50
|
||||||
#: apps/participation/templates/participation/passage_detail.html:110
|
#: apps/participation/templates/participation/passage_detail.html:113
|
||||||
#: apps/participation/templates/participation/team_detail.html:170
|
#: apps/participation/templates/participation/team_detail.html:172
|
||||||
#: apps/participation/templates/participation/upload_motivation_letter.html:13
|
#: apps/participation/templates/participation/upload_motivation_letter.html:13
|
||||||
#: apps/participation/templates/participation/upload_solution.html:11
|
#: apps/participation/templates/participation/upload_solution.html:11
|
||||||
#: apps/participation/templates/participation/upload_synthesis.html:11
|
#: apps/participation/templates/participation/upload_synthesis.html:11
|
||||||
@ -625,64 +637,68 @@ msgid "Place:"
|
|||||||
msgstr "Lieu :"
|
msgstr "Lieu :"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/passage_detail.html:31
|
#: apps/participation/templates/participation/passage_detail.html:31
|
||||||
|
msgid "Defender penalties count:"
|
||||||
|
msgstr "Nombre de pénalités :"
|
||||||
|
|
||||||
|
#: apps/participation/templates/participation/passage_detail.html:34
|
||||||
msgid "Syntheses:"
|
msgid "Syntheses:"
|
||||||
msgstr "Notes de synthèse :"
|
msgstr "Notes de synthèse :"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/passage_detail.html:36
|
#: apps/participation/templates/participation/passage_detail.html:39
|
||||||
msgid "No synthesis was uploaded yet."
|
msgid "No synthesis was uploaded yet."
|
||||||
msgstr "Aucune note de synthèse n'a encore été envoyée."
|
msgstr "Aucune note de synthèse n'a encore été envoyée."
|
||||||
|
|
||||||
#: apps/participation/templates/participation/passage_detail.html:43
|
#: apps/participation/templates/participation/passage_detail.html:46
|
||||||
#: apps/participation/templates/participation/passage_detail.html:104
|
#: apps/participation/templates/participation/passage_detail.html:107
|
||||||
msgid "Update notes"
|
msgid "Update notes"
|
||||||
msgstr "Modifier les notes"
|
msgstr "Modifier les notes"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/passage_detail.html:48
|
#: apps/participation/templates/participation/passage_detail.html:51
|
||||||
#: apps/participation/templates/participation/passage_detail.html:109
|
#: apps/participation/templates/participation/passage_detail.html:112
|
||||||
msgid "Upload synthesis"
|
msgid "Upload synthesis"
|
||||||
msgstr "Envoyer une note de synthèse"
|
msgstr "Envoyer une note de synthèse"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/passage_detail.html:56
|
#: apps/participation/templates/participation/passage_detail.html:59
|
||||||
msgid "Notes detail"
|
msgid "Notes detail"
|
||||||
msgstr "Détails des notes"
|
msgstr "Détails des notes"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/passage_detail.html:63
|
#: apps/participation/templates/participation/passage_detail.html:66
|
||||||
msgid "Average points for the defender writing:"
|
msgid "Average points for the defender writing:"
|
||||||
msgstr "Moyenne de l'écrit du défenseur :"
|
msgstr "Moyenne de l'écrit du défenseur :"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/passage_detail.html:66
|
#: apps/participation/templates/participation/passage_detail.html:69
|
||||||
msgid "Average points for the defender oral:"
|
msgid "Average points for the defender oral:"
|
||||||
msgstr "Moyenne de l'oral du défenseur :"
|
msgstr "Moyenne de l'oral du défenseur :"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/passage_detail.html:69
|
#: apps/participation/templates/participation/passage_detail.html:72
|
||||||
msgid "Average points for the opponent writing:"
|
msgid "Average points for the opponent writing:"
|
||||||
msgstr "Moyenne de l'écrit de l'opposant :"
|
msgstr "Moyenne de l'écrit de l'opposant :"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/passage_detail.html:72
|
#: apps/participation/templates/participation/passage_detail.html:75
|
||||||
msgid "Average points for the opponent oral:"
|
msgid "Average points for the opponent oral:"
|
||||||
msgstr "Moyenne de l'oral de l'opposant :"
|
msgstr "Moyenne de l'oral de l'opposant :"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/passage_detail.html:75
|
#: apps/participation/templates/participation/passage_detail.html:78
|
||||||
msgid "Average points for the reporter writing:"
|
msgid "Average points for the reporter writing:"
|
||||||
msgstr "Moyenne de l'écrit du rapporteur :"
|
msgstr "Moyenne de l'écrit du rapporteur :"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/passage_detail.html:78
|
#: apps/participation/templates/participation/passage_detail.html:81
|
||||||
msgid "Average points for the reporter oral:"
|
msgid "Average points for the reporter oral:"
|
||||||
msgstr "Moyenne de l'oral du rapporteur :"
|
msgstr "Moyenne de l'oral du rapporteur :"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/passage_detail.html:85
|
#: apps/participation/templates/participation/passage_detail.html:88
|
||||||
msgid "Defender points:"
|
msgid "Defender points:"
|
||||||
msgstr "Points du défenseur :"
|
msgstr "Points du défenseur :"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/passage_detail.html:88
|
#: apps/participation/templates/participation/passage_detail.html:91
|
||||||
msgid "Opponent points:"
|
msgid "Opponent points:"
|
||||||
msgstr "Points de l'opposant :"
|
msgstr "Points de l'opposant :"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/passage_detail.html:91
|
#: apps/participation/templates/participation/passage_detail.html:94
|
||||||
msgid "Reporter points:"
|
msgid "Reporter points:"
|
||||||
msgstr "Points du rapporteur :"
|
msgstr "Points du rapporteur :"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/passage_detail.html:99
|
#: apps/participation/templates/participation/passage_detail.html:102
|
||||||
#: apps/participation/templates/participation/passage_form.html:11
|
#: apps/participation/templates/participation/passage_form.html:11
|
||||||
msgid "Update passage"
|
msgid "Update passage"
|
||||||
msgstr "Modifier le passage"
|
msgstr "Modifier le passage"
|
||||||
@ -800,21 +816,21 @@ msgstr "Télécharger"
|
|||||||
msgid "Replace"
|
msgid "Replace"
|
||||||
msgstr "Remplacer"
|
msgstr "Remplacer"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/team_detail.html:106
|
#: apps/participation/templates/participation/team_detail.html:107
|
||||||
msgid "Download all submitted authorizations"
|
msgid "Download all submitted authorizations"
|
||||||
msgstr "Télécharger toutes les autorisations soumises"
|
msgstr "Télécharger toutes les autorisations soumises"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/team_detail.html:113
|
#: apps/participation/templates/participation/team_detail.html:115
|
||||||
#: apps/participation/templates/participation/team_detail.html:180
|
#: apps/participation/templates/participation/team_detail.html:182
|
||||||
#: apps/participation/templates/participation/team_leave.html:11
|
#: apps/participation/templates/participation/team_leave.html:11
|
||||||
msgid "Leave"
|
msgid "Leave"
|
||||||
msgstr "Quitter"
|
msgstr "Quitter"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/team_detail.html:123
|
#: apps/participation/templates/participation/team_detail.html:125
|
||||||
msgid "Access to team participation"
|
msgid "Access to team participation"
|
||||||
msgstr "Accéder à la participation de l'équipe"
|
msgstr "Accéder à la participation de l'équipe"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/team_detail.html:130
|
#: apps/participation/templates/participation/team_detail.html:132
|
||||||
msgid ""
|
msgid ""
|
||||||
"Your team has at least 4 members and a coach and all authorizations were "
|
"Your team has at least 4 members and a coach and all authorizations were "
|
||||||
"given: the team can be validated."
|
"given: the team can be validated."
|
||||||
@ -822,11 +838,11 @@ msgstr ""
|
|||||||
"Votre équipe contient au moins 4 personnes et un encadrant et toutes les "
|
"Votre équipe contient au moins 4 personnes et un encadrant et toutes les "
|
||||||
"autorisations ont été données : l'équipe peut être validée."
|
"autorisations ont été données : l'équipe peut être validée."
|
||||||
|
|
||||||
#: apps/participation/templates/participation/team_detail.html:135
|
#: apps/participation/templates/participation/team_detail.html:137
|
||||||
msgid "Submit my team to validation"
|
msgid "Submit my team to validation"
|
||||||
msgstr "Soumettre mon équipe à validation"
|
msgstr "Soumettre mon équipe à validation"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/team_detail.html:141
|
#: apps/participation/templates/participation/team_detail.html:143
|
||||||
msgid ""
|
msgid ""
|
||||||
"Your team must be composed of 4 members and a coach and each member must "
|
"Your team must be composed of 4 members and a coach and each member must "
|
||||||
"upload their authorizations and confirm its email address."
|
"upload their authorizations and confirm its email address."
|
||||||
@ -834,15 +850,15 @@ msgstr ""
|
|||||||
"Votre équipe doit être composée d'au moins 4 membres et un encadrant et "
|
"Votre équipe doit être composée d'au moins 4 membres et un encadrant et "
|
||||||
"chaque membre doit envoyer ses autorisations et confirmé son adresse e-mail."
|
"chaque membre doit envoyer ses autorisations et confirmé son adresse e-mail."
|
||||||
|
|
||||||
#: apps/participation/templates/participation/team_detail.html:146
|
#: apps/participation/templates/participation/team_detail.html:148
|
||||||
msgid "This team didn't ask for validation yet."
|
msgid "This team didn't ask for validation yet."
|
||||||
msgstr "L'équipe n'a pas encore demandé à être validée."
|
msgstr "L'équipe n'a pas encore demandé à être validée."
|
||||||
|
|
||||||
#: apps/participation/templates/participation/team_detail.html:152
|
#: apps/participation/templates/participation/team_detail.html:154
|
||||||
msgid "Your validation is pending."
|
msgid "Your validation is pending."
|
||||||
msgstr "Votre validation est en attente."
|
msgstr "Votre validation est en attente."
|
||||||
|
|
||||||
#: apps/participation/templates/participation/team_detail.html:156
|
#: apps/participation/templates/participation/team_detail.html:158
|
||||||
msgid ""
|
msgid ""
|
||||||
"The team requested to be validated. You may now control the authorizations "
|
"The team requested to be validated. You may now control the authorizations "
|
||||||
"and confirm that they can participate."
|
"and confirm that they can participate."
|
||||||
@ -850,25 +866,25 @@ msgstr ""
|
|||||||
"L'équipe a demandé à être validée. Vous pouvez désormais contrôler les "
|
"L'équipe a demandé à être validée. Vous pouvez désormais contrôler les "
|
||||||
"différentes autorisations et confirmer qu'elle peut participer."
|
"différentes autorisations et confirmer qu'elle peut participer."
|
||||||
|
|
||||||
#: apps/participation/templates/participation/team_detail.html:162
|
#: apps/participation/templates/participation/team_detail.html:164
|
||||||
msgid "Validate"
|
msgid "Validate"
|
||||||
msgstr "Valider"
|
msgstr "Valider"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/team_detail.html:163
|
#: apps/participation/templates/participation/team_detail.html:165
|
||||||
msgid "Invalidate"
|
msgid "Invalidate"
|
||||||
msgstr "Invalider"
|
msgstr "Invalider"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/team_detail.html:169
|
#: apps/participation/templates/participation/team_detail.html:171
|
||||||
#: apps/participation/views.py:323
|
#: apps/participation/views.py:323
|
||||||
msgid "Upload motivation letter"
|
msgid "Upload motivation letter"
|
||||||
msgstr "Envoyer la lettre de motivation"
|
msgstr "Envoyer la lettre de motivation"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/team_detail.html:174
|
#: apps/participation/templates/participation/team_detail.html:176
|
||||||
msgid "Update team"
|
msgid "Update team"
|
||||||
msgstr "Modifier l'équipe"
|
msgstr "Modifier l'équipe"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/team_detail.html:179
|
#: apps/participation/templates/participation/team_detail.html:181
|
||||||
#: apps/participation/views.py:424
|
#: apps/participation/views.py:423
|
||||||
msgid "Leave team"
|
msgid "Leave team"
|
||||||
msgstr "Quitter l'équipe"
|
msgstr "Quitter l'équipe"
|
||||||
|
|
||||||
@ -990,12 +1006,12 @@ msgstr "Vous êtes déjà dans une équipe."
|
|||||||
msgid "Join team"
|
msgid "Join team"
|
||||||
msgstr "Rejoindre une équipe"
|
msgstr "Rejoindre une équipe"
|
||||||
|
|
||||||
#: apps/participation/views.py:150 apps/participation/views.py:430
|
#: apps/participation/views.py:150 apps/participation/views.py:429
|
||||||
#: apps/participation/views.py:463
|
#: apps/participation/views.py:462
|
||||||
msgid "You are not in a team."
|
msgid "You are not in a team."
|
||||||
msgstr "Vous n'êtes pas dans une équipe."
|
msgstr "Vous n'êtes pas dans une équipe."
|
||||||
|
|
||||||
#: apps/participation/views.py:151 apps/participation/views.py:464
|
#: apps/participation/views.py:151 apps/participation/views.py:463
|
||||||
msgid "You don't participate, so you don't have any team."
|
msgid "You don't participate, so you don't have any team."
|
||||||
msgstr "Vous ne participez pas, vous n'avez donc pas d'équipe."
|
msgstr "Vous ne participez pas, vous n'avez donc pas d'équipe."
|
||||||
|
|
||||||
@ -1040,49 +1056,49 @@ msgstr "Vous devez spécifier si vous validez l'inscription ou non."
|
|||||||
msgid "Update team {trigram}"
|
msgid "Update team {trigram}"
|
||||||
msgstr "Mise à jour de l'équipe {trigram}"
|
msgstr "Mise à jour de l'équipe {trigram}"
|
||||||
|
|
||||||
#: apps/participation/views.py:361 apps/participation/views.py:410
|
#: apps/participation/views.py:361 apps/participation/views.py:409
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Motivation letter of {team}.{ext}"
|
msgid "Motivation letter of {team}.{ext}"
|
||||||
msgstr "Lettre de motivation de {team}.{ext}"
|
msgstr "Lettre de motivation de {team}.{ext}"
|
||||||
|
|
||||||
#: apps/participation/views.py:391
|
#: apps/participation/views.py:390
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Photo authorization of {participant}.{ext}"
|
msgid "Photo authorization of {participant}.{ext}"
|
||||||
msgstr "Autorisation de droit à l'image de {participant}.{ext}"
|
msgstr "Autorisation de droit à l'image de {participant}.{ext}"
|
||||||
|
|
||||||
#: apps/participation/views.py:397
|
#: apps/participation/views.py:396
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Parental authorization of {participant}.{ext}"
|
msgid "Parental authorization of {participant}.{ext}"
|
||||||
msgstr "Autorisation parentale de {participant}.{ext}"
|
msgstr "Autorisation parentale de {participant}.{ext}"
|
||||||
|
|
||||||
#: apps/participation/views.py:404
|
#: apps/participation/views.py:403
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Health sheet of {participant}.{ext}"
|
msgid "Health sheet of {participant}.{ext}"
|
||||||
msgstr "Fiche sanitaire de {participant}.{ext}"
|
msgstr "Fiche sanitaire de {participant}.{ext}"
|
||||||
|
|
||||||
#: apps/participation/views.py:414
|
#: apps/participation/views.py:413
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Photo authorizations of team {trigram}.zip"
|
msgid "Photo authorizations of team {trigram}.zip"
|
||||||
msgstr "Autorisations de droit à l'image de l'équipe {trigram}.zip"
|
msgstr "Autorisations de droit à l'image de l'équipe {trigram}.zip"
|
||||||
|
|
||||||
#: apps/participation/views.py:432
|
#: apps/participation/views.py:431
|
||||||
msgid "The team is already validated or the validation is pending."
|
msgid "The team is already validated or the validation is pending."
|
||||||
msgstr "La validation de l'équipe est déjà faite ou en cours."
|
msgstr "La validation de l'équipe est déjà faite ou en cours."
|
||||||
|
|
||||||
#: apps/participation/views.py:478
|
#: apps/participation/views.py:477
|
||||||
msgid "The team is not validated yet."
|
msgid "The team is not validated yet."
|
||||||
msgstr "L'équipe n'est pas encore validée."
|
msgstr "L'équipe n'est pas encore validée."
|
||||||
|
|
||||||
#: apps/participation/views.py:490
|
#: apps/participation/views.py:489
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Participation of team {trigram}"
|
msgid "Participation of team {trigram}"
|
||||||
msgstr "Participation de l'équipe {trigram}"
|
msgstr "Participation de l'équipe {trigram}"
|
||||||
|
|
||||||
#: apps/participation/views.py:579
|
#: apps/participation/views.py:578
|
||||||
msgid "You can't upload a solution after the deadline."
|
msgid "You can't upload a solution after the deadline."
|
||||||
msgstr "Vous ne pouvez pas envoyer de solution après la date limite."
|
msgstr "Vous ne pouvez pas envoyer de solution après la date limite."
|
||||||
|
|
||||||
#: apps/participation/views.py:760
|
#: apps/participation/views.py:759
|
||||||
msgid "You can't upload a synthesis after the deadline."
|
msgid "You can't upload a synthesis after the deadline."
|
||||||
msgstr "Vous ne pouvez pas envoyer de note de synthèse après la date limite."
|
msgstr "Vous ne pouvez pas envoyer de note de synthèse après la date limite."
|
||||||
|
|
||||||
@ -1490,11 +1506,11 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Vous pouvez payer par carte bancaire sur <a class=\"alert-link\" href="
|
"Vous pouvez payer par carte bancaire sur <a class=\"alert-link\" href="
|
||||||
"\"https://www.helloasso.com/associations/animath/evenements/"
|
"\"https://www.helloasso.com/associations/animath/evenements/"
|
||||||
"tfjm-2021\">notre page Hello Asso</a>. Pour rendre la validation du "
|
"tfjm-2021\">notre page Hello Asso</a>. Pour rendre la validation du paiement "
|
||||||
"paiement plus facile, <span class=\"text-danger\">merci d'utiliser la même "
|
"plus facile, <span class=\"text-danger\">merci d'utiliser la même adresse e-"
|
||||||
"adresse e-mail que vous utilisez sur cette plateforme.</span> La "
|
"mail que vous utilisez sur cette plateforme.</span> La vérification du "
|
||||||
"vérification du paiement sera faite automatiquement sous 10 minutes, vous "
|
"paiement sera faite automatiquement sous 10 minutes, vous n'avez pas "
|
||||||
"n'avez pas nécessairement besoin de remplir ce formulaire."
|
"nécessairement besoin de remplir ce formulaire."
|
||||||
|
|
||||||
#: apps/registration/templates/registration/payment_form.html:27
|
#: apps/registration/templates/registration/payment_form.html:27
|
||||||
msgid ""
|
msgid ""
|
||||||
|
Loading…
Reference in New Issue
Block a user