fix(i18n): Beschreibung-generieren-Button + Fehler-Toasts uebersetzbar

- Button-Span enhance-btn-text bekommt data-i18n.
- app.js: Loading-State Wird generiert... / Generating... per T().
- Vier Fehler-Toasts (Default, 503, 429, 504) per T() lokalisiert.
- Neue Keys enhance.* in de.json + en.json.
- Cache-Buster app.js auf v=20260513c gebumpt.
Dieser Commit ist enthalten in:
Claude Code
2026-05-13 21:39:36 +00:00
Ursprung 10805dff15
Commit b214249a34
4 geänderte Dateien mit 18 neuen und 8 gelöschten Zeilen

Datei anzeigen

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