Update localization handling in TeamManagementView to use the new i18n method. Replace all instances of the translation function with the updated syntax for improved consistency and maintainability across the component.

This commit is contained in:
Torsten Schulz (local)
2025-11-21 13:56:08 +01:00
parent bfa908ac9a
commit 5d4f2ebd4b

View File

@@ -1,6 +1,6 @@
<template>
<div>
<h2>{{ t('teamManagement.title') }}</h2>
<h2>{{ $t('teamManagement.title') }}</h2>
<SeasonSelector
v-model="selectedSeasonId"
@@ -11,24 +11,24 @@
<!-- Automatische Jobs Info -->
<div v-if="schedulerJobs.rating_updates || schedulerJobs.match_results" class="scheduler-jobs-info">
<div class="job-info" v-if="schedulerJobs.rating_updates?.lastRun">
<span class="job-label">🔄 {{ t('teamManagement.ratingUpdates') }}:</span>
<span class="job-label">🔄 {{ $t('teamManagement.ratingUpdates') }}:</span>
<span class="job-details">
{{ t('teamManagement.lastRun') }}: {{ formatJobDate(schedulerJobs.rating_updates.lastRun) }}
{{ $t('teamManagement.lastRun') }}: {{ formatJobDate(schedulerJobs.rating_updates.lastRun) }}
<span v-if="schedulerJobs.rating_updates.updatedCount !== null" class="job-count">
({{ schedulerJobs.rating_updates.updatedCount }} {{ t('teamManagement.updated') }})
({{ schedulerJobs.rating_updates.updatedCount }} {{ $t('teamManagement.updated') }})
</span>
<span v-if="!schedulerJobs.rating_updates.success" class="job-error"> {{ t('teamManagement.error') }}</span>
<span v-if="!schedulerJobs.rating_updates.success" class="job-error"> {{ $t('teamManagement.error') }}</span>
</span>
</div>
<div class="job-info" v-if="schedulerJobs.match_results?.lastRun">
<div class="job-header">
<span class="job-label">📊 {{ t('teamManagement.matchResults') }}:</span>
<span class="job-label">📊 {{ $t('teamManagement.matchResults') }}:</span>
<span class="job-details">
{{ t('teamManagement.lastRun') }}: {{ formatJobDate(schedulerJobs.match_results.lastRun) }}
{{ $t('teamManagement.lastRun') }}: {{ formatJobDate(schedulerJobs.match_results.lastRun) }}
<span v-if="schedulerJobs.match_results.fetchedCount !== null" class="job-count">
({{ schedulerJobs.match_results.fetchedCount }} {{ t('teamManagement.fetched') }})
({{ schedulerJobs.match_results.fetchedCount }} {{ $t('teamManagement.fetched') }})
</span>
<span v-if="!schedulerJobs.match_results.success" class="job-error"> {{ t('teamManagement.error') }}</span>
<span v-if="!schedulerJobs.match_results.success" class="job-error"> {{ $t('teamManagement.error') }}</span>
</span>
</div>
<div v-if="schedulerJobs.match_results.teamDetails && schedulerJobs.match_results.teamDetails.length > 0" class="team-details">
@@ -45,9 +45,9 @@
<div class="toggle-new-team">
<span @click="toggleNewTeam">
<span class="add">{{ teamFormIsOpen ? '-' : '+' }}</span>
{{ teamToEdit === null ? t('teamManagement.newTeam') : t('teamManagement.editTeam') }}
{{ teamToEdit === null ? $t('teamManagement.newTeam') : $t('teamManagement.editTeam') }}
</span>
<button v-if="teamToEdit !== null" @click="resetToNewTeam">{{ t('teamManagement.createNewTeam') }}</button>
<button v-if="teamToEdit !== null" @click="resetToNewTeam">{{ $t('teamManagement.createNewTeam') }}</button>
</div>
<div v-if="teamFormIsOpen" class="new-team-form">
@@ -55,14 +55,14 @@
<!-- Linke Spalte: Grundeinstellungen -->
<div class="basic-settings">
<label>
<span>{{ t('teamManagement.teamName') }}:</span>
<span>{{ $t('teamManagement.teamName') }}:</span>
<input type="text" v-model="newTeamName" :placeholder="t('teamManagement.teamNamePlaceholder')">
</label>
<label>
<span>{{ t('teamManagement.league') }}:</span>
<span>{{ $t('teamManagement.league') }}:</span>
<select v-model="newLeagueId">
<option value="">{{ t('teamManagement.noLeague') }}</option>
<option value="">{{ $t('teamManagement.noLeague') }}</option>
<option v-for="league in filteredLeagues" :key="league.id" :value="league.id">
{{ league.name }}
</option>
@@ -71,39 +71,39 @@
<div class="form-actions">
<button @click="addNewTeam" :disabled="!newTeamName.trim()">
{{ teamToEdit ? t('teamManagement.change') : t('teamManagement.createAndEdit') }}
{{ teamToEdit ? $t('teamManagement.change') : $t('teamManagement.createAndEdit') }}
</button>
<button @click="resetNewTeam" v-if="teamToEdit === null" class="cancel-action">
{{ t('teamManagement.clearFields') }}
{{ $t('teamManagement.clearFields') }}
</button>
<button @click="resetToNewTeam" v-if="teamToEdit !== null" class="cancel-action">
{{ t('teamManagement.createNewTeam') }}
{{ $t('teamManagement.createNewTeam') }}
</button>
</div>
<!-- Spieler-Statistik -->
<div v-if="teamToEdit && teamToEdit.leagueId" class="player-stats">
<div class="stats-header">
<span class="section-title">📊 {{ t('teamManagement.playerStats') }}</span>
<span class="section-title">📊 {{ $t('teamManagement.playerStats') }}</span>
<button @click="refreshPlayerStats" :disabled="loadingStats" class="btn-sm">
{{ loadingStats ? '⏳' : '🔄' }}
</button>
</div>
<div v-if="loadingStats" class="loading-stats">{{ t('teamManagement.loadingStats') }}</div>
<div v-if="loadingStats" class="loading-stats">{{ $t('teamManagement.loadingStats') }}</div>
<div v-else-if="playerStats.length === 0" class="no-stats">
{{ t('teamManagement.noPlayerStats') }}
{{ $t('teamManagement.noPlayerStats') }}
</div>
<table v-else class="stats-table">
<thead>
<tr>
<th>{{ t('teamManagement.player') }}</th>
<th>{{ $t('teamManagement.player') }}</th>
<th :title="t('teamManagement.qttr')">(Q)TTR</th>
<th :title="t('teamManagement.seasonFull')">{{ t('teamManagement.season') }}</th>
<th :title="isSecondHalf ? t('teamManagement.secondHalfFull') : t('teamManagement.firstHalfFull')">
{{ isSecondHalf ? t('teamManagement.secondHalf') : t('teamManagement.firstHalf') }}
<th :title="t('teamManagement.seasonFull')">{{ $t('teamManagement.season') }}</th>
<th :title="isSecondHalf ? $t('teamManagement.secondHalfFull') : $t('teamManagement.firstHalfFull')">
{{ isSecondHalf ? $t('teamManagement.secondHalf') : $t('teamManagement.firstHalf') }}
</th>
</tr>
</thead>
@@ -128,40 +128,40 @@
<div v-if="teamToEdit" class="advanced-settings">
<!-- Upload-Buttons -->
<div class="upload-actions compact">
<span class="section-title">📋 {{ t('teamManagement.documents') }}</span>
<span class="section-title">📋 {{ $t('teamManagement.documents') }}</span>
<div class="upload-buttons-compact">
<button @click="uploadCodeList" class="btn-upload-sm">
📋 {{ t('teamManagement.codeList') }}
📋 {{ $t('teamManagement.codeList') }}
</button>
<button @click="uploadPinList" class="btn-upload-sm">
🔐 {{ t('teamManagement.pinList') }}
🔐 {{ $t('teamManagement.pinList') }}
</button>
</div>
</div>
<!-- Automatische Jobs Info für dieses Team -->
<div v-if="getTeamJobInfo(teamToEdit)" class="team-job-info compact">
<span class="section-title">🔄 {{ t('teamManagement.automaticJobs') }}</span>
<span class="section-title">🔄 {{ $t('teamManagement.automaticJobs') }}</span>
<div v-if="getTeamJobInfo(teamToEdit).lastRun" class="team-job-details">
<div class="team-job-item">
<span class="team-job-label">{{ t('teamManagement.lastUpdated') }}:</span>
<span class="team-job-label">{{ $t('teamManagement.lastUpdated') }}:</span>
<span class="team-job-value">{{ formatJobDate(getTeamJobInfo(teamToEdit).lastRun) }}</span>
</div>
<div v-if="getTeamJobInfo(teamToEdit).success !== null" class="team-job-item">
<span class="team-job-label">{{ t('teamManagement.status') }}:</span>
<span v-if="getTeamJobInfo(teamToEdit).success" class="team-job-status success"> {{ t('teamManagement.successful') }}</span>
<span v-else class="team-job-status error"> {{ t('teamManagement.error') }}</span>
<span class="team-job-label">{{ $t('teamManagement.status') }}:</span>
<span v-if="getTeamJobInfo(teamToEdit).success" class="team-job-status success"> {{ $t('teamManagement.successful') }}</span>
<span v-else class="team-job-status error"> {{ $t('teamManagement.error') }}</span>
</div>
</div>
<div v-else class="team-job-details">
<span class="team-job-no-data">{{ t('teamManagement.noAutomaticUpdate') }}</span>
<span class="team-job-no-data">{{ $t('teamManagement.noAutomaticUpdate') }}</span>
</div>
</div>
<!-- MyTischtennis URL Konfiguration -->
<div class="mytischtennis-config compact">
<div class="mytischtennis-header-compact">
<span class="section-title">🏓 {{ t('teamManagement.myTischtennis') }}</span>
<span class="section-title">🏓 {{ $t('teamManagement.myTischtennis') }}</span>
<div class="status-inline">
<span v-if="getMyTischtennisStatus(teamToEdit).complete" class="badge-sm complete"></span>
<span v-else-if="getMyTischtennisStatus(teamToEdit).partial" class="badge-sm partial"></span>
@@ -198,10 +198,10 @@
</div>
<div class="teams-list">
<h3>{{ t('teamManagement.teams') }} ({{ teams.length }}) - {{ t('teamManagement.season') }} {{ currentSeason?.season || t('teamManagement.seasonUnknown') }}</h3>
<h3>{{ $t('teamManagement.teams') }} ({{ teams.length }}) - {{ $t('teamManagement.season') }} {{ currentSeason?.season || $t('teamManagement.seasonUnknown') }}</h3>
<div v-if="teams.length === 0" class="no-teams">
<p>{{ t('teamManagement.noTeamsYet') }}</p>
<p>{{ $t('teamManagement.noTeamsYet') }}</p>
</div>
<div v-else class="teams-grid">
@@ -225,17 +225,17 @@
<div class="team-info">
<div class="info-row">
<span class="label">{{ t('teamManagement.league') }}:</span>
<span class="label">{{ $t('teamManagement.league') }}:</span>
<span class="value">
{{ team.league ? team.league.name : t('teamManagement.noAssignment') }}
{{ team.league ? team.league.name : $t('teamManagement.noAssignment') }}
</span>
</div>
<div class="info-row">
<span class="label">{{ t('teamManagement.season') }}:</span>
<span class="value">{{ team.season?.season || t('teamManagement.unknown') }}</span>
<span class="label">{{ $t('teamManagement.season') }}:</span>
<span class="value">{{ team.season?.season || $t('teamManagement.unknown') }}</span>
</div>
<div class="info-row">
<span class="label">{{ t('teamManagement.created') }}:</span>
<span class="label">{{ $t('teamManagement.created') }}:</span>
<span class="value">{{ formatDate(team.createdAt) }}</span>
</div>
@@ -243,13 +243,13 @@
<div class="info-row mytischtennis-status">
<span class="label">🏓 MyTischtennis:</span>
<span v-if="getMyTischtennisStatus(team).complete" class="status-badge complete" :title="getMyTischtennisStatus(team).tooltip">
{{ t('teamManagement.fullyConfigured') }}
{{ $t('teamManagement.fullyConfigured') }}
</span>
<span v-else-if="getMyTischtennisStatus(team).partial" class="status-badge partial" :title="getMyTischtennisStatus(team).tooltip">
{{ t('teamManagement.partiallyConfigured') }}
{{ $t('teamManagement.partiallyConfigured') }}
</span>
<span v-else class="status-badge missing" :title="getMyTischtennisStatus(team).tooltip">
{{ t('teamManagement.notConfigured') }}
{{ $t('teamManagement.notConfigured') }}
</span>
</div>
@@ -263,14 +263,14 @@
{{ getTeamJobInfo(team).success ? '' : '' }}
</span>
</span>
<span v-else class="team-job-no-data">{{ t('teamManagement.never') }}</span>
<span v-else class="team-job-no-data">{{ $t('teamManagement.never') }}</span>
</span>
</div>
</div>
<!-- PDF-Dokumente Icons -->
<div class="team-documents">
<div class="documents-label">{{ t('teamManagement.documents') }}:</div>
<div class="documents-label">{{ $t('teamManagement.documents') }}:</div>
<div class="document-icons">
<button
v-if="getTeamDocuments(team.id, 'code_list').length > 0"