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": "Documents",
"crumb": "Storage",
"sub": "All files for customers, sites and work orders – with version, checksum and visibility.",
"empty": "No documents found.",
"columns": {
"document": "Document",
"category": "Category",
"link": "Linked to",
"visibility": "Visibility",
"version": "Version",
"size": "Size",
"uploaded": "Uploaded"
},
"filter": {
"q": "File name or title",
"category": "Category",
"allCategories": "All categories",
"customer": "Customer",
"allCustomers": "All customers",
"site": "Site",
"allSites": "All sites",
"workOrder": "Work order number",
"latestOnly": "Latest versions only",
"apply": "Filter",
"reset": "Reset"
},
"pagination": {
"prev": "Previous",
"next": "Next",
"summary": "{from}–{to} of {total}"
},
"category": {
"order_confirmation": "Order confirmation",
"technical_drawing": "Technical drawing",
"floor_plan": "Floor plan",
"wiring_diagram": "Wiring diagram",
"assembly_instructions": "Assembly instructions",
"safety_document": "Safety document",
"product_document": "Product document",
"customer_note": "Customer note",
"work_record": "Work record",
"daily_report": "Daily report",
"completion_report": "Completion report",
"customer_approval": "Customer approval",
"photo": "Photo",
"voice_note": "Voice note",
"signature": "Signature",
"other": "Other document"
},
"visibility": {
"backoffice_only": "Back office only",
"team_lead": "Team leads",
"team": "Installation team",
"customer_report": "Released for customer report"
},
"link": {
"customer": "Customer",
"site": "Site",
"workOrder": "Work order",
"none": "Not linked"
},
"upload": {
"title": "Upload document",
"file": "File",
"fileHint": "PDF up to 25 MB, images (JPEG, PNG, WebP, HEIC) up to 15 MB, audio up to 20 MB.",
"titleField": "Title (optional)",
"category": "Category",
"visibility": "Visibility",
"submit": "Upload",
"newVersion": "New version",
"newVersionTitle": "Upload new version",
"newVersionOf": "New version of \"{name}\"",
"ok": "Document saved."
},
"versions": {
"label": "v{version}",
"older": "{count, plural, one {# older version} other {# older versions}}",
"latest": "latest"
},
"actions": {
"download": "Download",
"edit": "Edit",
"delete": "Remove",
"deleteConfirm": "Remove this version?"
},
"edit": {
"title": "Edit document",
"titleField": "Title",
"save": "Save",
"saving": "Saving…",
"cancel": "Cancel"
},
"uploadErrors": {
"empty_file": "Please select a file.",
"too_large": "The file is too large.",
"unsupported_type": "File type not allowed. Allowed: PDF, JPEG, PNG, WebP, HEIC and audio.",
"type_mismatch": "File content does not match the file type.",
"malware": "The file was rejected by the virus scan.",
"scanner_unavailable": "Virus scan unavailable. Please try again later.",
"visibility_not_allowed": "This visibility is not allowed.",
"lineage_not_found": "Original document not found.",
"invalid_category": "Please choose a category.",
"site_not_found": "Site not found.",
"customer_not_found": "Customer not found.",
"forbidden": "You are not allowed to do this.",
"not_found": "Work order not found.",
"invalid": "Invalid upload.",
"generic": "Upload failed. Please try again."
},
"errors": {
"invalid": "Please check your input.",
"not_found": "Document not found.",
"forbidden": "You are not allowed to do this.",
"conflict": "Not possible.",
"blocked": "Action currently not possible.",
"generic": "That did not work. Please try again.",
"visibility_not_allowed": "This visibility is not allowed."
}
}