fix(audit): fermer les frontieres restantes
This commit is contained in:
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: team-tryouts VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-08-16 23:22-0400\n"
|
||||
"POT-Creation-Date: 2026-08-17 14:18-0400\n"
|
||||
"PO-Revision-Date: 2026-08-07 20:22-0400\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language: fr\n"
|
||||
@@ -23,8 +23,8 @@ msgstr ""
|
||||
msgid "Please log in to access this page."
|
||||
msgstr "Veuillez vous connecter pour accéder à cette page."
|
||||
|
||||
#: app/forms.py:37 app/routes/auth.py:228 app/routes/auth.py:387
|
||||
#: app/routes/users/contracts.py:98
|
||||
#: app/forms.py:37 app/routes/auth.py:229 app/routes/auth.py:388
|
||||
#: app/routes/auth.py:402 app/routes/users/contracts.py:98
|
||||
#, python-format
|
||||
msgid "%(field)s: %(msg)s"
|
||||
msgstr "%(field)s : %(msg)s"
|
||||
@@ -63,7 +63,7 @@ msgstr "Le nom d’utilisateur est obligatoire."
|
||||
msgid "Password is required."
|
||||
msgstr "Le mot de passe est obligatoire."
|
||||
|
||||
#: app/validators.py:227 app/validators.py:294
|
||||
#: app/validators.py:227 app/validators.py:324
|
||||
msgid "Username must be 3-80 characters."
|
||||
msgstr "Le nom d’utilisateur doit compter de 3 à 80 caractères."
|
||||
|
||||
@@ -71,8 +71,8 @@ msgstr "Le nom d’utilisateur doit compter de 3 à 80 caractères."
|
||||
msgid "Email must be 120 characters or less."
|
||||
msgstr "L’adresse courriel ne doit pas dépasser 120 caractères."
|
||||
|
||||
#: app/validators.py:246 app/validators.py:309 app/validators.py:340
|
||||
#: app/validators.py:403
|
||||
#: app/validators.py:246 app/validators.py:339 app/validators.py:370
|
||||
#: app/validators.py:433
|
||||
msgid "Full name is required."
|
||||
msgstr "Le nom complet est obligatoire."
|
||||
|
||||
@@ -80,160 +80,200 @@ msgstr "Le nom complet est obligatoire."
|
||||
msgid "Passwords do not match."
|
||||
msgstr "Les mots de passe ne concordent pas."
|
||||
|
||||
#: app/validators.py:313 app/validators.py:348
|
||||
msgid "Invalid role selected."
|
||||
msgstr "Rôle sélectionné invalide."
|
||||
|
||||
#: app/validators.py:443
|
||||
msgid "Player must be selected."
|
||||
msgstr "Vous devez choisir un joueur."
|
||||
|
||||
#: app/validators.py:446
|
||||
msgid "Notes must be 2000 characters or less."
|
||||
msgstr "Les notes ne doivent pas dépasser 2000 caractères."
|
||||
|
||||
#: app/validators.py:483 app/validators.py:854
|
||||
msgid "Invalid coach selection."
|
||||
msgstr "Sélection de coach invalide."
|
||||
|
||||
#: app/validators.py:489 app/validators.py:860
|
||||
msgid "Invalid manager selection."
|
||||
msgstr "Sélection de gérant invalide."
|
||||
|
||||
#: app/validators.py:507
|
||||
msgid "Invalid player selection."
|
||||
msgstr "Sélection de joueur invalide."
|
||||
|
||||
#: app/validators.py:516
|
||||
msgid "Unknown roster status."
|
||||
msgstr "Statut d'effectif inconnu."
|
||||
|
||||
#: app/validators.py:539
|
||||
msgid "Date must be in YYYY-MM-DD format."
|
||||
msgstr "La date doit être au format AAAA-MM-JJ."
|
||||
|
||||
#: app/validators.py:540
|
||||
msgid "A date is required."
|
||||
msgstr "Une date est requise."
|
||||
|
||||
#: app/validators.py:546 app/validators.py:611
|
||||
msgid "Start time must be in HH:MM format."
|
||||
msgstr "L’heure de début doit être au format HH:MM."
|
||||
|
||||
#: app/validators.py:547 app/validators.py:612
|
||||
msgid "A start time is required."
|
||||
msgstr "Une heure de début est requise."
|
||||
|
||||
#: app/validators.py:553
|
||||
msgid "End time must be in HH:MM format."
|
||||
msgstr "L’heure de fin doit être au format HH:MM."
|
||||
|
||||
#: app/validators.py:554
|
||||
msgid "An end time is required."
|
||||
msgstr "Une heure de fin est requise."
|
||||
|
||||
#: app/validators.py:558
|
||||
msgid "Points must be 2000 characters or less."
|
||||
msgstr "Les points ne doivent pas dépasser 2000 caractères."
|
||||
|
||||
#: app/validators.py:573
|
||||
msgid "End time must be after start time."
|
||||
msgstr "L'heure de fin doit être postérieure à l'heure de début."
|
||||
|
||||
#: app/validators.py:602 app/validators.py:604
|
||||
msgid "Day must be 0 (Monday) to 6 (Sunday)."
|
||||
msgstr "Le jour doit aller de 0 (lundi) à 6 (dimanche)."
|
||||
|
||||
#: app/validators.py:605
|
||||
msgid "A day is required."
|
||||
msgstr "Un jour est requis."
|
||||
|
||||
#: app/validators.py:640
|
||||
msgid "Player selection is malformed."
|
||||
msgstr "La sélection de joueurs est mal formée."
|
||||
|
||||
#: app/validators.py:666 app/validators.py:776
|
||||
msgid "A title is required."
|
||||
msgstr "Un titre est requis."
|
||||
|
||||
#: app/validators.py:675
|
||||
msgid "Invalid date format."
|
||||
msgstr "Format de date invalide."
|
||||
|
||||
#: app/validators.py:680 app/validators.py:687
|
||||
msgid "Invalid time format."
|
||||
msgstr "Format d’heure invalide."
|
||||
|
||||
#: app/validators.py:681
|
||||
msgid "Start time is required. Please select a time slot."
|
||||
msgstr "L’heure de début est obligatoire. Choisissez une plage horaire."
|
||||
|
||||
#: app/validators.py:695
|
||||
msgid "Unknown match status."
|
||||
msgstr "Statut de match inconnu."
|
||||
|
||||
#: app/validators.py:711
|
||||
msgid "The end time must come after the start time."
|
||||
msgstr "L'heure de fin doit être postérieure à l'heure de début."
|
||||
|
||||
#: app/validators.py:725
|
||||
msgid "Unknown match type."
|
||||
msgstr "Type de match inconnu."
|
||||
|
||||
#: app/validators.py:737
|
||||
msgid "A team cannot play against itself."
|
||||
msgstr "Une équipe ne peut pas jouer contre elle-même."
|
||||
|
||||
#: app/validators.py:785
|
||||
#: app/validators.py:284 app/validators.py:924
|
||||
msgid "Unknown game."
|
||||
msgstr "Jeu inconnu."
|
||||
|
||||
#: app/validators.py:790
|
||||
#: app/validators.py:291
|
||||
msgid "Gamertag must be between 1 and 120 characters."
|
||||
msgstr "Le gamertag doit compter de 1 à 120 caractères."
|
||||
|
||||
#: app/validators.py:297
|
||||
msgid "Platform must be 30 characters or less."
|
||||
msgstr "La plateforme ne doit pas dépasser 30 caractères."
|
||||
|
||||
#: app/validators.py:306
|
||||
msgid "Unknown platform for this game."
|
||||
msgstr "Plateforme inconnue pour ce jeu."
|
||||
|
||||
#: app/validators.py:343 app/validators.py:378
|
||||
msgid "Invalid role selected."
|
||||
msgstr "Rôle sélectionné invalide."
|
||||
|
||||
#: app/validators.py:473 app/validators.py:596 app/validators.py:629
|
||||
msgid "Player must be selected."
|
||||
msgstr "Vous devez choisir un joueur."
|
||||
|
||||
#: app/validators.py:476
|
||||
msgid "Notes must be 2000 characters or less."
|
||||
msgstr "Les notes ne doivent pas dépasser 2000 caractères."
|
||||
|
||||
#: app/validators.py:513 app/validators.py:993
|
||||
msgid "Invalid coach selection."
|
||||
msgstr "Sélection de coach invalide."
|
||||
|
||||
#: app/validators.py:519 app/validators.py:999
|
||||
msgid "Invalid manager selection."
|
||||
msgstr "Sélection de gérant invalide."
|
||||
|
||||
#: app/validators.py:537 app/validators.py:595 app/validators.py:628
|
||||
msgid "Invalid player selection."
|
||||
msgstr "Sélection de joueur invalide."
|
||||
|
||||
#: app/validators.py:546
|
||||
msgid "Unknown roster status."
|
||||
msgstr "Statut d'effectif inconnu."
|
||||
|
||||
#: app/validators.py:559
|
||||
msgid "Unknown tryout status."
|
||||
msgstr "Statut de sélection inconnu."
|
||||
|
||||
#: app/validators.py:570
|
||||
msgid "Unknown registration status."
|
||||
msgstr "Statut d’inscription inconnu."
|
||||
|
||||
#: app/validators.py:583
|
||||
msgid "Team name must be between 1 and 100 characters."
|
||||
msgstr "Le nom de l’équipe doit compter de 1 à 100 caractères."
|
||||
|
||||
#: app/validators.py:603
|
||||
msgid "Position must be 50 characters or less."
|
||||
msgstr "La position ne doit pas dépasser 50 caractères."
|
||||
|
||||
#: app/validators.py:616
|
||||
msgid "Note content must be between 1 and 5000 characters."
|
||||
msgstr "La note doit compter de 1 à 5000 caractères."
|
||||
|
||||
#: app/validators.py:642
|
||||
msgid "Select at most one note context."
|
||||
msgstr "Sélectionnez au plus un contexte pour la note."
|
||||
|
||||
#: app/validators.py:654
|
||||
msgid "Rejection reason must be 2000 characters or less."
|
||||
msgstr "Le motif de refus ne doit pas dépasser 2000 caractères."
|
||||
|
||||
#: app/validators.py:678
|
||||
msgid "Date must be in YYYY-MM-DD format."
|
||||
msgstr "La date doit être au format AAAA-MM-JJ."
|
||||
|
||||
#: app/validators.py:679
|
||||
msgid "A date is required."
|
||||
msgstr "Une date est requise."
|
||||
|
||||
#: app/validators.py:685 app/validators.py:750
|
||||
msgid "Start time must be in HH:MM format."
|
||||
msgstr "L’heure de début doit être au format HH:MM."
|
||||
|
||||
#: app/validators.py:686 app/validators.py:751
|
||||
msgid "A start time is required."
|
||||
msgstr "Une heure de début est requise."
|
||||
|
||||
#: app/validators.py:692
|
||||
msgid "End time must be in HH:MM format."
|
||||
msgstr "L’heure de fin doit être au format HH:MM."
|
||||
|
||||
#: app/validators.py:693
|
||||
msgid "An end time is required."
|
||||
msgstr "Une heure de fin est requise."
|
||||
|
||||
#: app/validators.py:697
|
||||
msgid "Points must be 2000 characters or less."
|
||||
msgstr "Les points ne doivent pas dépasser 2000 caractères."
|
||||
|
||||
#: app/validators.py:712
|
||||
msgid "End time must be after start time."
|
||||
msgstr "L'heure de fin doit être postérieure à l'heure de début."
|
||||
|
||||
#: app/validators.py:741 app/validators.py:743
|
||||
msgid "Day must be 0 (Monday) to 6 (Sunday)."
|
||||
msgstr "Le jour doit aller de 0 (lundi) à 6 (dimanche)."
|
||||
|
||||
#: app/validators.py:744
|
||||
msgid "A day is required."
|
||||
msgstr "Un jour est requis."
|
||||
|
||||
#: app/validators.py:779
|
||||
msgid "Player selection is malformed."
|
||||
msgstr "La sélection de joueurs est mal formée."
|
||||
|
||||
#: app/validators.py:805 app/validators.py:915
|
||||
msgid "A title is required."
|
||||
msgstr "Un titre est requis."
|
||||
|
||||
#: app/validators.py:814
|
||||
msgid "Invalid date format."
|
||||
msgstr "Format de date invalide."
|
||||
|
||||
#: app/validators.py:819 app/validators.py:826
|
||||
msgid "Invalid time format."
|
||||
msgstr "Format d’heure invalide."
|
||||
|
||||
#: app/validators.py:820
|
||||
msgid "Start time is required. Please select a time slot."
|
||||
msgstr "L’heure de début est obligatoire. Choisissez une plage horaire."
|
||||
|
||||
#: app/validators.py:834
|
||||
msgid "Unknown match status."
|
||||
msgstr "Statut de match inconnu."
|
||||
|
||||
#: app/validators.py:850
|
||||
msgid "The end time must come after the start time."
|
||||
msgstr "L'heure de fin doit être postérieure à l'heure de début."
|
||||
|
||||
#: app/validators.py:864
|
||||
msgid "Unknown match type."
|
||||
msgstr "Type de match inconnu."
|
||||
|
||||
#: app/validators.py:876
|
||||
msgid "A team cannot play against itself."
|
||||
msgstr "Une équipe ne peut pas jouer contre elle-même."
|
||||
|
||||
#: app/validators.py:929
|
||||
msgid "Invalid start date format."
|
||||
msgstr "Format de date de début invalide."
|
||||
|
||||
#: app/validators.py:791
|
||||
#: app/validators.py:930
|
||||
msgid "A start date is required."
|
||||
msgstr "Une date de début est requise."
|
||||
|
||||
#: app/validators.py:797
|
||||
#: app/validators.py:936
|
||||
msgid "Invalid end date format."
|
||||
msgstr "Format de date de fin invalide."
|
||||
|
||||
#: app/validators.py:805
|
||||
#: app/validators.py:944
|
||||
msgid "A tryout must allow at least one player."
|
||||
msgstr "Une sélection doit accepter au moins un joueur."
|
||||
|
||||
#: app/validators.py:808
|
||||
#: app/validators.py:947
|
||||
msgid "The player limit must be a whole number."
|
||||
msgstr "La limite de joueurs doit être un nombre entier."
|
||||
|
||||
#: app/validators.py:820
|
||||
#: app/validators.py:959
|
||||
msgid "End date cannot be before start date."
|
||||
msgstr "La date de fin ne peut pas précéder la date de début."
|
||||
|
||||
#: app/validators.py:847 app/validators.py:848
|
||||
#: app/validators.py:986 app/validators.py:987
|
||||
msgid "Team name is required."
|
||||
msgstr "Le nom de l’équipe est obligatoire."
|
||||
|
||||
#: app/validators.py:872
|
||||
#: app/validators.py:1011
|
||||
msgid "Scores run from 1 to 10."
|
||||
msgstr "Les notes vont de 1 à 10."
|
||||
|
||||
#: app/validators.py:873
|
||||
#: app/validators.py:1012
|
||||
msgid "A score must be a whole number from 1 to 10."
|
||||
msgstr "Une note doit être un nombre entier de 1 à 10."
|
||||
|
||||
#: app/routes/auth.py:245
|
||||
#: app/routes/auth.py:246
|
||||
msgid "This account has been deactivated."
|
||||
msgstr "Ce compte a été désactivé."
|
||||
|
||||
#: app/routes/auth.py:280
|
||||
#: app/routes/auth.py:281
|
||||
#, python-format
|
||||
msgid "Welcome back, %(username)s!"
|
||||
msgstr "Bon retour, %(username)s !"
|
||||
|
||||
#: app/routes/auth.py:310
|
||||
#: app/routes/auth.py:311
|
||||
msgid ""
|
||||
"Login unsuccessful. Please check your username and password, or ask a "
|
||||
"president for help."
|
||||
@@ -241,32 +281,32 @@ msgstr ""
|
||||
"Échec de la connexion. Vérifiez le nom d’utilisateur et le mot de passe, "
|
||||
"ou demandez de l’aide à un président."
|
||||
|
||||
#: app/routes/auth.py:376
|
||||
#: app/routes/auth.py:377
|
||||
msgid "Your registration could not be processed. Please try again."
|
||||
msgstr "Votre inscription n'a pas pu être traitée. Veuillez réessayer."
|
||||
|
||||
#: app/routes/auth.py:411 app/routes/users/accounts.py:339
|
||||
#: app/routes/auth.py:419 app/routes/users/accounts.py:343
|
||||
msgid "Username already exists."
|
||||
msgstr "Ce nom d’utilisateur est déjà pris."
|
||||
|
||||
#: app/routes/auth.py:415 app/routes/users/accounts.py:343
|
||||
#: app/routes/auth.py:423 app/routes/users/accounts.py:347
|
||||
msgid "Email already registered."
|
||||
msgstr "Cette adresse courriel est déjà enregistrée."
|
||||
|
||||
#: app/routes/auth.py:422 app/routes/auth.py:617
|
||||
#: app/routes/auth.py:430 app/routes/auth.py:623
|
||||
#: app/routes/users/accounts.py:121
|
||||
msgid "This Discord account is already linked to another account."
|
||||
msgstr "Ce compte Discord est déjà lié à un autre compte."
|
||||
|
||||
#: app/routes/auth.py:466
|
||||
#: app/routes/auth.py:472
|
||||
msgid "Your account has been created! You can now log in."
|
||||
msgstr "Votre compte a été créé. Vous pouvez maintenant vous connecter."
|
||||
|
||||
#: app/routes/auth.py:491
|
||||
#: app/routes/auth.py:497
|
||||
msgid "Discord OAuth2 is not configured."
|
||||
msgstr "La connexion Discord n’est pas configurée."
|
||||
|
||||
#: app/routes/auth.py:540
|
||||
#: app/routes/auth.py:546
|
||||
msgid ""
|
||||
"Discord authorization could not be verified. Please start the connection "
|
||||
"again from this page."
|
||||
@@ -274,35 +314,35 @@ msgstr ""
|
||||
"L’autorisation Discord n’a pas pu être vérifiée. Relancez la connexion "
|
||||
"depuis cette page."
|
||||
|
||||
#: app/routes/auth.py:549
|
||||
#: app/routes/auth.py:555
|
||||
msgid "Discord authorization failed. No code received."
|
||||
msgstr "L’autorisation Discord a échoué : aucun code reçu."
|
||||
|
||||
#: app/routes/auth.py:573
|
||||
#: app/routes/auth.py:579
|
||||
msgid "Failed to connect to Discord. Please try again."
|
||||
msgstr "Impossible de joindre Discord. Veuillez réessayer."
|
||||
|
||||
#: app/routes/auth.py:577
|
||||
#: app/routes/auth.py:583
|
||||
msgid "Failed to obtain Discord access token."
|
||||
msgstr "Impossible d’obtenir le jeton d’accès Discord."
|
||||
|
||||
#: app/routes/auth.py:592 app/routes/auth.py:602
|
||||
#: app/routes/auth.py:598 app/routes/auth.py:608
|
||||
msgid "Failed to fetch Discord user profile."
|
||||
msgstr "Impossible de récupérer le profil Discord."
|
||||
|
||||
#: app/routes/auth.py:609
|
||||
#: app/routes/auth.py:615
|
||||
msgid "Please log in to connect your Discord account."
|
||||
msgstr "Veuillez vous connecter pour lier votre compte Discord."
|
||||
|
||||
#: app/routes/auth.py:628
|
||||
#: app/routes/auth.py:634
|
||||
msgid "Discord account connected!"
|
||||
msgstr "Compte Discord connecté !"
|
||||
|
||||
#: app/routes/auth.py:675
|
||||
#: app/routes/auth.py:681
|
||||
msgid "Discord account connected! Your profile has been pre-filled."
|
||||
msgstr "Compte Discord connecté. Votre profil a été pré-rempli."
|
||||
|
||||
#: app/routes/auth.py:703
|
||||
#: app/routes/auth.py:709
|
||||
msgid "You have been logged out."
|
||||
msgstr "Vous avez été déconnecté."
|
||||
|
||||
@@ -336,10 +376,10 @@ msgstr "Évaluation mise à jour."
|
||||
|
||||
#: app/routes/evaluations.py:210 app/routes/teams.py:341
|
||||
#: app/routes/teams.py:384 app/routes/teams.py:427 app/routes/teams.py:455
|
||||
#: app/routes/teams.py:483 app/routes/teams.py:520 app/routes/tryouts.py:444
|
||||
#: app/routes/tryouts.py:460 app/routes/tryouts.py:480
|
||||
#: app/routes/tryouts.py:527 app/routes/tryouts.py:563
|
||||
#: app/routes/tryouts.py:582
|
||||
#: app/routes/teams.py:483 app/routes/teams.py:520 app/routes/tryouts.py:471
|
||||
#: app/routes/tryouts.py:491 app/routes/tryouts.py:515
|
||||
#: app/routes/tryouts.py:562 app/routes/tryouts.py:598
|
||||
#: app/routes/tryouts.py:621
|
||||
msgid "Permission denied."
|
||||
msgstr "Accès refusé."
|
||||
|
||||
@@ -347,37 +387,37 @@ msgstr "Accès refusé."
|
||||
msgid "That language is not available."
|
||||
msgstr "Cette langue n’est pas disponible."
|
||||
|
||||
#: app/routes/matches.py:364
|
||||
#: app/routes/matches.py:383
|
||||
msgid "You do not have permission to schedule matches for this tryout."
|
||||
msgstr "Vous n’avez pas les droits pour planifier des matchs pour cette sélection."
|
||||
|
||||
#: app/routes/matches.py:368 app/routes/matches.py:448
|
||||
#: app/routes/matches.py:387 app/routes/matches.py:463
|
||||
msgid "This tryout has ended. Matches can no longer be created or modified."
|
||||
msgstr ""
|
||||
"Cette sélection est terminée. Les matchs ne peuvent plus être créés ni "
|
||||
"modifiés."
|
||||
|
||||
#: app/routes/matches.py:430
|
||||
#: app/routes/matches.py:445
|
||||
msgid "Match scheduled successfully!"
|
||||
msgstr "Match planifié."
|
||||
|
||||
#: app/routes/matches.py:444 app/routes/team_matches.py:220
|
||||
#: app/routes/matches.py:459 app/routes/team_matches.py:220
|
||||
msgid "You do not have permission to edit this match."
|
||||
msgstr "Vous n’avez pas les droits pour modifier ce match."
|
||||
|
||||
#: app/routes/matches.py:539 app/routes/team_matches.py:250
|
||||
#: app/routes/matches.py:552 app/routes/team_matches.py:250
|
||||
msgid "Match updated successfully!"
|
||||
msgstr "Match mis à jour."
|
||||
|
||||
#: app/routes/matches.py:575 app/routes/team_matches.py:265
|
||||
#: app/routes/matches.py:588 app/routes/team_matches.py:265
|
||||
msgid "You do not have permission to delete this match."
|
||||
msgstr "Vous n’avez pas les droits pour supprimer ce match."
|
||||
|
||||
#: app/routes/matches.py:578
|
||||
#: app/routes/matches.py:591
|
||||
msgid "This tryout has ended. Matches can no longer be deleted."
|
||||
msgstr "Cette sélection est terminée. Les matchs ne peuvent plus être supprimés."
|
||||
|
||||
#: app/routes/matches.py:591 app/routes/team_matches.py:269
|
||||
#: app/routes/matches.py:604 app/routes/team_matches.py:269
|
||||
msgid "Match deleted successfully."
|
||||
msgstr "Match supprimé."
|
||||
|
||||
@@ -480,7 +520,7 @@ msgstr "Coach retiré de %(name)s."
|
||||
msgid "Manager removed from %(name)s."
|
||||
msgstr "Gérant retiré de %(name)s."
|
||||
|
||||
#: app/routes/teams.py:490 app/routes/tryouts.py:489 app/routes/tryouts.py:593
|
||||
#: app/routes/teams.py:490 app/routes/tryouts.py:524
|
||||
msgid "Please select a player."
|
||||
msgstr "Veuillez choisir un joueur."
|
||||
|
||||
@@ -498,7 +538,7 @@ msgstr "%(username)s fait déjà partie de %(name)s."
|
||||
msgid "%(username)s added to %(name)s!"
|
||||
msgstr "%(username)s a été ajouté à %(name)s."
|
||||
|
||||
#: app/routes/teams.py:527 app/routes/teams.py:601
|
||||
#: app/routes/teams.py:527 app/routes/teams.py:605
|
||||
#, python-format
|
||||
msgid "%(username)s is not on %(name)s."
|
||||
msgstr "%(username)s ne fait pas partie de %(name)s."
|
||||
@@ -508,130 +548,130 @@ msgstr "%(username)s ne fait pas partie de %(name)s."
|
||||
msgid "%(username)s removed from %(name)s."
|
||||
msgstr "%(username)s a été retiré de %(name)s."
|
||||
|
||||
#: app/routes/teams.py:572 app/routes/teams.py:590
|
||||
#: app/routes/teams.py:572 app/routes/teams.py:594
|
||||
msgid "You do not have permission to add notes to this team."
|
||||
msgstr "Vous n’avez pas les droits pour ajouter des notes à cette équipe."
|
||||
|
||||
#: app/routes/teams.py:580
|
||||
#: app/routes/teams.py:584
|
||||
msgid "Team notes added successfully!"
|
||||
msgstr "Notes d’équipe ajoutées."
|
||||
|
||||
#: app/routes/teams.py:595 app/routes/users/notes.py:207
|
||||
#: app/routes/users/notes.py:250
|
||||
#: app/routes/teams.py:599 app/routes/users/notes.py:222
|
||||
#: app/routes/users/notes.py:262
|
||||
msgid "Can only add notes for players."
|
||||
msgstr "Il n’est possible d’ajouter des notes que pour des joueurs."
|
||||
|
||||
#: app/routes/teams.py:611
|
||||
#: app/routes/teams.py:619
|
||||
#, python-format
|
||||
msgid "Note added for %(username)s!"
|
||||
msgstr "Note ajoutée pour %(username)s."
|
||||
|
||||
#: app/routes/tryouts.py:98
|
||||
#: app/routes/tryouts.py:125
|
||||
msgid "You do not have permission to create tryouts."
|
||||
msgstr "Vous n’avez pas les droits pour créer une sélection."
|
||||
|
||||
#: app/routes/tryouts.py:145
|
||||
#: app/routes/tryouts.py:172
|
||||
msgid "Tryout created successfully!"
|
||||
msgstr "Sélection créée."
|
||||
|
||||
#: app/routes/tryouts.py:158
|
||||
#: app/routes/tryouts.py:185
|
||||
msgid "You do not have permission to edit this tryout."
|
||||
msgstr "Vous n’avez pas les droits pour modifier cette sélection."
|
||||
|
||||
#: app/routes/tryouts.py:162
|
||||
#: app/routes/tryouts.py:189
|
||||
msgid "This tryout has ended and can no longer be modified."
|
||||
msgstr "Cette sélection est terminée et ne peut plus être modifiée."
|
||||
|
||||
#: app/routes/tryouts.py:202
|
||||
#: app/routes/tryouts.py:229
|
||||
msgid "Tryout updated successfully!"
|
||||
msgstr "Sélection mise à jour."
|
||||
|
||||
#: app/routes/tryouts.py:242
|
||||
#: app/routes/tryouts.py:269
|
||||
msgid "You do not have permission to view this tryout."
|
||||
msgstr "Vous n’avez pas les droits pour consulter cette sélection."
|
||||
|
||||
#: app/routes/tryouts.py:411
|
||||
#: app/routes/tryouts.py:437
|
||||
msgid "Only players can register for tryouts."
|
||||
msgstr "Seuls les joueurs peuvent s’inscrire à une sélection."
|
||||
|
||||
#: app/routes/tryouts.py:415
|
||||
#: app/routes/tryouts.py:442
|
||||
msgid "This tryout is not accepting registrations."
|
||||
msgstr "Cette sélection n’accepte pas d’inscriptions."
|
||||
|
||||
#: app/routes/tryouts.py:422
|
||||
#: app/routes/tryouts.py:449
|
||||
msgid "You are already registered for this tryout."
|
||||
msgstr "Vous êtes déjà inscrit à cette sélection."
|
||||
|
||||
#: app/routes/tryouts.py:428 app/routes/tryouts.py:511
|
||||
#: app/routes/tryouts.py:455 app/routes/tryouts.py:546
|
||||
msgid "This tryout is full."
|
||||
msgstr "Cette sélection est complète."
|
||||
|
||||
#: app/routes/tryouts.py:434
|
||||
#: app/routes/tryouts.py:461
|
||||
msgid "Successfully registered for tryout!"
|
||||
msgstr "Inscription à la sélection réussie."
|
||||
|
||||
#: app/routes/tryouts.py:450
|
||||
#: app/routes/tryouts.py:481
|
||||
#, python-format
|
||||
msgid "Tryout status updated to %(new_status)s."
|
||||
msgstr "Statut de la sélection mis à jour : %(new_status)s."
|
||||
|
||||
#: app/routes/tryouts.py:470
|
||||
#: app/routes/tryouts.py:505
|
||||
msgid "Registration status updated."
|
||||
msgstr "Statut d’inscription mis à jour."
|
||||
|
||||
#: app/routes/tryouts.py:497
|
||||
#: app/routes/tryouts.py:532
|
||||
msgid "Can only register players."
|
||||
msgstr "Seuls des joueurs peuvent être inscrits."
|
||||
|
||||
#: app/routes/tryouts.py:503
|
||||
#: app/routes/tryouts.py:538
|
||||
#, python-format
|
||||
msgid "%(username)s is already registered for this tryout."
|
||||
msgstr "%(username)s est déjà inscrit à cette sélection."
|
||||
|
||||
#: app/routes/tryouts.py:517
|
||||
#: app/routes/tryouts.py:552
|
||||
#, python-format
|
||||
msgid "%(username)s registered for tryout!"
|
||||
msgstr "%(username)s est inscrit à la sélection."
|
||||
|
||||
#: app/routes/tryouts.py:553
|
||||
#: app/routes/tryouts.py:588
|
||||
#, python-format
|
||||
msgid "%(username)s removed from tryout."
|
||||
msgstr "%(username)s a été retiré de la sélection."
|
||||
|
||||
#: app/routes/tryouts.py:571
|
||||
#: app/routes/tryouts.py:610
|
||||
#, python-format
|
||||
msgid "Team \"%(team_name)s\" created!"
|
||||
msgstr "Équipe « %(team_name)s » créée."
|
||||
|
||||
#: app/routes/tryouts.py:602
|
||||
#: app/routes/tryouts.py:643 app/routes/users/notes.py:350
|
||||
msgid "That player is not registered for this tryout."
|
||||
msgstr "Ce joueur n’est pas inscrit à cette sélection."
|
||||
|
||||
#: app/routes/tryouts.py:608
|
||||
#: app/routes/tryouts.py:648
|
||||
msgid "Player is already on this team."
|
||||
msgstr "Ce joueur est déjà dans cette équipe."
|
||||
|
||||
#: app/routes/tryouts.py:613
|
||||
#: app/routes/tryouts.py:653
|
||||
msgid "Player added to team!"
|
||||
msgstr "Joueur ajouté à l’équipe."
|
||||
|
||||
#: app/routes/tryouts.py:623
|
||||
#: app/routes/tryouts.py:663
|
||||
msgid "You do not have permission to delete this tryout."
|
||||
msgstr "Vous n’avez pas les droits pour supprimer cette sélection."
|
||||
|
||||
#: app/routes/tryouts.py:659
|
||||
#: app/routes/tryouts.py:699
|
||||
msgid "Tryout deleted successfully."
|
||||
msgstr "Sélection supprimée."
|
||||
|
||||
#: app/routes/users/_shared.py:51
|
||||
#: app/routes/users/_shared.py:50
|
||||
msgid "No file selected."
|
||||
msgstr "Aucun fichier sélectionné."
|
||||
|
||||
#: app/routes/users/_shared.py:55
|
||||
#: app/routes/users/_shared.py:54
|
||||
msgid "Only PDF files are allowed for contracts."
|
||||
msgstr "Seuls les fichiers PDF sont acceptés pour les contrats."
|
||||
|
||||
#: app/routes/users/_shared.py:60
|
||||
#: app/routes/users/_shared.py:59
|
||||
msgid "That file is not a PDF, whatever its name says."
|
||||
msgstr "Ce fichier n’est pas un PDF, quel que soit son nom."
|
||||
|
||||
@@ -647,13 +687,13 @@ msgstr "Seul le président peut modifier des utilisateurs."
|
||||
msgid "Email already in use by another account."
|
||||
msgstr "Cette adresse courriel est déjà utilisée par un autre compte."
|
||||
|
||||
#: app/routes/users/accounts.py:132
|
||||
#: app/routes/users/accounts.py:138
|
||||
msgid "You cannot change your own role. Ask another president to do it."
|
||||
msgstr ""
|
||||
"Vous ne pouvez pas modifier votre propre rôle. Demandez à un autre "
|
||||
"président de le faire."
|
||||
|
||||
#: app/routes/users/accounts.py:145
|
||||
#: app/routes/users/accounts.py:151
|
||||
msgid ""
|
||||
"This is the last active president. Promote another account before "
|
||||
"changing this one."
|
||||
@@ -661,29 +701,29 @@ msgstr ""
|
||||
"C’est le dernier président actif. Promouvez un autre compte avant de "
|
||||
"modifier celui-ci."
|
||||
|
||||
#: app/routes/users/accounts.py:224
|
||||
#: app/routes/users/accounts.py:228
|
||||
#, python-format
|
||||
msgid "User %(username)s updated successfully!"
|
||||
msgstr "Utilisateur %(username)s mis à jour."
|
||||
|
||||
#: app/routes/users/accounts.py:245
|
||||
#: app/routes/users/accounts.py:249
|
||||
msgid "Only the president can delete users."
|
||||
msgstr "Seul le président peut supprimer des utilisateurs."
|
||||
|
||||
#: app/routes/users/accounts.py:249
|
||||
#: app/routes/users/accounts.py:253
|
||||
msgid "You cannot delete your own account."
|
||||
msgstr "Vous ne pouvez pas supprimer votre propre compte."
|
||||
|
||||
#: app/routes/users/accounts.py:308
|
||||
#: app/routes/users/accounts.py:312
|
||||
#, python-format
|
||||
msgid "User %(deleted_username)s has been removed."
|
||||
msgstr "L’utilisateur %(deleted_username)s a été supprimé."
|
||||
|
||||
#: app/routes/users/accounts.py:319
|
||||
#: app/routes/users/accounts.py:323
|
||||
msgid "Only the president can create users."
|
||||
msgstr "Seul le président peut créer des utilisateurs."
|
||||
|
||||
#: app/routes/users/accounts.py:367
|
||||
#: app/routes/users/accounts.py:371
|
||||
#, python-format
|
||||
msgid "User %(full_name)s created as %(role)s!"
|
||||
msgstr "Utilisateur %(full_name)s créé avec le rôle %(role)s."
|
||||
@@ -721,56 +761,95 @@ msgstr "Vous n’avez pas les droits pour télécharger ce contrat."
|
||||
msgid "No signed contract available."
|
||||
msgstr "Aucun contrat signé disponible."
|
||||
|
||||
#: app/routes/users/notes.py:34
|
||||
#: app/routes/users/notes.py:43
|
||||
msgid "This page is for players only."
|
||||
msgstr "Cette page est réservée aux joueurs."
|
||||
|
||||
#: app/routes/users/notes.py:71
|
||||
#: app/routes/users/notes.py:80
|
||||
msgid "Only coaches can access the notes dashboard."
|
||||
msgstr "Seuls les coachs ont accès au tableau des notes."
|
||||
|
||||
#: app/routes/users/notes.py:161
|
||||
#: app/routes/users/notes.py:172
|
||||
msgid "Only coaches can manage team notes."
|
||||
msgstr "Seuls les coachs peuvent gérer les notes d’équipe."
|
||||
|
||||
#: app/routes/users/notes.py:167
|
||||
#: app/routes/users/notes.py:178
|
||||
msgid "You are not assigned to a team."
|
||||
msgstr "Vous n’êtes assigné à aucune équipe."
|
||||
|
||||
#: app/routes/users/notes.py:180
|
||||
#: app/routes/users/notes.py:195
|
||||
msgid "Team notes saved successfully!"
|
||||
msgstr "Notes d’équipe enregistrées."
|
||||
|
||||
#: app/routes/users/notes.py:195
|
||||
#: app/routes/users/notes.py:210
|
||||
msgid "Only coaches can manage personal notes."
|
||||
msgstr "Seuls les coachs peuvent gérer les notes personnelles."
|
||||
|
||||
#: app/routes/users/notes.py:202 app/routes/users/notes.py:245
|
||||
#: app/routes/users/notes.py:296 app/routes/users/notes.py:350
|
||||
msgid "Player and content are required."
|
||||
msgstr "Le joueur et le contenu sont obligatoires."
|
||||
|
||||
#: app/routes/users/notes.py:211 app/routes/users/notes.py:254
|
||||
#: app/routes/users/notes.py:300 app/routes/users/notes.py:354
|
||||
#: app/routes/users/notes.py:226 app/routes/users/notes.py:266
|
||||
#: app/routes/users/notes.py:346 app/routes/users/notes.py:411
|
||||
msgid "You can only write notes about players you work with."
|
||||
msgstr ""
|
||||
"Vous ne pouvez écrire des notes que sur les joueurs avec qui vous "
|
||||
"travaillez."
|
||||
|
||||
#: app/routes/users/notes.py:221 app/routes/users/notes.py:267
|
||||
#: app/routes/users/notes.py:236 app/routes/users/notes.py:306
|
||||
#, python-format
|
||||
msgid "Note added for %(username)s."
|
||||
msgstr "Note ajoutée pour %(username)s."
|
||||
|
||||
#: app/routes/users/notes.py:235 app/routes/users/notes.py:281
|
||||
#: app/routes/users/notes.py:334
|
||||
#: app/routes/users/notes.py:250 app/routes/users/notes.py:320
|
||||
#: app/routes/users/notes.py:384
|
||||
msgid "Only coaches can add personal notes."
|
||||
msgstr "Seuls les coachs peuvent ajouter des notes personnelles."
|
||||
|
||||
#: app/routes/users/notes.py:311 app/routes/users/notes.py:365
|
||||
#: app/routes/users/notes.py:272
|
||||
msgid "You cannot use that match as note context."
|
||||
msgstr "Vous ne pouvez pas utiliser ce match comme contexte de note."
|
||||
|
||||
#: app/routes/users/notes.py:275
|
||||
msgid "That player did not participate in the selected match."
|
||||
msgstr "Ce joueur n’a pas participé au match sélectionné."
|
||||
|
||||
#: app/routes/users/notes.py:281
|
||||
msgid "You cannot use that tryout as note context."
|
||||
msgstr "Vous ne pouvez pas utiliser cette sélection comme contexte de note."
|
||||
|
||||
#: app/routes/users/notes.py:284
|
||||
msgid "That player is not registered for the selected tryout."
|
||||
msgstr "Ce joueur n’est pas inscrit à la sélection choisie."
|
||||
|
||||
#: app/routes/users/notes.py:290
|
||||
msgid "You cannot use that team as note context."
|
||||
msgstr "Vous ne pouvez pas utiliser cette équipe comme contexte de note."
|
||||
|
||||
#: app/routes/users/notes.py:293
|
||||
msgid "That player is not on the selected team."
|
||||
msgstr "Ce joueur ne fait pas partie de l’équipe sélectionnée."
|
||||
|
||||
#: app/routes/users/notes.py:325
|
||||
msgid "You do not have permission to add notes for this tryout."
|
||||
msgstr "Vous n’avez pas les droits pour ajouter des notes à cette sélection."
|
||||
|
||||
#: app/routes/users/notes.py:342
|
||||
msgid "Invalid tryout context."
|
||||
msgstr "Contexte de sélection invalide."
|
||||
|
||||
#: app/routes/users/notes.py:361 app/routes/users/notes.py:426
|
||||
msgid "Note added successfully."
|
||||
msgstr "Note ajoutée."
|
||||
|
||||
#: app/routes/users/notes.py:389
|
||||
msgid "You do not have permission to add notes for this match."
|
||||
msgstr "Vous n’avez pas les droits pour ajouter des notes à ce match."
|
||||
|
||||
#: app/routes/users/notes.py:407
|
||||
msgid "Invalid match context."
|
||||
msgstr "Contexte de match invalide."
|
||||
|
||||
#: app/routes/users/notes.py:415
|
||||
msgid "That player did not participate in this match."
|
||||
msgstr "Ce joueur n’a pas participé à ce match."
|
||||
|
||||
#: app/routes/users/one_on_one.py:23
|
||||
msgid "Only players can request One on One sessions."
|
||||
msgstr "Seuls les joueurs peuvent demander une rencontre individuelle."
|
||||
@@ -812,7 +891,7 @@ msgstr "La demande de rencontre de %(player)s a été approuvée."
|
||||
msgid "Only coaches can reject One on One requests."
|
||||
msgstr "Seuls les coachs peuvent refuser une demande de rencontre."
|
||||
|
||||
#: app/routes/users/one_on_one.py:258
|
||||
#: app/routes/users/one_on_one.py:263
|
||||
#, python-format
|
||||
msgid "One on One request from %(player)s has been rejected."
|
||||
msgstr "La demande de rencontre de %(player)s a été refusée."
|
||||
@@ -825,7 +904,7 @@ msgstr "Ce nom d’utilisateur est déjà pris."
|
||||
msgid "Email already in use."
|
||||
msgstr "Cette adresse courriel est déjà utilisée."
|
||||
|
||||
#: app/routes/users/profile.py:121
|
||||
#: app/routes/users/profile.py:131
|
||||
msgid "Profile updated successfully!"
|
||||
msgstr "Profil mis à jour."
|
||||
|
||||
@@ -1221,7 +1300,7 @@ msgstr ""
|
||||
"individuelles"
|
||||
|
||||
#: app/templates/pages/coach_availability.html:14
|
||||
#: app/templates/pages/profile.html:216
|
||||
#: app/templates/pages/profile.html:213
|
||||
msgid "Loading availability grid..."
|
||||
msgstr "Chargement de la grille de disponibilités..."
|
||||
|
||||
@@ -1230,7 +1309,7 @@ msgid "Save Availability"
|
||||
msgstr "Enregistrer les disponibilités"
|
||||
|
||||
#: app/templates/pages/coach_availability.html:22
|
||||
#: app/templates/pages/profile.html:200 app/templates/pages/profile.html:220
|
||||
#: app/templates/pages/profile.html:197 app/templates/pages/profile.html:217
|
||||
msgid "Clear All"
|
||||
msgstr "Tout effacer"
|
||||
|
||||
@@ -2011,23 +2090,23 @@ msgstr ""
|
||||
"Les indicateurs verts signalent les joueurs disponibles à la date et à "
|
||||
"l’heure du match"
|
||||
|
||||
#: app/templates/pages/match_form.html:625
|
||||
#: app/templates/pages/match_form.html:632
|
||||
msgid "Click time slots consecutively to set match duration"
|
||||
msgstr "Cliquez des plages consécutives pour définir la durée du match"
|
||||
|
||||
#: app/templates/pages/match_form.html:892
|
||||
#: app/templates/pages/match_form.html:899
|
||||
msgid "No players registered"
|
||||
msgstr "Aucun joueur inscrit"
|
||||
|
||||
#: app/templates/pages/match_form.html:925
|
||||
#: app/templates/pages/match_form.html:932
|
||||
msgid "T1"
|
||||
msgstr "É1"
|
||||
|
||||
#: app/templates/pages/match_form.html:926
|
||||
#: app/templates/pages/match_form.html:933
|
||||
msgid "T2"
|
||||
msgstr "É2"
|
||||
|
||||
#: app/templates/pages/match_form.html:931
|
||||
#: app/templates/pages/match_form.html:938
|
||||
msgid "No players available"
|
||||
msgstr "Aucun joueur disponible"
|
||||
|
||||
@@ -2382,15 +2461,11 @@ msgstr ""
|
||||
"Choisissez vos plages disponibles pour les matchs (17 h à minuit). Vert ="
|
||||
" sélectionné, gris = disponible."
|
||||
|
||||
#: app/templates/pages/profile.html:197
|
||||
msgid "Save Disponibilities"
|
||||
msgstr "Enregistrer mes disponibilités"
|
||||
|
||||
#: app/templates/pages/profile.html:211
|
||||
#: app/templates/pages/profile.html:208
|
||||
msgid "My Coaching Availability"
|
||||
msgstr "Mes disponibilités de coaching"
|
||||
|
||||
#: app/templates/pages/profile.html:212
|
||||
#: app/templates/pages/profile.html:209
|
||||
msgid ""
|
||||
"Select time slots when you're available for One on One sessions (8am to "
|
||||
"10pm)."
|
||||
@@ -2398,7 +2473,7 @@ msgstr ""
|
||||
"Choisissez les plages où vous êtes disponible pour des rencontres "
|
||||
"individuelles (8 h à 22 h)."
|
||||
|
||||
#: app/templates/pages/profile.html:460
|
||||
#: app/templates/pages/profile.html:457
|
||||
msgid "Click or click-and-drag to select your available hours"
|
||||
msgstr "Cliquez ou faites glisser pour choisir vos heures de disponibilité"
|
||||
|
||||
@@ -3025,3 +3100,9 @@ msgstr "Voir le profil"
|
||||
|
||||
#~ msgid "Team Tryout Management System"
|
||||
#~ msgstr "Système de gestion des sélections d’équipe"
|
||||
|
||||
#~ msgid "Player and content are required."
|
||||
#~ msgstr "Le joueur et le contenu sont obligatoires."
|
||||
|
||||
#~ msgid "Save Disponibilities"
|
||||
#~ msgstr "Enregistrer mes disponibilités"
|
||||
|
||||
Reference in New Issue
Block a user