L1 Stammdaten: Backoffice-Seiten Kunden, Objekte, Teams und Dokumente

Listen mit Suche/Filter/Paginierung, Popups für Anlage und Bearbeitung,
Kundendetail mit Tabs, Dublettenhinweis und Zusammenführen, Objektdetail mit
Kartenlink, Dokumenten-Tab und Historie, Teamverwaltung mit Mitgliedern,
Dokumentenübersicht. Texte in messages de/en, Audit-Label Ansprechpartner.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-14 12:26:27 +02:00
co-authored by Claude Opus 5
parent 49c5ad0e33
commit d18f4fe431
28 changed files with 3660 additions and 12 deletions
+120
View File
@@ -0,0 +1,120 @@
{
"title": "Dokumente",
"crumb": "Ablage",
"sub": "Alle Unterlagen zu Kunden, Objekten und Aufträgen – mit Version, Prüfsumme und Sichtbarkeit.",
"empty": "Keine Dokumente gefunden.",
"columns": {
"document": "Dokument",
"category": "Kategorie",
"link": "Zuordnung",
"visibility": "Sichtbarkeit",
"version": "Version",
"size": "Größe",
"uploaded": "Hochgeladen"
},
"filter": {
"q": "Dateiname oder Titel",
"category": "Kategorie",
"allCategories": "Alle Kategorien",
"customer": "Kunde",
"allCustomers": "Alle Kunden",
"site": "Objekt",
"allSites": "Alle Objekte",
"workOrder": "Auftragsnummer",
"latestOnly": "Nur aktuelle Versionen",
"apply": "Filtern",
"reset": "Zurücksetzen"
},
"pagination": {
"prev": "Zurück",
"next": "Weiter",
"summary": "{from}–{to} von {total}"
},
"category": {
"order_confirmation": "Auftragsbestätigung",
"technical_drawing": "Technische Zeichnung",
"floor_plan": "Grundriss",
"wiring_diagram": "Schaltplan",
"assembly_instructions": "Montageanleitung",
"safety_document": "Sicherheitsunterlage",
"product_document": "Produktunterlage",
"customer_note": "Kundenhinweis",
"work_record": "Arbeitsnachweis",
"daily_report": "Tagesbericht",
"completion_report": "Abschlussbericht",
"customer_approval": "Kundenfreigabe",
"photo": "Foto",
"voice_note": "Sprachnotiz",
"signature": "Unterschrift",
"other": "Sonstiges Dokument"
},
"visibility": {
"backoffice_only": "Nur Backoffice",
"team_lead": "Für Teamleiter",
"team": "Für Montageteam",
"customer_report": "Für Kundenbericht freigegeben"
},
"link": {
"customer": "Kunde",
"site": "Objekt",
"workOrder": "Auftrag",
"none": "Ohne Zuordnung"
},
"upload": {
"title": "Dokument hochladen",
"file": "Datei",
"fileHint": "PDF bis 25 MB, Bilder (JPEG, PNG, WebP, HEIC) bis 15 MB, Audio bis 20 MB.",
"titleField": "Titel (optional)",
"category": "Kategorie",
"visibility": "Sichtbarkeit",
"submit": "Hochladen",
"newVersion": "Neue Version",
"newVersionTitle": "Neue Version hochladen",
"newVersionOf": "Neue Version von „{name}“",
"ok": "Dokument gespeichert."
},
"versions": {
"label": "v{version}",
"older": "{count, plural, one {# ältere Version} other {# ältere Versionen}}",
"latest": "aktuell"
},
"actions": {
"download": "Herunterladen",
"edit": "Bearbeiten",
"delete": "Entfernen",
"deleteConfirm": "Diese Version entfernen?"
},
"edit": {
"title": "Dokument bearbeiten",
"titleField": "Titel",
"save": "Speichern",
"saving": "Speichert…",
"cancel": "Abbrechen"
},
"uploadErrors": {
"empty_file": "Bitte eine Datei auswählen.",
"too_large": "Die Datei ist zu groß.",
"unsupported_type": "Dateityp nicht erlaubt. Erlaubt sind PDF, JPEG, PNG, WebP, HEIC und Audio.",
"type_mismatch": "Dateiinhalt passt nicht zum Dateityp.",
"malware": "Die Datei wurde vom Virenscan abgelehnt.",
"scanner_unavailable": "Virenscan nicht erreichbar. Bitte später erneut versuchen.",
"visibility_not_allowed": "Diese Sichtbarkeit ist nicht erlaubt.",
"lineage_not_found": "Ursprungsdokument nicht gefunden.",
"invalid_category": "Bitte eine Kategorie wählen.",
"site_not_found": "Objekt nicht gefunden.",
"customer_not_found": "Kunde nicht gefunden.",
"forbidden": "Dafür fehlt die Berechtigung.",
"not_found": "Auftrag nicht gefunden.",
"invalid": "Upload ungültig.",
"generic": "Upload fehlgeschlagen. Bitte erneut versuchen."
},
"errors": {
"invalid": "Bitte die Eingaben prüfen.",
"not_found": "Dokument nicht gefunden.",
"forbidden": "Dafür fehlt die Berechtigung.",
"conflict": "Das geht so nicht.",
"blocked": "Aktion aktuell nicht möglich.",
"generic": "Das hat nicht geklappt. Bitte erneut versuchen.",
"visibility_not_allowed": "Diese Sichtbarkeit ist nicht erlaubt."
}
}