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>
This commit is contained in:
2026-09-15 09:29:38 +02:00
co-authored by Claude Opus 5
parent 0e94eb0d9d
commit fe3eba6e44
42 changed files with 2319 additions and 166 deletions
+44 -3
View File
@@ -237,7 +237,21 @@
"material_procurement": "Materialbeschaffung",
"return_travel": "Rückfahrt",
"interruption": "Unterbrechung"
}
},
"pendingMinutes": "Zur Freigabe offen: {minutes} min",
"approvedMinutes": "Freigegeben",
"badgeManual": "Manuell",
"badgePending": "Zur Freigabe",
"badgeRejected": "Abgelehnt: {reason}",
"badgeCorrection": "Korrektur beantragt: {from}–{to}",
"reason": "Begründung: {reason}",
"manualSession": "Nachgetragen",
"approve": "Freigeben",
"reject": "Ablehnen",
"rejectReason": "Grund",
"approved": "Freigegeben.",
"rejected": "Abgelehnt.",
"openApprovals": "Alle offenen Freigaben"
},
"photos": {
"empty": "Noch keine Fotos.",
@@ -460,8 +474,35 @@
"running_session": "Ein Einsatz läuft noch",
"field": {
"signature": "Unterschrift fehlt",
"approved_completion_report": "Abschlussbericht ist noch nicht freigegeben"
"approved_completion_report": "Abschlussbericht ist noch nicht freigegeben",
"pending_time_entries": "Zeiten warten noch auf Freigabe"
}
},
"saved": "Gespeichert."
"saved": "Gespeichert.",
"timeApprovals": {
"crumb": "Aufträge",
"title": "Zeiten zur Freigabe",
"sub": "Nachträge und Korrekturen der Monteure. Erst nach Freigabe zählen sie für Bericht und Abrechnung.",
"empty": "Keine offenen Nachträge oder Korrekturen.",
"employee": "Mitarbeiter",
"order": "Auftrag",
"date": "Datum",
"range": "Von–Bis",
"duration": "Dauer",
"type": "Art",
"reason": "Begründung",
"kindManual": "Nachtrag",
"kindCorrection": "Korrektur",
"oldNew": "{old} → {new}",
"select": "Auswählen",
"selectAll": "Alle auswählen",
"approveSelected": "Ausgewählte freigeben",
"approve": "Freigeben",
"reject": "Ablehnen",
"rejectReason": "Grund der Ablehnung",
"approved": "Freigegeben.",
"bulkApproved": "{ok} freigegeben, {failed} nicht möglich.",
"rejected": "Abgelehnt.",
"count": "{count, plural, one {# offener Eintrag} other {# offene Einträge}}"
}
}