feat(i18n): Implement multilingual support with Polish and English translations

- Added translation context and provider for managing language state.
- Integrated translation functionality into existing components (TaskStatusDropdown, Navigation).
- Created LanguageSwitcher component for language selection.
- Updated task statuses and navigation labels to use translations.
- Added Polish translations for various UI elements, including navigation, tasks, projects, and contracts.
- Refactored utility functions to return localized strings for deadlines and date formatting.
This commit is contained in:
Chop
2025-07-27 22:01:15 +02:00
parent 9b6307eabe
commit e828aa660b
16 changed files with 1166 additions and 234 deletions

View File

@@ -3,13 +3,16 @@
import { useState, useRef, useEffect } from "react";
import { createPortal } from "react-dom";
import Badge from "@/components/ui/Badge";
import { useTranslation } from "@/lib/i18n";
export default function TaskStatusDropdown({
task,
size = "sm",
showDropdown = true,
onStatusChange,
}) { const [status, setStatus] = useState(task.status);
}) {
const { t } = useTranslation();
const [status, setStatus] = useState(task.status);
const [loading, setLoading] = useState(false);
const [isOpen, setIsOpen] = useState(false);
const [dropdownPosition, setDropdownPosition] = useState({ x: 0, y: 0, position: 'bottom' });
@@ -23,19 +26,19 @@ export default function TaskStatusDropdown({
const statusConfig = {
pending: {
label: "Pending",
label: t("taskStatus.pending"),
variant: "warning",
},
in_progress: {
label: "In Progress",
label: t("taskStatus.in_progress"),
variant: "primary",
},
completed: {
label: "Completed",
label: t("taskStatus.completed"),
variant: "success",
},
cancelled: {
label: "Cancelled",
label: t("taskStatus.cancelled"),
variant: "danger",
},
};