From 1a1443918617944ca258b968bae32d9b444a7093 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Mon, 28 Apr 2025 20:55:36 +0200 Subject: [PATCH] Translated using Weblate (Russian) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 100.0% (103 of 103 strings) Translated using Weblate (Russian) Currently translated at 100.0% (48 of 48 strings) Translated using Weblate (Russian) Currently translated at 100.0% (52 of 52 strings) Translated using Weblate (Russian) Currently translated at 100.0% (65 of 65 strings) Translated using Weblate (Russian) Currently translated at 100.0% (110 of 110 strings) Translated using Weblate (Russian) Currently translated at 100.0% (2 of 2 strings) Translated using Weblate (Russian) Currently translated at 100.0% (48 of 48 strings) Translated using Weblate (Russian) Currently translated at 100.0% (43 of 43 strings) Translated using Weblate (Russian) Currently translated at 100.0% (176 of 176 strings) Translated using Weblate (Russian) Currently translated at 100.0% (6 of 6 strings) Translated using Weblate (Russian) Currently translated at 100.0% (427 of 427 strings) Translated using Weblate (Russian) Currently translated at 100.0% (103 of 103 strings) Translated using Weblate (Russian) Currently translated at 100.0% (331 of 331 strings) Translated using Weblate (Russian) Currently translated at 100.0% (80 of 80 strings) Translated using Weblate (Russian) Currently translated at 100.0% (7 of 7 strings) Translated using Weblate (Russian) Currently translated at 100.0% (65 of 65 strings) Translated using Weblate (Russian) Currently translated at 100.0% (48 of 48 strings) Translated using Weblate (Russian) Currently translated at 100.0% (43 of 43 strings) Translated using Weblate (Russian) Currently translated at 100.0% (118 of 118 strings) Translated using Weblate (Russian) Currently translated at 100.0% (176 of 176 strings) Translated using Weblate (Russian) Currently translated at 100.0% (427 of 427 strings) Translated using Weblate (Russian) Currently translated at 100.0% (52 of 52 strings) Translated using Weblate (Russian) Currently translated at 100.0% (23 of 23 strings) Translated using Weblate (Russian) Currently translated at 91.3% (21 of 23 strings) Translated using Weblate (Russian) Currently translated at 100.0% (48 of 48 strings) Translated using Weblate (Russian) Currently translated at 100.0% (103 of 103 strings) Translated using Weblate (Russian) Currently translated at 100.0% (331 of 331 strings) Translated using Weblate (Russian) Currently translated at 100.0% (22 of 22 strings) Translated using Weblate (Russian) Currently translated at 100.0% (97 of 97 strings) Translated using Weblate (Russian) Currently translated at 100.0% (176 of 176 strings) Translated using Weblate (Russian) Currently translated at 100.0% (97 of 97 strings) Translated using Weblate (Russian) Currently translated at 100.0% (46 of 46 strings) Translated using Weblate (Russian) Currently translated at 100.0% (170 of 170 strings) Translated using Weblate (Russian) Currently translated at 100.0% (328 of 328 strings) Translated using Weblate (Russian) Currently translated at 100.0% (46 of 46 strings) Translated using Weblate (Russian) Currently translated at 100.0% (328 of 328 strings) Translated using Weblate (Russian) Currently translated at 100.0% (170 of 170 strings) Translated using Weblate (Russian) Currently translated at 100.0% (328 of 328 strings) Translated using Weblate (Russian) Currently translated at 100.0% (328 of 328 strings) Translated using Weblate (Russian) Currently translated at 100.0% (328 of 328 strings) Translated using Weblate (Russian) Currently translated at 100.0% (97 of 97 strings) Translated using Weblate (Russian) Currently translated at 100.0% (97 of 97 strings) Translated using Weblate (Russian) Currently translated at 100.0% (110 of 110 strings) Translated using Weblate (Russian) Currently translated at 100.0% (328 of 328 strings) Translated using Weblate (Russian) Currently translated at 100.0% (48 of 48 strings) Translated using Weblate (Russian) Currently translated at 100.0% (107 of 107 strings) Translated using Weblate (Russian) Currently translated at 100.0% (48 of 48 strings) Translated using Weblate (Russian) Currently translated at 100.0% (170 of 170 strings) Co-authored-by: Hosted Weblate Co-authored-by: Oleg Chumakov Co-authored-by: Sotski Eugene Co-authored-by: Артём Владимиров Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/ru/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ru/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-camera/ru/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/ru/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/ru/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-icons/ru/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/ru/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/ru/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/ru/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/ru/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/ru/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/ru/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-recording/ru/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/ru/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ru/ Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ru/ Translation: Frigate NVR/audio Translation: Frigate NVR/common Translation: Frigate NVR/components-camera Translation: Frigate NVR/components-dialog Translation: Frigate NVR/components-filter Translation: Frigate NVR/components-icons Translation: Frigate NVR/objects Translation: Frigate NVR/views-configeditor Translation: Frigate NVR/views-events Translation: Frigate NVR/views-explore Translation: Frigate NVR/views-facelibrary Translation: Frigate NVR/views-live Translation: Frigate NVR/views-recording Translation: Frigate NVR/views-search Translation: Frigate NVR/views-settings Translation: Frigate NVR/views-system --- web/public/locales/ru/audio.json | 20 +++--- web/public/locales/ru/common.json | 57 +++++++++++----- web/public/locales/ru/components/camera.json | 12 ++-- web/public/locales/ru/components/dialog.json | 18 +++-- web/public/locales/ru/components/filter.json | 4 +- web/public/locales/ru/components/icons.json | 2 +- web/public/locales/ru/objects.json | 8 +-- web/public/locales/ru/views/configEditor.json | 2 +- web/public/locales/ru/views/events.json | 7 +- web/public/locales/ru/views/explore.json | 17 +++-- web/public/locales/ru/views/faceLibrary.json | 24 ++++--- web/public/locales/ru/views/live.json | 4 +- web/public/locales/ru/views/recording.json | 2 +- web/public/locales/ru/views/search.json | 11 +++- web/public/locales/ru/views/settings.json | 65 +++++++++++-------- web/public/locales/ru/views/system.json | 44 ++++++++----- 16 files changed, 186 insertions(+), 111 deletions(-) diff --git a/web/public/locales/ru/audio.json b/web/public/locales/ru/audio.json index 953c0f688..9f5e58530 100644 --- a/web/public/locales/ru/audio.json +++ b/web/public/locales/ru/audio.json @@ -17,7 +17,7 @@ "whispering": "Шёпот", "whoop": "Возглас", "crying": "Плач", - "yodeling": "Йодль", + "yodeling": "Йодль (пение)", "snicker": "Смешок", "sigh": "Сигнал", "singing": "Пение", @@ -46,26 +46,26 @@ "clapping": "Хлопать", "moo": "Мычание", "cowbell": "Коровий колокольчик", - "heart_murmur": "Шум в сердце", + "heart_murmur": "Сердечный шум", "cheering": "Ликование", "applause": "Аплодисменты", "chatter": "Болтовня", "crowd": "Толпа", "children_playing": "Игра детей", - "animal": "Зверь", + "animal": "Животное", "pets": "Домашние животные", "dog": "Собака", "bark": "Лай", - "yip": "Тявкать", + "yip": "Тявканье", "howl": "Вой", "whimper_dog": "Собачий скулеж", "cat": "Кошка", "purr": "Мурлыканье", "meow": "Мяуканье", "hiss": "Шипение", - "growling": "Рычать", + "growling": "Рычание", "bow_wow": "Гавканье", - "heartbeat": "Сердце биение", + "heartbeat": "Сердцебиение", "caterwaul": "Кошачий вой", "horse": "Лошадь", "clip_clop": "Цоканье", @@ -89,7 +89,7 @@ "honk": "Гоготание", "wild_animals": "Дикие животные", "roaring_cats": "Рычащие кошки", - "roar": "Рычание", + "roar": "Рык", "chirp": "Чириканье", "squawk": "Птичий крик", "pigeon": "Голубь", @@ -131,7 +131,7 @@ "banjo": "Банджо", "zither": "Цитра", "ukulele": "Укулеле", - "keyboard": "Клавишный инструмент", + "keyboard": "Клавиатура", "electric_piano": "Электропианино", "organ": "Орган", "electronic_organ": "Электроорган", @@ -251,8 +251,8 @@ "sad_music": "Грустная музыка", "tender_music": "Нежная музыка", "exciting_music": "Энергичная музыка", - "angry_music": "Гневная музыка", - "scary_music": "Страшная музыка", + "angry_music": "Агрессивная музыка", + "scary_music": "Жуткая музыка", "wind": "Ветер", "rustling_leaves": "Шуршание листьев", "wind_noise": "Шум ветра", diff --git a/web/public/locales/ru/common.json b/web/public/locales/ru/common.json index ea5a430bc..0087a11eb 100644 --- a/web/public/locales/ru/common.json +++ b/web/public/locales/ru/common.json @@ -55,30 +55,51 @@ "12hour": "%b %-d %Y, %I:%M %p" }, "formattedTimestamp2": { - "24hour": "%d %b %H:%M:%S", - "12hour": "%m/%d %I:%M:%S%P" + "24hour": "d MMM HH:mm:ss", + "12hour": "MM/dd h:mm:ssa" }, "formattedTimestamp": { - "12hour": "%b %-d, %I:%M:%S %p", - "24hour": "%b %-d, %H:%M:%S" + "12hour": "MMM d, h:mm:ss aaa", + "24hour": "MMM d, HH:mm:ss" }, - "formattedTimestampOnlyMonthAndDay": "%b %-d" + "formattedTimestampOnlyMonthAndDay": "%b %-d", + "formattedTimestampHourMinuteSecond": { + "12hour": "h:mm:ss aaa", + "24hour": "HH:mm:ss" + }, + "formattedTimestampFilename": { + "24hour": "MM-dd-yy-HH-mm-ss", + "12hour": "MM-dd-yy-h-mm-ss-a" + }, + "formattedTimestampMonthDayHourMinute": { + "12hour": "MMM d, h:mm aaa", + "24hour": "MMM d, HH:mm" + }, + "formattedTimestampMonthDayYearHourMinute": { + "12hour": "MMM d yyyy, h:mm aaa", + "24hour": "MMM d yyyy, HH:mm" + }, + "formattedTimestampMonthDay": "MMM d", + "formattedTimestampHourMinute": { + "12hour": "h:mm aaa", + "24hour": "HH:mm" + } }, "selectItem": "Выбор {{item}}", "button": { - "apply": "Принять", + "apply": "Применить", "done": "Готово", "enabled": "Включено", "enable": "Включить", "save": "Сохранить", - "saving": "Сохранение...", + "saving": "Сохранение…", "fullscreen": "Полноэкранный режим", "pictureInPicture": "Картинка в картинке", "twoWayTalk": "Двусторонняя связь", "cameraAudio": "Аудио с камеры", "on": "Вкл", "edit": "Редактировать", - "copyCoordinates": "Копировать координаты", + "copyCoordinates": "Скопировать координаты", "delete": "Удалить", "yes": "Да", "no": "Нет", @@ -90,7 +111,7 @@ "reset": "Сбросить", "disabled": "Отключено", "close": "Закрыть", - "copy": "Копировать", + "copy": "Скопировать", "back": "Назад", "history": "История", "off": "Выкл", @@ -98,7 +119,7 @@ "unsuspended": "Возобновить", "play": "Воспроизвести", "unselect": "Снять выбор", - "export": "Экспорт", + "export": "Экспортировать", "deleteNow": "Удалить сейчас", "next": "Следующий" }, @@ -113,7 +134,7 @@ }, "menu": { "configuration": "Конфигурация", - "systemLogs": "Системные логи", + "systemLogs": "Логи системы", "settings": "Настройки", "configurationEditor": "Редактор конфигурации", "system": "Система", @@ -149,18 +170,18 @@ "ko": "한국어 (Корейский)", "he": "עברית (Иврит)", "withSystem": { - "label": "Использовать системные языковые настройки" + "label": "Использовать системные настройки языка" } }, "darkMode": { "withSystem": { - "label": "Использовать системные настройки светлого или тёмного режимов" + "label": "Использовать системные настройки светлой/тёмной темы" }, "label": "Тёмный режим", "light": "Светлый", "dark": "Тёмный" }, - "withSystem": "Система", + "withSystem": "Системный", "theme": { "label": "Тема", "blue": "Синяя", @@ -175,7 +196,7 @@ "title": "Документация", "label": "Документация по Frigate" }, - "explore": "Обзор", + "explore": "Поиск событий", "restart": "Перезапуск Frigate", "live": { "title": "Прямой эфир", @@ -187,10 +208,10 @@ "title": "Камеры" } }, - "review": "Просмотр", - "export": "Экспорт", + "review": "Обзор событий", + "export": "Экспортировать", "uiPlayground": "Среда тестирования интерфейсов", - "faceLibrary": "Библиотека Лиц", + "faceLibrary": "Библиотека лиц", "user": { "title": "Пользователь", "account": "Аккаунт", diff --git a/web/public/locales/ru/components/camera.json b/web/public/locales/ru/components/camera.json index 88ed8e9c0..47e7ae6ca 100644 --- a/web/public/locales/ru/components/camera.json +++ b/web/public/locales/ru/components/camera.json @@ -12,7 +12,7 @@ }, "name": { "label": "Название", - "placeholder": "Введите название...", + "placeholder": "Введите название…", "errorMessage": { "exists": "Такое название группы камер уже существует.", "nameMustNotPeriod": "Название группы камер не должно содержать точки.", @@ -29,7 +29,7 @@ "camera": { "setting": { "label": "Настройки видеопотока", - "desc": "Изменить параметры прямой трансляции для панели этой группы камер. Эти настройки зависят от устройства/браузера.", + "desc": "Изменение параметров прямой трансляции для панели этой группы камер. Эти настройки зависят от устройства/браузера.", "audioIsAvailable": "Для этого потока доступен звук", "audioIsUnavailable": "Для этого потока звук недоступен", "audio": { @@ -43,24 +43,24 @@ "method": { "noStreaming": { "label": "Нет потока", - "desc": "Изображения с камеры будут обновляться только раз в минуту, и прямая трансляция происходить не будет." + "desc": "Кадры с камеры обновляются раз в минуту, без прямой трансляции." }, "smartStreaming": { "label": "Умный поток (рекомендуется)", - "desc": "Умный поток будет обновлять изображение с камеры раз в минуту при отсутствии активности для экономии трафика и ресурсов. При обнаружении активности изображение автоматически переключается на прямую трансляцию." + "desc": "Для экономии ресурсов поток обновляется раз в минуту. При обнаружении активности автоматически активируется прямая трансляция." }, "continuousStreaming": { "label": "Непрерывный поток", "desc": { "warning": "Непрерывная потоковая передача может привести к высокому потреблению трафика и проблемам с производительностью. Используйте с осторожностью.", - "title": "Изображение с камеры всегда будет транслироваться в реальном времени при отображении на панели, даже если активность не обнаружена." + "title": "Когда изображение выводится на панель, оно всегда обновляется в режиме реального времени, вне зависимости от обнаружения активности." } } } }, "compatibilityMode": { "label": "Режим совместимости", - "desc": "Включите эту опцию только если прямая трансляция с вашей камеры отображает цветовые артефакты и имеет диагональную линию с правой стороны изображения." + "desc": "Активируйте эту настройку только при появлении цветовых искажений или диагональной полосы с правого края в прямой трансляции." }, "title": "Настройки видеопотока {{cameraName}}" } diff --git a/web/public/locales/ru/components/dialog.json b/web/public/locales/ru/components/dialog.json index 531ee4b66..9bd3fafce 100644 --- a/web/public/locales/ru/components/dialog.json +++ b/web/public/locales/ru/components/dialog.json @@ -5,7 +5,7 @@ "restarting": { "title": "Frigate перезапускается", "content": "Эта страница перезагрузится через {{countdown}} сек.", - "button": "Принудительно перезагрузить сейчас" + "button": "Принудительная перезагрузка" } }, "explore": { @@ -29,16 +29,22 @@ }, "state": { "submitted": "Отправлено" + }, + "question": { + "ask_an": "Это объект — {{label}} ?", + "label": "Подтвердить эту метку для Frigate Plus", + "ask_a": "Это объект — {{label}}?", + "ask_full": "Это объект — {{untranslatedLabel}} ({{translatedLabel}})?" } } }, "video": { - "viewInHistory": "Посмотреть в Истории" + "viewInHistory": "Посмотреть в истории" } }, "export": { "time": { - "fromTimeline": "Выберите из Таймлайна", + "fromTimeline": "Выбрать на таймлайне", "custom": "Пользовательский", "start": { "title": "Время начала", @@ -53,7 +59,7 @@ "lastHour_many": "Последние {{count}} часов" }, "name": { - "placeholder": "Назовите экспорт" + "placeholder": "Введите название для экспорта" }, "select": "Выбрать", "export": "Экспорт", @@ -77,12 +83,12 @@ "disabled": "Рестриминг не включён для этой камеры.", "desc": { "title": "Настройте go2rtc для дополнительных вариантов просмотра в реальном времени и аудио для этой камеры.", - "readTheDocumentation": "Прочитать документацию " + "readTheDocumentation": "Прочитать документацию" } }, "debugView": "Режим отладки", "showStats": { - "label": "Показать статистику потока", + "label": "Отображение статистики потока", "desc": "Включите эту опцию, чтобы отображать статистику потока в виде наложения на изображение с камеры." } }, diff --git a/web/public/locales/ru/components/filter.json b/web/public/locales/ru/components/filter.json index 653a684ec..084fab04e 100644 --- a/web/public/locales/ru/components/filter.json +++ b/web/public/locales/ru/components/filter.json @@ -32,7 +32,7 @@ "estimatedSpeed": "Расчетная скорость ({{unit}})", "more": "Больше фильтров", "reset": { - "label": "Сбросить фильтры к значениям по умолчанию" + "label": "Сброс фильтров к значениям по умолчанию" }, "features": { "hasSnapshot": "Есть снимок", @@ -114,7 +114,7 @@ "placeholder": "Введите номер для поиска знака...", "title": "Распознанные номерные знаки", "loadFailed": "Не удалось загрузить распознанные номерные знаки.", - "loading": "Загрузка распознанных номерных знаков...", + "loading": "Загрузка распознанных номерных знаков…", "selectPlatesFromList": "Выберите один или более знаков из списка." }, "review": { diff --git a/web/public/locales/ru/components/icons.json b/web/public/locales/ru/components/icons.json index 792966741..2d0f3ccd7 100644 --- a/web/public/locales/ru/components/icons.json +++ b/web/public/locales/ru/components/icons.json @@ -2,7 +2,7 @@ "iconPicker": { "selectIcon": "Выберите иконку", "search": { - "placeholder": "Поиск иконки..." + "placeholder": "Поиск иконки…" } } } diff --git a/web/public/locales/ru/objects.json b/web/public/locales/ru/objects.json index 659ff402c..c8cdac48d 100644 --- a/web/public/locales/ru/objects.json +++ b/web/public/locales/ru/objects.json @@ -1,7 +1,7 @@ { "dog": "Собака", "cat": "Кошка", - "animal": "Зверь", + "animal": "Животное", "bark": "Лай", "person": "Человек", "bicycle": "Велосипед", @@ -13,7 +13,7 @@ "mouse": "Мышь", "goat": "Коза", "airplane": "Самолет", - "keyboard": "Клавишный инструмент", + "keyboard": "Клавиатура", "boat": "Лодка", "bus": "Автобус", "train": "Поезд", @@ -80,7 +80,7 @@ "window": "Окно", "desk": "Стол", "toilet": "Туалет", - "tv": "ТВ", + "tv": "Телевизор", "laptop": "Ноутбук", "remote": "Пульт дистанционного управления", "cell_phone": "Мобильный телефон", @@ -103,7 +103,7 @@ "face": "Лицо", "license_plate": "Номерной знак", "package": "Посылка", - "bbq_grill": "Гриль для барбекю", + "bbq_grill": "Гриль и барбекю", "amazon": "Amazon", "usps": "USPS", "ups": "UPS", diff --git a/web/public/locales/ru/views/configEditor.json b/web/public/locales/ru/views/configEditor.json index e82cbf6ff..af3d00745 100644 --- a/web/public/locales/ru/views/configEditor.json +++ b/web/public/locales/ru/views/configEditor.json @@ -1,5 +1,5 @@ { - "configEditor": "Редактор конфига", + "configEditor": "Редактор конфигурации", "copyConfig": "Скопировать конфигурацию", "saveAndRestart": "Сохранить и перезапустить", "saveOnly": "Только сохранить", diff --git a/web/public/locales/ru/views/events.json b/web/public/locales/ru/views/events.json index 924aeeca9..758ed9cdb 100644 --- a/web/public/locales/ru/views/events.json +++ b/web/public/locales/ru/views/events.json @@ -8,7 +8,7 @@ "allCameras": "Все камеры", "camera": "Камера", "empty": { - "alert": "Отсутствуют тревоги для проверки", + "alert": "Отсутствуют тревоги для просмотра", "detection": "Отсутствуют обнаружения для просмотра", "motion": "Не найдено данных о движении" }, @@ -31,5 +31,8 @@ "label": "Посмотреть новые элементы для просмотра", "button": "Новые элементы для просмотра" }, - "markTheseItemsAsReviewed": "Пометить эти элементы как просмотренные" + "markTheseItemsAsReviewed": "Пометить эти элементы как просмотренные", + "selected": "{{count}} выбрано", + "selected_one": "{{count}} выбрано", + "selected_other": "{{count}} выбрано" } diff --git a/web/public/locales/ru/views/explore.json b/web/public/locales/ru/views/explore.json index bb4560c36..34f73c8ef 100644 --- a/web/public/locales/ru/views/explore.json +++ b/web/public/locales/ru/views/explore.json @@ -1,8 +1,8 @@ { "exploreIsUnavailable": { "embeddingsReindexing": { - "context": "Обзор станет доступен после завершения переиндексации эмбеддингов отслеживаемых объектов.", - "startingUp": "Запуск...", + "context": "Поиск станет доступен после завершения переиндексации эмбеддингов отслеживаемых объектов.", + "startingUp": "Запуск…", "estimatedTime": "Оставшееся время:", "finishingShortly": "Скоро завершится", "step": { @@ -11,7 +11,7 @@ "thumbnailsEmbedded": "Встроенные миниатюры: " } }, - "title": "Обзор недоступен", + "title": "Поиск событий недоступен", "downloadingModels": { "setup": { "visionModel": "Модель компьютерного зрения", @@ -28,7 +28,7 @@ } }, "generativeAI": "Генеративный ИИ", - "documentTitle": "Обзор - Frigate", + "documentTitle": "Поиск событий - Frigate", "details": { "timestamp": "Метка времени", "item": { @@ -36,7 +36,7 @@ "desc": "Детали элемента просмотра", "button": { "share": "Поделиться этим элементом просмотра", - "viewInExplore": "Смотреть в Обзоре" + "viewInExplore": "Смотреть в Поиске событий" }, "tips": { "hasMissingObjects": "Настройте конфигурацию, если хотите, чтобы Frigate сохранял отслеживаемые объекты для следующих меток: {{objects}}", @@ -125,7 +125,12 @@ }, "gone": "{{label}} покинул(а) зону", "heard": "Обнаружен звук {{label}}", - "external": "Обнаружен(а) {{label}}" + "external": "Обнаружен(а) {{label}}", + "header": { + "zones": "Зоны", + "ratio": "Соотношение", + "area": "Область" + } }, "annotationSettings": { "title": "Настройки аннотаций", diff --git a/web/public/locales/ru/views/faceLibrary.json b/web/public/locales/ru/views/faceLibrary.json index 38a79fcf5..4c71ff70b 100644 --- a/web/public/locales/ru/views/faceLibrary.json +++ b/web/public/locales/ru/views/faceLibrary.json @@ -37,8 +37,9 @@ "deletedName_many": "{{count}} лиц успешно удалено.", "uploadedImage": "Изображение успешно загружено.", "trainedFace": "Лицо успешно запомнено.", - "addFaceLibrary": "{{name}} успешно добавлен в Библиотеку Лиц!", - "updatedFaceScore": "Оценка лица успешно обновлена." + "addFaceLibrary": "{{name}} успешно добавлен(а) в Библиотеку лиц!", + "updatedFaceScore": "Оценка лица успешно обновлена.", + "renamedFace": "Лицо успешно переименовано в {{name}}" }, "error": { "deleteFaceFailed": "Не удалось удалить: {{errorMessage}}", @@ -46,7 +47,8 @@ "trainFailed": "Не удалось запомнить: {{errorMessage}}", "updateFaceScoreFailed": "Не удалось обновить оценку лица: {{errorMessage}}", "addFaceLibraryFailed": "Не удалось установить имя для лица: {{errorMessage}}", - "deleteNameFailed": "Не удалось удалить имя: {{errorMessage}}" + "deleteNameFailed": "Не удалось удалить имя: {{errorMessage}}", + "renameFaceFailed": "Не удалось переименовать лицо: {{errorMessage}}" } }, "deleteFaceLibrary": { @@ -54,7 +56,7 @@ "desc": "Вы уверены, что хотите удалить коллекцию «{{name}}»? Это действие безвозвратно удалит все лица в коллекции." }, "imageEntry": { - "dropActive": "Перетащите изображение сюда...", + "dropActive": "Перетащите изображение сюда…", "dropInstructions": "Перетащите изображение сюда или нажмите для выбора", "maxSize": "Макс. размер: {{size}}Мб", "validation": { @@ -62,17 +64,23 @@ } }, "readTheDocs": "Прочитать документацию", - "trainFaceAs": "Запомнить Лицо как:", + "trainFaceAs": "Запомнить лицо как:", "button": { "uploadImage": "Загрузить изображение", "deleteFaceAttempts": "Удалить попытки распознавания лиц", - "addFace": "Добавить Лицо", - "reprocessFace": "Переобработать Лицо" + "addFace": "Добавить лицо", + "reprocessFace": "Обработать лицо повторно", + "renameFace": "Переименовать лицо", + "deleteFace": "Удалить лицо" }, - "trainFace": "Запомнить Лицо", + "trainFace": "Запомнить лицо", "steps": { "faceName": "Введите имя лица", "nextSteps": "Следующие шаги", "uploadFace": "Загрузить изображение лица" + }, + "renameFace": { + "desc": "Введите новое имя для {{name}}", + "title": "Переименовать лицо" } } diff --git a/web/public/locales/ru/views/live.json b/web/public/locales/ru/views/live.json index b2d650d66..02adc38d3 100644 --- a/web/public/locales/ru/views/live.json +++ b/web/public/locales/ru/views/live.json @@ -81,7 +81,7 @@ "title": "Запись по требованию", "tips": "Создать ручное событие на основе настроек хранения записей этой камеры.", "playInBackground": { - "label": "Воспроизвести в фоне", + "label": "Воспроизведение в фоне", "desc": "Включите эту опцию, чтобы продолжать трансляцию при скрытом плеере." }, "showStats": { @@ -136,7 +136,7 @@ "cameraEnabled": "Камера активирована" }, "history": { - "label": "Показать архивные записи" + "label": "Отобразить архивные записи" }, "effectiveRetainMode": { "modes": { diff --git a/web/public/locales/ru/views/recording.json b/web/public/locales/ru/views/recording.json index 3a7f427c3..24d34f580 100644 --- a/web/public/locales/ru/views/recording.json +++ b/web/public/locales/ru/views/recording.json @@ -6,7 +6,7 @@ "toast": { "error": { "endTimeMustAfterStartTime": "Конечное время должно быть позже начального", - "noValidTimeSelected": "Выыбран недопустимый временной диапазон" + "noValidTimeSelected": "Выбран недопустимый временной диапазон" } } } diff --git a/web/public/locales/ru/views/search.json b/web/public/locales/ru/views/search.json index ae33aeb18..efed09673 100644 --- a/web/public/locales/ru/views/search.json +++ b/web/public/locales/ru/views/search.json @@ -47,7 +47,14 @@ "desc": { "text": "Фильтры помогают уточнить результаты поиска. Вот как их использовать в поле ввода:", "step": "
  • Введите название фильтра, затем двоеточие (например, \"камеры:\").
  • Выберите значение из подсказок или введите своё.
  • Используйте несколько фильтров, добавляя их через пробел.
  • Фильтры даты (before:/after:) используют формат {{DateFormat}}.
  • Временной диапазон — в формате {{exampleTime}}.
  • Удаляйте фильтры нажатием на «×» рядом с ними.
", - "example": "Пример: cameras:front_door label:person before:01012024 time_range:3:00PM-4:00PM " + "example": "Пример: cameras:front_door label:person before:01012024 time_range:3:00PM-4:00PM ", + "step1": "Введите имя ключа фильтра с двоеточием (например, \"камеры:\").", + "step5": "Фильтр временного диапазона использует формат {{exampleTime}}.", + "exampleLabel": "Пример:", + "step2": "Выберите значение из предложенных или введите свое собственное.", + "step3": "Вы можете применять несколько фильтров, указывая их подряд через пробел.", + "step6": "Удаляйте фильтры, нажав на значок \"x\" рядом с ними.", + "step4": "Фильтры по дате (до: и после:) используют формат {{DateFormat}}." } }, "header": { @@ -62,6 +69,6 @@ "clear": "Очистить поиск похожего" }, "placeholder": { - "search": "Поиск..." + "search": "Поиск…" } } diff --git a/web/public/locales/ru/views/settings.json b/web/public/locales/ru/views/settings.json index eda8b207a..ee8967727 100644 --- a/web/public/locales/ru/views/settings.json +++ b/web/public/locales/ru/views/settings.json @@ -19,7 +19,7 @@ "notifications": "Уведомления", "frigateplus": "Frigate+", "ui": "Интерфейс", - "classification": "Распознование" + "classification": "Распознавание" }, "dialog": { "unsavedChanges": { @@ -50,7 +50,7 @@ "sunday": "Воскресенье", "monday": "Понедельник", "label": "Первый день недели", - "desc": "День, с которого начинаются недели в календаре обзоров." + "desc": "День, с которого начинаются недели в календаре обзора событий." } }, "recordingsViewer": { @@ -93,7 +93,7 @@ "confirmTitle": "Подтвердить переиндексацию", "success": "Реиндексация запущена успешно.", "error": "Не удалось начать реиндексацию: {{errorMessage}}", - "confirmDesc": "Вы уверены, что хотите переиндексировать все векторные представления отслеживаемых объектов? Этот процесс будет выполняться в фоновом режиме, но может максимально загрузить ваш процессор и занять довольно много времени. Вы можете следить за ходом выполнения на странице «Обзор»." + "confirmDesc": "Вы уверены, что хотите переиндексировать все векторные представления отслеживаемых объектов? Этот процесс будет выполняться в фоновом режиме, но может максимально загрузить ваш процессор и занять довольно много времени. Вы можете следить за ходом выполнения на странице «Поиск событий»." }, "desc": "Семантический поиск во Frigate позволяет находить отслеживаемые объекты в записях с помощью самого изображения, пользовательского текстового описания или автоматически сгенерированного описания.", "modelSize": { @@ -101,11 +101,11 @@ "desc": "Размер модели, используемой для эмбеддингов семантического поиска.", "small": { "title": "маленький", - "desc": "Использование маленький задействует квантованную версию модели, которая потребляет меньше оперативной памяти и работает быстрее на CPU с очень незначительной разницей в качестве эмбеддингов." + "desc": "Использование малой модели задействует квантованную версию модели, которая потребляет меньше оперативной памяти и работает быстрее на CPU с очень незначительной разницей в качестве эмбеддингов." }, "large": { "title": "большой", - "desc": "Использование большой задействует полную модель Jina и автоматически запускается на GPU, если это возможно." + "desc": "Использование большой модели задействует полную модель Jina и автоматически запускается на GPU, если это возможно." } } }, @@ -118,18 +118,18 @@ "desc": "Размер модели, используемой для распознавания лиц.", "small": { "title": "малый", - "desc": "Использование маленький задействует модель FaceNet для эмбеддингов лиц, которая эффективно работает на большинстве CPU." + "desc": "Использование малой модели задействует модель FaceNet для эмбеддингов лиц, которая эффективно работает на большинстве CPU." }, "large": { "title": "большой", - "desc": "Использование большой задействует модель ArcFace для эмбеддингов лиц и автоматически запускается на GPU, если это возможно." + "desc": "При выборе большой модели используется модель векторизации лиц ArcFace, которая автоматически задействует GPU (если он доступен)." } } }, "licensePlateRecognition": { "title": "Распознавание номерных знаков", "readTheDocumentation": "Открыть документацию", - "desc": "Frigate может распознавать номерные знаки на транспортных средствах и автоматически добавлять обнаруженные символы в поле recognized_license_plate или известное имя в качестве sub_label для объектов типа car. Типичный пример использования — чтение номеров машин, заезжающих на подъездную дорожку или проезжающих по улице." + "desc": "Frigate способен распознавать автомобильные номера и автоматически добавлять обнаруженные символы в поле recognized_license_plate или известное имя в качестве sub_label для объектов типа 'car'. Типичный пример использования — чтение номеров автомобилей, заезжающих на подъездную дорожку или проезжающих по улице." }, "toast": { "success": "Настройки классификации сохранены. Перезапустите Frigate, чтобы применить внесенные изменения.", @@ -139,7 +139,8 @@ "birdClassification": { "title": "Классификация птиц", "desc": "Классификация птиц определяет известные виды с помощью квантованной модели TensorFlow. При распознавании птицы её общепринятое название добавляется как sub_label. Эти данные отображаются в интерфейсе, фильтрах и уведомлениях." - } + }, + "restart_required": "Требуется перезапуск (изменены настройки классификации)" }, "users": { "dialog": { @@ -149,14 +150,20 @@ "desc": "Создайте надежный пароль для защиты аккаунта." }, "deleteUser": { - "warn": "Вы уверены, что хотите удалить пользователя {{username}}?", + "warn": "Вы уверены, что хотите удалить пользователя {{username}}?", "title": "Удалить пользователя", "desc": "Это действие необратимо. Учётная запись пользователя и все связанные с ней данные будут удалены без возможности восстановления." }, "changeRole": { "title": "Изменить роль пользователя", - "desc": "Обновить права доступа для {{username}}", - "roleInfo": "

Выберите подходящую роль для этого пользователя:

  • Администратор: Полный доступ ко всем функциям.
  • Просмотр: Только просмотр панели мониторинга, обзоров, поиска и экспорта данных.
" + "desc": "Обновить права доступа для {{username}}", + "roleInfo": { + "intro": "Выберите подходящую роль для этого пользователя:", + "viewer": "Наблюдатель", + "viewerDesc": "Доступны только панель мониторинга, обзор событий, поиск и экспорт данных.", + "admin": "Администратор", + "adminDesc": "Полный доступ ко всем функциям." + } }, "form": { "user": { @@ -222,7 +229,7 @@ }, "management": { "title": "Управление пользователями", - "desc": "Управление учетными записями пользователей этого экземпляра Frigate." + "desc": "Управление учетными записями пользователей Frigate." }, "updatePassword": "Обновить пароль", "addUser": "Добавить пользователя" @@ -284,26 +291,26 @@ "alerts": "Тревоги ", "desc": "Включить или отключить тревоги и обнаружения для этой камеры. В отключенном состоянии новые события не будут записываться.", "detections": "Обнаружения ", - "title": "Просмотр" + "title": "Обзор событий" }, "reviewClassification": { - "objectAlertsTips": "Все объекты {{alertsLabels}} на камере {{cameraName}} будут отображаться как Тревоги.", + "objectAlertsTips": "Все объекты {{alertsLabels}} на камере {{cameraName}} будут отображаться как тревоги.", "desc": "Frigate разделяет записи для проверки на два типа как «Тревоги» и «Обнаружения». По умолчанию все объекты person и car считаются Тревогами. Вы можете уточнить эту классификацию, настроив для них требуемые зоны.", "selectAlertsZones": "Выберите зоны для тревог", "zoneObjectDetectionsTips": { - "notSelectDetections": "Все объекты {{detectionsLabels}}, обнаруженные в {{zone}} на камере {{cameraName}}, которые не отнесены к Тревогам, будут отображаться как Обнаружения, независимо от того, в какой зоне они находятся.", + "notSelectDetections": "Все объекты {{detectionsLabels}}, обнаруженные в {{zone}} на камере {{cameraName}}, которые не отнесены к тревогам, будут отображаться как обнаружения, независимо от того, в какой зоне они находятся.", "text": "Все объекты {{detectionsLabels}}, не отнесённые к категории в {{zone}} на камере {{cameraName}}, будут отображаться как обнаружения.", "regardlessOfZoneObjectDetectionsTips": "Все объекты {{detectionsLabels}}, не отнесённые к категории на камере {{cameraName}}, будут отображаться как обнаружения, независимо от того, в какой зоне они находятся." }, - "zoneObjectAlertsTips": "Все объекты {{alertsLabels}}, обнаруженные в {{zone}} на камере {{cameraName}}, будут отображаться как Тревоги.", + "zoneObjectAlertsTips": "Все объекты {{alertsLabels}}, обнаруженные в {{zone}} на камере {{cameraName}}, будут отображаться как тревоги.", "selectDetectionsZones": "Выберите зоны для обнаружения", "noDefinedZones": "Для этой камеры не определено ни одной зоны.", "objectDetectionsTips": "Все объекты {{detectionsLabels}}, не отнесённые к категории на камере {{cameraName}}, будут отображаться как обнаружения, независимо от того, в какой зоне они находятся.", - "title": "Классификация просмотра", + "title": "Классификация событий", "readTheDocumentation": "Прочитать документацию", - "limitDetections": "Ограничить обнаружения отдельными зонами", + "limitDetections": "Ограничение обнаружения отдельными зонами", "toast": { - "success": "Конфигурация классификации просмотра была сохранена. Перезапустите Frigate для применения изменений." + "success": "Конфигурация классификации событий была сохранена. Перезапустите Frigate для применения изменений." } }, "title": "Настройки камеры", @@ -472,7 +479,8 @@ "noName": "Маска объектов сохранена. Перезапустите Frigate для применения изменений." } } - } + }, + "restart_required": "Требуется перезапуск (изменены маски/зоны)" }, "motionDetectionTuner": { "desc": { @@ -486,7 +494,7 @@ }, "improveContrast": { "title": "Улучшить контрастность", - "desc": "Улучшение контрастности в тёмных сценах. Default: ON" + "desc": "Улучшение контрастности в тёмных сценах. По умолчанию: ВКЛ" }, "Threshold": { "title": "Порог", @@ -535,12 +543,12 @@ "motion": { "title": "Области движения", "desc": "Показать рамки вокруг областей, в которых определяется движение", - "tips": "

Области движения


Красные рамки будут наложены на участки кадра, где в данный момент обнаружено движение

" + "tips": "

Области движения


Красные рамки будут наложены на участки кадра, где в данный момент обнаружено движение

" }, "regions": { "title": "Регионы", "desc": "Показать рамку области интереса, отправленной детектору объектов", - "tips": "

Рамки областей интереса


Ярко-зелёные рамки будут наложены на области интереса в кадре, которые отправляются детектору объектов.

" + "tips": "

Рамки областей интереса


Ярко-зелёные рамки будут наложены на области интереса в кадре, которые отправляются детектору объектов.

" } }, "frigatePlus": { @@ -575,11 +583,16 @@ "supportedDetectors": "Поддерживаемые детекторы", "dimensions": "Размеры", "loading": "Загрузка информации о модели...", - "cameras": "Камеры" + "cameras": "Камеры", + "plusModelType": { + "baseModel": "Базовая модель", + "userModel": "Дообученная" + } }, "toast": { "success": "Настройки Frigate+ были сохранены. Перезапустите Frigate, чтобы применить изменения.", "error": "Не удалось сохранить изменения конфигурации: {{errorMessage}}" - } + }, + "restart_required": "Требуется перезапуск (изменена модель Frigate+)" } } diff --git a/web/public/locales/ru/views/system.json b/web/public/locales/ru/views/system.json index b8dbf381c..cf2014783 100644 --- a/web/public/locales/ru/views/system.json +++ b/web/public/locales/ru/views/system.json @@ -18,7 +18,7 @@ }, "copy": { "label": "Копировать в буфер", - "success": "Логи копированы в буфер", + "success": "Логи скопированы в буфер", "error": "Не удалось скопировать логи в буфер обмена" }, "type": { @@ -36,7 +36,7 @@ } }, "general": { - "title": "Общее", + "title": "Общие", "detector": { "title": "Детекторы", "inferenceSpeed": "Скорость вывода детектора", @@ -60,19 +60,21 @@ "title": "Вывод Nvidia SMI", "name": "Название: {{name}}", "driver": "Драйвер: {{driver}}", - "cudaComputerCapability": "CUDA Compute Capability: {{cuda_compute}}", + "cudaComputerCapability": "Вычислительная способность CUDA: {{cuda_compute}}", "vbios": "Информация VBios: {{vbios}}" }, "closeInfo": { "label": "Закрыть информацию GPU" }, "copyInfo": { - "label": "Скопировать информацию GPU" + "label": "Скопировать информацию о GPU" }, "toast": { - "success": "Информация GPU скопирована в буфер обмена" + "success": "Информация о GPU скопирована в буфер обмена" } - } + }, + "npuMemory": "Память NPU", + "npuUsage": "Использование NPU" }, "otherProcesses": { "title": "Другие процессы", @@ -85,15 +87,15 @@ "overview": "Обзор", "recordings": { "title": "Записи", - "tips": "Это значение показывает общий объём хранилища, занятый записями в базе данных Frigate. Frigate не отслеживает использование хранилища для всех файлов на диске.", - "earliestRecording": "Самая ранняя доступная запись:" + "tips": "Это значение показывает, сколько места в хранилище занимают записи из базы данных Frigate. Frigate не учитывает другие файлы на диске.", + "earliestRecording": "Первая запись:" }, "cameraStorage": { "title": "Хранилище камеры", "camera": "Камера", "unusedStorageInformation": "Информация о неиспользованном хранилище", "storageUsed": "Хранилище", - "percentageOfTotalUsed": "Процент от общего объёма", + "percentageOfTotalUsed": "Доля (%)", "bandwidth": "Пропускная способность", "unused": { "title": "Не используется", @@ -105,7 +107,7 @@ "title": "Камеры", "overview": "Обзор", "info": { - "cameraProbeInfo": "Информация о тестировании камеры {{camera}}", + "cameraProbeInfo": "Информация о проверке камеры {{camera}}", "streamDataFromFFPROBE": "Данные о потоке получены от ffprobe.", "fetching": "Получение данных камеры", "stream": "Поток {{idx}}", @@ -137,21 +139,31 @@ } } }, - "lastRefreshed": "Последнее обновление: ", + "lastRefreshed": "Обновлено: ", "stats": { "ffmpegHighCpuUsage": "Камера {{camera}} использует чрезмерно много ресурсов CPU в FFMPEG ({{ffmpegAvg}}%)", "detectHighCpuUsage": "Камера {{camera}} использует слишком много ресурсов CPU для детекции ({{detectAvg}}%)", "healthy": "Система в порядке", - "reindexingEmbeddings": "Переиндексация эмбеддингов ({{processed}}% завершено)" + "reindexingEmbeddings": "Переиндексация эмбеддингов (выполнено {{processed}} %)", + "cameraIsOffline": "{{camera}} отключена", + "detectIsVerySlow": "{{detect}} идёт очень медленно ({{speed}} мс)", + "detectIsSlow": "{{detect}} идёт медленно ({{speed}} мс)" }, "enrichments": { - "title": "Обогащения данных", + "title": "Обогащение данных", "infPerSecond": "Выводов в секунду", "embeddings": { - "image_embedding_speed": "Скорость генерации эмбеддингов изображений", + "image_embedding_speed": "Скорость векторизации изображений", "plate_recognition_speed": "Скорость распознавания номеров", - "text_embedding_speed": "Скорость генерации текстовых эмбеддингов", - "face_embedding_speed": "Скорость генерации эмбеддингов лиц" + "text_embedding_speed": "Скорость векторизации текста", + "face_embedding_speed": "Скорость векторизации лиц", + "face_recognition_speed": "Скорость распознавания лиц", + "text_embedding": "Векторизация текста", + "yolov9_plate_detection_speed": "Скорость обнаружения номеров YOLOv9", + "yolov9_plate_detection": "Обнаружение номеров YOLOv9", + "face_recognition": "Распознавание лиц", + "plate_recognition": "Распознавание номеров", + "image_embedding": "Векторизация изображений" } } }