feat(i18n): Export-Modal + Quellenverwaltung + Chat-Widget + Stats-Bar

- Export-Modal: Titel, Bereiche, Format, alle Checkboxes (Zusammenfassung,
  Recherchebericht / Lagebild, Faktencheck, Quellen), PDF/DOCX, Abbrechen,
  Exportieren.
- Quellenverwaltung-Modal: Title, 8 Filter-Labels (sr-only) + 8 Alle-*
  Default-Optionen, Search-Placeholder + Label, + Quelle-Button, Add-
  Form (URL/Erkennen/Name/Kategorie/Typ/RSS-URL/Domain/Notizen +
  Placeholder), Speichern/Abbrechen, Loading-State.
- Stats-Bar (app.js): RSS-Feeds/Web-Quellen/Ausgeschlossen-Labels.
- components.js: source-excluded-badge.
- Chat-Widget: Title, alle 5 Buttons mit title+aria, Input-Placeholder.
- Chat-Begruessung in chat.js auf T() umgestellt.
- 50+ neue i18n-Keys. Cache-Buster components.js + chat.js + app.js
  auf v=20260514e gebumpt.
Dieser Commit ist enthalten in:
Claude Code
2026-05-13 22:22:07 +00:00
Ursprung ea630cd31b
Commit 892af55269
6 geänderte Dateien mit 2188 neuen und 2072 gelöschten Zeilen

Datei anzeigen

@@ -201,5 +201,63 @@
"source.type.rss_feed": "RSS feed",
"source.type.telegram": "Telegram",
"source.type.web": "Web source",
"modal.hint.sources_german_only": "Primary-language sources only"
"modal.hint.sources_german_only": "Primary-language sources only",
"export.sections": "Sections",
"export.section.summary": "Summary",
"export.section.report": "Research report / Briefing",
"export.section.factcheck": "Fact check",
"export.section.sources": "Sources",
"export.format": "Format",
"export.format.pdf": "PDF",
"export.format.docx": "Word (DOCX)",
"export.submit": "Export",
"sources_modal.title": "Source management",
"sources_modal.stats.rss": "RSS feeds",
"sources_modal.stats.web": "Web sources",
"sources_modal.stats.telegram": "Telegram",
"sources_modal.stats.excluded": "Excluded",
"sources_modal.stats.articles": "Articles total",
"sources_modal.filter.type": "Filter by source type",
"sources_modal.filter.type_all": "All types",
"sources_modal.filter.category": "Filter by category",
"sources_modal.filter.category_all": "All categories",
"sources_modal.filter.political": "Filter by political orientation",
"sources_modal.filter.political_all": "All orientations",
"sources_modal.filter.mediatype": "Filter by media type",
"sources_modal.filter.mediatype_all": "All media types",
"sources_modal.filter.reliability": "Filter by reliability",
"sources_modal.filter.reliability_all": "All reliabilities",
"sources_modal.filter.extern": "Filter by external reputation",
"sources_modal.filter.extern_all": "External reputation: any",
"sources_modal.filter.alignment": "Filter by geopolitical alignment",
"sources_modal.filter.alignment_all": "All alignments",
"sources_modal.search": "Search sources",
"sources_modal.search_placeholder": "Search...",
"sources_modal.add_source": "+ Source",
"sources_modal.form.url_label": "URL or domain",
"sources_modal.form.url_placeholder": "e.g. example.com or t.me/channel",
"sources_modal.form.discover": "Detect",
"sources_modal.form.name_placeholder": "Detecting...",
"sources_modal.form.category": "Category",
"sources_modal.form.type": "Type",
"sources_modal.form.rss_url": "RSS feed URL",
"sources_modal.form.domain": "Domain",
"sources_modal.form.notes": "Notes",
"sources_modal.form.notes_placeholder": "Optional",
"sources_modal.list.loading": "Loading sources...",
"sources_modal.excluded_badge": "Excluded",
"chat.title": "AegisSight Assistant",
"chat.toggle_title": "Chat assistant",
"chat.toggle_aria": "Open chat assistant",
"chat.new_title": "New chat",
"chat.new_aria": "Start new chat",
"chat.fullscreen_title": "Fullscreen",
"chat.fullscreen_aria": "Toggle fullscreen",
"chat.close_title": "Close",
"chat.close_aria": "Close chat",
"chat.input_placeholder": "Ask a question...",
"chat.send_title": "Send",
"chat.send_aria": "Send message",
"chat.greeting": "Hi! I'm the AegisSight Assistant. Ask me anything about how to use the monitor and I'll guide you through.",
"stats.articles_total": "Articles total"
}