fix(audit): fermer les frontieres restantes

This commit is contained in:
GGThed
2026-08-17 14:34:06 -04:00
parent f84cb4e3b6
commit 105a72700f
28 changed files with 1511 additions and 617 deletions
Binary file not shown.
+305 -224
View File
@@ -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 dutilisateur 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 dutilisateur doit compter de 3 à 80 caractères."
@@ -71,8 +71,8 @@ msgstr "Le nom dutilisateur doit compter de 3 à 80 caractères."
msgid "Email must be 120 characters or less."
msgstr "Ladresse 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 "Lheure 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 "Lheure 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 dheure invalide."
#: app/validators.py:681
msgid "Start time is required. Please select a time slot."
msgstr "Lheure 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 dinscription 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 "Lheure 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 "Lheure 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 dheure invalide."
#: app/validators.py:820
msgid "Start time is required. Please select a time slot."
msgstr "Lheure 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 dutilisateur et le mot de passe, "
"ou demandez de laide à 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 dutilisateur 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 nest 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 ""
"Lautorisation Discord na 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 "Lautorisation 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 dobtenir le jeton daccè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 nest 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 navez 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 navez 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 navez 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 navez 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 nest possible dajouter 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 navez 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 navez 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 navez 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 sinscrire à une sélection."
#: app/routes/tryouts.py:415
#: app/routes/tryouts.py:442
msgid "This tryout is not accepting registrations."
msgstr "Cette sélection naccepte pas dinscriptions."
#: 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 dinscription 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 nest 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 navez 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 nest 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 ""
"Cest 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 "Lutilisateur %(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 navez 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 na 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 nest 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 navez 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 navez 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 na 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 dutilisateur 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 à "
"lheure 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"