Compare commits

..

1 Commits

Author SHA1 Message Date
Nicolas Mowen
5615ec82dc Set log to debug 2026-02-05 12:20:07 -07:00
37 changed files with 90 additions and 481 deletions

View File

@@ -48,8 +48,7 @@
"bg": "Български (Búlgar)",
"gl": "Galego (Gallec)",
"id": "Bahasa Indonesia (Indonesi)",
"ur": "اردو (Urdú)",
"hr": "Hrvatski (croat)"
"ur": "اردو (Urdú)"
},
"system": "Sistema",
"systemMetrics": "Mètriques del sistema",

View File

@@ -19,8 +19,7 @@
"description": {
"addFace": "Afegiu una col·lecció nova a la biblioteca de cares pujant la vostra primera imatge.",
"placeholder": "Introduïu un nom per a aquesta col·lecció",
"invalidName": "Nom no vàlid. Els noms només poden incloure lletres, números, espais, apòstrofs, guions baixos i guions.",
"nameCannotContainHash": "El nom no pot contenir #."
"invalidName": "Nom no vàlid. Els noms només poden incloure lletres, números, espais, apòstrofs, guions baixos i guions."
},
"documentTitle": "Biblioteca de rostres - Frigate",
"uploadFaceImage": {

View File

@@ -532,7 +532,7 @@
"hide": "Amaga contrasenya",
"requirements": {
"title": "Requisits contrasenya:",
"length": "Com a mínim 12 carácters",
"length": "Com a mínim 8 carácters",
"uppercase": "Com a mínim una majúscula",
"digit": "Com a mínim un digit",
"special": "Com a mínim un carácter especial (!@#$%^&*(),.?\":{}|<>)"

View File

@@ -27,7 +27,7 @@
"harp": "Harpe",
"bell": "Klokke",
"harmonica": "Harmonika",
"bagpipes": "Sækkepiber",
"bagpipes": "Sækkepibe",
"didgeridoo": "Didgeridoo",
"jazz": "Jazz",
"opera": "Opera",
@@ -78,7 +78,7 @@
"camera": "Kamera",
"tools": "Værktøj",
"hammer": "Hammer",
"drill": "Boremaskine",
"drill": "Bore",
"explosion": "Eksplosion",
"fireworks": "Nytårskrudt",
"babbling": "Pludren",

View File

@@ -193,8 +193,7 @@
"bg": "Български (Bulgarsk)",
"gl": "Galego (Galisisk)",
"id": "Bahasa Indonesia (Indonesisk)",
"ur": "اردو (Urdu)",
"hr": "Hrvatski (Kroatisk)"
"ur": "اردو (Urdu)"
},
"appearance": "Udseende",
"darkMode": {
@@ -222,7 +221,7 @@
},
"restart": "Genstart Frigate",
"live": {
"title": "Direkte",
"title": "Live",
"allCameras": "Alle kameraer",
"cameras": {
"title": "Kameraer",
@@ -241,17 +240,17 @@
"current": "Aktiv bruger: {{user}}",
"anonymous": "anonym",
"logout": "Log ud",
"setPassword": "Vælg kodeord"
"setPassword": "Set Password"
},
"classification": "Kategorisering"
},
"toast": {
"copyUrlToClipboard": "Kopieret URL til udklipsholder.",
"copyUrlToClipboard": "Kopieret URL til klippebord.",
"save": {
"title": "Gem",
"error": {
"title": "Ændringer kunne ikke gemmes: {{errorMessage}}",
"noMessage": "Kunne ikke gemme konfigurationsændringer"
"title": "Ændringer kan ikke gemmes: {{errorMessage}}",
"noMessage": "Kan ikke gemme konfigurationsændringer"
}
}
},
@@ -262,7 +261,7 @@
"desc": "Admins har fuld adgang til Frigate UI. Viewers er begrænset til at se kameraer, gennemse items, og historik i UI."
},
"pagination": {
"label": "sideinddeling",
"label": "paginering",
"previous": {
"title": "Forrige",
"label": "Gå til forrige side"
@@ -274,9 +273,9 @@
"more": "Flere sider"
},
"accessDenied": {
"documentTitle": "Adgang nægtet - Frigate",
"title": "Adgang nægtet",
"desc": "Du har ikke rettigheder til at se denne side."
"documentTitle": "Adgang forbudt - Frigate",
"title": "Adgang forbudt",
"desc": "Du har ikke tiiladelse til at se denne side."
},
"notFound": {
"documentTitle": "Ikke fundet - Frigate",

View File

@@ -4,13 +4,13 @@
"cameraDisabled": "Kamera er deaktiveret",
"noPreviewFoundFor": "Ingen forhåndsvisning fundet for {{cameraName}}",
"submitFrigatePlus": {
"title": "Indsend dette billede til Frigate+?",
"title": "Indsend denne frame til Frigate+?",
"submit": "Indsend"
},
"livePlayerRequiredIOSVersion": "iOS 17.1 eller nyere kræves for denne type livestream.",
"streamOffline": {
"title": "Stream offline",
"desc": "Der er ikke modtaget nogen billeder på {{cameraName}}-<code>detect</code>-streamen, tjek fejllogs."
"desc": "Der er ikke modtaget nogen frames på {{cameraName}}-<code>detect</code>-streamen, tjek fejlloggene."
},
"stats": {
"streamType": {
@@ -18,8 +18,8 @@
"short": "Type"
},
"bandwidth": {
"title": "Båndbredde:",
"short": "Båndbredde"
"title": "Bandbredde:",
"short": "Bandbredde"
},
"latency": {
"title": "Latenstid:",
@@ -31,21 +31,8 @@
},
"droppedFrames": {
"short": {
"title": "Tabt",
"value": "{{droppedFrames}} billeder"
},
"title": "Tabte billeder:"
},
"totalFrames": "Antal billeder i alt:",
"decodedFrames": "Dekodede billeder:",
"droppedFrameRate": "Rate for tabte billeder:"
},
"toast": {
"success": {
"submittedFrigatePlus": "Billede sendt til Frigate+"
},
"error": {
"submitFrigatePlusFailed": "Kunne ikke sende billede til Frigate+"
"title": "Tabt"
}
}
}
}

View File

@@ -14,104 +14,8 @@
"move": {
"clickMove": {
"label": "Klik i billedrammen for at centrere kameraet",
"enable": "Aktivér klik for at flytte",
"disable": "Deaktiver klik for at flytte"
},
"left": {
"label": "Flyt PTZ-kameraet til venstre"
},
"up": {
"label": "Flyt PTZ kamera op"
},
"down": {
"label": "Flyt PTZ-kameraet ned"
},
"right": {
"label": "Flyt PTZ-kameraet til højre"
"enable": "Aktivér klik for at flytte"
}
},
"zoom": {
"in": {
"label": "Zoom PTZ-kamera ind"
},
"out": {
"label": "Zoom PTZ kamera ud"
}
},
"focus": {
"in": {
"label": "Focus PTZ kamera ind"
},
"out": {
"label": "Focus PTZ kamera ud"
}
},
"frame": {
"center": {
"label": "Klik på billedet for at centrere PTZ-kameraet"
}
},
"presets": "PTZ kamera forudindstillinger"
},
"camera": {
"enable": "Aktivér kamera",
"disable": "Deaktivér kamera"
},
"muteCameras": {
"enable": "Slå lyd på alle kameraer fra",
"disable": "Slå lyd på alle kameraer til"
},
"detect": {
"enable": "Aktiver detektering",
"disable": "Deaktiver detektering"
},
"recording": {
"enable": "Aktivér optagelse",
"disable": "Deaktiver optagelse"
},
"snapshots": {
"enable": "Aktivér Snapshots",
"disable": "Deaktivér Snapshots"
},
"snapshot": {
"takeSnapshot": "Hent instant snapshot",
"noVideoSource": "Ingen videokilde til snapshot.",
"captureFailed": "Kunne ikke tage snapshot.",
"downloadStarted": "Hentning af snapshot startet."
},
"audioDetect": {
"enable": "Aktiver lyddetektor",
"disable": "Deaktiver lyddetektor"
},
"transcription": {
"enable": "Aktiver Live Audio Transkription",
"disable": "Deaktiver Live Audio Transkription"
},
"autotracking": {
"enable": "Aktiver Autotracking",
"disable": "Deaktiver Autotracking"
},
"streamStats": {
"enable": "Vis Stream statistik",
"disable": "Skjul Stream statistik"
},
"manualRecording": {
"title": "Manuel optagelse",
"tips": "Hent et øjebliksbillede eller start en manuel begivenhed baseret på dette kameras indstillinger for optagelse af opbevaring.",
"playInBackground": {
"label": "Afspil i baggrunden",
"desc": "Aktiver denne mulighed for at fortsætte streaming, når afspilleren er skjult."
},
"showStats": {
"label": "Vis statistik",
"desc": "Aktiver denne mulighed for at vise streamstatistikker som en overlejring på kameraets feed."
},
"debugView": "Debug View",
"start": "Start on-demand optagelse",
"started": "Start manuel optagelse.",
"failedToStart": "Manuel optagelse fejlede.",
"recordDisabledTips": "Da optagelsen er deaktiveret eller begrænset i konfig for dette kamera, gemmes der kun et snapshot.",
"end": "Afslut manuel optagelse",
"ended": "Afsluttet manuel optagelse."
}
}
}

View File

@@ -179,8 +179,7 @@
"lt": "Lietuvių (Litauisch)",
"bg": "Български (bulgarisch)",
"gl": "Galego (Galicisch)",
"id": "Bahasa Indonesia (Indonesisch)",
"hr": "Hrvatski (Kroatisch)"
"id": "Bahasa Indonesia (Indonesisch)"
},
"appearance": "Erscheinung",
"theme": {

View File

@@ -2,8 +2,7 @@
"description": {
"placeholder": "Gib einen Name für diese Kollektion ein",
"addFace": "Füge der Gesichtsbibliothek eine neue Sammlung hinzu, indem du ein Bild hochlädst.",
"invalidName": "Ungültiger Name. Namen dürfen nur Buchstaben, Zahlen, Leerzeichen, Apostrophe, Unterstriche und Bindestriche enthalten.",
"nameCannotContainHash": "Der Name darf keine # enthalten."
"invalidName": "Ungültiger Name. Namen dürfen nur Buchstaben, Zahlen, Leerzeichen, Apostrophe, Unterstriche und Bindestriche enthalten."
},
"details": {
"person": "Person",

View File

@@ -544,7 +544,7 @@
"placeholder": "Passwort eingeben",
"requirements": {
"title": "Passwort Anforderungen:",
"length": "Mindestens 12 Zeichen",
"length": "Mindestens 8 Zeichen",
"uppercase": "Mindestens ein Großbuchstabe",
"digit": "Mindestens eine Ziffer",
"special": "Mindestens ein Sonderzeichen (!@#$%^&*(),.?\":{}|<>)"

View File

@@ -139,8 +139,7 @@
"bg": "Български (bulgaaria keel)",
"gl": "Galego (galeegi keel)",
"id": "Bahasa Indonesia (indoneesia keel)",
"ur": "اردو (urdu keel)",
"hr": "Hrvatski (horvaadi keel)"
"ur": "اردو (urdu keel)"
},
"system": "Süsteem",
"systemMetrics": "Süsteemi meetrika",

View File

@@ -30,21 +30,11 @@
"stationary": "{{label}} jäi paigale",
"active": "{{label}} muutus aktiivseks",
"entered_zone": "{{label}} sisenes tsooni {{zones}}",
"visible": "{{label}} on tuvastatud",
"header": {
"zones": "Tsoonid",
"ratio": "Suhtarv",
"area": "Ala",
"score": "Punktiskoor"
}
"visible": "{{label}} on tuvastatud"
},
"title": "Jälgimise üksikasjad",
"noImageFound": "Selle ajatempli kohta ei leidu pilti.",
"createObjectMask": "Loo objektimask",
"carousel": {
"previous": "Eelmine slaid",
"next": "Järgmine slaid"
}
"createObjectMask": "Loo objektimask"
},
"documentTitle": "Avasta - Frigate",
"generativeAI": "Generatiivne tehisaru",
@@ -73,15 +63,12 @@
"tips": {
"mismatch_one": "Tuvastasin {{count}} võõra objekti ja need on lisatud ülevaatamiseks. Need objektid kas ei ole piisavad häire või tuvastamise jaoks, aga ka võivad juba olla eemaldatud või kustutatud.",
"mismatch_other": "Tuvastasin {{count}} võõrast objekti ja need on lisatud ülevaatamiseks. Need objektid kas ei ole piisavad häire või tuvastamise jaoks, aga ka võivad juba olla eemaldatud või kustutatud."
},
"title": "Vaata objekti üksikasju",
"desc": "Vaata objekti üksikasju"
}
},
"snapshotScore": {
"label": "Hetkvõttete punktiskoor"
},
"regenerateFromSnapshot": "Loo uuesti hetkvõttest",
"timestamp": "Ajatampel"
},
"trackedObjectDetails": "Jälgitava objekti üksikasjad"
}
}

View File

@@ -4,23 +4,10 @@
"password": "Salasõna",
"passwordPlaceholder": "Valikuline",
"customUrlPlaceholder": "rtsp://kasutajanimi:salasõna@host:port/asukoht",
"connectionSettings": "Ühenduse seadistused",
"port": "Port",
"username": "Kasutajanimi",
"usernamePlaceholder": "Valikuline"
"connectionSettings": "Ühenduse seadistused"
},
"step3": {
"streamUrlPlaceholder": "rtsp://kasutajanimi:salasõna@host:port/asukoht",
"url": "Võrguaadress",
"resolution": "Resolutsioon",
"quality": "Kvaliteet",
"roles": "Rollid",
"roleLabels": {
"record": "Salvestamine",
"audio": "Heliriba"
},
"connected": "Ühendatud",
"featuresTitle": "Funktsionaalsused"
"streamUrlPlaceholder": "rtsp://kasutajanimi:salasõna@host:port/asukoht"
},
"steps": {
"probeOrSnapshot": "Võta proov või tee hetkvõte"
@@ -28,34 +15,7 @@
"step2": {
"testing": {
"fetchingSnapshot": "Laadin kaamera hetkvõtet alla..."
},
"retry": "Proovi uuesti",
"manufacturer": "Tootja",
"model": "Mudel",
"firmware": "Püsivara",
"profiles": "Profiilid",
"presets": "Eelseadistused",
"useCandidate": "Kasuta",
"uriCopy": "Kopeeri",
"connected": "Ühendatud"
},
"testResultLabels": {
"resolution": "Resolutsioon",
"video": "Video",
"audio": "Heliriba",
"fps": "Kaadrisagedus"
},
"step4": {
"reload": "Laadi uuesti",
"connecting": "Ühendan…",
"valid": "Kehtiv",
"failed": "Ebaõnnestunud",
"connectStream": "Ühenda",
"connectingStream": "Ühendan",
"disconnectStream": "Katkesta ühendus",
"roles": "Rollid",
"none": "Määramata",
"error": "Viga"
}
}
},
"users": {
@@ -69,10 +29,7 @@
}
},
"table": {
"password": "Lähtesta salasõna",
"username": "Kasutajanimi",
"actions": "Tegevused",
"role": "Roll"
"password": "Lähtesta salasõna"
},
"dialog": {
"form": {
@@ -96,7 +53,7 @@
"hide": "Peida salasõna",
"requirements": {
"title": "Salasõna reeglid:",
"length": "Vähemalt 12 tähemärki",
"length": "Vähemalt 8 tähemärki",
"uppercase": "Vähemalt üks suurtäht",
"digit": "Vähemalt üks number",
"special": "Vähemalt üks erimärk (!@#$%^&*(),.?\":{}|<>)"
@@ -113,9 +70,6 @@
"currentPassword": {
"title": "Senine salasõna",
"placeholder": "Sisesta oma senine salasõna"
},
"user": {
"title": "Kasutajanimi"
}
},
"createUser": {
@@ -130,42 +84,12 @@
"currentPasswordRequired": "Senine salasõna on vajalik",
"incorrectCurrentPassword": "Senine salasõna pole õige",
"passwordVerificationFailed": "Salasõna kontrollimine ei õnnestunud"
},
"changeRole": {
"roleInfo": {
"admin": "Peakasutaja",
"viewer": "Vaataja"
}
}
},
"title": "Kasutajad"
}
},
"debug": {
"boundingBoxes": {
"desc": "Näita jälgitavate objektide ümber märgiskaste"
},
"title": "Silumine ja veaotsing",
"debugging": "Veaotsing ja silumine",
"audio": {
"title": "Heliriba",
"score": "punktiskoor"
},
"timestamp": {
"title": "Ajatempel"
},
"zones": {
"title": "Tsoonid"
},
"regions": {
"title": "Alad"
},
"paths": {
"title": "Asukohad"
},
"objectShapeFilterDrawing": {
"score": "Punktiskoor",
"ratio": "Suhtarv",
"area": "Ala"
}
},
"documentTitle": {
@@ -189,31 +113,10 @@
"automaticLiveView": {
"label": "Automaatne otseülekande vaade"
}
},
"calendar": {
"title": "Kalender",
"firstWeekday": {
"sunday": "Pühapäev",
"monday": "Esmaspäev",
"label": "Esimene nädalapäev"
}
},
"storedLayouts": {
"title": "Salvestatud paigutused"
},
"recordingsViewer": {
"title": "Salvestuste vaataja"
}
},
"cameraManagement": {
"backToSettings": "Tagasi kaameraseadistuste juurde",
"cameraConfig": {
"enabled": "Kasutusel",
"ffmpeg": {
"pathPlaceholder": "rtsp://...",
"roles": "Rollid"
}
}
"backToSettings": "Tagasi kaameraseadistuste juurde"
},
"notification": {
"notificationSettings": {
@@ -227,16 +130,6 @@
"success": {
"settingSaved": "Teavituste seadistused on salvestatud."
}
},
"title": "Teavitused",
"email": {
"title": "E-post"
},
"cameras": {
"title": "Kaamerad"
},
"suspendTime": {
"suspend": "Peata arvuti töö"
}
},
"frigatePlus": {
@@ -252,48 +145,20 @@
"cleanCopySnapshots": "<code>clean_copy</code> Hetkvõtted",
"camera": "Kaamera"
}
},
"modelInfo": {
"plusModelType": {
"userModel": "Peenhäälestatud"
},
"cameras": "Kaamerad"
}
},
"masksAndZones": {
"zones": {
"point_one": "{{count}} punkt",
"point_other": "{{count}} punkti",
"label": "Tsoonid",
"desc": {
"documentation": "Dokumentatsioon"
},
"name": {
"title": "Nimi"
},
"inertia": {
"title": "Inerts"
},
"objects": {
"title": "Objektid"
}
"point_other": "{{count}} punkti"
},
"motionMasks": {
"point_one": "{{count}} punkt",
"point_other": "{{count}} punkti",
"desc": {
"documentation": "Dokumentatsioon"
}
"point_other": "{{count}} punkti"
},
"objectMasks": {
"point_one": "{{count}} punkt",
"point_other": "{{count}} punkti",
"desc": {
"documentation": "Dokumentatsioon"
},
"objects": {
"title": "Objektid"
}
"point_other": "{{count}} punkti"
}
},
"roles": {
@@ -302,21 +167,6 @@
"userRolesUpdated_one": "{{count}} selle rolliga kasutaja on nüüd määratud Vaatajaks, kellel on ligipääs kõikidele kaameratele.",
"userRolesUpdated_other": "{{count}} selle rolliga kasutajat on nüüd määratud Vaatajaks, kellel on ligipääs kõikidele kaameratele."
}
},
"table": {
"role": "Roll",
"cameras": "Kaamerad",
"actions": "Tegevused"
},
"dialog": {
"deleteRole": {
"deleting": "Kustutan..."
},
"form": {
"cameras": {
"title": "Kaamerad"
}
}
}
},
"menu": {
@@ -328,8 +178,7 @@
"users": "Kasutajad",
"roles": "Rollid",
"notifications": "Teavitused",
"frigateplus": "Frigate+",
"cameraReview": "Ülevaatamine"
"frigateplus": "Frigate+"
},
"dialog": {
"unsavedChanges": {
@@ -340,84 +189,5 @@
"cameraSetting": {
"camera": "Kaamera",
"noCamera": "Kaamerat pole"
},
"enrichments": {
"semanticSearch": {
"reindexNow": {
"confirmButton": "Indekseeri uuesti",
"label": "Indekseeri uuesti kohe"
},
"modelSize": {
"small": {
"title": "väike"
},
"large": {
"title": "suur"
}
},
"title": "Semantiline otsing"
},
"faceRecognition": {
"modelSize": {
"small": {
"title": "väike"
},
"large": {
"title": "suur"
}
}
},
"birdClassification": {
"title": "Lindude klassifikatsioon"
}
},
"cameraReview": {
"review": {
"title": "Ülevaatamine",
"alerts": "Hoiatused ",
"detections": "Tuvastamise tulemused "
}
},
"motionDetectionTuner": {
"Threshold": {
"title": "Lävi"
}
},
"triggers": {
"documentTitle": "Päästikud",
"management": {
"title": "Päästikud"
},
"table": {
"name": "Nimi",
"type": "Tüüp",
"content": "Sisu",
"threshold": "Lävi",
"actions": "Tegevused",
"edit": "Muuda"
},
"type": {
"thumbnail": "Pisipilt",
"description": "Kirjeldus"
},
"dialog": {
"form": {
"name": {
"title": "Nimi"
},
"type": {
"title": "Tüüp"
},
"content": {
"title": "Sisu"
},
"threshold": {
"title": "Lävi"
},
"actions": {
"title": "Tegevused"
}
}
}
}
}

View File

@@ -175,8 +175,7 @@
"bg": "Български (Bulgare)",
"gl": "Galego (Galicien)",
"id": "Bahasa Indonesia (Indonésien)",
"ur": "اردو (Ourdou)",
"hr": "Hrvatski (Croate)"
"ur": "اردو (Ourdou)"
},
"appearance": "Apparence",
"darkMode": {

View File

@@ -2,8 +2,7 @@
"description": {
"addFace": "Ajoutez une nouvelle collection à la bibliothèque de visages en téléversant votre première image.",
"placeholder": "Saisissez un nom pour cette collection.",
"invalidName": "Nom invalide. Les noms ne peuvent contenir que des lettres, des chiffres, des espaces, des apostrophes, des traits de soulignement et des tirets.",
"nameCannotContainHash": "Le nom ne peut pas contenir le caractère #."
"invalidName": "Nom invalide. Les noms ne peuvent contenir que des lettres, des chiffres, des espaces, des apostrophes, des traits de soulignement et des tirets."
},
"details": {
"person": "Personne",

View File

@@ -649,7 +649,7 @@
"hide": "Masquer le mot de passe",
"requirements": {
"title": "Critères du mot de passe :",
"length": "Au moins 12 caractères",
"length": "Au moins 8 caractères",
"uppercase": "Au moins une lettre majuscule",
"digit": "Au moins un chiffre",
"special": "Au moins un caractère spécial (!@#$%^&*(),.?\":{}|<>)"

View File

@@ -69,8 +69,7 @@
},
"inProgress": "処理中",
"invalidStartTime": "開始時刻が無効です",
"invalidEndTime": "終了時刻が無効です",
"never": "なし"
"invalidEndTime": "終了時刻が無効です"
},
"readTheDocumentation": "ドキュメントを見る",
"unit": {
@@ -233,8 +232,7 @@
"ur": "اردو (ウルドゥー語)",
"withSystem": {
"label": "システム設定に従う"
},
"hr": "Hrvatski (クロアチア語)"
}
},
"classification": "分類"
},

View File

@@ -2,8 +2,7 @@
"description": {
"placeholder": "このコレクションの名前を入力",
"addFace": "最初の画像をアップロードして、フェイスライブラリに新しいコレクションを追加してください。",
"invalidName": "無効な名前です。使用できるのは、英数字、空白、アポストロフィ、アンダースコア、ハイフンのみです。",
"nameCannotContainHash": "名前に # は使用できません。"
"invalidName": "無効な名前です。使用できるのは、英数字、空白、アポストロフィ、アンダースコア、ハイフンのみです。"
},
"details": {
"person": "人物",

View File

@@ -176,16 +176,6 @@
"restricted": {
"title": "利用可能なカメラがありません",
"description": "このグループ内のカメラを表示する権限がありません。"
},
"default": {
"title": "設定済みのカメラがありません",
"description": "Frigate にカメラを接続して開始しましょう。",
"buttonText": "カメラを追加"
},
"group": {
"title": "このグループにカメラがありません",
"description": "このカメラグループには、割り当て済みまたは有効なカメラがありません。",
"buttonText": "グループを管理"
}
},
"snapshot": {

View File

@@ -86,13 +86,7 @@
"otherProcesses": {
"title": "その他のプロセス",
"processCpuUsage": "プロセスの CPU 使用率",
"processMemoryUsage": "プロセスのメモリ使用量",
"series": {
"recording": "録画",
"review_segment": "レビューセグメント",
"audio_detector": "音声検知",
"go2rtc": "go2rtc"
}
"processMemoryUsage": "プロセスのメモリ使用量"
}
},
"storage": {

View File

@@ -203,8 +203,7 @@
"bg": "Български (Bulgarsk)",
"gl": "Galego (Galisisk)",
"id": "Bahasa Indonesia (Indonesisk)",
"ur": "اردو (Urdu)",
"hr": "Hrvatski (Kroatisk)"
"ur": "اردو (Urdu)"
},
"appearance": "Utseende",
"darkMode": {

View File

@@ -3,8 +3,7 @@
"description": {
"addFace": "Legg til en ny samling i ansiktsbiblioteket ved å laste opp ditt første bilde.",
"placeholder": "Skriv inn et navn for denne samlingen",
"invalidName": "Ugyldig navn. Navn kan kun inneholde bokstaver, tall, mellomrom, apostrof, understrek og bindestrek.",
"nameCannotContainHash": "Navn kan ikke inneholde #."
"invalidName": "Ugyldig navn. Navn kan kun inneholde bokstaver, tall, mellomrom, apostrof, understrek og bindestrek."
},
"details": {
"person": "Person",

View File

@@ -537,7 +537,7 @@
"hide": "Skjul passord",
"requirements": {
"title": "Passordkrav:",
"length": "Minst 12 tegn",
"length": "Minst 8 tegn",
"uppercase": "Minst en stor bokstav",
"digit": "Minst ett tall",
"special": "Minst ett spesialtegn (!@#$%^&*(),.?\":{}|<>)"
@@ -591,7 +591,7 @@
"incorrectCurrentPassword": "Nåværende passord er feil",
"passwordVerificationFailed": "Kunne ikke verifisere passord",
"multiDeviceWarning": "Andre enheter du er logget inn på vil kreve ny innlogging innen {{refresh_time}}.",
"multiDeviceAdmin": "Du kan også tvinge alle brukere til å logge inn på nytt ved å endre JWT (JSON Web Token)-nøkkelen."
"multiDeviceAdmin": "Du kan også tvinge alle brukere til å logge inn på nytt umiddelbart ved å rotere JWT-hemmeligheten din."
}
},
"table": {

View File

@@ -206,8 +206,7 @@
"bg": "Български (Bułgarski)",
"gl": "Galego (Galicyjski)",
"id": "Bahasa Indonesia (Indonezyjski)",
"ur": "اردو (Urdu)",
"hr": "Hrvatski (Chorwacki)"
"ur": "اردو (Urdu)"
},
"appearance": "Wygląd",
"darkMode": {

View File

@@ -3,8 +3,7 @@
"description": {
"addFace": "Dodaj nową kolekcję do biblioteki twarzy, przesyłając swoje pierwsze zdjęcie.",
"placeholder": "Wprowadź nazwę tej kolekcji",
"invalidName": "Niepoprawna nazwa. Nazwy mogą zawierać tylko: litery, cyfry, spacje, cudzysłowy, podkreślniniki i myślniki.",
"nameCannotContainHash": "Nazwa nie może zawierać #."
"invalidName": "Niepoprawna nazwa. Nazwy mogą zawierać tylko: litery, cyfry, spacje, cudzysłowy, podkreślniniki i myślniki."
},
"details": {
"person": "Osoba",

View File

@@ -543,7 +543,7 @@
"hide": "Ukryj hasło",
"requirements": {
"title": "Wymagania hasła:",
"length": "Co najmniej 12 znaków",
"length": "Co najmniej 8 znaków",
"uppercase": "Co najmniej jedna duża litera",
"digit": "Co najmniej jedna cyfra",
"special": "Co najmniej jeden znak specjalny (!@#$%^&*(),.?\":{}|<>)"

View File

@@ -135,8 +135,7 @@
"bg": "Български (Bulgară)",
"gl": "Galego (Galiciană)",
"id": "Bahasa Indonesia (Indoneziană)",
"ur": "اردو (Urdu)",
"hr": "Hrvatski (Croată)"
"ur": "اردو (Urdu)"
},
"theme": {
"default": "Implicit",

View File

@@ -2,8 +2,7 @@
"description": {
"addFace": "Adaugă o colecție nouă în Biblioteca de fețe încărcând prima ta imagine.",
"placeholder": "Introduceti un nume pentru aceasta colectie",
"invalidName": "Nume invalid. Numele pot include doar litere, cifre, spații, apostrofuri, underscore-uri și liniuțe.",
"nameCannotContainHash": "Numele nu poate conține #."
"invalidName": "Nume invalid. Numele pot include doar litere, cifre, spații, apostrofuri, underscore-uri și liniuțe."
},
"details": {
"person": "Persoană",

View File

@@ -508,7 +508,7 @@
"hide": "Ascunde parola",
"requirements": {
"title": "Cerințe parolă:",
"length": "Cel puțin 12 caractere",
"length": "Cel puțin 8 caracter",
"uppercase": "Cel puțin o literă majusculă",
"digit": "Cel puțin o cifră",
"special": "Cel puțin un caracter special (!@#$%^&*(),.?\":{}|<>)"

View File

@@ -159,8 +159,7 @@
"bg": "Български (Bulgariska)",
"gl": "Galego (Galiciska)",
"id": "Bahasa Indonesia (Indonesiska)",
"ur": "اردو (Urdu)",
"hr": "Hrvatski (kroatiska)"
"ur": "اردو (Urdu)"
},
"darkMode": {
"withSystem": {

View File

@@ -12,8 +12,7 @@
"description": {
"placeholder": "Ange ett namn för denna samling",
"addFace": "Lägg till en ny samling i ansiktsbiblioteket genom att ladda upp din första bild.",
"invalidName": "Ogiltigt namn. Namn får endast innehålla bokstäver, siffror, mellanslag, apostrofer, understreck och bindestreck.",
"nameCannotContainHash": "Namn får inte innehålla #."
"invalidName": "Ogiltigt namn. Namn får endast innehålla bokstäver, siffror, mellanslag, apostrofer, understreck och bindestreck."
},
"documentTitle": "Ansiktsbibliotek - Frigate",
"steps": {

View File

@@ -540,7 +540,7 @@
"hide": "Dölj lösenord",
"requirements": {
"title": "Lösenordskrav:",
"length": "Minst 12 tecken",
"length": "Minst 8 tecken",
"uppercase": "Minst en stor bokstav",
"digit": "Minst en siffra",
"special": "Minst ett specialtecken (!@#$%^&*(),.?\":{}|<>)"

View File

@@ -208,8 +208,7 @@
"bg": "保加利亚语 (Български)",
"gl": "加利西亚语 (Galego)",
"id": "印度尼西亚语 (Bahasa Indonesia)",
"ur": "乌尔都语 (اردو)",
"hr": "克罗地亚语Hrvatski"
"ur": "乌尔都语 (اردو)"
},
"appearance": "外观",
"darkMode": {

View File

@@ -2,8 +2,7 @@
"description": {
"addFace": "我们将引导你如何向人脸库中添加新的合集。",
"placeholder": "请输入此合集的名称",
"invalidName": "名称无效。名称只能包含字母、数字、空格、撇号、下划线和连字符。",
"nameCannotContainHash": "名称中不允许包含“#”符号。"
"invalidName": "名称无效。名称只能包含字母、数字、空格、撇号、下划线和连字符。"
},
"details": {
"person": "人",

View File

@@ -282,7 +282,7 @@
},
"delete": {
"title": "确认删除",
"desc": "你确定要删除{{type}} “<strong>{{name}}</strong>” 吗?",
"desc": "你确定要删除{{type}} <em>{{name}}</em> 吗?",
"success": "{{name}} 已被删除。"
},
"error": {
@@ -543,7 +543,7 @@
"hide": "隐藏密码",
"requirements": {
"title": "密码要求:",
"length": "至少需要 12 位字符",
"length": "至少8个字符",
"uppercase": "至少一个大写字母",
"digit": "至少一位数字",
"special": "至少一个特殊符号 (!@#$%^&*(),.?\":{}|<>)"

View File

@@ -12,7 +12,7 @@ import { useCameraPreviews } from "@/hooks/use-camera-previews";
import { baseUrl } from "@/api/baseUrl";
import { VideoPreview } from "../preview/ScrubbablePreview";
import { useApiHost } from "@/api";
import { isSafari } from "react-device-detect";
import { isDesktop, isSafari } from "react-device-detect";
import { useUserPersistence } from "@/hooks/use-user-persistence";
import { Skeleton } from "../ui/skeleton";
import { Button } from "../ui/button";
@@ -87,6 +87,7 @@ export function AnimatedEventCard({
}, [visibilityListener]);
const [isLoaded, setIsLoaded] = useState(false);
const [isHovered, setIsHovered] = useState(false);
// interaction
@@ -133,27 +134,31 @@ export function AnimatedEventCard({
<Tooltip>
<TooltipTrigger asChild>
<div
className="group relative h-24 flex-shrink-0 overflow-hidden rounded md:rounded-lg 4k:h-32"
className="relative h-24 flex-shrink-0 overflow-hidden rounded md:rounded-lg 4k:h-32"
style={{
aspectRatio: alertVideos ? aspectRatio : undefined,
}}
onMouseEnter={isDesktop ? () => setIsHovered(true) : undefined}
onMouseLeave={isDesktop ? () => setIsHovered(false) : undefined}
>
<Tooltip>
<TooltipTrigger asChild>
<Button
className="pointer-events-none absolute left-2 top-1 z-40 bg-gray-500 bg-gradient-to-br from-gray-400 to-gray-500 opacity-0 transition-opacity group-hover:pointer-events-auto group-hover:opacity-100"
size="xs"
aria-label={t("markAsReviewed")}
onClick={async () => {
await axios.post(`reviews/viewed`, { ids: [event.id] });
updateEvents();
}}
>
<FaCircleCheck className="size-3 text-white" />
</Button>
</TooltipTrigger>
<TooltipContent>{t("markAsReviewed")}</TooltipContent>
</Tooltip>
{isHovered && (
<Tooltip>
<TooltipTrigger asChild>
<Button
className="absolute left-2 top-1 z-40 bg-gray-500 bg-gradient-to-br from-gray-400 to-gray-500"
size="xs"
aria-label={t("markAsReviewed")}
onClick={async () => {
await axios.post(`reviews/viewed`, { ids: [event.id] });
updateEvents();
}}
>
<FaCircleCheck className="size-3 text-white" />
</Button>
</TooltipTrigger>
<TooltipContent>{t("markAsReviewed")}</TooltipContent>
</Tooltip>
)}
{previews != undefined && alertVideosLoaded && (
<div
className="size-full cursor-pointer"

View File

@@ -181,13 +181,6 @@ export default function PreviewThumbnailPlayer({
config?.ui?.timezone,
);
const getEventType = (text: string) => {
if (review.data.objects.includes(text)) return "object";
if (review.data.audio.includes(text)) return "audio";
if (review.data.sub_labels?.includes(text)) return "manual";
return "object";
};
return (
<div
className="relative size-full cursor-pointer"
@@ -302,7 +295,7 @@ export default function PreviewThumbnailPlayer({
(item) =>
item !== undefined && !item.includes("-verified"),
)
.map((text) => getTranslatedLabel(text, getEventType(text)))
.map((text) => getTranslatedLabel(text))
.sort()
.join(", ")}
</TooltipContent>