diff --git a/web/public/locales/ru/common.json b/web/public/locales/ru/common.json
index 0087a11eb..45c497c6d 100644
--- a/web/public/locales/ru/common.json
+++ b/web/public/locales/ru/common.json
@@ -171,7 +171,8 @@
"he": "עברית (Иврит)",
"withSystem": {
"label": "Использовать системные настройки языка"
- }
+ },
+ "yue": "粵語 (Кантонский)"
},
"darkMode": {
"withSystem": {
@@ -189,7 +190,8 @@
"green": "Зелёная",
"nord": "Северная",
"red": "Красная",
- "contrast": "Высокий контраст"
+ "contrast": "Высокий контраст",
+ "highcontrast": "Контрастная"
},
"help": "Помощь",
"documentation": {
diff --git a/web/public/locales/ru/components/camera.json b/web/public/locales/ru/components/camera.json
index 47e7ae6ca..95f9efe85 100644
--- a/web/public/locales/ru/components/camera.json
+++ b/web/public/locales/ru/components/camera.json
@@ -35,7 +35,7 @@
"audio": {
"tips": {
"title": "Аудио должно выводиться с вашей камеры и быть настроено в go2rtc для этого потока.",
- "document": "Прочитать документацию "
+ "document": "Читать документацию "
}
},
"streamMethod": {
diff --git a/web/public/locales/ru/components/dialog.json b/web/public/locales/ru/components/dialog.json
index 9bd3fafce..768c7977f 100644
--- a/web/public/locales/ru/components/dialog.json
+++ b/web/public/locales/ru/components/dialog.json
@@ -83,7 +83,7 @@
"disabled": "Рестриминг не включён для этой камеры.",
"desc": {
"title": "Настройте go2rtc для дополнительных вариантов просмотра в реальном времени и аудио для этой камеры.",
- "readTheDocumentation": "Прочитать документацию"
+ "readTheDocumentation": "Читать документацию"
}
},
"debugView": "Режим отладки",
diff --git a/web/public/locales/ru/components/filter.json b/web/public/locales/ru/components/filter.json
index 084fab04e..e1bc2904f 100644
--- a/web/public/locales/ru/components/filter.json
+++ b/web/public/locales/ru/components/filter.json
@@ -111,7 +111,7 @@
},
"recognizedLicensePlates": {
"noLicensePlatesFound": "Номерных знаков не найдено.",
- "placeholder": "Введите номер для поиска знака...",
+ "placeholder": "Введите номер для поиска знака…",
"title": "Распознанные номерные знаки",
"loadFailed": "Не удалось загрузить распознанные номерные знаки.",
"loading": "Загрузка распознанных номерных знаков…",
diff --git a/web/public/locales/ru/views/events.json b/web/public/locales/ru/views/events.json
index 758ed9cdb..d6c5d6b71 100644
--- a/web/public/locales/ru/views/events.json
+++ b/web/public/locales/ru/views/events.json
@@ -19,7 +19,7 @@
"aria": "Выбор событий",
"noFoundForTimePeriod": "Для этого периода времени не найдено ни одного события."
},
- "documentTitle": "Просмотр - Frigate",
+ "documentTitle": "Обзор событий - Frigate",
"recordings": {
"documentTitle": "Записи - Frigate"
},
diff --git a/web/public/locales/ru/views/explore.json b/web/public/locales/ru/views/explore.json
index 34f73c8ef..1ef96769b 100644
--- a/web/public/locales/ru/views/explore.json
+++ b/web/public/locales/ru/views/explore.json
@@ -21,7 +21,7 @@
},
"tips": {
"context": "Возможно, вы захотите переиндексировать эмбеддинги отслеживаемых объектов после загрузки моделей.",
- "documentation": "Прочитать документацию"
+ "documentation": "Читать документацию"
},
"context": "Frigate загружает необходимые модели эмбеддингов для поддержки функции семантического поиска. Это может занять несколько минут в зависимости от скорости вашего интернет-соединения.",
"error": "Произошла ошибка. Проверьте логи Frigate."
@@ -142,7 +142,7 @@
"label": "Сдвиг аннотаций",
"desc": "Эти данные поступают из потока детекции вашей камеры, но накладываются на изображения из потока записи. Потоки вряд ли идеально синхронизированы, поэтому ограничивающая рамка и видео могут не совпадать. Для корректировки используйте поле annotation_offset
.",
"millisecondsToOffset": "Смещение аннотаций детекции в миллисекундах. По умолчанию: 0",
- "documentation": "Прочитать документацию ",
+ "documentation": "Читать документацию ",
"tips": "СОВЕТ: Представьте, у вас клип события, где человек идёт слева направо. Если рамка на таймлайне постоянно смещена влево от человека — уменьшите значение. Если рамка опережает движение — увеличьте значение."
}
},
diff --git a/web/public/locales/ru/views/faceLibrary.json b/web/public/locales/ru/views/faceLibrary.json
index 4c71ff70b..5f2365acf 100644
--- a/web/public/locales/ru/views/faceLibrary.json
+++ b/web/public/locales/ru/views/faceLibrary.json
@@ -63,7 +63,7 @@
"selectImage": "Пожалуйста, выберите файл изображения."
}
},
- "readTheDocs": "Прочитать документацию",
+ "readTheDocs": "Читать документацию",
"trainFaceAs": "Запомнить лицо как:",
"button": {
"uploadImage": "Загрузить изображение",
diff --git a/web/public/locales/ru/views/live.json b/web/public/locales/ru/views/live.json
index 02adc38d3..e7960d58f 100644
--- a/web/public/locales/ru/views/live.json
+++ b/web/public/locales/ru/views/live.json
@@ -104,7 +104,7 @@
"stream": {
"audio": {
"tips": {
- "documentation": "Прочитать документацию ",
+ "documentation": "Читать документацию ",
"title": "Аудио должно выводиться с вашей камеры и быть настроено в go2rtc для этого потока."
},
"available": "Для этого потока доступен звук",
@@ -113,7 +113,7 @@
"title": "Поток",
"twoWayTalk": {
"tips": "Ваше устройство должно поддерживать эту функцию, а WebRTC должен быть настроен для двусторонней связи.",
- "tips.documentation": "Прочитать документацию ",
+ "tips.documentation": "Читать документацию ",
"available": "Двусторонняя связь доступна для этого потока",
"unavailable": "Двусторонняя связь недоступна для этого потока"
},
diff --git a/web/public/locales/ru/views/settings.json b/web/public/locales/ru/views/settings.json
index ee8967727..3c24dfa0d 100644
--- a/web/public/locales/ru/views/settings.json
+++ b/web/public/locales/ru/views/settings.json
@@ -8,7 +8,8 @@
"frigatePlus": "Настройки Frigate+ - Frigate",
"authentication": "Настройки аутентификации - Frigate",
"classification": "Настройки распознавания - Frigate",
- "object": "Настройка объектов - Frigate"
+ "object": "Отладка - Frigate",
+ "notifications": "Настройки уведомлений - Frigate"
},
"menu": {
"cameras": "Настройки камеры",
@@ -84,7 +85,7 @@
"classification": {
"semanticSearch": {
"title": "Семантический поиск",
- "readTheDocumentation": "Открыть документацию",
+ "readTheDocumentation": "Читать документацию",
"reindexNow": {
"label": "Переиндексировать сейчас",
"confirmButton": "Переиндексировать",
@@ -100,7 +101,7 @@
"label": "Размер модели",
"desc": "Размер модели, используемой для эмбеддингов семантического поиска.",
"small": {
- "title": "маленький",
+ "title": "малый",
"desc": "Использование малой модели задействует квантованную версию модели, которая потребляет меньше оперативной памяти и работает быстрее на CPU с очень незначительной разницей в качестве эмбеддингов."
},
"large": {
@@ -112,7 +113,7 @@
"faceRecognition": {
"desc": "Функция распознавания лиц позволяет присваивать людям имена, и когда их лицо будет распознано, Frigate присвоит имя человека в качестве дополнительной метки. Эта информация содержится в пользовательском интерфейсе, фильтрах, а также в уведомлениях.",
"title": "Распознавание лиц",
- "readTheDocumentation": "Открыть документацию",
+ "readTheDocumentation": "Читать документацию",
"modelSize": {
"label": "Размер модели",
"desc": "Размер модели, используемой для распознавания лиц.",
@@ -128,7 +129,7 @@
},
"licensePlateRecognition": {
"title": "Распознавание номерных знаков",
- "readTheDocumentation": "Открыть документацию",
+ "readTheDocumentation": "Читать документацию",
"desc": "Frigate способен распознавать автомобильные номера и автоматически добавлять обнаруженные символы в поле recognized_license_plate или известное имя в качестве sub_label для объектов типа 'car'. Типичный пример использования — чтение номеров автомобилей, заезжающих на подъездную дорожку или проезжающих по улице."
},
"toast": {
@@ -237,14 +238,14 @@
"notification": {
"title": "Уведомления",
"notificationSettings": {
- "documentation": "Прочитать документацию",
+ "documentation": "Читать документацию",
"title": "Настройки уведомлений",
"desc": "Frigate может отправлять push-уведомления на ваше устройство, когда приложение открыто в браузере или установлено как PWA."
},
"notificationUnavailable": {
- "documentation": "Прочитать документацию",
+ "documentation": "Читать документацию",
"title": "Уведомления недоступны",
- "desc": "Веб-уведомления требуют защищённого контекста (https://...
). Это ограничение браузера. Получите безопасный доступ к Frigate, чтобы использовать уведомления."
+ "desc": "Веб-уведомления требуют защищённого контекста (https://…
). Это ограничение браузера. Получите безопасный доступ к Frigate, чтобы использовать уведомления."
},
"email": {
"title": "Email",
@@ -273,7 +274,8 @@
"24hours": "Приостановить на 24 часа",
"untilRestart": "Приостановить до перезапуска",
"5minutes": "Приостановить на 5 минут",
- "10minutes": "Приостановить на 10 минут"
+ "10minutes": "Приостановить на 10 минут",
+ "suspend": "Приостановить"
},
"toast": {
"success": {
@@ -307,7 +309,7 @@
"noDefinedZones": "Для этой камеры не определено ни одной зоны.",
"objectDetectionsTips": "Все объекты {{detectionsLabels}}, не отнесённые к категории на камере {{cameraName}}, будут отображаться как обнаружения, независимо от того, в какой зоне они находятся.",
"title": "Классификация событий",
- "readTheDocumentation": "Прочитать документацию",
+ "readTheDocumentation": "Читать документацию",
"limitDetections": "Ограничение обнаружения отдельными зонами",
"toast": {
"success": "Конфигурация классификации событий была сохранена. Перезапустите Frigate для применения изменений."
@@ -343,7 +345,7 @@
"clickDrawPolygon": "Кликните, чтобы нарисовать полигон на изображении.",
"name": {
"title": "Название",
- "inputPlaceHolder": "Введите название...",
+ "inputPlaceHolder": "Введите название…",
"tips": "Название должно содержать не менее 2 символов и не совпадать с названием камеры или другой зоны."
},
"inertia": {
@@ -377,12 +379,12 @@
"add": "Новая маска движения",
"edit": "Редактировать маску движения",
"context": {
- "documentation": "Прочитать документацию",
+ "documentation": "Читать документацию",
"title": "Маски движения используются, чтобы предотвратить срабатывание обнаружений на нежелательные типы движения (например, ветки деревьев, метки времени на камере). При этом маски движения нужно использовать очень умеренно: чрезмерное применение масок затруднит отслеживание объектов."
},
"clickDrawPolygon": "Нажмите, чтобы нарисовать полигон на изображении.",
"polygonAreaTooLarge": {
- "documentation": "Прочитать документацию",
+ "documentation": "Читать документацию",
"title": "Маска движения покрывает {{polygonArea}}% кадра. Большие маски движения не рекомендуются.",
"tips": "Маски движения не предотвращают обнаружение объектов. Вместо этого следует использовать обязательную зону."
},
@@ -484,7 +486,7 @@
},
"motionDetectionTuner": {
"desc": {
- "documentation": "Прочитать руководство по настройке детекции движения",
+ "documentation": "Читать руководство по настройке детекции движения",
"title": "Frigate использует детекцию движения как первичную проверку, чтобы определить, есть ли в кадре что-то, что стоит анализировать с помощью детекции объектов."
},
"title": "Настройка детекции движения",
@@ -506,7 +508,7 @@
},
"debug": {
"objectShapeFilterDrawing": {
- "document": "Прочитать документацию ",
+ "document": "Читать документацию ",
"title": "Отрисовка фильтра формы объекта",
"desc": "Отображает прямоугольник на изображении, чтобы видеть данные о площади и соотношении сторон",
"tips": "Включите эту опцию, чтобы нарисовать прямоугольник на изображении с камеры для отображения его площади и соотношения сторон. Эти значения можно затем использовать для настройки параметров фильтра формы объектов в вашем конфигурационном файле.",
@@ -577,12 +579,12 @@
"trainDate": "Дата обучения",
"error": "Не удалось загрузить информацию о модели",
"availableModels": "Доступные модели",
- "loadingAvailableModels": "Загрузка доступных моделей...",
+ "loadingAvailableModels": "Загрузка доступных моделей…",
"modelSelect": "Здесь можно выбрать ваши доступные модели на Frigate+. Обратите внимание, что могут быть выбраны только модели, совместимые с текущей конфигурацией детектора.",
"baseModel": "Базовая модель",
"supportedDetectors": "Поддерживаемые детекторы",
"dimensions": "Размеры",
- "loading": "Загрузка информации о модели...",
+ "loading": "Загрузка информации о модели…",
"cameras": "Камеры",
"plusModelType": {
"baseModel": "Базовая модель",
diff --git a/web/public/locales/ru/views/system.json b/web/public/locales/ru/views/system.json
index cf2014783..328cd6536 100644
--- a/web/public/locales/ru/views/system.json
+++ b/web/public/locales/ru/views/system.json
@@ -41,7 +41,8 @@
"title": "Детекторы",
"inferenceSpeed": "Скорость вывода детектора",
"cpuUsage": "Использование CPU детектором",
- "memoryUsage": "Использование памяти детектором"
+ "memoryUsage": "Использование памяти детектором",
+ "temperature": "Температура детектора"
},
"hardwareInfo": {
"title": "Информация об оборудовании",
@@ -124,11 +125,20 @@
},
"framesAndDetections": "Кадры/детекции",
"label": {
- "ffmpeg": "ffmpeg",
+ "ffmpeg": "FFmpeg",
"camera": "камера",
"capture": "захват",
"skipped": "пропущено",
- "detect": "детекция"
+ "detect": "детекция",
+ "cameraDetectionsPerSecond": "{{camName}} обнаружений в секунду",
+ "cameraSkippedDetectionsPerSecond": "{{camName}} пропущенных обнаружений в секунду",
+ "cameraFramesPerSecond": "{{camName}} кадров в секунду",
+ "overallFramesPerSecond": "общее количество кадров в секунду",
+ "overallDetectionsPerSecond": "общее количество обнаружений в секунду",
+ "overallSkippedDetectionsPerSecond": "общее количество пропущенных обнаружений в секунду",
+ "cameraFfmpeg": "{{camName}} FFmpeg",
+ "cameraCapture": "{{camName}} захват",
+ "cameraDetect": "{{camName}} обнаружения"
},
"toast": {
"success": {
@@ -141,7 +151,7 @@
},
"lastRefreshed": "Обновлено: ",
"stats": {
- "ffmpegHighCpuUsage": "Камера {{camera}} использует чрезмерно много ресурсов CPU в FFMPEG ({{ffmpegAvg}}%)",
+ "ffmpegHighCpuUsage": "Камера {{camera}} использует чрезмерно много ресурсов CPU в FFmpeg ({{ffmpegAvg}}%)",
"detectHighCpuUsage": "Камера {{camera}} использует слишком много ресурсов CPU для детекции ({{detectAvg}}%)",
"healthy": "Система в порядке",
"reindexingEmbeddings": "Переиндексация эмбеддингов (выполнено {{processed}} %)",