Translated using Weblate (Russian)

Currently translated at 68.7% (439 of 639 strings)

Translated using Weblate (Russian)

Currently translated at 98.5% (211 of 214 strings)

Translated using Weblate (Russian)

Currently translated at 95.5% (108 of 113 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (52 of 52 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (209 of 209 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (501 of 501 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (108 of 108 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (54 of 54 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (106 of 106 strings)

Translated using Weblate (Russian)

Currently translated at 78.0% (467 of 598 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (52 of 52 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (127 of 127 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (39 of 39 strings)

Translated using Weblate (Russian)

Currently translated at 73.9% (442 of 598 strings)

Translated using Weblate (Russian)

Currently translated at 95.5% (86 of 90 strings)

Translated using Weblate (Russian)

Currently translated at 98.0% (51 of 52 strings)

Translated using Weblate (Russian)

Currently translated at 71.6% (91 of 127 strings)

Translated using Weblate (Russian)

Currently translated at 86.4% (433 of 501 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Артём Владимиров <artyomka71@gmail.com>
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-dialog/ru/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/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-settings/ru/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-settings
This commit is contained in:
Hosted Weblate 2025-11-25 14:39:25 +01:00 committed by Nicolas Mowen
parent 111b83e8e3
commit 69ca63d608
9 changed files with 390 additions and 27 deletions

View File

@ -315,7 +315,7 @@
"slam": "Хлопок", "slam": "Хлопок",
"knock": "Стук", "knock": "Стук",
"tap": "Небольшой стук", "tap": "Небольшой стук",
"squeak": "Скрип", "squeak": "Писк",
"cupboard_open_or_close": "Открытие или закрытие шкафа", "cupboard_open_or_close": "Открытие или закрытие шкафа",
"drawer_open_or_close": "Открытие или закрытие ящика", "drawer_open_or_close": "Открытие или закрытие ящика",
"dishes": "Тарелки", "dishes": "Тарелки",
@ -425,5 +425,79 @@
"pink_noise": "Розовый шум", "pink_noise": "Розовый шум",
"hammer": "Молоток", "hammer": "Молоток",
"firecracker": "Петарда", "firecracker": "Петарда",
"television": "Телевидение" "television": "Телевидение",
"echo": "Эхо",
"noise": "Шум",
"mains_hum": "Гул сети",
"cacophony": "Какофония",
"throbbing": "Пульсирующий",
"vibration": "Вибрация",
"sodeling": "Соделинг",
"chird": "Чирд",
"change_ringing": "Перезвон",
"shofar": "Шофар",
"liquid": "Жидкость",
"splash": "Брызги",
"slosh": "Плеск",
"squish": "Хлюпанье",
"drip": "Капля",
"pour": "Литьё",
"trickle": "Струйка",
"gush": "Бурный поток",
"fill": "Наполнение",
"spray": "Распыление",
"pump": "Насос",
"stir": "Перемешивание",
"boiling": "Кипение",
"sonar": "Сонар",
"arrow": "Стрела",
"whoosh": "Вжух",
"thump": "Глухой удар",
"thunk": "Тупой удар",
"electronic_tuner": "Электронный тюнер",
"effects_unit": "Блок эффектов",
"chorus_effect": "Эффект хоруса",
"basketball_bounce": "Отскок баскетбольного мяча",
"bang": "Бах",
"slap": "Шлепок",
"whack": "Удар",
"smash": "Разбивание",
"breaking": "Разрушение",
"bouncing": "Отскок",
"whip": "Хлыст",
"flap": "Хлопание",
"scratch": "Царапанье",
"scrape": "Скребок",
"rub": "Трение",
"roll": "Качение",
"crushing": "Дробление",
"crumpling": "Сминание",
"tearing": "Разрывание",
"beep": "Бип",
"ping": "Пинг",
"ding": "Динь",
"clang": "Лязг",
"squeal": "Визг",
"creak": "Скрипение",
"rustle": "Шуршание",
"whir": "Жужжание",
"clatter": "Грохот",
"sizzle": "Шипение",
"clicking": "Щелканье",
"clickety_clack": "Щелчок-Клак",
"rumble": "Грохотать",
"plop": "Плюх",
"hum": "Гул",
"zing": "Зинг",
"boing": "Боинг",
"crunch": "Хруст",
"sine_wave": "Синусоида",
"harmonic": "Гармоника",
"chirp_tone": "Тон чириканья",
"pulse": "Импульс",
"inside": "Внутри",
"outside": "Снаружи",
"reverberation": "Реверберация",
"distortion": "Искажение",
"sidetone": "Боковой тон"
} }

View File

@ -87,7 +87,8 @@
"formattedTimestampMonthDayYear": { "formattedTimestampMonthDayYear": {
"12hour": "d MMM, yyyy", "12hour": "d MMM, yyyy",
"24hour": "d MMM, yyyy" "24hour": "d MMM, yyyy"
} },
"inProgress": "В процессе"
}, },
"selectItem": "Выбрать {{item}}", "selectItem": "Выбрать {{item}}",
"button": { "button": {
@ -128,7 +129,12 @@
"next": "Следующий" "next": "Следующий"
}, },
"label": { "label": {
"back": "Вернуться" "back": "Вернуться",
"hide": "Скрыть {{item}}",
"show": "Показать {{item}}",
"ID": "ID",
"all": "Все",
"none": "Ничего"
}, },
"unit": { "unit": {
"speed": { "speed": {
@ -248,7 +254,8 @@
"logout": "Выход", "logout": "Выход",
"setPassword": "Установить пароль" "setPassword": "Установить пароль"
}, },
"appearance": "Внешний вид" "appearance": "Внешний вид",
"classification": "Распознование"
}, },
"pagination": { "pagination": {
"label": "пагинация", "label": "пагинация",
@ -291,5 +298,14 @@
"readTheDocumentation": "Читать документацию", "readTheDocumentation": "Читать документацию",
"information": { "information": {
"pixels": "{{area}}px" "pixels": "{{area}}px"
},
"list": {
"two": "{{0}} и {{1}}",
"many": "{{items}}, и {{last}}",
"separatorWithSpace": ", "
},
"field": {
"optional": "Необязательный",
"internalID": "Внутренний идентификатор Frigate, используемый в конфигурации и базе данных"
} }
} }

View File

@ -65,7 +65,7 @@
"export": "Экспорт", "export": "Экспорт",
"selectOrExport": "Выбрать или экспортировать", "selectOrExport": "Выбрать или экспортировать",
"toast": { "toast": {
"success": "Экспорт успешно запущен. Файл доступен в папке /exports.", "success": "Экспорт успешно запущен. Файл доступен на странице экспорта.",
"error": { "error": {
"failed": "Не удалось запустить экспорт: {{error}}", "failed": "Не удалось запустить экспорт: {{error}}",
"noVaildTimeSelected": "Не выбран допустимый временной диапазон", "noVaildTimeSelected": "Не выбран допустимый временной диапазон",
@ -120,7 +120,8 @@
"button": { "button": {
"export": "Экспорт", "export": "Экспорт",
"markAsReviewed": "Пометить как просмотренное", "markAsReviewed": "Пометить как просмотренное",
"deleteNow": "Удалить сейчас" "deleteNow": "Удалить сейчас",
"markAsUnreviewed": "Отметить как непросмотренное"
} }
}, },
"imagePicker": { "imagePicker": {
@ -128,6 +129,7 @@
"placeholder": "Искать по метке..." "placeholder": "Искать по метке..."
}, },
"selectImage": "Выбор миниатюры отслеживаемого объекта", "selectImage": "Выбор миниатюры отслеживаемого объекта",
"noImages": "Не обнаружено миниатюр для этой камеры" "noImages": "Не обнаружено миниатюр для этой камеры",
"unknownLabel": "Сохраненное изображение триггера"
} }
} }

View File

@ -15,26 +15,159 @@
}, },
"toast": { "toast": {
"success": { "success": {
"deletedCategory": "Удаленный класс", "deletedCategory": "Класс удалён",
"deletedImage": "Удалённые изображения", "deletedImage": "Изображения удалены",
"deletedModel_one": "Успешно удалена {{count}} модель", "deletedModel_one": "Успешно удалена {{count}} модель",
"deletedModel_few": "Успешно удалены {{count}} модели", "deletedModel_few": "Успешно удалены {{count}} модели",
"deletedModel_many": "Успешно удалены {{count}} моделей", "deletedModel_many": "Успешно удалены {{count}} моделей",
"categorizedImage": "Изображение успешно классифицировано", "categorizedImage": "Изображение успешно классифицировано",
"trainedModel": "Успешно обученная модель.", "trainedModel": "Модель успешно обучена.",
"trainingModel": "Успешно начато обучение моделей.", "trainingModel": "Обучение модели успешно запущено.",
"updatedModel": "Успешно обновлена конфигурация модели" "updatedModel": "Конфигурация модели успешно обновлена",
"renamedCategory": "Класс успешно переименован в {{name}}"
}, },
"error": { "error": {
"deleteImageFailed": "Не удалось удалить: {{errorMessage}}", "deleteImageFailed": "Не удалось удалить: {{errorMessage}}",
"deleteCategoryFailed": "Не удалось удалить класс: {{errorMessage}}", "deleteCategoryFailed": "Не удалось удалить класс: {{errorMessage}}",
"deleteModelFailed": "Не удалось удалить модель: {{errorMessage}}", "deleteModelFailed": "Не удалось удалить модель: {{errorMessage}}",
"categorizeFailed": "Не удалось классифицировать изображение: {{errorMessage}}", "categorizeFailed": "Не удалось классифицировать изображение: {{errorMessage}}",
"trainingFailed": "Не удалось начать обучение модели: {{errorMessage}}" "trainingFailed": "Не удалось начать обучение модели: {{errorMessage}}",
"updateModelFailed": "Не удалось обновить модель: {{errorMessage}}",
"renameCategoryFailed": "Не удалось переименовать класс: {{errorMessage}}",
"trainingFailedToStart": "Не удалось начать обучение модели: {{errorMessage}}"
} }
}, },
"deleteCategory": { "deleteCategory": {
"title": "Удалить класс", "title": "Удалить класс",
"desc": "Вы уверены, что хотите удалить класс {{name}}? Это приведёт к безвозвратному удалению всех связанных с ним изображений и потребует повторного обучения модели." "desc": "Вы уверены, что хотите удалить класс {{name}}? Это приведёт к безвозвратному удалению всех связанных с ним изображений и потребует повторного обучения модели."
},
"deleteModel": {
"title": "Удалить модель классификации",
"single": "Вы уверены, что хотите удалить {{name}}? Это приведёт к безвозвратному удалению всех связанных данных, включая изображения и данные обучения. Это действие нельзя отменить.",
"desc_one": "Вы уверены, что хотите удалить {{count}} модель? Это приведёт к безвозвратному удалению всех связанных данных, включая изображения и данные обучения. Это действие нельзя отменить.",
"desc_few": "Вы уверены, что хотите удалить {{count}} модели? Это приведёт к безвозвратному удалению всех связанных данных, включая изображения и данные обучения. Это действие нельзя отменить.",
"desc_many": "Вы уверены, что хотите удалить {{count}} моделей? Это приведёт к безвозвратному удалению всех связанных данных, включая изображения и данные обучения. Это действие нельзя отменить."
},
"edit": {
"title": "Редактировать модель классификации",
"descriptionState": "Редактировать классы для этой модели классификации состояний. Изменения потребуют повторного обучения модели.",
"descriptionObject": "Редактировать тип объекта и тип классификации для этой модели классификации объектов.",
"stateClassesInfo": "Примечание: изменение классов состояний требует повторного обучения модели с обновлёнными классами."
},
"deleteDatasetImages": {
"title": "Удалить изображения набора данных",
"desc_one": "Вы уверены, что хотите удалить {{count}} изображение из {{dataset}}? Это действие нельзя отменить и потребует повторного обучения модели.",
"desc_few": "Вы уверены, что хотите удалить {{count}} изображения из {{dataset}}? Это действие нельзя отменить и потребует повторного обучения модели.",
"desc_many": "Вы уверены, что хотите удалить {{count}} изображений из {{dataset}}? Это действие нельзя отменить и потребует повторного обучения модели."
},
"deleteTrainImages": {
"title": "Удалить обучающие изображения",
"desc_one": "Вы уверены, что хотите удалить {{count}} изображение? Это действие нельзя отменить.",
"desc_few": "Вы уверены, что хотите удалить {{count}} изображения? Это действие нельзя отменить.",
"desc_many": "Вы уверены, что хотите удалить {{count}} изображений? Это действие нельзя отменить."
},
"renameCategory": {
"title": "Переименовать класс",
"desc": "Введите новое имя для {{name}}. Вам потребуется повторно обучить модель, чтобы изменение имени вступило в силу."
},
"description": {
"invalidName": "Недопустимое имя. Имена могут содержать только буквы, цифры, пробелы, апострофы, подчёркивания и дефисы."
},
"train": {
"title": "Недавние классификации",
"titleShort": "Недавние",
"aria": "Выбрать недавние классификации"
},
"categories": "Классы",
"createCategory": {
"new": "Создать новый класс"
},
"categorizeImageAs": "Классифицировать изображение как:",
"categorizeImage": "Классифицировать изображение",
"menu": {
"objects": "Объекты",
"states": "Состояния"
},
"noModels": {
"object": {
"title": "Нет моделей классификации объектов",
"description": "Создайте пользовательскую модель для классификации обнаруженных объектов.",
"buttonText": "Создать модель объекта"
},
"state": {
"title": "Нет моделей классификации состояний",
"description": "Создайте пользовательскую модель для мониторинга и классификации изменений состояний в определённых областях камеры.",
"buttonText": "Создать модель состояния"
}
},
"wizard": {
"title": "Создать новую классификацию",
"steps": {
"nameAndDefine": "Имя и определение",
"stateArea": "Область состояния",
"chooseExamples": "Выбрать примеры"
},
"step1": {
"description": "Модели состояний отслеживают фиксированные области камеры на предмет изменений (например, дверь открыта/закрыта). Модели объектов добавляют классификации к обнаруженным объектам (например, известные животные, курьеры и т.д.).",
"name": "Имя",
"namePlaceholder": "Введите имя модели…",
"type": "Тип",
"typeState": "Состояние",
"typeObject": "Объект",
"objectLabel": "Метка объекта",
"objectLabelPlaceholder": "Выберите тип объекта…",
"classificationType": "Тип классификации",
"classificationTypeTip": "Узнать о типах классификации",
"classificationTypeDesc": "Подметки добавляют дополнительный текст к метке объекта (например, 'Человек: UPS'). Атрибуты — это доступные для поиска метаданные, хранящиеся отдельно в метаданных объекта.",
"classificationSubLabel": "Подметка",
"classificationAttribute": "Атрибут",
"classes": "Классы",
"states": "Состояния",
"classesTip": "Узнать о классах",
"classesStateDesc": "Определите различные состояния, в которых может находиться область вашей камеры. Например: 'открыто' и 'закрыто' для гаражных ворот.",
"classesObjectDesc": "Определите различные категории для классификации обнаруженных объектов. Например: 'курьер', 'житель', 'незнакомец' для классификации людей.",
"classPlaceholder": "Введите имя класса…",
"errors": {
"nameRequired": "Имя модели обязательно",
"nameLength": "Имя модели должно содержать не более 64 символов",
"nameOnlyNumbers": "Имя модели не может состоять только из цифр",
"classRequired": "Требуется хотя бы 1 класс",
"classesUnique": "Имена классов должны быть уникальными",
"stateRequiresTwoClasses": "Модели состояний требуют не менее 2 классов",
"objectLabelRequired": "Пожалуйста, выберите метку объекта",
"objectTypeRequired": "Пожалуйста, выберите тип классификации"
}
},
"step2": {
"description": "Выберите камеры и определите область для мониторинга для каждой камеры. Модель будет классифицировать состояние этих областей.",
"cameras": "Камеры",
"selectCamera": "Выбрать камеру",
"noCameras": "Нажмите +, чтобы добавить камеры",
"selectCameraPrompt": "Выберите камеру из списка, чтобы определить область её мониторинга"
},
"step3": {
"selectImagesPrompt": "Выберите все изображения с {{className}}",
"selectImagesDescription": "Нажмите на изображения, чтобы выбрать их. Нажмите Продолжить, когда закончите с этим классом.",
"generating": {
"title": "Генерация примеров изображений",
"description": "Frigate извлекает репрезентативные изображения из ваших записей. Это может занять некоторое время…"
},
"training": {
"title": "Обучение модели",
"description": "Ваша модель обучается в фоновом режиме. Закройте это диалоговое окно, и ваша модель начнёт работать, как только обучение будет завершено."
},
"retryGenerate": "Повторить генерацию",
"noImages": "Примеры изображений не сгенерированы",
"classifying": "Классификация и обучение…",
"trainingStarted": "Обучение успешно запущено",
"errors": {
"noCameras": "Камеры не настроены",
"noObjectLabel": "Метка объекта не выбрана",
"generateFailed": "Не удалось сгенерировать примеры: {{error}}",
"generationFailed": "Генерация не удалась. Пожалуйста, попробуйте снова.",
"classifyFailed": "Не удалось классифицировать изображения: {{error}}"
},
"generateSuccess": "Примеры изображений успешно сгенерированы"
}
} }
} }

View File

@ -45,7 +45,11 @@
"trackedObject_other": "объекты", "trackedObject_other": "объекты",
"noObjectDetailData": "Данные о деталях объекта недоступны.", "noObjectDetailData": "Данные о деталях объекта недоступны.",
"label": "Деталь", "label": "Деталь",
"settings": "Настройки подробного просмотра" "settings": "Настройки подробного просмотра",
"alwaysExpandActive": {
"title": "Всегда раскрывать активный",
"desc": "Всегда раскрывать сведения об объекте активного элемента обзора, если они доступны."
}
}, },
"objectTrack": { "objectTrack": {
"trackedPoint": "Отслеживаемая точка", "trackedPoint": "Отслеживаемая точка",

View File

@ -102,7 +102,7 @@
"label": "Оценка снимка" "label": "Оценка снимка"
}, },
"score": { "score": {
"label": "Балл" "label": "Оценка"
} }
}, },
"trackedObjectDetails": "Детали объекта", "trackedObjectDetails": "Детали объекта",
@ -197,16 +197,26 @@
"audioTranscription": { "audioTranscription": {
"label": "Транскрибировать", "label": "Транскрибировать",
"aria": "Запросить аудиотранскрипцию" "aria": "Запросить аудиотранскрипцию"
},
"viewTrackingDetails": {
"label": "Просмотреть детали отслеживания",
"aria": "Показать детали отслеживания"
},
"showObjectDetails": {
"label": "Показать путь объекта"
},
"hideObjectDetails": {
"label": "Скрыть путь объекта"
} }
}, },
"dialog": { "dialog": {
"confirmDelete": { "confirmDelete": {
"title": "Подтвердить удаление", "title": "Подтвердить удаление",
"desc": "Удаление этого отслеживаемого объекта приведёт к удалению его снимка, всех сохранённых эмбеддингов и записей жизненного цикла. Сами записи в разделе История <em>НЕ</em> будут удалены.<br /><br />Вы уверены, что хотите продолжить?" "desc": "Удаление этого отслеживаемого объекта приведёт к удалению снимка, всех сохранённых эмбеддингов и всех связанных записей деталей отслеживания. Записанное видео этого отслеживаемого объекта в представлении Истории <em>НЕ</em> будет удалено.<br /><br />Вы уверены, что хотите продолжить?"
} }
}, },
"noTrackedObjects": "Не найдено отслеживаемых объектов", "noTrackedObjects": "Отслеживаемые объекты не найдены",
"fetchingTrackedObjectsFailed": "При получении списка отслеживаемых объектов произошла ошибка: {{errorMessage}}", "fetchingTrackedObjectsFailed": "Ошибка при получении отслеживаемых объектов: {{errorMessage}}",
"trackedObjectsCount_one": "{{count}} отслеживаемый объект ", "trackedObjectsCount_one": "{{count}} отслеживаемый объект ",
"trackedObjectsCount_few": "{{count}} отслеживаемых объекта ", "trackedObjectsCount_few": "{{count}} отслеживаемых объекта ",
"trackedObjectsCount_many": "{{count}} отслеживаемых объектов ", "trackedObjectsCount_many": "{{count}} отслеживаемых объектов ",
@ -217,7 +227,9 @@
"error": "Не удалось удалить отслеживаемый объект: {{errorMessage}}" "error": "Не удалось удалить отслеживаемый объект: {{errorMessage}}"
} }
}, },
"tooltip": "Соответствие с {{type}} на {{confidence}}%" "tooltip": "Соответствие с {{type}} на {{confidence}}%",
"previousTrackedObject": "Предыдущий отслеживаемый объект",
"nextTrackedObject": "Следующий отслеживаемый объект"
}, },
"exploreMore": "Просмотреть больше объектов {{label}}", "exploreMore": "Просмотреть больше объектов {{label}}",
"aiAnalysis": { "aiAnalysis": {
@ -225,5 +237,53 @@
}, },
"concerns": { "concerns": {
"label": "Требуют внимания" "label": "Требуют внимания"
},
"trackingDetails": {
"count": "{{first}} из {{second}}",
"title": "Детали отслеживания",
"noImageFound": "Для этой метки времени изображение не найдено.",
"createObjectMask": "Создать маску объекта",
"adjustAnnotationSettings": "Изменить настройки аннотаций",
"scrollViewTips": "Нажмите, чтобы просмотреть ключевые моменты жизненного цикла этого объекта.",
"autoTrackingTips": "Позиции ограничивающих рамок будут неточными для камер с автотрекингом.",
"trackedPoint": "Отслеживаемая точка",
"lifecycleItemDesc": {
"visible": "Обнаружен(а) {{label}}",
"entered_zone": "{{label}} зафиксирован(а) в {{zones}}",
"active": "{{label}} активировался(ась)",
"stationary": "{{label}} перестал(а) двигаться",
"attribute": {
"faceOrLicense_plate": "{{attribute}} обнаружен для {{label}}",
"other": "{{label}} распознан(а) как {{attribute}}"
},
"gone": "{{label}} покинул(а) зону",
"heard": "Обнаружен звук {{label}}",
"external": "Обнаружен(а) {{label}}",
"header": {
"zones": "Зоны",
"ratio": "Соотношение",
"area": "Область"
}
},
"annotationSettings": {
"title": "Настройки аннотаций",
"showAllZones": {
"title": "Показать все зоны",
"desc": "Всегда показывать зоны на кадрах, где объекты вошли в зону."
},
"offset": {
"label": "Сдвиг аннотаций",
"desc": "Эти данные поступают из потока детекции вашей камеры, но накладываются на изображения из потока записи. Потоки вряд ли идеально синхронизированы, поэтому ограничивающая рамка и видео могут не совпадать. Вы можете использовать эту настройку для смещения аннотаций вперед или назад во времени, чтобы лучше выровнять их с записанным видео.",
"millisecondsToOffset": "Смещение аннотаций детекции в миллисекундах. <em>По умолчанию: 0</em>",
"tips": "Уменьшите значение, если воспроизведение видео опережает рамки и точки пути, и увеличьте значение, если воспроизведение видео отстаёт от них. Это значение может быть отрицательным.",
"toast": {
"success": "Смещение аннотаций для {{camera}} сохранено в конфигурационном файле. Перезапустите Frigate, чтобы применить изменения."
}
}
},
"carousel": {
"previous": "Предыдущий слайд",
"next": "Следующий слайд"
}
} }
} }

View File

@ -13,11 +13,11 @@
"description": { "description": {
"placeholder": "Введите название коллекции", "placeholder": "Введите название коллекции",
"addFace": "Добавьте новую коллекцию в библиотеку лиц, загрузив свое первое изображение.", "addFace": "Добавьте новую коллекцию в библиотеку лиц, загрузив свое первое изображение.",
"invalidName": "Недопустимое имя. Имена могут содержать только буквы, цифры, пробелы, апострофы, подчеркивания и дефисы." "invalidName": "Недопустимое имя. Имена могут содержать только буквы, цифры, пробелы, апострофы, подчёркивания и дефисы."
}, },
"createFaceLibrary": { "createFaceLibrary": {
"desc": "Создание новой коллекции", "desc": "Создание новой коллекции",
"nextSteps": "Для создания надежной базы: <li>Используйте вкладку Обучение, чтобы выбрать изображения и обучить систему для каждого обнаруженного человека.</li> <li>Используйте фронтальные изображения для лучшего результата; избегайте изображений с лицами, снятыми под углом.</li> </ul>", "nextSteps": "Для создания надежной базы: <li>Используйте вкладку \"Недавние распознавания\", чтобы выбрать изображения каждого обнаруженного человека и обучить систему</li> <li>Используйте фронтальные изображения для лучшего результата; избегайте изображений с лицами, снятыми под углом.</li> </ul>",
"title": "Создать коллекцию", "title": "Создать коллекцию",
"new": "Создать новое лицо" "new": "Создать новое лицо"
}, },
@ -43,7 +43,7 @@
"uploadedImage": "Изображение успешно загружено.", "uploadedImage": "Изображение успешно загружено.",
"trainedFace": "Лицо успешно запомнено.", "trainedFace": "Лицо успешно запомнено.",
"addFaceLibrary": "{{name}} успешно добавлен(а) в Библиотеку лиц!", "addFaceLibrary": "{{name}} успешно добавлен(а) в Библиотеку лиц!",
"updatedFaceScore": "Оценка лица успешно обновлена.", "updatedFaceScore": "Оценка лица успешно обновлена для {{name}} {{score}}.",
"renamedFace": "Лицо успешно переименовано в {{name}}" "renamedFace": "Лицо успешно переименовано в {{name}}"
}, },
"error": { "error": {
@ -62,7 +62,7 @@
}, },
"imageEntry": { "imageEntry": {
"dropActive": "Перетащите изображение сюда…", "dropActive": "Перетащите изображение сюда…",
"dropInstructions": "Перетащите изображение сюда или нажмите для выбора", "dropInstructions": "Перетащите или вставьте изображение сюда или щелкните, чтобы выбрать",
"maxSize": "Макс. размер: {{size}}Мб", "maxSize": "Макс. размер: {{size}}Мб",
"validation": { "validation": {
"selectImage": "Пожалуйста, выберите файл изображения." "selectImage": "Пожалуйста, выберите файл изображения."

View File

@ -86,7 +86,7 @@
"disable": "Скрыть статистику потока" "disable": "Скрыть статистику потока"
}, },
"manualRecording": { "manualRecording": {
"title": "Запись по требованию", "title": "По требованию",
"tips": "Создать ручное событие на основе настроек хранения записей этой камеры.", "tips": "Создать ручное событие на основе настроек хранения записей этой камеры.",
"playInBackground": { "playInBackground": {
"label": "Воспроизведение в фоне", "label": "Воспроизведение в фоне",
@ -170,5 +170,14 @@
"transcription": { "transcription": {
"enable": "Включить транскрипцию звука в реальном времени", "enable": "Включить транскрипцию звука в реальном времени",
"disable": "Выключить транскрипцию звука" "disable": "Выключить транскрипцию звука"
},
"snapshot": {
"noVideoSource": "Нет видеоисточника для снимка",
"captureFailed": "Не удалось сделать снимок."
},
"noCameras": {
"title": "Камеры не настроены",
"description": "Начните с подключения камеры к Frigate.",
"buttonText": "Добавить камеру"
} }
} }

View File

@ -4,7 +4,7 @@
"camera": "Настройки камеры - Frigate", "camera": "Настройки камеры - Frigate",
"masksAndZones": "Маски и Зоны - Frigate", "masksAndZones": "Маски и Зоны - Frigate",
"motionTuner": "Детекции движения - Frigate", "motionTuner": "Детекции движения - Frigate",
"general": "Общие настройки - Frigate", "general": "Настройки интерфейса - Frigate",
"frigatePlus": "Настройки Frigate+ - Frigate", "frigatePlus": "Настройки Frigate+ - Frigate",
"authentication": "Настройки аутентификации - Frigate", "authentication": "Настройки аутентификации - Frigate",
"classification": "Настройки распознавания - Frigate", "classification": "Настройки распознавания - Frigate",
@ -41,7 +41,7 @@
"noCamera": "Нет камеры" "noCamera": "Нет камеры"
}, },
"general": { "general": {
"title": "Общие настройки", "title": "Настройки интерфейса",
"liveDashboard": { "liveDashboard": {
"title": "Панель мониторинга", "title": "Панель мониторинга",
"automaticLiveView": { "automaticLiveView": {
@ -51,6 +51,9 @@
"playAlertVideos": { "playAlertVideos": {
"label": "Воспроизводить видео с тревогами", "label": "Воспроизводить видео с тревогами",
"desc": "По умолчанию последние тревоги на панели мониторинга воспроизводятся как короткие зацикленные видео. Отключите эту опцию, чтобы показывать только статичное изображение последних оповещений на этом устройстве/браузере." "desc": "По умолчанию последние тревоги на панели мониторинга воспроизводятся как короткие зацикленные видео. Отключите эту опцию, чтобы показывать только статичное изображение последних оповещений на этом устройстве/браузере."
},
"displayCameraNames": {
"label": "Всегда показывать названия камер"
} }
}, },
"calendar": { "calendar": {
@ -903,6 +906,10 @@
}, },
"docs": { "docs": {
"reolink": "https://docs.frigate.video/configuration/camera_specific.html#reolink-cameras" "reolink": "https://docs.frigate.video/configuration/camera_specific.html#reolink-cameras"
},
"testing": {
"probingMetadata": "Проверка метаданных камеры…",
"fetchingSnapshot": "Получение снимка с камеры…"
} }
}, },
"step2": { "step2": {
@ -928,5 +935,63 @@
"testSuccess": "Тест потока выполнен успешно!", "testSuccess": "Тест потока выполнен успешно!",
"testFailed": "Тест потока не пройден" "testFailed": "Тест потока не пройден"
} }
},
"roles": {
"addRole": "Добавить роль",
"table": {
"role": "Роль",
"cameras": "Камеры",
"actions": "Действия",
"editCameras": "Редактировать камеры",
"deleteRole": "Удалить роль",
"noRoles": "Пользовательских ролей не найдено."
},
"toast": {
"success": {
"createRole": "Роль {{role}} успешно создана",
"updateCameras": "Камеры обновлены для роли {{role}}",
"deleteRole": "Роль {{role}} успешно удалена",
"userRolesUpdated_one": "{{count}} пользователь, назначенный на эту роль, был обновлён до роли 'наблюдатель', которая имеет доступ ко всем камерам.",
"userRolesUpdated_few": "{{count}} пользователя, назначенных на эту роль, были обновлены до роли 'наблюдатель', которая имеет доступ ко всем камерам.",
"userRolesUpdated_many": "{{count}} пользователей, назначенных на эту роль, были обновлены до роли 'наблюдатель', которая имеет доступ ко всем камерам."
},
"error": {
"createRoleFailed": "Не удалось создать роль: {{errorMessage}}",
"updateCamerasFailed": "Не удалось обновить камеры: {{errorMessage}}",
"deleteRoleFailed": "Не удалось удалить роль: {{errorMessage}}",
"userUpdateFailed": "Не удалось обновить роли пользователей: {{errorMessage}}"
}
},
"dialog": {
"createRole": {
"title": "Создать новую роль",
"desc": "Добавьте новую роль и укажите права доступа к камерам."
},
"editCameras": {
"title": "Редактировать камеры роли",
"desc": "Обновите доступ к камерам для роли <strong>{{role}}</strong>."
},
"deleteRole": {
"title": "Удалить роль",
"desc": "Это действие нельзя отменить. Это действие навсегда удалит роль и назначит всех пользователей с этой ролью на роль 'наблюдатель', что даст наблюдателю доступ ко всем камерам.",
"warn": "Вы уверены, что хотите удалить <strong>{{role}}</strong>?",
"deleting": "Удаление…"
},
"form": {
"role": {
"title": "Название роли",
"placeholder": "Введите название роли",
"desc": "Разрешены только буквы, цифры, точки и подчёркивания.",
"roleIsRequired": "Требуется название роли",
"roleOnlyInclude": "Название роли может содержать только буквы, цифры, . или _",
"roleExists": "Роль с таким названием уже существует."
},
"cameras": {
"title": "Камеры",
"desc": "Выберите камеры, к которым эта роль имеет доступ. Необходимо выбрать хотя бы одну камеру.",
"required": "Необходимо выбрать хотя бы одну камеру."
}
}
}
} }
} }