diff --git a/src/static/dashboard.html b/src/static/dashboard.html
index ec4ed66..1da5330 100644
--- a/src/static/dashboard.html
+++ b/src/static/dashboard.html
@@ -341,7 +341,7 @@
@@ -729,7 +729,7 @@
-
+
diff --git a/src/static/i18n/de.json b/src/static/i18n/de.json
index c2eb511..9f16818 100644
--- a/src/static/i18n/de.json
+++ b/src/static/i18n/de.json
@@ -21,6 +21,11 @@
"modal.new_incident.title_field": "Titel des Vorfalls",
"modal.new_incident.description": "Beschreibung / Kontext",
"modal.new_incident.enhance": "Beschreibung generieren",
+ "modal.new_incident.enhance_loading": "Wird generiert...",
+ "enhance.error_default": "Beschreibung konnte nicht generiert werden",
+ "enhance.error_unavailable": "KI-Zugang aktuell nicht verfügbar. Bitte Administrator kontaktieren.",
+ "enhance.error_busy": "KI ist gerade ausgelastet. Bitte kurz warten und erneut versuchen.",
+ "enhance.error_timeout": "KI antwortet gerade nicht. Bitte erneut versuchen.",
"modal.new_incident.visibility": "Sichtbarkeit",
"modal.new_incident.visibility_public": "Öffentlich",
"modal.new_incident.visibility_private": "Privat",
diff --git a/src/static/i18n/en.json b/src/static/i18n/en.json
index bb4197e..631da79 100644
--- a/src/static/i18n/en.json
+++ b/src/static/i18n/en.json
@@ -21,6 +21,11 @@
"modal.new_incident.title_field": "Incident title",
"modal.new_incident.description": "Description / context",
"modal.new_incident.enhance": "Generate description",
+ "modal.new_incident.enhance_loading": "Generating...",
+ "enhance.error_default": "Description could not be generated",
+ "enhance.error_unavailable": "AI access currently unavailable. Please contact your administrator.",
+ "enhance.error_busy": "AI is currently busy. Please wait briefly and try again.",
+ "enhance.error_timeout": "AI is not responding. Please try again.",
"modal.new_incident.visibility": "Visibility",
"modal.new_incident.visibility_public": "Public",
"modal.new_incident.visibility_private": "Private",
diff --git a/src/static/js/app.js b/src/static/js/app.js
index c2dcd1d..dfdbf36 100644
--- a/src/static/js/app.js
+++ b/src/static/js/app.js
@@ -1906,7 +1906,7 @@ async generateDescription() {
this._enhanceController = new AbortController();
btn.disabled = true;
- btnText.textContent = 'Wird generiert...';
+ btnText.textContent = (typeof T === 'function') ? T('modal.new_incident.enhance_loading', 'Wird generiert...') : 'Wird generiert...';
spinner.style.display = '';
textarea.readOnly = true;
textarea.classList.add('textarea--loading');
@@ -1919,15 +1919,15 @@ async generateDescription() {
if (err.name === 'AbortError') {
// still
} else {
- let msg = 'Beschreibung konnte nicht generiert werden';
- if (err.status === 503) msg = 'KI-Zugang aktuell nicht verfügbar. Bitte Administrator kontaktieren.';
- else if (err.status === 429) msg = 'KI ist gerade ausgelastet. Bitte kurz warten und erneut versuchen.';
- else if (err.status === 504) msg = 'KI antwortet gerade nicht. Bitte erneut versuchen.';
+ let msg = (typeof T === 'function') ? T('enhance.error_default', 'Beschreibung konnte nicht generiert werden') : 'Beschreibung konnte nicht generiert werden';
+ if (err.status === 503) msg = (typeof T === 'function') ? T('enhance.error_unavailable', 'KI-Zugang aktuell nicht verfügbar. Bitte Administrator kontaktieren.') : 'KI-Zugang aktuell nicht verfügbar. Bitte Administrator kontaktieren.';
+ else if (err.status === 429) msg = (typeof T === 'function') ? T('enhance.error_busy', 'KI ist gerade ausgelastet. Bitte kurz warten und erneut versuchen.') : 'KI ist gerade ausgelastet. Bitte kurz warten und erneut versuchen.';
+ else if (err.status === 504) msg = (typeof T === 'function') ? T('enhance.error_timeout', 'KI antwortet gerade nicht. Bitte erneut versuchen.') : 'KI antwortet gerade nicht. Bitte erneut versuchen.';
else if (err.status === 403) msg = err.detail || 'Zugriff verweigert.';
UI.showToast(msg, 'error');
}
} finally {
- btnText.textContent = 'Beschreibung generieren';
+ btnText.textContent = (typeof T === 'function') ? T('modal.new_incident.enhance', 'Beschreibung generieren') : 'Beschreibung generieren';
spinner.style.display = 'none';
btn.disabled = title.length < 3;
textarea.readOnly = false;