feat(TeamManagementView, i18n): enhance team management interface and localization

- Added new summary cards to display team statistics, including total teams, fully configured, partially configured, and teams without leagues.
- Implemented search and filter functionality for teams, improving user navigation and management.
- Expanded German localization file with new keys for team management features, enhancing the experience for German-speaking users.
- Updated the layout for automatic job information, improving clarity and user interaction.
This commit is contained in:
Torsten Schulz (local)
2026-03-17 09:04:45 +01:00
parent 44b2b9fdbf
commit f1cfd1147d
2 changed files with 700 additions and 294 deletions

View File

@@ -1203,6 +1203,7 @@
"matchResults": "Spielergebnisse",
"fetched": "abgerufen",
"newTeam": "Neues Team",
"basicSettings": "Grundeinstellungen",
"editTeam": "Team bearbeiten",
"createNewTeam": "Neues Team anlegen",
"teamName": "Team-Name",
@@ -1234,8 +1235,15 @@
"myTischtennis": "MyTischtennis",
"myTischtennisUrlPlaceholder": "MyTischtennis URL...",
"teams": "Teams",
"activeTeam": "Aktives Team",
"searchTeams": "Team suchen",
"filterAll": "Alle",
"filterConfigured": "Konfiguriert",
"filterNeedsAttention": "Prüfen",
"filterNoLeague": "Ohne Liga",
"seasonUnknown": "unbekannt",
"noTeamsYet": "Noch keine Teams vorhanden. Erstellen Sie Ihr erstes Team!",
"noMatchingTeams": "Keine Teams passen zur aktuellen Suche oder Filterung.",
"edit": "Bearbeiten",
"delete": "Löschen",
"noAssignment": "Keine Zuordnung",
@@ -1246,7 +1254,59 @@
"notConfigured": "Nicht konfiguriert",
"never": "Nie",
"showCodeList": "Code-Liste anzeigen",
"showPinList": "Pin-Liste anzeigen"
"showPinList": "Pin-Liste anzeigen",
"deleteTeamTitle": "Club-Team löschen",
"deleteTeamConfirm": "Möchten Sie das Club-Team \"{name}\" wirklich löschen?",
"errorDeletingTeam": "Fehler beim Löschen des Club-Teams.",
"teamHasNoLeague": "Dieses Team ist keiner Liga zugeordnet.",
"assignLeagueBeforeDocuments": "Bitte ordnen Sie dem Team zuerst eine Liga zu, damit Dokumente verarbeitet werden können.",
"assignLeagueBeforeParsing": "Bitte ordnen Sie dem Team zuerst eine Liga zu, um PDF-Dateien zu parsen.",
"documentParsedSummary": "{label} erfolgreich hochgeladen und geparst!\n\nGefundene Spiele: {matchesFound}\nNeue Spiele erstellt: {created}\nSpiele aktualisiert: {updated}",
"errorsCount": "Fehler: {count}",
"moreErrors": "... und {count} weitere",
"noMatchesFoundTitle": "Keine Spiele gefunden",
"noMatchesFoundDetails": "Hinweis: Keine Spiele erkannt.\nZeilen im Dokument: {lines}",
"documentUploaded": "{label} \"{fileName}\" wurde erfolgreich hochgeladen!",
"errorUploadingDocument": "Fehler beim Hochladen und Parsen der Datei.",
"matchesSummary": "Gefundene Spiele: {matchesFound}\nNeue Spiele erstellt: {created}\nSpiele aktualisiert: {updated}",
"errorParsingPdf": "Fehler beim Parsen der PDF-Datei",
"documentNotFound": "Das ausgewählte Dokument wurde nicht gefunden.",
"missingLeagueForTeam": "Für das ausgewählte Team wurde keine Liga übermittelt.",
"pdfFileNotFound": "Die PDF-Datei konnte nicht gefunden werden.",
"reuploadFile": "Bitte laden Sie die Datei erneut hoch und versuchen Sie es noch einmal.",
"errorLoadingPdf": "Fehler beim Laden des PDFs.",
"errorParsingUrl": "URL konnte nicht geparst werden. Bitte überprüfen Sie das Format.",
"configureLeagueTitle": "Liga konfigurieren?",
"tableUrlDetected": "Tabellen-URL erkannt",
"configureLeagueDetails": "Verband: {association}\nSaison: {season}\nLiga: {league}\nGruppen-ID: {groupId}\n\nMöchten Sie diese Liga in der Datenbank konfigurieren? Dies ermöglicht es, Tabellendaten automatisch abzurufen.",
"selectTeamTitle": "Team auswählen",
"selectTeamFirst": "Bitte wählen Sie zuerst ein Team aus",
"selectTeamForConfiguration": "Um die MyTischtennis-Konfiguration zu aktivieren, müssen Sie zuerst ein Team aus der Liste auswählen.",
"teamConfiguredSuccess": "Team erfolgreich konfiguriert! Automatischer Datenabruf ist jetzt aktiv.",
"teamConfiguredDetails": "Liga: {league}\nSaison: {season}\nAutomatischer Datenabruf ist jetzt aktiv.",
"errorConfiguringTeam": "Team konnte nicht konfiguriert werden.",
"leagueConfiguredSuccess": "Liga erfolgreich konfiguriert! Tabellendaten können jetzt automatisch abgerufen werden.",
"leagueConfiguredDetails": "Liga: {league}\nSaison: {season}\nVerband: {association}\nGruppen-ID: {groupId}\n\nTabellendaten können jetzt automatisch abgerufen werden.",
"errorConfiguringLeague": "Liga konnte nicht konfiguriert werden.",
"notCreated": "Nicht erstellt",
"autoFetchEnabled": "Automatischer Datenabruf ist aktiviert",
"missingItems": "Fehlend: {items}",
"enterUrlForAutoConfig": "MyTischtennis-URL eingeben für automatische Konfiguration",
"errorLoadingStats": "Statistiken konnten nicht geladen werden.",
"asyncJobStartFailed": "Async-Job konnte nicht gestartet werden.",
"dataFetchFailed": "Daten konnten nicht abgerufen werden.",
"fetchTimedOut": "Zeitüberschreitung beim Abruf (Async-Job läuft zu lange).",
"teamDataFetched": "Teamdaten erfolgreich abgerufen.",
"unknownTeam": "Unbekanntes Team",
"teamDataFetchedDetails": "Team: {team}\nAbgerufene Datensätze: {count}",
"tableUpdateLabel": "Tabellenaktualisierung:",
"mytischtennisLoginRequired": "Login bei myTischtennis erforderlich",
"fetchTimeoutShort": "Zeitüberschreitung beim Abruf (Timeout).",
"invalidFileTypeTitle": "Ungültiger Dateityp",
"invalidFileExtension": "{label} muss eine der folgenden Endungen haben: {extensions}.",
"invalidMimeType": "{label} weist einen unerwarteten MIME-Typ auf: {type}.",
"fileTooLargeTitle": "Datei zu groß",
"fileTooLarge": "{label} darf maximal 10 MB groß sein."
},
"pendingApprovals": {
"title": "Ausstehende Benutzeranfragen",

File diff suppressed because it is too large Load Diff