mirror of
https://gitlab.com/animath/si/plateforme.git
synced 2025-01-24 20:21:18 +00:00
Fix tests
This commit is contained in:
parent
d05a8339fe
commit
ef4d74545a
@ -1,5 +1,7 @@
|
|||||||
# Generated by Django 3.0.11 on 2020-12-30 12:02
|
# Generated by Django 3.0.11 on 2020-12-30 12:02
|
||||||
|
|
||||||
|
from datetime import date
|
||||||
|
|
||||||
import django.core.validators
|
import django.core.validators
|
||||||
from django.db import migrations, models
|
from django.db import migrations, models
|
||||||
import django.utils.timezone
|
import django.utils.timezone
|
||||||
@ -78,8 +80,8 @@ class Migration(migrations.Migration):
|
|||||||
fields=[
|
fields=[
|
||||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
('name', models.CharField(max_length=255, unique=True, verbose_name='name')),
|
('name', models.CharField(max_length=255, unique=True, verbose_name='name')),
|
||||||
('date_start', models.DateField(default=django.utils.timezone.now, verbose_name='start')),
|
('date_start', models.DateField(default=date.today, verbose_name='start')),
|
||||||
('date_end', models.DateField(default=django.utils.timezone.now, verbose_name='end')),
|
('date_end', models.DateField(default=date.today, verbose_name='end')),
|
||||||
('inscription_limit', models.DateTimeField(default=django.utils.timezone.now, verbose_name='limit date for registrations')),
|
('inscription_limit', models.DateTimeField(default=django.utils.timezone.now, verbose_name='limit date for registrations')),
|
||||||
('solution_limit', models.DateTimeField(default=django.utils.timezone.now, verbose_name='limit date to upload solutions')),
|
('solution_limit', models.DateTimeField(default=django.utils.timezone.now, verbose_name='limit date to upload solutions')),
|
||||||
('syntheses_first_phase_limit', models.DateTimeField(default=django.utils.timezone.now, verbose_name='limit date to upload the syntheses for the first phase')),
|
('syntheses_first_phase_limit', models.DateTimeField(default=django.utils.timezone.now, verbose_name='limit date to upload the syntheses for the first phase')),
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
# Copyright (C) 2020 by Animath
|
# Copyright (C) 2020 by Animath
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
from datetime import date
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from address.models import AddressField
|
from address.models import AddressField
|
||||||
@ -123,12 +124,12 @@ class Tournament(models.Model):
|
|||||||
|
|
||||||
date_start = models.DateField(
|
date_start = models.DateField(
|
||||||
verbose_name=_("start"),
|
verbose_name=_("start"),
|
||||||
default=timezone.now,
|
default=date.today,
|
||||||
)
|
)
|
||||||
|
|
||||||
date_end = models.DateField(
|
date_end = models.DateField(
|
||||||
verbose_name=_("end"),
|
verbose_name=_("end"),
|
||||||
default=timezone.now,
|
default=date.today,
|
||||||
)
|
)
|
||||||
|
|
||||||
place = AddressField(
|
place = AddressField(
|
||||||
|
@ -9,7 +9,7 @@ from django.test import TestCase
|
|||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
from registration.models import CoachRegistration, StudentRegistration
|
from registration.models import CoachRegistration, StudentRegistration
|
||||||
|
|
||||||
from .models import Participation, Team
|
from .models import Participation, Team, Tournament
|
||||||
|
|
||||||
|
|
||||||
class TestStudentParticipation(TestCase):
|
class TestStudentParticipation(TestCase):
|
||||||
@ -67,6 +67,11 @@ class TestStudentParticipation(TestCase):
|
|||||||
)
|
)
|
||||||
CoachRegistration.objects.create(user=self.coach)
|
CoachRegistration.objects.create(user=self.coach)
|
||||||
|
|
||||||
|
self.tournament = Tournament.objects.create(
|
||||||
|
name="France",
|
||||||
|
place="Here",
|
||||||
|
)
|
||||||
|
|
||||||
def test_admin_pages(self):
|
def test_admin_pages(self):
|
||||||
"""
|
"""
|
||||||
Load Django-admin pages.
|
Load Django-admin pages.
|
||||||
@ -347,6 +352,7 @@ class TestStudentParticipation(TestCase):
|
|||||||
))
|
))
|
||||||
self.assertEqual(resp.status_code, 200)
|
self.assertEqual(resp.status_code, 200)
|
||||||
|
|
||||||
|
self.team.participation.tournament = self.tournament
|
||||||
self.team.participation.valid = False
|
self.team.participation.valid = False
|
||||||
self.team.participation.save()
|
self.team.participation.save()
|
||||||
|
|
||||||
|
@ -174,10 +174,10 @@ class TeamDetailView(LoginRequiredMixin, FormMixin, ProcessFormView, DetailView)
|
|||||||
# A team is complete when there are at least 4 members plus a coache that have sent their authorizations,
|
# A team is complete when there are at least 4 members plus a coache that have sent their authorizations,
|
||||||
# their health sheet, they confirmed their email address and under-18 people sent their parental authorization.
|
# their health sheet, they confirmed their email address and under-18 people sent their parental authorization.
|
||||||
context["can_validate"] = team.students.count() >= 4 and team.coaches.exists() and \
|
context["can_validate"] = team.students.count() >= 4 and team.coaches.exists() and \
|
||||||
all(r.email_confirmed for r in team.students.all()) and \
|
all(r.email_confirmed for r in team.students.all()) and \
|
||||||
all(r.photo_authorization for r in team.participants.all()) and \
|
all(r.photo_authorization for r in team.participants.all()) and \
|
||||||
all(r.health_sheet for r in team.participants.all()) and \
|
all(r.health_sheet for r in team.participants.all()) and \
|
||||||
all(r.parental_authorization for r in team.students.all() if r.under_18)
|
all(r.parental_authorization for r in team.students.all() if r.under_18)
|
||||||
|
|
||||||
return context
|
return context
|
||||||
|
|
||||||
|
@ -340,6 +340,9 @@ class Payment(models.Model):
|
|||||||
def get_absolute_url(self):
|
def get_absolute_url(self):
|
||||||
return reverse_lazy("registration:user_detail", args=(self.registration.user.id,))
|
return reverse_lazy("registration:user_detail", args=(self.registration.user.id,))
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return _("Payment of {registration}").format(registration=self.registration)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = _("payment")
|
verbose_name = _("payment")
|
||||||
verbose_name_plural = _("payments")
|
verbose_name_plural = _("payments")
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
|
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from tfjm.lists import get_sympa_client
|
from tfjm.lists import get_sympa_client
|
||||||
from tfjm.matrix import Matrix
|
|
||||||
|
|
||||||
from .models import AdminRegistration, Payment, Registration
|
from .models import AdminRegistration, Payment, Registration
|
||||||
|
|
||||||
|
@ -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-01-18 17:59+0100\n"
|
"POT-Creation-Date: 2021-01-18 22:27+0100\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"
|
||||||
@ -99,12 +99,12 @@ msgstr "changelogs"
|
|||||||
msgid "Changelog of type \"{action}\" for model {model} at {timestamp}"
|
msgid "Changelog of type \"{action}\" for model {model} at {timestamp}"
|
||||||
msgstr "Changelog de type \"{action}\" pour le modèle {model} le {timestamp}"
|
msgstr "Changelog de type \"{action}\" pour le modèle {model} le {timestamp}"
|
||||||
|
|
||||||
#: apps/participation/admin.py:19 apps/participation/models.py:297
|
#: apps/participation/admin.py:19 apps/participation/models.py:298
|
||||||
#: apps/participation/tables.py:44 apps/registration/models.py:336
|
#: apps/participation/tables.py:44 apps/registration/models.py:335
|
||||||
msgid "valid"
|
msgid "valid"
|
||||||
msgstr "valide"
|
msgstr "valide"
|
||||||
|
|
||||||
#: apps/participation/forms.py:22 apps/participation/models.py:36
|
#: apps/participation/forms.py:22 apps/participation/models.py:37
|
||||||
msgid "The trigram must be composed of three uppercase letters."
|
msgid "The trigram must be composed of three uppercase letters."
|
||||||
msgstr "Le trigramme doit être composé de trois lettres majuscules."
|
msgstr "Le trigramme doit être composé de trois lettres majuscules."
|
||||||
|
|
||||||
@ -128,279 +128,279 @@ msgstr "Le défenseur, l'opposant et le rapporteur doivent être différents."
|
|||||||
msgid "This defender did not work on this problem."
|
msgid "This defender did not work on this problem."
|
||||||
msgstr "Ce défenseur ne travaille pas sur ce problème."
|
msgstr "Ce défenseur ne travaille pas sur ce problème."
|
||||||
|
|
||||||
#: apps/participation/models.py:29 apps/participation/models.py:120
|
#: apps/participation/models.py:30 apps/participation/models.py:121
|
||||||
#: apps/participation/tables.py:17 apps/participation/tables.py:34
|
#: apps/participation/tables.py:17 apps/participation/tables.py:34
|
||||||
msgid "name"
|
msgid "name"
|
||||||
msgstr "nom"
|
msgstr "nom"
|
||||||
|
|
||||||
#: apps/participation/models.py:35 apps/participation/tables.py:39
|
#: apps/participation/models.py:36 apps/participation/tables.py:39
|
||||||
msgid "trigram"
|
msgid "trigram"
|
||||||
msgstr "trigramme"
|
msgstr "trigramme"
|
||||||
|
|
||||||
#: apps/participation/models.py:43
|
#: apps/participation/models.py:44
|
||||||
msgid "access code"
|
msgid "access code"
|
||||||
msgstr "code d'accès"
|
msgstr "code d'accès"
|
||||||
|
|
||||||
#: apps/participation/models.py:44
|
#: apps/participation/models.py:45
|
||||||
msgid "The access code let other people to join the team."
|
msgid "The access code let other people to join the team."
|
||||||
msgstr "Le code d'accès permet aux autres participants de rejoindre l'équipe."
|
msgstr "Le code d'accès permet aux autres participants de rejoindre l'équipe."
|
||||||
|
|
||||||
#: apps/participation/models.py:107
|
#: apps/participation/models.py:108
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Team {name} ({trigram})"
|
msgid "Team {name} ({trigram})"
|
||||||
msgstr "Équipe {name} ({trigram})"
|
msgstr "Équipe {name} ({trigram})"
|
||||||
|
|
||||||
#: apps/participation/models.py:110 apps/participation/models.py:282
|
#: apps/participation/models.py:111 apps/participation/models.py:283
|
||||||
#: apps/registration/models.py:123
|
#: apps/registration/models.py:123
|
||||||
msgid "team"
|
msgid "team"
|
||||||
msgstr "équipe"
|
msgstr "équipe"
|
||||||
|
|
||||||
#: apps/participation/models.py:111 apps/participation/tables.py:84
|
#: apps/participation/models.py:112 apps/participation/tables.py:84
|
||||||
msgid "teams"
|
msgid "teams"
|
||||||
msgstr "équipes"
|
msgstr "équipes"
|
||||||
|
|
||||||
#: apps/participation/models.py:125
|
#: apps/participation/models.py:126
|
||||||
msgid "start"
|
msgid "start"
|
||||||
msgstr "début"
|
msgstr "début"
|
||||||
|
|
||||||
#: apps/participation/models.py:130
|
#: apps/participation/models.py:131
|
||||||
msgid "end"
|
msgid "end"
|
||||||
msgstr "fin"
|
msgstr "fin"
|
||||||
|
|
||||||
#: apps/participation/models.py:135 apps/participation/models.py:376
|
#: apps/participation/models.py:136 apps/participation/models.py:377
|
||||||
#: apps/participation/templates/participation/tournament_detail.html:18
|
#: apps/participation/templates/participation/tournament_detail.html:18
|
||||||
msgid "place"
|
msgid "place"
|
||||||
msgstr "lieu"
|
msgstr "lieu"
|
||||||
|
|
||||||
#: apps/participation/models.py:139
|
#: apps/participation/models.py:140
|
||||||
msgid "max team count"
|
msgid "max team count"
|
||||||
msgstr "nombre maximal d'équipes"
|
msgstr "nombre maximal d'équipes"
|
||||||
|
|
||||||
#: apps/participation/models.py:144
|
#: apps/participation/models.py:145
|
||||||
#: apps/participation/templates/participation/tournament_detail.html:21
|
#: apps/participation/templates/participation/tournament_detail.html:21
|
||||||
msgid "price"
|
msgid "price"
|
||||||
msgstr "prix"
|
msgstr "prix"
|
||||||
|
|
||||||
#: apps/participation/models.py:149
|
#: apps/participation/models.py:150
|
||||||
msgid "limit date for registrations"
|
msgid "limit date for registrations"
|
||||||
msgstr "date limite d'inscription"
|
msgstr "date limite d'inscription"
|
||||||
|
|
||||||
#: apps/participation/models.py:154
|
#: apps/participation/models.py:155
|
||||||
msgid "limit date to upload solutions"
|
msgid "limit date to upload solutions"
|
||||||
msgstr "date limite pour envoyer les solutions"
|
msgstr "date limite pour envoyer les solutions"
|
||||||
|
|
||||||
#: apps/participation/models.py:159
|
#: apps/participation/models.py:160
|
||||||
msgid "random draw for solutions"
|
msgid "random draw for solutions"
|
||||||
msgstr "tirage au sort des solutions"
|
msgstr "tirage au sort des solutions"
|
||||||
|
|
||||||
#: apps/participation/models.py:164
|
#: apps/participation/models.py:165
|
||||||
msgid "limit date to upload the syntheses for the first phase"
|
msgid "limit date to upload the syntheses for the first phase"
|
||||||
msgstr "date limite pour envoyer les notes de synthèses pour la première phase"
|
msgstr "date limite pour envoyer les notes de synthèses pour la première phase"
|
||||||
|
|
||||||
#: apps/participation/models.py:169
|
#: apps/participation/models.py:170
|
||||||
msgid "date when the solutions for the second round become available"
|
msgid "date when the solutions for the second round become available"
|
||||||
msgstr "date à laquelle les solutions pour le second tour sont accessibles"
|
msgstr "date à laquelle les solutions pour le second tour sont accessibles"
|
||||||
|
|
||||||
#: apps/participation/models.py:174
|
#: apps/participation/models.py:175
|
||||||
msgid "limit date to upload the syntheses for the second phase"
|
msgid "limit date to upload the syntheses for the second phase"
|
||||||
msgstr "date limite d'envoi des notes de synthèse pour la seconde phase"
|
msgstr "date limite d'envoi des notes de synthèse pour la seconde phase"
|
||||||
|
|
||||||
#: apps/participation/models.py:179
|
#: apps/participation/models.py:180
|
||||||
#: apps/participation/templates/participation/tournament_detail.html:45
|
#: apps/participation/templates/participation/tournament_detail.html:45
|
||||||
msgid "description"
|
msgid "description"
|
||||||
msgstr "description"
|
msgstr "description"
|
||||||
|
|
||||||
#: apps/participation/models.py:185
|
#: apps/participation/models.py:186
|
||||||
#: apps/participation/templates/participation/tournament_detail.html:12
|
#: apps/participation/templates/participation/tournament_detail.html:12
|
||||||
msgid "organizers"
|
msgid "organizers"
|
||||||
msgstr "organisateurs"
|
msgstr "organisateurs"
|
||||||
|
|
||||||
#: apps/participation/models.py:190
|
#: apps/participation/models.py:191
|
||||||
msgid "final"
|
msgid "final"
|
||||||
msgstr "finale"
|
msgstr "finale"
|
||||||
|
|
||||||
#: apps/participation/models.py:267 apps/participation/models.py:291
|
#: apps/participation/models.py:268 apps/participation/models.py:292
|
||||||
#: apps/participation/models.py:323
|
#: apps/participation/models.py:324
|
||||||
msgid "tournament"
|
msgid "tournament"
|
||||||
msgstr "tournoi"
|
msgstr "tournoi"
|
||||||
|
|
||||||
#: apps/participation/models.py:268
|
#: apps/participation/models.py:269
|
||||||
msgid "tournaments"
|
msgid "tournaments"
|
||||||
msgstr "tournois"
|
msgstr "tournois"
|
||||||
|
|
||||||
#: apps/participation/models.py:298
|
#: apps/participation/models.py:299
|
||||||
msgid "The participation got the validation of the organizers."
|
msgid "The participation got the validation of the organizers."
|
||||||
msgstr "La participation a été validée par les organisateurs."
|
msgstr "La participation a été validée par les organisateurs."
|
||||||
|
|
||||||
#: apps/participation/models.py:303
|
#: apps/participation/models.py:304
|
||||||
msgid "selected for final"
|
msgid "selected for final"
|
||||||
msgstr "sélectionnée pour la finale"
|
msgstr "sélectionnée pour la finale"
|
||||||
|
|
||||||
#: apps/participation/models.py:304
|
#: apps/participation/models.py:305
|
||||||
msgid "The team is selected for the final tournament."
|
msgid "The team is selected for the final tournament."
|
||||||
msgstr "L'équipe est sélectionnée pour la finale."
|
msgstr "L'équipe est sélectionnée pour la finale."
|
||||||
|
|
||||||
#: apps/participation/models.py:311
|
#: apps/participation/models.py:312
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
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:314 apps/participation/models.py:498
|
#: apps/participation/models.py:315 apps/participation/models.py:499
|
||||||
#: apps/participation/models.py:536
|
#: apps/participation/models.py:537
|
||||||
msgid "participation"
|
msgid "participation"
|
||||||
msgstr "participation"
|
msgstr "participation"
|
||||||
|
|
||||||
#: apps/participation/models.py:315 apps/participation/models.py:337
|
#: apps/participation/models.py:316 apps/participation/models.py:338
|
||||||
msgid "participations"
|
msgid "participations"
|
||||||
msgstr "participations"
|
msgstr "participations"
|
||||||
|
|
||||||
#: apps/participation/models.py:327
|
#: apps/participation/models.py:328
|
||||||
msgid "round"
|
msgid "round"
|
||||||
msgstr "tour"
|
msgstr "tour"
|
||||||
|
|
||||||
#: apps/participation/models.py:329 apps/participation/models.py:330
|
#: apps/participation/models.py:330 apps/participation/models.py:331
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Round {round}"
|
msgid "Round {round}"
|
||||||
msgstr "Tour {round}"
|
msgstr "Tour {round}"
|
||||||
|
|
||||||
#: apps/participation/models.py:343
|
#: apps/participation/models.py:344
|
||||||
msgid "juries"
|
msgid "juries"
|
||||||
msgstr "jurys"
|
msgstr "jurys"
|
||||||
|
|
||||||
#: apps/participation/models.py:357
|
#: apps/participation/models.py:358
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Pool {round} for tournament {tournament} with teams {teams}"
|
msgid "Pool {round} for tournament {tournament} with teams {teams}"
|
||||||
msgstr "Poule {round} du tournoi {tournament} avec les équipes {teams}"
|
msgstr "Poule {round} du tournoi {tournament} avec les équipes {teams}"
|
||||||
|
|
||||||
#: apps/participation/models.py:363 apps/participation/models.py:371
|
#: apps/participation/models.py:364 apps/participation/models.py:372
|
||||||
msgid "pool"
|
msgid "pool"
|
||||||
msgstr "poule"
|
msgstr "poule"
|
||||||
|
|
||||||
#: apps/participation/models.py:364
|
#: apps/participation/models.py:365
|
||||||
msgid "pools"
|
msgid "pools"
|
||||||
msgstr "poules"
|
msgstr "poules"
|
||||||
|
|
||||||
#: apps/participation/models.py:378
|
#: apps/participation/models.py:379
|
||||||
msgid "Where the solution is presented?"
|
msgid "Where the solution is presented?"
|
||||||
msgstr "Où est-ce que les solutions sont défendues ?"
|
msgstr "Où est-ce que les solutions sont défendues ?"
|
||||||
|
|
||||||
#: apps/participation/models.py:383
|
#: apps/participation/models.py:384
|
||||||
msgid "defended solution"
|
msgid "defended solution"
|
||||||
msgstr "solution défendue"
|
msgstr "solution défendue"
|
||||||
|
|
||||||
#: apps/participation/models.py:385 apps/participation/models.py:505
|
#: apps/participation/models.py:386 apps/participation/models.py:506
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Problem #{problem}"
|
msgid "Problem #{problem}"
|
||||||
msgstr "Problème n°{problem}"
|
msgstr "Problème n°{problem}"
|
||||||
|
|
||||||
#: apps/participation/models.py:392 apps/participation/tables.py:105
|
#: apps/participation/models.py:393 apps/participation/tables.py:105
|
||||||
msgid "defender"
|
msgid "defender"
|
||||||
msgstr "défenseur"
|
msgstr "défenseur"
|
||||||
|
|
||||||
#: apps/participation/models.py:399 apps/participation/models.py:548
|
#: apps/participation/models.py:400 apps/participation/models.py:549
|
||||||
msgid "opponent"
|
msgid "opponent"
|
||||||
msgstr "opposant"
|
msgstr "opposant"
|
||||||
|
|
||||||
#: apps/participation/models.py:406 apps/participation/models.py:549
|
#: apps/participation/models.py:407 apps/participation/models.py:550
|
||||||
msgid "reporter"
|
msgid "reporter"
|
||||||
msgstr "rapporteur"
|
msgstr "rapporteur"
|
||||||
|
|
||||||
#: apps/participation/models.py:466 apps/participation/models.py:469
|
#: apps/participation/models.py:467 apps/participation/models.py:470
|
||||||
#: apps/participation/models.py:472
|
#: apps/participation/models.py:473
|
||||||
#, 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:477
|
#: apps/participation/models.py:478
|
||||||
#, 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:481 apps/participation/models.py:543
|
#: apps/participation/models.py:482 apps/participation/models.py:544
|
||||||
#: apps/participation/models.py:581
|
#: apps/participation/models.py:582
|
||||||
msgid "passage"
|
msgid "passage"
|
||||||
msgstr "passage"
|
msgstr "passage"
|
||||||
|
|
||||||
#: apps/participation/models.py:482
|
#: apps/participation/models.py:483
|
||||||
msgid "passages"
|
msgid "passages"
|
||||||
msgstr "passages"
|
msgstr "passages"
|
||||||
|
|
||||||
#: apps/participation/models.py:503
|
#: apps/participation/models.py:504
|
||||||
msgid "problem"
|
msgid "problem"
|
||||||
msgstr "numéro de problème"
|
msgstr "numéro de problème"
|
||||||
|
|
||||||
#: apps/participation/models.py:510
|
#: apps/participation/models.py:511
|
||||||
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:515 apps/participation/models.py:554
|
#: apps/participation/models.py:516 apps/participation/models.py:555
|
||||||
msgid "file"
|
msgid "file"
|
||||||
msgstr "fichier"
|
msgstr "fichier"
|
||||||
|
|
||||||
#: apps/participation/models.py:523
|
#: apps/participation/models.py:524
|
||||||
#, 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:527
|
#: apps/participation/models.py:528
|
||||||
msgid "solution"
|
msgid "solution"
|
||||||
msgstr "solution"
|
msgstr "solution"
|
||||||
|
|
||||||
#: apps/participation/models.py:528
|
#: apps/participation/models.py:529
|
||||||
msgid "solutions"
|
msgid "solutions"
|
||||||
msgstr "solutions"
|
msgstr "solutions"
|
||||||
|
|
||||||
#: apps/participation/models.py:562
|
#: apps/participation/models.py:563
|
||||||
#, 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:565
|
#: apps/participation/models.py:566
|
||||||
msgid "synthesis"
|
msgid "synthesis"
|
||||||
msgstr "note de synthèse"
|
msgstr "note de synthèse"
|
||||||
|
|
||||||
#: apps/participation/models.py:566
|
#: apps/participation/models.py:567
|
||||||
msgid "syntheses"
|
msgid "syntheses"
|
||||||
msgstr "notes de synthèse"
|
msgstr "notes de synthèse"
|
||||||
|
|
||||||
#: apps/participation/models.py:574
|
#: apps/participation/models.py:575
|
||||||
msgid "jury"
|
msgid "jury"
|
||||||
msgstr "jury"
|
msgstr "jury"
|
||||||
|
|
||||||
#: apps/participation/models.py:586
|
#: apps/participation/models.py:587
|
||||||
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:592
|
#: apps/participation/models.py:593
|
||||||
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:598
|
#: apps/participation/models.py:599
|
||||||
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:604
|
#: apps/participation/models.py:605
|
||||||
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:610
|
#: apps/participation/models.py:611
|
||||||
msgid "reporter writing note"
|
msgid "reporter writing note"
|
||||||
msgstr "not d'écrit du rapporteur"
|
msgstr "not d'écrit du rapporteur"
|
||||||
|
|
||||||
#: apps/participation/models.py:616
|
#: apps/participation/models.py:617
|
||||||
msgid "reporter oral note"
|
msgid "reporter oral note"
|
||||||
msgstr "note d'oral du rapporteur"
|
msgstr "note d'oral du rapporteur"
|
||||||
|
|
||||||
#: apps/participation/models.py:625
|
#: apps/participation/models.py:626
|
||||||
#, 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:632
|
#: apps/participation/models.py:633
|
||||||
msgid "note"
|
msgid "note"
|
||||||
msgstr "note"
|
msgstr "note"
|
||||||
|
|
||||||
#: apps/participation/models.py:633
|
#: apps/participation/models.py:634
|
||||||
msgid "notes"
|
msgid "notes"
|
||||||
msgstr "notes"
|
msgstr "notes"
|
||||||
|
|
||||||
@ -485,9 +485,11 @@ msgstr "Rejoindre"
|
|||||||
#: apps/participation/templates/participation/team_detail.html:148
|
#: apps/participation/templates/participation/team_detail.html:148
|
||||||
#: 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:11
|
||||||
#: apps/registration/templates/registration/update_user.html:16
|
#: apps/registration/templates/registration/update_user.html:16
|
||||||
#: apps/registration/templates/registration/user_detail.html:127
|
#: apps/registration/templates/registration/user_detail.html:140
|
||||||
#: apps/registration/templates/registration/user_detail.html:136
|
#: apps/registration/templates/registration/user_detail.html:149
|
||||||
|
#: apps/registration/templates/registration/user_detail.html:177
|
||||||
msgid "Update"
|
msgid "Update"
|
||||||
msgstr "Modifier"
|
msgstr "Modifier"
|
||||||
|
|
||||||
@ -541,9 +543,10 @@ msgstr "Envoyer une solution"
|
|||||||
#: apps/registration/templates/registration/upload_health_sheet.html:17
|
#: apps/registration/templates/registration/upload_health_sheet.html:17
|
||||||
#: apps/registration/templates/registration/upload_parental_authorization.html:17
|
#: apps/registration/templates/registration/upload_parental_authorization.html:17
|
||||||
#: apps/registration/templates/registration/upload_photo_authorization.html:18
|
#: apps/registration/templates/registration/upload_photo_authorization.html:18
|
||||||
#: apps/registration/templates/registration/user_detail.html:141
|
#: apps/registration/templates/registration/user_detail.html:155
|
||||||
#: apps/registration/templates/registration/user_detail.html:146
|
#: apps/registration/templates/registration/user_detail.html:160
|
||||||
#: apps/registration/templates/registration/user_detail.html:151
|
#: apps/registration/templates/registration/user_detail.html:165
|
||||||
|
#: apps/registration/templates/registration/user_detail.html:170
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "Téléverser"
|
msgstr "Téléverser"
|
||||||
|
|
||||||
@ -781,7 +784,7 @@ msgid "Update team"
|
|||||||
msgstr "Modifier l'équipe"
|
msgstr "Modifier l'équipe"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/team_detail.html:152
|
#: apps/participation/templates/participation/team_detail.html:152
|
||||||
#: apps/participation/views.py:351
|
#: apps/participation/views.py:359
|
||||||
msgid "Leave team"
|
msgid "Leave team"
|
||||||
msgstr "Quitter l'équipe"
|
msgstr "Quitter l'équipe"
|
||||||
|
|
||||||
@ -887,12 +890,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:146 apps/participation/views.py:357
|
#: apps/participation/views.py:146 apps/participation/views.py:365
|
||||||
#: apps/participation/views.py:390
|
#: apps/participation/views.py:398
|
||||||
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:147 apps/participation/views.py:391
|
#: apps/participation/views.py:147 apps/participation/views.py:399
|
||||||
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."
|
||||||
|
|
||||||
@ -928,44 +931,44 @@ msgstr "Vous n'êtes pas administrateur."
|
|||||||
msgid "This team has no pending validation."
|
msgid "This team has no pending validation."
|
||||||
msgstr "L'équipe n'a pas de validation en attente."
|
msgstr "L'équipe n'a pas de validation en attente."
|
||||||
|
|
||||||
#: apps/participation/views.py:254
|
#: apps/participation/views.py:262
|
||||||
msgid "You must specify if you validate the registration or not."
|
msgid "You must specify if you validate the registration or not."
|
||||||
msgstr "Vous devez spécifier si vous validez l'inscription ou non."
|
msgstr "Vous devez spécifier si vous validez l'inscription ou non."
|
||||||
|
|
||||||
#: apps/participation/views.py:285
|
#: apps/participation/views.py:293
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
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:324
|
#: apps/participation/views.py:332
|
||||||
#, 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:330
|
#: apps/participation/views.py:338
|
||||||
#, 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:337
|
#: apps/participation/views.py:345
|
||||||
#, 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:341
|
#: apps/participation/views.py:349
|
||||||
#, 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:359
|
#: apps/participation/views.py:367
|
||||||
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:405
|
#: apps/participation/views.py:413
|
||||||
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:417
|
#: apps/participation/views.py:425
|
||||||
#, 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}"
|
||||||
@ -995,15 +998,23 @@ msgid "admin"
|
|||||||
msgstr "admin"
|
msgstr "admin"
|
||||||
|
|
||||||
#: apps/registration/forms.py:116 apps/registration/forms.py:138
|
#: apps/registration/forms.py:116 apps/registration/forms.py:138
|
||||||
#: apps/registration/forms.py:160
|
#: apps/registration/forms.py:160 apps/registration/forms.py:214
|
||||||
msgid "The uploaded file size must be under 2 Mo."
|
msgid "The uploaded file size must be under 2 Mo."
|
||||||
msgstr "Le fichier envoyé doit peser moins de 2 Mo."
|
msgstr "Le fichier envoyé doit peser moins de 2 Mo."
|
||||||
|
|
||||||
#: apps/registration/forms.py:118 apps/registration/forms.py:140
|
#: apps/registration/forms.py:118 apps/registration/forms.py:140
|
||||||
#: apps/registration/forms.py:162
|
#: apps/registration/forms.py:162 apps/registration/forms.py:216
|
||||||
msgid "The uploaded file must be a PDF, PNG of JPEG file."
|
msgid "The uploaded file must be a PDF, PNG of JPEG file."
|
||||||
msgstr "Le fichier envoyé doit être au format PDF, PNG ou JPEG."
|
msgstr "Le fichier envoyé doit être au format PDF, PNG ou JPEG."
|
||||||
|
|
||||||
|
#: apps/registration/forms.py:208
|
||||||
|
msgid "Pending"
|
||||||
|
msgstr "En attente"
|
||||||
|
|
||||||
|
#: apps/registration/forms.py:224
|
||||||
|
msgid "You must upload your scholarship attestation."
|
||||||
|
msgstr "Vous devez envoyer votre attestation de bourse."
|
||||||
|
|
||||||
#: apps/registration/models.py:35
|
#: apps/registration/models.py:35
|
||||||
msgid "Grant Animath to contact me in the future about other actions"
|
msgid "Grant Animath to contact me in the future about other actions"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1145,19 +1156,24 @@ msgstr "Notification de bourse"
|
|||||||
msgid "only if you have a scholarship."
|
msgid "only if you have a scholarship."
|
||||||
msgstr "Nécessaire seulement si vous déclarez être boursier."
|
msgstr "Nécessaire seulement si vous déclarez être boursier."
|
||||||
|
|
||||||
#: apps/registration/models.py:329
|
#: apps/registration/models.py:328
|
||||||
msgid "additional information"
|
msgid "additional information"
|
||||||
msgstr "informations additionnelles"
|
msgstr "informations additionnelles"
|
||||||
|
|
||||||
#: apps/registration/models.py:330
|
#: apps/registration/models.py:329
|
||||||
msgid "To help us to find your payment."
|
msgid "To help us to find your payment."
|
||||||
msgstr "Pour nous aider à retrouver votre paiement, si nécessaire."
|
msgstr "Pour nous aider à retrouver votre paiement, si nécessaire."
|
||||||
|
|
||||||
#: apps/registration/models.py:342
|
#: apps/registration/models.py:344
|
||||||
|
#, python-brace-format
|
||||||
|
msgid "Payment of {registration}"
|
||||||
|
msgstr "Paiement de {registration}"
|
||||||
|
|
||||||
|
#: apps/registration/models.py:347
|
||||||
msgid "payment"
|
msgid "payment"
|
||||||
msgstr "paiement"
|
msgstr "paiement"
|
||||||
|
|
||||||
#: apps/registration/models.py:343
|
#: apps/registration/models.py:348
|
||||||
msgid "payments"
|
msgid "payments"
|
||||||
msgstr "paiements"
|
msgstr "paiements"
|
||||||
|
|
||||||
@ -1169,7 +1185,7 @@ msgstr "nom de famille"
|
|||||||
#: apps/registration/templates/registration/add_organizer.html:12
|
#: apps/registration/templates/registration/add_organizer.html:12
|
||||||
#: apps/registration/templates/registration/add_organizer.html:19
|
#: apps/registration/templates/registration/add_organizer.html:19
|
||||||
#: apps/registration/templates/registration/user_list.html:8
|
#: apps/registration/templates/registration/user_list.html:8
|
||||||
#: apps/registration/views.py:86
|
#: apps/registration/views.py:85
|
||||||
msgid "Add organizer"
|
msgid "Add organizer"
|
||||||
msgstr "Ajouter un organisateur"
|
msgstr "Ajouter un organisateur"
|
||||||
|
|
||||||
@ -1324,7 +1340,7 @@ msgstr "Réinitialiser mon mot de passe"
|
|||||||
#: apps/registration/templates/registration/signup.html:5
|
#: apps/registration/templates/registration/signup.html:5
|
||||||
#: apps/registration/templates/registration/signup.html:12
|
#: apps/registration/templates/registration/signup.html:12
|
||||||
#: apps/registration/templates/registration/signup.html:19
|
#: apps/registration/templates/registration/signup.html:19
|
||||||
#: apps/registration/views.py:42
|
#: apps/registration/views.py:41
|
||||||
msgid "Sign up"
|
msgid "Sign up"
|
||||||
msgstr "Inscription"
|
msgstr "Inscription"
|
||||||
|
|
||||||
@ -1456,78 +1472,87 @@ msgstr "Informations de paiement :"
|
|||||||
msgid "yes,no,pending"
|
msgid "yes,no,pending"
|
||||||
msgstr "oui,non,en attente"
|
msgstr "oui,non,en attente"
|
||||||
|
|
||||||
#: apps/registration/templates/registration/user_detail.html:120
|
#: apps/registration/templates/registration/user_detail.html:123
|
||||||
|
#: apps/registration/templates/registration/user_detail.html:126
|
||||||
msgid "valid:"
|
msgid "valid:"
|
||||||
msgstr "valide :"
|
msgstr "valide :"
|
||||||
|
|
||||||
#: apps/registration/templates/registration/user_detail.html:129
|
#: apps/registration/templates/registration/user_detail.html:130
|
||||||
|
#: apps/registration/templates/registration/user_detail.html:176
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "Update team"
|
||||||
|
msgid "Update payment"
|
||||||
|
msgstr "Modifier l'équipe"
|
||||||
|
|
||||||
|
#: apps/registration/templates/registration/user_detail.html:142
|
||||||
msgid "Impersonate"
|
msgid "Impersonate"
|
||||||
msgstr "Impersonifier"
|
msgstr "Impersonifier"
|
||||||
|
|
||||||
#: apps/registration/templates/registration/user_detail.html:135
|
#: apps/registration/templates/registration/user_detail.html:148
|
||||||
msgid "Update user"
|
msgid "Update user"
|
||||||
msgstr "Modifier l'utilisateur"
|
msgstr "Modifier l'utilisateur"
|
||||||
|
|
||||||
#: apps/registration/templates/registration/user_detail.html:140
|
#: apps/registration/templates/registration/user_detail.html:154
|
||||||
#: apps/registration/views.py:313
|
#: apps/registration/views.py:312
|
||||||
msgid "Upload photo authorization"
|
msgid "Upload photo authorization"
|
||||||
msgstr "Téléverser l'autorisation de droit à l'image"
|
msgstr "Téléverser l'autorisation de droit à l'image"
|
||||||
|
|
||||||
#: apps/registration/templates/registration/user_detail.html:145
|
#: apps/registration/templates/registration/user_detail.html:159
|
||||||
#: apps/registration/views.py:339
|
#: apps/registration/views.py:338
|
||||||
msgid "Upload health sheet"
|
msgid "Upload health sheet"
|
||||||
msgstr "Téléverser la fiche sanitaire"
|
msgstr "Téléverser la fiche sanitaire"
|
||||||
|
|
||||||
#: apps/registration/templates/registration/user_detail.html:150
|
#: apps/registration/templates/registration/user_detail.html:164
|
||||||
#: apps/registration/views.py:365
|
#: apps/registration/templates/registration/user_detail.html:169
|
||||||
|
#: apps/registration/views.py:364
|
||||||
msgid "Upload parental authorization"
|
msgid "Upload parental authorization"
|
||||||
msgstr "Téléverser l'autorisation parentale"
|
msgstr "Téléverser l'autorisation parentale"
|
||||||
|
|
||||||
#: apps/registration/views.py:125
|
#: apps/registration/views.py:124
|
||||||
msgid "New TFJM² organizer account"
|
msgid "New TFJM² organizer account"
|
||||||
msgstr "Nouveau compte organisateur pour le TFJM²"
|
msgstr "Nouveau compte organisateur pour le TFJM²"
|
||||||
|
|
||||||
#: apps/registration/views.py:147
|
#: apps/registration/views.py:146
|
||||||
msgid "Email validation"
|
msgid "Email validation"
|
||||||
msgstr "Validation de l'adresse mail"
|
msgstr "Validation de l'adresse mail"
|
||||||
|
|
||||||
#: apps/registration/views.py:149
|
#: apps/registration/views.py:148
|
||||||
msgid "Validate email"
|
msgid "Validate email"
|
||||||
msgstr "Valider l'adresse mail"
|
msgstr "Valider l'adresse mail"
|
||||||
|
|
||||||
#: apps/registration/views.py:188
|
#: apps/registration/views.py:187
|
||||||
msgid "Email validation unsuccessful"
|
msgid "Email validation unsuccessful"
|
||||||
msgstr "Échec de la validation de l'adresse mail"
|
msgstr "Échec de la validation de l'adresse mail"
|
||||||
|
|
||||||
#: apps/registration/views.py:199
|
#: apps/registration/views.py:198
|
||||||
msgid "Email validation email sent"
|
msgid "Email validation email sent"
|
||||||
msgstr "Mail de confirmation de l'adresse mail envoyé"
|
msgstr "Mail de confirmation de l'adresse mail envoyé"
|
||||||
|
|
||||||
#: apps/registration/views.py:207
|
#: apps/registration/views.py:206
|
||||||
msgid "Resend email validation link"
|
msgid "Resend email validation link"
|
||||||
msgstr "Renvoyé le lien de validation de l'adresse mail"
|
msgstr "Renvoyé le lien de validation de l'adresse mail"
|
||||||
|
|
||||||
#: apps/registration/views.py:247
|
#: apps/registration/views.py:246
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Detail of user {user}"
|
msgid "Detail of user {user}"
|
||||||
msgstr "Détails de l'utilisateur {user}"
|
msgstr "Détails de l'utilisateur {user}"
|
||||||
|
|
||||||
#: apps/registration/views.py:277
|
#: apps/registration/views.py:276
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Update user {user}"
|
msgid "Update user {user}"
|
||||||
msgstr "Mise à jour de l'utilisateur {user}"
|
msgstr "Mise à jour de l'utilisateur {user}"
|
||||||
|
|
||||||
#: apps/registration/views.py:403
|
#: apps/registration/views.py:427
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Photo authorization of {student}.{ext}"
|
msgid "Photo authorization of {student}.{ext}"
|
||||||
msgstr "Autorisation de droit à l'image de {student}.{ext}"
|
msgstr "Autorisation de droit à l'image de {student}.{ext}"
|
||||||
|
|
||||||
#: apps/registration/views.py:426
|
#: apps/registration/views.py:450
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Health sheet of {student}.{ext}"
|
msgid "Health sheet of {student}.{ext}"
|
||||||
msgstr "Fiche sanitaire de {student}.{ext}"
|
msgstr "Fiche sanitaire de {student}.{ext}"
|
||||||
|
|
||||||
#: apps/registration/views.py:449
|
#: apps/registration/views.py:473
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Parental authorization of {student}.{ext}"
|
msgid "Parental authorization of {student}.{ext}"
|
||||||
msgstr "Autorisation parentale de {student}.{ext}"
|
msgstr "Autorisation parentale de {student}.{ext}"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user