diff --git a/web/public/locales/ru/common.json b/web/public/locales/ru/common.json
index 45c497c6d..10af0bcc6 100644
--- a/web/public/locales/ru/common.json
+++ b/web/public/locales/ru/common.json
@@ -19,20 +19,20 @@
"24hours": "24 часа",
"pm": "pm",
"am": "am",
- "yr": "{{time}}л",
+ "yr": "{{time}} л",
"year_one": "{{time}} год",
"year_few": "{{time}} года",
"year_many": "{{time}} лет",
- "mo": "{{time}}мес",
+ "mo": "{{time}} мес",
"month_one": "{{time}} месяц",
"month_few": "{{time}} месяца",
"month_many": "{{time}} месяцев",
- "d": "{{time}}д",
- "h": "{{time}}ч",
+ "d": "{{time}} д",
+ "h": "{{time}} ч",
"hour_one": "{{time}} час",
"hour_few": "{{time}} часа",
"hour_many": "{{time}} часов",
- "m": "{{time}}мин",
+ "m": "{{time}} мин",
"minute_one": "{{time}} минута",
"minute_few": "{{time}} минуты",
"minute_many": "{{time}} минут",
@@ -42,7 +42,7 @@
"lastWeek": "На прошлой неделе",
"lastMonth": "В прошлом месяце",
"10minutes": "10 минут",
- "s": "{{time}}с",
+ "s": "{{time}} с",
"second_one": "{{time}} секунда",
"second_few": "{{time}} секунды",
"second_many": "{{time}} секунд",
@@ -83,6 +83,10 @@
"formattedTimestampHourMinute": {
"12hour": "h:mm aaa",
"24hour": "HH:mm"
+ },
+ "formattedTimestampMonthDayYear": {
+ "12hour": "MMM d, yyyy",
+ "24hour": "MMM d, yyyy"
}
},
"selectItem": "Выбор {{item}}",
diff --git a/web/public/locales/ru/components/dialog.json b/web/public/locales/ru/components/dialog.json
index 768c7977f..078a37a97 100644
--- a/web/public/locales/ru/components/dialog.json
+++ b/web/public/locales/ru/components/dialog.json
@@ -111,6 +111,10 @@
"title": "Подтвердить удаление",
"desc": {
"selected": "Вы уверены, что хотите удалить все записанное видео, связанное с этим элементом просмотра?
Удерживайте клавишу Shift, чтобы пропустить это окно в будущем."
+ },
+ "toast": {
+ "error": "Не удалось удалить: {{error}}",
+ "success": "Видеоматериалы, связанные с выбранными предметами просмотра, были успешно удалены."
}
},
"button": {
diff --git a/web/public/locales/ru/components/filter.json b/web/public/locales/ru/components/filter.json
index e1bc2904f..7523b70bd 100644
--- a/web/public/locales/ru/components/filter.json
+++ b/web/public/locales/ru/components/filter.json
@@ -25,8 +25,8 @@
},
"timeRange": "Временной диапазон",
"subLabels": {
- "label": "Вторичные метки",
- "all": "Все вторичные метки"
+ "label": "Дополнительные метки",
+ "all": "Все дополнительные метки"
},
"score": "Оценка",
"estimatedSpeed": "Расчетная скорость ({{unit}})",
diff --git a/web/public/locales/ru/views/events.json b/web/public/locales/ru/views/events.json
index d6c5d6b71..6c8bebb6e 100644
--- a/web/public/locales/ru/views/events.json
+++ b/web/public/locales/ru/views/events.json
@@ -34,5 +34,6 @@
"markTheseItemsAsReviewed": "Пометить эти элементы как просмотренные",
"selected": "{{count}} выбрано",
"selected_one": "{{count}} выбрано",
- "selected_other": "{{count}} выбрано"
+ "selected_other": "{{count}} выбрано",
+ "detected": "обнаружен"
}
diff --git a/web/public/locales/ru/views/explore.json b/web/public/locales/ru/views/explore.json
index 1ef96769b..ae66b2c80 100644
--- a/web/public/locales/ru/views/explore.json
+++ b/web/public/locales/ru/views/explore.json
@@ -46,21 +46,21 @@
},
"toast": {
"success": {
- "updatedSublabel": "Успешно обновлена вторичная метка.",
+ "updatedSublabel": "Успешно обновлена дополнительная метка.",
"updatedLPR": "Номерной знак успешно обновлён.",
"regenerate": "Новое описание запрошено у {{provider}}. В зависимости от скорости работы вашего провайдера, генерация нового описания может занять некоторое время."
},
"error": {
- "updatedSublabelFailed": "Не удалось обновить вторичную метку: {{errorMessage}}",
+ "updatedSublabelFailed": "Не удалось обновить дополнительную метку: {{errorMessage}}",
"updatedLPRFailed": "Не удалось обновить номерной знак: {{errorMessage}}",
"regenerate": "Не удалось запросить новое описание у {{provider}}: {{errorMessage}}"
}
}
},
"editSubLabel": {
- "descNoLabel": "Введите новую вторичную метку для этого отслеживаемого объекта",
- "title": "Редактирование вторичной метки",
- "desc": "Введите новую вторичную метку для {{label}}"
+ "descNoLabel": "Введите новую дополнительную метку для этого отслеживаемого объекта",
+ "title": "Редактирование дополнительной метки",
+ "desc": "Введите новую дополнительную метку для {{label}}"
},
"topScore": {
"label": "Лучшая оценка",
@@ -140,7 +140,7 @@
},
"offset": {
"label": "Сдвиг аннотаций",
- "desc": "Эти данные поступают из потока детекции вашей камеры, но накладываются на изображения из потока записи. Потоки вряд ли идеально синхронизированы, поэтому ограничивающая рамка и видео могут не совпадать. Для корректировки используйте поле annotation_offset.",
+ "desc": "Эти данные поступают из потока детекции вашей камеры, но накладываются на изображения из потока записи. Потоки вряд ли идеально синхронизированы, поэтому ограничивающая рамка и видео могут не совпадать. Для корректировки используйте поле Сдвиг аннотаций.",
"millisecondsToOffset": "Смещение аннотаций детекции в миллисекундах. По умолчанию: 0",
"documentation": "Читать документацию ",
"tips": "СОВЕТ: Представьте, у вас клип события, где человек идёт слева направо. Если рамка на таймлайне постоянно смещена влево от человека — уменьшите значение. Если рамка опережает движение — увеличьте значение."
@@ -197,6 +197,7 @@
"success": "Отслеживаемый объект успешно удалён.",
"error": "Не удалось удалить отслеживаемый объект: {{errorMessage}}"
}
- }
+ },
+ "tooltip": "Соответствие с {{type}} на {{confidence}}%"
}
}
diff --git a/web/public/locales/ru/views/faceLibrary.json b/web/public/locales/ru/views/faceLibrary.json
index 5f2365acf..bc618c3e9 100644
--- a/web/public/locales/ru/views/faceLibrary.json
+++ b/web/public/locales/ru/views/faceLibrary.json
@@ -3,8 +3,11 @@
"person": "Человек",
"timestamp": "Метка времени",
"face": "Подробности о лице",
- "faceDesc": "Подробности о лице и связанном объекте",
- "confidence": "Достоверность"
+ "faceDesc": "Информация об отслеживаемом объекте, который сгенерировал это лицо",
+ "confidence": "Достоверность",
+ "scoreInfo": "Оценка доп. метки — это взвешенная оценка всех распознанных лиц, поэтому она может отличаться от оценки на снимке.",
+ "subLabelScore": "Оценка доп. метки",
+ "unknown": "Неизвестно"
},
"documentTitle": "Библиотека лиц - Frigate",
"description": {
@@ -25,7 +28,8 @@
"selectItem": "Выбор {{item}}",
"train": {
"aria": "Выбор обучения",
- "title": "Обучение"
+ "title": "Обучение",
+ "empty": "Нет недавних попыток распознавания лиц"
},
"toast": {
"success": {
@@ -67,7 +71,7 @@
"trainFaceAs": "Запомнить лицо как:",
"button": {
"uploadImage": "Загрузить изображение",
- "deleteFaceAttempts": "Удалить попытки распознавания лиц",
+ "deleteFaceAttempts": "Удалить лица",
"addFace": "Добавить лицо",
"reprocessFace": "Обработать лицо повторно",
"renameFace": "Переименовать лицо",
@@ -77,10 +81,21 @@
"steps": {
"faceName": "Введите имя лица",
"nextSteps": "Следующие шаги",
- "uploadFace": "Загрузить изображение лица"
+ "uploadFace": "Загрузить изображение лица",
+ "description": {
+ "uploadFace": "Загрузите изображение {{name}}, на котором лицо показано спереди. Не нужно обрезать фотографию только до лица."
+ }
},
"renameFace": {
"desc": "Введите новое имя для {{name}}",
"title": "Переименовать лицо"
- }
+ },
+ "collections": "Коллекции",
+ "deleteFaceAttempts": {
+ "title": "Удалить лица",
+ "desc_one": "Вы уверены, что хотите удалить {{count}} лицо? Это действие нельзя отменить.",
+ "desc_few": "Вы уверены, что хотите удалить {{count}} лица? Это действие нельзя отменить.",
+ "desc_many": "Вы уверены, что хотите удалить {{count}} лиц? Это действие нельзя отменить."
+ },
+ "nofaces": "Лица отсутствуют"
}
diff --git a/web/public/locales/ru/views/search.json b/web/public/locales/ru/views/search.json
index efed09673..0c7f8477f 100644
--- a/web/public/locales/ru/views/search.json
+++ b/web/public/locales/ru/views/search.json
@@ -14,7 +14,7 @@
"label": {
"cameras": "Камеры",
"zones": "Зоны",
- "sub_labels": "Вторичные метки",
+ "sub_labels": "Дополнительные метки",
"search_type": "Тип поиска",
"time_range": "Временной диапазон",
"before": "До",
diff --git a/web/public/locales/ru/views/settings.json b/web/public/locales/ru/views/settings.json
index 3c24dfa0d..726fec64c 100644
--- a/web/public/locales/ru/views/settings.json
+++ b/web/public/locales/ru/views/settings.json
@@ -99,7 +99,7 @@
"desc": "Семантический поиск во Frigate позволяет находить отслеживаемые объекты в записях с помощью самого изображения, пользовательского текстового описания или автоматически сгенерированного описания.",
"modelSize": {
"label": "Размер модели",
- "desc": "Размер модели, используемой для эмбеддингов семантического поиска.",
+ "desc": "Размер модели, используемой для создания векторных представлений для семантического поиска.",
"small": {
"title": "малый",
"desc": "Использование малой модели задействует квантованную версию модели, которая потребляет меньше оперативной памяти и работает быстрее на CPU с очень незначительной разницей в качестве эмбеддингов."
@@ -119,7 +119,7 @@
"desc": "Размер модели, используемой для распознавания лиц.",
"small": {
"title": "малый",
- "desc": "Использование малой модели задействует модель FaceNet для эмбеддингов лиц, которая эффективно работает на большинстве CPU."
+ "desc": "Использование малой модели задействует модель FaceNet для векторного представления лиц, которая эффективно работает на большинстве CPU."
},
"large": {
"title": "большой",
@@ -130,7 +130,7 @@
"licensePlateRecognition": {
"title": "Распознавание номерных знаков",
"readTheDocumentation": "Читать документацию",
- "desc": "Frigate способен распознавать автомобильные номера и автоматически добавлять обнаруженные символы в поле recognized_license_plate или известное имя в качестве sub_label для объектов типа 'car'. Типичный пример использования — чтение номеров автомобилей, заезжающих на подъездную дорожку или проезжающих по улице."
+ "desc": "Frigate может распознавать автомобильные номера и автоматически добавлять для объектов типа «автомобиль» обнаруженные символы в поле «распознанный номерной знак» или известное имя в качестве дополнительной метки. Типичный пример использования — чтение номеров автомобилей, заезжающих на подъездную дорожку или проезжающих по улице."
},
"toast": {
"success": "Настройки классификации сохранены. Перезапустите Frigate, чтобы применить внесенные изменения.",
@@ -139,9 +139,10 @@
"title": "Настройки классификации",
"birdClassification": {
"title": "Классификация птиц",
- "desc": "Классификация птиц определяет известные виды с помощью квантованной модели TensorFlow. При распознавании птицы её общепринятое название добавляется как sub_label. Эти данные отображаются в интерфейсе, фильтрах и уведомлениях."
+ "desc": "Классификация птиц определяет известные виды с помощью квантованной модели TensorFlow. Когда птица распознана, её обиходное название добавляется в качестве дополнительной метки. Эти информация используется в интерфейсе, фильтрах и уведомлениях."
},
- "restart_required": "Требуется перезапуск (изменены настройки классификации)"
+ "restart_required": "Требуется перезапуск (изменены настройки классификации)",
+ "unsavedChanges": "Настройки классификации не сохранены"
},
"users": {
"dialog": {
@@ -286,7 +287,9 @@
"registerFailed": "Не удалось сохранить регистрацию уведомлений."
}
},
- "cancelSuspension": "Отменить приостановку"
+ "cancelSuspension": "Отменить приостановку",
+ "unsavedChanges": "Изменения уведомлений не сохранены",
+ "unsavedRegistrations": "Регистрации уведомлений не сохранены"
},
"camera": {
"review": {
@@ -297,7 +300,7 @@
},
"reviewClassification": {
"objectAlertsTips": "Все объекты {{alertsLabels}} на камере {{cameraName}} будут отображаться как тревоги.",
- "desc": "Frigate разделяет записи для проверки на два типа как «Тревоги» и «Обнаружения». По умолчанию все объекты person и car считаются Тревогами. Вы можете уточнить эту классификацию, настроив для них требуемые зоны.",
+ "desc": "Frigate разделяет записи для проверки на два типа как «Тревоги» и «Обнаружения». По умолчанию все объекты person и car считаются тревогами. Вы можете уточнить эту классификацию, настроив для них требуемые зоны.",
"selectAlertsZones": "Выберите зоны для тревог",
"zoneObjectDetectionsTips": {
"notSelectDetections": "Все объекты {{detectionsLabels}}, обнаруженные в {{zone}} на камере {{cameraName}}, которые не отнесены к тревогам, будут отображаться как обнаружения, независимо от того, в какой зоне они находятся.",
@@ -313,7 +316,8 @@
"limitDetections": "Ограничение обнаружения отдельными зонами",
"toast": {
"success": "Конфигурация классификации событий была сохранена. Перезапустите Frigate для применения изменений."
- }
+ },
+ "unsavedChanges": "Настройки классификации событий для {{camera}} не сохранены"
},
"title": "Настройки камеры",
"streams": {
@@ -329,7 +333,8 @@
},
"speedEstimation": {
"desc": "Включить оценку скорости объектов в этой зоне. Зона должна состоять ровно из 4 точек.",
- "title": "Расчёт скорости"
+ "title": "Расчёт скорости",
+ "docs": "Читать документацию"
},
"label": "Зоны",
"documentTitle": "Редактирование зоны - Frigate",
@@ -504,7 +509,8 @@
},
"toast": {
"success": "Настройки движения сохранены."
- }
+ },
+ "unsavedChanges": "Настройки детекции движения для ({{camera}}) не сохранены"
},
"debug": {
"objectShapeFilterDrawing": {
@@ -555,7 +561,7 @@
},
"frigatePlus": {
"snapshotConfig": {
- "documentation": "Прочитать документацию",
+ "documentation": "Читать документацию",
"title": "Настройки снимков",
"cleanCopyWarning": "У некоторых камер включены снимки (snapshots), но отключена опция чистой копии (clean copy). Чтобы иметь возможность отправлять изображения с этих камер в Frigate+, необходимо включить параметр clean_copy в конфигурации снимков.",
"table": {
@@ -595,6 +601,7 @@
"success": "Настройки Frigate+ были сохранены. Перезапустите Frigate, чтобы применить изменения.",
"error": "Не удалось сохранить изменения конфигурации: {{errorMessage}}"
},
- "restart_required": "Требуется перезапуск (изменена модель Frigate+)"
+ "restart_required": "Требуется перезапуск (изменена модель Frigate+)",
+ "unsavedChanges": "Настройки Frigate+ не сохранены"
}
}