feat(i18n): Progress-Popup + Pipeline-Stati lokalisieren
- components._getStepLabel und progress-popup-title nutzen T() fuer Erste Recherche laeuft / Aktualisierung laeuft / In Warteschlange / Wird abgebrochen. - pipeline._formatHeader / _relativeTime / _formatCount lokalisiert: Status-Texte (erledigt/laeuft/Fehler), Zeitangaben (gerade eben, vor X Min/Std/Tagen), Aktualisierung-laeuft-Header. - dashboard.html: data-i18n auf pipeline-empty, progress-popup-title, progress-check-label (4 Stueck). - Cache-Buster fuer components.js + pipeline.js auf v=20260513d.
Dieser Commit ist enthalten in:
@@ -290,7 +290,7 @@ const UI = {
|
||||
},
|
||||
|
||||
_getStepLabel(step) {
|
||||
const map = {
|
||||
const fallback = {
|
||||
queued: 'In Warteschlange',
|
||||
researching: 'Recherchiert...',
|
||||
deep_researching: 'Tiefenrecherche...',
|
||||
@@ -298,7 +298,10 @@ const UI = {
|
||||
factchecking: 'Faktencheck...',
|
||||
cancelling: 'Wird abgebrochen...',
|
||||
};
|
||||
return map[step] || step;
|
||||
if (!fallback[step]) return step;
|
||||
return (typeof T === 'function')
|
||||
? T('progress.status.' + step, fallback[step])
|
||||
: fallback[step];
|
||||
},
|
||||
|
||||
showProgress(status, extra = {}, incidentId = null, isFirstRefresh = false) {
|
||||
@@ -386,16 +389,17 @@ const UI = {
|
||||
// Title - haengt von Status ab (queued = wartet, cancelling = bricht ab, sonst laeuft)
|
||||
const titleEl = document.getElementById('progress-popup-title');
|
||||
if (titleEl) {
|
||||
const _t = (k, fb) => (typeof T === 'function') ? T(k, fb) : fb;
|
||||
let title;
|
||||
if (status === 'queued') {
|
||||
const pos = (state && state._queuePos) ? ' (#' + state._queuePos + ')' : '';
|
||||
title = 'In Warteschlange' + pos;
|
||||
title = _t('progress.title.queued', 'In Warteschlange') + pos;
|
||||
} else if (status === 'cancelling') {
|
||||
title = 'Wird abgebrochen\u2026';
|
||||
title = _t('progress.title.cancelling', 'Wird abgebrochen\u2026');
|
||||
} else if (state.isFirst) {
|
||||
title = 'Erste Recherche l\u00e4uft';
|
||||
title = _t('progress.title.first_refresh', 'Erste Recherche l\u00e4uft');
|
||||
} else {
|
||||
title = 'Aktualisierung l\u00e4uft';
|
||||
title = _t('progress.title.refresh', 'Aktualisierung l\u00e4uft');
|
||||
}
|
||||
titleEl.textContent = title;
|
||||
}
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren