# User-visible chat, SSE and stream lifecycle messages.
# Protocol tokens, status enum values and debug comments intentionally stay in code.
parameters:
retriex.chat_messages.config:
sse:
empty_prompt: 'Bitte gib eine Frage ein.'
job_create_failed: 'Der Antwort-Job konnte nicht erstellt werden: {error}'
job_missing: 'Der Antwort-Job wurde nicht gefunden.'
stream_interrupted: 'Die Verbindung zum Antwort-Stream wurde unterbrochen.'
stream_aborted: 'Stream abgebrochen: {error}'
stream_aborted_event: '❌ {message}'
unknown_stream_error: 'Unbekannter Streamfehler.'
history_failure: 'Systemhinweis: Antwort konnte nicht abgeschlossen werden. Ursache: {message}'
fatal_server_error: '❌ Fataler Serverfehler: {message} in {file}:{line}'
fatal_unknown_error: 'unknown error'
fatal_unknown_file: 'unknown file'
fatal_unknown_line: '?'
stream_failed_with_message: 'Der Antwort-Stream ist fehlgeschlagen: {message}'
stream_failed_retry: 'Der Antwort-Stream ist fehlgeschlagen. Bitte sende die Anfrage erneut.'
stream_interrupted_retry: 'Der Antwort-Stream wurde durch einen Verbindungsabbruch unterbrochen. Bitte sende die Anfrage erneut, falls die Antwort unvollständig ist.'
job_stale: 'Der Antwort-Job liefert seit längerer Zeit keine neuen Daten. Der Stream wurde beendet, damit die Oberfläche nicht hängen bleibt.'
claim:
expired: 'Der Antwort-Job ist abgelaufen. Bitte sende die Anfrage erneut.'
invalid: 'Der Antwort-Job ist ungültig. Bitte sende die Anfrage erneut.'
lock_failed: 'Der Antwort-Job ist gerade gesperrt. Bitte sende die Anfrage erneut, falls keine Antwort erscheint.'
running: 'Der Antwort-Stream läuft bereits oder wurde nach einem Verbindungsabbruch erneut geöffnet. Bitte sende die Anfrage erneut, falls die Antwort unvollständig ist.'
interrupted: 'Der Antwort-Stream wurde durch einen Verbindungsabbruch unterbrochen. Bitte sende die Anfrage erneut, falls die Antwort unvollständig ist.'
completed: 'Der Antwort-Stream wurde bereits abgeschlossen. Bitte sende eine neue Anfrage, wenn du eine weitere Antwort brauchst.'
missing: 'Der Antwort-Job wurde nicht gefunden. Falls deine Verbindung kurz unterbrochen war, sende die Anfrage bitte erneut.'
storage:
directory_create_failed: 'Stream job directory could not be created.'
write_failed: 'Stream job could not be written.'
frontend:
document:
title: 'AI Agent'
ui:
header_title: 'KI-Agent'
footer_disclaimer: 'powered by mitho® | RetrieX kann fehlerhafte Ausgaben machen. RetrieX verwendet alle Daten zum Trainieren seiner Modelle.'
buttons:
clear: 'Diesen Chat löschen'
send: 'Send'
abort: 'Abbrechen'
options:
aria_label: 'Chat-Anzeigeoptionen'
status_info: 'Statusinfo anzeigen'
input:
prompt_placeholder: 'Stelle eine Frage'
assistant:
loader: 'Antwort wird vorbereitet…'
aborted: '[aborted]'
history_cleared: 'History cleared.'
source_chips:
live_shop_data: 'Live-Shopdaten'
run_meta:
completed_title: 'Abgeschlossen'
interrupted_title: 'Antwort wurde unterbrochen'
completed_status: 'Status: abgeschlossen'
interrupted_status: 'Status: unterbrochen'
completed_empty_source: 'keine belastbare Datenbasis'
interrupted_empty_source: 'nicht vollständig geprüft'
pending_source_marker: 'wird geprüft'
stream:
incomplete: 'Der Antwort-Stream wurde beendet, bevor die Antwort abgeschlossen werden konnte.'
job_not_found_retry: 'Der Antwort-Job wurde nicht mehr gefunden. Bitte sende die Anfrage erneut.'
failed_retry: 'Der Antwort-Stream ist fehlgeschlagen. Bitte sende die Anfrage erneut.'
interrupted_retry: 'Der Antwort-Stream wurde durch einen Verbindungsabbruch unterbrochen. Bitte sende die Anfrage erneut, falls die Antwort unvollständig ist.'
missing_retry: 'Der Antwort-Job wurde nicht gefunden. Bitte sende die Anfrage erneut.'
stale_retry: 'Der Antwort-Job liefert seit längerer Zeit keine neuen Daten. Der Stream wurde beendet.'
connection_interrupted_retry: 'Die Verbindung zum Antwort-Stream wurde unterbrochen. Bitte sende die Anfrage erneut, falls die Antwort unvollständig ist.'
guards:
no_concrete_shop_response_markers:
- 'keine konkrete shop-suchanfrage erkannt'
- 'shop-suche noch nicht belastbar auflösen'
- 'shop-suche noch nicht belastbar aufloesen'
agent:
input_normalization:
heartbeat_message: Ich optimiere die Anfrage…
messages:
empty_prompt: ❌ Empty prompt.
analyze_request: Ich analysiere deine Anfrage...
check_internet_sources: Ich prüfe auf Internetquellen...
retrieve_knowledge: Ich hole relevante Daten aus meinem RAG-Wissen...
optimize_search: Ich optimiere die Recherche...
no_concrete_shop_query: Ich kann die Shop-Suche noch nicht belastbar auflösen. Bitte nenne das Produkt, den Messparameter oder das Zubehör etwas konkreter.
fetch_search_data_template: 'Ich rufe Recherchedaten ab (type: %s)'
analyze_all_information: Ich analysiere alle Informationen...
thinking_while_streaming: Denke nach...
no_llm_data_received: ❌ Es wurden keine Daten vom LLM empfangen.
shop_repair_check: Erweiterte Shopsuche wird geprüft…
shop_query_optimization_heartbeat: Shop-Suchanfrage wird optimiert…
generic_internal_error: ❌ Bei der Verarbeitung der Anfrage ist ein interner Fehler aufgetreten.
debug_internal_error_prefix: '❌ Interner Fehler: '
technical_error_detail_template: '
Technischer Fehler: {message}'
final_answer_guard:
truncation_message: |2-
Hinweis: Die Antwort wurde gekürzt, weil eine wiederholte oder zu lange Ausgabe erkannt wurde. Bitte starten Sie bei Bedarf eine präzisere Nachfrage.
shop_runtime:
direct_answer:
intro: ''
no_results: ''
sorted_by_length_note: ''
min_length_filter_note: ''
max_length_filter_note: ''
no_llm_fallback:
messages:
shop_only: 'Ich finde dazu im RAG-Wissen keine belastbare Fachinformation. Aus den Shopdaten ergeben sich folgende Treffer; technische Eignung bitte prüfen:'
shop_with_knowledge: 'Es liegen RAG-/Kontexttreffer und Shopdaten vor. Ohne LLM leite ich daraus keine technische Eignung ab. Die Shopdaten zeigen folgende Treffer; technische Eignung bitte prüfen:'
accessory_only_for_main_device: Die Shop-Treffer wirken wie Zubehör/Verbrauchsmaterial und nicht wie eine angefragte Messanlage oder ein Hauptgerät. Ich werte sie deshalb nicht als passende Hauptlösung.
escalation: Für eine verbindliche Produktauswahl sollte der konkrete Anwendungsfall durch Vertrieb oder Support geprüft werden.
knowledge_only: Ich habe Treffer im RAG-Wissen gefunden, aber ohne LLM kann ich daraus keine belastbare fachliche Antwort synthetisieren. Ich gebe deshalb keine sichere Produktaussage aus. Bitte aktiviere das LLM oder konkretisiere die Frage für eine gezielte Prüfung.
no_data: Ich finde dazu keine belastbaren Daten in den vorliegenden Quellen. Bitte nenne Produkt, Messparameter, Zubehör oder Anwendungsfall genauer.
no_shop_results_with_knowledge: Ich finde RAG-/Kontexttreffer, aber keine passenden Shop-Treffer zur aktuellen Suchanfrage. Das ist keine Aussage, dass es das Produkt nicht gibt. Ohne LLM gebe ich keine technische Negativaussage aus; bitte prüfe den Suchbegriff oder den Anwendungsfall gezielter.
no_shop_results_no_knowledge: Ich finde weder belastbares RAG-Wissen noch passende Shop-Treffer zur aktuellen Suchanfrage. Das ist keine sichere Negativaussage. Bitte nenne Produkt, Messparameter oder Zubehör konkreter.
shop_unavailable_with_knowledge: Live-Shopdaten konnten nicht geladen werden. Ich kann keine Aussage zu aktueller Verfügbarkeit, Preis oder Shop-Portfolio treffen. Wenn das RAG-Wissen einen direkten Fachbeleg enthält, wird die fachliche Antwort davon getrennt betrachtet.
shop_unavailable_no_knowledge: Live-Shopdaten konnten nicht geladen werden und die RAG-Treffer enthalten keinen direkten Fachbeleg zur Anfrage. Ich kann daraus keine verlässliche Produkt-, Verfügbarkeits- oder Portfolioaussage ableiten.
product_fields:
unreadable_results_message: '- Es wurden Shop-Treffer übergeben, aber keine lesbaren Produktdaten gefunden.'
unnamed_product: Unbenanntes Shop-Produkt
product_number_template: Art.-Nr. {value}
manufacturer_template: 'Hersteller: {value}'
price_template: 'Preis: {value}'
availability_template: 'Verfügbar: {value}'
availability_yes: ja
availability_no: nein
url_template: 'URL: {value}'
incompatible_role_note: 'Hinweis: Zubehör/Verbrauchsartikel; nicht als Messanlage/Gerät bestätigt'
line_template: '{index}. {parts}'
separator: ' | '
unavailable_reason_template: '{message} Ursache: {reason}'
production_ui:
stage_labels:
preparing_answer: Antwort wird vorbereitet
shop_routing_detected: Shop-Routing erkannt
rag_searched: RAG-Wissen wurde durchsucht
shop_search_preparing: Shop-Suche wird vorbereitet
more_context_needed: Mehr Kontext nötig
shop_search_running: Shop wird durchsucht
shop_unavailable: Shopdaten nicht verfügbar
shop_completed: Shop-Suche abgeschlossen
answer_generating: Antwort wird generiert
completed: Abgeschlossen
interrupted: Antwort wurde unterbrochen
confidence_labels:
checking_evidence: Beleglage wird geprüft
checking_shop_data: Shopdaten werden geprüft
more_context_needed: mehr Kontext nötig
interrupted: nicht abgeschlossen
direct: fachlich belegt
aggregate_missing: geprüfte Quellen, keine passende Zählinformation
weak: RAG-Näherungstreffer, kein direkter Fachbeleg
default: noch keine belastbaren Treffer
direct_shop_check: fachlich belegt; Shopdaten werden geprüft
aggregate_missing_shop_check: geprüfte Quellen ohne Zählinformation; Shopdaten werden geprüft
weak_shop_check: RAG-Näherungstreffer; Shopdaten werden geprüft
default_shop_check: Shopdaten werden geprüft
aggregate_missing_shop_unavailable: geprüfte Quellen ohne Zählinformation; Shopdaten nicht verfügbar
aggregate_missing_no_count: geprüfte Quellen, keine passende Zählinformation
shop_unavailable_with_knowledge: fachlich belegt; Shopdaten nicht verfügbar
shop_unavailable: Shopdaten nicht verfügbar
rag_and_shop: RAG + Shopdaten
shop_only: nur Shopdaten
rag_no_shop_hits: RAG-Wissen, keine Shop-Treffer
no_reliable_data: keine belastbaren Daten
no_reliable_hits: noch keine belastbaren Treffer
text:
live_shop_source_plain_label: Live-Shopdaten
run_status_eyebrow: RetrieX-Status
evidence_prefix: 'Beleglage: '
data_basis_label: Datenbasis
data_basis_empty_completed: keine belastbare Datenbasis
data_basis_empty_running: wird geprüft
rag_hits_checking: 'RAG-Treffer: wird geprüft'
shop_hits_loading: 'Shop-Treffer: wird geladen'
shop_hits_unavailable: 'Shop-Treffer: nicht verfügbar'
shop_hits_no_query: 'Shop-Treffer: keine Suchquery'
shop_hits_not_requested: 'Shop-Treffer: nicht angefragt'
status_completed: 'Status: abgeschlossen'
status_running: 'Status: läuft'
shop_results_eyebrow: Shop-Ergebnisse
shop_results_title: Shop-Ergebnisse
evaluated_query_label: Ausgewertete Suchquery
unnamed_product: Unbenanntes Produkt
field_not_provided: nicht übermittelt
product_number_label: Artikelnummer
price_label: Preis
availability_label: Verfügbarkeit
manufacturer_label: Hersteller
relevance_label: Relevanz
availability_yes: verfügbar
availability_no: nicht verfügbar
availability_unknown: Shopstatus nicht übermittelt
followup_eyebrow: Folgeaktionen
followup_title: Was möchtest du als Nächstes tun?
shop_meta_fallback_query: keine Suchquery ermittelt
shop_meta_query_mode_optimized: optimiert
shop_meta_query_mode_direct: direkt
shop_meta_default_intent: commerce
shop_meta_title_unavailable: Shopdaten nicht verfügbar
shop_meta_title_completed: Shop-Suche abgeschlossen
shop_meta_title_running: Shop-Suche wird ausgeführt
shop_meta_status_completed: 'Status: abgeschlossen'
shop_meta_status_running: 'Status: läuft'
shop_meta_result_unavailable: 'Shoptreffer: nicht verfügbar'
shop_meta_result_loading: 'Shoptreffer: wird geladen'
shop_meta_repair_used: 'Erweiterte Suche: genutzt'
shop_meta_repair_checked: 'Erweiterte Suche: geprüft'
shop_meta_eyebrow: Shop-Suche
shop_meta_query_label: Gesendete Suchquery
shop_meta_query_prefix: 'Query: '
shop_meta_intent_prefix: 'Intent: '
shop_unavailable_default_reason: Keine Detailmeldung vom Shopware-Server.
shop_unavailable_title: Shopdaten konnten nicht geladen werden
shop_unavailable_text_prefix: 'RetrieX antwortet ohne Live-Shopdaten weiter. Ursache: '
no_llm_history_default: Es wurden keine Daten vom LLM empfangen.
history_notice_default_title: Systemhinweis
history_notice_shop_unavailable_title: Shopdaten konnten nicht geladen werden
history_notice_answer_incomplete_title: Antwort konnte nicht abgeschlossen werden
templates:
rag_hits_count: 'RAG-Treffer: {count}'
shop_hits_count: 'Shop-Treffer: {count}'
shop_results_summary: '{count} Shop-Treffer ausgewertet'
shop_results_top_displayed_suffix: ' · Top {max} angezeigt'
shop_results_repair_suffix: ' · erweiterte Shopsuche genutzt'
relevance_matched_queries: 'Gefunden über: {queries}'
relevance_highlight: 'Passender Shop-Hinweis: {highlight}'
relevance_match_source: 'Trefferquelle: {source}'
relevance_query: 'Passend zur Suchquery: {query}'
relevance_default: Aus den Live-Shopdaten übernommen
shop_meta_result_count: 'Shoptreffer: {count}'
history_notice_without_detail: 'Systemhinweis: {title}.'
history_notice_with_detail: 'Systemhinweis: {title}. Ursache: {detail}'
history_response_system_notice: 'Systemhinweis: {message}'
follow_up_actions:
enabled: true
commerce:
- label: Im Shop suchen
prompt: Suche im Shop nach {shop_query}.
action_type: shop_search
shop_results:
- label: Preis anzeigen
prompt: Zeige mir die Preise zu {shop_price_query}.
action_type: price_details
hide_when_answer_matches_any:
- '/\b(?:preis(?:angabe|information|e)?|preise?)\b.{0,100}\b(?:nicht|kein(?:e|en)?|ohne)\b.{0,100}\b(?:angegeben|vorhanden|enthalten|ausgewiesen|gefunden|verfügbar|verfuegbar)\b/iu'
- '/\b(?:nicht|kein(?:e|en)?|ohne)\b.{0,100}\b(?:preis(?:angabe|information|e)?|preise?)\b/iu'
- '/\bpreis(?:angabe|information|e)?\b.{0,100}\bauf anfrage\b/iu'
- label: Nur Zubehör anzeigen
prompt: Suche im Shop nach {shop_query} und zeige daraus nur Zubehör.
action_type: role_filter
target_role: accessory_or_consumable
- label: Nur Geräte anzeigen
prompt: Suche im Shop nach {shop_query} und zeige daraus nur Geräte.
action_type: role_filter
target_role: main_device
knowledge:
- label: Technische Details anzeigen
prompt: Zeige nur zusätzliche technische Details zu {answer_anchor}.
action_type: technical_details
requires_answer_anchor: true
hide_when_answer_detail_score_at_least: 2
hide_when_answer_matches_any:
- '/\b(?:Grenzwert(?:e)?|Messbereich(?:e)?|Messparameter|Indikator(?:typ)?|Einsatzgebiet(?:e)?|Technische Einordnung|Technische Eignung|Produkt-?Nummer|Verfügbar|Verfuegbar|Preisinformation|Preisangabe)\b/iu'
source_labels:
external_url: Externe URL
rag_knowledge: RAG Wissen
conversation_history: Chatverlauf
shop_system: Shopsystem
extended_shop_search: Erweiterte Shopsuche
used_sources_prefix: 'Genutzte Quellen: '
sources_prefix: 'Quellen: '
html:
source_badge_template: %s
error_template: |
%s\n"