1342 lines
109 KiB
JSON
1342 lines
109 KiB
JSON
{
|
||
"config": {
|
||
"step": {
|
||
"user": {
|
||
"title": "Налаштування WashData",
|
||
"description": "Налаштуйте пральну машину чи інший прилад.\n\nПотрібен датчик потужності.\n\n**Далі вас запитають, чи хочете ви створити свій перший профіль.**",
|
||
"data": {
|
||
"name": "Назва пристрою",
|
||
"device_type": "Тип пристрою",
|
||
"power_sensor": "Датчик потужності",
|
||
"min_power": "Мінімальний поріг потужності (Вт)"
|
||
},
|
||
"data_description": {
|
||
"name": "Зрозуміла назва цього пристрою (наприклад, «Пральна машина», «Посудомийна машина»).",
|
||
"device_type": "Що це за тип приладу? Допомагає адаптувати виявлення та маркування.",
|
||
"power_sensor": "Датчик, який повідомляє споживання електроенергії в реальному часі (у ватах) від вашої розумної розетки.",
|
||
"min_power": "Показники потужності вище цього порогу (у ватах) вказують на те, що прилад працює. Почніть з 2 Вт для більшості пристроїв."
|
||
}
|
||
},
|
||
"first_profile": {
|
||
"title": "Створити перший профіль",
|
||
"description": "**Цикл** – це повний запуск вашого приладу (наприклад, завантаження білизни). **Профіль** групує ці цикли за типом (наприклад, «Бавовна», «Швидке прання»). Створення профілю тепер допомагає негайно оцінити тривалість інтеграції.\n\nВи можете вручну вибрати цей профіль в елементах керування пристроєм, якщо він не визначається автоматично.\n\n**Залиште поле «Назва профілю» порожнім, щоб пропустити цей крок.**",
|
||
"data": {
|
||
"profile_name": "Ім'я профілю (необов'язково)",
|
||
"manual_duration": "Орієнтовна тривалість (хвилини)"
|
||
}
|
||
}
|
||
},
|
||
"error": {
|
||
"cannot_connect": "Не вдалося підключитися",
|
||
"invalid_auth": "Недійсна автентифікація",
|
||
"unknown": "Несподівана помилка"
|
||
},
|
||
"abort": {
|
||
"already_configured": "Пристрій уже налаштовано"
|
||
}
|
||
},
|
||
"options": {
|
||
"step": {
|
||
"init": {
|
||
"menu_options": {
|
||
"learning_feedbacks": "Відгуки про навчання",
|
||
"settings": "Налаштування",
|
||
"notifications": "Сповіщення",
|
||
"manage_cycles": "Керування циклами",
|
||
"manage_profiles": "Керування профілями",
|
||
"manage_phase_catalog": "Керування каталогом фаз",
|
||
"record_cycle": "Запис циклу (ручний)",
|
||
"diagnostics": "Діагностика та технічне обслуговування"
|
||
}
|
||
},
|
||
"apply_suggestions": {
|
||
"title": "Копіювання запропонованих значень",
|
||
"description": "Це скопіює поточні запропоновані значення у ваші збережені налаштування. Це одноразова дія, яка не вмикає автоматичне перезаписування.\n\nРекомендовані значення для копіювання:\n{suggested}",
|
||
"data": {
|
||
"confirm": "Підтвердити копіювання"
|
||
}
|
||
},
|
||
"apply_suggestions_confirm": {
|
||
"title": "Перегляд запропонованих змін",
|
||
"description": "WashData знайшло **{pending_count}** запропоновані значення для застосування.\n\nЗміни:\n{changes}\n\n✅ Поставте прапорець нижче та натисніть **Надіслати**, щоб негайно застосувати та зберегти ці зміни.\n❌ Не встановлюйте прапорець і натисніть **Надіслати**, щоб скасувати та повернутися назад.",
|
||
"data": {
|
||
"confirm_apply_suggestions": "Застосуйте та збережіть ці зміни"
|
||
}
|
||
},
|
||
"settings": {
|
||
"title": "Налаштування",
|
||
"description": "{deprecation_warning}Налаштуйте пороги виявлення, навчання та вдосконалену поведінку. Значення за замовчуванням добре працюють для більшості налаштувань.\n\nНаразі доступні рекомендовані налаштування: {suggestions_count}.\nЯкщо це значення більше за 0, відкрийте розширені налаштування та скористайтеся «Застосувати запропоновані значення», щоб переглянути рекомендації.",
|
||
"data": {
|
||
"apply_suggestions": "Застосувати запропоновані значення",
|
||
"device_type": "Тип пристрою",
|
||
"power_sensor": "Датчик потужності",
|
||
"min_power": "Мінімальна потужність (Вт)",
|
||
"off_delay": "Затримка завершення циклу (с)",
|
||
"notify_actions": "Дії сповіщень",
|
||
"notify_people": "Відкладіть доставку, поки ці люди не повернуться вдома",
|
||
"notify_only_when_home": "Відкласти сповіщення, поки вибрана особа не буде вдома",
|
||
"notify_fire_events": "Активувати події автоматизації",
|
||
"notify_start_services": "Початок циклу - цілі сповіщень",
|
||
"notify_finish_services": "Завершення циклу - цілі сповіщень",
|
||
"notify_live_services": "Прогрес у реальному часі - цілі сповіщень",
|
||
"notify_before_end_minutes": "Сповіщення перед завершенням (за хвилини до завершення)",
|
||
"notify_title": "Заголовок сповіщення",
|
||
"notify_icon": "Значок сповіщення",
|
||
"notify_start_message": "Формат повідомлення про початок",
|
||
"notify_finish_message": "Формат повідомлення про завершення",
|
||
"notify_pre_complete_message": "Формат повідомлення перед завершенням",
|
||
"show_advanced": "Змінити розширені налаштування (наступний крок)"
|
||
},
|
||
"data_description": {
|
||
"apply_suggestions": "Поставте цей прапорець, щоб скопіювати значення, запропоновані алгоритмом навчання, у форму. Перегляньте перед збереженням.\n\nРекомендовано (з вивчення):\n- min_power: {suggested_min_power} Вт\n- off_delay: {suggested_off_delay} с\n- watchdog_interval: {suggested_watchdog_interval} с\n- no_update_active_timeout: {suggested_no_update_active_timeout} с\n- profile_match_interval: {suggested_profile_match_interval} с\n- auto_label_confidence: {suggested_auto_label_confidence}\n- duration_tolerance: {suggested_duration_tolerance}\n- profile_duration_tolerance: {suggested_profile_duration_tolerance}\n- profile_match_min_duration_ratio: {suggested_profile_match_min_duration_ratio}\n- profile_match_max_duration_ratio: {suggested_profile_match_max_duration_ratio}\n- start_threshold_w: {suggested_start_threshold_w} Вт\n- stop_threshold_w: {suggested_stop_threshold_w} Вт\n- end_energy_threshold: {suggested_end_energy_threshold} Вт·год\n- running_dead_zone: {suggested_running_dead_zone} с\n{suggested_reason}",
|
||
"device_type": "Виберіть тип приладу (пральна машина, сушильна машина, посудомийна машина, кавова машина, EV). Цей тег зберігається з кожним циклом для кращої організації.",
|
||
"power_sensor": "Датчик, який повідомляє про потужність у реальному часі (у ватах). Ви можете будь-коли змінити це, не втрачаючи історичних даних - це стане в нагоді, якщо ви заміните розумну вилку.",
|
||
"min_power": "Показники потужності вище цього порогу (у ватах) вказують на те, що прилад працює. Почніть з 2 Вт для більшості пристроїв.",
|
||
"off_delay": "Секунди згладженої потужності повинні залишатися нижче порогового значення зупинки, щоб позначити завершення. За замовчуванням: 120 с.",
|
||
"notify_actions": "Додаткова послідовність дій Home Assistant для сповіщень (сценарії, повідомлення, TTS тощо). Якщо встановлено, дії виконуються до служби сповіщення про резервне сповіщення.",
|
||
"notify_people": "Сутності людей, які використовуються для перевірки присутності. Якщо ввімкнути, доставка сповіщень затримується, поки принаймні одна вибрана особа не буде вдома.",
|
||
"notify_only_when_home": "Якщо ввімкнено, відкладати сповіщення, поки принаймні одна вибрана особа не буде вдома.",
|
||
"notify_fire_events": "Якщо ввімкнено, запускати події Home Assistant для початку та кінця циклу (ha_washdata_cycle_started і ha_washdata_cycle_ended) для автоматизації.",
|
||
"notify_start_services": "Одна або кілька служб сповіщення про початок циклу. Залиште пустим, щоб пропустити сповіщення про початок.",
|
||
"notify_finish_services": "Одна або кілька служб сповіщення, щоб сповістити, коли цикл закінчується або наближається до завершення. Залиште пустим, щоб пропустити сповіщення про завершення.",
|
||
"notify_live_services": "Одна або кілька служб сповіщення для отримання поточних оновлень прогресу під час виконання циклу (лише для мобільного допоміжного додатка). Залиште поле пустим, щоб пропустити живі оновлення.",
|
||
"notify_before_end_minutes": "За хвилини до передбачуваного завершення циклу, щоб ініціювати сповіщення. Встановіть 0, щоб вимкнути. Типове значення: 0.",
|
||
"notify_title": "Спеціальна назва для сповіщень. Підтримує заповнювач {device}.",
|
||
"notify_icon": "Значок для сповіщень (наприклад, mdi:washing-machine). Залиште пустим, щоб надсилати без значка.",
|
||
"notify_start_message": "Повідомлення надсилається, коли починається цикл. Підтримує заповнювач {device}.",
|
||
"notify_finish_message": "Повідомлення надсилається після завершення циклу. Підтримує заповнювачі {device}, {duration}, {program}, {energy_kwh}, {cost}.",
|
||
"notify_pre_complete_message": "Текст повторюваних оновлень поточного прогресу під час виконання циклу. Підтримує заповнювачі {device}, {minutes}, {program}."
|
||
}
|
||
},
|
||
"notifications": {
|
||
"title": "Сповіщення",
|
||
"description": "Налаштуйте канали сповіщень, шаблони та, за бажанням, поточні оновлення мобільного прогресу.",
|
||
"data": {
|
||
"notify_actions": "Дії сповіщень",
|
||
"notify_people": "Відкладіть доставку, поки ці люди не повернуться вдома",
|
||
"notify_only_when_home": "Відкласти сповіщення, поки вибрана особа не буде вдома",
|
||
"notify_fire_events": "Активувати події автоматизації",
|
||
"notify_start_services": "Початок циклу - цілі сповіщень",
|
||
"notify_finish_services": "Завершення циклу - цілі сповіщень",
|
||
"notify_live_services": "Прогрес у реальному часі - цілі сповіщень",
|
||
"notify_before_end_minutes": "Сповіщення перед завершенням (за хвилини до завершення)",
|
||
"notify_live_interval_seconds": "Інтервал оновлення в реальному часі (секунди)",
|
||
"notify_live_overrun_percent": "Дозвіл на перевищення поточного оновлення (%)",
|
||
"notify_live_chronometer": "Таймер зворотного відліку хронометра",
|
||
"notify_title": "Заголовок сповіщення",
|
||
"notify_icon": "Значок сповіщення",
|
||
"notify_start_message": "Формат повідомлення про початок",
|
||
"notify_finish_message": "Формат повідомлення про завершення",
|
||
"notify_pre_complete_message": "Формат повідомлення перед завершенням",
|
||
"energy_price_entity": "Ціна енергії - Суб’єкт (необов’язково)",
|
||
"energy_price_static": "Ціна енергії - статичне значення (необов’язково)",
|
||
"go_back": "Повернутися без збереження",
|
||
"notify_reminder_message": "Формат повідомлення нагадування",
|
||
"notify_timeout_seconds": "Автоматичне відхилення через (секунди)",
|
||
"notify_channel": "Канал сповіщень (статус/прямий ефір/нагадування)",
|
||
"notify_finish_channel": "Канал сповіщень завершено"
|
||
},
|
||
"data_description": {
|
||
"go_back": "Позначте це і натисніть Надіслати, щоб відхилити всі зміни вище та повернутися до головного меню.",
|
||
"notify_actions": "Додаткова послідовність дій Home Assistant для сповіщень (сценарії, повідомлення, TTS тощо). Якщо встановлено, дії виконуються до служби сповіщення про резервне сповіщення.",
|
||
"notify_people": "Сутності людей, які використовуються для перевірки присутності. Якщо ввімкнути, доставка сповіщень затримується, поки принаймні одна вибрана особа не буде вдома.",
|
||
"notify_only_when_home": "Якщо ввімкнено, відкладати сповіщення, поки принаймні одна вибрана особа не буде вдома.",
|
||
"notify_fire_events": "Якщо ввімкнено, запускати події Home Assistant для початку та кінця циклу (ha_washdata_cycle_started і ha_washdata_cycle_ended) для автоматизації.",
|
||
"notify_start_services": "Одна або кілька служб сповіщення, які сповіщають про початок циклу (наприклад, notify.mobile_app_my_phone). Залиште пустим, щоб пропустити сповіщення про початок.",
|
||
"notify_finish_services": "Одна або кілька служб сповіщення, щоб сповістити, коли цикл закінчується або наближається до завершення. Залиште пустим, щоб пропустити сповіщення про завершення.",
|
||
"notify_live_services": "Одна або кілька служб сповіщення для отримання поточних оновлень прогресу під час виконання циклу (лише для мобільного допоміжного додатка). Залиште поле пустим, щоб пропустити живі оновлення.",
|
||
"notify_before_end_minutes": "За хвилини до передбачуваного завершення циклу, щоб ініціювати сповіщення. Встановіть 0, щоб вимкнути. Типове значення: 0.",
|
||
"notify_live_interval_seconds": "Як часто під час роботи надсилаються оновлення прогресу. Нижчі значення більш чуйні, але споживають більше сповіщень. Застосовується мінімум 30 секунд - значення нижче 30 секунд автоматично округляються до 30 секунд.",
|
||
"notify_live_overrun_percent": "Запас надійності вище приблизної кількості оновлень для довгих/перевершених циклів (наприклад, 20% дозволяє 1,2-кратне передбачуване оновлення).",
|
||
"notify_live_chronometer": "Якщо ввімкнено, кожне живе оновлення включає зворотний відлік хронометра до очікуваного часу фінішу. Таймер сповіщень автоматично відраховується на пристрої між оновленнями (лише супутня програма для Android).",
|
||
"notify_title": "Спеціальна назва для сповіщень. Підтримує заповнювач {device}.",
|
||
"notify_icon": "Значок для сповіщень (наприклад, mdi:washing-machine). Залиште пустим, щоб надсилати без значка.",
|
||
"notify_start_message": "Повідомлення надсилається, коли починається цикл. Підтримує заповнювач {device}.",
|
||
"notify_finish_message": "Повідомлення надсилається після завершення циклу. Підтримує заповнювачі {device}, {duration}, {program}, {energy_kwh}, {cost}.",
|
||
"energy_price_entity": "Виберіть числову сутність, яка містить поточну ціну на електроенергію (наприклад, sensor.electricity_price, input_number.energy_rate). Якщо встановлено, вмикає заповнювач {cost}. Має пріоритет над статичним значенням, якщо обидва налаштовані.",
|
||
"energy_price_static": "Фіксована ціна електроенергії за кВт/год. Якщо встановлено, вмикає заповнювач {cost}. Ігнорується, якщо об’єкт налаштовано вище. Додайте символ вашої валюти в шаблон повідомлення, напр. {cost} євро.",
|
||
"notify_reminder_message": "Текст одноразового нагадування, надісланий за вказану кількість хвилин до передбачуваного закінчення. На відміну від регулярних поточних оновлень вище. Підтримує заповнювачі {device}, {minutes}, {program}.",
|
||
"notify_timeout_seconds": "Автоматично відхиляти сповіщення через стільки секунд (пересилаються як час очікування супутньої програми). Установіть значення 0, щоб зберегти їх до звільнення. Типове значення: 0.",
|
||
"notify_channel": "Android канал сповіщень супутньої програми для сповіщень про статус, поточний прогрес і сповіщення про нагадування. Звук і важливість каналу налаштовуються в додатку-супутнику під час першого використання назви каналу - WashData встановлює лише назву каналу. Залиште порожнім для програми за умовчанням.",
|
||
"notify_finish_channel": "Окремий канал Android для сповіщення про завершення (також використовується нагадуванням і нагадуванням про очікування білизни), щоб воно могло мати власний звук. Залиште пустим, щоб повторно використовувати канал вище.",
|
||
"notify_pre_complete_message": "Текст повторюваних оновлень поточного прогресу під час виконання циклу. Підтримує заповнювачі {device}, {minutes}, {program}."
|
||
}
|
||
},
|
||
"advanced_settings": {
|
||
"title": "Розширені налаштування",
|
||
"description": "Налаштуйте пороги виявлення, навчання та вдосконалену поведінку. Значення за замовчуванням добре працюють для більшості конфігурацій.",
|
||
"sections": {
|
||
"suggestions_section": {
|
||
"name": "Пропоновані налаштування",
|
||
"description": "Доступно {suggestions_count} вивчених рекомендацій. Позначте 'Застосувати запропоновані значення', щоб переглянути запропоновані зміни перед збереженням.",
|
||
"data": {
|
||
"apply_suggestions": "Застосувати запропоновані значення"
|
||
},
|
||
"data_description": {
|
||
"apply_suggestions": "Установіть цей прапорець, щоб відкрити етап перегляду запропонованих значень від алгоритму навчання. Автоматично нічого не зберігається.\n\nРекомендовано (з вивчення):\n- min_power: {suggested_min_power} Вт\n- off_delay: {suggested_off_delay} с\n- watchdog_interval: {suggested_watchdog_interval} с\n- no_update_active_timeout: {suggested_no_update_active_timeout} с\n- profile_match_interval: {suggested_profile_match_interval} с\n- auto_label_confidence: {suggested_auto_label_confidence}\n- duration_tolerance: {suggested_duration_tolerance}\n- profile_duration_tolerance: {suggested_profile_duration_tolerance}\n- profile_match_min_duration_ratio: {suggested_profile_match_min_duration_ratio}\n- profile_match_max_duration_ratio: {suggested_profile_match_max_duration_ratio}\n- start_threshold_w: {suggested_start_threshold_w} Вт\n- stop_threshold_w: {suggested_stop_threshold_w} Вт\n- end_energy_threshold: {suggested_end_energy_threshold} Вт·год\n- running_dead_zone: {suggested_running_dead_zone} с\n{suggested_reason}"
|
||
}
|
||
},
|
||
"detection_section": {
|
||
"name": "Виявлення та пороги потужності",
|
||
"description": "Визначає, коли прилад вважається УВІМКНЕНИМ або ВИМКНЕНИМ, енергетичні пороги та час переходів між станами.",
|
||
"data": {
|
||
"start_duration_threshold": "Тривалість усунення стрибків (с)",
|
||
"start_energy_threshold": "Початковий енергетичний гейт (Вт·год)",
|
||
"completion_min_seconds": "Мінімальний час виконання завершення (секунди)",
|
||
"start_threshold_w": "Початковий поріг (Вт)",
|
||
"stop_threshold_w": "Поріг зупинки (Вт)",
|
||
"end_energy_threshold": "Ворота кінцевої енергії (Вт·год)",
|
||
"running_dead_zone": "Робоча мертва зона (секунди)",
|
||
"end_repeat_count": "Кінець підрахунку повторів",
|
||
"min_off_gap": "Мінімальний інтервал між циклами (с)",
|
||
"sampling_interval": "Інтервал вибірки (с)"
|
||
},
|
||
"data_description": {
|
||
"start_duration_threshold": "Ігноруйте короткі стрибки потужності, коротші за цю тривалість (у секундах). Відфільтровує стрибки завантаження (наприклад, 60 Вт протягом 2 с) перед початком справжнього циклу. За замовчуванням: 5 с.",
|
||
"start_energy_threshold": "Цикл має накопичити принаймні стільки енергії (Вт·год) під час фази СТАРТ, щоб підтвердити його. За замовчуванням: 0,005 Вт·год.",
|
||
"completion_min_seconds": "Цикли, коротші за цей, позначатимуться як «перервані», навіть якщо вони завершаться природним чином. За замовчуванням: 600 с.",
|
||
"start_threshold_w": "Потужність має піднятися ВИЩЕ за цей поріг, щоб ЗАПУСТИТИ цикл. Встановіть більше, ніж у режимі очікування. За замовчуванням: min_power + 1 Вт.",
|
||
"stop_threshold_w": "Потужність має впасти НИЖЧЕ цього порогу, щоб ЗАВЕРШИТИ цикл. Встановіть трохи вище нуля, щоб уникнути шуму, що викликає помилкові закінчення. Типове значення: 0,6 * min_power.",
|
||
"end_energy_threshold": "Цикл завершується, лише якщо енергія в останньому вікні затримки вимкнення нижче цього значення (Вт·год). Запобігає помилковим закінченням, якщо потужність коливається близько нуля. За замовчуванням: 0,05 Вт·год.",
|
||
"running_dead_zone": "Після початку циклу ігноруйте падіння потужності протягом цієї кількості секунд, щоб запобігти помилковому виявленню кінця під час початкової фази обертання. Встановіть 0, щоб вимкнути. За замовчуванням: 0 с.",
|
||
"end_repeat_count": "Кількість разів, коли умова завершення (потужність нижче порогу для затримки вимкнення) повинна бути виконана послідовно перед завершенням циклу. Вищі значення запобігають помилковим закінченням під час пауз. За замовчуванням: 1.",
|
||
"min_off_gap": "Якщо цикл починається протягом такої кількості секунд після закінчення попереднього, вони будуть ОБ’ЄДНАНІ в один цикл.",
|
||
"sampling_interval": "Мінімальний інтервал вибірки в секундах. Оновлення швидше, ніж ця швидкість, ігноруватимуться. За замовчуванням: 30 с (2 с для пральних машин, прально-сушильних машин і посудомийних машин)."
|
||
}
|
||
},
|
||
"matching_section": {
|
||
"name": "Зіставлення профілів і навчання",
|
||
"description": "Визначає, наскільки агресивно WashData зіставляє поточні цикли з вивченими профілями і коли запитувати відгук.",
|
||
"data": {
|
||
"profile_match_min_duration_ratio": "Коефіцієнт мінімальної тривалості відповідності профілю (0,1-1,0)",
|
||
"profile_match_interval": "Інтервал збігу профілю (секунди)",
|
||
"profile_match_threshold": "Поріг відповідності профілю",
|
||
"profile_unmatch_threshold": "Поріг невідповідності профілю",
|
||
"auto_label_confidence": "Впевненість автоматичної мітки (0-1)",
|
||
"learning_confidence": "Достовірність запиту зворотного зв'язку (0-1)",
|
||
"suppress_feedback_notifications": "Придушити сповіщення про відгуки",
|
||
"duration_tolerance": "Допустима тривалість (0-0,5)",
|
||
"smoothing_window": "Вікно згладжування (зразки)",
|
||
"profile_duration_tolerance": "Допуск на тривалість відповідності профілю (0-0,5)"
|
||
},
|
||
"data_description": {
|
||
"profile_match_min_duration_ratio": "Мінімальний коефіцієнт тривалості для відповідності профілю. Щоб збігатися, робочий цикл має становити принаймні цю частину тривалості профілю. Нижче = раннє зіставлення. За замовчуванням: 0,50 (50%).",
|
||
"profile_match_interval": "Як часто (у секундах) намагатися зіставити профіль протягом циклу. Нижчі значення забезпечують швидше виявлення, але використовують більше ЦП. За замовчуванням: 300 с (5 хвилин).",
|
||
"profile_match_threshold": "Мінімальна оцінка подібності DTW (0,0–1,0), необхідна для розгляду профілю як збігу. Вища = точніша відповідність, менше помилкових спрацьовувань. Типове значення: 0,4.",
|
||
"profile_unmatch_threshold": "Оцінка подібності DTW (0,0–1,0), нижче якої попередньо зіставлений профіль відхиляється. Має бути нижчим за поріг збігу, щоб запобігти мерехтінню. Типове значення: 0,35.",
|
||
"auto_label_confidence": "Автоматично позначати цикли на рівні або вище цієї впевненості після завершення (0,0–1,0).",
|
||
"learning_confidence": "Мінімальна впевненість для запиту підтвердження користувача через подію (0,0–1,0).",
|
||
"suppress_feedback_notifications": "Якщо ввімкнено, WashData все одно відстежуватиме та запитуватиме внутрішній відгук, але не відображатиме постійні сповіщення з проханням підтвердити цикли. Корисно, коли цикли завжди виявляються правильно, а підказки відволікають.",
|
||
"duration_tolerance": "Допуск для оцінок часу, що залишився під час виконання (0,0–0,5 відповідає 0–50%).",
|
||
"smoothing_window": "Кількість останніх вимірювань потужності, використаних для згладжування ковзного середнього.",
|
||
"profile_duration_tolerance": "Допуск, який використовується під час зіставлення профілю для загальної дисперсії тривалості (0,0–0,5). Поведінка за замовчуванням: ±25%."
|
||
}
|
||
},
|
||
"timing_section": {
|
||
"name": "Час, обслуговування та налагодження",
|
||
"description": "Watchdog, скидання прогресу, автоматичне обслуговування та показ сутностей налагодження.",
|
||
"data": {
|
||
"watchdog_interval": "Сторожовий інтервал (секунди)",
|
||
"no_update_active_timeout": "Час очікування без оновлення (с)",
|
||
"progress_reset_delay": "Затримка скидання прогресу (секунди)",
|
||
"auto_maintenance": "Увімкнути автоматичне обслуговування",
|
||
"expose_debug_entities": "Викрити сутності налагодження",
|
||
"save_debug_traces": "Зберегти сліди налагодження"
|
||
},
|
||
"data_description": {
|
||
"watchdog_interval": "Секунди між контрольними перевірками під час роботи. За замовчуванням: 5 с. ПОПЕРЕДЖЕННЯ: переконайтеся, що цей інтервал ВИЩИЙ за інтервал оновлення вашого датчика, щоб уникнути помилкових зупинок (наприклад, якщо датчик оновлюється кожні 60 с, використовуйте 65 с+).",
|
||
"no_update_active_timeout": "Для датчиків публікації після зміни: примусово завершуйте АКТИВНИЙ цикл, лише якщо протягом стільки секунд не надходить оновлення. Завершення з низьким енергоспоживанням усе ще використовує затримку вимкнення.",
|
||
"progress_reset_delay": "Після завершення циклу (100%) зачекайте стільки секунд бездіяльності, перш ніж скинути прогрес до 0%. За замовчуванням: 300 с.",
|
||
"auto_maintenance": "Увімкнути автоматичне обслуговування (відновлення зразків, об’єднання фрагментів).",
|
||
"expose_debug_entities": "Показати розширені датчики (достовірність, фаза, неоднозначність) для налагодження.",
|
||
"save_debug_traces": "Зберігайте детальні дані рейтингу та трасування потужності в історії (збільшує використання пам’яті)."
|
||
}
|
||
},
|
||
"anti_wrinkle_section": {
|
||
"name": "Щит проти зморшок (сушарки)",
|
||
"description": "Ігноруйте оберти барабана після завершення циклу, щоб запобігти фантомним циклам. Лише сушарка / прально-сушильна машина.",
|
||
"data": {
|
||
"anti_wrinkle_enabled": "Щит проти зморшок (тільки для сушарки)",
|
||
"anti_wrinkle_max_power": "Максимальна потужність проти зморшок (Вт)",
|
||
"anti_wrinkle_max_duration": "Максимальна тривалість проти зморшок (с)",
|
||
"anti_wrinkle_exit_power": "Вихідна потужність проти зморшок (Вт)"
|
||
},
|
||
"data_description": {
|
||
"anti_wrinkle_enabled": "Ігноруйте короткі малопотужні оберти барабана після завершення циклу, щоб запобігти повторним циклам (тільки для сушильної/прально-сушильної машин).",
|
||
"anti_wrinkle_max_power": "Сплески на рівні або нижче цієї потужності розглядаються як обертання проти зморшок замість нових циклів. Застосовується, лише коли ввімкнено Anti-Wrinkle Shield.",
|
||
"anti_wrinkle_max_duration": "Максимальна довжина вибуху для обертання проти зморшок. Застосовується, лише коли ввімкнено Anti-Wrinkle Shield.",
|
||
"anti_wrinkle_exit_power": "Якщо потужність падає нижче цього рівня, негайно вимкніть функцію запобігання зморшкам (вимкнено). Застосовується, лише коли ввімкнено Anti-Wrinkle Shield."
|
||
}
|
||
},
|
||
"delay_start_section": {
|
||
"name": "Виявлення відкладеного старту",
|
||
"description": "Вважайте тривалий режим очікування з низьким споживанням станом 'Очікування запуску', доки цикл фактично не розпочнеться.",
|
||
"data": {
|
||
"delay_start_detect_enabled": "Увімкнути виявлення затримки запуску",
|
||
"delay_confirm_seconds": "Відкладений старт: час підтвердження режиму очікування (s)",
|
||
"delay_timeout_hours": "Відкладений старт: максимальний час очікування (год)"
|
||
},
|
||
"data_description": {
|
||
"delay_start_detect_enabled": "Якщо ввімкнено, короткий стрибок споживання електроенергії з низьким споживанням електроенергії, а потім тривалий режим очікування, визначається як відкладений старт. Датчик стану показує «Очікування запуску» під час затримки. Тривалість або прогрес програми не відстежуються, поки цикл фактично не розпочнеться. Вимагає, щоб параметр start_threshold_w був встановлений вище стрибкової потужності споживання.",
|
||
"delay_confirm_seconds": "Потужність має залишатися між порогом зупинки (W) і порогом запуску (W) протягом цієї кількості секунд, перш ніж WashData перейде в стан 'Очікування запуску'. Це відсіює короткі піки під час навігації меню. Типово: 60 s.",
|
||
"delay_timeout_hours": "Безпечний тайм-аут: якщо машина все ще перебуває в режимі «Очікування запуску» через стільки годин, WashData скидається на Вимк. За замовчуванням: 8 год."
|
||
}
|
||
},
|
||
"external_triggers_section": {
|
||
"name": "Зовнішні тригери, дверцята і пауза",
|
||
"description": "Необов’язковий зовнішній датчик завершення циклу, датчик дверей для виявлення паузи / розвантаження та перемикач відключення живлення під час паузи.",
|
||
"data": {
|
||
"external_end_trigger_enabled": "Увімкнути зовнішній тригер завершення циклу",
|
||
"external_end_trigger": "Зовнішній датчик кінця циклу",
|
||
"external_end_trigger_inverted": "Інвертувати логіку тригера (тригер увімкнено ВИМК.)",
|
||
"door_sensor_entity": "Датчик дверей",
|
||
"pause_cuts_power": "Вимкніть живлення під час паузи",
|
||
"switch_entity": "Switch Entity (для призупинення відключення електроенергії)",
|
||
"notify_unload_delay_minutes": "Затримка повідомлення про очікування пральні (хв.)"
|
||
},
|
||
"data_description": {
|
||
"external_end_trigger_enabled": "Увімкніть моніторинг зовнішнього бінарного датчика, щоб ініціювати завершення циклу.",
|
||
"external_end_trigger": "Виберіть бінарний датчик. Коли цей датчик спрацьовує, поточний цикл завершиться зі статусом «завершено».",
|
||
"external_end_trigger_inverted": "За замовчуванням тригер спрацьовує, коли датчик вмикається. Установіть цей прапорець, щоб спрацьовувати, коли датчик замість цього вимикається.",
|
||
"door_sensor_entity": "Додатковий бінарний датчик для дверцят машини (увімкнено = відкрито, вимкнено = закрито). Коли дверцята відкриваються під час активного циклу, WashData підтвердить, що цикл навмисно призупинено. Після завершення циклу, якщо дверцята все ще закриті, стан змінюється на «Чисто», доки дверцята не відчиняться. Примітка: закриття дверей НЕ автоматично відновлює призупинений цикл - відновлення має бути запущено вручну за допомогою кнопки «Відновити цикл» або служби.",
|
||
"pause_cuts_power": "Під час призупинення за допомогою кнопки «Призупинити цикл» або служби також вимкніть налаштовану сутність перемикача. Діє, лише якщо для цього пристрою налаштовано комутатор.",
|
||
"switch_entity": "Сутність перемикача, яку потрібно перемикати під час паузи або відновлення. Потрібний, якщо ввімкнено параметр «Вимикати живлення під час паузи».",
|
||
"notify_unload_delay_minutes": "Надішліть сповіщення через канал сповіщень про завершення після того, як цикл закінчиться, і двері не відчинятимуться стільки хвилин (потрібен датчик дверей). Встановіть 0, щоб вимкнути. За замовчуванням: 60 хв."
|
||
}
|
||
},
|
||
"pump_section": {
|
||
"name": "Монітор насоса",
|
||
"description": "Лише для пристроїв типу насос. Викликає подію, якщо цикл насоса триває довше за цей час.",
|
||
"data": {
|
||
"pump_stuck_duration": "Порогове значення попередження про зупинку насоса (лише насос)"
|
||
},
|
||
"data_description": {
|
||
"pump_stuck_duration": "Якщо цикл насоса все ще виконується через стільки секунд, подія ha_washdata_pump_stuck запускається один раз. Використовуйте це для виявлення заклинилого двигуна (звичайний час роботи колодцевого насоса менше 60 с). За замовчуванням: 1800 с (30 хв). Тільки тип насосного пристрою."
|
||
}
|
||
},
|
||
"device_link_section": {
|
||
"name": "Посилання на пристрій",
|
||
"description": "Необов’язково зв’яжіть цей пристрій WashData з наявним пристроєм Home Assistant (наприклад, розумною вилкою чи самим приладом). Потім пристрій WashData відображається як «Підключено через» цей пристрій. Залиште поле пустим, щоб WashData залишався автономним пристроєм.",
|
||
"data": {
|
||
"linked_device": "Підключений пристрій"
|
||
},
|
||
"data_description": {
|
||
"linked_device": "Виберіть пристрій, до якого потрібно підключити WashData. Це додає посилання «Підключено через» до реєстру пристрою; WashData зберігає власну картку пристрою та сутності. Зніміть вибір, щоб видалити посилання."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"diagnostics": {
|
||
"title": "Діагностика та технічне обслуговування",
|
||
"description": "Виконуйте дії з обслуговування, як-от об’єднання фрагментованих циклів або перенесення збережених даних.\n\n**Використання сховища**\n\n- Розмір файлу: {file_size_kb} Кб\n- Цикли: {cycle_count}\n- Профілі: {profile_count}\n- Сліди налагодження: {debug_count}",
|
||
"menu_options": {
|
||
"reprocess_history": "Обслуговування: повторна обробка та оптимізація даних",
|
||
"clear_debug_data": "Очистити дані налагодження (звільнити місце)",
|
||
"wipe_history": "Очистити ВСІ дані цього пристрою (безповоротно)",
|
||
"export_import": "Експорт/імпорт JSON з налаштуваннями (копіювати/вставити)",
|
||
"menu_back": "← Назад"
|
||
}
|
||
},
|
||
"clear_debug_data": {
|
||
"title": "Очистити дані налагодження",
|
||
"description": "Ви впевнені, що бажаєте видалити всі збережені трасування налагодження? Це звільнить місце, але видалить детальну інформацію про рейтинг із минулих циклів."
|
||
},
|
||
"manage_cycles": {
|
||
"title": "Керування циклами",
|
||
"description": "Останні цикли:\n{recent_cycles}",
|
||
"menu_options": {
|
||
"auto_label_cycles": "Автоматичне позначення старих циклів",
|
||
"select_cycle_to_label": "Позначити конкретний цикл",
|
||
"select_cycle_to_delete": "Видалити цикл",
|
||
"interactive_editor": "Інтерактивний редактор злиття/розділу",
|
||
"trim_cycle_select": "Обрізати дані циклу",
|
||
"menu_back": "← Назад"
|
||
}
|
||
},
|
||
"manage_cycles_empty": {
|
||
"title": "Керування циклами",
|
||
"description": "Циклів ще не зареєстровано.",
|
||
"menu_options": {
|
||
"auto_label_cycles": "Автоматичне позначення старих циклів",
|
||
"menu_back": "← Назад"
|
||
}
|
||
},
|
||
"manage_profiles": {
|
||
"title": "Керування профілями",
|
||
"description": "Підсумок профілю:\n{profile_summary}",
|
||
"menu_options": {
|
||
"create_profile": "Створити новий профіль",
|
||
"edit_profile": "Редагувати/перейменувати профіль",
|
||
"delete_profile_select": "Видалити профіль",
|
||
"profile_stats": "Статистика профілю",
|
||
"cleanup_profile": "Очистити історію - побудувати графік і видалити",
|
||
"assign_profile_phases_select": "Призначте діапазони фаз",
|
||
"menu_back": "← Назад"
|
||
}
|
||
},
|
||
"manage_profiles_empty": {
|
||
"title": "Керування профілями",
|
||
"description": "Профілі ще не створені.",
|
||
"menu_options": {
|
||
"create_profile": "Створити новий профіль",
|
||
"menu_back": "← Назад"
|
||
}
|
||
},
|
||
"manage_phase_catalog": {
|
||
"title": "Керування каталогом фаз",
|
||
"description": "Каталог фаз (за умовчанням для цього пристрою + спеціальні фази):\n{phase_summary}",
|
||
"menu_options": {
|
||
"phase_catalog_create": "Створити нову фазу",
|
||
"phase_catalog_edit_select": "Редагувати фазу",
|
||
"phase_catalog_delete": "Видалити фазу",
|
||
"menu_back": "← Назад"
|
||
}
|
||
},
|
||
"phase_catalog_create": {
|
||
"title": "Створення спеціальної фази",
|
||
"description": "Створіть власну назву та опис фази та виберіть, до якого типу пристрою вона застосовується.",
|
||
"data": {
|
||
"target_device_type": "Тип цільового пристрою",
|
||
"phase_name": "Назва фази",
|
||
"phase_description": "Опис фази"
|
||
}
|
||
},
|
||
"phase_catalog_edit_select": {
|
||
"title": "Редагувати спеціальну фазу",
|
||
"description": "Виберіть спеціальну фазу для редагування.",
|
||
"data": {
|
||
"phase_name": "Спеціальна фаза"
|
||
}
|
||
},
|
||
"phase_catalog_edit": {
|
||
"title": "Редагувати спеціальну фазу",
|
||
"description": "Етап редагування: {phase_name}",
|
||
"data": {
|
||
"phase_name": "Назва фази",
|
||
"phase_description": "Опис фази"
|
||
}
|
||
},
|
||
"phase_catalog_delete": {
|
||
"title": "Видалити спеціальну фазу",
|
||
"description": "Виберіть спеціальну фазу для видалення. Усі призначені діапазони за допомогою цієї фази буде видалено.",
|
||
"data": {
|
||
"phase_name": "Спеціальна фаза"
|
||
}
|
||
},
|
||
"assign_profile_phases": {
|
||
"title": "Призначте діапазони фаз",
|
||
"description": "Попередній перегляд фази для профілю: **{profile_name}**\n\n{timeline_svg}\n\n**Поточні діапазони:**\n{current_ranges}\n\nВикористовуйте наведені нижче дії, щоб додавати, редагувати, видаляти або зберігати діапазони.",
|
||
"menu_options": {
|
||
"assign_profile_phases_add": "Додайте діапазон фаз",
|
||
"assign_profile_phases_edit_select": "Редагувати діапазон фаз",
|
||
"assign_profile_phases_delete": "Видалити діапазон фаз",
|
||
"phase_ranges_clear": "Очистити всі діапазони",
|
||
"assign_profile_phases_auto_detect": "Автоматичне визначення фаз",
|
||
"phase_ranges_save": "Зберегти та повернути",
|
||
"menu_back": "← Назад"
|
||
}
|
||
},
|
||
"assign_profile_phases_add": {
|
||
"title": "Додайте діапазон фаз",
|
||
"description": "Додайте один діапазон фаз до поточної чернетки.",
|
||
"data": {
|
||
"phase_name": "Фаза",
|
||
"start_min": "Початкова хвилина",
|
||
"end_min": "Кінцева хвилина"
|
||
}
|
||
},
|
||
"assign_profile_phases_edit_select": {
|
||
"title": "Редагувати діапазон фаз",
|
||
"description": "Виберіть діапазон для редагування.",
|
||
"data": {
|
||
"range_index": "Діапазон фаз"
|
||
}
|
||
},
|
||
"assign_profile_phases_edit": {
|
||
"title": "Редагувати діапазон фаз",
|
||
"description": "Оновіть вибраний діапазон фаз.",
|
||
"data": {
|
||
"phase_name": "Фаза",
|
||
"start_min": "Початкова хвилина",
|
||
"end_min": "Кінцева хвилина"
|
||
}
|
||
},
|
||
"assign_profile_phases_delete": {
|
||
"title": "Видалити діапазон фаз",
|
||
"description": "Виберіть діапазон, який потрібно видалити з чернетки.",
|
||
"data": {
|
||
"range_index": "Діапазон фаз"
|
||
}
|
||
},
|
||
"assign_profile_phases_auto_detect": {
|
||
"title": "Автоматично визначені фази",
|
||
"description": "Профіль: **{profile_name}**\n\n{timeline_svg}\n\n**{detected_count} фази виявлено автоматично.** Виберіть дію нижче.",
|
||
"data": {
|
||
"action": "Дія"
|
||
}
|
||
},
|
||
"assign_profile_phases_auto_detect_name": {
|
||
"title": "Назвіть виявлені фази",
|
||
"description": "Профіль: **{profile_name}**\n\n**Виявлено {detected_count} фази:**\n{ranges_summary}\n\nПрисвойте назву кожній фазі."
|
||
},
|
||
"assign_profile_phases_select": {
|
||
"title": "Призначте діапазони фаз",
|
||
"description": "Виберіть профіль, щоб налаштувати діапазони фаз.",
|
||
"data": {
|
||
"profile": "Профіль"
|
||
}
|
||
},
|
||
"profile_stats": {
|
||
"title": "Статистика профілю",
|
||
"description": "{stats_table}"
|
||
},
|
||
"create_profile": {
|
||
"title": "Створити новий профіль",
|
||
"description": "Створіть новий профіль вручну або на основі минулого циклу.\n\nПриклади назв профілів: «Бавовна 40°C», «Еко», «Швидке прання», «Бавовна + Сушіння в шафу».\n\n**Що використовує відповідник:** форма енергоспоживання, загальна тривалість циклу та загальна енергія. Він не зчитує безпосередньо параметри температури або віджимання.\n\n**Профілі, які будуть надійно автоматично визначені:** програми з явно різною тривалістю або моделями потужності – напр. 20-хвилинне швидке прання проти 3-годинного циклу «Бавовна» або цикл лише прання проти комбінованого прання+сушіння (який зазвичай триває у 2–3 рази довше).\n\n**Профілі, для яких може знадобитися ручний вибір:** варіанти однієї програми, що відрізняються лише температурою чи швидкістю віджимання (наприклад, Бавовна 40°C проти Бавовна 60°C), часто дають подібні форми потужності. Система все одно намагатиметься розрізнити їх і вивчати ваші виправлення з часом, але спочатку очікуйте, що збіги підтверджуватимуться вручну.\n\n**Порада щодо прально-сушильної машини:** створіть окремі профілі для режимів лише прання та прання+сушіння – різниця в тривалості й енергоспоживанні достатньо велика для надійного автоматичного визначення.",
|
||
"data": {
|
||
"profile_name": "Ім'я профілю",
|
||
"reference_cycle": "Базовий цикл (необов'язково)",
|
||
"manual_duration": "Тривалість вручну (хвилини)"
|
||
}
|
||
},
|
||
"edit_profile": {
|
||
"title": "Редагувати профіль",
|
||
"description": "Виберіть профіль для перейменування",
|
||
"data": {
|
||
"profile": "Профіль"
|
||
}
|
||
},
|
||
"rename_profile": {
|
||
"title": "Редагувати деталі профілю",
|
||
"description": "Поточний профіль: {current_name}",
|
||
"data": {
|
||
"new_name": "Ім'я профілю",
|
||
"manual_duration": "Тривалість вручну (хвилини)"
|
||
}
|
||
},
|
||
"delete_profile_select": {
|
||
"title": "Видалити профіль",
|
||
"description": "Виберіть профіль для видалення",
|
||
"data": {
|
||
"profile": "Профіль"
|
||
}
|
||
},
|
||
"delete_profile_confirm": {
|
||
"title": "Підтвердьте видалення профілю",
|
||
"description": "⚠️ Це назавжди видалить профіль: {profile_name}",
|
||
"data": {
|
||
"unlabel_cycles": "Видаліть мітку з циклів за допомогою цього профілю"
|
||
}
|
||
},
|
||
"auto_label_cycles": {
|
||
"title": "Автоматичне позначення старих циклів",
|
||
"description": "Загальна кількість циклів: {total_count}. Профілі: {profiles}",
|
||
"data": {
|
||
"confidence_threshold": "Мінімальна впевненість (0,50-0,95)"
|
||
}
|
||
},
|
||
"select_cycle_to_label": {
|
||
"title": "Виберіть цикл для позначення",
|
||
"description": "✓ = завершено, ⚠ = відновлено, ✗ = перервано",
|
||
"data": {
|
||
"cycle_id": "Цикл"
|
||
}
|
||
},
|
||
"select_cycle_to_delete": {
|
||
"title": "Видалити цикл",
|
||
"description": "⚠️ Це назавжди видалить вибраний цикл",
|
||
"data": {
|
||
"cycle_id": "Цикл для видалення"
|
||
}
|
||
},
|
||
"label_cycle": {
|
||
"title": "Позначення циклу",
|
||
"description": "{cycle_info}",
|
||
"data": {
|
||
"profile_name": "Профіль",
|
||
"new_profile_name": "Нова назва профілю (якщо створюється)"
|
||
}
|
||
},
|
||
"post_process": {
|
||
"title": "Обробка історії (злиття/розділення)",
|
||
"description": "Очистіть історію циклів, об’єднавши фрагментовані цикли та розділивши неправильно об’єднані цикли в межах часового вікна. Введіть кількість годин для перегляду (використовуйте 999999 для всіх).",
|
||
"data": {
|
||
"time_range": "Вікно огляду (годин)",
|
||
"gap_seconds": "Проміжок злиття/розділу (секунди)"
|
||
},
|
||
"data_description": {
|
||
"time_range": "Кількість годин для сканування фрагментованих циклів для об’єднання. Використовуйте 999999 для обробки всіх історичних даних.",
|
||
"gap_seconds": "Порогове значення для прийняття рішення про розділення чи злиття. Прогалини КОРОТШІ, ніж це, об’єднуються. Прогалини ДОВШІ, ніж це, розділені. Знизьте це значення, щоб примусово розділити цикл, який було об’єднано неправильно."
|
||
}
|
||
},
|
||
"cleanup_profile": {
|
||
"title": "Очистити історію - виберіть профіль",
|
||
"description": "Виберіть профіль для візуалізації. Це створить графік, який показує всі минулі цикли для цього профілю, щоб допомогти визначити викиди.",
|
||
"data": {
|
||
"profile": "Профіль"
|
||
}
|
||
},
|
||
"cleanup_select": {
|
||
"title": "Очистити історію - побудувати графік і видалити",
|
||
"description": "\n\n**Візуалізація {profile_name}**\n\nГрафік показує окремі цикли кольоровими лініями. Визначте викиди (лінії, віддалені від групи) і зіставте їхній колір у списку нижче, щоб видалити їх.\n\n**Виберіть цикли для ПОСТІЙНОГО видалення:**",
|
||
"data": {
|
||
"cycles_to_delete": "Цикли для видалення (перевірте відповідність кольорів)"
|
||
}
|
||
},
|
||
"interactive_editor": {
|
||
"title": "Інтерактивний редактор злиття/розділу",
|
||
"description": "Виберіть дію вручну, яку потрібно виконати з історією циклу.",
|
||
"menu_options": {
|
||
"editor_split": "Розділити цикл (знайти прогалини)",
|
||
"editor_merge": "Цикли злиття (об’єднання фрагментів)",
|
||
"editor_delete": "Видалити цикл(и)",
|
||
"menu_back": "← Назад"
|
||
}
|
||
},
|
||
"editor_select": {
|
||
"title": "Виберіть цикли",
|
||
"description": "Виберіть цикл(и) для обробки.\n\n{info_text}",
|
||
"data": {
|
||
"selected_cycles": "Цикли"
|
||
}
|
||
},
|
||
"editor_configure": {
|
||
"title": "Налаштувати та застосувати",
|
||
"description": "{preview_md}",
|
||
"data": {
|
||
"confirm_action": "Дія",
|
||
"merged_profile": "Результуючий профіль",
|
||
"new_profile_name": "Нова назва профілю",
|
||
"confirm_commit": "Так, я підтверджую цю дію",
|
||
"segment_0_profile": "Сегмент 1 Профіль",
|
||
"segment_1_profile": "Сегмент 2 Профіль",
|
||
"segment_2_profile": "Сегмент 3 Профіль",
|
||
"segment_3_profile": "Сегмент 4 Профіль",
|
||
"segment_4_profile": "Сегмент 5 Профіль",
|
||
"segment_5_profile": "Сегмент 6 Профіль",
|
||
"segment_6_profile": "Сегмент 7 Профіль",
|
||
"segment_7_profile": "Сегмент 8 Профіль",
|
||
"segment_8_profile": "Сегмент 9 Профіль",
|
||
"segment_9_profile": "Сегмент 10 Профіль"
|
||
}
|
||
},
|
||
"editor_split_params": {
|
||
"title": "Конфігурація розділення",
|
||
"description": "Відрегулюйте чутливість для розділення цього циклу. Будь-який проміжок простою, довший за цей, призведе до розколу.",
|
||
"data": {
|
||
"split_mode": "Метод розділення"
|
||
}
|
||
},
|
||
"editor_split_auto_params": {
|
||
"title": "Налаштування автоподілу",
|
||
"description": "Налаштуйте чутливість поділу цього циклу. Будь-який інтервал бездіяльності, довший за це значення, призведе до поділу.",
|
||
"data": {
|
||
"min_gap_seconds": "Поріг паузи для поділу (секунди)"
|
||
}
|
||
},
|
||
"editor_split_manual_params": {
|
||
"title": "Мітки часу ручного поділу",
|
||
"description": "{preview_md}Вікно циклу: **{cycle_start_wallclock} → {cycle_end_wallclock}** на {cycle_date}.\n\nВведіть одну або кілька міток часу поділу (`HH:MM` або `HH:MM:SS`), по одній на рядок. Цикл буде розрізано на кожній мітці часу — N міток часу дають N+1 сегментів.",
|
||
"data": {
|
||
"split_timestamps": "Часові позначки поділу"
|
||
}
|
||
},
|
||
"reprocess_history": {
|
||
"title": "Обслуговування: повторна обробка та оптимізація даних",
|
||
"description": "Виконує глибоке очищення історичних даних:\n1. Обрізає показання нульової потужності (тиша).\n2. Виправляє час/тривалість циклу.\n3. Перераховує всі статистичні моделі (конверти).\n\n**Запустіть це, щоб вирішити проблеми з даними або застосувати нові алгоритми.**"
|
||
},
|
||
"wipe_history": {
|
||
"title": "Очистити історію (лише тестування)",
|
||
"description": "⚠️ Це назавжди видалить УСІ збережені цикли та профілі для цього пристрою. Це неможливо скасувати!"
|
||
},
|
||
"export_import": {
|
||
"title": "Експорт/імпорт JSON",
|
||
"description": "Скопіюйте/вставте цикли, профілі та налаштування для цього пристрою. Експортуйте нижче або вставте JSON для імпорту.",
|
||
"data": {
|
||
"mode": "Дія",
|
||
"json_payload": "Повна конфігурація JSON"
|
||
},
|
||
"data_description": {
|
||
"mode": "Виберіть «Експорт», щоб скопіювати поточні дані та налаштування, або «Імпорт», щоб вставити експортовані дані з іншого пристрою WashData.",
|
||
"json_payload": "Для експорту: скопіюйте цей JSON (включає цикли, профілі та всі налаштовані налаштування). Для імпорту: вставте JSON, експортований з WashData."
|
||
}
|
||
},
|
||
"record_cycle": {
|
||
"title": "Запис циклу",
|
||
"description": "Запишіть цикл вручну, щоб створити чистий профіль без перешкод.\n\nСтатус: **{status}**\nТривалість: {duration} с\nЗразки: {samples}",
|
||
"menu_options": {
|
||
"record_refresh": "Оновити статус",
|
||
"record_stop": "Зупинити запис (зберегти та обробити)",
|
||
"record_start": "Почати новий запис",
|
||
"record_process": "Обробити останній запис (обрізати та зберегти)",
|
||
"record_discard": "Відкинути останній запис",
|
||
"menu_back": "← Назад"
|
||
}
|
||
},
|
||
"record_process": {
|
||
"title": "Обробка запису",
|
||
"description": "\n\n**На графіку показано необроблений запис.** Синій = зберегти, червоний = запропоноване обрізання.\n*Графік є статичним і не оновлюється зі змінами форми.*\n\nЗапис зупинено. Обрізки вирівнюються відповідно до виявленої частоти дискретизації (~{sampling_rate} с).\n\nНеоброблена тривалість: {duration} с\nЗразки: {samples}",
|
||
"data": {
|
||
"head_trim": "Початок обрізки (секунди)",
|
||
"tail_trim": "Кінець обрізання (секунди)",
|
||
"save_mode": "Зберегти пункт призначення",
|
||
"profile_name": "Ім'я профілю"
|
||
}
|
||
},
|
||
"learning_feedbacks": {
|
||
"title": "Відгуки про навчання",
|
||
"description": "Відгуки в очікуванні: {count}\n\n{pending_table}\n\nВиберіть запит на перегляд циклу для обробки.",
|
||
"menu_options": {
|
||
"learning_feedbacks_pick": "Переглянути відгук в очікуванні",
|
||
"learning_feedbacks_dismiss_all": "Відхилити всі відгуки в очікуванні",
|
||
"menu_back": "← Назад"
|
||
}
|
||
},
|
||
"learning_feedbacks_pick": {
|
||
"title": "Виберіть відгук для перегляду",
|
||
"description": "Виберіть запит на перегляд циклу, який потрібно відкрити.",
|
||
"data": {
|
||
"selected_feedback": "Виберіть цикл для перегляду"
|
||
}
|
||
},
|
||
"learning_feedbacks_empty": {
|
||
"title": "Відгуки про навчання",
|
||
"description": "Не знайдено запитів на відгуки, що очікують на розгляд.",
|
||
"menu_options": {
|
||
"menu_back": "← Назад"
|
||
}
|
||
},
|
||
"learning_feedbacks_dismiss_all": {
|
||
"title": "Відхилити всі відгуки, що очікують",
|
||
"description": "Ви збираєтеся відхилити **{count}** запитів на відгук, що очікують. Відхилені цикли залишаться у вашій історії, але не додадуть нового сигналу навчання. Цю дію не можна скасувати.\n\n✅ Поставте прапорець нижче та натисніть **Надіслати**, щоб відхилити все.\n❌ Не встановлюйте прапорець і натисніть **Надіслати**, щоб скасувати та повернутися назад.",
|
||
"data": {
|
||
"confirm_dismiss_all": "Підтвердити: відхилити всі запити на відгук в очікуванні"
|
||
}
|
||
},
|
||
"resolve_feedback": {
|
||
"title": "Вирішити відгук",
|
||
"description": "{comparison_img}{candidates_table}\n**Виявлений профіль**: {detected_profile} ({confidence_pct}%)\n**Орієнтовна тривалість**: {est_duration_min} хв\n**Фактична тривалість**: {act_duration_min} хв\n\n__Оберіть дію нижче:__",
|
||
"data": {
|
||
"action": "Що ви хочете зробити?",
|
||
"corrected_profile": "Змінити програму (якщо виправляється)",
|
||
"corrected_duration": "Змінити тривалість у секундах (якщо виправляється)"
|
||
}
|
||
},
|
||
"trim_cycle_select": {
|
||
"title": "Цикл обрізання - виберіть цикл",
|
||
"description": "Виберіть цикл для обрізання. ✓ = завершено, ⚠ = відновлено, ✗ = перервано",
|
||
"data": {
|
||
"cycle_id": "Цикл"
|
||
}
|
||
},
|
||
"trim_cycle": {
|
||
"title": "Цикл обрізки",
|
||
"description": "Поточне вікно: {trim_summary}\n\n{trim_svg}",
|
||
"data": {
|
||
"action": "Дія"
|
||
}
|
||
},
|
||
"trim_cycle_start": {
|
||
"title": "Установіть початок обрізки",
|
||
"description": "Вікно циклу: {cycle_start_wallclock} → {cycle_end_wallclock}\n\nПоточний початок: **{current_wallclock}** (+{current_offset_min} хв від початку циклу)\n\nВиберіть новий час початку за допомогою засобу вибору годинника нижче.",
|
||
"data": {
|
||
"trim_start_time": "Новий час початку",
|
||
"trim_start_min": "Новий початок (хвилини від початку циклу)"
|
||
}
|
||
},
|
||
"trim_cycle_end": {
|
||
"title": "Встановити завершення обрізки",
|
||
"description": "Вікно циклу: {cycle_start_wallclock} → {cycle_end_wallclock}\n\nПоточний кінець: **{current_wallclock}** (+{current_offset_min} хв від початку циклу)\n\nВиберіть новий час завершення за допомогою засобу вибору годинника нижче.",
|
||
"data": {
|
||
"trim_end_time": "Новий час закінчення",
|
||
"trim_end_min": "Новий кінець (хвилини від початку циклу)"
|
||
}
|
||
}
|
||
},
|
||
"error": {
|
||
"import_failed": "Помилка імпорту. Вставте дійсний JSON для експорту WashData.",
|
||
"select_exactly_one": "Виберіть рівно один цикл для цієї дії.",
|
||
"select_at_least_one": "Виберіть принаймні один цикл для цієї дії.",
|
||
"select_at_least_two": "Виберіть принаймні два цикли для цієї дії.",
|
||
"profile_exists": "Профіль із такою назвою вже існує",
|
||
"rename_failed": "Не вдалося перейменувати профіль. Профіль може не існувати або нове ім'я вже зайнято.",
|
||
"assignment_failed": "Не вдалося призначити профіль циклу",
|
||
"duplicate_phase": "Фаза з такою назвою вже існує.",
|
||
"phase_not_found": "Вибрану фазу не знайдено.",
|
||
"invalid_phase_name": "Назва фази не може бути пустою.",
|
||
"phase_name_too_long": "Назва фази задовга.",
|
||
"invalid_phase_range": "Діапазон фаз недійсний. Кінець має бути більшим за початок.",
|
||
"invalid_phase_timestamp": "Мітка часу недійсна. Використовуйте формат РРРР-ММ-ДД ГГ:ХХ або ГГ:ХХ.",
|
||
"overlapping_phase_ranges": "Діапазони фаз перекриваються. Налаштуйте діапазони та повторіть спробу.",
|
||
"incomplete_phase_row": "Кожен рядок фази має включати фазу плюс повні початкові/кінцеві значення для вибраного режиму.",
|
||
"timestamp_mode_cycle_required": "Будь ласка, виберіть вихідний цикл під час використання режиму мітки часу.",
|
||
"no_phase_ranges": "Для цієї дії ще немає доступних діапазонів фаз.",
|
||
"feedback_notification_title": "WashData: перевірити цикл ({device})",
|
||
"feedback_notification_message": "**Пристрій**: {device}\n**Програма**: {program} ({confidence}% впевненості)\n**Час**: {time}\n\nWashData потрібна ваша допомога, щоб перевірити цей виявлений цикл.\n\nБудь ласка, перейдіть до **Налаштування > Пристрої та служби > WashData > Налаштувати > Відгуки про навчання**, щоб підтвердити або виправити цей результат.",
|
||
"suggestions_ready_notification_title": "WashData: пропоновані налаштування готові ({device})",
|
||
"suggestions_ready_notification_message": "Датчик **Пропонованих налаштувань** тепер повідомляє **{count}** дієві рекомендації.\n\nЩоб переглянути та застосувати їх: **Налаштування > Пристрої та служби > WashData > Налаштувати > Розширені параметри > Застосувати запропоновані значення**.\n\nПропозиції є необов’язковими та відображаються для перегляду перед збереженням.",
|
||
"trim_range_invalid": "Початок має бути перед закінченням. Будь ласка, відкоригуйте точки обрізки.",
|
||
"trim_failed": "Не вдалося обрізати. Можливо, цикл більше не існує або вікно порожнє.",
|
||
"invalid_split_timestamp": "Часова позначка недійсна або виходить за межі вікна циклу. Використовуйте HH:MM або HH:MM:SS у межах вікна циклу.",
|
||
"no_split_segments_found": "За цими часовими позначками не вдалося створити жодних дійсних сегментів. Переконайтеся, що кожна часова позначка знаходиться в межах вікна циклу, а сегменти тривають щонайменше 1 хвилину.",
|
||
"auto_tune_suggestion": "{device_type} {device_title} виявлено цикли привидів. Пропонована зміна min_power: {current_min}W -> {new_min}W (не застосовується автоматично).",
|
||
"auto_tune_title": "Автоналаштування WashData",
|
||
"auto_tune_fallback": "{device_type} {device_title} виявлено цикли привидів. Пропонована зміна min_power: {current_min}W -> {new_min}W (не застосовується автоматично)."
|
||
},
|
||
"abort": {
|
||
"no_cycles_found": "Цикли не знайдено",
|
||
"no_split_segments_found": "У вибраному циклі не знайдено сегментів, які можна розділити.",
|
||
"cycle_not_found": "Не вдалося завантажити вибраний цикл.",
|
||
"no_power_data": "Немає доступних даних трасування потужності для вибраного циклу.",
|
||
"no_profiles_found": "Профілі не знайдено. Спочатку створіть профіль.",
|
||
"no_profiles_for_matching": "Немає доступних профілів для відповідності. Спочатку створіть профілі.",
|
||
"no_unlabeled_cycles": "Усі цикли вже позначені",
|
||
"no_suggestions": "Пропонованих значень ще немає. Виконайте кілька циклів і повторіть спробу.",
|
||
"no_predictions": "Жодних прогнозів",
|
||
"no_custom_phases": "Спеціальні фази не знайдено.",
|
||
"reprocess_success": "Успішно повторно оброблено {count} циклів.",
|
||
"debug_data_cleared": "Успішно видалено дані налагодження з {count} циклів."
|
||
}
|
||
},
|
||
"selector": {
|
||
"notify_events_option": {
|
||
"options": {
|
||
"cycle_start": "Початок циклу",
|
||
"cycle_finish": "Завершення циклу",
|
||
"cycle_live": "Живий прогрес"
|
||
}
|
||
},
|
||
"common_text": {
|
||
"options": {
|
||
"unlabeled": "(Без мітки)",
|
||
"create_new_profile": "Створити новий профіль",
|
||
"remove_label": "Видалити мітку",
|
||
"no_reference_cycle": "(Без опорного циклу)",
|
||
"all_device_types": "Усі типи пристроїв",
|
||
"current_suffix": "(поточний)",
|
||
"editor_select_info": "Виберіть 1 цикл, щоб розділити, або 2+ цикли, щоб об’єднати.",
|
||
"editor_select_info_split": "Виберіть 1 цикл для поділу.",
|
||
"editor_select_info_merge": "Виберіть 2+ цикли для об’єднання.",
|
||
"editor_select_info_delete": "Виберіть 1+ циклів для видалення.",
|
||
"no_cycles_recorded": "Циклів ще не зареєстровано.",
|
||
"profile_summary_line": "- **{name}**: {count} циклів, {avg} хв. сер.",
|
||
"no_profiles_created": "Профілі ще не створені.",
|
||
"phase_preview": "Попередній перегляд фази",
|
||
"phase_preview_no_curve": "Середня профільна крива поки що недоступна. Запустити/позначити більше циклів для цього профілю.",
|
||
"average_power_curve": "Крива середньої потужності",
|
||
"unit_min": "хв",
|
||
"profile_option_fmt": "{name} ({count} циклів, ~{duration} м. в середньому)",
|
||
"profile_option_short_fmt": "{name} ({count} циклів, ~{duration} хв)",
|
||
"deleted_cycles_from_profile": "Видалено {count} циклів із {profile}.",
|
||
"not_enough_data_graph": "Недостатньо даних для створення графіка.",
|
||
"no_profiles_found": "Профілі не знайдено.",
|
||
"cycle_info_fmt": "Цикл: {start}, {duration} хв, поточна: {label}",
|
||
"top_candidates_header": "### Кращі кандидати",
|
||
"tbl_profile": "Профіль",
|
||
"tbl_confidence": "Впевненість",
|
||
"tbl_correlation": "Кореляція",
|
||
"tbl_duration_match": "Збіг тривалості",
|
||
"detected_profile": "Виявлений профіль",
|
||
"estimated_duration": "Розрахункова тривалість",
|
||
"actual_duration": "Фактична тривалість",
|
||
"choose_action": "__Оберіть дію нижче:__",
|
||
"tbl_count": "Кількість",
|
||
"tbl_avg": "Середнє",
|
||
"tbl_min": "Хв",
|
||
"tbl_max": "Макс",
|
||
"tbl_energy_avg": "Енергія (середнє)",
|
||
"tbl_energy_total": "Енергія (загальна)",
|
||
"tbl_consistency": "Стабільність",
|
||
"tbl_last_run": "Останній запуск",
|
||
"graph_legend_title": "Легенда графіка",
|
||
"graph_legend_body": "Синя смуга позначає мінімальний і максимальний діапазон споживаної потужності. Лінія показує середню криву потужності.",
|
||
"recording_preview": "Попередній перегляд запису",
|
||
"trim_start": "Початок обрізки",
|
||
"trim_end": "Обрізати кінець",
|
||
"split_preview_title": "Розділений попередній перегляд",
|
||
"split_preview_found_fmt": "Знайдено {count} сегментів.",
|
||
"split_preview_confirm_fmt": "Натисніть Підтвердити, щоб розділити цей цикл на {count} окремих циклів.",
|
||
"merge_preview_title": "Попередній перегляд злиття",
|
||
"merge_preview_joining_fmt": "Приєднання до {count} циклів. Прогалини будуть заповнені показаннями 0 Вт.",
|
||
"editor_delete_preview_title": "Попередній перегляд видалення",
|
||
"editor_delete_preview_intro": "Вибрані цикли буде остаточно видалено:",
|
||
"editor_delete_preview_confirm": "Натисніть Підтвердити, щоб остаточно видалити ці записи циклів.",
|
||
"no_power_preview": "*Немає даних про потужність для попереднього перегляду.*",
|
||
"profile_comparison": "Порівняння профілю",
|
||
"actual_cycle_label": "Цей цикл (фактично)",
|
||
"storage_usage_header": "Використання сховища",
|
||
"storage_file_size": "Розмір файлу",
|
||
"storage_cycles": "Цикли",
|
||
"storage_profiles": "Профілі",
|
||
"storage_debug_traces": "Сліди налагодження",
|
||
"overview_suffix": "Огляд",
|
||
"phase_preview_for_profile": "Попередній перегляд фази для профілю",
|
||
"current_ranges_header": "Діапазон струму",
|
||
"assign_phases_help": "Використовуйте наведені нижче дії, щоб додавати, редагувати, видаляти або зберігати діапазони.",
|
||
"profile_summary_header": "Резюме профілю",
|
||
"recent_cycles_header": "Останні цикли",
|
||
"trim_cycle_preview_title": "Попередній перегляд циклічного обрізання",
|
||
"trim_cycle_preview_no_data": "Немає даних про потужність для цього циклу.",
|
||
"trim_cycle_preview_kept_suffix": "збережено",
|
||
"table_program": "Програма",
|
||
"table_when": "Коли",
|
||
"table_length": "Тривалість",
|
||
"table_match": "Збіг",
|
||
"table_profile": "Профіль",
|
||
"table_cycles": "Цикли",
|
||
"table_avg_length": "Сер. тривалість",
|
||
"table_last_run": "Останній запуск",
|
||
"table_avg_energy": "Сер. енергія",
|
||
"table_detected_program": "Виявлена програма",
|
||
"table_confidence": "Впевненість",
|
||
"table_reported": "Повідомлено",
|
||
"phase_builtin_suffix": "(вбудований)",
|
||
"phase_none_available": "Немає доступних фаз.",
|
||
"settings_deprecation_warning": "⚠️ **Застарілий тип пристрою:** {device_type} планується видалити в майбутньому випуску. Конвеєр відповідності WashData не дає надійних результатів для цього класу приладів. Ваша інтеграція продовжує працювати протягом періоду припинення підтримки; щоб вимкнути це попередження, перемкніть **Тип пристрою** нижче на один із підтримуваних типів (пральна машина, сушильна машина, комбінована пральна машина з сушаркою, посудомийна машина, фритюрниця, хлібопічка або насос) або на **Інше (розширений)**, якщо ваш прилад не відповідає жодному з підтримуваних типів. **Інші (розширені)** навмисно надає загальні параметри за замовчуванням, які не налаштовані для жодного конкретного пристрою, тому вам потрібно буде самостійно налаштувати порогові значення, тайм-аути та відповідні параметри; усі наявні налаштування зберігаються під час перемикання.",
|
||
"phase_other_device_types": "Інші типи пристроїв:"
|
||
}
|
||
},
|
||
"interactive_editor_action": {
|
||
"options": {
|
||
"split": "Розділити цикл (знайти прогалини)",
|
||
"merge": "Цикли злиття (об’єднання фрагментів)",
|
||
"delete": "Видалити цикл(и)"
|
||
}
|
||
},
|
||
"split_mode": {
|
||
"options": {
|
||
"auto": "Автоматично виявляти паузи простою",
|
||
"manual": "Ручні часові позначки"
|
||
}
|
||
},
|
||
"diagnostics_action": {
|
||
"options": {
|
||
"reprocess_history": "Обслуговування: повторна обробка та оптимізація даних",
|
||
"clear_debug_data": "Очистити дані налагодження (звільнити місце)",
|
||
"wipe_history": "Очистити ВСІ дані цього пристрою (безповоротно)",
|
||
"export_import": "Експорт/імпорт JSON з налаштуваннями (копіювати/вставити)"
|
||
}
|
||
},
|
||
"export_import_mode": {
|
||
"options": {
|
||
"export": "Експортувати всі дані",
|
||
"import": "Імпорт/об’єднання даних"
|
||
}
|
||
},
|
||
"manage_cycles_action": {
|
||
"options": {
|
||
"auto_label_cycles": "Автоматичне позначення старих циклів",
|
||
"select_cycle_to_label": "Позначити конкретний цикл",
|
||
"select_cycle_to_delete": "Видалити цикл",
|
||
"interactive_editor": "Інтерактивний редактор злиття/розділу",
|
||
"trim_cycle": "Обрізати дані циклу"
|
||
}
|
||
},
|
||
"manage_profiles_action": {
|
||
"options": {
|
||
"create_profile": "Створити новий профіль",
|
||
"edit_profile": "Редагувати/перейменувати профіль",
|
||
"delete_profile": "Видалити профіль",
|
||
"profile_stats": "Статистика профілю",
|
||
"cleanup_profile": "Очистити історію - побудувати графік і видалити",
|
||
"assign_phases": "Призначити діапазони фаз"
|
||
}
|
||
},
|
||
"manage_phase_catalog_action": {
|
||
"options": {
|
||
"create_custom_phase": "Створити нову фазу",
|
||
"edit_custom_phase": "Редагувати фазу",
|
||
"delete_custom_phase": "Видалити фазу"
|
||
}
|
||
},
|
||
"assign_profile_phases_action": {
|
||
"options": {
|
||
"add_range": "Додати діапазон фаз",
|
||
"edit_range": "Редагувати діапазон фаз",
|
||
"delete_range": "Видалити діапазон фаз",
|
||
"clear_ranges": "Очистити всі діапазони",
|
||
"auto_detect_ranges": "Автоматичне визначення фаз",
|
||
"save_ranges": "Зберегти та повернути"
|
||
}
|
||
},
|
||
"record_cycle_action": {
|
||
"options": {
|
||
"refresh_status": "Оновити статус",
|
||
"stop_recording": "Зупинити запис (зберегти та обробити)",
|
||
"start_recording": "Почати новий запис",
|
||
"process_recording": "Обробити останній запис (обрізати та зберегти)",
|
||
"discard_recording": "Відкинути останній запис"
|
||
}
|
||
},
|
||
"record_process_save_mode": {
|
||
"options": {
|
||
"new_profile": "Створити новий профіль",
|
||
"existing_profile": "Додати до наявного профілю",
|
||
"discard": "Скасувати запис"
|
||
}
|
||
},
|
||
"resolve_feedback_action": {
|
||
"options": {
|
||
"confirm": "Підтвердити - правильне виявлення",
|
||
"correct": "Правильно - Виберіть програму/тривалість",
|
||
"ignore": "Ігнорувати - хибний позитивний/шумовий цикл",
|
||
"delete": "Видалити - видалити з історії"
|
||
}
|
||
},
|
||
"assign_profile_phases_auto_detect_action": {
|
||
"options": {
|
||
"name_phases": "Назвіть і застосуйте фази",
|
||
"cancel": "Повернутися без змін"
|
||
}
|
||
},
|
||
"trim_cycle_action": {
|
||
"options": {
|
||
"set_start": "Встановити початкову точку",
|
||
"set_end": "Встановити кінцеву точку",
|
||
"reset": "Скинути до повної тривалості",
|
||
"apply": "Застосувати Trim",
|
||
"cancel": "Скасувати"
|
||
}
|
||
},
|
||
"device_type": {
|
||
"options": {
|
||
"washing_machine": "пральна машина",
|
||
"dryer": "Сушарка",
|
||
"washer_dryer": "Пральна машина Combo",
|
||
"dishwasher": "Посудомийна машина",
|
||
"coffee_machine": "Кавоварка (застаріла)",
|
||
"ev": "Електромобіль (застаріло)",
|
||
"air_fryer": "Аерофритюрниця",
|
||
"heat_pump": "Тепловий насос (застаріло)",
|
||
"bread_maker": "Хлібопічка",
|
||
"pump": "Насос / Відстійний насос",
|
||
"oven": "Піч (застаріла)",
|
||
"other": "Інше (розширений)"
|
||
}
|
||
}
|
||
},
|
||
"services": {
|
||
"label_cycle": {
|
||
"name": "Позначити цикл",
|
||
"description": "Призначте існуючий профіль минулому циклу або видаліть мітку.",
|
||
"fields": {
|
||
"device_id": {
|
||
"name": "Пристрій",
|
||
"description": "Пристрій WashData для маркування."
|
||
},
|
||
"cycle_id": {
|
||
"name": "Ідентифікатор циклу",
|
||
"description": "Ідентифікатор циклу для позначення."
|
||
},
|
||
"profile_name": {
|
||
"name": "Ім'я профілю",
|
||
"description": "Ім’я наявного профілю (створити профілі в меню Керування профілями). Залиште поле порожнім, щоб видалити мітку."
|
||
}
|
||
}
|
||
},
|
||
"create_profile": {
|
||
"name": "Створити профіль",
|
||
"description": "Створіть новий профіль (окремий або на основі контрольного циклу).",
|
||
"fields": {
|
||
"device_id": {
|
||
"name": "Пристрій",
|
||
"description": "Пристрій WashData."
|
||
},
|
||
"profile_name": {
|
||
"name": "Ім'я профілю",
|
||
"description": "Назва для нового профілю (наприклад, «Heavy Duty», «Delicates»)."
|
||
},
|
||
"reference_cycle_id": {
|
||
"name": "Ідентифікатор еталонного циклу",
|
||
"description": "Додатковий ідентифікатор циклу, на якому базується цей профіль."
|
||
}
|
||
}
|
||
},
|
||
"delete_profile": {
|
||
"name": "Видалити профіль",
|
||
"description": "Видалити профіль і за бажанням скасувати мітки циклів, використовуючи його.",
|
||
"fields": {
|
||
"device_id": {
|
||
"name": "Пристрій",
|
||
"description": "Пристрій WashData."
|
||
},
|
||
"profile_name": {
|
||
"name": "Ім'я профілю",
|
||
"description": "Профіль для видалення."
|
||
},
|
||
"unlabel_cycles": {
|
||
"name": "Зняти позначки циклів",
|
||
"description": "Видаліть мітку профілю з циклів, які використовують цей профіль."
|
||
}
|
||
}
|
||
},
|
||
"auto_label_cycles": {
|
||
"name": "Автоматичне позначення старих циклів",
|
||
"description": "Заднім числом позначайте немарковані цикли за допомогою відповідності профілів.",
|
||
"fields": {
|
||
"device_id": {
|
||
"name": "Пристрій",
|
||
"description": "Пристрій WashData."
|
||
},
|
||
"confidence_threshold": {
|
||
"name": "Поріг впевненості",
|
||
"description": "Мінімальна впевненість збігу (0,50-0,95) для застосування міток."
|
||
}
|
||
}
|
||
},
|
||
"export_config": {
|
||
"name": "Експорт конфігурації",
|
||
"description": "Експортуйте профілі, цикли та налаштування цього пристрою у файл JSON (для кожного пристрою).",
|
||
"fields": {
|
||
"device_id": {
|
||
"name": "Пристрій",
|
||
"description": "Пристрій WashData для експорту."
|
||
},
|
||
"path": {
|
||
"name": "Шлях",
|
||
"description": "Додатковий абсолютний шлях до файлу для запису (за замовчуванням /config/ha_washdata_export_{entry}.json)."
|
||
}
|
||
}
|
||
},
|
||
"import_config": {
|
||
"name": "Імпорт конфігурації",
|
||
"description": "Імпортуйте профілі, цикли та налаштування для цього пристрою з файлу експорту JSON (параметри можуть бути перезаписані).",
|
||
"fields": {
|
||
"device_id": {
|
||
"name": "Пристрій",
|
||
"description": "Пристрій WashData для імпорту."
|
||
},
|
||
"path": {
|
||
"name": "Шлях",
|
||
"description": "Абсолютний шлях до експортованого файлу JSON для імпорту."
|
||
}
|
||
}
|
||
},
|
||
"submit_cycle_feedback": {
|
||
"name": "Надіслати відгук про цикл",
|
||
"description": "Підтвердьте або виправте автоматично визначену програму після завершення циклу. Укажіть `entry_id` (розширений) або `device_id` (рекомендовано).",
|
||
"fields": {
|
||
"device_id": {
|
||
"name": "Пристрій",
|
||
"description": "Пристрій WashData (рекомендовано замість entry_id)."
|
||
},
|
||
"entry_id": {
|
||
"name": "ID запису",
|
||
"description": "Ідентифікатор запису конфігурації для пристрою (альтернатива device_id)."
|
||
},
|
||
"cycle_id": {
|
||
"name": "Ідентифікатор циклу",
|
||
"description": "Ідентифікатор циклу, показаний у сповіщенні/журналах відгуку."
|
||
},
|
||
"user_confirmed": {
|
||
"name": "Підтвердити виявлену програму",
|
||
"description": "Установіть true, якщо виявлена програма правильна."
|
||
},
|
||
"corrected_profile": {
|
||
"name": "Виправлений профіль",
|
||
"description": "Якщо не підтверджено, укажіть правильну назву профілю/програми."
|
||
},
|
||
"corrected_duration": {
|
||
"name": "Виправлена тривалість (секунди)",
|
||
"description": "Додаткова виправлена тривалість у секундах."
|
||
},
|
||
"notes": {
|
||
"name": "Примітки",
|
||
"description": "Додаткові примітки щодо цього циклу."
|
||
}
|
||
}
|
||
},
|
||
"record_start": {
|
||
"name": "Початок циклу запису",
|
||
"description": "Почніть запис чистого циклу вручну (обійде всю відповідну логіку).",
|
||
"fields": {
|
||
"device_id": {
|
||
"name": "Пристрій",
|
||
"description": "Пристрій WashData для запису."
|
||
}
|
||
}
|
||
},
|
||
"record_stop": {
|
||
"name": "Зупинка циклу запису",
|
||
"description": "Зупиніть ручний запис.",
|
||
"fields": {
|
||
"device_id": {
|
||
"name": "Пристрій",
|
||
"description": "Пристрій WashData для зупинки запису."
|
||
}
|
||
}
|
||
},
|
||
"trim_cycle": {
|
||
"name": "Цикл обрізки",
|
||
"description": "Обріжте дані про потужність минулого циклу до певного часового вікна.",
|
||
"fields": {
|
||
"device_id": {
|
||
"name": "Пристрій",
|
||
"description": "Пристрій WashData."
|
||
},
|
||
"cycle_id": {
|
||
"name": "Ідентифікатор циклу",
|
||
"description": "Ідентифікатор циклу, який потрібно обрізати."
|
||
},
|
||
"trim_start_s": {
|
||
"name": "Початок обрізки (секунди)",
|
||
"description": "Зберігайте дані з цього зміщення за лічені секунди. За замовчуванням 0."
|
||
},
|
||
"trim_end_s": {
|
||
"name": "Кінець обрізання (секунди)",
|
||
"description": "Зберігайте дані до цього зміщення за лічені секунди. За замовчуванням = повна тривалість."
|
||
}
|
||
}
|
||
},
|
||
"pause_cycle": {
|
||
"name": "Пауза циклу",
|
||
"description": "Призупинити активний цикл для пристрою WashData.",
|
||
"fields": {
|
||
"device_id": {
|
||
"name": "пристрій",
|
||
"description": "Пристрій WashData для призупинення."
|
||
}
|
||
}
|
||
},
|
||
"resume_cycle": {
|
||
"name": "Цикл відновлення",
|
||
"description": "Відновити призупинений цикл для пристрою WashData.",
|
||
"fields": {
|
||
"device_id": {
|
||
"name": "пристрій",
|
||
"description": "Пристрій WashData для відновлення."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"entity": {
|
||
"binary_sensor": {
|
||
"running": {
|
||
"name": "Працює"
|
||
},
|
||
"match_ambiguity": {
|
||
"name": "Неоднозначність відповідності"
|
||
}
|
||
},
|
||
"sensor": {
|
||
"washer_state": {
|
||
"name": "Стан",
|
||
"state": {
|
||
"off": "Вимкнено",
|
||
"idle": "Бездіяльність",
|
||
"starting": "Запуск",
|
||
"running": "Працює",
|
||
"paused": "Призупинено",
|
||
"user_paused": "Призупинено користувачем",
|
||
"ending": "Закінчення",
|
||
"finished": "Готово",
|
||
"anti_wrinkle": "Проти зморшок",
|
||
"delay_wait": "Очікування початку",
|
||
"interrupted": "Перерваний",
|
||
"force_stopped": "Примусово зупинено",
|
||
"rinse": "Полоскання",
|
||
"unknown": "Невідомо",
|
||
"clean": "чистий"
|
||
}
|
||
},
|
||
"washer_program": {
|
||
"name": "Програма"
|
||
},
|
||
"time_remaining": {
|
||
"name": "Час, що залишився"
|
||
},
|
||
"total_duration": {
|
||
"name": "Загальна тривалість"
|
||
},
|
||
"cycle_progress": {
|
||
"name": "Прогрес"
|
||
},
|
||
"current_power": {
|
||
"name": "Поточна потужність"
|
||
},
|
||
"elapsed_time": {
|
||
"name": "Час, що минув"
|
||
},
|
||
"debug_info": {
|
||
"name": "Інформація про налагодження"
|
||
},
|
||
"match_confidence": {
|
||
"name": "Впевненість збігу"
|
||
},
|
||
"top_candidates": {
|
||
"name": "Кращі кандидати",
|
||
"state": {
|
||
"none": "Жодного"
|
||
}
|
||
},
|
||
"current_phase": {
|
||
"name": "Поточна фаза"
|
||
},
|
||
"wash_phase": {
|
||
"name": "Фаза"
|
||
},
|
||
"profile_cycle_count": {
|
||
"name": "Кількість профілю {profile_name}",
|
||
"unit_of_measurement": "циклів"
|
||
},
|
||
"suggestions": {
|
||
"name": "Доступні пропоновані налаштування"
|
||
},
|
||
"pump_runs_today": {
|
||
"name": "Насос працює (останні 24 години)"
|
||
},
|
||
"cycle_count": {
|
||
"name": "Підрахунок циклу"
|
||
}
|
||
},
|
||
"select": {
|
||
"program_select": {
|
||
"name": "Програма циклу",
|
||
"state": {
|
||
"auto_detect": "Автоматичне визначення"
|
||
}
|
||
}
|
||
},
|
||
"button": {
|
||
"force_end_cycle": {
|
||
"name": "Примусово завершити цикл"
|
||
},
|
||
"pause_cycle": {
|
||
"name": "Пауза циклу"
|
||
},
|
||
"resume_cycle": {
|
||
"name": "Цикл відновлення"
|
||
}
|
||
}
|
||
},
|
||
"exceptions": {
|
||
"device_id_required": {
|
||
"message": "Потрібен дійсний device_id."
|
||
},
|
||
"cycle_id_required": {
|
||
"message": "Потрібен дійсний cycle_id."
|
||
},
|
||
"profile_name_required": {
|
||
"message": "Потрібне дійсне profile_name."
|
||
},
|
||
"device_not_found": {
|
||
"message": "Пристрій не знайдено."
|
||
},
|
||
"no_config_entry": {
|
||
"message": "Для пристрою не знайдено жодного запису конфігурації."
|
||
},
|
||
"integration_not_loaded": {
|
||
"message": "Інтеграція не завантажена для цього пристрою."
|
||
},
|
||
"cycle_not_found_or_no_power": {
|
||
"message": "Цикл не знайдено або немає даних про потужність."
|
||
},
|
||
"trim_failed_empty_window": {
|
||
"message": "Помилка обрізання - цикл не знайдено, немає даних про живлення або кінцеве вікно порожнє."
|
||
},
|
||
"trim_invalid_range": {
|
||
"message": "trim_end_s має бути більше, ніж trim_start_s."
|
||
}
|
||
}
|
||
}
|