From 2b3f102ac3f73e00e8d4ab76f7037dcd1adba547 Mon Sep 17 00:00:00 2001 From: Raz Date: Mon, 19 May 2025 19:18:31 +0200 Subject: [PATCH] piste au lieu de terrains --- PadelClub/Views/Club/CourtView.swift | 4 ++-- .../Club/Shared/ClubCourtSetupView.swift | 4 ++-- .../Components/GroupStageSettingsView.swift | 2 +- PadelClub/Views/Match/MatchDetailView.swift | 8 ++++---- .../Ongoing/OngoingDestination.swift | 6 +++--- .../Navigation/Ongoing/OngoingView.swift | 2 +- .../Components/MultiCourtPickerView.swift | 2 +- .../CourtAvailabilitySettingsView.swift | 6 +++--- .../Views/Planning/PlanningByCourtView.swift | 8 ++++---- .../Views/Planning/PlanningSettingsView.swift | 20 +++++++++---------- PadelClub/Views/Planning/PlanningView.swift | 4 ++-- PadelClub/Views/Score/FollowUpMatchView.swift | 4 ++-- .../TournamentClubSettingsView.swift | 10 +++++----- .../Screen/TournamentSettingsView.swift | 2 +- .../Views/Tournament/TournamentInitView.swift | 2 +- 15 files changed, 42 insertions(+), 42 deletions(-) diff --git a/PadelClub/Views/Club/CourtView.swift b/PadelClub/Views/Club/CourtView.swift index bb1b3dd..6de7b16 100644 --- a/PadelClub/Views/Club/CourtView.swift +++ b/PadelClub/Views/Club/CourtView.swift @@ -44,7 +44,7 @@ struct CourtView: View { } } } label: { - Text("Nom du terrain") + Text("Nom de la piste") } } footer: { if court.name?.isEmpty == false { @@ -65,7 +65,7 @@ struct CourtView: View { Text("Sortie autorisée") } Toggle(isOn: $court.indoor) { - Text("Terrain intérieur") + Text("Piste intérieur") } } } diff --git a/PadelClub/Views/Club/Shared/ClubCourtSetupView.swift b/PadelClub/Views/Club/Shared/ClubCourtSetupView.swift index 540f829..bbb6ef9 100644 --- a/PadelClub/Views/Club/Shared/ClubCourtSetupView.swift +++ b/PadelClub/Views/Club/Shared/ClubCourtSetupView.swift @@ -19,7 +19,7 @@ struct ClubCourtSetupView: View { @ViewBuilder var body: some View { Section { - TournamentFieldsManagerView(localizedStringKey: "Terrains du club", count: $club.courtCount) + TournamentFieldsManagerView(localizedStringKey: "Pistes du club", count: $club.courtCount) .disabled(displayContext == .lockedForEditing) .onChange(of: club.courtCount) { if displayContext != .addition { @@ -53,7 +53,7 @@ struct ClubCourtSetupView: View { _courtView(atIndex: courtIndex, tournamentClub: club) } } header: { - Text("Nom des terrains") + Text("Nom des pistes") } footer: { if displayContext == .lockedForEditing && hideLockForEditingMessage == false { Text("Édition impossible, vous n'êtes pas le créateur de ce club.").foregroundStyle(.logoRed) diff --git a/PadelClub/Views/GroupStage/Components/GroupStageSettingsView.swift b/PadelClub/Views/GroupStage/Components/GroupStageSettingsView.swift index a7968eb..d823228 100644 --- a/PadelClub/Views/GroupStage/Components/GroupStageSettingsView.swift +++ b/PadelClub/Views/GroupStage/Components/GroupStageSettingsView.swift @@ -64,7 +64,7 @@ struct GroupStageSettingsView: View { } Section { - CourtPicker(title: "Terrain dédié", selection: $courtIndex, maxCourt: tournament.courtCount) + CourtPicker(title: "Piste dédié", selection: $courtIndex, maxCourt: tournament.courtCount) RowButtonView("Confirmer", role: .destructive) { groupStage._matches().forEach { match in match.setCourt(courtIndex) diff --git a/PadelClub/Views/Match/MatchDetailView.swift b/PadelClub/Views/Match/MatchDetailView.swift index 7f0fa2a..6b0e3c8 100644 --- a/PadelClub/Views/Match/MatchDetailView.swift +++ b/PadelClub/Views/Match/MatchDetailView.swift @@ -325,7 +325,7 @@ struct MatchDetailView: View { match.removeCourt() save() } label: { - Text("Supprimer le terrain") + Text("Supprimer la piste") } } Button(role: .destructive) { @@ -405,7 +405,7 @@ struct MatchDetailView: View { } } label: { VStack(alignment: .leading) { - Text("terrain").font(.footnote).foregroundStyle(.secondary) + Text("piste").font(.footnote).foregroundStyle(.secondary) if let courtName = match.courtName() { Text(courtName) .foregroundStyle(Color.master) @@ -472,7 +472,7 @@ struct MatchDetailView: View { DisclosureGroup(isExpanded: $isEditing) { startingOptionView } label: { - Text("Modifier l'horaire et le terrain") + Text("Modifier l'horaire et la piste") } } @@ -536,7 +536,7 @@ struct MatchDetailView: View { } } } label: { - Text("Terrain") + Text("Piste") } .onChange(of: fieldSetup) { if let courtIndex = fieldSetup.courtIndex { diff --git a/PadelClub/Views/Navigation/Ongoing/OngoingDestination.swift b/PadelClub/Views/Navigation/Ongoing/OngoingDestination.swift index 3018ec0..a416e09 100644 --- a/PadelClub/Views/Navigation/Ongoing/OngoingDestination.swift +++ b/PadelClub/Views/Navigation/Ongoing/OngoingDestination.swift @@ -58,9 +58,9 @@ enum OngoingDestination: Int, CaseIterable, Identifiable, Selectable, Equatable case .followUp: ContentUnavailableView("Aucun match à suivre", systemImage: "figure.tennis", description: Text("Tous vos matchs planifiés et confirmés, seront visibles ici, quelque soit le tournoi.")) case .court: - ContentUnavailableView("Aucun match en cours", systemImage: "sportscourt", description: Text("Tous vos terrains correspondant aux matchs en cours seront visibles ici, quelque soit le tournoi.")) + ContentUnavailableView("Aucun match en cours", systemImage: "sportscourt", description: Text("Toutes vos pistes correspondant aux matchs en cours seront visibles ici, quelque soit le tournoi.")) case .free: - ContentUnavailableView("Aucun terrain libre", systemImage: "sportscourt", description: Text("Les terrains libres seront visibles ici, quelque soit le tournoi.")) + ContentUnavailableView("Aucune piste libre", systemImage: "sportscourt", description: Text("Les pistes libres seront visibles ici, quelque soit le tournoi.")) case .over: ContentUnavailableView("Aucun match terminé", systemImage: "clock.badge.xmark", description: Text("Les matchs terminés seront visibles ici, quelque soit le tournoi.")) } @@ -73,7 +73,7 @@ enum OngoingDestination: Int, CaseIterable, Identifiable, Selectable, Equatable case .followUp: return "À suivre" case .court: - return "Terrains" + return "Pistes" case .free: return "Libres" case .over: diff --git a/PadelClub/Views/Navigation/Ongoing/OngoingView.swift b/PadelClub/Views/Navigation/Ongoing/OngoingView.swift index b6d1f8f..b0ab784 100644 --- a/PadelClub/Views/Navigation/Ongoing/OngoingView.swift +++ b/PadelClub/Views/Navigation/Ongoing/OngoingView.swift @@ -89,7 +89,7 @@ struct OngoingCourtView: View { List { ForEach(filterMode.sortedCourtIndex, id: \.self) { index in let courtFilteredMatches = filteredMatches.filter({ $0.courtIndex == index }) - let title : String = (index == nil ? "Aucun terrain défini" : "Terrain #\(index! + 1)") + let title : String = (index == nil ? "Aucune piste définie" : "Piste #\(index! + 1)") if (filterMode == .free && courtFilteredMatches.isEmpty) || (filterMode == .court && courtFilteredMatches.isEmpty == false) { Section { MatchListView(section: "En cours", matches: courtFilteredMatches, hideWhenEmpty: true, isExpanded: false) diff --git a/PadelClub/Views/Planning/Components/MultiCourtPickerView.swift b/PadelClub/Views/Planning/Components/MultiCourtPickerView.swift index 8cbe429..448c15d 100644 --- a/PadelClub/Views/Planning/Components/MultiCourtPickerView.swift +++ b/PadelClub/Views/Planning/Components/MultiCourtPickerView.swift @@ -32,7 +32,7 @@ struct MultiCourtPickerView: View { } } } - .navigationTitle("Terrains disponibles") + .navigationTitle("Pistes disponibles") .toolbarBackground(.visible, for: .navigationBar) .environment(\.editMode, Binding.constant(EditMode.active)) } diff --git a/PadelClub/Views/Planning/CourtAvailabilitySettingsView.swift b/PadelClub/Views/Planning/CourtAvailabilitySettingsView.swift index e34c906..5ef5247 100644 --- a/PadelClub/Views/Planning/CourtAvailabilitySettingsView.swift +++ b/PadelClub/Views/Planning/CourtAvailabilitySettingsView.swift @@ -99,9 +99,9 @@ struct CourtAvailabilitySettingsView: View { .overlay { if courtsUnavailability.isEmpty { ContentUnavailableView { - Label("Tous les terrains sont disponibles", systemImage: "checkmark.circle.fill").tint(.green) + Label("Tous les pistes sont disponibles", systemImage: "checkmark.circle.fill").tint(.green) } description: { - Text("Vous pouvez précisez l'indisponibilité d'une ou plusieurs terrains, que ce soit pour une journée entière ou un créneau précis.") + Text("Vous pouvez précisez l'indisponibilité d'une ou plusieurs pistes, que ce soit pour une journée entière ou un créneau précis.") } actions: { RowButtonView("Ajouter une indisponibilité", systemImage: "plus.circle.fill") { showingPopover = true @@ -175,7 +175,7 @@ struct CourtAvailabilityEditorView: View { NavigationStack { Form { Section { - CourtPicker(title: "Terrain", selection: $courtIndex, maxCourt: tournament.courtCount) + CourtPicker(title: "Piste", selection: $courtIndex, maxCourt: tournament.courtCount) } Section { diff --git a/PadelClub/Views/Planning/PlanningByCourtView.swift b/PadelClub/Views/Planning/PlanningByCourtView.swift index d3447f9..2a6a12a 100644 --- a/PadelClub/Views/Planning/PlanningByCourtView.swift +++ b/PadelClub/Views/Planning/PlanningByCourtView.swift @@ -91,13 +91,13 @@ struct PlanningByCourtView: View { Picker(selection: $selectedCourt) { ForEach(courts, id: \.self) { courtIndex in if courtIndex == Int.max { - Label("Sans terrain", systemImage: "rectangle.slash").tag(Int.max) + Label("Sans piste", systemImage: "rectangle.slash").tag(Int.max) } else { Text(tournament.courtName(atIndex: courtIndex)).tag(courtIndex) } } } label: { - Text("Terrain") + Text("Piste") } .pickerStyle(.automatic) } @@ -135,7 +135,7 @@ struct PlanningByCourtView: View { ContentUnavailableView { Label("Aucun match planifié", systemImage: "clock.badge.questionmark") } description: { - Text("Aucun match n'a été planifié sur ce terrain et au jour sélectionné") + Text("Aucun match n'a été planifié sur cette piste et au jour sélectionné") } actions: { } } @@ -143,7 +143,7 @@ struct PlanningByCourtView: View { ContentUnavailableView { Label("Aucun match planifié", systemImage: "clock.badge.questionmark") } description: { - Text("Aucun match n'a été planifié sur ce terrain et au jour sélectionné") + Text("Aucun match n'a été planifié sur cette piste et au jour sélectionné") } actions: { } } diff --git a/PadelClub/Views/Planning/PlanningSettingsView.swift b/PadelClub/Views/Planning/PlanningSettingsView.swift index 2850ba4..db24db4 100644 --- a/PadelClub/Views/Planning/PlanningSettingsView.swift +++ b/PadelClub/Views/Planning/PlanningSettingsView.swift @@ -63,7 +63,7 @@ struct PlanningSettingsView: View { Text("\(tournament.dayDuration) jour" + tournament.dayDuration.pluralSuffix) } - TournamentFieldsManagerView(localizedStringKey: "Terrains maximum", count: $tournament.courtCount) + TournamentFieldsManagerView(localizedStringKey: "Pistes maximum", count: $tournament.courtCount) if let event = tournament.eventObject() { NavigationLink { @@ -85,7 +85,7 @@ struct PlanningSettingsView: View { LabeledContent { Text(matchScheduler.courtsAvailable.count.formatted() + "/" + tournament.courtCount.formatted()) } label: { - Text("Sélection des terrains") + Text("Sélection des pistes") if matchScheduler.courtsAvailable.count > tournament.courtCount { Text("Attention !") .tint(.red) @@ -97,7 +97,7 @@ struct PlanningSettingsView: View { if tournament.courtCount < club.courtCount { let plural = tournament.courtCount.pluralSuffix let verb = tournament.courtCount > 1 ? "seront" : "sera" - Text("En réduisant les terrains maximum, seul\(plural) le\(plural) \(tournament.courtCount) premier\(plural) terrain\(plural) \(verb) utilisé\(plural)") + Text(", par contre, si vous gardez le nombre de terrains du club, vous pourrez plutôt préciser quel terrain n'est pas disponible.") + Text("En réduisant les pistes maximum, seule\(plural) le\(plural) \(tournament.courtCount) première\(plural) piste\(plural) \(verb) utilisée\(plural)") + Text(", par contre, si vous gardez le nombre de pistes du club, vous pourrez plutôt préciser quelle piste n'est pas disponible.") } else if tournament.courtCount > club.courtCount { let isCreatedByUser = club.hasBeenCreated(by: StoreCenter.main.userId) Button { @@ -109,10 +109,10 @@ struct PlanningSettingsView: View { } } label: { if isCreatedByUser { - Text("Vous avez indiqué plus de terrains dans ce tournoi que dans le club. ") + Text("Vous avez indiqué plus de pistes dans ce tournoi que dans le club. ") + Text("Mettre à jour le club ?").underline().foregroundStyle(.master) } else { - Label("Vous avez indiqué plus de terrains dans ce tournoi que dans le club.", systemImage: "exclamationmark.triangle.fill").foregroundStyle(.logoRed) + Label("Vous avez indiqué plus de pistes dans ce tournoi que dans le club.", systemImage: "exclamationmark.triangle.fill").foregroundStyle(.logoRed) } } .buttonStyle(.plain) @@ -122,7 +122,7 @@ struct PlanningSettingsView: View { } if issueFound { - Text("Padel Club n'a pas réussi à définir un horaire pour tous les matchs de ce tournoi, à cause de la programmation d'autres tournois ou de l'indisponibilité des terrains.") + Text("Padel Club n'a pas réussi à définir un horaire pour tous les matchs de ce tournoi, à cause de la programmation d'autres tournois ou de l'indisponibilité des pistes.") .foregroundStyle(.logoRed) } @@ -141,7 +141,7 @@ struct PlanningSettingsView: View { } } footer: { if let event, event.tournaments.count > 1 { - Text("Cette option fait en sorte qu'un terrain pris par un match d'un autre tournoi de cet événement soit toujours considéré comme libre.") + Text("Cette option fait en sorte qu'une piste prise par un match d'un autre tournoi de cet événement soit toujours considéré comme libre.") } } @@ -421,13 +421,13 @@ struct PlanningSettingsView: View { Section { Toggle(isOn: $matchScheduler.randomizeCourts) { - Text("Distribuer les terrains au hasard") + Text("Distribuer les pistes au hasard") } } Section { Toggle(isOn: $matchScheduler.shouldTryToFillUpCourtsAvailable) { - Text("Remplir au maximum les terrains d'une rotation") + Text("Remplir au maximum les pistes d'une rotation") } } footer: { Text("Tout en tenant compte de l'option ci-dessous, Padel Club essaiera de remplir les créneaux à chaque rotation.") @@ -438,7 +438,7 @@ struct PlanningSettingsView: View { Text("Équilibrer les matchs d'une manche") } } footer: { - Text("Cette option permet de programmer une manche sur plusieurs rotation de manière équilibrée dans le cas où il y a plus de matchs à jouer dans cette manche que de terrains.") + Text("Cette option permet de programmer une manche sur plusieurs rotation de manière équilibrée dans le cas où il y a plus de matchs à jouer dans cette manche que de pistes.") } Section { diff --git a/PadelClub/Views/Planning/PlanningView.swift b/PadelClub/Views/Planning/PlanningView.swift index 66138e8..a72e874 100644 --- a/PadelClub/Views/Planning/PlanningView.swift +++ b/PadelClub/Views/Planning/PlanningView.swift @@ -651,7 +651,7 @@ struct PlanningView: View { _save() } } label: { - Text("Terrains") + Text("Pistes") .underline(underlined) } @@ -812,7 +812,7 @@ enum PlanningFilterOption: Int, CaseIterable, Identifiable { func localizedPlanningLabel() -> String { switch self { case .byCourt: - return "Par terrain" + return "Par piste" case .byDefault: return "Par ordre des matchs" } diff --git a/PadelClub/Views/Score/FollowUpMatchView.swift b/PadelClub/Views/Score/FollowUpMatchView.swift index 9e0fdab..2b65381 100644 --- a/PadelClub/Views/Score/FollowUpMatchView.swift +++ b/PadelClub/Views/Score/FollowUpMatchView.swift @@ -69,7 +69,7 @@ struct FollowUpMatchView: View { case .index: return "Ordre prévu" case .court: - return "Terrain" + return "Piste" case .restingTime: return "Temps de repos" case .winner: @@ -285,7 +285,7 @@ struct FollowUpMatchView: View { } } } label: { - Text("Sur le terrain") + Text("Sur la piste") } .labelsHidden() .underline() diff --git a/PadelClub/Views/Tournament/Screen/Components/TournamentClubSettingsView.swift b/PadelClub/Views/Tournament/Screen/Components/TournamentClubSettingsView.swift index 6d63c78..ce67e4b 100644 --- a/PadelClub/Views/Tournament/Screen/Components/TournamentClubSettingsView.swift +++ b/PadelClub/Views/Tournament/Screen/Components/TournamentClubSettingsView.swift @@ -22,7 +22,7 @@ struct TournamentClubSettingsView: View { let selectedClub = event?.clubObject() Section { - TournamentFieldsManagerView(localizedStringKey: "Terrains pour le tournoi", count: $tournament.courtCount) + TournamentFieldsManagerView(localizedStringKey: "Pistes pour le tournoi", count: $tournament.courtCount) .onChange(of: tournament.courtCount) { do { try dataStore.tournaments.addOrUpdate(instance: tournament) @@ -36,7 +36,7 @@ struct TournamentClubSettingsView: View { CourtAvailabilitySettingsView(event: event) .environment(tournament) } label: { - Text("Indisponibilités des terrains") + Text("Indisponibilités des pistes") } } } footer: { @@ -44,7 +44,7 @@ struct TournamentClubSettingsView: View { if tournament.courtCount < club.courtCount { let plural = tournament.courtCount.pluralSuffix let verb = tournament.courtCount > 1 ? "seront" : "sera" - Text("En réduisant les terrains maximum, seul\(plural) le\(plural) \(tournament.courtCount) premier\(plural) terrain\(plural) \(verb) utilisé\(plural)") + Text(", par contre, si vous gardez le nombre de terrains du club, vous pourrez plutôt préciser quel terrain n'est pas disponible.") + Text("En réduisant les pistes maximum, seule\(plural) le\(plural) \(tournament.courtCount) première\(plural) piste\(plural) \(verb) utilisée\(plural)") + Text(", par contre, si vous gardez le nombre de pistes du club, vous pourrez plutôt préciser quelle piste n'est pas disponible.") } else if tournament.courtCount > club.courtCount { let isCreatedByUser = club.hasBeenCreated(by: StoreCenter.main.userId) Button { @@ -56,10 +56,10 @@ struct TournamentClubSettingsView: View { } } label: { if isCreatedByUser { - Text("Vous avez indiqué plus de terrains dans ce tournoi que dans le club.") + Text("Vous avez indiqué plus de pistes dans ce tournoi que dans le club.") + Text("Mettre à jour le club ?").underline().foregroundStyle(.master) } else { - Label("Vous avez indiqué plus de terrains dans ce tournoi que dans le club.", systemImage: "exclamationmark.triangle.fill").foregroundStyle(.logoRed) + Label("Vous avez indiqué plus de pistes dans ce tournoi que dans le club.", systemImage: "exclamationmark.triangle.fill").foregroundStyle(.logoRed) } } .buttonStyle(.plain) diff --git a/PadelClub/Views/Tournament/Screen/TournamentSettingsView.swift b/PadelClub/Views/Tournament/Screen/TournamentSettingsView.swift index b11cc37..a9b29aa 100644 --- a/PadelClub/Views/Tournament/Screen/TournamentSettingsView.swift +++ b/PadelClub/Views/Tournament/Screen/TournamentSettingsView.swift @@ -30,7 +30,7 @@ enum TournamentSettings: Identifiable, Selectable, Equatable { case .general: return "Général" case .club: - return "Terrains" + return "Pistes" case .tournamentType: return "Type" } diff --git a/PadelClub/Views/Tournament/TournamentInitView.swift b/PadelClub/Views/Tournament/TournamentInitView.swift index bb13869..b54e5c7 100644 --- a/PadelClub/Views/Tournament/TournamentInitView.swift +++ b/PadelClub/Views/Tournament/TournamentInitView.swift @@ -78,7 +78,7 @@ struct TournamentInitView: View { Text(tournament.localizedTournamentType()) } label: { Text("Réglages du tournoi") - Text("Formats, terrains, prix et plus") + Text("Formats, pistes, prix et plus") } }