feat: Enhance task filtering, smart scheduling, audit logs and translations
continuous-integration/drone/push Build is passing

This commit is contained in:
2025-12-17 14:26:54 +01:00
parent 9819d8db0b
commit 2579df0b89
32 changed files with 2219 additions and 456 deletions
+61 -1
View File
@@ -47,6 +47,7 @@
"noMatchingTasks": "Keine Aufgaben entsprechen deinen Filtern",
"noUnscheduledTasks": "Keine ungeplanten Aufgaben. Ziehe Aufgaben in den Kalender unten, um sie zu planen!",
"unscheduledTasksLabel": "Ungeplante Aufgaben - In den Kalender ziehen zum Planen",
"listHeader": "Aufgabenliste",
"calendarTitle": "Nächste {{count}} Tage",
"filter": {
"all": "Alle",
@@ -73,7 +74,9 @@
"todo": "Zu erledigen",
"inProgress": "In Bearbeitung",
"done": "Erledigt",
"overdue": "Überfällig"
"overdue": "Überfällig",
"planned": "Geplant",
"unplanned": "Ungeplant"
},
"sort": {
"dueDate": "Fälligkeitsdatum",
@@ -196,6 +199,7 @@
"quickDelete": "Schnell löschen",
"toggleComplete": "Aufgabe als erledigt/unerledigt markieren",
"running": "läuft",
"blockedBy": "Blockiert durch: {{tasks}}",
"overdue": "Überfällig",
"timeTracked": "{{hours}}Std {{minutes}}Min erfasst"
},
@@ -205,6 +209,9 @@
"weekend": "Wochenende",
"previousWeek": "Vorherige Woche",
"moreItems": "+{{count}} weitere",
"clickToEdit": "Klicken zum Bearbeiten",
"dropHere": "✓ Hier ablegen",
"drop": "Ablegen",
"tasksDue": "{{count}} Aufgabe fällig",
"tasksDue_plural": "{{count}} Aufgaben fällig"
},
@@ -305,6 +312,38 @@
"saving": "Speichere...",
"saveSuccess": "Einstellungen erfolgreich gespeichert"
},
"audit": {
"action": {
"CREATE": "Erstellt",
"UPDATE": "Aktualisiert",
"DELETE": "Gelöscht",
"LOGIN": "Angemeldet",
"LOGOUT": "Abmeldung",
"Generate API Key": "API-Schlüssel generieren",
"Revoke API Key": "API-Schlüssel widerrufen",
"EXPORT_DATA": "Datenexport",
"PURCHASE": "Kauf",
"UNKNOWN": "Unbekannt"
},
"entity": {
"USER": "Benutzer",
"TASK": "Aufgabe",
"LABEL": "Label",
"SYSTEM_SETTINGS": "Systemeinst.",
"AI_CONFIG": "KI-Konfig",
"MCP": "MCP",
"CONVERSATION": "Konversation",
"REWARD": "Belohnung",
"UNKNOWN": "Unbekannt"
},
"source": {
"USER": "Benutzer",
"ADMIN": "Admin",
"AI": "KI",
"SYSTEM": "System",
"WEB": "Web"
}
},
"labels": {
"title": "Aufgabenlabels",
"description": "Erstellen und verwalten Sie Labels, um Ihre Aufgaben zu organisieren",
@@ -398,6 +437,18 @@
"morningSubtitle": "Lass uns deinen Tag planen.",
"eveningSubtitle": "Zeit zum Reflektieren und Entspannen.",
"dayComplete": "Tag abgeschlossen! Gute Arbeit."
},
"schedule": {
"title": "Zeitplan-Einstellungen",
"description": "Definieren Sie Ihre Verfügbarkeit für die automatische Planung.",
"start": "Startzeit",
"end": "Endzeit",
"days": "Aktive Tage",
"saved": "Zeitplan gespeichert",
"work": "Arbeitszeitplan",
"personal": "Persönlicher Zeitplan",
"workDesc": "Aufgaben mit dem Label 'Arbeit' werden in diesen Stunden geplant.",
"personalDesc": "Aufgaben mit dem Label 'Persönlich' werden in diesen Stunden geplant. 'Neutrale' Aufgaben können beides nutzen."
}
},
"newChatDefault": "Neuer Chat",
@@ -671,6 +722,7 @@
"successAccessDesc": "Benutzer kann nun alle deine Aufgaben sehen.",
"errorAccess": "Fehler beim Gewähren des Zugriffs",
"sharedWith": "Geteilt mit",
"sharedWithMe": "Mit mir geteilt",
"unshare": "Entfernen",
"confirmShareTitle": "Aufgabe teilen",
"confirmShareDesc": "Möchtest du diese Aufgabe wirklich mit {{username}} teilen?",
@@ -827,5 +879,13 @@
"enterCodeSentTo": "Geben Sie den 6-stelligen Code ein, der an ... gesendet wurde",
"codeExpiresIn10": "Der Code läuft in 10 Minuten ab",
"verify": "Verifizieren"
},
"planning": {
"minutes": "Minuten",
"durationPlaceholder": "z.B. 30",
"startDate": "Startdatum",
"estimatedDuration": "Geschätzte Dauer",
"subtasks": "Teilaufgaben",
"timeEstimate": "Zeitschätzung"
}
}