mirror of
https://github.com/blakeblackshear/frigate.git
synced 2025-09-10 17:51:45 +02:00
* Include extra level for normal activity * Add dynamic toggling * Update docs * Add different threshold for genai * Adjust webUI for object and review description feature * Adjust config * Send on startup * Cleanup config setting * Set config * Fix config name
757 lines
32 KiB
JSON
757 lines
32 KiB
JSON
{
|
|
"documentTitle": {
|
|
"default": "Settings - Frigate",
|
|
"authentication": "Authentication Settings - Frigate",
|
|
"camera": "Camera Settings - Frigate",
|
|
"enrichments": "Enrichments Settings - Frigate",
|
|
"masksAndZones": "Mask and Zone Editor - Frigate",
|
|
"motionTuner": "Motion Tuner - Frigate",
|
|
"object": "Debug - Frigate",
|
|
"general": "General Settings - Frigate",
|
|
"frigatePlus": "Frigate+ Settings - Frigate",
|
|
"notifications": "Notification Settings - Frigate"
|
|
},
|
|
"menu": {
|
|
"ui": "UI",
|
|
"enrichments": "Enrichments",
|
|
"cameras": "Camera Settings",
|
|
"masksAndZones": "Masks / Zones",
|
|
"motionTuner": "Motion Tuner",
|
|
"debug": "Debug",
|
|
"users": "Users",
|
|
"notifications": "Notifications",
|
|
"frigateplus": "Frigate+"
|
|
},
|
|
"dialog": {
|
|
"unsavedChanges": {
|
|
"title": "You have unsaved changes.",
|
|
"desc": "Do you want to save your changes before continuing?"
|
|
}
|
|
},
|
|
"cameraSetting": {
|
|
"camera": "Camera",
|
|
"noCamera": "No Camera"
|
|
},
|
|
"general": {
|
|
"title": "General Settings",
|
|
"liveDashboard": {
|
|
"title": "Live Dashboard",
|
|
"automaticLiveView": {
|
|
"label": "Automatic Live View",
|
|
"desc": "Automatically switch to a camera's live view when activity is detected. Disabling this option causes static camera images on the Live dashboard to only update once per minute."
|
|
},
|
|
"playAlertVideos": {
|
|
"label": "Play Alert Videos",
|
|
"desc": "By default, recent alerts on the Live dashboard play as small looping videos. Disable this option to only show a static image of recent alerts on this device/browser."
|
|
}
|
|
},
|
|
"storedLayouts": {
|
|
"title": "Stored Layouts",
|
|
"desc": "The layout of cameras in a camera group can be dragged/resized. The positions are stored in your browser's local storage.",
|
|
"clearAll": "Clear All Layouts"
|
|
},
|
|
"cameraGroupStreaming": {
|
|
"title": "Camera Group Streaming Settings",
|
|
"desc": "Streaming settings for each camera group are stored in your browser's local storage.",
|
|
"clearAll": "Clear All Streaming Settings"
|
|
},
|
|
"recordingsViewer": {
|
|
"title": "Recordings Viewer",
|
|
"defaultPlaybackRate": {
|
|
"label": "Default Playback Rate",
|
|
"desc": "Default playback rate for recordings playback."
|
|
}
|
|
},
|
|
"calendar": {
|
|
"title": "Calendar",
|
|
"firstWeekday": {
|
|
"label": "First Weekday",
|
|
"desc": "The day that the weeks of the review calendar begin on.",
|
|
"sunday": "Sunday",
|
|
"monday": "Monday"
|
|
}
|
|
},
|
|
"toast": {
|
|
"success": {
|
|
"clearStoredLayout": "Cleared stored layout for {{cameraName}}",
|
|
"clearStreamingSettings": "Cleared streaming settings for all camera groups."
|
|
},
|
|
"error": {
|
|
"clearStoredLayoutFailed": "Failed to clear stored layout: {{errorMessage}}",
|
|
"clearStreamingSettingsFailed": "Failed to clear streaming settings: {{errorMessage}}"
|
|
}
|
|
}
|
|
},
|
|
"enrichments": {
|
|
"title": "Enrichments Settings",
|
|
"unsavedChanges": "Unsaved Enrichments settings changes",
|
|
"birdClassification": {
|
|
"title": "Bird Classification",
|
|
"desc": "Bird classification identifies known birds using a quantized Tensorflow model. When a known bird is recognized, its common name will be added as a sub_label. This information is included in the UI, filters, as well as in notifications."
|
|
},
|
|
"semanticSearch": {
|
|
"title": "Semantic Search",
|
|
"desc": "Semantic Search in Frigate allows you to find tracked objects within your review items using either the image itself, a user-defined text description, or an automatically generated one.",
|
|
"readTheDocumentation": "Read the Documentation",
|
|
"reindexNow": {
|
|
"label": "Reindex Now",
|
|
"desc": "Reindexing will regenerate embeddings for all tracked object. This process runs in the background and may max out your CPU and take a fair amount of time depending on the number of tracked objects you have.",
|
|
"confirmTitle": "Confirm Reindexing",
|
|
"confirmDesc": "Are you sure you want to reindex all tracked object embeddings? This process will run in the background but it may max out your CPU and take a fair amount of time. You can watch the progress on the Explore page.",
|
|
"confirmButton": "Reindex",
|
|
"success": "Reindexing started successfully.",
|
|
"alreadyInProgress": "Reindexing is already in progress.",
|
|
"error": "Failed to start reindexing: {{errorMessage}}"
|
|
},
|
|
"modelSize": {
|
|
"label": "Model Size",
|
|
"desc": "The size of the model used for semantic search embeddings.",
|
|
"small": {
|
|
"title": "small",
|
|
"desc": "Using <em>small</em> employs a quantized version of the model that uses less RAM and runs faster on CPU with a very negligible difference in embedding quality."
|
|
},
|
|
"large": {
|
|
"title": "large",
|
|
"desc": "Using <em>large</em> employs the full Jina model and will automatically run on the GPU if applicable."
|
|
}
|
|
}
|
|
},
|
|
"faceRecognition": {
|
|
"title": "Face Recognition",
|
|
"desc": "Face recognition allows people to be assigned names and when their face is recognized Frigate will assign the person's name as a sub label. This information is included in the UI, filters, as well as in notifications.",
|
|
"readTheDocumentation": "Read the Documentation",
|
|
"modelSize": {
|
|
"label": "Model Size",
|
|
"desc": "The size of the model used for face recognition.",
|
|
"small": {
|
|
"title": "small",
|
|
"desc": "Using <em>small</em> employs a FaceNet face embedding model that runs efficiently on most CPUs."
|
|
},
|
|
"large": {
|
|
"title": "large",
|
|
"desc": "Using <em>large</em> employs an ArcFace face embedding model and will automatically run on the GPU if applicable."
|
|
}
|
|
}
|
|
},
|
|
"licensePlateRecognition": {
|
|
"title": "License Plate Recognition",
|
|
"desc": "Frigate can recognize license plates on vehicles and automatically add the detected characters to the recognized_license_plate field or a known name as a sub_label to objects that are of type car. A common use case may be to read the license plates of cars pulling into a driveway or cars passing by on a street.",
|
|
"readTheDocumentation": "Read the Documentation"
|
|
},
|
|
"restart_required": "Restart required (Enrichments settings changed)",
|
|
"toast": {
|
|
"success": "Enrichments settings have been saved. Restart Frigate to apply your changes.",
|
|
"error": "Failed to save config changes: {{errorMessage}}"
|
|
}
|
|
},
|
|
"camera": {
|
|
"title": "Camera Settings",
|
|
"streams": {
|
|
"title": "Streams",
|
|
"desc": "Temporarily disable a camera until Frigate restarts. Disabling a camera completely stops Frigate's processing of this camera's streams. Detection, recording, and debugging will be unavailable.<br /> <em>Note: This does not disable go2rtc restreams.</em>"
|
|
},
|
|
"object_descriptions": {
|
|
"title": "Generative AI Object Descriptions",
|
|
"desc": "Temporarily enable/disable Generative AI object descriptions for this camera. When disabled, AI generated descriptions will not be requested for tracked objects on this camera."
|
|
},
|
|
"review_descriptions": {
|
|
"title": "Generative AI Review Descriptions",
|
|
"desc": "Temporarily enable/disable Generative AI review descriptions for this camera. When disabled, AI generated descriptions will not be requested for review items on this camera."
|
|
},
|
|
"review": {
|
|
"title": "Review",
|
|
"desc": "Temporarily enable/disable alerts and detections for this camera until Frigate restarts. When disabled, no new review items will be generated. ",
|
|
"alerts": "Alerts ",
|
|
"detections": "Detections "
|
|
},
|
|
"reviewClassification": {
|
|
"title": "Review Classification",
|
|
"desc": "Frigate categorizes review items as Alerts and Detections. By default, all <em>person</em> and <em>car</em> objects are considered Alerts. You can refine categorization of your review items by configuring required zones for them.",
|
|
"readTheDocumentation": "Read the Documentation",
|
|
"noDefinedZones": "No zones are defined for this camera.",
|
|
"objectAlertsTips": "All {{alertsLabels}} objects on {{cameraName}} will be shown as Alerts.",
|
|
"zoneObjectAlertsTips": "All {{alertsLabels}} objects detected in {{zone}} on {{cameraName}} will be shown as Alerts.",
|
|
"objectDetectionsTips": "All {{detectionsLabels}} objects not categorized on {{cameraName}} will be shown as Detections regardless of which zone they are in.",
|
|
"zoneObjectDetectionsTips": {
|
|
"text": "All {{detectionsLabels}} objects not categorized in {{zone}} on {{cameraName}} will be shown as Detections.",
|
|
"notSelectDetections": "All {{detectionsLabels}} objects detected in {{zone}} on {{cameraName}} not categorized as Alerts will be shown as Detections regardless of which zone they are in.",
|
|
"regardlessOfZoneObjectDetectionsTips": "All {{detectionsLabels}} objects not categorized on {{cameraName}} will be shown as Detections regardless of which zone they are in."
|
|
},
|
|
"unsavedChanges": "Unsaved Review Classification settings for {{camera}}",
|
|
"selectAlertsZones": "Select zones for Alerts",
|
|
"selectDetectionsZones": "Select zones for Detections",
|
|
"limitDetections": "Limit detections to specific zones",
|
|
"toast": {
|
|
"success": "Review Classification configuration has been saved. Restart Frigate to apply changes."
|
|
}
|
|
},
|
|
"addCamera": "Add New Camera",
|
|
"editCamera": "Edit Camera:",
|
|
"selectCamera": "Select a Camera",
|
|
"backToSettings": "Back to Camera Settings",
|
|
"cameraConfig": {
|
|
"add": "Add Camera",
|
|
"edit": "Edit Camera",
|
|
"description": "Configure camera settings including stream inputs and roles.",
|
|
"name": "Camera Name",
|
|
"nameRequired": "Camera name is required",
|
|
"nameInvalid": "Camera name must contain only letters, numbers, underscores, or hyphens",
|
|
"namePlaceholder": "e.g., front_door",
|
|
"enabled": "Enabled",
|
|
"ffmpeg": {
|
|
"inputs": "Input Streams",
|
|
"path": "Stream Path",
|
|
"pathRequired": "Stream path is required",
|
|
"pathPlaceholder": "rtsp://...",
|
|
"roles": "Roles",
|
|
"rolesRequired": "At least one role is required",
|
|
"rolesUnique": "Each role (audio, detect, record) can only be assigned to one stream",
|
|
"addInput": "Add Input Stream",
|
|
"removeInput": "Remove Input Stream",
|
|
"inputsRequired": "At least one input stream is required"
|
|
},
|
|
"toast": {
|
|
"success": "Camera {{cameraName}} saved successfully"
|
|
}
|
|
}
|
|
},
|
|
"masksAndZones": {
|
|
"filter": {
|
|
"all": "All Masks and Zones"
|
|
},
|
|
"restart_required": "Restart required (masks/zones changed)",
|
|
"toast": {
|
|
"success": {
|
|
"copyCoordinates": "Copied coordinates for {{polyName}} to clipboard."
|
|
},
|
|
"error": {
|
|
"copyCoordinatesFailed": "Could not copy coordinates to clipboard."
|
|
}
|
|
},
|
|
"motionMaskLabel": "Motion Mask {{number}}",
|
|
"objectMaskLabel": "Object Mask {{number}} ({{label}})",
|
|
"form": {
|
|
"zoneName": {
|
|
"error": {
|
|
"mustBeAtLeastTwoCharacters": "Zone name must be at least 2 characters.",
|
|
"mustNotBeSameWithCamera": "Zone name must not be the same as camera name.",
|
|
"alreadyExists": "A zone with this name already exists for this camera.",
|
|
"mustNotContainPeriod": "Zone name must not contain periods.",
|
|
"hasIllegalCharacter": "Zone name contains illegal characters."
|
|
}
|
|
},
|
|
"distance": {
|
|
"error": {
|
|
"text": "Distance must be greater than or equal to 0.1.",
|
|
"mustBeFilled": "All distance fields must be filled to use speed estimation."
|
|
}
|
|
},
|
|
"inertia": {
|
|
"error": {
|
|
"mustBeAboveZero": "Inertia must be above 0."
|
|
}
|
|
},
|
|
"loiteringTime": {
|
|
"error": {
|
|
"mustBeGreaterOrEqualZero": "Loitering time must be greater than or equal to 0."
|
|
}
|
|
},
|
|
"speed": {
|
|
"error": {
|
|
"mustBeGreaterOrEqualTo": "Speed threshold must greater than or equal to 0.1."
|
|
}
|
|
},
|
|
"polygonDrawing": {
|
|
"removeLastPoint": "Remove last point",
|
|
"reset": {
|
|
"label": "Clear all points"
|
|
},
|
|
"snapPoints": {
|
|
"true": "Snap points",
|
|
"false": "Don't Snap points"
|
|
},
|
|
"delete": {
|
|
"title": "Confirm Delete",
|
|
"desc": "Are you sure you want to delete the {{type}} <em>{{name}}</em>?",
|
|
"success": "{{name}} has been deleted."
|
|
},
|
|
"error": {
|
|
"mustBeFinished": "Polygon drawing must be finished before saving."
|
|
}
|
|
}
|
|
},
|
|
"zones": {
|
|
"label": "Zones",
|
|
"documentTitle": "Edit Zone - Frigate",
|
|
"desc": {
|
|
"title": "Zones allow you to define a specific area of the frame so you can determine whether or not an object is within a particular area.",
|
|
"documentation": "Documentation"
|
|
},
|
|
"add": "Add Zone",
|
|
"edit": "Edit Zone",
|
|
"point_one": "{{count}} point",
|
|
"point_other": "{{count}} points",
|
|
"clickDrawPolygon": "Click to draw a polygon on the image.",
|
|
"name": {
|
|
"title": "Name",
|
|
"inputPlaceHolder": "Enter a name…",
|
|
"tips": "Name must be at least 2 characters and must not be the name of a camera or another zone."
|
|
},
|
|
"inertia": {
|
|
"title": "Inertia",
|
|
"desc": "Specifies how many frames that an object must be in a zone before they are considered in the zone. <em>Default: 3</em>"
|
|
},
|
|
"loiteringTime": {
|
|
"title": "Loitering Time",
|
|
"desc": "Sets a minimum amount of time in seconds that the object must be in the zone for it to activate. <em>Default: 0</em>"
|
|
},
|
|
"objects": {
|
|
"title": "Objects",
|
|
"desc": "List of objects that apply to this zone."
|
|
},
|
|
"allObjects": "All Objects",
|
|
"speedEstimation": {
|
|
"title": "Speed Estimation",
|
|
"desc": "Enable speed estimation for objects in this zone. The zone must have exactly 4 points.",
|
|
"docs": "Read the documentation",
|
|
"lineADistance": "Line A distance ({{unit}})",
|
|
"lineBDistance": "Line B distance ({{unit}})",
|
|
"lineCDistance": "Line C distance ({{unit}})",
|
|
"lineDDistance": "Line D distance ({{unit}})"
|
|
},
|
|
"speedThreshold": {
|
|
"title": "Speed Threshold ({{unit}})",
|
|
"desc": "Specifies a minimum speed for objects to be considered in this zone.",
|
|
"toast": {
|
|
"error": {
|
|
"pointLengthError": "Speed estimation has been disabled for this zone. Zones with speed estimation must have exactly 4 points.",
|
|
"loiteringTimeError": "Zones with loitering times greater than 0 should not be used with speed estimation."
|
|
}
|
|
}
|
|
},
|
|
"toast": {
|
|
"success": "Zone ({{zoneName}}) has been saved. Restart Frigate to apply changes."
|
|
}
|
|
},
|
|
"motionMasks": {
|
|
"label": "Motion Mask",
|
|
"documentTitle": "Edit Motion Mask - Frigate",
|
|
"desc": {
|
|
"title": "Motion masks are used to prevent unwanted types of motion from triggering detection. Over masking will make it more difficult for objects to be tracked.",
|
|
"documentation": "Documentation"
|
|
},
|
|
"add": "New Motion Mask",
|
|
"edit": "Edit Motion Mask",
|
|
"context": {
|
|
"title": "Motion masks are used to prevent unwanted types of motion from triggering detection (example: tree branches, camera timestamps). Motion masks should be used <em>very sparingly</em>, over-masking will make it more difficult for objects to be tracked.",
|
|
"documentation": "Read the documentation"
|
|
},
|
|
"point_one": "{{count}} point",
|
|
"point_other": "{{count}} points",
|
|
"clickDrawPolygon": "Click to draw a polygon on the image.",
|
|
"polygonAreaTooLarge": {
|
|
"title": "The motion mask is covering {{polygonArea}}% of the camera frame. Large motion masks are not recommended.",
|
|
"tips": "Motion masks do not prevent objects from being detected. You should use a required zone instead.",
|
|
"documentation": "Read the documentation"
|
|
},
|
|
"toast": {
|
|
"success": {
|
|
"title": "{{polygonName}} has been saved. Restart Frigate to apply changes.",
|
|
"noName": "Motion Mask has been saved. Restart Frigate to apply changes."
|
|
}
|
|
}
|
|
},
|
|
"objectMasks": {
|
|
"label": "Object Masks",
|
|
"documentTitle": "Edit Object Mask - Frigate",
|
|
"desc": {
|
|
"title": "Object filter masks are used to filter out false positives for a given object type based on location.",
|
|
"documentation": "Documentation"
|
|
},
|
|
"add": "Add Object Mask",
|
|
"edit": "Edit Object Mask",
|
|
"context": "Object filter masks are used to filter out false positives for a given object type based on location.",
|
|
"point_one": "{{count}} point",
|
|
"point_other": "{{count}} points",
|
|
"clickDrawPolygon": "Click to draw a polygon on the image.",
|
|
"objects": {
|
|
"title": "Objects",
|
|
"desc": "The object type that applies to this object mask.",
|
|
"allObjectTypes": "All object types"
|
|
},
|
|
"toast": {
|
|
"success": {
|
|
"title": "{{polygonName}} has been saved. Restart Frigate to apply changes.",
|
|
"noName": "Object Mask has been saved. Restart Frigate to apply changes."
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"motionDetectionTuner": {
|
|
"title": "Motion Detection Tuner",
|
|
"unsavedChanges": "Unsaved Motion Tuner changes ({{camera}})",
|
|
"desc": {
|
|
"title": "Frigate uses motion detection as a first line check to see if there is anything happening in the frame worth checking with object detection.",
|
|
"documentation": "Read the Motion Tuning Guide"
|
|
},
|
|
"Threshold": {
|
|
"title": "Threshold",
|
|
"desc": "The threshold value dictates how much of a change in a pixel's luminance is required to be considered motion. <em>Default: 30</em>"
|
|
},
|
|
"contourArea": {
|
|
"title": "Contour Area",
|
|
"desc": "The contour area value is used to decide which groups of changed pixels qualify as motion. <em>Default: 10</em>"
|
|
},
|
|
"improveContrast": {
|
|
"title": "Improve Contrast",
|
|
"desc": "Improve contrast for darker scenes. <em>Default: ON</em>"
|
|
},
|
|
"toast": {
|
|
"success": "Motion settings have been saved."
|
|
}
|
|
},
|
|
"debug": {
|
|
"title": "Debug",
|
|
"detectorDesc": "Frigate uses your detectors ({{detectors}}) to detect objects in your camera's video stream.",
|
|
"desc": "Debugging view shows a real-time view of tracked objects and their statistics. The object list shows a time-delayed summary of detected objects.",
|
|
"debugging": "Debugging",
|
|
"objectList": "Object List",
|
|
"noObjects": "No objects",
|
|
"boundingBoxes": {
|
|
"title": "Bounding boxes",
|
|
"desc": "Show bounding boxes around tracked objects",
|
|
"colors": {
|
|
"label": "Object Bounding Box Colors",
|
|
"info": "<li>At startup, different colors will be assigned to each object label</li><li>A dark blue thin line indicates that object is not detected at this current point in time</li><li>A gray thin line indicates that object is detected as being stationary</li><li>A thick line indicates that object is the subject of autotracking (when enabled)</li>"
|
|
}
|
|
},
|
|
"timestamp": {
|
|
"title": "Timestamp",
|
|
"desc": "Overlay a timestamp on the image"
|
|
},
|
|
"zones": {
|
|
"title": "Zones",
|
|
"desc": "Show an outline of any defined zones"
|
|
},
|
|
"mask": {
|
|
"title": "Motion masks",
|
|
"desc": "Show motion mask polygons"
|
|
},
|
|
"motion": {
|
|
"title": "Motion boxes",
|
|
"desc": "Show boxes around areas where motion is detected",
|
|
"tips": "<p><strong>Motion Boxes</strong></p><br><p>Red boxes will be overlaid on areas of the frame where motion is currently being detected</p>"
|
|
},
|
|
"regions": {
|
|
"title": "Regions",
|
|
"desc": "Show a box of the region of interest sent to the object detector",
|
|
"tips": "<p><strong>Region Boxes</strong></p><br><p>Bright green boxes will be overlaid on areas of interest in the frame that are being sent to the object detector.</p>"
|
|
},
|
|
"paths": {
|
|
"title": "Paths",
|
|
"desc": "Show significant points of the tracked object's path",
|
|
"tips": "<p><strong>Paths</strong></p><br><p>Lines and circles will indicate significant points the tracked object has moved during its lifecycle.</p>"
|
|
},
|
|
"objectShapeFilterDrawing": {
|
|
"title": "Object Shape Filter Drawing",
|
|
"desc": "Draw a rectangle on the image to view area and ratio details",
|
|
"tips": "Enable this option to draw a rectangle on the camera image to show its area and ratio. These values can then be used to set object shape filter parameters in your config.",
|
|
"document": "Read the documentation ",
|
|
"score": "Score",
|
|
"ratio": "Ratio",
|
|
"area": "Area"
|
|
}
|
|
},
|
|
"users": {
|
|
"title": "Users",
|
|
"management": {
|
|
"title": "User Management",
|
|
"desc": "Manage this Frigate instance's user accounts."
|
|
},
|
|
"addUser": "Add User",
|
|
"updatePassword": "Update Password",
|
|
"toast": {
|
|
"success": {
|
|
"createUser": "User {{user}} created successfully",
|
|
"deleteUser": "User {{user}} deleted successfully",
|
|
"updatePassword": "Password updated successfully.",
|
|
"roleUpdated": "Role updated for {{user}}"
|
|
},
|
|
"error": {
|
|
"setPasswordFailed": "Failed to save password: {{errorMessage}}",
|
|
"createUserFailed": "Failed to create user: {{errorMessage}}",
|
|
"deleteUserFailed": "Failed to delete user: {{errorMessage}}",
|
|
"roleUpdateFailed": "Failed to update role: {{errorMessage}}"
|
|
}
|
|
},
|
|
"table": {
|
|
"username": "Username",
|
|
"actions": "Actions",
|
|
"role": "Role",
|
|
"noUsers": "No users found.",
|
|
"changeRole": "Change user role",
|
|
"password": "Password",
|
|
"deleteUser": "Delete user"
|
|
},
|
|
"dialog": {
|
|
"form": {
|
|
"user": {
|
|
"title": "Username",
|
|
"desc": "Only letters, numbers, periods and underscores allowed.",
|
|
"placeholder": "Enter username"
|
|
},
|
|
"password": {
|
|
"title": "Password",
|
|
"placeholder": "Enter password",
|
|
"confirm": {
|
|
"title": "Confirm Password",
|
|
"placeholder": "Confirm Password"
|
|
},
|
|
"strength": {
|
|
"title": "Password strength: ",
|
|
"weak": "Weak",
|
|
"medium": "Medium",
|
|
"strong": "Strong",
|
|
"veryStrong": "Very Strong"
|
|
},
|
|
"match": "Passwords match",
|
|
"notMatch": "Passwords don't match"
|
|
},
|
|
"newPassword": {
|
|
"title": "New Password",
|
|
"placeholder": "Enter new password",
|
|
"confirm": {
|
|
"placeholder": "Re-enter new password"
|
|
}
|
|
},
|
|
"usernameIsRequired": "Username is required",
|
|
"passwordIsRequired": "Password is required"
|
|
},
|
|
"createUser": {
|
|
"title": "Create New User",
|
|
"desc": "Add a new user account and specify an role for access to areas of the Frigate UI.",
|
|
"usernameOnlyInclude": "Username may only include letters, numbers, . or _",
|
|
"confirmPassword": "Please confirm your password"
|
|
},
|
|
"deleteUser": {
|
|
"title": "Delete User",
|
|
"desc": "This action cannot be undone. This will permanently delete the user account and remove all associated data.",
|
|
"warn": "Are you sure you want to delete <strong>{{username}}</strong>?"
|
|
},
|
|
"passwordSetting": {
|
|
"cannotBeEmpty": "Password cannot be empty",
|
|
"doNotMatch": "Passwords do not match",
|
|
"updatePassword": "Update Password for {{username}}",
|
|
"setPassword": "Set Password",
|
|
"desc": "Create a strong password to secure this account."
|
|
},
|
|
"changeRole": {
|
|
"title": "Change User Role",
|
|
"select": "Select a role",
|
|
"desc": "Update permissions for <strong>{{username}}</strong>",
|
|
"roleInfo": {
|
|
"intro": "Select the appropriate role for this user:",
|
|
"admin": "Admin",
|
|
"adminDesc": "Full access to all features.",
|
|
"viewer": "Viewer",
|
|
"viewerDesc": "Limited to Live dashboards, Review, Explore, and Exports only."
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"notification": {
|
|
"title": "Notifications",
|
|
"notificationSettings": {
|
|
"title": "Notification Settings",
|
|
"desc": "Frigate can natively send push notifications to your device when it is running in the browser or installed as a PWA.",
|
|
"documentation": "Read the Documentation"
|
|
},
|
|
"notificationUnavailable": {
|
|
"title": "Notifications Unavailable",
|
|
"desc": "Web push notifications require a secure context (<code>https://…</code>). This is a browser limitation. Access Frigate securely to use notifications.",
|
|
"documentation": "Read the Documentation"
|
|
},
|
|
"globalSettings": {
|
|
"title": "Global Settings",
|
|
"desc": "Temporarily suspend notifications for specific cameras on all registered devices."
|
|
},
|
|
"email": {
|
|
"title": "Email",
|
|
"placeholder": "e.g. example@email.com",
|
|
"desc": "A valid email is required and will be used to notify you if there are any issues with the push service."
|
|
},
|
|
"cameras": {
|
|
"title": "Cameras",
|
|
"noCameras": "No cameras available",
|
|
"desc": "Select which cameras to enable notifications for."
|
|
},
|
|
"deviceSpecific": "Device Specific Settings",
|
|
"registerDevice": "Register This Device",
|
|
"unregisterDevice": "Unregister This Device",
|
|
"sendTestNotification": "Send a test notification",
|
|
"unsavedRegistrations": "Unsaved Notification registrations",
|
|
"unsavedChanges": "Unsaved Notification changes",
|
|
"active": "Notifications Active",
|
|
"suspended": "Notifications suspended {{time}}",
|
|
"suspendTime": {
|
|
"suspend": "Suspend",
|
|
"5minutes": "Suspend for 5 minutes",
|
|
"10minutes": "Suspend for 10 minutes",
|
|
"30minutes": "Suspend for 30 minutes",
|
|
"1hour": "Suspend for 1 hour",
|
|
"12hours": "Suspend for 12 hours",
|
|
"24hours": "Suspend for 24 hours",
|
|
"untilRestart": "Suspend until restart"
|
|
},
|
|
"cancelSuspension": "Cancel Suspension",
|
|
"toast": {
|
|
"success": {
|
|
"registered": "Successfully registered for notifications. Restarting Frigate is required before any notifications (including a test notification) can be sent.",
|
|
"settingSaved": "Notification settings have been saved."
|
|
},
|
|
"error": {
|
|
"registerFailed": "Failed to save notification registration."
|
|
}
|
|
}
|
|
},
|
|
"frigatePlus": {
|
|
"title": "Frigate+ Settings",
|
|
"apiKey": {
|
|
"title": "Frigate+ API Key",
|
|
"validated": "Frigate+ API key is detected and validated",
|
|
"notValidated": "Frigate+ API key is not detected or not validated",
|
|
"desc": "The Frigate+ API key enables integration with the Frigate+ service.",
|
|
"plusLink": "Read more about Frigate+"
|
|
},
|
|
"snapshotConfig": {
|
|
"title": "Snapshot Configuration",
|
|
"desc": "Submitting to Frigate+ requires both snapshots and <code>clean_copy</code> snapshots to be enabled in your config.",
|
|
"documentation": "Read the documentation",
|
|
"cleanCopyWarning": "Some cameras have snapshots enabled but have the clean copy disabled. You need to enable <code>clean_copy</code> in your snapshot config to be able to submit images from these cameras to Frigate+.",
|
|
"table": {
|
|
"camera": "Camera",
|
|
"snapshots": "Snapshots",
|
|
"cleanCopySnapshots": "<code>clean_copy</code> Snapshots"
|
|
}
|
|
},
|
|
"modelInfo": {
|
|
"title": "Model Information",
|
|
"modelType": "Model Type",
|
|
"trainDate": "Train Date",
|
|
"baseModel": "Base Model",
|
|
"plusModelType": {
|
|
"baseModel": "Base Model",
|
|
"userModel": "Fine-Tuned"
|
|
},
|
|
"supportedDetectors": "Supported Detectors",
|
|
"cameras": "Cameras",
|
|
"loading": "Loading model information…",
|
|
"error": "Failed to load model information",
|
|
"availableModels": "Available Models",
|
|
"loadingAvailableModels": "Loading available models…",
|
|
"modelSelect": "Your available models on Frigate+ can be selected here. Note that only models compatible with your current detector configuration can be selected."
|
|
},
|
|
"unsavedChanges": "Unsaved Frigate+ settings changes",
|
|
"restart_required": "Restart required (Frigate+ model changed)",
|
|
"toast": {
|
|
"success": "Frigate+ settings have been saved. Restart Frigate to apply changes.",
|
|
"error": "Failed to save config changes: {{errorMessage}}"
|
|
}
|
|
},
|
|
"triggers": {
|
|
"documentTitle": "Triggers",
|
|
"management": {
|
|
"title": "Trigger Management",
|
|
"desc": "Manage triggers for {{camera}}. Use the thumbnail type to trigger on similar thumbnails to your selected tracked object, and the description type to trigger on similar descriptions to text you specify."
|
|
},
|
|
"addTrigger": "Add Trigger",
|
|
"table": {
|
|
"name": "Name",
|
|
"type": "Type",
|
|
"content": "Content",
|
|
"threshold": "Threshold",
|
|
"actions": "Actions",
|
|
"noTriggers": "No triggers configured for this camera.",
|
|
"edit": "Edit",
|
|
"deleteTrigger": "Delete Trigger",
|
|
"lastTriggered": "Last triggered"
|
|
},
|
|
"type": {
|
|
"thumbnail": "Thumbnail",
|
|
"description": "Description"
|
|
},
|
|
"actions": {
|
|
"alert": "Mark as Alert",
|
|
"notification": "Send Notification"
|
|
},
|
|
"dialog": {
|
|
"createTrigger": {
|
|
"title": "Create Trigger",
|
|
"desc": "Create a trigger for camera {{camera}}"
|
|
},
|
|
"editTrigger": {
|
|
"title": "Edit Trigger",
|
|
"desc": "Edit the settings for trigger on camera {{camera}}"
|
|
},
|
|
"deleteTrigger": {
|
|
"title": "Delete Trigger",
|
|
"desc": "Are you sure you want to delete the trigger <strong>{{triggerName}}</strong>? This action cannot be undone."
|
|
},
|
|
"form": {
|
|
"name": {
|
|
"title": "Name",
|
|
"placeholder": "Enter trigger name",
|
|
"error": {
|
|
"minLength": "Name must be at least 2 characters long.",
|
|
"invalidCharacters": "Name can only contain letters, numbers, underscores, and hyphens.",
|
|
"alreadyExists": "A trigger with this name already exists for this camera."
|
|
}
|
|
},
|
|
"enabled": {
|
|
"description": "Enable or disable this trigger"
|
|
},
|
|
"type": {
|
|
"title": "Type",
|
|
"placeholder": "Select trigger type"
|
|
},
|
|
"content": {
|
|
"title": "Content",
|
|
"imagePlaceholder": "Select an image",
|
|
"textPlaceholder": "Enter text content",
|
|
"imageDesc": "Select an image to trigger this action when a similar image is detected.",
|
|
"textDesc": "Enter text to trigger this action when a similar tracked object description is detected.",
|
|
"error": {
|
|
"required": "Content is required."
|
|
}
|
|
},
|
|
"threshold": {
|
|
"title": "Threshold",
|
|
"error": {
|
|
"min": "Threshold must be at least 0",
|
|
"max": "Threshold must be at most 1"
|
|
}
|
|
},
|
|
"actions": {
|
|
"title": "Actions",
|
|
"desc": "By default, Frigate fires an MQTT message for all triggers. Choose an additional action to perform when this trigger fires.",
|
|
"error": {
|
|
"min": "At least one action must be selected."
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"toast": {
|
|
"success": {
|
|
"createTrigger": "Trigger {{name}} created successfully.",
|
|
"updateTrigger": "Trigger {{name}} updated successfully.",
|
|
"deleteTrigger": "Trigger {{name}} deleted successfully."
|
|
},
|
|
"error": {
|
|
"createTriggerFailed": "Failed to create trigger: {{errorMessage}}",
|
|
"updateTriggerFailed": "Failed to update trigger: {{errorMessage}}",
|
|
"deleteTriggerFailed": "Failed to delete trigger: {{errorMessage}}"
|
|
}
|
|
}
|
|
}
|
|
}
|