feat: Implement AI Chat Agent, Email Notifications, and UI enhancements
continuous-integration/drone/push Build is passing

This commit is contained in:
2025-12-12 08:35:48 +01:00
parent ccfb674318
commit 5d8976b1cd
58 changed files with 7867 additions and 844 deletions
+235 -27
View File
@@ -11,6 +11,7 @@
"create": "Erstellen",
"kanban": "Kanban",
"achievements": "Erfolge",
"leaderboard": "Bestenliste",
"settings": "Einstellungen"
},
"taskList": {
@@ -69,7 +70,10 @@
"noLabel": "Kein Label",
"dueDate": "Fälligkeitsdatum",
"cancel": "Abbrechen",
"create": "Aufgabe erstellen"
"create": "Aufgabe erstellen",
"smartInputActive": "Smart Input Aktiv",
"energy": "Energie",
"minutesPlaceholder": "Minuten (optional)"
},
"taskDetails": {
"title": "Aufgabendetails",
@@ -174,6 +178,40 @@
"english": "Englisch (English)",
"german": "Deutsch"
},
"account": {
"title": "Benutzerkonto",
"description": "Verwalten Sie Ihre Kontoeinstellungen",
"username": "Benutzername",
"userId": "Benutzer-ID"
},
"social": {
"title": "Soziales & Privatsphäre",
"description": "Verwalten Sie Ihre Sichtbarkeit und soziale Funktionen",
"publicLeaderboard": "Öffentliche Bestenliste",
"publicLeaderboardDesc": "Mein Profil auf der globalen Bestenliste anzeigen",
"searchable": "Auffindbarkeit erlauben",
"searchableDesc": "Anderen Benutzern erlauben, mich zum Teilen von Aufgaben zu finden",
"shareAccess": "Zugriff auf alle Aufgaben teilen..."
},
"admin": {
"title": "Administration",
"description": "Systemweite Einstellungen und Benutzerverwaltung",
"manageUsers": "Benutzer & Registrierung verwalten",
"smtpSettings": "SMTP Einstellungen"
},
"smtp": {
"title": "E-Mail Einstellungen (SMTP)",
"description": "Postausgangsserver konfigurieren",
"host": "Host",
"port": "Port",
"user": "Benutzer",
"password": "Passwort",
"from": "Absenderadresse",
"secure": "Sicher (TLS)",
"save": "E-Mail Einstellungen speichern",
"saving": "Speichere...",
"saveSuccess": "Einstellungen erfolgreich gespeichert"
},
"labels": {
"title": "Aufgabenlabels",
"description": "Erstellen und verwalten Sie Labels, um Ihre Aufgaben zu organisieren",
@@ -193,17 +231,67 @@
"updated": "Label aktualisiert",
"updatedDescription": "Ihr Label wurde erfolgreich aktualisiert.",
"deleted": "Label gelöscht",
"deletedDescription": "Ihr Label wurde erfolgreich gelöscht."
"deletedDescription": "Ihr Label wurde erfolgreich gelöscht.",
"share": "Label teilen"
},
"templates": {
"title": "Projektvorlagen",
"description": "Verwende Vorlagen zum schnellen Erstellen von Projekten",
"manageTemplates": "Vorlagen verwalten"
"manageTemplates": "Vorlagen verwalten",
"copy": "In die Zwischenablage kopieren",
"instructions": "Konfigurieren Sie Ihren MCP-Client (z. B. Claude Desktop) mit dieser URL und diesem Token."
},
"ai": {
"title": "KI-Konfiguration",
"description": "Konfigurieren Sie den globalen KI-Anbieter für den Assistenten.",
"provider": "KI-Anbieter",
"apiKey": "API-Schlüssel",
"model": "Modellname",
"baseUrl": "Basis-URL (Optional, z. B. für Ollama)",
"enableUser": "KI-Assistent aktivieren",
"enableUserDesc": "Zeige das KI-Chat-Widget an."
}
},
"ai": {
"title": "KI-Assistent",
"welcome": "Wie kann ich Ihnen heute bei Ihren Aufgaben helfen?",
"thinking": "Denke nach...",
"placeholder": "Stellen Sie eine Frage...",
"error": "Ich bin auf einen Fehler gestoßen"
},
"userManagement": {
"title": "Benutzerverwaltung",
"registration": "Registrierung",
"registrationDesc": "Zugriff auf die Plattform verwalten",
"publicRegistration": "Öffentliche Registrierung",
"publicRegistrationDesc": "Neuen Benutzern die Registrierung erlauben",
"registeredUsers": "Registrierte Benutzer",
"registeredUsersDesc": "Benutzerkonten und Rollen verwalten",
"createUser": "Benutzer erstellen",
"roles": {
"admin": "Administrator",
"user": "Benutzer"
},
"table": {
"user": "Benutzer",
"role": "Rolle",
"status": "Status",
"xp": "EP / Level",
"actions": "Aktionen",
"activate": "Aktivieren",
"deactivate": "Deaktivieren",
"active": "Aktiv",
"inactive": "Inaktiv"
},
"settingsUpdated": "Einstellungen erfolgreich aktualisiert",
"userDeleted": "Benutzer erfolgreich gelöscht",
"deleteUser": "Benutzer löschen",
"deleteConfirm": "Sind Sie sicher, dass Sie den Benutzer '{{username}}' löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.",
"typeToConfirm": "Geben Sie den Benutzernamen ein zur Bestätigung"
},
"projectTemplate": {
"title": "Projektvorlagen",
"description": "Wähle eine Vorlage, um ein neues Projekt mit vorkonfigurierten Aufgaben zu erstellen",
"pageDescription": "Wähle eine Vorlage, um ein neues Projekt mit vorkonfigurierten Aufgaben zu erstellen",
"websiteRedesign": "Website-Redesign",
"websiteDescription": "Umfassendes Website-Redesign-Projekt mit Design-, Entwicklungs- und Testphasen",
"mobileApp": "Mobile App-Launch",
@@ -330,7 +418,13 @@
"xp": "{{count}} EP",
"nextLevel": "{{count}} EP",
"currentXP": "{{current}} / {{next}} EP",
"viewDetails": "Details anzeigen"
"viewDetails": "Details anzeigen",
"source": {
"task_completion": "Aufgabe erledigt",
"daily_streak": "Täglicher Serien-Bonus",
"daily_clear_bonus": "Tagesziel-Bonus",
"goal_completed": "Ziel erreicht"
}
},
"ranks": {
"novice": "Einsteiger",
@@ -339,9 +433,45 @@
"architect": "Architekt",
"master": "Meister"
},
"leaderboardPage": {
"title": "Bestenliste",
"subtitle": "Top-Performer in der Community",
"globalRankings": "Globale Rangliste",
"globalRankingsDesc": "Benutzer sortiert nach Gesamt-EP (nur Opt-in)",
"noUsers": "Noch keine Benutzer auf der Bestenliste. Sei der Erste und tritt in den Einstellungen bei!",
"xp": "EP"
},
"share": {
"taskTitle": "Aufgabe teilen",
"allTasksTitle": "Alle Aufgaben teilen",
"allTasksDesc": "Gewähre einem Benutzer Lesezugriff auf ALLE deine Aufgaben.",
"searchPlaceholder": "Benutzer nach Namen suchen...",
"noUsers": "Keine Benutzer gefunden.",
"typeToSearch": "Tippe mindestens 2 Zeichen zum Suchen.",
"grantAccess": "Zugriff gewähren",
"successTask": "Aufgabe erfolgreich geteilt",
"errorTask": "Fehler beim Teilen der Aufgabe",
"successAccess": "Zugriff erfolgreich gewährt",
"successAccessDesc": "Benutzer kann nun alle deine Aufgaben sehen.",
"errorAccess": "Fehler beim Gewähren des Zugriffs",
"sharedWith": "Geteilt mit",
"unshare": "Entfernen",
"confirmShareTitle": "Aufgabe teilen",
"confirmShareDesc": "Möchtest du diese Aufgabe wirklich mit {{username}} teilen?",
"confirm": "Teilen bestätigen",
"cancel": "Abbrechen",
"removeSuccess": "Zugriff erfolgreich entfernt"
},
"achievements": {
"title": "Erfolge",
"subtitle": "Verfolge deinen Fortschritt und deine Ziele",
"rewardsDescription": "Gib deine {{xp}} EP für exklusive Belohnungen aus!",
"addReward": "Belohnung hinzufügen",
"createCustomReward": "Eigene Belohnung erstellen",
"rewardTitle": "Titel",
"rewardDescription": "Beschreibung",
"rewardCost": "Kosten (EP)",
"createRewardBtn": "Belohnung erstellen",
"currentStreak": "Aktuelle Serie",
"days": "{{count}} Tage",
"bestStreak": "Rekord: {{count}} Tage",
@@ -358,6 +488,14 @@
"weekly": "Wöchentlich",
"monthly": "Monatlich",
"yearly": "Jährlich",
"inventory": "Inventar",
"history": "Verlauf",
"fromLastWeek": "seit letzter Woche",
"noInventory": "Du hast noch keine Belohnungen gekauft.",
"goToShop": "Zum Prämienshop",
"purchasedAt": "Gekauft am {{date}}",
"xpHistory": "EP Verlauf",
"noHistory": "Noch keine EP-Aktivität",
"types": {
"weekly_tasks": "Wochenaufgaben",
"total_xp": "Gesamt EP",
@@ -366,8 +504,33 @@
"levelDetails": "Level Details",
"nextReward": "Nächste Belohnung",
"unlockReward": "Erweiterte Analysen auf Level {{level}} freischalten",
"goalTitlePlaceholder": "z.B. 50 Aufgaben erledigen",
"fromLastWeek": "seit letzter Woche"
"goalTitlePlaceholder": "z.B. 50 Aufgaben erledigen"
},
"rewards": {
"shopTitle": "Prämienshop",
"title": "Prämienshop",
"subtitle": "Tausche deine EP gegen Belohnungen",
"buy": "Kaufen",
"owned": "Im Besitz",
"insufficientFunds": "Nicht genug EP",
"buySuccess": "Kauf erfolgreich",
"itemPurchased": "Du hast {{item}} gekauft",
"buyFailed": "Kauf fehlgeschlagen",
"cost": "{{cost}} EP",
"defaults": {
"coffee": {
"title": "Kaffeepause",
"description": "Genieße 15 Min Pause ohne schlechtes Gewissen"
},
"gaming": {
"title": "Gaming Session",
"description": "1 Stunde Videospiele"
},
"theme": {
"title": "Dunkles Design",
"description": "Schalte das exklusive Dark Theme frei"
}
}
},
"analytics": {
"mon": "Mo",
@@ -400,25 +563,70 @@
"medium": "⚡⚡ Mittlere Energie",
"high": "⚡⚡⚡ Viel Energie"
},
"rewards": {
"shopTitle": "Belohnungen",
"buy": "Kaufen",
"insufficientFunds": "Nicht genug EP",
"owned": "Im Besitz",
"processing": "Verarbeite...",
"defaults": {
"coffee": {
"title": "Kaffeepause",
"description": "Mach eine 15 Min Pause"
},
"gaming": {
"title": "Gaming Session",
"description": "1 Stunde zocken ohne schlechtes Gewissen"
},
"theme": {
"title": "Goldenes Design",
"description": "Schalte das goldene Design frei"
}
}
"validation": {
"required": "Erforderlich",
"email": "Ungültige E-Mail-Adresse",
"minLength": "Muss mindestens {{min}} Zeichen lang sein",
"passwordMatch": "Passwörter stimmen nicht überein"
},
"smartTask": {
"placeholder": "Tippe eine Aufgabe wie 'Milch kaufen morgen'..."
},
"dependencies": {
"label": "Blockiert durch",
"selectPlaceholder": "Blockierende Aufgaben wählen...",
"blocked": "Blockiert",
"blockedBy": "Wartet auf"
},
"auth": {
"rememberMe": "Angemeldet bleiben",
"forgotPassword": "Passwort vergessen?",
"email": "E-Mail",
"forgotPasswordTitle": "Passwort vergessen",
"forgotPasswordDesc": "Geben Sie Ihre E-Mail ein, um Ihr Passwort zurückzusetzen",
"resetPasswordTitle": "Passwort zurücksetzen",
"resetPasswordDesc": "Geben Sie unten Ihr neues Passwort ein",
"sendResetLink": "Link senden",
"backToLogin": "Zurück zum Login",
"resetSuccess": "Passwort erfolgreich zurückgesetzt",
"resetEmailSent": "Reset-E-Mail gesendet",
"resetEmailSentDesc": "Wenn ein Konto mit dieser E-Mail existiert, haben wir Ihnen Anweisungen gesendet.",
"checkSpam": "Bitte prüfen Sie Ihren Spam-Ordner.",
"newPassword": "Neues Passwort",
"confirmPassword": "Passwort bestätigen",
"resetBtn": "Passwort zurücksetzen",
"password": "Passwort",
"resetting": "Wird zurückgesetzt...",
"sending": "Wird gesendet...",
"invalidToken": "Ungültiger Link",
"missingToken": "Reset-Token fehlt.",
"redirecting": "Weiterleitung zum Login...",
"changePassword": "Passwort ändern",
"changePasswordDesc": "Geben Sie Ihr aktuelles Passwort und ein neues Passwort ein.",
"currentPassword": "Aktuelles Passwort",
"changing": "Ändert...",
"passwordChangedSuccess": "Passwort erfolgreich geändert",
"changePasswordFailed": "Passwortänderung fehlgeschlagen",
"incorrectCurrentPassword": "Falsches aktuelles Passwort",
"currentPasswordRequired": "Aktuelles Passwort ist erforderlich",
"passwordMinLength": "Passwort muss mindestens 6 Zeichen lang sein",
"welcomeBack": "Willkommen zurück",
"signInDesc": "Melden Sie sich an oder erstellen Sie ein neues Konto, um zu beginnen",
"signInDescNoReg": "Melden Sie sich an, um zu beginnen",
"login": "Anmelden",
"register": "Registrieren",
"usernameOrEmail": "Benutzername oder E-Mail",
"username": "Benutzername",
"enterUsernameOrEmail": "Benutzername oder E-Mail eingeben",
"chooseUsername": "Benutzername wählen",
"enterEmail": "E-Mail eingeben",
"enterPassword": "Passwort eingeben",
"loggingIn": "Anmelden...",
"creatingAccount": "Konto wird erstellt...",
"signIn": "Anmelden",
"createAccount": "Konto erstellen",
"registrationDisabled": "Registrierung ist derzeit deaktiviert.",
"heroTitle": "TaskFlow",
"heroSubtitle": "Meistern Sie Ihre Produktivität mit KI-gesteuertem Aufgabenmanagement, gamifizierten Erfolgen und intelligenten Fokusmodi."
}
}