Add full language translation support and settings option

Integrates i18next and react-i18next for internationalization, adds German language support, and implements a language selection feature in the settings page.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ceced2fc-aa46-458d-ba87-ddd4b7bb1518
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/659922a9-0087-461c-90dd-6d9a58b81d4d/ceced2fc-aa46-458d-ba87-ddd4b7bb1518/un1X8jl
This commit is contained in:
paul-nothaft
2025-10-23 20:54:00 +00:00
parent 237c97dcd5
commit 571245e2d9
9 changed files with 499 additions and 16 deletions
+146
View File
@@ -0,0 +1,146 @@
{
"app": {
"title": "TaskFlow",
"backToTasks": "Zurück zu Aufgaben"
},
"navigation": {
"tasks": "Aufgaben",
"calendar": "Kalender",
"kanban": "Kanban",
"settings": "Einstellungen"
},
"taskList": {
"title": "Meine Aufgaben",
"taskCount": "{{count}} Aufgaben",
"searchPlaceholder": "Aufgaben suchen...",
"noTasks": "Noch keine Aufgaben. Erstelle deine erste Aufgabe!",
"noMatchingTasks": "Keine Aufgaben entsprechen deinen Filtern",
"filter": {
"all": "Alle",
"todo": "Zu erledigen",
"inProgress": "In Bearbeitung",
"done": "Erledigt",
"overdue": "Überfällig"
},
"sort": {
"dueDate": "Fälligkeitsdatum",
"priority": "Priorität",
"title": "Titel",
"status": "Status"
}
},
"taskCreation": {
"title": "Neue Aufgabe",
"titlePlaceholder": "Was muss erledigt werden?",
"descriptionPlaceholder": "Beschreibung hinzufügen (optional)",
"priority": "Priorität",
"label": "Label",
"noLabel": "Kein Label",
"dueDate": "Fälligkeitsdatum",
"cancel": "Abbrechen",
"create": "Aufgabe erstellen"
},
"taskDetails": {
"title": "Aufgabendetails",
"description": "Beschreibung",
"descriptionPlaceholder": "Beschreibung hinzufügen...",
"priority": "Priorität",
"status": "Status",
"label": "Label",
"noLabel": "Kein Label",
"dueDate": "Fälligkeitsdatum",
"selectDate": "Datum wählen",
"notes": "Notizen",
"notesPlaceholder": "Notizen hinzufügen...",
"timeTracked": "Erfasste Zeit",
"delete": "Aufgabe löschen",
"cancel": "Abbrechen",
"save": "Änderungen speichern"
},
"taskCard": {
"play": "Timer starten",
"pause": "Timer pausieren",
"edit": "Aufgabe bearbeiten",
"overdue": "Überfällig",
"timeTracked": "{{hours}}Std {{minutes}}Min erfasst"
},
"calendar": {
"title": "Kalenderansicht",
"today": "Heute",
"tasksDue": "{{count}} Aufgabe fällig",
"tasksDue_plural": "{{count}} Aufgaben fällig"
},
"kanban": {
"title": "Kanban-Board",
"todo": "Zu erledigen",
"inProgress": "In Bearbeitung",
"done": "Erledigt",
"taskCount": "{{count}} Aufgabe",
"taskCount_plural": "{{count}} Aufgaben"
},
"settings": {
"title": "Einstellungen",
"language": {
"title": "Sprache",
"description": "Wähle deine bevorzugte Sprache",
"english": "Englisch (English)",
"german": "Deutsch"
},
"appearance": {
"title": "Erscheinungsbild",
"description": "Passe das Aussehen an"
},
"templates": {
"title": "Projektvorlagen",
"description": "Verwende Vorlagen zum schnellen Erstellen von Projekten"
}
},
"projectTemplate": {
"title": "Projektvorlagen",
"description": "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",
"mobileDescription": "End-to-End Mobile App-Entwicklung von der Planung bis zur Bereitstellung",
"marketingCampaign": "Marketingkampagne",
"marketingDescription": "Vollständiger Marketingkampagnen-Workflow von der Planung bis zur Analyse",
"projectName": "Projektname",
"projectNamePlaceholder": "Projektnamen eingeben",
"startDate": "Startdatum",
"selectStartDate": "Startdatum wählen",
"createProject": "Projekt erstellen",
"weeks": "{{count}} Wochen",
"tasks": "{{count}} Aufgaben"
},
"timeCompletion": {
"title": "Aufgabe abgeschlossen!",
"congratulations": "Großartige Arbeit! Du hast abgeschlossen",
"timeSpent": "Zeit für diese Aufgabe",
"addTime": "Zusätzliche Zeit hinzufügen (optional)",
"hours": "Stunden",
"minutes": "Minuten",
"notes": "Notizen",
"notesPlaceholder": "Abschlussnotizen hinzufügen...",
"finish": "Fertig"
},
"priority": {
"low": "Niedrig",
"medium": "Mittel",
"high": "Hoch"
},
"status": {
"todo": "Zu erledigen",
"inProgress": "In Bearbeitung",
"done": "Erledigt"
},
"common": {
"cancel": "Abbrechen",
"save": "Speichern",
"delete": "Löschen",
"edit": "Bearbeiten",
"create": "Erstellen",
"close": "Schließen",
"loading": "Laden...",
"error": "Ein Fehler ist aufgetreten"
}
}