{
  "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": "Предполагаемая продолжительность (минуты)"
        }
      },
      "reconfigure": {
        "title": "Reconfigure WashData",
        "description": "Обновите имя устройства, тип устройства или датчик мощности.",
        "data": {
          "name": "Device Name",
          "device_type": "Device Type",
          "power_sensor": "Power Sensor",
          "min_power": "Minimum Power Threshold (W)"
        }
      }
    },
    "error": {
      "cannot_connect": "Не удалось подключиться",
      "invalid_auth": "Неверная аутентификация",
      "unknown": "Неожиданная ошибка",
      "invalid_power": "Power threshold must be greater than 0"
    },
    "abort": {
      "already_configured": "Устройство уже настроено",
      "reconfigure_successful": "Reconfiguration was successful"
    }
  },
  "options": {
    "step": {
      "init": {
        "title": "WashData Settings",
        "description": "Все настройки — обнаружение, сопоставление, время, уведомления, профили и циклы — доступны на панели WashData. Используйте эту форму только для изменения датчика мощности, типа устройства или порога режима ожидания.",
        "data": {
          "name": "Имя устройства",
          "device_type": "Device Type",
          "power_sensor": "Power Sensor",
          "min_power": "Minimum Power Threshold (W)"
        }
      }
    },
    "error": {
      "timer_default_message": "{device}: таймер {minutes} мин",
      "timer_pause_action_title": "Возобновить цикл",
      "timer_pause_body_suffix": "Цикл на паузе. Откройте панель WashData для возобновления.",
      "notify_live_waiting_message": "{device}: Профиль пока не распознан.",
      "vs_typical_longer": "на {pct}% дольше обычного",
      "vs_typical_shorter": "на {pct}% короче обычного",
      "invalid_power": "Power threshold must be greater than 0"
    }
  },
  "selector": {
    "device_type": {
      "options": {
        "washing_machine": "Стиральная машина",
        "dryer": "Сушилка",
        "washer_dryer": "Комбинированная стиральная машина с сушкой",
        "dishwasher": "Посудомоечная машина",
        "air_fryer": "Воздушная фритюрница",
        "bread_maker": "Хлебопечка",
        "pump": "Насос / Отстойный насос",
        "generic": "Другое (продвинутый уровень)",
        "other": "Пороговое устройство"
      }
    }
  },
  "services": {
    "label_cycle": {
      "name": "Отметить цикл",
      "description": "Назначьте существующий профиль предыдущему циклу или удалите метку.",
      "fields": {
        "device_id": {
          "name": "Устройство",
          "description": "Устройство стиральной машины для маркировки."
        },
        "cycle_id": {
          "name": "Идентификатор цикла",
          "description": "Идентификатор цикла, который необходимо пометить."
        },
        "profile_name": {
          "name": "Имя профиля",
          "description": "Имя существующего профиля (создайте профили в меню «Управление профилями»). Оставьте пустым, чтобы удалить метку."
        }
      }
    },
    "create_profile": {
      "name": "Создать профиль",
      "description": "Создайте новый профиль (автономный или на основе эталонного цикла).",
      "fields": {
        "device_id": {
          "name": "Устройство",
          "description": "Устройство стиральной машины."
        },
        "profile_name": {
          "name": "Имя профиля",
          "description": "Имя нового профиля (например, «Интенсивный», «Деликатное»)."
        },
        "reference_cycle_id": {
          "name": "Идентификатор эталонного цикла",
          "description": "Необязательный идентификатор цикла, на котором будет основан этот профиль."
        }
      }
    },
    "delete_profile": {
      "name": "Удалить профиль",
      "description": "Удалите профиль и, при необходимости, снимите маркировку с циклов, использующих его.",
      "fields": {
        "device_id": {
          "name": "Устройство",
          "description": "Устройство стиральной машины."
        },
        "profile_name": {
          "name": "Имя профиля",
          "description": "Профиль, который нужно удалить."
        },
        "unlabel_cycles": {
          "name": "Снять маркировку с циклов",
          "description": "Удалите метку профиля из циклов, использующих этот профиль."
        }
      }
    },
    "auto_label_cycles": {
      "name": "Автоматическая маркировка старых циклов",
      "description": "Маркируйте немаркированные циклы задним числом, используя сопоставление профилей.",
      "fields": {
        "device_id": {
          "name": "Устройство",
          "description": "Устройство стиральной машины."
        },
        "confidence_threshold": {
          "name": "Порог уверенности",
          "description": "Минимальная уверенность в совпадении (0,50–0,95) для применения меток."
        }
      }
    },
    "export_config": {
      "name": "Экспортировать конфигурацию",
      "description": "Экспортируйте профили, циклы и настройки этого устройства в файл JSON (для каждого устройства).",
      "fields": {
        "device_id": {
          "name": "Устройство",
          "description": "Устройство стиральной машины для экспорта."
        },
        "path": {
          "name": "Путь",
          "description": "Необязательный абсолютный путь к файлу для записи (по умолчанию /config/ha_washdata_export_{entry}.json)."
        }
      }
    },
    "import_config": {
      "name": "Импортировать конфигурацию",
      "description": "Импортируйте профили, циклы и настройки для этого устройства из файла экспорта JSON (настройки могут быть перезаписаны).",
      "fields": {
        "device_id": {
          "name": "Устройство",
          "description": "Устройство стиральной машины, в которое нужно импортировать."
        },
        "path": {
          "name": "Путь",
          "description": "Абсолютный путь к экспортному файлу JSON для импорта."
        }
      }
    },
    "submit_cycle_feedback": {
      "name": "Отправить отзыв о цикле",
      "description": "Подтвердите или исправьте автоматически определённую программу после завершения цикла. Укажите либо `entry_id` (дополнительно), либо `device_id` (рекомендуется).",
      "fields": {
        "device_id": {
          "name": "Устройство",
          "description": "Устройство WashData (рекомендуется вместо entry_id)."
        },
        "entry_id": {
          "name": "Идентификатор записи",
          "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": "Устройство стиральной машины для записи."
        }
      }
    },
    "record_stop": {
      "name": "Остановить запись цикла",
      "description": "Остановите запись вручную.",
      "fields": {
        "device_id": {
          "name": "Устройство",
          "description": "Устройство стиральной машины для остановки записи."
        }
      }
    },
    "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 для возобновления работы."
        }
      }
    },
    "trigger_ml_training": {
      "name": "Trigger ML Training",
      "description": "Вручную переобучите модели машинного обучения на устройстве из собственных помеченных циклов этого устройства (экспериментально).",
      "fields": {
        "device_id": {
          "name": "Device",
          "description": "The WashData device to retrain models for."
        }
      }
    }
  },
  "entity": {
    "binary_sensor": {
      "running": {
        "name": "В работе"
      },
      "match_ambiguity": {
        "name": "Неоднозначность сопоставления"
      }
    },
    "sensor": {
      "washer_state": {
        "name": "Состояние",
        "state": {
          "off": "Выключено",
          "idle": "Ожидание",
          "starting": "Запуск",
          "running": "Работает",
          "paused": "Пауза",
          "user_paused": "Приостановлено пользователем",
          "ending": "Завершение",
          "finished": "Завершено",
          "anti_wrinkle": "Защита от морщин",
          "interrupted": "Прервано",
          "force_stopped": "Принудительная остановка",
          "rinse": "Полоскание",
          "unknown": "Неизвестно",
          "clean": "Чистый",
          "delay_wait": "Ожидание начала"
        }
      },
      "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": "Нет"
        }
      },
      "ambiguity": {
        "name": "Показатель неоднозначности"
      },
      "current_phase": {
        "name": "Текущая фаза"
      },
      "profile_cycle_count": {
        "name": "Количество циклов профиля {profile_name}",
        "unit_of_measurement": "циклов"
      },
      "suggestions": {
        "name": "Доступные предложенные настройки"
      },
      "pump_runs_today": {
        "name": "Работа насоса (последние 24 часа)"
      },
      "cycle_count": {
        "name": "Количество циклов"
      },
      "energy_total": {
        "name": "Суммарная энергия"
      }
    },
    "select": {
      "program_select": {
        "name": "Программа цикла",
        "state": {
          "auto_detect": "Автоопределение"
        }
      }
    },
    "button": {
      "force_end_cycle": {
        "name": "Принудительное завершение цикла"
      },
      "pause_cycle": {
        "name": "Пауза цикла"
      },
      "resume_cycle": {
        "name": "Возобновить цикл"
      },
      "record_start": {
        "name": "Начать запись цикла"
      },
      "record_stop": {
        "name": "Остановить запись цикла"
      }
    }
  },
  "exceptions": {
    "device_id_required": {
      "message": "Требуется действительный идентификатор устройства."
    },
    "cycle_id_required": {
      "message": "Требуется действительный cycle_id."
    },
    "profile_name_required": {
      "message": "Требуется действительное имя_профиля."
    },
    "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."
    },
    "no_active_cycle": {
      "message": "Нет активного цикла для приостановки или возобновления."
    },
    "path_not_allowed": {
      "message": "Путь не разрешён: {path}. Добавьте его каталог в 'allowlist_external_dirs' в configuration.yaml."
    },
    "create_profile_failed": {
      "message": "Не удалось создать профиль: {error}"
    },
    "export_path_exists": {
      "message": "Цель экспорта уже существует: {path}. Выберите другой путь или сначала удалите существующий файл."
    },
    "export_write_failed": {
      "message": "Не удалось записать экспорт в {path}: {error}"
    },
    "assign_profile_failed": {
      "message": "Не удалось назначить профиль: {error}"
    }
  }
}
