i18n complete: all 16 components translated (CZ/HE/RU/UA)

- Custom i18n provider with React Context + localStorage
- Hebrew RTL support (dir=rtl on html)
- All pages + components use t() calls
- FullCalendar + dates locale-aware
- Language selector in Settings wired to context

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Claude CLI Agent
2026-03-29 13:19:02 +00:00
parent 235bcab97f
commit 4fae1c5a06
15 changed files with 386 additions and 114 deletions

View File

@@ -2,6 +2,7 @@
import { useRef, useEffect } from "react";
import { Group } from "@/lib/api";
import { useTranslation } from "@/lib/i18n";
interface GroupSelectorProps {
groups: Group[];
@@ -16,6 +17,7 @@ export default function GroupSelector({
}: GroupSelectorProps) {
const scrollRef = useRef<HTMLDivElement>(null);
const activeRef = useRef<HTMLButtonElement>(null);
const { t } = useTranslation();
// Scroll active button into view
useEffect(() => {
@@ -46,7 +48,7 @@ export default function GroupSelector({
: "bg-gray-100 text-gray-600 dark:bg-gray-800 dark:text-gray-400 hover:bg-gray-200 dark:hover:bg-gray-700 min-h-[44px]"
}`}
>
Vse
{t("tasks.all")}
</button>
{groups.map((g) => (
<button