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": "Notdienst",
"sub": "Einsatz in 3 Schritten anlegen und sofort starten.",
"noAccess": "Die Notdienst-Erfassung ist für Ihre Rolle nicht freigeschaltet.",
"stepOf": "Schritt {step} von 3",
"steps": {
"customer": "Kunde",
"site": "Einsatzort",
"reason": "Grund & Start"
},
"next": "Weiter",
"back": "Zurück",
"required": "Bitte die markierten Pflichtfelder ausfüllen.",
"start": "Einsatz starten",
"starting": "Einsatz wird angelegt …",
"queued": "Einsatz ist gespeichert und wird übertragen, sobald wieder Verbindung besteht.",
"customer": {
"existing": "Bestehender Kunde",
"new": "Neuer Kunde",
"search": "Kunde suchen",
"searchPlaceholder": "Name, Ort oder Kundennummer",
"searchHint": "Mindestens 2 Zeichen eingeben.",
"searching": "Suche läuft …",
"offline": "Suche gerade nicht möglich. Ohne Verbindung bitte einen neuen Kunden anlegen.",
"noHits": "Kein Kunde gefunden. Legen Sie einen neuen Kunden an.",
"provisional": "Vorläufig",
"change": "Anderen Kunden wählen",
"selectRequired": "Bitte einen Kunden auswählen oder neu anlegen.",
"newHint": "Wird als vorläufiger Kunde angelegt. Das Büro prüft ihn am nächsten Arbeitstag.",
"companyName": "Firma",
"firstName": "Vorname",
"lastName": "Nachname",
"nameHint": "Firma oder Nachname angeben.",
"phone": "Telefon",
"email": "E-Mail (optional)",
"street": "Straße",
"houseNumber": "Nr.",
"postalCode": "PLZ",
"city": "Ort"
},
"site": {
"loading": "Objekte werden geladen …",
"existing": "Objekt des Kunden",
"newAddress": "Andere Einsatzadresse",
"none": "Für diesen Kunden ist kein Objekt hinterlegt. Bitte die Einsatzadresse erfassen.",
"newHint": "Die Einsatzadresse wird als vorläufiges Objekt angelegt.",
"useCustomerAddress": "Kundenadresse übernehmen",
"name": "Bezeichnung (optional)",
"contactTitle": "Ansprechpartner vor Ort",
"contactName": "Name",
"contactPhone": "Telefon"
},
"reason": {
"label": "Grund des Notdiensteinsatzes",
"placeholder": "z. B. Wasserrohrbruch im Keller, Heizung ausgefallen",
"voice": "Sprachnotiz (optional)",
"voiceRecord": "Sprachnotiz aufnehmen",
"voiceRecording": "Aufnahme läuft · {seconds} s",
"voiceStop": "Aufnahme beenden",
"voiceDiscard": "Aufnahme verwerfen",
"voiceHint": "Wird nach dem Start am Einsatz gespeichert.",
"voiceDenied": "Kein Zugriff auf das Mikrofon. Bitte in den Geräteeinstellungen erlauben.",
"startedAt": "Beginn",
"team": "Team",
"noTeam": "Ohne Team",
"technicians": "Monteure",
"me": "Ich (immer dabei)"
},
"errors": {
"not_found": "Kunde oder Objekt nicht gefunden. Bitte Auswahl prüfen.",
"forbidden": "Dafür fehlt Ihnen die Berechtigung.",
"invalid": "Bitte die Eingaben prüfen.",
"conflict": "Der Einsatz wurde bereits angelegt. Bitte die Auftragsliste prüfen.",
"blocked": "Der Einsatz kann gerade nicht angelegt werden.",
"internal": "Einsatz konnte nicht angelegt werden. Bitte erneut versuchen.",
"network": "Keine Verbindung. Bitte erneut auf „Einsatz starten“ tippen."
}
},
"review": {
"crumb": "Aufträge · Notdienst",
"title": "Notdienst-Prüfung",
"sub": "Notdiensteinsätze mit vorläufigen Stammdaten oder zur Prüfung.",
"filterLabel": "Filter Notdiensteinsätze",
"filter": {
"open": "Zu prüfen",
"all": "Alle Notdienste"
},
"emptyOpen": "Keine Notdiensteinsätze zu prüfen.",
"emptyAll": "Noch keine Notdiensteinsätze.",
"customer": "Kunde",
"site": "Objekt",
"technician": "Monteur",
"startedAt": "Beginn",
"provisional": "Vorläufig",
"progress": "{count} von {total} Prüfschritten erledigt",
"back": "Zur Notdienst-Prüfung",
"detailSub": "Monteur: {technician} · Einsatzbeginn: {start} · Einsatzende: {end}",
"running": "läuft noch",
"openOrder": "Auftrag öffnen",
"steps": {
"customer": "Kunde klären",
"site": "Objekt klären",
"order": "Auftrag ergänzen",
"report": "Bericht freigeben",
"billing": "Abrechnung freigeben"
},
"stepDone": "Erledigt",
"stepOpen": "Offen",
"reason": "Grund des Notdiensteinsatzes",
"customerName": "Name",
"customerNumber": "Kundennummer",
"numberOnConfirm": "wird bei Bestätigung vergeben",
"status": "Status",
"customerStatus": {
"active": "Aktiv",
"inactive": "Inaktiv",
"provisional": "Vorläufig – Prüfung durch Backoffice erforderlich",
"merged": "Zusammengeführt"
},
"phone": "Telefon",
"email": "E-Mail",
"address": "Adresse",
"contact": "Ansprechpartner",
"provisionalHint": "Vorläufiger Kunde: bestätigen, einem bestehenden Kunden zuordnen oder mit einer Dublette zusammenführen.",
"saved": "Gespeichert.",
"confirmCustomer": {
"title": "Kunden bestätigen",
"hint": "Der Kunde wird aktiv und erhält eine Kundennummer.",
"submit": "Kunden bestätigen"
},
"duplicates": {
"title": "Mögliche Dubletten",
"none": "Keine ähnlichen Kunden gefunden.",
"score": "Übereinstimmung {score} %"
},
"target": {
"select": "Bestehender Kunde",
"none": "Bitte wählen",
"number": "oder Kundennummer"
},
"assignCustomer": {
"title": "Bestehendem Kunden zuordnen",
"hint": "Auftrag, Objekt und Ansprechpartner werden zum gewählten Kunden umgehängt. Der vorläufige Datensatz wird als zusammengeführt markiert.",
"submit": "Zuordnen"
},
"mergeCustomer": {
"title": "Dublette zusammenführen",
"hint": "Alle Ansprechpartner, Objekte, Aufträge und Dokumente dieses Kunden gehen auf den gewählten Kunden über. Nicht umkehrbar.",
"confirm": "Ich habe geprüft, dass es derselbe Kunde ist.",
"submit": "Zusammenführen"
},
"siteName": "Bezeichnung",
"siteStatus": {
"active": "Aktiv",
"inactive": "Inaktiv",
"provisional": "Vorläufig – Prüfung durch Backoffice erforderlich"
},
"onSiteContact": "Ansprechpartner vor Ort",
"noSite": "Kein Objekt am Auftrag.",
"street": "Straße",
"houseNumber": "Nr.",
"postalCode": "PLZ",
"city": "Ort",
"accessNotes": "Zugangshinweise",
"correctSite": {
"title": "Objekt korrigieren",
"confirm": "Objekt bestätigen (vorläufig → aktiv)",
"submit": "Objekt speichern"
},
"assignSite": {
"title": "Bestehendes Objekt zuordnen",
"hint": "Der Auftrag wird dem gewählten Objekt zugeordnet. Ein nicht mehr genutztes vorläufiges Objekt wird entfernt.",
"select": "Objekt des Kunden",
"none": "Der Kunde hat keine weiteren Objekte.",
"submit": "Objekt zuordnen"
},
"completeOrder": {
"title": "Titel",
"description": "Beschreibung",
"orderType": "Auftragsart",
"billingType": "Abrechnungsart",
"choose": "Bitte wählen",
"hint": "Erledigt, sobald Auftragsart und Abrechnungsart gesetzt sind.",
"submit": "Auftrag speichern"
},
"billingTypes": {
"fixed": "Pauschal",
"time_material": "Nach Aufwand",
"maintenance_contract": "Wartungsvertrag",
"warranty": "Gewährleistung"
},
"report": {
"none": "Noch kein Bericht eingereicht.",
"open": "Bericht prüfen",
"hint": "Freigabe und Zurückweisung erfolgen auf der Berichtsseite.",
"version": "Version {version}",
"type": {
"daily": "Tagesbericht",
"completion": "Abschlussbericht"
},
"status": {
"draft": "Entwurf",
"submitted": "Eingereicht",
"team_approved": "Vom Teamleiter geprüft",
"approved": "Freigegeben",
"rejected": "Zurückgewiesen",
"superseded": "Ersetzt"
}
},
"billing": {
"hint": "Möglich, wenn Kunde und Objekt geklärt sind und der Abschlussbericht freigegeben ist.",
"submit": "Zur Abrechnung freigeben",
"current": "Aktueller Status"
},
"errors": {
"generic": "Das hat nicht geklappt. Bitte erneut versuchen.",
"invalid": "Bitte die Eingaben prüfen.",
"not_found": "Nicht gefunden.",
"forbidden": "Dafür fehlt Ihnen die Berechtigung.",
"conflict": "Der Datensatz wurde inzwischen geändert. Bitte Seite neu laden.",
"blocked": "Noch nicht möglich: Voraussetzungen fehlen.",
"not_provisional": "Der Kunde ist nicht mehr vorläufig.",
"same_customer": "Bitte einen anderen Kunden wählen.",
"same_site": "Der Auftrag ist diesem Objekt bereits zugeordnet.",
"target_not_found": "Kunde nicht gefunden. Bitte Auswahl oder Kundennummer prüfen.",
"not_found_target": "Kunde nicht gefunden.",
"confirm_required": "Bitte die Prüfung bestätigen.",
"already_merged": "Einer der Kunden wurde bereits zusammengeführt.",
"no_site": "Der Auftrag hat kein Objekt.",
"master_data_open": "Erst Kunde und Objekt klären, dann zur Abrechnung freigeben.",
"number_allocation": "Kundennummer konnte nicht vergeben werden. Bitte erneut versuchen.",
"number_taken": "Diese Kundennummer ist bereits vergeben."
}
}
}