diff --git a/frontend/src/views/MemberTransferSettingsView.vue b/frontend/src/views/MemberTransferSettingsView.vue index 1ae68eb..0344adf 100644 --- a/frontend/src/views/MemberTransferSettingsView.vue +++ b/frontend/src/views/MemberTransferSettingsView.vue @@ -367,12 +367,19 @@ address={{address}}`; bulkWrapperDescriptionText() { // Hole den Text aus der Übersetzung und ersetze den Platzhalter - // Verwende try-catch, falls $t noch nicht verfügbar ist + // Prüfe, ob $t verfügbar ist, bevor wir es verwenden + if (!this.$t || typeof this.$t !== 'function') { + return 'Optional können Sie die äußere Struktur definieren, in die die Mitglieder-Array eingefügt wird. Verwenden Sie {{members}} als Platzhalter für das Array der Mitglieder.'; + } try { const text = this.$t('memberTransfer.bulkWrapperDescription'); - // Ersetze {0} durch {{members}}, aber escapen wir die geschweiften Klammern - return text.replace('{0}', '{{members}}'); + if (typeof text === 'string') { + // Ersetze {0} durch {{members}} + return text.replace('{0}', '{{members}}'); + } + return 'Optional können Sie die äußere Struktur definieren, in die die Mitglieder-Array eingefügt wird. Verwenden Sie {{members}} als Platzhalter für das Array der Mitglieder.'; } catch (e) { + console.warn('Fehler beim Laden der Übersetzung für bulkWrapperDescription:', e); // Fallback, falls $t nicht verfügbar ist return 'Optional können Sie die äußere Struktur definieren, in die die Mitglieder-Array eingefügt wird. Verwenden Sie {{members}} als Platzhalter für das Array der Mitglieder.'; } @@ -380,12 +387,19 @@ address={{address}}`; templateDescriptionText() { // Hole den Text aus der Übersetzung und ersetze den Platzhalter - // Verwende try-catch, falls $t noch nicht verfügbar ist + // Prüfe, ob $t verfügbar ist, bevor wir es verwenden + if (!this.$t || typeof this.$t !== 'function') { + return 'Das Template definiert das Format, in dem die Mitgliederdaten an das externe System übertragen werden. Verwenden Sie Platzhalter wie {{firstName}}, um die Daten automatisch zu ersetzen.'; + } try { const text = this.$t('memberTransfer.templateDescription'); - // Ersetze {0} durch {{firstName}}, aber escapen wir die geschweiften Klammern - return text.replace('{0}', '{{firstName}}'); + if (typeof text === 'string') { + // Ersetze {0} durch {{firstName}} + return text.replace('{0}', '{{firstName}}'); + } + return 'Das Template definiert das Format, in dem die Mitgliederdaten an das externe System übertragen werden. Verwenden Sie Platzhalter wie {{firstName}}, um die Daten automatisch zu ersetzen.'; } catch (e) { + console.warn('Fehler beim Laden der Übersetzung für templateDescription:', e); // Fallback, falls $t nicht verfügbar ist return 'Das Template definiert das Format, in dem die Mitgliederdaten an das externe System übertragen werden. Verwenden Sie Platzhalter wie {{firstName}}, um die Daten automatisch zu ersetzen.'; } @@ -393,12 +407,19 @@ address={{address}}`; importTemplatePlaceholderText() { // Hole den Text aus der Übersetzung und ersetze die Platzhalter - // Verwende try-catch, falls $t noch nicht verfügbar ist + // Prüfe, ob $t verfügbar ist, bevor wir es verwenden + if (!this.$t || typeof this.$t !== 'function') { + return `Fügen Sie hier ein vollständiges Beispiel-Template ein, z.B.:\n{\n "members": [\n {\n "firstName": "Max",\n "lastName": "Mustermann",\n "email": "max@example.com"\n }\n ]\n}`; + } try { const text = this.$t('memberTransfer.importTemplatePlaceholder'); - // Ersetze die Platzhalter durch geschweifte Klammern - return text.replace(/__BRACE_OPEN__/g, '{').replace(/__BRACE_CLOSE__/g, '}'); + if (typeof text === 'string') { + // Ersetze die Platzhalter durch geschweifte Klammern + return text.replace(/__BRACE_OPEN__/g, '{').replace(/__BRACE_CLOSE__/g, '}'); + } + return `Fügen Sie hier ein vollständiges Beispiel-Template ein, z.B.:\n{\n "members": [\n {\n "firstName": "Max",\n "lastName": "Mustermann",\n "email": "max@example.com"\n }\n ]\n}`; } catch (e) { + console.warn('Fehler beim Laden der Übersetzung für importTemplatePlaceholder:', e); // Fallback, falls $t nicht verfügbar ist return `Fügen Sie hier ein vollständiges Beispiel-Template ein, z.B.:\n{\n "members": [\n {\n "firstName": "Max",\n "lastName": "Mustermann",\n "email": "max@example.com"\n }\n ]\n}`; }