diff --git a/web/public/locales/ru/views/settings.json b/web/public/locales/ru/views/settings.json
index 4f45db1bb..7044dc7e8 100644
--- a/web/public/locales/ru/views/settings.json
+++ b/web/public/locales/ru/views/settings.json
@@ -53,7 +53,12 @@
"desc": "По умолчанию последние тревоги на панели мониторинга воспроизводятся как короткие зацикленные видео. Отключите эту опцию, чтобы показывать только статичное изображение последних оповещений на этом устройстве/браузере."
},
"displayCameraNames": {
- "label": "Всегда показывать названия камер"
+ "label": "Всегда показывать названия камер",
+ "desc": "Всегда показывать названия камер в виде метки на панели мониторинга с несколькими камерами."
+ },
+ "liveFallbackTimeout": {
+ "label": "Таймаут переключения на низкое качество",
+ "desc": "Когда высококачественный поток камеры недоступен, переключиться на режим низкой пропускной способности через указанное количество секунд. По умолчанию: 3."
}
},
"calendar": {
@@ -473,7 +478,8 @@
"mustNotBeSameWithCamera": "Имя зоны не должно совпадать с именем камеры.",
"hasIllegalCharacter": "Имя зоны содержит недопустимые символы.",
"alreadyExists": "Зона с таким именем уже существует для этой камеры.",
- "mustNotContainPeriod": "Имя зоны не должно содержать точки."
+ "mustNotContainPeriod": "Имя зоны не должно содержать точки.",
+ "mustHaveAtLeastOneLetter": "Название зоны должно содержать хотя бы одну букву."
}
},
"distance": {
@@ -854,7 +860,8 @@
"steps": {
"nameAndConnection": "Имя и подключение",
"streamConfiguration": "Конфигурация потока",
- "validationAndTesting": "Проверка и тестирование"
+ "validationAndTesting": "Проверка и тестирование",
+ "probeOrSnapshot": "Проверка или снимок"
},
"save": {
"success": "Новая камера {{cameraName}} успешно сохранена.",
@@ -902,7 +909,8 @@
"nameExists": "Имя камеры уже используется",
"brands": {
"reolink-rtsp": "RTSP от Reolink не рекомендуется. Включите HTTP в настройках камеры и перезапустите мастер настройки камеры."
- }
+ },
+ "customUrlRtspRequired": "Пользовательские URL должны начинаться с \"rtsp://\". Для потоков камер, не использующих RTSP, требуется ручная настройка."
},
"docs": {
"reolink": "https://docs.frigate.video/configuration/camera_specific.html#reolink-cameras"
@@ -910,10 +918,19 @@
"testing": {
"probingMetadata": "Проверка метаданных камеры…",
"fetchingSnapshot": "Получение снимка с камеры…"
- }
+ },
+ "connectionSettings": "Настройки подключения",
+ "detectionMethod": "Метод обнаружения потока",
+ "onvifPort": "Порт ONVIF",
+ "probeMode": "Проверить камеру",
+ "manualMode": "Ручной выбор",
+ "detectionMethodDescription": "Проверьте камеру с помощью ONVIF (если поддерживается) для поиска URL потоков камеры или вручную выберите бренд камеры для использования предопределённых URL. Чтобы ввести пользовательский RTSP URL, выберите ручной метод и выберите \"Другое\".",
+ "onvifPortDescription": "Для камер, поддерживающих ONVIF, это обычно 80 или 8080.",
+ "useDigestAuth": "Использовать digest-аутентификацию",
+ "useDigestAuthDescription": "Использовать HTTP digest-аутентификацию для ONVIF. Некоторые камеры могут требовать отдельное имя пользователя/пароль ONVIF вместо стандартного пользователя администратора."
},
"step2": {
- "description": "Настройте роли потоков и добавьте дополнительные потоки для вашей камеры.",
+ "description": "Проверьте камеру на наличие доступных потоков или настройте параметры вручную в зависимости от выбранного метода обнаружения.",
"streamsTitle": "Потоки камеры",
"addStream": "Добавить поток",
"addAnotherStream": "Добавить ещё один поток",
@@ -932,8 +949,133 @@
"audio": "Аудио"
},
"testStream": "Проверить соединение",
+ "testSuccess": "Проверка соединения успешна!",
+ "testFailed": "Проверка соединения не удалась. Проверьте введённые данные и попробуйте снова.",
+ "testFailedTitle": "Проверка не удалась",
+ "streamDetails": "Детали потока",
+ "probing": "Проверка камеры…",
+ "retry": "Повторить",
+ "testing": {
+ "probingMetadata": "Проверка метаданных камеры…",
+ "fetchingSnapshot": "Получение снимка с камеры…"
+ },
+ "probeFailed": "Не удалось проверить камеру: {{error}}",
+ "probingDevice": "Проверка устройства…",
+ "probeSuccessful": "Проверка успешна",
+ "probeError": "Ошибка проверки",
+ "probeNoSuccess": "Проверка не удалась",
+ "deviceInfo": "Информация об устройстве",
+ "manufacturer": "Производитель",
+ "model": "Модель",
+ "firmware": "Прошивка",
+ "profiles": "Профили",
+ "ptzSupport": "Поддержка PTZ",
+ "autotrackingSupport": "Поддержка автотрекинга",
+ "presets": "Предустановки",
+ "rtspCandidates": "Кандидаты RTSP",
+ "rtspCandidatesDescription": "Следующие RTSP URL были найдены при проверке камеры. Проверьте соединение, чтобы просмотреть метаданные потока.",
+ "noRtspCandidates": "RTSP URL не найдены для камеры. Ваши учётные данные могут быть неверными, или камера может не поддерживать ONVIF или метод, используемый для получения RTSP URL. Вернитесь назад и введите RTSP URL вручную.",
+ "candidateStreamTitle": "Кандидат {{number}}",
+ "useCandidate": "Использовать",
+ "uriCopy": "Копировать",
+ "uriCopied": "URI скопирован в буфер обмена",
+ "testConnection": "Проверить соединение",
+ "toggleUriView": "Нажмите, чтобы переключить полный вид URI",
+ "connected": "Подключено",
+ "notConnected": "Не подключено",
+ "errors": {
+ "hostRequired": "Требуется хост/IP-адрес"
+ }
+ },
+ "step3": {
+ "description": "Настройте роли потоков и добавьте дополнительные потоки для вашей камеры.",
+ "streamsTitle": "Потоки камеры",
+ "addStream": "Добавить поток",
+ "addAnotherStream": "Добавить ещё поток",
+ "streamTitle": "Поток {{number}}",
+ "streamUrl": "URL потока",
+ "streamUrlPlaceholder": "rtsp://имя_пользователя:пароль@хост:порт/путь",
+ "selectStream": "Выбрать поток",
+ "searchCandidates": "Поиск кандидатов…",
+ "noStreamFound": "Поток не найден",
+ "url": "URL",
+ "resolution": "Разрешение",
+ "selectResolution": "Выберите разрешение",
+ "quality": "Качество",
+ "selectQuality": "Выберите качество",
+ "roles": "Роли",
+ "roleLabels": {
+ "detect": "Обнаружение объектов",
+ "record": "Запись",
+ "audio": "Аудио"
+ },
+ "testStream": "Проверить соединение",
"testSuccess": "Тест потока выполнен успешно!",
- "testFailed": "Тест потока не пройден"
+ "testFailed": "Тест потока не пройден",
+ "testFailedTitle": "Тест не пройден",
+ "connected": "Подключено",
+ "notConnected": "Не подключено",
+ "featuresTitle": "Функции",
+ "go2rtc": "Уменьшить количество подключений к камере",
+ "detectRoleWarning": "Хотя бы один поток должен иметь роль \"detect\" для продолжения.",
+ "rolesPopover": {
+ "title": "Роли потоков",
+ "detect": "Основной поток для обнаружения объектов.",
+ "record": "Сохраняет сегменты видеопотока на основе настроек конфигурации.",
+ "audio": "Поток для обнаружения на основе аудио."
+ },
+ "featuresPopover": {
+ "title": "Функции потоков",
+ "description": "Использовать рестриминг go2rtc для уменьшения количества подключений к камере."
+ }
+ },
+ "step4": {
+ "description": "Финальная проверка и анализ перед сохранением новой камеры. Подключите каждый поток перед сохранением.",
+ "validationTitle": "Проверка потоков",
+ "connectAllStreams": "Подключить все потоки",
+ "reconnectionSuccess": "Переподключение успешно.",
+ "reconnectionPartial": "Некоторые потоки не удалось переподключить.",
+ "streamUnavailable": "Предпросмотр потока недоступен",
+ "reload": "Перезагрузить",
+ "connecting": "Подключение…",
+ "streamTitle": "Поток {{number}}",
+ "valid": "Действителен",
+ "failed": "Не удалось",
+ "notTested": "Не проверен",
+ "connectStream": "Подключить",
+ "connectingStream": "Подключение",
+ "disconnectStream": "Отключить",
+ "estimatedBandwidth": "Расчётная пропускная способность",
+ "roles": "Роли",
+ "ffmpegModule": "Использовать режим совместимости потоков",
+ "ffmpegModuleDescription": "Если поток не загружается после нескольких попыток, попробуйте включить это. При включении Frigate будет использовать модуль ffmpeg с go2rtc. Это может обеспечить лучшую совместимость с некоторыми потоками камер.",
+ "none": "Нет",
+ "error": "Ошибка",
+ "streamValidated": "Поток {{number}} успешно проверен",
+ "streamValidationFailed": "Проверка потока {{number}} не удалась",
+ "saveAndApply": "Сохранить новую камеру",
+ "saveError": "Неверная конфигурация. Пожалуйста, проверьте настройки.",
+ "issues": {
+ "title": "Проверка потоков",
+ "videoCodecGood": "Видеокодек: {{codec}}.",
+ "audioCodecGood": "Аудиокодек: {{codec}}.",
+ "resolutionHigh": "Разрешение {{resolution}} может привести к увеличению использования ресурсов.",
+ "resolutionLow": "Разрешение {{resolution}} может быть слишком низким для надёжного обнаружения мелких объектов.",
+ "noAudioWarning": "Аудио не обнаружено для этого потока, записи не будут содержать аудио.",
+ "audioCodecRecordError": "Для поддержки аудио в записях требуется аудиокодек AAC.",
+ "audioCodecRequired": "Для поддержки обнаружения аудио требуется аудиопоток.",
+ "restreamingWarning": "Уменьшение количества подключений к камере для потока записи может немного увеличить использование CPU.",
+ "brands": {
+ "reolink-rtsp": "RTSP от Reolink не рекомендуется. Включите HTTP в настройках прошивки камеры и перезапустите мастер.",
+ "reolink-http": "HTTP потоки Reolink должны использовать FFmpeg для лучшей совместимости. Включите 'Использовать режим совместимости потоков' для этого потока."
+ },
+ "dahua": {
+ "substreamWarning": "Подпоток 1 заблокирован на низком разрешении. Многие камеры Dahua / Amcrest / EmpireTech поддерживают дополнительные подпотоки, которые необходимо включить в настройках камеры. Рекомендуется проверить и использовать эти потоки, если они доступны."
+ },
+ "hikvision": {
+ "substreamWarning": "Подпоток 1 заблокирован на низком разрешении. Многие камеры Hikvision поддерживают дополнительные подпотоки, которые необходимо включить в настройках камеры. Рекомендуется проверить и использовать эти потоки, если они доступны."
+ }
+ }
}
},
"roles": {
@@ -993,5 +1135,82 @@
}
}
}
+ },
+ "cameraManagement": {
+ "title": "Управление камерами",
+ "addCamera": "Добавить новую камеру",
+ "editCamera": "Редактировать камеру:",
+ "selectCamera": "Выбрать камеру",
+ "backToSettings": "Вернуться к настройкам камеры",
+ "streams": {
+ "title": "Включить / Отключить камеры",
+ "desc": "Временно отключить камеру до перезапуска Frigate. Отключение камеры полностью останавливает обработку потоков этой камеры в Frigate. Обнаружение, запись и отладка будут недоступны.
Примечание: Это не отключает рестриминг go2rtc."
+ },
+ "cameraConfig": {
+ "add": "Добавить камеру",
+ "edit": "Редактировать камеру",
+ "description": "Настройте параметры камеры, включая входные трансляции и роли.",
+ "name": "Название камеры",
+ "nameRequired": "Требуется имя камеры",
+ "nameLength": "Название камеры должно содержать менее 64 символов.",
+ "namePlaceholder": "например, front_door или Обзор заднего двора",
+ "enabled": "Включено",
+ "ffmpeg": {
+ "inputs": "Входные потоки",
+ "path": "Путь потока",
+ "pathRequired": "Требуется путь потока",
+ "pathPlaceholder": "rtsp://…",
+ "roles": "Роли",
+ "rolesRequired": "Требуется хотя бы одна роль",
+ "rolesUnique": "Каждая роль (аудио, обнаружение, запись) может быть назначена только одной трансляции",
+ "addInput": "Добавить входной поток",
+ "removeInput": "Удалить входной поток",
+ "inputsRequired": "Требуется хотя бы один входной поток"
+ },
+ "go2rtcStreams": "Потоки go2rtc",
+ "streamUrls": "URL потоков",
+ "addUrl": "Добавить URL",
+ "addGo2rtcStream": "Добавить поток go2rtc",
+ "toast": {
+ "success": "Камера {{cameraName}} успешно сохранена"
+ }
+ }
+ },
+ "cameraReview": {
+ "title": "Настройки просмотра камеры",
+ "object_descriptions": {
+ "title": "Генеративные описания объектов ИИ",
+ "desc": "Временно включить/отключить генеративные описания объектов ИИ для этой камеры. При отключении описания объектов, сгенерированные ИИ, не будут запрашиваться для отслеживаемых объектов на этой камере."
+ },
+ "review_descriptions": {
+ "title": "Генеративные описания обзоров ИИ",
+ "desc": "Временно включить/отключить генеративные описания обзоров ИИ для этой камеры. При отключении описания обзоров, сгенерированные ИИ, не будут запрашиваться для элементов обзора на этой камере."
+ },
+ "review": {
+ "title": "Обзор",
+ "desc": "Временно включить/отключить тревоги и обнаружения для этой камеры до перезапуска Frigate. При отключении новые элементы обзора не будут создаваться. ",
+ "alerts": "Тревоги ",
+ "detections": "Обнаружения "
+ },
+ "reviewClassification": {
+ "title": "Классификация обзора",
+ "desc": "Frigate классифицирует элементы обзора как Тревоги и Обнаружения. По умолчанию все объекты person и car считаются Тревогами. Вы можете уточнить классификацию элементов обзора, настроив для них требуемые зоны.",
+ "noDefinedZones": "Для этой камеры не определено ни одной зоны.",
+ "objectAlertsTips": "Все объекты {{alertsLabels}} на камере {{cameraName}} будут отображаться как Тревоги.",
+ "zoneObjectAlertsTips": "Все объекты {{alertsLabels}}, обнаруженные в {{zone}} на камере {{cameraName}}, будут отображаться как Тревоги.",
+ "objectDetectionsTips": "Все объекты {{detectionsLabels}}, не отнесённые к категории на камере {{cameraName}}, будут отображаться как Обнаружения, независимо от того, в какой зоне они находятся.",
+ "zoneObjectDetectionsTips": {
+ "text": "Все объекты {{detectionsLabels}}, не отнесённые к категории в {{zone}} на камере {{cameraName}}, будут отображаться как Обнаружения.",
+ "notSelectDetections": "Все объекты {{detectionsLabels}}, обнаруженные в {{zone}} на камере {{cameraName}}, которые не отнесены к Тревогам, будут отображаться как Обнаружения, независимо от того, в какой зоне они находятся.",
+ "regardlessOfZoneObjectDetectionsTips": "Все объекты {{detectionsLabels}}, не отнесённые к категории на камере {{cameraName}}, будут отображаться как Обнаружения, независимо от того, в какой зоне они находятся."
+ },
+ "unsavedChanges": "Несохранённые настройки классификации обзора для {{camera}}",
+ "selectAlertsZones": "Выберите зоны для Тревог",
+ "selectDetectionsZones": "Выберите зоны для обнаружений",
+ "limitDetections": "Ограничить обнаружения определёнными зонами",
+ "toast": {
+ "success": "Конфигурация классификации обзора была сохранена. Перезапустите Frigate для применения изменений."
+ }
+ }
}
}