diff --git a/public/locales/ar/translation.json b/public/locales/ar/translation.json index e2eef70..806e8c3 100644 --- a/public/locales/ar/translation.json +++ b/public/locales/ar/translation.json @@ -38,7 +38,14 @@ "nextActions": "الإجراءات التالية", "inbox": "البريد الوارد", "completed": "مكتمل", - "allTasks": "جميع المهام" + "allTasks": "جميع المهام", + "addInboxAriaLabel": "إضافة عنصر إلى صندوق الوارد", + "addInboxTitle": "إضافة عنصر إلى صندوق الوارد", + "addProjectAriaLabel": "إضافة مشروع", + "addProjectTitle": "إضافة مشروع", + "addNoteAriaLabel": "إضافة ملاحظة", + "addNoteTitle": "إضافة ملاحظة", + "createNew": "إنشاء جديد" }, "navigation": { "home": "الرئيسية", @@ -128,7 +135,14 @@ "priority": "الأولوية", "dueDate": "تاريخ الاستحقاق", "none": "لا شيء" - } + }, + "justNow": "الآن", + "minutesAgo": "{{minutes}} دقيقة مضت", + "hoursAgo": "{{hours}} ساعة مضت", + "daysAgo": "{{days}} يوم مضى", + "loadingTimeline": "جارٍ تحميل الجدول الزمني...", + "timelineWillAppear": "سيظهر الجدول الزمني بعد الحفظ", + "noActivity": "لا توجد أنشطة حتى الآن" }, "profile": { "settings": "إعدادات الملف الشخصي", @@ -264,7 +278,14 @@ "aiProductivityFeatures": "ميزات الذكاء الاصطناعي والإنتاجية", "botSetup": "إعداد الروبوت", "passwordChangeNote": "سيتم حفظ تغييرات كلمة المرور عند النقر على \"حفظ التغييرات\" في أسفل النموذج.", - "passwordChangeOptional": "اترك حقول كلمة المرور فارغة لتحديث الإعدادات الأخرى دون تغيير كلمة المرور الخاصة بك." + "passwordChangeOptional": "اترك حقول كلمة المرور فارغة لتحديث الإعدادات الأخرى دون تغيير كلمة المرور الخاصة بك.", + "bulgarian": "بلغاري", + "danish": "دنماركي", + "finnish": "فنلندي", + "norwegian": "نرويجي", + "polish": "بولندي", + "slovenian": "سلوفيني", + "swedish": "السويدية" }, "productivity": { "stalledProjects": "المشاريع المتوقفة", @@ -419,7 +440,9 @@ "task": "مهمة", "project": "مشروع", "note": "ملاحظة", - "area": "منطقة" + "area": "منطقة", + "inbox": "البريد الوارد", + "tag": "علامة" }, "sort": { "due_date": "تاريخ الاستحقاق", @@ -438,7 +461,9 @@ "inProgress": "قيد التقدم", "done": "تم", "archived": "مؤرشف", - "unknown": "غير معروف" + "unknown": "غير معروف", + "telegramConnected": "تم الاتصال بتليجرام وجاري الاستطلاع", + "telegramConnectionProblem": "مشكلة في اتصال تليجرام" }, "project": { "name": "اسم المشروع", @@ -669,7 +694,13 @@ "thirdWeek": "الأسبوع الثالث", "fourthWeek": "الأسبوع الرابع", "lastWeek": "الأسبوع الأخير", - "days": "أيام" + "days": "أيام", + "loadingParentSettings": "جارٍ تحميل إعدادات تكرار المهمة الأصلية...", + "recurringTaskInstance": "مثيل المهمة المتكررة", + "inheritedSettingsMessage": "تم إنشاء هذه المهمة من مهمة متكررة. إعدادات التكرار الموضحة أدناه موروثة من المهمة الأصلية ولا يمكن تعديلها هنا.", + "cancelEdit": "إلغاء التعديل", + "editParentRecurrence": "تعديل تكرار المهمة الأصلية", + "parentEditWarning": "⚠️ أنت تقوم بتعديل إعدادات تكرار المهمة الأصلية. ستؤثر التغييرات على جميع النسخ المستقبلية من هذه المهمة المتكررة." }, "weekdays": { "sunday": "الأحد", @@ -729,5 +760,111 @@ "low": "منخفض", "time": "الوقت", "allDay": "طوال اليوم" + }, + "pages": { + "notFound": { + "title": "404 - الصفحة غير موجودة", + "message": "الصفحة التي تبحث عنها غير موجودة." + } + }, + "navbar": { + "appName": "تودودي", + "quickInboxCapture": "التقاط سريع للبريد الوارد", + "userMenu": "قائمة المستخدم", + "collapseSidebar": "طي الشريط الجانبي", + "expandSidebar": "توسيع الشريط الجانبي" + }, + "upload": { + "uploading": "جارٍ التحميل..." + }, + "searchPlaceholders": { + "searchProjects": "البحث عن المشاريع...", + "searchTags": "ابحث عن العلامات...", + "searchTasks": "ابحث عن المهام..." + }, + "ariaLabels": { + "hideInfo": "إخفاء المعلومات", + "aboutTasks": "حول المهام", + "hideSearch": "إخفاء البحث", + "searchTasks": "ابحث عن المهام", + "aboutInbox": "حول صندوق الوارد", + "collapseInfoPanel": "طي لوحة المعلومات", + "showTasksInformation": "عرض معلومات المهام", + "collapseSearchPanel": "طي لوحة البحث", + "showSearchInput": "عرض حقل البحث", + "showInboxInformation": "عرض معلومات صندوق الوارد" + }, + "api": { + "errors": { + "authenticationRequired": "المصادقة مطلوبة", + "userNotFound": "لم يتم العثور على المستخدم", + "authenticationError": "خطأ في المصادقة", + "internalServerError": "خطأ في الخادم الداخلي", + "invalidLoginParameters": "معلمات تسجيل الدخول غير صالحة.", + "invalidCredentials": "بيانات الاعتماد غير صالحة", + "couldNotLogout": "لم يتمكن من تسجيل الخروج", + "loggedOutSuccessfully": "تم تسجيل الخروج بنجاح", + "contentRequired": "المحتوى مطلوب", + "inboxItemNotFound": "لم يتم العثور على عنصر البريد الوارد.", + "inboxItemDeleted": "تم حذف عنصر البريد الوارد بنجاح", + "contentRequiredString": "المحتوى مطلوب ويجب أن يكون نصًا", + "problemCreatingInboxItem": "كانت هناك مشكلة في إنشاء عنصر البريد الوارد.", + "problemUpdatingInboxItem": "كانت هناك مشكلة في تحديث عنصر البريد الوارد.", + "problemDeletingInboxItem": "كانت هناك مشكلة في حذف عنصر البريد الوارد.", + "problemProcessingInboxItem": "كانت هناك مشكلة في معالجة عنصر البريد الوارد.", + "invalidOrderColumn": "تم تحديد عمود ترتيب غير صالح.", + "taskNotFound": "لم يتم العثور على المهمة.", + "taskNameRequired": "اسم المهمة مطلوب.", + "invalidProject": "مشروع غير صالح.", + "unableToUpdateTask": "غير قادر على تحديث المهمة", + "taskDeleted": "تم حذف المهمة بنجاح", + "failedToGenerateRecurringTasks": "فشل في إنشاء مهام متكررة", + "failedToUpdateTodayFlag": "فشل في تحديث علامة اليوم للمهمة", + "noImageProvided": "لم يتم تقديم ملف صورة", + "failedToUploadImage": "فشل في رفع الصورة", + "projectNotFound": "لم يتم العثور على المشروع", + "projectNameRequired": "اسم المشروع مطلوب", + "projectDeleted": "تم حذف المشروع بنجاح", + "noteNotFound": "لم يتم العثور على الملاحظة.", + "noteDeleted": "تم حذف الملاحظة بنجاح.", + "profileNotFound": "لم يتم العثور على الملف الشخصي.", + "passwordTooShort": "يجب أن تكون كلمة المرور مكونة من 6 أحرف على الأقل", + "currentPasswordIncorrect": "كلمة المرور الحالية غير صحيحة", + "failedToUpdateProfile": "فشل في تحديث الملف الشخصي.", + "passwordChangeRequired": "كلمة المرور الحالية وكلمة المرور الجديدة مطلوبة", + "passwordChangedSuccessfully": "تم تغيير كلمة المرور بنجاح", + "failedToUpdateTaskSummary": "فشل في تحديث إعدادات ملخص المهمة.", + "frequencyRequired": "التردد مطلوب.", + "invalidFrequency": "قيمة التردد غير صالحة.", + "failedToStartTelegramPolling": "فشل في بدء استعلام Telegram.", + "failedToStopTelegramPolling": "فشل في إيقاف استعلام Telegram.", + "invalidTelegramTokenFormat": "تنسيق رمز بوت Telegram غير صالح.", + "invalidBotToken": "رمز البوت غير صالح أو البوت غير متاح.", + "chatIdRequired": "معرف الدردشة مطلوب.", + "areaNotFound": "لم يتم العثور على المنطقة أو لا تنتمي إلى المستخدم الحالي.", + "areaNameRequired": "اسم المنطقة مطلوب.", + "tagNotFound": "لم يتم العثور على الوسم", + "tagNameRequired": "اسم العلامة مطلوب", + "tagDeleted": "تم حذف العلامة بنجاح", + "demoModeGoogleCalendar": "وضع العرض: تم محاكاة تكامل تقويم جوجل", + "failedToGenerateAuthUrl": "فشل في إنشاء رابط التفويض", + "authCodeNotProvided": "لم يتم توفير رمز التفويض", + "failedToCheckCalendarStatus": "فشل في التحقق من حالة التقويم", + "failedToFetchCalendarEvents": "فشل في جلب أحداث التقويم", + "googleCalendarDisconnected": "تم فصل تقويم جوجل", + "failedToDisconnectCalendar": "فشل في فصل التقويم", + "urlParameterRequired": "معامل URL مطلوب", + "couldNotExtractMetadata": "لم يتمكن من استخراج البيانات الوصفية", + "textParameterRequired": "معامل النص مطلوب", + "notFound": "غير موجود", + "resourceNotFound": "لم يتم العثور على المورد المطلوب." + } + }, + "telegram": { + "welcomeMessage": "🎉 مرحبًا بك في tududi!\n\nروبوت إدارة المهام الشخصية الخاص بك متصل الآن وجاهز للمساعدة!\n\n📝 فقط أرسل لي أي رسالة وسأضيفها إلى صندوق الوارد الخاص بك في tududi كعنصر.\n\n✨ الأوامر:\n• /help - عرض معلومات المساعدة\n• /start - عرض رسالة الترحيب\n• فقط اكتب أي نص - أضفه كعنصر في صندوق الوارد\n\nلنبدأ بالتنظيم! 🚀", + "helpMessage": "📋 مساعدة بوت tududi\n\nأرسل لي أي رسالة نصية وسأضيفها إلى صندوق الوارد الخاص بك في tududi كعنصر في صندوق الوارد.\n\nالأوامر:\n/start - رسالة الترحيب\n/help - عرض رسالة المساعدة هذه\n\nفقط اكتب العنصر الخاص بك وسأعتني بالباقي!", + "commandProcessed": "تم معالجة الأمر بنجاح", + "messageProcessed": "تم معالجة الرسالة بنجاح", + "failedToAddToInbox": "❌ فشل في الإضافة إلى صندوق الوارد: {{error}}" } } diff --git a/public/locales/bg/translation.json b/public/locales/bg/translation.json index 6aa8348..e7fcf05 100644 --- a/public/locales/bg/translation.json +++ b/public/locales/bg/translation.json @@ -38,7 +38,14 @@ "nextActions": "Следващи Действия", "inbox": "Входящи", "completed": "Завършени", - "allTasks": "Всички Задачи" + "allTasks": "Всички Задачи", + "addInboxAriaLabel": "Добави елемент в пощенската кутия", + "addInboxTitle": "Добави елемент в пощенската кутия", + "addProjectAriaLabel": "Добави проект", + "addProjectTitle": "Добави проект", + "addNoteAriaLabel": "Добави бележка", + "addNoteTitle": "Добави бележка", + "createNew": "Създай ново" }, "navigation": { "home": "Начало", @@ -128,7 +135,14 @@ "priority": "Приоритет", "dueDate": "Срок", "none": "Няма" - } + }, + "justNow": "Току-що", + "minutesAgo": "{{minutes}}м. назад", + "hoursAgo": "{{hours}}ч. назад", + "daysAgo": "{{days}}д. назад", + "loadingTimeline": "Зареждане на времевата линия...", + "timelineWillAppear": "Времевата линия ще се появи след запазване", + "noActivity": "Все още няма активност" }, "profile": { "settings": "Настройки на профила", @@ -264,7 +278,14 @@ "aiProductivityFeatures": "AI и функции за производителност", "botSetup": "Настройка на бота", "passwordChangeNote": "Промените на паролата ще бъдат запазени, когато кликнете \"Запази промените\" в долната част на формуляра.", - "passwordChangeOptional": "Оставете полетата за парола празни, за да актуализирате други настройки, без да променяте паролата си." + "passwordChangeOptional": "Оставете полетата за парола празни, за да актуализирате други настройки, без да променяте паролата си.", + "bulgarian": "Български", + "danish": "Датски", + "finnish": "Фински", + "norwegian": "Норвежки", + "polish": "Полски", + "slovenian": "Словенски", + "swedish": "Шведски" }, "productivity": { "stalledProjects": "Забавени проекти", @@ -419,7 +440,9 @@ "task": "Задача", "project": "Проект", "note": "Бележка", - "area": "Област" + "area": "Област", + "inbox": "Входяща поща", + "tag": "Етикет" }, "sort": { "due_date": "Краен срок", @@ -438,7 +461,9 @@ "inProgress": "В процес на изпълнение", "done": "Завършено", "archived": "Архивирано", - "unknown": "Неизвестно" + "unknown": "Неизвестно", + "telegramConnected": "Telegram свързан и проверява", + "telegramConnectionProblem": "Проблем с връзката на Telegram" }, "project": { "name": "Име на проекта", @@ -669,7 +694,13 @@ "thirdWeek": "Трета седмица", "fourthWeek": "Четвърта седмица", "lastWeek": "Последна седмица", - "days": "дни" + "days": "дни", + "loadingParentSettings": "Зареждане на настройки за повторяемост на родителската задача...", + "recurringTaskInstance": "Повторяема задача", + "inheritedSettingsMessage": "Тази задача е генерирана от повторяема задача. Настройките за повторяемост, показани по-долу, са наследени от оригиналната задача и не могат да бъдат редактирани тук.", + "cancelEdit": "Отмяна на редакцията", + "editParentRecurrence": "Редактиране на повторяемостта на родителската задача", + "parentEditWarning": "⚠️ Редактирате настройките за повторяемост на родителската задача. Промените ще засегнат всички бъдещи инстанции на тази повторяема задача." }, "weekdays": { "sunday": "Неделя", @@ -729,5 +760,111 @@ "low": "Ниско", "time": "Време", "allDay": "Цял ден" + }, + "pages": { + "notFound": { + "title": "404 - Страницата не е намерена", + "message": "Страницата, която търсите, не съществува." + } + }, + "navbar": { + "appName": "tududi", + "quickInboxCapture": "Бързо улавяне на входяща поща", + "userMenu": "Меню на потребителя", + "collapseSidebar": "Сгъване на страничната лента", + "expandSidebar": "Разширяване на страничната лента" + }, + "upload": { + "uploading": "Качване..." + }, + "searchPlaceholders": { + "searchProjects": "Търсене на проекти...", + "searchTags": "Търсене на тагове...", + "searchTasks": "Търсене на задачи..." + }, + "ariaLabels": { + "hideInfo": "Скрий информация", + "aboutTasks": "За задачите", + "hideSearch": "Скрий търсенето", + "searchTasks": "Търсене на задачи", + "aboutInbox": "За входящата поща", + "collapseInfoPanel": "Сгъни панела с информация", + "showTasksInformation": "Покажи информация за задачите", + "collapseSearchPanel": "Сгъни панела за търсене", + "showSearchInput": "Покажи входа за търсене", + "showInboxInformation": "Покажи информация за входящата поща" + }, + "api": { + "errors": { + "authenticationRequired": "Изисква се удостоверяване", + "userNotFound": "Потребителят не е намерен", + "authenticationError": "Грешка при удостоверяване", + "internalServerError": "Вътрешна грешка на сървъра", + "invalidLoginParameters": "Невалидни параметри за вход.", + "invalidCredentials": "Невалидни данни за вход", + "couldNotLogout": "Не можа да се излезе", + "loggedOutSuccessfully": "Излезе успешно", + "contentRequired": "Съдържанието е задължително", + "inboxItemNotFound": "Артикулът в пощенската кутия не е намерен.", + "inboxItemDeleted": "Артикулът в пощенската кутия е успешно изтрит", + "contentRequiredString": "Съдържанието е задължително и трябва да бъде низ", + "problemCreatingInboxItem": "Имаше проблем при създаването на артикула в пощенската кутия.", + "problemUpdatingInboxItem": "Имаше проблем при актуализирането на артикула в пощенската кутия.", + "problemDeletingInboxItem": "Имаше проблем при изтриването на артикула в пощенската кутия.", + "problemProcessingInboxItem": "Имаше проблем при обработката на артикула в пощенската кутия.", + "invalidOrderColumn": "Посочена е невалидна колона за подреждане.", + "taskNotFound": "Задачата не е намерена.", + "taskNameRequired": "Името на задачата е задължително.", + "invalidProject": "Невалиден проект.", + "unableToUpdateTask": "Не може да се актуализира задачата", + "taskDeleted": "Задачата е успешно изтрита", + "failedToGenerateRecurringTasks": "Неуспешно генериране на повтарящи се задачи", + "failedToUpdateTodayFlag": "Неуспешно актуализиране на флага за днешния ден", + "noImageProvided": "Не е предоставен файл с изображение", + "failedToUploadImage": "Неуспешно качване на изображение", + "projectNotFound": "Проектът не е намерен", + "projectNameRequired": "Името на проекта е задължително", + "projectDeleted": "Проектът беше успешно изтрит", + "noteNotFound": "Бележката не е намерена.", + "noteDeleted": "Бележката беше успешно изтрита.", + "profileNotFound": "Профилът не е намерен.", + "passwordTooShort": "Паролата трябва да е поне 6 символа", + "currentPasswordIncorrect": "Текущата парола е неправилна", + "failedToUpdateProfile": "Неуспешно обновяване на профила.", + "passwordChangeRequired": "Текущата парола и новата парола са задължителни", + "passwordChangedSuccessfully": "Паролата беше успешно променена", + "failedToUpdateTaskSummary": "Неуспешно обновяване на настройките за обобщение на задачите.", + "frequencyRequired": "Честотата е задължителна.", + "invalidFrequency": "Невалидна стойност на честотата.", + "failedToStartTelegramPolling": "Неуспешно стартиране на Telegram polling.", + "failedToStopTelegramPolling": "Неуспешно спиране на Telegram polling.", + "invalidTelegramTokenFormat": "Невалиден формат на Telegram бот токен.", + "invalidBotToken": "Невалиден бот токен или ботът не е достъпен.", + "chatIdRequired": "Chat ID е задължителен.", + "areaNotFound": "Областта не е намерена или не принадлежи на текущия потребител.", + "areaNameRequired": "Името на областта е задължително.", + "tagNotFound": "Етикетът не е намерен", + "tagNameRequired": "Името на етикета е задължително", + "tagDeleted": "Етикетът беше успешно изтрит", + "demoModeGoogleCalendar": "Демонстрационен режим: Интеграцията с Google Календар е симулирана", + "failedToGenerateAuthUrl": "Неуспешно генериране на URL за авторизация", + "authCodeNotProvided": "Кодът за авторизация не е предоставен", + "failedToCheckCalendarStatus": "Неуспешно проверяване на статуса на календара", + "failedToFetchCalendarEvents": "Неуспешно извличане на събития от календара", + "googleCalendarDisconnected": "Google Календарът е прекъснат", + "failedToDisconnectCalendar": "Неуспешно прекъсване на календара", + "urlParameterRequired": "Параметърът на URL е задължителен", + "couldNotExtractMetadata": "Не можа да се извлече метаданни", + "textParameterRequired": "Текстовият параметър е задължителен", + "notFound": "Не е намерен", + "resourceNotFound": "Заявеният ресурс не можа да бъде намерен." + } + }, + "telegram": { + "welcomeMessage": "🎉 Добре дошли в tududi!\n\nВашият личен бот за управление на задачи вече е свързан и готов да помогне!\n\n📝 Просто ми изпратете съобщение и ще го добавя в пощенската ви кутия на tududi като елемент.\n\n✨ Команди:\n• /help - Показване на информация за помощ\n• /start - Показване на приветствено съобщение\n• Просто напишете произволен текст - Добавете го като елемент в пощенската кутия\n\nНека се организираме! 🚀", + "helpMessage": "📋 Помощ за tududi Bot\n\nИзпратете ми произволно текстово съобщение и ще го добавя в пощенската ви кутия на tududi като елемент.\n\nКоманди:\n/start - Приветствено съобщение\n/help - Показване на това съобщение за помощ\n\nПросто напишете вашия елемент и аз ще се погрижа за останалото!", + "commandProcessed": "Командата беше обработена успешно", + "messageProcessed": "Съобщението беше обработено успешно", + "failedToAddToInbox": "❌ Неуспешно добавяне в пощенската кутия: {{error}}" } } diff --git a/public/locales/da/translation.json b/public/locales/da/translation.json index 3086483..5db4e03 100644 --- a/public/locales/da/translation.json +++ b/public/locales/da/translation.json @@ -38,7 +38,14 @@ "nextActions": "Næste handlinger", "inbox": "Indbakke", "completed": "Fuldført", - "allTasks": "Alle opgaver" + "allTasks": "Alle opgaver", + "addInboxAriaLabel": "Tilføj indbakkeelement", + "addInboxTitle": "Tilføj indbakkeelement", + "addProjectAriaLabel": "Tilføj projekt", + "addProjectTitle": "Tilføj projekt", + "addNoteAriaLabel": "Tilføj note", + "addNoteTitle": "Tilføj note", + "createNew": "Opret ny" }, "navigation": { "home": "Hjem", @@ -128,7 +135,14 @@ "priority": "Prioritet", "dueDate": "Forfaldsdato", "none": "Ingen" - } + }, + "justNow": "Lige nu", + "minutesAgo": "{{minutes}}m siden", + "hoursAgo": "{{hours}}t siden", + "daysAgo": "{{days}}d siden", + "loadingTimeline": "Indlæser tidslinje...", + "timelineWillAppear": "Tidslinjen vises efter gemning", + "noActivity": "Ingen aktivitet endnu" }, "profile": { "settings": "Profilindstillinger", @@ -426,7 +440,9 @@ "task": "Opgave", "project": "Projekt", "note": "Note", - "area": "Område" + "area": "Område", + "inbox": "Indbakke", + "tag": "Tag" }, "sort": { "due_date": "Forfaldsdato", @@ -445,7 +461,9 @@ "inProgress": "I Gang", "done": "Færdig", "archived": "Arkiveret", - "unknown": "Ukendt" + "unknown": "Ukendt", + "telegramConnected": "Telegram tilsluttet og polling", + "telegramConnectionProblem": "Telegram forbindelsesproblem" }, "project": { "name": "Projekt Navn", @@ -676,7 +694,13 @@ "thirdWeek": "Tredje uge", "fourthWeek": "Fjerde uge", "lastWeek": "Sidste uge", - "days": "dage" + "days": "dage", + "loadingParentSettings": "Indlæser indstillinger for tilbagevendende opgave...", + "recurringTaskInstance": "Tilbagevendende opgaveinstans", + "inheritedSettingsMessage": "Denne opgave blev genereret fra en tilbagevendende opgave. De tilbagevendende indstillinger, der vises nedenfor, er arvet fra den oprindelige opgave og kan ikke redigeres her.", + "cancelEdit": "Annuller redigering", + "editParentRecurrence": "Rediger forælderens tilbagevendende indstillinger", + "parentEditWarning": "⚠️ Du redigerer forælderopgavens tilbagevendende indstillinger. Ændringer vil påvirke alle fremtidige tilfælde af denne tilbagevendende opgave." }, "weekdays": { "sunday": "Søndag", @@ -736,5 +760,111 @@ "low": "Lav", "time": "Tid", "allDay": "Hele dagen" + }, + "pages": { + "notFound": { + "title": "404 - Side ikke fundet", + "message": "Den side, du leder efter, findes ikke." + } + }, + "navbar": { + "appName": "tududi", + "quickInboxCapture": "Hurtig indbakkeoptagelse", + "userMenu": "Bruger-menu", + "collapseSidebar": "Skjul sidepanel", + "expandSidebar": "Udvid sidepanel" + }, + "upload": { + "uploading": "Uploader..." + }, + "searchPlaceholders": { + "searchProjects": "Søg projekter...", + "searchTags": "Søg tags...", + "searchTasks": "Søg opgaver..." + }, + "ariaLabels": { + "hideInfo": "Skjul info", + "aboutTasks": "Om opgaver", + "hideSearch": "Skjul søgning", + "searchTasks": "Søg opgaver", + "aboutInbox": "Om indbakke", + "collapseInfoPanel": "Skjul infopanel", + "showTasksInformation": "Vis opgaveinformation", + "collapseSearchPanel": "Skjul søgepanel", + "showSearchInput": "Vis søgefelt", + "showInboxInformation": "Vis indbakkeinformation" + }, + "api": { + "errors": { + "authenticationRequired": "Godkendelse kræves", + "userNotFound": "Bruger ikke fundet", + "authenticationError": "Godkendelsesfejl", + "internalServerError": "Intern serverfejl", + "invalidLoginParameters": "Ugyldige loginparametre.", + "invalidCredentials": "Ugyldige legitimationsoplysninger", + "couldNotLogout": "Kunne ikke logge ud", + "loggedOutSuccessfully": "Logget ud med succes", + "contentRequired": "Indhold er påkrævet", + "inboxItemNotFound": "Indbakkeelement ikke fundet.", + "inboxItemDeleted": "Indbakkeelement slettet med succes", + "contentRequiredString": "Indhold er påkrævet og skal være en streng", + "problemCreatingInboxItem": "Der opstod et problem med at oprette indbakkeelementet.", + "problemUpdatingInboxItem": "Der opstod et problem med at opdatere indbakkeelementet.", + "problemDeletingInboxItem": "Der opstod et problem med at slette indbakkeelementet.", + "problemProcessingInboxItem": "Der opstod et problem med at behandle indbakkeelementet.", + "invalidOrderColumn": "Ugyldig rækkefølge kolonne angivet.", + "taskNotFound": "Opgave ikke fundet.", + "taskNameRequired": "Opgavenavn er påkrævet.", + "invalidProject": "Ugyldigt projekt.", + "unableToUpdateTask": "Kan ikke opdatere opgave", + "taskDeleted": "Opgave slettet med succes", + "failedToGenerateRecurringTasks": "Mislykkedes med at generere tilbagevendende opgaver", + "failedToUpdateTodayFlag": "Mislykkedes med at opdatere opgave i dag flag", + "noImageProvided": "Ingen billedfil angivet", + "failedToUploadImage": "Mislykkedes med at uploade billede", + "projectNotFound": "Projekt ikke fundet", + "projectNameRequired": "Projektnavn er påkrævet", + "projectDeleted": "Projekt slettet med succes", + "noteNotFound": "Note ikke fundet.", + "noteDeleted": "Note slettet med succes.", + "profileNotFound": "Profil ikke fundet.", + "passwordTooShort": "Adgangskode skal være mindst 6 tegn", + "currentPasswordIncorrect": "Nuværende adgangskode er forkert", + "failedToUpdateProfile": "Mislykkedes med at opdatere profil.", + "passwordChangeRequired": "Nuværende adgangskode og ny adgangskode er påkrævet", + "passwordChangedSuccessfully": "Adgangskode ændret med succes", + "failedToUpdateTaskSummary": "Mislykkedes med at opdatere opgaveoversigt indstillinger.", + "frequencyRequired": "Frekvens er påkrævet.", + "invalidFrequency": "Ugyldigt frekvensværdi.", + "failedToStartTelegramPolling": "Mislykkedes med at starte Telegram polling.", + "failedToStopTelegramPolling": "Mislykkedes med at stoppe Telegram polling.", + "invalidTelegramTokenFormat": "Ugyldigt format for Telegram bot-token.", + "invalidBotToken": "Ugyldigt bot-token eller bot ikke tilgængelig.", + "chatIdRequired": "Chat ID er påkrævet.", + "areaNotFound": "Område ikke fundet eller tilhører ikke den nuværende bruger.", + "areaNameRequired": "Område navn er påkrævet.", + "tagNotFound": "Tag ikke fundet", + "tagNameRequired": "Tag navn er påkrævet", + "tagDeleted": "Tag slettet med succes", + "demoModeGoogleCalendar": "Demotilstand: Google Kalender integration simuleret", + "failedToGenerateAuthUrl": "Mislykkedes med at generere autorisations-URL", + "authCodeNotProvided": "Autoriseringskode ikke angivet", + "failedToCheckCalendarStatus": "Mislykkedes med at tjekke kalenderstatus", + "failedToFetchCalendarEvents": "Mislykkedes med at hente kalenderbegivenheder", + "googleCalendarDisconnected": "Google Kalender afbrudt", + "failedToDisconnectCalendar": "Kunne ikke afbryde kalender", + "urlParameterRequired": "URL-parameter er påkrævet", + "couldNotExtractMetadata": "Kunne ikke udtrække metadata", + "textParameterRequired": "Tekstparameter er påkrævet", + "notFound": "Ikke fundet", + "resourceNotFound": "Den anmodede ressource kunne ikke findes." + } + }, + "telegram": { + "welcomeMessage": "🎉 Velkommen til tududi!\n\nDin personlige opgavestyringsbot er nu tilsluttet og klar til at hjælpe!\n\n📝 Send mig blot en hvilken som helst besked, og jeg tilføjer den til din tududi indbakke som et punkt.\n\n✨ Kommandoer:\n• /help - Vis hjælpeinformation\n• /start - Vis velkomstbesked\n• Skriv blot en hvilken som helst tekst - Tilføj den som et indbakkeelement\n\nLad os blive organiseret! 🚀", + "helpMessage": "📋 tududi Bot Hjælp\n\nSend mig enhver tekstbesked, og jeg tilføjer den til din tududi indbakke som et indbakkeelement.\n\nKommandoer:\n/start - Velkomstbesked\n/help - Vis denne hjælpebesked\n\nSkriv blot dit punkt, så tager jeg mig af resten!", + "commandProcessed": "Kommando behandlet med succes", + "messageProcessed": "Besked behandlet med succes", + "failedToAddToInbox": "❌ Kunne ikke tilføje til indbakke: {{error}}" } } diff --git a/public/locales/de/translation.json b/public/locales/de/translation.json index a47dd5e..6bbe3fb 100644 --- a/public/locales/de/translation.json +++ b/public/locales/de/translation.json @@ -38,7 +38,14 @@ "addAreaAriaLabel": "Bereich hinzufügen", "addAreaTitle": "Bereich hinzufügen", "addTagAriaLabel": "Tag hinzufügen", - "addTagTitle": "Tag hinzufügen" + "addTagTitle": "Tag hinzufügen", + "addInboxAriaLabel": "Inbox-Element hinzufügen", + "addInboxTitle": "Inbox-Element hinzufügen", + "addProjectAriaLabel": "Projekt hinzufügen", + "addProjectTitle": "Projekt hinzufügen", + "addNoteAriaLabel": "Notiz hinzufügen", + "addNoteTitle": "Notiz hinzufügen", + "createNew": "Neu erstellen" }, "navigation": { "home": "Startseite", @@ -128,7 +135,14 @@ "priority": "Priorität", "dueDate": "Fälligkeitsdatum", "none": "Keine" - } + }, + "justNow": "Gerade eben", + "minutesAgo": "{{minutes}}m her", + "hoursAgo": "{{hours}}h her", + "daysAgo": "{{days}}d her", + "loadingTimeline": "Zeitachse wird geladen...", + "timelineWillAppear": "Die Zeitachse wird nach dem Speichern angezeigt", + "noActivity": "Noch keine Aktivität" }, "forms": { "title": "Titel", @@ -295,7 +309,13 @@ "thirdWeek": "Dritte Woche", "fourthWeek": "Vierte Woche", "lastWeek": "Letzte Woche", - "days": "Tage" + "days": "Tage", + "loadingParentSettings": "Lade Einstellungen zur Wiederholung der übergeordneten Aufgabe...", + "recurringTaskInstance": "Wiederkehrende Aufgabeninstanz", + "inheritedSettingsMessage": "Diese Aufgabe wurde aus einer wiederkehrenden Aufgabe generiert. Die unten angezeigten Wiederholungseinstellungen stammen von der ursprünglichen Aufgabe und können hier nicht bearbeitet werden.", + "cancelEdit": "Bearbeitung abbrechen", + "editParentRecurrence": "Elternwiederholung bearbeiten", + "parentEditWarning": "⚠️ Sie bearbeiten die Wiederholungseinstellungen der übergeordneten Aufgabe. Änderungen wirken sich auf alle zukünftigen Instanzen dieser wiederkehrenden Aufgabe aus." }, "weekdays": { "sunday": "Sonntag", @@ -629,7 +649,9 @@ "task": "Aufgabe", "project": "Projekt", "note": "Notiz", - "area": "Bereich" + "area": "Bereich", + "inbox": "Posteingang", + "tag": "Tag" }, "sort": { "due_date": "Fälligkeitsdatum", @@ -648,7 +670,9 @@ "inProgress": "In Bearbeitung", "done": "Erledigt", "archived": "Archiviert", - "unknown": "Unbekannt" + "unknown": "Unbekannt", + "telegramConnected": "Telegram verbunden und abfragt", + "telegramConnectionProblem": "Telegram-Verbindungsproblem" }, "dateIndicators": { "today": "HEUTE", @@ -745,5 +769,111 @@ "complete": "Pomodoro abgeschlossen!", "completeMessage": "Gute Arbeit! Zeit für eine Pause.", "done": "Fertig" + }, + "pages": { + "notFound": { + "title": "404 - Seite nicht gefunden", + "message": "Die von Ihnen gesuchte Seite existiert nicht." + } + }, + "navbar": { + "appName": "tududi", + "quickInboxCapture": "Schnelle Inbox-Erfassung", + "userMenu": "Benutzermenü", + "collapseSidebar": "Seitenleiste einklappen", + "expandSidebar": "Seitenleiste erweitern" + }, + "upload": { + "uploading": "Hochladen..." + }, + "searchPlaceholders": { + "searchProjects": "Projekte suchen...", + "searchTags": "Tags suchen...", + "searchTasks": "Aufgaben suchen..." + }, + "ariaLabels": { + "hideInfo": "Info ausblenden", + "aboutTasks": "Über Aufgaben", + "hideSearch": "Suche ausblenden", + "searchTasks": "Aufgaben suchen", + "aboutInbox": "Über Inbox", + "collapseInfoPanel": "Info-Panel einklappen", + "showTasksInformation": "Aufgabeninformationen anzeigen", + "collapseSearchPanel": "Suchpanel einklappen", + "showSearchInput": "Suchfeld anzeigen", + "showInboxInformation": "Posteingangsinformationen anzeigen" + }, + "api": { + "errors": { + "authenticationRequired": "Authentifizierung erforderlich", + "userNotFound": "Benutzer nicht gefunden", + "authenticationError": "Authentifizierungsfehler", + "internalServerError": "Interner Serverfehler", + "invalidLoginParameters": "Ungültige Anmeldeparameter.", + "invalidCredentials": "Ungültige Anmeldeinformationen", + "couldNotLogout": "Abmeldung konnte nicht durchgeführt werden", + "loggedOutSuccessfully": "Erfolgreich abgemeldet", + "contentRequired": "Inhalt ist erforderlich", + "inboxItemNotFound": "Posteingangsartikel nicht gefunden.", + "inboxItemDeleted": "Posteingangsartikel erfolgreich gelöscht", + "contentRequiredString": "Inhalt ist erforderlich und muss eine Zeichenfolge sein", + "problemCreatingInboxItem": "Es gab ein Problem beim Erstellen des Posteingangsartikels.", + "problemUpdatingInboxItem": "Es gab ein Problem beim Aktualisieren des Posteingangsartikels.", + "problemDeletingInboxItem": "Es gab ein Problem beim Löschen des Posteingangsartikels.", + "problemProcessingInboxItem": "Es gab ein Problem bei der Verarbeitung des Posteingangsartikels.", + "invalidOrderColumn": "Ungültige Bestellspalte angegeben.", + "taskNotFound": "Aufgabe nicht gefunden.", + "taskNameRequired": "Aufgabenname ist erforderlich.", + "invalidProject": "Ungültiges Projekt.", + "unableToUpdateTask": "Aufgabe kann nicht aktualisiert werden.", + "taskDeleted": "Aufgabe erfolgreich gelöscht.", + "failedToGenerateRecurringTasks": "Fehler beim Erzeugen wiederkehrender Aufgaben.", + "failedToUpdateTodayFlag": "Fehler beim Aktualisieren des Heute-Flags der Aufgabe.", + "noImageProvided": "Es wurde keine Bilddatei bereitgestellt.", + "failedToUploadImage": "Fehler beim Hochladen des Bildes.", + "projectNotFound": "Projekt nicht gefunden.", + "projectNameRequired": "Projektname ist erforderlich.", + "projectDeleted": "Projekt erfolgreich gelöscht.", + "noteNotFound": "Notiz nicht gefunden.", + "noteDeleted": "Notiz erfolgreich gelöscht.", + "profileNotFound": "Profil nicht gefunden.", + "passwordTooShort": "Das Passwort muss mindestens 6 Zeichen lang sein.", + "currentPasswordIncorrect": "Das aktuelle Passwort ist falsch.", + "failedToUpdateProfile": "Fehler beim Aktualisieren des Profils.", + "passwordChangeRequired": "Aktuelles Passwort und neues Passwort sind erforderlich", + "passwordChangedSuccessfully": "Passwort erfolgreich geändert", + "failedToUpdateTaskSummary": "Fehler beim Aktualisieren der Aufgabenübersichtseinstellungen.", + "frequencyRequired": "Frequenz ist erforderlich.", + "invalidFrequency": "Ungültiger Frequenzwert.", + "failedToStartTelegramPolling": "Fehler beim Starten der Telegram-Abfrage.", + "failedToStopTelegramPolling": "Fehler beim Stoppen der Telegram-Abfrage.", + "invalidTelegramTokenFormat": "Ungültiges Format des Telegram-Bot-Tokens.", + "invalidBotToken": "Ungültiges Bot-Token oder Bot nicht erreichbar.", + "chatIdRequired": "Chat-ID ist erforderlich.", + "areaNotFound": "Bereich nicht gefunden oder gehört nicht zum aktuellen Benutzer.", + "areaNameRequired": "Bereichsname ist erforderlich.", + "tagNotFound": "Tag nicht gefunden", + "tagNameRequired": "Tag-Name ist erforderlich", + "tagDeleted": "Tag erfolgreich gelöscht", + "demoModeGoogleCalendar": "Demomodus: Google Kalender-Integration simuliert", + "failedToGenerateAuthUrl": "Fehler beim Generieren der Autorisierungs-URL", + "authCodeNotProvided": "Autorisierungscode nicht bereitgestellt", + "failedToCheckCalendarStatus": "Fehler beim Überprüfen des Kalenderstatus", + "failedToFetchCalendarEvents": "Fehler beim Abrufen der Kalenderereignisse", + "googleCalendarDisconnected": "Google Kalender getrennt", + "failedToDisconnectCalendar": "Trennen des Kalenders fehlgeschlagen", + "urlParameterRequired": "URL-Parameter ist erforderlich", + "couldNotExtractMetadata": "Metadaten konnten nicht extrahiert werden", + "textParameterRequired": "Textparameter ist erforderlich", + "notFound": "Nicht gefunden", + "resourceNotFound": "Die angeforderte Ressource konnte nicht gefunden werden." + } + }, + "telegram": { + "welcomeMessage": "🎉 Willkommen bei tududi!\n\nIhr persönlicher Aufgabenmanagement-Bot ist jetzt verbunden und bereit zu helfen!\n\n📝 Senden Sie mir einfach eine Nachricht und ich füge sie als Element zu Ihrem tududi-Posteingang hinzu.\n\n✨ Befehle:\n• /help - Hilfeinformationen anzeigen\n• /start - Willkommensnachricht anzeigen\n• Geben Sie einfach einen beliebigen Text ein - Fügen Sie ihn als Posteingangselement hinzu\n\nLass uns organisiert werden! 🚀", + "helpMessage": "📋 tududi Bot Hilfe\n\nSenden Sie mir eine beliebige Textnachricht und ich füge sie als Element zu Ihrem tududi-Posteingang hinzu.\n\nBefehle:\n/start - Willkommensnachricht\n/help - Diese Hilfenachricht anzeigen\n\nGeben Sie einfach Ihr Element ein und ich kümmere mich um den Rest!", + "commandProcessed": "Befehl erfolgreich verarbeitet", + "messageProcessed": "Nachricht erfolgreich verarbeitet", + "failedToAddToInbox": "❌ Hinzufügen zum Posteingang fehlgeschlagen: {{error}}" } } diff --git a/public/locales/el/translation.json b/public/locales/el/translation.json index 618dba2..0940a4b 100644 --- a/public/locales/el/translation.json +++ b/public/locales/el/translation.json @@ -38,7 +38,14 @@ "addAreaAriaLabel": "Προσθήκη Περιοχής", "addAreaTitle": "Προσθήκη Περιοχής", "addTagAriaLabel": "Προσθήκη Ετικέτας", - "addTagTitle": "Προσθήκη Ετικέτας" + "addTagTitle": "Προσθήκη Ετικέτας", + "addInboxAriaLabel": "Προσθήκη Στοιχείου Εισερχομένων", + "addInboxTitle": "Προσθήκη Στοιχείου Εισερχομένων", + "addProjectAriaLabel": "Προσθήκη Έργου", + "addProjectTitle": "Προσθήκη Έργου", + "addNoteAriaLabel": "Προσθήκη Σημείωσης", + "addNoteTitle": "Προσθήκη Σημείωσης", + "createNew": "Δημιουργία Νέου" }, "navigation": { "home": "Αρχική", @@ -272,7 +279,9 @@ "task": "Εργασία", "project": "Έργο", "note": "Σημείωση", - "area": "Περιοχή" + "area": "Περιοχή", + "inbox": "Εισερχόμενα", + "tag": "Ετικέτα" }, "tasks": { "title": "Εργασίες", @@ -321,7 +330,14 @@ "priority": "Προτεραιότητα", "dueDate": "Ημερομηνία λήξης", "none": "Καμία" - } + }, + "justNow": "Μόλις τώρα", + "minutesAgo": "{{minutes}} λεπτά πριν", + "hoursAgo": "{{hours}} ώρες πριν", + "daysAgo": "{{days}} ημέρες πριν", + "loadingTimeline": "Φόρτωση χρονοδιαγράμματος...", + "timelineWillAppear": "Το χρονοδιάγραμμα θα εμφανιστεί μετά την αποθήκευση", + "noActivity": "Δεν υπάρχει δραστηριότητα ακόμη" }, "projects": { "loading": "Φόρτωση έργων...", @@ -507,7 +523,9 @@ "inProgress": "Σε Εξέλιξη", "done": "Ολοκληρώθηκε", "archived": "Αρχειοθετημένο", - "unknown": "Άγνωστο" + "unknown": "Άγνωστο", + "telegramConnected": "Το Telegram είναι συνδεδεμένο και αναζητά", + "telegramConnectionProblem": "Πρόβλημα σύνδεσης με το Telegram" }, "task": { "labels": { @@ -672,7 +690,13 @@ "thirdWeek": "Τρίτη εβδομάδα", "fourthWeek": "Τέταρτη εβδομάδα", "lastWeek": "Τελευταία εβδομάδα", - "days": "ημέρες" + "days": "ημέρες", + "loadingParentSettings": "Φόρτωση ρυθμίσεων επανάληψης γονικής εργασίας...", + "recurringTaskInstance": "Επαναλαμβανόμενη Εργασία", + "inheritedSettingsMessage": "Αυτή η εργασία δημιουργήθηκε από μια επαναλαμβανόμενη εργασία. Οι ρυθμίσεις επαναλαμβανόμενης εργασίας που εμφανίζονται παρακάτω κληρονομούνται από την αρχική εργασία και δεν μπορούν να επεξεργαστούν εδώ.", + "cancelEdit": "Ακύρωση Επεξεργασίας", + "editParentRecurrence": "Επεξεργασία Γονικής Επαναληπτικής Εργασίας", + "parentEditWarning": "⚠️ Επεξεργάζεστε τις ρυθμίσεις επαναληπτικής εργασίας της γονικής εργασίας. Οι αλλαγές θα επηρεάσουν όλες τις μελλοντικές περιπτώσεις αυτής της επαναλαμβανόμενης εργασίας." }, "weekdays": { "monday": "Δευ", @@ -742,5 +766,111 @@ "low": "Χαμηλή", "time": "Ώρα", "allDay": "Όλη μέρα" + }, + "pages": { + "notFound": { + "title": "404 - Η Σελίδα Δεν Βρέθηκε", + "message": "Η σελίδα που ψάχνετε δεν υπάρχει." + } + }, + "navbar": { + "appName": "tududi", + "quickInboxCapture": "Γρήγορη Καταγραφή Εισερχομένων", + "userMenu": "Μενού Χρήστη", + "collapseSidebar": "Σύμπτυξη Πλαϊνής Μπάρας", + "expandSidebar": "Επέκταση Πλαϊνής Μπάρας" + }, + "upload": { + "uploading": "Ανέβασμα..." + }, + "searchPlaceholders": { + "searchProjects": "Αναζήτηση έργων...", + "searchTags": "Αναζήτηση ετικετών...", + "searchTasks": "Αναζήτηση εργασιών..." + }, + "ariaLabels": { + "hideInfo": "Απόκρυψη πληροφοριών", + "aboutTasks": "Σχετικά με τις Εργασίες", + "hideSearch": "Απόκρυψη αναζήτησης", + "searchTasks": "Αναζήτηση Εργασιών", + "aboutInbox": "Σχετικά με τα Εισερχόμενα", + "collapseInfoPanel": "Σύμπτυξη πίνακα πληροφοριών", + "showTasksInformation": "Εμφάνιση πληροφοριών εργασιών", + "collapseSearchPanel": "Σύμπτυξη πίνακα αναζήτησης", + "showSearchInput": "Εμφάνιση εισόδου αναζήτησης", + "showInboxInformation": "Εμφάνιση πληροφοριών εισερχομένων" + }, + "api": { + "errors": { + "authenticationRequired": "Απαιτείται αυθεντικοποίηση", + "userNotFound": "Ο χρήστης δεν βρέθηκε", + "authenticationError": "Σφάλμα αυθεντικοποίησης", + "internalServerError": "Εσωτερικό σφάλμα διακομιστή", + "invalidLoginParameters": "Μη έγκυρες παράμετροι σύνδεσης.", + "invalidCredentials": "Μη έγκυρα διαπιστευτήρια", + "couldNotLogout": "Δεν ήταν δυνατή η αποσύνδεση", + "loggedOutSuccessfully": "Αποσυνδέθηκε επιτυχώς", + "contentRequired": "Απαιτείται περιεχόμενο", + "inboxItemNotFound": "Το στοιχείο εισερχομένων δεν βρέθηκε.", + "inboxItemDeleted": "Το στοιχείο εισερχομένων διαγράφηκε επιτυχώς", + "contentRequiredString": "Απαιτείται περιεχόμενο και πρέπει να είναι μια συμβολοσειρά", + "problemCreatingInboxItem": "Υπήρξε πρόβλημα κατά τη δημιουργία του στοιχείου εισερχομένων.", + "problemUpdatingInboxItem": "Υπήρξε πρόβλημα κατά την ενημέρωση του στοιχείου εισερχομένων.", + "problemDeletingInboxItem": "Υπήρξε πρόβλημα κατά τη διαγραφή του στοιχείου εισερχομένων.", + "problemProcessingInboxItem": "Υπήρξε πρόβλημα κατά την επεξεργασία του στοιχείου εισερχομένων.", + "invalidOrderColumn": "Καθορίστηκε μη έγκυρη στήλη παραγγελίας.", + "taskNotFound": "Η εργασία δεν βρέθηκε.", + "taskNameRequired": "Απαιτείται όνομα εργασίας.", + "invalidProject": "Μη έγκυρο έργο.", + "unableToUpdateTask": "Αδυναμία ενημέρωσης της εργασίας.", + "taskDeleted": "Η εργασία διαγράφηκε με επιτυχία.", + "failedToGenerateRecurringTasks": "Αποτυχία δημιουργίας επαναλαμβανόμενων εργασιών.", + "failedToUpdateTodayFlag": "Αποτυχία ενημέρωσης της σημαίας σήμερα για την εργασία.", + "noImageProvided": "Δεν παρέχεται αρχείο εικόνας.", + "failedToUploadImage": "Αποτυχία μεταφόρτωσης εικόνας.", + "projectNotFound": "Το έργο δεν βρέθηκε.", + "projectNameRequired": "Απαιτείται όνομα έργου.", + "projectDeleted": "Το έργο διαγράφηκε με επιτυχία.", + "noteNotFound": "Η σημείωση δεν βρέθηκε.", + "noteDeleted": "Η σημείωση διαγράφηκε με επιτυχία.", + "profileNotFound": "Το προφίλ δεν βρέθηκε.", + "passwordTooShort": "Ο κωδικός πρόσβασης πρέπει να έχει τουλάχιστον 6 χαρακτήρες.", + "currentPasswordIncorrect": "Ο τρέχων κωδικός πρόσβασης είναι λανθασμένος.", + "failedToUpdateProfile": "Αποτυχία ενημέρωσης του προφίλ.", + "passwordChangeRequired": "Απαιτείται τρέχων κωδικός πρόσβασης και νέος κωδικός πρόσβασης", + "passwordChangedSuccessfully": "Ο κωδικός πρόσβασης άλλαξε επιτυχώς", + "failedToUpdateTaskSummary": "Αποτυχία ενημέρωσης ρυθμίσεων περιλήψεων εργασιών.", + "frequencyRequired": "Η συχνότητα είναι απαραίτητη.", + "invalidFrequency": "Μη έγκυρη τιμή συχνότητας.", + "failedToStartTelegramPolling": "Αποτυχία εκκίνησης της ανάγνωσης Telegram.", + "failedToStopTelegramPolling": "Αποτυχία διακοπής της ανάγνωσης Telegram.", + "invalidTelegramTokenFormat": "Μη έγκυρη μορφή κωδικού Telegram bot.", + "invalidBotToken": "Μη έγκυρος κωδικός bot ή bot μη προσβάσιμο.", + "chatIdRequired": "Απαιτείται το Chat ID.", + "areaNotFound": "Η περιοχή δεν βρέθηκε ή δεν ανήκει στον τρέχοντα χρήστη.", + "areaNameRequired": "Απαιτείται το όνομα περιοχής.", + "tagNotFound": "Η ετικέτα δεν βρέθηκε", + "tagNameRequired": "Απαιτείται το όνομα ετικέτας", + "tagDeleted": "Η ετικέτα διαγράφηκε επιτυχώς", + "demoModeGoogleCalendar": "Λειτουργία επίδειξης: Προσομοίωση ενσωμάτωσης Google Calendar", + "failedToGenerateAuthUrl": "Αποτυχία δημιουργίας URL εξουσιοδότησης", + "authCodeNotProvided": "Ο κωδικός εξουσιοδότησης δεν παρέχεται", + "failedToCheckCalendarStatus": "Αποτυχία ελέγχου κατάστασης ημερολογίου", + "failedToFetchCalendarEvents": "Αποτυχία ανάκτησης γεγονότων ημερολογίου", + "googleCalendarDisconnected": "Αποσυνδέθηκε το Google Calendar", + "failedToDisconnectCalendar": "Αποτυχία αποσύνδεσης του ημερολογίου", + "urlParameterRequired": "Απαιτείται παράμετρος URL", + "couldNotExtractMetadata": "Δεν ήταν δυνατή η εξαγωγή μεταδεδομένων", + "textParameterRequired": "Απαιτείται παράμετρος κειμένου", + "notFound": "Δεν βρέθηκε", + "resourceNotFound": "Ο ζητούμενος πόρος δεν μπόρεσε να βρεθεί." + } + }, + "telegram": { + "welcomeMessage": "🎉 Καλώς ήρθατε στο tududi!\n\nΟ προσωπικός σας βοηθός διαχείρισης εργασιών είναι τώρα συνδεδεμένος και έτοιμος να βοηθήσει!\n\n📝 Απλά στείλτε μου οποιοδήποτε μήνυμα και θα το προσθέσω στο εισερχόμενο σας tududi ως στοιχείο.\n\n✨ Εντολές:\n• /help - Εμφάνιση πληροφοριών βοήθειας\n• /start - Εμφάνιση μηνύματος καλωσορίσματος\n• Απλά πληκτρολογήστε οποιοδήποτε κείμενο - Προσθέστε το ως στοιχείο εισερχομένων\n\nΑς οργανωθούμε! 🚀", + "helpMessage": "📋 Βοήθεια Bot tududi\n\nΣτείλτε μου οποιοδήποτε μήνυμα κειμένου και θα το προσθέσω στο εισερχόμενο σας tududi ως στοιχείο εισερχομένων.\n\nΕντολές:\n/start - Μήνυμα καλωσορίσματος\n/help - Εμφάνιση αυτού του μηνύματος βοήθειας\n\nΑπλά πληκτρολογήστε το στοιχείο σας και θα φροντίσω για τα υπόλοιπα!", + "commandProcessed": "Η εντολή επεξεργάστηκε επιτυχώς", + "messageProcessed": "Το μήνυμα επεξεργάστηκε επιτυχώς", + "failedToAddToInbox": "❌ Αποτυχία προσθήκης στο εισερχόμενο: {{error}}" } } diff --git a/public/locales/en/translation.json b/public/locales/en/translation.json index 78c4742..6197926 100644 --- a/public/locales/en/translation.json +++ b/public/locales/en/translation.json @@ -33,6 +33,13 @@ "addAreaTitle": "Add Area", "addTagAriaLabel": "Add Tag", "addTagTitle": "Add Tag", + "addInboxAriaLabel": "Add Inbox Item", + "addInboxTitle": "Add Inbox Item", + "addProjectAriaLabel": "Add Project", + "addProjectTitle": "Add Project", + "addNoteAriaLabel": "Add Note", + "addNoteTitle": "Add Note", + "createNew": "Create New", "today": "Today", "upcoming": "Upcoming", "nextActions": "Next Actions", @@ -112,6 +119,13 @@ "hideActivityTimeline": "Hide Activity Timeline", "hideTimeline": "Hide Timeline", "failedToLoad": "Failed to load timeline", + "justNow": "Just now", + "minutesAgo": "{{minutes}}m ago", + "hoursAgo": "{{hours}}h ago", + "daysAgo": "{{days}}d ago", + "loadingTimeline": "Loading timeline...", + "timelineWillAppear": "Timeline will appear after saving", + "noActivity": "No activity yet", "events": { "taskCreated": "Task created", "statusChanged": "Status changed", @@ -423,10 +437,12 @@ }, "dropdown": { "createNew": "Create New", + "inbox": "Inbox", "task": "Task", "project": "Project", "note": "Note", - "area": "Area" + "area": "Area", + "tag": "Tag" }, "sort": { "due_date": "Due Date", @@ -445,7 +461,9 @@ "inProgress": "In Progress", "done": "Done", "archived": "Archived", - "unknown": "Unknown" + "unknown": "Unknown", + "telegramConnected": "Telegram connected and polling", + "telegramConnectionProblem": "Telegram connection problem" }, "project": { "name": "Project Name", @@ -676,7 +694,13 @@ "thirdWeek": "Third week", "fourthWeek": "Fourth week", "lastWeek": "Last week", - "days": "days" + "days": "days", + "loadingParentSettings": "Loading parent task recurrence settings...", + "recurringTaskInstance": "Recurring Task Instance", + "inheritedSettingsMessage": "This task was generated from a recurring task. The recurrence settings shown below are inherited from the original task and cannot be edited here.", + "cancelEdit": "Cancel Edit", + "editParentRecurrence": "Edit Parent Recurrence", + "parentEditWarning": "⚠️ You are editing the parent task's recurrence settings. Changes will affect all future instances of this recurring task." }, "weekdays": { "sunday": "Sunday", @@ -736,5 +760,111 @@ "low": "Low", "time": "Time", "allDay": "All day" + }, + "pages": { + "notFound": { + "title": "404 - Page Not Found", + "message": "The page you're looking for doesn't exist." + } + }, + "navbar": { + "appName": "tududi", + "quickInboxCapture": "Quick Inbox Capture", + "userMenu": "User Menu", + "collapseSidebar": "Collapse Sidebar", + "expandSidebar": "Expand Sidebar" + }, + "upload": { + "uploading": "Uploading..." + }, + "searchPlaceholders": { + "searchProjects": "Search projects...", + "searchTags": "Search tags...", + "searchTasks": "Search tasks..." + }, + "ariaLabels": { + "hideInfo": "Hide info", + "aboutTasks": "About Tasks", + "hideSearch": "Hide search", + "searchTasks": "Search Tasks", + "aboutInbox": "About Inbox", + "collapseInfoPanel": "Collapse info panel", + "showTasksInformation": "Show tasks information", + "collapseSearchPanel": "Collapse search panel", + "showSearchInput": "Show search input", + "showInboxInformation": "Show inbox information" + }, + "api": { + "errors": { + "authenticationRequired": "Authentication required", + "userNotFound": "User not found", + "authenticationError": "Authentication error", + "internalServerError": "Internal server error", + "invalidLoginParameters": "Invalid login parameters.", + "invalidCredentials": "Invalid credentials", + "couldNotLogout": "Could not log out", + "loggedOutSuccessfully": "Logged out successfully", + "contentRequired": "Content is required", + "inboxItemNotFound": "Inbox item not found.", + "inboxItemDeleted": "Inbox item successfully deleted", + "contentRequiredString": "Content is required and must be a string", + "problemCreatingInboxItem": "There was a problem creating the inbox item.", + "problemUpdatingInboxItem": "There was a problem updating the inbox item.", + "problemDeletingInboxItem": "There was a problem deleting the inbox item.", + "problemProcessingInboxItem": "There was a problem processing the inbox item.", + "invalidOrderColumn": "Invalid order column specified.", + "taskNotFound": "Task not found.", + "taskNameRequired": "Task name is required.", + "invalidProject": "Invalid project.", + "unableToUpdateTask": "Unable to update task", + "taskDeleted": "Task successfully deleted", + "failedToGenerateRecurringTasks": "Failed to generate recurring tasks", + "failedToUpdateTodayFlag": "Failed to update task today flag", + "noImageProvided": "No image file provided", + "failedToUploadImage": "Failed to upload image", + "projectNotFound": "Project not found", + "projectNameRequired": "Project name is required", + "projectDeleted": "Project successfully deleted", + "noteNotFound": "Note not found.", + "noteDeleted": "Note deleted successfully.", + "profileNotFound": "Profile not found.", + "passwordTooShort": "Password must be at least 6 characters", + "currentPasswordIncorrect": "Current password is incorrect", + "failedToUpdateProfile": "Failed to update profile.", + "passwordChangeRequired": "Current password and new password are required", + "passwordChangedSuccessfully": "Password changed successfully", + "failedToUpdateTaskSummary": "Failed to update task summary settings.", + "frequencyRequired": "Frequency is required.", + "invalidFrequency": "Invalid frequency value.", + "failedToStartTelegramPolling": "Failed to start Telegram polling.", + "failedToStopTelegramPolling": "Failed to stop Telegram polling.", + "invalidTelegramTokenFormat": "Invalid Telegram bot token format.", + "invalidBotToken": "Invalid bot token or bot not accessible.", + "chatIdRequired": "Chat ID is required.", + "areaNotFound": "Area not found or doesn't belong to the current user.", + "areaNameRequired": "Area name is required.", + "tagNotFound": "Tag not found", + "tagNameRequired": "Tag name is required", + "tagDeleted": "Tag successfully deleted", + "demoModeGoogleCalendar": "Demo mode: Google Calendar integration simulated", + "failedToGenerateAuthUrl": "Failed to generate authorization URL", + "authCodeNotProvided": "Authorization code not provided", + "failedToCheckCalendarStatus": "Failed to check calendar status", + "failedToFetchCalendarEvents": "Failed to fetch calendar events", + "googleCalendarDisconnected": "Google Calendar disconnected", + "failedToDisconnectCalendar": "Failed to disconnect calendar", + "urlParameterRequired": "URL parameter is required", + "couldNotExtractMetadata": "Could not extract metadata", + "textParameterRequired": "Text parameter is required", + "notFound": "Not Found", + "resourceNotFound": "The requested resource could not be found." + } + }, + "telegram": { + "welcomeMessage": "🎉 Welcome to tududi!\n\nYour personal task management bot is now connected and ready to help!\n\n📝 Simply send me any message and I'll add it to your tududi inbox as an item.\n\n✨ Commands:\n• /help - Show help information\n• /start - Show welcome message\n• Just type any text - Add it as an inbox item\n\nLet's get organized! 🚀", + "helpMessage": "📋 tududi Bot Help\n\nSend me any text message and I'll add it to your tududi inbox as an inbox item.\n\nCommands:\n/start - Welcome message\n/help - Show this help message\n\nJust type your item and I'll take care of the rest!", + "commandProcessed": "Command processed successfully", + "messageProcessed": "Message processed successfully", + "failedToAddToInbox": "❌ Failed to add to inbox: {{error}}" } } diff --git a/public/locales/es/translation.json b/public/locales/es/translation.json index ec5b1d6..5d8e108 100644 --- a/public/locales/es/translation.json +++ b/public/locales/es/translation.json @@ -38,7 +38,14 @@ "addAreaAriaLabel": "Agregar Área", "addAreaTitle": "Agregar Área", "addTagAriaLabel": "Agregar Etiqueta", - "addTagTitle": "Agregar Etiqueta" + "addTagTitle": "Agregar Etiqueta", + "addInboxAriaLabel": "Agregar elemento de bandeja de entrada", + "addInboxTitle": "Agregar elemento de bandeja de entrada", + "addProjectAriaLabel": "Agregar proyecto", + "addProjectTitle": "Agregar proyecto", + "addNoteAriaLabel": "Agregar nota", + "addNoteTitle": "Agregar nota", + "createNew": "Crear nuevo" }, "navigation": { "home": "Inicio", @@ -272,7 +279,9 @@ "task": "Tarea", "project": "Proyecto", "note": "Nota", - "area": "Área" + "area": "Área", + "inbox": "Bandeja de entrada", + "tag": "Etiqueta" }, "tasks": { "title": "Tareas", @@ -321,7 +330,14 @@ "priority": "Prioridad", "dueDate": "Fecha de vencimiento", "none": "Ninguno" - } + }, + "justNow": "Justo ahora", + "minutesAgo": "{{minutes}}m hace", + "hoursAgo": "{{hours}}h hace", + "daysAgo": "{{days}}d hace", + "loadingTimeline": "Cargando línea de tiempo...", + "timelineWillAppear": "La línea de tiempo aparecerá después de guardar", + "noActivity": "Sin actividad aún" }, "projects": { "loading": "Cargando proyectos...", @@ -501,7 +517,9 @@ "inProgress": "En Progreso", "done": "Completado", "archived": "Archivado", - "unknown": "Desconocido" + "unknown": "Desconocido", + "telegramConnected": "Telegram conectado y sondeando", + "telegramConnectionProblem": "Problema de conexión de Telegram" }, "project": { "name": "Nombre del Proyecto", @@ -660,7 +678,13 @@ "thirdWeek": "Tercera semana", "fourthWeek": "Cuarta semana", "lastWeek": "Última semana", - "days": "días" + "days": "días", + "loadingParentSettings": "Cargando configuraciones de recurrencia de tarea principal...", + "recurringTaskInstance": "Instancia de tarea recurrente", + "inheritedSettingsMessage": "Esta tarea fue generada a partir de una tarea recurrente. La configuración de recurrencia que se muestra a continuación se hereda de la tarea original y no se puede editar aquí.", + "cancelEdit": "Cancelar Edición", + "editParentRecurrence": "Editar Recurrencia Principal", + "parentEditWarning": "⚠️ Estás editando la configuración de recurrencia de la tarea principal. Los cambios afectarán a todas las instancias futuras de esta tarea recurrente." }, "weekdays": { "monday": "Lun", @@ -737,5 +761,111 @@ "issuesFound": "Se encontraron {{count}} problema(s) de productividad que necesitan atención", "reviewItems": "Haga clic para revisar y mejorar su flujo de trabajo", "suggestion": "Haga clic en cualquier elemento de arriba para abrirlo y hacer mejoras." + }, + "pages": { + "notFound": { + "title": "404 - Página No Encontrada", + "message": "La página que estás buscando no existe." + } + }, + "navbar": { + "appName": "tududi", + "quickInboxCapture": "Captura Rápida de Bandeja de Entrada", + "userMenu": "Menú de Usuario", + "collapseSidebar": "Colapsar Barra Lateral", + "expandSidebar": "Expandir Barra Lateral" + }, + "upload": { + "uploading": "Subiendo..." + }, + "searchPlaceholders": { + "searchProjects": "Buscar proyectos...", + "searchTags": "Buscar etiquetas...", + "searchTasks": "Buscar tareas..." + }, + "ariaLabels": { + "hideInfo": "Ocultar información", + "aboutTasks": "Acerca de las Tareas", + "hideSearch": "Ocultar búsqueda", + "searchTasks": "Buscar Tareas", + "aboutInbox": "Acerca de la Bandeja de Entrada", + "collapseInfoPanel": "Colapsar panel de información", + "showTasksInformation": "Mostrar información de tareas", + "collapseSearchPanel": "Colapsar panel de búsqueda", + "showSearchInput": "Mostrar entrada de búsqueda", + "showInboxInformation": "Mostrar información de la bandeja de entrada" + }, + "api": { + "errors": { + "authenticationRequired": "Se requiere autenticación", + "userNotFound": "Usuario no encontrado", + "authenticationError": "Error de autenticación", + "internalServerError": "Error interno del servidor", + "invalidLoginParameters": "Parámetros de inicio de sesión inválidos.", + "invalidCredentials": "Credenciales inválidas", + "couldNotLogout": "No se pudo cerrar sesión", + "loggedOutSuccessfully": "Cierre de sesión exitoso", + "contentRequired": "Se requiere contenido", + "inboxItemNotFound": "Elemento de la bandeja de entrada no encontrado.", + "inboxItemDeleted": "Elemento de la bandeja de entrada eliminado con éxito", + "contentRequiredString": "Se requiere contenido y debe ser una cadena", + "problemCreatingInboxItem": "Hubo un problema al crear el elemento de la bandeja de entrada.", + "problemUpdatingInboxItem": "Hubo un problema al actualizar el elemento de la bandeja de entrada.", + "problemDeletingInboxItem": "Hubo un problema al eliminar el elemento de la bandeja de entrada.", + "problemProcessingInboxItem": "Hubo un problema al procesar el elemento de la bandeja de entrada.", + "invalidOrderColumn": "Columna de orden inválida especificada.", + "taskNotFound": "Tarea no encontrada.", + "taskNameRequired": "Se requiere el nombre de la tarea.", + "invalidProject": "Proyecto inválido.", + "unableToUpdateTask": "No se puede actualizar la tarea.", + "taskDeleted": "Tarea eliminada con éxito.", + "failedToGenerateRecurringTasks": "Error al generar tareas recurrentes.", + "failedToUpdateTodayFlag": "Error al actualizar la bandera de tarea de hoy.", + "noImageProvided": "No se proporcionó ningún archivo de imagen.", + "failedToUploadImage": "Error al subir la imagen.", + "projectNotFound": "Proyecto no encontrado.", + "projectNameRequired": "Se requiere el nombre del proyecto.", + "projectDeleted": "Proyecto eliminado con éxito.", + "noteNotFound": "Nota no encontrada.", + "noteDeleted": "Nota eliminada con éxito.", + "profileNotFound": "Perfil no encontrado.", + "passwordTooShort": "La contraseña debe tener al menos 6 caracteres.", + "currentPasswordIncorrect": "La contraseña actual es incorrecta.", + "failedToUpdateProfile": "Error al actualizar el perfil.", + "passwordChangeRequired": "Se requiere la contraseña actual y la nueva contraseña", + "passwordChangedSuccessfully": "Contraseña cambiada con éxito", + "failedToUpdateTaskSummary": "Error al actualizar la configuración del resumen de la tarea.", + "frequencyRequired": "La frecuencia es obligatoria.", + "invalidFrequency": "Valor de frecuencia no válido.", + "failedToStartTelegramPolling": "Error al iniciar la consulta de Telegram.", + "failedToStopTelegramPolling": "Error al detener la consulta de Telegram.", + "invalidTelegramTokenFormat": "Formato de token de bot de Telegram no válido.", + "invalidBotToken": "Token de bot no válido o bot no accesible.", + "chatIdRequired": "Se requiere el ID de chat.", + "areaNotFound": "Área no encontrada o no pertenece al usuario actual.", + "areaNameRequired": "Se requiere el nombre del área.", + "tagNotFound": "Etiqueta no encontrada", + "tagNameRequired": "Se requiere el nombre de la etiqueta", + "tagDeleted": "Etiqueta eliminada con éxito", + "demoModeGoogleCalendar": "Modo de demostración: integración de Google Calendar simulada", + "failedToGenerateAuthUrl": "Error al generar la URL de autorización", + "authCodeNotProvided": "Código de autorización no proporcionado", + "failedToCheckCalendarStatus": "Error al verificar el estado del calendario", + "failedToFetchCalendarEvents": "Error al obtener eventos del calendario", + "googleCalendarDisconnected": "Google Calendar desconectado", + "failedToDisconnectCalendar": "Error al desconectar el calendario", + "urlParameterRequired": "Se requiere el parámetro de URL", + "couldNotExtractMetadata": "No se pudo extraer los metadatos", + "textParameterRequired": "Se requiere el parámetro de texto", + "notFound": "No encontrado", + "resourceNotFound": "No se pudo encontrar el recurso solicitado." + } + }, + "telegram": { + "welcomeMessage": "🎉 ¡Bienvenido a tududi!\n\n¡Tu bot personal de gestión de tareas está ahora conectado y listo para ayudar!\n\n📝 Simplemente envíame cualquier mensaje y lo agregaré a tu bandeja de entrada de tududi como un elemento.\n\n✨ Comandos:\n• /help - Mostrar información de ayuda\n• /start - Mostrar mensaje de bienvenida\n• Simplemente escribe cualquier texto - Agrégalo como un elemento de bandeja de entrada\n\n¡Vamos a organizarnos! 🚀", + "helpMessage": "📋 Ayuda del Bot tududi\n\nEnvíame cualquier mensaje de texto y lo agregaré a tu bandeja de entrada de tududi como un elemento de bandeja de entrada.\n\nComandos:\n/start - Mensaje de bienvenida\n/help - Mostrar este mensaje de ayuda\n\n¡Simplemente escribe tu elemento y yo me encargaré del resto!", + "commandProcessed": "Comando procesado con éxito", + "messageProcessed": "Mensaje procesado con éxito", + "failedToAddToInbox": "❌ Error al agregar a la bandeja de entrada: {{error}}" } } diff --git a/public/locales/fi/translation.json b/public/locales/fi/translation.json index 4ed6e0a..78ce5a9 100644 --- a/public/locales/fi/translation.json +++ b/public/locales/fi/translation.json @@ -38,7 +38,14 @@ "nextActions": "Seuraavat toimet", "inbox": "Saapuneet", "completed": "Valmiit", - "allTasks": "Kaikki tehtävät" + "allTasks": "Kaikki tehtävät", + "addInboxAriaLabel": "Lisää saapuneet kohde", + "addInboxTitle": "Lisää saapuneet kohde", + "addProjectAriaLabel": "Lisää projekti", + "addProjectTitle": "Lisää projekti", + "addNoteAriaLabel": "Lisää muistiinpano", + "addNoteTitle": "Lisää muistiinpano", + "createNew": "Luo uusi" }, "navigation": { "home": "Koti", @@ -128,7 +135,14 @@ "priority": "Prioriteetti", "dueDate": "Eräpäivä", "none": "Ei mitään" - } + }, + "justNow": "Juuri nyt", + "minutesAgo": "{{minutes}}m sitten", + "hoursAgo": "{{hours}}h sitten", + "daysAgo": "{{days}}d sitten", + "loadingTimeline": "Ladataan aikajanaa...", + "timelineWillAppear": "Aikajana tulee näkyviin tallentamisen jälkeen", + "noActivity": "Ei vielä aktiivisuutta" }, "profile": { "settings": "Profiilin asetukset", @@ -426,7 +440,9 @@ "task": "Tehtävä", "project": "Projekti", "note": "Muistio", - "area": "Alue" + "area": "Alue", + "inbox": "Saapuneet", + "tag": "Tunniste" }, "sort": { "due_date": "Eräpäivä", @@ -445,7 +461,9 @@ "inProgress": "Käynnissä", "done": "Valmis", "archived": "Arkistoitu", - "unknown": "Tuntematon" + "unknown": "Tuntematon", + "telegramConnected": "Telegram yhdistetty ja kyselyssä", + "telegramConnectionProblem": "Telegram-yhteysongelma" }, "project": { "name": "Projektin nimi", @@ -676,7 +694,13 @@ "thirdWeek": "Kolmas viikko", "fourthWeek": "Neljäs viikko", "lastWeek": "Viimeinen viikko", - "days": "päivää" + "days": "päivää", + "loadingParentSettings": "Ladataan vanhemman tehtävän toistuvuusasetuksia...", + "recurringTaskInstance": "Toistuva tehtäväinstanssi", + "inheritedSettingsMessage": "Tämä tehtävä on luotu toistuvasta tehtävästä. Alla näkyvät toistuvat asetukset on peritty alkuperäisestä tehtävästä, eikä niitä voi muokata täällä.", + "cancelEdit": "Peruuta muokkaus", + "editParentRecurrence": "Muokkaa vanhemman toistuvuutta", + "parentEditWarning": "⚠️ Olet muokkaamassa vanhemman tehtävän toistuvia asetuksia. Muutokset vaikuttavat kaikkiin tuleviin ilmentymiin tästä toistuvasta tehtävästä." }, "weekdays": { "sunday": "Sunnuntai", @@ -736,5 +760,111 @@ "low": "Matala", "time": "Aika", "allDay": "Koko päivä" + }, + "pages": { + "notFound": { + "title": "404 - Sivua ei löytynyt", + "message": "Etsimääsi sivua ei ole olemassa." + } + }, + "navbar": { + "appName": "tududi", + "quickInboxCapture": "Nopea saapuvan postin tallennus", + "userMenu": "Käyttäjävalikko", + "collapseSidebar": "Pienennä sivupalkkia", + "expandSidebar": "Laajenna sivupalkkia" + }, + "upload": { + "uploading": "Ladataan..." + }, + "searchPlaceholders": { + "searchProjects": "Hae projekteja...", + "searchTags": "Hae tageja...", + "searchTasks": "Hae tehtäviä..." + }, + "ariaLabels": { + "hideInfo": "Piilota tiedot", + "aboutTasks": "Tietoa tehtävistä", + "hideSearch": "Piilota haku", + "searchTasks": "Hae tehtäviä", + "aboutInbox": "Tietoa saapuvasta postista", + "collapseInfoPanel": "Pienennä tietopaneeli", + "showTasksInformation": "Näytä tehtävien tiedot", + "collapseSearchPanel": "Pienennä hakupaneeli", + "showSearchInput": "Näytä hakukenttä", + "showInboxInformation": "Näytä saapuneet tiedot" + }, + "api": { + "errors": { + "authenticationRequired": "Todennus vaaditaan", + "userNotFound": "Käyttäjää ei löytynyt", + "authenticationError": "Todennusvirhe", + "internalServerError": "Sisäinen palvelinvirhe", + "invalidLoginParameters": "Virheelliset kirjautumistiedot.", + "invalidCredentials": "Virheelliset tunnistetiedot", + "couldNotLogout": "Kirjautumista ei voitu suorittaa", + "loggedOutSuccessfully": "Kirjautuminen onnistui", + "contentRequired": "Sisältö on pakollinen", + "inboxItemNotFound": "Saapuneita kohteita ei löytynyt.", + "inboxItemDeleted": "Saapunut kohde poistettiin onnistuneesti", + "contentRequiredString": "Sisältö on pakollinen ja sen on oltava merkkijono", + "problemCreatingInboxItem": "Saapuvan kohteen luomisessa tapahtui ongelma.", + "problemUpdatingInboxItem": "Saapuvan kohteen päivittämisessä tapahtui ongelma.", + "problemDeletingInboxItem": "Saapuvan kohteen poistamisessa tapahtui ongelma.", + "problemProcessingInboxItem": "Inbox-alkion käsittelyssä tapahtui ongelma.", + "invalidOrderColumn": "Virheellinen järjestyssarake määritelty.", + "taskNotFound": "Tehtävää ei löytynyt.", + "taskNameRequired": "Tehtävän nimi on pakollinen.", + "invalidProject": "Virheellinen projekti.", + "unableToUpdateTask": "Tehtävää ei voida päivittää", + "taskDeleted": "Tehtävä poistettu onnistuneesti", + "failedToGenerateRecurringTasks": "Toistuvien tehtävien luonti epäonnistui", + "failedToUpdateTodayFlag": "Tehtävän tänään-lippua ei voitu päivittää", + "noImageProvided": "Kuvafailia ei ole annettu", + "failedToUploadImage": "Kuvan lataaminen epäonnistui", + "projectNotFound": "Projektia ei löytynyt", + "projectNameRequired": "Projektin nimi on pakollinen", + "projectDeleted": "Projekti poistettu onnistuneesti", + "noteNotFound": "Muistutusta ei löytynyt.", + "noteDeleted": "Muistutus poistettu onnistuneesti.", + "profileNotFound": "Profiilia ei löytynyt.", + "passwordTooShort": "Salasanan on oltava vähintään 6 merkkiä", + "currentPasswordIncorrect": "Nykyinen salasana on väärin", + "failedToUpdateProfile": "Profiilin päivittäminen epäonnistui.", + "passwordChangeRequired": "Nykyinen salasana ja uusi salasana vaaditaan", + "passwordChangedSuccessfully": "Salasana vaihdettu onnistuneesti", + "failedToUpdateTaskSummary": "Tehtäväyhteenvetoasetusten päivittäminen epäonnistui.", + "frequencyRequired": "Taajuus on pakollinen.", + "invalidFrequency": "Virheellinen taajuusarvo.", + "failedToStartTelegramPolling": "Telegram-pollauksen käynnistäminen epäonnistui.", + "failedToStopTelegramPolling": "Telegram-pollauksen pysäyttäminen epäonnistui.", + "invalidTelegramTokenFormat": "Virheellinen Telegram-botin token-muoto.", + "invalidBotToken": "Virheellinen bot-token tai botti ei ole käytettävissä.", + "chatIdRequired": "Chat ID on pakollinen.", + "areaNotFound": "Aluetta ei löytynyt tai se ei kuulu nykyiselle käyttäjälle.", + "areaNameRequired": "Alueen nimi on pakollinen.", + "tagNotFound": "Tagia ei löytynyt", + "tagNameRequired": "Tagin nimi on pakollinen", + "tagDeleted": "Tagi poistettu onnistuneesti", + "demoModeGoogleCalendar": "Demo-tila: Google Kalenteri -integraatio simuloitu", + "failedToGenerateAuthUrl": "Valtuutus-URL:n luominen epäonnistui", + "authCodeNotProvided": "Valtuutuskoodia ei annettu", + "failedToCheckCalendarStatus": "Kalenterin tilan tarkistaminen epäonnistui", + "failedToFetchCalendarEvents": "Kalenteritapahtumien hakeminen epäonnistui", + "googleCalendarDisconnected": "Google Kalenteri irrotettu", + "failedToDisconnectCalendar": "Kalenterin irrottaminen epäonnistui", + "urlParameterRequired": "URL-parametri on pakollinen", + "couldNotExtractMetadata": "Metatietojen purkaminen epäonnistui", + "textParameterRequired": "Tekstiparametri on pakollinen", + "notFound": "Ei löytynyt", + "resourceNotFound": "Pyydettyä resurssia ei löytynyt." + } + }, + "telegram": { + "welcomeMessage": "🎉 Tervetuloa tududiin!\n\nHenkilökohtainen tehtävienhallintabotisi on nyt yhdistetty ja valmis auttamaan!\n\n📝 Lähetä minulle vain viesti, niin lisään sen tududi-postilaatikkoosi kohteena.\n\n✨ Komennot:\n• /help - Näytä ohjeet\n• /start - Näytä tervetuloviesti\n• Kirjoita vain mitä tahansa tekstiä - Lisää se postilaatikkokohteeksi\n\nAletaan järjestää! 🚀", + "helpMessage": "📋 tududi Bot Ohjeet\n\nLähetä minulle mikä tahansa tekstiviesti, niin lisään sen tududi-postilaatikkoosi kohteena.\n\nKomennot:\n/start - Tervetuloviesti\n/help - Näytä tämä ohjeviesti\n\nKirjoita vain kohteesi, niin huolehdin lopusta!", + "commandProcessed": "Komento käsitelty onnistuneesti", + "messageProcessed": "Viesti käsitelty onnistuneesti", + "failedToAddToInbox": "❌ Lisääminen postilaatikkoon epäonnistui: {{error}}" } } diff --git a/public/locales/fr/translation.json b/public/locales/fr/translation.json index e74afda..038120f 100644 --- a/public/locales/fr/translation.json +++ b/public/locales/fr/translation.json @@ -38,7 +38,14 @@ "nextActions": "Prochaines actions", "inbox": "Boîte de réception", "completed": "Terminé", - "allTasks": "Toutes les tâches" + "allTasks": "Toutes les tâches", + "addInboxAriaLabel": "Ajouter un élément de boîte de réception", + "addInboxTitle": "Ajouter un élément de boîte de réception", + "addProjectAriaLabel": "Ajouter un projet", + "addProjectTitle": "Ajouter un projet", + "addNoteAriaLabel": "Ajouter une note", + "addNoteTitle": "Ajouter une note", + "createNew": "Créer nouveau" }, "navigation": { "home": "Accueil", @@ -128,7 +135,14 @@ "priority": "Priorité", "dueDate": "Date d'échéance", "none": "Aucun" - } + }, + "justNow": "À l'instant", + "minutesAgo": "{{minutes}}m auparavant", + "hoursAgo": "{{hours}}h auparavant", + "daysAgo": "{{days}}j auparavant", + "loadingTimeline": "Chargement de la chronologie...", + "timelineWillAppear": "La chronologie apparaîtra après l'enregistrement", + "noActivity": "Aucune activité pour le moment" }, "profile": { "settings": "Paramètres du profil", @@ -426,7 +440,9 @@ "task": "Tâche", "project": "Projet", "note": "Note", - "area": "Zone" + "area": "Zone", + "inbox": "Boîte de réception", + "tag": "Étiquette" }, "sort": { "due_date": "Date d'échéance", @@ -445,7 +461,9 @@ "inProgress": "En cours", "done": "Fait", "archived": "Archivé", - "unknown": "Inconnu" + "unknown": "Inconnu", + "telegramConnected": "Telegram connecté et en cours de sondage", + "telegramConnectionProblem": "Problème de connexion à Telegram" }, "project": { "name": "Nom du projet", @@ -676,7 +694,13 @@ "thirdWeek": "Troisième semaine", "fourthWeek": "Quatrième semaine", "lastWeek": "Dernière semaine", - "days": "jours" + "days": "jours", + "loadingParentSettings": "Chargement des paramètres de récurrence de la tâche parent...", + "recurringTaskInstance": "Instance de tâche récurrente", + "inheritedSettingsMessage": "Cette tâche a été générée à partir d'une tâche récurrente. Les paramètres de récurrence indiqués ci-dessous sont hérités de la tâche originale et ne peuvent pas être modifiés ici.", + "cancelEdit": "Annuler la modification", + "editParentRecurrence": "Modifier la récurrence parente", + "parentEditWarning": "⚠️ Vous modifiez les paramètres de récurrence de la tâche parente. Les modifications affecteront toutes les instances futures de cette tâche récurrente." }, "weekdays": { "sunday": "Dimanche", @@ -736,5 +760,111 @@ "low": "Bas", "time": "Temps", "allDay": "Toute la journée" + }, + "pages": { + "notFound": { + "title": "404 - Page non trouvée", + "message": "La page que vous recherchez n'existe pas." + } + }, + "navbar": { + "appName": "tududi", + "quickInboxCapture": "Capture rapide de la boîte de réception", + "userMenu": "Menu utilisateur", + "collapseSidebar": "Réduire la barre latérale", + "expandSidebar": "Développer la barre latérale" + }, + "upload": { + "uploading": "Téléchargement..." + }, + "searchPlaceholders": { + "searchProjects": "Rechercher des projets...", + "searchTags": "Rechercher des étiquettes...", + "searchTasks": "Rechercher des tâches..." + }, + "ariaLabels": { + "hideInfo": "Masquer les informations", + "aboutTasks": "À propos des tâches", + "hideSearch": "Masquer la recherche", + "searchTasks": "Rechercher des tâches", + "aboutInbox": "À propos de la boîte de réception", + "collapseInfoPanel": "Réduire le panneau d'information", + "showTasksInformation": "Afficher les informations sur les tâches", + "collapseSearchPanel": "Réduire le panneau de recherche", + "showSearchInput": "Afficher le champ de recherche", + "showInboxInformation": "Afficher les informations de la boîte de réception" + }, + "api": { + "errors": { + "authenticationRequired": "Authentification requise", + "userNotFound": "Utilisateur non trouvé", + "authenticationError": "Erreur d'authentification", + "internalServerError": "Erreur interne du serveur", + "invalidLoginParameters": "Paramètres de connexion invalides.", + "invalidCredentials": "Identifiants invalides", + "couldNotLogout": "Impossible de se déconnecter", + "loggedOutSuccessfully": "Déconnexion réussie", + "contentRequired": "Le contenu est requis", + "inboxItemNotFound": "Élément de la boîte de réception non trouvé.", + "inboxItemDeleted": "Élément de la boîte de réception supprimé avec succès", + "contentRequiredString": "Le contenu est requis et doit être une chaîne", + "problemCreatingInboxItem": "Il y a eu un problème lors de la création de l'élément de la boîte de réception.", + "problemUpdatingInboxItem": "Il y a eu un problème lors de la mise à jour de l'élément de la boîte de réception.", + "problemDeletingInboxItem": "Il y a eu un problème lors de la suppression de l'élément de la boîte de réception.", + "problemProcessingInboxItem": "Il y a eu un problème lors du traitement de l'élément de la boîte de réception.", + "invalidOrderColumn": "Colonne de commande invalide spécifiée.", + "taskNotFound": "Tâche non trouvée.", + "taskNameRequired": "Le nom de la tâche est requis.", + "invalidProject": "Projet invalide.", + "unableToUpdateTask": "Impossible de mettre à jour la tâche", + "taskDeleted": "Tâche supprimée avec succès", + "failedToGenerateRecurringTasks": "Échec de la génération des tâches récurrentes", + "failedToUpdateTodayFlag": "Échec de la mise à jour du drapeau aujourd'hui de la tâche", + "noImageProvided": "Aucun fichier image fourni", + "failedToUploadImage": "Échec du téléchargement de l'image", + "projectNotFound": "Projet non trouvé", + "projectNameRequired": "Le nom du projet est requis", + "projectDeleted": "Projet supprimé avec succès", + "noteNotFound": "Note non trouvée.", + "noteDeleted": "Note supprimée avec succès.", + "profileNotFound": "Profil non trouvé.", + "passwordTooShort": "Le mot de passe doit comporter au moins 6 caractères", + "currentPasswordIncorrect": "Le mot de passe actuel est incorrect", + "failedToUpdateProfile": "Échec de la mise à jour du profil.", + "passwordChangeRequired": "Le mot de passe actuel et le nouveau mot de passe sont requis", + "passwordChangedSuccessfully": "Mot de passe changé avec succès", + "failedToUpdateTaskSummary": "Échec de la mise à jour des paramètres du résumé de la tâche.", + "frequencyRequired": "La fréquence est requise.", + "invalidFrequency": "Valeur de fréquence invalide.", + "failedToStartTelegramPolling": "Échec du démarrage du polling Telegram.", + "failedToStopTelegramPolling": "Échec de l'arrêt du polling Telegram.", + "invalidTelegramTokenFormat": "Format de jeton de bot Telegram invalide.", + "invalidBotToken": "Jeton de bot invalide ou bot inaccessible.", + "chatIdRequired": "L'ID de chat est requis.", + "areaNotFound": "Zone non trouvée ou n'appartient pas à l'utilisateur actuel.", + "areaNameRequired": "Le nom de la zone est requis.", + "tagNotFound": "Étiquette non trouvée", + "tagNameRequired": "Le nom de l'étiquette est requis", + "tagDeleted": "Étiquette supprimée avec succès", + "demoModeGoogleCalendar": "Mode démo : intégration de Google Calendar simulée", + "failedToGenerateAuthUrl": "Échec de la génération de l'URL d'autorisation", + "authCodeNotProvided": "Code d'autorisation non fourni", + "failedToCheckCalendarStatus": "Échec de la vérification de l'état du calendrier", + "failedToFetchCalendarEvents": "Échec de la récupération des événements du calendrier", + "googleCalendarDisconnected": "Google Calendar déconnecté", + "failedToDisconnectCalendar": "Échec de la déconnexion du calendrier", + "urlParameterRequired": "Le paramètre URL est requis", + "couldNotExtractMetadata": "Impossible d'extraire les métadonnées", + "textParameterRequired": "Le paramètre texte est requis", + "notFound": "Non trouvé", + "resourceNotFound": "La ressource demandée n'a pas pu être trouvée." + } + }, + "telegram": { + "welcomeMessage": "🎉 Bienvenue sur tududi !\n\nVotre bot de gestion des tâches personnel est maintenant connecté et prêt à vous aider !\n\n📝 Envoyez-moi simplement un message et je l'ajouterai à votre boîte de réception tududi en tant qu'élément.\n\n✨ Commandes :\n• /help - Afficher les informations d'aide\n• /start - Afficher le message de bienvenue\n• Tapez simplement n'importe quel texte - Ajoutez-le comme élément de la boîte de réception\n\nOrganisons-nous ! 🚀", + "helpMessage": "📋 Aide du Bot tududi\n\nEnvoyez-moi n'importe quel message texte et je l'ajouterai à votre boîte de réception tududi en tant qu'élément de boîte de réception.\n\nCommandes :\n/start - Message de bienvenue\n/help - Afficher ce message d'aide\n\nTapez simplement votre élément et je m'occuperai du reste !", + "commandProcessed": "Commande traitée avec succès", + "messageProcessed": "Message traité avec succès", + "failedToAddToInbox": "❌ Échec de l'ajout à la boîte de réception : {{error}}" } } diff --git a/public/locales/id/translation.json b/public/locales/id/translation.json index bcd1bd1..2ea4d1c 100644 --- a/public/locales/id/translation.json +++ b/public/locales/id/translation.json @@ -38,7 +38,14 @@ "nextActions": "Tindakan Selanjutnya", "inbox": "Kotak Masuk", "completed": "Selesai", - "allTasks": "Semua Tugas" + "allTasks": "Semua Tugas", + "addInboxAriaLabel": "Tambahkan Item Kotak Masuk", + "addInboxTitle": "Tambahkan Item Kotak Masuk", + "addProjectAriaLabel": "Tambahkan Proyek", + "addProjectTitle": "Tambahkan Proyek", + "addNoteAriaLabel": "Tambahkan Catatan", + "addNoteTitle": "Tambahkan Catatan", + "createNew": "Buat Baru" }, "navigation": { "home": "Beranda", @@ -128,7 +135,14 @@ "priority": "Prioritas", "dueDate": "Tanggal jatuh tempo", "none": "Tidak ada" - } + }, + "justNow": "Baru saja", + "minutesAgo": "{{minutes}}m yang lalu", + "hoursAgo": "{{hours}}j yang lalu", + "daysAgo": "{{days}}h yang lalu", + "loadingTimeline": "Memuat garis waktu...", + "timelineWillAppear": "Garis waktu akan muncul setelah disimpan", + "noActivity": "Belum ada aktivitas" }, "profile": { "settings": "Pengaturan Profil", @@ -426,7 +440,9 @@ "task": "Tugas", "project": "Proyek", "note": "Catatan", - "area": "Area" + "area": "Area", + "inbox": "Kotak Masuk", + "tag": "Tag" }, "sort": { "due_date": "Tanggal Jatuh Tempo", @@ -445,7 +461,9 @@ "inProgress": "Dalam Proses", "done": "Selesai", "archived": "Arsip", - "unknown": "Tidak Diketahui" + "unknown": "Tidak Diketahui", + "telegramConnected": "Telegram terhubung dan memeriksa", + "telegramConnectionProblem": "Masalah koneksi Telegram" }, "project": { "name": "Nama Proyek", @@ -676,7 +694,13 @@ "thirdWeek": "Minggu ketiga", "fourthWeek": "Minggu keempat", "lastWeek": "Minggu terakhir", - "days": "hari" + "days": "hari", + "loadingParentSettings": "Memuat pengaturan pengulangan tugas induk...", + "recurringTaskInstance": "Instansi Tugas Berulang", + "inheritedSettingsMessage": "Tugas ini dihasilkan dari tugas berulang. Pengaturan pengulangan yang ditunjukkan di bawah ini diwarisi dari tugas asli dan tidak dapat diedit di sini.", + "cancelEdit": "Batalkan Edit", + "editParentRecurrence": "Edit Pengulangan Induk", + "parentEditWarning": "⚠️ Anda sedang mengedit pengaturan pengulangan tugas induk. Perubahan akan mempengaruhi semua instance masa depan dari tugas berulang ini." }, "weekdays": { "sunday": "Minggu", @@ -736,5 +760,111 @@ "low": "Rendah", "time": "Waktu", "allDay": "Sepanjang hari" + }, + "pages": { + "notFound": { + "title": "404 - Halaman Tidak Ditemukan", + "message": "Halaman yang Anda cari tidak ada." + } + }, + "navbar": { + "appName": "tududi", + "quickInboxCapture": "Tangkap Kotak Masuk Cepat", + "userMenu": "Menu Pengguna", + "collapseSidebar": "Sembunyikan Sidebar", + "expandSidebar": "Perluas Sidebar" + }, + "upload": { + "uploading": "Mengunggah..." + }, + "searchPlaceholders": { + "searchProjects": "Cari proyek...", + "searchTags": "Cari tag...", + "searchTasks": "Cari tugas..." + }, + "ariaLabels": { + "hideInfo": "Sembunyikan info", + "aboutTasks": "Tentang Tugas", + "hideSearch": "Sembunyikan pencarian", + "searchTasks": "Cari Tugas", + "aboutInbox": "Tentang Kotak Masuk", + "collapseInfoPanel": "Tutup panel informasi", + "showTasksInformation": "Tampilkan informasi tugas", + "collapseSearchPanel": "Tutup panel pencarian", + "showSearchInput": "Tampilkan input pencarian", + "showInboxInformation": "Tampilkan informasi kotak masuk" + }, + "api": { + "errors": { + "authenticationRequired": "Autentikasi diperlukan", + "userNotFound": "Pengguna tidak ditemukan", + "authenticationError": "Kesalahan autentikasi", + "internalServerError": "Kesalahan server internal", + "invalidLoginParameters": "Parameter login tidak valid.", + "invalidCredentials": "Kredensial tidak valid", + "couldNotLogout": "Tidak dapat keluar", + "loggedOutSuccessfully": "Berhasil keluar", + "contentRequired": "Konten diperlukan", + "inboxItemNotFound": "Item kotak masuk tidak ditemukan.", + "inboxItemDeleted": "Item kotak masuk berhasil dihapus", + "contentRequiredString": "Konten diperlukan dan harus berupa string", + "problemCreatingInboxItem": "Terjadi masalah saat membuat item kotak masuk.", + "problemUpdatingInboxItem": "Terjadi masalah saat memperbarui item kotak masuk.", + "problemDeletingInboxItem": "Terjadi masalah saat menghapus item kotak masuk.", + "problemProcessingInboxItem": "Terjadi masalah saat memproses item kotak masuk.", + "invalidOrderColumn": "Kolom urutan yang ditentukan tidak valid.", + "taskNotFound": "Tugas tidak ditemukan.", + "taskNameRequired": "Nama tugas diperlukan.", + "invalidProject": "Proyek tidak valid.", + "unableToUpdateTask": "Tidak dapat memperbarui tugas", + "taskDeleted": "Tugas berhasil dihapus", + "failedToGenerateRecurringTasks": "Gagal menghasilkan tugas berulang", + "failedToUpdateTodayFlag": "Gagal memperbarui tanda tugas hari ini", + "noImageProvided": "Tidak ada file gambar yang disediakan", + "failedToUploadImage": "Gagal mengunggah gambar", + "projectNotFound": "Proyek tidak ditemukan", + "projectNameRequired": "Nama proyek diperlukan", + "projectDeleted": "Proyek berhasil dihapus", + "noteNotFound": "Catatan tidak ditemukan.", + "noteDeleted": "Catatan berhasil dihapus.", + "profileNotFound": "Profil tidak ditemukan.", + "passwordTooShort": "Kata sandi harus terdiri dari setidaknya 6 karakter", + "currentPasswordIncorrect": "Kata sandi saat ini salah", + "failedToUpdateProfile": "Gagal memperbarui profil.", + "passwordChangeRequired": "Kata sandi saat ini dan kata sandi baru diperlukan", + "passwordChangedSuccessfully": "Kata sandi berhasil diubah", + "failedToUpdateTaskSummary": "Gagal memperbarui pengaturan ringkasan tugas.", + "frequencyRequired": "Frekuensi diperlukan.", + "invalidFrequency": "Nilai frekuensi tidak valid.", + "failedToStartTelegramPolling": "Gagal memulai polling Telegram.", + "failedToStopTelegramPolling": "Gagal menghentikan polling Telegram.", + "invalidTelegramTokenFormat": "Format token bot Telegram tidak valid.", + "invalidBotToken": "Token bot tidak valid atau bot tidak dapat diakses.", + "chatIdRequired": "ID obrolan diperlukan.", + "areaNotFound": "Area tidak ditemukan atau tidak milik pengguna saat ini.", + "areaNameRequired": "Nama area diperlukan.", + "tagNotFound": "Tag tidak ditemukan", + "tagNameRequired": "Nama tag diperlukan", + "tagDeleted": "Tag berhasil dihapus", + "demoModeGoogleCalendar": "Mode demo: integrasi Google Calendar disimulasikan", + "failedToGenerateAuthUrl": "Gagal menghasilkan URL otorisasi", + "authCodeNotProvided": "Kode otorisasi tidak disediakan", + "failedToCheckCalendarStatus": "Gagal memeriksa status kalender", + "failedToFetchCalendarEvents": "Gagal mengambil acara kalender", + "googleCalendarDisconnected": "Google Calendar terputus", + "failedToDisconnectCalendar": "Gagal memutuskan kalender", + "urlParameterRequired": "Parameter URL diperlukan", + "couldNotExtractMetadata": "Tidak dapat mengekstrak metadata", + "textParameterRequired": "Parameter teks diperlukan", + "notFound": "Tidak Ditemukan", + "resourceNotFound": "Sumber yang diminta tidak dapat ditemukan." + } + }, + "telegram": { + "welcomeMessage": "🎉 Selamat datang di tududi!\n\nBot manajemen tugas pribadi Anda sekarang terhubung dan siap membantu!\n\n📝 Cukup kirimkan saya pesan apa pun dan saya akan menambahkannya ke kotak masuk tududi Anda sebagai item.\n\n✨ Perintah:\n• /help - Tampilkan informasi bantuan\n• /start - Tampilkan pesan sambutan\n• Cukup ketik teks apa pun - Tambahkan sebagai item kotak masuk\n\nMari kita terorganisir! 🚀", + "helpMessage": "📋 Bantuan Bot tududi\n\nKirimkan saya pesan teks apa pun dan saya akan menambahkannya ke kotak masuk tududi Anda sebagai item kotak masuk.\n\nPerintah:\n/start - Pesan sambutan\n/help - Tampilkan pesan bantuan ini\n\nCukup ketik item Anda dan saya akan mengurus sisanya!", + "commandProcessed": "Perintah diproses dengan sukses", + "messageProcessed": "Pesan diproses dengan sukses", + "failedToAddToInbox": "❌ Gagal menambah ke kotak masuk: {{error}}" } } diff --git a/public/locales/it/translation.json b/public/locales/it/translation.json index beb6256..9ae5ab6 100644 --- a/public/locales/it/translation.json +++ b/public/locales/it/translation.json @@ -38,7 +38,14 @@ "nextActions": "Prossime Azioni", "inbox": "Inbox", "completed": "Completati", - "allTasks": "Tutte le Attività" + "allTasks": "Tutte le Attività", + "addInboxAriaLabel": "Aggiungi elemento alla Posta in arrivo", + "addInboxTitle": "Aggiungi elemento alla Posta in arrivo", + "addProjectAriaLabel": "Aggiungi progetto", + "addProjectTitle": "Aggiungi progetto", + "addNoteAriaLabel": "Aggiungi nota", + "addNoteTitle": "Aggiungi nota", + "createNew": "Crea nuovo" }, "navigation": { "home": "Home", @@ -128,7 +135,14 @@ "priority": "Priorità", "dueDate": "Data di scadenza", "none": "Nessuno" - } + }, + "justNow": "Proprio adesso", + "minutesAgo": "{{minutes}}m fa", + "hoursAgo": "{{hours}}h fa", + "daysAgo": "{{days}}d fa", + "loadingTimeline": "Caricamento della timeline...", + "timelineWillAppear": "La timeline apparirà dopo il salvataggio", + "noActivity": "Nessuna attività ancora" }, "profile": { "settings": "Impostazioni Profilo", @@ -426,7 +440,9 @@ "task": "Attività", "project": "Progetto", "note": "Nota", - "area": "Area" + "area": "Area", + "inbox": "Posta in arrivo", + "tag": "Tag" }, "sort": { "due_date": "Data di Scadenza", @@ -445,7 +461,9 @@ "inProgress": "In Corso", "done": "Completata", "archived": "Archiviata", - "unknown": "Sconosciuto" + "unknown": "Sconosciuto", + "telegramConnected": "Telegram connesso e in polling", + "telegramConnectionProblem": "Problema di connessione a Telegram" }, "project": { "name": "Nome Progetto", @@ -677,7 +695,13 @@ "thirdWeek": "Terza settimana", "fourthWeek": "Quarta settimana", "lastWeek": "Ultima settimana", - "days": "giorni" + "days": "giorni", + "loadingParentSettings": "Caricamento delle impostazioni di ricorrenza del compito principale...", + "recurringTaskInstance": "Istanza di compito ricorrente", + "inheritedSettingsMessage": "Questo compito è stato generato da un compito ricorrente. Le impostazioni di ricorrenza mostrate di seguito sono ereditate dal compito originale e non possono essere modificate qui.", + "cancelEdit": "Annulla Modifica", + "editParentRecurrence": "Modifica Ricorrenza Genitore", + "parentEditWarning": "⚠️ Stai modificando le impostazioni di ricorrenza del compito genitore. Le modifiche influenzeranno tutte le future istanze di questo compito ricorrente." }, "weekdays": { "sunday": "Domenica", @@ -737,5 +761,111 @@ "low": "Bassa", "time": "Ora", "allDay": "Tutto il giorno" + }, + "pages": { + "notFound": { + "title": "404 - Pagina Non Trovata", + "message": "La pagina che stai cercando non esiste." + } + }, + "navbar": { + "appName": "tududi", + "quickInboxCapture": "Cattura Rapida della Posta in Arrivo", + "userMenu": "Menu Utente", + "collapseSidebar": "Riduci Barra Laterale", + "expandSidebar": "Espandi Barra Laterale" + }, + "upload": { + "uploading": "Caricamento in corso..." + }, + "searchPlaceholders": { + "searchProjects": "Cerca progetti...", + "searchTags": "Cerca tag...", + "searchTasks": "Cerca compiti..." + }, + "ariaLabels": { + "hideInfo": "Nascondi info", + "aboutTasks": "Informazioni sui Compiti", + "hideSearch": "Nascondi ricerca", + "searchTasks": "Cerca Compiti", + "aboutInbox": "Informazioni sulla Posta in Arrivo", + "collapseInfoPanel": "Riduci il pannello informativo", + "showTasksInformation": "Mostra informazioni sui compiti", + "collapseSearchPanel": "Riduci il pannello di ricerca", + "showSearchInput": "Mostra input di ricerca", + "showInboxInformation": "Mostra informazioni sulla posta in arrivo" + }, + "api": { + "errors": { + "authenticationRequired": "Autenticazione richiesta", + "userNotFound": "Utente non trovato", + "authenticationError": "Errore di autenticazione", + "internalServerError": "Errore interno del server", + "invalidLoginParameters": "Parametri di accesso non validi.", + "invalidCredentials": "Credenziali non valide", + "couldNotLogout": "Impossibile disconnettersi", + "loggedOutSuccessfully": "Disconnesso con successo", + "contentRequired": "Il contenuto è richiesto", + "inboxItemNotFound": "Elemento della posta in arrivo non trovato.", + "inboxItemDeleted": "Elemento della posta in arrivo eliminato con successo", + "contentRequiredString": "Il contenuto è richiesto e deve essere una stringa", + "problemCreatingInboxItem": "C'è stato un problema nella creazione dell'elemento della posta in arrivo.", + "problemUpdatingInboxItem": "C'è stato un problema nell'aggiornamento dell'elemento della posta in arrivo.", + "problemDeletingInboxItem": "C'è stato un problema nell'eliminazione dell'elemento della posta in arrivo.", + "problemProcessingInboxItem": "C'è stato un problema nell'elaborazione dell'elemento della posta in arrivo.", + "invalidOrderColumn": "Colonna di ordinamento specificata non valida.", + "taskNotFound": "Compito non trovato.", + "taskNameRequired": "Il nome del compito è obbligatorio.", + "invalidProject": "Progetto non valido.", + "unableToUpdateTask": "Impossibile aggiornare il compito", + "taskDeleted": "Compito eliminato con successo", + "failedToGenerateRecurringTasks": "Impossibile generare compiti ricorrenti", + "failedToUpdateTodayFlag": "Impossibile aggiornare il flag di oggi del compito", + "noImageProvided": "Nessun file immagine fornito", + "failedToUploadImage": "Impossibile caricare l'immagine", + "projectNotFound": "Progetto non trovato", + "projectNameRequired": "Il nome del progetto è obbligatorio", + "projectDeleted": "Progetto eliminato con successo", + "noteNotFound": "Nota non trovata.", + "noteDeleted": "Nota eliminata con successo.", + "profileNotFound": "Profilo non trovato.", + "passwordTooShort": "La password deve contenere almeno 6 caratteri", + "currentPasswordIncorrect": "La password attuale è errata", + "failedToUpdateProfile": "Impossibile aggiornare il profilo.", + "passwordChangeRequired": "La password attuale e la nuova password sono richieste", + "passwordChangedSuccessfully": "Password cambiata con successo", + "failedToUpdateTaskSummary": "Impossibile aggiornare le impostazioni del riepilogo attività.", + "frequencyRequired": "La frequenza è richiesta.", + "invalidFrequency": "Valore di frequenza non valido.", + "failedToStartTelegramPolling": "Impossibile avviare il polling di Telegram.", + "failedToStopTelegramPolling": "Impossibile fermare il polling di Telegram.", + "invalidTelegramTokenFormat": "Formato del token del bot di Telegram non valido.", + "invalidBotToken": "Token del bot non valido o bot non accessibile.", + "chatIdRequired": "L'ID chat è richiesto.", + "areaNotFound": "Area non trovata o non appartiene all'utente corrente.", + "areaNameRequired": "Il nome dell'area è richiesto.", + "tagNotFound": "Tag non trovato", + "tagNameRequired": "Il nome del tag è richiesto", + "tagDeleted": "Tag eliminato con successo", + "demoModeGoogleCalendar": "Modalità demo: integrazione con Google Calendar simulata", + "failedToGenerateAuthUrl": "Impossibile generare l'URL di autorizzazione", + "authCodeNotProvided": "Codice di autorizzazione non fornito", + "failedToCheckCalendarStatus": "Impossibile controllare lo stato del calendario", + "failedToFetchCalendarEvents": "Impossibile recuperare gli eventi del calendario", + "googleCalendarDisconnected": "Google Calendar disconnesso", + "failedToDisconnectCalendar": "Impossibile disconnettere il calendario", + "urlParameterRequired": "Il parametro URL è obbligatorio", + "couldNotExtractMetadata": "Impossibile estrarre i metadati", + "textParameterRequired": "Il parametro di testo è obbligatorio", + "notFound": "Non trovato", + "resourceNotFound": "La risorsa richiesta non è stata trovata." + } + }, + "telegram": { + "welcomeMessage": "🎉 Benvenuto in tududi!\n\nIl tuo bot personale per la gestione delle attività è ora connesso e pronto ad aiutarti!\n\n📝 Inviami semplicemente un messaggio e lo aggiungerò alla tua casella di posta di tududi come un elemento.\n\n✨ Comandi:\n• /help - Mostra informazioni di aiuto\n• /start - Mostra il messaggio di benvenuto\n• Digita semplicemente qualsiasi testo - Aggiungilo come un elemento della casella di posta\n\nOrganizziamoci! 🚀", + "helpMessage": "📋 Aiuto Bot tududi\n\nInviami qualsiasi messaggio di testo e lo aggiungerò alla tua casella di posta di tududi come un elemento della casella di posta.\n\nComandi:\n/start - Messaggio di benvenuto\n/help - Mostra questo messaggio di aiuto\n\nDigita semplicemente il tuo elemento e mi occuperò del resto!", + "commandProcessed": "Comando elaborato con successo", + "messageProcessed": "Messaggio elaborato con successo", + "failedToAddToInbox": "❌ Impossibile aggiungere alla casella di posta: {{error}}" } } diff --git a/public/locales/jp/translation.json b/public/locales/jp/translation.json index 28967c2..8f0a721 100644 --- a/public/locales/jp/translation.json +++ b/public/locales/jp/translation.json @@ -38,7 +38,14 @@ "addAreaAriaLabel": "エリアを追加", "addAreaTitle": "エリアを追加", "addTagAriaLabel": "タグを追加", - "addTagTitle": "タグを追加" + "addTagTitle": "タグを追加", + "addInboxAriaLabel": "受信トレイアイテムを追加", + "addInboxTitle": "受信トレイアイテムを追加", + "addProjectAriaLabel": "プロジェクトを追加", + "addProjectTitle": "プロジェクトを追加", + "addNoteAriaLabel": "ノートを追加", + "addNoteTitle": "ノートを追加", + "createNew": "新規作成" }, "navigation": { "home": "ホーム", @@ -128,7 +135,14 @@ "priority": "優先度", "dueDate": "期限", "none": "なし" - } + }, + "justNow": "たった今", + "minutesAgo": "{{minutes}}分前", + "hoursAgo": "{{hours}}時間前", + "daysAgo": "{{days}}日前", + "loadingTimeline": "タイムラインを読み込み中...", + "timelineWillAppear": "保存後にタイムラインが表示されます", + "noActivity": "まだアクティビティはありません" }, "profile": { "taskIntelligence": "タスクインテリジェンス", @@ -409,7 +423,9 @@ "task": "タスク", "project": "プロジェクト", "note": "ノート", - "area": "エリア" + "area": "エリア", + "inbox": "受信トレイ", + "tag": "タグ" }, "sort": { "due_date": "期限日", @@ -562,7 +578,13 @@ "thirdWeek": "第3週", "fourthWeek": "第4週", "lastWeek": "最終週", - "days": "日" + "days": "日", + "loadingParentSettings": "親タスクの繰り返し設定を読み込み中...", + "recurringTaskInstance": "繰り返しタスクインスタンス", + "inheritedSettingsMessage": "このタスクは定期的なタスクから生成されました。以下に示す定期設定は元のタスクから継承されており、ここでは編集できません。", + "cancelEdit": "編集をキャンセル", + "editParentRecurrence": "親の定期設定を編集", + "parentEditWarning": "⚠️ あなたは親タスクの定期設定を編集しています。変更はこの定期タスクの今後のすべてのインスタンスに影響します。" }, "weekdays": { "monday": "月", @@ -712,7 +734,9 @@ "inProgress": "進行中", "done": "完了", "archived": "アーカイブ", - "unknown": "不明" + "unknown": "不明", + "telegramConnected": "Telegramが接続され、ポーリング中", + "telegramConnectionProblem": "Telegram接続の問題" }, "dateIndicators": { "today": "今日", @@ -736,5 +760,111 @@ "complete": "ポモドーロ完了!", "completeMessage": "素晴らしい仕事!休憩時間です。", "done": "完了" + }, + "pages": { + "notFound": { + "title": "404 - ページが見つかりません", + "message": "お探しのページは存在しません。" + } + }, + "navbar": { + "appName": "tududi", + "quickInboxCapture": "クイックインボックスキャプチャ", + "userMenu": "ユーザーメニュー", + "collapseSidebar": "サイドバーを折りたたむ", + "expandSidebar": "サイドバーを展開" + }, + "upload": { + "uploading": "アップロード中..." + }, + "searchPlaceholders": { + "searchProjects": "プロジェクトを検索...", + "searchTags": "タグを検索...", + "searchTasks": "タスクを検索..." + }, + "ariaLabels": { + "hideInfo": "情報を隠す", + "aboutTasks": "タスクについて", + "hideSearch": "検索を隠す", + "searchTasks": "タスクを検索", + "aboutInbox": "インボックスについて", + "collapseInfoPanel": "情報パネルを折りたたむ", + "showTasksInformation": "タスク情報を表示", + "collapseSearchPanel": "検索パネルを折りたたむ", + "showSearchInput": "検索入力を表示", + "showInboxInformation": "受信トレイ情報を表示" + }, + "api": { + "errors": { + "authenticationRequired": "認証が必要です", + "userNotFound": "ユーザーが見つかりません", + "authenticationError": "認証エラー", + "internalServerError": "内部サーバーエラー", + "invalidLoginParameters": "無効なログインパラメータです。", + "invalidCredentials": "無効な資格情報", + "couldNotLogout": "ログアウトできませんでした", + "loggedOutSuccessfully": "正常にログアウトしました", + "contentRequired": "コンテンツが必要です", + "inboxItemNotFound": "受信トレイアイテムが見つかりません。", + "inboxItemDeleted": "受信トレイアイテムが正常に削除されました", + "contentRequiredString": "コンテンツが必要であり、文字列である必要があります", + "problemCreatingInboxItem": "受信トレイアイテムの作成中に問題が発生しました。", + "problemUpdatingInboxItem": "受信トレイアイテムの更新中に問題が発生しました。", + "problemDeletingInboxItem": "受信トレイアイテムの削除中に問題が発生しました。", + "problemProcessingInboxItem": "受信トレイアイテムの処理中に問題が発生しました。", + "invalidOrderColumn": "無効な順序列が指定されました。", + "taskNotFound": "タスクが見つかりません。", + "taskNameRequired": "タスク名は必須です。", + "invalidProject": "無効なプロジェクトです。", + "unableToUpdateTask": "タスクを更新できません。", + "taskDeleted": "タスクが正常に削除されました。", + "failedToGenerateRecurringTasks": "定期的なタスクの生成に失敗しました。", + "failedToUpdateTodayFlag": "タスクの今日フラグの更新に失敗しました。", + "noImageProvided": "画像ファイルが提供されていません。", + "failedToUploadImage": "画像のアップロードに失敗しました。", + "projectNotFound": "プロジェクトが見つかりません。", + "projectNameRequired": "プロジェクト名は必須です。", + "projectDeleted": "プロジェクトが正常に削除されました。", + "noteNotFound": "ノートが見つかりません。", + "noteDeleted": "ノートが正常に削除されました。", + "profileNotFound": "プロフィールが見つかりません。", + "passwordTooShort": "パスワードは6文字以上でなければなりません。", + "currentPasswordIncorrect": "現在のパスワードが正しくありません。", + "failedToUpdateProfile": "プロフィールの更新に失敗しました。", + "passwordChangeRequired": "現在のパスワードと新しいパスワードが必要です", + "passwordChangedSuccessfully": "パスワードが正常に変更されました", + "failedToUpdateTaskSummary": "タスクの概要設定の更新に失敗しました。", + "frequencyRequired": "頻度が必要です。", + "invalidFrequency": "無効な頻度の値です。", + "failedToStartTelegramPolling": "Telegramのポーリングの開始に失敗しました。", + "failedToStopTelegramPolling": "Telegramのポーリングの停止に失敗しました。", + "invalidTelegramTokenFormat": "無効なTelegramボットトークンの形式です。", + "invalidBotToken": "無効なボットトークンまたはボットにアクセスできません。", + "chatIdRequired": "チャットIDが必要です。", + "areaNotFound": "エリアが見つからないか、現在のユーザーに属していません。", + "areaNameRequired": "エリア名が必要です。", + "tagNotFound": "タグが見つかりません", + "tagNameRequired": "タグ名が必要です", + "tagDeleted": "タグが正常に削除されました", + "demoModeGoogleCalendar": "デモモード:Googleカレンダー統合がシミュレートされました", + "failedToGenerateAuthUrl": "認証URLの生成に失敗しました", + "authCodeNotProvided": "認証コードが提供されていません", + "failedToCheckCalendarStatus": "カレンダーのステータス確認に失敗しました", + "failedToFetchCalendarEvents": "カレンダーイベントの取得に失敗しました", + "googleCalendarDisconnected": "Google カレンダーが切断されました", + "failedToDisconnectCalendar": "カレンダーの切断に失敗しました", + "urlParameterRequired": "URL パラメータが必要です", + "couldNotExtractMetadata": "メタデータを抽出できませんでした", + "textParameterRequired": "テキストパラメータが必要です", + "notFound": "見つかりません", + "resourceNotFound": "要求されたリソースが見つかりませんでした。" + } + }, + "telegram": { + "welcomeMessage": "🎉 tududi へようこそ!\n\nあなたの個人的なタスク管理ボットが接続され、助ける準備ができました!\n\n📝 どんなメッセージでも送信してください。tududi の受信トレイにアイテムとして追加します。\n\n✨ コマンド:\n• /help - ヘルプ情報を表示\n• /start - ウェルカムメッセージを表示\n• ただテキストを入力 - 受信トレイアイテムとして追加\n\n整理を始めましょう!🚀", + "helpMessage": "📋 tududi ボット ヘルプ\n\nどんなテキストメッセージでも送信してください。tududi の受信トレイにアイテムとして追加します。\n\nコマンド:\n/start - ウェルカムメッセージ\n/help - このヘルプメッセージを表示\n\nアイテムを入力するだけで、残りは私が処理します!", + "commandProcessed": "コマンドが正常に処理されました", + "messageProcessed": "メッセージが正常に処理されました", + "failedToAddToInbox": "❌ 受信トレイに追加できませんでした: {{error}}" } } diff --git a/public/locales/ko/translation.json b/public/locales/ko/translation.json index 355f592..3f1e924 100644 --- a/public/locales/ko/translation.json +++ b/public/locales/ko/translation.json @@ -38,7 +38,14 @@ "nextActions": "다음 작업", "inbox": "받은 편지함", "completed": "완료됨", - "allTasks": "모든 작업" + "allTasks": "모든 작업", + "addInboxAriaLabel": "받은 편지함 항목 추가", + "addInboxTitle": "받은 편지함 항목 추가", + "addProjectAriaLabel": "프로젝트 추가", + "addProjectTitle": "프로젝트 추가", + "addNoteAriaLabel": "메모 추가", + "addNoteTitle": "메모 추가", + "createNew": "새로 만들기" }, "navigation": { "home": "홈", @@ -128,7 +135,14 @@ "priority": "우선순위", "dueDate": "마감일", "none": "없음" - } + }, + "justNow": "방금", + "minutesAgo": "{{minutes}}분 전", + "hoursAgo": "{{hours}}시간 전", + "daysAgo": "{{days}}일 전", + "loadingTimeline": "타임라인 로딩 중...", + "timelineWillAppear": "저장 후 타임라인이 나타납니다", + "noActivity": "아직 활동이 없습니다" }, "profile": { "settings": "프로필 설정", @@ -426,7 +440,9 @@ "task": "작업", "project": "프로젝트", "note": "노트", - "area": "영역" + "area": "영역", + "inbox": "받은 편지함", + "tag": "태그" }, "sort": { "due_date": "마감일", @@ -445,7 +461,9 @@ "inProgress": "진행 중", "done": "완료", "archived": "보관됨", - "unknown": "알 수 없음" + "unknown": "알 수 없음", + "telegramConnected": "텔레그램 연결됨 및 폴링 중", + "telegramConnectionProblem": "텔레그램 연결 문제" }, "project": { "name": "프로젝트 이름", @@ -676,7 +694,13 @@ "thirdWeek": "세 번째 주", "fourthWeek": "네 번째 주", "lastWeek": "마지막 주", - "days": "일" + "days": "일", + "loadingParentSettings": "부모 작업 반복 설정 로딩 중...", + "recurringTaskInstance": "반복 작업 인스턴스", + "inheritedSettingsMessage": "이 작업은 반복 작업에서 생성되었습니다. 아래에 표시된 반복 설정은 원래 작업에서 상속된 것이며 여기에서 수정할 수 없습니다.", + "cancelEdit": "수정 취소", + "editParentRecurrence": "상위 반복 수정", + "parentEditWarning": "⚠️ 상위 작업의 반복 설정을 수정하고 있습니다. 변경 사항은 이 반복 작업의 모든 미래 인스턴스에 영향을 미칩니다." }, "weekdays": { "sunday": "일요일", @@ -736,5 +760,111 @@ "low": "낮음", "time": "시간", "allDay": "종일" + }, + "pages": { + "notFound": { + "title": "404 - 페이지를 찾을 수 없습니다", + "message": "찾고 있는 페이지가 존재하지 않습니다." + } + }, + "navbar": { + "appName": "투두디", + "quickInboxCapture": "빠른 인박스 캡처", + "userMenu": "사용자 메뉴", + "collapseSidebar": "사이드바 축소", + "expandSidebar": "사이드바 확장" + }, + "upload": { + "uploading": "업로드 중..." + }, + "searchPlaceholders": { + "searchProjects": "프로젝트 검색...", + "searchTags": "태그 검색...", + "searchTasks": "작업 검색..." + }, + "ariaLabels": { + "hideInfo": "정보 숨기기", + "aboutTasks": "작업에 대하여", + "hideSearch": "검색 숨기기", + "searchTasks": "작업 검색", + "aboutInbox": "인박스에 대하여", + "collapseInfoPanel": "정보 패널 축소", + "showTasksInformation": "작업 정보 표시", + "collapseSearchPanel": "검색 패널 축소", + "showSearchInput": "검색 입력 표시", + "showInboxInformation": "받은 편지함 정보 표시" + }, + "api": { + "errors": { + "authenticationRequired": "인증이 필요합니다", + "userNotFound": "사용자를 찾을 수 없습니다", + "authenticationError": "인증 오류", + "internalServerError": "내부 서버 오류", + "invalidLoginParameters": "잘못된 로그인 매개변수입니다.", + "invalidCredentials": "잘못된 자격 증명", + "couldNotLogout": "로그아웃할 수 없습니다", + "loggedOutSuccessfully": "성공적으로 로그아웃되었습니다", + "contentRequired": "내용이 필요합니다", + "inboxItemNotFound": "받은 편지함 항목을 찾을 수 없습니다.", + "inboxItemDeleted": "받은 편지함 항목이 성공적으로 삭제되었습니다", + "contentRequiredString": "내용이 필요하며 문자열이어야 합니다", + "problemCreatingInboxItem": "받은 편지함 항목을 생성하는 데 문제가 발생했습니다.", + "problemUpdatingInboxItem": "받은 편지함 항목을 업데이트하는 데 문제가 발생했습니다.", + "problemDeletingInboxItem": "받은 편지함 항목을 삭제하는 데 문제가 발생했습니다.", + "problemProcessingInboxItem": "받은 편지함 항목을 처리하는 데 문제가 발생했습니다.", + "invalidOrderColumn": "잘못된 주문 열이 지정되었습니다.", + "taskNotFound": "작업을 찾을 수 없습니다.", + "taskNameRequired": "작업 이름이 필요합니다.", + "invalidProject": "잘못된 프로젝트입니다.", + "unableToUpdateTask": "작업을 업데이트할 수 없습니다.", + "taskDeleted": "작업이 성공적으로 삭제되었습니다.", + "failedToGenerateRecurringTasks": "정기 작업 생성에 실패했습니다.", + "failedToUpdateTodayFlag": "작업 오늘 플래그 업데이트에 실패했습니다.", + "noImageProvided": "제공된 이미지 파일이 없습니다.", + "failedToUploadImage": "이미지 업로드에 실패했습니다.", + "projectNotFound": "프로젝트를 찾을 수 없습니다.", + "projectNameRequired": "프로젝트 이름이 필요합니다.", + "projectDeleted": "프로젝트가 성공적으로 삭제되었습니다.", + "noteNotFound": "노트를 찾을 수 없습니다.", + "noteDeleted": "노트가 성공적으로 삭제되었습니다.", + "profileNotFound": "프로필을 찾을 수 없습니다.", + "passwordTooShort": "비밀번호는 최소 6자 이상이어야 합니다.", + "currentPasswordIncorrect": "현재 비밀번호가 올바르지 않습니다.", + "failedToUpdateProfile": "프로필 업데이트에 실패했습니다.", + "passwordChangeRequired": "현재 비밀번호와 새 비밀번호가 필요합니다.", + "passwordChangedSuccessfully": "비밀번호가 성공적으로 변경되었습니다.", + "failedToUpdateTaskSummary": "작업 요약 설정을 업데이트하는 데 실패했습니다.", + "frequencyRequired": "주기가 필요합니다.", + "invalidFrequency": "유효하지 않은 주기 값입니다.", + "failedToStartTelegramPolling": "텔레그램 폴링을 시작하는 데 실패했습니다.", + "failedToStopTelegramPolling": "텔레그램 폴링을 중지하는 데 실패했습니다.", + "invalidTelegramTokenFormat": "유효하지 않은 텔레그램 봇 토큰 형식입니다.", + "invalidBotToken": "유효하지 않은 봇 토큰이거나 봇에 접근할 수 없습니다.", + "chatIdRequired": "채팅 ID가 필요합니다.", + "areaNotFound": "영역을 찾을 수 없거나 현재 사용자에게 속하지 않습니다.", + "areaNameRequired": "영역 이름이 필요합니다.", + "tagNotFound": "태그를 찾을 수 없습니다.", + "tagNameRequired": "태그 이름이 필요합니다.", + "tagDeleted": "태그가 성공적으로 삭제되었습니다.", + "demoModeGoogleCalendar": "데모 모드: 구글 캘린더 통합이 시뮬레이션되었습니다.", + "failedToGenerateAuthUrl": "인증 URL을 생성하는 데 실패했습니다.", + "authCodeNotProvided": "인증 코드가 제공되지 않았습니다.", + "failedToCheckCalendarStatus": "캘린더 상태를 확인하는 데 실패했습니다.", + "failedToFetchCalendarEvents": "캘린더 이벤트를 가져오는 데 실패했습니다.", + "googleCalendarDisconnected": "구글 캘린더 연결이 끊어졌습니다", + "failedToDisconnectCalendar": "캘린더 연결 해제에 실패했습니다", + "urlParameterRequired": "URL 매개변수가 필요합니다", + "couldNotExtractMetadata": "메타데이터를 추출할 수 없습니다", + "textParameterRequired": "텍스트 매개변수가 필요합니다", + "notFound": "찾을 수 없습니다", + "resourceNotFound": "요청한 리소스를 찾을 수 없습니다." + } + }, + "telegram": { + "welcomeMessage": "🎉 tududi에 오신 것을 환영합니다!\n\n당신의 개인 작업 관리 봇이 이제 연결되어 도와줄 준비가 되었습니다!\n\n📝 저에게 아무 메시지나 보내주시면, 그것을 tududi 수신함에 항목으로 추가하겠습니다.\n\n✨ 명령어:\n• /help - 도움말 정보 표시\n• /start - 환영 메시지 표시\n• 아무 텍스트를 입력하세요 - 수신함 항목으로 추가\n\n정리해봅시다! 🚀", + "helpMessage": "📋 tududi 봇 도움말\n\n저에게 아무 텍스트 메시지를 보내주시면, 그것을 tududi 수신함에 항목으로 추가하겠습니다.\n\n명령어:\n/start - 환영 메시지\n/help - 이 도움말 메시지 표시\n\n당신의 항목을 입력하면 나머지는 제가 처리하겠습니다!", + "commandProcessed": "명령이 성공적으로 처리되었습니다", + "messageProcessed": "메시지가 성공적으로 처리되었습니다", + "failedToAddToInbox": "❌ 수신함에 추가하는 데 실패했습니다: {{error}}" } } diff --git a/public/locales/nl/translation.json b/public/locales/nl/translation.json index e4a2684..262c2c0 100644 --- a/public/locales/nl/translation.json +++ b/public/locales/nl/translation.json @@ -38,7 +38,14 @@ "nextActions": "Volgende Acties", "inbox": "Inbox", "completed": "Voltooid", - "allTasks": "Alle Taken" + "allTasks": "Alle Taken", + "addInboxAriaLabel": "Voeg Inbox-item toe", + "addInboxTitle": "Voeg Inbox-item toe", + "addProjectAriaLabel": "Voeg Project toe", + "addProjectTitle": "Voeg Project toe", + "addNoteAriaLabel": "Voeg Notitie toe", + "addNoteTitle": "Voeg Notitie toe", + "createNew": "Maak Nieuw" }, "navigation": { "home": "Home", @@ -128,7 +135,14 @@ "priority": "Prioriteit", "dueDate": "Vervaldatum", "none": "Geen" - } + }, + "justNow": "Net nu", + "minutesAgo": "{{minutes}}m geleden", + "hoursAgo": "{{hours}}u geleden", + "daysAgo": "{{days}}d geleden", + "loadingTimeline": "Tijdlijn laden...", + "timelineWillAppear": "Tijdlijn verschijnt na opslaan", + "noActivity": "Nog geen activiteit" }, "profile": { "settings": "Profielinstellingen", @@ -426,7 +440,9 @@ "task": "Taak", "project": "Project", "note": "Opmerking", - "area": "Gebied" + "area": "Gebied", + "inbox": "Inbox", + "tag": "Label" }, "sort": { "due_date": "Vervaldatum", @@ -445,7 +461,9 @@ "inProgress": "Bezig", "done": "Klaar", "archived": "Gearchiveerd", - "unknown": "Onbekend" + "unknown": "Onbekend", + "telegramConnected": "Telegram verbonden en aan het polleren", + "telegramConnectionProblem": "Probleem met Telegram-verbinding" }, "project": { "name": "Projectnaam", @@ -676,7 +694,13 @@ "thirdWeek": "Derde week", "fourthWeek": "Vierde week", "lastWeek": "Laatste week", - "days": "dagen" + "days": "dagen", + "loadingParentSettings": "Ouder taak herhalingsinstellingen laden...", + "recurringTaskInstance": "Herhalende Taakinstantie", + "inheritedSettingsMessage": "Deze taak is gegenereerd vanuit een terugkerende taak. De hieronder weergegeven terugkerende instellingen zijn geërfd van de oorspronkelijke taak en kunnen hier niet worden bewerkt.", + "cancelEdit": "Annuleer Bewerking", + "editParentRecurrence": "Bewerk Ouder Terugkeer", + "parentEditWarning": "⚠️ U bewerkt de terugkerende instellingen van de oudertaak. Wijzigingen hebben invloed op alle toekomstige instanties van deze terugkerende taak." }, "weekdays": { "sunday": "Zondag", @@ -736,5 +760,111 @@ "low": "Laag", "time": "Tijd", "allDay": "De hele dag" + }, + "pages": { + "notFound": { + "title": "404 - Pagina Niet Gevonden", + "message": "De pagina waar u naar op zoek bent, bestaat niet." + } + }, + "navbar": { + "appName": "tududi", + "quickInboxCapture": "Snelle Inbox Vastlegging", + "userMenu": "Gebruikersmenu", + "collapseSidebar": "Vouw Zijbalk In", + "expandSidebar": "Vouw Zijbalk Uit" + }, + "upload": { + "uploading": "Uploaden..." + }, + "searchPlaceholders": { + "searchProjects": "Zoek projecten...", + "searchTags": "Zoek tags...", + "searchTasks": "Zoek taken..." + }, + "ariaLabels": { + "hideInfo": "Verberg info", + "aboutTasks": "Over Taken", + "hideSearch": "Verberg zoekopdracht", + "searchTasks": "Zoek Taken", + "aboutInbox": "Over Inbox", + "collapseInfoPanel": "Vouw informatiepaneel in", + "showTasksInformation": "Toon takeninformatie", + "collapseSearchPanel": "Vouw zoekpaneel in", + "showSearchInput": "Toon zoekinvoer", + "showInboxInformation": "Toon inboxinformatie" + }, + "api": { + "errors": { + "authenticationRequired": "Authenticatie vereist", + "userNotFound": "Gebruiker niet gevonden", + "authenticationError": "Authenticatie fout", + "internalServerError": "Interne serverfout", + "invalidLoginParameters": "Ongeldige inlogparameters.", + "invalidCredentials": "Ongeldige inloggegevens", + "couldNotLogout": "Kon niet uitloggen", + "loggedOutSuccessfully": "Succesvol uitgelogd", + "contentRequired": "Inhoud is vereist", + "inboxItemNotFound": "Inboxitem niet gevonden.", + "inboxItemDeleted": "Inboxitem succesvol verwijderd", + "contentRequiredString": "Inhoud is vereist en moet een string zijn", + "problemCreatingInboxItem": "Er was een probleem bij het aanmaken van het inboxitem.", + "problemUpdatingInboxItem": "Er was een probleem bij het bijwerken van het inboxitem.", + "problemDeletingInboxItem": "Er was een probleem bij het verwijderen van het inboxitem.", + "problemProcessingInboxItem": "Er was een probleem met het verwerken van het inboxitem.", + "invalidOrderColumn": "Ongeldige volgorde kolom opgegeven.", + "taskNotFound": "Taak niet gevonden.", + "taskNameRequired": "Taaknaam is vereist.", + "invalidProject": "Ongeldig project.", + "unableToUpdateTask": "Kan taak niet bijwerken.", + "taskDeleted": "Taak succesvol verwijderd.", + "failedToGenerateRecurringTasks": "Mislukt om terugkerende taken te genereren.", + "failedToUpdateTodayFlag": "Mislukt om de vandaag-vlag van de taak bij te werken.", + "noImageProvided": "Geen afbeeldingsbestand opgegeven.", + "failedToUploadImage": "Mislukt om afbeelding te uploaden.", + "projectNotFound": "Project niet gevonden.", + "projectNameRequired": "Projectnaam is vereist.", + "projectDeleted": "Project succesvol verwijderd.", + "noteNotFound": "Notitie niet gevonden.", + "noteDeleted": "Notitie succesvol verwijderd.", + "profileNotFound": "Profiel niet gevonden.", + "passwordTooShort": "Wachtwoord moet minimaal 6 tekens zijn.", + "currentPasswordIncorrect": "Huidig wachtwoord is onjuist.", + "failedToUpdateProfile": "Mislukt om profiel bij te werken.", + "passwordChangeRequired": "Huidig wachtwoord en nieuw wachtwoord zijn vereist", + "passwordChangedSuccessfully": "Wachtwoord succesvol gewijzigd", + "failedToUpdateTaskSummary": "Het is niet gelukt om de instellingen voor de taakoverzicht bij te werken.", + "frequencyRequired": "Frequentie is vereist.", + "invalidFrequency": "Ongeldige frequentiewaarde.", + "failedToStartTelegramPolling": "Het is niet gelukt om Telegram polling te starten.", + "failedToStopTelegramPolling": "Het is niet gelukt om Telegram polling te stoppen.", + "invalidTelegramTokenFormat": "Ongeldig Telegram bot token formaat.", + "invalidBotToken": "Ongeldig bot token of bot niet toegankelijk.", + "chatIdRequired": "Chat ID is vereist.", + "areaNotFound": "Gebied niet gevonden of behoort niet tot de huidige gebruiker.", + "areaNameRequired": "Gebiedsnaam is vereist.", + "tagNotFound": "Tag niet gevonden", + "tagNameRequired": "Tagnaam is vereist", + "tagDeleted": "Tag succesvol verwijderd", + "demoModeGoogleCalendar": "Demomodus: Google Calendar-integratie gesimuleerd", + "failedToGenerateAuthUrl": "Het is niet gelukt om de autorisatie-URL te genereren", + "authCodeNotProvided": "Autorisatiecode niet opgegeven", + "failedToCheckCalendarStatus": "Het is niet gelukt om de status van de kalender te controleren", + "failedToFetchCalendarEvents": "Het is niet gelukt om kalender evenementen op te halen", + "googleCalendarDisconnected": "Google Agenda losgekoppeld", + "failedToDisconnectCalendar": "Mislukt om agenda los te koppelen", + "urlParameterRequired": "URL-parameter is vereist", + "couldNotExtractMetadata": "Metadata kon niet worden geëxtraheerd", + "textParameterRequired": "Tekstparameter is vereist", + "notFound": "Niet Gevonden", + "resourceNotFound": "De opgevraagde bron kon niet worden gevonden." + } + }, + "telegram": { + "welcomeMessage": "🎉 Welkom bij tududi!\n\nJe persoonlijke taakbeheerbot is nu verbonden en klaar om te helpen!\n\n📝 Stuur me gewoon een bericht en ik voeg het toe aan je tududi-inbox als een item.\n\n✨ Commando's:\n• /help - Toon hulpinformatie\n• /start - Toon welkomstbericht\n• Typ gewoon enige tekst - Voeg het toe als een inboxitem\n\nLaten we ons organiseren! 🚀", + "helpMessage": "📋 tududi Bot Hulp\n\nStuur me een tekstbericht en ik voeg het toe aan je tududi-inbox als een inboxitem.\n\nCommando's:\n/start - Welkomstbericht\n/help - Toon dit hulpbericht\n\nTyp gewoon je item en ik zorg voor de rest!", + "commandProcessed": "Commando succesvol verwerkt", + "messageProcessed": "Bericht succesvol verwerkt", + "failedToAddToInbox": "❌ Mislukt om toe te voegen aan inbox: {{error}}" } } diff --git a/public/locales/no/translation.json b/public/locales/no/translation.json index 498c270..7a8f335 100644 --- a/public/locales/no/translation.json +++ b/public/locales/no/translation.json @@ -38,7 +38,14 @@ "nextActions": "Neste handlinger", "inbox": "Innboks", "completed": "Fullført", - "allTasks": "Alle oppgaver" + "allTasks": "Alle oppgaver", + "addInboxAriaLabel": "Legg til innboks-element", + "addInboxTitle": "Legg til innboks-element", + "addProjectAriaLabel": "Legg til prosjekt", + "addProjectTitle": "Legg til prosjekt", + "addNoteAriaLabel": "Legg til notat", + "addNoteTitle": "Legg til notat", + "createNew": "Opprett ny" }, "navigation": { "home": "Hjem", @@ -128,7 +135,14 @@ "priority": "Prioritet", "dueDate": "Forfallsdato", "none": "Ingen" - } + }, + "justNow": "Akkurat nå", + "minutesAgo": "{{minutes}}m siden", + "hoursAgo": "{{hours}}t siden", + "daysAgo": "{{days}}d siden", + "loadingTimeline": "Laster tidslinje...", + "timelineWillAppear": "Tidslinjen vil vises etter lagring", + "noActivity": "Ingen aktivitet ennå" }, "profile": { "settings": "Profilinnstillinger", @@ -426,7 +440,9 @@ "task": "Oppgave", "project": "Prosjekt", "note": "Notat", - "area": "Område" + "area": "Område", + "inbox": "Innboks", + "tag": "Tagg" }, "sort": { "due_date": "Forfallsdato", @@ -445,7 +461,9 @@ "inProgress": "Pågår", "done": "Ferdig", "archived": "Arkivert", - "unknown": "Ukjent" + "unknown": "Ukjent", + "telegramConnected": "Telegram tilkoblet og henter data", + "telegramConnectionProblem": "Telegram tilkoblingsproblem" }, "project": { "name": "Prosjektnavn", @@ -676,7 +694,13 @@ "thirdWeek": "Tredje uke", "fourthWeek": "Fjerde uke", "lastWeek": "Siste uke", - "days": "dager" + "days": "dager", + "loadingParentSettings": "Laster innstillinger for gjentakende oppgave...", + "recurringTaskInstance": "Gjentakende oppgaveinstans", + "inheritedSettingsMessage": "Denne oppgaven ble generert fra en gjentakende oppgave. Innstillingene for gjentakelse som vises nedenfor er arvet fra den opprinnelige oppgaven og kan ikke redigeres her.", + "cancelEdit": "Avbryt redigering", + "editParentRecurrence": "Rediger overordnet gjentakelse", + "parentEditWarning": "⚠️ Du redigerer innstillingene for gjentakelse av den overordnede oppgaven. Endringer vil påvirke alle fremtidige instanser av denne gjentakende oppgaven." }, "weekdays": { "sunday": "Søndag", @@ -736,5 +760,111 @@ "low": "Lav", "time": "Tid", "allDay": "Hele dagen" + }, + "pages": { + "notFound": { + "title": "404 - Side ikke funnet", + "message": "Siden du leter etter eksisterer ikke." + } + }, + "navbar": { + "appName": "tududi", + "quickInboxCapture": "Rask innboksopptak", + "userMenu": "Brukermeny", + "collapseSidebar": "Lukk sidepanel", + "expandSidebar": "Utvid sidepanel" + }, + "upload": { + "uploading": "Laster opp..." + }, + "searchPlaceholders": { + "searchProjects": "Søk prosjekter...", + "searchTags": "Søk etter merkelapper...", + "searchTasks": "Søk oppgaver..." + }, + "ariaLabels": { + "hideInfo": "Skjul info", + "aboutTasks": "Om oppgaver", + "hideSearch": "Skjul søk", + "searchTasks": "Søk oppgaver", + "aboutInbox": "Om innboks", + "collapseInfoPanel": "Kollaps info-panel", + "showTasksInformation": "Vis oppgaveinformasjon", + "collapseSearchPanel": "Kollaps søk-panel", + "showSearchInput": "Vis søkefelt", + "showInboxInformation": "Vis innboksinformasjon" + }, + "api": { + "errors": { + "authenticationRequired": "Autentisering kreves", + "userNotFound": "Bruker ikke funnet", + "authenticationError": "Autentiseringsfeil", + "internalServerError": "Intern serverfeil", + "invalidLoginParameters": "Ugyldige påloggingsparametere.", + "invalidCredentials": "Ugyldige legitimasjon", + "couldNotLogout": "Kunne ikke logge ut", + "loggedOutSuccessfully": "Logget ut med suksess", + "contentRequired": "Innhold er påkrevd", + "inboxItemNotFound": "Innboks-element ikke funnet.", + "inboxItemDeleted": "Innboks-elementet ble slettet med suksess", + "contentRequiredString": "Innhold er påkrevd og må være en streng", + "problemCreatingInboxItem": "Det oppstod et problem med å opprette innboks-elementet.", + "problemUpdatingInboxItem": "Det oppstod et problem med å oppdatere innboks-elementet.", + "problemDeletingInboxItem": "Det oppstod et problem med å slette innboks-elementet.", + "problemProcessingInboxItem": "Det oppstod et problem med å behandle innboks-elementet.", + "invalidOrderColumn": "Ugyldig bestillingskolonne spesifisert.", + "taskNotFound": "Oppgave ikke funnet.", + "taskNameRequired": "Oppgavenavn er påkrevd.", + "invalidProject": "Ugyldig prosjekt.", + "unableToUpdateTask": "Kan ikke oppdatere oppgaven", + "taskDeleted": "Oppgaven ble slettet.", + "failedToGenerateRecurringTasks": "Kunne ikke generere gjentakende oppgaver", + "failedToUpdateTodayFlag": "Kunne ikke oppdatere dagens flagg for oppgaven", + "noImageProvided": "Ingen bildefil gitt", + "failedToUploadImage": "Kunne ikke laste opp bildet", + "projectNotFound": "Prosjekt ikke funnet", + "projectNameRequired": "Prosjektnavn er påkrevd", + "projectDeleted": "Prosjektet ble slettet.", + "noteNotFound": "Notat ikke funnet.", + "noteDeleted": "Notatet ble slettet.", + "profileNotFound": "Profil ikke funnet.", + "passwordTooShort": "Passordet må være minst 6 tegn", + "currentPasswordIncorrect": "Nåværende passord er feil", + "failedToUpdateProfile": "Kunne ikke oppdatere profilen.", + "passwordChangeRequired": "Nåværende passord og nytt passord er påkrevd", + "passwordChangedSuccessfully": "Passordet ble endret med suksess", + "failedToUpdateTaskSummary": "Kunne ikke oppdatere innstillingene for oppgaveoppsummering.", + "frequencyRequired": "Frekvens er påkrevd.", + "invalidFrequency": "Ugyldig frekvensverdi.", + "failedToStartTelegramPolling": "Kunne ikke starte Telegram polling.", + "failedToStopTelegramPolling": "Kunne ikke stoppe Telegram polling.", + "invalidTelegramTokenFormat": "Ugyldig format for Telegram-bot-token.", + "invalidBotToken": "Ugyldig bot-token eller bot er ikke tilgjengelig.", + "chatIdRequired": "Chat-ID er påkrevd.", + "areaNotFound": "Område ikke funnet eller tilhører ikke den nåværende brukeren.", + "areaNameRequired": "Områdenavn er påkrevd.", + "tagNotFound": "Tagg ikke funnet", + "tagNameRequired": "Taggnavn er påkrevd", + "tagDeleted": "Tagg ble slettet med suksess", + "demoModeGoogleCalendar": "Demomodus: Google Kalender-integrasjon simulert", + "failedToGenerateAuthUrl": "Kunne ikke generere autorisasjons-URL", + "authCodeNotProvided": "Autorisasjonskode ikke oppgitt", + "failedToCheckCalendarStatus": "Kunne ikke sjekke kalenderstatus", + "failedToFetchCalendarEvents": "Kunne ikke hente kalenderhendelser", + "googleCalendarDisconnected": "Google Kalender frakoblet", + "failedToDisconnectCalendar": "Kunne ikke frakoble kalender", + "urlParameterRequired": "URL-parameter er påkrevd", + "couldNotExtractMetadata": "Kunne ikke hente ut metadata", + "textParameterRequired": "Tekstparameter er påkrevd", + "notFound": "Ikke funnet", + "resourceNotFound": "Den forespurte ressursen kunne ikke bli funnet." + } + }, + "telegram": { + "welcomeMessage": "🎉 Velkommen til tududi!\n\nDin personlige oppgavehåndteringsbot er nå koblet til og klar til å hjelpe!\n\n📝 Bare send meg en hvilken som helst melding, så legger jeg den til din tududi innboks som et element.\n\n✨ Kommandoer:\n• /help - Vis hjelpeinformasjon\n• /start - Vis velkomstmelding\n• Bare skriv inn hvilken som helst tekst - Legg den til som et innbokselement\n\nLa oss bli organiserte! 🚀", + "helpMessage": "📋 tududi Bot Hjelp\n\nSend meg en hvilken som helst tekstmelding, så legger jeg den til din tududi innboks som et innbokselement.\n\nKommandoer:\n/start - Velkomstmelding\n/help - Vis denne hjelpebeskjeden\n\nBare skriv inn elementet ditt, så tar jeg meg av resten!", + "commandProcessed": "Kommando behandlet vellykket", + "messageProcessed": "Beskjed behandlet vellykket", + "failedToAddToInbox": "❌ Kunne ikke legge til i innboksen: {{error}}" } } diff --git a/public/locales/pl/translation.json b/public/locales/pl/translation.json index 0967ef4..c86693a 100644 --- a/public/locales/pl/translation.json +++ b/public/locales/pl/translation.json @@ -1 +1,850 @@ -{} +{ + "common": { + "save": "Zapisz", + "cancel": "Anuluj", + "delete": "Usuń", + "edit": "Edytuj", + "create": "Utwórz", + "submit": "Wyślij", + "close": "Zamknij", + "back": "Wstecz", + "next": "Dalej", + "loading": "Ładowanie...", + "appLoading": "Ładowanie aplikacji... Proszę czekać.", + "completed": "Zakończono", + "error": "Błąd", + "success": "Sukces", + "area": "Obszar", + "status": "Status", + "saving": "Zapisywanie...", + "settings": "Ustawienia", + "none": "Brak" + }, + "sidebar": { + "dashboard": "Panel sterowania", + "projects": "Projekty", + "tasks": "Zadania", + "calendar": "Kalendarz", + "notes": "Notatki", + "settings": "Ustawienia", + "areas": "Obszary", + "tags": "Tagi", + "addAreaAriaLabel": "Dodaj obszar", + "addAreaTitle": "Dodaj obszar", + "addTagAriaLabel": "Dodaj tag", + "addTagTitle": "Dodaj tag", + "today": "Dziś", + "upcoming": "Nadchodzące", + "nextActions": "Następne działania", + "inbox": "Skrzynka odbiorcza", + "completed": "Zrealizowane", + "allTasks": "Wszystkie zadania", + "addInboxAriaLabel": "Dodaj element do skrzynki odbiorczej", + "addInboxTitle": "Dodaj element do skrzynki odbiorczej", + "addProjectAriaLabel": "Dodaj projekt", + "addProjectTitle": "Dodaj projekt", + "addNoteAriaLabel": "Dodaj notatkę", + "addNoteTitle": "Dodaj notatkę", + "createNew": "Utwórz nowy" + }, + "navigation": { + "home": "Strona główna", + "dashboard": "Panel sterowania", + "profile": "Profil", + "profileSettings": "Ustawienia profilu", + "settings": "Ustawienia", + "about": "O aplikacji", + "logout": "Wyloguj się" + }, + "settings": { + "todayPageSettings": "Ustawienia strony dzisiaj", + "showDailyQuote": "Pokaż codzienny cytat", + "showMetrics": "Pokaż metryki", + "showProductivity": "Pokaż wgląd w produktywność", + "showIntelligence": "Pokaż sugestie inteligencji", + "showNextTaskSuggestion": "Sugestia następnego zadania", + "showSuggestions": "Pokaż sugestie", + "showDueToday": "Pokaż zadania do wykonania dzisiaj", + "showCompleted": "Pokaż ukończone zadania" + }, + "dashboard": { + "overview": "Przegląd", + "sameAsYesterday": "Tak samo jak wczoraj", + "betterThanYesterday": "{{percentage}}% więcej niż wczoraj", + "worseThanYesterday": "{{percentage}}% mniej niż wczoraj", + "sameAsAverage": "Tak samo jak średnia", + "betterThanAverage": "{{percentage}}% więcej niż średnia", + "worseThanAverage": "{{percentage}}% mniej niż średnia", + "metrics": "Metryki", + "showMetrics": "Pokaż metryki", + "hideMetrics": "Ukryj metryki", + "insights": "Spostrzeżenia", + "showInsights": "Pokaż spostrzeżenia", + "hideInsights": "Ukryj spostrzeżenia", + "intelligence": "Inteligencja", + "showIntelligence": "Pokaż sugestie inteligencji", + "hideIntelligence": "Ukryj sugestie inteligencji", + "completed": "Zakończone", + "showCompleted": "Pokaż zakończone zadania", + "hideCompleted": "Ukryj zakończone zadania" + }, + "tasks": { + "title": "Zadania", + "today": "Dziś", + "backlog": "Zaległości", + "inProgress": "W trakcie", + "dueToday": "Termin dzisiaj", + "stale": "Nieaktualne", + "suggested": "Sugerowane", + "completedToday": "Zakończone dzisiaj", + "weeklyCompletions": "Postęp tygodniowy", + "taskCompleted": "zadanie ukończone", + "tasksCompleted": "zadania ukończone", + "noTasksAvailable": "Brak dostępnych zadań.", + "searchPlaceholder": "Szukaj zadań...", + "addNewTask": "Dodaj nowe zadanie", + "metrics": "Metryki", + "myPlanToday": "Mój plan na dzisiaj", + "noPlanToday": "Brak zadań zaplanowanych na dzisiaj", + "addToPlanHint": "Kliknij ikonę 🗓 'dodaj do planu na dzisiaj' po prawej stronie każdego zadania, aby dodać je tutaj", + "blankSlateHint": "Zacznij od utworzenia nowego zadania lub zmiany filtrów.", + "addToToday": "Dodaj do planu na dzisiaj", + "removeFromToday": "Usuń z planu na dzisiaj", + "setInProgress": "Ustaw jako w trakcie", + "setNotStarted": "Ustaw jako nie rozpoczęte" + }, + "timeline": { + "activityTimeline": "Oś czasu aktywności", + "showActivityTimeline": "Pokaż oś czasu aktywności", + "hideActivityTimeline": "Ukryj oś czasu aktywności", + "hideTimeline": "Ukryj oś czasu", + "failedToLoad": "Nie udało się załadować osi czasu", + "events": { + "taskCreated": "Zadanie utworzone", + "statusChanged": "Status zmieniony", + "priorityChanged": "Priorytet zmieniony", + "dueDateChanged": "Termin zmieniony", + "nameUpdated": "Nazwa zaktualizowana", + "descriptionUpdated": "Opis zaktualizowany", + "noteUpdated": "Notatka zaktualizowana", + "projectChanged": "Projekt zmieniony", + "tagsUpdated": "Tagi zaktualizowane", + "taskArchived": "Zadanie zarchiwizowane", + "todayFlagChanged": "Flaga dzisiaj zmieniona", + "status": "Status", + "priority": "Priorytet", + "dueDate": "Termin", + "none": "Brak" + }, + "justNow": "Właśnie teraz", + "minutesAgo": "{{minutes}}m temu", + "hoursAgo": "{{hours}}h temu", + "daysAgo": "{{days}}d temu", + "loadingTimeline": "Ładowanie osi czasu...", + "timelineWillAppear": "Oś czasu pojawi się po zapisaniu", + "noActivity": "Brak aktywności" + }, + "profile": { + "settings": "Ustawienia profilu", + "language": "Język", + "theme": "Motyw", + "notifications": "Powiadomienia", + "english": "Angielski", + "spanish": "Hiszpański", + "greek": "Grecki", + "japanese": "Japoński", + "ukrainian": "Ukraiński", + "deutsch": "Niemiecki", + "italian": "Włoski", + "french": "Francuski", + "russian": "Rosyjski", + "turkish": "Turecki", + "korean": "Koreański", + "vietnamese": "Wietnamski", + "arabic": "Arabski", + "dutch": "Holenderski", + "romanian": "Rumuński", + "chinese": "Chiński", + "portuguese": "Portugalski", + "indonesian": "Indonezyjski", + "bulgarian": "Bułgarski", + "danish": "Duński", + "finnish": "Fiński", + "norwegian": "Norweski", + "polish": "Polski", + "slovenian": "Słoweński", + "swedish": "Szwedzki", + "title": "Ustawienia profilu", + "appearance": "Wygląd", + "lightMode": "Tryb jasny", + "darkMode": "Tryb ciemny", + "light": "Jasny", + "dark": "Ciemny", + "timezone": "Strefa czasowa", + "saveChanges": "Zapisz zmiany", + "successMessage": "Profil zaktualizowany pomyślnie!", + "languageChangedNote": "Zmiany języka są stosowane natychmiast", + "languageChanging": "Zmiana języka...", + "languagePreference": "Preferencje językowe", + "personalInfo": "Informacje osobiste", + "errorMessage": "Nie udało się zaktualizować profilu", + "telegramIntegration": "Integracja z Telegramem", + "telegramDescription": "Połącz swoje konto tududi z botem Telegram, aby dodawać elementy do swojej skrzynki odbiorczej za pomocą wiadomości Telegram.", + "telegramBotToken": "Token bota Telegram", + "telegramTokenDescription": "Utwórz bota za pomocą @BotFather na Telegramie i wklej token tutaj.", + "telegramConnected": "Twoje konto Telegram jest połączone! Wyślij wiadomości do swojego bota, aby dodać elementy do swojej skrzynki odbiorczej tududi.", + "setupTelegram": "Konfiguracja Telegramu", + "setupTelegramLower": "konfiguracja telegramu", + "settingUp": "Konfigurowanie...", + "telegramSetupSuccess": "Bot Telegram \"{{botName}}\" skonfigurowany pomyślnie!", + "telegramSetupFailed": "Nie udało się skonfigurować bota Telegram.", + "invalidTelegramToken": "Nieprawidłowy format tokenu bota Telegram.", + "telegramInstructions": "Przejdź do https://t.me/{{botUsername}} i zacznij czatować ze swoim botem, aby połączyć go z kontem tududi.", + "botConfigured": "Bot skonfigurowany pomyślnie!", + "botUsername": "Nazwa użytkownika bota:", + "pollingStatus": "Status polling:", + "pollingActive": "Aktywny - Odbieranie wiadomości", + "pollingInactive": "Nieaktywny - Nie odbieram wiadomości", + "pollingNote": "Polling okresowo sprawdza nowe wiadomości z Telegramu i dodaje je do Twojej skrzynki odbiorczej.", + "pollingDescription": "Polling okresowo sprawdza nowe wiadomości z Telegramu i dodaje je do Twojej skrzynki odbiorczej.", + "startPolling": "Rozpocznij polling", + "stopPolling": "Zatrzymaj polling", + "startPollingLower": "rozpocznij polling", + "stopPollingLower": "zatrzymaj polling", + "pollingStarted": "Rozpoczęto polling Telegram", + "pollingStopped": "Zatrzymano polling Telegram", + "pollingError": "Błąd zarządzania pollingiem Telegram", + "startPollingFailed": "Nie udało się rozpocząć pollingu", + "stopPollingFailed": "Nie udało się zatrzymać pollingu", + "openTelegram": "Otwórz w Telegramie", + "openInTelegram": "otwórz w telegramie", + "testTelegramMessage": "Test Telegram", + "testMessageSent": "Wiadomość testowa została pomyślnie wysłana!", + "testMessageFailed": "Nie udało się wysłać wiadomości testowej.", + "testMessageError": "Błąd podczas wysyłania wiadomości testowej.", + "taskSummaryNotifications": "Powiadomienia o podsumowaniu zadań", + "taskSummaryDescription": "Otrzymuj regularne podsumowania swoich zadań za pośrednictwem Telegramu. Ta funkcja wymaga skonfigurowania integracji z Telegramem.", + "enableTaskSummaries": "Włącz podsumowania zadań", + "enableTaskSummary": "Włącz podsumowania zadań", + "summaryFrequency": "Częstotliwość podsumowania", + "summaryFrequencyDescription": "Wybierz, jak często chcesz otrzymywać podsumowania zadań", + "sendTestSummary": "Wyślij testowe podsumowanie", + "frequency": { + "1h": "1 godzina", + "2h": "2 godziny", + "4h": "4 godziny", + "8h": "8 godzin", + "12h": "12 godzin", + "daily": "1 dzień", + "weekly": "1 tydzień" + }, + "frequencyHelp": "Wybierz, jak często chcesz otrzymywać podsumowania zadań", + "taskIntelligence": "Inteligencja Zadań", + "taskIntelligenceDescription": "Uzyskaj pomocne sugestie, aby nadać nazwom zadań bardziej opisowy i praktyczny charakter.", + "enableTaskIntelligence": "Włącz Asystenta Inteligencji Zadań", + "autoSuggestNextActions": "Automatyczne Sugestie Następnych Działań", + "autoSuggestNextActionsDescription": "Podczas tworzenia projektu automatycznie sugeruj następne fizyczne działanie do podjęcia.", + "enableAutoSuggestNextActions": "Włącz Sugestie Następnych Działań", + "productivityFeatures": "Funkcje Produktywności", + "pomodoroDescription": "Włącz timer Pomodoro w pasku nawigacyjnym dla skoncentrowanych sesji pracy.", + "enablePomodoro": "Włącz Timer Pomodoro", + "productivityAssistant": "Asystent Produktywności", + "productivityAssistantDescription": "Wyświetl informacje o produktywności, które pomagają zidentyfikować zastoje w projektach, niejasne zadania i możliwości poprawy przepływu pracy na stronie Dzisiaj.", + "enableProductivityAssistant": "Włącz Informacje o Produktywności", + "nextTaskSuggestion": "Sugestia Następnego Zadania", + "nextTaskSuggestionDescription": "Automatycznie sugeruj następną najlepszą zadanie do wykonania, gdy nie masz nic w toku, priorytetowo traktując zadania do wykonania dzisiaj, a następnie sugerowane zadania z Twojej strony Dzisiaj.", + "enableNextTaskSuggestion": "Włącz sugestie następnych zadań", + "nextActionPrompt": "Jaka jest następna fizyczna akcja dla tego projektu?", + "nextActionPlaceholder": "np. Zadzwoń do klienta, aby umówić spotkanie, Zbadaj konkurencję online, Utwórz folder projektu...", + "addNextAction": "Dodaj Następną Akcję", + "skipNextAction": "Pomiń na razie", + "nextActionHint": "Pomyśl o najmniejszym, najbardziej konkretnym kroku, który możesz podjąć teraz, aby posunąć ten projekt do przodu.", + "tabs": { + "general": "Ogólne", + "security": "Bezpieczeństwo", + "productivity": "Produktywność", + "telegram": "Telegram", + "ai": "Funkcje AI" + }, + "security": "Ustawienia Bezpieczeństwa", + "changePassword": "Zmień Hasło", + "currentPassword": "Aktualne Hasło", + "newPassword": "Nowe Hasło", + "confirmPassword": "Potwierdź Nowe Hasło", + "enterCurrentPassword": "Wprowadź swoje aktualne hasło", + "enterNewPassword": "Wprowadź swoje nowe hasło", + "confirmNewPassword": "Potwierdź swoje nowe hasło", + "currentPasswordRequired": "Wymagane jest aktualne hasło", + "newPasswordRequired": "Wymagane jest nowe hasło", + "passwordTooShort": "Hasło musi mieć co najmniej 6 znaków", + "passwordMismatch": "Hasła nie pasują do siebie", + "passwordChangeError": "Nie udało się zmienić hasła", + "passwordChangeSuccess": "Hasło zmienione pomyślnie!", + "changingPassword": "Zmiana hasła...", + "accountSettings": "Ustawienia konta i preferencje", + "aiProductivityFeatures": "Funkcje AI i produktywności", + "botSetup": "Konfiguracja bota", + "passwordChangeNote": "Zmiany hasła zostaną zapisane po kliknięciu \"Zapisz zmiany\" na dole formularza.", + "passwordChangeOptional": "Pozostaw puste pola hasła, aby zaktualizować inne ustawienia bez zmiany hasła." + }, + "productivity": { + "stalledProjects": "Zatrzymane projekty", + "stalledProjectsDesc": "Te projekty nie mają zadań ani działań", + "needsNextAction": "Projekty wymagają następnego działania", + "needsNextActionDesc": "Te projekty mają zakończone zadania, ale brak następnego działania", + "tasksAreProjects": "Zadania, które wyglądają jak projekty", + "tasksAreProjectsDesc": "Te zadania mogą wymagać podziału", + "vagueTasks": "Zadania bez wyraźnego działania", + "vagueTasksDesc": "Te zadania potrzebują jaśniejszych czasowników działania", + "staleTasks": "Nieaktualne zadania", + "staleTasksDesc": "Zadania nieaktualizowane przez {{days}} dni", + "stuckProjects": "Zablokowane projekty", + "stuckProjectsDesc": "Projekty nieaktualizowane ostatnio", + "issuesFound": "Znaleziono {{count}} problem(ów) z produktywnością, które wymagają uwagi", + "reviewItems": "Kliknij, aby przejrzeć i poprawić swój przepływ pracy", + "suggestion": "Kliknij na dowolny element powyżej, aby go otworzyć i wprowadzić poprawki." + }, + "nextTask": { + "suggestion": "Ponieważ nic nie jest w toku, co powiesz na rozpoczęcie od", + "suggestionTodayPlan": "Ponieważ nic nie jest w toku, co powiesz na rozpoczęcie od tego zadania z twojego dzisiejszego planu", + "suggestionDueToday": "Ponieważ nic nie jest w toku, co powiesz na rozpoczęcie od tego zadania, które jest terminowe dzisiaj", + "suggestionSuggested": "Ponieważ nic nie jest w toku, co powiesz na rozpoczęcie od tego sugerowanego zadania", + "letsDoIt": "Tak, zróbmy to!", + "starting": "Rozpoczynanie...", + "startedSuccessfully": "Zadanie rozpoczęte pomyślnie!", + "giveMeSomethingElse": "Daj mi coś innego" + }, + "modals": { + "confirmDelete": "Czy na pewno chcesz usunąć?", + "taskCreation": "Utwórz nowe zadanie", + "taskEdit": "Edytuj zadanie", + "deleteTask": { + "title": "Usuń zadanie", + "confirmation": "Czy na pewno chcesz usunąć to zadanie? Ta akcja nie może być cofnięta." + }, + "noteCreation": "Utwórz nową notatkę", + "noteEdit": "Edytuj notatkę", + "updateNote": "Aktualizuj notatkę", + "createNote": "Utwórz notatkę", + "submitting": "Przesyłanie...", + "areaCreation": "Utwórz nowy obszar", + "areaEdit": "Edytuj obszar", + "updateArea": "Aktualizuj obszar", + "createArea": "Utwórz obszar", + "updateTag": "Aktualizuj tag", + "createTag": "Utwórz tag", + "createProject": "Utwórz projekt", + "updateProject": "Aktualizuj projekt", + "deleteTag": { + "title": "Usuń tag", + "message": "Czy na pewno chcesz usunąć tag \"{{tagName}}\"?" + }, + "deleteArea": { + "title": "Usuń obszar", + "message": "Czy na pewno chcesz usunąć obszar \"{{areaName}}\"?" + }, + "deleteNote": { + "title": "Usuń notatkę", + "message": "Czy na pewno chcesz usunąć notatkę \"{{noteTitle}}\"?" + }, + "deleteProject": { + "title": "Usuń projekt", + "message": "Czy na pewno chcesz usunąć projekt \"{{projectName}}\"?" + } + }, + "forms": { + "title": "Tytuł", + "description": "Opis", + "dueDate": "Termin", + "priority": "Priorytet", + "status": "Status", + "assignedTo": "Przydzielone do", + "category": "Kategoria", + "tags": "Tagi", + "required": "To pole jest wymagane", + "optional": "Opcjonalne", + "task": { + "namePlaceholder": "Dodaj nazwę zadania", + "statusAndOptions": "Status i opcje", + "recurrence": "Powtarzalność", + "labels": { + "tags": "Tagi", + "project": "Projekt", + "status": "Status", + "priority": "Priorytet", + "dueDate": "Termin", + "note": "Notatka", + "recurrenceType": "Powtórz", + "recurrenceInterval": "Co", + "weekday": "W dniu", + "monthDay": "Dzień miesiąca", + "weekOfMonth": "Tydzień miesiąca", + "recurrenceEndDate": "Data zakończenia (opcjonalnie)", + "completionBased": "Powtórz po zakończeniu" + }, + "projectSearchPlaceholder": "Szukaj lub utwórz projekt...", + "noMatchingProjects": "Brak pasujących projektów", + "creatingProject": "Tworzenie...", + "createProject": "+ Utwórz", + "recurrenceSettings": "Ustawienia powtórzeń", + "completionBasedHelp": "Jeśli zaznaczone, następne zadanie zostanie utworzone na podstawie daty zakończenia, a nie daty wymagalności", + "dueDatePlaceholder": "Wybierz datę wymagalności", + "endDatePlaceholder": "Wybierz datę zakończenia", + "nameHelper": { + "title": "Uczyń to bardziej opisowym!", + "suggestion": "Spróbuj dodać więcej szczegółów, takich jak \"Zadzwoń do dentysty, aby umówić się na wizytę na czyszczenie\", zamiast po prostu \"Zadzwoń do dentysty\"", + "short": "Uczyń to bardziej opisowym!", + "noVerb": "Dodaj czasownik akcji!", + "vague": "Bądź bardziej konkretny!" + }, + "suggestions": { + "short": "Spróbuj być bardziej konkretny w tym, co należy zrobić", + "noVerb": "Jaką konkretną czynność musisz wykonać? Spróbuj zacząć od czasownika.", + "vague": "Spróbuj zacząć od czasownika akcji, takiego jak \"Zadzwoń\", \"Napisz\", \"Zaplanuj\" lub \"Zbadaj\"" + } + }, + "noteTitle": "Tytuł notatki", + "noteContent": "Treść notatki", + "noteTitlePlaceholder": "Wprowadź tytuł notatki", + "noteContentPlaceholder": "Wprowadź treść notatki", + "areaName": "Nazwa obszaru", + "areaDescription": "Opis obszaru", + "areaNamePlaceholder": "Wprowadź nazwę obszaru", + "areaDescriptionPlaceholder": "Wprowadź opis obszaru", + "tagName": "Nazwa tagu", + "tagNamePlaceholder": "Wprowadź nazwę tagu", + "tagInputPlaceholder": "Wpisz, aby dodać tag", + "createTagOption": "+ Utwórz \"{{tagName}}\"", + "removeTagAriaLabel": "Usuń tag {{tagName}}" + }, + "auth": { + "login": "Zaloguj się", + "register": "Zarejestruj się", + "forgotPassword": "Zapomniałeś hasła", + "email": "Email", + "password": "Hasło", + "confirmPassword": "Potwierdź Hasło", + "username": "Nazwa Użytkownika", + "signup": "Zarejestruj się", + "signin": "Zaloguj się", + "signout": "Wyloguj się", + "resetPassword": "Zresetuj Hasło", + "newPassword": "Nowe Hasło", + "rememberMe": "Zapamiętaj Mnie", + "loginSuccess": "Logowanie Udane", + "loginFailed": "Logowanie Nieudane", + "logoutSuccess": "Wylogowanie Udane" + }, + "dropdown": { + "createNew": "Utwórz Nowy", + "task": "Zadanie", + "project": "Projekt", + "note": "Notatka", + "area": "Obszar", + "inbox": "Skrzynka odbiorcza", + "tag": "Tag" + }, + "sort": { + "due_date": "Termin", + "name": "Nazwa", + "priority": "Priorytet", + "status": "Status", + "created_at": "Utworzono" + }, + "priority": { + "low": "Niski", + "medium": "Średni", + "high": "Wysoki" + }, + "status": { + "notStarted": "Nie rozpoczęto", + "inProgress": "W trakcie", + "done": "Zrobione", + "archived": "Zarchiwizowane", + "unknown": "Nieznany", + "telegramConnected": "Telegram połączony i sprawdzanie", + "telegramConnectionProblem": "Problem z połączeniem Telegram" + }, + "project": { + "name": "Nazwa projektu", + "projectImage": "Obraz projektu", + "uploadImageHint": "Prześlij obraz dla swojego projektu (maks. 5MB)", + "browseImage": "Przeglądaj obraz", + "noNotes": "Brak notatek dla tego projektu.", + "deleteProject": "Usuń projekt", + "createSuccess": "Projekt został pomyślnie utworzony!" + }, + "errors": { + "required": "To pole jest wymagane", + "invalidEmail": "Nieprawidłowy adres e-mail", + "projectCreationFailed": "Nie udało się utworzyć projektu.", + "passwordMismatch": "Hasła nie pasują do siebie", + "minLength": "Minimalna długość to {{length}} znaków", + "maxLength": "Maksymalna długość to {{length}} znaków", + "serverError": "Błąd serwera, spróbuj ponownie później", + "networkError": "Błąd sieci, sprawdź swoje połączenie", + "somethingWentWrong": "Coś poszło nie tak, spróbuj ponownie", + "taskFetch": "Nie udało się pobrać zadań.", + "projectFetch": "Nie udało się pobrać projektów.", + "taskCreate": "Nie udało się utworzyć zadania.", + "taskUpdate": "Nie udało się zaktualizować zadania.", + "taskDelete": "Nie udało się usunąć zadania.", + "noteTitleRequired": "Tytuł notatki jest wymagany.", + "failedToLoadTags": "Nie udało się załadować dostępnych tagów.", + "failedToSaveNote": "Nie udało się zapisać notatki.", + "areaNameRequired": "Nazwa obszaru jest wymagana.", + "failedToSaveArea": "Nie udało się zapisać obszaru.", + "tagNameRequired": "Nazwa tagu jest wymagana.", + "failedToSaveTag": "Nie udało się zapisać tagu.", + "projectNameRequired": "Nazwa projektu jest wymagana.", + "projectSaveFailed": "Nie udało się zapisać projektu." + }, + "inbox": { + "title": "Skrzynka odbiorcza", + "empty": "Twoja skrzynka odbiorcza jest pusta", + "emptyDescription": "Szybko zapisuj myśli i pomysły, używając ikony ⚡ w górnym pasku nawigacyjnym lub przycisku + w pasku bocznym", + "description": "Skrzynka odbiorcza to miejsce, w którym znajdują się wszystkie nieprzypisane zadania. Zadania, które nie zostały przypisane do projektu lub nie mają daty wykonania, będą się tutaj pojawiać. To jest twoja strefa 'wyrzucania myśli', w której możesz szybko zapisać zadania i zorganizować je później.", + "captureThought": "Zapisz swoją myśl...", + "saveToInbox": "Zapisz do skrzynki odbiorczej", + "itemAdded": "Element dodany do skrzynki odbiorczej", + "itemProcessed": "Element przetworzony", + "itemDeleted": "Element usunięty", + "itemUpdated": "Element zaktualizowany", + "newTelegramItem": "Nowy element z Telegramu: {{content}}", + "newItem": "Nowy element w skrzynce odbiorczej dodany: {{content}}", + "multipleNewItems": "{{count}} dodatkowych nowych elementów dodano", + "loadError": "Nie udało się załadować elementów skrzynki odbiorczej", + "addError": "Nie udało się dodać elementu do skrzynki odbiorczej", + "processError": "Nie udało się przetworzyć elementu skrzynki odbiorczej", + "deleteError": "Nie udało się usunąć elementu skrzynki odbiorczej", + "updateError": "Nie udało się zaktualizować elementu skrzynki odbiorczej", + "contentRequired": "Treść nie może być pusta", + "createTask": "Utwórz zadanie", + "createProject": "Utwórz projekt", + "createNote": "Utwórz notatkę", + "convertTo": "Konwertuj na", + "unprocessedItems": "Masz {{count}} element(ów) w swojej skrzynce odbiorczej", + "processNow": "Przetwórz teraz", + "deleteConfirmTitle": "Usuń element", + "deleteConfirmMessage": "Czy na pewno chcesz usunąć ten element ze swojej skrzynki odbiorczej? Ta akcja nie może być cofnięta." + }, + "dateFormats": { + "long": "EEEE, d MMMM yyyy", + "short": "d MMM yyyy", + "monthYear": "MMMM yyyy", + "dayMonth": "d MMMM", + "time": "h:mm a", + "dateTime": "d MMM yyyy h:mm a", + "todayHeader": "dddd, d MMMM yyyy" + }, + "dateIndicators": { + "today": "DZIŚ", + "tomorrow": "JUTRO", + "yesterday": "Wczoraj" + }, + "taskViews": { + "project": { + "withName": "Aktualnie przeglądasz wszystkie zadania związane z projektem \"{{projectName}}\". Możesz organizować zadania w ramach tego projektu, ustawiać ich priorytet i śledzić ich realizację. Wykorzystaj tę przestrzeń, aby skupić się na zadaniach, które należą konkretnie do tego projektu.", + "noName": "Przeglądasz zadania dla konkretnego projektu. Wykorzystaj tę przestrzeń do zarządzania i śledzenia zadań związanych z tym projektem." + }, + "today": "To są zadania, które są terminowe na dziś lub zadania, które zaplanowałeś do natychmiastowej uwagi. Wykorzystaj ten widok, aby skupić się na tym, co musi być ukończone dzisiaj. Oznacz zadania jako ukończone, zaktualizuj ich status lub dostosuj terminy, jeśli to konieczne.", + "inbox": "Skrzynka odbiorcza to miejsce, w którym znajdują się wszystkie nieprzypisane zadania. Zadania, które nie zostały przypisane do projektu ani nie mają terminu, pojawią się tutaj. To jest twoja strefa \"wyrzucania myśli\", gdzie możesz szybko zapisać zadania i zorganizować je później.", + "next": "Ten widok pokazuje wszystkie zadania, które można wykonać w najbliższej przyszłości. Te zadania są gotowe do realizacji i nie mają długoterminowych terminów. To dobre miejsce, aby skupić się, gdy chcesz szybko poczynić postępy w zadaniach.", + "upcoming": "Ten widok wyróżnia zadania zaplanowane na nadchodzący tydzień. Pomaga ci przygotować się i wyprzedzić terminy, dając przegląd pracy, którą musisz wykonać w najbliższej przyszłości. Zadania z terminami w ciągu najbliższych 7 dni pojawią się tutaj.", + "someday": "Widok \"Kiedyś\" jest przeznaczony dla zadań, które nie są pilne i nie mają określonego terminu. To są zadania, do których możesz chcieć się zabrać w pewnym momencie, ale nie są priorytetem w tej chwili. Użyj tej sekcji, aby śledzić pomysły lub długoterminowe cele.", + "completed": "Tutaj możesz zobaczyć wszystkie zadania, które ukończyłeś. To świetny sposób, aby przejrzeć swoje osiągnięcia i zastanowić się nad wykonaną pracą. Możesz także znaleźć zadania, które mogą wymagać archiwizacji lub odniesienia w przyszłości.", + "allTasks": "Przeglądasz wszystkie zadania. Obejmuje to zadania z różnych projektów, zadania bez określonych terminów oraz zadania o różnych poziomach priorytetu. Użyj tego widoku, aby uzyskać ogólny przegląd wszystkiego na swojej liście zadań." + }, + "success": { + "noteUpdated": "Notatka zaktualizowana pomyślnie!", + "noteCreated": "Notatka utworzona pomyślnie!", + "areaUpdated": "Obszar zaktualizowany pomyślnie!", + "areaCreated": "Obszar utworzony pomyślnie!", + "tagUpdated": "Tag zaktualizowany pomyślnie!", + "tagCreated": "Tag utworzony pomyślnie!", + "projectCreated": "Projekt utworzony pomyślnie!", + "projectDeleted": "Projekt usunięty pomyślnie!", + "nextActionAdded": "Następna akcja dodana pomyślnie!", + "taskCreated": "Zadanie utworzone pomyślnie!", + "taskUpdated": "Zadanie zaktualizowane pomyślnie!", + "taskDeleted": "Zadanie usunięte pomyślnie!" + }, + "note": { + "title": "Tytuł", + "content": "Treść", + "titlePlaceholder": "Wprowadź tytuł notatki", + "contentPlaceholder": "Wprowadź treść notatki", + "project": "Powiązany projekt (Opcjonalnie)", + "createSuccess": "Notatka została pomyślnie utworzona", + "createError": "Nie udało się utworzyć notatki" + }, + "task": { + "labels": { + "tags": "Tagi", + "project": "Projekt", + "status": "Status", + "priority": "Priorytet", + "dueDate": "Termin", + "note": "Notatka" + }, + "create": "Utwórz", + "addTaskName": "Dodaj nazwę zadania", + "createSuccess": "Zadanie zostało pomyślnie utworzone", + "createError": "Nie udało się utworzyć zadania", + "saveAsTask": "Zapisz jako zadanie", + "updateSuccess": "Zadanie zostało pomyślnie zaktualizowane", + "updateError": "Nie udało się zaktualizować zadania", + "deleteSuccess": "Zadanie zostało pomyślnie usunięte", + "deleteError": "Nie udało się usunąć zadania", + "startedSuccessfully": "Zadanie rozpoczęte pomyślnie!", + "created": "Zadanie", + "createdSuccessfully": "utworzone pomyślnie!", + "updated": "Zadanie", + "updatedSuccessfully": "zaktualizowane pomyślnie!", + "deleted": "Zadanie", + "deletedSuccessfully": "usunięte pomyślnie!", + "suggestions": { + "short": "Spróbuj być bardziej szczegółowy w tym, co należy zrobić" + }, + "nameHelper": { + "title": "Uczyń to bardziej opisowym!", + "suggestion": "Spróbuj dodać więcej szczegółów, takich jak \"Zadzwoń do dentysty, aby umówić się na wizytę na czyszczenie\" zamiast po prostu \"Zadzwoń do dentysty\"" + } + }, + "projects": { + "loading": "Ładowanie projektów...", + "error": "Błąd podczas ładowania projektów", + "searchPlaceholder": "Szukaj projektów...", + "title": "Projekty", + "noProjectsFound": "Nie znaleziono projektów", + "cardViewAriaLabel": "Widok kart", + "listViewAriaLabel": "Widok listy", + "active": "Aktywne", + "inactive": "Nieaktywne", + "metrics": "Projekty", + "filters": { + "active": "Aktywne", + "inactive": "Nieaktywne", + "all": "Wszystkie", + "allAreas": "Wszystkie obszary" + } + }, + "projectItem": { + "edit": "Edytuj", + "delete": "Usuń", + "completion": "Zakończenie", + "completionPercentage": "{{percentage}}% ukończone", + "toggleDropdownMenu": "Przełącz menu rozwijane", + "projectInitials": "Inicjały projektu" + }, + "areas": { + "title": "Obszary", + "noAreasFound": "Nie znaleziono obszarów", + "editAreaAriaLabel": "Edytuj obszar {{name}}", + "editAreaTitle": "Edytuj obszar {{name}}", + "deleteAreaAriaLabel": "Usuń obszar {{name}}", + "deleteAreaTitle": "Usuń obszar {{name}}", + "addArea": "Dodaj obszar", + "loading": "Ładowanie szczegółów obszaru...", + "error": "Błąd podczas ładowania szczegółów obszaru.", + "notFound": "Obszar nie został znaleziony.", + "details": "Szczegóły obszaru", + "viewProjects": "Zobacz projekty w {{name}}" + }, + "notes": { + "loading": "Ładowanie notatek...", + "error": "Błąd podczas ładowania notatek", + "searchPlaceholder": "Szukaj notatek...", + "noNotesFound": "Nie znaleziono notatek", + "title": "Notatki", + "deleteNoteAriaLabel": "Usuń notatkę {{noteTitle}}", + "deleteNoteTitle": "Usuń notatkę {{noteTitle}}", + "editNoteAriaLabel": "Edytuj notatkę {{noteTitle}}", + "editNoteTitle": "Edytuj notatkę {{noteTitle}}" + }, + "tags": { + "loading": "Ładowanie tagów...", + "searchPlaceholder": "Szukaj tagów...", + "title": "Tagi", + "noTagsFound": "Nie znaleziono tagów", + "editTagAriaLabel": "Edytuj tag {{tagName}}", + "editTagTitle": "Edytuj tag {{tagName}}", + "deleteTagAriaLabel": "Usuń tag {{tagName}}", + "deleteTagTitle": "Usuń tag {{tagName}}", + "error": "Błąd podczas pobierania tagu.", + "notFound": "Tag nie został znaleziony.", + "details": "Szczegóły tagu", + "name": "Nazwa", + "status": "Status", + "active": "Aktywny", + "inactive": "Nieaktywny", + "viewTasksWithTag": "Wyświetl zadania z tym tagiem", + "typeToAdd": "Wpisz, aby dodać tag", + "noItemsWithTag": "Nie znaleziono elementów z tym tagiem" + }, + "recurrence": { + "none": "Brak", + "daily": "Codziennie", + "weekly": "Co tydzień", + "monthly": "Co miesiąc", + "monthlyWeekday": "Co miesiąc w dzień roboczy", + "monthlyLastDay": "Co miesiąc w ostatni dzień", + "firstWeek": "Pierwszy tydzień", + "secondWeek": "Drugi tydzień", + "thirdWeek": "Trzeci tydzień", + "fourthWeek": "Czwarty tydzień", + "lastWeek": "Ostatni tydzień", + "days": "dni", + "loadingParentSettings": "Ładowanie ustawień powtarzania zadań nadrzędnych...", + "recurringTaskInstance": "Instancja powtarzającego się zadania", + "inheritedSettingsMessage": "To zadanie zostało wygenerowane z zadania cyklicznego. Ustawienia cyklu pokazane poniżej są dziedziczone z oryginalnego zadania i nie mogą być tutaj edytowane.", + "cancelEdit": "Anuluj edycję", + "editParentRecurrence": "Edytuj cykl rodzica", + "parentEditWarning": "⚠️ Edytujesz ustawienia cyklu zadania rodzica. Zmiany wpłyną na wszystkie przyszłe instancje tego zadania cyklicznego." + }, + "weekdays": { + "sunday": "Niedziela", + "monday": "Poniedziałek", + "tuesday": "Wtorek", + "wednesday": "Środa", + "thursday": "Czwartek", + "friday": "Piątek", + "saturday": "Sobota" + }, + "pomodoro": { + "play": "Odtwórz", + "pause": "Pauza", + "reset": "Resetuj", + "close": "Zamknij", + "complete": "Pomodoro zakończone!", + "completeMessage": "Świetna robota! Czas na przerwę.", + "done": "Zrobione" + }, + "calendar": { + "month": "Miesiąc", + "week": "Tydzień", + "day": "Dzień", + "today": "Dziś", + "addEvent": "Dodaj wydarzenie", + "weekView": "Widok tygodnia", + "dayView": "Widok dnia", + "loadingTasks": "Ładowanie zadań...", + "noEvents": "Brak wydarzeń na ten dzień", + "moreEvents": "więcej", + "googleIntegration": "Integracja z Kalendarzem Google", + "googleDescription": "Połącz swój Kalendarz Google, aby synchronizować wydarzenia i widzieć je obok swoich zadań.", + "googleStatus": "Status", + "notConnected": "Niepołączony", + "connected": "Połączony", + "connectGoogle": "Połącz Kalendarz Google", + "disconnectGoogle": "Odłącz Kalendarz Google", + "connecting": "Łączenie...", + "connectionError": "Nie udało się połączyć z Kalendarzem Google. Proszę spróbować ponownie.", + "disconnectionError": "Nie udało się odłączyć od Kalendarza Google. Proszę spróbować ponownie.", + "taskDetails": "Szczegóły zadania", + "editTask": "Edytuj zadanie", + "goToTasks": "Przejdź do zadań", + "close": "Zamknij", + "title": "Tytuł", + "status": "Status", + "dueDate": "Termin", + "priority": "Priorytet", + "project": "Projekt", + "area": "Obszar", + "description": "Opis", + "created": "Utworzono", + "completed": "Zakończono", + "pending": "Oczekujące", + "high": "Wysoki", + "medium": "Średni", + "low": "Niski", + "time": "Czas", + "allDay": "Cały dzień" + }, + "pages": { + "notFound": { + "title": "404 - Strona nie znaleziona", + "message": "Strona, której szukasz, nie istnieje." + } + }, + "navbar": { + "appName": "tududi", + "quickInboxCapture": "Szybkie przechwytywanie wiadomości", + "userMenu": "Menu użytkownika", + "collapseSidebar": "Zwiń pasek boczny", + "expandSidebar": "Rozwiń pasek boczny" + }, + "upload": { + "uploading": "Przesyłanie..." + }, + "searchPlaceholders": { + "searchProjects": "Szukaj projektów...", + "searchTags": "Szukaj tagów...", + "searchTasks": "Szukaj zadań..." + }, + "ariaLabels": { + "hideInfo": "Ukryj informacje", + "aboutTasks": "O zadaniach", + "hideSearch": "Ukryj wyszukiwanie", + "searchTasks": "Szukaj zadań", + "aboutInbox": "O skrzynce odbiorczej", + "collapseInfoPanel": "Zwiń panel informacji", + "showTasksInformation": "Pokaż informacje o zadaniach", + "collapseSearchPanel": "Zwiń panel wyszukiwania", + "showSearchInput": "Pokaż pole wyszukiwania", + "showInboxInformation": "Pokaż informacje o skrzynce odbiorczej" + }, + "api": { + "errors": { + "authenticationRequired": "Wymagana autoryzacja", + "userNotFound": "Użytkownik nie znaleziony", + "authenticationError": "Błąd autoryzacji", + "internalServerError": "Wewnętrzny błąd serwera", + "invalidLoginParameters": "Nieprawidłowe parametry logowania.", + "invalidCredentials": "Nieprawidłowe dane logowania", + "couldNotLogout": "Nie można się wylogować", + "loggedOutSuccessfully": "Wylogowano pomyślnie", + "contentRequired": "Wymagana jest treść", + "inboxItemNotFound": "Element skrzynki odbiorczej nie znaleziony.", + "inboxItemDeleted": "Element skrzynki odbiorczej został pomyślnie usunięty", + "contentRequiredString": "Wymagana jest treść i musi być ciągiem znaków", + "problemCreatingInboxItem": "Wystąpił problem z utworzeniem elementu skrzynki odbiorczej.", + "problemUpdatingInboxItem": "Wystąpił problem z aktualizacją elementu skrzynki odbiorczej.", + "problemDeletingInboxItem": "Wystąpił problem z usunięciem elementu skrzynki odbiorczej.", + "problemProcessingInboxItem": "Wystąpił problem z przetwarzaniem elementu skrzynki odbiorczej.", + "invalidOrderColumn": "Określono nieprawidłową kolumnę zamówienia.", + "taskNotFound": "Nie znaleziono zadania.", + "taskNameRequired": "Nazwa zadania jest wymagana.", + "invalidProject": "Nieprawidłowy projekt.", + "unableToUpdateTask": "Nie można zaktualizować zadania", + "taskDeleted": "Zadanie zostało pomyślnie usunięte", + "failedToGenerateRecurringTasks": "Nie udało się wygenerować zadań cyklicznych", + "failedToUpdateTodayFlag": "Nie udało się zaktualizować flagi dzisiejszego zadania", + "noImageProvided": "Nie podano pliku obrazu", + "failedToUploadImage": "Nie udało się przesłać obrazu", + "projectNotFound": "Nie znaleziono projektu", + "projectNameRequired": "Nazwa projektu jest wymagana", + "projectDeleted": "Projekt został pomyślnie usunięty", + "noteNotFound": "Nie znaleziono notatki.", + "noteDeleted": "Notatka została pomyślnie usunięta.", + "profileNotFound": "Nie znaleziono profilu.", + "passwordTooShort": "Hasło musi mieć co najmniej 6 znaków", + "currentPasswordIncorrect": "Bieżące hasło jest nieprawidłowe", + "failedToUpdateProfile": "Nie udało się zaktualizować profilu.", + "googleCalendarDisconnected": "Kalendarz Google rozłączony", + "failedToDisconnectCalendar": "Nie udało się rozłączyć kalendarza", + "urlParameterRequired": "Parametr URL jest wymagany", + "couldNotExtractMetadata": "Nie można wyodrębnić metadanych", + "textParameterRequired": "Parametr tekstowy jest wymagany", + "notFound": "Nie znaleziono", + "resourceNotFound": "Żądany zasób nie został znaleziony." + } + }, + "telegram": { + "welcomeMessage": "🎉 Witaj w tududi!\n\nTwój osobisty bot do zarządzania zadaniami jest teraz połączony i gotowy do pomocy!\n\n📝 Po prostu wyślij mi dowolną wiadomość, a dodam ją do Twojej skrzynki odbiorczej tududi jako element.\n\n✨ Komendy:\n• /help - Pokaż informacje pomocnicze\n• /start - Pokaż wiadomość powitalną\n• Po prostu wpisz dowolny tekst - Dodaj go jako element w skrzynce odbiorczej\n\nZorganizujmy się! 🚀", + "helpMessage": "📋 Pomoc Bota tududi\n\nWyślij mi dowolną wiadomość tekstową, a dodam ją do Twojej skrzynki odbiorczej tududi jako element.\n\nKomendy:\n/start - Wiadomość powitalna\n/help - Pokaż tę wiadomość pomocniczą\n\nPo prostu wpisz swój element, a ja zajmę się resztą!", + "commandProcessed": "Polecenie przetworzone pomyślnie", + "messageProcessed": "Wiadomość przetworzona pomyślnie", + "failedToAddToInbox": "❌ Nie udało się dodać do skrzynki odbiorczej: {{error}}" + } +} diff --git a/public/locales/pt/translation.json b/public/locales/pt/translation.json index 6a8089d..4576e96 100644 --- a/public/locales/pt/translation.json +++ b/public/locales/pt/translation.json @@ -38,7 +38,14 @@ "nextActions": "Próximas Ações", "inbox": "Caixa de Entrada", "completed": "Concluído", - "allTasks": "Todas as Tarefas" + "allTasks": "Todas as Tarefas", + "addInboxAriaLabel": "Adicionar Item à Caixa de Entrada", + "addInboxTitle": "Adicionar Item à Caixa de Entrada", + "addProjectAriaLabel": "Adicionar Projeto", + "addProjectTitle": "Adicionar Projeto", + "addNoteAriaLabel": "Adicionar Nota", + "addNoteTitle": "Adicionar Nota", + "createNew": "Criar Novo" }, "navigation": { "home": "Início", @@ -128,7 +135,14 @@ "priority": "Prioridade", "dueDate": "Data de vencimento", "none": "Nenhum" - } + }, + "justNow": "Agora mesmo", + "minutesAgo": "{{minutes}}m atrás", + "hoursAgo": "{{hours}}h atrás", + "daysAgo": "{{days}}d atrás", + "loadingTimeline": "Carregando linha do tempo...", + "timelineWillAppear": "A linha do tempo aparecerá após a salvamento", + "noActivity": "Nenhuma atividade ainda" }, "profile": { "settings": "Configurações do Perfil", @@ -264,7 +278,14 @@ "aiProductivityFeatures": "Recursos de IA e Produtividade", "botSetup": "Configuração do Bot", "passwordChangeNote": "As alterações de senha serão salvas quando você clicar em \"Salvar Alterações\" na parte inferior do formulário.", - "passwordChangeOptional": "Deixe os campos de senha vazios para atualizar outras configurações sem alterar sua senha." + "passwordChangeOptional": "Deixe os campos de senha vazios para atualizar outras configurações sem alterar sua senha.", + "bulgarian": "Búlgaro", + "danish": "Dinamarquês", + "finnish": "Finlandês", + "norwegian": "Norueguês", + "polish": "Polonês", + "slovenian": "Esloveno", + "swedish": "Sueco" }, "productivity": { "stalledProjects": "Projetos Parados", @@ -419,7 +440,9 @@ "task": "Tarefa", "project": "Projeto", "note": "Nota", - "area": "Área" + "area": "Área", + "inbox": "Caixa de Entrada", + "tag": "Etiqueta" }, "sort": { "due_date": "Data de Vencimento", @@ -438,7 +461,9 @@ "inProgress": "Em Progresso", "done": "Concluído", "archived": "Arquivado", - "unknown": "Desconhecido" + "unknown": "Desconhecido", + "telegramConnected": "Telegram conectado e recebendo dados", + "telegramConnectionProblem": "Problema de conexão com o Telegram" }, "project": { "name": "Nome do Projeto", @@ -669,7 +694,13 @@ "thirdWeek": "Terceira semana", "fourthWeek": "Quarta semana", "lastWeek": "Última semana", - "days": "dias" + "days": "dias", + "loadingParentSettings": "Carregando configurações de recorrência da tarefa pai...", + "recurringTaskInstance": "Instância de Tarefa Recorrente", + "inheritedSettingsMessage": "Esta tarefa foi gerada a partir de uma tarefa recorrente. As configurações de recorrência mostradas abaixo são herdadas da tarefa original e não podem ser editadas aqui.", + "cancelEdit": "Cancelar Edição", + "editParentRecurrence": "Editar Recorrência Principal", + "parentEditWarning": "⚠️ Você está editando as configurações de recorrência da tarefa principal. As alterações afetarão todas as instâncias futuras desta tarefa recorrente." }, "weekdays": { "sunday": "Domingo", @@ -729,5 +760,111 @@ "low": "Baixo", "time": "Tempo", "allDay": "O dia todo" + }, + "pages": { + "notFound": { + "title": "404 - Página Não Encontrada", + "message": "A página que você está procurando não existe." + } + }, + "navbar": { + "appName": "tududi", + "quickInboxCapture": "Captura Rápida de Caixa de Entrada", + "userMenu": "Menu do Usuário", + "collapseSidebar": "Colapsar Barra Lateral", + "expandSidebar": "Expandir Barra Lateral" + }, + "upload": { + "uploading": "Carregando..." + }, + "searchPlaceholders": { + "searchProjects": "Pesquisar projetos...", + "searchTags": "Pesquisar tags...", + "searchTasks": "Pesquisar tarefas..." + }, + "ariaLabels": { + "hideInfo": "Ocultar informações", + "aboutTasks": "Sobre Tarefas", + "hideSearch": "Ocultar pesquisa", + "searchTasks": "Pesquisar Tarefas", + "aboutInbox": "Sobre Caixa de Entrada", + "collapseInfoPanel": "Colapsar painel de informações", + "showTasksInformation": "Mostrar informações das tarefas", + "collapseSearchPanel": "Colapsar painel de busca", + "showSearchInput": "Mostrar campo de busca", + "showInboxInformation": "Mostrar informações da caixa de entrada" + }, + "api": { + "errors": { + "authenticationRequired": "Autenticação necessária", + "userNotFound": "Usuário não encontrado", + "authenticationError": "Erro de autenticação", + "internalServerError": "Erro interno do servidor", + "invalidLoginParameters": "Parâmetros de login inválidos.", + "invalidCredentials": "Credenciais inválidas", + "couldNotLogout": "Não foi possível sair", + "loggedOutSuccessfully": "Desconectado com sucesso", + "contentRequired": "Conteúdo é necessário", + "inboxItemNotFound": "Item da caixa de entrada não encontrado.", + "inboxItemDeleted": "Item da caixa de entrada excluído com sucesso", + "contentRequiredString": "Conteúdo é necessário e deve ser uma string", + "problemCreatingInboxItem": "Houve um problema ao criar o item da caixa de entrada.", + "problemUpdatingInboxItem": "Houve um problema ao atualizar o item da caixa de entrada.", + "problemDeletingInboxItem": "Houve um problema ao excluir o item da caixa de entrada.", + "problemProcessingInboxItem": "Houve um problema ao processar o item da caixa de entrada.", + "invalidOrderColumn": "Coluna de ordem inválida especificada.", + "taskNotFound": "Tarefa não encontrada.", + "taskNameRequired": "O nome da tarefa é obrigatório.", + "invalidProject": "Projeto inválido.", + "unableToUpdateTask": "Não foi possível atualizar a tarefa", + "taskDeleted": "Tarefa excluída com sucesso", + "failedToGenerateRecurringTasks": "Falha ao gerar tarefas recorrentes", + "failedToUpdateTodayFlag": "Falha ao atualizar a bandeira de tarefa de hoje", + "noImageProvided": "Nenhum arquivo de imagem fornecido", + "failedToUploadImage": "Falha ao fazer upload da imagem", + "projectNotFound": "Projeto não encontrado", + "projectNameRequired": "O nome do projeto é obrigatório", + "projectDeleted": "Projeto excluído com sucesso", + "noteNotFound": "Nota não encontrada.", + "noteDeleted": "Nota excluída com sucesso.", + "profileNotFound": "Perfil não encontrado.", + "passwordTooShort": "A senha deve ter pelo menos 6 caracteres", + "currentPasswordIncorrect": "A senha atual está incorreta", + "failedToUpdateProfile": "Falha ao atualizar o perfil.", + "passwordChangeRequired": "A senha atual e a nova senha são obrigatórias", + "passwordChangedSuccessfully": "Senha alterada com sucesso", + "failedToUpdateTaskSummary": "Falha ao atualizar as configurações do resumo da tarefa.", + "frequencyRequired": "A frequência é obrigatória.", + "invalidFrequency": "Valor de frequência inválido.", + "failedToStartTelegramPolling": "Falha ao iniciar a coleta do Telegram.", + "failedToStopTelegramPolling": "Falha ao parar a coleta do Telegram.", + "invalidTelegramTokenFormat": "Formato de token do bot do Telegram inválido.", + "invalidBotToken": "Token do bot inválido ou bot inacessível.", + "chatIdRequired": "O ID do chat é obrigatório.", + "areaNotFound": "Área não encontrada ou não pertence ao usuário atual.", + "areaNameRequired": "O nome da área é obrigatório.", + "tagNotFound": "Tag não encontrada", + "tagNameRequired": "O nome da tag é obrigatório", + "tagDeleted": "Tag excluída com sucesso", + "demoModeGoogleCalendar": "Modo de demonstração: integração com o Google Calendar simulada", + "failedToGenerateAuthUrl": "Falha ao gerar a URL de autorização", + "authCodeNotProvided": "Código de autorização não fornecido", + "failedToCheckCalendarStatus": "Falha ao verificar o status do calendário", + "failedToFetchCalendarEvents": "Falha ao buscar eventos do calendário", + "googleCalendarDisconnected": "Google Calendar desconectado", + "failedToDisconnectCalendar": "Falha ao desconectar o calendário", + "urlParameterRequired": "O parâmetro URL é obrigatório", + "couldNotExtractMetadata": "Não foi possível extrair os metadados", + "textParameterRequired": "O parâmetro de texto é obrigatório", + "notFound": "Não Encontrado", + "resourceNotFound": "O recurso solicitado não pôde ser encontrado." + } + }, + "telegram": { + "welcomeMessage": "🎉 Bem-vindo ao tududi!\n\nSeu bot pessoal de gerenciamento de tarefas está agora conectado e pronto para ajudar!\n\n📝 Basta me enviar qualquer mensagem e eu a adicionarei à sua caixa de entrada do tududi como um item.\n\n✨ Comandos:\n• /help - Mostrar informações de ajuda\n• /start - Mostrar mensagem de boas-vindas\n• Basta digitar qualquer texto - Adicioná-lo como um item na caixa de entrada\n\nVamos nos organizar! 🚀", + "helpMessage": "📋 Ajuda do Bot tududi\n\nEnvie-me qualquer mensagem de texto e eu a adicionarei à sua caixa de entrada do tududi como um item.\n\nComandos:\n/start - Mensagem de boas-vindas\n/help - Mostrar esta mensagem de ajuda\n\nBasta digitar seu item e eu cuidarei do resto!", + "commandProcessed": "Comando processado com sucesso", + "messageProcessed": "Mensagem processada com sucesso", + "failedToAddToInbox": "❌ Falha ao adicionar à caixa de entrada: {{error}}" } } diff --git a/public/locales/ro/translation.json b/public/locales/ro/translation.json index 9bfefe0..ae42da2 100644 --- a/public/locales/ro/translation.json +++ b/public/locales/ro/translation.json @@ -38,7 +38,14 @@ "nextActions": "Acțiuni Următoare", "inbox": "Inbox", "completed": "Finalizate", - "allTasks": "Toate Sarcinile" + "allTasks": "Toate Sarcinile", + "addInboxAriaLabel": "Adaugă element în Inbox", + "addInboxTitle": "Adaugă element în Inbox", + "addProjectAriaLabel": "Adaugă Proiect", + "addProjectTitle": "Adaugă Proiect", + "addNoteAriaLabel": "Adaugă Notă", + "addNoteTitle": "Adaugă Notă", + "createNew": "Creează Nou" }, "navigation": { "home": "Acasă", @@ -128,7 +135,14 @@ "priority": "Prioritate", "dueDate": "Data limită", "none": "Niciunul" - } + }, + "justNow": "Chiar acum", + "minutesAgo": "{{minutes}}m în urmă", + "hoursAgo": "{{hours}}h în urmă", + "daysAgo": "{{days}}z în urmă", + "loadingTimeline": "Se încarcă cronologia...", + "timelineWillAppear": "Cronologia va apărea după salvare", + "noActivity": "Nicio activitate încă" }, "profile": { "settings": "Setări profil", @@ -264,7 +278,14 @@ "aiProductivityFeatures": "Funcții AI și de Productivitate", "botSetup": "Configurare Bot", "passwordChangeNote": "Schimbările de parolă vor fi salvate când faceți clic pe \"Salvați modificările\" la baza formularului.", - "passwordChangeOptional": "Lăsați câmpurile pentru parolă goale pentru a actualiza alte setări fără a schimba parola." + "passwordChangeOptional": "Lăsați câmpurile pentru parolă goale pentru a actualiza alte setări fără a schimba parola.", + "bulgarian": "Bulgară", + "danish": "Daneză", + "finnish": "Finlandeză", + "norwegian": "Norvegiană", + "polish": "Poloneză", + "slovenian": "Slovenă", + "swedish": "Suedeză" }, "productivity": { "stalledProjects": "Proiecte Blocate", @@ -419,7 +440,9 @@ "task": "Sarcină", "project": "Proiect", "note": "Notă", - "area": "Domeniu" + "area": "Domeniu", + "inbox": "Inbox", + "tag": "Etichetă" }, "sort": { "due_date": "Data Limită", @@ -438,7 +461,9 @@ "inProgress": "În Desfășurare", "done": "Finalizat", "archived": "Arhivat", - "unknown": "Necunoscut" + "unknown": "Necunoscut", + "telegramConnected": "Telegram conectat și polling", + "telegramConnectionProblem": "Problemă de conectare Telegram" }, "project": { "name": "Numele Proiectului", @@ -669,7 +694,13 @@ "thirdWeek": "A treia săptămână", "fourthWeek": "A patra săptămână", "lastWeek": "Ultima săptămână", - "days": "zile" + "days": "zile", + "loadingParentSettings": "Se încarcă setările de recurență ale sarcinii părinte...", + "recurringTaskInstance": "Instanță de sarcină recurentă", + "inheritedSettingsMessage": "Această sarcină a fost generată dintr-o sarcină recurentă. Setările de recurență afișate mai jos sunt moștenite din sarcina originală și nu pot fi editate aici.", + "cancelEdit": "Anulează Editarea", + "editParentRecurrence": "Editează Recurența Părinte", + "parentEditWarning": "⚠️ Editezi setările de recurență ale sarcinii părinte. Modificările vor afecta toate instanțele viitoare ale acestei sarcini recurente." }, "weekdays": { "sunday": "Duminică", @@ -729,5 +760,111 @@ "low": "Scăzut", "time": "Timp", "allDay": "Toată ziua" + }, + "pages": { + "notFound": { + "title": "404 - Pagina Nu A Fost Găsită", + "message": "Pagina pe care o cauți nu există." + } + }, + "navbar": { + "appName": "tududi", + "quickInboxCapture": "Captură Rapidă a Inbox-ului", + "userMenu": "Meniu Utilizator", + "collapseSidebar": "Colapsează Bara Laterală", + "expandSidebar": "Extinde Bara Laterală" + }, + "upload": { + "uploading": "Se Încarcă..." + }, + "searchPlaceholders": { + "searchProjects": "Caută proiecte...", + "searchTags": "Caută etichete...", + "searchTasks": "Caută sarcini..." + }, + "ariaLabels": { + "hideInfo": "Ascunde informațiile", + "aboutTasks": "Despre Sarcini", + "hideSearch": "Ascunde căutarea", + "searchTasks": "Caută Sarcini", + "aboutInbox": "Despre Inbox", + "collapseInfoPanel": "Colapsează panoul de informații", + "showTasksInformation": "Afișează informațiile despre sarcini", + "collapseSearchPanel": "Colapsare panou de căutare", + "showSearchInput": "Afișare câmp de căutare", + "showInboxInformation": "Afișare informații despre inbox" + }, + "api": { + "errors": { + "authenticationRequired": "Autentificare necesară", + "userNotFound": "Utilizatorul nu a fost găsit", + "authenticationError": "Eroare de autentificare", + "internalServerError": "Eroare internă a serverului", + "invalidLoginParameters": "Parametrii de autentificare invalizi.", + "invalidCredentials": "Credențiale invalide", + "couldNotLogout": "Nu s-a putut deconecta", + "loggedOutSuccessfully": "Deconectare reușită", + "contentRequired": "Conținutul este necesar", + "inboxItemNotFound": "Elementul din inbox nu a fost găsit.", + "inboxItemDeleted": "Elementul din inbox a fost șters cu succes", + "contentRequiredString": "Conținutul este necesar și trebuie să fie un șir", + "problemCreatingInboxItem": "A apărut o problemă la crearea elementului din inbox.", + "problemUpdatingInboxItem": "A apărut o problemă la actualizarea elementului din inbox.", + "problemDeletingInboxItem": "A apărut o problemă la ștergerea elementului din inbox.", + "problemProcessingInboxItem": "A apărut o problemă la procesarea elementului din inbox.", + "invalidOrderColumn": "Coloana de ordine specificată este invalidă.", + "taskNotFound": "Task-ul nu a fost găsit.", + "taskNameRequired": "Numele task-ului este necesar.", + "invalidProject": "Proiect invalid.", + "unableToUpdateTask": "Imposibil de actualizat task-ul", + "taskDeleted": "Task-ul a fost șters cu succes", + "failedToGenerateRecurringTasks": "Generarea task-urilor recurente a eșuat", + "failedToUpdateTodayFlag": "Actualizarea steagului de astăzi pentru task a eșuat", + "noImageProvided": "Niciun fișier imagine furnizat", + "failedToUploadImage": "Încărcarea imaginii a eșuat", + "projectNotFound": "Proiectul nu a fost găsit", + "projectNameRequired": "Numele proiectului este necesar", + "projectDeleted": "Proiectul a fost șters cu succes", + "noteNotFound": "Notă nu a fost găsită.", + "noteDeleted": "Notă ștearsă cu succes.", + "profileNotFound": "Profilul nu a fost găsit.", + "passwordTooShort": "Parola trebuie să aibă cel puțin 6 caractere", + "currentPasswordIncorrect": "Parola curentă este incorectă", + "failedToUpdateProfile": "Actualizarea profilului a eșuat.", + "passwordChangeRequired": "Parola curentă și parola nouă sunt necesare", + "passwordChangedSuccessfully": "Parola a fost schimbată cu succes", + "failedToUpdateTaskSummary": "Actualizarea setărilor rezumatului sarcinii a eșuat.", + "frequencyRequired": "Frecvența este necesară.", + "invalidFrequency": "Valoare frecvență invalidă.", + "failedToStartTelegramPolling": "Eșec la pornirea polling-ului Telegram.", + "failedToStopTelegramPolling": "Eșec la oprirea polling-ului Telegram.", + "invalidTelegramTokenFormat": "Format invalid pentru token-ul bot-ului Telegram.", + "invalidBotToken": "Token invalid pentru bot sau bot inaccesibil.", + "chatIdRequired": "ID-ul chat-ului este necesar.", + "areaNotFound": "Zona nu a fost găsită sau nu aparține utilizatorului curent.", + "areaNameRequired": "Numele zonei este necesar.", + "tagNotFound": "Eticheta nu a fost găsită", + "tagNameRequired": "Numele etichetei este necesar", + "tagDeleted": "Eticheta a fost ștearsă cu succes", + "demoModeGoogleCalendar": "Mod demo: integrarea Google Calendar simulată", + "failedToGenerateAuthUrl": "Eșec la generarea URL-ului de autorizare", + "authCodeNotProvided": "Codul de autorizare nu a fost furnizat", + "failedToCheckCalendarStatus": "Eșec la verificarea stării calendarului", + "failedToFetchCalendarEvents": "Eșec la obținerea evenimentelor din calendar", + "googleCalendarDisconnected": "Google Calendar deconectat", + "failedToDisconnectCalendar": "Eșec la deconectarea calendarului", + "urlParameterRequired": "Parametrul URL este necesar", + "couldNotExtractMetadata": "Nu s-au putut extrage metadatele", + "textParameterRequired": "Parametrul text este necesar", + "notFound": "Nu a fost găsit", + "resourceNotFound": "Resursa solicitată nu a putut fi găsită." + } + }, + "telegram": { + "welcomeMessage": "🎉 Bun venit la tududi!\n\nBotul tău personal de gestionare a sarcinilor este acum conectat și gata să ajute!\n\n📝 Pur și simplu trimite-mi orice mesaj și îl voi adăuga în inbox-ul tău tududi ca un element.\n\n✨ Comenzi:\n• /help - Afișează informații de ajutor\n• /start - Afișează mesajul de bun venit\n• Scrie orice text - Adaugă-l ca un element în inbox\n\nSă ne organizăm! 🚀", + "helpMessage": "📋 Ajutor Bot tududi\n\nTrimite-mi orice mesaj text și îl voi adăuga în inbox-ul tău tududi ca un element în inbox.\n\nComenzi:\n/start - Mesaj de bun venit\n/help - Afișează acest mesaj de ajutor\n\nScrie doar elementul tău și mă voi ocupa de rest!", + "commandProcessed": "Comanda procesată cu succes", + "messageProcessed": "Mesaj procesat cu succes", + "failedToAddToInbox": "❌ Nu s-a reușit adăugarea în inbox: {{error}}" } } diff --git a/public/locales/ru/translation.json b/public/locales/ru/translation.json index b7fe763..8cc2539 100644 --- a/public/locales/ru/translation.json +++ b/public/locales/ru/translation.json @@ -38,7 +38,14 @@ "nextActions": "Следующие действия", "inbox": "Входящие", "completed": "Завершенные", - "allTasks": "Все задачи" + "allTasks": "Все задачи", + "addInboxAriaLabel": "Добавить элемент во входящие", + "addInboxTitle": "Добавить элемент во входящие", + "addProjectAriaLabel": "Добавить проект", + "addProjectTitle": "Добавить проект", + "addNoteAriaLabel": "Добавить заметку", + "addNoteTitle": "Добавить заметку", + "createNew": "Создать новый" }, "navigation": { "home": "Главная", @@ -128,7 +135,14 @@ "priority": "Приоритет", "dueDate": "Срок выполнения", "none": "Нет" - } + }, + "justNow": "Только что", + "minutesAgo": "{{minutes}}м назад", + "hoursAgo": "{{hours}}ч назад", + "daysAgo": "{{days}}д назад", + "loadingTimeline": "Загрузка временной шкалы...", + "timelineWillAppear": "Временная шкала появится после сохранения", + "noActivity": "Пока нет активности" }, "profile": { "settings": "Настройки профиля", @@ -264,7 +278,14 @@ "aiProductivityFeatures": "Искусственный интеллект и функции продуктивности", "botSetup": "Настройка бота", "passwordChangeNote": "Изменения пароля будут сохранены, когда вы нажмете \"Сохранить изменения\" внизу формы.", - "passwordChangeOptional": "Оставьте поля пароля пустыми, чтобы обновить другие настройки без изменения пароля." + "passwordChangeOptional": "Оставьте поля пароля пустыми, чтобы обновить другие настройки без изменения пароля.", + "bulgarian": "Болгарский", + "danish": "Датский", + "finnish": "Финский", + "norwegian": "Норвежский", + "polish": "Польский", + "slovenian": "Словенский", + "swedish": "Шведский" }, "productivity": { "stalledProjects": "Приостановленные проекты", @@ -419,7 +440,9 @@ "task": "Задача", "project": "Проект", "note": "Заметка", - "area": "Область" + "area": "Область", + "inbox": "Входящие", + "tag": "Метка" }, "sort": { "due_date": "Срок выполнения", @@ -438,7 +461,9 @@ "inProgress": "В процессе", "done": "Готово", "archived": "Архивировано", - "unknown": "Неизвестно" + "unknown": "Неизвестно", + "telegramConnected": "Telegram подключен и опрашивает", + "telegramConnectionProblem": "Проблема с подключением Telegram" }, "project": { "name": "Название проекта", @@ -669,7 +694,13 @@ "thirdWeek": "Третья неделя", "fourthWeek": "Четвертая неделя", "lastWeek": "Последняя неделя", - "days": "дней" + "days": "дней", + "loadingParentSettings": "Загрузка настроек повторяющейся родительской задачи...", + "recurringTaskInstance": "Экземпляр повторяющейся задачи", + "inheritedSettingsMessage": "Эта задача была создана из повторяющейся задачи. Настройки повторения, показанные ниже, унаследованы от оригинальной задачи и не могут быть изменены здесь.", + "cancelEdit": "Отменить редактирование", + "editParentRecurrence": "Редактировать родительскую периодичность", + "parentEditWarning": "⚠️ Вы редактируете настройки периодичности родительской задачи. Изменения повлияют на все будущие экземпляры этой повторяющейся задачи." }, "weekdays": { "sunday": "Воскресенье", @@ -729,5 +760,111 @@ "low": "Низкий", "time": "Время", "allDay": "Весь день" + }, + "pages": { + "notFound": { + "title": "404 - Страница не найдена", + "message": "Страница, которую вы ищете, не существует." + } + }, + "navbar": { + "appName": "tududi", + "quickInboxCapture": "Быстрое захватывание в почтовый ящик", + "userMenu": "Меню пользователя", + "collapseSidebar": "Свернуть боковую панель", + "expandSidebar": "Развернуть боковую панель" + }, + "upload": { + "uploading": "Загрузка..." + }, + "searchPlaceholders": { + "searchProjects": "Поиск проектов...", + "searchTags": "Поиск тегов...", + "searchTasks": "Поиск задач..." + }, + "ariaLabels": { + "hideInfo": "Скрыть информацию", + "aboutTasks": "О задачах", + "hideSearch": "Скрыть поиск", + "searchTasks": "Поиск задач", + "aboutInbox": "О почтовом ящике", + "collapseInfoPanel": "Свернуть информационную панель", + "showTasksInformation": "Показать информацию о задачах", + "collapseSearchPanel": "Свернуть панель поиска", + "showSearchInput": "Показать поле поиска", + "showInboxInformation": "Показать информацию о входящих" + }, + "api": { + "errors": { + "authenticationRequired": "Требуется аутентификация", + "userNotFound": "Пользователь не найден", + "authenticationError": "Ошибка аутентификации", + "internalServerError": "Внутренняя ошибка сервера", + "invalidLoginParameters": "Неверные параметры входа.", + "invalidCredentials": "Неверные учетные данные", + "couldNotLogout": "Не удалось выйти из системы", + "loggedOutSuccessfully": "Успешно вышли из системы", + "contentRequired": "Содержимое обязательно", + "inboxItemNotFound": "Элемент входящих не найден.", + "inboxItemDeleted": "Элемент входящих успешно удален", + "contentRequiredString": "Содержимое обязательно и должно быть строкой", + "problemCreatingInboxItem": "Произошла проблема при создании элемента входящих.", + "problemUpdatingInboxItem": "Произошла проблема при обновлении элемента входящих.", + "problemDeletingInboxItem": "Произошла проблема при удалении элемента входящих.", + "problemProcessingInboxItem": "Произошла проблема при обработке элемента входящих.", + "invalidOrderColumn": "Указан неверный столбец заказа.", + "taskNotFound": "Задача не найдена.", + "taskNameRequired": "Название задачи обязательно.", + "invalidProject": "Недействительный проект.", + "unableToUpdateTask": "Не удалось обновить задачу", + "taskDeleted": "Задача успешно удалена", + "failedToGenerateRecurringTasks": "Не удалось сгенерировать повторяющиеся задачи", + "failedToUpdateTodayFlag": "Не удалось обновить флаг 'сегодня' задачи", + "noImageProvided": "Файл изображения не предоставлен", + "failedToUploadImage": "Не удалось загрузить изображение", + "projectNotFound": "Проект не найден", + "projectNameRequired": "Название проекта обязательно", + "projectDeleted": "Проект успешно удален", + "noteNotFound": "Заметка не найдена.", + "noteDeleted": "Заметка успешно удалена.", + "profileNotFound": "Профиль не найден.", + "passwordTooShort": "Пароль должен содержать не менее 6 символов", + "currentPasswordIncorrect": "Текущий пароль неверен", + "failedToUpdateProfile": "Не удалось обновить профиль.", + "passwordChangeRequired": "Текущий пароль и новый пароль обязательны", + "passwordChangedSuccessfully": "Пароль успешно изменен", + "failedToUpdateTaskSummary": "Не удалось обновить настройки сводки задач.", + "frequencyRequired": "Частота обязательна.", + "invalidFrequency": "Неверное значение частоты.", + "failedToStartTelegramPolling": "Не удалось запустить опрос Telegram.", + "failedToStopTelegramPolling": "Не удалось остановить опрос Telegram.", + "invalidTelegramTokenFormat": "Неверный формат токена бота Telegram.", + "invalidBotToken": "Неверный токен бота или бот недоступен.", + "chatIdRequired": "ID чата обязателен.", + "areaNotFound": "Область не найдена или не принадлежит текущему пользователю.", + "areaNameRequired": "Имя области обязательно.", + "tagNotFound": "Тег не найден", + "tagNameRequired": "Имя тега обязательно", + "tagDeleted": "Тег успешно удален", + "demoModeGoogleCalendar": "Демо-режим: интеграция с Google Календарем смоделирована", + "failedToGenerateAuthUrl": "Не удалось сгенерировать URL-адрес авторизации", + "authCodeNotProvided": "Код авторизации не предоставлен", + "failedToCheckCalendarStatus": "Не удалось проверить статус календаря", + "failedToFetchCalendarEvents": "Не удалось получить события календаря", + "googleCalendarDisconnected": "Google Календарь отключен", + "failedToDisconnectCalendar": "Не удалось отключить календарь", + "urlParameterRequired": "Параметр URL обязателен", + "couldNotExtractMetadata": "Не удалось извлечь метаданные", + "textParameterRequired": "Параметр текста обязателен", + "notFound": "Не найдено", + "resourceNotFound": "Запрашиваемый ресурс не найден." + } + }, + "telegram": { + "welcomeMessage": "🎉 Добро пожаловать в tududi!\n\nВаш личный бот для управления задачами теперь подключен и готов помочь!\n\n📝 Просто отправьте мне любое сообщение, и я добавлю его в ваш почтовый ящик tududi как элемент.\n\n✨ Команды:\n• /help - Показать информацию о помощи\n• /start - Показать приветственное сообщение\n• Просто введите любой текст - Добавить его как элемент в почтовый ящик\n\nДавайте организуемся! 🚀", + "helpMessage": "📋 Помощь бота tududi\n\nОтправьте мне любое текстовое сообщение, и я добавлю его в ваш почтовый ящик tududi как элемент.\n\nКоманды:\n/start - Приветственное сообщение\n/help - Показать это сообщение о помощи\n\nПросто введите ваш элемент, и я позабочусь об остальном!", + "commandProcessed": "Команда успешно обработана", + "messageProcessed": "Сообщение успешно обработано", + "failedToAddToInbox": "❌ Не удалось добавить в почтовый ящик: {{error}}" } } diff --git a/public/locales/sl/translation.json b/public/locales/sl/translation.json index 0967ef4..27c9e1c 100644 --- a/public/locales/sl/translation.json +++ b/public/locales/sl/translation.json @@ -1 +1,870 @@ -{} +{ + "common": { + "save": "Shrani", + "cancel": "Prekliči", + "delete": "Izbriši", + "edit": "Uredi", + "create": "Ustvari", + "submit": "Pošlji", + "close": "Zapri", + "back": "Nazaj", + "next": "Naprej", + "loading": "Nalaganje...", + "appLoading": "Nalaganje aplikacije... Prosimo, počakajte.", + "completed": "Dokončano", + "error": "Napaka", + "success": "Uspeh", + "area": "Območje", + "status": "Status", + "saving": "Shranjevanje...", + "settings": "Nastavitve", + "none": "Nič" + }, + "sidebar": { + "dashboard": "Nadzorna plošča", + "projects": "Projekti", + "tasks": "Naloge", + "calendar": "Koledar", + "notes": "Opombe", + "settings": "Nastavitve", + "areas": "Področja", + "tags": "Oznake", + "addAreaAriaLabel": "Dodaj področje", + "addAreaTitle": "Dodaj področje", + "addTagAriaLabel": "Dodaj oznako", + "addTagTitle": "Dodaj oznako", + "addInboxAriaLabel": "Dodaj element v prejeto", + "addInboxTitle": "Dodaj element v prejeto", + "addProjectAriaLabel": "Dodaj projekt", + "addProjectTitle": "Dodaj projekt", + "addNoteAriaLabel": "Dodaj opombo", + "addNoteTitle": "Dodaj opombo", + "createNew": "Ustvari novo", + "today": "Danes", + "upcoming": "Prihajajoče", + "nextActions": "Naslednje akcije", + "inbox": "Prejeto", + "completed": "Dokončano", + "allTasks": "Vse naloge" + }, + "navigation": { + "home": "Domov", + "dashboard": "Nadzorna plošča", + "profile": "Profil", + "profileSettings": "Nastavitve profila", + "settings": "Nastavitve", + "about": "O aplikaciji", + "logout": "Odjava" + }, + "settings": { + "todayPageSettings": "Nastavitve strani Danes", + "showDailyQuote": "Prikaži dnevni citat", + "showMetrics": "Prikaži metrike", + "showProductivity": "Prikaži vpoglede v produktivnost", + "showIntelligence": "Prikaži predloge inteligence", + "showNextTaskSuggestion": "Predlog naslednje naloge", + "showSuggestions": "Prikaži predlagano", + "showDueToday": "Prikaži naloge, ki zapadejo danes", + "showCompleted": "Prikaži dokončane naloge" + }, + "dashboard": { + "overview": "Pregled", + "sameAsYesterday": "Enako kot včeraj", + "betterThanYesterday": "{{percentage}}% več kot včeraj", + "worseThanYesterday": "{{percentage}}% manj kot včeraj", + "sameAsAverage": "Enako kot povprečje", + "betterThanAverage": "{{percentage}}% več kot povprečje", + "worseThanAverage": "{{percentage}}% manj kot povprečje", + "metrics": "Metrike", + "showMetrics": "Prikaži metrike", + "hideMetrics": "Skrij metrike", + "insights": "Vpogledi", + "showInsights": "Prikaži vpoglede", + "hideInsights": "Skrij vpoglede", + "intelligence": "Inteligenca", + "showIntelligence": "Prikaži predloge inteligence", + "hideIntelligence": "Skrij predloge inteligence", + "completed": "Dokončano", + "showCompleted": "Prikaži dokončane naloge", + "hideCompleted": "Skrij dokončane naloge" + }, + "tasks": { + "title": "Naloge", + "today": "Danes", + "backlog": "Zamude", + "inProgress": "V teku", + "dueToday": "Zapade danes", + "stale": "Zastarelo", + "suggested": "Predlagano", + "completedToday": "Zaključeno danes", + "weeklyCompletions": "Tedenski napredek", + "taskCompleted": "naloga zaključena", + "tasksCompleted": "naloge zaključene", + "noTasksAvailable": "Ni na voljo nalog.", + "searchPlaceholder": "Išči naloge...", + "addNewTask": "Dodaj novo nalogo", + "metrics": "Metrike", + "myPlanToday": "Moj načrt za danes", + "noPlanToday": "Še ni nalog načrtovanih za danes", + "addToPlanHint": "Kliknite na ikono 🗓 'dodaj v današnji načrt' desno od katere koli naloge, da jo dodate tukaj", + "blankSlateHint": "Začnite z ustvarjanjem nove naloge ali spreminjanjem svojih filtrov.", + "addToToday": "Dodaj v današnji načrt", + "removeFromToday": "Odstrani iz današnjega načrta", + "setInProgress": "Nastavi v poteku", + "setNotStarted": "Nastavi na ni začeto" + }, + "timeline": { + "activityTimeline": "Časovnica aktivnosti", + "showActivityTimeline": "Prikaži časovnico aktivnosti", + "hideActivityTimeline": "Skrij časovnico aktivnosti", + "hideTimeline": "Skrij časovnico", + "failedToLoad": "Nalaganje časovnice je spodletelo", + "justNow": "Pred trenutkom", + "minutesAgo": "{{minutes}}m nazaj", + "hoursAgo": "{{hours}}h nazaj", + "daysAgo": "{{days}}d nazaj", + "loadingTimeline": "Nalaganje časovnice...", + "timelineWillAppear": "Časovnica se bo prikazala po shranjevanju", + "noActivity": "Še ni aktivnosti", + "events": { + "taskCreated": "Naloga ustvarjena", + "statusChanged": "Status spremenjen", + "priorityChanged": "Prioriteta spremenjena", + "dueDateChanged": "Rok spremenjen", + "nameUpdated": "Ime posodobljeno", + "descriptionUpdated": "Opis posodobljen", + "noteUpdated": "Opomba posodobljena", + "projectChanged": "Projekt spremenjen", + "tagsUpdated": "Oznake posodobljene", + "taskArchived": "Naloga arhivirana", + "todayFlagChanged": "Zastava za danes spremenjena", + "status": "Status", + "priority": "Prioriteta", + "dueDate": "Rok", + "none": "Nič" + } + }, + "profile": { + "settings": "Nastavitve profila", + "language": "Jezik", + "theme": "Tema", + "notifications": "Obvestila", + "english": "Angleščina", + "spanish": "Španščina", + "greek": "Grščina", + "japanese": "Japonščina", + "ukrainian": "Ukrajinščina", + "deutsch": "Nemščina", + "italian": "Italijanščina", + "french": "Francoščina", + "russian": "Ruščina", + "turkish": "Turščina", + "korean": "Korejščina", + "vietnamese": "Vietnamščina", + "arabic": "Arabščina", + "dutch": "Nizozemščina", + "romanian": "Romunščina", + "chinese": "Kitajščina", + "portuguese": "Portugalščina", + "indonesian": "Indonezijščina", + "bulgarian": "Bolgarščina", + "danish": "Dansščina", + "finnish": "Finščina", + "norwegian": "Norveščina", + "polish": "Poljščina", + "slovenian": "Slovenščina", + "swedish": "Švedščina", + "title": "Nastavitve profila", + "appearance": "Videza", + "lightMode": "Svetli način", + "darkMode": "Temni način", + "light": "Svetlo", + "dark": "Temno", + "timezone": "Časovni pas", + "saveChanges": "Shrani spremembe", + "successMessage": "Profil je bil uspešno posodobljen!", + "languageChangedNote": "Spremembe jezika so takojšnje", + "languageChanging": "Sprememba jezika...", + "languagePreference": "Izbira jezika", + "personalInfo": "Osebni podatki", + "errorMessage": "Posodobitev profila ni uspela", + "telegramIntegration": "Telegram integracija", + "telegramDescription": "Povežite svoj tududi račun z Telegram botom, da dodate elemente v svoj nabiralnik preko Telegram sporočil.", + "telegramBotToken": "Telegram Bot Token", + "telegramTokenDescription": "Ustvarite bota z @BotFather na Telegramu in prilepite token tukaj.", + "telegramConnected": "Vaš Telegram račun je povezan! Pošljite sporočila svojemu botu, da dodate elemente v svoj tududi nabiralnik.", + "setupTelegram": "Nastavi Telegram", + "setupTelegramLower": "nastavi telegram", + "settingUp": "Nastavljanje...", + "telegramSetupSuccess": "Telegram bot \"{{botName}}\" je bil uspešno konfiguriran!", + "telegramSetupFailed": "Nastavitev Telegram bota je spodletela.", + "invalidTelegramToken": "Neveljavna oblika Telegram bot žetona.", + "telegramInstructions": "Pojdite na https://t.me/{{botUsername}} in začnite klepetati s svojim botom, da ga povežete s svojim tududi računom.", + "botConfigured": "Bot je bil uspešno konfiguriran!", + "botUsername": "Uporabniško ime bota:", + "pollingStatus": "Status anketiranja:", + "pollingActive": "Aktivno - Prejemanje sporočil", + "pollingInactive": "Neaktivno - Ne prejemam sporočil", + "pollingNote": "Anketiranje občasno preverja nova sporočila iz Telegrama in jih dodaja v vašo prejeto pošto.", + "pollingDescription": "Anketiranje občasno preverja nova sporočila iz Telegrama in jih dodaja v vašo prejeto pošto.", + "startPolling": "Začni anketiranje", + "stopPolling": "Ustavi anketiranje", + "startPollingLower": "začni anketiranje", + "stopPollingLower": "ustavi anketiranje", + "pollingStarted": "Anketiranje Telegrama je začelo", + "pollingStopped": "Anketiranje Telegrama je ustavljeno", + "pollingError": "Napaka pri upravljanju anketiranjem Telegrama", + "startPollingFailed": "Nastavitev anketiranja je spodletela", + "stopPollingFailed": "Ustavitev anketiranja je spodletela", + "openTelegram": "Odpri v Telegramu", + "openInTelegram": "odpri v telegramu", + "testTelegramMessage": "Test Telegram", + "testMessageSent": "Testno sporočilo je bilo uspešno poslano!", + "testMessageFailed": "Pošiljanje testnega sporočila ni uspelo.", + "testMessageError": "Napaka pri pošiljanju testnega sporočila.", + "taskSummaryNotifications": "Obvestila o povzetku nalog", + "taskSummaryDescription": "Prejemajte redne povzetke svojih nalog preko Telegrama. Ta funkcija zahteva nastavitev integracije s Telegramom.", + "enableTaskSummaries": "Omogoči povzetke nalog", + "enableTaskSummary": "Omogoči povzetke nalog", + "summaryFrequency": "Pogostost povzetkov", + "summaryFrequencyDescription": "Izberite, kako pogosto želite prejemati povzetke nalog", + "sendTestSummary": "Pošlji testni povzetek", + "frequency": { + "1h": "1 ura", + "2h": "2 uri", + "4h": "4 ure", + "8h": "8 ur", + "12h": "12 ur", + "daily": "1 dan", + "weekly": "1 teden" + }, + "frequencyHelp": "Izberite, kako pogosto želite prejemati povzetke nalog", + "taskIntelligence": "Inteligenca nalog", + "taskIntelligenceDescription": "Prejmite koristne predloge, da bodo vaša imena nalog bolj opisna in izvedljiva.", + "enableTaskIntelligence": "Omogoči pomočnika za inteligenco nalog", + "autoSuggestNextActions": "Samodejno predlagaj naslednje akcije", + "autoSuggestNextActionsDescription": "Pri ustvarjanju projekta samodejno predlagajte naslednjo fizično akcijo, ki jo je treba izvesti.", + "enableAutoSuggestNextActions": "Omogoči predloge naslednjih akcij", + "productivityFeatures": "Funkcije produktivnosti", + "pomodoroDescription": "Omogočite Pomodoro časomer v navigacijski vrstici za osredotočene delovne seje.", + "enablePomodoro": "Omogoči Pomodoro časomer", + "productivityAssistant": "Pomočnik za produktivnost", + "productivityAssistantDescription": "Prikažite vpoglede v produktivnost, ki pomagajo prepoznati zastale projekte, nejasne naloge in izboljšave delovnega toka na vaši strani Danes.", + "enableProductivityAssistant": "Omogoči vpoglede v produktivnost", + "nextTaskSuggestion": "Predlog naslednje naloge", + "nextTaskSuggestionDescription": "Samodejno predlagajte naslednjo najboljšo nalogo, na kateri bi delali, ko nimate ničesar v teku, pri čemer prioritizirajte naloge, ki so zapadle danes, nato pa predlagane naloge s strani Danes.", + "enableNextTaskSuggestion": "Omogoči predloge naslednjih nalog", + "nextActionPrompt": "Kakšna je naslednja fizična akcija za ta projekt?", + "nextActionPlaceholder": "npr., Pokliči stranko za načrtovanje sestanka, Raziskuj konkurente na spletu, Ustvari mapo projekta...", + "addNextAction": "Dodaj naslednjo akcijo", + "skipNextAction": "Preskoči za zdaj", + "nextActionHint": "Pomislite na najmanjši, najbolj konkreten korak, ki ga lahko naredite zdaj, da napredujete s tem projektom.", + "tabs": { + "general": "Splošno", + "security": "Varnost", + "productivity": "Produktivnost", + "telegram": "Telegram", + "ai": "AI Funkcije" + }, + "security": "Nastavitve varnosti", + "changePassword": "Spremeni geslo", + "currentPassword": "Trenutno geslo", + "newPassword": "Novo geslo", + "confirmPassword": "Potrdite novo geslo", + "enterCurrentPassword": "Vnesite svoje trenutno geslo", + "enterNewPassword": "Vnesite svoje novo geslo", + "confirmNewPassword": "Potrdite svoje novo geslo", + "currentPasswordRequired": "Trenutno geslo je obvezno", + "newPasswordRequired": "Novo geslo je obvezno", + "passwordTooShort": "Geslo mora imeti vsaj 6 znakov", + "passwordMismatch": "Gesli se ne ujemata", + "passwordChangeError": "Sprememba gesla ni uspela", + "passwordChangeSuccess": "Geslo je bilo uspešno spremenjeno!", + "changingPassword": "Spreminjanje gesla...", + "accountSettings": "Račun in nastavitve", + "aiProductivityFeatures": "AI in funkcije produktivnosti", + "botSetup": "Nastavitev bota", + "passwordChangeNote": "Spremembe gesla bodo shranjene, ko kliknete \"Shrani spremembe\" na dnu obrazca.", + "passwordChangeOptional": "Pustite polja za geslo prazna, da posodobite druge nastavitve brez spreminjanja gesla." + }, + "productivity": { + "stalledProjects": "Zastali projekti", + "stalledProjectsDesc": "Ti projekti nimajo nalog ali dejanj", + "needsNextAction": "Projekti potrebujejo naslednje dejanje", + "needsNextActionDesc": "Ti projekti imajo zaključene naloge, vendar nimajo naslednjega dejanja", + "tasksAreProjects": "Naloge, ki izgledajo kot projekti", + "tasksAreProjectsDesc": "Te naloge je morda treba razdeliti", + "vagueTasks": "Naloge brez jasnega dejanja", + "vagueTasksDesc": "Te naloge potrebujejo jasnejše glagole dejanja", + "staleTasks": "Zastarele naloge", + "staleTasksDesc": "Naloge, ki niso bile posodobljene v {{days}} dneh", + "stuckProjects": "Zagozdene projekte", + "stuckProjectsDesc": "Projekti, ki niso bili nedavno posodobljeni", + "issuesFound": "Najdenih {{count}} težav s produktivnostjo, ki potrebujejo pozornost", + "reviewItems": "Kliknite za pregled in izboljšanje svojega delovnega toka", + "suggestion": "Kliknite na katerikoli element zgoraj, da ga odprete in izboljšate." + }, + "nextTask": { + "suggestion": "Ker ni nič v teku, kaj pa, če začnete s", + "suggestionTodayPlan": "Ker ni nič v teku, kaj pa, če začnete s to nalogo iz vašega današnjega načrta", + "suggestionDueToday": "Ker ni nič v teku, kaj pa, če začnete s to nalogo, ki je zapadla danes", + "suggestionSuggested": "Ker ni nič v teku, kaj pa, če začnete s to predlagano nalogo", + "letsDoIt": "Da, naredimo to!", + "starting": "Začinjamo...", + "startedSuccessfully": "Naloga je bila uspešno začeta!", + "giveMeSomethingElse": "Dajte mi nekaj drugega" + }, + "modals": { + "confirmDelete": "Ali ste prepričani, da želite izbrisati?", + "taskCreation": "Ustvari novo nalogo", + "taskEdit": "Uredi nalogo", + "deleteTask": { + "title": "Izbriši nalogo", + "confirmation": "Ali ste prepričani, da želite izbrisati to nalogo? Te akcije ni mogoče razveljaviti." + }, + "noteCreation": "Ustvari novo opombo", + "noteEdit": "Uredi opombo", + "updateNote": "Posodobi opombo", + "createNote": "Ustvari opombo", + "submitting": "Pošiljanje...", + "areaCreation": "Ustvari novo področje", + "areaEdit": "Uredi območje", + "updateArea": "Posodobi območje", + "createArea": "Ustvari območje", + "updateTag": "Posodobi oznako", + "createTag": "Ustvari oznako", + "createProject": "Ustvari projekt", + "updateProject": "Posodobi projekt", + "deleteTag": { + "title": "Izbriši oznako", + "message": "Ali ste prepričani, da želite izbrisati oznako \"{{tagName}}\"?" + }, + "deleteArea": { + "title": "Izbriši območje", + "message": "Ali ste prepričani, da želite izbrisati območje \"{{areaName}}\"?" + }, + "deleteNote": { + "title": "Izbriši opombo", + "message": "Ali ste prepričani, da želite izbrisati opombo \"{{noteTitle}}\"?" + }, + "deleteProject": { + "title": "Izbriši projekt", + "message": "Ali ste prepričani, da želite izbrisati projekt \"{{projectName}}\"?" + } + }, + "forms": { + "title": "Naslov", + "description": "Opis", + "dueDate": "Rok", + "priority": "Prioriteta", + "status": "Status", + "assignedTo": "Dodeljeno", + "category": "Kategorija", + "tags": "Oznake", + "required": "To polje je obvezno", + "optional": "Neobvezno", + "task": { + "namePlaceholder": "Dodajte ime naloge", + "statusAndOptions": "Status in možnosti", + "recurrence": "Ponovitev", + "labels": { + "tags": "Oznake", + "project": "Projekt", + "status": "Status", + "priority": "Prioriteta", + "dueDate": "Rok", + "note": "Opomba", + "recurrenceType": "Ponovi", + "recurrenceInterval": "Vsak", + "weekday": "Na dan", + "monthDay": "Dan v mesecu", + "weekOfMonth": "Teden v mesecu", + "recurrenceEndDate": "Datum konca (neobvezno)", + "completionBased": "Ponovi po zaključku" + }, + "projectSearchPlaceholder": "Išči ali ustvari projekt...", + "noMatchingProjects": "Brez ustreznih projektov", + "creatingProject": "Ustvarjanje...", + "createProject": "+ Ustvari", + "recurrenceSettings": "Nastavitve ponavljanja", + "completionBasedHelp": "Če je označeno, bo naslednja naloga ustvarjena na podlagi datuma zaključka namesto datuma zapadlosti", + "dueDatePlaceholder": "Izberite datum zapadlosti", + "endDatePlaceholder": "Izberite datum konca", + "nameHelper": { + "title": "Naredite ga bolj opisnega!", + "suggestion": "Poskusite dodati več podrobnosti, kot je \"Pokliči zobozdravnika, da se dogovoriš za termin čiščenja\" namesto samo \"Pokliči zobozdravnika\"", + "short": "Naredite ga bolj opisnega!", + "noVerb": "Dodajte glagol akcije!", + "vague": "Bodite bolj specifični!" + }, + "suggestions": { + "short": "Poskusite biti bolj specifični glede tega, kaj je treba narediti", + "noVerb": "Katero specifično dejanje morate izvesti? Poskusite začeti z glagolom.", + "vague": "Poskusite začeti z glagolom akcije, kot so \"Pokliči\", \"Napiši\", \"Načrtuj\" ali \"Raziskuj\"" + } + }, + "noteTitle": "Naslov opombe", + "noteContent": "Vsebina opombe", + "noteTitlePlaceholder": "Vnesite naslov opombe", + "noteContentPlaceholder": "Vnesite vsebino opombe", + "areaName": "Ime območja", + "areaDescription": "Opis območja", + "areaNamePlaceholder": "Vnesite ime območja", + "areaDescriptionPlaceholder": "Vnesite opis območja", + "tagName": "Ime oznake", + "tagNamePlaceholder": "Vnesite ime oznake", + "tagInputPlaceholder": "Vtipkajte za dodajanje oznake", + "createTagOption": "+ Ustvari \"{{tagName}}\"", + "removeTagAriaLabel": "Odstrani oznako {{tagName}}" + }, + "auth": { + "login": "Prijava", + "register": "Registracija", + "forgotPassword": "Pozabljeno geslo", + "email": "E-pošta", + "password": "Geslo", + "confirmPassword": "Potrdite geslo", + "username": "Uporabniško ime", + "signup": "Prijavite se", + "signin": "Prijavite se", + "signout": "Odjavite se", + "resetPassword": "Ponastavi geslo", + "newPassword": "Novo geslo", + "rememberMe": "Zapomni si me", + "loginSuccess": "Prijava uspešna", + "loginFailed": "Prijava neuspešna", + "logoutSuccess": "Odjava uspešna" + }, + "dropdown": { + "createNew": "Ustvari novo", + "task": "Naloga", + "project": "Projekt", + "note": "Opomba", + "area": "Območje", + "inbox": "Prejeto", + "tag": "Oznaka" + }, + "sort": { + "due_date": "Rok", + "name": "Ime", + "priority": "Prioriteta", + "status": "Status", + "created_at": "Ustvarjeno" + }, + "priority": { + "low": "Nizka", + "medium": "Srednja", + "high": "Visoka" + }, + "status": { + "notStarted": "Ni začeto", + "inProgress": "V teku", + "done": "Končano", + "archived": "Arhivirano", + "unknown": "Neznano", + "telegramConnected": "Telegram povezan in preverja", + "telegramConnectionProblem": "Težava s povezavo Telegram" + }, + "project": { + "name": "Ime projekta", + "projectImage": "Slika projekta", + "uploadImageHint": "Naložite sliko za vaš projekt (max 5MB)", + "browseImage": "Prebrskaj sliko", + "noNotes": "Ni opomb za ta projekt.", + "deleteProject": "Izbriši projekt", + "createSuccess": "Projekt uspešno ustvarjen!" + }, + "errors": { + "required": "To polje je obvezno", + "invalidEmail": "Neveljavna e-poštna naslov", + "projectCreationFailed": "Ustvarjanje projekta ni uspelo.", + "passwordMismatch": "Gesli se ne ujemata", + "minLength": "Minimalna dolžina je {{length}} znakov", + "maxLength": "Maksimalna dolžina je {{length}} znakov", + "serverError": "Napaka na strežniku, prosimo poskusite znova pozneje", + "networkError": "Napaka v omrežju, preverite svojo povezavo", + "somethingWentWrong": "Nekaj je šlo narobe, poskusite znova", + "taskFetch": "Pridobitev nalog ni uspela.", + "projectFetch": "Pridobitev projektov ni uspela.", + "taskCreate": "Ustvarjanje naloge ni uspelo.", + "taskUpdate": "Posodobitev naloge ni uspela.", + "taskDelete": "Brisanje naloge ni uspelo.", + "noteTitleRequired": "Naslov opombe je obvezen.", + "failedToLoadTags": "Nalaganje razpoložljivih oznak ni uspelo.", + "failedToSaveNote": "Shranjevanje opombe ni uspelo.", + "areaNameRequired": "Ime območja je obvezno.", + "failedToSaveArea": "Shranjevanje območja ni uspelo.", + "tagNameRequired": "Ime oznake je obvezno.", + "failedToSaveTag": "Shranjevanje oznake ni uspelo.", + "projectNameRequired": "Ime projekta je obvezno.", + "projectSaveFailed": "Shranjevanje projekta ni uspelo." + }, + "inbox": { + "title": "Prejeto", + "empty": "Vaša prejeta sporočila so prazna", + "emptyDescription": "Hitro zabeležite misli in ideje z uporabo ikone ⚡ v zgornji navigacijski vrstici ali gumba + v stranski vrstici", + "description": "Prejeto je prostor, kjer se nahajajo vse nekategorizirane naloge. Naloge, ki niso dodeljene projektu ali nimajo roka, se bodo prikazale tukaj. To je vaš 'izpust možganov', kjer lahko hitro zabeležite naloge in jih kasneje organizirate.", + "captureThought": "Zabeležite svojo misel...", + "saveToInbox": "Shrani v Prejeto", + "itemAdded": "Element dodan v prejeto", + "itemProcessed": "Element obdelan", + "itemDeleted": "Element izbrisan", + "itemUpdated": "Element posodobljen", + "newTelegramItem": "Nov element iz Telegrama: {{content}}", + "newItem": "Nov element v prejetih dodan: {{content}}", + "multipleNewItems": "{{count}} novih elementov dodanih", + "loadError": "Nalaganje elementov v prejetih ni uspelo", + "addError": "Dodajanje elementa v prejetih ni uspelo", + "processError": "Obdelava elementa v prejetih ni uspela", + "deleteError": "Brisanje elementa v prejetih ni uspelo", + "updateError": "Posodabljanje elementa v prejetih ni uspelo", + "contentRequired": "Vsebina ne more biti prazna", + "createTask": "Ustvari nalogo", + "createProject": "Ustvari projekt", + "createNote": "Ustvari opombo", + "convertTo": "Pretvori v", + "unprocessedItems": "Imate {{count}} element(e) v prejetih", + "processNow": "Obdelaj zdaj", + "deleteConfirmTitle": "Izbriši element", + "deleteConfirmMessage": "Ali ste prepričani, da želite izbrisati ta element iz svoje prejete pošte? Te akcije ni mogoče razveljaviti." + }, + "dateFormats": { + "long": "EEEE, MMMM d, yyyy", + "short": "MMM d, yyyy", + "monthYear": "MMMM yyyy", + "dayMonth": "MMMM d", + "time": "h:mm a", + "dateTime": "MMM d, yyyy h:mm a", + "todayHeader": "dddd, MMMM do, yyyy" + }, + "dateIndicators": { + "today": "DANES", + "tomorrow": "JUTRI", + "yesterday": "VČERAJ" + }, + "taskViews": { + "project": { + "withName": "Trenutno si ogledujete vse naloge, povezane s projektom \"{{projectName}}\". Naloge lahko organizirate znotraj tega projekta, nastavite njihovo prioriteto in spremljate njihovo dokončanje. Uporabite to območje, da se osredotočite na naloge, ki pripadajo posebej temu projektu.", + "noName": "Ogledujete si naloge za določen projekt. Uporabite to območje za upravljanje in spremljanje nalog, povezanih s tem projektom." + }, + "today": "To so naloge, ki so zapadle danes ali naloge, ki ste jih načrtovali za takojšnjo obravnavo. Uporabite to prikaz, da se osredotočite na to, kar je treba dokončati danes. Oznake nalog kot dokončane, posodobite njihov status ali prilagodite njihove roke, če je potrebno.", + "inbox": "Prejeta pošta je prostor, kjer živijo vse nekategorizirane naloge. Naloge, ki niso dodeljene projektu ali nimajo roka, se bodo prikazale tukaj. To je vaše območje \"izpustitve misli\", kjer lahko hitro zapišete naloge in jih kasneje organizirate.", + "next": "Ta prikaz prikazuje vse naloge, ki so izvedljive v bližnji prihodnosti. Te naloge so pripravljene za delo in nimajo dolgoročnih rokov. To je dobro mesto za osredotočanje, ko želite hitro napredovati pri nalogah.", + "upcoming": "Ta prikaz izpostavlja naloge, ki so načrtovane za prihajajoči teden. Pomaga vam, da se pripravite in ostanete pred roki, saj vam daje pregled dela, ki ga morate obravnavati v bližnji prihodnosti. Naloge z roki v naslednjih 7 dneh se bodo prikazale tukaj.", + "someday": "Prikaz \"Nekega dne\" je za naloge, ki niso nujne in nimajo določenega roka. To so naloge, ki se jim morda želite posvetiti kdaj, vendar trenutno niso prioriteta. Uporabite to sekcijo za sledenje idejam ali dolgoročnim ciljem.", + "completed": "Tukaj lahko vidite vse naloge, ki ste jih zaključili. To je odličen način, da pregledate svoje dosežke in razmislite o delu, ki ste ga končali. Prav tako lahko najdete naloge, ki jih je morda treba razarchivirati ali na katere se boste sklicevali v prihodnosti.", + "allTasks": "Gledate vse naloge. To vključuje naloge iz različnih projektov, naloge brez specifičnih rokov in naloge z različnimi ravnmi prioritet. Uporabite ta pogled za splošen pregled vsega na vašem seznamu opravil." + }, + "success": { + "noteUpdated": "Opomba uspešno posodobljena!", + "noteCreated": "Opomba uspešno ustvarjena!", + "areaUpdated": "Območje uspešno posodobljeno!", + "areaCreated": "Območje uspešno ustvarjeno!", + "tagUpdated": "Oznaka uspešno posodobljena!", + "tagCreated": "Oznaka uspešno ustvarjena!", + "projectCreated": "Projekt uspešno ustvarjen!", + "projectDeleted": "Projekt uspešno izbrisan!", + "nextActionAdded": "Naslednja akcija uspešno dodana!", + "taskCreated": "Naloga uspešno ustvarjena!", + "taskUpdated": "Naloga uspešno posodobljena!", + "taskDeleted": "Naloga uspešno izbrisana!" + }, + "note": { + "title": "Naslov", + "content": "Vsebina", + "titlePlaceholder": "Vnesite naslov opombe", + "contentPlaceholder": "Vnesite vsebino opombe", + "project": "Povezan projekt (neobvezno)", + "createSuccess": "Opomba uspešno ustvarjena", + "createError": "Ustvarjanje opombe ni uspelo" + }, + "task": { + "labels": { + "tags": "Oznake", + "project": "Projekt", + "status": "Status", + "priority": "Prioriteta", + "dueDate": "Rok", + "note": "Opomba" + }, + "create": "Ustvari", + "addTaskName": "Dodaj ime naloge", + "createSuccess": "Naloga je bila uspešno ustvarjena", + "createError": "Ustvarjanje naloge ni uspelo", + "saveAsTask": "Shrani kot nalogo", + "updateSuccess": "Naloga je bila uspešno posodobljena", + "updateError": "Posodobitev naloge ni uspela", + "deleteSuccess": "Naloga je bila uspešno izbrisana", + "deleteError": "Brisanje naloge ni uspelo", + "startedSuccessfully": "Naloga je bila uspešno začeta!", + "created": "Naloga", + "createdSuccessfully": "uspešno ustvarjena!", + "updated": "Naloga", + "updatedSuccessfully": "uspešno posodobljeno!", + "deleted": "Naloga", + "deletedSuccessfully": "uspešno izbrisano!", + "suggestions": { + "short": "Poskusite biti bolj specifični glede tega, kaj je treba narediti" + }, + "nameHelper": { + "title": "Naredite ga bolj opisnega!", + "suggestion": "Poskusite dodati več podrobnosti, kot je \"Pokličite zobozdravnika, da se dogovorite za termin čiščenja\" namesto samo \"Pokličite zobozdravnika\"" + } + }, + "projects": { + "loading": "Nalagam projekte...", + "error": "Napaka pri nalaganju projektov", + "searchPlaceholder": "Išči projekte...", + "title": "Projekti", + "noProjectsFound": "Ni najdenih projektov", + "cardViewAriaLabel": "Pogled kartic", + "listViewAriaLabel": "Pogled seznama", + "active": "Aktivno", + "inactive": "Neaktivno", + "metrics": "Projekti", + "filters": { + "active": "Aktivno", + "inactive": "Neaktivno", + "all": "Vse", + "allAreas": "Vse področja" + } + }, + "projectItem": { + "edit": "Uredi", + "delete": "Izbriši", + "completion": "Dokončanje", + "completionPercentage": "{{percentage}}% končano", + "toggleDropdownMenu": "Preklopi spustni meni", + "projectInitials": "Inicialke projekta" + }, + "areas": { + "title": "Območja", + "noAreasFound": "Nobena območja niso bila najdena", + "editAreaAriaLabel": "Uredi območje {{name}}", + "editAreaTitle": "Uredi območje {{name}}", + "deleteAreaAriaLabel": "Izbriši območje {{name}}", + "deleteAreaTitle": "Izbriši območje {{name}}", + "addArea": "Dodaj območje", + "loading": "Nalaganje podrobnosti območja...", + "error": "Napaka pri nalaganju podrobnosti območja.", + "notFound": "Območje ni bilo najdeno.", + "details": "Podrobnosti območja", + "viewProjects": "Ogled projektov v {{name}}" + }, + "notes": { + "loading": "Nalaganje opomb...", + "error": "Napaka pri nalaganju opomb", + "searchPlaceholder": "Išči opombe...", + "noNotesFound": "Nobene opombe niso bile najdene", + "title": "Opombe", + "deleteNoteAriaLabel": "Izbriši opombo {{noteTitle}}", + "deleteNoteTitle": "Izbriši opombo {{noteTitle}}", + "editNoteAriaLabel": "Uredi opombo {{noteTitle}}", + "editNoteTitle": "Uredi opombo {{noteTitle}}" + }, + "tags": { + "loading": "Nalagam oznake...", + "searchPlaceholder": "Išči oznake...", + "title": "Oznake", + "noTagsFound": "Nobene oznake niso bile najdene", + "editTagAriaLabel": "Uredi oznako {{tagName}}", + "editTagTitle": "Uredi oznako {{tagName}}", + "deleteTagAriaLabel": "Izbriši oznako {{tagName}}", + "deleteTagTitle": "Izbriši oznako {{tagName}}", + "error": "Napaka pri pridobivanju oznake.", + "notFound": "Oznaka ni bila najdena.", + "details": "Podrobnosti o oznaki", + "name": "Ime", + "status": "Status", + "active": "Aktivno", + "inactive": "Neaktivno", + "viewTasksWithTag": "Poglej naloge s to oznako", + "typeToAdd": "Vnesite za dodajanje oznake", + "noItemsWithTag": "Ni najdenih predmetov s to oznako" + }, + "recurrence": { + "none": "Noben", + "daily": "Dnevno", + "weekly": "Tedensko", + "monthly": "Mesečno", + "monthlyWeekday": "Mesečno na delovni dan", + "monthlyLastDay": "Mesečno na zadnji dan", + "firstWeek": "Prvi teden", + "secondWeek": "Drugi teden", + "thirdWeek": "Tretji teden", + "fourthWeek": "Četrti teden", + "lastWeek": "Zadnji teden", + "days": "dni", + "loadingParentSettings": "Nalagam nastavitve ponavljajoče se naloge...", + "recurringTaskInstance": "Ponavljajoči se primer naloge", + "inheritedSettingsMessage": "Ta naloga je bila ustvarjena iz ponavljajoče se naloge. Nastavitve ponavljanja, prikazane spodaj, so podedovane iz izvirne naloge in jih ni mogoče urediti tukaj.", + "cancelEdit": "Prekliči urejanje", + "editParentRecurrence": "Uredi nastavitve ponavljanja starševske naloge", + "parentEditWarning": "⚠️ Urejate nastavitve ponavljanja starševske naloge. Spremembe bodo vplivale na vse prihodnje primere te ponavljajoče se naloge." + }, + "weekdays": { + "sunday": "Nedelja", + "monday": "Ponedeljek", + "tuesday": "Torek", + "wednesday": "Sreda", + "thursday": "Četrtek", + "friday": "Petek", + "saturday": "Sobota" + }, + "pomodoro": { + "play": "Predvajaj", + "pause": "Pauza", + "reset": "Ponastavi", + "close": "Zapri", + "complete": "Pomodoro končan!", + "completeMessage": "Odlično delo! Čas za odmor.", + "done": "Končano" + }, + "calendar": { + "month": "Mesec", + "week": "Teden", + "day": "Dan", + "today": "Danes", + "addEvent": "Dodaj dogodek", + "weekView": "Pogled teden", + "dayView": "Pogled dan", + "loadingTasks": "Nalagam naloge...", + "noEvents": "Brez dogodkov za ta dan", + "moreEvents": "več", + "googleIntegration": "Integracija Google Koledarja", + "googleDescription": "Povežite svoj Google Koledar za sinhronizacijo dogodkov in njihovo ogledovanje poleg vaših nalog.", + "googleStatus": "Status", + "notConnected": "Nisem povezan", + "connected": "Povezan", + "connectGoogle": "Poveži Google Koledar", + "disconnectGoogle": "Prekini povezavo z Google Koledarjem", + "connecting": "Povezujem...", + "connectionError": "Povezava z Google Koledarjem ni uspela. Poskusite znova.", + "disconnectionError": "Prekinitev povezave z Google Koledarjem ni uspela. Poskusite znova.", + "taskDetails": "Podrobnosti naloge", + "editTask": "Uredi nalogo", + "goToTasks": "Pojdi na naloge", + "close": "Zapri", + "title": "Naslov", + "status": "Status", + "dueDate": "Rok", + "priority": "Prioriteta", + "project": "Projekt", + "area": "Območje", + "description": "Opis", + "created": "Ustvarjeno", + "completed": "Dokončano", + "pending": "Čaka", + "high": "Visoko", + "medium": "Srednje", + "low": "Nizko", + "time": "Čas", + "allDay": "Ves dan" + }, + "pages": { + "notFound": { + "title": "404 - Stran ni bila najdena", + "message": "Stran, ki jo iščete, ne obstaja." + } + }, + "navbar": { + "appName": "tududi", + "quickInboxCapture": "Hiter zajem v nabiralnik", + "userMenu": "Uporabniški meni", + "collapseSidebar": "Zmanjšaj stransko vrstico", + "expandSidebar": "Razširi stransko vrstico" + }, + "upload": { + "uploading": "Nalaganje..." + }, + "searchPlaceholders": { + "searchProjects": "Išči projekte...", + "searchTags": "Išči oznake...", + "searchTasks": "Išči naloge..." + }, + "ariaLabels": { + "hideInfo": "Skrij informacije", + "aboutTasks": "O nalogah", + "hideSearch": "Skrij iskanje", + "searchTasks": "Išči naloge", + "aboutInbox": "O prejetih sporočilih", + "collapseInfoPanel": "Zmanjšaj informacijski panel", + "showTasksInformation": "Prikaži informacije o nalogah", + "collapseSearchPanel": "Zmanjšaj iskalni panel", + "showSearchInput": "Prikaži iskalno polje", + "showInboxInformation": "Prikaži informacije o prejetih sporočilih" + }, + "api": { + "errors": { + "authenticationRequired": "Zahteva se avtentikacija", + "userNotFound": "Uporabnik ni bil najden", + "authenticationError": "Napaka pri avtentikaciji", + "internalServerError": "Notranja napaka strežnika", + "invalidLoginParameters": "Neveljavni parametri za prijavo.", + "invalidCredentials": "Neveljavne poverilnice", + "couldNotLogout": "Odjava ni bila mogoča", + "loggedOutSuccessfully": "Uspešno ste se odjavili", + "contentRequired": "Vsebina je obvezna", + "inboxItemNotFound": "Element v nabiralniku ni bil najden.", + "inboxItemDeleted": "Element v nabiralniku je bil uspešno izbrisan", + "contentRequiredString": "Vsebina je obvezna in mora biti niz", + "problemCreatingInboxItem": "Pri ustvarjanju elementa v nabiralniku je prišlo do težave.", + "problemUpdatingInboxItem": "Pri posodabljanju elementa v nabiralniku je prišlo do težave.", + "problemDeletingInboxItem": "Pri brisanju elementa v nabiralniku je prišlo do težave.", + "problemProcessingInboxItem": "Pri obdelavi elementa v nabiralniku je prišlo do težave.", + "invalidOrderColumn": "Določena je neveljavna stolpec za naročilo.", + "taskNotFound": "Naloga ni bila najdena.", + "taskNameRequired": "Ime naloge je obvezno.", + "invalidProject": "Neveljavna projekt.", + "unableToUpdateTask": "Ni mogoče posodobiti naloge", + "taskDeleted": "Naloga je bila uspešno izbrisana", + "failedToGenerateRecurringTasks": "Generiranje ponavljajočih nalog ni uspelo", + "failedToUpdateTodayFlag": "Ni uspelo posodobiti oznake naloge za danes", + "noImageProvided": "Nobena slika ni bila posredovana", + "failedToUploadImage": "Ni uspelo naložiti slike", + "projectNotFound": "Projekt ni bil najden", + "projectNameRequired": "Ime projekta je obvezno", + "projectDeleted": "Projekt je bil uspešno izbrisan", + "noteNotFound": "Opomba ni bila najdena.", + "noteDeleted": "Opomba je bila uspešno izbrisana.", + "profileNotFound": "Profil ni bil najden.", + "passwordTooShort": "Geslo mora imeti vsaj 6 znakov", + "currentPasswordIncorrect": "Trenutno geslo je napačno", + "failedToUpdateProfile": "Ni uspelo posodobiti profila.", + "passwordChangeRequired": "Trenutno geslo in novo geslo sta obvezna", + "passwordChangedSuccessfully": "Geslo je bilo uspešno spremenjeno", + "failedToUpdateTaskSummary": "Ni uspelo posodobiti nastavitev povzetka naloge.", + "frequencyRequired": "Frekvenca je obvezna.", + "invalidFrequency": "Neveljavna vrednost frekvence.", + "failedToStartTelegramPolling": "Ni uspelo zagnati Telegramovega anketiranja.", + "failedToStopTelegramPolling": "Ni uspelo ustaviti Telegramovega anketiranja.", + "invalidTelegramTokenFormat": "Neveljavna oblika Telegramovega bot tokena.", + "invalidBotToken": "Neveljavna bot token ali bot ni dostopen.", + "chatIdRequired": "ID pogovora je obvezen.", + "areaNotFound": "Območje ni bilo najdeno ali ne pripada trenutnemu uporabniku.", + "areaNameRequired": "Ime območja je obvezno.", + "tagNotFound": "Oznaka ni bila najdena", + "tagNameRequired": "Ime oznake je obvezno", + "tagDeleted": "Oznaka je bila uspešno izbrisana", + "demoModeGoogleCalendar": "Demo način: simulirana integracija Google Koledarja", + "failedToGenerateAuthUrl": "Generiranje URL-ja za avtorizacijo ni uspelo", + "authCodeNotProvided": "Avtorizacijska koda ni bila zagotovljena", + "failedToCheckCalendarStatus": "Preverjanje statusa koledarja ni uspelo", + "failedToFetchCalendarEvents": "Pridobivanje dogodkov koledarja ni uspelo", + "googleCalendarDisconnected": "Google Koledar je odklopljen", + "failedToDisconnectCalendar": "Odklop koledarja ni uspelo", + "urlParameterRequired": "URL parameter je obvezen", + "couldNotExtractMetadata": "Ni bilo mogoče izvleči metapodatkov", + "textParameterRequired": "Besedilni parameter je obvezen", + "notFound": "Ni najdeno", + "resourceNotFound": "Zahtevane vire ni bilo mogoče najti." + } + }, + "telegram": { + "welcomeMessage": "🎉 Dobrodošli v tududi!\n\nVaš osebni bot za upravljanje nalog je zdaj povezan in pripravljen pomagati!\n\n📝 Preprosto mi pošljite katero koli sporočilo in ga bom dodal v vaš tududi predal kot element.\n\n✨ Ukazi:\n• /help - Prikaži informacije o pomoči\n• /start - Prikaži dobrodošlo sporočilo\n• Preprosto vpišite katero koli besedilo - Dodajte ga kot element v predalu\n\nOrganizirajmo se! 🚀", + "helpMessage": "📋 tududi Bot Pomoč\n\nPošlji mi katero koli besedilno sporočilo in ga bom dodal v tvojo tududi vhodno mapo kot element vhodne mape.\n\nUkazi:\n/start - Pozdravno sporočilo\n/help - Prikaži to pomoč\n\nSamo vpiši svoj element in poskrbel bom za ostalo!", + "commandProcessed": "Ukaz je bil uspešno obdelan", + "messageProcessed": "Sporočilo je bilo uspešno obdelano", + "failedToAddToInbox": "❌ Dodajanje v vhodno mapo ni uspelo: {{error}}" + } +} diff --git a/public/locales/sv/translation.json b/public/locales/sv/translation.json index 0967ef4..a65b278 100644 --- a/public/locales/sv/translation.json +++ b/public/locales/sv/translation.json @@ -1 +1,870 @@ -{} +{ + "common": { + "save": "Spara", + "cancel": "Avbryt", + "delete": "Ta bort", + "edit": "Redigera", + "create": "Skapa", + "submit": "Skicka", + "close": "Stäng", + "back": "Tillbaka", + "next": "Nästa", + "loading": "Laddar...", + "appLoading": "Laddar applikation... Vänligen vänta.", + "completed": "Avslutad", + "error": "Fel", + "success": "Framgång", + "area": "Område", + "status": "Status", + "saving": "Sparar...", + "settings": "Inställningar", + "none": "Ingen" + }, + "sidebar": { + "dashboard": "Instrumentpanel", + "projects": "Projekt", + "tasks": "Uppgifter", + "calendar": "Kalender", + "notes": "Anteckningar", + "settings": "Inställningar", + "areas": "Områden", + "tags": "Taggar", + "addAreaAriaLabel": "Lägg till område", + "addAreaTitle": "Lägg till område", + "addTagAriaLabel": "Lägg till tagg", + "addTagTitle": "Lägg till tagg", + "addInboxAriaLabel": "Lägg till inkorgsobjekt", + "addInboxTitle": "Lägg till inkorgsobjekt", + "addProjectAriaLabel": "Lägg till projekt", + "addProjectTitle": "Lägg till projekt", + "addNoteAriaLabel": "Lägg till anteckning", + "addNoteTitle": "Lägg till anteckning", + "createNew": "Skapa ny", + "today": "Idag", + "upcoming": "Kommande", + "nextActions": "Nästa Åtgärder", + "inbox": "Inkorg", + "completed": "Avslutade", + "allTasks": "Alla Uppgifter" + }, + "navigation": { + "home": "Hem", + "dashboard": "Instrumentpanel", + "profile": "Profil", + "profileSettings": "Profilinställningar", + "settings": "Inställningar", + "about": "Om", + "logout": "Logga Ut" + }, + "settings": { + "todayPageSettings": "Inställningar för Dagens Sida", + "showDailyQuote": "Visa Dagens Citat", + "showMetrics": "Visa Mätvärden", + "showProductivity": "Visa Produktivitetsinsikter", + "showIntelligence": "Visa Intelligensförslag", + "showNextTaskSuggestion": "Förslag på Nästa Uppgift", + "showSuggestions": "Visa Förslag", + "showDueToday": "Visa Uppgifter som Förfaller Idag", + "showCompleted": "Visa Avslutade Uppgifter" + }, + "dashboard": { + "overview": "Översikt", + "sameAsYesterday": "Samma som igår", + "betterThanYesterday": "{{percentage}}% mer än igår", + "worseThanYesterday": "{{percentage}}% mindre än igår", + "sameAsAverage": "Samma som genomsnittet", + "betterThanAverage": "{{percentage}}% mer än genomsnittet", + "worseThanAverage": "{{percentage}}% mindre än genomsnittet", + "metrics": "Metrik", + "showMetrics": "Visa Metrik", + "hideMetrics": "Dölj Metrik", + "insights": "Insikter", + "showInsights": "Visa Insikter", + "hideInsights": "Dölj Insikter", + "intelligence": "Intelligens", + "showIntelligence": "Visa Intelligensförslag", + "hideIntelligence": "Dölj Intelligensförslag", + "completed": "Genomfört", + "showCompleted": "Visa Genomförda Uppgifter", + "hideCompleted": "Dölj Genomförda Uppgifter" + }, + "tasks": { + "title": "Uppgifter", + "today": "Idag", + "backlog": "Backlog", + "inProgress": "Pågående", + "dueToday": "Förfaller idag", + "stale": "Gammal", + "suggested": "Föreslagen", + "completedToday": "Avslutad idag", + "weeklyCompletions": "Veckovisa framsteg", + "taskCompleted": "uppgift avslutad", + "tasksCompleted": "uppgifter avslutade", + "noTasksAvailable": "Inga uppgifter tillgängliga.", + "searchPlaceholder": "Sök uppgifter...", + "addNewTask": "Lägg till ny uppgift", + "metrics": "Mätvärden", + "myPlanToday": "Min plan för idag", + "noPlanToday": "Inga uppgifter planerade för idag än", + "addToPlanHint": "Klicka på 🗓 'lägg till idag plan' ikonen till höger om en uppgift för att lägga till den här", + "blankSlateHint": "Börja med att skapa en ny uppgift eller ändra dina filter.", + "addToToday": "Lägg till i dagens plan", + "removeFromToday": "Ta bort från dagens plan", + "setInProgress": "Sätt i pågående", + "setNotStarted": "Sätt till ej påbörjad" + }, + "timeline": { + "activityTimeline": "Aktivitetslinje", + "showActivityTimeline": "Visa aktivitetslinje", + "hideActivityTimeline": "Dölj aktivitetslinje", + "hideTimeline": "Dölj tidslinje", + "failedToLoad": "Misslyckades med att ladda tidslinje", + "justNow": "Nyss", + "minutesAgo": "{{minutes}}m sedan", + "hoursAgo": "{{hours}}h sedan", + "daysAgo": "{{days}}d sedan", + "loadingTimeline": "Laddar tidslinje...", + "timelineWillAppear": "Tidslinjen kommer att visas efter att den har sparats", + "noActivity": "Ingen aktivitet ännu", + "events": { + "taskCreated": "Uppgift skapad", + "statusChanged": "Status ändrad", + "priorityChanged": "Prioritet ändrad", + "dueDateChanged": "Förfallodatum ändrat", + "nameUpdated": "Namn uppdaterat", + "descriptionUpdated": "Beskrivning uppdaterad", + "noteUpdated": "Anteckning uppdaterad", + "projectChanged": "Projekt ändrat", + "tagsUpdated": "Taggar uppdaterade", + "taskArchived": "Uppgift arkiverad", + "todayFlagChanged": "Dagens flagga ändrad", + "status": "Status", + "priority": "Prioritet", + "dueDate": "Förfallodatum", + "none": "Inga" + } + }, + "profile": { + "settings": "Profilinställningar", + "language": "Språk", + "theme": "Tema", + "notifications": "Notifikationer", + "english": "Engelska", + "spanish": "Spanska", + "greek": "Grekiska", + "japanese": "Japanska", + "ukrainian": "Ukrainska", + "deutsch": "Tyska", + "italian": "Italienska", + "french": "Franska", + "russian": "Ryska", + "turkish": "Turkiska", + "korean": "Koreanska", + "vietnamese": "Vietnamesiska", + "arabic": "Arabiska", + "dutch": "Holländska", + "romanian": "Rumänska", + "chinese": "Kinesiska", + "portuguese": "Portugisiska", + "indonesian": "Indonesiska", + "bulgarian": "Bulgariska", + "danish": "Danska", + "finnish": "Finska", + "norwegian": "Norska", + "polish": "Polska", + "slovenian": "Slovenska", + "swedish": "Svenska", + "title": "Profilinställningar", + "appearance": "Utseende", + "lightMode": "Läget Ljust", + "darkMode": "Läget Mörkt", + "light": "Ljus", + "dark": "Mörk", + "timezone": "Tidszon", + "saveChanges": "Spara Ändringar", + "successMessage": "Profilen uppdaterades framgångsrikt!", + "languageChangedNote": "Språkändringar tillämpas omedelbart", + "languageChanging": "Ändrar språk...", + "languagePreference": "Språkpreferens", + "personalInfo": "Personlig Information", + "errorMessage": "Misslyckades med att uppdatera profilen", + "telegramIntegration": "Telegramintegration", + "telegramDescription": "Anslut ditt tududi-konto till en Telegram-bot för att lägga till objekt i din inkorg via Telegram-meddelanden.", + "telegramBotToken": "Telegram Bot Token", + "telegramTokenDescription": "Skapa en bot med @BotFather på Telegram och klistra in token här.", + "telegramConnected": "Ditt Telegram-konto är anslutet! Skicka meddelanden till din bot för att lägga till objekt i din tududi-inkorg.", + "setupTelegram": "Ställ in Telegram", + "setupTelegramLower": "ställ in telegram", + "settingUp": "Ställer in...", + "telegramSetupSuccess": "Telegram-bot \"{{botName}}\" konfigurerad framgångsrikt!", + "telegramSetupFailed": "Misslyckades med att ställa in Telegram-bot.", + "invalidTelegramToken": "Ogiltigt format för Telegram-bottoken.", + "telegramInstructions": "Gå till https://t.me/{{botUsername}} och börja chatta med din bot för att koppla den till ditt tududi-konto.", + "botConfigured": "Bot konfigurerad framgångsrikt!", + "botUsername": "Bot-användarnamn:", + "pollingStatus": "Pollingstatus:", + "pollingActive": "Aktiv - Tar emot meddelanden", + "pollingInactive": "Inaktiv - Tar inte emot meddelanden", + "pollingNote": "Polling kontrollerar periodiskt nya meddelanden från Telegram och lägger till dem i din inkorg.", + "pollingDescription": "Polling kontrollerar periodiskt nya meddelanden från Telegram och lägger till dem i din inkorg.", + "startPolling": "Starta polling", + "stopPolling": "Stoppa polling", + "startPollingLower": "starta polling", + "stopPollingLower": "stoppa polling", + "pollingStarted": "Telegram-polling startad", + "pollingStopped": "Telegram-polling stoppad", + "pollingError": "Fel vid hantering av Telegram-polling", + "startPollingFailed": "Misslyckades med att starta polling", + "stopPollingFailed": "Misslyckades med att stoppa polling", + "openTelegram": "Öppna i Telegram", + "openInTelegram": "öppna i telegram", + "testTelegramMessage": "Testa Telegram", + "testMessageSent": "Testmeddelande skickat framgångsrikt!", + "testMessageFailed": "Misslyckades med att skicka testmeddelande.", + "testMessageError": "Fel vid skickande av testmeddelande.", + "taskSummaryNotifications": "Notifikationer om uppgiftssammanfattningar", + "taskSummaryDescription": "Ta emot regelbundna sammanfattningar av dina uppgifter via Telegram. Denna funktion kräver att Telegram-integrationen är inställd.", + "enableTaskSummaries": "Aktivera uppgiftssammanfattningar", + "enableTaskSummary": "Aktivera uppgiftssammanfattningar", + "summaryFrequency": "Sammanfattningsfrekvens", + "summaryFrequencyDescription": "Välj hur ofta du vill ta emot uppgiftssammanfattningar", + "sendTestSummary": "Skicka test sammanfattning", + "frequency": { + "1h": "1 timme", + "2h": "2 timmar", + "4h": "4 timmar", + "8h": "8 timmar", + "12h": "12 timmar", + "daily": "1 dag", + "weekly": "1 vecka" + }, + "frequencyHelp": "Välj hur ofta du vill ta emot sammanfattningar av uppgifter", + "taskIntelligence": "Uppgiftsintelligens", + "taskIntelligenceDescription": "Få hjälpsamma förslag för att göra dina uppgiftsnamn mer beskrivande och handlingskraftiga.", + "enableTaskIntelligence": "Aktivera Uppgiftsintelligensassistent", + "autoSuggestNextActions": "Automatisk förslag på nästa åtgärder", + "autoSuggestNextActionsDescription": "Vid skapande av ett projekt, automatiskt föreslå den allra nästa fysiska åtgärden att vidta.", + "enableAutoSuggestNextActions": "Aktivera förslag på nästa åtgärder", + "productivityFeatures": "Produktivitetsfunktioner", + "pomodoroDescription": "Aktivera Pomodoro-timern i navigeringsfältet för fokuserade arbetspass.", + "enablePomodoro": "Aktivera Pomodoro-timer", + "productivityAssistant": "Produktivitetsassistent", + "productivityAssistantDescription": "Visa produktivitetinsikter som hjälper till att identifiera stillastående projekt, vaga uppgifter och förbättringar av arbetsflödet på din Idag-sida.", + "enableProductivityAssistant": "Aktivera produktivitetinsikter", + "nextTaskSuggestion": "Förslag på nästa uppgift", + "nextTaskSuggestionDescription": "Automatiskt föreslå den bästa nästa uppgiften att arbeta med när du inte har något på gång, prioritera uppgifter som förfaller idag, sedan föreslagna uppgifter från din Idag-sida.", + "enableNextTaskSuggestion": "Aktivera förslag på nästa uppgift", + "nextActionPrompt": "Vad är den allra nästa fysiska åtgärden för detta projekt?", + "nextActionPlaceholder": "t.ex., Ring klienten för att boka möte, Forska om konkurrenter online, Skapa projektmapp...", + "addNextAction": "Lägg till nästa åtgärd", + "skipNextAction": "Hoppa över för nu", + "nextActionHint": "Tänk på det minsta, mest konkreta steget du kan ta just nu för att driva detta projekt framåt.", + "tabs": { + "general": "Allmänt", + "security": "Säkerhet", + "productivity": "Produktivitet", + "telegram": "Telegram", + "ai": "AI-funktioner" + }, + "security": "Säkerhetsinställningar", + "changePassword": "Ändra Lösenord", + "currentPassword": "Nuvarande Lösenord", + "newPassword": "Nytt Lösenord", + "confirmPassword": "Bekräfta Nytt Lösenord", + "enterCurrentPassword": "Ange ditt nuvarande lösenord", + "enterNewPassword": "Ange ditt nya lösenord", + "confirmNewPassword": "Bekräfta ditt nya lösenord", + "currentPasswordRequired": "Nuvarande lösenord krävs", + "newPasswordRequired": "Nytt lösenord krävs", + "passwordTooShort": "Lösenordet måste vara minst 6 tecken", + "passwordMismatch": "Lösenorden matchar inte", + "passwordChangeError": "Misslyckades med att ändra lösenord", + "passwordChangeSuccess": "Lösenordet har ändrats framgångsrikt!", + "changingPassword": "Ändrar lösenord...", + "accountSettings": "Konto & Inställningar", + "aiProductivityFeatures": "AI & Produktivitetsfunktioner", + "botSetup": "Bot-inställningar", + "passwordChangeNote": "Ändringar av lösenordet sparas när du klickar på \"Spara ändringar\" längst ner i formuläret.", + "passwordChangeOptional": "Lämna lösenordsfälten tomma för att uppdatera andra inställningar utan att ändra ditt lösenord." + }, + "productivity": { + "stalledProjects": "Stagnerade projekt", + "stalledProjectsDesc": "Dessa projekt har inga uppgifter eller åtgärder", + "needsNextAction": "Projekt som behöver nästa åtgärd", + "needsNextActionDesc": "Dessa projekt har slutförda uppgifter men ingen nästa åtgärd", + "tasksAreProjects": "Uppgifter som ser ut som projekt", + "tasksAreProjectsDesc": "Dessa uppgifter kan behöva brytas ner", + "vagueTasks": "Uppgifter utan tydlig åtgärd", + "vagueTasksDesc": "Dessa uppgifter behöver tydligare handlingsverb", + "staleTasks": "Gamla uppgifter", + "staleTasksDesc": "Uppgifter som inte har uppdaterats på {{days}} dagar", + "stuckProjects": "Fastlåsta projekt", + "stuckProjectsDesc": "Projekt som inte har uppdaterats nyligen", + "issuesFound": "Hittade {{count}} produktivitetsproblem som behöver uppmärksamhet", + "reviewItems": "Klicka för att granska och förbättra ditt arbetsflöde", + "suggestion": "Klicka på vilket objekt som helst ovan för att öppna det och göra förbättringar." + }, + "nextTask": { + "suggestion": "Eftersom det inte finns något pågående, vad sägs om att börja med", + "suggestionTodayPlan": "Eftersom det inte finns något pågående, vad sägs om att börja med denna uppgift från din dagens plan", + "suggestionDueToday": "Eftersom det inte finns något pågående, vad sägs om att börja med denna uppgift som förfaller idag", + "suggestionSuggested": "Eftersom det inte finns något pågående, vad sägs om att börja med denna föreslagna uppgift", + "letsDoIt": "Ja, låt oss göra det!", + "starting": "Startar...", + "startedSuccessfully": "Uppgift startad framgångsrikt!", + "giveMeSomethingElse": "Ge mig något annat" + }, + "modals": { + "confirmDelete": "Är du säker på att du vill radera?", + "taskCreation": "Skapa Ny Uppgift", + "taskEdit": "Redigera Uppgift", + "deleteTask": { + "title": "Radera Uppgift", + "confirmation": "Är du säker på att du vill radera denna uppgift? Denna åtgärd kan inte ångras." + }, + "noteCreation": "Skapa Ny Anteckning", + "noteEdit": "Redigera Anteckning", + "updateNote": "Uppdatera Anteckning", + "createNote": "Skapa Anteckning", + "submitting": "Skickar...", + "areaCreation": "Skapa Nytt Område", + "areaEdit": "Redigera område", + "updateArea": "Uppdatera område", + "createArea": "Skapa område", + "updateTag": "Uppdatera tagg", + "createTag": "Skapa tagg", + "createProject": "Skapa projekt", + "updateProject": "Uppdatera projekt", + "deleteTag": { + "title": "Ta bort tagg", + "message": "Är du säker på att du vill ta bort taggen \"{{tagName}}\"?" + }, + "deleteArea": { + "title": "Ta bort område", + "message": "Är du säker på att du vill ta bort området \"{{areaName}}\"?" + }, + "deleteNote": { + "title": "Ta bort anteckning", + "message": "Är du säker på att du vill ta bort anteckningen \"{{noteTitle}}\"?" + }, + "deleteProject": { + "title": "Ta bort projekt", + "message": "Är du säker på att du vill ta bort projektet \"{{projectName}}\"?" + } + }, + "forms": { + "title": "Titel", + "description": "Beskrivning", + "dueDate": "Förfallodatum", + "priority": "Prioritet", + "status": "Status", + "assignedTo": "Tilldelad till", + "category": "Kategori", + "tags": "Taggar", + "required": "Detta fält är obligatoriskt", + "optional": "Valfritt", + "task": { + "namePlaceholder": "Lägg till uppgiftsnamn", + "statusAndOptions": "Status & Alternativ", + "recurrence": "Återkommande", + "labels": { + "tags": "Taggar", + "project": "Projekt", + "status": "Status", + "priority": "Prioritet", + "dueDate": "Förfallodatum", + "note": "Anteckning", + "recurrenceType": "Upprepa", + "recurrenceInterval": "Varje", + "weekday": "På dag", + "monthDay": "Dag i månaden", + "weekOfMonth": "Vecka i månaden", + "recurrenceEndDate": "Slutdatum (valfritt)", + "completionBased": "Upprepa efter slutförande" + }, + "projectSearchPlaceholder": "Sök eller skapa ett projekt...", + "noMatchingProjects": "Inga matchande projekt", + "creatingProject": "Skapar...", + "createProject": "+ Skapa", + "recurrenceSettings": "Inställningar för upprepning", + "completionBasedHelp": "Om markerad, kommer nästa uppgift att skapas baserat på slutförandedatum istället för förfallodatum", + "dueDatePlaceholder": "Välj förfallodatum", + "endDatePlaceholder": "Välj slutdatum", + "nameHelper": { + "title": "Gör det mer beskrivande!", + "suggestion": "Försök att lägga till mer information som \"Ring tandläkaren för att boka tid för rengöring\" istället för bara \"Ring tandläkaren\"", + "short": "Gör det mer beskrivande!", + "noVerb": "Lägg till ett handlingsverb!", + "vague": "Var mer specifik!" + }, + "suggestions": { + "short": "Försök att vara mer specifik om vad som behöver göras", + "noVerb": "Vilken specifik åtgärd behöver du vidta? Försök att börja med ett verb.", + "vague": "Försök att börja med ett handlingsverb som \"Ring\", \"Skriv\", \"Boka\" eller \"Forskning\"" + } + }, + "noteTitle": "Anteckningstitel", + "noteContent": "Anteckningsinnehåll", + "noteTitlePlaceholder": "Ange anteckningstitel", + "noteContentPlaceholder": "Ange anteckningsinnehåll", + "areaName": "Områdesnamn", + "areaDescription": "Områdesbeskrivning", + "areaNamePlaceholder": "Ange områdesnamn", + "areaDescriptionPlaceholder": "Ange områdesbeskrivning", + "tagName": "Taggnamn", + "tagNamePlaceholder": "Ange taggnamn", + "tagInputPlaceholder": "Skriv för att lägga till en tagg", + "createTagOption": "+ Skapa \"{{tagName}}\"", + "removeTagAriaLabel": "Ta bort tagg {{tagName}}" + }, + "auth": { + "login": "Logga in", + "register": "Registrera", + "forgotPassword": "Glömt lösenord", + "email": "E-post", + "password": "Lösenord", + "confirmPassword": "Bekräfta lösenord", + "username": "Användarnamn", + "signup": "Registrera dig", + "signin": "Logga in", + "signout": "Logga ut", + "resetPassword": "Återställ Lösenord", + "newPassword": "Nytt Lösenord", + "rememberMe": "Kom ihåg mig", + "loginSuccess": "Inloggning Lyckades", + "loginFailed": "Inloggning Misslyckades", + "logoutSuccess": "Utloggning Lyckades" + }, + "dropdown": { + "createNew": "Skapa Ny", + "inbox": "Inkorg", + "task": "Uppgift", + "project": "Projekt", + "note": "Anteckning", + "area": "Område", + "tag": "Tagg" + }, + "sort": { + "due_date": "Förfallodatum", + "name": "Namn", + "priority": "Prioritet", + "status": "Status", + "created_at": "Skapad Den" + }, + "priority": { + "low": "Låg", + "medium": "Medel", + "high": "Hög" + }, + "status": { + "notStarted": "Inte påbörjad", + "inProgress": "Pågående", + "done": "Utförd", + "archived": "Arkiverad", + "unknown": "Okänd", + "telegramConnected": "Telegram ansluten och polling", + "telegramConnectionProblem": "Problem med Telegram-anslutning" + }, + "project": { + "name": "Projektets namn", + "projectImage": "Projektbild", + "uploadImageHint": "Ladda upp en bild för ditt projekt (max 5MB)", + "browseImage": "Bläddra efter bild", + "noNotes": "Inga anteckningar för detta projekt.", + "deleteProject": "Ta bort projekt", + "createSuccess": "Projektet skapades framgångsrikt!" + }, + "errors": { + "required": "Detta fält är obligatoriskt", + "invalidEmail": "Ogiltig e-postadress", + "projectCreationFailed": "Misslyckades med att skapa projekt.", + "passwordMismatch": "Lösenorden matchar inte", + "minLength": "Minimi längd är {{length}} tecken", + "maxLength": "Maximal längd är {{length}} tecken", + "serverError": "Serverfel, vänligen försök igen senare", + "networkError": "Nätverksfel, vänligen kontrollera din anslutning", + "somethingWentWrong": "Något gick fel, vänligen försök igen", + "taskFetch": "Misslyckades med att hämta uppgifter.", + "projectFetch": "Misslyckades med att hämta projekt.", + "taskCreate": "Misslyckades med att skapa uppgift.", + "taskUpdate": "Misslyckades med att uppdatera uppgift.", + "taskDelete": "Misslyckades med att ta bort uppgift.", + "noteTitleRequired": "Anteckningens titel krävs.", + "failedToLoadTags": "Misslyckades med att ladda tillgängliga taggar.", + "failedToSaveNote": "Misslyckades med att spara anteckning.", + "areaNameRequired": "Områdets namn krävs.", + "failedToSaveArea": "Misslyckades med att spara område.", + "tagNameRequired": "Taggnamn krävs.", + "failedToSaveTag": "Misslyckades med att spara tagg.", + "projectNameRequired": "Projektets namn krävs.", + "projectSaveFailed": "Misslyckades med att spara projekt." + }, + "inbox": { + "title": "Inkorg", + "empty": "Din inkorg är tom", + "emptyDescription": "Fånga tankar och idéer snabbt med ⚡ ikonen i den övre navigeringsfältet eller + knappen i sidofältet", + "description": "Inkorgen är där alla okategoriserade uppgifter finns. Uppgifter som inte har tilldelats ett projekt eller inte har ett förfallodatum kommer att visas här. Detta är ditt 'hjärnavlopp' där du snabbt kan notera uppgifter och organisera dem senare.", + "captureThought": "Fånga din tanke...", + "saveToInbox": "Spara till Inkorgen", + "itemAdded": "Objekt tillagt i inkorgen", + "itemProcessed": "Objekt bearbetat", + "itemDeleted": "Objekt raderat", + "itemUpdated": "Objekt uppdaterat", + "newTelegramItem": "Nytt objekt från Telegram: {{content}}", + "newItem": "Nytt objekt i inkorgen tillagt: {{content}}", + "multipleNewItems": "{{count}} fler nya objekt tillagda", + "loadError": "Misslyckades med att ladda inkorgsobjekt", + "addError": "Misslyckades med att lägga till inkorgsobjekt", + "processError": "Misslyckades med att bearbeta inkorgsobjekt", + "deleteError": "Misslyckades med att radera inkorgsobjekt", + "updateError": "Misslyckades med att uppdatera inkorgsobjekt", + "contentRequired": "Innehållet kan inte vara tomt", + "createTask": "Skapa uppgift", + "createProject": "Skapa projekt", + "createNote": "Skapa anteckning", + "convertTo": "Konvertera till", + "unprocessedItems": "Du har {{count}} objekt i din inkorg", + "processNow": "Bearbeta nu", + "deleteConfirmTitle": "Ta bort objekt", + "deleteConfirmMessage": "Är du säker på att du vill ta bort detta objekt från din inkorg? Denna åtgärd kan inte ångras." + }, + "dateFormats": { + "long": "EEEE, MMMM d, yyyy", + "short": "MMM d, yyyy", + "monthYear": "MMMM yyyy", + "dayMonth": "MMMM d", + "time": "h:mm a", + "dateTime": "MMM d, yyyy h:mm a", + "todayHeader": "dddd, MMMM do, yyyy" + }, + "dateIndicators": { + "today": "IDAG", + "tomorrow": "IMORGON", + "yesterday": "IGÅR" + }, + "taskViews": { + "project": { + "withName": "Du tittar för närvarande på alla uppgifter som är kopplade till projektet \"{{projectName}}\". Du kan organisera uppgifter inom detta projekt, ställa in deras prioritet och följa deras slutförande. Använd detta utrymme för att fokusera på de uppgifter som specifikt tillhör detta projekt.", + "noName": "Du tittar på uppgifter för ett specifikt projekt. Använd detta utrymme för att hantera och följa uppgifter kopplade till detta projekt." + }, + "today": "Detta är de uppgifter som ska vara klara idag eller uppgifter som du har schemalagt för omedelbar uppmärksamhet. Använd denna vy för att fokusera på vad som behöver slutföras idag. Markera uppgifter som slutförda, uppdatera deras status eller justera deras förfallodatum om det behövs.", + "inbox": "Inkorgen är där alla okategoriserade uppgifter finns. Uppgifter som inte har tilldelats ett projekt eller fått ett förfallodatum kommer att visas här. Detta är ditt \"hjärnavlopp\"-område där du snabbt kan skriva ner uppgifter och organisera dem senare.", + "next": "Denna vy visar alla uppgifter som är handlingsbara inom en snar framtid. Dessa uppgifter är redo att arbetas med härnäst och har inga långsiktiga deadlines. Det är en bra plats att fokusera på när du vill göra snabba framsteg med uppgifter.", + "upcoming": "Denna vy framhäver uppgifter som är schemalagda för den kommande veckan. Den hjälper dig att förbereda dig och ligga steget före deadlines genom att ge dig en översikt över det arbete du behöver ta itu med inom en snar framtid. Uppgifter med förfallodatum inom de kommande 7 dagarna kommer att visas här.", + "someday": "\"Någon gång\"-vyn är för uppgifter som inte är brådskande och inte har ett specifikt förfallodatum. Det här är uppgifter som du kanske vill ta itu med vid något tillfälle, men de är inte en prioritet just nu. Använd den här sektionen för att hålla koll på idéer eller långsiktiga mål.", + "completed": "Här kan du se alla uppgifter du har slutfört. Det är ett utmärkt sätt att granska dina prestationer och reflektera över det arbete du har avslutat. Du kan också hitta uppgifter som kan behöva avarkiveras eller refereras till i framtiden.", + "allTasks": "Du ser alla uppgifter. Detta inkluderar uppgifter från olika projekt, uppgifter utan specifika förfallodatum och uppgifter med varierande prioritet. Använd denna vy för en övergripande bild av allt på din att-göra-lista." + }, + "success": { + "noteUpdated": "Anteckning uppdaterad framgångsrikt!", + "noteCreated": "Anteckning skapad framgångsrikt!", + "areaUpdated": "Område uppdaterat framgångsrikt!", + "areaCreated": "Område skapat framgångsrikt!", + "tagUpdated": "Tagg uppdaterad framgångsrikt!", + "tagCreated": "Tagg skapad framgångsrikt!", + "projectCreated": "Projekt skapat framgångsrikt!", + "projectDeleted": "Projekt raderat framgångsrikt!", + "nextActionAdded": "Nästa åtgärd tillagd framgångsrikt!", + "taskCreated": "Uppgift skapad framgångsrikt!", + "taskUpdated": "Uppgift uppdaterad framgångsrikt!", + "taskDeleted": "Uppgift raderad framgångsrikt!" + }, + "note": { + "title": "Titel", + "content": "Innehåll", + "titlePlaceholder": "Ange anteckningstitel", + "contentPlaceholder": "Ange anteckningsinnehåll", + "project": "Relaterat projekt (valfritt)", + "createSuccess": "Anteckning skapad framgångsrikt", + "createError": "Misslyckades med att skapa anteckning" + }, + "task": { + "labels": { + "tags": "Taggar", + "project": "Projekt", + "status": "Status", + "priority": "Prioritet", + "dueDate": "Förfallodatum", + "note": "Anteckning" + }, + "create": "Skapa", + "addTaskName": "Lägg till uppgiftsnamn", + "createSuccess": "Uppgift skapad framgångsrikt", + "createError": "Misslyckades med att skapa uppgift", + "saveAsTask": "Spara som uppgift", + "updateSuccess": "Uppgift uppdaterad framgångsrikt", + "updateError": "Misslyckades med att uppdatera uppgift", + "deleteSuccess": "Uppgift raderad framgångsrikt", + "deleteError": "Misslyckades med att radera uppgift", + "startedSuccessfully": "Uppgift påbörjad framgångsrikt!", + "created": "Uppgift", + "createdSuccessfully": "skapad framgångsrikt!", + "updated": "Uppgift", + "updatedSuccessfully": "uppdaterad framgångsrikt!", + "deleted": "Uppgift", + "deletedSuccessfully": "borttagen framgångsrikt!", + "suggestions": { + "short": "Försök att vara mer specifik om vad som behöver göras" + }, + "nameHelper": { + "title": "Gör den mer beskrivande!", + "suggestion": "Försök att lägga till mer information som \"Ring tandläkaren för att boka tid för rengöring\" istället för bara \"Ring tandläkaren\"" + } + }, + "projects": { + "loading": "Laddar projekt...", + "error": "Fel vid inläsning av projekt", + "searchPlaceholder": "Sök projekt...", + "title": "Projekt", + "noProjectsFound": "Inga projekt hittades", + "cardViewAriaLabel": "Kortvy", + "listViewAriaLabel": "Listvy", + "active": "Aktiv", + "inactive": "Inaktiv", + "metrics": "Projekt", + "filters": { + "active": "Aktiv", + "inactive": "Inaktiv", + "all": "Alla", + "allAreas": "Alla områden" + } + }, + "projectItem": { + "edit": "Redigera", + "delete": "Ta bort", + "completion": "Slutförande", + "completionPercentage": "{{percentage}}% slutfört", + "toggleDropdownMenu": "Växla rullgardinsmeny", + "projectInitials": "Projektinitialer" + }, + "areas": { + "title": "Områden", + "noAreasFound": "Inga områden hittades", + "editAreaAriaLabel": "Redigera område {{name}}", + "editAreaTitle": "Redigera område {{name}}", + "deleteAreaAriaLabel": "Ta bort område {{name}}", + "deleteAreaTitle": "Ta bort område {{name}}", + "addArea": "Lägg till område", + "loading": "Laddar områdesdetaljer...", + "error": "Fel vid inläsning av områdesdetaljer.", + "notFound": "Område hittades inte.", + "details": "Områdesdetaljer", + "viewProjects": "Visa projekt i {{name}}" + }, + "notes": { + "loading": "Laddar anteckningar...", + "error": "Fel vid inläsning av anteckningar", + "searchPlaceholder": "Sök anteckningar...", + "noNotesFound": "Inga anteckningar hittades", + "title": "Anteckningar", + "deleteNoteAriaLabel": "Ta bort anteckning {{noteTitle}}", + "deleteNoteTitle": "Ta bort anteckning {{noteTitle}}", + "editNoteAriaLabel": "Redigera anteckning {{noteTitle}}", + "editNoteTitle": "Redigera anteckning {{noteTitle}}" + }, + "tags": { + "loading": "Laddar taggar...", + "searchPlaceholder": "Sök taggar...", + "title": "Taggar", + "noTagsFound": "Inga taggar hittades", + "editTagAriaLabel": "Redigera tagg {{tagName}}", + "editTagTitle": "Redigera tagg {{tagName}}", + "deleteTagAriaLabel": "Ta bort tagg {{tagName}}", + "deleteTagTitle": "Ta bort tagg {{tagName}}", + "error": "Fel vid hämtning av tagg.", + "notFound": "Tagg hittades inte.", + "details": "Taggdetaljer", + "name": "Namn", + "status": "Status", + "active": "Aktiv", + "inactive": "Inaktiv", + "viewTasksWithTag": "Visa uppgifter med denna tagg", + "typeToAdd": "Skriv för att lägga till en tagg", + "noItemsWithTag": "Inga objekt hittades med denna tagg" + }, + "recurrence": { + "none": "Ingen", + "daily": "Dagligen", + "weekly": "Veckovis", + "monthly": "Månatligen", + "monthlyWeekday": "Månatligen på veckodag", + "monthlyLastDay": "Månatligen på sista dagen", + "firstWeek": "Första veckan", + "secondWeek": "Andra veckan", + "thirdWeek": "Tredje veckan", + "fourthWeek": "Fjärde veckan", + "lastWeek": "Sista veckan", + "days": "dagar", + "loadingParentSettings": "Laddar inställningar för återkommande uppgifter...", + "recurringTaskInstance": "Återkommande Uppgift Instans", + "inheritedSettingsMessage": "Denna uppgift genererades från en återkommande uppgift. Återkommande inställningar som visas nedan är ärvda från den ursprungliga uppgiften och kan inte redigeras här.", + "cancelEdit": "Avbryt Redigering", + "editParentRecurrence": "Redigera Föräldraåterkommande", + "parentEditWarning": "⚠️ Du redigerar föräldrauppgiftens återkommande inställningar. Ändringar kommer att påverka alla framtida instanser av denna återkommande uppgift." + }, + "weekdays": { + "sunday": "Söndag", + "monday": "Måndag", + "tuesday": "Tisdag", + "wednesday": "Onsdag", + "thursday": "Torsdag", + "friday": "Fredag", + "saturday": "Lördag" + }, + "pomodoro": { + "play": "Spela", + "pause": "Pausa", + "reset": "Återställ", + "close": "Stäng", + "complete": "Pomodoro Komplett!", + "completeMessage": "Bra jobbat! Dags för en paus.", + "done": "Färdig" + }, + "calendar": { + "month": "Månad", + "week": "Vecka", + "day": "Dag", + "today": "Idag", + "addEvent": "Lägg till evenemang", + "weekView": "Veckovy", + "dayView": "Dagsvy", + "loadingTasks": "Laddar uppgifter...", + "noEvents": "Inga evenemang för denna dag", + "moreEvents": "mer", + "googleIntegration": "Google Kalender Integration", + "googleDescription": "Anslut din Google Kalender för att synkronisera evenemang och se dem tillsammans med dina uppgifter.", + "googleStatus": "Status", + "notConnected": "Inte ansluten", + "connected": "Ansluten", + "connectGoogle": "Anslut Google Kalender", + "disconnectGoogle": "Koppla bort Google Kalender", + "connecting": "Ansluter...", + "connectionError": "Misslyckades med att ansluta till Google Kalender. Vänligen försök igen.", + "disconnectionError": "Misslyckades med att koppla bort från Google Kalender. Vänligen försök igen.", + "taskDetails": "Uppgiftsdetaljer", + "editTask": "Redigera uppgift", + "goToTasks": "Gå till uppgifter", + "close": "Stäng", + "title": "Titel", + "status": "Status", + "dueDate": "Förfallodatum", + "priority": "Prioritet", + "project": "Projekt", + "area": "Område", + "description": "Beskrivning", + "created": "Skapad", + "completed": "Avslutad", + "pending": "Avvaktande", + "high": "Hög", + "medium": "Medel", + "low": "Låg", + "time": "Tid", + "allDay": "Hela dagen" + }, + "pages": { + "notFound": { + "title": "404 - Sidan hittades inte", + "message": "Sidan du letar efter finns inte." + } + }, + "navbar": { + "appName": "tududi", + "quickInboxCapture": "Snabb inkapsling av inkorgen", + "userMenu": "Användarmeny", + "collapseSidebar": "Dölj sidopanel", + "expandSidebar": "Visa sidopanel" + }, + "upload": { + "uploading": "Laddar upp..." + }, + "searchPlaceholders": { + "searchProjects": "Sök projekt...", + "searchTags": "Sök taggar...", + "searchTasks": "Sök uppgifter..." + }, + "ariaLabels": { + "hideInfo": "Dölj information", + "aboutTasks": "Om uppgifter", + "hideSearch": "Dölj sök", + "searchTasks": "Sök uppgifter", + "aboutInbox": "Om inkorgen", + "collapseInfoPanel": "Dölj informationspanel", + "showTasksInformation": "Visa uppgiftsinformation", + "collapseSearchPanel": "Dölj sökpanel", + "showSearchInput": "Visa sökfält", + "showInboxInformation": "Visa inkorgsinformation" + }, + "api": { + "errors": { + "authenticationRequired": "Autentisering krävs", + "userNotFound": "Användare hittades inte", + "authenticationError": "Autentiseringsfel", + "internalServerError": "Internt serverfel", + "invalidLoginParameters": "Ogiltiga inloggningsparametrar.", + "invalidCredentials": "Ogiltiga referenser", + "couldNotLogout": "Kunde inte logga ut", + "loggedOutSuccessfully": "Utloggning lyckades", + "contentRequired": "Innehåll krävs", + "inboxItemNotFound": "Inkorgsobjekt hittades inte.", + "inboxItemDeleted": "Inkorgsobjektet har raderats framgångsrikt", + "contentRequiredString": "Innehåll krävs och måste vara en sträng", + "problemCreatingInboxItem": "Det uppstod ett problem med att skapa inkorgsobjektet.", + "problemUpdatingInboxItem": "Det uppstod ett problem med att uppdatera inkorgsobjektet.", + "problemDeletingInboxItem": "Det uppstod ett problem med att radera inkorgsobjektet.", + "problemProcessingInboxItem": "Det uppstod ett problem med att bearbeta inkorgsobjektet.", + "invalidOrderColumn": "Ogiltig orderkolumn angiven.", + "taskNotFound": "Uppgift hittades inte.", + "taskNameRequired": "Uppgiftsnamn krävs.", + "invalidProject": "Ogiltigt projekt.", + "unableToUpdateTask": "Kunde inte uppdatera uppgiften", + "taskDeleted": "Uppgift raderad framgångsrikt", + "failedToGenerateRecurringTasks": "Misslyckades med att generera återkommande uppgifter", + "failedToUpdateTodayFlag": "Misslyckades med att uppdatera dagens flagga för uppgiften", + "noImageProvided": "Ingen bildfil angiven", + "failedToUploadImage": "Misslyckades med att ladda upp bilden", + "projectNotFound": "Projektet hittades inte", + "projectNameRequired": "Projektnamn krävs", + "projectDeleted": "Projekt raderat framgångsrikt", + "noteNotFound": "Anteckning hittades inte.", + "noteDeleted": "Anteckning raderad framgångsrikt.", + "profileNotFound": "Profilen hittades inte.", + "passwordTooShort": "Lösenordet måste vara minst 6 tecken", + "currentPasswordIncorrect": "Nuvarande lösenord är felaktigt", + "failedToUpdateProfile": "Misslyckades med att uppdatera profilen.", + "passwordChangeRequired": "Nuvarande lösenord och nytt lösenord krävs", + "passwordChangedSuccessfully": "Lösenordet ändrades framgångsrikt", + "failedToUpdateTaskSummary": "Misslyckades med att uppdatera inställningarna för uppgiftssammanfattning.", + "frequencyRequired": "Frekvens krävs.", + "invalidFrequency": "Ogiltigt frekvensvärde.", + "failedToStartTelegramPolling": "Misslyckades med att starta Telegram-övervakning.", + "failedToStopTelegramPolling": "Misslyckades med att stoppa Telegram-övervakningen.", + "invalidTelegramTokenFormat": "Ogiltigt format för Telegram-bottoken.", + "invalidBotToken": "Ogiltig bottoken eller botten är inte åtkomlig.", + "chatIdRequired": "Chat-ID krävs.", + "areaNotFound": "Område hittades inte eller tillhör inte den aktuella användaren.", + "areaNameRequired": "Områdesnamn krävs.", + "tagNotFound": "Tagg hittades inte", + "tagNameRequired": "Taggnamn krävs", + "tagDeleted": "Tagg borttagen framgångsrikt", + "demoModeGoogleCalendar": "Demoläge: Google Kalenderintegration simulerad", + "failedToGenerateAuthUrl": "Misslyckades med att generera auktoriserings-URL", + "authCodeNotProvided": "Auktoriseringskod angavs inte", + "failedToCheckCalendarStatus": "Misslyckades med att kontrollera kalenderstatus", + "failedToFetchCalendarEvents": "Misslyckades med att hämta kalenderhändelser", + "googleCalendarDisconnected": "Google Kalender frånkopplad", + "failedToDisconnectCalendar": "Misslyckades med att koppla bort kalender", + "urlParameterRequired": "URL-parameter krävs", + "couldNotExtractMetadata": "Kunde inte extrahera metadata", + "textParameterRequired": "Textparameter krävs", + "notFound": "Hittades inte", + "resourceNotFound": "Den begärda resursen kunde inte hittas." + } + }, + "telegram": { + "welcomeMessage": "🎉 Välkommen till tududi!\n\nDin personliga uppgiftshanteringsbot är nu ansluten och redo att hjälpa till!\n\n📝 Skicka mig helt enkelt ett meddelande så lägger jag till det i din tududi inkorg som en uppgift.\n\n✨ Kommandon:\n• /help - Visa hjälpinformation\n• /start - Visa välkomstmeddelande\n• Skriv bara vilken text som helst - Lägg till det som en inkorgsuppgift\n\nLåt oss bli organiserade! 🚀", + "helpMessage": "📋 tududi Bot Hjälp\n\nSkicka mig vilket textmeddelande som helst så lägger jag till det i din tududi inkorg som en inkorgsuppgift.\n\nKommandon:\n/start - Välkomstmeddelande\n/help - Visa detta hjälpmeddelande\n\nSkriv bara din uppgift så tar jag hand om resten!", + "commandProcessed": "Kommandot har behandlats framgångsrikt", + "messageProcessed": "Meddelandet har behandlats framgångsrikt", + "failedToAddToInbox": "❌ Misslyckades med att lägga till i inkorgen: {{error}}" + } +} diff --git a/public/locales/tr/translation.json b/public/locales/tr/translation.json index dbea16e..54b3000 100644 --- a/public/locales/tr/translation.json +++ b/public/locales/tr/translation.json @@ -38,7 +38,14 @@ "nextActions": "Sonraki Eylemler", "inbox": "Gelen Kutusu", "completed": "Tamamlandı", - "allTasks": "Tüm Görevler" + "allTasks": "Tüm Görevler", + "addInboxAriaLabel": "Gelen Kutusu Öğesi Ekle", + "addInboxTitle": "Gelen Kutusu Öğesi Ekle", + "addProjectAriaLabel": "Proje Ekle", + "addProjectTitle": "Proje Ekle", + "addNoteAriaLabel": "Not Ekle", + "addNoteTitle": "Not Ekle", + "createNew": "Yeni Oluştur" }, "navigation": { "home": "Ana Sayfa", @@ -128,7 +135,14 @@ "priority": "Öncelik", "dueDate": "Son tarih", "none": "Yok" - } + }, + "justNow": "Şu anda", + "minutesAgo": "{{minutes}}d önce", + "hoursAgo": "{{hours}}s önce", + "daysAgo": "{{days}}g önce", + "loadingTimeline": "Zaman çizelgesi yükleniyor...", + "timelineWillAppear": "Zaman çizelgesi kaydedildikten sonra görünecek", + "noActivity": "Henüz etkinlik yok" }, "profile": { "settings": "Profil Ayarları", @@ -264,7 +278,14 @@ "aiProductivityFeatures": "Yapay Zeka & Verimlilik Özellikleri", "botSetup": "Bot Ayarları", "passwordChangeNote": "\"Değişiklikleri Kaydet\" butonuna tıkladığınızda şifre değişiklikleri kaydedilecektir.", - "passwordChangeOptional": "Şifre alanlarını boş bırakın, böylece şifrenizi değiştirmeden diğer ayarları güncelleyebilirsiniz." + "passwordChangeOptional": "Şifre alanlarını boş bırakın, böylece şifrenizi değiştirmeden diğer ayarları güncelleyebilirsiniz.", + "bulgarian": "Bulgarca", + "danish": "Danca", + "finnish": "Fince", + "norwegian": "Norveççe", + "polish": "Lehçe", + "slovenian": "Slovence", + "swedish": "İsveççe" }, "productivity": { "stalledProjects": "Duraklayan Projeler", @@ -419,7 +440,9 @@ "task": "Görev", "project": "Proje", "note": "Not", - "area": "Alan" + "area": "Alan", + "inbox": "Gelen Kutusu", + "tag": "Etiket" }, "sort": { "due_date": "Son Tarih", @@ -438,7 +461,9 @@ "inProgress": "Devam Ediyor", "done": "Tamamlandı", "archived": "Arşivlendi", - "unknown": "Bilinmiyor" + "unknown": "Bilinmiyor", + "telegramConnected": "Telegram bağlı ve sorgulama yapılıyor", + "telegramConnectionProblem": "Telegram bağlantı sorunu" }, "project": { "name": "Proje Adı", @@ -669,7 +694,13 @@ "thirdWeek": "Üçüncü hafta", "fourthWeek": "Dördüncü hafta", "lastWeek": "Son hafta", - "days": "gün" + "days": "gün", + "loadingParentSettings": "Ana görev tekrar ayarları yükleniyor...", + "recurringTaskInstance": "Tekrarlayan Görev Örneği", + "inheritedSettingsMessage": "Bu görev, tekrarlayan bir görevden oluşturulmuştur. Aşağıda gösterilen tekrar ayarları, orijinal görevden miras alınmıştır ve burada düzenlenemez.", + "cancelEdit": "Düzenlemeyi İptal Et", + "editParentRecurrence": "Ana Tekrarı Düzenle", + "parentEditWarning": "⚠️ Ana görevin tekrar ayarlarını düzenliyorsunuz. Değişiklikler, bu tekrarlayan görevin tüm gelecekteki örneklerini etkileyecektir." }, "weekdays": { "sunday": "Pazar", @@ -729,5 +760,111 @@ "low": "Düşük", "time": "Zaman", "allDay": "Tüm gün" + }, + "pages": { + "notFound": { + "title": "404 - Sayfa Bulunamadı", + "message": "Aradığınız sayfa mevcut değil." + } + }, + "navbar": { + "appName": "tududi", + "quickInboxCapture": "Hızlı Gelen Kutusu Yakalama", + "userMenu": "Kullanıcı Menüsü", + "collapseSidebar": "Yan Paneli Kapat", + "expandSidebar": "Yan Paneli Genişlet" + }, + "upload": { + "uploading": "Yükleniyor..." + }, + "searchPlaceholders": { + "searchProjects": "Projeleri Ara...", + "searchTags": "Etiketleri ara...", + "searchTasks": "Görevleri ara..." + }, + "ariaLabels": { + "hideInfo": "Bilgiyi gizle", + "aboutTasks": "Görevler Hakkında", + "hideSearch": "Aramayı gizle", + "searchTasks": "Görevleri Ara", + "aboutInbox": "Gelen Kutusu Hakkında", + "collapseInfoPanel": "Bilgi panelini daralt", + "showTasksInformation": "Görev bilgilerini göster", + "collapseSearchPanel": "Arama panelini daralt", + "showSearchInput": "Arama girişini göster", + "showInboxInformation": "Gelen kutusu bilgilerini göster" + }, + "api": { + "errors": { + "authenticationRequired": "Kimlik doğrulama gerekli", + "userNotFound": "Kullanıcı bulunamadı", + "authenticationError": "Kimlik doğrulama hatası", + "internalServerError": "Sunucu iç hatası", + "invalidLoginParameters": "Geçersiz giriş parametreleri.", + "invalidCredentials": "Geçersiz kimlik bilgileri", + "couldNotLogout": "Çıkış yapılamadı", + "loggedOutSuccessfully": "Başarıyla çıkış yapıldı", + "contentRequired": "İçerik gereklidir", + "inboxItemNotFound": "Gelen kutusu öğesi bulunamadı.", + "inboxItemDeleted": "Gelen kutusu öğesi başarıyla silindi", + "contentRequiredString": "İçerik gereklidir ve bir dize olmalıdır", + "problemCreatingInboxItem": "Gelen kutusu öğesi oluşturulurken bir sorun oluştu.", + "problemUpdatingInboxItem": "Gelen kutusu öğesi güncellenirken bir sorun oluştu.", + "problemDeletingInboxItem": "Gelen kutusu öğesi silinirken bir sorun oluştu.", + "problemProcessingInboxItem": "Gelen kutusu öğesi işlenirken bir sorun oluştu.", + "invalidOrderColumn": "Geçersiz sipariş sütunu belirtildi.", + "taskNotFound": "Görev bulunamadı.", + "taskNameRequired": "Görev adı gereklidir.", + "invalidProject": "Geçersiz proje.", + "unableToUpdateTask": "Görevi güncelleyemiyorum", + "taskDeleted": "Görev başarıyla silindi", + "failedToGenerateRecurringTasks": "Tekrarlayan görevleri oluşturma başarısız oldu", + "failedToUpdateTodayFlag": "Görev bugünkü bayrağı güncelleme başarısız oldu", + "noImageProvided": "Hiçbir resim dosyası sağlanmadı", + "failedToUploadImage": "Resmi yükleme başarısız oldu", + "projectNotFound": "Proje bulunamadı", + "projectNameRequired": "Proje adı gereklidir", + "projectDeleted": "Proje başarıyla silindi", + "noteNotFound": "Not bulunamadı.", + "noteDeleted": "Not başarıyla silindi.", + "profileNotFound": "Profil bulunamadı.", + "passwordTooShort": "Şifre en az 6 karakter olmalıdır", + "currentPasswordIncorrect": "Mevcut şifre yanlış", + "failedToUpdateProfile": "Profil güncellenemedi.", + "passwordChangeRequired": "Mevcut şifre ve yeni şifre gereklidir", + "passwordChangedSuccessfully": "Şifre başarıyla değiştirildi", + "failedToUpdateTaskSummary": "Görev özeti ayarlarını güncelleyemedik.", + "frequencyRequired": "Frekans gereklidir.", + "invalidFrequency": "Geçersiz frekans değeri.", + "failedToStartTelegramPolling": "Telegram anketi başlatılamadı.", + "failedToStopTelegramPolling": "Telegram anketi durdurulamadı.", + "invalidTelegramTokenFormat": "Geçersiz Telegram bot token formatı.", + "invalidBotToken": "Geçersiz bot token veya bot erişilemez.", + "chatIdRequired": "Sohbet ID'si gereklidir.", + "areaNotFound": "Alan bulunamadı veya mevcut kullanıcıya ait değil.", + "areaNameRequired": "Alan adı gereklidir.", + "tagNotFound": "Etiket bulunamadı", + "tagNameRequired": "Etiket adı gereklidir", + "tagDeleted": "Etiket başarıyla silindi", + "demoModeGoogleCalendar": "Demo modu: Google Takvim entegrasyonu simüle edildi", + "failedToGenerateAuthUrl": "Yetkilendirme URL'si oluşturulamadı", + "authCodeNotProvided": "Yetkilendirme kodu sağlanmadı", + "failedToCheckCalendarStatus": "Takvim durumu kontrol edilemedi", + "failedToFetchCalendarEvents": "Takvim etkinlikleri alınamadı", + "googleCalendarDisconnected": "Google Takvim bağlantısı kesildi", + "failedToDisconnectCalendar": "Takvim bağlantısını kesmekte başarısız olundu", + "urlParameterRequired": "URL parametresi gereklidir", + "couldNotExtractMetadata": "Meta veriler çıkarılamadı", + "textParameterRequired": "Metin parametresi gereklidir", + "notFound": "Bulunamadı", + "resourceNotFound": "İstenen kaynak bulunamadı." + } + }, + "telegram": { + "welcomeMessage": "🎉 tududi'ye hoş geldiniz!\n\nKişisel görev yönetim botunuz artık bağlı ve yardımcı olmaya hazır!\n\n📝 Bana herhangi bir mesaj gönderin, ben de bunu tududi gelen kutunuza bir öğe olarak ekleyeceğim.\n\n✨ Komutlar:\n• /help - Yardım bilgilerini göster\n• /start - Hoş geldin mesajını göster\n• Sadece herhangi bir metin yazın - Bunu gelen kutusu öğesi olarak ekle\n\nHaydi organize olalım! 🚀", + "helpMessage": "📋 tududi Bot Yardımı\n\nBana herhangi bir metin mesajı gönderin, ben de bunu tududi gelen kutunuza bir öğe olarak ekleyeceğim.\n\nKomutlar:\n/start - Hoş geldin mesajı\n/help - Bu yardım mesajını göster\n\nSadece öğenizi yazın, geri kalanını ben hallederim!", + "commandProcessed": "Komut başarıyla işlendi", + "messageProcessed": "Mesaj başarıyla işlendi", + "failedToAddToInbox": "❌ Gelen kutusuna eklenemedi: {{error}}" } } diff --git a/public/locales/ua/translation.json b/public/locales/ua/translation.json index b649479..41c69f4 100644 --- a/public/locales/ua/translation.json +++ b/public/locales/ua/translation.json @@ -38,7 +38,14 @@ "addAreaAriaLabel": "Додати область", "addAreaTitle": "Додати область", "addTagAriaLabel": "Додати тег", - "addTagTitle": "Додати тег" + "addTagTitle": "Додати тег", + "addInboxAriaLabel": "Додати елемент вхідних", + "addInboxTitle": "Додати елемент вхідних", + "addProjectAriaLabel": "Додати проект", + "addProjectTitle": "Додати проект", + "addNoteAriaLabel": "Додати нотатку", + "addNoteTitle": "Додати нотатку", + "createNew": "Створити новий" }, "navigation": { "home": "Головна", @@ -128,7 +135,14 @@ "priority": "Пріоритет", "dueDate": "Термін", "none": "Немає" - } + }, + "justNow": "Щойно", + "minutesAgo": "{{minutes}}м тому", + "hoursAgo": "{{hours}}г тому", + "daysAgo": "{{days}}д тому", + "loadingTimeline": "Завантаження хронології...", + "timelineWillAppear": "Хронологія з'явиться після збереження", + "noActivity": "Ще немає активності" }, "projects": { "loading": "Завантаження проектів...", @@ -331,7 +345,13 @@ "thirdWeek": "Третій тиждень", "fourthWeek": "Четвертий тиждень", "lastWeek": "Останній тиждень", - "days": "дні" + "days": "дні", + "loadingParentSettings": "Завантаження налаштувань повторюваного завдання батька...", + "recurringTaskInstance": "Екземпляр повторюваного завдання", + "inheritedSettingsMessage": "Це завдання було згенеровано з повторюваного завдання. Налаштування повторення, показані нижче, успадковані від оригінального завдання і не можуть бути відредаговані тут.", + "cancelEdit": "Скасувати редагування", + "editParentRecurrence": "Редагувати повторення батьківського завдання", + "parentEditWarning": "⚠️ Ви редагуєте налаштування повторення батьківського завдання. Зміни вплинуть на всі майбутні екземпляри цього повторюваного завдання." }, "weekdays": { "monday": "Пн", @@ -514,7 +534,14 @@ "romanian": "Румунська", "chinese": "Китайська", "portuguese": "Португальська", - "indonesian": "Індонезійська" + "indonesian": "Індонезійська", + "bulgarian": "Болгарська", + "danish": "Данська", + "finnish": "Фінська", + "norwegian": "Норвезька", + "polish": "Польська", + "slovenian": "Словенська", + "swedish": "Шведська" }, "task": { "suggestions": { @@ -639,7 +666,9 @@ "task": "Завдання", "project": "Проект", "note": "Примітка", - "area": "Область" + "area": "Область", + "inbox": "Вхідні", + "tag": "Тег" }, "sort": { "due_date": "Кінцева дата", @@ -658,7 +687,9 @@ "inProgress": "В процесі", "done": "Завершено", "archived": "Архівовано", - "unknown": "Невідомо" + "unknown": "Невідомо", + "telegramConnected": "Telegram підключено та опитування", + "telegramConnectionProblem": "Проблема з підключенням Telegram" }, "dateIndicators": { "today": "СЬОГОДНІ", @@ -729,5 +760,111 @@ "complete": "Помодоро завершено!", "completeMessage": "Чудова робота! Час для перерви.", "done": "Готово" + }, + "pages": { + "notFound": { + "title": "404 - Сторінка не знайдена", + "message": "Сторінка, яку ви шукаєте, не існує." + } + }, + "navbar": { + "appName": "tududi", + "quickInboxCapture": "Швидке захоплення вхідних", + "userMenu": "Меню користувача", + "collapseSidebar": "Згорнути бокову панель", + "expandSidebar": "Розгорнути бокову панель" + }, + "upload": { + "uploading": "Завантаження..." + }, + "searchPlaceholders": { + "searchProjects": "Шукати проєкти...", + "searchTags": "Пошук тегів...", + "searchTasks": "Пошук завдань..." + }, + "ariaLabels": { + "hideInfo": "Сховати інформацію", + "aboutTasks": "Про завдання", + "hideSearch": "Сховати пошук", + "searchTasks": "Пошук завдань", + "aboutInbox": "Про вхідні", + "collapseInfoPanel": "Згорнути панель інформації", + "showTasksInformation": "Показати інформацію про завдання", + "collapseSearchPanel": "Згорнути панель пошуку", + "showSearchInput": "Показати поле пошуку", + "showInboxInformation": "Показати інформацію про вхідні" + }, + "api": { + "errors": { + "authenticationRequired": "Необхідна аутентифікація", + "userNotFound": "Користувача не знайдено", + "authenticationError": "Помилка аутентифікації", + "internalServerError": "Внутрішня помилка сервера", + "invalidLoginParameters": "Недійсні параметри входу.", + "invalidCredentials": "Недійсні облікові дані", + "couldNotLogout": "Не вдалося вийти", + "loggedOutSuccessfully": "Вийшли успішно", + "contentRequired": "Вміст є обов'язковим", + "inboxItemNotFound": "Елемент вхідних повідомлень не знайдено.", + "inboxItemDeleted": "Елемент вхідних повідомлень успішно видалено", + "contentRequiredString": "Вміст є обов'язковим і має бути рядком", + "problemCreatingInboxItem": "Виникла проблема при створенні елемента вхідних повідомлень.", + "problemUpdatingInboxItem": "Виникла проблема при оновленні елемента вхідних повідомлень.", + "problemDeletingInboxItem": "Виникла проблема при видаленні елемента вхідних повідомлень.", + "problemProcessingInboxItem": "Виникла проблема при обробці елемента вхідних повідомлень.", + "invalidOrderColumn": "Вказано недійсну колонку замовлення.", + "taskNotFound": "Завдання не знайдено.", + "taskNameRequired": "Назва завдання є обов'язковою.", + "invalidProject": "Недійсний проект.", + "unableToUpdateTask": "Не вдалося оновити завдання", + "taskDeleted": "Завдання успішно видалено", + "failedToGenerateRecurringTasks": "Не вдалося згенерувати повторювані завдання", + "failedToUpdateTodayFlag": "Не вдалося оновити позначку завдання на сьогодні", + "noImageProvided": "Файл зображення не надано", + "failedToUploadImage": "Не вдалося завантажити зображення", + "projectNotFound": "Проект не знайдено", + "projectNameRequired": "Назва проекту є обов'язковою", + "projectDeleted": "Проект успішно видалено", + "noteNotFound": "Запис не знайдено.", + "noteDeleted": "Запис успішно видалено.", + "profileNotFound": "Профіль не знайдено.", + "passwordTooShort": "Пароль має містити не менше 6 символів", + "currentPasswordIncorrect": "Поточний пароль неправильний", + "failedToUpdateProfile": "Не вдалося оновити профіль.", + "passwordChangeRequired": "Поточний пароль та новий пароль є обов'язковими", + "passwordChangedSuccessfully": "Пароль успішно змінено", + "failedToUpdateTaskSummary": "Не вдалося оновити налаштування підсумку завдання.", + "frequencyRequired": "Частота є обов'язковою.", + "invalidFrequency": "Неправильне значення частоти.", + "failedToStartTelegramPolling": "Не вдалося запустити опитування Telegram.", + "failedToStopTelegramPolling": "Не вдалося зупинити опитування Telegram.", + "invalidTelegramTokenFormat": "Неправильний формат токена бота Telegram.", + "invalidBotToken": "Неправильний токен бота або бот недоступний.", + "chatIdRequired": "ID чату є обов'язковим.", + "areaNotFound": "Область не знайдена або не належить поточному користувачу.", + "areaNameRequired": "Назва області є обов'язковою.", + "tagNotFound": "Тег не знайдено", + "tagNameRequired": "Необхідно вказати назву тегу", + "tagDeleted": "Тег успішно видалено", + "demoModeGoogleCalendar": "Демонстраційний режим: інтеграція з Google Календарем змодельована", + "failedToGenerateAuthUrl": "Не вдалося згенерувати URL-адресу авторизації", + "authCodeNotProvided": "Код авторизації не надано", + "failedToCheckCalendarStatus": "Не вдалося перевірити статус календаря", + "failedToFetchCalendarEvents": "Не вдалося отримати події календаря", + "googleCalendarDisconnected": "Google Календар відключено", + "failedToDisconnectCalendar": "Не вдалося відключити календар", + "urlParameterRequired": "Необхідно вказати параметр URL", + "couldNotExtractMetadata": "Не вдалося витягти метадані", + "textParameterRequired": "Необхідно вказати текстовий параметр", + "notFound": "Не знайдено", + "resourceNotFound": "Запитуваний ресурс не знайдено." + } + }, + "telegram": { + "welcomeMessage": "🎉 Ласкаво просимо до tududi!\n\nВаш особистий бот для управління завданнями тепер підключений і готовий допомогти!\n\n📝 Просто надішліть мені будь-яке повідомлення, і я додам його до вашого вхідного списку tududi як елемент.\n\n✨ Команди:\n• /help - Показати інформацію про допомогу\n• /start - Показати вітальне повідомлення\n• Просто наберіть будь-який текст - Додати його як елемент вхідного списку\n\nДавайте організуємося! 🚀", + "helpMessage": "📋 Допомога бота tududi\n\nНадішліть мені будь-яке текстове повідомлення, і я додам його до вашого вхідного списку tududi як елемент.\n\nКоманди:\n/start - Вітальне повідомлення\n/help - Показати це повідомлення про допомогу\n\nПросто наберіть ваш елемент, і я подбаю про решту!", + "commandProcessed": "Команду успішно оброблено", + "messageProcessed": "Повідомлення успішно оброблено", + "failedToAddToInbox": "❌ Не вдалося додати до вхідного списку: {{error}}" } } diff --git a/public/locales/vi/translation.json b/public/locales/vi/translation.json index 235eec6..422f3e4 100644 --- a/public/locales/vi/translation.json +++ b/public/locales/vi/translation.json @@ -38,7 +38,14 @@ "nextActions": "Các Hành động Tiếp theo", "inbox": "Hộp thư đến", "completed": "Đã hoàn thành", - "allTasks": "Tất cả Công việc" + "allTasks": "Tất cả Công việc", + "addInboxAriaLabel": "Thêm mục Hộp thư đến", + "addInboxTitle": "Thêm mục Hộp thư đến", + "addProjectAriaLabel": "Thêm Dự án", + "addProjectTitle": "Thêm Dự án", + "addNoteAriaLabel": "Thêm Ghi chú", + "addNoteTitle": "Thêm Ghi chú", + "createNew": "Tạo mới" }, "navigation": { "home": "Trang chủ", @@ -128,7 +135,14 @@ "priority": "Độ ưu tiên", "dueDate": "Ngày đến hạn", "none": "Không có" - } + }, + "justNow": "Vừa xong", + "minutesAgo": "{{minutes}} phút trước", + "hoursAgo": "{{hours}} giờ trước", + "daysAgo": "{{days}} ngày trước", + "loadingTimeline": "Đang tải dòng thời gian...", + "timelineWillAppear": "Dòng thời gian sẽ xuất hiện sau khi lưu", + "noActivity": "Chưa có hoạt động nào" }, "profile": { "settings": "Cài đặt hồ sơ", @@ -264,7 +278,14 @@ "aiProductivityFeatures": "Tính năng AI & Năng suất", "botSetup": "Cài đặt Bot", "passwordChangeNote": "Các thay đổi mật khẩu sẽ được lưu khi bạn nhấn \"Lưu thay đổi\" ở dưới cùng của biểu mẫu.", - "passwordChangeOptional": "Để trống các trường mật khẩu để cập nhật các cài đặt khác mà không thay đổi mật khẩu của bạn." + "passwordChangeOptional": "Để trống các trường mật khẩu để cập nhật các cài đặt khác mà không thay đổi mật khẩu của bạn.", + "bulgarian": "Tiếng Bulgaria", + "danish": "Tiếng Đan Mạch", + "finnish": "Tiếng Phần Lan", + "norwegian": "Tiếng Na Uy", + "polish": "Tiếng Ba Lan", + "slovenian": "Tiếng Slovenia", + "swedish": "Thụy Điển" }, "productivity": { "stalledProjects": "Dự án Đang Tạm Dừng", @@ -419,7 +440,9 @@ "task": "Công việc", "project": "Dự án", "note": "Ghi chú", - "area": "Khu vực" + "area": "Khu vực", + "inbox": "Hộp thư đến", + "tag": "Thẻ" }, "sort": { "due_date": "Ngày đến hạn", @@ -438,7 +461,9 @@ "inProgress": "Đang tiến hành", "done": "Đã hoàn thành", "archived": "Đã lưu trữ", - "unknown": "Không xác định" + "unknown": "Không xác định", + "telegramConnected": "Telegram đã kết nối và đang kiểm tra", + "telegramConnectionProblem": "Vấn đề kết nối Telegram" }, "project": { "name": "Tên Dự Án", @@ -669,7 +694,13 @@ "thirdWeek": "Tuần thứ ba", "fourthWeek": "Tuần thứ tư", "lastWeek": "Tuần cuối cùng", - "days": "ngày" + "days": "ngày", + "loadingParentSettings": "Đang tải cài đặt lặp lại của tác vụ cha...", + "recurringTaskInstance": "Phiên bản Tác vụ Lặp lại", + "inheritedSettingsMessage": "Tác vụ này được tạo ra từ một tác vụ lặp lại. Các cài đặt lặp lại bên dưới được kế thừa từ tác vụ gốc và không thể chỉnh sửa ở đây.", + "cancelEdit": "Hủy chỉnh sửa", + "editParentRecurrence": "Chỉnh sửa Lặp lại của Tác vụ Cha", + "parentEditWarning": "⚠️ Bạn đang chỉnh sửa cài đặt lặp lại của tác vụ cha. Những thay đổi sẽ ảnh hưởng đến tất cả các phiên bản tương lai của tác vụ lặp lại này." }, "weekdays": { "sunday": "Chủ nhật", @@ -729,5 +760,111 @@ "low": "Thấp", "time": "Thời gian", "allDay": "Cả ngày" + }, + "pages": { + "notFound": { + "title": "404 - Trang không tìm thấy", + "message": "Trang bạn đang tìm kiếm không tồn tại." + } + }, + "navbar": { + "appName": "tududi", + "quickInboxCapture": "Chụp nhanh Hộp thư đến", + "userMenu": "Menu Người dùng", + "collapseSidebar": "Thu gọn Thanh bên", + "expandSidebar": "Mở rộng Thanh bên" + }, + "upload": { + "uploading": "Đang tải lên..." + }, + "searchPlaceholders": { + "searchProjects": "Tìm kiếm dự án...", + "searchTags": "Tìm kiếm thẻ...", + "searchTasks": "Tìm kiếm nhiệm vụ..." + }, + "ariaLabels": { + "hideInfo": "Ẩn thông tin", + "aboutTasks": "Về Nhiệm vụ", + "hideSearch": "Ẩn tìm kiếm", + "searchTasks": "Tìm kiếm Nhiệm vụ", + "aboutInbox": "Về Hộp thư đến", + "collapseInfoPanel": "Thu gọn bảng thông tin", + "showTasksInformation": "Hiển thị thông tin nhiệm vụ", + "collapseSearchPanel": "Thu gọn bảng tìm kiếm", + "showSearchInput": "Hiển thị ô tìm kiếm", + "showInboxInformation": "Hiển thị thông tin hộp thư đến" + }, + "api": { + "errors": { + "authenticationRequired": "Cần xác thực", + "userNotFound": "Không tìm thấy người dùng", + "authenticationError": "Lỗi xác thực", + "internalServerError": "Lỗi máy chủ nội bộ", + "invalidLoginParameters": "Thông số đăng nhập không hợp lệ.", + "invalidCredentials": "Thông tin xác thực không hợp lệ", + "couldNotLogout": "Không thể đăng xuất", + "loggedOutSuccessfully": "Đăng xuất thành công", + "contentRequired": "Nội dung là bắt buộc", + "inboxItemNotFound": "Không tìm thấy mục trong hộp thư đến.", + "inboxItemDeleted": "Mục trong hộp thư đến đã được xóa thành công", + "contentRequiredString": "Nội dung là bắt buộc và phải là một chuỗi", + "problemCreatingInboxItem": "Đã có vấn đề khi tạo mục trong hộp thư đến.", + "problemUpdatingInboxItem": "Đã có vấn đề khi cập nhật mục trong hộp thư đến.", + "problemDeletingInboxItem": "Đã có vấn đề khi xóa mục trong hộp thư đến.", + "problemProcessingInboxItem": "Đã có vấn đề khi xử lý mục trong hộp thư đến.", + "invalidOrderColumn": "Cột thứ tự chỉ định không hợp lệ.", + "taskNotFound": "Không tìm thấy nhiệm vụ.", + "taskNameRequired": "Tên nhiệm vụ là bắt buộc.", + "invalidProject": "Dự án không hợp lệ.", + "unableToUpdateTask": "Không thể cập nhật nhiệm vụ", + "taskDeleted": "Nhiệm vụ đã được xóa thành công", + "failedToGenerateRecurringTasks": "Không thể tạo nhiệm vụ lặp lại", + "failedToUpdateTodayFlag": "Không thể cập nhật cờ nhiệm vụ hôm nay", + "noImageProvided": "Không có tệp hình ảnh nào được cung cấp", + "failedToUploadImage": "Không thể tải lên hình ảnh", + "projectNotFound": "Không tìm thấy dự án", + "projectNameRequired": "Tên dự án là bắt buộc", + "projectDeleted": "Dự án đã được xóa thành công", + "noteNotFound": "Không tìm thấy ghi chú.", + "noteDeleted": "Ghi chú đã được xóa thành công.", + "profileNotFound": "Không tìm thấy hồ sơ.", + "passwordTooShort": "Mật khẩu phải có ít nhất 6 ký tự", + "currentPasswordIncorrect": "Mật khẩu hiện tại không chính xác", + "failedToUpdateProfile": "Cập nhật hồ sơ không thành công.", + "passwordChangeRequired": "Mật khẩu hiện tại và mật khẩu mới là bắt buộc", + "passwordChangedSuccessfully": "Mật khẩu đã được thay đổi thành công", + "failedToUpdateTaskSummary": "Cập nhật cài đặt tóm tắt nhiệm vụ không thành công.", + "frequencyRequired": "Tần suất là bắt buộc.", + "invalidFrequency": "Giá trị tần suất không hợp lệ.", + "failedToStartTelegramPolling": "Khởi động việc lấy dữ liệu Telegram không thành công.", + "failedToStopTelegramPolling": "Dừng việc lấy dữ liệu Telegram không thành công.", + "invalidTelegramTokenFormat": "Định dạng mã thông báo bot Telegram không hợp lệ.", + "invalidBotToken": "Mã thông báo bot không hợp lệ hoặc bot không thể truy cập.", + "chatIdRequired": "ID trò chuyện là bắt buộc.", + "areaNotFound": "Khu vực không tìm thấy hoặc không thuộc về người dùng hiện tại.", + "areaNameRequired": "Tên khu vực là bắt buộc.", + "tagNotFound": "Không tìm thấy thẻ", + "tagNameRequired": "Tên thẻ là bắt buộc", + "tagDeleted": "Thẻ đã được xóa thành công", + "demoModeGoogleCalendar": "Chế độ demo: Tích hợp Google Calendar đã được mô phỏng", + "failedToGenerateAuthUrl": "Không thể tạo URL xác thực", + "authCodeNotProvided": "Mã xác thực không được cung cấp", + "failedToCheckCalendarStatus": "Không thể kiểm tra trạng thái lịch", + "failedToFetchCalendarEvents": "Không thể lấy sự kiện lịch", + "googleCalendarDisconnected": "Google Calendar đã bị ngắt kết nối", + "failedToDisconnectCalendar": "Không thể ngắt kết nối lịch", + "urlParameterRequired": "Tham số URL là bắt buộc", + "couldNotExtractMetadata": "Không thể trích xuất siêu dữ liệu", + "textParameterRequired": "Tham số văn bản là bắt buộc", + "notFound": "Không tìm thấy", + "resourceNotFound": "Tài nguyên yêu cầu không thể được tìm thấy." + } + }, + "telegram": { + "welcomeMessage": "🎉 Chào mừng bạn đến với tududi!\n\nBot quản lý tác vụ cá nhân của bạn hiện đã được kết nối và sẵn sàng giúp đỡ!\n\n📝 Chỉ cần gửi cho tôi bất kỳ tin nhắn nào và tôi sẽ thêm nó vào hộp thư tududi của bạn như một mục.\n\n✨ Lệnh:\n• /help - Hiển thị thông tin trợ giúp\n• /start - Hiển thị tin nhắn chào mừng\n• Chỉ cần gõ bất kỳ văn bản nào - Thêm nó như một mục trong hộp thư\n\nHãy cùng tổ chức nào! 🚀", + "helpMessage": "📋 Trợ giúp Bot tududi\n\nGửi cho tôi bất kỳ tin nhắn văn bản nào và tôi sẽ thêm nó vào hộp thư tududi của bạn như một mục trong hộp thư.\n\nCác lệnh:\n/start - Tin nhắn chào mừng\n/help - Hiển thị tin nhắn trợ giúp này\n\nChỉ cần gõ mục của bạn và tôi sẽ lo phần còn lại!", + "commandProcessed": "Lệnh đã được xử lý thành công", + "messageProcessed": "Tin nhắn đã được xử lý thành công", + "failedToAddToInbox": "❌ Không thể thêm vào hộp thư: {{error}}" } } diff --git a/public/locales/zh/translation.json b/public/locales/zh/translation.json index d64b589..2dade5f 100644 --- a/public/locales/zh/translation.json +++ b/public/locales/zh/translation.json @@ -38,7 +38,14 @@ "nextActions": "下一步行动", "inbox": "收件箱", "completed": "已完成", - "allTasks": "所有任务" + "allTasks": "所有任务", + "addInboxAriaLabel": "添加收件箱项目", + "addInboxTitle": "添加收件箱项目", + "addProjectAriaLabel": "添加项目", + "addProjectTitle": "添加项目", + "addNoteAriaLabel": "添加备注", + "addNoteTitle": "添加备注", + "createNew": "创建新项目" }, "navigation": { "home": "首页", @@ -128,7 +135,14 @@ "priority": "优先级", "dueDate": "截止日期", "none": "无" - } + }, + "justNow": "刚刚", + "minutesAgo": "{{minutes}}分钟前", + "hoursAgo": "{{hours}}小时前", + "daysAgo": "{{days}}天前", + "loadingTimeline": "加载时间线...", + "timelineWillAppear": "保存后时间线将出现", + "noActivity": "还没有活动" }, "profile": { "settings": "个人资料设置", @@ -264,7 +278,14 @@ "aiProductivityFeatures": "人工智能与生产力功能", "botSetup": "机器人设置", "passwordChangeNote": "密码更改将在您点击表单底部的“保存更改”时保存。", - "passwordChangeOptional": "留空密码字段以更新其他设置,而不更改您的密码。" + "passwordChangeOptional": "留空密码字段以更新其他设置,而不更改您的密码。", + "bulgarian": "保加利亚语", + "danish": "丹麦语", + "finnish": "芬兰语", + "norwegian": "挪威语", + "polish": "波兰语", + "slovenian": "斯洛文尼亚语", + "swedish": "瑞典语" }, "productivity": { "stalledProjects": "停滞项目", @@ -419,7 +440,9 @@ "task": "任务", "project": "项目", "note": "笔记", - "area": "区域" + "area": "区域", + "inbox": "收件箱", + "tag": "标签" }, "sort": { "due_date": "截止日期", @@ -438,7 +461,9 @@ "inProgress": "进行中", "done": "完成", "archived": "已归档", - "unknown": "未知" + "unknown": "未知", + "telegramConnected": "Telegram 已连接并正在轮询", + "telegramConnectionProblem": "Telegram 连接问题" }, "project": { "name": "项目名称", @@ -669,7 +694,13 @@ "thirdWeek": "第三周", "fourthWeek": "第四周", "lastWeek": "最后一周", - "days": "天" + "days": "天", + "loadingParentSettings": "正在加载父任务的重复设置...", + "recurringTaskInstance": "重复任务实例", + "inheritedSettingsMessage": "此任务是从一个重复任务生成的。下面显示的重复设置是从原始任务继承的,无法在此处编辑。", + "cancelEdit": "取消编辑", + "editParentRecurrence": "编辑父级重复", + "parentEditWarning": "⚠️ 您正在编辑父任务的重复设置。更改将影响此重复任务的所有未来实例。" }, "weekdays": { "sunday": "星期日", @@ -729,5 +760,111 @@ "low": "低", "time": "时间", "allDay": "全天" + }, + "pages": { + "notFound": { + "title": "404 - 页面未找到", + "message": "您要找的页面不存在。" + } + }, + "navbar": { + "appName": "tududi", + "quickInboxCapture": "快速收件箱捕获", + "userMenu": "用户菜单", + "collapseSidebar": "折叠侧边栏", + "expandSidebar": "展开侧边栏" + }, + "upload": { + "uploading": "上传中..." + }, + "searchPlaceholders": { + "searchProjects": "搜索项目...", + "searchTags": "搜索标签...", + "searchTasks": "搜索任务..." + }, + "ariaLabels": { + "hideInfo": "隐藏信息", + "aboutTasks": "关于任务", + "hideSearch": "隐藏搜索", + "searchTasks": "搜索任务", + "aboutInbox": "关于收件箱", + "collapseInfoPanel": "折叠信息面板", + "showTasksInformation": "显示任务信息", + "collapseSearchPanel": "折叠搜索面板", + "showSearchInput": "显示搜索输入", + "showInboxInformation": "显示收件箱信息" + }, + "api": { + "errors": { + "authenticationRequired": "需要身份验证", + "userNotFound": "用户未找到", + "authenticationError": "身份验证错误", + "internalServerError": "内部服务器错误", + "invalidLoginParameters": "无效的登录参数。", + "invalidCredentials": "无效的凭据", + "couldNotLogout": "无法注销", + "loggedOutSuccessfully": "成功注销", + "contentRequired": "内容是必需的", + "inboxItemNotFound": "未找到收件箱项目。", + "inboxItemDeleted": "收件箱项目已成功删除", + "contentRequiredString": "内容是必需的,且必须为字符串", + "problemCreatingInboxItem": "创建收件箱项目时出现问题。", + "problemUpdatingInboxItem": "更新收件箱项目时出现问题。", + "problemDeletingInboxItem": "删除收件箱项目时出现问题。", + "problemProcessingInboxItem": "处理收件箱项目时出现问题。", + "invalidOrderColumn": "指定的订单列无效。", + "taskNotFound": "未找到任务。", + "taskNameRequired": "任务名称是必需的。", + "invalidProject": "无效的项目。", + "unableToUpdateTask": "无法更新任务", + "taskDeleted": "任务已成功删除", + "failedToGenerateRecurringTasks": "生成重复任务失败", + "failedToUpdateTodayFlag": "更新任务今日标志失败", + "noImageProvided": "未提供图像文件", + "failedToUploadImage": "上传图像失败", + "projectNotFound": "未找到项目", + "projectNameRequired": "项目名称是必需的", + "projectDeleted": "项目已成功删除", + "noteNotFound": "未找到笔记。", + "noteDeleted": "笔记已成功删除。", + "profileNotFound": "未找到个人资料。", + "passwordTooShort": "密码必须至少为6个字符", + "currentPasswordIncorrect": "当前密码不正确", + "failedToUpdateProfile": "更新个人资料失败。", + "passwordChangeRequired": "当前密码和新密码是必需的", + "passwordChangedSuccessfully": "密码已成功更改", + "failedToUpdateTaskSummary": "更新任务摘要设置失败。", + "frequencyRequired": "频率是必需的。", + "invalidFrequency": "无效的频率值。", + "failedToStartTelegramPolling": "启动Telegram轮询失败。", + "failedToStopTelegramPolling": "停止Telegram轮询失败。", + "invalidTelegramTokenFormat": "无效的Telegram机器人令牌格式。", + "invalidBotToken": "无效的机器人令牌或机器人不可访问。", + "chatIdRequired": "聊天ID是必需的。", + "areaNotFound": "区域未找到或不属于当前用户。", + "areaNameRequired": "区域名称是必需的。", + "tagNotFound": "未找到标签", + "tagNameRequired": "标签名称是必需的", + "tagDeleted": "标签已成功删除", + "demoModeGoogleCalendar": "演示模式:Google 日历集成已模拟", + "failedToGenerateAuthUrl": "生成授权 URL 失败", + "authCodeNotProvided": "未提供授权代码", + "failedToCheckCalendarStatus": "检查日历状态失败", + "failedToFetchCalendarEvents": "获取日历事件失败", + "googleCalendarDisconnected": "Google 日历已断开连接", + "failedToDisconnectCalendar": "断开日历连接失败", + "urlParameterRequired": "URL 参数是必需的", + "couldNotExtractMetadata": "无法提取元数据", + "textParameterRequired": "文本参数是必需的", + "notFound": "未找到", + "resourceNotFound": "请求的资源未找到。" + } + }, + "telegram": { + "welcomeMessage": "🎉 欢迎来到 tududi!\n\n您的个人任务管理机器人现在已连接并准备好帮助您!\n\n📝 只需发送我任何消息,我会将其添加到您的 tududi 收件箱作为一项。\n\n✨ 命令:\n• /help - 显示帮助信息\n• /start - 显示欢迎消息\n• 只需输入任何文本 - 将其添加为收件箱项目\n\n让我们开始整理吧!🚀", + "helpMessage": "📋 tududi 机器人帮助\n\n发送我任何文本消息,我会将其添加到您的 tududi 收件箱作为一项。\n\n命令:\n/start - 欢迎消息\n/help - 显示此帮助消息\n\n只需输入您的项目,我会处理其余的!", + "commandProcessed": "命令处理成功", + "messageProcessed": "消息处理成功", + "failedToAddToInbox": "❌ 添加到收件箱失败:{{error}}" } }