Merge lane/berichte in feature/craftvia-mvp
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,236 @@
|
||||
{
|
||||
"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."
|
||||
},
|
||||
"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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,236 @@
|
||||
{
|
||||
"title": "Reports",
|
||||
"crumb": "Field work & records",
|
||||
"sub": "Review daily and completion reports, approve them and file them as PDF.",
|
||||
"type": {
|
||||
"daily": "Daily report",
|
||||
"completion": "Completion report"
|
||||
},
|
||||
"status": {
|
||||
"draft": "Draft",
|
||||
"submitted": "In review",
|
||||
"team_approved": "Checked by team lead",
|
||||
"approved": "Approved",
|
||||
"rejected": "Rejected",
|
||||
"superseded": "Superseded"
|
||||
},
|
||||
"outcome": {
|
||||
"signed": "Signed",
|
||||
"customer_absent": "Customer not present",
|
||||
"refused": "Customer refused to sign",
|
||||
"later": "Signature to be obtained later",
|
||||
"not_required": "Signature not required"
|
||||
},
|
||||
"timeType": {
|
||||
"travel": "Travel",
|
||||
"work": "Work",
|
||||
"break": "Break",
|
||||
"material_procurement": "Material procurement",
|
||||
"return_travel": "Return travel",
|
||||
"interruption": "Interruption"
|
||||
},
|
||||
"phase": {
|
||||
"before": "Before",
|
||||
"during": "During work",
|
||||
"after": "After"
|
||||
},
|
||||
"materialStatus": {
|
||||
"fully_used": "Fully used",
|
||||
"partially_used": "Partially used",
|
||||
"not_used": "Not used",
|
||||
"additional": "Additional"
|
||||
},
|
||||
"field": {
|
||||
"customer": "Customer",
|
||||
"customerNumber": "Customer number",
|
||||
"site": "Site",
|
||||
"contact": "Contact person",
|
||||
"workOrder": "Work order",
|
||||
"orderNumber": "Order number",
|
||||
"externalOrderNumber": "External order number",
|
||||
"orderType": "Order type",
|
||||
"description": "Order description",
|
||||
"scope": "Scope of work",
|
||||
"reportDate": "Report date",
|
||||
"workDates": "Date of work",
|
||||
"staff": "Staff on site",
|
||||
"technician": "Technician",
|
||||
"version": "Version",
|
||||
"reportNumber": "Report number",
|
||||
"status": "Status",
|
||||
"team": "Team",
|
||||
"type": "Type",
|
||||
"period": "Period",
|
||||
"updated": "Last changed"
|
||||
},
|
||||
"texts": {
|
||||
"workPerformed": "Work performed",
|
||||
"deviations": "Deviations",
|
||||
"additionalWork": "Additional work",
|
||||
"problems": "Problems",
|
||||
"openItems": "Open items and remaining work",
|
||||
"nextSteps": "Next steps",
|
||||
"hints": "Notes"
|
||||
},
|
||||
"section": {
|
||||
"header": "Work order and customer",
|
||||
"time": "Working hours",
|
||||
"texts": "Activities and notes",
|
||||
"materials": "Material",
|
||||
"photos": "Photos",
|
||||
"checklist": "Checklist",
|
||||
"signature": "Customer signature",
|
||||
"versions": "Versions",
|
||||
"blockers": "Still missing before completion"
|
||||
},
|
||||
"time": {
|
||||
"person": "Staff member",
|
||||
"type": "Type",
|
||||
"duration": "Duration",
|
||||
"total": "Total excluding breaks",
|
||||
"totalByType": "Totals by type",
|
||||
"hoursMinutes": "{hours} h {minutes} min",
|
||||
"running": "Includes running time, as of {time}",
|
||||
"empty": "No time recorded."
|
||||
},
|
||||
"materials": {
|
||||
"used": "Used",
|
||||
"notUsed": "Not used",
|
||||
"additional": "Additionally used",
|
||||
"name": "Material",
|
||||
"planned": "Planned",
|
||||
"actual": "Actual",
|
||||
"reason": "Reason for deviation",
|
||||
"deviation": "Deviation",
|
||||
"undocumented": "Not documented",
|
||||
"empty": "No material recorded."
|
||||
},
|
||||
"photos": {
|
||||
"empty": "No photos selected for the report.",
|
||||
"requirement": "Required photo: {label}",
|
||||
"alt": "Photo {index}"
|
||||
},
|
||||
"checklist": {
|
||||
"done": "Done",
|
||||
"open": "Open",
|
||||
"required": "Required",
|
||||
"empty": "No checklist."
|
||||
},
|
||||
"signature": {
|
||||
"signer": "Signed by",
|
||||
"role": "Role",
|
||||
"signedAt": "Date and time",
|
||||
"reason": "Reason",
|
||||
"capturedBy": "Captured by",
|
||||
"confirmation": "Confirmation text",
|
||||
"none": "No signature captured yet.",
|
||||
"image": "Signature of {name}"
|
||||
},
|
||||
"list": {
|
||||
"empty": "No reports for this selection.",
|
||||
"filter": "Filter",
|
||||
"reset": "Reset",
|
||||
"all": "All",
|
||||
"allWithSuperseded": "All incl. superseded",
|
||||
"from": "From",
|
||||
"to": "To",
|
||||
"count": "{count, plural, one {# report} other {# reports}}",
|
||||
"truncated": "Showing the latest {count} reports. Please use the filters.",
|
||||
"open": "Open"
|
||||
},
|
||||
"detail": {
|
||||
"back": "Back to reports",
|
||||
"pdf": "Open PDF",
|
||||
"pdfPending": "PDF is being generated. Reload the page later.",
|
||||
"aiDrafted": "Lotse draft",
|
||||
"aiDraftedHint": "Texts were prepared with Lotse and checked by the technician.",
|
||||
"rejectionReason": "Reason for rejection",
|
||||
"submittedAt": "Submitted on",
|
||||
"teamApprovedAt": "Checked by team lead on",
|
||||
"approvedAt": "Approved on",
|
||||
"current": "This version",
|
||||
"checksum": "Checksum (PDF)",
|
||||
"generatedAt": "Data as of"
|
||||
},
|
||||
"actions": {
|
||||
"approve": "Approve",
|
||||
"approveTeam": "Check as team lead",
|
||||
"reject": "Reject",
|
||||
"rejectTitle": "Reject report",
|
||||
"rejectSub": "The technician sees the reason and corrects the report.",
|
||||
"rejectReason": "Reason",
|
||||
"rejectPlaceholder": "What needs to be corrected?",
|
||||
"newVersion": "Create new version",
|
||||
"newVersionHint": "The approved version stays unchanged until the new version is approved.",
|
||||
"regeneratePdf": "Generate PDF",
|
||||
"cancel": "Cancel",
|
||||
"close": "Close",
|
||||
"done": "Done."
|
||||
},
|
||||
"errors": {
|
||||
"generic": "Action not possible.",
|
||||
"not_found": "Report not found.",
|
||||
"forbidden": "You are not allowed to do this.",
|
||||
"conflict": "The report has changed in the meantime. Please reload the page.",
|
||||
"invalid": "Please check your input.",
|
||||
"blocked": "Some information is still missing.",
|
||||
"reasonRequired": "Please enter a reason.",
|
||||
"signerRequired": "Please enter the name of the signer.",
|
||||
"imageRequired": "Please have the customer sign first.",
|
||||
"notRequiredForbidden": "A signature is required for this work order."
|
||||
},
|
||||
"blocker": {
|
||||
"checklist_item": "Checklist open: {label}",
|
||||
"photo_requirement": "Required photo missing: {label}",
|
||||
"running_session": "Time tracking is still running",
|
||||
"missing_field": "Required information missing: {field}"
|
||||
},
|
||||
"mobile": {
|
||||
"title": "Report",
|
||||
"backToOrder": "Back to work order",
|
||||
"createDaily": "Create daily report",
|
||||
"createCompletion": "Create completion report",
|
||||
"dailyHint": "Finish the working day. The work order stays open.",
|
||||
"completionHint": "Finish the job: check the report, get it signed, submit.",
|
||||
"blockersHint": "Complete these items first, then create the completion report.",
|
||||
"stepReview": "Check",
|
||||
"stepEdit": "Complete",
|
||||
"stepSign": "Signature",
|
||||
"stepSubmit": "Submit",
|
||||
"stepOf": "Step {current} of {total}",
|
||||
"edit": "Complete report",
|
||||
"review": "Check report",
|
||||
"save": "Save draft",
|
||||
"saved": "Draft saved.",
|
||||
"toSign": "Continue to signature",
|
||||
"submit": "Submit report",
|
||||
"submitted": "The office is reviewing the report.",
|
||||
"readOnly": "The report has been submitted and can no longer be changed.",
|
||||
"rejected": "Rejected: {reason}",
|
||||
"signatureMissing": "Signature or reason still missing.",
|
||||
"noCompletion": "No completion report yet."
|
||||
},
|
||||
"sign": {
|
||||
"title": "Signature",
|
||||
"outcomeLabel": "Signature",
|
||||
"signerName": "Name of signer",
|
||||
"signerRole": "Role (optional)",
|
||||
"reason": "Reason",
|
||||
"clear": "Clear",
|
||||
"padLabel": "Signature field. Sign with finger or stylus.",
|
||||
"padEmpty": "Sign here",
|
||||
"confirmation": "I confirm that the work documented in report {reportNumber} for work order {orderNumber} has been carried out. Date: {date}.",
|
||||
"save": "Save",
|
||||
"saved": "Saved.",
|
||||
"alreadySigned": "Signature captured.",
|
||||
"noReport": "Create the completion report first."
|
||||
},
|
||||
"pdf": {
|
||||
"page": "Page {page} of {pages}",
|
||||
"reportId": "Report ID",
|
||||
"checksum": "Checksum",
|
||||
"approvalStatus": "Approval status",
|
||||
"createdAt": "Created on",
|
||||
"notApproved": "Not approved"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user