Refactor placeholders method in MemberTransferSettingsView to improve localization handling. Implement fallback German text when translation function is unavailable, ensuring consistent user experience across different scenarios.

This commit is contained in:
Torsten Schulz (local)
2025-11-21 12:14:37 +01:00
parent 2458ba2d37
commit c22f4016cc

View File

@@ -436,21 +436,61 @@ address={{address}}`;
},
placeholders() {
return [
{ code: '{{firstName}}', label: this.$t('memberTransfer.placeholders.firstName'), description: this.$t('memberTransfer.placeholders.firstNameDesc') },
{ code: '{{lastName}}', label: this.$t('memberTransfer.placeholders.lastName'), description: this.$t('memberTransfer.placeholders.lastNameDesc') },
{ code: '{{fullName}}', label: this.$t('memberTransfer.placeholders.fullName'), description: this.$t('memberTransfer.placeholders.fullNameDesc') },
{ code: '{{email}}', label: this.$t('memberTransfer.placeholders.email'), description: this.$t('memberTransfer.placeholders.emailDesc') },
{ code: '{{phone}}', label: this.$t('memberTransfer.placeholders.phone'), description: this.$t('memberTransfer.placeholders.phoneDesc') },
{ code: '{{street}}', label: this.$t('memberTransfer.placeholders.street'), description: this.$t('memberTransfer.placeholders.streetDesc') },
{ code: '{{city}}', label: this.$t('memberTransfer.placeholders.city'), description: this.$t('memberTransfer.placeholders.cityDesc') },
{ code: '{{birthDate}}', label: this.$t('memberTransfer.placeholders.birthDate'), description: this.$t('memberTransfer.placeholders.birthDateDesc') },
{ code: '{{geburtsdatum}}', label: this.$t('memberTransfer.placeholders.birthDateAlt'), description: this.$t('memberTransfer.placeholders.birthDateAltDesc') },
{ code: '{{address}}', label: this.$t('memberTransfer.placeholders.address'), description: this.$t('memberTransfer.placeholders.addressDesc') },
{ code: '{{ttr}}', label: this.$t('memberTransfer.placeholders.ttr'), description: this.$t('memberTransfer.placeholders.ttrDesc') },
{ code: '{{qttr}}', label: this.$t('memberTransfer.placeholders.qttr'), description: this.$t('memberTransfer.placeholders.qttrDesc') },
{ code: '{{gender}}', label: this.$t('memberTransfer.placeholders.gender'), description: this.$t('memberTransfer.placeholders.genderDesc') }
];
// Prüfe, ob $t verfügbar ist, bevor wir es verwenden
if (!this.$t || typeof this.$t !== 'function') {
// Fallback mit deutschen Texten
return [
{ code: '{{firstName}}', label: 'Vorname', description: 'Vorname des Mitglieds' },
{ code: '{{lastName}}', label: 'Nachname', description: 'Nachname des Mitglieds' },
{ code: '{{fullName}}', label: 'Vollständiger Name', description: 'Vollständiger Name (Vorname + Nachname)' },
{ code: '{{email}}', label: 'E-Mail', description: 'E-Mail-Adresse des Mitglieds' },
{ code: '{{phone}}', label: 'Telefon', description: 'Telefonnummer des Mitglieds' },
{ code: '{{street}}', label: 'Straße', description: 'Straße und Hausnummer' },
{ code: '{{city}}', label: 'Stadt', description: 'Stadt/Ortsname' },
{ code: '{{birthDate}}', label: 'Geburtsdatum', description: 'Geburtsdatum im Format YYYY-MM-DD' },
{ code: '{{geburtsdatum}}', label: 'Geburtsdatum (alt)', description: 'Geburtsdatum im Format YYYY-MM-DD (alternative Bezeichnung)' },
{ code: '{{address}}', label: 'Adresse', description: 'Vollständige Adresse (Straße, PLZ, Stadt)' },
{ code: '{{ttr}}', label: 'TTR', description: 'Tischtennis-Rating (TTR)' },
{ code: '{{qttr}}', label: 'QTTR', description: 'Quotienten-TTR (QTTR)' },
{ code: '{{gender}}', label: 'Geschlecht', description: 'Geschlecht (m/w/d)' }
];
}
try {
return [
{ code: '{{firstName}}', label: this.$t('memberTransfer.placeholders.firstName'), description: this.$t('memberTransfer.placeholders.firstNameDesc') },
{ code: '{{lastName}}', label: this.$t('memberTransfer.placeholders.lastName'), description: this.$t('memberTransfer.placeholders.lastNameDesc') },
{ code: '{{fullName}}', label: this.$t('memberTransfer.placeholders.fullName'), description: this.$t('memberTransfer.placeholders.fullNameDesc') },
{ code: '{{email}}', label: this.$t('memberTransfer.placeholders.email'), description: this.$t('memberTransfer.placeholders.emailDesc') },
{ code: '{{phone}}', label: this.$t('memberTransfer.placeholders.phone'), description: this.$t('memberTransfer.placeholders.phoneDesc') },
{ code: '{{street}}', label: this.$t('memberTransfer.placeholders.street'), description: this.$t('memberTransfer.placeholders.streetDesc') },
{ code: '{{city}}', label: this.$t('memberTransfer.placeholders.city'), description: this.$t('memberTransfer.placeholders.cityDesc') },
{ code: '{{birthDate}}', label: this.$t('memberTransfer.placeholders.birthDate'), description: this.$t('memberTransfer.placeholders.birthDateDesc') },
{ code: '{{geburtsdatum}}', label: this.$t('memberTransfer.placeholders.birthDateAlt'), description: this.$t('memberTransfer.placeholders.birthDateAltDesc') },
{ code: '{{address}}', label: this.$t('memberTransfer.placeholders.address'), description: this.$t('memberTransfer.placeholders.addressDesc') },
{ code: '{{ttr}}', label: this.$t('memberTransfer.placeholders.ttr'), description: this.$t('memberTransfer.placeholders.ttrDesc') },
{ code: '{{qttr}}', label: this.$t('memberTransfer.placeholders.qttr'), description: this.$t('memberTransfer.placeholders.qttrDesc') },
{ code: '{{gender}}', label: this.$t('memberTransfer.placeholders.gender'), description: this.$t('memberTransfer.placeholders.genderDesc') }
];
} catch (e) {
console.warn('Fehler beim Laden der Übersetzungen für placeholders:', e);
// Fallback mit deutschen Texten
return [
{ code: '{{firstName}}', label: 'Vorname', description: 'Vorname des Mitglieds' },
{ code: '{{lastName}}', label: 'Nachname', description: 'Nachname des Mitglieds' },
{ code: '{{fullName}}', label: 'Vollständiger Name', description: 'Vollständiger Name (Vorname + Nachname)' },
{ code: '{{email}}', label: 'E-Mail', description: 'E-Mail-Adresse des Mitglieds' },
{ code: '{{phone}}', label: 'Telefon', description: 'Telefonnummer des Mitglieds' },
{ code: '{{street}}', label: 'Straße', description: 'Straße und Hausnummer' },
{ code: '{{city}}', label: 'Stadt', description: 'Stadt/Ortsname' },
{ code: '{{birthDate}}', label: 'Geburtsdatum', description: 'Geburtsdatum im Format YYYY-MM-DD' },
{ code: '{{geburtsdatum}}', label: 'Geburtsdatum (alt)', description: 'Geburtsdatum im Format YYYY-MM-DD (alternative Bezeichnung)' },
{ code: '{{address}}', label: 'Adresse', description: 'Vollständige Adresse (Straße, PLZ, Stadt)' },
{ code: '{{ttr}}', label: 'TTR', description: 'Tischtennis-Rating (TTR)' },
{ code: '{{qttr}}', label: 'QTTR', description: 'Quotienten-TTR (QTTR)' },
{ code: '{{gender}}', label: 'Geschlecht', description: 'Geschlecht (m/w/d)' }
];
}
}
},
data() {