L16 Lotse-Chat für Monteure: mobile Chat-Seite, Aktionskarten, Mikrofon, Einstieg und Einstellung
/m/lotse mit Verlauf, Chips, Sprungzielen, Aktionskarten (Bestätigen/Bearbeiten/Verwerfen), Spracheingabe mit editierbarem Transkript und Offline-Hinweis; Navigationseintrag, Button „Lotse fragen“ im Auftragsdetail, Schalter und Datenfluss in /settings/lotse, Audit-Labels. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -6,7 +6,8 @@
|
||||
"emergency": "Emergency",
|
||||
"sync": "Sync",
|
||||
"profile": "Profile",
|
||||
"approvalsBadge": "{count} time entries to approve"
|
||||
"approvalsBadge": "{count} time entries to approve",
|
||||
"lotse": "Lotse"
|
||||
},
|
||||
"connection": {
|
||||
"online": "Online",
|
||||
|
||||
+171
-2
@@ -89,6 +89,8 @@
|
||||
"use": "Usage",
|
||||
"enabled": "Use Lotse in this business",
|
||||
"enabledHint": "Switched off: no report drafts, no summaries, voice notes without transcription.",
|
||||
"chatEnabled": "Lotse chat for technicians",
|
||||
"chatEnabledHint": "Technicians write or talk to the Lotse. Actions (status, times, material, notes) are only executed after the technician confirms them.",
|
||||
"addressForm": "Lotse form of address",
|
||||
"addressFormHint": "Applies consistently to all Lotse texts in this business.",
|
||||
"address": {
|
||||
@@ -114,7 +116,9 @@
|
||||
"order": "Work order title, description and scope",
|
||||
"notes": "Activity notes and voice note texts",
|
||||
"work": "Checklist, material with deviation reasons, photo comments, working times",
|
||||
"audio": "For transcription: the audio file of the voice note"
|
||||
"audio": "For transcription: the audio file of the voice note",
|
||||
"chat": "Lotse chat: the technician's messages (phone numbers, e-mail and postal addresses replaced) and the order data above. Customer names and contact data only as placeholders – values are inserted only in the answer on the technician's device.",
|
||||
"chatAudio": "Voice input in the chat: the recording for transcription (not stored)"
|
||||
},
|
||||
"notSentTitle": "Not sent",
|
||||
"notSent": {
|
||||
@@ -152,7 +156,172 @@
|
||||
"voice_summary": "Voice note summary",
|
||||
"transcription": "Transcription",
|
||||
"import_extraction": "Order import",
|
||||
"completeness_check": "Completeness check"
|
||||
"completeness_check": "Completeness check",
|
||||
"lotse_chat": "Lotse chat"
|
||||
}
|
||||
},
|
||||
"chat": {
|
||||
"title": "Lotse chat",
|
||||
"intro": "Briefly write or say what is done – e.g. “Order finished, storage tank installed, 2 hrs, 1 filter fitted”. The Lotse proposes actions. Nothing is saved before confirmation.",
|
||||
"context": "Order {number} · {title}",
|
||||
"noContext": "No order context",
|
||||
"ask": "Ask the Lotse",
|
||||
"input": "Message to the Lotse",
|
||||
"send": "Send",
|
||||
"sending": "Lotse is thinking …",
|
||||
"newChat": "New chat",
|
||||
"userLabel": "Own message",
|
||||
"lotseLabel": "Lotse",
|
||||
"empty": "No messages yet.",
|
||||
"notConfigured": "The Lotse is not set up. The office can configure the AI provider.",
|
||||
"offline": "No connection. The Lotse needs internet – your input is kept.",
|
||||
"chipsLabel": "Suggested answers",
|
||||
"linksLabel": "Complete directly",
|
||||
"confirmAll": "Confirm all ({count})",
|
||||
"mic": {
|
||||
"record": "Speak",
|
||||
"stop": "Stop recording",
|
||||
"recording": "Recording · {time}",
|
||||
"transcribing": "Converting to text …",
|
||||
"unavailable": "Voice input is not set up.",
|
||||
"denied": "No access to the microphone.",
|
||||
"unsupported": "Voice input is not supported on this device.",
|
||||
"failed": "Conversion to text failed. Please type.",
|
||||
"hint": "Check the text before sending."
|
||||
},
|
||||
"card": {
|
||||
"confirm": "Confirm",
|
||||
"edit": "Edit",
|
||||
"discard": "Discard",
|
||||
"saveConfirm": "Apply and confirm",
|
||||
"cancel": "Cancel",
|
||||
"busy": "Running …",
|
||||
"validUntil": "Valid until {time}",
|
||||
"status": {
|
||||
"proposed": "Open – please confirm",
|
||||
"confirmed": "Done",
|
||||
"discarded": "Discarded",
|
||||
"expired": "Expired",
|
||||
"failed": "Not executed"
|
||||
},
|
||||
"kind": {
|
||||
"transition_work_order": "Change status",
|
||||
"book_time": "Book time",
|
||||
"record_material": "Record material",
|
||||
"add_note": "Save note",
|
||||
"suggest_report_fields": "Report suggestion"
|
||||
},
|
||||
"action": {
|
||||
"accept": "Accept order {number}",
|
||||
"start_travel": "Start travel to {number}",
|
||||
"start_work": "Start work on {number}",
|
||||
"pause": "Pause {number}",
|
||||
"resume": "Resume work on {number}",
|
||||
"complete": "Technically complete order {number}"
|
||||
},
|
||||
"switchFrom": "The running clock of {number} will be paused.",
|
||||
"completeHint": "Your own clock is stopped. Missing mandatory items prevent completion.",
|
||||
"order": "Order {number}",
|
||||
"timeLine": "{date} · {from}–{to} · {duration} hrs",
|
||||
"timeType": {
|
||||
"work": "Working time",
|
||||
"travel": "Travel",
|
||||
"return_travel": "Return travel",
|
||||
"material_procurement": "Fetching material"
|
||||
},
|
||||
"type": "Type",
|
||||
"date": "Date",
|
||||
"from": "From",
|
||||
"to": "To",
|
||||
"reason": "Reason",
|
||||
"note": "Note",
|
||||
"approvalHint": "Counts after approval by the team lead or office.",
|
||||
"pendingApproval": "Submitted for approval",
|
||||
"planned": "Planned item",
|
||||
"additional": "Additional material",
|
||||
"name": "Name",
|
||||
"quantity": "Quantity",
|
||||
"unit": "Unit",
|
||||
"deviationReason": "Reason for deviation",
|
||||
"noteKind": "Note type",
|
||||
"text": "Text",
|
||||
"reportFields": "Suggestions for the {type}",
|
||||
"reportType": {
|
||||
"daily": "daily report",
|
||||
"completion": "completion report"
|
||||
},
|
||||
"reportHint": "Appears in the report as “Suggestion from the Lotse” and is accepted or discarded there.",
|
||||
"openReport": "Open report",
|
||||
"field": {
|
||||
"workPerformed": "Work performed",
|
||||
"deviations": "Deviations",
|
||||
"additionalWork": "Additional work",
|
||||
"openItems": "Open items",
|
||||
"nextSteps": "Next steps",
|
||||
"hints": "Notes"
|
||||
}
|
||||
},
|
||||
"noteKind": {
|
||||
"work_done": "Work done",
|
||||
"deviation": "Deviation",
|
||||
"problem": "Problem",
|
||||
"additional_work": "Additional work",
|
||||
"not_executable": "Not executable",
|
||||
"follow_up": "Follow-up",
|
||||
"recommendation": "Recommendation",
|
||||
"customer_note": "Customer note",
|
||||
"general": "General"
|
||||
},
|
||||
"system": {
|
||||
"failed": "Not executed ({number}): {reason}",
|
||||
"stopped": "“Confirm all” stopped – {remaining, plural, one {# card is} other {# cards are}} still open.",
|
||||
"rounds_exceeded": "That was too much at once. Please write shorter or in steps.",
|
||||
"turn_budget": "That was too much at once. Please write shorter or in steps.",
|
||||
"refusal": "The Lotse cannot propose anything for this.",
|
||||
"provider_failed": "The Lotse is not reachable right now. Please try again later.",
|
||||
"proposals_ready": "Proposals are ready. Please check and confirm.",
|
||||
"empty": "No answer received. Please rephrase."
|
||||
},
|
||||
"links": {
|
||||
"order": "Open order",
|
||||
"report": "Open report",
|
||||
"myTime": "Open my times",
|
||||
"materials": "Open material",
|
||||
"otherOrder": "Open running order",
|
||||
"runningSession": "A colleague's clock is still running"
|
||||
},
|
||||
"errors": {
|
||||
"generic": "That did not work. Please try again.",
|
||||
"not_found": "Not found.",
|
||||
"forbidden": "You lack the permission.",
|
||||
"disabled": "The Lotse is switched off for this company.",
|
||||
"chat_disabled": "The Lotse chat is switched off for this company.",
|
||||
"not_configured": "The Lotse is not set up.",
|
||||
"provider_failed": "The Lotse is not reachable right now. Please try again later.",
|
||||
"budget_exceeded": "The company's monthly AI quota is used up.",
|
||||
"invalid": "Please check your input.",
|
||||
"conflict": "Changed in the meantime. Please reload.",
|
||||
"expired": "Proposal expired (after 30 minutes). Please ask again.",
|
||||
"already_decided": "This proposal has already been handled.",
|
||||
"tampered": "The proposal was changed and not executed.",
|
||||
"blocked": "Mandatory items are missing.",
|
||||
"offline": "No connection – nothing sent.",
|
||||
"overlap": "The period overlaps with recorded time.",
|
||||
"too_old": "Entries can only be added up to 7 days back.",
|
||||
"in_future": "Times in the future cannot be booked.",
|
||||
"too_long": "An entry may be at most 16 hours long.",
|
||||
"end_before_start": "The end is before the start.",
|
||||
"work_order_status": "Not possible in the current order status.",
|
||||
"other_session_running": "A clock is still running on another order.",
|
||||
"transition_not_allowed": "This status change is not possible right now.",
|
||||
"transition_forbidden": "You lack the permission.",
|
||||
"not_editable": "The report has been submitted and can no longer be changed.",
|
||||
"reason_required": "The reason is missing.",
|
||||
"use_billing_overview": "Only possible via the billing overview."
|
||||
},
|
||||
"unavailable": {
|
||||
"title": "Lotse chat not available",
|
||||
"back": "Back to overview"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user