112 files

This commit is contained in:
Home Assistant Version Control committed 2026-09-18 15:36:46 +00:00
1 parent 94867222bd
commit b1fd0abc94
112 files changed
+11348 -2701

No files matched your search

@@ -48,6 +48,8 @@
}
},
"badge": {
"quiet_tail_tip": "Ближе к концу эта программа затихает примерно на {mins} мин, затем потребляет около {watts} Вт в течение {secs} с и завершается. Замечено в {seen}/{measured} измеренных циклов: прибор делает так не при каждом запуске.",
"quiet_tail": "~{mins} мин тишины в конце",
"artifact_tip": "Обнаружено {n} аномалий (например, дверь открылась в середине цикла) – откройте, чтобы увидеть их на графике",
"auto": "(авто-определение)",
"built_in_tag": "встроенный",
@@ -77,11 +79,14 @@
"approved": "Одобрено",
"awaiting": "Ожидает одобрения",
"imported_tip": "Импортировано из магазина сообщества. Используется только для сопоставления, не учитывается в статистике.",
"unmatchable": "не сопоставляется",
"not_importable": "недоступно",
"exists": "существует",
"backfilled_tip": "Обнаружено в импортированной истории мощности. Влияет только на сопоставление программ, не учитывается в статистике."
"backfilled_tip": "Обнаружено в импортированной истории мощности. Влияет только на сопоставление программ, не учитывается в статистике.",
"armed": "(применится к следующему циклу)"
},
"btn": {
"reset_zoom": "Сбросить масштаб",
"set_brand_model": "Указать бренд и модель",
"refresh_catalog": "Обновить каталог",
"add_device": "+ Добавить устройство",
@@ -217,6 +222,8 @@
"trim": "Обрезать",
"trim_split": "Обрезать / Разбить",
"undo": "Отменить",
"unlabel_selected": "Снять метку с выбранных ({n})",
"unlabel_selected_tip": "Снять метку профиля с выбранных циклов. Они останутся в вашей истории, и их можно пометить снова позже - просто перестанут формировать этот профиль.",
"use": "Использовать",
"wipe_all": "Удалить все данные",
"delete_selected": "Удалить выбранные ({n})",
@@ -224,7 +231,6 @@
"pg_apply_best": "Применить лучшее",
"pg_apply_to_settings": "Сохранить в настройки",
"pg_apply_to_settings_tip": "Скопировать значения, изменённые здесь, в активные настройки этого устройства",
"search": "Поиск",
"import": "Импортировать",
"disconnect": "Отключить",
"connect_github": "Подключить GitHub",
@@ -249,7 +255,8 @@
"hist_read_recorder": "Считать из Home Assistant",
"hist_scan": "Найти циклы",
"hist_import_n": "Импортировать циклы ({n})",
"hist_goto_cycles": "Показать циклы"
"hist_goto_cycles": "Показать циклы",
"save_total_cycles": "Сохранить общее количество"
},
"conflict": {
"anti_wrinkle_exit": {
@@ -262,6 +269,12 @@
},
"attn_sub": "Исправьте конфликты перед сохранением",
"attn_title": "Конфликты настроек: {n}",
"price_entity": {
"power_sensor": "Это Датчик Мощности устройства, а не цена. Объект цены имеет приоритет над фиксированной ценой ниже, поэтому циклы считались бы по ваттам за кВт·ч - очистите это поле.",
"energy_sensor": "Это Счётчик Энергии устройства, а не цена. Объект цены имеет приоритет над фиксированной ценой ниже, поэтому циклы считались бы по показанию счётчика за кВт·ч - очистите это поле.",
"device_class": "Класс этого сенсора - {dc}, а не цена за кВт·ч. Объект цены имеет приоритет над фиксированной ценой ниже - очистите это поле или укажите сенсор тарифа.",
"unit": "Этот сенсор выдаёт значения в {unit}, а это не цена за кВт·ч. Объект цены имеет приоритет над фиксированной ценой ниже - очистите это поле или укажите сенсор тарифа."
},
"settings_banner": "Конфликты настроек: {n}. Проверьте выделенные разделы и исправьте их перед сохранением.",
"settings_banner_btn": "К первому",
"confidence": {
@@ -349,7 +362,7 @@
"pg_settings_source": "Источник настроек",
"phase_catalog": "Каталог фаз",
"playground": "Песочница",
"process_history": "История процессов",
"process_history": "Обработка истории",
"settings_history": "История настроек",
"status": "Статус",
"status_graph": "График статуса",
@@ -360,12 +373,12 @@
"wipe_history": "Очистить историю",
"recommendations": "Рекомендации ({n})",
"pg_detection_params": "Настройки обнаружения",
"pg_timeline": "Хронология событий",
"pg_outcome": "Результат симуляции",
"pg_across_cycles": "По всем вашим циклам",
"community_store": "Магазин сообщества",
"online_account": "Магазин сообщества и онлайн-функции",
"import_power_history": "Импорт истории мощности"
"import_power_history": "Импорт истории мощности",
"service_status": "Состояние обслуживания"
},
"health": {
"fair": "Приемлемое качество профиля",
@@ -373,6 +386,10 @@
"poor": "⚠ Низкое качество профиля"
},
"lbl": {
"envelope_position_tip": "Положение на собственной записанной кривой сопоставленной программы, {pct}%. Измеряется совмещением этого цикла с профилем, а не подсчётом времени, поэтому остаётся верным, когда запуск длиннее или короче обычного. Обновляется, пока прибор молчит, поэтому во время активной фазы может отставать.",
"envelope_position": "кривая {pct}%",
"aria_playground_chart3": "Интерактивный график мощности цикла: наведите, чтобы увидеть время/мощность, прокрутите или используйте два пальца для масштабирования, перетащите для панорамирования",
"device_unresolved": "Недоступное устройство ({id})",
"drag_to_resize": "Перетащите, чтобы изменить размер",
"actions": "Действия",
"activity": "Активность",
@@ -509,7 +526,7 @@
"profile_index": "индекс профиля →",
"profile_name": "Имя профиля",
"program": "Программа",
"program_tip": "Замените, какой профиль сопоставляется с текущим циклом. Авто-определение позволяет интеграции автоматически выбирать наилучшее совпадение. Закрепите конкретную программу, чтобы принудительно сопоставить её, если авто-определение ошибается или вы знаете, что запущено.",
"program_tip": "Замените, какой профиль сопоставляется с текущим циклом. Авто-определение позволяет интеграции автоматически выбирать наилучшее совпадение. Закрепите конкретную программу, чтобы принудительно сопоставить её, если авто-определение ошибается или вы знаете, что запущено. Выберите программу до запуска прибора, и она будет применена, как только начнётся следующий цикл.",
"progress": "Прогресс",
"raw_socket": "Необработанный сокет",
"read_only": "Только чтение",
@@ -544,6 +561,7 @@
"stage4": "Этап 4 – совпадение",
"status": "Статус",
"tail_trim": "Обрезка конца (с)",
"tap_to_dismiss": "коснитесь графика, чтобы закрыть",
"timer_auto_pause": "Авто-пауза",
"timer_min": "мин",
"timer_msg_placeholder": "Сообщение (необязательно, {device}/{program}/{minutes})",
@@ -580,9 +598,7 @@
"pg_time_left_model": "Осталось времени (модель)",
"pg_time_left_model_tip": "Оценка оставшегося времени моделью (оценщик фаз + ML), а не статичный отсчёт",
"phase": "Фаза",
"pg_mode_simulate": "Симуляция",
"pg_mode_history": "Проверка на истории",
"pg_mode_sweep": "Перебор",
"pg_ev_detected": "Обнаружено",
"pg_ev_match": "Совпадение принято",
"pg_ev_match_changed": "Совпадение изменено",
@@ -612,14 +628,11 @@
"pg_sweep_param": "Параметр",
"pg_objective": "Цель",
"pg_steps": "Шаги",
"pg_sweep_2d": "2D тепловая карта",
"pg_sweep_param_y": "2-й параметр",
"pg_obj_match": "Точность совпадений",
"pg_obj_endtiming": "Точность завершения",
"pg_obj_falseend": "Частота ложных завершений",
"pg_obj_overrun": "Отклонение длительности",
"pg_obj_ambiguity": "Частота неоднозначности",
"pg_best_combo": "лучшая комбинация",
"pg_mode_optimize": "Оптимизировать",
"pg_group_matching": "Сопоставление программ",
"pg_zoom_hint": "двойной щелчок сбрасывает масштаб",
@@ -706,7 +719,12 @@
"task_history_import_apply": "Импорт циклов",
"evidence_real_cycles": "Циклы, выполненные этой машиной",
"evidence_reference_cycles": "Загружены из магазина сообщества",
"evidence_backfill_cycles": "Найдены в импортированной истории мощности"
"evidence_backfill_cycles": "Найдены в импортированной истории мощности",
"zoom_hint_touch": "масштаб двумя пальцами",
"zoom_hint_touch_zoomed": "масштаб двумя пальцами · двойное касание для сброса",
"cycles_since_service": "{since} / {total} циклов",
"total_cycles_run": "циклов всего",
"correct_total_cycles": "Исправить общее количество"
},
"log": {
"all_levels": "Все уровни",
@@ -756,7 +774,7 @@
"merge_cycles": "Объединить {n} циклов",
"new_group": "Новая группа профилей",
"new_phase": "Новая фаза",
"process_history_msg": "Повторно запустите сопоставление, обновите предложения, переобучите ML (если включено) и пересчитайте качество циклов для всех сохранённых циклов. Это может занять некоторое время.",
"process_history_msg": "Повторно запустите сопоставление, обновите предложения, переобучите ML (если включено), пересчитайте стоимость по записанным ценам на электроэнергию и пересчитайте качество циклов для всех сохранённых циклов. Это может занять некоторое время.",
"process_history_ok": "Обработать",
"process_history_title": "Обработка истории",
"process_recording": "Обработать запись",
@@ -789,6 +807,7 @@
"history_import": "Импорт истории мощности"
},
"msg": {
"pg_canvas_empty3": "Выберите цикл выше и нажмите «Запустить», чтобы смоделировать его. Затем наведите указатель, чтобы увидеть значения, прокрутите или используйте два пальца для масштабирования и перетащите для панорамирования.",
"tail_trim_hint": "Сколько секунд обрезать с конца",
"store_sibling_hint": "Для вашей точной модели ничего не опубликовано? Очень похожая модель того же бренда обычно является хорошей отправной точкой.",
"store_declare_appliance": "Укажите WashData, какое у вас устройство, и на этой вкладке появятся конфигурации, опубликованные для него другими пользователями. Можно также ввести бренд выше и просто посмотреть, что есть.",
@@ -802,7 +821,7 @@
"artifact_spike_detail": "Мощность вышла за пределы обычного диапазона на ~{n}с.",
"auto_label_intro": "Назначить профили не помеченным циклам, чьё совпадение превышает порог.",
"automations_intro": "WashData запускает события {start} / {end} и предоставляет объекты, поэтому уведомления и действия лучше всего строить как обычные автоматизации Home Assistant. Автоматизации, использующие это устройство, отображаются ниже.",
"cleanup_intro": "Все помеченные циклы наложены. Отметьте выбросы и удалите для очистки профиля.",
"cleanup_intro": "Все помеченные циклы наложены. Отметьте выбросы, затем снимите с них метку (останутся в истории, но перестанут формировать этот профиль) или удалите их полностью.",
"clear_debug_hint": "Удалите сохраненные данные отладки, чтобы освободить место.",
"collecting_data": "Сбор данных. Осталось циклов до начала точной настройки: {need} ({current}/{min}).",
"compare_overlay_profiles": "Наложить профили (бледные)",
@@ -902,7 +921,7 @@
"preferences_adv": "Настройки",
"prefs_personal": "Применяются только к вашей учётной записи Home Assistant.",
"font_size_hint": "Сделайте всё на этой панели крупнее или мельче. Применяется к вашей учётной записи на этом устройстве.",
"process_history_hint": "Повторно запустите сопоставление для всех сохранённых циклов, обновите предложения по настройке, переобучите модели ML (если включено) и пересчитайте качество циклов. Запускайте после пакетного просмотра.",
"process_history_hint": "Повторно запустите сопоставление для всех сохранённых циклов, обновите предложения по настройке, переобучите модели ML (если включено), пересчитайте стоимость циклов по записанным ценам на электроэнергию и пересчитайте качество циклов. Запускайте это после серии проверок.",
"profile_deleted": "Профиль удалён",
"profile_poor_health_detail": "Циклы, назначенные этому профилю, имеют непоследовательную форму или низкую достоверность. Рассмотрите возможность восстановления конверта или пересмотра помеченных циклов.",
"profiles_intro": "Нажмите на профиль для статистики, фаз и очистки. Группируйте почти одинаковые программы (одинаковая форма/продолжительность, разная температура или отжим), чтобы сопоставление надёжно выбирало между ними.",
@@ -989,9 +1008,10 @@
"advisory_poor_health": "У '{name}' низкая оценка соответствия - его недавние циклы сильно различаются или плохо распознаются. Просмотрите его циклы или перезапишите профиль, чтобы распознавание и оценки времени оставались точными.",
"advisory_shape_drift": "'{name}' значительно отклонился от исходной формы кривой мощности. Возможно, поведение прибора со временем изменилось (например, накипь, износ). Рекомендуется перезаписать этот профиль по недавним циклам.",
"advisory_shape_drift_corr": "'{name}' значительно отклонился от исходной формы кривой мощности (корреляция {corr}). Возможно, поведение прибора со временем изменилось (например, накипь, износ). Рекомендуется перезаписать этот профиль по недавним циклам.",
"advisory_unmatchable": "'{name}' никогда не будет сопоставлен: за ним нет ни одного цикла с данными мощности, поэтому WashData не может сравнить с ним выполняемый цикл. Пометьте цикл этой программы (или запишите новый), чтобы вернуть профиль в сопоставление.",
"advisory_unmatchable_no_duration": "'{name}' никогда не будет сопоставлен: у него есть цикл с данными мощности, но без пригодной длительности, поэтому WashData не с чем сравнить длину цикла при сопоставлении. Запишите эту программу заново или задайте её ожидаемую длительность, чтобы вернуть профиль в сопоставление.",
"pg_no_alerts": "В этом запуске проблем не обнаружено.",
"pg_override_active": "Используются ваши изменённые настройки вместо текущих",
"pg_history_intro": "Повторно прогоните последние циклы через реальный детектор и сопоставитель. Сначала измените настройку обнаружения в режиме «Симуляция», чтобы увидеть здесь сравнение до/после.",
"pg_history_empty": "Нажмите «Запустить», чтобы воспроизвести циклы.",
"pg_history_summary": "{detected}/{total} обнаружено · {correct} сопоставлено верно",
"pg_sweep_no_metric": "Недостаточно данных для оценки этой цели.",
@@ -1063,7 +1083,11 @@
"hist_scan_failed": "Сканирование не удалось.",
"hist_scan_expired": "Это сканирование больше недоступно. Выполните сканирование заново.",
"hist_import_failed": "Импорт не удался.",
"imported_history_readonly": "Обнаружено в импортированной истории мощности. Влияет на сопоставление программ, но не учитывается в вашей статистике; такой цикл нельзя обрезать или разделить. Нажмите «Пометить», чтобы указать программу."
"imported_history_readonly": "Обнаружено в импортированной истории мощности. Влияет на сопоставление программ, но не учитывается в вашей статистике; такой цикл нельзя обрезать или разделить. Нажмите «Пометить», чтобы указать программу.",
"odometer_intro": "Это общее количество только растёт. Удаление записи о цикле его не меняет, а подсчёт продолжается и за пределами лимита хранимой истории, поэтому напоминания об обслуживании остаются верными.",
"odometer_correct_hint": "Задайте значение, если WashData записал цикл, которого не было, или если прибор уже выполнял циклы до установки WashData.",
"no_reminders_set": "Напоминания об обслуживании ещё не заданы.",
"toast_program_armed": "Программа выбрана для следующего цикла: {program}"
},
"phase_desc": {
"anti_crease": "Периодические короткие вращения барабана после завершения для уменьшения складок.",
@@ -1161,6 +1185,10 @@
"doc": "После того как цикл превышает ожидаемую продолжительность, сколько времени посудомоечная машина должна оставаться неактивной (ниже «Порог Остановки»), прежде чем WashData прекратит ждать финальный слив и завершит цикл. Увеличьте значение, если у вашей машины длительная тихая фаза сушки перед поздним финальным сливом, который пропускается - более широкое окно позволяет изученной продолжительности следовать за сезонными изменениями (более холодная входящая вода = более длинные циклы), а не фиксироваться на старом среднем значении. Оно только сокращает ожидание относительно внутреннего 30-минутного лимита ожидания завершающего всплеска (откачки воды), но никогда не увеличивает его.",
"label": "Тихое завершение пассивной сушки"
},
"anti_crease_finalize_ratio": {
"doc": "Насколько глубоко в ожидаемую длительность сопоставленной программы должен зайти цикл, прежде чем WashData сможет счесть наблюдаемое вращение барабана на малой мощности хвостом защиты от морщин и завершить цикл на этом месте. Ожидаемая длительность - это среднее значение программы, поэтому на сушильной машине, время сушки по датчику влажности у которой зависит от загрузки, большинство запусков никогда не достигает 98% этого значения, и хвост тянется до самого резервного тайм-аута - часто через 15-40 минут после того, как машина фактически остановилась. На такой сушильной машине уменьшите значение (напр., 0.75). Для стиральных машин оставьте значение по умолчанию: стиральная машина проводит большую часть цикла ниже настройки Макс. Мощность Защиты от Морщин, поэтому эта доля - единственное, что отделяет тихую фазу середины стирки от хвоста, и её снижение может сократить стирку вдвое. Оставьте пустым для значения по умолчанию (0.98). Это не то же самое, что Коэффициент умного завершения, который управляет отдельной проверкой досрочного завершения.",
"label": "Коэффициент завершения защиты от морщин"
},
"anti_wrinkle_enabled": {
"doc": "Распознавайте короткие импульсы низкой мощности, которые сушильная машина излучает после основной фазы нагрева, и сохраняйте их привязанными к завершенному циклу, а не воспринимайте их как новые циклы.",
"label": "Включить Защиту от Морщин"
@@ -1230,7 +1258,7 @@
"label": "Количество Повторений Завершения"
},
"energy_price_entity": {
"doc": "Датчик с текущей ценой на электроэнергию за кВтч (например, динамический тариф). Имеет приоритет над статической ценой, указанной ниже. Каждый цикл замораживает цену после его завершения.",
"doc": "Сенсор с текущей ценой электроэнергии за кВт·ч (например, динамический тариф). Это должна быть цена, а не собственный объект мощности или энергии розетки: он имеет приоритет над фиксированной ценой ниже, поэтому счётчик кВт·ч, указанный здесь, считает каждый цикл по показанию счётчика вместо вашего тарифа. Когда включена «Стоимость, взвешенная по времени», каждый цикл рассчитывается по цене, действовавшей в каждый момент его работы; иначе за ним закрепляется цена, действовавшая на момент завершения.",
"label": "Объект Цены на Электроэнергию"
},
"energy_price_static": {
@@ -1258,7 +1286,7 @@
"label": "Инвертировать Внешний Триггер (срабатывать на ВЫКЛ)"
},
"learning_confidence": {
"doc": "Если оценка соответствия находится между этим значением и показателем уверенности в автоматической маркировке, вам будет предложено подтвердить указанную программу в уведомлении обратной связи. Ниже этого показателя матч слишком неопределенен, чтобы его можно было увидеть. Должно быть ниже уровня достоверности автоматической маркировки.",
"doc": "Если оценка соответствия находится между этим значением и «Уверенностью Авто-Маркировки», уведомление обратной связи попросит вас подтвердить определённую программу. Ниже этой оценки соответствие слишком неопределённое, чтобы его показывать. Должно оставаться ниже «Уверенности Авто-Маркировки».",
"label": "Уверенность Обучения"
},
"linked_device": {
@@ -1326,7 +1354,7 @@
"label": "Отправлять События HA для Уведомлений"
},
"notify_icon": {
"doc": "Дополнительный значок mdi для уведомления (например, mdi:стиральная машина). Оставьте пустым для платформы по умолчанию.",
"doc": "Небольшой значок, отображаемый в уведомлении (например, mdi:washing-machine). Android рисует его в строке состояния; iOS показывает его вместо значка приложения, и для этого нужно сопутствующее приложение 2026.8 или новее. Оставьте пустым, чтобы использовать значок по умолчанию для платформы.",
"label": "Иконка Уведомления"
},
"notify_live_chronometer": {
@@ -1402,7 +1430,7 @@
"label": "Порог Выключения Питания"
},
"power_sensor": {
"doc": "Объект-датчик, сообщающий о активной мощности в ваттах для этого устройства (например, Sensor.washer_power). Все обнаружение цикла основано на этом сигнале.",
"doc": "Объект-датчик, сообщающий о активной мощности в ваттах для этого устройства (например, sensor.washer_power). Все обнаружение цикла основано на этом сигнале.",
"label": "Датчик Мощности"
},
"profile_duration_tolerance": {
@@ -1426,7 +1454,7 @@
"label": "Порог Совпадения"
},
"profile_unmatch_threshold": {
"doc": "Если результат живого матча в середине цикла опускается ниже этого значения, предварительная идентификация очищается. Держите его немного ниже порога совпадения, чтобы кратковременное снижение сходства не вернуло отображение к непревзойденному состоянию.",
"doc": "Если соответствие в реальном времени в середине цикла опускается ниже этой оценки, предварительное определение сбрасывается. Держите его немного ниже «Порога Совпадения», чтобы кратковременное снижение сходства не вернуло отображение к состоянию «нет совпадения».",
"label": "Порог Несовпадения"
},
"progress_reset_delay": {
@@ -1437,10 +1465,6 @@
"doc": "Секунды, в течение которых насос может работать непрерывно, прежде чем он будет помечен как возможно застрявший (вызовет событие застревания насоса).",
"label": "Длительность Застревания Насоса"
},
"running_dead_zone": {
"doc": "После начала цикла провалы мощности в этом окне игнорируются. Стиральные машины наполняются холодной водой (перед нагревом ее мощность падает около 0 Вт) – без этой защиты фаза наполнения выглядит как завершение цикла. При этом НЕ происходит пропуск данных: кривая полной мощности записывается от T=0. Механизм подсказок измеряет фактическую схему запуска вашей машины и автоматически определяет ее размер.",
"label": "Мёртвая Зона Работы"
},
"sampling_interval": {
"doc": "Ожидаемое время между показаниями датчика – используется для определения размера окна сглаживания и правильного запуска устранения дребезга. Каждое обновление датчика фиксируется независимо от этого значения; он только калибрует последующие вычисления. Механизм подсказок измеряет фактическую частоту вращения педалей вашего датчика на основе прошлых циклов и устанавливает ее автоматически.",
"label": "Интервал Выборки"
@@ -1568,13 +1592,17 @@
"label": "Интервал профиля мощности",
"doc": "Размер ячейки для атрибута датчика power_profile на профиль (плоский массив средних ватт по слотам), используемого внешними планировщиками, такими как EMHASS и tibber_prices. Меньшие ячейки сохраняют чёткость коротких пиков мощности; большие ячейки сглаживают форму. По умолчанию 15 мин. Только при считывании; не влияет на обнаружение."
},
"notify_live_silent": {
"label": "Тихие живые обновления",
"doc": "Только для iOS. Обновлять ход выполнения тихо: каждое обновление приходит без звука и вибрации, с пониженным приоритетом для экономии заряда, поэтому iOS может ненадолго объединять их. Первое обновление цикла (то, которое запускает Live Activity), а также уведомления о начале и завершении по-прежнему уведомляют как обычно. Выключите, чтобы получать сигнал при каждом обновлении."
},
"notify_live_sticky": {
"label": "Сохранять живое уведомление при нажатии",
"doc": "Только для Android. Сделать уведомление о ходе выполнения постоянным (закреплённым), чтобы нажатие не скрывало его. Выключено сохраняет поведение по умолчанию, при котором нажатие скрывает уведомление."
},
"notify_live_click_action": {
"label": "Цель нажатия живого уведомления",
"doc": "Только для Android. Куда открывается нажатие на уведомление о ходе выполнения (например, /lovelace/laundry или полный URL) вместо стартовой страницы приложения. Оставьте пустым для поведения по умолчанию."
"label": "Цель нажатия уведомления",
"doc": "Куда открывается нажатие на уведомление от этого прибора, на Android и iOS. Пустое значение открывает панель WashData на этом приборе. Укажите путь к панели управления (например, /lovelace/laundry) или полный URL, чтобы перейти в другое место, либо «none», чтобы нажатие ничего не открывало."
},
"door_opens_at_end": {
"label": "Дверца открывается автоматически в конце",
@@ -1587,6 +1615,14 @@
"profile_evidence_sources": {
"label": "Циклы, формирующие программу",
"doc": "Какие циклы используются для построения кривой мощности каждой программы и для сопоставления с ней завершённого цикла. Если снять галочку с какого-то вида, он перестанет влиять на ваши программы, но ничего не удалится: циклы останутся в списке Циклы, их по-прежнему можно пометить или удалить. Полезно, если вы не доверяете импортированным данным. На статистику это не влияет: в ней всегда учитываются только циклы, которые эта машина действительно выполнила. Если снять все галочки, это будет проигнорировано, ведь программа без циклов никогда не смогла бы совпасть."
},
"energy_price_dynamic": {
"label": "Стоимость, взвешенная по времени",
"doc": "Рассчитывает стоимость каждого цикла по цене, действовавшей в каждый момент его работы, а не по единственной цене на момент завершения. Работает только с объектом цены (фиксированная цена меняться не может). Дополнительная настройка не нужна: пока цикл идёт, цена отслеживается в реальном времени, а «Обработка истории» в Диагностике пересчитывает стоимость старых циклов по данным recorder. Выключено = классическое поведение, одна цена, зафиксированная в конце."
},
"curve_preroll_seconds": {
"doc": "Сколько секунд показаний от прерванных попыток запуска WashData может перенести в начало кривой цикла. Кривая цикла обычно начинается с той попытки запуска, которая в итоге удалась, поэтому на машине, которая делает несколько проб, прежде чем выйти на режим - выбор программы, блокировка люка, первый набор воды, - первые минуты реальной работы отсутствуют в каждой кривой. Задайте значение чуть больше самой длинной такой раскачки вашей машины (300 с с запасом хватает большинству). 0 отключает эту функцию. Учтите, что её включение сдвигает записанное начало раньше, поэтому циклы, записанные до изменения и после него, несут разную длительность для одной и той же программы; выученные средние будут смещаться, пока старые циклы не выйдут из истории.",
"label": "Предзапись кривой"
}
},
"setting_group": {
@@ -1698,7 +1734,8 @@
"splitting": "Разбивка…",
"deleting": "Удаление…",
"imported": "Импортировано",
"preparing": "Подготовка…"
"preparing": "Подготовка…",
"unlabelling": "Снятие метки…"
},
"tab": {
"advanced": "Дополнительно",
@@ -1778,6 +1815,7 @@
"recording_stopped": "Запись остановлена",
"review_saved": "Проверка сохранена",
"settings_conflicts": "Исправьте выделенные конфликты настроек перед сохранением.",
"settings_no_changes": "Нет изменений для сохранения",
"settings_reverted": "Настройки восстановлены; интеграция перезагружается",
"settings_saved": "Настройки сохранены; интеграция перезагружается",
"suggestions_applied": "Предложения применены; интеграция перезагружается",
@@ -1836,7 +1874,11 @@
"export_selective_done": "Экспорт скачан",
"import_selective_done": "Импортировано профилей: {profiles}, циклов: {cycles}",
"hist_csv_required": "Сначала загрузите файл CSV или вставьте его содержимое",
"file_read_failed": "Не удалось прочитать этот файл"
"file_read_failed": "Не удалось прочитать этот файл",
"unlabel_done": "Метка снята с {count} цикла(ов)",
"unlabel_failed": "Не удалось снять метку: {error}",
"odometer_saved": "Общее количество циклов сохранено",
"odometer_save_failed": "Не удалось сохранить общее количество: {error}"
},
"suggestion": {
"both_agree": "WashData рекомендует",
@@ -1883,10 +1925,6 @@
"higher": "Подтверждает только высокоуверенные совпадения; больше циклов остаётся без метки",
"lower": "Сопоставляет больше циклов; некоторые могут быть немного неверны"
},
"running_dead_zone": {
"higher": "Игнорирует кратковременные скачки мощности в простое – менее чувствителен к шуму",
"lower": "Реагирует на более короткие всплески мощности – улавливает быструю переходную активность"
},
"start_threshold_w": {
"higher": "Исключает ложные запуски от кратковременных скачков мощности",
"lower": "Улавливает маломощные программы; может сработать на шум"
@@ -1911,6 +1949,8 @@
"end_repeat_count": "{false}/{total} корректных циклов ({pct}%) имели внутреннюю паузу >60s с возобновлением; требуется {val} подтверждение(й) завершения.",
"learning_confidence": "Уверенность p05 для {cycles} циклов, размеченных пользователем ({p05}); ниже этого значения запрашивается проверка.",
"match_interval": "На основе наблюдаемой частоты обновлений (медиана={median}s) * 10.",
"match_interval_capped": "Ограничено так, чтобы {persistence} последовательных совпадений уместились в {pct}% самой короткой программы ({shortest}s); одна лишь частота обновлений (медиана={median}s) подсказала бы более длинный интервал.",
"match_interval_floored": "Одна только самая короткая программа ({shortest}s) ограничила бы это значение до {cap}s, что ниже минимума в {minimum}s, поэтому оно удерживается на минимуме: серия из {persistence} последовательных совпадений занимает {budget}s, то есть больше {pct}% этой программы. Сопоставление выполняется только при поступлении нового показания (медиана={median}s), поэтому минимум не даёт лишней нагрузки.",
"max_duration_ratio": "На основе длительностей размеченных циклов (p95={p95}).",
"min_active": "На основе минимальной активной мощности ({min}W), зафиксированной в последнем цикле.",
"min_duration_ratio": "Оставлено как можно ниже, чтобы программа распознавалась в начале цикла; пороги уверенности и неоднозначности предотвращают преждевременные подтверждения.",
@@ -1973,6 +2013,7 @@
"start_duration_threshold": "Секунды выше порога для подтверждения старта",
"start_threshold_w": "Минимум ватт, чтобы считать запущенным",
"stop_threshold_w": "Ниже этого машина считается выключенной",
"anti_crease_finalize_ratio": "Доля ожидаемой длительности сопоставленной программы, которую должен достичь цикл, прежде чем можно завершить хвост вращения защиты от морщин; уменьшите её на сушильных машинах с длинным хвостом вращения, для стиральных машин оставьте значение по умолчанию",
"anti_wrinkle_enabled": "Поглощать импульсы вращения барабана после основной фазы, а не считать их новыми циклами",
"anti_wrinkle_exit_power": "Мощность между импульсами должна падать ниже этого, чтобы защита от морщин оставалась активной",
"anti_wrinkle_idle_timeout": "Допустимая тишина между двумя импульсами вращения барабана, прежде чем защита от морщин завершится",
@@ -1990,7 +2031,8 @@
"dtw_ddtw_scale": "Этап 3: расстояние полунасыщения DDTW; меньше = чувствительнее к форме (по умолчанию 30)",
"dtw_refine_top_n": "Этап 3: кандидаты, переоцениваемые DTW; повысьте до 7-9, если правильный профиль занимает 4-5 место (по умолчанию 5)",
"duration_scale": "Этап 4: логарифмическое отношение, при котором совпадение по длительности уменьшается вдвое; меньше = более строгий штраф (по умолчанию 0,175)",
"energy_scale": "Этап 4: логарифмическое отношение, при котором совпадение по энергии уменьшается вдвое; меньше = более строгий штраф (по умолчанию 0,25)"
"energy_scale": "Этап 4: логарифмическое отношение, при котором совпадение по энергии уменьшается вдвое; меньше = более строгий штраф (по умолчанию 0,25)",
"curve_preroll_seconds": "Секунды показаний от прерванных попыток запуска, переносимые в начало кривой цикла; 0 = выключено"
},
"col": {
"profile_tip": "Название сопоставленной программы. «Без метки» означает, что в конце цикла не совпал ни один профиль.",
@@ -1998,10 +2040,11 @@
"date_tip": "Дата и время начала цикла.",
"duration_tip": "Общее время работы цикла от начала до конца.",
"energy_tip": "Общее потреблённое количество энергии (кВт·ч). Вычисляется интегрированием мощности по времени.",
"cost_tip": "Стоимость энергии для этого цикла, зафиксированная при завершении по действовавшей тогда цене (энергия × цена за кВт·ч). Укажите цену в Настройках, чтобы заполнить это поле.",
"cost_tip": "Стоимость энергии для этого цикла, зафиксированная при завершении. Когда включена «Стоимость, взвешенная по времени», кривая мощности рассчитывается по цене, действующей в каждый момент; иначе энергия x единственная цена, действующая в конце. Задайте цену в Настройках, чтобы значение появилось.",
"confidence_tip": "Достоверность совпадения профиля (0–100%). Насколько точно кривая мощности цикла совпала с определённой программой.",
"health_tip": "ML-качество цикла (выше = лучше). Нажмите на цикл, чтобы проверить и оценить его.",
"flags_tip": "Метки сообщества и индикаторы качества данных"
"flags_tip": "Метки сообщества и индикаторы качества данных",
"cost_dynamic_tip": "Взвешено по времени: рассчитано по цене, действовавшей во время цикла (эффективно {price} {cur}/кВт·ч)."
},
"stat": {
"avg": "сред.",
@@ -2028,9 +2071,9 @@
"finished": "Цикл достиг конечного состояния и завершился."
},
"store": {
"search_ph2": "Поиск по бренду или модели…",
"your_model_tip": "Это устройство, которое вы указали в настройках",
"your_model": "Ваше",
"search_brand_ph": "Поиск по бренду…",
"programs_count": "Программы: {n}",
"browse": "Обзор",
"device": "Устройство",
@@ -2075,7 +2118,8 @@
"golden": "Повторная обработка: заполнение эталонных",
"suggestions": "Повторная обработка: предложения",
"ml_training": "Повторная обработка: обучение ML",
"health": "Повторная обработка: качество циклов"
"health": "Повторная обработка: качество циклов",
"costs": "Повторная обработка: затраты на энергию"
},
"pg_sweep": {
"optimize": "Оптимизация: {param}"