diff --git a/web/public/locales/uk/audio.json b/web/public/locales/uk/audio.json
index e5b27820a..773d5e3a7 100644
--- a/web/public/locales/uk/audio.json
+++ b/web/public/locales/uk/audio.json
@@ -425,5 +425,79 @@
"whistling": "Свист",
"snoring": "Хропіння",
"pant": "Задихатися",
- "sneeze": "Чхати"
+ "sneeze": "Чхати",
+ "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": "Реверберація",
+ "echo": "Відлуння",
+ "noise": "Шум",
+ "mains_hum": "Гуміння рук",
+ "distortion": "Спотворення",
+ "sidetone": "Побічний тон",
+ "cacophony": "Какофонія",
+ "throbbing": "Пульсуючий",
+ "vibration": "Вібрація"
}
diff --git a/web/public/locales/uk/common.json b/web/public/locales/uk/common.json
index 542ebb27a..d9fd097cd 100644
--- a/web/public/locales/uk/common.json
+++ b/web/public/locales/uk/common.json
@@ -106,7 +106,7 @@
"enable": "Увімкнути",
"disabled": "Вимкнено",
"disable": "Вимкнути",
- "save": "Зберегти",
+ "save": "Зберігати",
"download": "Завантажити",
"info": "Інфо",
"suspended": "Призупинено",
@@ -227,6 +227,14 @@
"length": {
"feet": "ноги",
"meters": "метрів"
+ },
+ "data": {
+ "kbps": "кБ/с",
+ "mbps": "МБ/с",
+ "gbps": "ГБ/с",
+ "kbph": "кБ/годину",
+ "mbph": "МБ/годину",
+ "gbph": "ГБ/годину"
}
},
"label": {
@@ -271,5 +279,8 @@
"title": "404"
},
"selectItem": "Вибрати {{item}}",
- "readTheDocumentation": "Прочитати документацію"
+ "readTheDocumentation": "Прочитати документацію",
+ "information": {
+ "pixels": "{{area}}пикс"
+ }
}
diff --git a/web/public/locales/uk/components/dialog.json b/web/public/locales/uk/components/dialog.json
index fadbb19e0..e6d8f3298 100644
--- a/web/public/locales/uk/components/dialog.json
+++ b/web/public/locales/uk/components/dialog.json
@@ -89,7 +89,8 @@
"button": {
"export": "Експорт",
"markAsReviewed": "Позначити як переглянуте",
- "deleteNow": "Вилучити зараз"
+ "deleteNow": "Вилучити зараз",
+ "markAsUnreviewed": "Позначити як непереглянуте"
},
"confirmDelete": {
"title": "Підтвердити вилучення",
diff --git a/web/public/locales/uk/views/events.json b/web/public/locales/uk/views/events.json
index 4496b3915..6c90d5ed9 100644
--- a/web/public/locales/uk/views/events.json
+++ b/web/public/locales/uk/views/events.json
@@ -36,5 +36,16 @@
},
"detected": "виявлено",
"suspiciousActivity": "Підозріла активність",
- "threateningActivity": "Загрозлива діяльність"
+ "threateningActivity": "Загрозлива діяльність",
+ "detail": {
+ "noDataFound": "Немає детальних даних для перегляду",
+ "aria": "Перемикання детального перегляду",
+ "trackedObject_one": "відстежуваний об'єкт",
+ "trackedObject_other": "відстежувані об'єкти",
+ "noObjectDetailData": "Детальні дані про об'єкт недоступні."
+ },
+ "objectTrack": {
+ "trackedPoint": "Відстежувана Точка",
+ "clickToSeek": "Натисніть, щоб перейти до цього часу"
+ }
}
diff --git a/web/public/locales/uk/views/faceLibrary.json b/web/public/locales/uk/views/faceLibrary.json
index 34f420704..bf1f867a2 100644
--- a/web/public/locales/uk/views/faceLibrary.json
+++ b/web/public/locales/uk/views/faceLibrary.json
@@ -66,7 +66,7 @@
"selectImage": "Будь ласка, виберіть файл зображення."
},
"dropActive": "Скинь зображення сюди…",
- "dropInstructions": "Перетягніть зображення сюди або клацніть, щоб вибрати"
+ "dropInstructions": "Перетягніть або вставте зображення сюди, або клацніть, щоб вибрати"
},
"trainFaceAs": "Тренуйте обличчя як:",
"trainFace": "Обличчя поїзда",
diff --git a/web/public/locales/uk/views/live.json b/web/public/locales/uk/views/live.json
index 8b2248ffc..8562f5115 100644
--- a/web/public/locales/uk/views/live.json
+++ b/web/public/locales/uk/views/live.json
@@ -10,8 +10,8 @@
"label": "Грати у фоновому режимі",
"desc": "Увімкніть цей параметр, щоб продовжувати потокове передавання, коли програвач приховано."
},
- "tips": "Запустіть ручну подію на основі параметрів збереження запису цієї камери.",
- "title": "Запис на вимогу",
+ "tips": "Завантажте миттєвий знімок або запустіть ручну подію на основі налаштувань збереження запису цієї камери.",
+ "title": "На-вимогу",
"debugView": "Режим зневаджування",
"start": "Почати запис за запитом",
"failedToStart": "Не вдалося запустити ручний запис на вимогу.",
@@ -170,5 +170,16 @@
"transcription": {
"enable": "Увімкнути транскрипцію аудіо в реальному часі",
"disable": "Вимкнути транскрипцію аудіо в реальному часі"
+ },
+ "noCameras": {
+ "title": "Немає налаштованих камер",
+ "description": "Почніть з підключення камери до Frigate.",
+ "buttonText": "Додати камеру"
+ },
+ "snapshot": {
+ "takeSnapshot": "Завантажити миттєвий знімок",
+ "noVideoSource": "Немає доступного джерела відео для знімка.",
+ "captureFailed": "Не вдалося зробити знімок.",
+ "downloadStarted": "Розпочато завантаження знімка."
}
}
diff --git a/web/public/locales/uk/views/settings.json b/web/public/locales/uk/views/settings.json
index 24ff6db8b..a053b90a7 100644
--- a/web/public/locales/uk/views/settings.json
+++ b/web/public/locales/uk/views/settings.json
@@ -161,7 +161,7 @@
"name": {
"inputPlaceHolder": "Введіть назву…",
"title": "Ім'я",
- "tips": "Назва має містити щонайменше 2 символи та не повинна бути назвою камери чи іншої зони."
+ "tips": "Назва має містити щонайменше 2 символи, принаймні одну літеру та не повинна бути назвою камери чи іншої зони."
},
"desc": {
"title": "Зони дозволяють визначити певну область кадру, щоб ви могли визначити, чи знаходиться об'єкт у певній області.",
@@ -252,7 +252,8 @@
"mustNotContainPeriod": "Назва зони не повинна містити крапок.",
"mustNotBeSameWithCamera": "Назва зони не повинна збігатися з назвою камери.",
"mustBeAtLeastTwoCharacters": "Назва зони має містити щонайменше 2 символи.",
- "hasIllegalCharacter": "Назва зони містить недопустимі символи."
+ "hasIllegalCharacter": "Назва зони містить недопустимі символи.",
+ "mustHaveAtLeastOneLetter": "Назва зони повинна містити щонайменше одну літеру."
}
},
"polygonDrawing": {
@@ -549,9 +550,11 @@
"classification": "Налаштування класифікації – Фрегат",
"masksAndZones": "Редактор масок та зон – Фрегат",
"motionTuner": "Тюнер руху - Фрегат",
- "general": "Основна Налаштуваннях – Frigate",
+ "general": "Основна Налаштування – Frigate",
"frigatePlus": "Налаштування Frigate+ – Frigate",
- "enrichments": "Налаштуваннях збагачення – Frigate"
+ "enrichments": "Налаштуваннях збагачення – Frigate",
+ "cameraManagement": "Керування камерами - Frigate",
+ "cameraReview": "Налаштування перегляду камери - Frigate"
},
"menu": {
"ui": "Інтерфейс користувача",
@@ -563,8 +566,11 @@
"debug": "Налагодження",
"notifications": "Сповіщення",
"frigateplus": "Frigate+",
- "enrichments": "Збагачення",
- "triggers": "Тригери"
+ "enrichments": "Збагаченням",
+ "triggers": "Тригери",
+ "roles": "Ролі",
+ "cameraManagement": "Управління",
+ "cameraReview": "Огляду"
},
"dialog": {
"unsavedChanges": {
@@ -815,6 +821,11 @@
"error": {
"min": "Потрібно вибрати принаймні одну дію."
}
+ },
+ "friendly_name": {
+ "title": "Зрозуміле ім'я",
+ "placeholder": "Назвіть або опишіть цей тригер",
+ "description": "Зрозуміла назва або описовий текст (необов'язково) для цього тригера."
}
}
},
@@ -829,6 +840,10 @@
"updateTriggerFailed": "Не вдалося оновити тригер: {{errorMessage}}",
"deleteTriggerFailed": "Не вдалося видалити тригер: {{errorMessage}}"
}
+ },
+ "semanticSearch": {
+ "title": "Семантичний пошук вимкнено",
+ "desc": "Для використання тригерів необхідно ввімкнути семантичний пошук."
}
},
"roles": {
@@ -890,5 +905,222 @@
}
}
}
+ },
+ "cameraWizard": {
+ "title": "Додати камеру",
+ "description": "Виконайте наведені нижче кроки, щоб додати нову камеру до вашої установки Frigate.",
+ "steps": {
+ "nameAndConnection": "Ім'я та з'єднання",
+ "streamConfiguration": "Конфігурація потоку",
+ "validationAndTesting": "Валідація та тестування"
+ },
+ "save": {
+ "success": "Нову камеру успішно збережено {{cameraName}}.",
+ "failure": "Помилка збереження {{cameraName}}."
+ },
+ "testResultLabels": {
+ "resolution": "Роздільна здатність",
+ "video": "Відео",
+ "audio": "Аудіо",
+ "fps": "FPS"
+ },
+ "commonErrors": {
+ "noUrl": "Будь ласка, надайте дійсну URL-адресу потоку",
+ "testFailed": "Тест потоку не вдався: {{error}}"
+ },
+ "step1": {
+ "description": "Введіть дані вашої камери та перевірте з’єднання.",
+ "cameraName": "Назва камери",
+ "cameraNamePlaceholder": "наприклад, передні_двері або огляд заднього двору",
+ "host": "Хост/IP-адреса",
+ "port": "Порт",
+ "username": "Ім'я користувача",
+ "usernamePlaceholder": "Необов'язково",
+ "password": "Пароль",
+ "passwordPlaceholder": "Необов'язково",
+ "selectTransport": "Виберіть транспортний протокол",
+ "cameraBrand": "Бренд камери",
+ "selectBrand": "Виберіть марку камери для шаблону URL-адреси",
+ "customUrl": "URL-адреса користувацького потоку",
+ "brandInformation": "Інформація про бренд",
+ "brandUrlFormat": "Для камер з форматом RTSP URL, як: {{exampleUrl}}",
+ "customUrlPlaceholder": "rtsp://username:password@host:port/path",
+ "testConnection": "Тестове з'єднання",
+ "testSuccess": "Тестування з'єднання успішне!",
+ "testFailed": "Перевірка з’єднання не вдалася. Перевірте введені дані та повторіть спробу.",
+ "streamDetails": "Деталі трансляції",
+ "warnings": {
+ "noSnapshot": "Не вдалося отримати знімок із налаштованого потоку."
+ },
+ "errors": {
+ "brandOrCustomUrlRequired": "Виберіть або марку камери з хостом/IP-адресою, або виберіть «Інше» з власною URL-адресою",
+ "nameRequired": "Потрібно вказати назву камери",
+ "nameLength": "Назва камери має містити не більше 64 символів",
+ "invalidCharacters": "Назва камери містить недійсні символи",
+ "nameExists": "Назва камери вже існує",
+ "brands": {
+ "reolink-rtsp": "Не рекомендується використовувати Reolink RTSP. Рекомендується ввімкнути http у налаштуваннях камери та перезапустити майстер налаштувань камери."
+ }
+ },
+ "docs": {
+ "reolink": "https://docs.frigate.video/configuration/camera_specific.html#reolink-cameras"
+ }
+ },
+ "step2": {
+ "description": "Налаштуйте ролі потоків та додайте додаткові потоки для вашої камери.",
+ "streamsTitle": "Потоки з камери",
+ "addStream": "Додати потік",
+ "addAnotherStream": "Додати ще один потік",
+ "streamTitle": "Потік {{number}}",
+ "streamUrl": "URL-адреса потоку",
+ "streamUrlPlaceholder": "rtsp://username:password@host:port/path",
+ "url": "URL",
+ "resolution": "Роздільна здатність",
+ "selectResolution": "Виберіть роздільну здатність",
+ "quality": "Якість",
+ "selectQuality": "Виберіть якість",
+ "roles": "Ролі",
+ "roleLabels": {
+ "detect": "Виявлення об'єктів",
+ "record": "Запис",
+ "audio": "Аудіо"
+ },
+ "testStream": "Тестове з'єднання",
+ "testSuccess": "Тестування трансляції успішне!",
+ "testFailed": "Тест потоку не вдався",
+ "testFailedTitle": "Тест не вдався",
+ "connected": "Підключено",
+ "notConnected": "Не підключено",
+ "featuresTitle": "Особливості",
+ "go2rtc": "Зменште кількість підключень до камери",
+ "detectRoleWarning": "Для продовження принаймні один потік повинен мати роль \"виявлення\".",
+ "rolesPopover": {
+ "title": "Ролі потоку",
+ "detect": "Основний канал для виявлення об'єктів.",
+ "record": "Зберігає сегменти відеоканалу на основі налаштувань конфігурації.",
+ "audio": "Стрічка даних для виявлення на основі аудіо."
+ },
+ "featuresPopover": {
+ "title": "Функції потоку",
+ "description": "Використовуйте ретрансляцію go2rtc, щоб зменшити кількість підключень до вашої камери."
+ }
+ },
+ "step3": {
+ "description": "Фінальна перевірка та аналіз перед збереженням нової камери. Підключіть кожен потік перед збереженням.",
+ "validationTitle": "Перевірка потоку",
+ "connectAllStreams": "Підключити всі потоки",
+ "reconnectionSuccess": "Повторне підключення успішне.",
+ "reconnectionPartial": "Не вдалося відновити підключення до деяких потоків.",
+ "streamUnavailable": "Попередній перегляд трансляції недоступний",
+ "reload": "Перезавантажити",
+ "connecting": "Підключення...",
+ "streamTitle": "Потік {{number}}",
+ "valid": "Дійсний",
+ "failed": "Не вдалося",
+ "notTested": "Не тестувалося",
+ "connectStream": "Підключитися",
+ "connectingStream": "Підключення",
+ "disconnectStream": "Відключитися",
+ "estimatedBandwidth": "Орієнтовна пропускна здатність",
+ "roles": "Ролі",
+ "none": "Жоден",
+ "error": "Помилка",
+ "streamValidated": "Потік {{number}} успішно перевірено",
+ "streamValidationFailed": "Не вдалося перевірити потік {{number}}",
+ "saveAndApply": "Зберегти нову камеру",
+ "saveError": "Недійсна конфігурація. Перевірте свої налаштування.",
+ "issues": {
+ "title": "Перевірка потоку",
+ "videoCodecGood": "Відеокодек: {{codec}}.",
+ "audioCodecGood": "Аудіокодек: {{codec}}.",
+ "noAudioWarning": "Для цього потоку не виявлено аудіо, записи не матимуть аудіо.",
+ "audioCodecRecordError": "Для підтримки аудіо в записах потрібен аудіокодек AAC.",
+ "audioCodecRequired": "Для підтримки виявлення звуку потрібен аудіопотік.",
+ "restreamingWarning": "Зменшення кількості підключень до камери для потоку запису може дещо збільшити використання процесора.",
+ "dahua": {
+ "substreamWarning": "Підпотік 1 заблокований на низькій роздільній здатності. Багато камер Dahua / Amcrest / EmpireTech підтримують додаткові підпотоки, які потрібно ввімкнути в налаштуваннях камери. Рекомендується перевірити та використовувати ці потоки, якщо вони доступні."
+ },
+ "hikvision": {
+ "substreamWarning": "Підпотік 1 заблокований на низькій роздільній здатності. Багато камер Hikvision підтримують додаткові підпотоки, які потрібно ввімкнути в налаштуваннях камери. Рекомендується перевірити та використовувати ці потоки, якщо вони доступні."
+ }
+ }
+ }
+ },
+ "cameraManagement": {
+ "title": "Керування камерами",
+ "addCamera": "Додати нову камеру",
+ "editCamera": "Редагувати камеру:",
+ "selectCamera": "Виберіть камеру",
+ "backToSettings": "Назад до налаштувань камери",
+ "streams": {
+ "title": "Увімкнути/вимкнути камери",
+ "desc": "Тимчасово вимкніть камеру до перезапуску Frigate. Вимкнення камери повністю зупиняє обробку потоків цієї камери в Frigate. Функції виявлення, запису та налагодження будуть недоступні.
Примітка: це не вимикає ретрансляції "
+ },
+ "cameraConfig": {
+ "add": "Додати камеру",
+ "edit": "Редагувати камеру",
+ "description": "Налаштуйте параметри камери, включаючи потокові входи та ролі.",
+ "name": "Назва камери",
+ "nameRequired": "Потрібно вказати назву камери",
+ "nameLength": "Назва камери має містити менше 64 символів.",
+ "namePlaceholder": "наприклад, передні_двері або огляд заднього двору",
+ "enabled": "Увімкнено",
+ "ffmpeg": {
+ "inputs": "Вхідні потоки",
+ "path": "Шлях потоку",
+ "pathRequired": "Шлях потоку обов'язковий",
+ "pathPlaceholder": "rtsp://...",
+ "roles": "Ролі",
+ "rolesRequired": "Потрібна хоча б одна роль",
+ "rolesUnique": "Кожна роль (аудіо, виявлення, запис) може бути призначена лише одному потоку",
+ "addInput": "Додати вхідний потік",
+ "removeInput": "Вилучити вхідний потік",
+ "inputsRequired": "Потрібен принаймні один вхідний потік"
+ },
+ "go2rtcStreams": "go2rtc Стріми",
+ "streamUrls": "URL-адреси потоків",
+ "addUrl": "Додати URL-адресу",
+ "addGo2rtcStream": "Додати потік go2rtc",
+ "toast": {
+ "success": "Камеру {{cameraName}} успішно збережено"
+ }
+ }
+ },
+ "cameraReview": {
+ "title": "Налаштування перегляду камери",
+ "object_descriptions": {
+ "title": "Генеративні описи об'єктів штучного інтелекту",
+ "desc": "Тимчасово ввімкнути/вимкнути генеративні описи об'єктів ШІ для цієї камери. Якщо вимкнено, згенеровані ШІ описи не запитуватимуться для об'єктів, що відстежуються на цій камері."
+ },
+ "review_descriptions": {
+ "title": "Описи генеративного ШІ-огляду",
+ "desc": "Тимчасово ввімкнути/вимкнути генеративні описи огляду за допомогою штучного інтелекту для цієї камери. Якщо вимкнено, для елементів огляду на цій камері не запитуватимуться згенеровані штучним інтелектом описи."
+ },
+ "review": {
+ "title": "Огляду",
+ "desc": "Тимчасово ввімкнути/вимкнути сповіщення та виявлення для цієї камери до перезавантаження Frigate. Якщо вимкнено, нові елементи огляду не створюватимуться. ",
+ "alerts": "Сповіщення ",
+ "detections": "Виявлення "
+ },
+ "reviewClassification": {
+ "title": "Класифікація оглядів",
+ "desc": "Frigate класифікує об'єкти перевірки як сповіщення та виявлення. За замовчуванням усі об'єкти людина та автомобіль вважаються сповіщеннями. Ви можете уточнити класифікацію об'єктів перевірки, налаштувавши для них необхідні зони.",
+ "noDefinedZones": "Для цієї камери не визначено жодної зони.",
+ "objectAlertsTips": "Усі об’єкти {{alertsLabels}} на {{cameraName}} будуть відображатися як сповіщення.",
+ "zoneObjectAlertsTips": "Усі об’єкти {{alertsLabels}}, виявлені в {{zone}} на {{cameraName}}, будуть відображатися як сповіщення.",
+ "objectDetectionsTips": "Усі об’єкти {{detectionsLabels}}, які не класифіковані на {{cameraName}}, будуть відображатися як виявлені, незалежно від того, в якій зоні вони знаходяться.",
+ "zoneObjectDetectionsTips": {
+ "text": "Усі об’єкти {{detectionsLabels}}, що не належать до категорії {{zone}} на {{cameraName}}, будуть відображатися як Виявлення.",
+ "notSelectDetections": "Усі об’єкти {{detectionsLabels}}, виявлені в {{zone}} на {{cameraName}}, які не віднесені до категорії «Сповіщення», будуть відображатися як Виявлення незалежно від того, в якій зоні вони знаходяться.",
+ "regardlessOfZoneObjectDetectionsTips": "Усі об’єкти {{detectionsLabels}}, які не класифіковані на {{cameraName}}, будуть відображатися як виявлені, незалежно від того, в якій зоні вони знаходяться."
+ },
+ "unsavedChanges": "Незбережені налаштування класифікації рецензій для {{camera}}",
+ "selectAlertsZones": "Виберіть зони для сповіщень",
+ "selectDetectionsZones": "Виберіть зони для виявлення",
+ "limitDetections": "Обмеження виявлення певними зонами",
+ "toast": {
+ "success": "Конфігурацію класифікації перегляду збережено. Перезапустіть Frigate, щоб застосувати зміни."
+ }
+ }
}
}
diff --git a/web/public/locales/uk/views/system.json b/web/public/locales/uk/views/system.json
index 5898da3eb..43e8cfcb0 100644
--- a/web/public/locales/uk/views/system.json
+++ b/web/public/locales/uk/views/system.json
@@ -151,7 +151,7 @@
"documentTitle": {
"cameras": "Статистика камер - Фрегат",
"storage": "Статистика сховища - Фрегат",
- "general": "Загальна статистика - Frigate",
+ "general": "Основна Статус – Frigate",
"enrichments": "Статистика збагачені - Фрегат",
"logs": {
"frigate": "Фрегатні журнали - Фрегат",