Files
craftvia/messages/de/reports.json
T
msolarczekandClaude Opus 5 ff5c57f276 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>
2026-09-14 17:19:38 +02:00

238 lines
8.0 KiB
JSON

{
"title": "Berichte",
"crumb": "Einsatz & Nachweis",
"sub": "Tages- und Abschlussberichte prüfen, freigeben und als PDF ablegen.",
"type": {
"daily": "Tagesbericht",
"completion": "Abschlussbericht"
},
"status": {
"draft": "Entwurf",
"submitted": "Zur Prüfung",
"team_approved": "Vom Teamleiter geprüft",
"approved": "Freigegeben",
"rejected": "Zurückgewiesen",
"superseded": "Ersetzt"
},
"outcome": {
"signed": "Unterschrieben",
"customer_absent": "Kunde nicht anwesend",
"refused": "Kunde verweigert Unterschrift",
"later": "Unterschrift wird später eingeholt",
"not_required": "Unterschrift nicht erforderlich"
},
"timeType": {
"travel": "Anfahrt",
"work": "Arbeitszeit",
"break": "Pause",
"material_procurement": "Materialbeschaffung",
"return_travel": "Rückfahrt",
"interruption": "Unterbrechung"
},
"phase": {
"before": "Vorher",
"during": "Während der Arbeit",
"after": "Nachher"
},
"materialStatus": {
"fully_used": "Vollständig verwendet",
"partially_used": "Teilweise verwendet",
"not_used": "Nicht verwendet",
"additional": "Zusätzlich"
},
"field": {
"customer": "Kunde",
"customerNumber": "Kundennummer",
"site": "Objekt",
"contact": "Ansprechpartner",
"workOrder": "Auftrag",
"orderNumber": "Auftragsnummer",
"externalOrderNumber": "Externe Auftragsnummer",
"orderType": "Auftragsart",
"description": "Auftragsbeschreibung",
"scope": "Leistungsumfang",
"reportDate": "Berichtsdatum",
"workDates": "Einsatzdatum",
"staff": "Eingesetzte Mitarbeiter",
"technician": "Monteur",
"version": "Version",
"reportNumber": "Berichtsnummer",
"status": "Status",
"team": "Team",
"type": "Typ",
"period": "Zeitraum",
"updated": "Zuletzt geändert"
},
"texts": {
"workPerformed": "Ausgeführte Leistungen",
"deviations": "Abweichungen",
"additionalWork": "Zusatzleistungen",
"problems": "Probleme",
"openItems": "Offene Punkte und Restarbeiten",
"nextSteps": "Nächste Schritte",
"hints": "Hinweise"
},
"section": {
"header": "Auftrag und Kunde",
"time": "Arbeitszeiten",
"texts": "Tätigkeiten und Hinweise",
"materials": "Material",
"photos": "Fotos",
"checklist": "Checkliste",
"signature": "Kundenunterschrift",
"versions": "Versionen",
"blockers": "Vor dem Abschluss fehlt noch"
},
"time": {
"person": "Mitarbeiter",
"type": "Art",
"duration": "Dauer",
"total": "Summe ohne Pausen",
"totalByType": "Summen je Art",
"hoursMinutes": "{hours} h {minutes} min",
"running": "Enthält laufende Zeiten, Stand {time}",
"empty": "Keine Zeiten erfasst."
},
"materials": {
"used": "Verwendet",
"notUsed": "Nicht verwendet",
"additional": "Zusätzlich verwendet",
"name": "Material",
"planned": "Geplant",
"actual": "Ist",
"reason": "Abweichungsgrund",
"deviation": "Abweichung",
"undocumented": "Nicht dokumentiert",
"empty": "Kein Material erfasst."
},
"photos": {
"empty": "Keine Fotos für den Bericht ausgewählt.",
"requirement": "Pflichtfoto: {label}",
"alt": "Foto {index}"
},
"checklist": {
"done": "Erledigt",
"open": "Offen",
"required": "Pflicht",
"empty": "Keine Checkliste."
},
"signature": {
"signer": "Unterzeichner",
"role": "Funktion",
"signedAt": "Datum und Uhrzeit",
"reason": "Begründung",
"capturedBy": "Aufgenommen von",
"confirmation": "Bestätigungstext",
"none": "Noch keine Unterschrift erfasst.",
"image": "Unterschrift von {name}"
},
"list": {
"empty": "Keine Berichte für diese Auswahl.",
"filter": "Filtern",
"reset": "Zurücksetzen",
"all": "Alle",
"allWithSuperseded": "Alle inkl. ersetzte",
"from": "Von",
"to": "Bis",
"count": "{count, plural, one {# Bericht} other {# Berichte}}",
"truncated": "Es werden die neuesten {count} Berichte angezeigt. Bitte Filter nutzen.",
"open": "Öffnen"
},
"detail": {
"back": "Zurück zu Berichten",
"pdf": "PDF öffnen",
"pdfPending": "PDF wird erzeugt. Seite später neu laden.",
"aiDrafted": "Lotse-Entwurf",
"aiDraftedHint": "Texte wurden mit Lotse vorbereitet und vom Monteur geprüft.",
"rejectionReason": "Grund der Zurückweisung",
"submittedAt": "Eingereicht am",
"teamApprovedAt": "Vom Teamleiter geprüft am",
"approvedAt": "Freigegeben am",
"current": "Diese Version",
"checksum": "Prüfsumme (PDF)",
"generatedAt": "Stand der Daten"
},
"actions": {
"approve": "Freigeben",
"approveTeam": "Als Teamleiter prüfen",
"reject": "Zurückweisen",
"rejectTitle": "Bericht zurückweisen",
"rejectSub": "Der Monteur sieht den Grund und korrigiert den Bericht.",
"rejectReason": "Grund",
"rejectPlaceholder": "Was muss korrigiert werden?",
"newVersion": "Neue Version anlegen",
"newVersionHint": "Die freigegebene Version bleibt unverändert, bis die neue Version freigegeben ist.",
"regeneratePdf": "PDF erzeugen",
"cancel": "Abbrechen",
"close": "Schließen",
"done": "Erledigt."
},
"errors": {
"generic": "Vorgang nicht möglich.",
"not_found": "Bericht nicht gefunden.",
"forbidden": "Dafür fehlt die Berechtigung.",
"conflict": "Der Bericht wurde inzwischen geändert. Bitte Seite neu laden.",
"invalid": "Bitte Eingaben prüfen.",
"blocked": "Es fehlen noch Angaben.",
"reasonRequired": "Bitte einen Grund angeben.",
"signerRequired": "Bitte den Namen des Unterzeichners angeben.",
"imageRequired": "Bitte zuerst unterschreiben lassen.",
"notRequiredForbidden": "Für diesen Auftrag ist eine Unterschrift erforderlich.",
"aiReviewRequired": "Bitte bestätigen, dass der Vorschlag vom Lotsen geprüft wurde."
},
"blocker": {
"checklist_item": "Checkliste offen: {label}",
"photo_requirement": "Pflichtfoto fehlt: {label}",
"running_session": "Zeiterfassung läuft noch",
"missing_field": "Pflichtangabe fehlt: {field}"
},
"mobile": {
"title": "Bericht",
"backToOrder": "Zurück zum Auftrag",
"createDaily": "Tagesbericht erstellen",
"createCompletion": "Abschlussbericht erstellen",
"dailyHint": "Arbeitstag abschließen. Der Auftrag bleibt offen.",
"completionHint": "Einsatz abschließen: Bericht prüfen, unterschreiben lassen, absenden.",
"blockersHint": "Erst diese Punkte erledigen, dann den Abschlussbericht erstellen.",
"stepReview": "Prüfen",
"stepEdit": "Ergänzen",
"stepSign": "Unterschrift",
"stepSubmit": "Absenden",
"stepOf": "Schritt {current} von {total}",
"edit": "Bericht ergänzen",
"review": "Bericht prüfen",
"save": "Entwurf speichern",
"saved": "Entwurf gespeichert.",
"toSign": "Weiter zur Unterschrift",
"submit": "Bericht absenden",
"submitted": "Bericht ist beim Büro zur Prüfung.",
"readOnly": "Der Bericht ist eingereicht und kann nicht mehr geändert werden.",
"rejected": "Zurückgewiesen: {reason}",
"signatureMissing": "Unterschrift oder Grund fehlt noch.",
"noCompletion": "Noch kein Abschlussbericht angelegt."
},
"sign": {
"title": "Unterschrift",
"outcomeLabel": "Unterschrift",
"signerName": "Name des Unterzeichners",
"signerRole": "Funktion (optional)",
"reason": "Begründung",
"clear": "Löschen",
"padLabel": "Unterschriftsfeld. Mit Finger oder Stift unterschreiben.",
"padEmpty": "Hier unterschreiben",
"confirmation": "Ich bestätige die Ausführung der im Bericht {reportNumber} zum Auftrag {orderNumber} dokumentierten Arbeiten. Datum: {date}.",
"save": "Speichern",
"saved": "Gespeichert.",
"alreadySigned": "Unterschrift liegt vor.",
"noReport": "Zuerst den Abschlussbericht erstellen."
},
"pdf": {
"page": "Seite {page} von {pages}",
"reportId": "Bericht-ID",
"checksum": "Prüfsumme",
"approvalStatus": "Freigabestatus",
"createdAt": "Erstellt am",
"notApproved": "Nicht freigegeben"
}
}