diff --git a/web/public/locales/de/common.json b/web/public/locales/de/common.json
index b7a8cdc18..0ea61f817 100644
--- a/web/public/locales/de/common.json
+++ b/web/public/locales/de/common.json
@@ -22,8 +22,8 @@
"second_one": "{{time}} Sekunde",
"second_other": "{{time}} Sekunden",
"formattedTimestamp2": {
- "24hour": "%d %b %H:%M:%S",
- "12hour": "%d-%m %H:%M:%S"
+ "24hour": "dd. MMM HH:mm:ss",
+ "12hour": "dd.MM hh:mm:ss"
},
"last30": "Letzte 30 Tage",
"10minutes": "10 Minuten",
@@ -40,19 +40,19 @@
"h": "{{time}} Stunde",
"ago": "{{timeAgo}} her",
"untilRestart": "Bis zum Neustart",
- "justNow": "Aktuell",
- "pm": "pm",
- "mo": "{{time}}monat",
+ "justNow": "Gerade",
+ "pm": "nachmittags",
+ "mo": "{{time}}Monat",
"formattedTimestamp": {
- "12hour": "%d %b %H:%M:%S",
- "24hour": "%-d %b, %H:%M:%S"
+ "12hour": "d. MMM, hh:mm:ss aaa",
+ "24hour": "dd. MMM, hh:mm:ss aaa"
},
"formattedTimestampWithYear": {
"24hour": "%-d %b %Y, %H:%M",
"12hour": "%-d %b %Y, %H:%M"
},
"formattedTimestampOnlyMonthAndDay": "%-d %b",
- "am": "am",
+ "am": "vormittags",
"formattedTimestampExcludeSeconds": {
"24hour": "%-d %b, %H:%M",
"12hour": "%-d %b, %H:%M"
diff --git a/web/public/locales/de/components/dialog.json b/web/public/locales/de/components/dialog.json
index e7a67695d..cedd1c114 100644
--- a/web/public/locales/de/components/dialog.json
+++ b/web/public/locales/de/components/dialog.json
@@ -108,6 +108,10 @@
"title": "Bestätige Löschung",
"desc": {
"selected": "Bist du sicher, dass du alle aufgezeichneten Videos, die mit diesem Beitrag verbunden sind, löschen möchtest?
Halte Shift-Taste gedrückt, um diesen Dialog in Zukunft zu umgehen."
+ },
+ "toast": {
+ "success": "Das Videomaterial des gewählten Eintrags wurde erfolgreich gelöscht.",
+ "error": "Löschen is fehlgeschlagen: {{error}}"
}
},
"button": {
diff --git a/web/public/locales/de/views/configEditor.json b/web/public/locales/de/views/configEditor.json
index d184f082a..e071c418b 100644
--- a/web/public/locales/de/views/configEditor.json
+++ b/web/public/locales/de/views/configEditor.json
@@ -11,5 +11,5 @@
"copyToClipboard": "Konfiguration in Zwischenablage kopiert."
}
},
- "documentTitle": "Konfigurationseditor - Frigate"
+ "documentTitle": "Konfigurationseditor – Frigate"
}
diff --git a/web/public/locales/de/views/events.json b/web/public/locales/de/views/events.json
index b9149190b..2a38ac029 100644
--- a/web/public/locales/de/views/events.json
+++ b/web/public/locales/de/views/events.json
@@ -6,8 +6,8 @@
"only": "nur Bewegung"
},
"empty": {
- "alert": "Es gibt keine zu prüfende Alarme",
- "detection": "Es gibt keine zu prüfende Erkennungen",
+ "alert": "Es gibt keine zu prüfenden Alarme",
+ "detection": "Es gibt keine zu prüfenden Erkennungen",
"motion": "Keine Bewegungsdaten gefunden"
},
"timeline": "Zeitleiste",
@@ -33,5 +33,6 @@
"allCameras": "Alle Kameras",
"markAsReviewed": "Als geprüft kennzeichnen",
"selected_one": "{{count}} ausgewählt",
- "selected_other": "{{count}} ausgewählt"
+ "selected_other": "{{count}} ausgewählt",
+ "detected": "erkannt"
}
diff --git a/web/public/locales/de/views/explore.json b/web/public/locales/de/views/explore.json
index 7758ff538..771662ebc 100644
--- a/web/public/locales/de/views/explore.json
+++ b/web/public/locales/de/views/explore.json
@@ -69,7 +69,7 @@
"label": "Schnappschuss Bewertung"
}
},
- "documentTitle": "Erkunden - Frigate",
+ "documentTitle": "Erkunde - Frigate",
"generativeAI": "Generative KI",
"exploreIsUnavailable": {
"title": "Erkunden ist nicht Verfügbar",
@@ -114,14 +114,19 @@
"active": "{{label}} wurde aktiv",
"gone": "{{label}} hat verlassen",
"stationary": "{{label}} wurde stationär",
- "heard": "{{label}} gehört"
+ "heard": "{{label}} gehört",
+ "header": {
+ "ratio": "Verhältnis",
+ "area": "Bereich",
+ "zones": "Zonen"
+ }
},
"annotationSettings": {
"offset": {
"documentation": "Lesen Sie die Dokumentation ",
"label": "Anmerkungen Versatz",
"desc": "Diese Daten stammen aus dem Erkennungs-Feed der Kamera, werden aber mit Bildern aus dem Aufnahme-Feed überlagert. Es ist unwahrscheinlich, dass die beiden Streams perfekt synchronisiert sind. Daher stimmen die Bounding Box und das Filmmaterial nicht perfekt überein. Das Feld annotation_offset
kann jedoch verwendet werden, um dies anzupassen.",
- "millisecondsToOffset": "Millisekunden, um die die Benachrichtigung zu Erkennungen verschoben werden soll. Standard: 0",
+ "millisecondsToOffset": "Millisekunden, um die Erkennungen verschoben werden soll. Standard: 0",
"tips": "TIPP: Stelle dir einen Ereignisclip vor, in dem eine Person von links nach rechts läuft. Wenn die Bounding Box der Ereigniszeitleiste durchgehend links von der Person liegt, sollte der Wert verringert werden. Ähnlich verhält es sich, wenn eine Person von links nach rechts geht und die Bounding Box durchgängig vor der Person liegt, dann sollte der Wert erhöht werden."
},
"showAllZones": {
@@ -186,7 +191,8 @@
"success": "Verfolgtes Objekt erfolgreich gelöscht.",
"error": "Das verfolgte Objekt konnte nicht gelöscht werden: {{errorMessage}}"
}
- }
+ },
+ "tooltip": "Entspricht {{type}} bei {{confidence}}%"
},
"noTrackedObjects": "Keine verfolgten Objekte gefunden",
"fetchingTrackedObjectsFailed": "Fehler beim Abrufen von verfolgten Objekten: {{errorMessage}}",
diff --git a/web/public/locales/de/views/faceLibrary.json b/web/public/locales/de/views/faceLibrary.json
index 96c0e8b7d..8de76567f 100644
--- a/web/public/locales/de/views/faceLibrary.json
+++ b/web/public/locales/de/views/faceLibrary.json
@@ -7,8 +7,11 @@
"person": "Person",
"confidence": "Vertrauen",
"timestamp": "Zeitstempel",
- "faceDesc": "Details für das Gesicht und der zugehörigen Person",
- "face": "Gesichtsdetails"
+ "faceDesc": "Details des verfolgten Objekts, das dieses Gesicht erzeugt hat",
+ "face": "Gesichtsdetails",
+ "subLabelScore": "Sub Label Score",
+ "scoreInfo": "Der Sub Label Score ist der gewichtete Score für alle erkannten Gesichter und kann daher vom Score abweichen, der auf dem Schnappschuss angezeigt wird.",
+ "unknown": "Unbekannt"
},
"uploadFaceImage": {
"title": "Lade Gesichtsbild hoch",
@@ -34,14 +37,15 @@
"button": {
"addFace": "Gesicht hinzufügen",
"uploadImage": "Bild hochladen",
- "deleteFaceAttempts": "Lösche Gesichtsversuche",
+ "deleteFaceAttempts": "Lösche Gesichter",
"reprocessFace": "Gesichter erneut verarbeiten",
"renameFace": "Gesicht umbenennen",
"deleteFace": "Lösche Gesicht"
},
"train": {
"title": "Trainiere",
- "aria": "Wähle Training"
+ "aria": "Wähle Training",
+ "empty": "Es gibt keine aktuellen Versuche zurGesichtserkennung"
},
"deleteFaceLibrary": {
"title": "Lösche Name",
@@ -59,7 +63,8 @@
"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 aktualisiert.",
+ "renamedFace": "Gesicht erfolgreich in {{name}} umbenannt"
},
"error": {
"deleteFaceFailed": "Das Löschen ist fehlgeschlagen: {{errorMessage}}",
@@ -67,16 +72,27 @@
"addFaceLibraryFailed": "Der Gesichtsname konnte nicht gesetzt werden: {{errorMessage}}",
"trainFailed": "Ausbildung fehlgeschlagen: {{errorMessage}}",
"updateFaceScoreFailed": "Aktualisierung der Gesichtsbewertung fehlgeschlagen: {{errorMessage}}",
- "deleteNameFailed": "Name kann nicht gelöscht werden: {{errorMessage}}"
+ "deleteNameFailed": "Name kann nicht gelöscht werden: {{errorMessage}}",
+ "renameFaceFailed": "Gesicht konnte nicht umbenannt werden: {{errorMessage}}"
}
},
"steps": {
"uploadFace": "Lade Bild des Gesichts hoch",
"nextSteps": "Nächste Schritte",
- "faceName": "Gib den Namen zum Gesicht ein"
+ "faceName": "Gebe Gesichtsname ein",
+ "description": {
+ "uploadFace": "Lade ein Bild von {{name}} hoch, das ihr/sein Gesicht aus einer frontalen Perspektive zeigt. Das Bild muss nicht auf das Gesicht zugeschnitten sein."
+ }
},
"renameFace": {
"title": "Gesicht umbenennen",
"desc": "Gib den neuen Namen für das Gesicht von {{name}} ein."
- }
+ },
+ "collections": "Sammlungen",
+ "deleteFaceAttempts": {
+ "title": "Lösche Gesichter",
+ "desc_one": "Bist du sicher, dass du {{count}} Gesicht löschen möchtest? Diese Aktion kann nicht rückgängig gemacht werden.",
+ "desc_other": "Bist du sicher, dass du {{count}} Gesichter löschen möchtest? Diese Aktion kann nicht rückgängig gemacht werden."
+ },
+ "nofaces": "Keine Gesichter verfügbar"
}
diff --git a/web/public/locales/de/views/search.json b/web/public/locales/de/views/search.json
index 7caf23b88..c3800ab28 100644
--- a/web/public/locales/de/views/search.json
+++ b/web/public/locales/de/views/search.json
@@ -46,7 +46,14 @@
"desc": {
"step": "
Kameras:Tor Label:Person Vor:01012024 Zeitraum:15:00-16:00
"
+ "example": "Beispiel: Kameras:Tor Label:Person Vor:01012024 Zeitraum:15:00-16:00
",
+ "step3": "Verwende mehrere Filter, indem du sie nacheinander mit einem Leerzeichen dazwischen hinzufügst.",
+ "step2": "Wähle einen Wert aus den Vorschlägen aus oder gib einen eigenen ein.",
+ "step1": "Gib einen Filter-Schlüssel ein, gefolgt von einem Doppelpunkt (z.B. „kameras:“).",
+ "exampleLabel": "Beispiel:",
+ "step6": "Entferne Filter, indem du auf das „x“ daneben klickst.",
+ "step4": "Datumsfilter (bevor: und nach:) verwenden das Format {{DateFormat}}.",
+ "step5": "Der Zeitbereichsfilter verwendet das Format {{exampleTime}}."
},
"title": "Wie man Textfilter verwendet"
},
diff --git a/web/public/locales/de/views/settings.json b/web/public/locales/de/views/settings.json
index dabe9f48f..91a5b90a4 100644
--- a/web/public/locales/de/views/settings.json
+++ b/web/public/locales/de/views/settings.json
@@ -1,22 +1,23 @@
{
"documentTitle": {
"default": "Einstellungen - Frigate",
- "authentication": "Authentifizierungseinstellungen",
- "camera": "Kameraeinstellungen",
- "masksAndZones": "Masken und Zonen bearbeiten",
- "object": "Objekt Einstellungen - Frigate",
- "general": "Allgemeine Einstellungen - Frigate",
- "frigatePlus": "Frigate+ Einstellungen",
- "classification": "Klassifizierungseinstellungen - Frigate",
- "motionTuner": "Bewegungsanpassung – Frigate"
+ "authentication": "Authentifizierungseinstellungen – Frigate",
+ "camera": "Kameraeinstellungen - Frigate",
+ "masksAndZones": "Masken- und Zonen-Editor – Frigate",
+ "object": "Debug - Frigate",
+ "general": "Allgemeine Einstellungen – Frigate",
+ "frigatePlus": "Frigate+ Einstellungen – Frigate",
+ "classification": "Klassifizierungseinstellungen – Frigate",
+ "motionTuner": "Bewegungstuner – Frigate",
+ "notifications": "Benachrichtigungs-Einstellungen"
},
"menu": {
"ui": "Benutzeroberfläche",
"cameras": "Kameraeinstellungen",
"classification": "Klassifizierung",
"masksAndZones": "Maskierungen / Zonen",
- "motionTuner": "Bewegungsempflindlichkeit einstellen",
- "debug": "Fehlerbehebung",
+ "motionTuner": "Bewegungstuner",
+ "debug": "Debug",
"frigateplus": "Frigate+",
"users": "Benutzer",
"notifications": "Benachrichtigungen"
@@ -93,16 +94,21 @@
"confirmTitle": "Bestätige Neu-Indizierung",
"confirmButton": "Neu-Indizieren",
"success": "Neuindizierung erfolgreich gestartet.",
- "error": "Starten der Neuindizierung fehlgeschlagen: {{errorMessage}}"
+ "error": "Starten der Neuindizierung fehlgeschlagen: {{errorMessage}}",
+ "desc": "Durch die Neuindizierung werden die Einbettungen für alle verfolgten Objekte neu generiert. Dieser Prozess läuft im Hintergrund und kann Ihre CPU überlasten. Je nach Anzahl der verfolgten Objekte kann er einige Zeit in Anspruch nehmen.",
+ "confirmDesc": "Möchten Sie alle verfolgten Objekteinbettungen wirklich neu indizieren? Dieser Vorgang läuft im Hintergrund, kann aber Ihre CPU überlasten und einige Zeit in Anspruch nehmen. Sie können den Fortschritt auf der Explore-Seite verfolgen."
},
"modelSize": {
"large": {
- "title": "groß"
+ "title": "groß",
+ "desc": "Bei Verwendung von large wird das vollständige Jina-Modell verwendet und ggf. automatisch auf der GPU ausgeführt."
},
"label": "Model Größe",
"small": {
- "title": "klein"
- }
+ "title": "klein",
+ "desc": "Durch die Verwendung von small wird eine quantisierte Version des Modells eingesetzt, die weniger RAM verwendet und schneller auf der CPU läuft, wobei der Unterschied in der Einbettungsqualität sehr gering ist."
+ },
+ "desc": "Die Größe des Modells, das für semantische Sucheinbettungen verwendet wird."
}
},
"birdClassification": {
@@ -111,24 +117,32 @@
},
"licensePlateRecognition": {
"readTheDocumentation": "Lies die Dokumentation",
- "title": "Nummernschilderkennung"
+ "title": "Nummernschilderkennung",
+ "desc": "Frigate kann Nummernschilder an Fahrzeugen erkennen und die erkannten Zeichen automatisch dem Feld „recognized_license_plate“ oder einem bekannten Namen als Unterbezeichnung für Objekte vom Typ „Auto“ hinzufügen. Ein häufiger Anwendungsfall ist das Lesen der Nummernschilder von Autos, die in eine Einfahrt einfahren oder auf einer Straße vorbeifahren."
},
"faceRecognition": {
"readTheDocumentation": "Lies die Dokumentation",
"modelSize": {
"small": {
- "title": "klein"
+ "title": "klein",
+ "desc": "ei der Verwendung von small wird ein FaceNet-Gesichtseinbettungsmodell eingesetzt, das auf den meisten CPUs effizient läuft."
},
"label": "Model Größe",
"large": {
- "title": "groß"
- }
+ "title": "groß",
+ "desc": "Bei der Verwendung von large wird ein ArcFace-Gesichtseinbettungsmodell verwendet und ggf. automatisch auf der GPU ausgeführt."
+ },
+ "desc": "Die Größe des für die Gesichtserkennung verwendeten Modells."
},
- "title": "Gesichtserkennung"
+ "title": "Gesichtserkennung",
+ "desc": "Mithilfe der Gesichtserkennung können Personen Namen zugewiesen werden. Sobald das Gesicht erkannt wird, weist Frigate den Namen der Person als Unterbezeichnung zu. Diese Informationen werden in die Benutzeroberfläche, Filter und Benachrichtigungen integriert."
},
"toast": {
- "error": "Sichern der Konfigurationsänderungen fehlgeschlagen: {{errorMessage}}"
- }
+ "error": "Sichern der Konfigurationsänderungen fehlgeschlagen: {{errorMessage}}",
+ "success": "Die Klassifizierungseinstellungen wurden gespeichert. Starten Sie Frigate neu, um die Änderungen zu übernehmen."
+ },
+ "restart_required": "Neustart erforderlich (Klassifizierungseinstellungen geändert)",
+ "unsavedChanges": "Nicht gespeicherte Änderungen der Klassifizierungseinstellungen"
},
"camera": {
"reviewClassification": {
@@ -140,15 +154,27 @@
"limitDetections": "Begrenzung der Erkennungen auf bestimmte Zonen",
"readTheDocumentation": "Lies die Dokumentation",
"noDefinedZones": "Für diese Kamera sind keine Zonen definiert.",
- "selectDetectionsZones": "Zonen für Erkennungen auswählen"
+ "selectDetectionsZones": "Zonen für Erkennungen auswählen",
+ "objectAlertsTips": "Alle {{alertsLabels}} -Objekte auf {{cameraName}} werden als Warnungen angezeigt.",
+ "desc": "Frigate kategorisiert Überprüfungselemente als Warnungen und Erkennungen. Standardmäßig werden alle Objekte vom Typ Person und Auto als Warnungen betrachtet. Sie können die Kategorisierung Ihrer Überprüfungselemente verfeinern, indem Sie die erforderlichen Zonen dafür konfigurieren.",
+ "zoneObjectAlertsTips": "Alle {{alertsLabels}} Objekte, die in {{zone}} auf {{cameraName}} erkannt werden , werden als Warnungen angezeigt.",
+ "objectDetectionsTips": "Alle {{detectionsLabels}} Objekte, die auf {{cameraName}} nicht kategorisiert sind, werden unabhängig von der Zone, in der sie sich befinden, als Erkennungen angezeigt.",
+ "zoneObjectDetectionsTips": {
+ "text": "Alle {{detectionsLabels}} Objekte, die in {{zone}} auf {{cameraName}} nicht kategorisiert sind, werden als Erkennungen angezeigt.",
+ "regardlessOfZoneObjectDetectionsTips": "Alle {{detectionsLabels}} Objekte, die auf {{cameraName}} nicht kategorisiert sind, werden unabhängig von der Zone, in der sie sich befinden, als Erkennungen angezeigt.",
+ "notSelectDetections": "Alle {{detectionsLabels}} Objekte, die in {{zone}} auf {{cameraName}} erkannt wurden und nicht als Warnungen kategorisiert sind, werden unabhängig von der Zone, in der sie sich befinden, als Erkennungen angezeigt."
+ },
+ "unsavedChanges": "Nicht gespeicherte Überprüfung der Klassifizierungseinstellungen für {{camera}}"
},
"streams": {
- "title": "Streams"
+ "title": "Streams",
+ "desc": "Das Deaktivieren einer Kamera stoppt die Verarbeitung der Streams dieser Kamera durch Frigate vollständig. Erkennung, Aufzeichnung und Debugging sind dann nicht mehr möglich.Bewegungsrahmen
Rote Rahmen werden über die Bereiche des Bildes gelegt, in denen aktuell Bewegung erkannt wird.
", + "title": "Bewegungsrahmen", + "desc": "Rahmen um Bereiche anzeigen, in denen Bewegung erkannt wird" + }, + "boundingBoxes": { + "title": "Begrenzungsrahmen", + "desc": "Begrenzungsrahmen um verfolgte Objekte anzeigen", + "colors": { + "info": "Regionsrahmen
Leuchtend grüne Rahmen werden über die Interessensbereiche im Bild gelegt, die an den Objektdetektor übermittelt werden.
", + "desc": "Einen Rahmen für den an den Objektdetektor übermittelten Interessensbereich anzeigen" + }, + "title": "Debug", + "desc": "Die Debug-Ansicht zeigt eine Echtzeitansicht der verfolgten Objekte und ihrer Statistiken. Die Objektliste zeigt eine zeitverzögerte Zusammenfassung der erkannten Objekte." + }, + "motionDetectionTuner": { + "Threshold": { + "title": "Schwellenwert", + "desc": "Der Schwellenwert legt fest, wie stark sich die Helligkeit eines Pixels ändern muss, damit dies als Bewegung erkannt wird. Standard: 30" + }, + "improveContrast": { + "title": "Kontrast verbessern", + "desc": "Den Kontrast für dunklere Szenen verbessern. Standard: EIN" + }, + "toast": { + "success": "Bewegungseinstellungen wurden gespeichert." + }, + "desc": { + "documentation": "Lies die Anleitung zur Bewegungsoptimierung", + "title": "Frigate verwendet die Bewegungserkennung als erste Überprüfung, um festzustellen, ob im Bildausschnitt etwas passiert, das eine Objekterkennung rechtfertigt." + }, + "contourArea": { + "title": "Konturfläche", + "desc": "Der Wert für die Konturfläche wird verwendet, um zu bestimmen, welche Gruppen von veränderten Pixeln als Bewegung gelten. Standard: 10" + }, + "title": "Bewegungserkennungs-Optimierer", + "unsavedChanges": "Nicht gespeicherte Änderungen am Bewegungstuner ({{camera}})" + }, + "users": { + "addUser": "Benutzer hinzufügen", + "updatePassword": "Passwort aktualisieren", + "toast": { + "success": { + "deleteUser": "Benutzer {{user}} wurde erfolgreich gelöscht", + "createUser": "Benutzer {{user}} wurde erfolgreich erstellt", + "updatePassword": "Passwort erfolgreich aktualisiert.", + "roleUpdated": "Rolle für {{user}} aktualisiert" + }, + "error": { + "setPasswordFailed": "Speichern des Passworts fehlgeschlagen: {{errorMessage}}", + "createUserFailed": "Benutzer konnte nicht erstellt werden: {{errorMessage}}", + "deleteUserFailed": "Benutzer konnte nicht gelöscht werden: {{errorMessage}}", + "roleUpdateFailed": "Aktualisierung der Rolle fehlgeschlagen: {{errorMessage}}" + } + }, + "title": "Benutzer", + "management": { + "title": "Benutzerverwaltung", + "desc": "Verwalte die Benutzerkonten dieser Frigate-Instanz." + }, + "table": { + "changeRole": "Benutzerrolle ändern", + "deleteUser": "Benutzer löschen", + "noUsers": "Keine Benutzer gefunden.", + "password": "Passwort", + "username": "Benutzername", + "actions": "Aktionen", + "role": "Rolle" + }, + "dialog": { + "form": { + "user": { + "title": "Benutzername", + "desc": "Nur Buchstaben, Zahlen, Punkte und Unterstriche sind erlaubt.", + "placeholder": "Benutzernamen eingeben" + }, + "password": { + "notMatch": "Passwörter stimmen nicht überein", + "strength": { + "weak": "Schwach", + "title": "Passwortstärke: ", + "medium": "Mittel", + "strong": "Stark", + "veryStrong": "Sehr stark" + }, + "confirm": { + "placeholder": "Bestätige Passwort", + "title": "Bestätige Passwort" + }, + "match": "Passwörter stimmen überein", + "title": "Passwort", + "placeholder": "Passwort eingeben" + }, + "newPassword": { + "title": "Neues Passwort", + "placeholder": "Neues Passwort eingeben", + "confirm": { + "placeholder": "Neues Passwort erneut eingeben" + } + }, + "usernameIsRequired": "Benutzername ist erforderlich" + }, + "changeRole": { + "desc": "Berechtigungen für {{username}} aktualisieren", + "roleInfo": { + "intro": "Wähle die entsprechende Rolle für diesen Benutzer:", + "admin": "Admin", + "adminDesc": "Voller Zugang zu allen Funktionen.", + "viewer": "Betrachter", + "viewerDesc": "Nur auf Live-Dashboards, Überprüfung, Erkundung und Exporte beschränkt." + }, + "title": "Benutzerrolle ändern" + }, + "deleteUser": { + "desc": "Diese Aktion kann nicht rückgängig gemacht werden. Dadurch wird das Benutzerkonto dauerhaft gelöscht und alle zugehörigen Daten werden entfernt.", + "warn": "Bist du sicher, dass du {{username}} löschen willst?", + "title": "Benutzer löschen" + }, + "createUser": { + "title": "Neuen Benutzer anlegen", + "desc": "Füge ein neues Benutzerkonto hinzu und lege eine Rolle für den Zugriff auf Bereiche der Frigate-Benutzeroberfläche fest.", + "usernameOnlyInclude": "Der Benutzername darf nur Buchstaben, Zahlen, . oder _ enthalten" + }, + "passwordSetting": { + "updatePassword": "Passwort für {{username}} aktualisieren", + "setPassword": "Passwort festlegen", + "desc": "Erstelle ein sicheres Passwort, um dieses Konto zu schützen." + } + } + }, + "notification": { + "email": { + "desc": "Eine gültige E-Mail-Adresse ist erforderlich und wird verwendet, um Sie zu benachrichtigen, falls es Probleme mit dem Push-Dienst gibt.", + "placeholder": "z. B. example@email.com", + "title": "Email" + }, + "notificationSettings": { + "title": "Einstellungen für Benachrichtigungen", + "desc": "Frigate kann von Haus aus Push-Benachrichtigungen an ein Gerät senden, wenn es im Browser läuft oder als PWA installiert ist.", + "documentation": "Lese die Dokumentation" + }, + "title": "Benachrichtigungen", + "notificationUnavailable": { + "title": "Benachrichtigungen nicht verfügbar", + "desc": "Web Push Benachrichtigungen erfordern einen sicheren Kontext (https://…
). Das ist eine Vorgabe des Browsers. Greife auf Frigate gesichert zu um Benachrichtigungen zu nutzen.",
+ "documentation": "Dokumentation lesen"
+ },
+ "cameras": {
+ "desc": "Wähle aus für welche Kameras Benachrichtigungen aktiviert werden sollen.",
+ "noCameras": "Keine Kameras verfügbar",
+ "title": "Kameras"
+ },
+ "sendTestNotification": "Test Benachrichtigung senden",
+ "globalSettings": {
+ "desc": "Benachrichtigungen für bestimmte Kameras auf allen registrierten Geräten vorübergehend aussetzen.",
+ "title": "Globale Einstellungen"
+ },
+ "deviceSpecific": "Geräte spezifische Einstellungen",
+ "active": "Benachrichtigungen aktiv",
+ "registerDevice": "Dieses Gerät registrieren",
+ "unregisterDevice": "Dieses Gerät abmelden",
+ "toast": {
+ "error": {
+ "registerFailed": "Speichern der Benachrichtigungsregistrierung fehlgeschlagen."
+ },
+ "success": {
+ "registered": "Erfolgreich für Benachrichtigungen registriert. Starte Frigate neu bevor Benachrichtigungen (inklusive Testbenachrichtigung) gesendet werden können.",
+ "settingSaved": "Benachrichtigungseinstellungen wurden gespeichert."
+ }
+ },
+ "suspendTime": {
+ "30minutes": "für 30 Minuten pausieren",
+ "1hour": "für 1 Stunde pausieren",
+ "12hours": "für 12 Stunden pausieren",
+ "untilRestart": "bis Neustart pausieren",
+ "24hours": "für 24 Stunden pausieren",
+ "5minutes": "Für 5 Minuten pausieren",
+ "10minutes": "Für 10 Minuten pausieren",
+ "suspend": "Pausieren"
+ },
+ "cancelSuspension": "Pausieren abbrechen",
+ "suspended": "Benachrichtigungen für {{time}} pausiert",
+ "unsavedChanges": "Nicht gespeicherte Änderungen an den Benachrichtigungen",
+ "unsavedRegistrations": "Nicht gespeicherte Benachrichtigungsanmeldungen"
+ },
+ "frigatePlus": {
+ "title": "Frigate+ Einstellungen",
+ "apiKey": {
+ "title": "Frigate+ API Key",
+ "desc": "Der Frigate+ API Key aktiviert die Integration des Frigate+ Dienstes.",
+ "validated": "Frigate+ API Key erkannt und validiert",
+ "notValidated": "Frigate+ API Key nicht erkannt und validiert",
+ "plusLink": "Lese mehr zu Frigate+"
+ },
+ "snapshotConfig": {
+ "desc": "Für die Übermittlung an Frigate+ muss in der Konfiguration sowohl Snapshots als auch clean_copy
-Snapshots aktiviert sein.",
+ "cleanCopyWarning": "Einige Kameras haben Snapshots aktiviert aber clean copy deaktiviert. Aktiviere clean_copy
in der Snapshot Konfiguration um Bilder an Frigate+ zu senden.",
+ "documentation": "die Dokumentation lesen",
+ "table": {
+ "camera": "Kamera",
+ "snapshots": "Snapshots",
+ "cleanCopySnapshots": "clean_copy
Snapshots"
+ },
+ "title": "Snapshot Einstellungen"
+ },
+ "modelInfo": {
+ "modelType": "Model Typ",
+ "trainDate": "Trainings Datum",
+ "supportedDetectors": "Unterstützte Detektoren",
+ "modelSelect": "Die verfügbaren Modelle auf Frigate+ können hier ausgewählt werden. Beachte, dass nur Modelle kompatibel mit deiner aktuellen Detektorkonfiguration zur Auswahl stehen.",
+ "plusModelType": {
+ "baseModel": "Basis Model",
+ "userModel": "Feinabgestimmt"
+ },
+ "cameras": "Kameras",
+ "loading": "Lade Model Informationen…",
+ "error": "Model Informationen laden fehlgeschlagen",
+ "availableModels": "Verfügbare Modelle",
+ "loadingAvailableModels": "Lade verfügbare Modelle…",
+ "baseModel": "Basis Model",
+ "title": "Model Informationen"
+ },
+ "toast": {
+ "error": "Speichern der Konfigurationsänderungen fehlgeschlagen: {{errorMessage}}",
+ "success": "Frigate+ Einstellungen wurden gespeichert. Starte Frigate neu um Änderungen anzuwenden."
+ },
+ "restart_required": "Neustart erforderlich (Frigate+ Model geändert)",
+ "unsavedChanges": "Nicht gespeicherte Änderungen an den Frigate+-Einstellungen"
}
}
diff --git a/web/public/locales/de/views/system.json b/web/public/locales/de/views/system.json
index c4026463d..8246d0893 100644
--- a/web/public/locales/de/views/system.json
+++ b/web/public/locales/de/views/system.json
@@ -126,8 +126,17 @@
"detect": "erkennen",
"camera": "Kamera",
"skipped": "übersprungene",
- "ffmpeg": "ffmpeg",
- "capture": "aufnehmen"
+ "ffmpeg": "FFmpeg",
+ "capture": "aufnehmen",
+ "overallFramesPerSecond": "Bilder pro Sekunde",
+ "overallDetectionsPerSecond": "Erkennungen pro Sekunde",
+ "overallSkippedDetectionsPerSecond": "übersprungene Erkennungen pro Sekunde",
+ "cameraFfmpeg": "{{camName}} FFmpeg",
+ "cameraCapture": "{{camName}} Aufnahme",
+ "cameraDetect": "{{camName}} Erkennung",
+ "cameraFramesPerSecond": "{{camName}} Bilder pro Sekunde",
+ "cameraDetectionsPerSecond": "{{camName}} Erkennungen pro Sekunde",
+ "cameraSkippedDetectionsPerSecond": "{{camName}} übersprungene Erkennungen pro Sekunde"
},
"title": "Kameras",
"framesAndDetections": "Bilder / Erkennungen",
@@ -149,14 +158,17 @@
"plate_recognition": "Kennzeichen Erkennung",
"face_recognition_speed": "Gesichts Erkennungs Geschwindigkeit",
"text_embedding": "Einbettung von Bildern",
- "face_recognition": "Gesichts Erkennung"
+ "face_recognition": "Gesichts Erkennung",
+ "image_embedding": "Bild Embedding",
+ "yolov9_plate_detection_speed": "YOLOv9 Kennzeichenerkennungsgeschwindigkeit",
+ "yolov9_plate_detection": "YOLOv9 Kennzeichenerkennung"
},
"title": "Optimierungen",
"infPerSecond": "Rückschlüsse pro Sekunde"
},
"stats": {
"healthy": "Das System läuft problemlos",
- "ffmpegHighCpuUsage": "{{camera}} hat eine hohe FFMPEG CPU Auslastung ({{ffmpegAvg}}%)",
+ "ffmpegHighCpuUsage": "{{camera}} hat eine hohe FFmpeg CPU Auslastung ({{ffmpegAvg}}%)",
"detectHighCpuUsage": "{{camera}} hat eine hohe CPU Auslastung bei der Erkennung ({{detectAvg}}%)",
"reindexingEmbeddings": "Neuindizierung von Einbettungen ({{processed}}% erledigt)",
"detectIsSlow": "{{detect}} ist langsam ({{speed}} ms)",