diff --git a/web/public/locales/uk/common.json b/web/public/locales/uk/common.json
index 611d32905..79c01da24 100644
--- a/web/public/locales/uk/common.json
+++ b/web/public/locales/uk/common.json
@@ -47,7 +47,33 @@
"untilForRestart": "Доки Frigate не перезавантажиться.",
"untilRestart": "До перезавантаження",
"formattedTimestamp": {
- "12hour": "MMM d, h:mm:ss aaa"
+ "12hour": "MMM d, h:mm:ss aaa",
+ "24hour": "MMM d, HH:mm:ss"
+ },
+ "formattedTimestampHourMinute": {
+ "12hour": "h:mm aaa",
+ "24hour": "HH:mm"
+ },
+ "formattedTimestampHourMinuteSecond": {
+ "12hour": "h:mm:ss aaa",
+ "24hour": "HH:mm:ss"
+ },
+ "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",
+ "formattedTimestampFilename": {
+ "12hour": "MM-dd-yy-h-mm-ss-a",
+ "24hour": "MM-dd-yy-HH-mm-ss"
+ },
+ "formattedTimestamp2": {
+ "12hour": "MM/dd h:mm:ssa",
+ "24hour": "d MMM HH:mm:ss"
}
},
"button": {
@@ -119,7 +145,8 @@
"withSystem": {
"label": "Використовувати системну мову"
},
- "en": "Англійська"
+ "en": "Англійська",
+ "yue": "粵語 (Кантонська)"
},
"system": "Система",
"systemMetrics": "Системна метріка",
@@ -135,7 +162,8 @@
"default": "Типовий",
"label": "Тема",
"blue": "Синій",
- "green": "Зелений"
+ "green": "Зелений",
+ "highcontrast": "Висока контрастність"
},
"help": "Допомогти",
"documentation": {
diff --git a/web/public/locales/uk/components/dialog.json b/web/public/locales/uk/components/dialog.json
index 4565ce235..60c921b34 100644
--- a/web/public/locales/uk/components/dialog.json
+++ b/web/public/locales/uk/components/dialog.json
@@ -4,11 +4,17 @@
"review": {
"question": {
"ask_a": "Чи є цей об'єкт {{label}}
?",
- "ask_full": "Чи є цей об'єкт {{untranslatedLabel}}
{{translatedLabel}}?"
+ "ask_full": "Чи є цей об'єкт {{untranslatedLabel}}
{{translatedLabel}}?",
+ "label": "Підтвердіть цей ярлик для Frigate Plus",
+ "ask_an": "Це об'єкт – {{label}}
?"
},
"state": {
"submitted": "Поданi"
}
+ },
+ "submitToPlus": {
+ "label": "Надіслати да Frigate+",
+ "desc": "Об'єкти в місцях, які ви хочете уникнути, не є помилковими спрацьовуваннями. Подання їх як помилкових спрацьовувань заплутає модель."
}
},
"video": {
@@ -19,13 +25,83 @@
"label": "Потік",
"restreaming": {
"desc": {
- "readTheDocumentation": "Прочитати документацію"
- }
- }
+ "readTheDocumentation": "Прочитати документацію",
+ "title": "Налаштуйте go2rtc для додаткових параметрів перегляду в реальному часі та аудіо для цієї камери."
+ },
+ "disabled": "Перезавантаження не ввімкнено для цієї камери."
+ },
+ "showStats": {
+ "label": "Показати статистику потоку",
+ "desc": "Позначте цей пункт, щоб показувати статистику потоку як накладання на канал камери."
+ },
+ "debugView": "Режим зневаджування"
},
"search": {
"saveSearch": {
- "label": "Зберегти пошук"
+ "label": "Зберегти пошук",
+ "button": {
+ "save": {
+ "label": "Зберегти цей пошук"
+ }
+ },
+ "desc": "Вкажіть назву для цього збереженого пошуку.",
+ "placeholder": "Введіть назву для пошуку",
+ "overwrite": "{{searchName}} вже існує. Збереження перезапише існуюче значення.",
+ "success": "Пошук ({{searchName}}) збережено."
+ }
+ },
+ "export": {
+ "toast": {
+ "error": {
+ "failed": "Не вдалося розпочати експорт: {{error}}",
+ "endTimeMustAfterStartTime": "Час закінчення повинен бути після часу початку",
+ "noVaildTimeSelected": "Не вибрано допустимий діапазон часу"
+ },
+ "success": "Експорт успішно запущено. Файл доступний у теці /exports."
+ },
+ "fromTimeline": {
+ "saveExport": "Зберегти експорт",
+ "previewExport": "Попередній перегляд експорту"
+ },
+ "time": {
+ "fromTimeline": "Вибір шкали часу",
+ "custom": "Користувацький",
+ "start": {
+ "title": "Час початку",
+ "label": "Виберіть час початку"
+ },
+ "end": {
+ "title": "Час закінчення",
+ "label": "Вибрати час закінчення"
+ }
+ },
+ "name": {
+ "placeholder": "Введіть назву для експорту"
+ },
+ "select": "Вибрати",
+ "export": "Експорт",
+ "selectOrExport": "Выбiр або експорт"
+ },
+ "recording": {
+ "button": {
+ "export": "Експорт",
+ "markAsReviewed": "Позначити як переглянуте",
+ "deleteNow": "Вилучити зараз"
+ },
+ "confirmDelete": {
+ "title": "Підтвердити вилучення",
+ "desc": {
+ "selected": "Ви впевнені, що хочете видалити все записане відео, пов'язане з цим пунктом огляду?
Утримуйте клавішу Shift, щоб обійти це діалогове вікно в майбутньому."
+ }
+ }
+ },
+ "restart": {
+ "title": "Ви впевнені, що хочете перезапустити Frigate?",
+ "button": "Перезавантажувати",
+ "restarting": {
+ "title": "Frigate перезапускається",
+ "content": "Цю сторінку буде перезавантажено за {{countdown}} секунд.",
+ "button": "Примусово перезавантажити"
}
}
}
diff --git a/web/public/locales/uk/components/filter.json b/web/public/locales/uk/components/filter.json
index 83af516a1..26ad630c6 100644
--- a/web/public/locales/uk/components/filter.json
+++ b/web/public/locales/uk/components/filter.json
@@ -118,7 +118,7 @@
"title": "Розпізнано номерні знаки",
"loadFailed": "Не вдалося завантажити розпізнані номерні знаки.",
"loading": "Завантаження визнаних номерів…",
- "placeholder": "Введіть для пошуку номерні знаки...",
+ "placeholder": "Введіть для пошуку номерні знаки…",
"noLicensePlatesFound": "Номерних знаків не знайдено.",
"selectPlatesFromList": "Виберіть одну або кілька пластин зі списку."
}
diff --git a/web/public/locales/uk/views/events.json b/web/public/locales/uk/views/events.json
index 4d5b8de09..f78ac8501 100644
--- a/web/public/locales/uk/views/events.json
+++ b/web/public/locales/uk/views/events.json
@@ -21,7 +21,7 @@
"aria": "Выбрати події",
"noFoundForTimePeriod": "За цей період подій не знайдено."
},
- "documentTitle": "Перегляд - Frigate",
+ "documentTitle": "Перегляд подiй - Frigate",
"recordings": {
"documentTitle": "Записи - Frigate"
},
diff --git a/web/public/locales/uk/views/explore.json b/web/public/locales/uk/views/explore.json
index 0967ef424..f87a2c3a2 100644
--- a/web/public/locales/uk/views/explore.json
+++ b/web/public/locales/uk/views/explore.json
@@ -1 +1,10 @@
-{}
+{
+ "exploreIsUnavailable": {
+ "downloadingModels": {
+ "tips": {
+ "documentation": "Прочитати документацію"
+ }
+ }
+ },
+ "documentTitle": "Пошук подій - Frigate"
+}
diff --git a/web/public/locales/uk/views/faceLibrary.json b/web/public/locales/uk/views/faceLibrary.json
index eacec3cc7..de1229a8f 100644
--- a/web/public/locales/uk/views/faceLibrary.json
+++ b/web/public/locales/uk/views/faceLibrary.json
@@ -1,4 +1,5 @@
{
"selectItem": "Вибрати {{item}}",
- "documentTitle": "Бібліотека облич - Frigate"
+ "documentTitle": "Бібліотека облич - Frigate",
+ "readTheDocs": "Прочитати документацію"
}
diff --git a/web/public/locales/uk/views/live.json b/web/public/locales/uk/views/live.json
index 0967ef424..e56c821ed 100644
--- a/web/public/locales/uk/views/live.json
+++ b/web/public/locales/uk/views/live.json
@@ -1 +1,156 @@
-{}
+{
+ "manualRecording": {
+ "started": "Почав ручний запис на вимогу.",
+ "showStats": {
+ "desc": "Позначте цей пункт, щоб показувати статистику потоку як накладання на канал камери.",
+ "label": "Показати статистику"
+ },
+ "failedToEnd": "Не вдалося завершити запис вручну на вимогу.",
+ "playInBackground": {
+ "label": "Грати у фоновому режимі",
+ "desc": "Увімкніть цей параметр, щоб продовжувати потокове передавання, коли програвач приховано."
+ },
+ "tips": "Запустіть ручну подію на основі параметрів збереження запису цієї камери.",
+ "title": "Запис на вимогу",
+ "debugView": "Режим зневаджування",
+ "start": "Почати запис за запитом",
+ "failedToStart": "Не вдалося запустити ручний запис на вимогу.",
+ "end": "Завершення запису на вимогу",
+ "ended": "Запис на вимогу припинився."
+ },
+ "snapshots": {
+ "enable": "Увімкнути знімки",
+ "disable": "Вимкнути знімки"
+ },
+ "stream": {
+ "twoWayTalk": {
+ "tips": "Ваш пристрій повинен підтримувати функцію, а WebRTC повинен бути налаштований для двосторонньої розмови.",
+ "tips.documentation": "Прочитати документацію ",
+ "available": "Двостороння розмова доступна для цього потоку",
+ "unavailable": "Двостороння розмова недоступна для цього потоку"
+ },
+ "playInBackground": {
+ "tips": "Увімкніть цей параметр, щоб продовжувати потокове передавання, коли програвач приховано.",
+ "label": "Грати у фоновому режимі"
+ },
+ "title": "Потiк",
+ "audio": {
+ "tips": {
+ "documentation": "Прочитати документацію ",
+ "title": "Звук повинен бути виведений з камери і налаштований в go2rtc для цього потоку."
+ },
+ "available": "Звук доступний для цього потоку",
+ "unavailable": "Аудіо недоступне для цього потоку"
+ },
+ "lowBandwidth": {
+ "resetStream": "Скинути потік",
+ "tips": "Режим перегляду в реальному часі перемикається в економічний режим через помилки буферизації або потоку."
+ }
+ },
+ "muteCameras": {
+ "disable": "Увімкнути звук на всі камери",
+ "enable": "Вимкнути всі камери"
+ },
+ "ptz": {
+ "move": {
+ "clickMove": {
+ "label": "Клацніть у кадрі, щоб відцентрувати камеру",
+ "enable": "Увімкнути клацання для переміщення",
+ "disable": "Вимкнути клацання для переміщення"
+ },
+ "up": {
+ "label": "Перемістити PTZ камеру вгору"
+ },
+ "left": {
+ "label": "Переміщення камери PTZ вліво"
+ },
+ "down": {
+ "label": "Переміщення PTZ камери вниз"
+ },
+ "right": {
+ "label": "Переміщення PTZ камери вправо"
+ }
+ },
+ "zoom": {
+ "in": {
+ "label": "Наближати PTZ камеру"
+ },
+ "out": {
+ "label": "Зменшити PTZ камеру"
+ }
+ },
+ "presets": "Попередни установки PTZ камери",
+ "frame": {
+ "center": {
+ "label": "Клацніть у кадрі, щоб відцентрувати камеру PTZ"
+ }
+ }
+ },
+ "editLayout": {
+ "exitEdit": "Вийти з редагування",
+ "label": "Редагувати макет",
+ "group": {
+ "label": "Редагувати групу камер"
+ }
+ },
+ "documentTitle": "Пряма трансляція - Frigate",
+ "documentTitle.withCamera": "{{camera}} - Пряма трансляція - Frigate",
+ "lowBandwidthMode": "Економічний режим",
+ "twoWayTalk": {
+ "enable": "Увімкнути двосторонню розмову",
+ "disable": "Вимкнути двосторонню розмову"
+ },
+ "cameraAudio": {
+ "enable": "Увімкнути звук камери",
+ "disable": "Вимкнути звук камери"
+ },
+ "camera": {
+ "enable": "Увімкнути камеру",
+ "disable": "Вимкнути камеру"
+ },
+ "detect": {
+ "enable": "Увімкнути виявлення",
+ "disable": "Вимкнути виявлення"
+ },
+ "recording": {
+ "enable": "Увімкнути запис",
+ "disable": "Вимкнути запис"
+ },
+ "audioDetect": {
+ "enable": "Увімкнути виявлення звуку",
+ "disable": "Вимкнути виявлення звуку"
+ },
+ "autotracking": {
+ "disable": "Вимкнути автотрекінг",
+ "enable": "Увімкнути автотрекінг"
+ },
+ "streamStats": {
+ "enable": "Показати статистику потоку",
+ "disable": "Сховати статистику потоку"
+ },
+ "streamingSettings": "Параметри потокового передавання",
+ "notifications": "Повідомлення",
+ "audio": "Аудіо",
+ "suspend": {
+ "forTime": "Призупинити до: "
+ },
+ "cameraSettings": {
+ "title": "{{camera}} Налаштування",
+ "cameraEnabled": "Камера включена",
+ "objectDetection": "Виявлення об'єктів",
+ "recording": "Записування",
+ "snapshots": "Знімки",
+ "audioDetection": "Виявлення звуку",
+ "autotracking": "Автотрекiнг"
+ },
+ "history": {
+ "label": "Показати історичні кадри"
+ },
+ "effectiveRetainMode": {
+ "modes": {
+ "all": "Всi",
+ "motion": "Рух",
+ "active_objects": "Активні об'єкти"
+ }
+ }
+}
diff --git a/web/public/locales/uk/views/settings.json b/web/public/locales/uk/views/settings.json
index 0967ef424..1fa74923f 100644
--- a/web/public/locales/uk/views/settings.json
+++ b/web/public/locales/uk/views/settings.json
@@ -1 +1,59 @@
-{}
+{
+ "notification": {
+ "notificationSettings": {
+ "documentation": "Прочитати документацію"
+ },
+ "notificationUnavailable": {
+ "desc": "Веб-повідомлення вимагають безпечного контексту (https://…
). Це обмеження браузера. Безпечний доступ до фрегатів для використання сповіщень.",
+ "documentation": "Прочитати документацію"
+ }
+ },
+ "camera": {
+ "streams": {
+ "title": "Потоки"
+ },
+ "reviewClassification": {
+ "readTheDocumentation": "Прочитати документацію"
+ }
+ },
+ "masksAndZones": {
+ "motionMasks": {
+ "polygonAreaTooLarge": {
+ "documentation": "Прочитати документацію"
+ },
+ "context": {
+ "documentation": "Прочитати документацію",
+ "title": "Маски руху використовуються для запобігання виявлення небажаних типів руху (наприклад: гілки дерева, часові мітки камери). Слід використовувати маски рухудуже економно, надмірне маскування ускладнить відстеження об'єктів."
+ }
+ },
+ "zones": {
+ "label": "Зони",
+ "name": {
+ "inputPlaceHolder": "Введіть назву…"
+ }
+ }
+ },
+ "debug": {
+ "zones": {
+ "title": "Зони"
+ },
+ "objectShapeFilterDrawing": {
+ "document": "Прочитати документацію "
+ }
+ },
+ "classification": {
+ "licensePlateRecognition": {
+ "readTheDocumentation": "Прочитати документацію",
+ "title": "Розпізнавання номерних знаків"
+ },
+ "faceRecognition": {
+ "readTheDocumentation": "Прочитати документацію"
+ }
+ },
+ "frigatePlus": {
+ "modelInfo": {
+ "loading": "Завантаження інформації про модель…",
+ "loadingAvailableModels": "Завантаження доступних моделей…"
+ }
+ }
+}
diff --git a/web/public/locales/uk/views/system.json b/web/public/locales/uk/views/system.json
index 0967ef424..bd1e4d366 100644
--- a/web/public/locales/uk/views/system.json
+++ b/web/public/locales/uk/views/system.json
@@ -1 +1,30 @@
-{}
+{
+ "cameras": {
+ "label": {
+ "ffmpeg": "FFmpeg",
+ "cameraSkippedDetectionsPerSecond": "{{camName}} пропущених виявлень на секунду",
+ "cameraDetect": "{{camName}} виявлення",
+ "cameraFfmpeg": "{{camName}} FFmpeg",
+ "overallDetectionsPerSecond": "загальна кiлькiсть виявлень за секунду",
+ "cameraDetectionsPerSecond": "{{camName}} виявлень на секунду",
+ "overallFramesPerSecond": "загальна кiлкiсть кадрiв на секунду",
+ "overallSkippedDetectionsPerSecond": "загальна кiлкiсть пропущених виявлень за секунду",
+ "cameraCapture": "{{camName}} захоплення",
+ "cameraFramesPerSecond": "{{camName}} кадрiв на секунду",
+ "skipped": "пропущено"
+ },
+ "toast": {
+ "success": {
+ "copyToClipboard": "Тестові дані копіюються в буфер обміну."
+ }
+ }
+ },
+ "enrichments": {
+ "embeddings": {
+ "plate_recognition": "Розпiзнавання номерiв"
+ }
+ },
+ "general": {
+ "title": "Загальний"
+ }
+}