diff --git a/web/public/locales/bg/components/auth.json b/web/public/locales/bg/components/auth.json
index 782571ec3..56a13f7f0 100644
--- a/web/public/locales/bg/components/auth.json
+++ b/web/public/locales/bg/components/auth.json
@@ -1,5 +1,6 @@
{
"form": {
- "user": "Потребителско име"
+ "user": "Потребителско име",
+ "password": "Парола"
}
}
diff --git a/web/public/locales/bg/components/dialog.json b/web/public/locales/bg/components/dialog.json
index 9a78d85b3..d704890d6 100644
--- a/web/public/locales/bg/components/dialog.json
+++ b/web/public/locales/bg/components/dialog.json
@@ -10,6 +10,7 @@
"select": "Избери"
},
"restart": {
- "title": "Сигурен ли сте, че искате да рестартирате Frigate?"
+ "title": "Сигурен ли сте, че искате да рестартирате Frigate?",
+ "button": "Рестартирай"
}
}
diff --git a/web/public/locales/bg/components/icons.json b/web/public/locales/bg/components/icons.json
index e9c5e7a5f..a978fa345 100644
--- a/web/public/locales/bg/components/icons.json
+++ b/web/public/locales/bg/components/icons.json
@@ -1,5 +1,8 @@
{
"iconPicker": {
- "selectIcon": "Изберете иконка"
+ "selectIcon": "Изберете иконка",
+ "search": {
+ "placeholder": "Потърси за икона…"
+ }
}
}
diff --git a/web/public/locales/bg/components/input.json b/web/public/locales/bg/components/input.json
index ab7610dd7..9bd41d676 100644
--- a/web/public/locales/bg/components/input.json
+++ b/web/public/locales/bg/components/input.json
@@ -1,7 +1,10 @@
{
"button": {
"downloadVideo": {
- "label": "Свали видео"
+ "label": "Свали видео",
+ "toast": {
+ "success": "Вашето видео за преглеждане почна да се изтегля."
+ }
}
}
}
diff --git a/web/public/locales/bg/views/classificationModel.json b/web/public/locales/bg/views/classificationModel.json
index 0967ef424..685eefe75 100644
--- a/web/public/locales/bg/views/classificationModel.json
+++ b/web/public/locales/bg/views/classificationModel.json
@@ -1 +1,3 @@
-{}
+{
+ "documentTitle": "Модели за класификация"
+}
diff --git a/web/public/locales/bg/views/configEditor.json b/web/public/locales/bg/views/configEditor.json
index 0967ef424..b2507c3f2 100644
--- a/web/public/locales/bg/views/configEditor.json
+++ b/web/public/locales/bg/views/configEditor.json
@@ -1 +1,4 @@
-{}
+{
+ "documentTitle": "Настройки на конфигурацията - Фригейт",
+ "configEditor": "Настройки на конфигурацията"
+}
diff --git a/web/public/locales/bg/views/events.json b/web/public/locales/bg/views/events.json
index c355c8bec..3b8260068 100644
--- a/web/public/locales/bg/views/events.json
+++ b/web/public/locales/bg/views/events.json
@@ -9,5 +9,7 @@
"aria": "Избери събития",
"noFoundForTimePeriod": "Няма намерени събития за този времеви период."
},
- "allCameras": "Всички камери"
+ "allCameras": "Всички камери",
+ "alerts": "Известия",
+ "detections": "Засичания"
}
diff --git a/web/public/locales/bg/views/explore.json b/web/public/locales/bg/views/explore.json
index ab04d4746..f8964930d 100644
--- a/web/public/locales/bg/views/explore.json
+++ b/web/public/locales/bg/views/explore.json
@@ -8,5 +8,7 @@
}
},
"trackedObjectsCount_one": "{{count}} проследен обект ",
- "trackedObjectsCount_other": "{{count}} проследени обекта "
+ "trackedObjectsCount_other": "{{count}} проследени обекта ",
+ "documentTitle": "Разгледай - Фригейт",
+ "generativeAI": "Генериращ Изкъствен Интелект"
}
diff --git a/web/public/locales/bg/views/exports.json b/web/public/locales/bg/views/exports.json
index ff39681e9..ae366d5d2 100644
--- a/web/public/locales/bg/views/exports.json
+++ b/web/public/locales/bg/views/exports.json
@@ -1,3 +1,4 @@
{
- "documentTitle": "Експорт - Frigate"
+ "documentTitle": "Експорт - Frigate",
+ "search": "Търси"
}
diff --git a/web/public/locales/bg/views/faceLibrary.json b/web/public/locales/bg/views/faceLibrary.json
index a461ee3df..4c9b15b16 100644
--- a/web/public/locales/bg/views/faceLibrary.json
+++ b/web/public/locales/bg/views/faceLibrary.json
@@ -10,5 +10,9 @@
"deletedName_one": "{{count}} лице бе изтрито успешно.",
"deletedName_other": "{{count}} лица бяха изтрити успешно."
}
+ },
+ "description": {
+ "addFace": "Добавете нова колекция във библиотеката за лица при качването на първата ви снимка.",
+ "placeholder": "Напишете име за тази колекция"
}
}
diff --git a/web/public/locales/bg/views/live.json b/web/public/locales/bg/views/live.json
index 6587e006a..01b3a5c34 100644
--- a/web/public/locales/bg/views/live.json
+++ b/web/public/locales/bg/views/live.json
@@ -64,5 +64,6 @@
"cameraSettings": {
"cameraEnabled": "Камерата е включена"
},
- "documentTitle": "Наживо - Frigate"
+ "documentTitle": "Наживо - Frigate",
+ "documentTitle.withCamera": "{{camera}} - На живо - Фригейт"
}
diff --git a/web/public/locales/bg/views/search.json b/web/public/locales/bg/views/search.json
index 8f710c14b..e92f48860 100644
--- a/web/public/locales/bg/views/search.json
+++ b/web/public/locales/bg/views/search.json
@@ -1,5 +1,7 @@
{
"button": {
"save": "Запазване на търсенето"
- }
+ },
+ "search": "Търси",
+ "savedSearches": "Запазени търсения"
}
diff --git a/web/public/locales/bg/views/settings.json b/web/public/locales/bg/views/settings.json
index 830e0ffe8..08395e4db 100644
--- a/web/public/locales/bg/views/settings.json
+++ b/web/public/locales/bg/views/settings.json
@@ -12,5 +12,9 @@
"point_one": "{{count}} точка",
"point_other": "{{count}} точки"
}
+ },
+ "documentTitle": {
+ "default": "Настройки - Фригейт",
+ "authentication": "Настройки за сигурността - Фругейт"
}
}
diff --git a/web/public/locales/bg/views/system.json b/web/public/locales/bg/views/system.json
index 39c14cb20..ec5f0ec6c 100644
--- a/web/public/locales/bg/views/system.json
+++ b/web/public/locales/bg/views/system.json
@@ -1,5 +1,9 @@
{
"stats": {
"healthy": "Системата е изправна"
+ },
+ "documentTitle": {
+ "cameras": "Статистики за Камери - Фригейт",
+ "storage": "Статистика за паметта - Фригейт"
}
}
diff --git a/web/public/locales/ca/components/dialog.json b/web/public/locales/ca/components/dialog.json
index 0fa89afbe..79e4bd864 100644
--- a/web/public/locales/ca/components/dialog.json
+++ b/web/public/locales/ca/components/dialog.json
@@ -58,7 +58,8 @@
"endTimeMustAfterStartTime": "L'hora de finalització ha de ser posterior a l'hora d'inici",
"noVaildTimeSelected": "No s'ha seleccionat un rang de temps vàlid",
"failed": "No s'ha pogut inciar l'exportació: {{error}}"
- }
+ },
+ "view": "Vista"
},
"fromTimeline": {
"saveExport": "Guardar exportació",
diff --git a/web/public/locales/ca/views/classificationModel.json b/web/public/locales/ca/views/classificationModel.json
index 09702648f..568a38dbb 100644
--- a/web/public/locales/ca/views/classificationModel.json
+++ b/web/public/locales/ca/views/classificationModel.json
@@ -1,5 +1,5 @@
{
- "documentTitle": "Models de classificació",
+ "documentTitle": "Models de classificació - Frigate",
"button": {
"deleteClassificationAttempts": "Suprimeix les imatges de classificació",
"renameCategory": "Reanomena la classe",
@@ -152,7 +152,12 @@
"generateSuccess": "Imatges de mostra generades amb èxit",
"allImagesRequired_one": "Classifiqueu totes les imatges. Queda {{count}} imatge.",
"allImagesRequired_many": "Classifiqueu totes les imatges. Queden {{count}} imatges.",
- "allImagesRequired_other": "Classifiqueu totes les imatges. Queden {{count}} imatges."
+ "allImagesRequired_other": "Classifiqueu totes les imatges. Queden {{count}} imatges.",
+ "modelCreated": "El model s'ha creat correctament. Utilitzeu la vista Classificacions recents per a afegir imatges per als estats que falten i, a continuació, entrenar el model.",
+ "missingStatesWarning": {
+ "title": "Falten exemples d'estat",
+ "description": "Es recomana seleccionar exemples per a tots els estats per obtenir els millors resultats. Podeu continuar sense seleccionar tots els estats, però el model no serà entrenat fins que tots els estats tinguin imatges. Després de continuar, utilitzeu la vista Classificacions recents per classificar imatges per als estats que falten, i després entrenar el model."
+ }
}
},
"deleteModel": {
@@ -180,5 +185,6 @@
"noNewImages": "Sense noves imatges per entrenar. Classifica més imatges primer.",
"modelNotReady": "El model no está preparat per entrenar",
"noChanges": "No hi ha canvis al conjunt de dades des de l'última formació."
- }
+ },
+ "none": "Cap"
}
diff --git a/web/public/locales/ca/views/events.json b/web/public/locales/ca/views/events.json
index f96b38bb9..0b0fd3020 100644
--- a/web/public/locales/ca/views/events.json
+++ b/web/public/locales/ca/views/events.json
@@ -55,5 +55,8 @@
"trackedPoint": "Punt de seguiment"
},
"zoomIn": "Amplia",
- "zoomOut": "Redueix"
+ "zoomOut": "Redueix",
+ "normalActivity": "Normal",
+ "needsReview": "Necessita revisió",
+ "securityConcern": "Preocupació per la seguretat"
}
diff --git a/web/public/locales/ca/views/explore.json b/web/public/locales/ca/views/explore.json
index c4af415d0..dec29735a 100644
--- a/web/public/locales/ca/views/explore.json
+++ b/web/public/locales/ca/views/explore.json
@@ -220,6 +220,10 @@
"viewTrackingDetails": {
"label": "Veure detalls de seguiment",
"aria": "Mostra els detalls de seguiment"
+ },
+ "downloadCleanSnapshot": {
+ "label": "Descarrega la instantània neta",
+ "aria": "Descarrega la instantània neta"
}
},
"noTrackedObjects": "No s'han trobat objectes rastrejats",
@@ -263,7 +267,8 @@
"header": {
"zones": "Zones",
"ratio": "Ràtio",
- "area": "Àrea"
+ "area": "Àrea",
+ "score": "Puntuació"
}
},
"annotationSettings": {
@@ -278,7 +283,7 @@
"millisecondsToOffset": "Millisegons per l'òfset de detecció d'anotacions per. Per defecte: 0",
"tips": "Reduïu el valor si la reproducció del vídeo es troba per davant dels quadres i els punts de ruta, i augmenteu-lo si es troba per darrere. Aquest valor pot ser negatiu.",
"toast": {
- "success": "L'Òfset d'anotació per a {{camera}} s'ha desat al fitxer de configuració. Reinicieu Frigate per aplicar els canvis."
+ "success": "El desplaçament de l'anotació per {{camera}} s'ha desat al fitxer de configuració."
}
}
},
diff --git a/web/public/locales/ca/views/settings.json b/web/public/locales/ca/views/settings.json
index 1c48df354..7c571beff 100644
--- a/web/public/locales/ca/views/settings.json
+++ b/web/public/locales/ca/views/settings.json
@@ -172,7 +172,7 @@
"name": {
"inputPlaceHolder": "Introduïu un nom…",
"title": "Nom",
- "tips": "El nom ha de tenir almenys 2 caràcters, ha de tenir almenys una lletra, i no ha de ser el nom d'una càmera o una altra zona."
+ "tips": "El nom ha de tenir almenys 2 caràcters, ha de tenir almenys una lletra, i no ha de ser el nom d'una càmera o una altra zona en aquesta càmera."
},
"label": "Zones",
"desc": {
@@ -199,7 +199,7 @@
},
"clickDrawPolygon": "Fes click per a dibuixar un polígon a la imatge.",
"toast": {
- "success": "La zona {{zoneName}} ha estat desada. Reinicia Frigate per a aplicar els canvis."
+ "success": "S'ha desat la zona ({{zoneName}})."
}
},
"filter": {
@@ -229,8 +229,8 @@
"clickDrawPolygon": "Fes click per a dibuixar un polígon a la imatge.",
"toast": {
"success": {
- "title": "{{polygonName}} s'ha desat. Reinicia Frigate per a aplicar els canvis.",
- "noName": "La màscara de moviment ha estat desada. Reinicia Frigate per aplicar els canvis."
+ "title": "{{polygonName}} s'ha desat.",
+ "noName": "La màscara de moviment ha estat desada."
}
}
},
@@ -254,8 +254,8 @@
"clickDrawPolygon": "Fes click per a dibuixar un polígon a la imatge.",
"toast": {
"success": {
- "title": "{{polygonName}} s'ha desat. Reinicia Frigate per a aplicar els canvis.",
- "noName": "La màscara d'objectes ha estat desada. Reincia Frigate per a aplicar els canvis."
+ "title": "{{polygonName}} s'ha desat.",
+ "noName": "La màscara d'objectes ha estat desada."
}
},
"context": "Les màscares de filtratge d’objectes s’utilitzen per descartar falsos positius d’un tipus d’objecte concret segons la seva ubicació."
diff --git a/web/public/locales/cs/views/classificationModel.json b/web/public/locales/cs/views/classificationModel.json
index 63613bc74..25d14c723 100644
--- a/web/public/locales/cs/views/classificationModel.json
+++ b/web/public/locales/cs/views/classificationModel.json
@@ -25,7 +25,10 @@
"deletedModel_one": "Úspešne odstranený {{count}} model",
"deletedModel_few": "Úspešne odstranené {{count}} modely",
"deletedModel_other": "Úspěšne ostranených {{count}} modelov",
- "deletedCategory": "Zmazať triedu"
+ "deletedCategory": "Zmazať triedu",
+ "categorizedImage": "Obrázek úspěšně klasifikován",
+ "trainedModel": "Úspěšně vytrénovaný model.",
+ "trainingModel": "Trénování modelu bylo úspěšně zahájeno."
}
}
}
diff --git a/web/public/locales/cs/views/events.json b/web/public/locales/cs/views/events.json
index db01c10b7..6757c2191 100644
--- a/web/public/locales/cs/views/events.json
+++ b/web/public/locales/cs/views/events.json
@@ -41,6 +41,8 @@
"zoomOut": "Oddálit",
"detail": {
"label": "Detail",
- "noDataFound": "Žádná detailní data k prohlédnutí"
+ "noDataFound": "Žádná detailní data k prohlédnutí",
+ "aria": "Přepnout detailní zobrazení",
+ "trackedObject_other": "{{count}} objektů"
}
}
diff --git a/web/public/locales/cs/views/faceLibrary.json b/web/public/locales/cs/views/faceLibrary.json
index 58751f810..73b4c562a 100644
--- a/web/public/locales/cs/views/faceLibrary.json
+++ b/web/public/locales/cs/views/faceLibrary.json
@@ -36,7 +36,7 @@
"desc": "Skutečně chcete vymazat kolekci {{name}}? Toto trvale vymaže všechny přiřazené obličeje."
},
"train": {
- "title": "Trénovat",
+ "title": "Nedávná rozpoznání",
"empty": "Nejsou zde žádné předchozí pokusy o rozpoznání obličeje",
"aria": "Vybrat trénink"
},
diff --git a/web/public/locales/cs/views/settings.json b/web/public/locales/cs/views/settings.json
index b5f11c8b4..1a7365028 100644
--- a/web/public/locales/cs/views/settings.json
+++ b/web/public/locales/cs/views/settings.json
@@ -8,7 +8,7 @@
"masksAndZones": "Editor masky a zón - Frigate",
"motionTuner": "Ladění detekce pohybu - Frigate",
"object": "Ladění - Frigate",
- "general": "Obecné nastavení - Frigate",
+ "general": "Nastavení rozhraní- Frigate",
"frigatePlus": "Frigate+ nastavení - Frigate",
"enrichments": "Nastavení obohacení - Frigate",
"cameraManagement": "Správa kamer - Frigate",
@@ -307,7 +307,9 @@
"frigateplus": "Frigate+",
"enrichments": "Obohacení",
"triggers": "Spouštěče",
- "cameraManagement": "Správa"
+ "cameraManagement": "Správa",
+ "cameraReview": "Kontrola",
+ "roles": "Role"
},
"dialog": {
"unsavedChanges": {
diff --git a/web/public/locales/da/common.json b/web/public/locales/da/common.json
index 7625631c2..dbf6ff2d3 100644
--- a/web/public/locales/da/common.json
+++ b/web/public/locales/da/common.json
@@ -1,6 +1,6 @@
{
"time": {
- "untilForTime": "Indtil{{time}}",
+ "untilForTime": "Indtil {{time}}",
"untilForRestart": "Indtil Frigate genstarter.",
"untilRestart": "Indtil genstart",
"ago": "{{timeAgo}} siden",
diff --git a/web/public/locales/da/components/filter.json b/web/public/locales/da/components/filter.json
index 2891247e8..3d16c1eb1 100644
--- a/web/public/locales/da/components/filter.json
+++ b/web/public/locales/da/components/filter.json
@@ -15,5 +15,36 @@
},
"count_one": "{{count}} Label",
"label": "Etiketter"
+ },
+ "zones": {
+ "label": "Zoner",
+ "all": {
+ "title": "Alle zoner",
+ "short": "Zoner"
+ }
+ },
+ "more": "Flere filtre",
+ "sort": {
+ "label": "Sortér",
+ "dateAsc": "Dato (Stigende)",
+ "dateDesc": "Dato (Faldende)",
+ "speedAsc": "Anslået hastighed (Stigende)",
+ "speedDesc": "Anslået hastighed (Faldende)",
+ "relevance": "Relevans"
+ },
+ "dates": {
+ "selectPreset": "Vælg en forudindstilling…",
+ "all": {
+ "title": "Alle datoer",
+ "short": "Datoer"
+ }
+ },
+ "reset": {
+ "label": "Nulstille filtre til standardværdier"
+ },
+ "timeRange": "Tidsinterval",
+ "estimatedSpeed": "Anslået hastighed ({{unit}})",
+ "features": {
+ "hasVideoClip": "Har et videoklip"
}
}
diff --git a/web/public/locales/de/audio.json b/web/public/locales/de/audio.json
index 28d3881c2..4b1877501 100644
--- a/web/public/locales/de/audio.json
+++ b/web/public/locales/de/audio.json
@@ -296,7 +296,7 @@
"doorbell": "Türklingel",
"ding-dong": "BimBam",
"sliding_door": "Schiebetür",
- "slam": "Knall",
+ "slam": "zuknallen",
"knock": "Klopfen",
"tap": "Schlag",
"squeak": "Quietschen",
@@ -355,7 +355,7 @@
"shatter": "Zerspringen",
"silence": "Stille",
"environmental_noise": "Umgebungsgeräusch",
- "static": "Rauschen",
+ "static": "Statisch",
"pink_noise": "Rosa Rauschen",
"television": "Fernsehgerät",
"radio": "Radio",
@@ -441,5 +441,63 @@
"arrow": "Pfeil",
"electronic_tuner": "Elektronischer Tuner",
"effects_unit": "Effekteinheit",
- "chorus_effect": "Chorus-Effekt"
+ "chorus_effect": "Chorus-Effekt",
+ "sodeling": "Verfilzen",
+ "chird": "Akkord",
+ "change_ringing": "Wechsle RingRing",
+ "shofar": "Schofar",
+ "gush": "sprudeln",
+ "sonar": "Sonar",
+ "whoosh": "Rauschen",
+ "thump": "Ruck",
+ "basketball_bounce": "Basketball Abbraller",
+ "bang": "Knall",
+ "slap": "Ohrfeige",
+ "whack": "verhauen",
+ "smash": "zerschlagen",
+ "breaking": "zerbrechen",
+ "bouncing": "Abbraller",
+ "whip": "Peitsche",
+ "flap": "Lasche",
+ "scratch": "Kratzer",
+ "scrape": "Abfall",
+ "rub": "scheuern",
+ "roll": "rollen",
+ "crushing": "Stauchen",
+ "crumpling": "zerknüllen",
+ "tearing": "Reißen",
+ "beep": "Piep",
+ "ping": "Ping",
+ "ding": "klingeln",
+ "thunk": "dumpfes Geräusch",
+ "clang": "Geklirr",
+ "squeal": "Ausruf",
+ "creak": "Knarren",
+ "rustle": "Geknister",
+ "whir": "schwirren",
+ "clatter": "Geratter",
+ "sizzle": "brutzeln",
+ "clicking": "Klicken",
+ "clickety_clack": "Klappergeräuschen",
+ "rumble": "Grollen",
+ "plop": "plumpsen",
+ "hum": "Brummen",
+ "zing": "Schwung",
+ "boing": "ferderndes Geräusch",
+ "crunch": "knirschendes",
+ "sine_wave": "Sinus Kurve",
+ "harmonic": "harmonisch",
+ "chirp_tone": "Frequenzwobbelung",
+ "pulse": "Takt",
+ "inside": "drinnen",
+ "outside": "draußen",
+ "reverberation": "Widerhall",
+ "echo": "Echo",
+ "noise": "Lärm",
+ "mains_hum": "Netzbrummen",
+ "distortion": "Verzerrung",
+ "sidetone": "Nebengeräusch",
+ "cacophony": "Dissonanz",
+ "throbbing": "Pochen",
+ "vibration": "Vibration"
}
diff --git a/web/public/locales/de/common.json b/web/public/locales/de/common.json
index 9764a8809..16af90fdf 100644
--- a/web/public/locales/de/common.json
+++ b/web/public/locales/de/common.json
@@ -81,7 +81,10 @@
"formattedTimestampMonthDayYear": {
"12hour": "d. MMM yyyy",
"24hour": "d. MMM yyyy"
- }
+ },
+ "inProgress": "In Bearbeitung",
+ "invalidStartTime": "Ungültige Startzeit",
+ "invalidEndTime": "Ungültige Endzeit"
},
"button": {
"save": "Speichern",
@@ -118,7 +121,8 @@
"pictureInPicture": "Bild in Bild",
"on": "AN",
"suspended": "Pausierte",
- "unsuspended": "fortsetzen"
+ "unsuspended": "fortsetzen",
+ "continue": "Weiter"
},
"label": {
"back": "Zurück",
@@ -227,7 +231,8 @@
"logout": "Abmelden"
},
"uiPlayground": "Testgebiet für Benutzeroberfläche",
- "export": "Exportieren"
+ "export": "Exportieren",
+ "classification": "Klassifizierung"
},
"unit": {
"speed": {
diff --git a/web/public/locales/de/components/auth.json b/web/public/locales/de/components/auth.json
index 6b8a5164a..2c4886641 100644
--- a/web/public/locales/de/components/auth.json
+++ b/web/public/locales/de/components/auth.json
@@ -11,6 +11,6 @@
},
"user": "Benutzername",
"password": "Kennwort",
- "firstTimeLogin": "Versuchen Sie sich zum ersten Mal anzumelden? Die Anmeldedaten sind in den Frigate-Logs aufgeführt."
+ "firstTimeLogin": "Ist dies der erste Loginversuch? Die Zugangsdaten werden in den Frigate Logs angezeigt."
}
}
diff --git a/web/public/locales/de/components/dialog.json b/web/public/locales/de/components/dialog.json
index bff70e206..464db5adf 100644
--- a/web/public/locales/de/components/dialog.json
+++ b/web/public/locales/de/components/dialog.json
@@ -66,7 +66,8 @@
"failed": "Fehler beim Starten des Exports: {{error}}",
"noVaildTimeSelected": "Kein gültiger Zeitraum ausgewählt"
},
- "success": "Export erfolgreich gestartet. Die Datei befindet sich auf der Exportseite."
+ "success": "Export erfolgreich gestartet. Die Datei befindet sich auf der Exportseite.",
+ "view": "Ansicht"
},
"fromTimeline": {
"saveExport": "Export speichern",
diff --git a/web/public/locales/de/views/classificationModel.json b/web/public/locales/de/views/classificationModel.json
index 8accf2756..9cb9baceb 100644
--- a/web/public/locales/de/views/classificationModel.json
+++ b/web/public/locales/de/views/classificationModel.json
@@ -1,10 +1,10 @@
{
- "documentTitle": "Klassifizierungsmodelle",
+ "documentTitle": "Klassifizierungsmodelle - Fregatte",
"details": {
- "scoreInfo": "Die Punktzahl gibt die durchschnittliche Klassifizierungssicherheit aller Erkennungen dieses Objekts wieder."
+ "scoreInfo": "Die Punktzahl gibt die durchschnittliche Konfidenz aller Erkennungen dieses Objekts wieder."
},
"button": {
- "deleteClassificationAttempts": "Lösche Klassifizierungs-Bilder",
+ "deleteClassificationAttempts": "Lösche klassifizierte Bilder",
"renameCategory": "Klasse umbenennen",
"deleteCategory": "Klasse löschen",
"deleteImages": "Bilder löschen",
@@ -17,15 +17,15 @@
"trainingInProgress": "Modell wird gerade trainiert",
"noNewImages": "Keine weiteren Bilder zum trainieren. Bitte klassifiziere weitere Bilder im Datensatz.",
"noChanges": "Keine Veränderungen des Datensatzes seit dem letzten Training.",
- "modelNotReady": "Modell ist nicht bereit trainiert zu werden."
+ "modelNotReady": "Modell ist nicht bereit zum Training"
},
"toast": {
"success": {
"deletedCategory": "Klasse gelöscht",
- "deletedImage": "Gelöschte Bilder",
- "deletedModel_one": "{{count}} Model erfolgreich gelöscht",
+ "deletedImage": "Bilder gelöscht",
+ "deletedModel_one": "{{count}} Modell erfolgreich gelöscht",
"deletedModel_other": "{{count}} Modelle erfolgreich gelöscht",
- "categorizedImage": "Bild erfolgreich klassifiziert",
+ "categorizedImage": "Erfolgreich klassifizierte Bilder",
"trainedModel": "Modell erfolgreich trainiert.",
"trainingModel": "Modelltraining erfolgreich gestartet.",
"updatedModel": "Modellkonfiguration erfolgreich aktualisiert",
@@ -33,8 +33,153 @@
},
"error": {
"deleteImageFailed": "Löschen fehlgeschlagen: {{errorMessage}}",
- "deleteCategoryFailed": "Klasse konnte nicht gelöscht werden: {{errorMessage}}",
- "deleteModelFailed": "Model konnte nicht gelöscht werden: {{errorMessage}}"
+ "deleteCategoryFailed": "Löschen der Klasse fehlgeschlagen: {{errorMessage}}",
+ "deleteModelFailed": "Model konnte nicht gelöscht werden: {{errorMessage}}",
+ "trainingFailedToStart": "Modelltraining konnte nicht gestartet werden: {{errorMessage}}",
+ "updateModelFailed": "Aktualisierung des Modells fehlgeschlagen: {{errorMessage}}",
+ "renameCategoryFailed": "Umbenennung der Klasse fehlgeschlagen: {{errorMessage}}",
+ "categorizeFailed": "Bildkategorisierung fehlgeschlagen: {{errorMessage}}",
+ "trainingFailed": "Modelltraining fehlgeschlagen. Details sind in den Frigate-Protokollen zu finden."
}
- }
+ },
+ "deleteCategory": {
+ "title": "Klasse löschen",
+ "desc": "Möchten Sie die Klasse {{name}} wirklich löschen? Dadurch werden alle zugehörigen Bilder dauerhaft gelöscht und das Modell muss neu trainiert werden.",
+ "minClassesTitle": "Klasse kann nicht gelöscht werden",
+ "minClassesDesc": "Ein Klassifizierungsmodell benötigt mindestens zwei Klassen. Fügen Sie eine weitere Klasse hinzu, bevor Sie diese löschen."
+ },
+ "deleteModel": {
+ "title": "Klassifizierungsmodell löschen",
+ "single": "Möchten Sie {{name}} wirklich löschen? Dadurch werden alle zugehörigen Daten, einschließlich Bilder und Trainingsdaten, dauerhaft gelöscht. Diese Aktion kann nicht rückgängig gemacht werden.",
+ "desc_one": "Möchtest du {{count}} Modell wirklich löschen? Dadurch werden alle zugehörigen Daten, einschließlich Bilder und Trainingsdaten, dauerhaft gelöscht. Diese Aktion kann nicht rückgängig gemacht werden.",
+ "desc_other": "Möchtest du {{count}} Modelle wirklich löschen? Dadurch werden alle zugehörigen Daten, einschließlich Bilder und Trainingsdaten, dauerhaft gelöscht. Diese Aktion kann nicht rückgängig gemacht werden."
+ },
+ "edit": {
+ "title": "Klassifikationsmodell bearbeiten",
+ "descriptionState": "Bearbeite die Klassen für dieses Zustandsklassifikationsmodell. Änderungen erfordern erneutes Trainieren des Modells.",
+ "descriptionObject": "Bearbeite den Objekttyp und Klassifizierungstyp für dieses Objektklassifikationsmodell.",
+ "stateClassesInfo": "Hinweis: Die Änderung der Statusklassen erfordert ein erneutes Trainieren des Modells mit den aktualisierten Klassen."
+ },
+ "deleteDatasetImages": {
+ "title": "Datensatz Bilder löschen",
+ "desc_one": "Bist du sicher, dass {{count}} Bild von {{dataset}} gelöscht werden sollen? Diese Aktion kann nicht rückgängig gemacht werden und erfordert ein erneutes Trainieren des Modells.",
+ "desc_other": "Bist du sicher, dass {{count}} Bilder von {{dataset}} gelöscht werden sollen? Diese Aktion kann nicht rückgängig gemacht werden und erfordert ein erneutes Trainieren des Modells."
+ },
+ "deleteTrainImages": {
+ "title": "Trainingsbilder löschen",
+ "desc_one": "Bist du sicher, dass du {{count}} Bild löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.",
+ "desc_other": "Bist du sicher, dass du {{count}} Bilder löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden."
+ },
+ "renameCategory": {
+ "title": "Klasse umbenennen",
+ "desc": "Neuen Namen für {{name}} eingeben. Das Modell muss neu trainiert werden, damit die Änderungen wirksam werden."
+ },
+ "description": {
+ "invalidName": "Ungültiger Name. Namen dürfen nur Buchstaben, Zahlen, Leerzeichen, Apostrophe, Unterstriche und Bindestriche enthalten."
+ },
+ "train": {
+ "title": "Neue Klassifizierungen",
+ "titleShort": "kürzlich",
+ "aria": "Neue Klassifizierungen auswählen"
+ },
+ "categories": "Klassen",
+ "createCategory": {
+ "new": "Neue Klasse erstellen"
+ },
+ "categorizeImageAs": "Bild klassifizieren als:",
+ "categorizeImage": "Bild klassifizieren",
+ "menu": {
+ "objects": "Objekte",
+ "states": "Zustände"
+ },
+ "noModels": {
+ "object": {
+ "title": "Keine Objektklassifikationsmodelle",
+ "description": "Erstelle ein benutzerdefiniertes Modell, um erkannte Objekte zu klassifizieren.",
+ "buttonText": "Objektmodell erstellen"
+ },
+ "state": {
+ "title": "Keine Statusklassifizierungsmodelle",
+ "description": "Erstellen Sie ein benutzerdefiniertes Modell, um Zustandsänderungen in bestimmten Kamerabereichen zu überwachen und zu klassifizieren.",
+ "buttonText": "Zustandsmodell erstellen"
+ }
+ },
+ "wizard": {
+ "title": "Neue Klassifizierung erstellen",
+ "steps": {
+ "nameAndDefine": "Benennen und definieren",
+ "stateArea": "Gebiet",
+ "chooseExamples": "Beispiel auswählen"
+ },
+ "step1": {
+ "description": "Zustandsmodelle überwachen feste Kamerabereiche auf Veränderungen (z. B. Tür offen/geschlossen). Objektmodelle fügen den erkannten Objekten Klassifizierungen hinzu (z. B. bekannte Tiere, Lieferanten usw.).",
+ "name": "Name",
+ "namePlaceholder": "Eingeben Modell Name...",
+ "type": "Typ",
+ "typeState": "Zustand",
+ "typeObject": "Objekt",
+ "objectLabel": "Objekt Bezeichnung",
+ "objectLabelPlaceholder": "Auswahl Objekt Typ...",
+ "classificationType": "Klassifizierungstyp",
+ "classificationTypeTip": "Etwas über Klassifizierungstyp lernen",
+ "classificationTypeDesc": "Unterbezeichnungen fügen dem Objektnamen zusätzlichen Text hinzu (z. B. „Person: UPS“). Attribute sind durchsuchbare Metadaten, die separat in den Objektmetadaten gespeichert sind.",
+ "classificationSubLabel": "Unterlabel",
+ "classificationAttribute": "Merkmal",
+ "classes": "Klasse",
+ "states": "Gebiet",
+ "classesTip": "Über Klassen lernen",
+ "classesStateDesc": "Definieren Sie die verschiedenen Zustände, in denen sich Ihr Kamerabereich befinden kann. Beispiel: „offen” und „geschlossen” für ein Garagentor.",
+ "classesObjectDesc": "Definieren Sie die verschiedenen Kategorien, in die erkannte Objekte klassifiziert werden sollen. Beispiel: „Lieferant“, „Bewohner“, „Fremder“ für die Klassifizierung von Personen.",
+ "classPlaceholder": "Eingabe Klassenbezeichnung...",
+ "errors": {
+ "nameRequired": "Modellname ist erforderlich",
+ "nameLength": "Der Modellname darf maximal 64 Zeichen lang sein",
+ "nameOnlyNumbers": "Der Modellname darf nicht nur aus Zahlen bestehen",
+ "classRequired": "Mindestens eine Klasse ist erforderlich",
+ "classesUnique": "Klassenname muss eindeutig sein",
+ "stateRequiresTwoClasses": "Gebietsmodelle erfordern mindestens zwei Klassen",
+ "objectLabelRequired": "Bitte wähle eine Objektbeschriftung",
+ "objectTypeRequired": "Bitte wählen Sie einen Klassifizierungstyp aus"
+ }
+ },
+ "step2": {
+ "description": "Wählen Sie Kameras aus und legen Sie für jede Kamera den zu überwachenden Bereich fest. Das Modell klassifiziert den Zustand dieser Bereiche.",
+ "cameras": "Kameras",
+ "selectCamera": "Kamera auswählen",
+ "noCameras": "Klick + zum hinzufügen der Kameras",
+ "selectCameraPrompt": "Wählen Sie eine Kamera aus der Liste aus, um ihren Überwachungsbereich festzulegen"
+ },
+ "step3": {
+ "selectImagesPrompt": "Wählen sie alle Bilder mit: {{className}}",
+ "selectImagesDescription": "Klicken Sie auf die Bilder, um sie auszuwählen. Klicken Sie auf „Weiter“, wenn Sie mit diesem Kurs fertig sind.",
+ "allImagesRequired_one": "Bitte klassifizieren Sie alle Bilder. {{count}} Bild verbleibend.",
+ "allImagesRequired_other": "Bitte klassifizieren Sie alle Bilder. {{count}} Bilder verbleiben.",
+ "generating": {
+ "title": "Beispielbilder generieren",
+ "description": "Frigate extrahiert repräsentative Bilder aus Ihren Aufnahmen. Dies kann einen Moment dauern..."
+ },
+ "training": {
+ "title": "Trainingsmodell",
+ "description": "Ihr Modell wird im Hintergrund trainiert. Schließen Sie diesen Dialog, und Ihr Modell wird ausgeführt, sobald das Training abgeschlossen ist."
+ },
+ "retryGenerate": "Generierung wiederholen",
+ "noImages": "Keine Bilder generiert",
+ "classifying": "Klassifizieren und Trainieren...",
+ "trainingStarted": "Training wurde erfolgreich gestartet",
+ "errors": {
+ "noCameras": "Keine Kameras konfiguriert",
+ "noObjectLabel": "Kein Objektlabel ausgewählt",
+ "generateFailed": "Beispiele konnten nicht generiert werden: {{error}}",
+ "generationFailed": "Generierung fehlgeschlagen. Bitte versuchen Sie es erneut.",
+ "classifyFailed": "Bilder konnten nicht klassifiziert werden: {{error}}"
+ },
+ "generateSuccess": "Erfolgreich generierte Beispielbilder",
+ "modelCreated": "Modell erfolgreich erstellt. Verwenden Sie die Ansicht „Aktuelle Klassifizierungen“, um Bilder für fehlende Zustände hinzuzufügen, und trainieren Sie dann das Modell.",
+ "missingStatesWarning": {
+ "title": "Beispiele für fehlende Zustände",
+ "description": "Es wird empfohlen für alle Zustände Beispiele auszuwählen. Das Modell wird erst trainiert, wenn für alle Zustände Bilder vorhanden sind. Fahren Sie fort und verwenden Sie die Ansicht „Aktuelle Klassifizierungen“, um Bilder für die fehlenden Zustände zu klassifizieren. Trainieren Sie anschließend das Modell."
+ }
+ }
+ },
+ "none": "Keiner"
}
diff --git a/web/public/locales/de/views/events.json b/web/public/locales/de/views/events.json
index 1f3e76061..4474e5c19 100644
--- a/web/public/locales/de/views/events.json
+++ b/web/public/locales/de/views/events.json
@@ -48,10 +48,15 @@
"noDataFound": "Keine Detaildaten zur Überprüfung",
"settings": "Detailansicht Einstellungen",
"alwaysExpandActive": {
- "desc": "Immer die Objektdetails des aktiven Überprüfungselements erweitern, sofern verfügbar."
+ "desc": "Immer die Objektdetails vom aktivem Überprüfungselement erweitern, sofern verfügbar.",
+ "title": "Immer aktiv erweitern"
}
},
"objectTrack": {
- "trackedPoint": "Verfolgter Punkt"
- }
+ "trackedPoint": "Verfolgter Punkt",
+ "clickToSeek": "Klicke, um zu dieser Zeit zu springen"
+ },
+ "normalActivity": "normal",
+ "needsReview": "benötigt Überprüfung",
+ "securityConcern": "Sicherheitsbedenken"
}
diff --git a/web/public/locales/de/views/explore.json b/web/public/locales/de/views/explore.json
index 6003568c5..1068bfd7f 100644
--- a/web/public/locales/de/views/explore.json
+++ b/web/public/locales/de/views/explore.json
@@ -18,7 +18,7 @@
"updatedSublabel": "Unterkategorie erfolgreich aktualisiert.",
"updatedLPR": "Nummernschild erfolgreich aktualisiert.",
"regenerate": "Eine neue Beschreibung wurde von {{provider}} angefordert. Je nach Geschwindigkeit des Anbieters kann es einige Zeit dauern, bis die neue Beschreibung generiert ist.",
- "audioTranscription": "Audio Transkription erfolgreich angefordert."
+ "audioTranscription": "Die Audio-Transkription wurde erfolgreich angefordert. Je nach Geschwindigkeit Ihres Frigate-Servers kann die Transkription einige Zeit in Anspruch nehmen."
},
"error": {
"regenerate": "Der Aufruf von {{provider}} für eine neue Beschreibung ist fehlgeschlagen: {{errorMessage}}",
@@ -159,7 +159,8 @@
"video": "Video",
"object_lifecycle": "Objekt-Lebenszyklus",
"snapshot": "Snapshot",
- "thumbnail": "Vorschaubild"
+ "thumbnail": "Vorschaubild",
+ "tracking_details": "Nachverfolgungs-Details"
},
"itemMenu": {
"downloadSnapshot": {
@@ -206,6 +207,10 @@
},
"hideObjectDetails": {
"label": "Objektpfad verbergen"
+ },
+ "downloadCleanSnapshot": {
+ "label": "Bereinigte Momentaufnahme herunterladen",
+ "aria": "Bereinigte Momentaufnahme herunterladen"
}
},
"dialog": {
@@ -249,13 +254,14 @@
"faceOrLicense_plate": "{{attribute}} erkannt für {{label}}",
"other": "{{label}} erkannt als {{attribute}}"
},
- "gone": "{{label}} verließ",
+ "gone": "{{label}} hat verlassen",
"heard": "{{label}} wurde gehört",
"external": "{{label}} erkannt",
"header": {
"zones": "Zonen",
"ratio": "Verhältnis",
- "area": "Bereich"
+ "area": "Bereich",
+ "score": "Bewertung"
}
},
"annotationSettings": {
@@ -270,7 +276,7 @@
"millisecondsToOffset": "Millisekunden, um Erkennungs-Anmerkungen zu verschieben. Standard: 0",
"tips": "Verringere den Wert, wenn die Videowiedergabe den Boxen und Wegpunkten voraus ist, und erhöhe den Wert, wenn die Videowiedergabe hinter ihnen zurückbleibt. Dieser Wert kann negativ sein.",
"toast": {
- "success": "Der Anmerkungs-Offset für {{camera}} wurde in der Konfigurationsdatei gespeichert. Starte Frigate neu, um Ihre Änderungen zu übernehmen."
+ "success": "Der Anmerkungs-Offset für {{camera}} wurde in der Konfigurationsdatei gespeichert."
}
}
},
@@ -278,6 +284,10 @@
"previous": "Vorherige Anzeige",
"next": "Nächste Anzeige"
},
- "title": "Verfolgungsdetails"
+ "title": "Verfolgungsdetails",
+ "adjustAnnotationSettings": "Anmerkungseinstellungen anpassen",
+ "autoTrackingTips": "Die Positionen der Begrenzungsrahmen sind bei Kameras mit automatischer Verfolgung ungenau.",
+ "count": "{{first}} von {{second}}",
+ "trackedPoint": "Verfolgter Punkt"
}
}
diff --git a/web/public/locales/de/views/faceLibrary.json b/web/public/locales/de/views/faceLibrary.json
index d28459ef2..5edd2b787 100644
--- a/web/public/locales/de/views/faceLibrary.json
+++ b/web/public/locales/de/views/faceLibrary.json
@@ -1,7 +1,7 @@
{
"description": {
"placeholder": "Gib einen Name für diese Kollektion ein",
- "addFace": "Füge der Gesichtsbibliothek eine neue Sammlung hinzu, indem ein erstes Bild hochgeladen wird.",
+ "addFace": "Füge der Gesichtsbibliothek eine neue Sammlung hinzu, indem ein Bild hinzufügst.",
"invalidName": "Ungültiger Name. Namen dürfen nur Buchstaben, Zahlen, Leerzeichen, Apostrophe, Unterstriche und Bindestriche enthalten."
},
"details": {
@@ -44,7 +44,7 @@
"deleteFace": "Lösche Gesicht"
},
"train": {
- "title": "Aktuelle Erkennungen",
+ "title": "Kürzliche Erkennungen",
"aria": "Wähle aktuelle Erkennungen",
"empty": "Es gibt keine aktuellen Versuche zur Gesichtserkennung"
},
@@ -64,7 +64,7 @@
"deletedName_other": "{{count}} Gesichter wurden erfolgreich gelöscht.",
"addFaceLibrary": "{{name}} wurde erfolgreich in die Gesichtsbibliothek aufgenommen!",
"trainedFace": "Gesicht erfolgreich trainiert.",
- "updatedFaceScore": "Gesichtsbewertung erfolgreich aktualisiert.",
+ "updatedFaceScore": "Gesichtsbewertung erfolgreich auf {{name}} ({{score}}) aktualisiert.",
"renamedFace": "Gesicht erfolgreich in {{name}} umbenannt"
},
"error": {
diff --git a/web/public/locales/de/views/live.json b/web/public/locales/de/views/live.json
index 7ab230b20..e0bf9955e 100644
--- a/web/public/locales/de/views/live.json
+++ b/web/public/locales/de/views/live.json
@@ -172,9 +172,13 @@
"disable": "Live Audio Transkription ausschalten"
},
"noCameras": {
- "title": "Keine Kameras eingerichtet",
+ "title": "Keine Kameras konfiguriert",
"description": "Beginne indem du eine Kamera anschließt.",
- "buttonText": "Kamera hinzufügen"
+ "buttonText": "Kamera hinzufügen",
+ "restricted": {
+ "title": "Keine Kamera verfügbar",
+ "description": "Sie haben keine Berechtigung, Kameras in dieser Gruppe anzuzeigen."
+ }
},
"snapshot": {
"takeSnapshot": "Sofort-Schnappschuss herunterladen",
diff --git a/web/public/locales/de/views/settings.json b/web/public/locales/de/views/settings.json
index 96a16bdff..bbefa1438 100644
--- a/web/public/locales/de/views/settings.json
+++ b/web/public/locales/de/views/settings.json
@@ -3,16 +3,16 @@
"default": "Einstellungen - Frigate",
"authentication": "Authentifizierungseinstellungen – Frigate",
"camera": "Kameraeinstellungen - Frigate",
- "masksAndZones": "Masken- und Zonen-Editor – Frigate",
+ "masksAndZones": "Masken- und Zoneneditor – Frigate",
"object": "Debug - Frigate",
- "general": "UI Einstellungen – Frigate",
+ "general": "UI-Einstellungen – Frigate",
"frigatePlus": "Frigate+ Einstellungen – Frigate",
"classification": "Klassifizierungseinstellungen – Frigate",
"motionTuner": "Bewegungserkennungs-Optimierer – Frigate",
- "notifications": "Benachrichtigungs-Einstellungen",
+ "notifications": "Benachrichtigungseinstellungen",
"enrichments": "Erweiterte Statistiken - Frigate",
"cameraManagement": "Kameras verwalten - Frigate",
- "cameraReview": "Kamera Einstellungen prüfen - Frigate"
+ "cameraReview": "Kameraeinstellungen prüfen - Frigate"
},
"menu": {
"ui": "Benutzeroberfläche",
@@ -41,7 +41,7 @@
"noCamera": "Keine Kamera"
},
"general": {
- "title": "Allgemeine Einstellungen",
+ "title": "Einstellungen der Benutzeroberfläche",
"liveDashboard": {
"title": "Live Übersicht",
"playAlertVideos": {
@@ -51,6 +51,14 @@
"automaticLiveView": {
"desc": "Wechsle automatisch zur Live Ansicht der Kamera, wenn einen Aktivität erkannt wurde. Wenn du diese Option deaktivierst, werden die statischen Kamerabilder auf der Liveübersicht nur einmal pro Minute aktualisiert.",
"label": "Automatische Live Ansicht"
+ },
+ "displayCameraNames": {
+ "label": "Immer Namen der Kamera anzeigen",
+ "desc": "Kamerabezeichnung immer im einem Chip im Live-View-Dashboard für mehrere Kameras anzeigen."
+ },
+ "liveFallbackTimeout": {
+ "label": "Live Player Ausfallzeitlimit",
+ "desc": "Wenn der hochwertige Live-Stream einer Kamera nicht verfügbar ist, wechsle nach dieser Anzahl von Sekunden in den Modus für geringe Bandbreite. Standard: 3."
}
},
"storedLayouts": {
@@ -232,7 +240,8 @@
"alreadyExists": "Für diese Kamera existiert bereits eine Zone mit diesem Namen.",
"mustBeAtLeastTwoCharacters": "Der Zonenname muss aus mindestens 2 Zeichen bestehen.",
"mustNotBeSameWithCamera": "Der Zonenname darf nicht mit dem Kameranamen identisch sein.",
- "mustNotContainPeriod": "Der Zonenname darf keine Punkte enthalten."
+ "mustNotContainPeriod": "Der Zonenname darf keine Punkte enthalten.",
+ "mustHaveAtLeastOneLetter": "Der Name der Zone muss mindestens einen Buchstaben enthalten."
}
},
"loiteringTime": {
@@ -289,7 +298,7 @@
"zones": {
"edit": "Zone bearbeiten",
"toast": {
- "success": "Die Zone ({{zoneName}}) wurde gespeichert. Starten Sie Frigate neu, um die Änderungen zu übernehmen."
+ "success": "Die Zone ({{zoneName}}) wurde gespeichert."
},
"desc": {
"documentation": "Dokumentation",
@@ -311,7 +320,7 @@
"name": {
"title": "Name",
"inputPlaceHolder": "Geben Sie einen Namen ein…",
- "tips": "Der Name muss aus mindestens 2 Zeichen bestehen und sollte nicht den Namen einer Kamera oder anderen Zone entsprechen."
+ "tips": "Die Bezeichnung muss mindestens 2 Zeichen lang sein, mindestens einen Buchstaben enthalten und darf nicht die Bezeichnung einer Kamera oder einer anderen Zone sein."
},
"objects": {
"title": "Objekte",
@@ -352,8 +361,8 @@
"clickDrawPolygon": "Klicke, um ein Polygon auf dem Bild zu zeichnen.",
"toast": {
"success": {
- "noName": "Bewegungsmaske wurde gespeichert. Starte Frigate neu, um die Änderungen zu übernehmen.",
- "title": "{{polygonName}} wurde gespeichert. Starte Frigate neu, um die Änderungen zu übernehmen."
+ "noName": "Bewegungsmaske wurde gespeichert.",
+ "title": "{{polygonName}} wurde gespeichert."
}
},
"add": "Neue Bewegungsmaske",
@@ -373,8 +382,8 @@
"documentTitle": "Objektmaske bearbeiten – Frigate",
"toast": {
"success": {
- "noName": "Objektmaske wurde gespeichert. Starte Frigate neu, um die Änderungen zu übernehmen.",
- "title": "{{polygonName}} wurde gespeichert. Starte Frigate neu, um die Änderungen zu übernehmen."
+ "noName": "Objektmaske wurde gespeichert.",
+ "title": "{{polygonName}} wurde gespeichert."
}
},
"desc": {
@@ -686,13 +695,13 @@
"semanticSearch": {
"reindexNow": {
"confirmDesc": "Sind Sie sicher, dass Sie alle verfolgten Objekteinbettungen neu indizieren wollen? Dieser Prozess läuft im Hintergrund, kann aber Ihre CPU auslasten und eine gewisse Zeit in Anspruch nehmen. Sie können den Fortschritt auf der Seite Explore verfolgen.",
- "label": "Jetzt neu indizien",
+ "label": "Jetzt neu indizieren",
"desc": "Bei der Neuindizierung werden die Einbettungen für alle verfolgten Objekte neu generiert. Dieser Prozess läuft im Hintergrund und kann je nach Anzahl der verfolgten Objekte Ihre CPU auslasten und eine gewisse Zeit in Anspruch nehmen.",
- "confirmTitle": "Neuinszenierung bestätigen",
+ "confirmTitle": "Neuindizierung bestätigen",
"confirmButton": "Neuindizierung",
"success": "Die Neuindizierung wurde erfolgreich gestartet.",
"alreadyInProgress": "Die Neuindizierung ist bereits im Gange.",
- "error": "Neuindizierung konnte nicht gestartet werden: {{errorMessage}}"
+ "error": "Die Neuindizierung konnte nicht gestartet werden: {{errorMessage}}"
},
"modelSize": {
"small": {
@@ -715,7 +724,7 @@
"desc": "Die Gesichtserkennung ermöglicht es, Personen Namen zuzuweisen, und wenn ihr Gesicht erkannt wird, ordnet Frigate den Namen der Person als Untertitel zu. Diese Informationen sind in der Benutzeroberfläche, den Filtern und in den Benachrichtigungen enthalten.",
"readTheDocumentation": "Lies die Dokumentation",
"modelSize": {
- "label": "Modell Größe",
+ "label": "Modellgröße",
"desc": "Die Größe des für die Gesichtserkennung verwendeten Modells.",
"small": {
"title": "klein",
@@ -741,7 +750,7 @@
"triggers": {
"documentTitle": "Auslöser",
"management": {
- "title": "Auslöser Verwaltung",
+ "title": "Auslöser",
"desc": "Auslöser für {{camera}} verwalten. Verwenden Sie den Vorschaubild Typ, um ähnliche Vorschaubilder wie das ausgewählte verfolgte Objekt auszulösen, und den Beschreibungstyp, um ähnliche Beschreibungen wie den von Ihnen angegebenen Text auszulösen."
},
"addTrigger": "Auslöser hinzufügen",
@@ -762,7 +771,9 @@
},
"actions": {
"alert": "Als Alarm markieren",
- "notification": "Benachrichtigung senden"
+ "notification": "Benachrichtigung senden",
+ "sub_label": "Unterlabel hinzufügen",
+ "attribute": "Attribut hinzufügen"
},
"dialog": {
"createTrigger": {
@@ -780,25 +791,28 @@
"form": {
"name": {
"title": "Name",
- "placeholder": "Auslöser Name eingeben",
+ "placeholder": "Benennen Sie diesen Auslöser",
"error": {
"minLength": "Der Name muss mindestens 2 Zeichen lang sein.",
"invalidCharacters": "Der Name darf nur Buchstaben, Zahlen, Unterstriche und Bindestriche enthalten.",
"alreadyExists": "Ein Auslöser mit diesem Namen existiert bereits für diese Kamera."
- }
+ },
+ "description": "Geben Sie einen eindeutigen Namen oder eine Beschreibung ein, um diesen Auslöser zu identifizieren"
},
"enabled": {
"description": "Diesen Auslöser aktivieren oder deaktivieren"
},
"type": {
"title": "Typ",
- "placeholder": "Auslöser Typ wählen"
+ "placeholder": "Auslöser Typ wählen",
+ "description": "Auslösen, wenn eine ähnliche Beschreibung eines verfolgten Objekts erkannt wird",
+ "thumbnail": "Auslösen, wenn eine ähnliche Miniaturansicht eines verfolgten Objekts erkannt wird"
},
"content": {
"title": "Inhalt",
- "imagePlaceholder": "Ein Bild auswählen",
+ "imagePlaceholder": "Miniaturansicht auswählen",
"textPlaceholder": "Inhaltstext eingeben",
- "imageDesc": "Ein Bild auswählen, um diese Aktion auszulösen, wenn ein ähnliches Bild erkannt wird.",
+ "imageDesc": "Es werden nur die letzten 100 Miniaturansichten angezeigt. Wenn Sie die gewünschte Miniaturansicht nicht finden können, überprüfen Sie bitte frühere Objekte in „Explore“ und richten Sie dort über das Menü einen Trigger ein.",
"textDesc": "Einen Text eingeben, um diese Aktion auszulösen, wenn eine ähnliche Beschreibung eines verfolgten Objekts erkannt wird.",
"error": {
"required": "Inhalt ist erforderlich."
@@ -809,11 +823,12 @@
"error": {
"min": "Schwellenwert muss mindestens 0 sein",
"max": "Schwellenwert darf höchstens 1 sein"
- }
+ },
+ "desc": "Legen Sie den Ähnlichkeitsschwellenwert für diesen Trigger fest. Ein höherer Schwellenwert bedeutet, dass eine größere Übereinstimmung erforderlich ist, um den Trigger auszulösen."
},
"actions": {
"title": "Aktionen",
- "desc": "Standardmäßig sendet Frigate eine MQTT-Nachricht für alle Trigger. Wähle eine zusätzliche Aktion aus, die ausgeführt werden soll, wenn dieser Trigger ausgelöst wird.",
+ "desc": "Standardmäßig sendet Frigate für alle Trigger eine MQTT-Nachricht. Unterbezeichnungen fügen den Triggernamen zur Objektbezeichnung hinzu. Attribute sind durchsuchbare Metadaten, die separat in den Metadaten des verfolgten Objekts gespeichert werden.",
"error": {
"min": "Mindesten eine Aktion muss ausgewählt sein."
}
@@ -840,6 +855,23 @@
"semanticSearch": {
"title": "Semantische Suche ist deaktiviert",
"desc": "Semantische Suche muss aktiviert sein um Auslöser nutzen zu können."
+ },
+ "wizard": {
+ "title": "Auslöser erstellen",
+ "step1": {
+ "description": "Konfigurieren Sie die Grundeinstellungen für Ihren Auslöser."
+ },
+ "step2": {
+ "description": "Legen Sie den Inhalt fest, der diese Aktion auslöst."
+ },
+ "step3": {
+ "description": "Konfigurieren Sie den Schwellenwert und die Aktionen für diesen Trigger."
+ },
+ "steps": {
+ "nameAndType": "Name und Typ",
+ "configureData": "Daten konfigurieren",
+ "thresholdAndActions": "Schwellenwert und Maßnahmen"
+ }
}
},
"roles": {
@@ -893,7 +925,7 @@
"updateCameras": "Kameras für Rolle {{role}} aktualisiert",
"deleteRole": "Rolle {{role}} erfolgreich gelöscht",
"userRolesUpdated_one": "{{count}} Benutzer, denen diese Rolle zugewiesen wurde, wurden auf „Zuschauer“ aktualisiert, der Zugriff auf alle Kameras hat.",
- "userRolesUpdated_other": ""
+ "userRolesUpdated_other": "{{count}} Benutzer, denen diese Rollen zugewiesen wurde, wurden auf „Zuschauer“ aktualisiert, der Zugriff auf alle Kameras habem."
},
"error": {
"createRoleFailed": "Fehler beim Erstellen der Rolle: {{errorMessage}}",
@@ -909,7 +941,8 @@
"steps": {
"nameAndConnection": "Name & Verbindung",
"streamConfiguration": "Stream Konfiguration",
- "validationAndTesting": "Überprüfung & Testen"
+ "validationAndTesting": "Überprüfung & Testen",
+ "probeOrSnapshot": "Test oder Momentaufnahme"
},
"save": {
"success": "Neue Kamera {{cameraName}} erfolgreich hinzugefügt.",
@@ -926,8 +959,8 @@
"testFailed": "Stream Test fehlgeschlagen: {{error}}"
},
"step1": {
- "description": "Gib deine Kameradaten ein und teste die Verbindung.",
- "cameraName": "Kamera-Name",
+ "description": "Geben Sie Ihre Kameradaten ein und wählen Sie, ob Sie die Kamera automatisch erkennen lassen oder die Marke manuell auswählen möchten.",
+ "cameraName": "Kameraname",
"cameraNamePlaceholder": "z.B. vordere_tür oder Hof Übersicht",
"host": "Host/IP Adresse",
"port": "Port",
@@ -936,8 +969,8 @@
"password": "Passwort",
"passwordPlaceholder": "Optional",
"selectTransport": "Transport-Protokoll auswählen",
- "cameraBrand": "Kamera-Hersteller",
- "selectBrand": "Wähle die Kamera-Hersteller für die URL-Vorlage aus",
+ "cameraBrand": "Kamerahersteller",
+ "selectBrand": "Wähle die Kamerahersteller für die URL-Vorlage aus",
"customUrl": "Benutzerdefinierte Stream-URL",
"brandInformation": "Hersteller Information",
"brandUrlFormat": "Für Kameras mit RTSP URL nutze folgendes Format: {{exampleUrl}}",
@@ -950,21 +983,31 @@
"noSnapshot": "Es kann kein Snapshot aus dem konfigurierten Stream abgerufen werden."
},
"errors": {
- "brandOrCustomUrlRequired": "Wählen Sie entweder einen Kamera-Hersteller mit Host/IP aus oder wählen Sie „Andere“ mit einer benutzerdefinierten URL",
- "nameRequired": "Kamera-Name benötigt",
- "nameLength": "Kamera-Name darf höchsten 64 Zeichen lang sein",
- "invalidCharacters": "Kamera-Name enthält ungültige Zeichen",
- "nameExists": "Kamera-Name existiert bereits",
+ "brandOrCustomUrlRequired": "Wählen Sie entweder einen Kamerahersteller mit Host/IP aus oder wählen Sie „Andere“ mit einer benutzerdefinierten URL",
+ "nameRequired": "Der Kameraname wird benötigt",
+ "nameLength": "Der Kameraname darf höchsten 64 Zeichen lang sein",
+ "invalidCharacters": "Der Kameraname enthält ungültige Zeichen",
+ "nameExists": "Der Kameraname existiert bereits",
"brands": {
"reolink-rtsp": "Reolink RTSP wird nicht empfohlen. Es wird empfohlen, http in den Kameraeinstellungen zu aktivieren und den Kamera-Assistenten neu zu starten."
- }
+ },
+ "customUrlRtspRequired": "Benutzerdefinierte URLs müssen mit „rtsp://“ beginnen. Für Nicht-RTSP-Kamerastreams ist eine manuelle Konfiguration erforderlich."
},
"docs": {
"reolink": "https://docs.frigate.video/configuration/camera_specific.html#reolink-cameras"
- }
+ },
+ "connectionSettings": "Verbindungseinstellungen",
+ "detectionMethod": "Stream Erkennungsmethode",
+ "onvifPort": "ONVIF Port",
+ "probeMode": "Untersuche Kamera",
+ "detectionMethodDescription": "Suchen Sie die Kamera mit ONVIF (sofern unterstützt), um die URLs der Kamerastreams zu finden, oder wählen Sie manuell die Kameramarke aus, um vordefinierte URLs zu verwenden. Um eine benutzerdefinierte RTSP-URL einzugeben, wählen Sie die manuelle Methode und dann „Andere“.",
+ "onvifPortDescription": "Bei Kameras, die ONVIF unterstützen, ist dies in der Regel 80 oder 8080.",
+ "useDigestAuth": "Digest-Authentifizierung verwenden",
+ "useDigestAuthDescription": "Verwenden Sie die HTTP-Digest-Authentifizierung für ONVIF. Einige Kameras erfordern möglicherweise einen speziellen ONVIF-Benutzernamen/ein spezielles ONVIF-Passwort anstelle des Standard-Admin-Benutzers.",
+ "manualMode": "Manuelle Auswahl"
},
"step2": {
- "description": "Konfigurieren Sie Stream-Rollen und fügen Sie zusätzliche Streams für Ihre Kamera hinzu.",
+ "description": "Suchen Sie in der Kamera nach verfügbaren Streams oder konfigurieren Sie manuelle Einstellungen basierend auf der von Ihnen ausgewählten Erkennungsmethode.",
"streamsTitle": "Kamera Streams",
"addStream": "Stream hinzufügen",
"addAnotherStream": "Weiteren Stream hinzufügen",
@@ -983,8 +1026,8 @@
"audio": "Audio"
},
"testStream": "Verbindung testen",
- "testSuccess": "Stream erfolgreich getestet!",
- "testFailed": "Stream-Test fehlgeschlagen",
+ "testSuccess": "Verbindung erfolgreich getestet!",
+ "testFailed": "Verbindungstest fehlgeschlagen. Bitte überprüfen Sie ihre Eingaben und versuchen Sie es erneut.",
"testFailedTitle": "Test fehlgeschlagen",
"connected": "Verbunden",
"notConnected": "Nicht verbunden",
@@ -1000,10 +1043,42 @@
"featuresPopover": {
"title": "Stream Funktionen",
"description": "Verwende go2rtc Restreaming, um die Verbindungen zu deiner Kamera zu reduzieren."
+ },
+ "streamDetails": "Verbindungsdetails",
+ "probing": "Kamera wird geprüft...",
+ "retry": "Wiederholen",
+ "testing": {
+ "probingMetadata": "Metadaten der Kamera werden überprüft...",
+ "fetchingSnapshot": "Kamera-Schnappschuss wird abgerufen..."
+ },
+ "probeFailed": "Fehler beim Untersuchen der Kamera: {{error}}",
+ "probingDevice": "Untersuche Gerät...",
+ "probeSuccessful": "Erkennung erfolgreich",
+ "probeError": "Erkennungsfehler",
+ "probeNoSuccess": "Erkennung fehlgeschlagen",
+ "deviceInfo": "Geräteinformationen",
+ "manufacturer": "Hersteller",
+ "model": "Modell",
+ "firmware": "Firmware",
+ "profiles": "Profile",
+ "ptzSupport": "PTZ Unterstützung",
+ "autotrackingSupport": "Unterstützung für Autoverfolgung",
+ "presets": "Voreinstellung",
+ "rtspCandidates": "RTSP Kandidaten",
+ "rtspCandidatesDescription": "Die folgenden RTSP-URLs wurden bei der Kameraerkennung gefunden. Testen Sie die Verbindung, um die Stream-Metadaten anzuzeigen.",
+ "noRtspCandidates": "Es wurden keine RTSP-URLs von der Kamera gefunden. Möglicherweise sind Ihre Anmeldedaten falsch oder die Kamera unterstützt ONVIF oder die Methode zum Abrufen von RTSP-URLs nicht. Gehen Sie zurück und geben Sie die RTSP-URL manuell ein.",
+ "candidateStreamTitle": "Kandidate {{number}}",
+ "useCandidate": "Verwenden",
+ "uriCopy": "Kopieren",
+ "uriCopied": "URI in die Zwischenablage kopiert",
+ "testConnection": "Test Verbindung",
+ "toggleUriView": "Klicken Sie hier, um die vollständige URI zu sehen",
+ "errors": {
+ "hostRequired": "Host/IP adresse wird benötigt"
}
},
"step3": {
- "description": "Endgültige Validierung und Analyse vor dem Speichern Ihrer neuen Kamera. Verbinde jeden Stream vor dem Speichern.",
+ "description": "Konfigurieren Sie Stream-Rollen und fügen Sie zusätzliche Streams für Ihre Kamera hinzu",
"validationTitle": "Stream Validierung",
"connectAllStreams": "Verbinde alle Streams",
"reconnectionSuccess": "Wiederverbindung erfolgreich.",
@@ -1040,6 +1115,90 @@
"hikvision": {
"substreamWarning": "Substream 1 ist auf eine niedrige Auflösung festgelegt. Viele Hikvision-Kameras unterstützen zusätzliche Substreams, die in den Kameraeinstellungen aktiviert werden müssen. Es wird empfohlen, diese Streams zu nutzen, sofern sie verfügbar sind."
}
+ },
+ "streamsTitle": "Kamera Stream",
+ "addStream": "Stream hinzufügen",
+ "addAnotherStream": "weiteren Stream hinzufügen",
+ "streamUrl": "Stream URL",
+ "streamUrlPlaceholder": "rtsp://benutzername:passwort@host:port/path",
+ "selectStream": "Auswahl Stream",
+ "searchCandidates": "Suche Kandidaten...",
+ "noStreamFound": "Kein Stream gefunden",
+ "url": "URL",
+ "resolution": "Auflösung",
+ "selectResolution": "Wähle Auflösung",
+ "quality": "Qualität",
+ "selectQuality": "Wähle Qualität",
+ "roleLabels": {
+ "detect": "Objekterkennung",
+ "record": "Aufnahme",
+ "audio": "Ton"
+ },
+ "testStream": "Verbindungstest",
+ "testSuccess": "Verbindungstest erfolgreich!",
+ "testFailed": "Verbindungstest fehlgeschlagen",
+ "testFailedTitle": "Test fehlgeschlagen",
+ "connected": "Verbunden",
+ "notConnected": "nicht verbunden",
+ "featuresTitle": "Funktionen",
+ "go2rtc": "Verbindungen zur Kamera reduzieren",
+ "detectRoleWarning": "Mindestens ein Stream muss die Rolle „detect“ haben, um fortfahren zu können.",
+ "rolesPopover": {
+ "title": "Stream Rollen",
+ "detect": "Hauptfeed für die Objekterkennung.",
+ "record": "Speichert Segmente des Video-Feeds basierend auf den Konfigurationseinstellungen.",
+ "audio": "Feed für audiobasierte Erkennung."
+ },
+ "featuresPopover": {
+ "title": "Stream Funktionen",
+ "description": "Verwenden Sie go2rtc-Restreaming, um die Verbindungen zu Ihrer Kamera zu reduzieren."
+ }
+ },
+ "step4": {
+ "description": "Endgültige Validierung und Analyse vor dem Speichern Ihrer neuen Kamera. Verbinden Sie jeden Stream vor dem Speichern.",
+ "validationTitle": "Stream-Validierung",
+ "connectAllStreams": "Alle Streams verbinden",
+ "reconnectionSuccess": "Wiederverbindung erfolgreich.",
+ "reconnectionPartial": "Einige Streams konnten nicht wieder verbunden werden.",
+ "streamUnavailable": "Stream Vorschau nicht verfügbar",
+ "reload": "neu Laden",
+ "connecting": "Verbinden...",
+ "streamTitle": "Stream {{number}}",
+ "valid": "gültig",
+ "failed": "fehlgeschlagen",
+ "notTested": "nicht getestet",
+ "connectStream": "Verbinden",
+ "connectingStream": "Verbinden",
+ "disconnectStream": "getrennt",
+ "estimatedBandwidth": "Voraussichtliche Bandbreite",
+ "roles": "Rollen",
+ "ffmpegModule": "Stream-Kompatibilitätsmodus verwenden",
+ "ffmpegModuleDescription": "Wenn der Stream nach mehreren Versuchen nicht geladen wird, versuchen Sie, diese Option zu aktivieren. Wenn diese Option aktiviert ist, verwendet Frigate das ffmpeg-Modul mit go2rtc. Dies kann zu einer besseren Kompatibilität mit einigen Kamerastreams führen.",
+ "none": "keiner",
+ "error": "Fehler",
+ "streamValidated": "Steam {{number}} erfolgreich validiert",
+ "streamValidationFailed": "Stream {{number}} Validierung fehlgeschlagen",
+ "saveAndApply": "Neue Kamera speichern",
+ "saveError": "Ungültige Konfiguration. Bitte überprüfen Sie Ihre Einstellungen.",
+ "issues": {
+ "title": "Stream-Validierung",
+ "videoCodecGood": "Video codec ist {{codec}}.",
+ "audioCodecGood": "Audio codec ist {{codec}}.",
+ "resolutionHigh": "Eine Auflösung von {{resolution}} kann zu einem erhöhten Ressourcenverbrauch führen.",
+ "resolutionLow": "Eine Auflösung von {{resolution}} ist möglicherweise zu gering, um kleine Objekte zuverlässig zu erkennen.",
+ "noAudioWarning": "Für diesen Stream wurde kein Ton erkannt, die Aufzeichnungen enthalten keinen Ton.",
+ "audioCodecRecordError": "Der AAC-Audio-Codec ist erforderlich, um Audio in Aufnahmen zu unterstützen.",
+ "audioCodecRequired": "Ein Audiostream ist erforderlich, um die Audioerkennung zu unterstützen.",
+ "restreamingWarning": "Die Reduzierung der Verbindungen zur Kamera für den Aufzeichnungsstream kann zu einer geringfügigen Erhöhung der CPU-Auslastung führen.",
+ "brands": {
+ "reolink-rtsp": "Reolink RTSP wird nicht empfohlen. Aktivieren Sie HTTP in den Firmware-Einstellungen der Kamera und starten Sie den Assistenten neu."
+ },
+ "dahua": {
+ "substreamWarning": "Substream 1 ist auf eine niedrige Auflösung festgelegt. Viele Kameras von Dahua / Amcrest / EmpireTech unterstützen zusätzliche Substreams, die in den Kameraeinstellungen aktiviert werden müssen. Es wird empfohlen, diese Streams zu überprüfen und zu nutzen, sofern sie verfügbar sind."
+ },
+ "hikvision": {
+ "substreamWarning": "Substream 1 ist auf eine niedrige Auflösung festgelegt. Viele Hikvision-Kameras unterstützen zusätzliche Substreams, die in den Kameraeinstellungen aktiviert werden müssen. Es wird empfohlen, diese Streams zu überprüfen und zu nutzen, sofern sie verfügbar sind."
+ }
}
}
},
@@ -1057,9 +1216,9 @@
"add": "Kamera hinzufügen",
"edit": "Kamera bearbeiten",
"description": "Konfiguriere die Kameraeinstellungen, einschließlich Streams und Rollen.",
- "name": "Kamera-Name",
- "nameRequired": "Kamera-Name benötigt",
- "nameLength": "Kamera-Name darf maximal 64 Zeichen lang sein.",
+ "name": "Kameraname",
+ "nameRequired": "Kameraname benötigt",
+ "nameLength": "Kameraname darf maximal 64 Zeichen lang sein.",
"namePlaceholder": "z.B. vordere_tür oder Hof Übersicht",
"enabled": "Aktiviert",
"ffmpeg": {
@@ -1094,14 +1253,14 @@
"desc": "Generative KI Review Beschreibungen für diese Kamera vorübergehend aktivieren/deaktivieren. Wenn diese Option deaktiviert ist, werden für die Review Elemente dieser Kamera keine KI-generierten Beschreibungen angefordert."
},
"review": {
- "title": "Review",
+ "title": "Überprüfung",
"desc": "Aktivieren/deaktivieren Sie vorübergehend Warnmeldungen und Erkennungen für diese Kamera, bis Frigate neu gestartet wird. Wenn diese Funktion deaktiviert ist, werden keine neuen Überprüfungselemente generiert. ",
"alerts": "Warnungen ",
"detections": "Erkennungen "
},
"reviewClassification": {
"title": "Bewertungsklassifizierung",
- "desc": "Frigate kategorisiert zu überprüfende Elemente als Warnmeldungen und Erkennungen. Standardmäßig werden alle Objekte vom Typ person und car als Warnmeldungen betrachtet. Sie können die Kategorisierung der zu überprüfenden Elemente verfeinern, indem Sie die erforderlichen Zonen für sie konfigurieren.",
+ "desc": "Frigate kategorisiert zu überprüfende Elemente als Warnmeldungen und Erkennungen. Standardmäßig werden alle Objekte vom Typ Person und Auto als Warnmeldungen betrachtet. Sie können die Kategorisierung der zu überprüfenden Elemente verfeinern, indem Sie die erforderlichen Zonen für sie konfigurieren.",
"noDefinedZones": "Für diese Kamera sind keine Zonen definiert.",
"objectAlertsTips": "Alle {{alertsLabels}}-Objekte auf {{cameraName}} werden als Warnmeldungen angezeigt.",
"zoneObjectAlertsTips": "Alle {{alertsLabels}}-Objekte, die in {{zone}} auf {{cameraName}} erkannt wurden, werden als Warnmeldungen angezeigt.",
diff --git a/web/public/locales/de/views/system.json b/web/public/locales/de/views/system.json
index b4720ef5f..bd948a037 100644
--- a/web/public/locales/de/views/system.json
+++ b/web/public/locales/de/views/system.json
@@ -31,7 +31,12 @@
"gpuDecoder": "GPU Decoder",
"gpuEncoder": "GPU Encoder",
"npuUsage": "NPU Verwendung",
- "npuMemory": "NPU Speicher"
+ "npuMemory": "NPU Speicher",
+ "intelGpuWarning": {
+ "title": "Intel GPU Statistik Warnung",
+ "message": "GPU stats nicht verfügbar",
+ "description": "Dies ist ein bekannter Fehler in den GPU-Statistik-Tools von Intel (intel_gpu_top), bei dem das Tool ausfällt und wiederholt eine GPU-Auslastung von 0 % anzeigt, selbst wenn die Hardwarebeschleunigung und die Objekterkennung auf der (i)GPU korrekt funktionieren. Dies ist kein Fehler von Frigate. Du kannst den Host neu starten, um das Problem vorübergehend zu beheben und zu prüfen, ob die GPU korrekt funktioniert. Dies hat keine Auswirkungen auf die Leistung."
+ }
},
"title": "Allgemein",
"detector": {
@@ -167,10 +172,17 @@
"face_recognition": "Gesichts Erkennung",
"image_embedding": "Bild Embedding",
"yolov9_plate_detection_speed": "YOLOv9 Kennzeichenerkennungsgeschwindigkeit",
- "yolov9_plate_detection": "YOLOv9 Kennzeichenerkennung"
+ "yolov9_plate_detection": "YOLOv9 Kennzeichenerkennung",
+ "review_description": "Bewertung Beschreibung",
+ "review_description_speed": "Bewertungsbeschreibung Geschwindigkeit",
+ "review_description_events_per_second": "Bewertungsbeschreibung",
+ "object_description": "Objekt Beschreibung",
+ "object_description_speed": "Objektbeschreibung Geschwindigkeit",
+ "object_description_events_per_second": "Objektbeschreibung"
},
"title": "Optimierungen",
- "infPerSecond": "Rückschlüsse pro Sekunde"
+ "infPerSecond": "Rückschlüsse pro Sekunde",
+ "averageInf": "Durchschnittliche Inferenzzeit"
},
"stats": {
"healthy": "Das System läuft problemlos",
diff --git a/web/public/locales/es/views/live.json b/web/public/locales/es/views/live.json
index 85ad87cbf..3d8c0b0be 100644
--- a/web/public/locales/es/views/live.json
+++ b/web/public/locales/es/views/live.json
@@ -124,7 +124,7 @@
"twoWayTalk": {
"tips.documentation": "Leer la documentación ",
"available": "La conversación bidireccional está disponible para esta transmisión",
- "unavailable": "La conversación bidireccional está disponible para esta transmisión",
+ "unavailable": "La conversación bidireccional no está disponible para esta transmisión",
"tips": "Tu dispositivo debe soportar la función y WebRTC debe estar configurado para la conversación bidireccional."
},
"lowBandwidth": {
diff --git a/web/public/locales/et/audio.json b/web/public/locales/et/audio.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/et/audio.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/et/common.json b/web/public/locales/et/common.json
new file mode 100644
index 000000000..b19cc83db
--- /dev/null
+++ b/web/public/locales/et/common.json
@@ -0,0 +1,11 @@
+{
+ "time": {
+ "untilForTime": "Kuni {{time}}",
+ "today": "Täna"
+ },
+ "menu": {
+ "user": {
+ "setPassword": "Lisa salasõna"
+ }
+ }
+}
diff --git a/web/public/locales/et/components/auth.json b/web/public/locales/et/components/auth.json
new file mode 100644
index 000000000..4eb7d3fed
--- /dev/null
+++ b/web/public/locales/et/components/auth.json
@@ -0,0 +1,8 @@
+{
+ "form": {
+ "password": "Salasõna",
+ "errors": {
+ "passwordRequired": "Salasõna on vajalik"
+ }
+ }
+}
diff --git a/web/public/locales/et/components/camera.json b/web/public/locales/et/components/camera.json
new file mode 100644
index 000000000..3b15f4dbb
--- /dev/null
+++ b/web/public/locales/et/components/camera.json
@@ -0,0 +1,5 @@
+{
+ "group": {
+ "label": "Kaameragrupid"
+ }
+}
diff --git a/web/public/locales/et/components/dialog.json b/web/public/locales/et/components/dialog.json
new file mode 100644
index 000000000..9e03b622d
--- /dev/null
+++ b/web/public/locales/et/components/dialog.json
@@ -0,0 +1,6 @@
+{
+ "restart": {
+ "title": "Kas oled kindel, et soovid Frigate'i uuesti käivitada?",
+ "button": "Käivita uuesti"
+ }
+}
diff --git a/web/public/locales/et/components/filter.json b/web/public/locales/et/components/filter.json
new file mode 100644
index 000000000..306660fe8
--- /dev/null
+++ b/web/public/locales/et/components/filter.json
@@ -0,0 +1,3 @@
+{
+ "filter": "Filter"
+}
diff --git a/web/public/locales/et/components/icons.json b/web/public/locales/et/components/icons.json
new file mode 100644
index 000000000..af0569f46
--- /dev/null
+++ b/web/public/locales/et/components/icons.json
@@ -0,0 +1,8 @@
+{
+ "iconPicker": {
+ "selectIcon": "Vali ikoon",
+ "search": {
+ "placeholder": "Otsi ikooni…"
+ }
+ }
+}
diff --git a/web/public/locales/et/components/input.json b/web/public/locales/et/components/input.json
new file mode 100644
index 000000000..127c8c7f8
--- /dev/null
+++ b/web/public/locales/et/components/input.json
@@ -0,0 +1,10 @@
+{
+ "button": {
+ "downloadVideo": {
+ "label": "Laadi video alla",
+ "toast": {
+ "success": "Sinu ülevaatamisel video allalaadimine algas."
+ }
+ }
+ }
+}
diff --git a/web/public/locales/et/components/player.json b/web/public/locales/et/components/player.json
new file mode 100644
index 000000000..c70da87ed
--- /dev/null
+++ b/web/public/locales/et/components/player.json
@@ -0,0 +1,3 @@
+{
+ "noRecordingsFoundForThisTime": "Hetkel ei leidu ühtego salvestust"
+}
diff --git a/web/public/locales/et/objects.json b/web/public/locales/et/objects.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/et/objects.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/et/views/classificationModel.json b/web/public/locales/et/views/classificationModel.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/et/views/classificationModel.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/et/views/configEditor.json b/web/public/locales/et/views/configEditor.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/et/views/configEditor.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/et/views/events.json b/web/public/locales/et/views/events.json
new file mode 100644
index 000000000..82a753b2d
--- /dev/null
+++ b/web/public/locales/et/views/events.json
@@ -0,0 +1,3 @@
+{
+ "alerts": "Häired"
+}
diff --git a/web/public/locales/et/views/explore.json b/web/public/locales/et/views/explore.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/et/views/explore.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/et/views/exports.json b/web/public/locales/et/views/exports.json
new file mode 100644
index 000000000..0c134c2c8
--- /dev/null
+++ b/web/public/locales/et/views/exports.json
@@ -0,0 +1,3 @@
+{
+ "documentTitle": "Eksport Frigate'ist"
+}
diff --git a/web/public/locales/et/views/faceLibrary.json b/web/public/locales/et/views/faceLibrary.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/et/views/faceLibrary.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/et/views/live.json b/web/public/locales/et/views/live.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/et/views/live.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/et/views/recording.json b/web/public/locales/et/views/recording.json
new file mode 100644
index 000000000..57ed97509
--- /dev/null
+++ b/web/public/locales/et/views/recording.json
@@ -0,0 +1,12 @@
+{
+ "export": "Ekspordi",
+ "calendar": "Kalender",
+ "filter": "Filter",
+ "filters": "Filtrid",
+ "toast": {
+ "error": {
+ "noValidTimeSelected": "Ühtegi kehtivat ajavahemikku pole valitud",
+ "endTimeMustAfterStartTime": "Ajavahemiku lõpp peab olema peale algust"
+ }
+ }
+}
diff --git a/web/public/locales/et/views/search.json b/web/public/locales/et/views/search.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/et/views/search.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/et/views/settings.json b/web/public/locales/et/views/settings.json
new file mode 100644
index 000000000..075a41759
--- /dev/null
+++ b/web/public/locales/et/views/settings.json
@@ -0,0 +1,62 @@
+{
+ "cameraWizard": {
+ "step1": {
+ "password": "Salasõna",
+ "passwordPlaceholder": "Valikuline",
+ "customUrlPlaceholder": "rtsp://kasutajanimi:salasõna@host:port/asukoht"
+ }
+ },
+ "users": {
+ "updatePassword": "Muuda salasõna",
+ "toast": {
+ "success": {
+ "updatePassword": "Salasõna muutmine õnnestus."
+ },
+ "error": {
+ "setPasswordFailed": "Salasõna salvestamine ei õnnestunud: {{errorMessage}}"
+ }
+ },
+ "table": {
+ "password": "Salasõna"
+ },
+ "dialog": {
+ "form": {
+ "password": {
+ "title": "Salasõna",
+ "placeholder": "Sisesta salasõna",
+ "confirm": {
+ "title": "Korda salasõna",
+ "placeholder": "Korda salasõna"
+ },
+ "strength": {
+ "title": "Salasõna tugevus: ",
+ "weak": "Nõrk",
+ "medium": "Keskmime",
+ "strong": "Tugev",
+ "veryStrong": "Väga tugev"
+ },
+ "match": "Salasõnad klapivad omavahel",
+ "notMatch": "Salasõnad ei klapi omavahel"
+ },
+ "newPassword": {
+ "title": "Uus salasõna",
+ "placeholder": "Sisesta uus salasõna",
+ "confirm": {
+ "placeholder": "Sisesta uus salasõna uuesti"
+ }
+ },
+ "passwordIsRequired": "Salasõna on vajalik"
+ },
+ "createUser": {
+ "confirmPassword": "Palun kinnita oma uus salasõna"
+ },
+ "passwordSetting": {
+ "cannotBeEmpty": "Salasõna ei või jääda tühjaks",
+ "doNotMatch": "Salasõnad ei klapi omavahel",
+ "updatePassword": "Muuda kasutaja {{username}} salasõna",
+ "setPassword": "Sisesta salasõna",
+ "desc": "Selle kasutajakonto turvalisuse tagamiseks lisa tugev salasõna."
+ }
+ }
+ }
+}
diff --git a/web/public/locales/et/views/system.json b/web/public/locales/et/views/system.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/web/public/locales/et/views/system.json
@@ -0,0 +1 @@
+{}
diff --git a/web/public/locales/fr/common.json b/web/public/locales/fr/common.json
index 78a3f7c18..a1132a01e 100644
--- a/web/public/locales/fr/common.json
+++ b/web/public/locales/fr/common.json
@@ -185,7 +185,7 @@
},
"label": "Mode sombre"
},
- "review": "Événements",
+ "review": "Activités",
"explore": "Explorer",
"export": "Exporter",
"user": {
@@ -247,7 +247,7 @@
"title": "Rôle",
"viewer": "Observateur",
"admin": "Administrateur",
- "desc": "Les administrateurs ont un accès complet à toutes les fonctionnalités de l'interface Frigate. Les observateurs sont limités à la consultation des caméras, des événements, et à l'historique des enregistrements dans l'interface."
+ "desc": "Les administrateurs ont un accès complet à toutes les fonctionnalités de l'interface Frigate. Les observateurs sont limités à la consultation des caméras, des activités, et à l'historique des enregistrements dans l'interface."
},
"pagination": {
"next": {
diff --git a/web/public/locales/fr/components/dialog.json b/web/public/locales/fr/components/dialog.json
index 771903663..f0b542b70 100644
--- a/web/public/locales/fr/components/dialog.json
+++ b/web/public/locales/fr/components/dialog.json
@@ -65,7 +65,8 @@
"endTimeMustAfterStartTime": "L'heure de fin doit être postérieure à l'heure de début.",
"noVaildTimeSelected": "La plage horaire sélectionnée n'est pas valide."
},
- "success": "Exportation démarrée avec succès. Consultez le fichier sur la page des exportations."
+ "success": "Exportation démarrée avec succès. Consultez le fichier sur la page des exportations.",
+ "view": "Vue"
},
"select": "Sélectionner",
"name": {
@@ -109,19 +110,19 @@
"recording": {
"confirmDelete": {
"desc": {
- "selected": "Êtes-vous sûr(e) de vouloir supprimer toutes les vidéos enregistrées associées à cet événement ?
Maintenez la touche Maj enfoncée pour éviter cette boîte de dialogue à l'avenir."
+ "selected": "Êtes-vous sûr(e) de vouloir supprimer toutes les vidéos enregistrées associées à cette activité ?
Maintenez la touche Maj enfoncée pour éviter cette boîte de dialogue à l'avenir."
},
"title": "Confirmer la suppression",
"toast": {
- "success": "Les vidéos associées aux événements sélectionnés ont été supprimées.",
+ "success": "Les vidéos associées aux activités sélectionnées ont été supprimées.",
"error": "Échec de la suppression : {{error}}"
}
},
"button": {
"export": "Exporter",
- "markAsReviewed": "Marquer comme vérifié",
+ "markAsReviewed": "Marquer comme traité",
"deleteNow": "Supprimer maintenant",
- "markAsUnreviewed": "Marquer comme non vérifié"
+ "markAsUnreviewed": "Marquer comme non traité"
}
},
"imagePicker": {
diff --git a/web/public/locales/fr/components/filter.json b/web/public/locales/fr/components/filter.json
index 68a25f950..b8af1d69c 100644
--- a/web/public/locales/fr/components/filter.json
+++ b/web/public/locales/fr/components/filter.json
@@ -83,7 +83,7 @@
}
},
"review": {
- "showReviewed": "Afficher les éléments vérifiés"
+ "showReviewed": "Afficher les activités traitées"
},
"cameras": {
"label": "Filtre des caméras",
diff --git a/web/public/locales/fr/components/input.json b/web/public/locales/fr/components/input.json
index 19d18f385..0d8130cf5 100644
--- a/web/public/locales/fr/components/input.json
+++ b/web/public/locales/fr/components/input.json
@@ -3,7 +3,7 @@
"downloadVideo": {
"label": "Télécharger la vidéo",
"toast": {
- "success": "Le téléchargement de la vidéo de votre événement a commencé."
+ "success": "Le téléchargement de la vidéo a commencé."
}
}
}
diff --git a/web/public/locales/fr/views/classificationModel.json b/web/public/locales/fr/views/classificationModel.json
index 640640c22..c18944fb9 100644
--- a/web/public/locales/fr/views/classificationModel.json
+++ b/web/public/locales/fr/views/classificationModel.json
@@ -1,5 +1,5 @@
{
- "documentTitle": "Modèles de classification",
+ "documentTitle": "Modèles de classification - Frigate",
"button": {
"deleteClassificationAttempts": "Supprimer les images de classification",
"renameCategory": "Renommer la classe",
@@ -152,7 +152,12 @@
"generateSuccess": "Génération des images d'exemple réussie",
"allImagesRequired_one": "Veuillez classifier toutes les images. {{count}} image restante.",
"allImagesRequired_many": "Veuillez classifier toutes les images. {{count}} images restantes.",
- "allImagesRequired_other": "Veuillez classifier toutes les images. {{count}} images restantes."
+ "allImagesRequired_other": "Veuillez classifier toutes les images. {{count}} images restantes.",
+ "modelCreated": "Modèle créé avec succès. Utilisez la vue Classifications récentes pour ajouter des images pour les états manquants, puis entraînez le modèle.",
+ "missingStatesWarning": {
+ "title": "Exemples d'états manquants",
+ "description": "Pour des résultats optimaux, il est recommandé de sélectionner des exemples pour tous les états. Vous pouvez continuer sans cette étape, mais le modèle ne sera entraîné que lorsque chaque état disposera d'images. Continuez, puis utilisez la vue Classifications récentes pour classer les images manquantes et lancer l'entraînement."
+ }
}
},
"deleteModel": {
@@ -180,5 +185,6 @@
"noNewImages": "Aucune nouvelle image pour l'entraînement. Veuillez d'abord classifier plus d'images dans le jeu de données.",
"modelNotReady": "Le modèle n'est pas prêt pour l'entraînement.",
"noChanges": "Aucune modification du jeu de données depuis le dernier entraînement"
- }
+ },
+ "none": "Aucun"
}
diff --git a/web/public/locales/fr/views/events.json b/web/public/locales/fr/views/events.json
index a5001ada8..0afb3682a 100644
--- a/web/public/locales/fr/views/events.json
+++ b/web/public/locales/fr/views/events.json
@@ -7,8 +7,8 @@
"alerts": "Alertes",
"allCameras": "Toutes les caméras",
"empty": {
- "alert": "Il n'y a aucune alerte à examiner.",
- "detection": "Il n'y a aucune détection à examiner.",
+ "alert": "Aucune alerte à traiter",
+ "detection": "Aucune détection à traiter",
"motion": "Aucune donnée de mouvement trouvée"
},
"timeline": "Chronologie",
@@ -17,7 +17,7 @@
"aria": "Sélectionner les événements",
"noFoundForTimePeriod": "Aucun événement n'a été trouvé pour cette plage de temps."
},
- "documentTitle": "Événements - Frigate",
+ "documentTitle": "Activités - Frigate",
"recordings": {
"documentTitle": "Enregistrements - Frigate"
},
@@ -25,13 +25,13 @@
"last24Hours": "Dernières 24 heures"
},
"timeline.aria": "Sélectionner une chronologie",
- "markAsReviewed": "Marquer comme vérifié",
+ "markAsReviewed": "Marquer comme traitê",
"newReviewItems": {
- "button": "Nouveaux événements à examiner",
- "label": "Afficher les nouveaux événements"
+ "button": "Nouvelles activités à traiter",
+ "label": "Afficher les nouvelles activités"
},
"camera": "Caméra",
- "markTheseItemsAsReviewed": "Marquer ces éléments comme vérifiés",
+ "markTheseItemsAsReviewed": "Marquer ces activités comme traitées",
"selected": "{{count}} sélectionné(s)",
"selected_other": "{{count}} sélectionné(s)",
"selected_one": "{{count}} sélectionné(s)",
@@ -39,7 +39,7 @@
"suspiciousActivity": "Activité suspecte",
"threateningActivity": "Activité menaçante",
"detail": {
- "noDataFound": "Aucun détail à examiner",
+ "noDataFound": "Aucun détail à traiter",
"aria": "Activer/désactiver la vue détaillée",
"trackedObject_one": "{{count}} objet",
"trackedObject_other": "{{count}} objets",
@@ -48,7 +48,7 @@
"settings": "Paramètres de la vue Détail",
"alwaysExpandActive": {
"title": "Toujours développer l'élément actif",
- "desc": "Toujours développer les détails de l'objet de l'événement actif si disponibles"
+ "desc": "Toujours développer les détails de l'objet pour l'activité en cours"
}
},
"objectTrack": {
@@ -56,5 +56,8 @@
"clickToSeek": "Cliquez pour atteindre ce moment."
},
"zoomIn": "Zoom avant",
- "zoomOut": "Zoom arrière"
+ "zoomOut": "Zoom arrière",
+ "normalActivity": "Normal",
+ "needsReview": "À traiter",
+ "securityConcern": "Problème de sécurité"
}
diff --git a/web/public/locales/fr/views/explore.json b/web/public/locales/fr/views/explore.json
index 71930c368..542999b3a 100644
--- a/web/public/locales/fr/views/explore.json
+++ b/web/public/locales/fr/views/explore.json
@@ -32,9 +32,9 @@
"details": {
"timestamp": "Horodatage",
"item": {
- "title": "Détails de l'événement",
+ "title": "Détails de l'activité",
"button": {
- "share": "Partager cet événement",
+ "share": "Partager cette activité",
"viewInExplore": "Afficher dans Explorer"
},
"toast": {
@@ -52,12 +52,12 @@
}
},
"tips": {
- "mismatch_one": "{{count}} objet indisponible a été détecté et intégré dans cet événement. Cet objet n'a pas été qualifié comme une alerte ou une détection, ou a déjà été nettoyé / supprimé.",
- "mismatch_many": "{{count}} objets indisponibles ont été détectés et intégrés dans cet événement. Ces objets n'ont pas été qualifiés comme une alerte ou une détection, ou ont déjà été nettoyés / supprimés.",
- "mismatch_other": "{{count}} objets indisponibles ont été détectés et intégrés dans cet événement. Ces objets n'ont pas été qualifiés comme une alerte ou une détection, ou ont déjà été nettoyés / supprimés.",
+ "mismatch_one": "{{count}} objet indisponible a été détecté et intégré dans cette activité. Cet objet n'a pas été qualifié comme une alerte ou une détection, ou a déjà été nettoyé / supprimé.",
+ "mismatch_many": "{{count}} objets indisponibles ont été détectés et intégrés dans cette activité. Ces objets n'ont pas été qualifiés comme une alerte ou une détection, ou ont déjà été nettoyés / supprimés.",
+ "mismatch_other": "{{count}} objets indisponibles ont été détectés et intégrés dans cette activité. Ces objets n'ont pas été qualifiés comme une alerte ou une détection, ou ont déjà été nettoyés / supprimés.",
"hasMissingObjects": "Ajustez votre configuration si vous souhaitez que Frigate enregistre les objets suivis pour les étiquettes suivantes : {{objects}}"
},
- "desc": "Détails de l'événement"
+ "desc": "Détails de l'activité"
},
"label": "Étiquette",
"editSubLabel": {
@@ -208,6 +208,10 @@
"viewTrackingDetails": {
"label": "Voir les détails du suivi",
"aria": "Afficher les détails du suivi"
+ },
+ "downloadCleanSnapshot": {
+ "label": "Télécharger l'instantané vierge",
+ "aria": "Télécharger l'instantané vierge"
}
},
"dialog": {
@@ -263,7 +267,8 @@
"header": {
"zones": "Zones",
"ratio": "Ratio",
- "area": "Surface"
+ "area": "Surface",
+ "score": "Score"
}
},
"annotationSettings": {
@@ -272,7 +277,7 @@
"millisecondsToOffset": "Millisecondes de décalage pour les annotations de détection. Par défaut : 0",
"tips": "Diminuez la valeur si la lecture vidéo est en avance sur les cadres de détection et les points de tracé, et augmentez-la si la lecture vidéo est en retard sur ceux-ci. Cette valeur peut être négative.",
"toast": {
- "success": "Le décalage des annotations pour {{camera}} a été sauvegardé dans le fichier de configuration. Redémarrez Frigate pour appliquer vos modifications."
+ "success": "Le décalage des annotations pour {{camera}} a été sauvegardé dans le fichier de configuration."
},
"label": "Décalage d'annotation"
},
diff --git a/web/public/locales/fr/views/settings.json b/web/public/locales/fr/views/settings.json
index 404201275..f617e2873 100644
--- a/web/public/locales/fr/views/settings.json
+++ b/web/public/locales/fr/views/settings.json
@@ -12,7 +12,7 @@
"notifications": "Paramètres de notification - Frigate",
"enrichments": "Paramètres d'enrichissements - Frigate",
"cameraManagement": "Gestion des caméras - Frigate",
- "cameraReview": "Paramètres des événements de caméra - Frigate"
+ "cameraReview": "Paramètres des activités - Frigate"
},
"menu": {
"ui": "Interface utilisateur",
@@ -28,7 +28,7 @@
"triggers": "Déclencheurs",
"roles": "Rôles",
"cameraManagement": "Gestion",
- "cameraReview": "Événements"
+ "cameraReview": "Activités"
},
"dialog": {
"unsavedChanges": {
@@ -395,7 +395,7 @@
"name": {
"title": "Nom",
"inputPlaceHolder": "Saisissez un nom.",
- "tips": "Le nom doit comporter au moins 2 caractères, dont une lettre, et ne doit pas être le nom d'une caméra ou d'une autre zone."
+ "tips": "Le nom doit comporter au moins 2 caractères, dont une lettre, et ne doit pas être le nom d'une caméra ou d'une autre zone sur cette caméra."
},
"loiteringTime": {
"desc": "Définit une durée minimale en secondes pendant laquelle l'objet doit rester dans la zone pour qu'elle s'active. Par défaut : 0",
@@ -429,7 +429,7 @@
"title": "Inertie"
},
"toast": {
- "success": "La zone ({{zoneName}}) a été enregistrée. Redémarrez Frigate pour appliquer les modifications."
+ "success": "La zone ({{zoneName}}) a été enregistrée."
},
"objects": {
"title": "Objets",
@@ -457,8 +457,8 @@
"clickDrawPolygon": "Cliquer pour dessiner un polygone sur l'image.",
"toast": {
"success": {
- "title": "{{polygonName}} a été enregistré. Redémarrez Frigate pour appliquer les modifications.",
- "noName": "Le masque de mouvement a été enregistré. Redémarrez Frigate pour appliquer les modifications."
+ "title": "{{polygonName}} a été enregistré.",
+ "noName": "Le masque de mouvement a été enregistré."
}
},
"desc": {
@@ -482,8 +482,8 @@
},
"toast": {
"success": {
- "noName": "Le masque d'objet a été enregistré. Redémarrez Frigate pour appliquer les modifications.",
- "title": "{{polygonName}} a été enregistré. Redémarrez Frigate pour appliquer les modifications."
+ "noName": "Le masque d'objet a été enregistré.",
+ "title": "{{polygonName}} a été enregistré."
}
},
"point_one": "{{count}} point",
@@ -720,7 +720,7 @@
},
"label": "Taille du modèle"
},
- "desc": "La recherche sémantique de Frigate vous permet de retrouver les objets suivis dans vos événements en utilisant soit l'image elle-même, soit une description textuelle définie par l'utilisateur, soit une description générée automatiquement."
+ "desc": "La recherche sémantique de Frigate vous permet de retrouver les objets suivis dans vos activités en utilisant soit l'image elle-même, soit une description textuelle définie par l'utilisateur, soit une description générée automatiquement."
},
"unsavedChanges": "Modifications non enregistrées des paramètres d'enrichissements",
"faceRecognition": {
@@ -1256,17 +1256,17 @@
}
},
"cameraReview": {
- "title": "Paramètres des événements de la caméra",
+ "title": "Paramètres des activités caméra",
"object_descriptions": {
"title": "Descriptions d'objets par l'IA générative",
"desc": "Active ou désactive temporairement les descriptions d'objets générées par l'IA générative pour cette caméra. Lorsque cette option est désactivée, aucune description par l'IA n'est générée pour les objets suivis sur cette caméra."
},
"review_descriptions": {
- "title": "Descriptions des événements par l'IA générative",
- "desc": "Active ou désactive temporairement les descriptions par l'IA générative pour cette caméra. Lorsque cette option est désactivée, aucune description par l'IA ne sera générée pour les événements de cette caméra."
+ "title": "Descriptions des activités par l'IA générative",
+ "desc": "Active ou désactive temporairement les descriptions par l'IA générative pour cette caméra. Lorsque cette option est désactivée, aucune description par l'IA ne sera générée pour les activités sur cette caméra."
},
"review": {
- "title": "Événements",
+ "title": "Activités",
"desc": "Active ou désactive temporairement les alertes et les détections pour cette caméra jusqu'au redémarrage de Frigate. Lorsque cette option est désactivée, aucun nouvel événement n'est généré. ",
"alerts": "Alertes ",
"detections": "Détections "
diff --git a/web/public/locales/fr/views/system.json b/web/public/locales/fr/views/system.json
index 4ac6a54ad..bddc85215 100644
--- a/web/public/locales/fr/views/system.json
+++ b/web/public/locales/fr/views/system.json
@@ -186,9 +186,9 @@
"face_recognition": "Reconnaissance faciale",
"text_embedding": "Vitesse d'embedding de visage",
"yolov9_plate_detection_speed": "Vitesse de détection de plaques d'immatriculation YOLOv9",
- "review_description": "Description de la revue",
- "review_description_speed": "Vitesse de la description de la revue",
- "review_description_events_per_second": "Description de la revue",
+ "review_description": "Description de l'activité",
+ "review_description_speed": "Vitesse de description des activités",
+ "review_description_events_per_second": "Description de l'activité",
"object_description": "Description de l'objet",
"object_description_speed": "Vitesse de la description d'objet",
"object_description_events_per_second": "Description de l'objet"
diff --git a/web/public/locales/it/components/dialog.json b/web/public/locales/it/components/dialog.json
index 1ed986dd7..5e88d1f7d 100644
--- a/web/public/locales/it/components/dialog.json
+++ b/web/public/locales/it/components/dialog.json
@@ -66,7 +66,8 @@
"failed": "Impossibile avviare l'esportazione: {{error}}",
"endTimeMustAfterStartTime": "L'ora di fine deve essere successiva all'ora di inizio",
"noVaildTimeSelected": "Nessun intervallo di tempo valido selezionato"
- }
+ },
+ "view": "Visualizzazione"
},
"fromTimeline": {
"saveExport": "Salva esportazione",
diff --git a/web/public/locales/it/views/classificationModel.json b/web/public/locales/it/views/classificationModel.json
index a07abfd87..84fb1299f 100644
--- a/web/public/locales/it/views/classificationModel.json
+++ b/web/public/locales/it/views/classificationModel.json
@@ -152,7 +152,12 @@
"generateSuccess": "Immagini campione generate correttamente",
"allImagesRequired_one": "Classifica tutte le immagini. Rimane {{count}} immagine.",
"allImagesRequired_many": "Classifica tutte le immagini. Rimangono {{count}} immagini.",
- "allImagesRequired_other": "Classifica tutte le immagini. Rimangono {{count}} immagini."
+ "allImagesRequired_other": "Classifica tutte le immagini. Rimangono {{count}} immagini.",
+ "modelCreated": "Modello creato correttamente. Utilizza la vista Classificazioni recenti per aggiungere immagini per gli stati mancanti, quindi addestrare il modello.",
+ "missingStatesWarning": {
+ "title": "Esempi di stati mancanti",
+ "description": "Non hai selezionato esempi per tutti gli stati. Il modello non verrà addestrato finché tutti gli stati non avranno immagini. Dopo aver continuato, utilizza la vista Classificazioni recenti per classificare le immagini per gli stati mancanti, quindi addestra il modello."
+ }
}
},
"deleteModel": {
diff --git a/web/public/locales/it/views/events.json b/web/public/locales/it/views/events.json
index 62a93e9b4..d5e861ccf 100644
--- a/web/public/locales/it/views/events.json
+++ b/web/public/locales/it/views/events.json
@@ -56,5 +56,8 @@
"clickToSeek": "Premi per cercare in questo momento"
},
"zoomIn": "Ingrandisci",
- "zoomOut": "Rimpicciolisci"
+ "zoomOut": "Rimpicciolisci",
+ "normalActivity": "Normale",
+ "needsReview": "Necessita revisione",
+ "securityConcern": "Rischio per la sicurezza"
}
diff --git a/web/public/locales/it/views/explore.json b/web/public/locales/it/views/explore.json
index 13302a40e..9277ee993 100644
--- a/web/public/locales/it/views/explore.json
+++ b/web/public/locales/it/views/explore.json
@@ -263,7 +263,8 @@
"header": {
"zones": "Zone",
"ratio": "Rapporto",
- "area": "Area"
+ "area": "Area",
+ "score": "Punteggio"
}
},
"annotationSettings": {
diff --git a/web/public/locales/nb-NO/components/dialog.json b/web/public/locales/nb-NO/components/dialog.json
index bebf2368c..fb9bb312d 100644
--- a/web/public/locales/nb-NO/components/dialog.json
+++ b/web/public/locales/nb-NO/components/dialog.json
@@ -61,7 +61,8 @@
"failed": "Klarte ikke å starte eksport: {{error}}",
"noVaildTimeSelected": "Ingen gyldig tidsperiode valgt",
"endTimeMustAfterStartTime": "Sluttid må være etter starttid"
- }
+ },
+ "view": "Vis"
},
"fromTimeline": {
"previewExport": "Forhåndsvis eksport",
diff --git a/web/public/locales/nb-NO/components/filter.json b/web/public/locales/nb-NO/components/filter.json
index 241102e08..b50ac3a97 100644
--- a/web/public/locales/nb-NO/components/filter.json
+++ b/web/public/locales/nb-NO/components/filter.json
@@ -23,8 +23,8 @@
"label": "Sorter",
"dateAsc": "Dato (Stigende)",
"dateDesc": "Dato (Synkende)",
- "scoreAsc": "Objektpoengsum (Stigende)",
- "scoreDesc": "Objektpoengsum (Synkende)",
+ "scoreAsc": "Objektscore (Stigende)",
+ "scoreDesc": "Objektscore (Synkende)",
"speedAsc": "Estimert hastighet (Stigende)",
"speedDesc": "Estimert hastighet (Synkende)",
"relevance": "Relevans"
@@ -104,7 +104,7 @@
"label": "Underetiketter",
"all": "Alle underetiketter"
},
- "score": "Poengsum",
+ "score": "Score",
"estimatedSpeed": "Estimert hastighet ({{unit}})",
"cameras": {
"all": {
diff --git a/web/public/locales/nb-NO/views/classificationModel.json b/web/public/locales/nb-NO/views/classificationModel.json
index 7e0404247..c2fb3e3db 100644
--- a/web/public/locales/nb-NO/views/classificationModel.json
+++ b/web/public/locales/nb-NO/views/classificationModel.json
@@ -1,5 +1,5 @@
{
- "documentTitle": "Klassifiseringsmodeller",
+ "documentTitle": "Klassifiseringsmodeller - Frigate",
"button": {
"deleteClassificationAttempts": "Slett klassifiseringsbilder",
"renameCategory": "Omdøp klasse",
@@ -12,19 +12,19 @@
},
"toast": {
"success": {
- "deletedCategory": "Kategori slettet",
+ "deletedCategory": "Klasse slettet",
"deletedImage": "Bilder slettet",
- "categorizedImage": "Bildet ble klassifisert",
+ "categorizedImage": "Klassifiserte bildet",
"trainedModel": "Modellen ble trent.",
"trainingModel": "Modelltrening startet.",
"deletedModel_one": "{{count}} modell ble slettet",
"deletedModel_other": "{{count}} modeller ble slettet",
"updatedModel": "Modellkonfigurasjonen ble oppdatert",
- "renamedCategory": "Kategorien ble omdøpt til {{name}}"
+ "renamedCategory": "Klassen ble omdøpt til {{name}}"
},
"error": {
"deleteImageFailed": "Kunne ikke slette: {{errorMessage}}",
- "deleteCategoryFailed": "Kunne ikke slette kategori: {{errorMessage}}",
+ "deleteCategoryFailed": "Kunne ikke slette klasse: {{errorMessage}}",
"categorizeFailed": "Kunne ikke klassifisere bilde: {{errorMessage}}",
"trainingFailed": "Modelltrening mislyktes. Sjekk Frigate-loggene for detaljer.",
"deleteModelFailed": "Kunne ikke slette modell: {{errorMessage}}",
@@ -34,10 +34,10 @@
}
},
"deleteCategory": {
- "title": "Slett kategori",
- "desc": "Er du sikker på at du vil slette kategorien {{name}}? Dette vil permanent slette alle tilknyttede bilder og kreve at modellen trenes på nytt.",
+ "title": "Slett klasse",
+ "desc": "Er du sikker på at du vil slette klassen {{name}}? Dette vil permanent slette alle tilknyttede bilder og kreve at modellen trenes på nytt.",
"minClassesTitle": "Kan ikke slette klasse",
- "minClassesDesc": "En klassifiseringsmodell må ha minst 2 kategorier. Legg til en ny kategori før du sletter denne."
+ "minClassesDesc": "En klassifiseringsmodell må ha minst 2 klasser. Legg til en ny klasse før du sletter denne."
},
"deleteDatasetImages": {
"title": "Slett datasettbilder",
@@ -48,7 +48,7 @@
"desc": "Er du sikker på at du vil slette {{count}} bilder? Denne handlingen kan ikke angres."
},
"renameCategory": {
- "title": "Gi nytt navn til kategori",
+ "title": "Omdøp klasse",
"desc": "Skriv inn et nytt navn for {{name}}. Du må trene modellen på nytt for at navneendringen skal tre i kraft."
},
"description": {
@@ -59,9 +59,9 @@
"aria": "Velg nylige klassifiseringer",
"titleShort": "Nylig"
},
- "categories": "Kategorier",
+ "categories": "Klasser",
"createCategory": {
- "new": "Opprett ny kategori"
+ "new": "Opprett ny klasse"
},
"categorizeImageAs": "Klassifiser bilde som:",
"categorizeImage": "Klassifiser bilde",
@@ -98,18 +98,18 @@
"classificationTypeDesc": "Underetiketter legger til ekstra tekst på objektetiketten (f.eks. 'Person: Posten'). Attributter er søkbare metadata som lagres separat i objektets metadata.",
"classificationSubLabel": "Underetikett",
"classificationAttribute": "Attributt",
- "classes": "Kategorier",
- "classesTip": "Lær om kategorier",
+ "classes": "Klasser",
+ "classesTip": "Lær om klasser",
"classesStateDesc": "Definer de ulike tilstandene kamerasonen kan være i. For eksempel: 'åpen' og 'lukket' for en garasjeport.",
- "classesObjectDesc": "Definer kategoriene du vil klassifisere oppdagede objekter i. For eksempel: 'bud', 'beboer', 'fremmed' for personklassifisering.",
- "classPlaceholder": "Skriv inn tilstandsnavn...",
+ "classesObjectDesc": "Definer klassene du vil klassifisere oppdagede objekter i. For eksempel: 'bud', 'beboer', 'fremmed' for personklassifisering.",
+ "classPlaceholder": "Skriv inn klassenavn...",
"errors": {
"nameRequired": "Modellnavn er påkrevd",
"nameLength": "Modellnavn må være på 64 tegn eller mindre",
"nameOnlyNumbers": "Modellnavn kan ikke bare inneholde tall",
- "classRequired": "Minst én kategori er påkrevd",
- "classesUnique": "Kategorinavn må være unike",
- "stateRequiresTwoClasses": "Tilstandsmodeller krever minst to kategorier",
+ "classRequired": "Minst én klasse er påkrevd",
+ "classesUnique": "Klassenavn må være unike",
+ "stateRequiresTwoClasses": "Tilstandsmodeller krever minst to klasser",
"objectLabelRequired": "Velg en objektetikett",
"objectTypeRequired": "Velg en klassifiseringstype"
},
@@ -124,7 +124,7 @@
},
"step3": {
"selectImagesPrompt": "Velg alle bilder med: {{className}}",
- "selectImagesDescription": "Klikk på bilder for å velge dem. Klikk Fortsett når du er ferdig med denne kategorien.",
+ "selectImagesDescription": "Klikk på bilder for å velge dem. Klikk Fortsett når du er ferdig med denne klassen.",
"generating": {
"title": "Genererer eksempelbilder",
"description": "Frigate henter representative bilder fra opptakene dine. Dette kan ta litt tid..."
@@ -146,7 +146,12 @@
},
"generateSuccess": "Eksempelbilder ble generert",
"allImagesRequired_one": "Vennligst klassifiser alle bildene. {{count}} bilde gjenstår.",
- "allImagesRequired_other": "Vennligst klassifiser alle bildene. {{count}} bilder gjenstår."
+ "allImagesRequired_other": "Vennligst klassifiser alle bildene. {{count}} bilder gjenstår.",
+ "modelCreated": "Modellen ble opprettet. Bruk visningen Nylige klassifiseringer for å legge til bilder for manglende tilstander, og tren deretter modellen.",
+ "missingStatesWarning": {
+ "title": "Manglende tilstandseksempler",
+ "description": "Du har ikke valgt eksempler for alle tilstander. Modellen vil ikke trenes før alle tilstander har bilder. Når du har gått videre, bruk visningen Nylige klassifiseringer til å klassifisere bilder for de manglende tilstandene, og tren deretter modellen."
+ }
}
},
"deleteModel": {
@@ -159,7 +164,7 @@
"states": "Tilstander"
},
"details": {
- "scoreInfo": "Poengsummen representerer gjennomsnittlig klassifiseringskonfidens på tvers av alle deteksjoner av dette objektet."
+ "scoreInfo": "Score representerer gjennomsnittlig klassifiseringskonfidens på tvers av alle deteksjoner av dette objektet."
},
"tooltip": {
"trainingInProgress": "Modellen trenes for øyeblikket",
@@ -172,5 +177,6 @@
"descriptionState": "Rediger klassene for denne tilstandsklassifiseringsmodellen. Endringer vil kreve at modellen trenes på nytt.",
"descriptionObject": "Rediger objekttypen og klassifiseringstypen for denne objektklassifiseringsmodellen.",
"stateClassesInfo": "Merk: Endring av tilstandsklasser krever at modellen trenes på nytt med de oppdaterte klassene."
- }
+ },
+ "none": "Ingen"
}
diff --git a/web/public/locales/nb-NO/views/events.json b/web/public/locales/nb-NO/views/events.json
index a16d952e4..37f19f46f 100644
--- a/web/public/locales/nb-NO/views/events.json
+++ b/web/public/locales/nb-NO/views/events.json
@@ -55,5 +55,8 @@
"clickToSeek": "Klikk for å gå til dette tidspunktet"
},
"zoomIn": "Zoom inn",
- "zoomOut": "Zoom ut"
+ "zoomOut": "Zoom ut",
+ "normalActivity": "Normal",
+ "needsReview": "Trenger inspeksjon",
+ "securityConcern": "Sikkerhetsrisiko"
}
diff --git a/web/public/locales/nb-NO/views/explore.json b/web/public/locales/nb-NO/views/explore.json
index 6b1a2df09..95187f224 100644
--- a/web/public/locales/nb-NO/views/explore.json
+++ b/web/public/locales/nb-NO/views/explore.json
@@ -90,7 +90,7 @@
"updatedSublabel": "Underetikett ble oppdatert.",
"updatedLPR": "Vellykket oppdatering av kjennemerke.",
"regenerate": "En ny beskrivelse har blitt anmodet fra {{provider}}. Avhengig av hastigheten til leverandøren din, kan den nye beskrivelsen ta litt tid å regenerere.",
- "audioTranscription": "Lydtranskripsjon ble forespurt."
+ "audioTranscription": "Lydtranskripsjon ble forespurt. Avhengig av ytelsen på din Frigate server kan transkripsjonen ta noe tid å fullføre."
},
"error": {
"regenerate": "Feil ved anrop til {{provider}} for en ny beskrivelse: {{errorMessage}}",
@@ -107,8 +107,8 @@
}
},
"topScore": {
- "info": "Den høyeste poengsummen er den høyeste medianverdi for det sporede objektet, så denne kan avvike fra poengsummen som vises på miniatyrbildet for søkeresultatet.",
- "label": "Høyeste poengsum"
+ "info": "Toppscoren er den høyeste medianverdien for det sporede objektet, så denne kan avvike fra scoren som vises på miniatyrbildet i søkeresultatet.",
+ "label": "Toppscore"
},
"estimatedSpeed": "Estimert hastighet",
"objects": "Objekter",
@@ -147,10 +147,10 @@
"descNoLabel": "Angi en ny underetikett for dette sporede objektet"
},
"snapshotScore": {
- "label": "Øyeblikksbilde poengsum"
+ "label": "Øyeblikksbilde score"
},
"score": {
- "label": "Poengsum"
+ "label": "Score"
}
},
"itemMenu": {
@@ -261,7 +261,8 @@
"header": {
"zones": "Soner",
"ratio": "Forhold",
- "area": "Område"
+ "area": "Område",
+ "score": "Score"
}
},
"annotationSettings": {
diff --git a/web/public/locales/nb-NO/views/faceLibrary.json b/web/public/locales/nb-NO/views/faceLibrary.json
index bb6540655..fcbcaa311 100644
--- a/web/public/locales/nb-NO/views/faceLibrary.json
+++ b/web/public/locales/nb-NO/views/faceLibrary.json
@@ -11,7 +11,7 @@
"face": "Ansiktsdetaljer",
"faceDesc": "Detaljer for sporet objekt som genererte dette ansiktet",
"timestamp": "Tidsstempel",
- "scoreInfo": "Under-merkelappens poengsum er basert på en vektet sum ut ifra hvor sikre gjenkjenningene av ansiktene er, så den kan avvike fra poengsummen som vises på øyeblikksbildet.",
+ "scoreInfo": "Score er et vektet gjennomsnitt av alle ansiktsscorer, vektet etter størrelsen på ansiktet i hvert bilde.",
"subLabelScore": "Poengsum for under-merkelapp",
"unknown": "Ukjent"
},
@@ -38,7 +38,7 @@
"deleteFaceFailed": "Kunne ikke slette: {{errorMessage}}",
"uploadingImageFailed": "Kunne ikke laste opp bilde: {{errorMessage}}",
"trainFailed": "Kunne ikke trene: {{errorMessage}}",
- "updateFaceScoreFailed": "Kunne ikke oppdatere ansiktsskåring: {{errorMessage}}",
+ "updateFaceScoreFailed": "Kunne ikke oppdatere ansiktsscore: {{errorMessage}}",
"addFaceLibraryFailed": "Kunne ikke angi ansiktsnavn: {{errorMessage}}",
"deleteNameFailed": "Kunne ikke slette navn: {{errorMessage}}",
"renameFaceFailed": "Kunne ikke gi nytt navn til ansikt: {{errorMessage}}"
@@ -49,7 +49,7 @@
"deletedName_one": "{{count}} ansikt ble slettet.",
"deletedName_other": "{{count}} ansikter ble slettet.",
"trainedFace": "Ansiktet ble trent.",
- "updatedFaceScore": "Ansiktsskåring ble oppdatert til {{name}} ({{score}}).",
+ "updatedFaceScore": "Oppdaterte ansiktsscore for {{name}} ({{score}}).",
"uploadedImage": "Bildet ble lastet opp.",
"addFaceLibrary": "{{name}} ble lagt til i ansiktsbiblioteket!",
"renamedFace": "Nytt navn ble gitt til ansikt {{name}}"
diff --git a/web/public/locales/nb-NO/views/search.json b/web/public/locales/nb-NO/views/search.json
index 4d81b38b0..2f644041c 100644
--- a/web/public/locales/nb-NO/views/search.json
+++ b/web/public/locales/nb-NO/views/search.json
@@ -15,8 +15,8 @@
"labels": "Etiketter",
"search_type": "Søketype",
"after": "Etter",
- "min_score": "Min. poengsum",
- "max_score": "Maks. poengsum",
+ "min_score": "Min. score",
+ "max_score": "Maks. score",
"min_speed": "Min. hastighet",
"zones": "Soner",
"sub_labels": "Underetiketter",
@@ -36,8 +36,8 @@
"minSpeedMustBeLessOrEqualMaxSpeed": "Minimum hastighet 'min_speed' må være mindre enn eller lik maksimum hastighet 'max_speed'.",
"beforeDateBeLaterAfter": "Før-datoen 'before' må være senere enn etter-datoen 'after'.",
"afterDatebeEarlierBefore": "Etter-datoen 'after' må være tidligere enn før-datoen 'before'.",
- "minScoreMustBeLessOrEqualMaxScore": "Minimum poengsum 'min_score' må være mindre enn eller lik maksimum poengsum 'max_score'.",
- "maxScoreMustBeGreaterOrEqualMinScore": "Maksimum poengsum 'max_score' må være større enn eller lik minimum poengsum 'min_score'.",
+ "minScoreMustBeLessOrEqualMaxScore": "Minimum score 'min_score' må være mindre enn eller lik maksimum score 'max_score'.",
+ "maxScoreMustBeGreaterOrEqualMinScore": "Maksimum score 'max_score' må være større enn eller lik minimum score 'min_score'.",
"maxSpeedMustBeGreaterOrEqualMinSpeed": "Maksimum hastighet 'max_speed' må være større enn eller lik minimum hastighet 'min_speed'."
}
},
diff --git a/web/public/locales/nb-NO/views/settings.json b/web/public/locales/nb-NO/views/settings.json
index 26949e9d2..439e6e255 100644
--- a/web/public/locales/nb-NO/views/settings.json
+++ b/web/public/locales/nb-NO/views/settings.json
@@ -460,7 +460,7 @@
},
"objectShapeFilterDrawing": {
"document": "Se dokumentasjonen ",
- "score": "Poengsum",
+ "score": "Score",
"ratio": "Forhold",
"area": "Areal",
"title": "Tegning av objektformfilter",
@@ -478,7 +478,7 @@
"audio": {
"title": "Lyd",
"noAudioDetections": "Ingen lyddeteksjoner",
- "score": "poengsum",
+ "score": "score",
"currentRMS": "Nåværende RMS",
"currentdbFS": "Nåværende dbFS"
},
diff --git a/web/public/locales/nb-NO/views/system.json b/web/public/locales/nb-NO/views/system.json
index 80acfddf5..e0539bbc0 100644
--- a/web/public/locales/nb-NO/views/system.json
+++ b/web/public/locales/nb-NO/views/system.json
@@ -76,7 +76,7 @@
"npuMemory": "NPU minne",
"npuUsage": "NPU belastning",
"intelGpuWarning": {
- "title": "Advarsel om Intel GPU-statistikk",
+ "title": "Til info om Intel GPU-statistikk",
"message": "GPU statistikk ikke tilgjengelig",
"description": "Dette er en kjent feil i Intels verktøy for rapportering av GPU-statistikk (intel_gpu_top), der verktøyet slutter å fungere og gjentatte ganger viser 0 % GPU-bruk, selv om maskinvareakselerasjon og objektdeteksjon kjører korrekt på (i)GPU-en. Dette er ikke en feil i Frigate. Du kan starte verten på nytt for å løse problemet midlertidig, og for å bekrefte at GPU-en fungerer som den skal. Dette påvirker ikke ytelsen."
}
diff --git a/web/public/locales/nl/components/dialog.json b/web/public/locales/nl/components/dialog.json
index 0346d4dad..b666c2b0c 100644
--- a/web/public/locales/nl/components/dialog.json
+++ b/web/public/locales/nl/components/dialog.json
@@ -65,7 +65,8 @@
"noVaildTimeSelected": "Geen geldig tijdsbereik geselecteerd",
"endTimeMustAfterStartTime": "Eindtijd moet na starttijd zijn"
},
- "success": "Export is succesvol gestart. Bekijk het bestand op de exportpagina."
+ "success": "Export is succesvol gestart. Bekijk het bestand op de exportpagina.",
+ "view": "Weergeven"
},
"fromTimeline": {
"saveExport": "Export opslaan",
diff --git a/web/public/locales/nl/views/classificationModel.json b/web/public/locales/nl/views/classificationModel.json
index b4b0926a8..5674ca30c 100644
--- a/web/public/locales/nl/views/classificationModel.json
+++ b/web/public/locales/nl/views/classificationModel.json
@@ -1,5 +1,5 @@
{
- "documentTitle": "Classificatiemodellen",
+ "documentTitle": "Classificatiemodellen - Frigate",
"button": {
"deleteClassificationAttempts": "Classificatieafbeeldingen verwijderen",
"renameCategory": "Klasse hernoemen",
@@ -148,7 +148,12 @@
},
"generateSuccess": "Met succes gegenereerde voorbeeldafbeeldingen",
"allImagesRequired_one": "Classificeer alle afbeeldingen. {{count}} afbeelding resterend.",
- "allImagesRequired_other": "Classificeer alle afbeeldingen. {{count}} afbeeldingen resterend."
+ "allImagesRequired_other": "Classificeer alle afbeeldingen. {{count}} afbeeldingen resterend.",
+ "modelCreated": "Model succesvol aangemaakt. Gebruik de weergave Recente classificaties om afbeeldingen voor ontbrekende statussen toe te voegen en train vervolgens het model.",
+ "missingStatesWarning": {
+ "title": "Voorbeelden van ontbrekende staten",
+ "description": "Het wordt aanbevolen om voor alle staten voorbeelden te selecteren voor het beste resultaat. Je kunt doorgaan zonder alle staten te selecteren, maar het model wordt pas getraind zodra alle staten afbeeldingen hebben. Na het doorgaan kun je in de weergave ‘Recente Classificaties’ de ontbrekende staten van afbeeldingen voorzien, en daarna het model trainen."
+ }
}
},
"deleteModel": {
@@ -175,5 +180,6 @@
"noNewImages": "Geen nieuwe afbeeldingen om te trainen. Classificeer eerst meer afbeeldingen in de dataset.",
"modelNotReady": "Model is niet klaar voor training",
"noChanges": "Geen wijzigingen in de dataset sinds de laatste training."
- }
+ },
+ "none": "Geen herkenning"
}
diff --git a/web/public/locales/nl/views/events.json b/web/public/locales/nl/views/events.json
index a9ee06d90..15164d657 100644
--- a/web/public/locales/nl/views/events.json
+++ b/web/public/locales/nl/views/events.json
@@ -55,5 +55,8 @@
"clickToSeek": "Klik om naar deze tijd te zoeken"
},
"zoomIn": "Zoom in",
- "zoomOut": "Zoom uit"
+ "zoomOut": "Zoom uit",
+ "normalActivity": "Normaal",
+ "needsReview": "Heeft een beoordeling nodig",
+ "securityConcern": "Beveiligingsprobleem"
}
diff --git a/web/public/locales/nl/views/explore.json b/web/public/locales/nl/views/explore.json
index 6ed4422ca..b67bea20c 100644
--- a/web/public/locales/nl/views/explore.json
+++ b/web/public/locales/nl/views/explore.json
@@ -207,6 +207,10 @@
"viewTrackingDetails": {
"label": "Bekijk trackinggegevens",
"aria": "Toon de trackinggegevens"
+ },
+ "downloadCleanSnapshot": {
+ "label": "Download schone snapshot",
+ "aria": "Download schone snapshot"
}
},
"noTrackedObjects": "Geen gevolgde objecten gevonden",
@@ -261,7 +265,8 @@
"header": {
"zones": "Zones",
"ratio": "Verhouding",
- "area": "Gebied"
+ "area": "Gebied",
+ "score": "Score"
}
},
"annotationSettings": {
@@ -276,7 +281,7 @@
"millisecondsToOffset": "Aantal milliseconden om objectkader mee te verschuiven. Standaard: 0",
"tips": "Verlaag de waarde als de videoweergave sneller is dan de objectkaders en hun trajectpunten, en verhoog de waarde als de videoweergave achterloopt. Deze waarde kan negatief zijn.",
"toast": {
- "success": "Annotatieverschuiving voor {{camera}} is opgeslagen in het configuratiebestand. Herstart Frigate om je wijzigingen toe te passen."
+ "success": "Annotatieverschuiving voor {{camera}} is opgeslagen in het configuratiebestand."
}
}
},
diff --git a/web/public/locales/nl/views/settings.json b/web/public/locales/nl/views/settings.json
index 7509381d2..d41f2b1a8 100644
--- a/web/public/locales/nl/views/settings.json
+++ b/web/public/locales/nl/views/settings.json
@@ -306,7 +306,7 @@
"name": {
"title": "Naam",
"inputPlaceHolder": "Voer een naam in…",
- "tips": "De naam moet minimaal 2 tekens lang zijn, minimaal één letter bevatten en mag niet gelijk zijn aan de naam van een camera of andere zone."
+ "tips": "De naam moet minimaal 2 tekens lang zijn, minimaal één letter bevatten en mag niet gelijk zijn aan de naam van een camera of andere zone op deze camera."
},
"inertia": {
"title": "Traagheid",
@@ -345,7 +345,7 @@
"add": "Zone toevoegen",
"allObjects": "Alle objecten",
"toast": {
- "success": "Zone ({{zoneName}}) is opgeslagen. Start Frigate opnieuw om de wijzigingen toe te passen."
+ "success": "Zone ({{zoneName}}) is opgeslagen."
}
},
"motionMasks": {
@@ -370,8 +370,8 @@
"point_other": "{{count}} punten",
"toast": {
"success": {
- "title": "{{polygonName}} is opgeslagen. Herstart Frigate om de wijzigingen toe te passen.",
- "noName": "Bewegingsmasker is opgeslagen. Herstart Frigate om de wijzigingen toe te passen."
+ "title": "{{polygonName}} is opgeslagen.",
+ "noName": "Bewegingsmasker is opgeslagen."
}
},
"add": "Nieuw bewegingsmasker"
@@ -391,8 +391,8 @@
},
"toast": {
"success": {
- "title": "{{polygonName}} is opgeslagen. Herstart Frigate om de wijzigingen toe te passen.",
- "noName": "Objectmasker is opgeslagen. Herstart Frigate om de wijzigingen toe te passen."
+ "title": "{{polygonName}} is opgeslagen.",
+ "noName": "Objectmasker is opgeslagen."
}
},
"point_one": "{{count}} punt",
diff --git a/web/public/locales/pl/common.json b/web/public/locales/pl/common.json
index 0ac1208b0..0c68e1813 100644
--- a/web/public/locales/pl/common.json
+++ b/web/public/locales/pl/common.json
@@ -87,7 +87,10 @@
"formattedTimestampMonthDayYear": {
"12hour": "d MMMM yyyy",
"24hour": "d MMMM yyyy"
- }
+ },
+ "inProgress": "W trakcie",
+ "invalidStartTime": "Nieprawidłowy czas rozpoczęcia",
+ "invalidEndTime": "Nieprawidłowy czas zakończenia"
},
"unit": {
"speed": {
@@ -97,10 +100,23 @@
"length": {
"feet": "stopy",
"meters": "metry"
+ },
+ "data": {
+ "kbps": "kB/s",
+ "mbps": "MB/s",
+ "gbps": "GB/s",
+ "kbph": "kB/godz.",
+ "mbph": "MB/godz.",
+ "gbph": "GB/godz."
}
},
"label": {
- "back": "Wróć"
+ "back": "Wróć",
+ "hide": "Ukryj {{item}}",
+ "show": "Pokaż {{item}}",
+ "ID": "ID",
+ "none": "Brak",
+ "all": "Wszystko"
},
"button": {
"apply": "Zastosuj",
@@ -137,7 +153,8 @@
"cameraAudio": "Dźwięk kamery",
"off": "WYŁĄCZ",
"edit": "Edytuj",
- "copyCoordinates": "Kopiuj współrzędne"
+ "copyCoordinates": "Kopiuj współrzędne",
+ "continue": "Kontynuuj"
},
"menu": {
"system": "System",
@@ -239,7 +256,8 @@
"configurationEditor": "Edytor konfiguracji",
"help": "Pomoc",
"settings": "Ustawienia",
- "export": "Eksportuj"
+ "export": "Eksportuj",
+ "classification": "Klasyfikacja"
},
"role": {
"viewer": "Przeglądający",
@@ -283,5 +301,9 @@
"readTheDocumentation": "Przeczytaj dokumentację",
"information": {
"pixels": "{{area}}px"
+ },
+ "list": {
+ "two": "{{0}} i {{1}}",
+ "many": "{{items}}, oraz {{last}}"
}
}
diff --git a/web/public/locales/pl/components/dialog.json b/web/public/locales/pl/components/dialog.json
index fb4341d7f..b9a4d9a0f 100644
--- a/web/public/locales/pl/components/dialog.json
+++ b/web/public/locales/pl/components/dialog.json
@@ -70,7 +70,8 @@
"failed": "Nie udało się rozpocząć eksportu: {{error}}",
"endTimeMustAfterStartTime": "Czas zakończenia musi być późniejszy niż czas rozpoczęcia",
"noVaildTimeSelected": "Nie wybrano prawidłowego zakresu czasu"
- }
+ },
+ "view": "Widok"
},
"fromTimeline": {
"saveExport": "Zapisz Eksport",
diff --git a/web/public/locales/pl/views/classificationModel.json b/web/public/locales/pl/views/classificationModel.json
index c9befbdc2..911199992 100644
--- a/web/public/locales/pl/views/classificationModel.json
+++ b/web/public/locales/pl/views/classificationModel.json
@@ -1,9 +1,9 @@
{
- "documentTitle": "Modele klasyfikacji",
+ "documentTitle": "Modele klasyfikacji - Frigate",
"button": {
"deleteClassificationAttempts": "Usuń obrazy klasyfikacyjne",
"renameCategory": "Zmień nazwę klasy",
- "deleteCategory": "Usuń klasę",
+ "deleteCategory": "Usuń klasyfikację",
"deleteImages": "Usuń obrazy",
"trainModel": "Przeszkol model",
"addClassification": "Dodaj klasyfikację",
@@ -39,7 +39,9 @@
},
"deleteCategory": {
"title": "Usuń klasę",
- "desc": "Czy na pewno chcesz usunąć klasę {{name}}? Spowoduje to trawałe usunięcie wszystkich powiązanych obrazków i konieczność ponownego trenowania modelu."
+ "desc": "Czy na pewno chcesz usunąć klasę {{name}}? Spowoduje to trawałe usunięcie wszystkich powiązanych obrazków i konieczność ponownego trenowania modelu.",
+ "minClassesTitle": "Nie można usunąć kategorii",
+ "minClassesDesc": "Model klasyfikacyjny musi posiadać co najmniej dwie kategorie. Dodaj inną kategorię aby możliwe było usunięcie tej kategorii."
},
"deleteModel": {
"title": "Usuń model klasyfikacji",
@@ -49,10 +51,30 @@
"desc_many": "Czy na pewno chcesz usunąć {{count}} modeli? Spowoduje to trwałe usunięcie wszystkich powiązanych danych, włącznie z obrazami i danymi treningowymi. Nie można cofnąć tej operacji."
},
"edit": {
- "title": "Edytuj model klasyfikacji"
+ "title": "Edytuj model klasyfikacji",
+ "descriptionObject": "Zmień typ obiektu i kryteria dla tego modelu klasyfikacji.",
+ "stateClassesInfo": "Uwaga: Zmiana typu klasyfikacji wymaga treningu nowego modelu."
},
"tooltip": {
"trainingInProgress": "Trwa trenowanie modelu",
- "modelNotReady": "Mode nie jest gotowy do trenowania"
+ "modelNotReady": "Mode nie jest gotowy do trenowania",
+ "noChanges": "Brak zmian w zbiorze danych od czasu ostatniego treningu.",
+ "noNewImages": "Nie ma więcej obrazów do trenowania. Zaklasyfikuj więcej obrazów do zbioru danych."
+ },
+ "deleteDatasetImages": {
+ "title": "Usuń obrazy z puli danych"
+ },
+ "renameCategory": {
+ "title": "Zmień nazwę klasy",
+ "desc": "Wprowadź nową nazwę dla {{name}}. Zastosowanie tej zmiany wymagać będzie treningu nowego modelu."
+ },
+ "description": {
+ "invalidName": "Niepoprawna nazwa. Nazwy mogą zawierać tylko: litery, cyfry, spacje, cudzysłowy, podkreślniniki i myślniki."
+ },
+ "train": {
+ "title": "Ostatnie Klasyfikacje"
+ },
+ "createCategory": {
+ "new": "Stwórz nową klasyfikację"
}
}
diff --git a/web/public/locales/pl/views/events.json b/web/public/locales/pl/views/events.json
index 92adee328..cc7b258c6 100644
--- a/web/public/locales/pl/views/events.json
+++ b/web/public/locales/pl/views/events.json
@@ -43,8 +43,8 @@
"label": "Szczegóły",
"noDataFound": "Brak szczegółów do przejrzenia",
"aria": "Przełącz widok szczegółów",
- "trackedObject_one": "obiekt",
- "trackedObject_other": "obiekty",
+ "trackedObject_one": "{{count}} obiekt",
+ "trackedObject_other": "{{count}} obiekty",
"noObjectDetailData": "Brak danych szczegółowych dla obiektu.",
"settings": "Ustawienia widoku szczegółów",
"alwaysExpandActive": {
@@ -55,5 +55,7 @@
"objectTrack": {
"trackedPoint": "Śledzony punkt",
"clickToSeek": "Kliknij aby przewinąć do tego miejsca"
- }
+ },
+ "needsReview": "Wymaga manualnego sprawdzenia",
+ "normalActivity": "Normalne"
}
diff --git a/web/public/locales/pl/views/explore.json b/web/public/locales/pl/views/explore.json
index e5fcae355..913d12f72 100644
--- a/web/public/locales/pl/views/explore.json
+++ b/web/public/locales/pl/views/explore.json
@@ -160,7 +160,8 @@
"snapshot": "zrzut ekranu",
"video": "wideo",
"object_lifecycle": "cykl życia obiektu",
- "thumbnail": "miniaturka"
+ "thumbnail": "miniaturka",
+ "tracking_details": "szczegóły śledzenia"
},
"itemMenu": {
"downloadSnapshot": {
@@ -232,6 +233,30 @@
"createObjectMask": "Utwórz maskę obiektu",
"adjustAnnotationSettings": "Dostosuj ustawienia adnotacji",
"scrollViewTips": "Kliknij, aby zobaczyć najważniejsze momenty cyklu życia tego obiektu.",
- "count": "{{first}} z {{second}}"
+ "count": "{{first}} z {{second}}",
+ "autoTrackingTips": "Pozycja znacznika obiektu jest niedokładna dla kamer z automatycznym śledzeniem.",
+ "lifecycleItemDesc": {
+ "visible": "Wykryto {{label}}",
+ "entered_zone": "{{label}} pojawił się w {{zones}}",
+ "active": "{{label}} poruszył się",
+ "stationary": "{{label}} zatrzymał się",
+ "attribute": {
+ "faceOrLicense_plate": "Wykryto {{attribute}} dla obiektu {{label}}",
+ "other": "{{label}} został rozpoznany jako {{attribute}}"
+ },
+ "gone": "Utracono śledzenie dla {{label}}",
+ "external": "Wykryto {{label}}",
+ "header": {
+ "zones": "Strefy"
+ }
+ },
+ "annotationSettings": {
+ "title": "Ustawienia adnotacji",
+ "showAllZones": {
+ "title": "Pokaż wszystkie strefy",
+ "desc": "Pokazuj linie stref w momencie wejścia obiektu w strefę."
+ }
+ },
+ "trackedPoint": "Śledzony Punkt"
}
}
diff --git a/web/public/locales/pl/views/faceLibrary.json b/web/public/locales/pl/views/faceLibrary.json
index ec13f5f11..0f9ef5e7b 100644
--- a/web/public/locales/pl/views/faceLibrary.json
+++ b/web/public/locales/pl/views/faceLibrary.json
@@ -3,7 +3,7 @@
"description": {
"addFace": "Dodaj nową kolekcję do biblioteki twarzy, przesyłając swoje pierwsze zdjęcie.",
"placeholder": "Wprowadź nazwę tej kolekcji",
- "invalidName": "Nieprawidłowa nazwa. Nazwy mogą zawierać tylko litery, cyfry, spacje, apostrofy, podkreślenia oraz myślniki."
+ "invalidName": "Niepoprawna nazwa. Nazwy mogą zawierać tylko: litery, cyfry, spacje, cudzysłowy, podkreślniniki i myślniki."
},
"details": {
"person": "Osoba",
diff --git a/web/public/locales/pl/views/live.json b/web/public/locales/pl/views/live.json
index 805e49efa..417354f63 100644
--- a/web/public/locales/pl/views/live.json
+++ b/web/public/locales/pl/views/live.json
@@ -67,7 +67,7 @@
},
"manualRecording": {
"title": "Nagrywanie na żądanie",
- "tips": "Rozpocznij ręczne zdarzenie w oparciu o ustawienia przechowywania nagrań tej kamery.",
+ "tips": "Ręcznie rozpocznij zdarzenie w oparciu o ustawienia przechowywania nagrań tej kamery.",
"playInBackground": {
"label": "Odtwarzaj w tle",
"desc": "Włącz tę opcję, aby kontynuować transmisję, gdy odtwarzacz jest ukryty."
@@ -173,7 +173,17 @@
},
"noCameras": {
"buttonText": "Dodaj kamerę",
- "description": "Zacznij od podłączenia kamery.",
- "title": "Nie ustawiono żadnej kamery"
+ "description": "Zacznij od podłączenia kamery do Frigate.",
+ "title": "Nie skonfigurowano żadnej kamery",
+ "restricted": {
+ "title": "Brak dostępnych kamer",
+ "description": "Nie masz uprawnień aby przeglądać kamery w tej grupie."
+ }
+ },
+ "snapshot": {
+ "takeSnapshot": "Pobierz miniaturę",
+ "captureFailed": "Nie udało się wykonać migawki.",
+ "downloadStarted": "Pobieranie migawki rozpoczęte.",
+ "noVideoSource": "Brak źródeł video dostępnych do wykonania migawki."
}
}
diff --git a/web/public/locales/pl/views/settings.json b/web/public/locales/pl/views/settings.json
index 7f2cfee18..956eb5f02 100644
--- a/web/public/locales/pl/views/settings.json
+++ b/web/public/locales/pl/views/settings.json
@@ -13,7 +13,7 @@
"triggers": "Wyzwalacze",
"roles": "Role",
"cameraManagement": "Zarządzanie",
- "cameraReview": "Przejrzyj"
+ "cameraReview": "Przegląd"
},
"dialog": {
"unsavedChanges": {
@@ -26,7 +26,7 @@
"noCamera": "Brak Kamery"
},
"general": {
- "title": "Ustawienia Ogólne",
+ "title": "Ustawienia interfejsu użytkownika",
"storedLayouts": {
"title": "Zapisane Układy",
"clearAll": "Wyczyść Wszystkie Układy",
@@ -50,6 +50,14 @@
"playAlertVideos": {
"label": "Odtwarzaj Filmy Alarmowe",
"desc": "Domyślnie, ostatnie alerty na panelu Na Żywo są odtwarzane jako małe zapętlone filmy. Wyłącz tę opcję, aby pokazywać tylko statyczny obraz ostatnich alertów na tym urządzeniu/przeglądarce."
+ },
+ "displayCameraNames": {
+ "label": "Zawsze pokazuj nazwy kamer",
+ "desc": "Zawsze pokazuj nazwę kamery w widoku wielu kamer."
+ },
+ "liveFallbackTimeout": {
+ "label": "Przekroczono czas oczekiwania dla strumienia",
+ "desc": "W wypadku utraty strumienia wysokiej jakości, użyj trybu niskiej przepustowości po X sekund od utracenia połączenia. Sugerowana wartość: 3."
}
},
"cameraGroupStreaming": {
@@ -906,5 +914,222 @@
"title": "Wyszukiwanie semantyczne jest zablokowane",
"desc": "Wyszukiwanie semantyczne musi być włączone, aby korzystać z triggerów."
}
+ },
+ "cameraWizard": {
+ "title": "Dodaj kamerę",
+ "steps": {
+ "streamConfiguration": "Konfiguracja strumienia",
+ "nameAndConnection": "Nazwa i połączenie",
+ "probeOrSnapshot": "Sonda lub migawka",
+ "validationAndTesting": "Walidacja i testowanie"
+ },
+ "save": {
+ "success": "Zapisano ustawienia nowej kamery {{cameraName}}.",
+ "failure": "Błąd zapisu {{cameraName}}."
+ },
+ "testResultLabels": {
+ "resolution": "Rozdzielczość",
+ "fps": "kl./s",
+ "video": "Wideo",
+ "audio": "Audio"
+ },
+ "commonErrors": {
+ "noUrl": "Podaj poprawny adres URL",
+ "testFailed": "Negatywny wynik testu strumienia: {{error}}"
+ },
+ "step1": {
+ "cameraName": "Nazwa kamery",
+ "cameraNamePlaceholder": "np. drzwi_frontowe lub Ogród",
+ "host": "Host/Adres IP",
+ "port": "Port",
+ "username": "Nazwa użytkownika",
+ "usernamePlaceholder": "Opcjonalne",
+ "password": "Hasło",
+ "passwordPlaceholder": "Opcjonalne",
+ "selectTransport": "Wybierz protokół warstwy transportowej",
+ "cameraBrand": "Marka Kamery",
+ "selectBrand": "Wybierz markę kamery aby dostosować wzór adresu URL",
+ "customUrl": "Niestandardowy adres URL strumienia",
+ "brandInformation": "Informacje o marce",
+ "brandUrlFormat": "Dla kamer z formatem RTSP, formatuj URL jako: {{exampleUrl}}",
+ "customUrlPlaceholder": "rtsp://nazwa_użytkownika:hasło@host:port/scieżka",
+ "connectionSettings": "Ustawienia Połączenia",
+ "detectionMethod": "Metoda wykrywania strumienia",
+ "onvifPort": "Port ONVIF",
+ "manualMode": "Ręczny wybór",
+ "onvifPortDescription": "Dla kamer wspierających protokół ONVIF, port to zazwyczaj 80 lub 8080.",
+ "errors": {
+ "brandOrCustomUrlRequired": "Wybierz markę kamery oraz host/adres IP lub wybierz 'Inny' i podaj niestandardowy adres URL",
+ "nameRequired": "Wymagana nazwa kamery",
+ "nameLength": "Nazwa kamery musi mieć 64 lub mniej znaków",
+ "invalidCharacters": "Nazwa kamery zawiera niepoprawne znaki",
+ "nameExists": "Nazwa kamery jest już zajęta",
+ "customUrlRtspRequired": "Niestandardowe adresy URL muszą zaczynać się od \"rtsp://\". Ręczna konfiguracja wymagana jest dla strumieniów innych niż RTSP."
+ },
+ "description": "Wprowadź szczegóły kamery i wybierz autodetekcję lub ręcznie wybierz firmę.",
+ "probeMode": "Wykryj kamerę",
+ "detectionMethodDescription": "Wykryj kamerę za pomocą ONVIF (jeśli wspierane) by znaleźć adresy strumieni lub wybierz ręcznie markę kamery by wybrać predefiniowane adresy. By wpisać własny adres strumienia RTSP użyj ręcznej metody i wybierz \"Inne\".",
+ "useDigestAuth": "Użyj przesyłania skrótu autentykacji",
+ "useDigestAuthDescription": "Użyj przesyłania skrótu logowania HTTP dla ONVIF. Niektóre kamery mogą wymagać dedykowanego użytkownika i hasła ONVIF zamiast standardowego konta admin."
+ },
+ "step2": {
+ "testSuccess": "Test połączenia udany!",
+ "testFailed": "Test połączenia nieudany. Sprawdź adres źródła obrazu i spróbuj ponownie.",
+ "testFailedTitle": "Test Nieudany",
+ "streamDetails": "Szczegóły Strumienia",
+ "testing": {
+ "fetchingSnapshot": "Przygotowywanie migawki kamery...",
+ "probingMetadata": "Wykrywanie metadanych kamery..."
+ },
+ "deviceInfo": "Informacje o urządzeniu",
+ "manufacturer": "Producent",
+ "model": "Model",
+ "firmware": "Firmware",
+ "profiles": "Profile",
+ "ptzSupport": "Wsparcie PTZ",
+ "autotrackingSupport": "Wsparcie auto-śledzenia",
+ "uriCopy": "Kopiuj",
+ "uriCopied": "Adres URL skopiowano do schowka",
+ "testConnection": "Przetestuj połączenie",
+ "errors": {
+ "hostRequired": "Wymagany jest Host/Adres IP"
+ },
+ "description": "Wykryj dostępne strumienie kamery lub skonfiguruj ręcznie ustawienia na podstawie wybranej metody detekcji.",
+ "probing": "Wykrywanie kamery...",
+ "retry": "Ponów",
+ "probeFailed": "Błąd wykrywania kamery: {{error}}",
+ "probingDevice": "Wykrywanie urządzenia...",
+ "probeSuccessful": "Wykrywanie udane",
+ "probeError": "Błąd wykrywania",
+ "probeNoSuccess": "Niepowodzenie wykrywania",
+ "presets": "Ustawienia wstępne"
+ },
+ "step3": {
+ "streamTitle": "Strumień numer: {{number}}",
+ "streamUrl": "URL strumienia",
+ "streamUrlPlaceholder": "rtsp://nazwa_użytkownika:hasło@host:port/scieżka",
+ "selectStream": "Wybierz strumień",
+ "noStreamFound": "Nie znaleziono żadnego strumienia",
+ "url": "adres URL",
+ "resolution": "Rozdzielczość",
+ "selectResolution": "Wybierz rozdzielczość",
+ "quality": "Jakość",
+ "selectQuality": "wybierz jakość",
+ "roles": "Role",
+ "roleLabels": {
+ "detect": "Wykrywanie obiektów",
+ "record": "Nagrywanie",
+ "audio": "Dźwięk"
+ },
+ "testStream": "Przetestuj połączenie",
+ "testSuccess": "Test strumienia udany!",
+ "testFailed": "Test strumienia nieudany",
+ "testFailedTitle": "Test nieudany",
+ "connected": "Połączono",
+ "notConnected": "Nie połączono",
+ "featuresTitle": "Funkcje",
+ "go2rtc": "Ogranicz połączenia do kamery",
+ "detectRoleWarning": "Przynajmniej jeden strumień musi mieć rolę \"detect\".",
+ "rolesPopover": {
+ "title": "Role strumienia",
+ "detect": "Główny strumień służący do wykrywania obiektów."
+ },
+ "featuresPopover": {
+ "title": "Funkcje strumienia"
+ }
+ },
+ "step4": {
+ "description": "Końcowa walidacja i analiza przed zapisaniem ustawień nowej kamery. Połącz się z każdym strumieniem przed zapisaniem.",
+ "validationTitle": "Walidacja strumienia",
+ "reconnectionSuccess": "Ponowna próba połączenia udana.",
+ "streamUnavailable": "Podgląd strumienia niedostępny",
+ "connecting": "Łączenie...",
+ "streamTitle": "Strumień numer: {{number}}",
+ "valid": "Poprawny",
+ "connectingStream": "Łączenie",
+ "disconnectStream": "Rozłącz",
+ "estimatedBandwidth": "Przewidywana przepustowość",
+ "roles": "Role",
+ "ffmpegModuleDescription": "Jeżeli po kilku próbach strumień nadal nie ładuje się, uruchom ten tryb. Gdy włączony jest ten tryb Frigate będzie używać modułu ffmpeg z go2rtc. Może to zapewnić lepszą kompatybilność z niektórymi typami strumieniów.",
+ "none": "Brak",
+ "error": "Błąd",
+ "streamValidated": "Strumień numer: {{number}} przeszedł test pozytywnie.",
+ "streamValidationFailed": "Strumień numer: {{number}} test nieudany",
+ "saveAndApply": "Zapisz nową kamerę",
+ "saveError": "Nieprawidłowa konfiguracja. Sprawdź ustawienia.",
+ "issues": {
+ "title": "Walidacja strumienia",
+ "audioCodecGood": "Kodek dźwięku to {{codec}}.",
+ "resolutionHigh": "Rozdzielczość {{resolution}} może spowodować większe zużycie zasobów.",
+ "resolutionLow": "Rozdzielczość {{resolution}} może okazać się za mała aby poprawnie wykrywać małe obiekty.",
+ "noAudioWarning": "Nie wykryto dźwięku dla tego strumienia, nagrania również nie będą zawierać dźwięku.",
+ "audioCodecRecordError": "Kodek AAC jest wymagany aby uwzględnić dźwięk w nagraniach.",
+ "audioCodecRequired": "Strumień audio jest wymagany aby umożliwić wykrywanie dźwięku.",
+ "restreamingWarning": "Ograniczenie ilości połączeń do strumienia nagrań może delikatnie zwiększyć użycie procesora",
+ "brands": {
+ "reolink-rtsp": "Strumień RTSP dla kamer firmy Reolink nie jest rekomendowany. Uruchom strumień HTTP w oprogramowaniu kamery i uruchom kreator jeszcze raz."
+ }
+ }
+ },
+ "description": "Wykonaj poniższe kroki aby dodać nową kamerę do Frigate."
+ },
+ "cameraManagement": {
+ "title": "Zarządzaj kamerami",
+ "addCamera": "Dodaj nową kamerę",
+ "editCamera": "Edytuj kamerę:",
+ "selectCamera": "Wybierz kamerę",
+ "backToSettings": "Powrót do ustawień kamery",
+ "streams": {
+ "title": "Włącz / Wyłącz kamery"
+ },
+ "cameraConfig": {
+ "add": "Dodaj kamerę",
+ "edit": "Edytuj kamerę",
+ "description": "Skonfiguruj ustawienia kamery, wliczając strumienie wejściowe i ich role.",
+ "name": "Nazwa kamery",
+ "nameRequired": "Wymagana nazwa kamery",
+ "nameLength": "Nazwa kamery musi mieć 64 lub mniej znaków.",
+ "namePlaceholder": "np. drzwi_frontowe lub Ogród",
+ "enabled": "Włączone",
+ "ffmpeg": {
+ "inputs": "Strumienie wejściowe",
+ "path": "Ścieżka strumienia",
+ "pathRequired": "Ścieżka strumienia jest wymagana",
+ "pathPlaceholder": "rtsp://...",
+ "roles": "Role",
+ "rolesRequired": "Wymagana jest przynajmniej jedna rola",
+ "rolesUnique": "Każda rola ('audio', 'detect', 'record') może zostać przypisana tylko raz",
+ "addInput": "Dodaj strumień wejściowy",
+ "removeInput": "Usuń strumień wejściowy",
+ "inputsRequired": "Wymagany jest przynajmniej jeden strumień wejściowy"
+ },
+ "go2rtcStreams": "Strumienie go2rtc",
+ "streamUrls": "Adresy URL strumieni",
+ "addUrl": "Dodaj adres URL",
+ "addGo2rtcStream": "Dodaj strumień go2rtc",
+ "toast": {
+ "success": "Zapisano poprawnie kamerę {{cameraName}}"
+ }
+ }
+ },
+ "cameraReview": {
+ "review": {
+ "alerts": "Alerty ",
+ "detections": "Wykrycia "
+ },
+ "reviewClassification": {
+ "title": "Przegląd klasyfikacji",
+ "noDefinedZones": "Nie zdefiniowano żadnych stref dla tej kamery.",
+ "objectDetectionsTips": "Wszystkie obiekty w kategorii {{detectionsLabels}} wykryte przez kamerę {{cameraName}} będą wyświetlane jako Wykrycia niezależnie od strefy w której zostały wykryte.",
+ "zoneObjectDetectionsTips": {
+ "text": "Wszystkie obiekty w kategorii {{detectionsLabels}} nieskategoryzowane w strefie {{zone}} kamery {{cameraName}} będą wyświetlane jako Wykrycia.",
+ "notSelectDetections": "Wszystkie obiekty w kategorii {{detectionsLabels}} wykryte w strefie {{zone}} kamery {{cameraName}} nieskategoryzowane jako Alerty będą wyświetlane jako Wykrycia, niezależnie w której strefie zostaną wykryte.",
+ "regardlessOfZoneObjectDetectionsTips": "Wszystkie obiekty w kategorii {{detectionsLabels}} nieskategoryzowane dla kamery {{cameraName}} będą wyświetlane jako Wykrycia niezależnie w której strefie zostaną wykryte."
+ },
+ "unsavedChanges": "Niezapisane ustawienia klasyfikacji przeglądu dla kamery {{camera}}",
+ "selectAlertsZones": "Wybierz strefę dla Alertów",
+ "selectDetectionsZones": "Wybierz strefę dla Wykryć",
+ "limitDetections": "Ogranicz detekcje do konkretnych stref"
+ }
}
}
diff --git a/web/public/locales/pl/views/system.json b/web/public/locales/pl/views/system.json
index 1100ddbc7..ba82ea97d 100644
--- a/web/public/locales/pl/views/system.json
+++ b/web/public/locales/pl/views/system.json
@@ -42,7 +42,11 @@
"gpuMemory": "Pamięć GPU",
"gpuUsage": "Użycie GPU",
"npuUsage": "Użycie NPU",
- "npuMemory": "Pamięć NPU"
+ "npuMemory": "Pamięć NPU",
+ "intelGpuWarning": {
+ "message": "Statystyki układu graficznego niedostępne",
+ "description": "W narzędziach telemetrii i statystyki układów graficznych firmy Intel (intel_gpu_top) znajduje się znany błąd powodujący raportowanie użycia układu graficznego wynoszące 0%, nawet gdy akceleracja sprzętowa i wykrywanie obiektów działa prawidłowo korzystając ze zintegrowanego układu graficznego. To nie jest błąd oprogramowania Frigate. Restart hosta może chwilowo rozwiązać problem i pozwolić na weryfikację działania układu graficznego. Ten bład nie wpływa na wydajność systemu,"
+ }
},
"title": "Ogólne",
"detector": {
diff --git a/web/public/locales/pt-BR/views/classificationModel.json b/web/public/locales/pt-BR/views/classificationModel.json
index 2340ffa68..c90529873 100644
--- a/web/public/locales/pt-BR/views/classificationModel.json
+++ b/web/public/locales/pt-BR/views/classificationModel.json
@@ -19,19 +19,25 @@
"trainingModel": "Treinamento do modelo iniciado com sucesso.",
"deletedModel_one": "{{count}} modelo excluído com sucesso",
"deletedModel_many": "{{count}} modelos excluídos com sucesso",
- "deletedModel_other": "{{count}} modelos excluídos com sucesso"
+ "deletedModel_other": "{{count}} modelos excluídos com sucesso",
+ "updatedModel": "Configuração do modelo atualizada com sucesso",
+ "renamedCategory": "Classe renomeada para {{name}} com sucesso"
},
"error": {
"deleteImageFailed": "Falha ao deletar:{{errorMessage}}",
"deleteCategoryFailed": "Falha ao deletar classe:{{errorMessage}}",
"categorizeFailed": "Falha ao categorizar imagem:{{errorMessage}}",
"deleteModelFailed": "Falha ao excluir o modelo: {{errorMessage}}",
- "trainingFailed": "Falha ao iniciar o treinamento do modelo: {{errorMessage}}"
+ "trainingFailed": "Falha ao iniciar o treinamento do modelo: {{errorMessage}}",
+ "trainingFailedToStart": "Falha ao iniciar o treinamento do modelo: {{errorMessage}}",
+ "updateModelFailed": "Falha ao atualizar modelo: {{errorMessage}}",
+ "renameCategoryFailed": "Falha ao renomear classe: {{errorMessage}}"
}
},
"deleteCategory": {
"title": "Excluir Classe",
- "desc": "Tem certeza de que deseja excluir a classe {{name}}? Isso excluirá permanentemente todas as imagens associadas e exigirá o treinamento do modelo novamente."
+ "desc": "Tem certeza de que deseja excluir a classe {{name}}? Isso excluirá permanentemente todas as imagens associadas e exigirá o treinamento do modelo novamente.",
+ "minClassesTitle": "Não é possível apagar a classe"
},
"deleteModel": {
"title": "Deletar modelo de classificação",
diff --git a/web/public/locales/ro/components/dialog.json b/web/public/locales/ro/components/dialog.json
index c3a451368..cbbbf7115 100644
--- a/web/public/locales/ro/components/dialog.json
+++ b/web/public/locales/ro/components/dialog.json
@@ -88,7 +88,8 @@
"failed": "Eroare la pornirea exportului: {{error}}",
"endTimeMustAfterStartTime": "Ora de sfârșit trebuie să fie după ora de început",
"noVaildTimeSelected": "Nu a fost selectat un interval de timp valid"
- }
+ },
+ "view": "Vizualizează"
},
"fromTimeline": {
"saveExport": "Salvează exportul",
diff --git a/web/public/locales/ro/views/classificationModel.json b/web/public/locales/ro/views/classificationModel.json
index 72b063107..847bc8ee4 100644
--- a/web/public/locales/ro/views/classificationModel.json
+++ b/web/public/locales/ro/views/classificationModel.json
@@ -152,7 +152,12 @@
"generateSuccess": "Imaginile de exemplu au fost generate cu succes",
"allImagesRequired_one": "Te rog să clasifici toate imaginile. {{count}} imagine rămasă.",
"allImagesRequired_few": "Te rog să clasifici toate imaginile. {{count}} imagini rămase.",
- "allImagesRequired_other": "Te rog să clasifici toate imaginile. {{count}} de imagini rămase."
+ "allImagesRequired_other": "Te rog să clasifici toate imaginile. {{count}} de imagini rămase.",
+ "modelCreated": "Modelul a fost creat cu succes. Folosește vizualizarea Clasificări recente pentru a adăuga imagini pentru stările lipsă, apoi antrenează modelul.",
+ "missingStatesWarning": {
+ "title": "Exemple de stări lipsă",
+ "description": "Este recomandat să alegi exemple pentru toate stările pentru rezultate optime. Poți continua fără a selecta toate stările, dar modelul nu va fi antrenat până când toate stările nu au imagini. După continuare, folosește vizualizarea Clasificări recente pentru a clasifica imagini pentru stările lipsă, apoi antrenează modelul."
+ }
}
},
"deleteModel": {
diff --git a/web/public/locales/ro/views/events.json b/web/public/locales/ro/views/events.json
index 651d3b249..ab2f1c0c1 100644
--- a/web/public/locales/ro/views/events.json
+++ b/web/public/locales/ro/views/events.json
@@ -55,5 +55,8 @@
"clickToSeek": "Apasă pentru a naviga la acest moment"
},
"zoomIn": "Mărește",
- "zoomOut": "Micșorează"
+ "zoomOut": "Micșorează",
+ "normalActivity": "Normal",
+ "needsReview": "Necesită revizuire",
+ "securityConcern": "Potențială problemă de securitate"
}
diff --git a/web/public/locales/ro/views/explore.json b/web/public/locales/ro/views/explore.json
index 171b46f44..eb9f23583 100644
--- a/web/public/locales/ro/views/explore.json
+++ b/web/public/locales/ro/views/explore.json
@@ -212,6 +212,10 @@
},
"hideObjectDetails": {
"label": "Ascunde traseul obiectului"
+ },
+ "downloadCleanSnapshot": {
+ "label": "Descarcă un snapshot curat",
+ "aria": "Descarcă snapshot curat"
}
},
"dialog": {
@@ -263,7 +267,8 @@
"header": {
"zones": "Zone",
"ratio": "Raport",
- "area": "Aria"
+ "area": "Aria",
+ "score": "Scor"
}
},
"annotationSettings": {
diff --git a/web/public/locales/ro/views/settings.json b/web/public/locales/ro/views/settings.json
index fb83e7d55..29e943c3d 100644
--- a/web/public/locales/ro/views/settings.json
+++ b/web/public/locales/ro/views/settings.json
@@ -258,7 +258,7 @@
"name": {
"inputPlaceHolder": "Introdu un nume…",
"title": "Nume",
- "tips": "Numele trebuie să aibă cel puțin 2 caractere, trebuie să conțină cel puțin o literă și nu trebuie să fie identic cu numele unei camere sau al unei alte zone existente."
+ "tips": "Numele trebuie să aibă cel puțin 2 caractere, să conțină cel puțin o literă și să nu fie numele unei camere sau al unei alte zone din această cameră."
},
"inertia": {
"title": "Inerție",
diff --git a/web/public/locales/sk/audio.json b/web/public/locales/sk/audio.json
index 4ea31df06..56129353f 100644
--- a/web/public/locales/sk/audio.json
+++ b/web/public/locales/sk/audio.json
@@ -445,7 +445,7 @@
"boiling": "Varenie",
"sonar": "Sonar",
"arrow": "Šípka",
- "whoosh": "Whoosh",
+ "whoosh": "Ktoosh",
"thump": "Palec",
"thunk": "Thunk",
"electronic_tuner": "Elektronický tuner",
diff --git a/web/public/locales/sk/common.json b/web/public/locales/sk/common.json
index 6f29b78fa..199493fdd 100644
--- a/web/public/locales/sk/common.json
+++ b/web/public/locales/sk/common.json
@@ -248,7 +248,8 @@
"label": "Dokumentácia Frigate"
},
"review": "Recenzia",
- "explore": "Preskúmať"
+ "explore": "Preskúmať",
+ "classification": "Klasifikácia"
},
"toast": {
"copyUrlToClipboard": "Adresa URL bola skopírovaná do schránky.",
diff --git a/web/public/locales/sk/components/dialog.json b/web/public/locales/sk/components/dialog.json
index fe4ca101b..6904bc0d2 100644
--- a/web/public/locales/sk/components/dialog.json
+++ b/web/public/locales/sk/components/dialog.json
@@ -58,7 +58,8 @@
"failed": "Chyba spustenia exportu: {{error}}",
"endTimeMustAfterStartTime": "Čas konca musí byť po čase začiatku",
"noVaildTimeSelected": "Nie je vybrané žiadne platné časové obdobie"
- }
+ },
+ "view": "Zobraziť"
},
"fromTimeline": {
"saveExport": "Uložiť Export",
diff --git a/web/public/locales/sk/views/classificationModel.json b/web/public/locales/sk/views/classificationModel.json
index 5e857cfac..f8529ea20 100644
--- a/web/public/locales/sk/views/classificationModel.json
+++ b/web/public/locales/sk/views/classificationModel.json
@@ -145,7 +145,14 @@
"generationFailed": "Generovanie zlyhalo. Skúste to znova.",
"classifyFailed": "Nepodarilo sa klasifikovať obrázky: {{error}}"
},
- "generateSuccess": "Vzorové obrázky boli úspešne vygenerované"
+ "generateSuccess": "Vzorové obrázky boli úspešne vygenerované",
+ "allImagesRequired_one": "Uveďte všetky obrázky. {{count}} obrázok zostáva.",
+ "allImagesRequired_few": "Uveďte všetky obrázky. {{count}} obrázky zostávajú.",
+ "allImagesRequired_other": "Uveďte všetky obrázky. {{count}} obrázkov zostávajú.",
+ "modelCreated": "Model vytvorený úspešne. Použite aktuálne klasifikácie na pridanie obrázkov pre chýbajúce stavy a nasledne dajte trénovať model.",
+ "missingStatesWarning": {
+ "title": "Chýbajúce príklady stavov"
+ }
}
},
"deleteModel": {
diff --git a/web/public/locales/sk/views/events.json b/web/public/locales/sk/views/events.json
index 59ab1eaf1..fe86d41d5 100644
--- a/web/public/locales/sk/views/events.json
+++ b/web/public/locales/sk/views/events.json
@@ -55,5 +55,8 @@
"clickToSeek": "Kliknutím prejdete na tento čas"
},
"zoomIn": "Priblížiť",
- "zoomOut": "Oddialiť"
+ "zoomOut": "Oddialiť",
+ "normalActivity": "Narmalne",
+ "needsReview": "Potrebuje preakúmať",
+ "securityConcern": "Záujem o bezpečnosť"
}
diff --git a/web/public/locales/sk/views/explore.json b/web/public/locales/sk/views/explore.json
index 6e2cf7fc7..223eb80fd 100644
--- a/web/public/locales/sk/views/explore.json
+++ b/web/public/locales/sk/views/explore.json
@@ -21,7 +21,7 @@
"regenerate": "Od poskytovateľa {{provider}} bol vyžiadaný nový popis. V závislosti od rýchlosti vášho poskytovateľa môže jeho obnovenie chvíľu trvať.",
"updatedSublabel": "Podštítok bol úspešne aktualizovaný.",
"updatedLPR": "ŠPZ bola úspešne aktualizovaná.",
- "audioTranscription": "Úspešne požiadané o prepis zvuku."
+ "audioTranscription": "Úspešne požiadané o prepis zvuku. V závislosti od rýchlosti vášho servera Frigate môže dokončenie prepisu trvať určitý čas."
},
"error": {
"regenerate": "Nepodarilo sa zavolať od {{provider}} pre nový popis: {{errorMessage}}",
@@ -209,6 +209,10 @@
"viewTrackingDetails": {
"label": "Zobraziť podrobnosti sledovania",
"aria": "Zobraziť podrobnosti o sledovaní"
+ },
+ "downloadCleanSnapshot": {
+ "label": "Stiahnuť čistý snapshot",
+ "aria": "Stiahnuť čistý snapshot"
}
},
"dialog": {
@@ -263,7 +267,8 @@
"header": {
"zones": "Zóny",
"ratio": "Pomer",
- "area": "Oblasť"
+ "area": "Oblasť",
+ "score": "Skóre"
}
},
"annotationSettings": {
diff --git a/web/public/locales/sk/views/faceLibrary.json b/web/public/locales/sk/views/faceLibrary.json
index a390aab8d..ba46fda1f 100644
--- a/web/public/locales/sk/views/faceLibrary.json
+++ b/web/public/locales/sk/views/faceLibrary.json
@@ -1,6 +1,6 @@
{
"description": {
- "addFace": "Sprievodca pridaním novej kolekcie do Knižnice tvárí.",
+ "addFace": "Pridajte novú kolekciu do Face Library nahrať svoj prvý obrázok.",
"invalidName": "Neplatné meno. Mená môžu obsahovať iba písmená, čísla, medzery, apostrofy, podčiarkovníky a spojovníky.",
"placeholder": "Zadajte názov pre túto kolekciu"
},
diff --git a/web/public/locales/sk/views/settings.json b/web/public/locales/sk/views/settings.json
index 8c4ae5bd3..900236606 100644
--- a/web/public/locales/sk/views/settings.json
+++ b/web/public/locales/sk/views/settings.json
@@ -551,10 +551,12 @@
"probeMode": "Probe kamera",
"manualMode": "Ručný výber",
"detectionMethodDescription": "Vyskúša cez ONVIF (ak je podporovaný) nájsť kamery streamové adresy, alebo ručne vyberte značku kamery a jej preddefinované URL. Ak chcete zadať vlastnú URL RTSP, vyberte manuálne zadanie a označte \"Ostatné\".",
- "onvifPortDescription": "Pre kamery, ktoré podporujú ONVIF, to je zvyčajne 80 alebo 8080."
+ "onvifPortDescription": "Pre kamery, ktoré podporujú ONVIF, to je zvyčajne 80 alebo 8080.",
+ "useDigestAuth": "Použite overenie súhrnu",
+ "useDigestAuthDescription": "Použite HTTP stráviteľné overenie pre ONVIF. Niektoré kamery môžu vyžadovať vyhradený ONVIF užívateľské meno/password namiesto štandardného správcu."
},
"step2": {
- "description": "Konfigurovať prúdové role a pridať ďalšie prúdy pre vašu kameru.",
+ "description": "Vyhľadajte dostupné streamy z kamery alebo nakonfigurujte manuálne nastavenia na základe zvolenej metódy detekcie.",
"streamsTitle": "Kamerové prúdy",
"addStream": "Pridať Stream",
"addAnotherStream": "Pridať ďalší Stream",
@@ -573,8 +575,8 @@
"audio": "Zvuk"
},
"testStream": "Testovacie pripojenie",
- "testSuccess": "Stream test úspešné!",
- "testFailed": "Stream test zlyhal",
+ "testSuccess": "Test pripojenia bol úspešný!",
+ "testFailed": "Test pripojenia zlyhal. Skontrolujte zadané údaje a skúste to znova.",
"testFailedTitle": "Test Zlyhal",
"connected": "Pripojené",
"notConnected": "Nie je pripojený",
@@ -590,6 +592,38 @@
"featuresPopover": {
"title": "Funkcie streamu",
"description": "Použite prekrytie go2rtc na zníženie pripojenia k fotoaparátu."
+ },
+ "streamDetails": "Detaily vysielania",
+ "probing": "Skúmajúca kamera...",
+ "retry": "Skúste to znova",
+ "testing": {
+ "probingMetadata": "Skúmanie metadát kamery...",
+ "fetchingSnapshot": "Načítava sa snímka z fotoaparátu..."
+ },
+ "probeFailed": "Nepodarilo sa otestovať kameru: {{error}}",
+ "probingDevice": "Snímacie zariadenie...",
+ "probeSuccessful": "Sonda úspešná",
+ "probeError": "Chyba sondy",
+ "probeNoSuccess": "Sonda neúspešná",
+ "deviceInfo": "Informácie o zariadení",
+ "manufacturer": "Výrobca",
+ "model": "Model",
+ "firmware": "Firmvér",
+ "profiles": "Profily",
+ "ptzSupport": "PTZ Podpora",
+ "autotrackingSupport": "Podpora automatického sledovania",
+ "presets": "Prestavby",
+ "rtspCandidates": "RTSP kandidátov",
+ "rtspCandidatesDescription": "Z kamery boli nájdené nasledujúce adresy URL RTSP. Otestujte pripojenie a zobrazte metadáta streamu.",
+ "noRtspCandidates": "Z kamery sa nenašli žiadne URL adresy RTSP. Vaše prihlasovacie údaje môžu byť nesprávne alebo kamera nepodporuje protokol ONVIF alebo metódu použitú na získanie URL adries RTSP. Vráťte sa späť a zadajte URL adresu RTSP manuálne.",
+ "candidateStreamTitle": "Kandidát {{number}}",
+ "useCandidate": "Použitie",
+ "uriCopy": "Kopírovať",
+ "uriCopied": "URI skopírované do schránky",
+ "testConnection": "Testovacie pripojenie",
+ "toggleUriView": "Kliknutím prepnete zobrazenie celého URI",
+ "errors": {
+ "hostRequired": "Vyžaduje sa hostiteľská/IP adresa"
}
},
"step3": {
@@ -621,6 +655,57 @@
"resolutionHigh": "Rozlíšenie {{resolution}} môže spôsobiť zvýšenú spotrebu zdrojov.",
"resolutionLow": "Rozlíšenie {{resolution}} môže byť príliš nízka pre spoľahlivú detekciu malých objektov."
},
+ "description": "Nakonfigurujte role streamov a pridajte ďalšie streamy pre vašu kameru.",
+ "validationTitle": "Stream Platnosť",
+ "connectAllStreams": "Pripojte všetky prúdy",
+ "reconnectionSuccess": "Opätovné pripojenie bolo úspešné.",
+ "reconnectionPartial": "Niektoré prúdy sa nepodarilo prepojiť.",
+ "streamUnavailable": "Ukážka streamu nie je k dispozícii",
+ "reload": "Znovu načítať",
+ "connecting": "Pripája...",
+ "streamTitle": "Stream {{number}}",
+ "valid": "Platné",
+ "failed": "Zlyhanie",
+ "notTested": "Netestované",
+ "streamsTitle": "Kamerové prúdy",
+ "addStream": "Pridať Stream",
+ "addAnotherStream": "Pridať ďalší Stream",
+ "streamUrl": "Stream URL",
+ "streamUrlPlaceholder": "rtsp://username:password@host:port/path",
+ "selectStream": "Vyberte stream",
+ "searchCandidates": "Hľadať kandidátov...",
+ "noStreamFound": "Nenašiel sa žiadny stream",
+ "url": "URL",
+ "resolution": "Rozlíšenie",
+ "selectResolution": "Vyberte rozlíšenie",
+ "quality": "Kvalita",
+ "selectQuality": "Vyberte kvalitu",
+ "roleLabels": {
+ "detect": "Detekcia objektov",
+ "record": "Nahrávanie",
+ "audio": "Zvuk"
+ },
+ "testStream": "Testovanie pripojenia",
+ "testSuccess": "Stream test úspešné!",
+ "testFailed": "Stream test zlyhal",
+ "testFailedTitle": "Test Zlyhal",
+ "connected": "Pripojené",
+ "notConnected": "Nie je pripojený",
+ "featuresTitle": "Vlastnosti",
+ "go2rtc": "Znížte počet pripojení ku kamere",
+ "detectRoleWarning": "Aspoň jeden prúd musí mať \"detekt\" úlohu pokračovať.",
+ "rolesPopover": {
+ "title": "Roly streamu",
+ "detect": "Hlavné krmivo pre detekciu objektu.",
+ "record": "Ukladá segmenty video kanála na základe nastavení konfigurácie.",
+ "audio": "Kŕmenie pre detekciu zvuku."
+ },
+ "featuresPopover": {
+ "title": "Funkcie streamu",
+ "description": "Použite prekrytie go2rtc na zníženie pripojenia k fotoaparátu."
+ }
+ },
+ "step4": {
"description": "Záverečné overenie a analýza pred uložením nového fotoaparátu. Pripojte každý prúd pred uložením.",
"validationTitle": "Stream Platnosť",
"connectAllStreams": "Pripojte všetky prúdy",
@@ -632,7 +717,40 @@
"streamTitle": "Stream {{number}}",
"valid": "Platné",
"failed": "Zlyhanie",
- "notTested": "Netestované"
+ "notTested": "Netestované",
+ "connectStream": "Pripojiť",
+ "connectingStream": "Pripája",
+ "disconnectStream": "Odpojiť",
+ "estimatedBandwidth": "Odhadovaná šírka pásma",
+ "roles": "Roly",
+ "ffmpegModule": "Použite režim kompatibility prúdu",
+ "ffmpegModuleDescription": "Ak sa stream nenačíta ani po niekoľkých pokusoch, skúste túto funkciu povoliť. Keď je táto funkcia povolená, Frigate použije modul ffmpeg s go2rtc. To môže poskytnúť lepšiu kompatibilitu s niektorými streammi z kamier.",
+ "none": "Žiadne",
+ "error": "Chyba",
+ "streamValidated": "Stream {{number}} úspešne overený",
+ "streamValidationFailed": "Stream {{number}} validácia zlyhala",
+ "saveAndApply": "Uložiť novú kameru",
+ "saveError": "Neplatná konfigurácia. Skontrolujte nastavenia.",
+ "issues": {
+ "title": "Platnosť Streamu",
+ "videoCodecGood": "Kód videa je {{codec}}.",
+ "audioCodecGood": "Audio kódc je {{codec}}.",
+ "resolutionHigh": "Rozlíšenie {{resolution}} môže spôsobiť zvýšenú spotrebu zdrojov.",
+ "resolutionLow": "Rozlíšenie {{resolution}} môže byť príliš nízka pre spoľahlivú detekciu malých objektov.",
+ "noAudioWarning": "Žiadne audio nebolo detekovane pre tento prúd, nahrávanie nebude mať audio.",
+ "audioCodecRecordError": "AAC audio kodek je potrebný na podporu audio v záznamoch.",
+ "audioCodecRequired": "Zvukový prúd je povinný podporovať detekciu zvuku.",
+ "restreamingWarning": "Zníženie pripojenia ku kamery pre rekordný prúd môže mierne zvýšiť využitie CPU.",
+ "brands": {
+ "reolink-rtsp": "Reolink RTSP sa neodporúča. Odporúča sa povoliť HTTP v nastavení kamery a reštartovať sprievodca kamery."
+ },
+ "dahua": {
+ "substreamWarning": "Čiastkový stream 1 je uzamknutý na nízke rozlíšenie. Mnoho kamier Dahua / Amcrest / EmpireTech podporuje ďalšie čiastkové streamy, ktoré je potrebné povoliť v nastaveniach kamery. Odporúča sa skontrolovať a využiť tieto streamy, ak sú k dispozícii."
+ },
+ "hikvision": {
+ "substreamWarning": "Čiastkový stream 1 je uzamknutý na nízke rozlíšenie. Mnoho kamier Hikvision podporuje ďalšie čiastkové streamy, ktoré je potrebné povoliť v nastaveniach kamery. Odporúča sa skontrolovať a využiť tieto streamy, ak sú k dispozícii."
+ }
+ }
}
},
"cameraManagement": {
@@ -829,9 +947,9 @@
"createRole": "Rola {{role}} bola úspešne vytvorená",
"updateCameras": "Kamery aktualizované pre rolu {{role}}",
"deleteRole": "Rola {{role}} bola úspešne odstránená",
- "userRolesUpdated_one": "{{count}} užívateľ (y) priradené tejto úlohe boli aktualizované pre \"viewer\", ktorý má prístup ku všetkým kamerám.",
+ "userRolesUpdated_one": "",
"userRolesUpdated_few": "",
- "userRolesUpdated_other": ""
+ "userRolesUpdated_other": "{{count}} užívatelia priradené tejto úlohe boli aktualizované pre \"viewer\", ktorý má prístup ku všetkým kamerám."
},
"error": {
"createRoleFailed": "Nepodarilo sa vytvoriť rolu: {{errorMessage}}",
diff --git a/web/public/locales/sk/views/system.json b/web/public/locales/sk/views/system.json
index c017f974c..94afc9111 100644
--- a/web/public/locales/sk/views/system.json
+++ b/web/public/locales/sk/views/system.json
@@ -188,7 +188,10 @@
"yolov9_plate_detection": "YOLOv9 Detekcia ŠPZ",
"review_description": "Popis recenzie",
"review_description_speed": "Popis recenzie Rýchlosťi",
- "review_description_events_per_second": "Popis"
+ "review_description_events_per_second": "Popis",
+ "object_description": "Popis objektu",
+ "object_description_speed": "Popis objektu Rýchlosť",
+ "object_description_events_per_second": "Popis objektu"
},
"averageInf": "Priemerný čas inferencie"
}
diff --git a/web/public/locales/sv/components/dialog.json b/web/public/locales/sv/components/dialog.json
index 712ddd1d6..2ef0e8814 100644
--- a/web/public/locales/sv/components/dialog.json
+++ b/web/public/locales/sv/components/dialog.json
@@ -57,7 +57,8 @@
"failed": "Misslyckades med att starta exporten: {{error}}",
"endTimeMustAfterStartTime": "Sluttiden måste vara efter starttiden",
"noVaildTimeSelected": "Inget giltigt tidsintervall valt"
- }
+ },
+ "view": "Visa"
},
"fromTimeline": {
"saveExport": "Spara export",
diff --git a/web/public/locales/sv/objects.json b/web/public/locales/sv/objects.json
index 9a17a137c..1e2926ff3 100644
--- a/web/public/locales/sv/objects.json
+++ b/web/public/locales/sv/objects.json
@@ -112,7 +112,7 @@
"oven": "Ugn",
"blender": "Blandare",
"book": "Bok",
- "waste_bin": "Papperskorg",
+ "waste_bin": "Soptunna",
"license_plate": "Nummerplåt",
"toothbrush": "Tandborste",
"ups": "UPS",
diff --git a/web/public/locales/sv/views/classificationModel.json b/web/public/locales/sv/views/classificationModel.json
index abe0e19da..0f66624fb 100644
--- a/web/public/locales/sv/views/classificationModel.json
+++ b/web/public/locales/sv/views/classificationModel.json
@@ -148,7 +148,8 @@
},
"generateSuccess": "Exempelbilder har genererats",
"allImagesRequired_one": "Vänligen klassificera alla bilder. {{count}} bild återstår.",
- "allImagesRequired_other": "Vänligen klassificera alla bilder. {{count}} bilder återstår."
+ "allImagesRequired_other": "Vänligen klassificera alla bilder. {{count}} bilder återstår.",
+ "modelCreated": "Modellen har skapats. Använd vyn Senaste klassificeringar för att lägga till bilder för saknade tillstånd och träna sedan modellen."
}
},
"deleteModel": {
diff --git a/web/public/locales/sv/views/events.json b/web/public/locales/sv/views/events.json
index 4d39c8fed..c9614b1a0 100644
--- a/web/public/locales/sv/views/events.json
+++ b/web/public/locales/sv/views/events.json
@@ -55,5 +55,8 @@
"clickToSeek": "Klicka för att söka till den här tiden"
},
"zoomIn": "Zooma in",
- "zoomOut": "Zooma ut"
+ "zoomOut": "Zooma ut",
+ "normalActivity": "Normal",
+ "needsReview": "Behöver granskas",
+ "securityConcern": "Säkerhetsproblem"
}
diff --git a/web/public/locales/sv/views/explore.json b/web/public/locales/sv/views/explore.json
index 068aff6b3..fb0265071 100644
--- a/web/public/locales/sv/views/explore.json
+++ b/web/public/locales/sv/views/explore.json
@@ -261,7 +261,8 @@
"header": {
"zones": "Zoner",
"ratio": "Förhållandet",
- "area": "Område"
+ "area": "Område",
+ "score": "Resultat"
}
},
"annotationSettings": {
diff --git a/web/public/locales/tr/audio.json b/web/public/locales/tr/audio.json
index 6364c8dcd..34a6f366f 100644
--- a/web/public/locales/tr/audio.json
+++ b/web/public/locales/tr/audio.json
@@ -32,7 +32,7 @@
"sheep": "koyun",
"train": "tren",
"hair_dryer": "saç kurutma makinesi",
- "babbling": "aguşlama",
+ "babbling": "Agulama",
"snicker": "kıkırdama",
"sigh": "iç çekme",
"bellow": "haykırma",
@@ -425,5 +425,79 @@
"radio": "radyo",
"field_recording": "alan kaydı",
"scream": "çığlık",
- "jingle_bell": "küçük çan"
+ "jingle_bell": "küçük çan",
+ "sodeling": "Jodel (Yodeling)",
+ "chird": "Cıvıltı",
+ "change_ringing": "Sıralı Çan Çalma",
+ "shofar": "Şofar",
+ "liquid": "Sıvı",
+ "splash": "Su Sıçraması",
+ "slosh": "Çalkalanma",
+ "squish": "Vıcıklama (Islak Ezilme)",
+ "drip": "Damlama",
+ "pour": "Dökülme",
+ "trickle": "Şırıldama / İnce Akış",
+ "gush": "Fışkırma",
+ "fill": "Doldurma",
+ "spray": "Püskürtme / Sprey",
+ "pump": "Pompalama",
+ "stir": "Karıştırma",
+ "boiling": "Kaynama",
+ "sonar": "Sonar Sesi",
+ "arrow": "Ok Sesi",
+ "whoosh": "Hışırtı (Hızlı Geçiş Sesi)",
+ "thump": "Küt Sesi (Boğuk)",
+ "thunk": "Tok Ses",
+ "electronic_tuner": "Elektronik Akort Cihazı",
+ "effects_unit": "Efekt Ünitesi",
+ "chorus_effect": "Chorus (Koro) Efekti",
+ "basketball_bounce": "Basketbol Topu Sektirme",
+ "bang": "Gümleme / Patlama",
+ "slap": "Tokat / Şaplak",
+ "whack": "Sert Vuruş / Kütletme",
+ "smash": "Parçalanma",
+ "breaking": "Kırılma",
+ "bouncing": "Sekme / Zıplama",
+ "whip": "Kırbaç",
+ "flap": "Kanat Çırpma / Pırpır Etme",
+ "scratch": "Tırmalama / Cızırtı",
+ "scrape": "Kazıma / Sürtünme",
+ "rub": "Ovma / Sürtme",
+ "roll": "Yuvarlanma",
+ "crushing": "Ezilme (Kuru/Sert)",
+ "crumpling": "Buruşturma",
+ "tearing": "Yırtılma",
+ "beep": "Bip Sesi",
+ "ping": "Ping Sesi (Çınlama)",
+ "ding": "Ding (Zil Sesi)",
+ "clang": "Çangırtı (Metalik)",
+ "squeal": "Ciyaklama / Acı Gıcırtı",
+ "creak": "Gıcırdama (Tahta/Kapı)",
+ "rustle": "Hışırtı (Kağıt/Yaprak)",
+ "whir": "Vızıltı (Motor/Pervane)",
+ "clatter": "Takırtı",
+ "sizzle": "Cızırdayarak Kızarma",
+ "clicking": "Tıklama",
+ "clickety_clack": "Takır Tukur Sesi",
+ "rumble": "Gürleme / Gümbürtü",
+ "plop": "Lup Sesi (Suya düşme)",
+ "hum": "Uğultu / Mırıldanma",
+ "zing": "Vınlama",
+ "boing": "Boing (Yay Sesi)",
+ "crunch": "Kıtırdatma / Çıtırdatma",
+ "sine_wave": "Sinüs Dalgası",
+ "harmonic": "Harmonik",
+ "chirp_tone": "Cıvıltı Tonu (Sinyal)",
+ "pulse": "Darbe / Pulse",
+ "inside": "İç Mekan",
+ "outside": "Dış Mekan",
+ "reverberation": "Yankılanım (Reverb)",
+ "echo": "Yankı",
+ "noise": "Gürültü",
+ "mains_hum": "Şebeke Uğultusu (Elektrik)",
+ "distortion": "Bozulma / Distorsiyon",
+ "sidetone": "Yan Ton",
+ "cacophony": "Kakofoni (Ses Kargaşası)",
+ "throbbing": "Zonklama",
+ "vibration": "Titreşim"
}
diff --git a/web/public/locales/tr/common.json b/web/public/locales/tr/common.json
index 977ef88cf..6dd7d7907 100644
--- a/web/public/locales/tr/common.json
+++ b/web/public/locales/tr/common.json
@@ -81,7 +81,10 @@
"formattedTimestampMonthDayYear": {
"12hour": "d MMM, yyyy",
"24hour": "d MMM, yyyy"
- }
+ },
+ "inProgress": "Devam ediyor",
+ "invalidStartTime": "Geçersiz başlangıç zamanı",
+ "invalidEndTime": "Geçersiz bitiş zamanı"
},
"button": {
"off": "KAPALI",
@@ -118,7 +121,8 @@
"cancel": "İptal",
"twoWayTalk": "Çift Yönlü Ses",
"close": "Kapat",
- "delete": "Sil"
+ "delete": "Sil",
+ "continue": "Devam Et"
},
"menu": {
"systemLogs": "Sistem günlükleri",
@@ -219,10 +223,16 @@
"help": "Yardım",
"faceLibrary": "Yüz Veritabanı",
"systemMetrics": "Sistem metrikleri",
- "uiPlayground": "UI Deneme Alanı"
+ "uiPlayground": "UI Deneme Alanı",
+ "classification": "Sınıflandırma"
},
"label": {
- "back": "Geri"
+ "back": "Geri",
+ "hide": "{{item}} öğesini gizle",
+ "show": "{{item}} öğesini göster",
+ "ID": "ID",
+ "none": "Yok",
+ "all": "Tümü"
},
"notFound": {
"documentTitle": "Bulunamadı - Frigate",
@@ -237,6 +247,14 @@
"length": {
"feet": "feet",
"meters": "metre"
+ },
+ "data": {
+ "kbps": "kB/s",
+ "mbps": "MB/s",
+ "gbps": "GB/s",
+ "kbph": "kB/saat",
+ "mbph": "MB/saat",
+ "gbph": "GB/saat"
}
},
"pagination": {
@@ -273,5 +291,17 @@
"admin": "Yönetici",
"desc": "Yöneticiler Frigate arayüzündeki bütün özelliklere tam erişim sahibidir. Görüntüleyiciler ise yalnızca kameraları, eski görüntüleri ve inceleme öğelerini görüntülemekle sınırlıdır."
},
- "readTheDocumentation": "Dökümantasyonu oku"
+ "readTheDocumentation": "Dökümantasyonu oku",
+ "list": {
+ "two": "{{0}} ve {{1}}",
+ "many": "{{items}} ve {{last}}",
+ "separatorWithSpace": ", "
+ },
+ "field": {
+ "optional": "İsteğe bağlı",
+ "internalID": "Frigate’ın yapılandırma ve veritabanında kullandığı Dahili Kimlik"
+ },
+ "information": {
+ "pixels": "{{area}}px"
+ }
}
diff --git a/web/public/locales/tr/components/dialog.json b/web/public/locales/tr/components/dialog.json
index 9b2e2e3f0..35fe45170 100644
--- a/web/public/locales/tr/components/dialog.json
+++ b/web/public/locales/tr/components/dialog.json
@@ -64,7 +64,8 @@
"failed": "Dışa aktarım başlatılamadı: {{error}}",
"endTimeMustAfterStartTime": "Bitiş zamanı başlangıç zamanından sonra olmalıdır",
"noVaildTimeSelected": "Geçerli bir zaman aralığı seçilmedi"
- }
+ },
+ "view": "Görüntüle"
},
"fromTimeline": {
"saveExport": "Dışa Aktarımı Kaydet",
@@ -117,7 +118,8 @@
"button": {
"export": "Dışa Aktar",
"markAsReviewed": "İncelendi olarak işaretle",
- "deleteNow": "Şimdi Sil"
+ "deleteNow": "Şimdi Sil",
+ "markAsUnreviewed": "Gözden geçirilmedi olarak işaretle"
}
},
"imagePicker": {
@@ -125,6 +127,7 @@
"noImages": "Bu kamera için küçük resim bulunamadı",
"search": {
"placeholder": "Etiket/alt etiket kullanarak arama yapın..."
- }
+ },
+ "unknownLabel": "Kaydedilen Tetikleme Görseli"
}
}
diff --git a/web/public/locales/tr/views/classificationModel.json b/web/public/locales/tr/views/classificationModel.json
index b7e7eac65..535e5b13b 100644
--- a/web/public/locales/tr/views/classificationModel.json
+++ b/web/public/locales/tr/views/classificationModel.json
@@ -1,5 +1,5 @@
{
- "documentTitle": "Sınıflandırma Modelleri",
+ "documentTitle": "Sınıflandırma Modelleri - Frigate",
"details": {
"scoreInfo": "Skor, modelin nesneyi tespit ettiği tüm durumlar için ortalama güven düzeyini gösterir."
},
@@ -10,44 +10,53 @@
"deleteImages": "Fotoğrafları Sil",
"trainModel": "Modeli Eğit",
"addClassification": "Sınıflandırma Ekle",
- "deleteModels": "Modelleri Sil"
+ "deleteModels": "Modelleri Sil",
+ "editModel": "Modeli Düzenle"
},
"toast": {
"success": {
"deletedCategory": "Silinmiş Sınıf",
"deletedImage": "Silinmiş Fotoğraflar",
- "deletedModel_one": "{{tane}} model(ler) başarıyla silindi",
- "deletedModel_other": "",
+ "deletedModel_one": "{{count}} model başarıyla silindi",
+ "deletedModel_other": "{{count}} model başarıyla silindi",
"categorizedImage": "Fotoğraf Başarıyla Sınıflandırıldı",
"trainedModel": "Model başarıyla eğitildi.",
- "trainingModel": "Model eğitimi başarıyla başladı."
+ "trainingModel": "Model eğitimi başarıyla başladı.",
+ "updatedModel": "Model yapılandırması başarıyla güncellendi",
+ "renamedCategory": "Sınıf başarıyla {{name}} olarak yeniden adlandırıldı"
},
"error": {
- "deleteImageFailed": "Silinirken hatayla karşılaşıldı: {{errorMessage}}",
+ "deleteImageFailed": "Silinemedi: {{errorMessage}}",
"deleteModelFailed": "Model silinirken hata oluştu: {{errorMessage}}",
"categorizeFailed": "Görsel sınıflandırılamadı: {{errorMessage}}",
- "trainingFailed": "Model eğitimi başlatılamadı: {{errorMessage}}"
+ "trainingFailed": "Model eğitimi başarısız oldu. Ayrıntılar için Frigate günlüklerini kontrol edin.",
+ "deleteCategoryFailed": "Sınıf silinemedi: {{errorMessage}}",
+ "trainingFailedToStart": "Model eğitimi başlatılamadı: {{errorMessage}}",
+ "updateModelFailed": "Model güncellenemedi: {{errorMessage}}",
+ "renameCategoryFailed": "Sınıf yeniden adlandırılamadı: {{errorMessage}}"
}
},
"deleteCategory": {
"title": "Sınıfı Sil",
- "desc": "{{name}} adlı sınıfı silmek istediğinizden emin misiniz? Bu işlem, sınıfa ait tüm görselleri kalıcı olarak silecek ve modelin yeniden eğitilmesini gerektirecektir."
+ "desc": "{{name}} adlı sınıfı silmek istediğinizden emin misiniz? Bu işlem, sınıfa ait tüm görselleri kalıcı olarak silecek ve modelin yeniden eğitilmesini gerektirecektir.",
+ "minClassesTitle": "Sınıf Silinemiyor",
+ "minClassesDesc": "Bu sınıfı silmeden önce bir sınıflandırma modelinin en az 2 sınıfa sahip olması gerekir. Bu sınıfı silmeden önce başka bir sınıf ekleyin."
},
"deleteModel": {
"title": "Sınıflandırma Modelini Sil",
"single": "{{name}} öğesini silmek istediğinizden emin misiniz? Bu işlem, görseller ve eğitim verileri dâhil olmak üzere tüm ilişkili verileri kalıcı olarak silecektir. Bu işlem geri alınamaz.",
"desc_one": "{{count}} modeli silmek istediğinizden emin misiniz? Bu işlem, görseller ve eğitim verileri dâhil olmak üzere tüm ilişkili verileri kalıcı olarak silecektir. Bu işlem geri alınamaz.",
- "desc_other": ""
+ "desc_other": "{{count}} modeli silmek istediğinizden emin misiniz? Bu işlem, görseller ve eğitim verileri dâhil olmak üzere tüm ilişkili verileri kalıcı olarak silecektir. Bu işlem geri alınamaz."
},
"deleteDatasetImages": {
"title": "Eğitim verisi görsellerini sil",
- "desc_one": "{{dataset}} veri kümesinden {{count}} görseli silmek istediğinizden emin misiniz? Bu işlem geri alınamaz ve modelin yeniden eğitilmesini gerektirecektir.",
- "desc_other": ""
+ "desc_one": "{{dataset}} veri kümesinden {{count}} görseli silmek istediğinizden emin misiniz? Bu işlem geri alınamaz ve modelin yeniden eğitilmesini gerektirir.",
+ "desc_other": "{{dataset}} veri kümesinden {{count}} görseli silmek istediğinizden emin misiniz? Bu işlem geri alınamaz ve modelin yeniden eğitilmesini gerektirir."
},
"deleteTrainImages": {
"title": "Eğitim Görsellerini Sil",
"desc_one": "{{count}} görseli silmek istediğinizden emin misiniz? Bu işlem geri alınamaz.",
- "desc_other": ""
+ "desc_other": "{{count}} görseli silmek istediğinizden emin misiniz? Bu işlem geri alınamaz."
},
"renameCategory": {
"title": "Sınıfı Yeniden Adlandır",
@@ -76,6 +85,101 @@
"title": "Nesne sınıflandırma modeli mevcut değil",
"description": "Algılanan nesneleri sınıflandırmak için özel bir model oluşturun.",
"buttonText": "Nesne Modeli Oluştur"
+ },
+ "state": {
+ "title": "Durum Sınıflandırma Modeli Yok",
+ "description": "Belirli kamera alanlarındaki durum değişimlerini izlemek ve sınıflandırmak için özel bir model oluşturun.",
+ "buttonText": "Durum Modeli Oluştur"
}
- }
+ },
+ "tooltip": {
+ "trainingInProgress": "Model şu anda eğitiliyor",
+ "noNewImages": "Eğitilecek yeni görsel bulunmuyor. Önce veri kümesinde daha fazla görseli sınıflandırın.",
+ "noChanges": "Son eğitimden bu yana veri kümesinde herhangi bir değişiklik yapılmadı.",
+ "modelNotReady": "Model eğitim için hazır değil"
+ },
+ "edit": {
+ "title": "Sınıflandırma Modelini Düzenle",
+ "descriptionState": "Bu durum sınıflandırma modeli için sınıfları düzenleyin. Değişiklikler, modelin yeniden eğitilmesini gerektirecektir.",
+ "descriptionObject": "Bu nesne sınıflandırma modeli için nesne türünü ve sınıflandırma türünü düzenleyin.",
+ "stateClassesInfo": "Not: Durum sınıflarını değiştirmek, modelin güncellenmiş sınıflarla yeniden eğitilmesini gerektirir."
+ },
+ "wizard": {
+ "title": "Yeni Sınıflandırma Oluştur",
+ "steps": {
+ "nameAndDefine": "Adlandır ve Tanımla",
+ "stateArea": "Durum Alanı",
+ "chooseExamples": "Örnekleri Seç"
+ },
+ "step1": {
+ "description": "State modelleri, sabit kamera alanlarındaki değişiklikleri (ör. kapının açılması/kapanması) izler. Nesne modelleri ise algılanan nesnelere ek sınıflandırmalar ekler (ör. bilinen hayvanlar, kuryeler vb.).",
+ "name": "Ad",
+ "namePlaceholder": "Model adını girin...",
+ "type": "Tür",
+ "typeState": "Durum",
+ "typeObject": "Nesne",
+ "objectLabel": "Nesne Etiketi",
+ "objectLabelPlaceholder": "Nesne türünü seçin...",
+ "classificationType": "Sınıflandırma Türü",
+ "classificationTypeTip": "Sınıflandırma türleri hakkında bilgi edinin",
+ "classificationTypeDesc": "Alt etiketleri, nesne etiketine ek metin ekler (örneğin: “Person: UPS”). Öznitelikler (attributes) ise nesne meta verilerinde ayrı olarak saklanan ve aranabilir metadata bilgileridir.",
+ "classificationSubLabel": "Alt Etiket",
+ "classificationAttribute": "Özellik",
+ "classes": "Sınıflar",
+ "states": "Durumlar",
+ "classesTip": "Sınıflar hakkında bilgi edinin",
+ "classesStateDesc": "Kamera alanınızın içinde bulunabileceği farklı durumları tanımlayın. Örneğin: bir garaj kapısı için ‘açık’ ve ‘kapalı’.",
+ "classesObjectDesc": "Algılanan nesneleri sınıflandırmak için farklı kategorileri tanımlayın. Örneğin: Bir kişi sınıflandırması için ‘teslimat_görevlisi’, ‘sakin’, ‘yabancı’.",
+ "classPlaceholder": "Sınıf adını girin...",
+ "errors": {
+ "nameRequired": "Model adı gerekli",
+ "nameLength": "Model adı 64 karakter veya daha az olmalıdır",
+ "nameOnlyNumbers": "Model adı yalnızca rakamlardan oluşamaz",
+ "classRequired": "En az 1 sınıf gereklidir",
+ "classesUnique": "Sınıf adları benzersiz olmalıdır",
+ "stateRequiresTwoClasses": "Durum modelleri en az 2 sınıf gerektirir",
+ "objectLabelRequired": "Lütfen bir nesne etiketi seçin",
+ "objectTypeRequired": "Lütfen bir sınıflandırma türü seçin"
+ }
+ },
+ "step2": {
+ "description": "İzlenecek alanı her kamera için seçin ve tanımlayın. Model bu alanların durumunu sınıflandıracaktır.",
+ "cameras": "Kameralar",
+ "selectCamera": "Kamera Seç",
+ "noCameras": "Kameraları eklemek için + simgesine tıklayın",
+ "selectCameraPrompt": "Listedeki bir kamerayı seçerek izlenecek alanı tanımlayın"
+ },
+ "step3": {
+ "selectImagesPrompt": "{{className}} etiketli tüm görselleri seç",
+ "selectImagesDescription": "Görselleri seçmek için üzerlerine tıklayın. Bu sınıfla işiniz bittiğinde Devam Et’e tıklayın.",
+ "allImagesRequired_one": "Lütfen tüm görselleri sınıflandırın. {{count}} görsel kaldı.",
+ "allImagesRequired_other": "Lütfen tüm görselleri sınıflandırın. {{count}} görsel kaldı.",
+ "generating": {
+ "title": "Örnek Görseller Oluşturuluyor",
+ "description": "Frigate kayıtlarınızdan temsilî görüntüler çekiliyor. Bu işlem biraz zaman alabilir…"
+ },
+ "training": {
+ "title": "Model Eğitiliyor",
+ "description": "Modeliniz arka planda eğitiliyor. Bu pencereyi kapatabilirsiniz; eğitim tamamlandığında model otomatik olarak çalışmaya başlayacaktır."
+ },
+ "retryGenerate": "Oluşturmayı Yeniden Dene",
+ "noImages": "Örnek görsel oluşturulamadı",
+ "classifying": "Sınıflandırılıyor ve Eğitiliyor...",
+ "trainingStarted": "Eğitim başarıyla başlatıldı",
+ "modelCreated": "Model başarıyla oluşturuldu. Eksik durumlar için görseller eklemek üzere Son Sınıflandırmalar görünümünü kullanın ve ardından modeli eğitin.",
+ "errors": {
+ "noCameras": "Hiç kamera yapılandırılmadı",
+ "noObjectLabel": "Nesne etiketi seçilmedi",
+ "generateFailed": "Örnekler oluşturulamadı: {{error}}",
+ "generationFailed": "Oluşturma başarısız oldu. Lütfen tekrar deneyin.",
+ "classifyFailed": "Görseller sınıflandırılamadı: {{error}}"
+ },
+ "generateSuccess": "Örnek görseller başarıyla oluşturuldu",
+ "missingStatesWarning": {
+ "title": "Eksik Durum Örnekleri",
+ "description": "En iyi sonuçlar için tavsiye edilir: Tüm durumlar (state) için örnekler seçin. Tüm durumlar için örnek seçmeden devam edebilirsiniz, ancak model, tüm durumlara ait görüntüler eklenene kadar eğitilmeyecektir. Devam ettikten sonra, eksik durumlar için görüntüleri sınıflandırmak ve ardından modeli eğitmek için Son Sınıflandırmalar (Recent Classifications) görünümünü kullanın."
+ }
+ }
+ },
+ "none": "Yok"
}
diff --git a/web/public/locales/tr/views/events.json b/web/public/locales/tr/views/events.json
index 376ac03da..97173024b 100644
--- a/web/public/locales/tr/views/events.json
+++ b/web/public/locales/tr/views/events.json
@@ -42,17 +42,21 @@
"detail": {
"label": "Detay",
"aria": "Ayrıntı görünümünü aç/kapat",
- "trackedObject_one": "Nesne",
- "trackedObject_other": "nesneler",
+ "trackedObject_one": "{{count}} nesne",
+ "trackedObject_other": "{{count}} nesne",
"noObjectDetailData": "Nesneye ait ayrıntılı veri bulunmuyor.",
"settings": "Ayrıntılı Görünüm Ayarları",
"alwaysExpandActive": {
"title": "Etkin olanı her zaman genişlet",
"desc": "Varsa, etkin inceleme öğesinin nesne ayrıntılarını daima göster."
- }
+ },
+ "noDataFound": "İncelenecek ayrıntılı veri bulunmuyor"
},
"objectTrack": {
"trackedPoint": "Takip edilen nokta",
"clickToSeek": "Bu zamana gitmek için tıklayın"
- }
+ },
+ "normalActivity": "Normal",
+ "needsReview": "İnceleme Gerekiyor",
+ "securityConcern": "Güvenlik endişesi"
}
diff --git a/web/public/locales/tr/views/explore.json b/web/public/locales/tr/views/explore.json
index a12586cc4..6909c849a 100644
--- a/web/public/locales/tr/views/explore.json
+++ b/web/public/locales/tr/views/explore.json
@@ -10,7 +10,7 @@
"viewInExplore": "Keşfet'te Görüntüle"
},
"tips": {
- "hasMissingObjects": "Eğer Frigate'in {{objects}} etiketine sahip nesneleri kaydetmesini istiyorsanız yapılandırmanızı buna göre ayarlayın.",
+ "hasMissingObjects": "Eğer Frigate'in {{objects}} etiketine sahip nesneleri kaydetmesini istiyorsanız yapılandırmanızı buna göre ayarlayın",
"mismatch_one": "Tespit edilmiş olan bir nesne bu İncele öğesine dahil edildi. Bu nesne Alarm veya Tespit olarak derecelendirilemedi veya çoktan silindi/temizlendi.",
"mismatch_other": "Tespit edilmiş olan {{count}} adet nesne bu İncele öğesine dahil edildi. Bu nesneler Alarm veya Tespit olarak derecelendirilemedi veya çoktan silindi/temizlendi."
},
@@ -19,7 +19,7 @@
"updatedSublabel": "Alt etiket başarıyla gücellendi.",
"regenerate": "Yeni bir açıklama {{provider}} sağlayıcısından talep edildi. Sağlayıcının hızına bağlı olarak yeni açıklamanın oluşturulması biraz zaman alabilir.",
"updatedLPR": "Plaka başarıyla güncellendi.",
- "audioTranscription": "Ses çözümlemesi başarıyla talep edildi."
+ "audioTranscription": "Ses dökümü başarıyla istendi. Frigate sunucunuzun hızına bağlı olarak döküm işlemi tamamlanması biraz zaman alabilir."
},
"error": {
"updatedSublabelFailed": "Alt etiket güncellenemedi: {{errorMessage}}",
@@ -110,7 +110,8 @@
"object_lifecycle": "nesne yaşam döngüsü",
"snapshot": "fotoğraf",
"video": "video",
- "thumbnail": "küçük resim"
+ "thumbnail": "küçük resim",
+ "tracking_details": "izleme ayrıntıları"
},
"objectLifecycle": {
"title": "Nesne Yaşam Döngüsü",
@@ -196,6 +197,20 @@
"audioTranscription": {
"label": "Çözümle",
"aria": "Ses çözümlemesi iste"
+ },
+ "downloadCleanSnapshot": {
+ "label": "Temiz anlık görüntüyü indir",
+ "aria": "Temiz anlık görüntüyü indir"
+ },
+ "viewTrackingDetails": {
+ "label": "İzleme ayrıntılarını görüntüle",
+ "aria": "Takip ayrıntılarını göster"
+ },
+ "showObjectDetails": {
+ "label": "Nesne yolunu göster"
+ },
+ "hideObjectDetails": {
+ "label": "Nesne yolunu gizle"
}
},
"noTrackedObjects": "Takip Edilen Nesne Bulunamadı",
@@ -207,11 +222,13 @@
"success": "Takip edilen nesne başarıyla silindi."
}
},
- "tooltip": "Eşleşme: {{type}} (%{{confidence}})"
+ "tooltip": "Eşleşme: {{type}} (%{{confidence}})",
+ "previousTrackedObject": "Önceki izlenen nesne",
+ "nextTrackedObject": "Sonraki izlenen nesne"
},
"dialog": {
"confirmDelete": {
- "desc": "Bu takip edilen nesneyi silmek nesne fotoğrafını, ilişkili gömüyü ve ilişkili yaşam döngüsü kayıtlarını siler. Video kayıt görüntüleri geçmiş görünümünden SİLİNMEYECEKTİR.
Devam etmek istediğinize emin misiniz?",
+ "desc": "Bu takip edilen nesneyi silmek anlık görüntüyü, kaydedilmiş gömü verilerini ve ilişkili yaşam döngüsü kayıtlarını siler. Geçmiş görünümündeki bu izlenen nesneye ait kayıtlı video görüntüleri SİLİNMEYECEKTİR.
Devam etmek istediğinizden emin misiniz?",
"title": "Silmeyi onayla"
}
},
@@ -244,8 +261,33 @@
"external": "{{label}} tespit edildi",
"header": {
"zones": "Bölgeler",
- "ratio": "Oran"
+ "ratio": "Oran",
+ "area": "Alan",
+ "score": "Skor"
}
+ },
+ "annotationSettings": {
+ "title": "Etiketleme Ayarları",
+ "showAllZones": {
+ "title": "Tüm Bölgeleri Göster",
+ "desc": "Herhangi bir bölgeye nesne girdiğinde, o karede bölgeleri her zaman göster."
+ },
+ "offset": {
+ "label": "Etiket Kaydırma Değeri",
+ "desc": "Bu veriler kameranızın algılama akışından gelir ancak kayıt akışındaki görüntülerin üzerine bindirilir. İki akışın tamamen senkronize olması pek olası değildir. Bu nedenle sınır kutusu ile görüntü birebir hizalı olmayabilir. Bu ayarı kullanarak anotasyonları zamansal olarak ileri veya geri kaydırabilir ve kaydedilmiş görüntülerle daha iyi hizalayabilirsiniz.",
+ "millisecondsToOffset": "Algılama anotasyonlarının kaydırılacağı milisaniye değeri. Varsayılan: 0",
+ "tips": "Videonun oynatımı kutulardan ve yol noktalarından öndeyse değeri düşürün; geride kalıyorsa değeri artırın. Bu değer negatif olabilir.",
+ "toast": {
+ "success": "{{camera}} için anotasyon zaman kaydırması yapılandırma dosyasına kaydedildi."
+ }
+ }
+ },
+ "carousel": {
+ "previous": "Önceki slayt",
+ "next": "Sonraki slayt"
}
+ },
+ "concerns": {
+ "label": "Endişeler"
}
}
diff --git a/web/public/locales/tr/views/faceLibrary.json b/web/public/locales/tr/views/faceLibrary.json
index f3cfed89f..082285e28 100644
--- a/web/public/locales/tr/views/faceLibrary.json
+++ b/web/public/locales/tr/views/faceLibrary.json
@@ -27,7 +27,7 @@
"nextSteps": "Sağlam bir temel oluşturmak için:
mode: {{effectiveRetainMode}},因此此按需录制将仅保留包含 {{effectiveRetainModeName}} 的片段。"
},
@@ -174,7 +174,11 @@
"noCameras": {
"title": "未设置摄像头",
"description": "准备开始连接摄像头至 Frigate 。",
- "buttonText": "添加摄像头"
+ "buttonText": "添加摄像头",
+ "restricted": {
+ "title": "无可用摄像头",
+ "description": "你没有权限查看此分组中的任何摄像头。"
+ }
},
"snapshot": {
"takeSnapshot": "下载即时快照",
diff --git a/web/public/locales/zh-CN/views/settings.json b/web/public/locales/zh-CN/views/settings.json
index e5a4a9e9a..ba244a172 100644
--- a/web/public/locales/zh-CN/views/settings.json
+++ b/web/public/locales/zh-CN/views/settings.json
@@ -5,7 +5,7 @@
"camera": "摄像头设置 - Frigate",
"classification": "分类设置 - Frigate",
"masksAndZones": "遮罩和区域编辑器 - Frigate",
- "motionTuner": "运动调整器 - Frigate",
+ "motionTuner": "画面变动调整器 - Frigate",
"object": "调试 - Frigate",
"general": "页面设置 - Frigate",
"frigatePlus": "Frigate+ 设置 - Frigate",
@@ -19,7 +19,7 @@
"classification": "分类设置",
"cameras": "摄像头设置",
"masksAndZones": "遮罩/ 区域",
- "motionTuner": "运动调整器",
+ "motionTuner": "画面变动调整器",
"debug": "调试",
"users": "用户",
"notifications": "通知",
@@ -309,7 +309,7 @@
"name": {
"title": "区域名称",
"inputPlaceHolder": "请输入名称…",
- "tips": "名称至少包含两个字符,且不能和摄像头或其他区域同名。"
+ "tips": "名称至少包含两个字符,且不能和摄像头名或该摄像头下的其他区域同名。"
},
"inertia": {
"title": "惯性",
@@ -344,33 +344,33 @@
}
},
"toast": {
- "success": "区域 ({{zoneName}}) 已保存。请重启 Frigate 以应用更改。"
+ "success": "区域 ({{zoneName}}) 已保存。"
}
},
"motionMasks": {
- "label": "运动遮罩",
- "documentTitle": "编辑运动遮罩 - Frigate",
+ "label": "画面变动遮罩",
+ "documentTitle": "编辑画面变动遮罩 - Frigate",
"desc": {
"title": "画面变动遮罩用于防止触发不必要的画面变动检测。过度的设置遮罩将使目标更加难以被追踪。",
"documentation": "文档"
},
- "add": "添加运动遮罩",
- "edit": "编辑运动遮罩",
+ "add": "添加画面变动遮罩",
+ "edit": "编辑画面变动遮罩",
"context": {
- "title": "运动遮罩用于防止不需要的运动类型触发检测(例如:树枝、摄像头画面显示的时间等)。运动遮罩需要谨慎使用,过度的遮罩会导致追踪对象变得更加困难。",
+ "title": "画面变动遮罩用于防止不需要的画面变动触发检测(例如:容易被风吹动的树枝、摄像头画面上显示的时间等)。画面变动遮罩应谨慎使用,过度的遮罩会导致追踪目标变得更加困难。",
"documentation": "阅读文档"
},
"point_other": "{{count}} 点",
"clickDrawPolygon": "在图像上点击添加点绘制多边形区域。",
"polygonAreaTooLarge": {
- "title": "运动遮罩的大小达到了摄像头画面的{{polygonArea}}%。不建议设置太大的运动遮罩。",
+ "title": "画面变动遮罩的大小达到了摄像头画面的{{polygonArea}}%。不建议设置太大的画面变动遮罩。",
"tips": "画面变动遮罩并不会使该区域无法检测到指定目标/物体,如有需要,你应该使用 区域 来限制检测的目标/物体类型。",
"documentation": "阅读文档"
},
"toast": {
"success": {
- "title": "{{polygonName}} 已保存。请重启 Frigate 以应用更改。",
- "noName": "运动遮罩已保存。请重启 Frigate 以应用更改。"
+ "title": "{{polygonName}} 已保存。",
+ "noName": "画面变动遮罩已保存。"
}
}
},
@@ -393,37 +393,37 @@
},
"toast": {
"success": {
- "title": "{{polygonName}} 已保存。请重启 Frigate 以应用更改。",
- "noName": "目标遮罩已保存。请重启 Frigate 以应用更改。"
+ "title": "{{polygonName}} 已保存。",
+ "noName": "目标遮罩已保存。"
}
}
},
"restart_required": "需要重启(遮罩与区域已修改)",
- "motionMaskLabel": "运动遮罩 {{number}}",
+ "motionMaskLabel": "画面变动遮罩 {{number}}",
"objectMaskLabel": "目标/物体遮罩 {{number}}({{label}})"
},
"motionDetectionTuner": {
- "title": "运动检测调整器",
+ "title": "画面变动检测调整器",
"desc": {
"title": "Frigate 将使用画面变化检测作为首个步骤,以确认一帧画面中是否有目标或物体需要使用目标检测。",
- "documentation": "阅读有关运动检测的文档"
+ "documentation": "阅读有关画面变动检测的文档"
},
"Threshold": {
"title": "阈值",
- "desc": "阈值决定像素亮度高于多少时会被认为是运动。默认值:30"
+ "desc": "阈值决定像素亮度变化达到多少时会被认为是画面变动。默认值:30"
},
"contourArea": {
"title": "轮廓面积",
- "desc": "轮廓面积决定哪些变化的像素组符合运动条件。默认值:10"
+ "desc": "轮廓面积值用于判断哪些相连的像素变化区域可被认定为画面变动。默认值:10"
},
"improveContrast": {
"title": "提高对比度",
"desc": "提高较暗场景的对比度。默认值:启用"
},
"toast": {
- "success": "运动设置已保存。"
+ "success": "画面变动设置已保存。"
},
- "unsavedChanges": "{{camera}} 的运动调整器设置未保存"
+ "unsavedChanges": "{{camera}} 的画面变动调整器设置未保存"
},
"debug": {
"title": "调试",
@@ -449,32 +449,32 @@
"desc": "显示已定义的区域图层"
},
"mask": {
- "title": "运动遮罩",
- "desc": "显示运动遮罩图层"
+ "title": "画面变动遮罩",
+ "desc": "显示画面变动遮罩图层"
},
"motion": {
- "title": "运动区域框",
- "desc": "在检测到运动的区域显示区域框",
- "tips": "运动区域框
将在当前检测到运动的区域内显示红色区域框。
" + "title": "画面变动区域框", + "desc": "在检测到画面变动的区域显示区域框", + "tips": "画面变动区域框
将在当前检测到画面变动的区域内显示红色区域框。
" }, "regions": { "title": "范围", - "desc": "显示发送到运动检测器感兴趣范围的框", + "desc": "显示发送给目标检测器感兴趣的区域框", "tips": "范围框
将在帧中发送到目标检测器的感兴趣范围上叠加绿色框。
" }, "objectShapeFilterDrawing": { - "title": "允许绘制“对象形状过滤器”", + "title": "允许绘制“目标形状过滤器”", "desc": "在图像上绘制矩形,以查看区域和比例详细信息", - "tips": "启用此选项,能够在摄像头图像上绘制矩形,将显示其区域和比例。然后,您可以使用这些值在配置中设置对象形状过滤器参数。", + "tips": "启用此选项,能够在摄像头画面上绘制矩形,将显示其区域和比例。你可以通过使用这些值在配置中设置目标形状过滤器的参数。", "document": "阅读文档 ", "score": "分数", "ratio": "比例", "area": "区域" }, "paths": { - "title": "运动轨迹", - "desc": "显示被追踪目标的运动轨迹关键点", - "tips": "运动轨迹
将使用线条和圆圈标示被追踪目标在其活动周期内移动的关键位置点。
" + "title": "行动轨迹", + "desc": "显示被追踪目标的行动轨迹关键点", + "tips": "行动轨迹
将使用线条和点来标示被追踪目标在其活动周期内移动的关键位置点。
" }, "audio": { "title": "音频", @@ -749,7 +749,7 @@ "documentTitle": "触发器", "management": { "title": "触发器", - "desc": "管理 {{camera}} 的触发器。您可以使用“缩略图”类型,基于与所选追踪对象相似的缩略图来触发;也可以使用“描述”类型,基于与您指定的文本相似的描述来触发。" + "desc": "管理 {{camera}} 的触发器。你可以使用“缩略图”类型,将通过与追踪目标相似的缩略图来触发;也可以使用“描述”类型,基于与你指定的文本相似的描述来触发(中文描述需要使用jina v2模型,对配置要求更高)。" }, "addTrigger": "添加触发器", "table": { @@ -811,7 +811,7 @@ "imagePlaceholder": "选择图片", "textPlaceholder": "输入文字内容", "imageDesc": "仅显示最近的 100 张缩略图。如果找不到需要的图片,请前往“浏览”页面查看更早的目标,并从菜单中设置触发器。", - "textDesc": "输入文本,当检测到相似的追踪对象描述时触发此操作。", + "textDesc": "输入文本,当检测到相似的追踪目标描述时触发此操作。", "error": { "required": "内容为必填项。" } @@ -826,7 +826,7 @@ }, "actions": { "title": "动作", - "desc": "默认情况下,Frigate 会为所有触发器发送 MQTT 消息。子标签会将触发器名称添加到对象标签中。属性是可搜索的元数据,独立存储在追踪对象的元数据中。", + "desc": "默认情况下,Frigate 会为所有触发器发送 MQTT 消息。子标签会将触发器名称添加到目标标签中。属性是可搜索的元数据,独立存储在追踪目标的元数据中。", "error": { "min": "必须至少选择一项动作。" } diff --git a/web/public/locales/zh-CN/views/system.json b/web/public/locales/zh-CN/views/system.json index 7182ff000..3d6eff072 100644 --- a/web/public/locales/zh-CN/views/system.json +++ b/web/public/locales/zh-CN/views/system.json @@ -76,7 +76,12 @@ } }, "npuMemory": "NPU内存", - "npuUsage": "NPU使用率" + "npuUsage": "NPU使用率", + "intelGpuWarning": { + "title": "Intel GPU 处于警告状态", + "message": "GPU 状态不可用", + "description": "这是 Intel 的 GPU 状态报告工具(intel_gpu_top)的已知问题:该工具会失效并反复返回 GPU 使用率为 0%,即使在硬件加速和目标检测已在 (i)GPU 上正常运行的情况下也是如此,这并不是 Frigate 的 bug。你可以通过重启主机来临时修复该问题,并确认 GPU 正常工作。该问题并不会影响性能。" + } }, "otherProcesses": { "title": "其他进程", diff --git a/web/public/locales/zh-Hant/audio.json b/web/public/locales/zh-Hant/audio.json index 78613a56e..9a458ce9c 100644 --- a/web/public/locales/zh-Hant/audio.json +++ b/web/public/locales/zh-Hant/audio.json @@ -65,5 +65,17 @@ "gargling": "漱口", "stomach_rumble": "腸胃蠕動", "burping": "打嗝", - "hiccup": "打噎" + "hiccup": "打噎", + "fart": "放屁", + "hands": "手", + "finger_snapping": "彈手指聲", + "clapping": "拍手", + "heartbeat": "心跳聲", + "heart_murmur": "心臟雜音", + "cheering": "歡呼聲", + "applause": "掌聲", + "chatter": "嘈雜聲", + "crowd": "人群聲", + "children_playing": "兒童嬉鬧聲", + "pets": "寵物" } diff --git a/web/public/locales/zh-Hant/common.json b/web/public/locales/zh-Hant/common.json index 41659ba91..b785c8b52 100644 --- a/web/public/locales/zh-Hant/common.json +++ b/web/public/locales/zh-Hant/common.json @@ -39,8 +39,8 @@ "24hour": "M 月 d 日 HH:mm:ss" }, "formattedTimestamp2": { - "12hour": "MM 月 dd 日 ah:mm:ss", - "24hour": "MM 月 dd 日 HH:mm:ss" + "12hour": "MM/dd h:mm:ssa", + "24hour": "d MMM HH:mm:ss" }, "formattedTimestampHourMinute": { "12hour": "a h:mm", @@ -64,9 +64,12 @@ }, "formattedTimestampMonthDay": "M 月 d 日", "formattedTimestampFilename": { - "12hour": "yy年MM月dd日 ah時mm分ss秒", + "12hour": "MM-dd-yy-h-mm-ss-a", "24hour": "yy年MM月dd日 HH時mm分ss秒" - } + }, + "inProgress": "處理中", + "invalidStartTime": "無效的起始時間", + "invalidEndTime": "無效的結束時間" }, "unit": { "speed": { @@ -76,10 +79,23 @@ "length": { "feet": "英尺", "meters": "公尺" + }, + "data": { + "kbps": "kB/秒", + "mbps": "MB/秒", + "gbps": "GB/秒", + "kbph": "kB/小時", + "mbph": "MB/小時", + "gbph": "GB/小時" } }, "label": { - "back": "返回" + "back": "返回", + "hide": "隱藏{{item}}", + "show": "顯示{{item}}", + "ID": "ID", + "none": "無", + "all": "全部" }, "button": { "apply": "套用", @@ -116,7 +132,8 @@ "unselect": "取消選取", "export": "匯出", "deleteNow": "立即刪除", - "next": "繼續" + "next": "繼續", + "continue": "繼續" }, "menu": { "system": "系統", @@ -160,7 +177,15 @@ "ca": "Català (加泰隆尼亞文)", "withSystem": { "label": "使用系統語言設定" - } + }, + "ptBR": "Português brasileiro (巴西葡萄牙文)", + "sr": "Српски (塞爾維亞文)", + "sl": "Slovenščina (斯洛文尼亞文)", + "lt": "Lietuvių (立陶宛文)", + "bg": "Български (保加利亞文)", + "gl": "Galego (加利西亞文)", + "id": "Bahasa Indonesia (印尼文)", + "ur": "اردو (烏爾都文)" }, "appearance": "外觀", "darkMode": { @@ -207,7 +232,8 @@ "anonymous": "匿名", "logout": "登出", "setPassword": "設定密碼" - } + }, + "classification": "標籤分類" }, "toast": { "copyUrlToClipboard": "已複製連結至剪貼簿。", @@ -248,5 +274,17 @@ "desc": "找不到頁面" }, "selectItem": "選擇 {{item}}", - "readTheDocumentation": "閱讀文件" + "readTheDocumentation": "閱讀文件", + "list": { + "two": "{{0}} 和 {{1}}", + "many": "{{items}}, 及 {{last}}", + "separatorWithSpace": ", " + }, + "field": { + "optional": "可選的", + "internalID": "在Frigate 設定檔與資料庫使用的內部ID" + }, + "information": { + "pixels": "{{area}}px" + } } diff --git a/web/public/locales/zh-Hant/components/auth.json b/web/public/locales/zh-Hant/components/auth.json index 34b97ef78..fbc70c4d4 100644 --- a/web/public/locales/zh-Hant/components/auth.json +++ b/web/public/locales/zh-Hant/components/auth.json @@ -10,6 +10,7 @@ "rateLimit": "超過次數限制,請稍後再試。", "loginFailed": "登入失敗", "unknownError": "未知錯誤,請檢查日誌。" - } + }, + "firstTimeLogin": "首次嘗試登入嗎?請從 Frigate 的日誌中查找產生的登入密碼等相關資訊。" } } diff --git a/web/public/locales/zh-Hant/components/dialog.json b/web/public/locales/zh-Hant/components/dialog.json index a29b487e1..3927a8c20 100644 --- a/web/public/locales/zh-Hant/components/dialog.json +++ b/web/public/locales/zh-Hant/components/dialog.json @@ -51,12 +51,13 @@ "export": "匯出", "selectOrExport": "選擇或匯出", "toast": { - "success": "成功開始匯出。請至 /exports 資料夾查看匯出資料。", + "success": "成功開始匯出。至 /exports 頁查看匯出資料。", "error": { "failed": "匯出失敗:{{error}}", "endTimeMustAfterStartTime": "結束時間必須要在開始時間之後", "noVaildTimeSelected": "沒有選取有效的時間範圍" - } + }, + "view": "查看" }, "fromTimeline": { "saveExport": "保存匯出資料", @@ -106,7 +107,15 @@ "button": { "export": "匯出", "markAsReviewed": "標記為已審核", - "deleteNow": "立即刪除" + "deleteNow": "立即刪除", + "markAsUnreviewed": "標記為未審核" + } + }, + "imagePicker": { + "selectImage": "選取追蹤物件預覽圖", + "unknownLabel": "已儲存觸發圖片", + "search": { + "placeholder": "以標籤或子標籤搜尋..." } } } diff --git a/web/public/locales/zh-Hant/components/input.json b/web/public/locales/zh-Hant/components/input.json index df3ed93c0..ed7eee77c 100644 --- a/web/public/locales/zh-Hant/components/input.json +++ b/web/public/locales/zh-Hant/components/input.json @@ -3,7 +3,7 @@ "downloadVideo": { "label": "下載影片", "toast": { - "success": "你的審查影片已開始下載。" + "success": "你的審查項目影片已開始下載。" } } } diff --git a/web/public/locales/zh-Hant/views/classificationModel.json b/web/public/locales/zh-Hant/views/classificationModel.json index 1371f9212..f0b1d0cc9 100644 --- a/web/public/locales/zh-Hant/views/classificationModel.json +++ b/web/public/locales/zh-Hant/views/classificationModel.json @@ -2,7 +2,84 @@ "toast": { "success": { "deletedImage": "已刪除的圖片", - "deletedModel_other": "成功刪除 {{count}} 個模型" + "deletedModel_other": "成功刪除 {{count}} 個模型", + "deletedCategory": "刪除分類", + "categorizedImage": "成功分類圖片", + "trainedModel": "訓練模型成功。", + "trainingModel": "已開始訓練模型。", + "updatedModel": "已更新模型配置", + "renamedCategory": "成功修改分類名稱為{{name}}" + }, + "error": { + "deleteImageFailed": "刪除失敗:{{errorMessage}}", + "deleteCategoryFailed": "刪除分類標籤失敗: {{errorMessage}}", + "deleteModelFailed": "刪除模型失敗: {{errorMessage}}", + "categorizeFailed": "圖片分類失敗: {{errorMessage}}", + "trainingFailed": "模型訓練失敗。請至Frigate 日誌查看詳情。", + "trainingFailedToStart": "模型訓練啟動失敗: {{errorMessage}}", + "updateModelFailed": "模型更新失敗: {{errorMessage}}", + "renameCategoryFailed": "類別重新命名失敗: {{errorMessage}}" } + }, + "documentTitle": "分類模型", + "details": { + "scoreInfo": "分數表示該目標所有偵測結果的平均分類置信度。" + }, + "button": { + "deleteClassificationAttempts": "刪除分類圖片", + "renameCategory": "重新命名分類", + "deleteCategory": "刪除分類", + "deleteImages": "刪除圖片", + "trainModel": "訓練模型", + "addClassification": "添加分類", + "deleteModels": "刪除模型", + "editModel": "編輯模型" + }, + "tooltip": { + "trainingInProgress": "模型正在訓練中", + "noNewImages": "沒有新的圖片可用於訓練。請先對數據集中的更多圖片進行分類。", + "noChanges": "自上次訓練以來,數據集未作任何更改。", + "modelNotReady": "模型尚未準備好進行訓練" + }, + "deleteCategory": { + "title": "刪除類別", + "desc": "你確定要刪除類別{{name}}嗎? 這將刪除所有有關的圖片並需要重新訓練模型。", + "minClassesTitle": "無法刪除此類別", + "minClassesDesc": "分類模型必須至少擁有2個類別,新增一個新的類別已刪除這個。" + }, + "deleteModel": { + "title": "刪除分類模型", + "single": "你確定要刪除{{name}}嗎? 這將永久刪除包含圖片和訓練資料在內的所有相關資料。這個操作無法被復原。", + "desc_other": "你確定要刪除{{count}}個模型? 這將永久刪除包含圖片和訓練資料在內的所有相關資料。這個操作無法被復原。" + }, + "edit": { + "title": "編輯分類模型", + "descriptionState": "編輯這個狀態分類模型的類別,變更將需要重新訓練模型。", + "descriptionObject": "編輯這個物件分類模型的物件種類與分類種類。", + "stateClassesInfo": "注意: 變更狀態類別後需要以更新後的類別重新訓練模型。" + }, + "deleteDatasetImages": { + "title": "刪除圖片資料集合", + "desc_other": "你確定要從{{dataset}}中刪除{{count}}個圖片嗎? 這個操作將無法被復原且將需要重新訓練模型。" + }, + "deleteTrainImages": { + "title": "刪除訓練圖片", + "desc_other": "你確定要刪除{{count}}個圖片? 這個操作無法被復原。" + }, + "renameCategory": { + "title": "重新命名類別", + "desc": "輸入 {{name}} 的新名稱。您需要在名稱變更後重新訓練模型以套用變更。" + }, + "description": { + "invalidName": "無效的名稱。名稱只能包涵英數字、空格、撇(')、底線(_)及連字號(-)。" + }, + "train": { + "title": "最近的分類紀錄", + "titleShort": "最近", + "aria": "選取最近的分類紀錄" + }, + "categories": "類別", + "createCategory": { + "new": "建立新的類別" } } diff --git a/web/public/locales/zh-Hant/views/events.json b/web/public/locales/zh-Hant/views/events.json index 3a22512af..314779d5d 100644 --- a/web/public/locales/zh-Hant/views/events.json +++ b/web/public/locales/zh-Hant/views/events.json @@ -38,5 +38,25 @@ "suspiciousActivity": "可疑的活動", "threateningActivity": "有威脅性的活動", "zoomIn": "放大", - "zoomOut": "縮小" + "zoomOut": "縮小", + "detail": { + "label": "詳細資訊", + "noDataFound": "沒有可供檢視的詳細資訊", + "aria": "開關詳細資訊視圖", + "trackedObject_one": "{{count}} 個物件", + "trackedObject_other": "{{count}} 個物件", + "noObjectDetailData": "沒有可用物件細節。", + "settings": "細節視圖設定", + "alwaysExpandActive": { + "title": "總是展開", + "desc": "在可用時總是展開當前物件的詳細資訊。" + } + }, + "objectTrack": { + "trackedPoint": "追蹤點", + "clickToSeek": "點擊從此時間點尋找" + }, + "normalActivity": "正常", + "needsReview": "待審核", + "securityConcern": "安全隱憂" } diff --git a/web/public/locales/zh-Hant/views/explore.json b/web/public/locales/zh-Hant/views/explore.json index 6997b08dd..59602f909 100644 --- a/web/public/locales/zh-Hant/views/explore.json +++ b/web/public/locales/zh-Hant/views/explore.json @@ -104,7 +104,9 @@ "details": "詳情", "snapshot": "截圖", "video": "影片", - "object_lifecycle": "物件生命週期" + "object_lifecycle": "物件生命週期", + "thumbnail": "預覽圖", + "tracking_details": "追蹤詳情" }, "objectLifecycle": { "title": "物件生命週期", @@ -187,7 +189,7 @@ "dialog": { "confirmDelete": { "title": "確認刪除", - "desc": "刪除此追蹤物件將移除截圖、所有已保存的嵌入,以及所有相關的物件生命週期紀錄。歷史記錄中的錄影不會被刪除。