Feature batch: Projects, Recurrence, Group settings, Bug fixes

- Projects CRUD API + invite members
- Task recurrence (daily/weekly/monthly) with auto-creation
- Group time zones + GPS locations settings
- i18n fallback fix (no more undefined labels)
- UX: action buttons in one row
- Chat/Calendar: relative API URLs
- DB: task_assignments, projects tables, recurrence column

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-29 13:49:25 +00:00
parent fc39029ce3
commit b4b8439f80
14 changed files with 1173 additions and 136 deletions

View File

@@ -1,10 +1,133 @@
{
"nav": { "tasks": "Úkoly", "calendar": "Kalendář", "chat": "Chat", "settings": "Nastavení", "goals": "Cíle" },
"auth": { "login": "Přihlášení", "register": "Registrace", "email": "Email", "name": "Jméno", "phone": "Telefon", "submit": "Přihlásit se", "registerBtn": "Registrovat se", "noAccount": "Nemáte účet?", "hasAccount": "Máte účet?", "logout": "Odhlásit se" },
"tasks": { "title": "Úkoly", "add": "Nový úkol", "edit": "Upravit", "delete": "Smazat", "noTasks": "Žádné úkoly", "all": "Vše", "status": { "pending": "Čeká", "in_progress": "Probíhá", "done": "Hotovo", "completed": "Hotovo", "cancelled": "Zrušeno" }, "priority": { "urgent": "Urgentní", "high": "Vysoká", "medium": "Střední", "low": "Nízká" }, "form": { "title": "Název", "description": "Popis", "group": "Skupina", "priority": "Priorita", "status": "Status", "dueDate": "Termín", "save": "Uložit", "cancel": "Zrušit", "titleRequired": "Název je povinný", "saveError": "Chyba při ukládání", "saving": "Ukládám...", "noGroup": "-- Bez skupiny --", "placeholder": "Co je třeba udělat...", "descPlaceholder": "Podrobnosti..." }, "noDue": "Bez termínu", "createFirst": "Vytvořte první úkol pomocí tlačítka +", "newTask": "Nový úkol", "close": "Zavřít", "markDone": "Označit jako hotové", "start": "Zahájit", "reopen": "Znovu otevřít", "confirmDelete": "Opravdu smazat tento úkol?", "editTask": "Upravit úkol", "saveChanges": "Uložit změny", "deleting": "Mažu...", "created": "Vytvořeno", "completed": "Dokončeno", "loadError": "Chyba při načítání úkolu", "notFound": "Úkol nenalezen", "backToTasks": "Zpět na úkoly" },
"chat": { "title": "AI Asistent", "placeholder": "Napište zprávu...", "send": "Odeslat", "empty": "Zeptejte se na cokoliv...", "subtitle": "Zeptejte se na cokoliv ohledně vašich úkolů", "startConversation": "Začněte konverzaci", "helpText": "Napište zprávu a AI asistent vám pomůže s úkoly", "unavailable": "Chat asistent je momentálně nedostupný. Zkuste to prosím později.", "processError": "Omlouvám se, nemohl jsem zpracovat vaši zprávu." },
"settings": { "title": "Nastavení", "language": "Jazyk", "theme": "Motiv", "dark": "Tmavý režim", "light": "Světlý režim", "notifications": "Oznámení", "push": "Push oznámení", "email": "E-mailová oznámení", "taskReminders": "Připomenutí úkolů", "dailySummary": "Denní souhrn", "save": "Uložit nastavení", "saved": "Uloženo!", "profile": "Profil", "appearance": "Vzhled", "user": "Uživatel" },
"goals": { "title": "Cíle", "add": "Nový cíl", "progress": "Progres", "plan": "Generovat plán", "report": "AI Report" },
"common": { "back": "Zpět", "loading": "Načítání...", "error": "Chyba", "confirm": "Potvrdit", "menu": "Menu", "closeMenu": "Zavřít menu", "toggleTheme": "Přepnout téma" },
"calendar": { "title": "Kalendář" }
}
"nav": {
"tasks": "Úkoly",
"calendar": "Kalendář",
"chat": "Chat",
"settings": "Nastavení",
"goals": "Cíle",
"projects": "Projekty"
},
"auth": {
"login": "Přihlášení",
"register": "Registrace",
"email": "Email",
"name": "Jméno",
"phone": "Telefon",
"submit": "Přihlásit se",
"registerBtn": "Registrovat se",
"noAccount": "Nemáte účet?",
"hasAccount": "Máte účet?",
"logout": "Odhlásit se"
},
"tasks": {
"title": "Úkoly",
"add": "Nový úkol",
"edit": "Upravit",
"delete": "Smazat",
"noTasks": "Žádné úkoly",
"all": "Vše",
"status": {
"pending": "Čeká",
"in_progress": "Probíhá",
"done": "Hotovo",
"completed": "Hotovo",
"cancelled": "Zrušeno"
},
"priority": {
"urgent": "Urgentní",
"high": "Vysoká",
"medium": "Střední",
"low": "Nízká"
},
"form": {
"title": "Název",
"description": "Popis",
"group": "Skupina",
"priority": "Priorita",
"status": "Status",
"dueDate": "Termín",
"save": "Uložit",
"cancel": "Zrušit",
"titleRequired": "Název je povinný",
"saveError": "Chyba při ukládání",
"saving": "Ukládám...",
"noGroup": "-- Bez skupiny --",
"placeholder": "Co je třeba udělat...",
"descPlaceholder": "Podrobnosti..."
},
"noDue": "Bez termínu",
"createFirst": "Vytvořte první úkol pomocí tlačítka +",
"newTask": "Nový úkol",
"close": "Zavřít",
"markDone": "Označit jako hotové",
"start": "Zahájit",
"reopen": "Znovu otevřít",
"confirmDelete": "Opravdu smazat tento úkol?",
"editTask": "Upravit úkol",
"saveChanges": "Uložit změny",
"deleting": "Mažu...",
"created": "Vytvořeno",
"completed": "Dokončeno",
"loadError": "Chyba při načítání úkolu",
"notFound": "Úkol nenalezen",
"backToTasks": "Zpět na úkoly"
},
"chat": {
"title": "AI Asistent",
"placeholder": "Napište zprávu...",
"send": "Odeslat",
"empty": "Zeptejte se na cokoliv...",
"subtitle": "Zeptejte se na cokoliv ohledně vašich úkolů",
"startConversation": "Začněte konverzaci",
"helpText": "Napište zprávu a AI asistent vám pomůže s úkoly",
"unavailable": "Chat asistent je momentálně nedostupný. Zkuste to prosím později.",
"processError": "Omlouvám se, nemohl jsem zpracovat vaši zprávu."
},
"settings": {
"title": "Nastavení",
"language": "Jazyk",
"theme": "Motiv",
"dark": "Tmavý režim",
"light": "Světlý režim",
"notifications": "Oznámení",
"push": "Push oznámení",
"email": "E-mailová oznámení",
"taskReminders": "Připomenutí úkolů",
"dailySummary": "Denní souhrn",
"save": "Uložit nastavení",
"saved": "Uloženo!",
"profile": "Profil",
"appearance": "Vzhled",
"user": "Uživatel"
},
"goals": {
"title": "Cíle",
"add": "Nový cíl",
"progress": "Progres",
"plan": "Generovat plán",
"report": "AI Report"
},
"common": {
"back": "Zpět",
"loading": "Načítání...",
"error": "Chyba",
"confirm": "Potvrdit",
"menu": "Menu",
"closeMenu": "Zavřít menu",
"toggleTheme": "Přepnout téma"
},
"calendar": {
"title": "Kalendář"
},
"projects": {
"add": "Novy projekt",
"empty": "Zadne projekty",
"createFirst": "Vytvorte prvni projekt tlacitkem +",
"namePlaceholder": "Nazev projektu...",
"descPlaceholder": "Popis projektu...",
"color": "Barva",
"icon": "Ikona",
"tasks": "Ukoly",
"members": "Clenove"
}
}

View File

@@ -1,10 +1,133 @@
{
"nav": { "tasks": "משימות", "calendar": "לוח שנה", "chat": "צ׳אט", "settings": "הגדרות", "goals": "מטרות" },
"auth": { "login": "התחברות", "register": "הרשמה", "email": "אימייל", "name": "שם", "phone": "טלפון", "submit": "התחבר", "registerBtn": "הירשם", "noAccount": "אין לך חשבון?", "hasAccount": "יש לך חשבון?", "logout": "התנתק" },
"tasks": { "title": "משימות", "add": "משימה חדשה", "edit": "ערוך", "delete": "מחק", "noTasks": "אין משימות", "all": "הכל", "status": { "pending": "ממתין", "in_progress": "בתהליך", "done": "הושלם", "completed": "הושלם", "cancelled": "בוטל" }, "priority": { "urgent": "דחוף", "high": "גבוה", "medium": "בינוני", "low": "נמוך" }, "form": { "title": "כותרת", "description": "תיאור", "group": "קבוצה", "priority": "עדיפות", "status": "סטטוס", "dueDate": "תאריך יעד", "save": "שמור", "cancel": "ביטול", "titleRequired": "כותרת חובה", "saveError": "שגיאה בשמירה", "saving": "שומר...", "noGroup": "-- ללא קבוצה --", "placeholder": "מה צריך לעשות...", "descPlaceholder": "פרטים..." }, "noDue": "ללא תאריך", "createFirst": "צור משימה ראשונה בעזרת הכפתור +", "newTask": "משימה חדשה", "close": "סגור", "markDone": "סמן כהושלם", "start": "התחל", "reopen": "פתח מחדש", "confirmDelete": "למחוק משימה זו?", "editTask": "ערוך משימה", "saveChanges": "שמור שינויים", "deleting": "מוחק...", "created": "נוצר", "completed": "הושלם", "loadError": "שגיאה בטעינת המשימה", "notFound": "משימה לא נמצאה", "backToTasks": "חזרה למשימות" },
"chat": { "title": "עוזר AI", "placeholder": "כתוב הודעה...", "send": "שלח", "empty": "שאל כל דבר...", "subtitle": "שאל כל שאלה לגבי המשימות שלך", "startConversation": "התחל שיחה", "helpText": "כתוב הודעה ועוזר ה-AI יעזור לך עם משימות", "unavailable": "עוזר הצ׳אט אינו זמין כרגע. נסה שוב מאוחר יותר.", "processError": "מצטער, לא הצלחתי לעבד את ההודעה שלך." },
"settings": { "title": "הגדרות", "language": "שפה", "theme": "ערכת נושא", "dark": "מצב כהה", "light": "מצב בהיר", "notifications": "התראות", "push": "התראות פוש", "email": "התראות אימייל", "taskReminders": "תזכורות משימות", "dailySummary": "סיכום יומי", "save": "שמור הגדרות", "saved": "נשמר!", "profile": "פרופיל", "appearance": "מראה", "user": "משתמש" },
"goals": { "title": "מטרות", "add": "מטרה חדשה", "progress": "התקדמות", "plan": "צור תוכנית", "report": "דוח AI" },
"common": { "back": "חזרה", "loading": "טוען...", "error": "שגיאה", "confirm": "אישור", "menu": "תפריט", "closeMenu": "סגור תפריט", "toggleTheme": "החלף ערכת נושא" },
"calendar": { "title": "לוח שנה" }
}
"nav": {
"tasks": "משימות",
"calendar": "לוח שנה",
"chat": "צ׳אט",
"settings": "הגדרות",
"goals": "מטרות",
"projects": "פרויקטים"
},
"auth": {
"login": "התחברות",
"register": "הרשמה",
"email": "אימייל",
"name": "שם",
"phone": "טלפון",
"submit": "התחבר",
"registerBtn": "הירשם",
"noAccount": "אין לך חשבון?",
"hasAccount": "יש לך חשבון?",
"logout": "התנתק"
},
"tasks": {
"title": "משימות",
"add": "משימה חדשה",
"edit": "ערוך",
"delete": "מחק",
"noTasks": "אין משימות",
"all": "הכל",
"status": {
"pending": "ממתין",
"in_progress": "בתהליך",
"done": "הושלם",
"completed": "הושלם",
"cancelled": "בוטל"
},
"priority": {
"urgent": "דחוף",
"high": "גבוה",
"medium": "בינוני",
"low": "נמוך"
},
"form": {
"title": "כותרת",
"description": "תיאור",
"group": "קבוצה",
"priority": "עדיפות",
"status": "סטטוס",
"dueDate": "תאריך יעד",
"save": "שמור",
"cancel": "ביטול",
"titleRequired": "כותרת חובה",
"saveError": "שגיאה בשמירה",
"saving": "שומר...",
"noGroup": "-- ללא קבוצה --",
"placeholder": "מה צריך לעשות...",
"descPlaceholder": "פרטים..."
},
"noDue": "ללא תאריך",
"createFirst": "צור משימה ראשונה בעזרת הכפתור +",
"newTask": "משימה חדשה",
"close": "סגור",
"markDone": "סמן כהושלם",
"start": "התחל",
"reopen": "פתח מחדש",
"confirmDelete": "למחוק משימה זו?",
"editTask": "ערוך משימה",
"saveChanges": "שמור שינויים",
"deleting": "מוחק...",
"created": "נוצר",
"completed": "הושלם",
"loadError": "שגיאה בטעינת המשימה",
"notFound": "משימה לא נמצאה",
"backToTasks": "חזרה למשימות"
},
"chat": {
"title": "עוזר AI",
"placeholder": "כתוב הודעה...",
"send": "שלח",
"empty": "שאל כל דבר...",
"subtitle": "שאל כל שאלה לגבי המשימות שלך",
"startConversation": "התחל שיחה",
"helpText": "כתוב הודעה ועוזר ה-AI יעזור לך עם משימות",
"unavailable": "עוזר הצ׳אט אינו זמין כרגע. נסה שוב מאוחר יותר.",
"processError": "מצטער, לא הצלחתי לעבד את ההודעה שלך."
},
"settings": {
"title": "הגדרות",
"language": "שפה",
"theme": "ערכת נושא",
"dark": "מצב כהה",
"light": "מצב בהיר",
"notifications": "התראות",
"push": "התראות פוש",
"email": "התראות אימייל",
"taskReminders": "תזכורות משימות",
"dailySummary": "סיכום יומי",
"save": "שמור הגדרות",
"saved": "נשמר!",
"profile": "פרופיל",
"appearance": "מראה",
"user": "משתמש"
},
"goals": {
"title": "מטרות",
"add": "מטרה חדשה",
"progress": "התקדמות",
"plan": "צור תוכנית",
"report": "דוח AI"
},
"common": {
"back": "חזרה",
"loading": "טוען...",
"error": "שגיאה",
"confirm": "אישור",
"menu": "תפריט",
"closeMenu": "סגור תפריט",
"toggleTheme": "החלף ערכת נושא"
},
"calendar": {
"title": "לוח שנה"
},
"projects": {
"add": "פרויקט חדש",
"empty": "אין פרויקטים",
"createFirst": "צור פרויקט ראשון +",
"namePlaceholder": "שם פרויקט...",
"descPlaceholder": "תיאור פרויקט...",
"color": "צבע",
"icon": "איקון",
"tasks": "משימות",
"members": "חברים"
}
}

View File

@@ -1,10 +1,133 @@
{
"nav": { "tasks": "Задачи", "calendar": "Календарь", "chat": "Чат", "settings": "Настройки", "goals": "Цели" },
"auth": { "login": "Вход", "register": "Регистрация", "email": "Email", "name": "Имя", "phone": "Телефон", "submit": "Войти", "registerBtn": "Зарегистрироваться", "noAccount": "Нет аккаунта?", "hasAccount": "Есть аккаунт?", "logout": "Выйти" },
"tasks": { "title": "Задачи", "add": "Новая задача", "edit": "Редактировать", "delete": "Удалить", "noTasks": "Нет задач", "all": "Все", "status": { "pending": "Ожидает", "in_progress": "В работе", "done": "Готово", "completed": "Готово", "cancelled": "Отменено" }, "priority": { "urgent": "Срочно", "high": "Высокий", "medium": "Средний", "low": "Низкий" }, "form": { "title": "Название", "description": "Описание", "group": "Группа", "priority": "Приоритет", "status": "Статус", "dueDate": "Срок", "save": "Сохранить", "cancel": "Отмена", "titleRequired": "Название обязательно", "saveError": "Ошибка при сохранении", "saving": "Сохраняю...", "noGroup": "-- Без группы --", "placeholder": "Что нужно сделать...", "descPlaceholder": "Подробности..." }, "noDue": "Без срока", "createFirst": "Создайте первую задачу кнопкой +", "newTask": "Новая задача", "close": "Закрыть", "markDone": "Отметить готовой", "start": "Начать", "reopen": "Открыть заново", "confirmDelete": "Удалить эту задачу?", "editTask": "Редактировать задачу", "saveChanges": "Сохранить изменения", "deleting": "Удаляю...", "created": "Создано", "completed": "Завершено", "loadError": "Ошибка при загрузке задачи", "notFound": "Задача не найдена", "backToTasks": "Назад к задачам" },
"chat": { "title": "AI Ассистент", "placeholder": "Напишите сообщение...", "send": "Отправить", "empty": "Спросите что угодно...", "subtitle": "Задайте любой вопрос о ваших задачах", "startConversation": "Начните разговор", "helpText": "Напишите сообщение, и AI ассистент поможет вам с задачами", "unavailable": "Чат ассистент сейчас недоступен. Попробуйте позже.", "processError": "Извините, не удалось обработать ваше сообщение." },
"settings": { "title": "Настройки", "language": "Язык", "theme": "Тема", "dark": "Тёмный режим", "light": "Светлый режим", "notifications": "Уведомления", "push": "Push уведомления", "email": "E-mail уведомления", "taskReminders": "Напоминания о задачах", "dailySummary": "Ежедневная сводка", "save": "Сохранить настройки", "saved": "Сохранено!", "profile": "Профиль", "appearance": "Внешний вид", "user": "Пользователь" },
"goals": { "title": "Цели", "add": "Новая цель", "progress": "Прогресс", "plan": "Создать план", "report": "AI Отчёт" },
"common": { "back": "Назад", "loading": "Загрузка...", "error": "Ошибка", "confirm": "Подтвердить", "menu": "Меню", "closeMenu": "Закрыть меню", "toggleTheme": "Переключить тему" },
"calendar": { "title": "Календарь" }
}
"nav": {
"tasks": "Задачи",
"calendar": "Календарь",
"chat": "Чат",
"settings": "Настройки",
"goals": "Цели",
"projects": "Проекты"
},
"auth": {
"login": "Вход",
"register": "Регистрация",
"email": "Email",
"name": "Имя",
"phone": "Телефон",
"submit": "Войти",
"registerBtn": "Зарегистрироваться",
"noAccount": "Нет аккаунта?",
"hasAccount": "Есть аккаунт?",
"logout": "Выйти"
},
"tasks": {
"title": "Задачи",
"add": "Новая задача",
"edit": "Редактировать",
"delete": "Удалить",
"noTasks": "Нет задач",
"all": "Все",
"status": {
"pending": "Ожидает",
"in_progress": "В работе",
"done": "Готово",
"completed": "Готово",
"cancelled": "Отменено"
},
"priority": {
"urgent": "Срочно",
"high": "Высокий",
"medium": "Средний",
"low": "Низкий"
},
"form": {
"title": "Название",
"description": "Описание",
"group": "Группа",
"priority": "Приоритет",
"status": "Статус",
"dueDate": "Срок",
"save": "Сохранить",
"cancel": "Отмена",
"titleRequired": "Название обязательно",
"saveError": "Ошибка при сохранении",
"saving": "Сохраняю...",
"noGroup": "-- Без группы --",
"placeholder": "Что нужно сделать...",
"descPlaceholder": "Подробности..."
},
"noDue": "Без срока",
"createFirst": "Создайте первую задачу кнопкой +",
"newTask": "Новая задача",
"close": "Закрыть",
"markDone": "Отметить готовой",
"start": "Начать",
"reopen": "Открыть заново",
"confirmDelete": "Удалить эту задачу?",
"editTask": "Редактировать задачу",
"saveChanges": "Сохранить изменения",
"deleting": "Удаляю...",
"created": "Создано",
"completed": "Завершено",
"loadError": "Ошибка при загрузке задачи",
"notFound": "Задача не найдена",
"backToTasks": "Назад к задачам"
},
"chat": {
"title": "AI Ассистент",
"placeholder": "Напишите сообщение...",
"send": "Отправить",
"empty": "Спросите что угодно...",
"subtitle": "Задайте любой вопрос о ваших задачах",
"startConversation": "Начните разговор",
"helpText": "Напишите сообщение, и AI ассистент поможет вам с задачами",
"unavailable": "Чат ассистент сейчас недоступен. Попробуйте позже.",
"processError": "Извините, не удалось обработать ваше сообщение."
},
"settings": {
"title": "Настройки",
"language": "Язык",
"theme": "Тема",
"dark": "Тёмный режим",
"light": "Светлый режим",
"notifications": "Уведомления",
"push": "Push уведомления",
"email": "E-mail уведомления",
"taskReminders": "Напоминания о задачах",
"dailySummary": "Ежедневная сводка",
"save": "Сохранить настройки",
"saved": "Сохранено!",
"profile": "Профиль",
"appearance": "Внешний вид",
"user": "Пользователь"
},
"goals": {
"title": "Цели",
"add": "Новая цель",
"progress": "Прогресс",
"plan": "Создать план",
"report": "AI Отчёт"
},
"common": {
"back": "Назад",
"loading": "Загрузка...",
"error": "Ошибка",
"confirm": "Подтвердить",
"menu": "Меню",
"closeMenu": "Закрыть меню",
"toggleTheme": "Переключить тему"
},
"calendar": {
"title": "Календарь"
},
"projects": {
"add": "Новый проект",
"empty": "Нет проектов",
"createFirst": "Создайте первый проект кнопкой +",
"namePlaceholder": "Название проекта...",
"descPlaceholder": "Описание проекта...",
"color": "Цвет",
"icon": "Иконка",
"tasks": "Задачи",
"members": "Участники"
}
}

View File

@@ -1,10 +1,133 @@
{
"nav": { "tasks": "Завдання", "calendar": "Календар", "chat": "Чат", "settings": "Налаштування", "goals": "Цілі" },
"auth": { "login": "Вхід", "register": "Реєстрація", "email": "Email", "name": "Ім'я", "phone": "Телефон", "submit": "Увійти", "registerBtn": "Зареєструватися", "noAccount": "Немає акаунту?", "hasAccount": "Є акаунт?", "logout": "Вийти" },
"tasks": { "title": "Завдання", "add": "Нове завдання", "edit": "Редагувати", "delete": "Видалити", "noTasks": "Немає завдань", "all": "Усі", "status": { "pending": "Очікує", "in_progress": "В роботі", "done": "Готово", "completed": "Готово", "cancelled": "Скасовано" }, "priority": { "urgent": "Терміново", "high": "Високий", "medium": "Середній", "low": "Низький" }, "form": { "title": "Назва", "description": "Опис", "group": "Група", "priority": "Пріоритет", "status": "Статус", "dueDate": "Термін", "save": "Зберегти", "cancel": "Скасувати", "titleRequired": "Назва обов'язкова", "saveError": "Помилка при збереженні", "saving": "Зберігаю...", "noGroup": "-- Без групи --", "placeholder": "Що треба зробити...", "descPlaceholder": "Подробиці..." }, "noDue": "Без терміну", "createFirst": "Створіть перше завдання кнопкою +", "newTask": "Нове завдання", "close": "Закрити", "markDone": "Позначити готовим", "start": "Розпочати", "reopen": "Відкрити знову", "confirmDelete": "Видалити це завдання?", "editTask": "Редагувати завдання", "saveChanges": "Зберегти зміни", "deleting": "Видаляю...", "created": "Створено", "completed": "Завершено", "loadError": "Помилка при завантаженні завдання", "notFound": "Завдання не знайдено", "backToTasks": "Назад до завдань" },
"chat": { "title": "AI Асистент", "placeholder": "Напишіть повідомлення...", "send": "Надіслати", "empty": "Запитайте будь-що...", "subtitle": "Задайте будь-яке питання щодо ваших завдань", "startConversation": "Почніть розмову", "helpText": "Напишіть повідомлення, і AI асистент допоможе вам із завданнями", "unavailable": "Чат асистент зараз недоступний. Спробуйте пізніше.", "processError": "Вибачте, не вдалося обробити ваше повідомлення." },
"settings": { "title": "Налаштування", "language": "Мова", "theme": "Тема", "dark": "Темний режим", "light": "Світлий режим", "notifications": "Сповіщення", "push": "Push сповіщення", "email": "E-mail сповіщення", "taskReminders": "Нагадування про завдання", "dailySummary": "Щоденний підсумок", "save": "Зберегти налаштування", "saved": "Збережено!", "profile": "Профіль", "appearance": "Зовнішній вигляд", "user": "Користувач" },
"goals": { "title": "Цілі", "add": "Нова ціль", "progress": "Прогрес", "plan": "Створити план", "report": "AI Звіт" },
"common": { "back": "Назад", "loading": "Завантаження...", "error": "Помилка", "confirm": "Підтвердити", "menu": "Меню", "closeMenu": "Закрити меню", "toggleTheme": "Перемкнути тему" },
"calendar": { "title": "Календар" }
}
"nav": {
"tasks": "Завдання",
"calendar": "Календар",
"chat": "Чат",
"settings": "Налаштування",
"goals": "Цілі",
"projects": "Проекти"
},
"auth": {
"login": "Вхід",
"register": "Реєстрація",
"email": "Email",
"name": "Ім'я",
"phone": "Телефон",
"submit": "Увійти",
"registerBtn": "Зареєструватися",
"noAccount": "Немає акаунту?",
"hasAccount": "Є акаунт?",
"logout": "Вийти"
},
"tasks": {
"title": "Завдання",
"add": "Нове завдання",
"edit": "Редагувати",
"delete": "Видалити",
"noTasks": "Немає завдань",
"all": "Усі",
"status": {
"pending": "Очікує",
"in_progress": "В роботі",
"done": "Готово",
"completed": "Готово",
"cancelled": "Скасовано"
},
"priority": {
"urgent": "Терміново",
"high": "Високий",
"medium": "Середній",
"low": "Низький"
},
"form": {
"title": "Назва",
"description": "Опис",
"group": "Група",
"priority": "Пріоритет",
"status": "Статус",
"dueDate": "Термін",
"save": "Зберегти",
"cancel": "Скасувати",
"titleRequired": "Назва обов'язкова",
"saveError": "Помилка при збереженні",
"saving": "Зберігаю...",
"noGroup": "-- Без групи --",
"placeholder": "Що треба зробити...",
"descPlaceholder": "Подробиці..."
},
"noDue": "Без терміну",
"createFirst": "Створіть перше завдання кнопкою +",
"newTask": "Нове завдання",
"close": "Закрити",
"markDone": "Позначити готовим",
"start": "Розпочати",
"reopen": "Відкрити знову",
"confirmDelete": "Видалити це завдання?",
"editTask": "Редагувати завдання",
"saveChanges": "Зберегти зміни",
"deleting": "Видаляю...",
"created": "Створено",
"completed": "Завершено",
"loadError": "Помилка при завантаженні завдання",
"notFound": "Завдання не знайдено",
"backToTasks": "Назад до завдань"
},
"chat": {
"title": "AI Асистент",
"placeholder": "Напишіть повідомлення...",
"send": "Надіслати",
"empty": "Запитайте будь-що...",
"subtitle": "Задайте будь-яке питання щодо ваших завдань",
"startConversation": "Почніть розмову",
"helpText": "Напишіть повідомлення, і AI асистент допоможе вам із завданнями",
"unavailable": "Чат асистент зараз недоступний. Спробуйте пізніше.",
"processError": "Вибачте, не вдалося обробити ваше повідомлення."
},
"settings": {
"title": "Налаштування",
"language": "Мова",
"theme": "Тема",
"dark": "Темний режим",
"light": "Світлий режим",
"notifications": "Сповіщення",
"push": "Push сповіщення",
"email": "E-mail сповіщення",
"taskReminders": "Нагадування про завдання",
"dailySummary": "Щоденний підсумок",
"save": "Зберегти налаштування",
"saved": "Збережено!",
"profile": "Профіль",
"appearance": "Зовнішній вигляд",
"user": "Користувач"
},
"goals": {
"title": "Цілі",
"add": "Нова ціль",
"progress": "Прогрес",
"plan": "Створити план",
"report": "AI Звіт"
},
"common": {
"back": "Назад",
"loading": "Завантаження...",
"error": "Помилка",
"confirm": "Підтвердити",
"menu": "Меню",
"closeMenu": "Закрити меню",
"toggleTheme": "Перемкнути тему"
},
"calendar": {
"title": "Календар"
},
"projects": {
"add": "Новий проект",
"empty": "Немає проектів",
"createFirst": "Створіть перший проект кнопкою +",
"namePlaceholder": "Назва проекту...",
"descPlaceholder": "Опис проекту...",
"color": "Колір",
"icon": "Іконка",
"tasks": "Завдання",
"members": "Учасники"
}
}