diff --git a/web/public/locales/de/common.json b/web/public/locales/de/common.json index 8a3eff88c..b74bdbdde 100644 --- a/web/public/locales/de/common.json +++ b/web/public/locales/de/common.json @@ -38,7 +38,7 @@ "1hour": "1 Stunde", "lastWeek": "Letzte Woche", "h": "{{time}} Stunde", - "ago": "{{timeAgo}} her", + "ago": "vor {{timeAgo}}", "untilRestart": "Bis zum Neustart", "justNow": "Gerade", "pm": "nachmittags", @@ -160,7 +160,15 @@ "sk": "Slowakisch", "yue": "粵語 (Kantonesisch)", "th": "ไทย (Thailändisch)", - "ca": "Català (Katalanisch)" + "ca": "Català (Katalanisch)", + "ur": "اردو (Urdu)", + "ptBR": "Portugiesisch (Brasilianisch)", + "sr": "Српски (Serbisch)", + "sl": "Slovenščina (Slowenisch)", + "lt": "Lietuvių (Litauisch)", + "bg": "Български (bulgarisch)", + "gl": "Galego (Galicisch)", + "id": "Bahasa Indonesia (Indonesisch)" }, "appearance": "Erscheinung", "theme": { @@ -168,7 +176,7 @@ "blue": "Blau", "green": "Grün", "default": "Standard", - "nord": "Norden", + "nord": "Nord", "red": "Rot", "contrast": "Hoher Kontrast", "highcontrast": "Hoher Kontrast" diff --git a/web/public/locales/de/components/dialog.json b/web/public/locales/de/components/dialog.json index cedd1c114..578f02773 100644 --- a/web/public/locales/de/components/dialog.json +++ b/web/public/locales/de/components/dialog.json @@ -119,5 +119,12 @@ "markAsReviewed": "Als geprüft markieren", "deleteNow": "Jetzt löschen" } + }, + "imagePicker": { + "selectImage": "Vorschaubild eines verfolgten Objekts selektieren", + "search": { + "placeholder": "Nach Label oder Unterlabel suchen..." + }, + "noImages": "Kein Vorschaubild für diese Kamera gefunden" } } diff --git a/web/public/locales/de/components/filter.json b/web/public/locales/de/components/filter.json index a2c7db779..52934ea9c 100644 --- a/web/public/locales/de/components/filter.json +++ b/web/public/locales/de/components/filter.json @@ -122,5 +122,13 @@ "loading": "Lade bekannte Nummernschilder…", "placeholder": "Tippe, um Kennzeichen zu suchen…", "selectPlatesFromList": "Wählen eine oder mehrere Kennzeichen aus der Liste aus." + }, + "classes": { + "label": "Klassen", + "all": { + "title": "Alle Klassen" + }, + "count_one": "{{count}} Klasse", + "count_other": "{{count}} Klassen" } } diff --git a/web/public/locales/de/views/configEditor.json b/web/public/locales/de/views/configEditor.json index 7f975e31b..86959e126 100644 --- a/web/public/locales/de/views/configEditor.json +++ b/web/public/locales/de/views/configEditor.json @@ -12,5 +12,7 @@ } }, "documentTitle": "Konfigurationseditor – Frigate", - "confirm": "Verlassen ohne zu Speichern?" + "confirm": "Verlassen ohne zu Speichern?", + "safeConfigEditor": "Konfiguration Editor (abgesicherter Modus)", + "safeModeDescription": "Frigate ist aufgrund eines Konfigurationsvalidierungsfehlers im abgesicherten Modus." } diff --git a/web/public/locales/de/views/explore.json b/web/public/locales/de/views/explore.json index ee518fc11..eeca88240 100644 --- a/web/public/locales/de/views/explore.json +++ b/web/public/locales/de/views/explore.json @@ -17,12 +17,14 @@ "success": { "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." + "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." }, "error": { "regenerate": "Der Aufruf von {{provider}} für eine neue Beschreibung ist fehlgeschlagen: {{errorMessage}}", "updatedSublabelFailed": "Untekategorie konnte nicht aktualisiert werden: {{errorMessage}}", - "updatedLPRFailed": "Aktualisierung des Kennzeichens fehlgeschlagen: {{errorMessage}}" + "updatedLPRFailed": "Aktualisierung des Kennzeichens fehlgeschlagen: {{errorMessage}}", + "audioTranscription": "Die Anforderung der Audio Transkription ist fehlgeschlagen: {{errorMessage}}" } } }, @@ -182,6 +184,14 @@ }, "deleteTrackedObject": { "label": "Dieses verfolgte Objekt löschen" + }, + "audioTranscription": { + "aria": "Audio Transkription anfordern", + "label": "Transkribieren" + }, + "addTrigger": { + "aria": "Einen Trigger für dieses verfolgte Objekt hinzufügen", + "label": "Trigger hinzufügen" } }, "dialog": { diff --git a/web/public/locales/de/views/live.json b/web/public/locales/de/views/live.json index 318c2b720..fea1cabd8 100644 --- a/web/public/locales/de/views/live.json +++ b/web/public/locales/de/views/live.json @@ -41,6 +41,14 @@ "center": { "label": "Klicken Sie in den Rahmen, um die PTZ-Kamera zu zentrieren" } + }, + "focus": { + "in": { + "label": "PTZ Kamera hinein fokussieren" + }, + "out": { + "label": "PTZ Kamera hinaus fokussieren" + } } }, "documentTitle": "Live - Frigate", @@ -100,7 +108,7 @@ "tips": "Ihr Gerät muss die Funktion unterstützen und WebRTC muss für die bidirektionale Kommunikation konfiguriert sein.", "tips.documentation": "Dokumentation lesen ", "available": "Für diesen Stream ist eine Zwei-Wege-Sprechfunktion verfügbar", - "unavailable": "Für diesen Stream ist keine Zwei-Wege-Kommunikation möglich." + "unavailable": "Zwei-Wege-Kommunikation für diesen Stream nicht verfügbar" }, "lowBandwidth": { "tips": "Die Live-Ansicht befindet sich aufgrund von Puffer- oder Stream-Fehlern im Modus mit geringer Bandbreite.", @@ -146,7 +154,8 @@ "cameraEnabled": "Kamera aktiviert", "autotracking": "Autotracking", "audioDetection": "Audioerkennung", - "title": "{{camera}} Einstellungen" + "title": "{{camera}} Einstellungen", + "transcription": "Audio Transkription" }, "history": { "label": "Historisches Filmmaterial zeigen" @@ -154,5 +163,9 @@ "audio": "Audio", "suspend": { "forTime": "Aussetzen für: " + }, + "transcription": { + "enable": "Live Audio Transkription einschalten", + "disable": "Live Audio Transkription ausschalten" } } diff --git a/web/public/locales/de/views/search.json b/web/public/locales/de/views/search.json index c3800ab28..5729716d8 100644 --- a/web/public/locales/de/views/search.json +++ b/web/public/locales/de/views/search.json @@ -58,7 +58,7 @@ "title": "Wie man Textfilter verwendet" }, "searchType": { - "thumbnail": "Miniaturansicht", + "thumbnail": "Vorschaubild", "description": "Beschreibung" } }, diff --git a/web/public/locales/de/views/settings.json b/web/public/locales/de/views/settings.json index 29c5d6ece..f01716905 100644 --- a/web/public/locales/de/views/settings.json +++ b/web/public/locales/de/views/settings.json @@ -8,7 +8,7 @@ "general": "Allgemeine Einstellungen – Frigate", "frigatePlus": "Frigate+ Einstellungen – Frigate", "classification": "Klassifizierungseinstellungen – Frigate", - "motionTuner": "Bewegungstuner – Frigate", + "motionTuner": "Bewegungserkennungs-Optimierer – Frigate", "notifications": "Benachrichtigungs-Einstellungen", "enrichments": "Erweiterte Statistiken - Frigate" }, @@ -17,12 +17,12 @@ "cameras": "Kameraeinstellungen", "classification": "Klassifizierung", "masksAndZones": "Maskierungen / Zonen", - "motionTuner": "Bewegungstuner", + "motionTuner": "Bewegungserkennungs-Optimierer", "debug": "Debug", "frigateplus": "Frigate+", "users": "Benutzer", "notifications": "Benachrichtigungen", - "enrichments": "Verbesserungen" + "enrichments": "Erkennungsfunktionen" }, "dialog": { "unsavedChanges": { @@ -178,7 +178,44 @@ "detections": "Erkennungen ", "desc": "Aktiviere/deaktiviere Benachrichtigungen und Erkennungen für diese Kamera vorübergehend, bis Frigate neu gestartet wird. Wenn deaktiviert, werden keine neuen Überprüfungseinträge erstellt. " }, - "title": "Kamera-Einstellungen" + "title": "Kameraeinstellungen", + "object_descriptions": { + "title": "Generative KI-Objektbeschreibungen", + "desc": "Generativen KI-Objektbeschreibungen für diese Kamera vorübergehend aktivieren/deaktivieren. Wenn diese Funktion deaktiviert ist, werden keine KI-generierten Beschreibungen für verfolgte Objekte auf dieser Kamera angefordert." + }, + "cameraConfig": { + "ffmpeg": { + "roles": "Rollen", + "pathRequired": "Stream-Pfad ist erforderlich", + "path": "Stream-Pfad", + "inputs": "Eingabe Streams", + "pathPlaceholder": "rtsp://...", + "rolesRequired": "Mindestens eine Rolle ist erforderlich", + "rolesUnique": "Jede Rolle (Audio, Erkennung, Aufzeichnung) kann nur einem Stream zugewiesen werden", + "addInput": "Eingabe-Stream hinzufügen", + "removeInput": "Eingabe-Stream entfernen", + "inputsRequired": "Mindestens ein Eingabe-Stream ist erforderlich" + }, + "enabled": "Aktiviert", + "namePlaceholder": "z. B., Vorder_Türe", + "nameInvalid": "Der Name der Kamera darf nur Buchstaben, Zahlen, Unterstriche oder Bindestriche enthalten", + "name": "Kamera Name", + "edit": "Kamera bearbeiten", + "add": "Kamera hinzufügen", + "description": "Kameraeinstellungen einschließlich Stream-Eingänge und Rollen konfigurieren.", + "nameRequired": "Kameraname ist erforderlich", + "toast": { + "success": "Kamera {{cameraName}} erfolgreich gespeichert" + } + }, + "backToSettings": "Zurück zu den Kamera Einstellungen", + "selectCamera": "Kamera wählen", + "editCamera": "Kamera bearbeiten:", + "addCamera": "Neue Kamera hinzufügen", + "review_descriptions": { + "desc": "Generativen KI-Objektbeschreibungen für diese Kamera vorübergehend aktivieren/deaktivieren. Wenn diese Funktion deaktiviert ist, werden keine KI-generierten Beschreibungen für Überprüfungselemente auf dieser Kamera angefordert.", + "title": "Beschreibungen zur generativen KI-Überprüfung" + } }, "masksAndZones": { "form": { @@ -397,7 +434,12 @@ "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." + "desc": "Die Debug-Ansicht zeigt eine Echtzeitansicht der verfolgten Objekte und ihrer Statistiken. Die Objektliste zeigt eine zeitverzögerte Zusammenfassung der erkannten Objekte.", + "paths": { + "title": "Pfade", + "desc": "Wichtige Punkte des Pfads des verfolgten Objekts anzeigen", + "tips": "
Pfade
Linien und Kreise zeigen wichtige Punkte an, an denen sich das verfolgte Objekt während seines Lebenszyklus bewegt hat.
" + } }, "motionDetectionTuner": { "Threshold": { @@ -420,7 +462,7 @@ "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}})" + "unsavedChanges": "Nicht gespeicherte Änderungen im Bewegungserkennungs-Optimierer ({{camera}})" }, "users": { "addUser": "Benutzer hinzufügen", @@ -679,5 +721,100 @@ "success": "Die Einstellungen für die Verbesserungen wurden gespeichert. Starten Sie Frigate neu, um Ihre Änderungen zu übernehmen.", "error": "Konfigurationsänderungen konnten nicht gespeichert werden: {{errorMessage}}" } + }, + "triggers": { + "documentTitle": "Auslöser", + "management": { + "title": "Auslöser Verwaltung", + "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", + "table": { + "name": "Name", + "type": "Typ", + "content": "Inhalt", + "threshold": "Schwellenwert", + "actions": "Aktionen", + "noTriggers": "Für diese Kamera sind keine Auslöser konfiguriert.", + "edit": "Bearbeiten", + "deleteTrigger": "Auslöser löschen", + "lastTriggered": "Zuletzt ausgelöst" + }, + "type": { + "thumbnail": "Vorschaubild", + "description": "Beschreibung" + }, + "actions": { + "alert": "Als Alarm markieren", + "notification": "Benachrichtigung senden" + }, + "dialog": { + "createTrigger": { + "title": "Auslöser erstellen", + "desc": "Auslöser für Kamera {{camera}} erstellen" + }, + "editTrigger": { + "title": "Auslöser bearbeiten", + "desc": "Einstellungen für Kamera {{camera}} bearbeiten" + }, + "deleteTrigger": { + "title": "Auslöser löschen", + "desc": "Sind Sie sicher, dass Sie den Auslöser {{triggerName}} löschen wollen? Dies kann nicht Rückgängig gemacht werden." + }, + "form": { + "name": { + "title": "Name", + "placeholder": "Auslöser Name eingeben", + "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." + } + }, + "enabled": { + "description": "Diesen Auslöser aktivieren oder deaktivieren" + }, + "type": { + "title": "Typ", + "placeholder": "Auslöser Typ wählen" + }, + "content": { + "title": "Inhalt", + "imagePlaceholder": "Ein Bild auswählen", + "textPlaceholder": "Inhaltstext eingeben", + "imageDesc": "Ein Bild auswählen, um diese Aktion auszulösen, wenn ein ähnliches Bild erkannt wird.", + "textDesc": "Einen Text eingeben, um diese Aktion auszulösen, wenn eine ähnliche Beschreibung eines verfolgten Objekts erkannt wird.", + "error": { + "required": "Inhalt ist erforderlich." + } + }, + "threshold": { + "title": "Schwellenwert", + "error": { + "min": "Schwellenwert muss mindestens 0 sein", + "max": "Schwellenwert darf höchstens 1 sein" + } + }, + "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.", + "error": { + "min": "Mindesten eine Aktion muss ausgewählt sein." + } + } + } + }, + "toast": { + "success": { + "createTrigger": "Auslöser {{name}} erfolgreich erstellt.", + "updateTrigger": "Auslöser {{name}} erfolgreich aktualisiert.", + "deleteTrigger": "Auslöser {{name}} erfolgreich gelöscht." + }, + "error": { + "createTriggerFailed": "Auslöser konnte nicht erstellt werden: {{errorMessage}}", + "updateTriggerFailed": "Auslöser könnte nicht aktualisiert werden: {{errorMessage}}", + "deleteTriggerFailed": "Auslöser konnte nicht gelöscht werden: {{errorMessage}}" + } + } } }