From b0921eec4b6d802fdfca0891668c72acac4ba816 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Tue, 30 Sep 2025 07:59:56 +0200 Subject: [PATCH] ubersetzungen hinzugefuegt --- public/js/plugins/FhcAlert.js | 59 +++++----- system/phrasesupdate.php | 200 ++++++++++++++++++++++++++++++++++ 2 files changed, 228 insertions(+), 31 deletions(-) diff --git a/public/js/plugins/FhcAlert.js b/public/js/plugins/FhcAlert.js index 5d84b1de9..f5870f1c0 100644 --- a/public/js/plugins/FhcAlert.js +++ b/public/js/plugins/FhcAlert.js @@ -111,19 +111,8 @@ const helperApp = Vue.createApp({ methods: { mailToUrl(slotProps) { let mailTo = FHC_JS_DATA_STORAGE_OBJECT.systemerror_mailto; - let subject = 'Meldung%20Systemfehler'; - let body = ` - Danke, dass Sie uns den Fehler melden. %0D%0A %0D%0A - Bitte beschreiben Sie uns ausführlich das Problem.%0D%0A - Bsp: Ich habe X ausgewählt und Y angelegt. Beim Speichern erhielt ich die Fehlermeldung. [Optional: Ich habe den Browser Z verwendet.]%0D%0A - -----------------------------------------------------------------------------------------------------------------------------------%0D%0A - PROBLEM: ... %0D%0A %0D%0A %0D%0A - - -----------------------------------------------------------------------------------------------------------------------------------%0D%0A - Fehler URL: ` + FHC_JS_DATA_STORAGE_OBJECT.called_path + '/' + FHC_JS_DATA_STORAGE_OBJECT.called_method + `%0D%0A - Fehler Meldung: ` + slotProps.message.detail + `%0D%0A - -----------------------------------------------------------------------------------------------------------------------------------%0D%0A %0D%0A - Wir kümmern uns um eine rasche Behebung des Problems!` + let subject = slotProps.message.mailsubject; + let body = slotProps.message.mailbody; return "mailto:" + mailTo + "?subject=" + subject + "&body=" + body; }, @@ -155,7 +144,7 @@ const helperApp = Vue.createApp({
{{slotProps.message.summary}} -
Sorry! Ein interner technischer Fehler ist aufgetreten.
+
{{slotProps.message.subtitle}}
@@ -216,23 +205,29 @@ export default { alertWarning(message) { if (Array.isArray(message)) return message.forEach(this.alertWarning); - helperAppInstance.$refs.toast.add({ severity: 'warn', summary: 'Achtung', detail: message}); + helperAppInstance.$refs.toast.add({ severity: 'warn', summary: Vue.computed(() => app.config.globalProperties.$p.t('alert/attention')), detail: message}); }, alertError(message) { if (Array.isArray(message)) return message.forEach(this.alertError); - helperAppInstance.$refs.toast.add({ severity: 'error', summary: 'Achtung', detail: message }); + helperAppInstance.$refs.toast.add({ severity: 'error', summary: Vue.computed(() => app.config.globalProperties.$p.t('alert/attention')), detail: message }); }, alertSystemError(message) { //TODO(Manu) for translation of content of template: restructure in data //and update definitions with translations - if (Array.isArray(message)) return message.forEach(this.alertSystemError); helperAppInstance.$refs.alert.add({ severity: 'error', summary: Vue.computed(() => app.config.globalProperties.$p.t('alert/systemerror')), - detail: message}); + detail: message, + subtitle: Vue.computed(() => app.config.globalProperties.$p.t('alert/systemerrorsubtitle')), + showbutton: Vue.computed(() => app.config.globalProperties.$p.t('alert/systemerroranzeigen')), + mailbutton: Vue.computed(() => app.config.globalProperties.$p.t('alert/systemerrormelden')), + mailbody: Vue.computed(() => app.config.globalProperties.$p.t('alert', 'mailbody', {0: (FHC_JS_DATA_STORAGE_OBJECT.called_path + '/' + FHC_JS_DATA_STORAGE_OBJECT.called_method), 1: message})), + mailsubject: Vue.computed(() => app.config.globalProperties.$p.t('alert', 'mailsubject')), + + }); }, confirmDelete() { return new Promise((resolve, reject) => { @@ -288,7 +283,7 @@ export default { } return false; }, - handleSystemError(error) { + async handleSystemError(error) { // don't show an error message to the user if the error was an aborted request if(error.hasOwnProperty('name') && error.name.toLowerCase() === "AbortError".toLowerCase()) return; @@ -304,36 +299,37 @@ export default { // Error has been handled already if (error.hasOwnProperty('handled') && error.handled) return; - + + await app.config.globalProperties.$p.loadCategory('alert'); // Error is object if (typeof error === 'object' && error !== null) { let errMsg = ''; if (error.hasOwnProperty('response') && error.response?.data?.retval) - errMsg += 'Error Message: ' + (error.response.data.retval.message || error.response.data.retval) + '\r\n'; + errMsg += app.config.globalProperties.$p.t('alert/systemerrormsg') + ': ' + (error.response.data.retval.message || error.response.data.retval) + '\r\n'; else if (error.hasOwnProperty('message')) - errMsg += 'Error Message: ' + error.message.toUpperCase() + '\r\n'; + errMsg += app.config.globalProperties.$p.t('alert/systemerrormsg') + ': ' + error.message.toUpperCase() + '\r\n'; if (error.hasOwnProperty('config') && error.config.hasOwnProperty('url')) - errMsg += 'Error ConfigURL: ' + error.config.url + '\r\n'; + errMsg += app.config.globalProperties.$p.t('alert/error') + ' ConfigURL: ' + error.config.url + '\r\n'; if (error.hasOwnProperty('stack')) - errMsg += 'Error Stack: ' + error.stack + '\r\n'; + errMsg += app.config.globalProperties.$p.t('alert/error') + ' Stack: ' + error.stack + '\r\n'; // Fallback object error message if (errMsg == '') - errMsg = 'Error Message: ' + JSON.stringify(error) + '\r\n'; + errMsg = app.config.globalProperties.$p.t('alert/systemerrormsg') + ': ' + JSON.stringify(error) + '\r\n'; - errMsg += 'Error Controller Path: ' + FHC_JS_DATA_STORAGE_OBJECT.called_path + '/' + FHC_JS_DATA_STORAGE_OBJECT.called_method; + errMsg += app.config.globalProperties.$p.t('alert/error') + ' Controller ' + app.config.globalProperties.$p.t('alert/path') + ': ' + FHC_JS_DATA_STORAGE_OBJECT.called_path + '/' + FHC_JS_DATA_STORAGE_OBJECT.called_method; return $fhcAlert.alertSystemError(errMsg); } // Fallback - $fhcAlert.alertSystemError('alertSystemError throws Generic Error\r\nError Controller Path: ' + FHC_JS_DATA_STORAGE_OBJECT.called_path + '/' + FHC_JS_DATA_STORAGE_OBJECT.called_method); + $fhcAlert.alertSystemError(app.config.globalProperties.$p.t('alert/errorfallback') + '\r\n'+ app.config.globalProperties.$p.t('alert/error') + ' Controller '+ app.config.globalProperties.$p.t('alert/path') +': ' + FHC_JS_DATA_STORAGE_OBJECT.called_path + '/' + FHC_JS_DATA_STORAGE_OBJECT.called_method); }, - handleSystemMessage(message) { + async handleSystemMessage(message) { // Message is string if (typeof message === 'string') return $fhcAlert.alertWarning(message); @@ -367,8 +363,9 @@ export default { return; } + await app.config.globalProperties.$p.loadCategory('alert'); // Fallback - $fhcAlert.alertSystemError('alertSystemError throws Generic Error\r\nError Controller Path: ' + FHC_JS_DATA_STORAGE_OBJECT.called_path + '/' + FHC_JS_DATA_STORAGE_OBJECT.called_method); + $fhcAlert.alertSystemError(app.config.globalProperties.$p.t('alert/errorfallback') + '\r\n'+ app.config.globalProperties.$p.t('alert/error') + ' Controller '+ app.config.globalProperties.$p.t('alert/path') +': ' + FHC_JS_DATA_STORAGE_OBJECT.called_path + '/' + FHC_JS_DATA_STORAGE_OBJECT.called_method); }, resetFormValidation(form) { const event = new Event('fhc-form-reset'); diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index 008ad8a8d..8f03adca7 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -48265,6 +48265,206 @@ and represent the current state of research on the topic. The prescribed citatio ) ) ), + array( + 'app' => 'core', + 'category' => 'alert', + 'phrase' => 'systemerrorsubtitle', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Sorry! Ein interner technischer Fehler ist aufgetreten.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Sorry! An internal technical error occurred.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'alert', + 'phrase' => 'systemerroranzeigen', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Fehler anzeigen', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Show error', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'alert', + 'phrase' => 'systemerrormelden', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Fehler melden', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Report error', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'alert', + 'phrase' => 'systemerrormsg', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Fehlermeldung', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Error Message', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'alert', + 'phrase' => 'error', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Fehler', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Error', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'alert', + 'phrase' => 'path', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Pfad', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Path', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'alert', + 'phrase' => 'errorfallback', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'alertSystemError wirft generischen Fehler', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'alertSystemError throws Generic Error', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'alert', + 'phrase' => 'mailsubject', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Meldung%20Systemfehler', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'System%20Error%20Message', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'alert', + 'phrase' => 'mailbody', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Danke, dass Sie uns den Fehler melden. %0D%0A %0D%0A + Bitte beschreiben Sie uns ausführlich das Problem.%0D%0A + Bsp: Ich habe X ausgewählt und Y angelegt. Beim Speichern erhielt ich die Fehlermeldung. [Optional: Ich habe den Browser Z verwendet.]%0D%0A + -----------------------------------------------------------------------------------------------------------------------------------%0D%0A + PROBLEM: ... %0D%0A %0D%0A %0D%0A + + -----------------------------------------------------------------------------------------------------------------------------------%0D%0A + Fehler URL: {0} %0D%0A + Fehler Meldung: {1} %0D%0A + -----------------------------------------------------------------------------------------------------------------------------------%0D%0A %0D%0A + Wir kümmern uns um eine rasche Behebung des Problems!', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Thank you for reporting this error. %0D%0A %0D%0A + Please describe the problem in detail.%0D%0A + Example: I selected X and created Y. When saving, I received the error message. [Optional: I used browser Z.]%0D%0A + -----------------------------------------------------------------------------------------------------------------------------------%0D%0A + PROBLEM: ... %0D%0A %0D%0A %0D%0A + + -----------------------------------------------------------------------------------------------------------------------------------%0D%0A + Error URL: {0} %0D%0A + Error Message: {1} %0D%0A + -----------------------------------------------------------------------------------------------------------------------------------%0D%0A %0D%0A + We will make sure the problem is resolved quickly!', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), array( 'app' => 'core', 'category' => 'ui',