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:
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user