Files
craftvia/messages/de/field.json
T
msolarczekandClaude Opus 5 fe3eba6e44 L12 Zeiterfassung: Mobile Uhr-Leiste, Meine Zeiten, Freigaben und Backoffice-Liste
Laufende-Uhr-Leiste auf allen /m-Seiten, Start/Pause direkt auf den Auftragskarten,
Auto-Wechsel-Dialog, Auftragsdetail mit Pause / Für heute beenden / Abschließen-Link
und Segmentwechseln, /m/time (Tagesübersicht, Nachtragen, Korrektur vorschlagen),
/m/approvals für Teamleiter, /work-orders/time-approvals mit Sammelfreigabe,
Zeiten-Tab mit Badges und Inline-Freigabe, Dashboard-Kachel, Texte de/en.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 09:29:38 +02:00

441 lines
14 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"nav": {
"label": "Einsatz-Navigation",
"today": "Heute",
"orders": "Aufträge",
"emergency": "Notdienst",
"sync": "Sync",
"profile": "Profil",
"approvalsBadge": "{count} Zeiten zur Freigabe"
},
"connection": {
"online": "Online",
"offline": "Offline"
},
"noAccess": "Die Einsatz-App ist für Ihre Rolle nicht freigeschaltet.",
"today": {
"title": "Heute",
"greeting": "Hallo {name}",
"count": "{count, plural, =0 {Keine Einsätze} one {# Einsatz} other {# Einsätze}}",
"empty": "Heute stehen keine Einsätze an.",
"allOrders": "Alle Aufträge ansehen"
},
"orders": {
"title": "Aufträge",
"tabs": {
"upcoming": "Kommend",
"running": "Laufend",
"to_complete": "Abzuschließen",
"past": "Vergangen"
},
"empty": "Keine Aufträge in dieser Liste."
},
"card": {
"open": "Auftrag öffnen",
"route": "Route",
"noDate": "Ohne Termin",
"emergency": "Notdienst",
"urgent": "Dringend",
"high": "Hoch",
"running": "Zeit läuft",
"paused": "Pausiert",
"enRoute": "In Anfahrt",
"startWork": "Arbeit starten",
"pause": "Pause",
"resume": "Weiter"
},
"statusGroup": {
"new": "Neu",
"planned": "Geplant",
"en_route": "Unterwegs",
"in_progress": "In Arbeit",
"documentation_incomplete": "Dokumentation unvollständig",
"in_review": "Zur Prüfung",
"ready_for_billing": "Bereit zur Abrechnung",
"billed": "Abgerechnet",
"cancelled": "Storniert"
},
"statusDetail": {
"draft": "Entwurf",
"review_required": "Prüfung erforderlich",
"planned": "Geplant",
"assigned": "Zugewiesen",
"accepted": "Angenommen",
"en_route": "In Anfahrt",
"in_progress": "In Arbeit",
"paused": "Pausiert",
"waiting_material": "Wartet auf Material",
"daily_report_created": "Tagesbericht erstellt",
"technically_completed": "Technisch abgeschlossen",
"signature_pending": "Unterschrift ausstehend",
"in_review": "Zur Prüfung",
"released_for_billing": "Bereit zur Abrechnung",
"billed": "Abgerechnet",
"cancelled": "Storniert"
},
"action": {
"accept": "Annehmen",
"travel": "Losfahren",
"start": "Arbeit starten",
"pause": "Pause",
"resume": "Weiter",
"complete": "Abschließen",
"confirmComplete": "Jetzt abschließen",
"confirmHint": "Zeiterfassung wird beendet und der Auftrag technisch abgeschlossen.",
"saving": "Wird gespeichert …",
"blocked": "Vor dem Abschluss noch offen:",
"reportNext": "Bericht und Unterschrift folgen im nächsten Schritt.",
"nothing": "Keine Aktion erforderlich.",
"stop_day": "Für heute beenden",
"confirmStopDay": "Jetzt für heute beenden",
"stopDayHint": "Die Zeiterfassung endet, der Auftrag bleibt offen und kann morgen fortgesetzt werden.",
"completeLink": "Auftrag abschließen …",
"segment": {
"return_travel": "Rückfahrt starten",
"material_procurement": "Material holen",
"work": "Zurück zur Arbeit"
},
"currentSegment": "Aktuell: {type}"
},
"blocker": {
"checklist_item": "Checkliste: {label}",
"photo_requirement": "Pflichtfoto: {label}",
"running_session": "Zeiterfassung eines Teammitglieds läuft noch",
"missing_field": "Angabe fehlt: {label}"
},
"errors": {
"not_found": "Nicht gefunden oder nicht freigegeben.",
"forbidden": "Keine Berechtigung für diese Aktion.",
"invalid": "Eingabe prüfen.",
"conflict": "Der Auftrag wurde inzwischen geändert. Die Ansicht ist aktualisiert.",
"blocked": "Pflichtangaben fehlen noch.",
"internal": "Technischer Fehler. Bitte erneut versuchen.",
"network": "Keine Verbindung. Bitte erneut versuchen.",
"image": "Foto konnte nicht verarbeitet werden."
},
"detail": {
"back": "Zurück",
"backToOrder": "Zum Auftrag",
"window": "Zeitfenster",
"hints": "Hinweise für Monteure",
"order": "Auftrag",
"orderType": "Auftragsart",
"externalNumber": "Kundenauftrag",
"team": "Team",
"scope": "Leistungsumfang",
"description": "Beschreibung",
"customer": "Kunde",
"contact": "Ansprechpartner",
"onSiteContact": "Vor Ort",
"call": "Anrufen",
"mail": "E-Mail",
"site": "Objekt",
"route": "Route öffnen",
"access": "Zugang",
"parking": "Parken",
"safety": "Sicherheit",
"technical": "Technik",
"documents": "Dokumente",
"noDocuments": "Keine Dokumente.",
"siteDocument": "Objekt",
"openDocument": "Öffnen",
"history": "Objekt-Historie",
"noHistory": "Keine freigegebenen Berichte am Objekt.",
"reportType": {
"daily": "Tagesbericht",
"completion": "Abschlussbericht"
},
"checklist": "Checkliste",
"checklistProgress": "{done} von {total} erledigt",
"materials": "Material",
"materialsProgress": "{done} von {total} Positionen erfasst",
"materialsNone": "Kein Material geplant",
"photos": "Fotos",
"photosProgress": "{count} Fotos · {done} von {total} Pflichtfotos",
"photosCount": "{count} Fotos",
"notes": "Notizen",
"notesCount": "{count, plural, =0 {Noch keine Notizen} one {# Notiz} other {# Notizen}}",
"time": "Zeiten",
"myTime": "Meine Arbeitszeit: {duration}",
"quick": {
"photo": "Foto",
"note": "Notiz",
"material": "Material",
"checklist": "Checkliste",
"time": "Zeiten"
}
},
"photos": {
"title": "Fotos",
"camera": "Kamera",
"gallery": "Galerie",
"phaseLabel": "Zeitpunkt",
"phase": {
"before": "Vorher",
"during": "Während",
"after": "Nachher"
},
"requirement": "Pflichtfoto",
"checklistItem": "Checklistenpunkt",
"none": "Keine Zuordnung",
"comment": "Kommentar",
"location": "Standort mitsenden",
"save": "Foto speichern",
"discard": "Verwerfen",
"preview": "Vorschau des Fotos",
"compressing": "Foto wird verkleinert …",
"uploading": "Hochladen … {percent} %",
"saved": "Foto gespeichert.",
"empty": "Noch keine Fotos.",
"requirements": "Pflichtfotos",
"missing": "Fehlt",
"done": "Vorhanden"
},
"notes": {
"title": "Notizen",
"kindLabel": "Art",
"kind": {
"work_done": "Durchgeführt",
"deviation": "Abweichung",
"problem": "Problem",
"additional_work": "Zusatzleistung",
"not_executable": "Nicht ausführbar",
"follow_up": "Folgearbeit",
"recommendation": "Empfehlung",
"customer_note": "Kundenhinweis",
"general": "Allgemein"
},
"text": "Notiz",
"placeholder": "Kurz beschreiben, was vor Ort passiert ist …",
"save": "Notiz speichern",
"saved": "Notiz gespeichert.",
"draftKept": "Entwurf bleibt auf diesem Gerät erhalten.",
"empty": "Noch keine Notizen."
},
"voice": {
"title": "Sprachnotiz",
"record": "Aufnahme starten",
"stop": "Aufnahme beenden",
"recording": "Aufnahme läuft · {time} von 5:00",
"save": "Sprachnotiz speichern",
"discard": "Verwerfen",
"saved": "Sprachnotiz gespeichert.",
"unsupported": "Sprachaufnahme wird auf diesem Gerät nicht unterstützt.",
"denied": "Mikrofon ist nicht freigegeben.",
"status": {
"pending": "Transkription läuft",
"done": "Transkribiert",
"failed": "Transkription fehlgeschlagen",
"disabled": "Ohne Transkription"
}
},
"materials": {
"title": "Material",
"planned": "Geplant: {quantity} {unit}",
"usage": {
"fully_used": "Vollständig",
"partially_used": "Teilweise",
"not_used": "Nicht verwendet",
"additional": "Zusätzlich"
},
"quantity": "Menge",
"unit": "Einheit",
"decrease": "Menge verringern",
"increase": "Menge erhöhen",
"reason": "Begründung der Abweichung",
"reasonRequired": "Bei Abweichung ist eine Begründung Pflicht.",
"save": "Speichern",
"saved": "Gespeichert.",
"recorded": "Erfasst: {quantity} {unit}",
"open": "Noch offen",
"noPlan": "Kein Material geplant.",
"additionalTitle": "Zusatzmaterial",
"additionalEmpty": "Kein Zusatzmaterial erfasst.",
"name": "Bezeichnung",
"articleNumber": "Artikelnummer (optional)",
"additionalReason": "Grund",
"add": "Zusatzmaterial speichern",
"invalid": "Angaben unvollständig oder Menge passt nicht zum Status."
},
"checklist": {
"title": "Checkliste",
"required": "Pflicht",
"photo": "Foto nötig",
"done": "Erledigt",
"open": "Offen",
"comment": "Kommentar",
"saveComment": "Kommentar speichern",
"empty": "Für diesen Auftrag gibt es keine Checkliste."
},
"time": {
"title": "Zeiten",
"type": {
"travel": "Anfahrt",
"work": "Arbeitszeit",
"break": "Pause",
"material_procurement": "Materialbeschaffung",
"return_travel": "Rückfahrt",
"interruption": "Unterbrechung"
},
"session": {
"en_route": "In Anfahrt",
"running": "Läuft",
"paused": "Pausiert",
"ended": "Beendet",
"manual": "Nachgetragen"
},
"running": "läuft",
"offlineStarted": "offline gestartet",
"corrected": "Korrigiert: {reason}",
"correct": "Korrigieren",
"start": "Beginn",
"end": "Ende",
"reason": "Grund der Korrektur",
"reasonHint": "Pflichtangabe, wird protokolliert.",
"save": "Korrektur speichern",
"saved": "Korrektur gespeichert.",
"empty": "Noch keine Zeiten erfasst.",
"totalWork": "Arbeitszeit gesamt: {duration}",
"propose": "Korrektur vorschlagen",
"totalPending": "Zur Freigabe offen: {duration}",
"ownEntryHint": "Eigene Zeiten korrigieren Sie über „Korrektur vorschlagen“."
},
"profile": {
"title": "Profil",
"tenant": "Betrieb",
"teams": "Team",
"noTeam": "Keinem Team zugeordnet",
"roles": "Rolle",
"language": "Sprache",
"logout": "Abmelden",
"backoffice": "Zum Büro-Bereich",
"myTime": "Meine Zeiten",
"approvals": "Zeiten freigeben"
},
"sync": {
"title": "Synchronisation",
"immediate": "Änderungen werden sofort an das Büro übertragen.",
"offlineHint": "Ohne Verbindung können Eingaben noch nicht zwischengespeichert werden – die Offline-Warteschlange folgt.",
"status": "Verbindung"
},
"clock": {
"label": "Laufende Zeiterfassung",
"running": "Läuft",
"paused": "Pausiert",
"enRoute": "Anfahrt",
"openOrder": "Auftrag {number} öffnen",
"pause": "Pause",
"resume": "Weiter",
"stopDay": "Für heute beenden",
"stopDayConfirm": "Beenden?",
"myTime": "Meine Zeiten",
"offline": "offline"
},
"switch": {
"title": "Andere Zeiterfassung läuft",
"text": "{from} läuft noch. Pausieren und {to} starten?",
"textUnknown": "Auf einem anderen Auftrag läuft noch eine Zeiterfassung. Pausieren und {to} starten?",
"confirm": "Wechseln",
"cancel": "Abbrechen"
},
"myTime": {
"title": "Meine Zeiten",
"sub": "Ihre Zeiten je Tag über alle Aufträge.",
"today": "Heute",
"yesterday": "Gestern",
"days": "Tag wählen",
"empty": "An diesem Tag sind keine Zeiten erfasst.",
"approved": "Freigegeben",
"pending": "Zur Freigabe",
"dayTotal": "Tagessumme",
"totalApproved": "Freigegeben: {duration}",
"totalPending": "Offen: {duration}",
"add": "Zeit nachtragen",
"running": "läuft",
"badge": {
"manual": "Manuell",
"pending": "Zur Freigabe",
"rejected": "Abgelehnt: {reason}",
"correctionRequested": "Korrektur beantragt",
"correctionRejected": "Korrektur abgelehnt: {reason}",
"corrected": "Korrigiert"
},
"proposed": "Vorschlag: {from}–{to} · {type}",
"localPending": "Wartet auf Übertragung",
"localTitle": "Noch nicht übertragen",
"form": {
"title": "Zeit nachtragen",
"order": "Auftrag",
"orderPlaceholder": "Auftrag wählen",
"noOrders": "Keine Aufträge der letzten 7 Tage verfügbar.",
"forUser": "Für",
"me": "Mich selbst",
"type": "Art",
"date": "Datum",
"mode": "Erfassung",
"modeRange": "Von – Bis",
"modeDuration": "Dauer",
"from": "Von",
"to": "Bis",
"duration": "Dauer in Minuten",
"quick": "{minutes} min",
"reason": "Begründung",
"reasonHint": "Pflichtangabe, mindestens 3 Zeichen.",
"note": "Notiz (optional)",
"approvalHint": "Wird nach Freigabe durch Teamleiter oder Büro gezählt.",
"directHint": "Für Teammitglieder erfasste Zeiten gelten sofort als freigegeben.",
"save": "Nachtrag speichern",
"saved": "Nachtrag gespeichert – wartet auf Freigabe.",
"savedDirect": "Zeit gespeichert.",
"queued": "Offline gespeichert – wird übertragen, sobald Verbindung besteht.",
"cancel": "Abbrechen"
},
"correction": {
"title": "Korrektur vorschlagen",
"hint": "Bis zur Freigabe gilt die bisherige Zeit.",
"save": "Vorschlag senden",
"saved": "Korrektur beantragt."
},
"reasons": {
"forgotStart": "Start vergessen",
"noNetwork": "Kein Netz",
"recordedLater": "Nachträglich erfasst"
},
"errors": {
"overlap": "Der Zeitraum überschneidet sich mit einer bereits erfassten Zeit.",
"too_old": "Nachtragen ist nur für die letzten 7 Tage möglich.",
"in_future": "Die Zeit darf nicht in der Zukunft liegen.",
"too_long": "Ein Eintrag darf höchstens 16 Stunden lang sein.",
"end_before_start": "Das Ende muss nach dem Beginn liegen.",
"work_order_status": "Für diesen Auftrag können keine Zeiten mehr erfasst werden.",
"not_own_entry": "Sie können nur eigene Zeiten korrigieren.",
"own_entry": "Eigene Zeiten können Sie nicht selbst freigeben.",
"entry_running": "Die Zeit läuft noch."
}
},
"approvals": {
"title": "Zeiten freigeben",
"sub": "Nachträge und Korrekturen Ihres Teams.",
"empty": "Keine offenen Nachträge oder Korrekturen.",
"link": "Zeiten freigeben",
"count": "{count, plural, =0 {Nichts offen} one {# offen} other {# offen}}",
"manual": "Nachtrag",
"correction": "Korrektur",
"reason": "Begründung",
"note": "Notiz",
"old": "Bisher",
"new": "Neu",
"approve": "Freigeben",
"reject": "Ablehnen",
"rejectReason": "Grund der Ablehnung",
"rejectConfirm": "Ablehnung senden",
"cancel": "Abbrechen",
"approved": "Freigegeben.",
"rejected": "Abgelehnt."
},
"pendingTime": {
"report": "Hinweis: {duration} nachgetragene Zeit ist noch nicht freigegeben und fehlt im Bericht.",
"proposals": "Hinweis: {count, plural, one {# Zeitkorrektur wartet} other {# Zeitkorrekturen warten}} auf Freigabe."
}
}