diff --git a/web/public/locales/nl/audio.json b/web/public/locales/nl/audio.json
index 6e5767a5b..59268c7ef 100644
--- a/web/public/locales/nl/audio.json
+++ b/web/public/locales/nl/audio.json
@@ -16,7 +16,7 @@
"snoring": "Snurken",
"gasp": "Snakken naar adem",
"pant": "Hijgen",
- "snort": "Snorren",
+ "snort": "Snuiven",
"sneeze": "Niezen",
"shuffle": "Schudden",
"footsteps": "Voetstappen",
@@ -495,7 +495,7 @@
"echo": "Echo",
"noise": "Lawaai",
"mains_hum": "Netstroomgezoe",
- "distortion": "Distortion",
+ "distortion": "Vervorming",
"sidetone": "Zijtoon",
"cacophony": "Kakofonie",
"throbbing": "Bonzend",
diff --git a/web/public/locales/nl/common.json b/web/public/locales/nl/common.json
index fdc1339f1..7e5f507ff 100644
--- a/web/public/locales/nl/common.json
+++ b/web/public/locales/nl/common.json
@@ -139,7 +139,10 @@
}
},
"label": {
- "back": "Ga terug"
+ "back": "Ga terug",
+ "hide": "Verberg {{item}}",
+ "show": "Toon {{item}}",
+ "ID": "ID"
},
"menu": {
"system": "Systeem",
@@ -284,5 +287,13 @@
"readTheDocumentation": "Lees de documentatie",
"information": {
"pixels": "{{area}}px"
+ },
+ "list": {
+ "two": "{{0}} en {{1}}",
+ "many": "{{items}}, en {{last}}"
+ },
+ "field": {
+ "optional": "Optioneel",
+ "internalID": "De interne ID die Frigate gebruikt in de configuratie en database"
}
}
diff --git a/web/public/locales/nl/components/auth.json b/web/public/locales/nl/components/auth.json
index 78ae8e55e..14fb57adf 100644
--- a/web/public/locales/nl/components/auth.json
+++ b/web/public/locales/nl/components/auth.json
@@ -10,6 +10,7 @@
"unknownError": "Onbekende fout. Bekijk de logs.",
"webUnknownError": "Onbekende fout. Controleer consolelogboeken."
},
- "user": "Gebruikersnaam"
+ "user": "Gebruikersnaam",
+ "firstTimeLogin": "Probeer je voor het eerst in te loggen? De inloggegevens staan vermeld in de Frigate-logs."
}
}
diff --git a/web/public/locales/nl/components/dialog.json b/web/public/locales/nl/components/dialog.json
index 14d5f6bb4..0346d4dad 100644
--- a/web/public/locales/nl/components/dialog.json
+++ b/web/public/locales/nl/components/dialog.json
@@ -12,7 +12,7 @@
"plus": {
"submitToPlus": {
"label": "Verzenden naar Frigate+",
- "desc": "Objecten op locaties die je wilt vermijden, zijn geen valspositieven. Als je ze als valspositieven indient, brengt dit het model in verwarring."
+ "desc": "Objecten op locaties die je wilt vermijden, zijn geen vals-positieven. Als je ze als vals-positieven indient, brengt dit het model in verwarring."
},
"review": {
"true": {
@@ -42,7 +42,7 @@
},
"export": {
"time": {
- "fromTimeline": "Selecteer uit tijdlijn",
+ "fromTimeline": "Selecteer uit Tijdlijn",
"end": {
"label": "Selecteer eindtijd",
"title": "Eindtijd"
@@ -65,7 +65,7 @@
"noVaildTimeSelected": "Geen geldig tijdsbereik geselecteerd",
"endTimeMustAfterStartTime": "Eindtijd moet na starttijd zijn"
},
- "success": "Export is succesvol gestart. Bekijk het bestand in de map /exports."
+ "success": "Export is succesvol gestart. Bekijk het bestand op de exportpagina."
},
"fromTimeline": {
"saveExport": "Export opslaan",
@@ -105,7 +105,7 @@
},
"recording": {
"button": {
- "deleteNow": "Nu verwijderen",
+ "deleteNow": "Verwijder nu",
"export": "Exporteren",
"markAsReviewed": "Markeren als beoordeeld",
"markAsUnreviewed": "Markeren als niet beoordeeld"
@@ -122,10 +122,11 @@
}
},
"imagePicker": {
- "selectImage": "Kies thumbnail van gevolgd object",
- "noImages": "Geen thumbnails gevonden voor deze camera",
+ "selectImage": "Kies miniatuur van gevolgd object",
+ "noImages": "Geen miniaturen gevonden voor deze camera",
"search": {
"placeholder": "Zoeken op label of sub label..."
- }
+ },
+ "unknownLabel": "Opgeslagen triggerafbeelding"
}
}
diff --git a/web/public/locales/nl/objects.json b/web/public/locales/nl/objects.json
index a0b21657b..1fc914a77 100644
--- a/web/public/locales/nl/objects.json
+++ b/web/public/locales/nl/objects.json
@@ -14,7 +14,7 @@
"traffic_light": "Verkeerslicht",
"street_sign": "Verkeersbord",
"stop_sign": "Stopbord",
- "parking_meter": "Parkeer Meter",
+ "parking_meter": "Parkeermeter",
"bench": "Bankje",
"cow": "Koe",
"giraffe": "Giraffe",
diff --git a/web/public/locales/nl/views/classificationModel.json b/web/public/locales/nl/views/classificationModel.json
new file mode 100644
index 000000000..eeac5b0f3
--- /dev/null
+++ b/web/public/locales/nl/views/classificationModel.json
@@ -0,0 +1,135 @@
+{
+ "documentTitle": "Classificatiemodellen",
+ "button": {
+ "deleteClassificationAttempts": "Classificatieafbeeldingen verwijderen",
+ "renameCategory": "Klasse hernoemen",
+ "deleteCategory": "Klasse verwijderen",
+ "deleteImages": "Afbeeldingen verwijderen",
+ "trainModel": "Model trainen"
+ },
+ "toast": {
+ "success": {
+ "deletedCategory": "Verwijderde klasse",
+ "deletedImage": "Verwijderde afbeeldingen",
+ "categorizedImage": "Succesvol geclassificeerde afbeelding",
+ "trainedModel": "Succesvol getraind model.",
+ "trainingModel": "Modeltraining succesvol gestart."
+ },
+ "error": {
+ "deleteImageFailed": "Verwijderen mislukt: {{errorMessage}}",
+ "deleteCategoryFailed": "Het verwijderen van de klasse is mislukt: {{errorMessage}}",
+ "categorizeFailed": "Afbeelding categoriseren mislukt: {{errorMessage}}",
+ "trainingFailed": "Het starten van de modeltraining is mislukt: {{errorMessage}}"
+ }
+ },
+ "deleteCategory": {
+ "title": "Klasse verwijderen",
+ "desc": "Weet je zeker dat je de klasse {{name}} wilt verwijderen? Hiermee worden alle bijbehorende afbeeldingen permanent verwijderd en moet het model opnieuw worden getraind."
+ },
+ "deleteDatasetImages": {
+ "title": "Datasetafbeeldingen verwijderen",
+ "desc": "Weet u zeker dat u {{count}} afbeeldingen uit {{dataset}} wilt verwijderen? Deze actie kan niet ongedaan worden gemaakt en vereist een hertraining van het model."
+ },
+ "deleteTrainImages": {
+ "title": "Trainingsafbeeldingen verwijderen",
+ "desc": "Weet je zeker dat je {{count}} afbeeldingen wilt verwijderen? Deze actie kan niet ongedaan worden gemaakt."
+ },
+ "renameCategory": {
+ "title": "Klasse hernoemen",
+ "desc": "Voer een nieuwe naam in voor {{name}}. U moet het model opnieuw trainen om de naamswijziging door te voeren."
+ },
+ "description": {
+ "invalidName": "Ongeldige naam. Namen mogen alleen letters, cijfers, spaties, apostroffen, underscores en koppeltekens bevatten."
+ },
+ "train": {
+ "title": "Recente classificaties",
+ "aria": "Selecteer recente classificaties"
+ },
+ "categories": "Klassen",
+ "createCategory": {
+ "new": "Nieuwe klasse maken"
+ },
+ "categorizeImageAs": "Afbeelding classificeren als:",
+ "categorizeImage": "Afbeelding classificeren",
+ "noModels": {
+ "object": {
+ "title": "Geen objectclassificatiemodellen",
+ "description": "Maak een aangepast model om gedetecteerde objecten te classificeren.",
+ "buttonText": "Objectmodel maken"
+ },
+ "state": {
+ "title": "Geen State-classificatiemodellen beschikbaar",
+ "description": "Maak een aangepast model om statuswijzigingen in specifieke cameragebieden te monitoren en te classificeren.",
+ "buttonText": "Maak een toestandsmodel"
+ }
+ },
+ "wizard": {
+ "title": "Nieuwe classificatie maken",
+ "steps": {
+ "nameAndDefine": "Naam & definiëren",
+ "stateArea": "Staatsgebied",
+ "chooseExamples": "Voorbeelden kiezen"
+ },
+ "step1": {
+ "description": "Toestandsmodellen houden vaste cameragebieden in de gaten op veranderingen (bijv. deur open/dicht). Objectmodellen voegen classificaties toe aan gedetecteerde objecten (bijv. bekende dieren, bezorgers, enz.).",
+ "name": "Naam",
+ "namePlaceholder": "Voer modelnaam in...",
+ "type": "Type",
+ "typeState": "Staat",
+ "typeObject": "Object",
+ "objectLabel": "Objectlabel",
+ "objectLabelPlaceholder": "Selecteer objecttype...",
+ "classificationType": "Classificatietype",
+ "classificationTypeTip": "Leer meer over classificatietypen",
+ "classificationTypeDesc": "Sublabels voegen extra tekst toe aan het objectlabel (bijv. ‘Persoon: UPS’). Attributen zijn doorzoekbare metadata die apart in de objectmetadata worden opgeslagen.",
+ "classificationSubLabel": "Sublabel",
+ "classificationAttribute": "Attribuut",
+ "classes": "Klassen",
+ "classesTip": "Meer over klassen leren",
+ "classesStateDesc": "Definieer de verschillende toestanden waarin het cameragebied zich kan bevinden. Bijvoorbeeld: ‘open’ en ‘dicht’ voor een garagedeur.",
+ "classesObjectDesc": "Definieer de verschillende categorieën om gedetecteerde objecten in te classificeren. Bijvoorbeeld: ‘bezorger’, ‘bewoner’, ‘vreemdeling’ voor persoonsclassificatie.",
+ "classPlaceholder": "Voer klassenaam in...",
+ "errors": {
+ "nameRequired": "Modelnaam is vereist",
+ "nameLength": "De modelnaam mag maximaal 64 tekens lang zijn",
+ "nameOnlyNumbers": "Modelnaam mag niet alleen uit cijfers bestaan",
+ "classRequired": "Minimaal 1 klasse is vereist",
+ "classesUnique": "Klassennamen moeten uniek zijn",
+ "stateRequiresTwoClasses": "Toestandsmodellen vereisen minimaal 2 klassen",
+ "objectLabelRequired": "Selecteer een objectlabel",
+ "objectTypeRequired": "Selecteer een classificatietype"
+ }
+ },
+ "step2": {
+ "description": "Selecteer camera’s en definieer voor elke camera het te monitoren gebied. Het model zal de toestand van deze gebieden classificeren.",
+ "cameras": "Camera's",
+ "selectCamera": "Selecteer camera",
+ "noCameras": "Klik op + om camera’s toe te voegen",
+ "selectCameraPrompt": "Selecteer een camera uit de lijst om het te monitoren gebied te definiëren"
+ },
+ "step3": {
+ "selectImagesPrompt": "Selecteer alle afbeeldingen met: {{className}}",
+ "selectImagesDescription": "Klik op afbeeldingen om ze te selecteren. Klik op Doorgaan wanneer je klaar bent met deze klasse.",
+ "generating": {
+ "title": "Voorbeeldafbeeldingen genereren",
+ "description": "Frigate haalt representatieve afbeeldingen uit je opnames. Dit kan even duren..."
+ },
+ "training": {
+ "title": "Model trainen",
+ "description": "Je model wordt op de achtergrond getraind. Sluit dit venster, en je model zal starten zodra de training is voltooid."
+ },
+ "retryGenerate": "Generatie opnieuw proberen",
+ "noImages": "Geen voorbeeldafbeeldingen gegenereerd",
+ "classifying": "Classificeren en trainen...",
+ "trainingStarted": "Training succesvol gestart",
+ "errors": {
+ "noCameras": "Geen camera’s geconfigureerd",
+ "noObjectLabel": "Geen objectlabel geselecteerd",
+ "generateFailed": "Genereren van voorbeelden mislukt: {{error}}",
+ "generationFailed": "Generatie mislukt. Probeer het opnieuw.",
+ "classifyFailed": "Afbeeldingen classificeren mislukt: {{error}}"
+ },
+ "generateSuccess": "Met succes gegenereerde voorbeeldafbeeldingen"
+ }
+ }
+}
diff --git a/web/public/locales/nl/views/events.json b/web/public/locales/nl/views/events.json
index f765df9f0..2f39f5815 100644
--- a/web/public/locales/nl/views/events.json
+++ b/web/public/locales/nl/views/events.json
@@ -40,9 +40,10 @@
"detail": {
"noDataFound": "Geen gedetailleerde gegevens om te beoordelen",
"aria": "Detailweergave in- of uitschakelen",
- "trackedObject_one": "gevolgd object",
- "trackedObject_other": "gevolgde objecten",
- "noObjectDetailData": "Geen objectdetails beschikbaar."
+ "trackedObject_one": "object",
+ "trackedObject_other": "objecten",
+ "noObjectDetailData": "Geen objectdetails beschikbaar.",
+ "label": "Detail"
},
"objectTrack": {
"trackedPoint": "Gevolgd punt",
diff --git a/web/public/locales/nl/views/explore.json b/web/public/locales/nl/views/explore.json
index a7a8f41e4..96f495b98 100644
--- a/web/public/locales/nl/views/explore.json
+++ b/web/public/locales/nl/views/explore.json
@@ -154,7 +154,7 @@
},
"recognizedLicensePlate": "Erkende kentekenplaat",
"snapshotScore": {
- "label": "Snapshot scoren"
+ "label": "Snapshot score"
},
"score": {
"label": "Score"
@@ -195,6 +195,16 @@
"audioTranscription": {
"label": "Transcriberen",
"aria": "Audiotranscriptie aanvragen"
+ },
+ "showObjectDetails": {
+ "label": "Objectpad weergeven"
+ },
+ "hideObjectDetails": {
+ "label": "Verberg objectpad"
+ },
+ "viewTrackingDetails": {
+ "label": "Bekijk trackinggegevens",
+ "aria": "Toon de trackinggegevens"
}
},
"noTrackedObjects": "Geen gevolgde objecten gevonden",
@@ -212,7 +222,7 @@
"dialog": {
"confirmDelete": {
"title": "Bevestig Verwijderen",
- "desc": "Het verwijderen van dit gevolgde object verwijdert de snapshot, alle opgeslagen embeddings en eventuele bijbehorende levenscyclusgegevens van het object. Opgenomen videobeelden van dit object in de Geschiedenisweergave worden NIET verwijderd.
Weet je zeker dat je wilt doorgaan?"
+ "desc": "Het verwijderen van dit gevolgde object verwijdert de snapshot, alle opgeslagen embeddings en eventuele bijbehorende trackinggegevens van het object. Opgenomen videobeelden van dit object in de Geschiedenisweergave worden NIET verwijderd.
Weet je zeker dat je wilt doorgaan?"
}
},
"fetchingTrackedObjectsFailed": "Fout bij het ophalen van gevolgde objecten: {{errorMessage}}",
@@ -222,5 +232,53 @@
},
"concerns": {
"label": "Zorgen"
+ },
+ "trackingDetails": {
+ "title": "Trackinggegevens",
+ "noImageFound": "Er is geen afbeelding beschikbaar voor dit tijdstip.",
+ "createObjectMask": "Objectmasker maken",
+ "adjustAnnotationSettings": "Annotatie-instellingen aanpassen",
+ "scrollViewTips": "Scroll om de belangrijke momenten uit de levenscyclus van dit object te bekijken.",
+ "autoTrackingTips": "Als u een automatische objectvolgende camera gebruikt, zal het objectkader onnauwkeurig zijn.",
+ "count": "{{first}} van {{second}}",
+ "trackedPoint": "Volgpunt",
+ "lifecycleItemDesc": {
+ "visible": "{{label}} gedetecteerd",
+ "entered_zone": "{{label}} in zone {{zones}}",
+ "active": "{{label}} Werd actief",
+ "stationary": "{{label}} werd stationair",
+ "attribute": {
+ "faceOrLicense_plate": "{{attribute}} Gedetecteerd voor {{label}}",
+ "other": "{{label}} Herkend als {{attribute}}"
+ },
+ "gone": "{{label}} Links",
+ "heard": "{{label}} gehoord",
+ "external": "{{label}} gedetecteerd",
+ "header": {
+ "zones": "Zones",
+ "ratio": "Verhouding",
+ "area": "Gebied"
+ }
+ },
+ "annotationSettings": {
+ "title": "Annotatie-instellingen",
+ "showAllZones": {
+ "title": "Toon alle zones",
+ "desc": "Toon altijd zones op frames waar objecten een zone zijn binnengegaan."
+ },
+ "offset": {
+ "label": "Annotatie-afwijking",
+ "desc": "Deze gegevens zijn afkomstig van de detectiestream van je camera, maar worden weergegeven op beelden uit de opnamestream. Het is onwaarschijnlijk dat deze twee streams perfect gesynchroniseerd zijn. Hierdoor zullen het objectkader en het beeld niet exact op elkaar aansluiten. Het veld annotation_offset kan echter worden gebruikt om deze annotatie-afwijking te corrigeren.",
+ "millisecondsToOffset": "Aantal milliseconden om objectkader mee te verschuiven. Standaard: 0",
+ "tips": "TIP: Stel je voor dat er een clip is waarin een persoon van links naar rechts loopt. Als het objectkader in de tijdlijn van de activiteit steeds links van de persoon ligt, dan moet de waarde verlaagd worden. Op dezelfde manier als het objectkader consequent vóór de persoon ligt dus vooruitloopt, moet de waarde verhoogd worden.",
+ "toast": {
+ "success": "Annotatieverschuiving voor {{camera}} is opgeslagen in het configuratiebestand. Herstart Frigate om je wijzigingen toe te passen."
+ }
+ }
+ },
+ "carousel": {
+ "previous": "Vorige dia",
+ "next": "Volgende dia"
+ }
}
}
diff --git a/web/public/locales/nl/views/exports.json b/web/public/locales/nl/views/exports.json
index 2589f37c7..b4223a612 100644
--- a/web/public/locales/nl/views/exports.json
+++ b/web/public/locales/nl/views/exports.json
@@ -13,5 +13,11 @@
},
"noExports": "Geen export gevonden",
"deleteExport": "Verwijder Export",
- "deleteExport.desc": "Weet je zeker dat je dit wilt wissen: {{exportName}}?"
+ "deleteExport.desc": "Weet je zeker dat je dit wilt wissen: {{exportName}}?",
+ "tooltip": {
+ "shareExport": "Deel export",
+ "downloadVideo": "Download video",
+ "editName": "Naam bewerken",
+ "deleteExport": "Verwijder export"
+ }
}
diff --git a/web/public/locales/nl/views/faceLibrary.json b/web/public/locales/nl/views/faceLibrary.json
index 7fb7faa52..11b8fbd27 100644
--- a/web/public/locales/nl/views/faceLibrary.json
+++ b/web/public/locales/nl/views/faceLibrary.json
@@ -13,12 +13,12 @@
"documentTitle": "Gezichtsbibliotheek - Frigate",
"description": {
"placeholder": "Voer een naam in voor deze verzameling",
- "addFace": "Doorloop het toevoegen van een nieuwe collectie aan de gezichtenbibliotheek.",
+ "addFace": "Voeg een nieuwe collectie toe aan de gezichtenbibliotheek door je eerste afbeelding te uploaden.",
"invalidName": "Ongeldige naam. Namen mogen alleen letters, cijfers, spaties, apostroffen, underscores en koppeltekens bevatten."
},
"train": {
- "title": "Train",
- "aria": "Selecteer trainen",
+ "title": "Recente herkenningen",
+ "aria": "Selecteer recente herkenningen",
"empty": "Er zijn geen recente pogingen tot gezichtsherkenning"
},
"selectFace": "Selecteer gezicht",
@@ -56,7 +56,7 @@
"title": "Collectie maken",
"desc": "Een nieuwe collectie maken",
"new": "Creëer een nieuw gezicht",
- "nextSteps": "Om een sterke basis op te bouwen: