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:
Claude Code
2026-05-13 21:45:18 +00:00
Ursprung b214249a34
Commit 9e3c9559d9
5 geänderte Dateien mit 114 neuen und 31 gelöschten Zeilen

Datei anzeigen

@@ -65,5 +65,40 @@
"refresh.no_developments": "No new developments",
"refresh.new_articles_suffix": "new articles",
"refresh.confirmed_suffix": "facts confirmed",
"refresh.contradicted_suffix": "contradicted"
"refresh.contradicted_suffix": "contradicted",
"progress.status.queued": "Queued",
"progress.status.researching": "Researching...",
"progress.status.deep_researching": "Deep research...",
"progress.status.analyzing": "Analyzing...",
"progress.status.factchecking": "Fact-checking...",
"progress.status.cancelling": "Cancelling...",
"progress.title.first_refresh": "Initial research running",
"progress.title.refresh": "Refresh running",
"progress.title.queued": "Queued",
"progress.title.cancelling": "Cancelling…",
"progress.factcheck_running": "Fact-check running",
"progress.check.researching": "Searching sources",
"progress.check.analyzing": "Analyzing articles",
"pipeline.empty": "Never refreshed. Start the first refresh.",
"pipeline.load_failed": "Failed to load pipeline",
"pipeline.running": "Refresh running...",
"pipeline.cancelled": "cancelled",
"pipeline.with_errors": "finished with errors",
"pipeline.duration_prefix": "Duration:",
"pipeline.status.done": "done",
"pipeline.status.running": "running...",
"pipeline.status.error": "error",
"pipeline.count.sources_reviewed": "{n} sources checked",
"pipeline.count.collected": "{n} articles",
"pipeline.count.collected_from": "{n} articles from {s} sources",
"time.just_now": "just now",
"time.minutes_ago": "{n} min ago",
"time.hours_ago": "{n}h ago",
"time.days_ago": "{n} days ago",
"time.day_ago": "1 day ago",
"toast.incident_refreshed": "Situation refreshed.",
"toast.data_refreshed": "Data refreshed.",
"toast.source_updated": "Source updated.",
"toast.session_expires": "Session expires in {min} minute(s). Please sign in again.",
"confirm.delete_incident": "Really delete this situation? All collected data will be lost."
}