0b54fe255b
- Implemented new recipes page with UI for managing recipes. - Added REST API routes for recipes including create, read, update, and delete operations. - Introduced database schema for recipes and recipe ingredients. - Updated meals to link with recipes, allowing meals to reference specific recipes. - Enhanced validation for recipe-related fields in meals. - Added styles for the recipes page and components.
659 lines
31 KiB
JSON
659 lines
31 KiB
JSON
{
|
||
"common": {
|
||
"save": "Зберегти",
|
||
"cancel": "Скасувати",
|
||
"delete": "Видалити",
|
||
"edit": "Редагувати",
|
||
"close": "Закрити",
|
||
"create": "Створити",
|
||
"add": "Додати",
|
||
"back": "Назад",
|
||
"next": "Далі",
|
||
"loading": "Завантаження…",
|
||
"saving": "Збереження…",
|
||
"required": "Це поле є обов'язковим.",
|
||
"error": "Помилка",
|
||
"allFieldsRequired": "Будь ласка, заповніть усі поля.",
|
||
"today": "Сьогодні",
|
||
"tomorrow": "Завтра",
|
||
"skipToContent": "Перейти до вмісту",
|
||
"reload": "Оновити",
|
||
"errorOccurred": "Щось пішло не так.",
|
||
"unexpectedError": "Сталася непередбачена помилка.",
|
||
"errorGeneric": "Сталася помилка.",
|
||
"updateAvailable": "Доступне оновлення — перезавантажте сторінку, щоб отримати останню версію.",
|
||
"titleRequired": "Заголовок є обов'язковим",
|
||
"nameRequired": "Ім'я є обов'язковим",
|
||
"contentRequired": "Вміст є обов'язковим",
|
||
"all": "Усі",
|
||
"unknownError": "Невідома помилка",
|
||
"confirm": "Підтвердити",
|
||
"undo": "Скасувати"
|
||
},
|
||
"nav": {
|
||
"dashboard": "Огляд",
|
||
"tasks": "Завдання",
|
||
"calendar": "Календар",
|
||
"meals": "Харчування",
|
||
"shopping": "Покупки",
|
||
"notes": "Нотатки",
|
||
"contacts": "Контакти",
|
||
"budget": "Бюджет",
|
||
"settings": "Налаштування",
|
||
"main": "Головна навігація",
|
||
"navigation": "Навігація",
|
||
"quickActions": "Швидкі дії",
|
||
"recipes": "Recipes"
|
||
},
|
||
"dashboard": {
|
||
"title": "Огляд",
|
||
"greetingMorning": "Доброго ранку, {{name}}",
|
||
"greetingDay": "Доброго дня, {{name}}",
|
||
"greetingEvening": "Доброго вечора, {{name}}",
|
||
"allDone": "Усе зроблено",
|
||
"noEvents": "Немає подій",
|
||
"noPinnedNotes": "Немає закріплених нотаток",
|
||
"todayMeals": "Страви на сьогодні",
|
||
"allLink": "Усі",
|
||
"weekLink": "Тиждень",
|
||
"urgentTasksChip": "{{count}} термінове завдання",
|
||
"urgentTasksChipPlural": "{{count}} термінових завдань",
|
||
"eventsChip": "{{count}} подія сьогодні",
|
||
"eventsChipPlural": "{{count}} подій сьогодні",
|
||
"todayMealChip": "Сьогодні: {{title}}",
|
||
"loadError": "Огляд не вдалося повністю завантажити.",
|
||
"weatherRefresh": "Оновити погоду",
|
||
"weatherRefreshTitle": "Оновити",
|
||
"weatherUpdated": "Погоду оновлено",
|
||
"weatherFeelsLike": "Відчувається як {{temp}}° · {{humidity}}% · Вітер {{wind}} км/год",
|
||
"fabTaskLabel": "Додати завдання",
|
||
"fabCalendarLabel": "Додати подію",
|
||
"fabShoppingLabel": "Додати покупку",
|
||
"fabNoteLabel": "Додати нотатку",
|
||
"fabTask": "Завдання",
|
||
"fabCalendar": "Подія",
|
||
"fabShopping": "Покупка",
|
||
"fabNote": "Нотатка",
|
||
"overdue": "Прострочено",
|
||
"dueSoon": "Сьогодні",
|
||
"dueTomorrow": "Завтра",
|
||
"allDay": "Весь день",
|
||
"shoppingMore": "+{{count}} ще",
|
||
"weather": "Погода",
|
||
"customize": "Налаштувати",
|
||
"customizeTitle": "Налаштувати віджети",
|
||
"customizeReset": "Скинути",
|
||
"customizeSaved": "Огляд збережено",
|
||
"customizeMoveUp": "Перемістити вгору",
|
||
"customizeMoveDown": "Перемістити вниз"
|
||
},
|
||
"tasks": {
|
||
"title": "Завдання",
|
||
"newTask": "Нове завдання",
|
||
"editTask": "Редагувати завдання",
|
||
"emptyTitle": "Завдань немає — все зроблено?",
|
||
"emptyDescription": "Створіть нові завдання кнопкою +.",
|
||
"titleLabel": "Заголовок *",
|
||
"titlePlaceholder": "Що потрібно зробити?",
|
||
"descriptionLabel": "Нотатка",
|
||
"descriptionPlaceholder": "Необов'язкові деталі…",
|
||
"priorityLabel": "Пріоритет",
|
||
"categoryLabel": "Категорія",
|
||
"dueDateLabel": "Термін виконання",
|
||
"dueTimeLabel": "Час",
|
||
"assignedLabel": "Призначено",
|
||
"assignedNobody": "- Нікому -",
|
||
"statusLabel": "Статус",
|
||
"priorityUrgent": "Терміново",
|
||
"priorityHigh": "Високий",
|
||
"priorityMedium": "Середній",
|
||
"priorityLow": "Низький",
|
||
"priorityNone": "Без пріоритету",
|
||
"statusOpen": "Відкрито",
|
||
"statusInProgress": "В процесі",
|
||
"statusDone": "Виконано",
|
||
"categoryHousehold": "Побут",
|
||
"categorySchool": "Навчання",
|
||
"categoryShopping": "Покупки",
|
||
"categoryRepair": "Ремонт",
|
||
"categoryHealth": "Здоров'я",
|
||
"categoryFinance": "Фінанси",
|
||
"categoryLeisure": "Дозвілля",
|
||
"categoryMisc": "Різне",
|
||
"overdue": "Прострочено",
|
||
"overdueDay": "Прострочено на {{count}} д.",
|
||
"dueToday": "Сьогодні",
|
||
"dueTomorrow": "Завтра",
|
||
"groupOverdue": "Прострочено",
|
||
"groupToday": "Сьогодні",
|
||
"groupThisWeek": "Цього тижня",
|
||
"groupNextWeek": "Наступного тижня",
|
||
"groupLater": "Пізніше",
|
||
"groupNoDate": "Без дати",
|
||
"markDone": "Позначити {{title}} як виконане",
|
||
"markOpen": "Позначити {{title}} як відкрите",
|
||
"editButton": "Редагувати завдання",
|
||
"swipeOpen": "Відкрити знову",
|
||
"swipeDone": "Виконано",
|
||
"swipeEdit": "Редагувати",
|
||
"subtaskAdd": "+ Додати підзавдання",
|
||
"subtaskToggle": "Показати підзавдання",
|
||
"subtaskMarkDone": "Позначити {{title}} як виконане",
|
||
"deleteConfirm": "Видалити завдання та всі підзавдання?",
|
||
"savedToast": "Завдання збережено.",
|
||
"createdToast": "Завдання створено.",
|
||
"deletedToast": "Завдання видалено.",
|
||
"loadError": "Не вдалося завантажити завдання.",
|
||
"subtaskPrompt": "Підзавдання:",
|
||
"kanbanOpen": "Відкрито",
|
||
"kanbanInProgress": "В процесі",
|
||
"kanbanDone": "Виконано",
|
||
"kanbanMoveToInProgress": "Позначити як «в процесі»",
|
||
"kanbanMoveToDone": "Позначити як виконане",
|
||
"kanbanMoveToOpen": "Відкрити знову",
|
||
"recurring": "Повторюване",
|
||
"listView": "Список",
|
||
"kanbanView": "Канбан"
|
||
},
|
||
"shopping": {
|
||
"title": "Покупки",
|
||
"noLists": "Немає списків",
|
||
"noListsDescription": "Створіть список кнопкою +.",
|
||
"emptyList": "Список порожній",
|
||
"emptyListDescription": "Додайте товари через поле вводу вище.",
|
||
"newListPrompt": "Назва нового списку:",
|
||
"newListButton": "Створити новий список",
|
||
"renameListPrompt": "Нова назва списку:",
|
||
"deleteListConfirm": "Видалити список «{{name}}» та всі товари?",
|
||
"deletedListToast": "Список видалено.",
|
||
"itemDeletedToast": "«{{name}}» видалено.",
|
||
"itemsRemovedToast": "{{count}} товарів видалено.",
|
||
"clearChecked": "Видалити відмічені ({{count}})",
|
||
"itemNamePlaceholder": "Додати товар…",
|
||
"itemQtyPlaceholder": "Кількість",
|
||
"itemNameLabel": "Назва товару",
|
||
"itemQtyLabel": "Кількість",
|
||
"categoryLabel": "Категорія",
|
||
"addItemLabel": "Додати товар",
|
||
"renameListLabel": "Перейменувати список",
|
||
"deleteListLabel": "Видалити список",
|
||
"swipeBack": "Скасувати",
|
||
"swipeCheck": "Відмітити",
|
||
"swipeDelete": "Видалити",
|
||
"markDoneLabel": "Відмітити {{name}}",
|
||
"markUndoneLabel": "Зняти відмітку з {{name}}",
|
||
"deleteItemLabel": "Видалити {{name}}",
|
||
"listsLoadError": "Не вдалося завантажити списки.",
|
||
"itemsLoadError": "Не вдалося завантажити товари.",
|
||
"catFruitVeg": "Фрукти та овочі",
|
||
"catBakery": "Випічка",
|
||
"catDairy": "Молочні продукти",
|
||
"catMeatFish": "М'ясо та риба",
|
||
"catFrozen": "Заморожені продукти",
|
||
"catDrinks": "Напої",
|
||
"catHousehold": "Господарські товари",
|
||
"catDrugstore": "Аптека",
|
||
"catMisc": "Різне"
|
||
},
|
||
"meals": {
|
||
"title": "План харчування",
|
||
"noMealPlanned": "Страву не заплановано",
|
||
"addMeal": "Додати {{type}}",
|
||
"editMeal": "Редагувати страву",
|
||
"addMealTitle": "Додати страву",
|
||
"deleteMeal": "Видалити страву",
|
||
"transferToShoppingList": "Додати інгредієнти до списку покупок",
|
||
"today": "Сьогодні",
|
||
"prevWeek": "Попередній тиждень",
|
||
"nextWeek": "Наступний тиждень",
|
||
"loadError": "Не вдалося завантажити план харчування.",
|
||
"typeBreakfast": "Сніданок",
|
||
"typeLunch": "Обід",
|
||
"typeDinner": "Вечеря",
|
||
"typeSnack": "Перекус",
|
||
"dayMo": "Пн",
|
||
"dayDi": "Вт",
|
||
"dayMi": "Ср",
|
||
"dayDo": "Чт",
|
||
"dayFr": "Пт",
|
||
"daySa": "Сб",
|
||
"daySo": "Нд",
|
||
"dateLabel": "Дата",
|
||
"mealTypeLabel": "Прийом їжі",
|
||
"titleLabel": "Заголовок *",
|
||
"titlePlaceholder": "напр. Спагеті болоньєзе",
|
||
"notesLabel": "Нотатки",
|
||
"notesPlaceholder": "Необов'язково…",
|
||
"ingredientsLabel": "Інгредієнти",
|
||
"addIngredient": "Додати інгредієнт",
|
||
"ingredientNamePlaceholder": "Інгредієнт",
|
||
"ingredientQtyPlaceholder": "Кількість",
|
||
"ingredientCategoryLabel": "Категорія",
|
||
"ingredientCategoryDefault": "Різне",
|
||
"removeIngredient": "Видалити інгредієнт",
|
||
"transferLabel": "Перенести інгредієнти до списку покупок",
|
||
"transferNow": "Перенести зараз",
|
||
"noShoppingLists": "Немає доступних списків покупок",
|
||
"transferSuccess": "{{count}} інгредієнт перенесено",
|
||
"transferSuccessPlural": "{{count}} інгредієнтів перенесено",
|
||
"transferAlreadyDone": "Усі інгредієнти вже перенесено",
|
||
"ingredientCount": "{{count}} інгредієнт",
|
||
"ingredientCountPlural": "{{count}} інгредієнтів",
|
||
"titleRequired": "Заголовок є обов'язковим",
|
||
"loadingIndicator": "Завантаження…",
|
||
"recipeUrlLabel": "Посилання на рецепт (необов'язково)",
|
||
"recipeUrlPlaceholder": "https://…",
|
||
"openRecipe": "Відкрити рецепт",
|
||
"savedRecipeLabel": "Saved recipe",
|
||
"savedRecipePlaceholder": "Select recipe",
|
||
"saveAsRecipe": "Save as recipe",
|
||
"recipeScaleLabel": "Scale ingredients"
|
||
},
|
||
"calendar": {
|
||
"title": "Календар",
|
||
"newEvent": "Нова подія",
|
||
"editEvent": "Редагувати подію",
|
||
"addEvent": "Додати подію",
|
||
"deleteEvent": "Видалити подію",
|
||
"noEvents": "Немає подій у вибраному періоді.",
|
||
"today": "Сьогодні",
|
||
"back": "Назад",
|
||
"forward": "Вперед",
|
||
"viewMonth": "Місяць",
|
||
"viewWeek": "Тиждень",
|
||
"viewDay": "День",
|
||
"viewAgenda": "Порядок денний",
|
||
"allDay": "Весь день",
|
||
"allDayShort": "весь день",
|
||
"moreEvents": "+{{count}} ще",
|
||
"weekNumberLabel": "Т{{week}} · {{month}} {{year}}",
|
||
"agendaFrom": "З {{date}}",
|
||
"titleLabel": "Заголовок *",
|
||
"titlePlaceholder": "напр. Стоматолог",
|
||
"allDayToggle": "Весь день",
|
||
"startDateLabel": "Дата початку",
|
||
"startTimeLabel": "Час початку",
|
||
"endDateLabel": "Дата завершення",
|
||
"endTimeLabel": "Час завершення",
|
||
"fromLabel": "Від",
|
||
"toLabel": "До",
|
||
"locationLabel": "Місце",
|
||
"locationPlaceholder": "Необов'язково",
|
||
"assignedLabel": "Призначено",
|
||
"assignedNobody": "- Нікому -",
|
||
"colorLabel": "Колір {{color}}",
|
||
"descriptionLabel": "Опис",
|
||
"descriptionPlaceholder": "Необов'язково…",
|
||
"popupEdit": "Редагувати",
|
||
"deleteConfirm": "Справді видалити «{{title}}»?",
|
||
"createdToast": "Подію створено",
|
||
"savedToast": "Подію збережено",
|
||
"deletedToast": "Подію видалено",
|
||
"loadError": "Не вдалося завантажити події.",
|
||
"saveError": "Помилка збереження",
|
||
"deleteError": "Помилка видалення",
|
||
"titleRequired": "Заголовок є обов'язковим",
|
||
"monthJanuary": "Січень",
|
||
"monthFebruary": "Лютий",
|
||
"monthMarch": "Березень",
|
||
"monthApril": "Квітень",
|
||
"monthMay": "Травень",
|
||
"monthJune": "Червень",
|
||
"monthJuly": "Липень",
|
||
"monthAugust": "Серпень",
|
||
"monthSeptember": "Вересень",
|
||
"monthOctober": "Жовтень",
|
||
"monthNovember": "Листопад",
|
||
"monthDecember": "Грудень",
|
||
"dayShortSunday": "Нд",
|
||
"dayShortMonday": "Пн",
|
||
"dayShortTuesday": "Вт",
|
||
"dayShortWednesday": "Ср",
|
||
"dayShortThursday": "Чт",
|
||
"dayShortFriday": "Пт",
|
||
"dayShortSaturday": "Сб",
|
||
"dayLongSunday": "Неділя",
|
||
"dayLongMonday": "Понеділок",
|
||
"dayLongTuesday": "Вівторок",
|
||
"dayLongWednesday": "Середа",
|
||
"dayLongThursday": "Четвер",
|
||
"dayLongFriday": "П'ятниця",
|
||
"dayLongSaturday": "Субота",
|
||
"timeSuffix": ""
|
||
},
|
||
"notes": {
|
||
"title": "Нотатки",
|
||
"newNote": "Нова нотатка",
|
||
"editNote": "Редагувати нотатку",
|
||
"addNoteLabel": "Нова нотатка",
|
||
"searchPlaceholder": "Пошук нотаток…",
|
||
"emptyTitle": "Нотаток поки немає",
|
||
"emptyDescription": "Створіть нову нотатку кнопкою +.",
|
||
"noResultsTitle": "Результатів немає",
|
||
"noResultsDescription": "Жодна нотатка не містить «{{query}}».",
|
||
"titleLabel": "Заголовок (необов'язково)",
|
||
"titlePlaceholder": "Без заголовку",
|
||
"contentLabel": "Вміст",
|
||
"contentMarkdownHint": "(підтримується форматування Markdown)",
|
||
"contentPlaceholder": "Введіть нотатку…",
|
||
"colorLabel": "Колір",
|
||
"pinnedLabel": "Закріпити (відображатиметься на огляді)",
|
||
"pinAction": "Закріпити",
|
||
"unpinAction": "Відкріпити",
|
||
"deleteLabel": "Видалити нотатку",
|
||
"deleteConfirm": "Справді видалити цю нотатку?",
|
||
"createdToast": "Нотатку створено",
|
||
"savedToast": "Нотатку збережено",
|
||
"deletedToast": "Нотатку видалено",
|
||
"loadError": "Не вдалося завантажити нотатки.",
|
||
"formatBold": "Жирний (Ctrl+B)",
|
||
"formatItalic": "Курсив (Ctrl+I)",
|
||
"formatUnderline": "Підкреслений (Ctrl+U)",
|
||
"formatStrikethrough": "Закреслений",
|
||
"formatHeading": "Заголовок",
|
||
"formatList": "Маркований список",
|
||
"formatOrderedList": "Нумерований список",
|
||
"formatChecklist": "Список завдань",
|
||
"formatLink": "Посилання",
|
||
"formatCode": "Код",
|
||
"formatQuote": "Цитата",
|
||
"formatDivider": "Розділювач"
|
||
},
|
||
"contacts": {
|
||
"title": "Контакти",
|
||
"newContact": "Новий контакт",
|
||
"editContact": "Редагувати контакт",
|
||
"addButton": "Новий",
|
||
"newContactLabel": "Новий контакт",
|
||
"searchPlaceholder": "Пошук за ім'ям, телефоном або email…",
|
||
"importButton": "Імпорт",
|
||
"importLabel": "Імпортувати контакт з vCard",
|
||
"importTooltip": "Імпортувати vCard",
|
||
"emptyTitle": "Контактів поки немає",
|
||
"emptyDescription": "Додайте нові контакти кнопкою +.",
|
||
"filterAll": "Усі",
|
||
"nameLabel": "Ім'я *",
|
||
"namePlaceholder": "Повне ім'я",
|
||
"categoryLabel": "Категорія",
|
||
"phoneLabel": "Телефон",
|
||
"phonePlaceholder": "+380 …",
|
||
"emailLabel": "Email",
|
||
"emailPlaceholder": "ім'я@приклад.com",
|
||
"addressLabel": "Адреса",
|
||
"addressPlaceholder": "Вулиця, індекс місто",
|
||
"notesLabel": "Нотатки",
|
||
"notesPlaceholder": "Необов'язково…",
|
||
"callLabel": "Зателефонувати",
|
||
"emailActionLabel": "Написати email",
|
||
"mapsLabel": "Відкрити на картах",
|
||
"exportLabel": "Експортувати як vCard",
|
||
"exportTooltip": "Експортувати vCard",
|
||
"deleteLabel": "Видалити контакт",
|
||
"deleteConfirm": "Справді видалити цей контакт?",
|
||
"deletePersonConfirm": "Справді видалити «{{name}}»?",
|
||
"savedToast": "Контакт збережено",
|
||
"updatedToast": "Контакт оновлено",
|
||
"deletedToast": "Контакт видалено",
|
||
"importedToast": "{{name}} імпортовано.",
|
||
"importError": "Помилка імпорту: {{error}}",
|
||
"vcardNoName": "vCard не містить імені.",
|
||
"catDoctor": "Лікар",
|
||
"catSchool": "Школа/Дитсадок",
|
||
"catAuthority": "Державний орган",
|
||
"catInsurance": "Страхування",
|
||
"catCraftsman": "Майстер",
|
||
"catEmergency": "Екстрена служба",
|
||
"catMisc": "Різне",
|
||
"categoryDoctor": "Лікар",
|
||
"categorySchool": "Школа/Дитсадок",
|
||
"categoryAuthority": "Державний орган",
|
||
"categoryInsurance": "Страхування",
|
||
"categoryCraftsman": "Майстер",
|
||
"categoryEmergency": "Екстрена служба",
|
||
"categoryOther": "Інше"
|
||
},
|
||
"budget": {
|
||
"title": "Бюджет",
|
||
"newEntry": "Новий запис",
|
||
"editEntry": "Редагувати запис",
|
||
"addEntryLabel": "Додати запис",
|
||
"newEntryFabLabel": "Новий запис",
|
||
"currentMonth": "Поточний",
|
||
"prevMonth": "Попередній місяць",
|
||
"nextMonth": "Наступний місяць",
|
||
"income": "Доходи",
|
||
"expenses": "Витрати",
|
||
"balance": "Баланс",
|
||
"byCategory": "За категоріями",
|
||
"transactions": "Транзакції",
|
||
"emptyTitle": "Записів у цьому місяці немає",
|
||
"emptyDescription": "Додайте записи бюджету кнопкою +.",
|
||
"csvExport": "CSV",
|
||
"typeExpense": "Витрата",
|
||
"typeIncome": "Дохід",
|
||
"titleLabel": "Заголовок *",
|
||
"titlePlaceholder": "напр. Супермаркет",
|
||
"amountLabel": "Сума *",
|
||
"amountPlaceholder": "0.00",
|
||
"categoryLabel": "Категорія",
|
||
"dateLabel": "Дата *",
|
||
"recurringLabel": "Повторюване",
|
||
"deleteLabel": "Видалити запис",
|
||
"deleteConfirm": "Справді видалити цей запис?",
|
||
"deletePersonConfirm": "Справді видалити «{{title}}»?",
|
||
"addedToast": "Запис додано",
|
||
"savedToast": "Запис збережено",
|
||
"deletedToast": "Запис видалено",
|
||
"loadError": "Не вдалося завантажити бюджет.",
|
||
"trendNeutral": "— так само, як у {{month}}",
|
||
"validAmountRequired": "Будь ласка, введіть коректну суму",
|
||
"dateRequired": "Дата є обов'язковою",
|
||
"catFood": "Продукти",
|
||
"catRent": "Оренда",
|
||
"catInsurance": "Страхування",
|
||
"catMobility": "Транспорт",
|
||
"catLeisure": "Дозвілля",
|
||
"catClothing": "Одяг",
|
||
"catHealth": "Здоров'я",
|
||
"catEducation": "Освіта",
|
||
"catMisc": "Різне",
|
||
"catEarnedIncome": "Трудовий дохід",
|
||
"catInvestmentIncome": "Інвестиційний дохід",
|
||
"catTransferGiftIncome": "Переводи та подарунки",
|
||
"catGovernmentBenefits": "Соціальні виплати",
|
||
"catOtherIncome": "Інші доходи",
|
||
"loadingIndicator": "Завантаження…"
|
||
},
|
||
"settings": {
|
||
"title": "Налаштування",
|
||
"tabGeneral": "Загальні",
|
||
"tabMeals": "Харчування",
|
||
"tabBudget": "Бюджет",
|
||
"tabShopping": "Покупки",
|
||
"tabCalendar": "Календар",
|
||
"tabAccount": "Обліковий запис",
|
||
"tabsAriaLabel": "Розділи налаштувань",
|
||
"sectionDesign": "Зовнішній вигляд",
|
||
"sectionShopping": "Покупки",
|
||
"shoppingCategoriesLabel": "Категорії покупок",
|
||
"shoppingCategoriesHint": "Додавайте, перейменовуйте, видаляйте або змінюйте порядок категорій.",
|
||
"shoppingCategoryPlaceholder": "Нова категорія…",
|
||
"shoppingCategoryRenameHint": "Натисніть, щоб перейменувати",
|
||
"shoppingCategoryRenamePrompt": "Нова назва категорії:",
|
||
"shoppingCategoryMoveUp": "Перемістити категорію вгору",
|
||
"shoppingCategoryMoveDown": "Перемістити категорію вниз",
|
||
"shoppingCategoryDelete": "Видалити категорію",
|
||
"shoppingCategoryDeleteConfirm": "Видалити категорію «{{name}}»? Наявні товари буде переміщено до наступної категорії.",
|
||
"shoppingCategoryAdded": "Категорію додано.",
|
||
"shoppingCategoryRenamed": "Категорію перейменовано.",
|
||
"shoppingCategoryDeleted": "Категорію видалено.",
|
||
"sectionAccount": "Мій обліковий запис",
|
||
"sectionCalendarSync": "Синхронізація календаря",
|
||
"sectionFamily": "Члени родини",
|
||
"cardAppearance": "Відображення",
|
||
"themeSystem": "Системна",
|
||
"themeSysLabel": "Використовувати системні налаштування",
|
||
"themeLight": "Світла",
|
||
"themeLightLabel": "Світла тема",
|
||
"themeDark": "Темна",
|
||
"themeDarkLabel": "Темна тема",
|
||
"changePassword": "Змінити пароль",
|
||
"currentPasswordLabel": "Поточний пароль",
|
||
"newPasswordLabel": "Новий пароль",
|
||
"confirmPasswordLabel": "Підтвердити новий пароль",
|
||
"savePassword": "Зберегти пароль",
|
||
"passwordMismatch": "Паролі не збігаються.",
|
||
"passwordSavedToast": "Пароль успішно змінено.",
|
||
"googleCalendar": "Google Календар",
|
||
"appleCalendar": "Apple Календар (iCloud)",
|
||
"syncNow": "Синхронізувати зараз",
|
||
"disconnect": "Від'єднати",
|
||
"connectGoogle": "Підключити через Google",
|
||
"connected": "Підключено",
|
||
"connectedLastSync": "Підключено · Остання: {{date}}",
|
||
"notConnected": "Не підключено",
|
||
"notConfigured": "Не налаштовано (відсутні змінні .env)",
|
||
"configured": "Налаштовано (через .env)",
|
||
"configuredLastSync": "Налаштовано (через .env) · Остання: {{date}}",
|
||
"syncSuccess": "{{provider}} синхронізовано.",
|
||
"disconnectedToast": "{{provider}} від'єднано.",
|
||
"googleOnlyAdmin": "Лише адміністратор може підключити Google Календар.",
|
||
"appleOnlyAdmin": "Лише адміністратор може підключити Apple Календар.",
|
||
"caldavUrlLabel": "URL CalDAV-сервера",
|
||
"caldavUrlPlaceholder": "https://caldav.icloud.com",
|
||
"appleIdLabel": "Apple ID (email)",
|
||
"applePasswordLabel": "Пароль програми",
|
||
"applePasswordHint": "Створіть пароль на <strong>appleid.apple.com → Безпека</strong>.",
|
||
"appleConnectBtn": "Підключити та перевірити",
|
||
"appleConnecting": "Підключення…",
|
||
"appleConnectedToast": "Apple Календар підключено.",
|
||
"syncSuccessGoogle": "Синхронізацію з Google Календарем успішно підключено.",
|
||
"syncSuccessApple": "Синхронізацію з Apple Календарем успішно підключено.",
|
||
"syncErrorGoogle": "Не вдалося підключитися до Google. Спробуйте ще раз.",
|
||
"syncErrorApple": "Не вдалося підключитися до Apple. Спробуйте ще раз.",
|
||
"addMember": "+ Додати члена",
|
||
"newMemberTitle": "Новий член родини",
|
||
"usernameLabel": "Ім'я користувача",
|
||
"displayNameLabel": "Відображуване ім'я",
|
||
"memberPasswordLabel": "Пароль",
|
||
"colorLabel": "Колір",
|
||
"roleLabel": "Роль",
|
||
"roleMember": "Учасник",
|
||
"roleAdmin": "Адміністратор",
|
||
"createMember": "Створити",
|
||
"cancelAddMember": "Скасувати",
|
||
"memberAddedToast": "{{name}} додано.",
|
||
"deleteMemberConfirm": "Справді видалити {{name}}?",
|
||
"memberDeletedToast": "{{name}} видалено.",
|
||
"deleteMemberLabel": "Видалити",
|
||
"logout": "Вийти",
|
||
"synchronizing": "Синхронізація…",
|
||
"googleDisconnectConfirm": "Від'єднати Google Календар?",
|
||
"appleDisconnectConfirm": "Від'єднати Apple Календар?",
|
||
"localeSystem": "Системна",
|
||
"localeLabel": "Мова",
|
||
"languageTitle": "Мова",
|
||
"sectionMeals": "План харчування",
|
||
"mealTypesLabel": "Видимі прийоми їжі",
|
||
"mealTypesHint": "У планувальнику харчування відображатимуться лише вибрані типи прийомів їжі.",
|
||
"mealTypesSaved": "Налаштування харчування збережено.",
|
||
"mealTypesMinOne": "Має бути активним принаймні один тип прийому їжі.",
|
||
"sectionBudget": "Бюджет",
|
||
"currencyLabel": "Валюта",
|
||
"currencyHint": "Встановлює валюту, що використовується в розділі бюджету.",
|
||
"currencySaved": "Валюту збережено."
|
||
},
|
||
"login": {
|
||
"tagline": "Планування для родини. Безпечно. Конфіденційно. Відкритий код.",
|
||
"usernameLabel": "Ім'я користувача",
|
||
"usernamePlaceholder": "ім'я користувача",
|
||
"passwordLabel": "Пароль",
|
||
"passwordPlaceholder": "••••••••",
|
||
"loginButton": "Увійти",
|
||
"loggingIn": "Вхід…",
|
||
"tooManyAttempts": "Забагато спроб. Будь ласка, зачекайте.",
|
||
"invalidCredentials": "Невірні облікові дані.",
|
||
"version": "v{{version}}"
|
||
},
|
||
"install": {
|
||
"title": "Встановити Oikos",
|
||
"subtitle": "Додати на головний екран",
|
||
"iosTip1": "Натисніть ",
|
||
"iosTip2": " → «Додати на головний екран»",
|
||
"installButton": "Встановити",
|
||
"dismissLabel": "Закрити"
|
||
},
|
||
"modal": {
|
||
"closeLabel": "Закрити",
|
||
"overlayLabel": "Фон модального вікна"
|
||
},
|
||
"rrule": {
|
||
"freqNone": "Без повторення",
|
||
"freqDaily": "Щодня",
|
||
"freqWeekly": "Щотижня",
|
||
"freqMonthly": "Щомісяця",
|
||
"dayMo": "Пн",
|
||
"dayTu": "Вт",
|
||
"dayWe": "Ср",
|
||
"dayTh": "Чт",
|
||
"dayFr": "Пт",
|
||
"daySa": "Сб",
|
||
"daySu": "Нд",
|
||
"labelRepeat": "Повторення",
|
||
"labelEvery": "Кожні",
|
||
"labelOnDays": "У ці дні",
|
||
"labelUntil": "Закінчується (необов'язково)",
|
||
"unitDay": "день",
|
||
"unitDays": "днів",
|
||
"unitWeek": "тиждень",
|
||
"unitWeeks": "тижнів",
|
||
"unitMonth": "місяць",
|
||
"unitMonths": "місяців"
|
||
},
|
||
"reminders": {
|
||
"sectionTitle": "Нагадування",
|
||
"enableLabel": "Встановити нагадування",
|
||
"dateLabel": "Дата",
|
||
"timeLabel": "Час",
|
||
"offsetLabel": "Нагадати мені",
|
||
"offsetNone": "Без нагадування",
|
||
"offset15min": "За 15 хвилин",
|
||
"offset1hour": "За 1 годину",
|
||
"offset1day": "За 1 день",
|
||
"offsetAtTime": "У час події",
|
||
"toastTitle": "Нагадування",
|
||
"dismiss": "Закрити",
|
||
"notificationPermission": "Сповіщення браузера",
|
||
"notificationEnable": "Увімкнути сповіщення",
|
||
"notificationEnabled": "Сповіщення активні",
|
||
"notificationDenied": "Сповіщення заблоковано",
|
||
"notificationHint": "Отримуйте сповіщення, поки додаток відкрито.",
|
||
"pendingBadgeTitle": "{{count}} нагадування",
|
||
"pendingBadgeTitlePlural": "{{count}} нагадувань"
|
||
},
|
||
"recipes": {
|
||
"title": "Recipes",
|
||
"addRecipe": "Add recipe",
|
||
"editRecipe": "Edit recipe",
|
||
"emptyTitle": "No recipes yet",
|
||
"emptyDescription": "Save your favorite recipes and reuse them in meal planning.",
|
||
"titleLabel": "Title *",
|
||
"titlePlaceholder": "e.g. Pasta Carbonara",
|
||
"notesLabel": "Notes",
|
||
"notesPlaceholder": "Optional...",
|
||
"urlLabel": "Recipe link",
|
||
"urlPlaceholder": "https://...",
|
||
"ingredientsLabel": "Ingredients",
|
||
"addToMeals": "Add to meal plan",
|
||
"openLink": "Open recipe link",
|
||
"deleteConfirm": "Delete recipe \"{{title}}\"?",
|
||
"created": "Recipe saved.",
|
||
"updated": "Recipe updated.",
|
||
"deleted": "Recipe deleted.",
|
||
"titleRequired": "Title is required",
|
||
"duplicate": "Duplicate",
|
||
"duplicated": "Recipe duplicated.",
|
||
"copySuffix": "copy"
|
||
}
|
||
}
|