fix(Localization): correct German translations for consistency and clarity
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 36s

- Updated various phrases in the German localization files to ensure proper spelling and grammar.
- Improved user interface text in the group photo management feature for better readability.
- Ensured consistency in terminology across the application, enhancing the overall user experience.
This commit is contained in:
Torsten Schulz (local)
2026-04-16 08:24:31 +02:00
parent a4f6b9b8b3
commit 69418d8f9a
4 changed files with 82 additions and 82 deletions

View File

@@ -20,7 +20,7 @@
</button>
</div>
<p class="group-photo-hint">
Das Gruppenfoto kann nur lokal verarbeitet oder fuer spaetere Bearbeitung im Verein gespeichert werden.
Das Gruppenfoto kann nur lokal verarbeitet oder für spätere Bearbeitung im Verein gespeichert werden.
</p>
</section>
@@ -33,8 +33,8 @@
<span>{{ formatDate(photo.takenAt || photo.createdAt) }}</span>
</div>
<div class="saved-photo-actions">
<button type="button" @click="openSavedPhoto(photo)">Oeffnen</button>
<button type="button" class="danger-button" @click="deleteSavedPhoto(photo)">Loeschen</button>
<button type="button" @click="openSavedPhoto(photo)">Öffnen</button>
<button type="button" class="danger-button" @click="deleteSavedPhoto(photo)">Löschen</button>
</div>
</article>
</div>
@@ -43,7 +43,7 @@
<section v-if="sourceUrl" class="save-source-panel">
<label class="checkbox-line">
<input type="checkbox" v-model="saveForLater">
Fuer spaetere Bearbeitung speichern
Für spätere Bearbeitung speichern
</label>
<div v-if="saveForLater" class="save-source-fields">
<label>
@@ -63,7 +63,7 @@
</button>
</div>
<p v-if="saveForLater" class="privacy-note">
Dieses Gruppenfoto wird gespeichert und kann andere Personen enthalten. Bitte nur speichern, wenn die Nutzung im Verein zulaessig ist.
Dieses Gruppenfoto wird gespeichert und kann andere Personen enthalten. Bitte nur speichern, wenn die Nutzung im Verein zulässig ist.
</p>
</section>
@@ -111,7 +111,7 @@
<input v-model="memberQuery" type="search" placeholder="Name eingeben">
</label>
<select v-model="selectedMemberId" class="member-select">
<option value="">Mitglied auswaehlen</option>
<option value="">Mitglied auswählen</option>
<option v-for="member in filteredMembers" :key="member.id" :value="member.id">
{{ member.lastName }}, {{ member.firstName }}
</option>
@@ -125,7 +125,7 @@
<button type="button" class="btn-primary" :disabled="!canSaveCrop || savingCrop" @click="saveCrop">
{{ savingCrop ? 'Speichere ...' : 'Als Mitgliedsfoto speichern' }}
</button>
<button type="button" @click="resetSelection">Auswahl zuruecksetzen</button>
<button type="button" @click="resetSelection">Auswahl zurücksetzen</button>
<p v-if="statusMessage" class="status-message">{{ statusMessage }}</p>
<p v-if="errorMessage" class="error-message">{{ errorMessage }}</p>
</aside>
@@ -223,7 +223,7 @@ export default {
event.target.value = '';
if (!file) return;
if (!file.type.startsWith('image/')) {
this.errorMessage = 'Bitte eine Bilddatei auswaehlen.';
this.errorMessage = 'Bitte eine Bilddatei auswählen.';
return;
}
this.revokeSourceUrl();
@@ -341,7 +341,7 @@ export default {
payload: response.data
});
const member = this.members.find(entry => String(entry.id) === String(this.selectedMemberId));
this.statusMessage = `Foto gespeichert${member ? ` fuer ${member.firstName} ${member.lastName}` : ''}.`;
this.statusMessage = `Foto gespeichert${member ? ` für ${member.firstName} ${member.lastName}` : ''}.`;
this.resetSelection();
} catch (error) {
this.errorMessage = error?.message || 'Ausschnitt konnte nicht gespeichert werden.';
@@ -401,14 +401,14 @@ export default {
this.saveForLater = true;
this.selection = null;
this.previewBlob = null;
this.statusMessage = `Gruppenfoto "${photo.title}" geoeffnet.`;
this.statusMessage = `Gruppenfoto "${photo.title}" geöffnet.`;
this.errorMessage = '';
} catch (error) {
this.errorMessage = 'Gruppenfoto konnte nicht geoeffnet werden.';
this.errorMessage = 'Gruppenfoto konnte nicht geöffnet werden.';
}
},
async deleteSavedPhoto(photo) {
if (!window.confirm(`Gruppenfoto "${photo.title}" wirklich loeschen? Bereits erstellte Mitgliedsfotos bleiben erhalten.`)) {
if (!window.confirm(`Gruppenfoto "${photo.title}" wirklich löschen? Bereits erstellte Mitgliedsfotos bleiben erhalten.`)) {
return;
}
try {
@@ -422,7 +422,7 @@ export default {
this.resetSelection();
}
} catch (error) {
this.errorMessage = 'Gruppenfoto konnte nicht geloescht werden.';
this.errorMessage = 'Gruppenfoto konnte nicht gelöscht werden.';
}
},
formatDate(value) {

View File

@@ -1027,7 +1027,7 @@
"errorMergingClasses": "Fehler beim Zusammenlegen der Klassen.",
"apply": "Übernehmen",
"participantsNeedClassAssignment": "{count} Teilnehmer sind noch keiner Klasse zugeordnet. Diese sollten zuerst zugeordnet werden.",
"autoAssignableParticipantsHint": "{count} davon koennen automatisch zugeordnet werden.",
"autoAssignableParticipantsHint": "{count} davon können automatisch zugeordnet werden.",
"assignmentReviewTitle": "{count} Teilnehmer brauchen eine Auswahl:",
"conflictSuggestionLabel": "Vorschläge:",
"workspaceProblemsTitle": "{count} offene Punkte",

View File

@@ -1023,7 +1023,7 @@
"errorMergingClasses": "Fehler beim Zusammenlegen der Klassen.",
"apply": "Übernehmen",
"participantsNeedClassAssignment": "{count} Teilnehmer sind noch keiner Klasse zugeordnet. Diese sollten zuerst zugeordnet werden.",
"autoAssignableParticipantsHint": "{count} davon koennen automatisch zugeordnet werden.",
"autoAssignableParticipantsHint": "{count} davon können automatisch zugeordnet werden.",
"assignmentReviewTitle": "{count} Teilnehmer brauchen eine Auswahl:",
"conflictSuggestionLabel": "Vorschläge:",
"workspaceProblemsTitle": "{count} offene Punkte",