Improve error handling in MemberTransferSettingsView for translation availability, ensuring fallback text is provided when localization is unavailable. Update comments for clarity and maintain consistent localization handling across bulk wrapper, template, and import template placeholder texts.

This commit is contained in:
Torsten Schulz (local)
2025-11-21 11:58:47 +01:00
parent cb6e84945b
commit 938ce4d991

View File

@@ -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}`;
}