Translated using Weblate (Russian)

Currently translated at 85.1% (1103 of 1295 strings)

Translated using Weblate (Russian)

Currently translated at 76.1% (83 of 109 strings)

Translated using Weblate (Russian)

Currently translated at 71.7% (929 of 1295 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (808 of 808 strings)

Translated using Weblate (Russian)

Currently translated at 81.4% (386 of 474 strings)

Translated using Weblate (Russian)

Currently translated at 56.2% (728 of 1295 strings)

Translated using Weblate (Russian)

Currently translated at 65.3% (528 of 808 strings)

Translated using Weblate (Russian)

Currently translated at 50.4% (239 of 474 strings)

Co-authored-by: Artem Vladimirov <artyomka71@mail.ru>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ru/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-settings
This commit is contained in:
Hosted Weblate
2026-08-08 06:09:12 -05:00
committed by Josh Hawkins
co-authored by Artem Vladimirov
parent c00ea6a481
commit dbce2d5a43
4 changed files with 2770 additions and 32 deletions
+1 -1
View File
@@ -95,7 +95,7 @@
"placeholder": "Выберите случай", "placeholder": "Выберите случай",
"newCaseOption": "Создайте новый случай", "newCaseOption": "Создайте новый случай",
"newCaseNamePlaceholder": "Имя нового случая", "newCaseNamePlaceholder": "Имя нового случая",
"newCaseDescriptionPlaceholder": "Описание Случая", "newCaseDescriptionPlaceholder": "Описание случая",
"nonAdminHelp": "Для этих экспортов будет создан новый случай." "nonAdminHelp": "Для этих экспортов будет создан новый случай."
}, },
"queueing": "Помещаем Экспорт в очередь...", "queueing": "Помещаем Экспорт в очередь...",
+694 -4
View File
@@ -13,7 +13,7 @@
}, },
"label": "Конфигурация", "label": "Конфигурация",
"audio": { "audio": {
"label": "Аудиособытия", "label": "Обнаружение звука",
"description": "Настройки обнаружения аудиособытий для этой камеры.", "description": "Настройки обнаружения аудиособытий для этой камеры.",
"enabled": { "enabled": {
"label": "Включить обнаружение звука", "label": "Включить обнаружение звука",
@@ -28,12 +28,16 @@
"description": "Для запуска функции обнаружения звука требуется минимальный пороговый уровень громкости RMS; более низкие значения повышают чувствительность (например, 200 — высокий, 500 — средний, 1000 — низкий)." "description": "Для запуска функции обнаружения звука требуется минимальный пороговый уровень громкости RMS; более низкие значения повышают чувствительность (например, 200 — высокий, 500 — средний, 1000 — низкий)."
}, },
"listen": { "listen": {
"description": "Список типов аудиособытий для обнаружения (например: лай, пожарная тревога, крик, речь, вопль).", "description": "Список типов аудиособытий для обнаружения (например: лай, пожарная тревога, речь, вопль).",
"label": "Типы аудиособытий" "label": "Типы аудиособытий"
}, },
"filters": { "filters": {
"label": "Аудиофильтры", "label": "Аудиофильтры",
"description": "Настройки фильтров для каждого типа аудиофайлов, такие как пороговые значения, используются для уменьшения количества ложных срабатываний." "description": "Настройки фильтров для каждого типа аудиофайлов, такие как пороговые значения, используются для уменьшения количества ложных срабатываний.",
"threshold": {
"label": "Минимальная уверенность в звуке",
"description": "Минимальный порог достоверности для подсчета аудиособытия."
}
}, },
"enabled_in_config": { "enabled_in_config": {
"label": "Исходное состояние звука", "label": "Исходное состояние звука",
@@ -104,7 +108,693 @@
}, },
"stationary": { "stationary": {
"label": "Конфигурация стационарных объектов", "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."
} }
} }
} }
File diff suppressed because it is too large Load Diff
+577 -18
View File
@@ -31,7 +31,7 @@
"classification": "Распознавание", "classification": "Распознавание",
"enrichments": "Обогащения", "enrichments": "Обогащения",
"triggers": "Триггеры", "triggers": "Триггеры",
"cameraManagement": "Управление", "cameraManagement": "Управление камерой",
"cameraReview": "Обзор", "cameraReview": "Обзор",
"roles": "Роли", "roles": "Роли",
"general": "Общее", "general": "Общее",
@@ -70,7 +70,28 @@
"cameraConfigReview": "Обзор событий", "cameraConfigReview": "Обзор событий",
"cameraAudioEvents": "Обнаружение аудио", "cameraAudioEvents": "Обнаружение аудио",
"cameraAudioTranscription": "Расшифровка аудиозаписи", "cameraAudioTranscription": "Расшифровка аудиозаписи",
"cameraNotifications": "Уведомления" "cameraNotifications": "Уведомления",
"globalRecording": "Запись",
"globalSnapshots": "Снимки",
"globalFfmpeg": "FFmpeg",
"globalMotion": "Обнаружение движения",
"globalObjects": "Объекты",
"globalLivePlayback": "Воспроизведение в реальном времени",
"globalTimestampStyle": "Стиль временной метки",
"systemDatabase": "База данных",
"systemTls": "TLS",
"cameraLivePlayback": "Воспроизведение в реальном времени",
"cameraBirdseye": "Birdseye",
"cameraFaceRecognition": "Распознавание лиц",
"cameraLpr": "Распознавание номерных знаков",
"cameraMqttConfig": "MQTT",
"cameraOnvif": "ONVIF",
"cameraUi": "Интерфейс камеры",
"cameraTimestampStyle": "Стиль временной метки",
"cameraMqtt": "MQTT камеры",
"maintenance": "Обслуживание",
"mediaSync": "Синхронизация медиа",
"regionGrid": "Сетка регионов"
}, },
"dialog": { "dialog": {
"unsavedChanges": { "unsavedChanges": {
@@ -260,7 +281,7 @@
"hide": "Скрыть пароль", "hide": "Скрыть пароль",
"requirements": { "requirements": {
"title": "Требования к паролю:", "title": "Требования к паролю:",
"length": "Не менее 8 символов", "length": "Не менее 12 символов",
"uppercase": "Как минимум одна заглавная буква", "uppercase": "Как минимум одна заглавная буква",
"digit": "Как минимум одна цифра", "digit": "Как минимум одна цифра",
"special": "Хотя бы один специальный символ (!@#$%^&*(),.?\":{}|<>)" "special": "Хотя бы один специальный символ (!@#$%^&*(),.?\":{}|<>)"
@@ -328,7 +349,8 @@
"notificationUnavailable": { "notificationUnavailable": {
"documentation": "Читать документацию", "documentation": "Читать документацию",
"title": "Уведомления недоступны", "title": "Уведомления недоступны",
"desc": "Веб-уведомления требуют защищённого контекста (<code>https://…</code>). Это ограничение браузера. Получите безопасный доступ к Frigate, чтобы использовать уведомления." "desc": "Веб-уведомления требуют защищённого контекста (<code>https://…</code>). Это ограничение браузера. Получите безопасный доступ к Frigate, чтобы использовать уведомления.",
"descPwa": "На iOS веб-уведомления доступны только в том случае, если Frigate установлен на главном экране. Откройте меню <strong>Поделиться</strong>, выберите <strong>Добавить на главный экран</strong>, затем откройте Frigate с помощью нового значка, чтобы зарегистрировать это устройство для уведомлений."
}, },
"email": { "email": {
"title": "Email", "title": "Email",
@@ -498,6 +520,10 @@
}, },
"toast": { "toast": {
"success": "Зона ({{zoneName}}) сохранена." "success": "Зона ({{zoneName}}) сохранена."
},
"enabled": {
"title": "Включено",
"description": "Активна ли эта зона и включена ли она в файле конфигурации. Если отключено, его нельзя включить с помощью MQTT. Отключенные зоны игнорируются во время выполнения."
} }
}, },
"motionMasks": { "motionMasks": {
@@ -527,6 +553,12 @@
"title": "{{polygonName}} сохранена.", "title": "{{polygonName}} сохранена.",
"noName": "Маска движения сохранена." "noName": "Маска движения сохранена."
} }
},
"defaultName": "Маска движения {{number}}",
"name": {
"title": "Имя",
"description": "Необязательное отображаемое имя для этой маски движения.",
"placeholder": "Введите имя…"
} }
}, },
"filter": { "filter": {
@@ -575,12 +607,32 @@
}, },
"reset": { "reset": {
"label": "Удалить все точки" "label": "Удалить все точки"
},
"type": {
"zone": "зона",
"motion_mask": "маска движения",
"object_mask": "маска объекта"
},
"revertOverride": {
"title": "Вернуться к базовой конфигурации",
"desc": "Это приведет к удалению переопределения профиля для {{type}} <em>{{name}}</em> и возврату к базовой конфигурации."
} }
}, },
"speed": { "speed": {
"error": { "error": {
"mustBeGreaterOrEqualTo": "Порог скорости должен быть не меньше 0,1." "mustBeGreaterOrEqualTo": "Порог скорости должен быть не меньше 0,1."
} }
},
"id": {
"error": {
"mustNotBeEmpty": "Идентификатор не должен быть пустым.",
"alreadyExists": "Маска с таким идентификатором уже существует для этой камеры."
}
},
"name": {
"error": {
"mustNotBeEmpty": "Имя не должно быть пустым."
}
} }
}, },
"toast": { "toast": {
@@ -615,11 +667,26 @@
"title": "{{polygonName}} сохранена.", "title": "{{polygonName}} сохранена.",
"noName": "Маска объектов сохранена." "noName": "Маска объектов сохранена."
} }
},
"name": {
"title": "Имя",
"description": "Необязательное отображаемое имя для этой маски объекта.",
"placeholder": "Введите имя…"
} }
}, },
"restart_required": "Требуется перезапуск (изменены маски/зоны)", "restart_required": "Требуется перезапуск (изменены маски/зоны)",
"objectMaskLabel": "Маска объекта {{number}} {{label}}", "objectMaskLabel": "Маска объекта {{number}}",
"motionMaskLabel": "Маска движения {{number}}" "motionMaskLabel": "Маска движения {{number}}",
"disabledInConfig": "Элемент отключен в файле конфигурации",
"addDisabledProfile": "Сначала добавьте в базовую конфигурацию, затем переопределите в профиле",
"profileBase": "(база)",
"profileOverride": "(переопределить)",
"masks": {
"enabled": {
"title": "Включено",
"description": "Включена ли эта маска в файле конфигурации. Если отключено, его нельзя включить с помощью MQTT. Отключенные маски игнорируются во время выполнения."
}
}
}, },
"motionDetectionTuner": { "motionDetectionTuner": {
"desc": { "desc": {
@@ -708,13 +775,13 @@
"snapshotConfig": { "snapshotConfig": {
"documentation": "Читать документацию", "documentation": "Читать документацию",
"title": "Настройки снимков", "title": "Настройки снимков",
"cleanCopyWarning": "У некоторых камер включены снимки (snapshots), но отключена опция чистой копии (clean copy). Чтобы иметь возможность отправлять изображения с этих камер в Frigate+, необходимо включить параметр <code>clean_copy</code> в конфигурации снимков.", "cleanCopyWarning": "У некоторых камер снимки отключены",
"table": { "table": {
"cleanCopySnapshots": "Снимки <code>clean_copy</code>", "cleanCopySnapshots": "Снимки <code>clean_copy</code>",
"camera": "Камера", "camera": "Камера",
"snapshots": "Снимки" "snapshots": "Снимки"
}, },
"desc": "Отправка в Frigate+ требует, чтобы в вашей конфигурации были включены как снимки (snapshots), так и снимки <code>clean_copy</code>." "desc": "Отправка в Frigate+ требует, чтобы в вашей конфигурации были включены снимки."
}, },
"title": "Настройки Frigate+", "title": "Настройки Frigate+",
"apiKey": { "apiKey": {
@@ -729,7 +796,7 @@
"modelType": "Тип модели", "modelType": "Тип модели",
"trainDate": "Дата обучения", "trainDate": "Дата обучения",
"error": "Не удалось загрузить информацию о модели", "error": "Не удалось загрузить информацию о модели",
"availableModels": "Доступные модели", "availableModels": "Доступные Frigate+ модели",
"loadingAvailableModels": "Загрузка доступных моделей…", "loadingAvailableModels": "Загрузка доступных моделей…",
"modelSelect": "Здесь можно выбрать ваши доступные модели на Frigate+. Обратите внимание, что могут быть выбраны только модели, совместимые с текущей конфигурацией детектора.", "modelSelect": "Здесь можно выбрать ваши доступные модели на Frigate+. Обратите внимание, что могут быть выбраны только модели, совместимые с текущей конфигурацией детектора.",
"baseModel": "Базовая модель", "baseModel": "Базовая модель",
@@ -740,6 +807,14 @@
"plusModelType": { "plusModelType": {
"baseModel": "Базовая модель", "baseModel": "Базовая модель",
"userModel": "Дообученная" "userModel": "Дообученная"
},
"noModelLoaded": "Ни одна модель Frigate+ в настоящее время не загружена.",
"selectModel": "Выберите модель",
"noModelsAvailable": "Нет доступных моделей",
"filter": {
"ariaLabel": "Фильтровать модели по типу",
"baseModels": "Базовые модели",
"fineTunedModels": "Настроенные модели"
} }
}, },
"toast": { "toast": {
@@ -747,7 +822,15 @@
"error": "Не удалось сохранить изменения конфигурации: {{errorMessage}}" "error": "Не удалось сохранить изменения конфигурации: {{errorMessage}}"
}, },
"restart_required": "Требуется перезапуск (изменена модель Frigate+)", "restart_required": "Требуется перезапуск (изменена модель Frigate+)",
"unsavedChanges": "Настройки Frigate+ не сохранены" "unsavedChanges": "Настройки Frigate+ не сохранены",
"description": "Frigate+ — это служба подписки, которая предоставляет доступ к дополнительным функциям и возможностям вашего экземпляра Frigate, включая возможность использовать пользовательские модели обнаружения объектов, обученные на ваших собственных данных. Здесь вы можете управлять настройками модели Frigate+.",
"cardTitles": {
"api": "API",
"currentModel": "Текущая модель",
"otherModels": "Другие модели",
"configuration": "Конфигурация"
},
"changeInDetectorsAndModel": "Изменить модель"
}, },
"enrichments": { "enrichments": {
"title": "Настройки обогащения", "title": "Настройки обогащения",
@@ -994,7 +1077,7 @@
"brands": { "brands": {
"reolink-rtsp": "RTSP от Reolink не рекомендуется. Включите HTTP в настройках камеры и перезапустите мастер настройки камеры." "reolink-rtsp": "RTSP от Reolink не рекомендуется. Включите HTTP в настройках камеры и перезапустите мастер настройки камеры."
}, },
"customUrlRtspRequired": "Пользовательские URL должны начинаться с \"rtsp://\". Для потоков камер, не использующих RTSP, требуется ручная настройка." "customUrlRtspRequired": "Пользовательские URL должны начинаться с \"rtsp://\" или \"rtsps://\". Для потоков камер, не использующих RTSP, требуется ручная настройка."
}, },
"docs": { "docs": {
"reolink": "https://docs.frigate.video/configuration/camera_specific.html#reolink-cameras" "reolink": "https://docs.frigate.video/configuration/camera_specific.html#reolink-cameras"
@@ -1158,7 +1241,8 @@
}, },
"hikvision": { "hikvision": {
"substreamWarning": "Подпоток 1 заблокирован на низком разрешении. Многие камеры Hikvision поддерживают дополнительные подпотоки, которые необходимо включить в настройках камеры. Рекомендуется проверить и использовать эти потоки, если они доступны." "substreamWarning": "Подпоток 1 заблокирован на низком разрешении. Многие камеры Hikvision поддерживают дополнительные подпотоки, которые необходимо включить в настройках камеры. Рекомендуется проверить и использовать эти потоки, если они доступны."
} },
"resolutionUnknown": "Разрешение этого потока проверить не удалось. Вам следует вручную установить разрешение обнаружения в настройках или вашей конфигурации."
} }
} }
}, },
@@ -1231,11 +1315,13 @@
"selectCamera": "Выбрать камеру", "selectCamera": "Выбрать камеру",
"backToSettings": "Вернуться к настройкам камеры", "backToSettings": "Вернуться к настройкам камеры",
"streams": { "streams": {
"title": "Включить / Отключить камеры", "title": "Состояние и характеристики камеры",
"desc": "Временно отключить камеру до перезапуска Frigate. Отключение камеры полностью останавливает обработку потоков этой камеры в Frigate. Обнаружение, запись и отладка будут недоступны.<br /> <em>Примечание: Это не отключает рестриминг go2rtc.</em>", "desc": "Временно отключить камеру до перезапуска Frigate. Отключение камеры полностью останавливает обработку потоков этой камеры в Frigate. Обнаружение, запись и отладка будут недоступны.<br /> <em>Примечание: Это не отключает рестриминг go2rtc.</em>",
"label": "Состояние камеры", "label": "Состояние камеры",
"status": { "status": {
"disabled": "Отключено" "disabled": "Отключено",
"on": "Вкл",
"off": "Выкл"
}, },
"enableSuccess": "Включена {{cameraName}}. Перезапустите Frigate для применения изменений.", "enableSuccess": "Включена {{cameraName}}. Перезапустите Frigate для применения изменений.",
"disableSuccess": "Отключено {{cameraName}} и сохранено в конфигурации.", "disableSuccess": "Отключено {{cameraName}} и сохранено в конфигурации.",
@@ -1252,8 +1338,12 @@
"webuiUrlHelp": "URL-адрес для посещения веб-UI камеры непосредственно с отладочного меню. Оставьте пустым, чтобы отключить ссылку.", "webuiUrlHelp": "URL-адрес для посещения веб-UI камеры непосредственно с отладочного меню. Оставьте пустым, чтобы отключить ссылку.",
"webuiUrlInvalid": "Должен быть действительный URL (например, https://example.com).", "webuiUrlInvalid": "Должен быть действительный URL (например, https://example.com).",
"dashboardLabel": "Показывать на Live dashboard", "dashboardLabel": "Показывать на Live dashboard",
"dashboardHelp": "Показывать эту камеру на Live dashboard." "dashboardHelp": "Отобразить эту камеру на панели мониторинга «Все камеры» в режиме реального времени по умолчанию. Она остается доступной везде, включая группы камер.",
} "reviewLabel": "Показать в обзоре",
"reviewHelp": "Покажите эту камеру в обзоре, включая фильтр камеры, обзор движения и просмотр истории."
},
"description": "Задайте рабочее состояние для каждой камеры.<br /><br /><strong>Вкл</strong>: потоки обрабатываются в обычном режиме.<br /><strong>Выкл</strong>: временно приостанавливает обработку. Не сохраняется между перезапусками Frigate.<br /><strong>Отключено</strong>: останавливает обработку и сохраняет изменение в конфигурации. Для повторного включения отключённой камеры требуется перезапуск.<br /><br /><em>Примечание: отключение не влияет на рестримы go2rtc.</em><br /><br />Перетащите маркер, чтобы изменить порядок активных камер в интерфейсе, включая панель мониторинга Live и списки выбора камер.",
"disabledSubheading": "Отключено в конфигурации"
}, },
"cameraConfig": { "cameraConfig": {
"add": "Добавить камеру", "add": "Добавить камеру",
@@ -1287,7 +1377,119 @@
"deleteCameraDialog": { "deleteCameraDialog": {
"confirmWarning": "Удаление <strong>{{cameraName}}</strong> не может быть отменено.", "confirmWarning": "Удаление <strong>{{cameraName}}</strong> не может быть отменено.",
"success": "Камера {{cameraName}} успешно удалена", "success": "Камера {{cameraName}} успешно удалена",
"error": "Не удалось удалить камеру {{cameraName}}" "error": "Не удалось удалить камеру {{cameraName}}",
"description": "Удаление камеры приведет к безвозвратному удалению всех записей, отслеживаемых объектов и конфигурации этой камеры. Любые потоки go2rtc, связанные с этой камерой, возможно, придется удалить вручную.",
"selectPlaceholder": "Выберите камеру…",
"confirmTitle": "Вы уверены?",
"deleteExports": "Также удалите экспорт для этой камеры",
"confirmButton": "Удалить навсегда",
"title": "Удалить камеру"
},
"deleteCamera": "Удалить камеру",
"description": "Добавляйте, редактируйте и удаляйте камеры, управляйте состоянием каждой камеры и настраивайте переопределения для профилей и типа камеры. Чтобы настроить потоки, обнаружение, движение и другие параметры камеры, выберите нужный раздел в конфигурации камеры.",
"profiles": {
"title": "Переопределения профиля камеры",
"selectLabel": "Выберите профиль",
"description": "Настройте, какие камеры будут включаться или выключаться при активации профиля. Камеры, для которых установлено значение «Наследовать», сохраняют состояние по умолчанию.",
"inherit": "Наследовать",
"on": "Вкл",
"off": "Выкл"
},
"cameraType": {
"title": "Тип камеры",
"label": "Тип камеры",
"description": "Установите тип для каждой камеры. Специальные камеры LPR — это одноцелевые камеры с мощным оптическим зумом для захвата номерных знаков удаленных транспортных средств. Большинство камер должны использовать камеры обычного типа, если только камера не предназначена специально для LPR и не обеспечивает четкое изображение номерных знаков.",
"normal": "Нормальный",
"dedicatedLpr": "Выделенный LPR",
"saveSuccess": "Обновлен тип камеры для {{cameraName}}. Перезапустите Frigate, чтобы применить изменения."
},
"clone": {
"sectionTitle": "Настройки клонирования",
"sectionDescription": "Скопируйте конфигурацию с одной камеры на другую камеру или на новую.",
"button": "Настройки клонирования",
"title": "Клонировать настройки камеры",
"description": "Скопируйте конфигурацию камеры на одну или несколько других камер либо на новую камеру. Идентичность (имя, отображаемое имя, URL веб-интерфейса, порядок отображения) никогда не копируется.",
"source": {
"label": "Исходная камера",
"placeholder": "Выберите исходную камеру",
"required": "Выберите исходную камеру"
},
"target": {
"legend": "Цель",
"newRadio": "Новая камера",
"newNameLabel": "Имя камеры",
"newNamePlaceholder": "например, back_door или Back Door",
"newNameRequired": "Название камеры обязательно.",
"newNameInvalid": "Неверное имя камеры",
"newNameCollision": "Камера с таким названием уже существует",
"newStreamsForced": "Потоки всегда копируются для новой камеры.",
"existingCamerasRadio": "Существующие камеры",
"allCameras": "Все камеры",
"existingPlaceholder": "Выберите хотя бы одну камеру",
"existingDisabled": "Нет других камер для копирования"
},
"categories": {
"legend": "Настройки для клонирования",
"description": "Выберите, какие настройки копировать с исходной камеры.",
"selectAll": "Выбрать всё",
"selectNone": "Ничего не выбрать",
"resetDefaults": "Сбросить настройки по умолчанию",
"general": "Общие",
"spatial": "Пространственные настройки",
"streams": "Потоки",
"spatialWarningTitle": "Несоответствие разрешения",
"spatialWarning": "Разрешение обнаружения исходной камеры {{srcCamera}} ({{srcWidth}}×{{srcHeight}}) отличается от: {{cameras}}. На этих камерах полигоны могут не совпадать. Эти значения по умолчанию отключены; включить копирование как есть.",
"restartHint": "Требуется перезагрузка",
"items": {
"record": "Запись",
"snapshots": "Снимки",
"review": "Обзор событий",
"motion": "Обнаружение движения",
"objects": "Объекты",
"audio": "Обнаружение аудио",
"audio_transcription": "Расшифровка аудио",
"notifications": "Уведомления",
"birdseye": "Birdseye",
"mqtt": "MQTT",
"timestamp_style": "Стиль временной метки",
"onvif": "ONVIF",
"lpr": "Распознавание номерных знаков",
"face_recognition": "Распознавание лиц",
"semantic_search": "Семантический поиск",
"genai": "Генеративный ИИ",
"type": "Тип камеры (обычная / выделенная LPR)",
"profiles": "Профили",
"detect": "Определить размеры",
"zones": "Зоны",
"motion_mask": "Маски движения",
"object_masks": "Маски объектов",
"ffmpeg_live": "Стрим URLs и роли"
}
},
"footer": {
"changeCount_one": "Изменение {{count}} будет применено",
"changeCount_few": "Изменение {{count}} будет применено",
"changeCount_many": "Изменение {{count}} будет применено",
"restartNeeded": "Для некоторых изменений потребуется перезагрузка.",
"liveOnly": "Все изменения вступят в силу без перезагрузки.",
"submit": "Клонировать",
"submitting": "Клонирование…"
},
"toast": {
"success": "Настройки скопированы в {{cameraName}}.",
"successWithRestart": "Настройки скопированы в {{cameraName}}. Перезапустите Frigate, чтобы применить все изменения.",
"successMulti_one": "Настройки скопированы в {{count}} камеру",
"successMulti_few": "Настройки скопированы в {{count}} камеры",
"successMulti_many": "Настройки скопированы в {{count}} камер",
"successMultiWithRestart_one": "Настройки скопированы в {{count}} камеру. Перезапустите Frigate, чтобы применить все изменения.",
"successMultiWithRestart_few": "Настройки скопированы в {{count}} камеры. Перезапустите Frigate, чтобы применить все изменения.",
"successMultiWithRestart_many": "Настройки скопированы в {{count}} камер. Перезапустите Frigate, чтобы применить все изменения.",
"partialFailure": "Применены {{successCount}} разделов; Ошибка «{{failedSection}}»: {{errorMessage}}",
"partialFailureMulti": "Скопировано на {{successCount}}камеру(ы); не удалось для {{failed}}: {{errorMessage}}",
"newCameraPartialFailure": "Камера {{cameraName}} создана, но некоторые настройки не удалось скопировать: {{errorMessage}}",
"sourceMissing": "Исходная камера больше не существует",
"submitError": "Не удалось клонировать камеру: {{errorMessage}}"
}
} }
}, },
"cameraReview": { "cameraReview": {
@@ -1331,6 +1533,363 @@
"overriddenGlobal": "Перезаписано (глобально)", "overriddenGlobal": "Перезаписано (глобально)",
"overriddenGlobalTooltip": "Эта камера перезаписывает глобальные настройки в этой секции", "overriddenGlobalTooltip": "Эта камера перезаписывает глобальные настройки в этой секции",
"overriddenBaseConfig": "Перезаписано (базовые настройки)", "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": "В этом разделе есть несохранённые изменения"
},
"saveAllPreview": {
"title": "Изменения для сохранения",
"triggerLabel": "Просмотр ожидающих изменений",
"empty": "Нет ожидающих изменений.",
"scope": {
"label": "Область",
"global": "Глобальная",
"camera": "Камера: {{cameraName}}"
},
"profile": {
"label": "Профиль"
},
"field": {
"label": "Поле"
},
"value": {
"label": "Новое значение",
"reset": "Сбросить"
}
},
"timestampPosition": {
"tl": "Сверху слева",
"tr": "Сверху справа",
"bl": "Снизу слева",
"br": "Снизу справа"
},
"detectorsAndModel": {
"title": "Детекторы и модель",
"description": "Настройте бэкенд детектора, который выполняет обнаружение объектов, и используемую модель. Изменения сохраняются вместе, чтобы детектор и модель оставались согласованными.",
"cardTitles": {
"detector": "Оборудование детектора",
"model": "Модель обнаружения"
},
"tabs": {
"plus": "Frigate+",
"custom": "Пользовательская модель"
},
"mismatch": {
"warning": "Текущая модель Frigate+ «{{model}}» требует детектор {{required}}. Выберите совместимую модель ниже или переключитесь на пользовательскую модель перед сохранением."
},
"plusModel": {
"requiresDetector": "Требуется: {{detector}}",
"noModelSelected": "Выберите модель Frigate+"
},
"toast": {
"saveSuccess": "Настройки детекторов и модели сохранены. Перезапустите Frigate, чтобы применить изменения.",
"saveError": "Не удалось сохранить настройки детектора и модели"
},
"unsavedChanges": "Несохранённые изменения детектора и модели",
"restartRequired": "Требуется перезапуск (изменён детектор или модель)"
},
"maintenance": {
"title": "Обслуживание",
"sync": {
"title": "Синхронизация медиа",
"desc": "Frigate периодически очищает медиафайлы по расписанию в соответствии с вашей конфигурацией хранения. Во время работы Frigate нормально видеть несколько потерянных файлов. Используйте эту функцию, чтобы удалить с диска потерянные медиафайлы, на которые больше нет ссылок в базе данных.",
"started": "Синхронизация мультимедиа началась.",
"alreadyRunning": "Задание синхронизации уже запущено",
"error": "Не удалось начать синхронизацию",
"currentStatus": "Статус",
"jobId": "Идентификатор процесса",
"startTime": "Время начала",
"endTime": "Конец времени",
"statusLabel": "Статус",
"results": "Результаты",
"errorLabel": "Ошибка",
"mediaTypes": "Типы носителей",
"allMedia": "Все носители",
"dryRun": "Пробный прогон",
"dryRunEnabled": "Никакие файлы не будут удалены",
"dryRunDisabled": "Файлы будут удалены",
"force": "Принудительно",
"forceDesc": "Обойти порог безопасности и завершить синхронизацию, даже если будет удалено более 50% файлов.",
"verbose": "Детали",
"verboseDesc": "Запишите полный список потерянных файлов на диск для просмотра.",
"running": "Синхронизация выполняется…",
"start": "Начать синхронизацию",
"inProgress": "Синхронизация выполняется. Эта страница отключена.",
"status": {
"queued": "В очереди",
"running": "Выполняется",
"completed": "Завершено",
"failed": "Ошибка",
"notRunning": "Не выполняется"
},
"resultsFields": {
"filesChecked": "Файлы проверены",
"orphansFound": "Найдены потерянные файлы",
"orphansDeleted": "Удалены потерянные файлы",
"aborted": "Прервано. Удаление превысит порог безопасности.",
"error": "Ошибка",
"totals": "Итоги"
},
"event_snapshots": "Снимки отслеживаемых объектов",
"event_thumbnails": "Миниатюры отслеживаемых объектов",
"review_thumbnails": "Обзор миниатюр",
"previews": "Предпросмотры",
"exports": "Экспорт",
"recordings": "Записи"
},
"regionGrid": {
"title": "Сетка регионов",
"desc": "Сетка регионов — это оптимизация, которая запоминает, где в кадре камеры обычно появляются объекты разного размера. Frigate использует эти данные, чтобы эффективнее подбирать размер областей обнаружения. Сетка автоматически строится со временем на основе данных отслеживаемых объектов.",
"clear": "Очистить сетку регионов",
"clearConfirmTitle": "Очистить сетку регионов",
"clearConfirmDesc": "Очищать сетку регионов не рекомендуется, если только вы недавно не изменили размер модели детектора или не изменили физическое положение камеры и не возникли проблемы с отслеживанием объектов. Сетка будет автоматически перестраиваться со временем по мере отслеживания объектов. Чтобы изменения вступили в силу, требуется перезапуск Frigate.",
"clearSuccess": "Сетка регионов успешно очищена",
"clearError": "Не удалось очистить сетку регионов",
"restartRequired": "Требуется перезапуск, чтобы изменения сетки регионов вступили в силу"
}
},
"configForm": {
"global": {
"title": "Глобальные настройки",
"description": "Эти настройки применяются ко всем камерам, если они не переопределены в настройках конкретной камеры."
},
"camera": {
"title": "Настройки камеры",
"description": "Эти настройки применяются только к этой камере и переопределяют глобальные настройки.",
"noCameras": "Нет доступных камер"
},
"advancedSettingsCount": "Расширенные настройки ({{count}})",
"advancedCount": "Расширенный ({{count}})",
"showAdvanced": "Показать дополнительные настройки",
"tabs": {
"sharedDefaults": "Общие настройки по умолчанию",
"system": "Система",
"integrations": "Интеграции"
},
"additionalProperties": {
"keyLabel": "Ключ",
"valueLabel": "Значение",
"keyPlaceholder": "Новый ключ",
"remove": "Удалить",
"providerNameLabel": "Имя провайдера",
"providerNamePlaceholder": "например, openai",
"variableNameLabel": "Имя переменной",
"variableNamePlaceholder": "например, MY_VARIABLE",
"loggerNameLabel": "Имя логгера",
"loggerNamePlaceholder": "например, frigate.record",
"keyPatternError": "Используйте только буквы, цифры, дефисы и подчёркивания (без пробелов)"
},
"knownPlates": {
"namePlaceholder": "например, Машина жены",
"platePlaceholder": "Номерной знак или regex"
},
"liveStreams": {
"streamNameLabel": "Название потока",
"streamNamePlaceholder": "например, основной поток HD",
"go2rtcStreamLabel": "go2rtc поток",
"go2rtcStreamPlaceholder": "Выберите поток go2rtc",
"go2rtcStreamSearch": "Найдите или введите название потока…",
"noGo2rtcStreams": "Потоки go2rtc не настроены",
"availableStreams": "Доступные потоки",
"useCustom": "Используйте «{{value}}»",
"addStream": "Добавить поток"
},
"timezone": {
"defaultOption": "Использовать часовой пояс браузера"
},
"roleMap": {
"empty": "Нет сопоставлений ролей",
"roleLabel": "Роль",
"groupsLabel": "Группы",
"addMapping": "Добавить сопоставление ролей",
"remove": "Удалить"
},
"ffmpegArgs": {
"preset": "Предустановка",
"manual": "Ручные аргументы",
"inherit": "Наследовать настройки камеры",
"none": "Нет",
"useGlobalSetting": "Наследовать от глобальной настройки",
"selectPreset": "Выберите предустановку",
"manualPlaceholder": "Введите аргументы FFmpeg",
"presetLabels": {
"preset-rpi-64-h264": "Raspberry Pi (H.264)",
"preset-rpi-64-h265": "Raspberry Pi (H.265)",
"preset-vaapi": "VAAPI (Intel/AMD GPU)",
"preset-intel-qsv-h264": "Intel QuickSync (H.264)",
"preset-intel-qsv-h265": "Intel QuickSync (H.265)",
"preset-nvidia": "NVIDIA GPU",
"preset-jetson-h264": "NVIDIA Jetson (H.264)",
"preset-jetson-h265": "NVIDIA Jetson (H.265)",
"preset-rkmpp": "Rockchip RKMPP",
"preset-http-jpeg-generic": "HTTP JPEG (универсальный)",
"preset-http-mjpeg-generic": "HTTP MJPEG (универсальный)",
"preset-http-reolink": "HTTP — камеры Reolink",
"preset-rtmp-generic": "RTMP (универсальный)",
"preset-rtsp-generic": "RTSP (универсальный)",
"preset-rtsp-restream": "RTSP — рестрим из go2rtc",
"preset-rtsp-restream-low-latency": "RTSP — рестрим из go2rtc (низкая задержка)",
"preset-rtsp-udp": "RTSP — UDP",
"preset-rtsp-blue-iris": "RTSP — Blue Iris",
"preset-record-generic": "Запись (универсальная, без звука)",
"preset-record-generic-audio-copy": "Запись (универсальная + копирование аудио)",
"preset-record-generic-audio-aac": "Запись (универсальная + аудио в AAC)",
"preset-record-mjpeg": "Запись — камеры MJPEG",
"preset-record-jpeg": "Запись — камеры JPEG",
"preset-record-ubiquiti": "Запись — камеры Ubiquiti"
}
},
"cameraInputs": {
"itemTitle": "Поток {{index}}",
"sourceMode": {
"restream": "Рестрим (go2rtc)",
"manual": "Путь ввода вручную",
"go2rtcStreamLabel": "go2rtc поток",
"go2rtcStreamPlaceholder": "Выберите поток go2rtc",
"noGo2rtcStreams": "Потоки go2rtc не настроены",
"go2rtcStreamSearch": "Поиск потоков…",
"availableStreams": "Доступные потоки",
"noMatchingStreams": "Нет подходящих потоков"
}
},
"restartRequiredField": "Требуется перезапуск",
"restartRequiredFooter": "Конфигурация изменена – требуется перезагрузка",
"sections": {
"detect": "Обнаружение",
"record": "Запись",
"snapshots": "Снимки",
"motion": "Движение",
"objects": "Объекты",
"review": "Обзор",
"audio": "Аудио",
"notifications": "Уведомления",
"live": "Просмотр в реальном времени",
"timestamp_style": "Временные метки",
"mqtt": "MQTT",
"database": "База данных",
"telemetry": "Телеметрия",
"auth": "Аутентификация",
"tls": "TLS",
"proxy": "Прокси",
"go2rtc": "go2rtc",
"ffmpeg": "FFmpeg",
"detectors": "Детекторы",
"model": "Модель",
"semantic_search": "Семантический поиск",
"genai": "GenAI",
"face_recognition": "Распознавание лиц",
"lpr": "Распознавание номерных знаков",
"birdseye": "Birdseye",
"masksAndZones": "Маски / Зоны"
},
"detect": {
"title": "Настройки обнаружения"
},
"detectors": {
"title": "Настройки детектора",
"singleType": "Разрешен только один детектор {{type}}.",
"keyRequired": "Требуется имя детектора.",
"keyDuplicate": "Имя детектора уже существует.",
"noSchema": "Схемы детекторов отсутствуют.",
"none": "Экземпляры детектора не настроены.",
"add": "Добавить детектор",
"addCustomKey": "Добавить пользовательский ключ"
},
"record": {
"title": "Настройки записи"
},
"snapshots": {
"title": "Настройки снимка"
},
"motion": {
"title": "Настройки движения"
},
"objects": {
"title": "Настройки объекта"
},
"audioLabels": {
"summary": "Выбраны аудиометки {{count}}",
"empty": "Нет доступных аудиометок"
},
"objectLabels": {
"summary": "Выбраны типы объектов {{count}}.",
"empty": "Нет доступных меток объектов"
},
"reviewLabels": {
"summary": "Выбраны ярлыки {{count}}",
"empty": "Нет доступных ярлыков"
},
"filters": {
"objectFieldLabel": "{{field}} для {{label}}"
},
"zoneNames": {
"summary": "{{count}} выбрано",
"empty": "Нет доступных зон"
},
"inputRoles": {
"summary": "Выбраны роли {{count}}",
"empty": "Нет доступных ролей",
"options": {
"detect": "Обнаружение",
"record": "Запись",
"audio": "Аудио"
}
},
"genaiRoles": {
"options": {
"embeddings": "Встраивание",
"descriptions": "Описания",
"chat": "Чат"
}
},
"semanticSearchModel": {
"placeholder": "Выберите модель…",
"builtIn": "Встроенные модели",
"genaiProviders": "Поставщики GenAI"
},
"semanticSearchModelSize": {
"notApplicable": "Не применимо для провайдеров GenAI"
},
"review": {
"title": "Просмотр настроек"
},
"audio": {
"title": "Настройки звука"
},
"notifications": {
"title": "Настройки уведомлений"
},
"live": {
"title": "Настройки просмотра в реальном времени"
},
"timestamp_style": {
"title": "Настройки временной метки"
}
} }
} }