L9 Lotse – KI-Assistent: Transkription, Berichtsentwurf, Vollständigkeitsprüfung, Freigabeprinzip (Services)

- OpenAI-kompatible Transkription + Processor transcription (done/failed/disabled, AiGeneration, Notiz aus Sprachnotiz)
- Claude-Lotse (strukturierte Ausgabe, Refusal/Fallback), Datenminimierung, Vorschläge in content.lotse
- Vollständigkeitsprüfung (Regeln + KI-Hinweise mit Deep-Link), Einstellungen, KI-Protokoll
- Freigabeprinzip: Submit eines Lotse-Entwurfs nur mit Prüfbestätigung (serverseitig)
- Migration lotse_address_form (TenantSettings)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-14 17:19:38 +02:00
co-authored by Claude Opus 5
parent d5c1221ab5
commit ff5c57f276
39 changed files with 1815 additions and 7 deletions
+152
View File
@@ -0,0 +1,152 @@
{
"name": "Lotse",
"suggestionBadge": "Vorschlag vom Lotsen – bitte prüfen",
"draft": {
"button": "Bericht mit Lotse vorbereiten",
"again": "Neu vorbereiten",
"running": "Lotse bereitet den Bericht vor …",
"hint": "Der Lotse formuliert aus Notizen, Sprachnotizen, Zeiten, Material, Fotos und Checkliste einen Vorschlag. In den Bericht kommt nur, was bestätigt wird.",
"notConfigured": "Lotse ist nicht eingerichtet. Das Büro kann den KI-Anbieter hinterlegen.",
"done": "{count, plural, =0 {Keine Vorschläge – dafür fehlen noch Daten.} one {# Vorschlag bereit.} other {# Vorschläge bereit.}}",
"draftedAt": "Vorbereitet am {date}",
"missingTitle": "Das fehlt dem Lotsen noch",
"unsavedHint": "Ungespeicherte Änderungen im Bericht vorher speichern.",
"allDecided": "Alle Vorschläge sind bearbeitet.",
"reviewedAt": "Vorschlag geprüft und bestätigt am {date}"
},
"suggestion": {
"current": "Bisheriger Text",
"empty": "(leer)",
"text": "Vorschlag",
"accept": "Übernehmen",
"discard": "Verwerfen",
"accepted": "Übernommen",
"discarded": "Verworfen"
},
"review": {
"label": "Ich habe den Vorschlag vom Lotsen geprüft.",
"hint": "Pflicht vor dem Absenden: Dieser Bericht wurde mit dem Lotsen vorbereitet."
},
"completeness": {
"title": "{count, plural, one {# Angabe fehlt} other {# Angaben fehlen}}",
"check": "Lotse prüfen lassen",
"fix": "Ergänzen",
"fromLotse": "Hinweis vom Lotsen",
"item": {
"photo_requirement": "Pflichtfoto fehlt: {label}",
"checklist_item": "Pflichtpunkt der Checkliste offen: {label}",
"material_reason": "Materialabweichung ohne Grund: {label}",
"material_unconfirmed": "Geplantes Material nicht bestätigt: {label}",
"no_work_time": "Keine Arbeitszeit erfasst",
"no_description": "Keine Tätigkeitsbeschreibung",
"signature_missing": "Unterschrift fehlt",
"lotse_hint": "{text}"
}
},
"voice": {
"status": {
"pending": "Transkription läuft",
"done": "Transkribiert",
"failed": "Transkription fehlgeschlagen",
"disabled": "Ohne Transkription"
},
"transcript": "Transkript",
"noTranscript": "Noch kein Text. Text kann von Hand eingetragen werden.",
"edit": "Transkript bearbeiten",
"cancel": "Abbrechen",
"save": "Transkript speichern",
"saved": "Transkript gespeichert.",
"summarize": "Sprachnotiz zusammenfassen",
"summarizing": "Lotse fasst zusammen …",
"summaryTitle": "Zusammenfassung",
"adopt": "Als Notiz übernehmen",
"adopted": "Als Notiz gespeichert.",
"dismiss": "Ausblenden",
"fromVoice": "aus Sprachnotiz"
},
"errors": {
"generic": "Das hat nicht geklappt. Bitte erneut versuchen.",
"not_found": "Nicht gefunden.",
"forbidden": "Dafür fehlt die Berechtigung.",
"disabled": "Lotse ist für diesen Betrieb ausgeschaltet.",
"not_configured": "Lotse ist nicht eingerichtet.",
"provider_failed": "Lotse ist gerade nicht erreichbar. Bitte später erneut versuchen.",
"not_editable": "Der Bericht ist eingereicht und kann nicht mehr geändert werden.",
"no_suggestion": "Dieser Vorschlag ist schon bearbeitet. Bitte Seite neu laden.",
"no_transcript": "Die Sprachnotiz hat noch keinen Text.",
"pending": "Die Transkription läuft noch.",
"conflict": "Inzwischen geändert. Bitte Seite neu laden.",
"invalid": "Bitte Eingaben prüfen."
},
"settings": {
"back": "Einstellungen",
"crumb": "Organisation",
"title": "Lotse (KI-Assistent)",
"sub": "Einschalten, Anrede und Transparenz",
"saved": "Einstellungen gespeichert.",
"error": "Speichern nicht möglich.",
"use": "Verwendung",
"enabled": "Lotse für diesen Betrieb verwenden",
"enabledHint": "Ausgeschaltet: keine Berichtsentwürfe, keine Zusammenfassungen, Sprachnotizen ohne Transkription.",
"addressForm": "Anrede des Lotsen",
"addressFormHint": "Gilt einheitlich für alle Texte des Lotsen in diesem Betrieb.",
"address": {
"neutral": "Neutral, ohne Anrede",
"sie": "Sie",
"du": "du"
},
"save": "Speichern",
"dataTitle": "Welche Daten an wen gehen",
"draftProvider": "Berichtsentwurf und Zusammenfassung",
"transcriptionProvider": "Transkription von Sprachnotizen",
"providerLine": "{provider} · Modell {model}",
"transcriptionLine": "Server {host} · Modell {model}",
"configured": "eingerichtet",
"notConfigured": "nicht eingerichtet",
"sentTitle": "Gesendet wird",
"sent": {
"order": "Auftragstitel, Beschreibung und Leistungsumfang",
"notes": "Tätigkeitsnotizen und Texte aus Sprachnotizen",
"work": "Checkliste, Material mit Abweichungsgründen, Fotokommentare, Arbeitszeiten",
"audio": "Für die Transkription: die Audiodatei der Sprachnotiz"
},
"notSentTitle": "Nicht gesendet wird",
"notSent": {
"contact": "Telefonnummern, E-Mail-Adressen und Anschriften (werden durch Platzhalter ersetzt)",
"names": "Namen: Mitarbeitende nur als Initialen, Ansprechpartner und Privatkunden als Rolle",
"customer": "Kundenname, Kundennummer, Fotos und Unterschriften"
},
"principle": "Vorschläge des Lotsen werden gekennzeichnet und erst nach Bestätigung übernommen. Ein vorbereiteter Bericht kann nur mit der Bestätigung „Ich habe den Vorschlag geprüft“ abgesendet werden. Die ursprünglichen Notizen bleiben unverändert.",
"protocolLink": "KI-Protokoll ansehen"
},
"protocol": {
"back": "Lotse-Einstellungen",
"crumb": "Organisation · Lotse",
"title": "KI-Protokoll",
"sub": "Jede Nutzung des Lotsen: Zeitpunkt, Art, Modell, Tokens, Nutzer",
"empty": "Noch keine KI-Nutzung.",
"time": "Zeitpunkt",
"kind": "Art",
"model": "Modell",
"tokens": "Tokens (ein/aus)",
"user": "Nutzer",
"system": "System",
"content": "Inhalt",
"show": "Anzeigen",
"contentTitle": "Gesendete Daten und Antwort",
"input": "An den Anbieter gesendet",
"output": "Antwort",
"close": "Schließen",
"contentHint": "Inhalte sehen nur Mandantenadministratoren.",
"prev": "Zurück",
"next": "Weiter",
"pageOf": "Seite {page} von {pages}",
"kinds": {
"report_draft": "Berichtsentwurf",
"voice_summary": "Zusammenfassung Sprachnotiz",
"transcription": "Transkription",
"import_extraction": "Auftragsimport",
"completeness_check": "Vollständigkeitsprüfung"
}
}
}