-
Closed Projects
+
{t('projectTemplate.closedProjects')}
-
+
setSelectedProject({ ...selectedProject, name: e.target.value })}
- placeholder="Enter project name"
+ placeholder={t('projectTemplate.projectNamePlaceholder')}
data-testid="input-edit-project-name"
/>
-
+
setSelectedProject({ ...selectedProject, description: e.target.value })}
- placeholder="Enter project description"
+ placeholder={t('projectTemplate.projectDescriptionPlaceholder')}
data-testid="input-edit-project-description"
/>
-
+
@@ -1163,7 +1163,7 @@ export default function ProjectTemplate({
{/* Planned End Date */}
-
+
{selectedProject.plannedEndDate
? selectedProject.plannedEndDate.toLocaleDateString()
- : "Select planned end date"}
+ : t('projectTemplate.selectPlannedEndDate')}
@@ -1198,7 +1198,7 @@ export default function ProjectTemplate({
className="text-xs text-muted-foreground hover:text-destructive"
data-testid="button-clear-planned-end-date"
>
- Clear date
+ {t('projectTemplate.clearDate')}
)}
@@ -1206,7 +1206,7 @@ export default function ProjectTemplate({
{/* Tasks Section */}
-
Project Tasks
+
{t('projectTemplate.projectTasks')}
@@ -1227,29 +1227,29 @@ export default function ProjectTemplate({
@@ -1345,13 +1345,13 @@ export default function ProjectTemplate({
) : null}
{task.timeTracked && task.timeTracked > 0 && (
- {Math.floor(task.timeTracked / 60)}h {task.timeTracked % 60}m tracked
+ {Math.floor(task.timeTracked / 60)}h {task.timeTracked % 60}m {t('projectTemplate.tracked')}
)}
{task.notes && task.notes.trim() && (
- Notes
+ {t('projectTemplate.notesLabel')}
)}
@@ -1365,7 +1365,7 @@ export default function ProjectTemplate({
handleOpenTaskDetails(task);
}}
data-testid={`button-details-task-${index}`}
- title="View task details"
+ title={t('projectTemplate.viewTaskDetails')}
>
@@ -1377,7 +1377,7 @@ export default function ProjectTemplate({
handleEditTask(index);
}}
data-testid={`button-edit-task-edit-${index}`}
- title="Edit task"
+ title={t('projectTemplate.editTaskTooltip')}
>
@@ -1389,7 +1389,7 @@ export default function ProjectTemplate({
handleRemoveTask(index);
}}
data-testid={`button-remove-task-edit-${index}`}
- title="Remove task"
+ title={t('projectTemplate.removeTask')}
>
@@ -1401,7 +1401,7 @@ export default function ProjectTemplate({
{projectTasks.length === 0 && (
- No tasks in this project yet. Click "Add Task" to get started.
+ {t('projectTemplate.noTasksInProject')}
)}
diff --git a/client/src/i18n/locales/de.json b/client/src/i18n/locales/de.json
index ab3dbf4..bf35833 100644
--- a/client/src/i18n/locales/de.json
+++ b/client/src/i18n/locales/de.json
@@ -253,7 +253,14 @@
"projectDescriptionPlaceholder": "Projektbeschreibung eingeben (optional)",
"plannedEndDate": "Geplantes Enddatum",
"selectPlannedEndDate": "Geplantes Enddatum wählen",
- "clearDate": "Datum löschen"
+ "clearDate": "Datum löschen",
+ "noTasksInProject": "Noch keine Aufgaben in diesem Projekt. Klicken Sie auf \"Aufgabe hinzufügen\", um zu beginnen.",
+ "closedProjects": "Abgeschlossene Projekte",
+ "viewTaskDetails": "Aufgabendetails anzeigen",
+ "editTaskTooltip": "Aufgabe bearbeiten",
+ "removeTask": "Aufgabe entfernen",
+ "tracked": "verfolgt",
+ "notesLabel": "Notizen"
},
"timeCompletion": {
"title": "Aufgabe abgeschlossen!",
diff --git a/client/src/i18n/locales/en.json b/client/src/i18n/locales/en.json
index 509cf1e..95cc192 100644
--- a/client/src/i18n/locales/en.json
+++ b/client/src/i18n/locales/en.json
@@ -253,7 +253,14 @@
"projectDescriptionPlaceholder": "Enter project description (optional)",
"plannedEndDate": "Planned End Date",
"selectPlannedEndDate": "Select planned end date",
- "clearDate": "Clear date"
+ "clearDate": "Clear date",
+ "noTasksInProject": "No tasks in this project yet. Click \"Add Task\" to get started.",
+ "closedProjects": "Closed Projects",
+ "viewTaskDetails": "View task details",
+ "editTaskTooltip": "Edit task",
+ "removeTask": "Remove task",
+ "tracked": "tracked",
+ "notesLabel": "Notes"
},
"timeCompletion": {
"title": "Task Completed!",