L8 Notdienst: mobile Erfassung /m/emergency in drei Schritten

Kunde suchen oder vorläufig anlegen, Einsatzort mit Ansprechpartner,
Grund mit optionaler Sprachnotiz, Beginn und Team; Start über die Sync-Op.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-14 13:12:33 +02:00
co-authored by Claude Opus 5
parent f173563424
commit ef61754a0a
6 changed files with 1276 additions and 3 deletions
+236
View File
@@ -0,0 +1,236 @@
{
"capture": {
"title": "Emergency call-out",
"sub": "Create the call-out in 3 steps and start right away.",
"noAccess": "Emergency capture is not enabled for your role.",
"stepOf": "Step {step} of 3",
"steps": {
"customer": "Customer",
"site": "Location",
"reason": "Reason & start"
},
"next": "Next",
"back": "Back",
"required": "Please fill in the marked required fields.",
"start": "Start call-out",
"starting": "Creating call-out …",
"queued": "Call-out saved. It will be transferred once you are back online.",
"customer": {
"existing": "Existing customer",
"new": "New customer",
"search": "Search customer",
"searchPlaceholder": "Name, city or customer number",
"searchHint": "Enter at least 2 characters.",
"searching": "Searching …",
"offline": "Search is not available right now. Without a connection, please create a new customer.",
"noHits": "No customer found. Create a new customer.",
"provisional": "Provisional",
"change": "Choose another customer",
"selectRequired": "Please select a customer or create a new one.",
"newHint": "Will be created as a provisional customer. The office reviews it on the next working day.",
"companyName": "Company",
"firstName": "First name",
"lastName": "Last name",
"nameHint": "Enter company or last name.",
"phone": "Phone",
"email": "E-mail (optional)",
"street": "Street",
"houseNumber": "No.",
"postalCode": "Postcode",
"city": "City"
},
"site": {
"loading": "Loading sites …",
"existing": "Customer site",
"newAddress": "Other call-out address",
"none": "No site on file for this customer. Please enter the call-out address.",
"newHint": "The call-out address is created as a provisional site.",
"useCustomerAddress": "Use customer address",
"name": "Label (optional)",
"contactTitle": "Contact on site",
"contactName": "Name",
"contactPhone": "Phone"
},
"reason": {
"label": "Reason for the emergency call-out",
"placeholder": "e.g. burst water pipe in the basement, heating failure",
"voice": "Voice note (optional)",
"voiceRecord": "Record voice note",
"voiceRecording": "Recording · {seconds} s",
"voiceStop": "Stop recording",
"voiceDiscard": "Discard recording",
"voiceHint": "Saved to the call-out after it has started.",
"voiceDenied": "No microphone access. Please allow it in the device settings.",
"startedAt": "Start",
"team": "Team",
"noTeam": "No team",
"technicians": "Technicians",
"me": "Me (always included)"
},
"errors": {
"not_found": "Customer or site not found. Please check your selection.",
"forbidden": "You do not have permission for this.",
"invalid": "Please check your entries.",
"conflict": "The call-out has already been created. Please check the order list.",
"blocked": "The call-out cannot be created right now.",
"internal": "The call-out could not be created. Please try again.",
"network": "No connection. Please tap “Start call-out” again."
}
},
"review": {
"crumb": "Work orders · Emergency",
"title": "Emergency review",
"sub": "Emergency call-outs with provisional master data or awaiting review.",
"filterLabel": "Filter emergency call-outs",
"filter": {
"open": "To review",
"all": "All call-outs"
},
"emptyOpen": "No emergency call-outs to review.",
"emptyAll": "No emergency call-outs yet.",
"customer": "Customer",
"site": "Site",
"technician": "Technician",
"startedAt": "Start",
"provisional": "Provisional",
"progress": "{count} of {total} review steps done",
"back": "Back to emergency review",
"detailSub": "Technician: {technician} · Start: {start} · End: {end}",
"running": "still running",
"openOrder": "Open work order",
"steps": {
"customer": "Clarify customer",
"site": "Clarify site",
"order": "Complete order",
"report": "Approve report",
"billing": "Release for billing"
},
"stepDone": "Done",
"stepOpen": "Open",
"reason": "Reason for the emergency call-out",
"customerName": "Name",
"customerNumber": "Customer number",
"numberOnConfirm": "assigned on confirmation",
"status": "Status",
"customerStatus": {
"active": "Active",
"inactive": "Inactive",
"provisional": "Provisional – review by back office required",
"merged": "Merged"
},
"phone": "Phone",
"email": "E-mail",
"address": "Address",
"contact": "Contact",
"provisionalHint": "Provisional customer: confirm, assign to an existing customer or merge with a duplicate.",
"saved": "Saved.",
"confirmCustomer": {
"title": "Confirm customer",
"hint": "The customer becomes active and receives a customer number.",
"submit": "Confirm customer"
},
"duplicates": {
"title": "Possible duplicates",
"none": "No similar customers found.",
"score": "Match {score} %"
},
"target": {
"select": "Existing customer",
"none": "Please choose",
"number": "or customer number"
},
"assignCustomer": {
"title": "Assign to existing customer",
"hint": "Order, site and contacts move to the chosen customer. The provisional record is marked as merged.",
"submit": "Assign"
},
"mergeCustomer": {
"title": "Merge duplicate",
"hint": "All contacts, sites, orders and documents of this customer move to the chosen customer. Cannot be undone.",
"confirm": "I have checked that this is the same customer.",
"submit": "Merge"
},
"siteName": "Label",
"siteStatus": {
"active": "Active",
"inactive": "Inactive",
"provisional": "Provisional – review by back office required"
},
"onSiteContact": "Contact on site",
"noSite": "No site on this order.",
"street": "Street",
"houseNumber": "No.",
"postalCode": "Postcode",
"city": "City",
"accessNotes": "Access notes",
"correctSite": {
"title": "Correct site",
"confirm": "Confirm site (provisional → active)",
"submit": "Save site"
},
"assignSite": {
"title": "Assign existing site",
"hint": "The order is assigned to the chosen site. A provisional site that is no longer used is removed.",
"select": "Customer site",
"none": "The customer has no other sites.",
"submit": "Assign site"
},
"completeOrder": {
"title": "Title",
"description": "Description",
"orderType": "Order type",
"billingType": "Billing type",
"choose": "Please choose",
"hint": "Done once order type and billing type are set.",
"submit": "Save order"
},
"billingTypes": {
"fixed": "Fixed price",
"time_material": "Time and material",
"maintenance_contract": "Maintenance contract",
"warranty": "Warranty"
},
"report": {
"none": "No report submitted yet.",
"open": "Review report",
"hint": "Approval and rejection happen on the report page.",
"version": "Version {version}",
"type": {
"daily": "Daily report",
"completion": "Completion report"
},
"status": {
"draft": "Draft",
"submitted": "Submitted",
"team_approved": "Checked by team lead",
"approved": "Approved",
"rejected": "Rejected",
"superseded": "Superseded"
}
},
"billing": {
"hint": "Possible once customer and site are clarified and the completion report is approved.",
"submit": "Release for billing",
"current": "Current status"
},
"errors": {
"generic": "That did not work. Please try again.",
"invalid": "Please check your entries.",
"not_found": "Not found.",
"forbidden": "You do not have permission for this.",
"conflict": "The record has changed in the meantime. Please reload the page.",
"blocked": "Not possible yet: prerequisites are missing.",
"not_provisional": "The customer is no longer provisional.",
"same_customer": "Please choose a different customer.",
"same_site": "The order is already assigned to this site.",
"target_not_found": "Customer not found. Please check the selection or customer number.",
"not_found_target": "Customer not found.",
"confirm_required": "Please confirm the check.",
"already_merged": "One of the customers has already been merged.",
"no_site": "The order has no site.",
"master_data_open": "Clarify customer and site first, then release for billing.",
"number_allocation": "The customer number could not be assigned. Please try again.",
"number_taken": "This customer number is already taken."
}
}
}