M18: implement operational workspaces

This commit is contained in:
NuklearRabbit
2026-08-10 12:41:28 +02:00
parent 8030753dbc
commit fe06ff75a1
33 changed files with 1082 additions and 95 deletions
@@ -8,6 +8,18 @@
"searchPlaceholder": "Booking, customer or vehicle",
"statusLabel": "Status",
"statusAll": "All statuses",
"fromLabel": "From date",
"toLabel": "Through date",
"locationLabel": "Location",
"locationPlaceholder": "Exact operating location",
"sortLabel": "Sort",
"sortOperational": "Operational priority",
"sortAscending": "Start date ascending",
"sortDescending": "Start date descending",
"presetsLabel": "Quick filters",
"todayPreset": "Today",
"upcomingPreset": "Upcoming reservations",
"clearFilters": "Clear filters",
"loading": "Loading booking ledger…",
"empty": "No bookings found",
"emptyDetail": "Adjust the booking status filter.",
@@ -8,6 +8,15 @@
"statusLabel": "Status",
"statusAll": "All statuses",
"attentionOnly": "Attention only",
"locationFilter": "Location",
"locationPlaceholder": "Exact operating location",
"serviceDue": "Service overdue",
"serviceRemaining": "{{count}} km remaining",
"attentionReasons": {
"blocked_status": "Blocked status",
"service_due": "Service overdue",
"data_quality": "Open quality issue"
},
"loading": "Loading fleet registry…",
"empty": "No vehicles found",
"emptyDetail": "Adjust the current fleet filters.",
@@ -22,6 +31,8 @@
"location": "Location",
"status": "Status",
"odometer": "Odometer (km)",
"service": "Service",
"nextBooking": "Next booking",
"attention": "Attention"
},
"needsAttention": "Needs attention"
@@ -1,4 +1,4 @@
{
"users": { "eyebrow": "Administration / Access", "title": "Users", "description": "Manage operational access and roles. Every change is audited.", "addTitle": "Add user", "name": "Name", "email": "Email", "role": "Role", "password": "Temporary password", "status": "Status", "action": "Action", "add": "Add user", "saving": "Saving…", "loading": "Loading users…", "active": "active", "inactive": "inactive", "activate": "Activate", "deactivate": "Deactivate", "createFailed": "The user could not be created.", "updateFailed": "The user could not be updated." },
"users": { "eyebrow": "Administration / Access", "title": "Users", "description": "Manage operational access and roles. Every change is audited.", "addTitle": "Add user", "name": "Name", "email": "Email", "role": "Role", "password": "Temporary password", "status": "Status", "action": "Action", "add": "Add user", "saving": "Saving…", "loading": "Loading users…", "active": "active", "inactive": "inactive", "activate": "Activate", "deactivate": "Deactivate", "edit": "Edit", "editTitle": "Edit user {{ref}}", "newPassword": "New password", "passwordUnchanged": "Leave empty to keep unchanged", "saveChanges": "Save changes", "cancel": "Cancel", "createFailed": "The user could not be created.", "updateFailed": "The user could not be updated." },
"roles": { "operations_manager": "Operations Manager", "rental_employee": "Rental employee" }
}
+17 -1
View File
@@ -22,6 +22,19 @@
"ruleTypeAll": "All rule types",
"severityLabel": "Severity",
"severityAll": "All severity levels",
"assigneeLabel": "Assigned to",
"assigneeAll": "All team members",
"unassigned": "Unassigned",
"overdueOnly": "Overdue only",
"bulkTitle": "Update selected work",
"selected": "{{count}} selected",
"assignTo": "Assign to",
"dueAt": "Due date",
"bulkApply": "Update work queue",
"bulkSaving": "Updating…",
"bulkFailed": "The work queue could not be updated.",
"clearSelection": "Clear selection",
"selectIssue": "Select issue {{ref}}",
"demoScenariosOnly": "Demo scenarios only",
"loading": "Loading quality workbench…",
"queueClear": "Queue is clear",
@@ -33,10 +46,13 @@
"evidenceBacked": "Evidence-backed detection",
"columns": {
"reference": "Reference",
"select": "Select",
"rule": "Rule",
"entity": "Entity",
"severity": "Severity",
"status": "Status"
"status": "Status",
"assignee": "Assignee",
"due": "Due date"
}
},
"ruleTypes": {
@@ -8,6 +8,18 @@
"searchPlaceholder": "Réservation, client ou véhicule",
"statusLabel": "Statut",
"statusAll": "Tous les statuts",
"fromLabel": "À partir du",
"toLabel": "Jusqu’au",
"locationLabel": "Site",
"locationPlaceholder": "Site opérationnel exact",
"sortLabel": "Tri",
"sortOperational": "Priorité opérationnelle",
"sortAscending": "Date de début croissante",
"sortDescending": "Date de début décroissante",
"presetsLabel": "Filtres rapides",
"todayPreset": "Aujourd’hui",
"upcomingPreset": "Réservations à venir",
"clearFilters": "Effacer les filtres",
"loading": "Chargement du registre des réservations…",
"empty": "Aucune réservation trouvée",
"emptyDetail": "Ajustez le filtre de statut des réservations.",
@@ -8,6 +8,15 @@
"statusLabel": "Statut",
"statusAll": "Tous les statuts",
"attentionOnly": "Attention uniquement",
"locationFilter": "Site",
"locationPlaceholder": "Site opérationnel exact",
"serviceDue": "Entretien en retard",
"serviceRemaining": "{{count}} km restants",
"attentionReasons": {
"blocked_status": "Statut bloqué",
"service_due": "Entretien en retard",
"data_quality": "Problème de qualité ouvert"
},
"loading": "Chargement du registre de la flotte…",
"empty": "Aucun véhicule trouvé",
"emptyDetail": "Ajustez les filtres de flotte actuels.",
@@ -22,6 +31,8 @@
"location": "Localisation",
"status": "Statut",
"odometer": "Kilométrage (km)",
"service": "Entretien",
"nextBooking": "Prochaine réservation",
"attention": "Attention"
},
"needsAttention": "Nécessite de l'attention"
@@ -1,4 +1,4 @@
{
"users": { "eyebrow": "Administration / Accès", "title": "Utilisateurs", "description": "Gérez les accès opérationnels et les rôles. Chaque modification est auditée.", "addTitle": "Ajouter un utilisateur", "name": "Nom", "email": "E-mail", "role": "Rôle", "password": "Mot de passe temporaire", "status": "Statut", "action": "Action", "add": "Ajouter", "saving": "Enregistrement…", "loading": "Chargement des utilisateurs…", "active": "actif", "inactive": "inactif", "activate": "Activer", "deactivate": "Désactiver", "createFailed": "L'utilisateur n'a pas pu être créé.", "updateFailed": "L'utilisateur n'a pas pu être mis à jour." },
"users": { "eyebrow": "Administration / Accès", "title": "Utilisateurs", "description": "Gérez les accès opérationnels et les rôles. Chaque modification est auditée.", "addTitle": "Ajouter un utilisateur", "name": "Nom", "email": "E-mail", "role": "Rôle", "password": "Mot de passe temporaire", "status": "Statut", "action": "Action", "add": "Ajouter", "saving": "Enregistrement…", "loading": "Chargement des utilisateurs…", "active": "actif", "inactive": "inactif", "activate": "Activer", "deactivate": "Désactiver", "edit": "Modifier", "editTitle": "Modifier l’utilisateur {{ref}}", "newPassword": "Nouveau mot de passe", "passwordUnchanged": "Laisser vide pour ne pas modifier", "saveChanges": "Enregistrer les modifications", "cancel": "Annuler", "createFailed": "L'utilisateur n'a pas pu être créé.", "updateFailed": "L'utilisateur n'a pas pu être mis à jour." },
"roles": { "operations_manager": "Responsable des opérations", "rental_employee": "Employé de location" }
}
+17 -1
View File
@@ -22,6 +22,19 @@
"ruleTypeAll": "Tous les types de règles",
"severityLabel": "Gravité",
"severityAll": "Tous les niveaux de gravité",
"assigneeLabel": "Attribué à",
"assigneeAll": "Tous les membres",
"unassigned": "Non attribué",
"overdueOnly": "En retard uniquement",
"bulkTitle": "Mettre à jour le travail sélectionné",
"selected": "{{count}} sélectionné(s)",
"assignTo": "Attribuer à",
"dueAt": "Échéance",
"bulkApply": "Mettre à jour la file",
"bulkSaving": "Mise à jour…",
"bulkFailed": "La file de travail n’a pas pu être mise à jour.",
"clearSelection": "Effacer la sélection",
"selectIssue": "Sélectionner le problème {{ref}}",
"demoScenariosOnly": "Scénarios de démo uniquement",
"loading": "Chargement de l'atelier qualité…",
"queueClear": "La file est vide",
@@ -33,10 +46,13 @@
"evidenceBacked": "Détection étayée par des preuves",
"columns": {
"reference": "Référence",
"select": "Sélectionner",
"rule": "Règle",
"entity": "Entité",
"severity": "Gravité",
"status": "Statut"
"status": "Statut",
"assignee": "Responsable",
"due": "Échéance"
}
},
"ruleTypes": {
@@ -8,6 +8,18 @@
"searchPlaceholder": "Boeking, klant of voertuig",
"statusLabel": "Status",
"statusAll": "Alle statussen",
"fromLabel": "Vanaf datum",
"toLabel": "Tot en met datum",
"locationLabel": "Locatie",
"locationPlaceholder": "Exacte standplaats",
"sortLabel": "Sortering",
"sortOperational": "Operationele prioriteit",
"sortAscending": "Startdatum oplopend",
"sortDescending": "Startdatum aflopend",
"presetsLabel": "Snelfilters",
"todayPreset": "Vandaag",
"upcomingPreset": "Aankomende reservaties",
"clearFilters": "Filters wissen",
"loading": "Boekingsoverzicht laden…",
"empty": "Geen boekingen gevonden",
"emptyDetail": "Pas het statusfilter voor boekingen aan.",
@@ -8,6 +8,15 @@
"statusLabel": "Status",
"statusAll": "Alle statussen",
"attentionOnly": "Enkel aandachtspunten",
"locationFilter": "Locatie",
"locationPlaceholder": "Exacte standplaats",
"serviceDue": "Onderhoud vervallen",
"serviceRemaining": "{{count}} km resterend",
"attentionReasons": {
"blocked_status": "Geblokkeerde status",
"service_due": "Onderhoud vervallen",
"data_quality": "Open kwaliteitsprobleem"
},
"loading": "Wagenparkregister laden…",
"empty": "Geen voertuigen gevonden",
"emptyDetail": "Pas de huidige wagenparkfilters aan.",
@@ -22,6 +31,8 @@
"location": "Locatie",
"status": "Status",
"odometer": "Kilometerstand (km)",
"service": "Onderhoud",
"nextBooking": "Volgende boeking",
"attention": "Aandacht"
},
"needsAttention": "Vraagt aandacht"
@@ -1,4 +1,4 @@
{
"users": { "eyebrow": "Beheer / Toegang", "title": "Gebruikers", "description": "Beheer operationele toegang en rollen. Elke wijziging wordt geaudit.", "addTitle": "Gebruiker toevoegen", "name": "Naam", "email": "E-mail", "role": "Rol", "password": "Tijdelijk wachtwoord", "status": "Status", "action": "Actie", "add": "Gebruiker toevoegen", "saving": "Opslaan…", "loading": "Gebruikers laden…", "active": "actief", "inactive": "inactief", "activate": "Activeren", "deactivate": "Deactiveren", "createFailed": "De gebruiker kon niet worden aangemaakt.", "updateFailed": "De gebruiker kon niet worden bijgewerkt." },
"users": { "eyebrow": "Beheer / Toegang", "title": "Gebruikers", "description": "Beheer operationele toegang en rollen. Elke wijziging wordt geaudit.", "addTitle": "Gebruiker toevoegen", "name": "Naam", "email": "E-mail", "role": "Rol", "password": "Tijdelijk wachtwoord", "status": "Status", "action": "Actie", "add": "Gebruiker toevoegen", "saving": "Opslaan…", "loading": "Gebruikers laden…", "active": "actief", "inactive": "inactief", "activate": "Activeren", "deactivate": "Deactiveren", "edit": "Bewerken", "editTitle": "Gebruiker {{ref}} bewerken", "newPassword": "Nieuw wachtwoord", "passwordUnchanged": "Leeg laten om niet te wijzigen", "saveChanges": "Wijzigingen opslaan", "cancel": "Annuleren", "createFailed": "De gebruiker kon niet worden aangemaakt.", "updateFailed": "De gebruiker kon niet worden bijgewerkt." },
"roles": { "operations_manager": "Operationeel beheerder", "rental_employee": "Verhuurmedewerker" }
}
+17 -1
View File
@@ -22,6 +22,19 @@
"ruleTypeAll": "Alle regeltypes",
"severityLabel": "Ernst",
"severityAll": "Alle ernstniveaus",
"assigneeLabel": "Toegewezen aan",
"assigneeAll": "Alle medewerkers",
"unassigned": "Niet toegewezen",
"overdueOnly": "Enkel over tijd",
"bulkTitle": "Geselecteerde werkvoorraad bijwerken",
"selected": "{{count}} geselecteerd",
"assignTo": "Toewijzen aan",
"dueAt": "Uiterste datum",
"bulkApply": "Werkvoorraad bijwerken",
"bulkSaving": "Bijwerken…",
"bulkFailed": "De werkvoorraad kon niet bijgewerkt worden.",
"clearSelection": "Selectie wissen",
"selectIssue": "Probleem {{ref}} selecteren",
"demoScenariosOnly": "Enkel demoscenario's",
"loading": "Kwaliteitswerkbank laden…",
"queueClear": "Wachtrij is leeg",
@@ -33,10 +46,13 @@
"evidenceBacked": "Evidentie-onderbouwde detectie",
"columns": {
"reference": "Referentie",
"select": "Selecteren",
"rule": "Regel",
"entity": "Entiteit",
"severity": "Ernst",
"status": "Status"
"status": "Status",
"assignee": "Behandelaar",
"due": "Uiterste datum"
}
},
"ruleTypes": {