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 для применения изменений." + } + } } }