diff --git a/frontend/src/views/MemberTransferSettingsView.vue b/frontend/src/views/MemberTransferSettingsView.vue index 0344adf..548b46d 100644 --- a/frontend/src/views/MemberTransferSettingsView.vue +++ b/frontend/src/views/MemberTransferSettingsView.vue @@ -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() {