diff --git a/web/public/locales/ru/config/cameras.json b/web/public/locales/ru/config/cameras.json index d50ac03165..80cc6b63a9 100644 --- a/web/public/locales/ru/config/cameras.json +++ b/web/public/locales/ru/config/cameras.json @@ -13,7 +13,7 @@ }, "label": "Конфигурация", "audio": { - "label": "Аудиособытия", + "label": "Обнаружение звука", "description": "Настройки обнаружения аудиособытий для этой камеры.", "enabled": { "label": "Включить обнаружение звука", @@ -28,12 +28,16 @@ "description": "Для запуска функции обнаружения звука требуется минимальный пороговый уровень громкости RMS; более низкие значения повышают чувствительность (например, 200 — высокий, 500 — средний, 1000 — низкий)." }, "listen": { - "description": "Список типов аудиособытий для обнаружения (например: лай, пожарная тревога, крик, речь, вопль).", + "description": "Список типов аудиособытий для обнаружения (например: лай, пожарная тревога, речь, вопль).", "label": "Типы аудиособытий" }, "filters": { "label": "Аудиофильтры", - "description": "Настройки фильтров для каждого типа аудиофайлов, такие как пороговые значения, используются для уменьшения количества ложных срабатываний." + "description": "Настройки фильтров для каждого типа аудиофайлов, такие как пороговые значения, используются для уменьшения количества ложных срабатываний.", + "threshold": { + "label": "Минимальная уверенность в звуке", + "description": "Минимальный порог достоверности для подсчета аудиособытия." + } }, "enabled_in_config": { "label": "Исходное состояние звука", @@ -104,7 +108,693 @@ }, "stationary": { "label": "Конфигурация стационарных объектов", - "description": "Настройки для обнаружения и управления объектами, которые остаются неподвижными в течение определенного периода времени." + "description": "Настройки для обнаружения и управления объектами, которые остаются неподвижными в течение определенного периода времени.", + "interval": { + "label": "Стационарный интервал", + "description": "Как часто (в кадрах) запускать проверку обнаружения для подтверждения неподвижного объекта." + }, + "threshold": { + "label": "Стационарный порог", + "description": "Количество кадров без изменения положения, необходимое для того, чтобы пометить объект как неподвижный." + }, + "max_frames": { + "label": "Максимальное количество кадров", + "description": "Ограничивает продолжительность отслеживания стационарных объектов, прежде чем они будут отброшены.", + "default": { + "label": "Максимальное количество кадров по умолчанию", + "description": "Максимальное количество кадров по умолчанию для отслеживания неподвижного объекта перед остановкой." + }, + "objects": { + "label": "Максимальное количество кадров объекта", + "description": "Переопределения для каждого объекта для максимального количества кадров для отслеживания неподвижных объектов." + } + }, + "classifier": { + "label": "Включить визуальный классификатор", + "description": "Используйте визуальный классификатор для обнаружения действительно неподвижных объектов даже при дрожании ограничивающих рамок." + } + }, + "annotation_offset": { + "label": "Смещение аннотации", + "description": "Миллисекунды для обнаружения смещения аннотаций, чтобы лучше совместить ограничивающие рамки временной шкалы с записями; может быть положительным или отрицательным." + } + }, + "mqtt": { + "label": "MQTT" + }, + "notifications": { + "label": "Уведомления", + "enabled": { + "label": "Включить уведомления" + }, + "email": { + "label": "Уведомление по электронной почте", + "description": "Адрес электронной почты, используемый для push-уведомлений или требуемый некоторыми поставщиками уведомлений." + }, + "cooldown": { + "label": "Период охлаждения", + "description": "Пауза (в секундах) между уведомлениями, чтобы не спамить получателей." + }, + "enabled_in_config": { + "label": "Исходное состояние уведомлений", + "description": "Указывает, были ли уведомления включены в исходной статической конфигурации." + } + }, + "ffmpeg": { + "path": { + "label": "Путь FFmpeg", + "description": "Путь к используемому двоичному файлу FFmpeg или псевдоним версии («7.0» или «8.0»)." + }, + "global_args": { + "label": "Глобальные аргументы FFmpeg", + "description": "Глобальные аргументы, передаваемые процессам FFmpeg." + }, + "hwaccel_args": { + "label": "Аргументы аппаратного ускорения", + "description": "Аргументы аппаратного ускорения для FFmpeg. Рекомендуется использовать предустановки, зависящие от поставщика." + }, + "input_args": { + "label": "Входные аргументы", + "description": "Входные аргументы, применяемые к входным потокам FFmpeg." + }, + "output_args": { + "label": "Выходные аргументы", + "description": "Выходные аргументы по умолчанию, используемые для различных ролей FFmpeg, таких как обнаружение и запись.", + "detect": { + "label": "Выходные аргументы обнаружения", + "description": "Выходные аргументы по умолчанию для потоков роли обнуружения." + }, + "record": { + "label": "Выходные аргументы записи", + "description": "Выходные аргументы по умолчанию для потоков роли запись." + } + }, + "retry_interval": { + "label": "Интервал повтора FFmpeg", + "description": "Секунды ожидания перед повторным подключением потока камеры после сбоя. По умолчанию 10." + }, + "apple_compatibility": { + "label": "Совместимость с Apple", + "description": "Включить тегирование HEVC для лучшей совместимости с плеерами Apple при записи H.265." + }, + "gpu": { + "label": "Индекс GPU", + "description": "Индекс GPU по умолчанию, используемый для аппаратного ускорения, если он доступен." + }, + "inputs": { + "label": "Входы камеры", + "description": "Список определений входного потока (пути и роли) для этой камеры.", + "path": { + "label": "Входной путь", + "description": "URL или путь входного потока камеры." + }, + "roles": { + "label": "Входные роли", + "description": "Роли для этого входного потока." + }, + "global_args": { + "label": "Глобальные аргументы FFmpeg", + "description": "Глобальные аргументы FFmpeg для этого входного потока." + }, + "hwaccel_args": { + "label": "Аргументы аппаратного ускорения", + "description": "Аргументы аппаратного ускорения для этого входного потока." + }, + "input_args": { + "label": "Входные аргументы", + "description": "Входные аргументы, специфичные для этого потока." + } + } + }, + "live": { + "label": "Просмотр в реальном времени", + "streams": { + "label": "Имена live-потоков", + "description": "Сопоставление настроенных имён потоков с именами restream/go2rtc для просмотра в реальном времени." + }, + "height": { + "label": "Высота live-потока", + "description": "Высота (в пикселях) для отображения jsmpeg-потока в веб-интерфейсе; должна быть <= высоты потока обнаружения." + }, + "quality": { + "label": "Качество live-потока", + "description": "Качество кодирования потока jsmpeg (1 — наивысшее, 31 — наинизшее)." + } + }, + "motion": { + "label": "Обнаружение движения", + "enabled": { + "label": "Включить обнаружение движения" + }, + "threshold": { + "label": "Порог движения", + "description": "Порог разницы пикселей, используемый детектором движения; более высокие значения снижают чувствительность (диапазон 1–255)." + }, + "lightning_threshold": { + "label": "Порог молнии", + "description": "Порог для обнаружения и игнорирования кратковременных всплесков освещения (ниже - более чувствительно, значения от 0,3 до 1,0). Это не предотвращает полное обнаружение движения; это просто заставляет детектор прекратить анализ дополнительных кадров после превышения порога. Во время этих событий по-прежнему создаются записи на основе движения." + }, + "skip_motion_threshold": { + "label": "Порог пропуска движения", + "description": "Если задано значение от 0.0 до 1.0 и за один кадр изменяется большая доля изображения, детектор не вернет области движения и сразу выполнит повторную калибровку. Это снижает нагрузку на CPU и число ложных срабатываний во время молний, гроз и т. п., но может пропустить реальные события, например автотрекинг объекта PTZ-камерой. Компромисс состоит в выборе между потерей нескольких мегабайт записи и просмотром пары коротких клипов. Оставьте параметр незаданным (None), чтобы отключить эту функцию." + }, + "improve_contrast": { + "label": "Улучшить контраст", + "description": "Примените улучшение контрастности к кадрам перед анализом движения, чтобы облегчить обнаружение." + }, + "contour_area": { + "label": "Контурная площадь", + "description": "Минимальная площадь контура в пикселях, необходимая для подсчета контура движения." + }, + "delta_alpha": { + "label": "Дельта альфа", + "description": "Коэффициент альфа-смешивания, используемый при различении кадров для расчета движения." + }, + "frame_alpha": { + "label": "Кадр альфа", + "description": "Значение альфа, используемое при смешивании кадров для предварительной обработки движения." + }, + "frame_height": { + "label": "Высота рамки", + "description": "Высота в пикселях для масштабирования кадров при расчете движения." + }, + "mask": { + "label": "Координаты маски", + "description": "Упорядоченные координаты x,y, определяющие многоугольник маски движения, используемый для включения/исключения областей." + }, + "mqtt_off_delay": { + "label": "MQTT задержка выключения", + "description": "Секунды ожидания после последнего движения перед публикацией состояния «выключено» MQTT." + }, + "enabled_in_config": { + "label": "Исходное состояние движения", + "description": "Указывает, было ли включено обнаружение движения в исходной статической конфигурации." + }, + "raw_mask": { + "label": "Исходная маска" + } + }, + "objects": { + "label": "Объекты", + "description": "Параметры отслеживания объектов по умолчанию, включая метки для отслеживания и фильтры для каждого объекта.", + "track": { + "label": "Объекты для отслеживания" + }, + "filters": { + "label": "Фильтры объектов", + "description": "К обнаруженным объектам применяются фильтры для уменьшения ложных срабатываний (площадь, соотношение, достоверность).", + "min_area": { + "label": "Минимальная площадь объекта", + "description": "Минимальная площадь ограничивающей рамки (в пикселях или процентах), необходимая для этого типа объекта. Может быть в пикселях (целое число) или в процентах (плавающее значение от 0,000001 до 0,99)." + }, + "max_area": { + "label": "Максимальная площадь объекта", + "description": "Максимальная площадь ограничивающей рамки (в пикселях или процентах), разрешенная для этого типа объекта. Может быть в пикселях (целое число) или в процентах (плавающее значение от 0,000001 до 0,99)." + }, + "min_ratio": { + "label": "Минимальное соотношение сторон", + "description": "Минимальное соотношение ширины и высоты, необходимое для соответствия ограничивающей рамки." + }, + "max_ratio": { + "label": "Максимальное соотношение сторон", + "description": "Максимальное соотношение ширины и высоты, допускаемое для соответствия ограничивающей рамке." + }, + "threshold": { + "label": "Порог уверенности", + "description": "Средний порог достоверности обнаружения, необходимый для того, чтобы объект считался истинно положительным." + }, + "min_score": { + "label": "Минимальная уверенность", + "description": "Минимальная достоверность обнаружения одного кадра, необходимая для подсчета объекта." + }, + "mask": { + "label": "Маска фильтра", + "description": "Координаты полигона, определяющие, где этот фильтр применяется в кадре." + }, + "raw_mask": { + "label": "Исходная маска" + } + }, + "mask": { + "label": "Маска объекта", + "description": "Полигон маски, используемый для предотвращения обнаружения объектов в определенных областях." + }, + "raw_mask": { + "label": "Исходная маска" + }, + "genai": { + "label": "Конфигурация объекта GenAI", + "description": "Опции GenAI для описания отслеживаемых объектов и отправки кадров на генерацию.", + "enabled": { + "label": "Включить GenAI", + "description": "По умолчанию включить GenAI генерацию описаний отслеживаемых объектов." + }, + "use_snapshot": { + "label": "Используйте снимки", + "description": "Используйте снимки объектов вместо миниатюр для создания описания GenAI." + }, + "prompt": { + "label": "Промпт описания", + "description": "Шаблон промпта по умолчанию для генерации описаний с помощью GenAI." + }, + "object_prompts": { + "label": "Промпты по объектам", + "description": "Промпты для отдельных объектов, чтобы настроить вывод GenAI для конкретных меток." + }, + "objects": { + "label": "Объекты GenAI", + "description": "Список меток объектов для отправки в GenAI по умолчанию." + }, + "required_zones": { + "label": "Обязательные зоны", + "description": "Зоны, которые необходимо ввести для объектов, чтобы соответствовать критериям создания описания GenAI." + }, + "debug_save_thumbnails": { + "label": "Сохранить миниатюры", + "description": "Сохранять миниатюры, отправляемые в GenAI, для отладки и просмотра." + }, + "send_triggers": { + "label": "Триггеры GenAI", + "description": "Определяет, когда кадры должны отправляться на GenAI (по окончании, после обновлений и т. д.).", + "tracked_object_end": { + "label": "Отправить в конце", + "description": "Отправьте запрос на GenAI, когда отслеживаемый объект закончится." + }, + "after_significant_updates": { + "label": "Ранний триггер GenAI", + "description": "Отправьте запрос GenAI после указанного количества существенных обновлений отслеживаемого объекта." + } + }, + "enabled_in_config": { + "label": "Исходное состояние GenAI", + "description": "Указывает, был ли включен GenAI в исходной статической конфигурации." + } + } + }, + "record": { + "label": "Запись", + "enabled": { + "label": "Включить запись" + }, + "expire_interval": { + "label": "Запись интервала очистки", + "description": "Минуты между проходами очистки, при которых удаляются просроченные сегменты записи." + }, + "continuous": { + "label": "Постоянное удержание", + "description": "Количество дней для хранения записей независимо от отслеживаемых объектов или движения. Установите значение 0, если вы хотите сохранять только записи предупреждений и обнаружений.", + "days": { + "label": "Дни хранения", + "description": "Дни хранения записей." + } + }, + "motion": { + "label": "Удержание движения", + "description": "Количество дней для хранения записей, вызванных движением, независимо от отслеживаемых объектов. Установите значение 0, если вы хотите сохранять только записи предупреждений и обнаружений.", + "days": { + "label": "Дни хранения", + "description": "Дни хранения записей." + } + }, + "detections": { + "label": "Сохранение обнаружения", + "description": "Настройки хранения записи для событий обнаружения, включая продолжительность до и после захвата.", + "pre_capture": { + "label": "Предварительная съемка секунд", + "description": "Количество секунд до события обнаружения, которое необходимо включить в запись." + }, + "post_capture": { + "label": "Секунды после захвата", + "description": "Количество секунд после события обнаружения, которое необходимо включить в запись." + }, + "retain": { + "label": "Сохранение событий", + "description": "Настройки хранения записей событий обнаружения.", + "days": { + "label": "Дни хранения", + "description": "Количество дней для хранения записей событий обнаружения." + }, + "mode": { + "label": "Режим хранения", + "description": "Режим сохранения: all (сохранить все сегменты), motion (сохранить сегменты с движением) или active_objects (сохранить сегменты с активными объектами)." + } + } + }, + "alerts": { + "label": "Сохранение оповещений", + "description": "Настройки хранения записи для событий оповещений, включая продолжительность до и после захвата.", + "pre_capture": { + "label": "Предварительная съемка секунд", + "description": "Количество секунд до события обнаружения, которое необходимо включить в запись." + }, + "post_capture": { + "label": "Секунды после захвата", + "description": "Количество секунд после события обнаружения, которое необходимо включить в запись." + }, + "retain": { + "label": "Сохранение событий", + "description": "Настройки хранения записей событий обнаружения.", + "days": { + "label": "Дни хранения", + "description": "Количество дней для хранения записей событий обнаружения." + }, + "mode": { + "label": "Режим хранения", + "description": "Режим сохранения: all (сохранить все сегменты), motion (сохранить сегменты с движением) или active_objects (сохранить сегменты с активными объектами)." + } + } + }, + "export": { + "label": "Экспортировать конфигурацию", + "description": "Настройки, используемые при экспорте записей, такие как замедленная съемка и аппаратное ускорение.", + "hwaccel_args": { + "label": "Экспортировать аргументы hwaccel", + "description": "Аргументы аппаратного ускорения, используемые для операций экспорта/перекодирования." + }, + "max_concurrent": { + "label": "Максимальный одновременный экспорт", + "description": "Максимальное количество заданий экспорта, обрабатываемых одновременно." + }, + "chapters": { + "label": "Метаданные глав для встраивания в экспортированные записи" + } + }, + "preview": { + "label": "Предварительный просмотр конфигурации", + "description": "Настройки, управляющие качеством предварительного просмотра записи, отображаемого в пользовательском интерфейсе.", + "quality": { + "label": "Предварительный просмотр качества", + "description": "Уровень качества предпросмотра (very_low, low, medium, high, very_high)." + } + }, + "enabled_in_config": { + "label": "Исходное состояние записи", + "description": "Указывает, была ли запись включена в исходной статической конфигурации." + } + }, + "review": { + "label": "Проверка", + "alerts": { + "label": "Конфигурация оповещений", + "description": "Настройки, для которых отслеживаемые объекты генерируют оповещения и как оповещения сохраняются.", + "enabled": { + "label": "Включить оповещения" + }, + "labels": { + "label": "Предупреждающие ярлыки", + "description": "Список меток объектов, которые квалифицируются как оповещения (например: машина, человек)." + }, + "required_zones": { + "label": "Обязательные зоны", + "description": "Зоны, в которые должен войти объект, чтобы считаться оповещением; оставьте пустым, чтобы разрешить любую зону." + }, + "enabled_in_config": { + "label": "Исходное состояние оповещений", + "description": "Отслеживает, были ли оповещения изначально включены в статической конфигурации." + }, + "cutoff_time": { + "label": "Время окончания оповещений", + "description": "Секунды ожидания после отсутствия активности, вызывающей оповещение, прежде чем отключать оповещение." + } + }, + "detections": { + "label": "Конфигурация обнаружения", + "description": "Настройки, для которых отслеживаемые объекты генерируют обнаружения (без оповещения) и порядок сохранения обнаружений.", + "enabled": { + "label": "Включить обнаружение" + }, + "labels": { + "label": "Метки обнаружения", + "description": "\"Список меток объектов, которые квалифицируются как события обнаружения." + }, + "required_zones": { + "label": "Обязательные зоны", + "description": "Зоны, в которые должен войти объект, чтобы считаться обнаруженным; оставьте пустым, чтобы разрешить любую зону." + }, + "cutoff_time": { + "label": "Время прекращения обнаружения", + "description": "Секунды ожидания после отсутствия активности, вызывающей обнаружение, прежде чем отключать обнаружение." + }, + "enabled_in_config": { + "label": "Исходное состояние обнаружений", + "description": "Отслеживает, были ли изначально включены обнаружения в статической конфигурации." + } + }, + "genai": { + "label": "Конфигурация GenAI", + "description": "Контролирует использование генеративного искусственного интеллекта для создания описаний и резюме элементов обзора.", + "enabled": { + "label": "Включить описания GenAI", + "description": "Включить или отключить описания и сводки GenAI для элементов проверки." + }, + "alerts": { + "label": "Включить GenAI для оповещений", + "description": "Используйте GenAI для создания описаний элементов оповещений." + }, + "detections": { + "label": "Включить GenAI для детекций", + "description": "Используйте GenAI для создания описаний элементов обнаружения." + }, + "image_source": { + "label": "Проверьте источник изображения", + "description": "\"Источник изображений, отправляемых на GenAI ('preview' или 'recordings'); 'recordings' использует кадры более высокого качества, но больше токенов." + }, + "additional_concerns": { + "label": "Дополнительные проблемы", + "description": "Список дополнительных проблем или примечаний, которые GenAI следует учитывать при оценке активности на этой камере." + }, + "debug_save_thumbnails": { + "label": "Сохранить миниатюры", + "description": "Сохраняйте миниатюры, которые отправляются поставщику GenAI для отладки и проверки." + }, + "enabled_in_config": { + "label": "Исходное состояние GenAI", + "description": "Отслеживает, была ли изначально включена проверка GenAI в статической конфигурации." + }, + "preferred_language": { + "label": "Предпочитаемый язык", + "description": "Предпочитаемый язык для запроса у провайдера GenAI сгенерированных ответов." + }, + "activity_context_prompt": { + "label": "Промпт контекста активности", + "description": "Пользовательский промпт, описывающий, какая активность считается подозрительной, а какая нет, для контекста сводок GenAI." + } + } + }, + "snapshots": { + "label": "Снимки", + "enabled": { + "label": "Включить снимки" + }, + "timestamp": { + "label": "Наложение временной метки", + "description": "Наложение временной метки на снимки из API." + }, + "bounding_box": { + "label": "Наложение ограничивающей рамки", + "description": "Рисовать ограничивающие рамки отслеживаемых объектов на снимках из API." + }, + "crop": { + "label": "Обрезать снимок", + "description": "Обрезать снимки API по ограничивающей рамке обнаруженного объекта." + }, + "required_zones": { + "label": "Обязательные зоны", + "description": "Зоны, в которые должен войти объект, чтобы снимок был сохранен." + }, + "height": { + "label": "Высота снимка", + "description": "Высота (в пикселях) для изменения размера снимков с API на; оставьте пустым, чтобы сохранить исходный размер." + }, + "retain": { + "label": "Хранение снимков", + "description": "Настройки хранения для снимков, включая дни по умолчанию и переопределения для каждого объекта.", + "default": { + "label": "Срок хранения по умолчанию", + "description": "Число дней по умолчанию для хранения снимков." + }, + "objects": { + "label": "Сохранение объекта", + "description": "Переопределения дней хранения снимков для каждого объекта." + } + }, + "quality": { + "label": "Качество снимка", + "description": "Качество кодирования для сохраненных снимков (0–100)." + } + }, + "timestamp_style": { + "label": "Стиль временной метки", + "position": { + "label": "Позиция временной метки", + "description": "Положение отметки времени на изображении (tl/tr/bl/br)." + }, + "format": { + "label": "Формат временной метки", + "description": "Строка формата даты и времени, используемая для меток времени (коды формата даты и времени Python)." + }, + "color": { + "label": "Цвет временной метки", + "description": "Значения цвета RGB для текста метки времени (все значения от 0 до 255).", + "red": { + "label": "Красный", + "description": "Красный компонент (0–255) для цвета метки времени." + }, + "green": { + "label": "Зелёный", + "description": "Зеленый компонент (0–255) для цвета метки времени." + }, + "blue": { + "label": "Синий", + "description": "Синий компонент (0–255) для цвета метки времени." + } + }, + "thickness": { + "label": "Толщина временной метки", + "description": "Толщина линии текста метки времени." + }, + "effect": { + "label": "Эффект временной метки", + "description": "Визуальный эффект для текста метки времени (нет, сплошной, тень)." + } + }, + "semantic_search": { + "label": "Семантический поиск", + "triggers": { + "label": "Триггеры", + "description": "Действия и критерии соответствия для триггеров семантического поиска, специфичных для камеры.", + "friendly_name": { + "label": "Дружественное имя", + "description": "Необязательное понятное имя, отображаемое в пользовательском интерфейсе для этого триггера." + }, + "enabled": { + "label": "Включить этот триггер", + "description": "Включить или отключить этот триггер семантического поиска." + }, + "type": { + "label": "Тип триггера", + "description": "Тип триггера: 'thumbnail' (совпадение с изображением) или 'description' (совпадение с текстом)." + }, + "data": { + "label": "Содержимое триггера", + "description": "Текстовая фраза или идентификатор миниатюры для сопоставления с отслеживаемыми объектами." + }, + "threshold": { + "label": "Порог срабатывания", + "description": "Минимальный показатель сходства (0–1), необходимый для активации этого триггера." + }, + "actions": { + "label": "Триггерные действия", + "description": "Список действий при срабатывании триггера (notification, sub_label, attribute)." + } + } + }, + "face_recognition": { + "label": "Распознавание лиц", + "enabled": { + "label": "Включить распознавание лиц" + }, + "min_area": { + "label": "Минимальная площадь лица", + "description": "Минимальная площадь (пиксели) обнаруженного лицевого окна, необходимая для попытки распознавания." + } + }, + "lpr": { + "label": "Распознавание номерных знаков", + "description": "Настройки распознавания номерных знаков, включая пороговые значения обнаружения, форматирование и известные номера.", + "enabled": { + "label": "Включить LPR" + }, + "min_area": { + "label": "Минимальная площадь номера", + "description": "Минимальная площадь номерного знака (в пикселях), необходимая для попытки распознавания." + }, + "enhancement": { + "label": "Уровень улучшения", + "description": "Уровень улучшения (0–10), применяемый к кропам номеров перед OCR; более высокие значения не всегда улучшают результат, уровни выше 5 могут работать только с ночными номерами — используйте осторожно." + }, + "expire_time": { + "label": "Время истечения (сек)", + "description": "Время в секундах, после которого невидимый номер удаляется из трекера (только для выделенных LPR-камер)." + } + }, + "profiles": { + "label": "Профили" + }, + "onvif": { + "label": "ONVIF", + "description": "Соединение ONVIF и настройки автослежения PTZ для этой камеры.", + "host": { + "label": "Хост ONVIF", + "description": "Хост (и дополнительная схема) для службы ONVIF для этой камеры." + }, + "port": { + "label": "Порт ONVIF", + "description": "Номер порта для службы ONVIF." + }, + "user": { + "label": "Имя пользователя ONVIF", + "description": "Имя пользователя для аутентификации ONVIF; на некоторых устройствах требуется администратор для ONVIF." + }, + "password": { + "label": "Пароль ONVIF", + "description": "Пароль для аутентификации ONVIF." + }, + "tls_insecure": { + "label": "Отключить проверку TLS", + "description": "Пропустить проверку TLS и отключить дайджест-аутентификацию для ONVIF (небезопасно; использовать только в безопасных сетях)." + }, + "profile": { + "label": "Профиль ONVIF", + "description": "Конкретный медиа-профиль ONVIF, используемый для элемента управления PTZ, соответствующий токену или имени. Если этот параметр не установлен, автоматически выбирается первый профиль с действительной конфигурацией PTZ." + }, + "autotracking": { + "label": "Автотрекинг", + "description": "Автоматически отслеживайте движущиеся объекты и удерживайте их в центре кадра с помощью движений камеры PTZ.", + "enabled": { + "label": "Включить автотрекинг", + "description": "Включить или отключить автоматическое PTZ-сопровождение обнаруженных объектов." + }, + "calibrate_on_startup": { + "label": "Калибровка при запуске", + "description": "Измерьте скорость двигателя PTZ при запуске, чтобы повысить точность отслеживания. Frigate обновит конфигурацию с помощью motion_weights после калибровки." + }, + "zooming": { + "label": "Режим масштабирования", + "description": "Управляет масштабированием: отключенный (только панорамирование и наклон), полный (наиболее совместимый режим) или условный (одновременное панорамирование, наклон и масштабирование)." + }, + "zoom_factor": { + "label": "Уровень масштабирования", + "description": "Уровень зума на отслеживаемых объектах. Меньшие значения оставляют в кадре больше сцены; большие приближают сильнее, но могут потерять объект. Значения от 0.1 до 0.75." + }, + "track": { + "label": "Отслеживаемые объекты", + "description": "Список типов объектов, которые должны запускать автоматическое отслеживание." + }, + "required_zones": { + "label": "Обязательные зоны", + "description": "Прежде чем начнется автоматическое слежение, объекты должны войти в одну из этих зон." + }, + "return_preset": { + "label": "Вернуть предустановку", + "description": "Имя предустановки ONVIF, настроенное в прошивке камеры, к которому можно вернуться после завершения отслеживания." + }, + "timeout": { + "label": "Тайм-аут возврата", + "description": "Подождите это количество секунд после потери отслеживания, прежде чем возвращать камеру в заданное положение." + }, + "movement_weights": { + "label": "Вес движения", + "description": "Калибровочные значения автоматически генерируются при калибровке камеры. Не вносите изменения вручную." + }, + "enabled_in_config": { + "label": "Исходное состояние автотрека", + "description": "Внутреннее поле для отслеживания того, включено ли в конфигурации автоотслеживание." + } + }, + "ignore_time_mismatch": { + "label": "Игнорировать несоответствие времени", + "description": "Игнорировать расхождение времени между камерой и сервером Frigate при обмене по ONVIF." } } } diff --git a/web/public/locales/ru/config/global.json b/web/public/locales/ru/config/global.json index 64b4958111..847d0461a2 100644 --- a/web/public/locales/ru/config/global.json +++ b/web/public/locales/ru/config/global.json @@ -1,8 +1,9 @@ { "audio": { - "label": "Аудиособытия", + "label": "Обнаружение звука", "enabled": { - "label": "Включить обнаружение звука" + "label": "Включить обнаружение звука", + "description": "Включить или отключить обнаружение аудиособытий для всех камер; можно переопределить для каждой камеры." }, "max_not_heard": { "label": "Завершение таймаута", @@ -13,12 +14,16 @@ "description": "Для запуска функции обнаружения звука требуется минимальный пороговый уровень громкости RMS; более низкие значения повышают чувствительность (например, 200 — высокий, 500 — средний, 1000 — низкий)." }, "listen": { - "description": "Список типов аудиособытий для обнаружения (например: лай, пожарная тревога, крик, речь, вопль).", + "description": "Список типов аудиособытий для обнаружения (например: лай, пожарная тревога, речь, вопль).", "label": "Типы аудиособытий" }, "filters": { "label": "Аудиофильтры", - "description": "Настройки фильтров для каждого типа аудиофайлов, такие как пороговые значения, используются для уменьшения количества ложных срабатываний." + "description": "Настройки фильтров для каждого типа аудиофайлов, такие как пороговые значения, используются для уменьшения количества ложных срабатываний.", + "threshold": { + "label": "Минимальная уверенность в звуке", + "description": "Минимальный порог достоверности для подсчета аудиособытия." + } }, "enabled_in_config": { "label": "Исходное состояние звука", @@ -27,7 +32,8 @@ "num_threads": { "label": "Обнаружение потоков", "description": "Количество потоков, используемых для обработки обнаружения звука." - } + }, + "description": "Настройки обнаружения событий по звуку для всех камер; можно переопределить для каждой камеры." }, "audio_transcription": { "label": "Расшифровка аудиозаписи", @@ -35,6 +41,22 @@ "live_enabled": { "label": "Транскрипция в реальном времени", "description": "Включить потоковую транскрипцию аудио в режиме реального времени по мере его поступления." + }, + "enabled": { + "label": "Включить транскрипцию аудио", + "description": "Включить или отключить автоматическую транскрипцию звука для всех камер; можно переопределить для каждой камеры." + }, + "language": { + "label": "Язык транскрипции", + "description": "\"Код языка, используемый для транскрипции/перевода (например, 'en' для английского языка). См. https://whisper-api.com/docs/languages/ для поддерживаемых языковых кодов." + }, + "device": { + "label": "Устройство транскрипции", + "description": "Ключ устройства (CPU/GPU) для запуска модели транскрипции. В настоящее время для транскрипции поддерживаются только графические процессоры NVIDIA CUDA." + }, + "model_size": { + "label": "Размер модели", + "description": "Размер модели, который будет использоваться для транскрипции аудиособытий в автономном режиме." } }, "birdseye": { @@ -51,13 +73,50 @@ "order": { "label": "Позиция", "description": "Числовое значение, управляющее порядком расположения камер в схеме Birdseye." + }, + "restream": { + "label": "Рестрим RTSP", + "description": "Повторно транслировать вывод Birdseye в канал RTSP; включение этого параметра обеспечит непрерывную работу Birdseye." + }, + "width": { + "label": "Ширина", + "description": "Выходная ширина (в пикселях) составного кадра Birdseye." + }, + "height": { + "label": "Высота", + "description": "Выходная высота (в пикселях) составного кадра Birdseye." + }, + "quality": { + "label": "Качество кодирования", + "description": "Качество кодирования для канала Birdseye mpeg1 (1 самое высокое качество, 31 самое низкое)." + }, + "inactivity_threshold": { + "label": "Порог неактивности", + "description": "Секунды бездействия, после которых камера перестанет отображаться в Birdseye." + }, + "layout": { + "label": "Макет", + "description": "Варианты компоновки композиции Birdseye.", + "scaling_factor": { + "label": "Коэффициент масштабирования", + "description": "Коэффициент масштабирования, используемый калькулятором макета (диапазон от 1,0 до 5,0)." + }, + "max_cameras": { + "label": "Макс. камеры", + "description": "Максимальное количество камер для одновременного отображения в Birdseye; показывает самые последние камеры." + } + }, + "idle_heartbeat_fps": { + "label": "Пустой пульс FPS", + "description": "Количество кадров в секунду для повторной отправки последнего составленного кадра Birdseye в режиме ожидания; установите значение 0, чтобы отключить." } }, "detect": { "label": "Обнаружение объектов", "description": "Настройки роли обнаружения, используемые для запуска обнаружения объектов и инициализации трекеров.", "enabled": { - "label": "Включить обнаружение объектов" + "label": "Включить обнаружение объектов", + "description": "Включить или отключить обнаружение объектов для всех камер; можно переопределить для каждой камеры." }, "height": { "label": "Высота обнаружения", @@ -81,7 +140,35 @@ }, "stationary": { "label": "Конфигурация стационарных объектов", - "description": "Настройки для обнаружения и управления объектами, которые остаются неподвижными в течение определенного периода времени." + "description": "Настройки для обнаружения и управления объектами, которые остаются неподвижными в течение определенного периода времени.", + "interval": { + "label": "Стационарный интервал", + "description": "Как часто (в кадрах) запускать проверку обнаружения для подтверждения неподвижного объекта." + }, + "threshold": { + "label": "Стационарный порог", + "description": "Количество кадров без изменения положения, необходимое для того, чтобы пометить объект как неподвижный." + }, + "max_frames": { + "label": "Максимальное количество кадров", + "description": "Ограничивает продолжительность отслеживания стационарных объектов, прежде чем они будут отброшены.", + "default": { + "label": "Максимальное количество кадров по умолчанию", + "description": "Максимальное количество кадров по умолчанию для отслеживания неподвижного объекта перед остановкой." + }, + "objects": { + "label": "Максимальное количество кадров объекта", + "description": "Переопределения для каждого объекта для максимального количества кадров для отслеживания неподвижных объектов." + } + }, + "classifier": { + "label": "Включить визуальный классификатор", + "description": "Используйте визуальный классификатор для обнаружения действительно неподвижных объектов даже при дрожании ограничивающих рамок." + } + }, + "annotation_offset": { + "label": "Смещение аннотации", + "description": "Миллисекунды для обнаружения смещения аннотаций, чтобы лучше совместить ограничивающие рамки временной шкалы с записями; может быть положительным или отрицательным." } }, "version": { @@ -104,7 +191,8 @@ "description": "Стандартный глобальный уровень логирования (debug, info, warning, error)." }, "logs": { - "label": "Уровень логирования для каждого процесса" + "label": "Уровень логирования для каждого процесса", + "description": "Переопределение уровня логирования отдельных компонентов для увеличения или уменьшения детализации конкретных модулей." } }, "auth": { @@ -135,7 +223,1408 @@ "description": "Когда сессия в стольки секундах от истечения, обновить её обратно к полной длительности." }, "failed_login_rate_limit": { - "label": "Лимит неудавшихся попыток логина" + "label": "Лимит неудавшихся попыток логина", + "description": "Правила ограничения частоты неудачных попыток входа для снижения риска перебора паролей." + }, + "trusted_proxies": { + "label": "Доверенные прокси", + "description": "Список IP доверенных прокси, используемых при определении IP клиента для ограничения частоты запросов." + }, + "hash_iterations": { + "label": "Число итераций хеширования", + "description": "Число итераций PBKDF2-SHA256, используемых при хешировании паролей пользователей." + }, + "roles": { + "label": "Сопоставления ролей", + "description": "Сопоставление ролей со списками камер. Пустой список даёт роли доступ ко всем камерам." + }, + "admin_first_time_login": { + "label": "Флаг первого входа администратора", + "description": "Если включено, интерфейс может показать ссылку со справкой на странице входа о том, как войти после сброса пароля администратора. " + } + }, + "database": { + "label": "База данных", + "description": "Настройки базы данных SQLite, которую Frigate использует для хранения метаданных отслеживаемых объектов и записей.", + "path": { + "label": "Путь к базе данных", + "description": "Путь файловой системы, где будет храниться файл базы данных Frigate SQLite." + } + }, + "go2rtc": { + "label": "go2rtc", + "description": "Настройки встроенного сервиса рестриминга go2rtc для ретрансляции и преобразования прямых потоков." + }, + "mqtt": { + "label": "MQTT", + "description": "Настройки для подключения и публикации телеметрии, снимков и сведений о событиях в брокере MQTT.", + "enabled": { + "label": "Включить MQTT", + "description": "Включить или отключить интеграцию MQTT для состояния, событий и снимков." + }, + "host": { + "label": "Хост MQTT", + "description": "Имя хоста или IP-адрес брокера MQTT." + }, + "port": { + "label": "Порт MQTT", + "description": "Порт брокера MQTT (обычно 1883 для обычного MQTT)." + }, + "topic_prefix": { + "label": "Префикс топика", + "description": "Префикс топика MQTT для всех топиков Frigate; должен быть уникальным при запуске нескольких экземпляров." + }, + "client_id": { + "label": "Идентификатор клиента", + "description": "Идентификатор клиента, используемый при подключении к брокеру MQTT; должно быть уникальным для каждого экземпляра." + }, + "stats_interval": { + "label": "Интервал статистики", + "description": "Интервал в секундах для публикации статистики системы и камеры в MQTT." + }, + "user": { + "label": "Имя пользователя MQTT", + "description": "\"Необязательное имя пользователя MQTT; могут быть предоставлены через переменные среды или секреты." + }, + "password": { + "label": "Пароль MQTT", + "description": "Дополнительный пароль MQTT; могут быть предоставлены через переменные среды или секреты." + }, + "tls_ca_certs": { + "label": "TLS Сертификаты CA", + "description": "Путь к сертификату CA для подключений TLS к брокеру (для самозаверяющих сертификатов)." + }, + "tls_client_cert": { + "label": "Сертификат клиента", + "description": "Путь сертификата клиента для взаимной аутентификации TLS; не устанавливайте пользователя/пароль при использовании клиентских сертификатов." + }, + "tls_client_key": { + "label": "Ключ клиента", + "description": "Путь закрытого ключа для сертификата клиента." + }, + "tls_insecure": { + "label": "TLS небезопасно", + "description": "Разрешите небезопасные соединения TLS, пропустив проверку имени хоста (не рекомендуется)." + }, + "qos": { + "label": "MQTT QoS", + "description": "Уровень качества обслуживания для публикаций/подписок MQTT (0, 1 или 2)." + } + }, + "notifications": { + "label": "Уведомления", + "description": "Настройки для включения и управления уведомлениями для всех камер; можно переопределить для каждой камеры.", + "enabled": { + "label": "Включить уведомления", + "description": "Включить или отключить уведомления для всех камер; можно переопределить для каждой камеры." + }, + "email": { + "label": "Уведомление по электронной почте", + "description": "Адрес электронной почты, используемый для push-уведомлений или требуемый некоторыми поставщиками уведомлений." + }, + "cooldown": { + "label": "Период охлаждения", + "description": "Пауза (в секундах) между уведомлениями, чтобы не спамить получателей." + }, + "enabled_in_config": { + "label": "Исходное состояние уведомлений", + "description": "Указывает, были ли уведомления включены в исходной статической конфигурации." + } + }, + "networking": { + "label": "Сеть", + "description": "Настройки, связанные с сетью, такие как включение IPv6 для конечных точек Frigate.", + "ipv6": { + "label": "Конфигурация IPv6", + "description": "Специальные настройки IPv6 для сетевых служб Frigate.", + "enabled": { + "label": "Включить IPv6", + "description": "Включить поддержку IPv6 для сервисов Frigate (API и UI), где это применимо." + } + }, + "listen": { + "label": "Конфигурация прослушиваемых портов", + "description": "Конфигурация внутренних и внешних портов прослушивания. Это для продвинутых пользователей. В большинстве случаев рекомендуется изменить раздел портов в файле компоновки Docker.", + "internal": { + "label": "Внутренний порт", + "description": "Внутренний порт прослушивания для Frigate (по умолчанию 5000)." + }, + "external": { + "label": "Внешний порт", + "description": "Внешний порт прослушивания для Frigate (по умолчанию 8971)." + } + } + }, + "proxy": { + "label": "Прокси", + "description": "Настройки для интеграции Frigate за обратным прокси-сервером, который передает заголовки аутентифицированных пользователей.", + "header_map": { + "label": "Сопоставление заголовков", + "description": "Сопоставление входящих заголовков прокси с полями пользователя и роли Frigate для аутентификации через прокси.", + "user": { + "label": "Заголовок пользователя", + "description": "Заголовок, содержащий аутентифицированное имя пользователя, предоставленное вышестоящим прокси-сервером." + }, + "role": { + "label": "Заголовок роли", + "description": "Заголовок с ролью или группами аутентифицированного пользователя от upstream-прокси." + }, + "role_map": { + "label": "Сопоставление ролей", + "description": "Сопоставление значений групп из upstream с ролями Frigate (например, группы администраторов — с ролью admin)." + } + }, + "logout_url": { + "label": "URL выхода", + "description": "URL для перенаправления пользователей при выходе из системы через прокси." + }, + "auth_secret": { + "label": "Секрет прокси", + "description": "Необязательный секрет проверяется по заголовку X-Proxy-Secret для проверки доверенных прокси." + }, + "default_role": { + "label": "Роль по умолчанию", + "description": "Роль по умолчанию для пользователей, аутентифицированных через прокси, если сопоставление ролей не применимо." + }, + "separator": { + "label": "Символ-разделитель", + "description": "Символ, используемый для разделения нескольких значений, указанных в заголовках прокси." + } + }, + "telemetry": { + "label": "Телеметрия", + "description": "Параметры системной телеметрии и статистики, включая GPU и мониторинг пропускной способности сети.", + "network_interfaces": { + "label": "Сетевые интерфейсы", + "description": "Список префиксов имен сетевых интерфейсов для отслеживания статистики пропускной способности." + }, + "stats": { + "label": "Системная статистика", + "description": "Опции для включения/выключения сбора различной статистики системы и GPU.", + "amd_gpu_stats": { + "label": "Статистика AMD GPU", + "description": "Включить сбор статистики AMD GPU, если GPU AMD присутствует." + }, + "intel_gpu_stats": { + "label": "Статистика Intel GPU", + "description": "Включить сбор статистики Intel GPU, если GPU Intel присутствует." + }, + "network_bandwidth": { + "label": "Пропускная способность сети", + "description": "Включить мониторинг сетевой пропускной способности по процессам для FFmpeg камер и детекторов (требуются capabilities)." + }, + "intel_gpu_device": { + "label": "Устройство Intel GPU", + "description": "Адрес шины PCI или путь к устройству DRM (например, /dev/dri/card1), используемый для закрепления статистики Intel GPU на конкретном устройстве, если их несколько." + } + }, + "version_check": { + "label": "Проверка версии", + "description": "Включить внешнюю проверку наличия более новой версии Frigate." + } + }, + "tls": { + "label": "TLS", + "description": "Настройки TLS для конечных веб-точек Frigate (порт 8971).", + "enabled": { + "label": "Включить TLS", + "description": "Включить TLS для веб-интерфейса и API Frigate на настроенном TLS-порту." + } + }, + "ui": { + "label": "Интерфейс", + "description": "Параметры интерфейса: часовой пояс, формат времени/даты и единицы измерения.", + "timezone": { + "label": "Часовой пояс", + "description": "Дополнительный часовой пояс для отображения в пользовательском интерфейсе (по умолчанию используется местное время браузера, если оно не установлено)." + }, + "time_format": { + "label": "Формат времени", + "description": "Формат времени для использования в пользовательском интерфейсе (браузер, 12 часов или 24 часа)." + }, + "unit_system": { + "label": "Система единиц", + "description": "Система единиц измерения (метрическая или дюймовая), используемая в пользовательском интерфейсе и MQTT." + } + }, + "detectors": { + "label": "Детекторное оборудование", + "description": "Конфигурация детекторов объектов (CPU, GPU, ONNX и др.) и связанных настроек моделей.", + "type": { + "label": "Тип" + }, + "model": { + "label": "Конфигурация конкретной модели детектора", + "description": "Параметры конфигурации модели для конкретного детектора (путь, входной размер и т. д.).", + "path": { + "label": "Путь к модели пользовательского детектора объектов", + "description": "Путь к файлу пользовательской модели обнаружения (или plus:// для моделей Frigate+)." + }, + "labelmap_path": { + "label": "Карта меток для пользовательского детектора объектов", + "description": "Путь к файлу карты меток, который сопоставляет числовые классы со строковыми метками детектора." + }, + "width": { + "label": "Ширина ввода модели обнаружения объектов", + "description": "Ширина входного тензора модели в пикселях." + }, + "height": { + "label": "Входная высота модели обнаружения объектов", + "description": "Высота входного тензора модели в пикселях." + }, + "labelmap": { + "label": "Настройка карты меток", + "description": "Переопределяет или переназначает записи для объединения со стандартной картой меток." + }, + "attributes_map": { + "label": "Сопоставление меток объектов с метками их атрибутов", + "description": "Сопоставление меток объектов с метками атрибутов, используемыми для прикрепления метаданных (например, 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Форма входного тензора модели", + "description": "Формат тензора, ожидаемый моделью: 'nhwc' или 'nchw'." + }, + "input_pixel_format": { + "label": "Модель Входной формат цвета пикселей", + "description": "Цветовое пространство пикселей, ожидаемое моделью: 'rgb', 'bgr' или 'yuv'." + }, + "input_dtype": { + "label": "Модель Тип входа D", + "description": "Тип данных входного тензора модели (например, 'float32')." + }, + "model_type": { + "label": "Тип модели обнаружения объектов", + "description": "Тип архитектуры модели детектора (ssd, yolox, yolonas, yolo-generic, rfdetr, dfine), используемый некоторыми детекторами для оптимизации." + } + }, + "model_path": { + "label": "Траектория конкретной модели детектора", + "description": "Путь к двоичному файлу модели детектора, если этого требует выбранный детектор." + }, + "axengine": { + "label": "AXEngine NPU", + "description": "Детектор AXERA AX650N/AX8850N NPU запускает скомпилированные файлы .axmodel через среду выполнения AXEngine." + }, + "cpu": { + "label": "CPU", + "description": "Детектор CPU TFLite, запускающий модели TensorFlow Lite на хосте CPU без аппаратного ускорения. Не рекомендуется.", + "num_threads": { + "label": "Количество потоков обнаружения", + "description": "Количество потоков, используемых для вывода на основе CPU." + } + }, + "deepstack": { + "label": "DeepStack", + "description": "Детектор DeepStack/CodeProject.AI, который отправляет изображения на удаленный DeepStack HTTP API для вывода. Не рекомендуется.", + "api_url": { + "label": "DeepStack API URL", + "description": "URL из DeepStack API." + }, + "api_timeout": { + "label": "DeepStack API тайм-аут (в секундах)", + "description": "Максимальное время, разрешенное для запроса DeepStack API." + }, + "api_key": { + "label": "DeepStack API ключ (при необходимости)", + "description": "Дополнительный ключ API для аутентифицированных сервисов DeepStack." + } + }, + "degirum": { + "label": "DeGirum", + "description": "\"Детектор DeGirum для запуска моделей через облако DeGirum или локальные службы вывода.", + "location": { + "label": "Место вывода", + "description": "Расположение механизма вывода ДеГирима (например, '@cloud', '127.0.0.1')." + }, + "zoo": { + "label": "Модельный зоопарк", + "description": "Путь или URL к зоопарку моделей DeGirum." + }, + "token": { + "label": "DeGirum Облачный токен", + "description": "Токен для доступа к облаку DeGirum." + } + }, + "edgetpu": { + "label": "EdgeTPU", + "description": "Детектор EdgeTPU, который запускает модели TensorFlow Lite, скомпилированные для Coral EdgeTPU с использованием делегата EdgeTPU.", + "device": { + "label": "Тип устройства", + "description": "Устройство, которое будет использоваться для вывода EdgeTPU (например, 'usb', 'pci')." + } + }, + "hailo8l": { + "label": "Hailo-8/Hailo-8L", + "description": "Детектор Hailo-8/Hailo-8L с использованием моделей HEF и HailoRT SDK для вывода на оборудовании Hailo.", + "device": { + "label": "Тип устройства", + "description": "Устройство, которое будет использоваться для вывода Hailo (например, 'PCIe', 'M.2')." + } + }, + "memryx": { + "label": "MemryX", + "description": "Детектор MemryX MX3, который запускает скомпилированные модели DFP на ускорителях MemryX.", + "device": { + "label": "Путь к устройству", + "description": "Устройство, которое будет использоваться для вывода MemryX (например, 'PCIe')." + } + }, + "onnx": { + "label": "ONNX", + "description": "Детектор ONNX для запуска моделей ONNX; будет использовать доступные механизмы ускорения (CUDA/ROCm/OpenVINO), если они доступны.", + "device": { + "label": "Тип устройства", + "description": "Устройство, которое будет использоваться для вывода ONNX (например, 'AUTO', 'CPU', 'GPU')." + } + }, + "openvino": { + "label": "OpenVINO", + "description": "\"Детектор OpenVINO для процессоров AMD и Intel, графических процессоров Intel и оборудования Intel VPU.", + "device": { + "label": "Тип устройства", + "description": "Устройство, которое будет использоваться для вывода OpenVINO (например, 'CPU', 'GPU', 'NPU')." + } + }, + "rknn": { + "label": "RKNN", + "description": "Детектор RKNN для NPU Rockchip; запускает скомпилированные модели RKNN на оборудовании Rockchip.", + "num_cores": { + "label": "Количество используемых ядер NPU.", + "description": "Количество используемых ядер NPU (0 для автоматического режима)." + } + }, + "synaptics": { + "label": "Synaptics", + "description": "Детектор Synaptics NPU для моделей в формате .synap, использующих Synap SDK на оборудовании Synaptics." + }, + "teflon_tfl": { + "label": "Teflon", + "description": "Детектор делегатов Teflon для TFLite с использованием библиотеки делегатов Mesa Teflon для ускорения вывода на поддерживаемых графических процессорах." + }, + "tensorrt": { + "label": "TensorRT", + "description": "Детектор TensorRT для устройств Nvidia Jetson, использующих сериализованные механизмы TensorRT для ускоренного вывода.", + "device": { + "label": "Индекс устройства GPU", + "description": "Используемый индекс устройства GPU." + } + }, + "zmq": { + "label": "ZMQ IPC", + "description": "Детектор ZMQ IPC, который выгружает логические выводы внешнему процессу через конечную точку ZeroMQ IPC.", + "endpoint": { + "label": "ZMQ IPC конечная точка", + "description": "Конечная точка ZMQ для подключения." + }, + "request_timeout_ms": { + "label": "ZMQ Тайм-аут запроса в миллисекундах", + "description": "Тайм-аут запросов ZMQ в миллисекундах." + }, + "linger_ms": { + "label": "Задержка сокета ZMQ в миллисекундах", + "description": "Период задержки сокета в миллисекундах." + } + } + }, + "model": { + "label": "Модель обнаружения", + "description": "Настройки для настройки пользовательской модели обнаружения объектов и ее входной формы.", + "path": { + "label": "Путь к модели пользовательского детектора объектов", + "description": "Путь к файлу пользовательской модели обнаружения (или plus:// для моделей Frigate+)." + }, + "labelmap_path": { + "label": "Карта меток для пользовательского детектора объектов", + "description": "Путь к файлу карты меток, который сопоставляет числовые классы со строковыми метками детектора." + }, + "width": { + "label": "Ширина ввода модели обнаружения объектов", + "description": "Ширина входного тензора модели в пикселях." + }, + "height": { + "label": "Входная высота модели обнаружения объектов", + "description": "\"Высота входного тензора модели в пикселях." + }, + "labelmap": { + "label": "Настройка карты меток", + "description": "Переопределяет или переназначает записи для объединения со стандартной картой меток." + }, + "attributes_map": { + "label": "Сопоставление меток объектов с метками их атрибутов", + "description": "Сопоставление меток объектов с метками атрибутов, используемыми для прикрепления метаданных (например, 'car' -> ['license_plate'])." + }, + "input_tensor": { + "label": "Форма входного тензора модели", + "description": "Формат тензора, ожидаемый моделью: 'nhwc' или 'nchw'." + }, + "input_pixel_format": { + "label": "Модель Входной формат цвета пикселей", + "description": "Цветовое пространство пикселей, ожидаемое моделью: 'rgb', 'bgr' или 'yuv'." + }, + "input_dtype": { + "label": "Модель Тип входа D", + "description": "Тип данных входного тензора модели (например, 'float32')." + }, + "model_type": { + "label": "Тип модели обнаружения объектов", + "description": "Тип архитектуры модели детектора (ssd, yolox, yolonas, yolo-generic, rfdetr, dfine), используемый некоторыми детекторами для оптимизации." + } + }, + "genai": { + "label": "Генеративная конфигурация ИИ", + "description": "Настройки для интегрированных поставщиков генеративного искусственного интеллекта, используемые для создания описаний объектов и обзоров.", + "api_key": { + "label": "Ключ API", + "description": "Ключ API, необходимый некоторым поставщикам (также может быть установлен через переменные среды)." + }, + "base_url": { + "label": "База URL", + "description": "Базовый URL для self-hosted или совместимых провайдеров (например, экземпляр Ollama)." + }, + "model": { + "label": "Модель", + "description": "Модель провайдера для генерации описаний или сводок." + }, + "provider": { + "label": "Поставщик", + "description": "Провайдер GenAI (например: ollama, gemini, openai)." + }, + "roles": { + "label": "Роли", + "description": "Роли GenAI (chat, descriptions, embeddings); один провайдер на роль." + }, + "provider_options": { + "label": "Варианты провайдера", + "description": "Дополнительные параметры конкретного провайдера для клиента GenAI." + }, + "runtime_options": { + "label": "Параметры времени выполнения", + "description": "Параметры выполнения, передаваемые провайдеру при каждом запросе инференса." + } + }, + "ffmpeg": { + "label": "FFmpeg", + "description": "Настройки FFmpeg, включая двоичный путь, аргументы, параметры hwaccel и выходные аргументы для каждой роли.", + "path": { + "label": "Путь FFmpeg", + "description": "Путь к используемому двоичному файлу FFmpeg или псевдоним версии («7.0» или «8.0»)." + }, + "global_args": { + "label": "Глобальные аргументы FFmpeg", + "description": "Глобальные аргументы, передаваемые процессам FFmpeg." + }, + "hwaccel_args": { + "label": "Аргументы аппаратного ускорения", + "description": "Аргументы аппаратного ускорения для FFmpeg. Рекомендуется использовать предустановки, зависящие от поставщика." + }, + "input_args": { + "label": "Входные аргументы", + "description": "Входные аргументы, применяемые к входным потокам FFmpeg." + }, + "output_args": { + "label": "Выходные аргументы", + "description": "Выходные аргументы по умолчанию, используемые для различных ролей FFmpeg, таких как обнаружение и запись.", + "detect": { + "label": "Выходные аргументы обнаружения", + "description": "Выходные аргументы по умолчанию для потоков роли обнуружения." + }, + "record": { + "label": "Выходные аргументы записи", + "description": "Выходные аргументы по умолчанию для потоков роли запись." + } + }, + "retry_interval": { + "label": "Интервал повтора FFmpeg", + "description": "Секунды ожидания перед повторным подключением потока камеры после сбоя. По умолчанию 10." + }, + "apple_compatibility": { + "label": "Совместимость с Apple", + "description": "Включить тегирование HEVC для лучшей совместимости с плеерами Apple при записи H.265." + }, + "gpu": { + "label": "Индекс GPU", + "description": "Индекс GPU по умолчанию, используемый для аппаратного ускорения, если он доступен." + }, + "inputs": { + "label": "Входы камеры", + "description": "Список определений входного потока (пути и роли) для этой камеры.", + "path": { + "label": "Входной путь", + "description": "URL или путь входного потока камеры." + }, + "roles": { + "label": "Входные роли", + "description": "Роли для этого входного потока." + }, + "global_args": { + "label": "Глобальные аргументы FFmpeg", + "description": "Глобальные аргументы FFmpeg для этого входного потока." + }, + "hwaccel_args": { + "label": "Аргументы аппаратного ускорения", + "description": "Аргументы аппаратного ускорения для этого входного потока." + }, + "input_args": { + "label": "Входные аргументы", + "description": "Входные аргументы, специфичные для этого потока." + } + } + }, + "live": { + "label": "Просмотр в реальном времени", + "description": "Настройки разрешения и качества jsmpeg-потока в реальном времени. Не влияет на камеры с рестримом через go2rtc.", + "streams": { + "label": "Имена live-потоков", + "description": "Сопоставление настроенных имён потоков с именами restream/go2rtc для просмотра в реальном времени." + }, + "height": { + "label": "Высота live-потока", + "description": "Высота (в пикселях) для отображения jsmpeg-потока в веб-интерфейсе; должна быть <= высоты потока обнаружения." + }, + "quality": { + "label": "Качество live-потока", + "description": "Качество кодирования потока jsmpeg (1 — наивысшее, 31 — наинизшее)." + } + }, + "motion": { + "label": "Обнаружение движения", + "description": "Настройки обнаружения движения по умолчанию применяются к камерам, если они не переопределены для каждой камеры.", + "enabled": { + "label": "Включить обнаружение движения", + "description": "Включить или отключить обнаружение движения для всех камер; можно переопределить для каждой камеры." + }, + "threshold": { + "label": "Порог движения", + "description": "Порог разницы пикселей, используемый детектором движения; более высокие значения снижают чувствительность (диапазон 1–255)." + }, + "lightning_threshold": { + "label": "Порог молнии", + "description": "Порог для обнаружения и игнорирования кратковременных всплесков освещения (ниже - более чувствительно, значения от 0,3 до 1,0). Это не предотвращает полное обнаружение движения; это просто заставляет детектор прекратить анализ дополнительных кадров после превышения порога. Во время этих событий по-прежнему создаются записи на основе движения." + }, + "skip_motion_threshold": { + "label": "Порог пропуска движения", + "description": "Если задано значение от 0.0 до 1.0 и за один кадр изменяется большая доля изображения, детектор не вернет области движения и сразу выполнит повторную калибровку. Это снижает нагрузку на CPU и число ложных срабатываний во время молний, гроз и т. п., но может пропустить реальные события, например автотрекинг объекта PTZ-камерой. Компромисс состоит в выборе между потерей нескольких мегабайт записи и просмотром пары коротких клипов. Оставьте параметр незаданным (None), чтобы отключить эту функцию." + }, + "improve_contrast": { + "label": "Улучшить контраст", + "description": "Примените улучшение контрастности к кадрам перед анализом движения, чтобы облегчить обнаружение." + }, + "contour_area": { + "label": "Контурная площадь", + "description": "Минимальная площадь контура в пикселях, необходимая для подсчета контура движения." + }, + "delta_alpha": { + "label": "Дельта альфа", + "description": "Коэффициент альфа-смешивания, используемый при различении кадров для расчета движения." + }, + "frame_alpha": { + "label": "Кадр альфа", + "description": "Значение альфа, используемое при смешивании кадров для предварительной обработки движения." + }, + "frame_height": { + "label": "Высота рамки", + "description": "Высота в пикселях для масштабирования кадров при расчете движения." + }, + "mask": { + "label": "Координаты маски", + "description": "Упорядоченные координаты x,y, определяющие многоугольник маски движения, используемый для включения/исключения областей." + }, + "mqtt_off_delay": { + "label": "MQTT задержка выключения", + "description": "Секунды ожидания после последнего движения перед публикацией состояния «выключено» MQTT." + }, + "enabled_in_config": { + "label": "Исходное состояние движения", + "description": "Указывает, было ли включено обнаружение движения в исходной статической конфигурации." + }, + "raw_mask": { + "label": "Исходная маска" + } + }, + "objects": { + "label": "Объекты", + "description": "Параметры отслеживания объектов по умолчанию, включая метки для отслеживания и фильтры для каждого объекта.", + "track": { + "label": "Объекты для отслеживания", + "description": "Список меток объектов для отслеживания для всех камер; можно переопределить для каждой камеры." + }, + "filters": { + "label": "Фильтры объектов", + "description": "К обнаруженным объектам применяются фильтры для уменьшения ложных срабатываний (площадь, соотношение, достоверность).", + "min_area": { + "label": "Минимальная площадь объекта", + "description": "Минимальная площадь ограничивающей рамки (в пикселях или процентах), необходимая для этого типа объекта. Может быть в пикселях (целое число) или в процентах (плавающее значение от 0,000001 до 0,99)." + }, + "max_area": { + "label": "Максимальная площадь объекта", + "description": "Максимальная площадь ограничивающей рамки (в пикселях или процентах), разрешенная для этого типа объекта. Может быть в пикселях (целое число) или в процентах (плавающее значение от 0,000001 до 0,99)." + }, + "min_ratio": { + "label": "Минимальное соотношение сторон", + "description": "Минимальное соотношение ширины и высоты, необходимое для соответствия ограничивающей рамки." + }, + "max_ratio": { + "label": "Максимальное соотношение сторон", + "description": "Максимальное соотношение ширины и высоты, допускаемое для соответствия ограничивающей рамке." + }, + "threshold": { + "label": "Порог уверенности", + "description": "Средний порог достоверности обнаружения, необходимый для того, чтобы объект считался истинно положительным." + }, + "min_score": { + "label": "Минимальная уверенность", + "description": "Минимальная достоверность обнаружения одного кадра, необходимая для подсчета объекта." + }, + "mask": { + "label": "Маска фильтра", + "description": "Координаты полигона, определяющие, где этот фильтр применяется в кадре." + }, + "raw_mask": { + "label": "Исходная маска" + } + }, + "mask": { + "label": "Маска объекта", + "description": "Полигон маски, используемый для предотвращения обнаружения объектов в определенных областях." + }, + "raw_mask": { + "label": "Исходная маска" + }, + "genai": { + "label": "Конфигурация объекта GenAI", + "description": "Опции GenAI для описания отслеживаемых объектов и отправки кадров на генерацию.", + "enabled": { + "label": "Включить GenAI", + "description": "По умолчанию включить GenAI генерацию описаний отслеживаемых объектов." + }, + "use_snapshot": { + "label": "Используйте снимки", + "description": "Используйте снимки объектов вместо миниатюр для создания описания GenAI." + }, + "prompt": { + "label": "Промпт описания", + "description": "Шаблон промпта по умолчанию для генерации описаний с помощью GenAI." + }, + "object_prompts": { + "label": "Промпты по объектам", + "description": "Промпты для отдельных объектов, чтобы настроить вывод GenAI для конкретных меток." + }, + "objects": { + "label": "Объекты GenAI", + "description": "Список меток объектов для отправки в GenAI по умолчанию." + }, + "required_zones": { + "label": "Обязательные зоны", + "description": "Зоны, которые необходимо ввести для объектов, чтобы соответствовать критериям создания описания GenAI." + }, + "debug_save_thumbnails": { + "label": "Сохранить миниатюры", + "description": "Сохранять миниатюры, отправляемые в GenAI, для отладки и просмотра." + }, + "send_triggers": { + "label": "Триггеры GenAI", + "description": "Определяет, когда кадры должны отправляться на GenAI (по окончании, после обновлений и т. д.).", + "tracked_object_end": { + "label": "Отправить в конце", + "description": "Отправьте запрос на GenAI, когда отслеживаемый объект закончится." + }, + "after_significant_updates": { + "label": "Ранний триггер GenAI", + "description": "Отправьте запрос GenAI после указанного количества существенных обновлений отслеживаемого объекта." + } + }, + "enabled_in_config": { + "label": "Исходное состояние GenAI", + "description": "Указывает, был ли включен GenAI в исходной статической конфигурации." + } + }, + "filters_attribute": { + "label": "Фильтры атрибутов", + "description": "К обнаруженным атрибутам применяются фильтры для уменьшения ложных срабатываний (площадь, соотношение, достоверность).", + "min_area": { + "label": "Минимальная площадь атрибута", + "description": "Минимальная площадь ограничивающей рамки (в пикселях или процентах), необходимая для этого атрибута. Может быть в пикселях (целое число) или в процентах (плавающее значение от 0,000001 до 0,99)." + }, + "max_area": { + "label": "Максимальная площадь атрибута", + "description": "Максимальная площадь ограничивающей рамки (в пикселях или процентах), разрешенная для этого атрибута. Может быть в пикселях (целое число) или в процентах (плавающее значение от 0,000001 до 0,99)." + }, + "min_ratio": { + "label": "Минимальное соотношение сторон", + "description": "Минимальное соотношение ширины и высоты, необходимое для соответствия ограничивающей рамки." + }, + "max_ratio": { + "label": "Максимальное соотношение сторон", + "description": "Максимальное соотношение ширины и высоты, допускаемое для соответствия ограничивающей рамке." + }, + "threshold": { + "label": "Порог уверенности", + "description": "Средний порог достоверности обнаружения, необходимый для того, чтобы атрибут считался истинно положительным." + }, + "min_score": { + "label": "Минимальная уверенность", + "description": "Минимальная достоверность обнаружения одного кадра, необходимая для связи этого атрибута с его родительским объектом." + }, + "mask": { + "label": "Маска фильтра", + "description": "Координаты полигона, определяющие, где этот фильтр применяется в кадре." + }, + "raw_mask": { + "label": "Исходная маска" + } + } + }, + "record": { + "label": "Запись", + "description": "Настройки записи и хранения применяются к камерам, если они не переопределены для каждой камеры.", + "enabled": { + "label": "Включить запись", + "description": "Включить или отключить запись для всех камер; можно переопределить для каждой камеры." + }, + "expire_interval": { + "label": "Запись интервала очистки", + "description": "Минуты между проходами очистки, при которых удаляются просроченные сегменты записи." + }, + "continuous": { + "label": "Постоянное удержание", + "description": "Количество дней для хранения записей независимо от отслеживаемых объектов или движения. Установите значение 0, если вы хотите сохранять только записи предупреждений и обнаружений.", + "days": { + "label": "Дни хранения", + "description": "Дни хранения записей." + } + }, + "motion": { + "label": "Удержание движения", + "description": "Количество дней для хранения записей, вызванных движением, независимо от отслеживаемых объектов. Установите значение 0, если вы хотите сохранять только записи предупреждений и обнаружений.", + "days": { + "label": "Дни хранения", + "description": "Дни хранения записей." + } + }, + "detections": { + "label": "Сохранение обнаружения", + "description": "Настройки хранения записи для событий обнаружения, включая продолжительность до и после захвата.", + "pre_capture": { + "label": "Предварительная съемка секунд", + "description": "Количество секунд до события обнаружения, которое необходимо включить в запись." + }, + "post_capture": { + "label": "Секунды после захвата", + "description": "Количество секунд после события обнаружения, которое необходимо включить в запись." + }, + "retain": { + "label": "Сохранение событий", + "description": "Настройки хранения записей событий обнаружения.", + "days": { + "label": "Дни хранения", + "description": "Количество дней для хранения записей событий обнаружения." + }, + "mode": { + "label": "Режим хранения", + "description": "Режим сохранения: all (сохранить все сегменты), motion (сохранить сегменты с движением) или active_objects (сохранить сегменты с активными объектами)." + } + } + }, + "alerts": { + "label": "Сохранение оповещений", + "description": "Настройки хранения записи для событий оповещений, включая продолжительность до и после захвата.", + "pre_capture": { + "label": "Предварительная съемка секунд", + "description": "Количество секунд до события обнаружения, которое необходимо включить в запись." + }, + "post_capture": { + "label": "Секунды после захвата", + "description": "Количество секунд после события обнаружения, которое необходимо включить в запись." + }, + "retain": { + "label": "Сохранение событий", + "description": "Настройки хранения записей событий обнаружения.", + "days": { + "label": "Дни хранения", + "description": "Количество дней для хранения записей событий обнаружения." + }, + "mode": { + "label": "Режим хранения", + "description": "Режим сохранения: all (сохранить все сегменты), motion (сохранить сегменты с движением) или active_objects (сохранить сегменты с активными объектами)." + } + } + }, + "export": { + "label": "Экспортировать конфигурацию", + "description": "Настройки, используемые при экспорте записей, такие как замедленная съемка и аппаратное ускорение.", + "hwaccel_args": { + "label": "Экспортировать аргументы hwaccel", + "description": "Аргументы аппаратного ускорения, используемые для операций экспорта/перекодирования." + }, + "max_concurrent": { + "label": "Максимальный одновременный экспорт", + "description": "Максимальное количество заданий экспорта, обрабатываемых одновременно." + }, + "chapters": { + "label": "Метаданные глав для встраивания в экспортированные записи" + } + }, + "preview": { + "label": "Предварительный просмотр конфигурации", + "description": "Настройки, управляющие качеством предварительного просмотра записи, отображаемого в пользовательском интерфейсе.", + "quality": { + "label": "Предварительный просмотр качества", + "description": "Уровень качества предпросмотра (very_low, low, medium, high, very_high)." + } + }, + "enabled_in_config": { + "label": "Исходное состояние записи", + "description": "Указывает, была ли запись включена в исходной статической конфигурации." + } + }, + "review": { + "label": "Проверка", + "description": "\"Настройки, которые управляют оповещениями, обнаружениями и сводками обзора GenAI, используемыми пользовательским интерфейсом и хранилищем.", + "alerts": { + "label": "Конфигурация оповещений", + "description": "Настройки, для которых отслеживаемые объекты генерируют оповещения и как оповещения сохраняются.", + "enabled": { + "label": "Включить оповещения", + "description": "Включить или отключить генерацию оповещений для всех камер; можно переопределить для каждой камеры." + }, + "labels": { + "label": "Предупреждающие ярлыки", + "description": "Список меток объектов, которые квалифицируются как оповещения (например: машина, человек)." + }, + "required_zones": { + "label": "Обязательные зоны", + "description": "Зоны, в которые должен войти объект, чтобы считаться оповещением; оставьте пустым, чтобы разрешить любую зону." + }, + "enabled_in_config": { + "label": "Исходное состояние оповещений", + "description": "Отслеживает, были ли оповещения изначально включены в статической конфигурации." + }, + "cutoff_time": { + "label": "Время окончания оповещений", + "description": "Секунды ожидания после отсутствия активности, вызывающей оповещение, прежде чем отключать оповещение." + } + }, + "detections": { + "label": "Конфигурация обнаружения", + "description": "Настройки, для которых отслеживаемые объекты генерируют обнаружения (без оповещения) и порядок сохранения обнаружений.", + "enabled": { + "label": "Включить обнаружение", + "description": "Включить или отключить события обнаружения для всех камер; можно переопределить для каждой камеры." + }, + "labels": { + "label": "Метки обнаружения", + "description": "\"Список меток объектов, которые квалифицируются как события обнаружения." + }, + "required_zones": { + "label": "Обязательные зоны", + "description": "Зоны, в которые должен войти объект, чтобы считаться обнаруженным; оставьте пустым, чтобы разрешить любую зону." + }, + "cutoff_time": { + "label": "Время прекращения обнаружения", + "description": "Секунды ожидания после отсутствия активности, вызывающей обнаружение, прежде чем отключать обнаружение." + }, + "enabled_in_config": { + "label": "Исходное состояние обнаружений", + "description": "Отслеживает, были ли изначально включены обнаружения в статической конфигурации." + } + }, + "genai": { + "label": "Конфигурация GenAI", + "description": "Контролирует использование генеративного искусственного интеллекта для создания описаний и резюме элементов обзора.", + "enabled": { + "label": "Включить описания GenAI", + "description": "Включить или отключить описания и сводки GenAI для элементов проверки." + }, + "alerts": { + "label": "Включить GenAI для оповещений", + "description": "Используйте GenAI для создания описаний элементов оповещений." + }, + "detections": { + "label": "Включить GenAI для детекций", + "description": "Используйте GenAI для создания описаний элементов обнаружения." + }, + "image_source": { + "label": "Проверьте источник изображения", + "description": "\"Источник изображений, отправляемых на GenAI ('preview' или 'recordings'); 'recordings' использует кадры более высокого качества, но больше токенов." + }, + "additional_concerns": { + "label": "Дополнительные проблемы", + "description": "Список дополнительных проблем или примечаний, которые GenAI следует учитывать при оценке активности на этой камере." + }, + "debug_save_thumbnails": { + "label": "Сохранить миниатюры", + "description": "Сохраняйте миниатюры, которые отправляются поставщику GenAI для отладки и проверки." + }, + "enabled_in_config": { + "label": "Исходное состояние GenAI", + "description": "Отслеживает, была ли изначально включена проверка GenAI в статической конфигурации." + }, + "preferred_language": { + "label": "Предпочитаемый язык", + "description": "Предпочитаемый язык для запроса у провайдера GenAI сгенерированных ответов." + }, + "activity_context_prompt": { + "label": "Промпт контекста активности", + "description": "Пользовательский промпт, описывающий, какая активность считается подозрительной, а какая нет, для контекста сводок GenAI." + } + } + }, + "snapshots": { + "label": "Снимки", + "description": "Настройки снимков отслеживаемых объектов, генерируемых API для всех камер; можно переопределить для каждой камеры.", + "enabled": { + "label": "Включить снимки", + "description": "Включить или отключить сохранение снимков для всех камер; можно переопределить для каждой камеры." + }, + "timestamp": { + "label": "Наложение временной метки", + "description": "Наложение временной метки на снимки из API." + }, + "bounding_box": { + "label": "Наложение ограничивающей рамки", + "description": "Рисовать ограничивающие рамки отслеживаемых объектов на снимках из API." + }, + "crop": { + "label": "Обрезать снимок", + "description": "Обрезать снимки API по ограничивающей рамке обнаруженного объекта." + }, + "required_zones": { + "label": "Обязательные зоны", + "description": "Зоны, в которые должен войти объект, чтобы снимок был сохранен." + }, + "height": { + "label": "Высота снимка", + "description": "Высота (в пикселях) для изменения размера снимков с API на; оставьте пустым, чтобы сохранить исходный размер." + }, + "retain": { + "label": "Хранение снимков", + "description": "Настройки хранения для снимков, включая дни по умолчанию и переопределения для каждого объекта.", + "default": { + "label": "Срок хранения по умолчанию", + "description": "Число дней по умолчанию для хранения снимков." + }, + "objects": { + "label": "Сохранение объекта", + "description": "Переопределения дней хранения снимков для каждого объекта." + } + }, + "quality": { + "label": "Качество снимка", + "description": "Качество кодирования для сохраненных снимков (0–100)." + } + }, + "timestamp_style": { + "label": "Стиль временной метки", + "description": "Параметры стиля для временных меток в ленте, применяемых к представлению отладки и снимкам.", + "position": { + "label": "Позиция временной метки", + "description": "Положение отметки времени на изображении (tl/tr/bl/br)." + }, + "format": { + "label": "Формат временной метки", + "description": "Строка формата даты и времени, используемая для меток времени (коды формата даты и времени Python)." + }, + "color": { + "label": "Цвет временной метки", + "description": "Значения цвета RGB для текста метки времени (все значения от 0 до 255).", + "red": { + "label": "Красный", + "description": "Красный компонент (0–255) для цвета метки времени." + }, + "green": { + "label": "Зелёный", + "description": "Зеленый компонент (0–255) для цвета метки времени." + }, + "blue": { + "label": "Синий", + "description": "Синий компонент (0–255) для цвета метки времени." + } + }, + "thickness": { + "label": "Толщина временной метки", + "description": "Толщина линии текста метки времени." + }, + "effect": { + "label": "Эффект временной метки", + "description": "Визуальный эффект для текста метки времени (нет, сплошной, тень)." + } + }, + "classification": { + "label": "Классификация объектов", + "description": "Настройки моделей классификации, используемые для уточнения меток объектов или классификации состояний.", + "bird": { + "label": "Конфигурация классификации птиц", + "description": "Настройки, специфичные для моделей классификации птиц.", + "enabled": { + "label": "Классификация птиц", + "description": "Включить или отключить классификацию птиц." + }, + "threshold": { + "label": "Минимальный балл", + "description": "Минимальный классификационный балл, необходимый для принятия классификации птиц." + } + }, + "custom": { + "label": "Пользовательские модели классификации", + "description": "Конфигурация пользовательских моделей классификации, используемых для обнаружения объектов или состояний.", + "enabled": { + "label": "Включить модель", + "description": "Включить или отключить пользовательскую модель классификации." + }, + "name": { + "label": "Название модели", + "description": "Идентификатор используемой пользовательской модели классификации." + }, + "threshold": { + "label": "Порог оценки", + "description": "Порог оценки, используемый для изменения состояния классификации." + }, + "save_attempts": { + "label": "Сохранить попытки", + "description": "Сколько попыток классификации сохранять для UI недавних классификаций." + }, + "object_config": { + "objects": { + "label": "Классифицировать объекты", + "description": "Список типов объектов для классификации объектов." + }, + "classification_type": { + "label": "Тип классификации", + "description": "Примененный тип классификации: 'sub_label' (добавляет sub_label) или другие поддерживаемые типы." + } + }, + "state_config": { + "cameras": { + "label": "Классификация камер", + "description": "Обрезка для каждой камеры и настройки для классификации состояний.", + "crop": { + "label": "Область классификации", + "description": "Координаты обрезки для запуска классификации на этой камере." + } + }, + "motion": { + "label": "Запуск по движению", + "description": "Если включено, запускать классификацию при обнаружении движения внутри указанной области обрезки." + }, + "interval": { + "label": "Классификационный интервал", + "description": "Интервал (в секундах) между периодическими запусками классификации для определения состояния." + } + } + } + }, + "semantic_search": { + "label": "Семантический поиск", + "description": "Настройки семантического поиска, который строит и запрашивает эмбеддинги объектов для поиска похожих элементов.", + "enabled": { + "label": "Включить семантический поиск", + "description": "Включить или отключить семантический поиск." + }, + "reindex": { + "label": "Переиндексация при запуске", + "description": "Запустить полную переиндексацию исторических отслеживаемых объектов в базу эмбеддингов." + }, + "model": { + "label": "Модель семантического поиска или имя провайдера GenAI", + "description": "Модель эмбеддингов для семантического поиска (например, 'jinav1') или имя провайдера GenAI с ролью embeddings." + }, + "model_size": { + "label": "Размер модели", + "description": "Выберите размер модели; 'малая' работает на CPU, а для 'большая' обычно требуется GPU." + }, + "device": { + "label": "Устройство", + "description": "Это переопределение, нацеленное на конкретное устройство. См. https://onnxruntime.ai/docs/execution-providers/ для получения дополнительной информации." + }, + "triggers": { + "label": "Триггеры", + "description": "Действия и критерии соответствия для триггеров семантического поиска, специфичных для камеры.", + "friendly_name": { + "label": "Дружественное имя", + "description": "Необязательное понятное имя, отображаемое в пользовательском интерфейсе для этого триггера." + }, + "enabled": { + "label": "Включить этот триггер", + "description": "Включить или отключить этот триггер семантического поиска." + }, + "type": { + "label": "Тип триггера", + "description": "Тип триггера: 'thumbnail' (совпадение с изображением) или 'description' (совпадение с текстом)." + }, + "data": { + "label": "Содержимое триггера", + "description": "Текстовая фраза или идентификатор миниатюры для сопоставления с отслеживаемыми объектами." + }, + "threshold": { + "label": "Порог срабатывания", + "description": "Минимальный показатель сходства (0–1), необходимый для активации этого триггера." + }, + "actions": { + "label": "Триггерные действия", + "description": "Список действий при срабатывании триггера (notification, sub_label, attribute)." + } + } + }, + "face_recognition": { + "label": "Распознавание лиц", + "description": "Настройки обнаружения и распознавания лиц для всех камер; можно переопределить для каждой камеры.", + "enabled": { + "label": "Включить распознавание лиц", + "description": "Включить или отключить распознавание лиц для всех камер; можно переопределить для каждой камеры." + }, + "model_size": { + "label": "Размер модели", + "description": "Размер модели для эмбеддингов лиц (small/large); для large может потребоваться GPU." + }, + "unknown_score": { + "label": "Порог неизвестного лица", + "description": "Порог расстояния, ниже которого лицо считается потенциальным совпадением (выше = строже)." + }, + "detection_threshold": { + "label": "Порог обнаружения", + "description": "Минимальная достоверность обнаружения, необходимая для того, чтобы считать обнаружение лица действительным." + }, + "recognition_threshold": { + "label": "Порог распознавания", + "description": "Порог расстояния эмбеддингов лиц, при котором два лица считаются совпадающими." + }, + "min_area": { + "label": "Минимальная площадь лица", + "description": "Минимальная площадь (пиксели) обнаруженного лицевого окна, необходимая для попытки распознавания." + }, + "min_faces": { + "label": "Минимум лиц", + "description": "Минимальное число распознаваний лица перед применением распознанной второстепенной метки к человеку." + }, + "save_attempts": { + "label": "Сохранить попытки", + "description": "Число попыток распознавания лиц, сохраняемых для UI недавнего распознавания." + }, + "blur_confidence_filter": { + "label": "Фильтр достоверности размытия", + "description": "Корректирует оценки уверенности с учётом размытия изображения, чтобы снизить ложные срабатывания на лицах низкого качества." + }, + "device": { + "label": "Устройство", + "description": "Это переопределение, нацеленное на конкретное устройство. См. https://onnxruntime.ai/docs/execution-providers/ для получения дополнительной информации" + } + }, + "lpr": { + "label": "Распознавание номерных знаков", + "description": "Настройки распознавания номерных знаков, включая пороговые значения обнаружения, форматирование и известные номера.", + "enabled": { + "label": "Включить LPR", + "description": "Включить или отключить распознавание номерных знаков для всех камер; можно переопределить для каждой камеры." + }, + "model_size": { + "label": "Размер модели", + "description": "Размер модели, используемый для обнаружения/распознавания текста. Большинству пользователей следует использовать 'малая'." + }, + "detection_threshold": { + "label": "Порог обнаружения", + "description": "Порог достоверности обнаружения для запуска OCR на подозрительном номере." + }, + "min_area": { + "label": "Минимальная площадь номера", + "description": "Минимальная площадь номерного знака (в пикселях), необходимая для попытки распознавания." + }, + "recognition_threshold": { + "label": "Порог распознавания", + "description": "Порог уверенности, необходимый для присвоения распознанного текста номера как второстепенной метки." + }, + "min_plate_length": { + "label": "Мин. длина номера", + "description": "Минимальное число символов в распознанном номере, чтобы считать его действительным." + }, + "format": { + "label": "Regex формата номера", + "description": "Необязательное регулярное выражение для проверки распознанных строк номеров на соответствие ожидаемому формату." + }, + "match_distance": { + "label": "Допустимое расстояние совпадения", + "description": "Сколько несовпадающих символов допускается при сравнении обнаруженных номеров с известными." + }, + "known_plates": { + "label": "Известные номера", + "description": "Список номеров или регулярных выражений для особого отслеживания или оповещений." + }, + "enhancement": { + "label": "Уровень улучшения", + "description": "Уровень улучшения (0–10), применяемый к кропам номеров перед OCR; более высокие значения не всегда улучшают результат, уровни выше 5 могут работать только с ночными номерами — используйте осторожно." + }, + "debug_save_plates": { + "label": "Сохранять отладочные кропы номеров", + "description": "Сохранять кропы номерных знаков для отладки производительности LPR." + }, + "device": { + "label": "Устройство", + "description": "Это переопределение, нацеленное на конкретное устройство. См. https://onnxruntime.ai/docs/execution-providers/ для получения дополнительной информации" + }, + "replace_rules": { + "label": "Правила замены", + "description": "Правила замены регулярных выражений, используемые для нормализации обнаруженных строк номеров перед сопоставлением.", + "pattern": { + "label": "Шаблон регулярного выражения" + }, + "replacement": { + "label": "Строка замены" + } + }, + "expire_time": { + "label": "Время истечения (сек)", + "description": "Время в секундах, после которого невидимый номер удаляется из трекера (только для выделенных LPR-камер)." + } + }, + "camera_groups": { + "label": "Группы камер", + "description": "Конфигурация именованных групп камер, используемых для организации камер в пользовательском интерфейсе.", + "cameras": { + "label": "Список камер", + "description": "Массив имен камер, включенных в эту группу." + }, + "icon": { + "label": "Значок группы", + "description": "Значок, используемый для обозначения группы камер в пользовательском интерфейсе." + }, + "order": { + "label": "Порядок сортировки", + "description": "Числовой порядок, используемый для сортировки групп камер в пользовательском интерфейсе; большие числа появляются позже." + } + }, + "profiles": { + "label": "Профили", + "description": "Определения именованных профилей с понятными именами. Профили камер должны ссылаться на имена, определенные здесь.", + "friendly_name": { + "label": "Отображаемое имя", + "description": "Имя профиля, отображаемое в интерфейсе." + } + }, + "active_profile": { + "label": "Активный профиль", + "description": "Имя текущего активного профиля. Только runtime, не сохраняется в YAML." + }, + "camera_mqtt": { + "label": "MQTT", + "description": "Настройки публикации изображений в MQTT.", + "enabled": { + "label": "Отправить изображение", + "description": "Включить публикацию снимков объектов в MQTT-топики этой камеры." + }, + "timestamp": { + "label": "Добавить временную метку", + "description": "Наложение временной метки на изображения, опубликованные в MQTT." + }, + "bounding_box": { + "label": "Добавить ограничивающую рамку", + "description": "Рисовать ограничивающие рамки на изображениях, публикуемых в MQTT." + }, + "crop": { + "label": "Обрезать изображение", + "description": "Обрезать изображения, опубликованные в MQTT, до ограничивающей рамки обнаруженного объекта." + }, + "height": { + "label": "Высота изображения", + "description": "\"Высота (в пикселях) для изменения размера изображений, опубликованных через MQTT." + }, + "required_zones": { + "label": "Обязательные зоны", + "description": "Зоны, в которые должен войти объект, чтобы изображение MQTT было опубликовано." + }, + "quality": { + "label": "Качество JPEG", + "description": "Качество JPEG для изображений, опубликованных в MQTT (0–100)." + } + }, + "camera_ui": { + "label": "Интерфейс камеры", + "description": "Порядок отображения и видимость этой камеры в UI. Порядок влияет на дашборд по умолчанию. Для более гибкого управления используйте группы камер.", + "order": { + "label": "Порядок в интерфейсе", + "description": "Числовой порядок сортировки камеры в UI (дашборд по умолчанию и списки); большие числа отображаются позже." + }, + "dashboard": { + "label": "Показывать в интерфейсе", + "description": "Показывать ли эту камеру везде в интерфейсе Frigate. При отключении для повторного отображения потребуется вручную изменить конфиг." + }, + "review": { + "label": "Показывать в проверке", + "description": "Показывать ли эту камеру в проверке (страница проверки и её фильтр камер, проверка движения и история)." + } + }, + "onvif": { + "label": "ONVIF", + "description": "Соединение ONVIF и настройки автослежения PTZ для этой камеры.", + "host": { + "label": "Хост ONVIF", + "description": "Хост (и дополнительная схема) для службы ONVIF для этой камеры." + }, + "port": { + "label": "Порт ONVIF", + "description": "Номер порта для службы ONVIF." + }, + "user": { + "label": "Имя пользователя ONVIF", + "description": "Имя пользователя для аутентификации ONVIF; на некоторых устройствах требуется администратор для ONVIF." + }, + "password": { + "label": "Пароль ONVIF", + "description": "Пароль для аутентификации ONVIF." + }, + "tls_insecure": { + "label": "Отключить проверку TLS", + "description": "Пропустить проверку TLS и отключить дайджест-аутентификацию для ONVIF (небезопасно; использовать только в безопасных сетях)." + }, + "profile": { + "label": "Профиль ONVIF", + "description": "Конкретный медиа-профиль ONVIF, используемый для элемента управления PTZ, соответствующий токену или имени. Если этот параметр не установлен, автоматически выбирается первый профиль с действительной конфигурацией PTZ." + }, + "autotracking": { + "label": "Автотрекинг", + "description": "Автоматически отслеживайте движущиеся объекты и удерживайте их в центре кадра с помощью движений камеры PTZ.", + "enabled": { + "label": "Включить автотрекинг", + "description": "Включить или отключить автоматическое PTZ-сопровождение обнаруженных объектов." + }, + "calibrate_on_startup": { + "label": "Калибровка при запуске", + "description": "Измерьте скорость двигателя PTZ при запуске, чтобы повысить точность отслеживания. Frigate обновит конфигурацию с помощью motion_weights после калибровки." + }, + "zooming": { + "label": "Режим масштабирования", + "description": "Управляет масштабированием: отключенный (только панорамирование и наклон), полный (наиболее совместимый режим) или условный (одновременное панорамирование, наклон и масштабирование)." + }, + "zoom_factor": { + "label": "Уровень масштабирования", + "description": "Уровень зума на отслеживаемых объектах. Меньшие значения оставляют в кадре больше сцены; большие приближают сильнее, но могут потерять объект. Значения от 0.1 до 0.75." + }, + "track": { + "label": "Отслеживаемые объекты", + "description": "Список типов объектов, которые должны запускать автоматическое отслеживание." + }, + "required_zones": { + "label": "Обязательные зоны", + "description": "Прежде чем начнется автоматическое слежение, объекты должны войти в одну из этих зон." + }, + "return_preset": { + "label": "Вернуть предустановку", + "description": "Имя предустановки ONVIF, настроенное в прошивке камеры, к которому можно вернуться после завершения отслеживания." + }, + "timeout": { + "label": "Тайм-аут возврата", + "description": "Подождите это количество секунд после потери отслеживания, прежде чем возвращать камеру в заданное положение." + }, + "movement_weights": { + "label": "Вес движения", + "description": "Калибровочные значения автоматически генерируются при калибровке камеры. Не вносите изменения вручную." + }, + "enabled_in_config": { + "label": "Исходное состояние автотрека", + "description": "Внутреннее поле для отслеживания того, включено ли в конфигурации автоотслеживание." + } + }, + "ignore_time_mismatch": { + "label": "Игнорировать несоответствие времени", + "description": "Игнорировать расхождение времени между камерой и сервером Frigate при обмене по ONVIF." } } } diff --git a/web/public/locales/ru/views/settings.json b/web/public/locales/ru/views/settings.json index cee2a74993..c81d8a38b6 100644 --- a/web/public/locales/ru/views/settings.json +++ b/web/public/locales/ru/views/settings.json @@ -70,7 +70,18 @@ "cameraConfigReview": "Обзор событий", "cameraAudioEvents": "Обнаружение аудио", "cameraAudioTranscription": "Расшифровка аудиозаписи", - "cameraNotifications": "Уведомления" + "cameraNotifications": "Уведомления", + "globalRecording": "Запись", + "globalSnapshots": "Снимки", + "globalFfmpeg": "FFmpeg", + "globalMotion": "Обнаружение движения", + "globalObjects": "Объекты", + "globalLivePlayback": "Воспроизведение в реальном времени", + "globalTimestampStyle": "Стиль временной метки", + "systemDatabase": "База данных", + "systemTls": "TLS", + "cameraLivePlayback": "Воспроизведение в реальном времени", + "cameraBirdseye": "Birdseye" }, "dialog": { "unsavedChanges": { @@ -1331,6 +1342,34 @@ "overriddenGlobal": "Перезаписано (глобально)", "overriddenGlobalTooltip": "Эта камера перезаписывает глобальные настройки в этой секции", "overriddenBaseConfig": "Перезаписано (базовые настройки)", - "overriddenBaseConfigTooltip": "Перезаписи настроек профиля {{profile}} в этой секции" + "overriddenBaseConfigTooltip": "Перезаписи настроек профиля {{profile}} в этой секции", + "overriddenGlobalHeading_one": "Эта камера переопределяет {{count}} поле из глобальной конфигурации:", + "overriddenGlobalHeading_few": "Эта камера переопределяет {{count}} поля из глобальной конфигурации:", + "overriddenGlobalHeading_many": "Эта камера переопределяет {{count}} полей из глобальной конфигурации:", + "overriddenGlobalNoDeltas": "Эта камера переопределяет глобальную конфигурацию, но значения полей не отличаются.", + "overriddenBaseConfigHeading_one": "Профиль {{profile}} переопределяет {{count}} поле из базовой конфигурации:", + "overriddenBaseConfigHeading_few": "Профиль {{profile}} переопределяет {{count}} поля из базовой конфигурации:", + "overriddenBaseConfigHeading_many": "Профиль {{profile}} переопределяет {{count}} полей из базовой конфигурации:", + "overriddenBaseConfigNoDeltas": "Профиль {{profile}} переопределяет этот раздел, но значения полей не отличаются от базовой конфигурации.", + "overriddenInCameras": { + "label_one": "Переопределено в {{count}} камере", + "label_few": "Переопределено в {{count}} камерах", + "label_many": "Переопределено в {{count}} камерах", + "tooltip_one": "{{count}} камера переопределяет значения в этом разделе. Нажмите, чтобы увидеть подробности.", + "tooltip_few": "{{count}} камеры переопределяет значения в этом разделе. Нажмите, чтобы увидеть подробности.", + "tooltip_many": "{{count}} камер переопределяет значения в этом разделе. Нажмите, чтобы увидеть подробности.", + "heading_one": "В этом глобальном разделе есть поля, переопределённые в {{count}} камере.", + "heading_few": "В этом глобальном разделе есть поля, переопределённые в {{count}} камерах.", + "heading_many": "В этом глобальном разделе есть поля, переопределённые в {{count}} камерах.", + "othersField_one": "{{count}} другой", + "othersField_few": "{{count}} других", + "othersField_many": "{{count}} других", + "profilePrefix": "Профиль {{profile}}: {{fields}}" + } + }, + "menuDot": { + "overrideGlobal": "Этот раздел переопределяет глобальную конфигурацию", + "overrideProfile": "Этот раздел переопределён профилем {{profile}}", + "unsaved": "В этом разделе есть несохранённые изменения" } }