mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-07-20 18:59:01 +03:00
Refactor and clean up i18n (#17198)
* clean up i18n * fix key * fix key
This commit is contained in:
@@ -152,7 +152,6 @@
|
||||
"hi_hat": "Hi-Hat",
|
||||
"wood_block": "Wood Block",
|
||||
"tambourine": "Tambourine",
|
||||
"rattle": "Rattle",
|
||||
"maraca": "Maraca",
|
||||
"gong": "Gong",
|
||||
"tubular_bells": "Tubular Bells",
|
||||
@@ -282,7 +281,6 @@
|
||||
"ship": "Ship",
|
||||
"motor_vehicle": "Motor Vehicle",
|
||||
"car": "Car",
|
||||
"honk": "Honk",
|
||||
"toot": "Toot",
|
||||
"car_alarm": "Car Alarm",
|
||||
"power_windows": "Power Windows",
|
||||
@@ -426,5 +424,6 @@
|
||||
"pink_noise": "Pink Noise",
|
||||
"television": "Television",
|
||||
"radio": "Radio",
|
||||
"field_recording": "Field Recording"
|
||||
"field_recording": "Field Recording",
|
||||
"scream": "Scream"
|
||||
}
|
||||
|
||||
@@ -34,14 +34,22 @@
|
||||
"minute": "{{time}} minutes",
|
||||
"s": "s",
|
||||
"second": "{{time}} seconds",
|
||||
"formattedTimestamp": "%b %-d, %I:%M:%S %p",
|
||||
"formattedTimestamp.24hour": "%b %-d, %H:%M:%S",
|
||||
"formattedTimestamp2": "%m/%d %I:%M:%S%P",
|
||||
"formattedTimestamp2.24hour": "%d %b %H:%M:%S",
|
||||
"formattedTimestampExcludeSeconds": "%b %-d, %I:%M %p",
|
||||
"formattedTimestampExcludeSeconds.24hour": "%b %-d, %H:%M",
|
||||
"formattedTimestampWithYear": "%b %-d %Y, %I:%M %p",
|
||||
"formattedTimestampWithYear.24hour": "%b %-d %Y, %H:%M",
|
||||
"formattedTimestamp": {
|
||||
"12hour": "%b %-d, %I:%M:%S %p",
|
||||
"24hour": "%b %-d, %H:%M:%S"
|
||||
},
|
||||
"formattedTimestamp2": {
|
||||
"12hour": "%m/%d %I:%M:%S%P",
|
||||
"24hour": "%d %b %H:%M:%S"
|
||||
},
|
||||
"formattedTimestampExcludeSeconds": {
|
||||
"12hour": "%b %-d, %I:%M %p",
|
||||
"24hour": "%b %-d, %H:%M"
|
||||
},
|
||||
"formattedTimestampWithYear": {
|
||||
"12hour": "%b %-d %Y, %I:%M %p",
|
||||
"24hour": "%b %-d %Y, %H:%M"
|
||||
},
|
||||
"formattedTimestampOnlyMonthAndDay": "%b %-d"
|
||||
},
|
||||
"unit": {
|
||||
@@ -70,6 +78,8 @@
|
||||
"fullscreen": "Fullscreen",
|
||||
"exitFullscreen": "Exit Fullscreen",
|
||||
"pictureInPicture": "Picture in Picture",
|
||||
"twoWayTalk": "Two Way Talk",
|
||||
"cameraAudio": "Camera Audio",
|
||||
"on": "ON",
|
||||
"off": "OFF",
|
||||
"edit": "Edit",
|
||||
@@ -97,14 +107,18 @@
|
||||
"language": {
|
||||
"en": "English",
|
||||
"zhCN": "简体中文 (Simplified Chinese)",
|
||||
"withSystem.label": "Use the system settings for language"
|
||||
"withSystem": {
|
||||
"label": "Use the system settings for language"
|
||||
}
|
||||
},
|
||||
"appearance": "Appearance",
|
||||
"darkMode": {
|
||||
"label": "Dark Mode",
|
||||
"light": "Light",
|
||||
"dark": "Dark",
|
||||
"withSystem.label": "Use the system settings for light or dark mode"
|
||||
"withSystem": {
|
||||
"label": "Use the system settings for light or dark mode"
|
||||
}
|
||||
},
|
||||
"withSystem": "System",
|
||||
"theme": {
|
||||
@@ -117,20 +131,27 @@
|
||||
"default": "Default"
|
||||
},
|
||||
"help": "Help",
|
||||
"documentation.label": "Frigate documentation",
|
||||
"documentation": "Documentation",
|
||||
"documentation": {
|
||||
"title": "Documentation",
|
||||
"label": "Frigate documentation"
|
||||
},
|
||||
"restart": "Restart Frigate",
|
||||
"live": "Live",
|
||||
"live.allCameras": "All Cameras",
|
||||
"live.cameras": "Cameras",
|
||||
"live.cameras.count_one": "{{count}} Camera",
|
||||
"live.cameras.count_other": "{{count}} Cameras",
|
||||
"live": {
|
||||
"title": "Live",
|
||||
"allCameras": "All Cameras",
|
||||
"cameras": {
|
||||
"title": "Cameras",
|
||||
"count_one": "{{count}} Camera",
|
||||
"count_other": "{{count}} Cameras"
|
||||
}
|
||||
},
|
||||
"review": "Review",
|
||||
"explore": "Explore",
|
||||
"export": "Export",
|
||||
"uiPlayground": "UI Playground",
|
||||
"faceLibrary": "Face Library",
|
||||
"user": {
|
||||
"title": "User",
|
||||
"account": "Account",
|
||||
"current": "Current User: {{user}}",
|
||||
"anonymous": "anonymous",
|
||||
@@ -141,8 +162,11 @@
|
||||
"toast": {
|
||||
"copyUrlToClipboard": "Copied URL to clipboard.",
|
||||
"save": {
|
||||
"error": "Failed to save config changes: {{errorMessage}}",
|
||||
"error.noMessage": "Failed to save config changes"
|
||||
"title": "Save",
|
||||
"error": {
|
||||
"title": "Failed to save config changes: {{errorMessage}}",
|
||||
"noMessage": "Failed to save config changes"
|
||||
}
|
||||
}
|
||||
},
|
||||
"role": {
|
||||
@@ -153,10 +177,14 @@
|
||||
},
|
||||
"pagination": {
|
||||
"label": "pagination",
|
||||
"previous": "Previous",
|
||||
"previous.label": "Go to previous page",
|
||||
"next": "Next",
|
||||
"next.label": "Go to next page",
|
||||
"previous": {
|
||||
"title": "Previous",
|
||||
"label": "Go to previous page"
|
||||
},
|
||||
"next": {
|
||||
"title": "Next",
|
||||
"label": "Go to next page"
|
||||
},
|
||||
"more": "More pages"
|
||||
},
|
||||
"accessDenied": {
|
||||
|
||||
@@ -5,13 +5,15 @@
|
||||
"edit": "Edit Camera Group",
|
||||
"delete": {
|
||||
"label": "Delete Camera Group",
|
||||
"confirm": "Confirm Delete",
|
||||
"confirm.desc": "Are you sure you want to delete the camera group <em>{{name}}</em>?"
|
||||
"confirm": {
|
||||
"title": "Confirm Delete",
|
||||
"desc": "Are you sure you want to delete the camera group <em>{{name}}</em>?"
|
||||
}
|
||||
},
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Enter a name...",
|
||||
"error": {
|
||||
"errorMessage": {
|
||||
"mustLeastCharacters": "Camera group name must be at least 2 characters.",
|
||||
"exists": "Camera group name already exists.",
|
||||
"nameMustNotPeriod": "Camera group name must not contain a period.",
|
||||
@@ -30,10 +32,12 @@
|
||||
"title": "{{cameraName}} Streaming Settings",
|
||||
"desc": "Change the live streaming options for this camera group's dashboard. <em>These settings are device/browser-specific.</em>",
|
||||
"audioIsAvailable": "Audio is available for this stream",
|
||||
"audioIsUnavailable": "Audio is available for this stream",
|
||||
"audioIsUnavailable": "Audio is unavailable for this stream",
|
||||
"audio": {
|
||||
"tips": "Audio must be output from your camera and configured in go2rtc for this stream.",
|
||||
"tips.document": "Read the documentation "
|
||||
"tips": {
|
||||
"title": "Audio must be output from your camera and configured in go2rtc for this stream.",
|
||||
"document": "Read the documentation "
|
||||
}
|
||||
},
|
||||
"streamMethod": {
|
||||
"label": "Streaming Method",
|
||||
@@ -48,8 +52,10 @@
|
||||
},
|
||||
"continuousStreaming": {
|
||||
"label": "Continuous Streaming",
|
||||
"desc": "Camera image will always be a live stream when visible on the dashboard, even if no activity is being detected.",
|
||||
"desc.warning": "Continuous streaming may cause high bandwidth usage and performance issues. Use with caution."
|
||||
"desc": {
|
||||
"title": "Camera image will always be a live stream when visible on the dashboard, even if no activity is being detected.",
|
||||
"warning": "Continuous streaming may cause high bandwidth usage and performance issues. Use with caution."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -15,13 +15,19 @@
|
||||
"desc": "Objects in locations you want to avoid are not false positives. Submitting them as false positives will confuse the model."
|
||||
},
|
||||
"review": {
|
||||
"true.label": "Confirm this label for Frigate Plus",
|
||||
"true_one": "This is a {{label}}",
|
||||
"true_other": "This is an {{label}}",
|
||||
"false_one": "This is not a {{label}}",
|
||||
"false_other": "This is not an {{label}}",
|
||||
"false.label": "Do not confirm this label for Frigate Plus",
|
||||
"state.submitted": "Submitted"
|
||||
"true": {
|
||||
"label": "Confirm this label for Frigate Plus",
|
||||
"true_one": "This is a {{label}}",
|
||||
"true_other": "This is an {{label}}"
|
||||
},
|
||||
"false": {
|
||||
"label": "Do not confirm this label for Frigate Plus",
|
||||
"false_one": "This is not a {{label}}",
|
||||
"false_other": "This is not an {{label}}"
|
||||
},
|
||||
"state": {
|
||||
"submitted": "Submitted"
|
||||
}
|
||||
}
|
||||
},
|
||||
"video": {
|
||||
@@ -34,10 +40,14 @@
|
||||
"lastHour_one": "Last Hour",
|
||||
"lastHour_other": "Last {{count}} Hours",
|
||||
"custom": "Custom",
|
||||
"start": "Start Time",
|
||||
"start.label": "Select Start Time",
|
||||
"end": "End Time",
|
||||
"end.label": "Select End Time"
|
||||
"start": {
|
||||
"title": "Start Time",
|
||||
"label": "Select Start Time"
|
||||
},
|
||||
"end": {
|
||||
"title": "End Time",
|
||||
"label": "Select End Time"
|
||||
}
|
||||
},
|
||||
"name": {
|
||||
"placeholder": "Name the Export"
|
||||
@@ -61,9 +71,11 @@
|
||||
"streaming": {
|
||||
"label": "Stream",
|
||||
"restreaming": {
|
||||
"NotEnabled": "Restreaming is not enabled for this camera.",
|
||||
"desc": "Set up go2rtc for additional live view options and audio for this camera.",
|
||||
"desc.readTheDocumentation": "Read the documentation "
|
||||
"disabled": "Restreaming is not enabled for this camera.",
|
||||
"desc": {
|
||||
"title": "Set up go2rtc for additional live view options and audio for this camera.",
|
||||
"readTheDocumentation": "Read the documentation "
|
||||
}
|
||||
},
|
||||
"showStats": {
|
||||
"label": "Show stream stats",
|
||||
@@ -78,14 +90,19 @@
|
||||
"placeholder": "Enter a name for your search",
|
||||
"overwrite": "{{searchName}} already exists. Saving will overwrite the existing value.",
|
||||
"success": "Search ({{searchName}}) has been saved.",
|
||||
"button.save.label": "Save this search"
|
||||
"button": {
|
||||
"save": {
|
||||
"label": "Save this search"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"recording": {
|
||||
"confirmDelete": {
|
||||
"title": "Confirm Delete",
|
||||
"desc": "Are you sure you want to delete all recorded video associated with this review item?<br /><br />Hold the <em>Shift</em> key to bypass this dialog in the future.",
|
||||
"desc.selected": "Are you sure you want to delete all recorded video associated with this review item?<br /><br />Hold the <em>Shift</em> key to bypass this dialog in the future."
|
||||
"desc": {
|
||||
"selected": "Are you sure you want to delete all recorded video associated with this review item?<br /><br />Hold the <em>Shift</em> key to bypass this dialog in the future."
|
||||
}
|
||||
},
|
||||
"button": {
|
||||
"export": "Export",
|
||||
|
||||
@@ -2,22 +2,30 @@
|
||||
"filter": "Filter",
|
||||
"labels": {
|
||||
"label": "Labels",
|
||||
"all": "All Labels",
|
||||
"all.short": "Labels",
|
||||
"all": {
|
||||
"title": "All Labels",
|
||||
"short": "Labels"
|
||||
},
|
||||
"count": "{{count}} Labels"
|
||||
},
|
||||
"zones": {
|
||||
"all": "All Zones",
|
||||
"all.short": "Zones"
|
||||
"label": "Zones",
|
||||
"all": {
|
||||
"title": "All Zones",
|
||||
"short": "Zones"
|
||||
}
|
||||
},
|
||||
"dates": {
|
||||
"all": "All Dates",
|
||||
"all.short": "Dates"
|
||||
"all": {
|
||||
"title": "All Dates",
|
||||
"short": "Dates"
|
||||
}
|
||||
},
|
||||
"more": "More Filters",
|
||||
"reset.label": "Reset filters to default values",
|
||||
"reset": {
|
||||
"label": "Reset filters to default values"
|
||||
},
|
||||
"timeRange": "Time Range",
|
||||
"zones.label": "Zones",
|
||||
"subLabels": {
|
||||
"label": "Sub Labels",
|
||||
"all": "All Sub Labels"
|
||||
@@ -45,8 +53,10 @@
|
||||
},
|
||||
"cameras": {
|
||||
"label": "Cameras Filter",
|
||||
"all": "All Cameras",
|
||||
"all.short": "Cameras"
|
||||
"all": {
|
||||
"title": "All Cameras",
|
||||
"short": "Cameras"
|
||||
}
|
||||
},
|
||||
"review": {
|
||||
"showReviewed": "Show Reviewed"
|
||||
@@ -57,12 +67,16 @@
|
||||
"explore": {
|
||||
"settings": {
|
||||
"title": "Settings",
|
||||
"defaultView": "Default View",
|
||||
"defaultView.desc": "When no filters are selected, display a summary of the most recent tracked objects per label, or display an unfiltered grid.",
|
||||
"defaultView.summary": "Summary",
|
||||
"defaultView.unfilteredGrid": "Unfiltered Grid",
|
||||
"gridColumns": "Grid Columns",
|
||||
"gridColumns.desc": "Select the number of columns in the grid view.",
|
||||
"defaultView": {
|
||||
"title": "Default View",
|
||||
"desc": "When no filters are selected, display a summary of the most recent tracked objects per label, or display an unfiltered grid.",
|
||||
"summary": "Summary",
|
||||
"unfilteredGrid": "Unfiltered Grid"
|
||||
},
|
||||
"gridColumns": {
|
||||
"title": "Grid Columns",
|
||||
"desc": "Select the number of columns in the grid view."
|
||||
},
|
||||
"searchSource": {
|
||||
"label": "Search Source",
|
||||
"desc": "Choose whether to search the thumbnails or descriptions of your tracked objects.",
|
||||
@@ -81,8 +95,10 @@
|
||||
"logSettings": {
|
||||
"label": "Filter log level",
|
||||
"filterBySeverity": "Filter logs by severity",
|
||||
"loading": "Loading",
|
||||
"loading.desc": "When the log pane is scrolled to the bottom, new logs automatically stream as they are added.",
|
||||
"loading": {
|
||||
"title": "Loading",
|
||||
"desc": "When the log pane is scrolled to the bottom, new logs automatically stream as they are added."
|
||||
},
|
||||
"disableLogStreaming": "Disable log streaming",
|
||||
"allLogs": "All logs"
|
||||
},
|
||||
|
||||
@@ -13,18 +13,30 @@
|
||||
},
|
||||
"cameraDisabled": "Camera is disabled",
|
||||
"stats": {
|
||||
"streamType": "Stream Type:",
|
||||
"streamType.short": "Type",
|
||||
"bandwidth": "Bandwidth:",
|
||||
"bandwidth.short": "Bandwidth",
|
||||
"latency": "Latency:",
|
||||
"latency.short": "Latency",
|
||||
"latency.value": "{{seconds}} seconds",
|
||||
"latency.short.value": "{{seconds}} sec",
|
||||
"streamType": {
|
||||
"title": "Stream Type:",
|
||||
"short": "Type"
|
||||
},
|
||||
"bandwidth": {
|
||||
"title": "Bandwidth:",
|
||||
"short": "Bandwidth"
|
||||
},
|
||||
"latency": {
|
||||
"title": "Latency:",
|
||||
"value": "{{seconds}} seconds",
|
||||
"short": {
|
||||
"title": "Latency",
|
||||
"value": "{{seconds}} sec"
|
||||
}
|
||||
},
|
||||
"totalFrames": "Total Frames:",
|
||||
"droppedFrames": "Dropped Frames:",
|
||||
"droppedFrames.short": "Dropped",
|
||||
"droppedFrames.short.value": "{{droppedFrames}} frames",
|
||||
"droppedFrames": {
|
||||
"title": "Dropped Frames:",
|
||||
"short": {
|
||||
"title": "Dropped",
|
||||
"value": "{{droppedFrames}} frames"
|
||||
}
|
||||
},
|
||||
"decodedFrames": "Decoded Frames:",
|
||||
"droppedFrameRate": "Dropped Frame Rate:"
|
||||
},
|
||||
|
||||
@@ -58,8 +58,10 @@
|
||||
},
|
||||
"annotationSettings": {
|
||||
"title": "Annotation Settings",
|
||||
"showAllZones": "Show All Zones",
|
||||
"showAllZones.desc": "Always show zones on frames where objects have entered a zone.",
|
||||
"showAllZones": {
|
||||
"title": "Show All Zones",
|
||||
"desc": "Always show zones on frames where objects have entered a zone."
|
||||
},
|
||||
"offset": {
|
||||
"label": "Annotation Offset",
|
||||
"desc": "This data comes from your camera's detect feed but is overlayed on images from the the record feed. It is unlikely that the two streams are perfectly in sync. As a result, the bounding box and the footage will not line up perfectly. However, the <code>annotation_offset</code> field can be used to adjust this.",
|
||||
@@ -96,29 +98,34 @@
|
||||
"updatedSublabelFailed": "Failed to update sub label: {{errorMessage}}"
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
"label": "Label",
|
||||
"editSubLable": "Edit sub label",
|
||||
"editSubLable.desc": "Enter a new sub label for this {{label}}",
|
||||
"editSubLable.desc.noLabel": "Enter a new sub label for this tracked object",
|
||||
"topScore": "Top Score",
|
||||
"topScore.info": "The top score is the highest median score for the tracked object, so this may differ from the score shown on the search result thumbnail.",
|
||||
"editSubLabel": {
|
||||
"title": "Edit sub label",
|
||||
"desc": "Enter a new sub label for this {{label}}",
|
||||
"descNoLabel": "Enter a new sub label for this tracked object"
|
||||
},
|
||||
"topScore": {
|
||||
"label": "Top Score",
|
||||
"info": "The top score is the highest median score for the tracked object, so this may differ from the score shown on the search result thumbnail."
|
||||
},
|
||||
"estimatedSpeed": "Estimated Speed",
|
||||
"objects": "Objects",
|
||||
"camera": "Camera",
|
||||
"zones": "Zones",
|
||||
"timestamp": "Timestamp",
|
||||
"button": {
|
||||
"findSimilar": "Find Similar"
|
||||
"findSimilar": "Find Similar",
|
||||
"regenerate": {
|
||||
"title": "Regenerate",
|
||||
"label": "Regenerate tracked object description"
|
||||
}
|
||||
},
|
||||
"description": {
|
||||
"label": "Description",
|
||||
"placeholder": "Description of the tracked object",
|
||||
"aiTips": "Frigate will not request a description from your Generative AI provider until the tracked object's lifecycle has ended."
|
||||
},
|
||||
"button.regenerate": "Regenerate",
|
||||
"button.regenerate.label": "Regenerate tracked object description",
|
||||
"expandRegenerationMenu": "Expand regeneration menu",
|
||||
"regenerateFromSnapshot": "Regenerate from Snapshot",
|
||||
"regenerateFromThumbnails": "Regenerate from Thumbnails",
|
||||
|
||||
@@ -1,41 +1,40 @@
|
||||
{
|
||||
"documentTitle": "Face Library - Frigate",
|
||||
"uploadFaceImage": {
|
||||
"title": "Upload Face Image",
|
||||
"desc": "Upload an image to scan for faces and include for {{pageToggle}}"
|
||||
"documentTitle": "Face Library - Frigate",
|
||||
"uploadFaceImage": {
|
||||
"title": "Upload Face Image",
|
||||
"desc": "Upload an image to scan for faces and include for {{pageToggle}}"
|
||||
},
|
||||
"createFaceLibrary": {
|
||||
"title": "Create Face Library",
|
||||
"desc": "Create a new face library"
|
||||
},
|
||||
"train": {
|
||||
"title": "Train",
|
||||
"aria": "Select train"
|
||||
},
|
||||
"selectItem": "Select {{item}}",
|
||||
"button": {
|
||||
"deleteFaceAttempts": "Delete Face Attempts",
|
||||
"addFace": "Add Face",
|
||||
"uploadImage": "Upload Image",
|
||||
"reprocessFace": "Reprocess Face"
|
||||
},
|
||||
"trainFaceAs": "Train Face as:",
|
||||
"trainFaceAsPerson": "Train Face as Person",
|
||||
"toast": {
|
||||
"success": {
|
||||
"uploadedImage": "Successfully uploaded image.",
|
||||
"addFaceLibrary": "Successfully add face library.",
|
||||
"deletedFace": "Successfully deleted face.",
|
||||
"trainedFace": "Successfully trained face.",
|
||||
"updatedFaceScore": "Successfully updated face score."
|
||||
},
|
||||
"createFaceLibrary": {
|
||||
"title": "Create Face Library",
|
||||
"desc": "Create a new face library"
|
||||
},
|
||||
"train": {
|
||||
"title": "Train",
|
||||
"aria": "Select train"
|
||||
},
|
||||
"selectItem": "Select {{item}}",
|
||||
"button": {
|
||||
"deleteFaceAttempts": "Delete Face Attempts",
|
||||
"addFace": "Add Face",
|
||||
"uploadImage": "Upload Image",
|
||||
"reprocessFace:": "Reprocess Face"
|
||||
},
|
||||
"trainFaceAs:": "Train Face as:",
|
||||
"trainFaceAsPerson:": "Train Face as Person",
|
||||
|
||||
"toast": {
|
||||
"success": {
|
||||
"uploadedImage": "Successfully uploaded image.",
|
||||
"addFaceLibrary": "Successfully add face library.",
|
||||
"deletedFace": "Successfully deleted face.",
|
||||
"trainedFace": "Successfully trained face.",
|
||||
"updatedFaceScore": "Successfully updated face score."
|
||||
},
|
||||
"error": {
|
||||
"uploadingImageFailed": "Failed to upload image: {{errorMessage}}",
|
||||
"addFaceLibraryFailed": "Failed to set face name: {{errorMessage}}",
|
||||
"deleteFaceFailed": "Failed to delete: {{errorMessage}}",
|
||||
"trainFailed": "Failed to train: {{errorMessage}}",
|
||||
"updateFaceScoreFailed": "Failed to update face score: {{errorMessage}}"
|
||||
}
|
||||
"error": {
|
||||
"uploadingImageFailed": "Failed to upload image: {{errorMessage}}",
|
||||
"addFaceLibraryFailed": "Failed to set face name: {{errorMessage}}",
|
||||
"deleteFaceFailed": "Failed to delete: {{errorMessage}}",
|
||||
"trainFailed": "Failed to train: {{errorMessage}}",
|
||||
"updateFaceScoreFailed": "Failed to update face score: {{errorMessage}}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -100,19 +100,21 @@
|
||||
"streamingSettings": "Streaming Settings",
|
||||
"notifications": "Notifications",
|
||||
"audio": "Audio",
|
||||
"suspend:": {
|
||||
"suspend": {
|
||||
"forTime": "Suspend for: "
|
||||
},
|
||||
"stream": {
|
||||
"title": "Stream",
|
||||
"audio": {
|
||||
"tips": "Audio must be output from your camera and configured in go2rtc for this stream.",
|
||||
"tips.documentation": "Read the documentation ",
|
||||
"tips": {
|
||||
"title": "Audio must be output from your camera and configured in go2rtc for this stream.",
|
||||
"documentation": "Read the documentation "
|
||||
},
|
||||
"available": "Audio is available for this stream",
|
||||
"unavailable": "Audio is not available for this stream"
|
||||
},
|
||||
"twoWayTalk": {
|
||||
"tips": "Your device must suppport the feature and WebRTC must be configured for two-way talk.",
|
||||
"tips": "Your device must support the feature and WebRTC must be configured for two-way talk.",
|
||||
"tips.documentation": "Read the documentation ",
|
||||
"available": "Two-way talk is available for this stream",
|
||||
"unavailable": "Two-way talk is unavailable for this stream"
|
||||
@@ -148,7 +150,9 @@
|
||||
},
|
||||
"editLayout": {
|
||||
"label": "Edit Layout",
|
||||
"group.label": "Edit Camera Group",
|
||||
"group": {
|
||||
"label": "Edit Camera Group"
|
||||
},
|
||||
"exitEdit": "Exit Editing"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,65 +1,67 @@
|
||||
{
|
||||
"search": "Search",
|
||||
"savedSearches": "Saved Searches",
|
||||
"searchFor": "Search for {{inputValue}}",
|
||||
"button": {
|
||||
"clear": "Clear search",
|
||||
"save": "Save search",
|
||||
"delete": "Delete saved search",
|
||||
"filterInformation": "Filter information",
|
||||
"filterActive": "Filters active"
|
||||
"search": "Search",
|
||||
"savedSearches": "Saved Searches",
|
||||
"searchFor": "Search for {{inputValue}}",
|
||||
"button": {
|
||||
"clear": "Clear search",
|
||||
"save": "Save search",
|
||||
"delete": "Delete saved search",
|
||||
"filterInformation": "Filter information",
|
||||
"filterActive": "Filters active"
|
||||
},
|
||||
"trackedObjectId": "Tracked Object ID",
|
||||
"filter": {
|
||||
"label": {
|
||||
"cameras": "Cameras",
|
||||
"labels": "Labels",
|
||||
"zones": "Zones",
|
||||
"sub_labels": "Sub Labels",
|
||||
"search_type": "Search Type",
|
||||
"time_range": "Time Range",
|
||||
"before": "Before",
|
||||
"after": "After",
|
||||
"min_score": "Min Score",
|
||||
"max_score": "Max Score",
|
||||
"min_speed": "Min Speed",
|
||||
"max_speed": "Max Speed",
|
||||
"recognized_license_plate": "Recognized License Plate",
|
||||
"has_clip": "Has Clip",
|
||||
"has_snapshot": "Has Snapshot"
|
||||
},
|
||||
"trackedObjectId": "Tracked Object ID",
|
||||
"filter": {
|
||||
"label": {
|
||||
"cameras": "Cameras",
|
||||
"labels": "Labels",
|
||||
"zones": "Zones",
|
||||
"sub_labels": "Sub Labels",
|
||||
"search_type": "Search Type",
|
||||
"time_range": "Time Range",
|
||||
"before": "Before",
|
||||
"after": "After",
|
||||
"min_score": "Min Score",
|
||||
"max_score": "Max Score",
|
||||
"min_speed": "Min Speed",
|
||||
"max_speed": "Max Speed",
|
||||
"recognized_license_plate": "Recognized License Plate",
|
||||
"has_clip": "Has Clip",
|
||||
"has_snapshot": "Has Snapshot"
|
||||
},
|
||||
"searchType": {
|
||||
"thumbnail": "Thumbnail",
|
||||
"description": "Description"
|
||||
},
|
||||
"toast": {
|
||||
"error": {
|
||||
"beforeDateBeLaterAfter": "The 'before' date must be later than the 'after' date.",
|
||||
"afterDatebeEarlierBefore": "The 'after' date must be earlier than the 'before' date.",
|
||||
"minScoreMustBeLessOrEqualMaxScore": "The 'min_score' must be less than or equal to the 'max_score'.",
|
||||
"maxScoreMustBeGreaterOrEqualMinScore": "The 'max_score' must be greater than or equal to the 'min_score'.",
|
||||
"minSpeedMustBeLessOrEqualMaxSpeed": "The 'min_speed' must be less than or equal to the 'max_speed'.",
|
||||
"maxSpeedMustBeGreaterOrEqualMinSpeed": "The 'max_speed' must be greater than or equal to the 'min_speed'."
|
||||
}
|
||||
},
|
||||
"tips": {
|
||||
"title": "How to use text filters",
|
||||
"desc": "Filters help you narrow down your search results. Here's how to use them in the input field:",
|
||||
"desc.step": "<ul className=\"list-disc pl-5 text-sm text-primary-variant\"><li>Type a filter name followed by a colon (e.g., \"cameras:\").</li><li>Select a value from the suggestions or type your own.</li><li>Use multiple filters by adding them one after another with a space in between.</li><li>Date filters (before: and after:) use <em>{{DateFormat}}</em> format.</li><li>Time range filter uses <em>{{exampleTime}}</em> format.</li><li>Remove filters by clicking the 'x' next to them.</li></ul>",
|
||||
"desc.example": "Example: <code className=\"text-primary\">cameras:front_door label:person before:01012024 time_range:3:00PM-4:00PM </code>"
|
||||
},
|
||||
"header": {
|
||||
"currentFilterType": "Filter Values",
|
||||
"noFilters": "Filters",
|
||||
"activeFilters": "Active Filters"
|
||||
}
|
||||
"searchType": {
|
||||
"thumbnail": "Thumbnail",
|
||||
"description": "Description"
|
||||
},
|
||||
"similaritySearch": {
|
||||
"title": "Similarity Search",
|
||||
"active": "Similarity search active",
|
||||
"clear": "Clear similarity search"
|
||||
"toast": {
|
||||
"error": {
|
||||
"beforeDateBeLaterAfter": "The 'before' date must be later than the 'after' date.",
|
||||
"afterDatebeEarlierBefore": "The 'after' date must be earlier than the 'before' date.",
|
||||
"minScoreMustBeLessOrEqualMaxScore": "The 'min_score' must be less than or equal to the 'max_score'.",
|
||||
"maxScoreMustBeGreaterOrEqualMinScore": "The 'max_score' must be greater than or equal to the 'min_score'.",
|
||||
"minSpeedMustBeLessOrEqualMaxSpeed": "The 'min_speed' must be less than or equal to the 'max_speed'.",
|
||||
"maxSpeedMustBeGreaterOrEqualMinSpeed": "The 'max_speed' must be greater than or equal to the 'min_speed'."
|
||||
}
|
||||
},
|
||||
"placeholder": {
|
||||
"search": "Search..."
|
||||
"tips": {
|
||||
"title": "How to use text filters",
|
||||
"desc": {
|
||||
"text": "Filters help you narrow down your search results. Here's how to use them in the input field:",
|
||||
"step": "<ul className=\"list-disc pl-5 text-sm text-primary-variant\"><li>Type a filter name followed by a colon (e.g., \"cameras:\").</li><li>Select a value from the suggestions or type your own.</li><li>Use multiple filters by adding them one after another with a space in between.</li><li>Date filters (before: and after:) use <em>{{DateFormat}}</em> format.</li><li>Time range filter uses <em>{{exampleTime}}</em> format.</li><li>Remove filters by clicking the 'x' next to them.</li></ul>",
|
||||
"example": "Example: <code className=\"text-primary\">cameras:front_door label:person before:01012024 time_range:3:00PM-4:00PM </code>"
|
||||
}
|
||||
},
|
||||
"header": {
|
||||
"currentFilterType": "Filter Values",
|
||||
"noFilters": "Filters",
|
||||
"activeFilters": "Active Filters"
|
||||
}
|
||||
}
|
||||
},
|
||||
"similaritySearch": {
|
||||
"title": "Similarity Search",
|
||||
"active": "Similarity search active",
|
||||
"clear": "Clear similarity search"
|
||||
},
|
||||
"placeholder": {
|
||||
"search": "Search..."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -92,10 +92,14 @@
|
||||
"modelSize": {
|
||||
"label": "Model Size",
|
||||
"desc": "The size of the model used for semantic search embeddings.",
|
||||
"small": "small",
|
||||
"large": "large",
|
||||
"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.desc": "Using <em>large</em> employs the full Jina model and will automatically run on the GPU if applicable."
|
||||
"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": {
|
||||
@@ -133,9 +137,11 @@
|
||||
"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": "All {{detectionsLabels}} objects not categorized in {{zone}} on {{cameraName}} will be shown as Detections.",
|
||||
"zoneObjectDetectionsTips.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.",
|
||||
"zoneObjectDetectionsTips.regardlessOfZoneObjectDetectionsTips": "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."
|
||||
},
|
||||
"selectAlertsZones": "Select zones for Alerts",
|
||||
"selectDetectionsZones": "Select zones for Detections",
|
||||
"limitDetections": "Limit detections to specific zones",
|
||||
@@ -166,13 +172,27 @@
|
||||
"hasIllegalCharacter": "Zone name contains illegal characters."
|
||||
}
|
||||
},
|
||||
"distance.error": "Distance must be greater than or equal to 0.1.",
|
||||
"distance.error.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.",
|
||||
"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."
|
||||
}
|
||||
},
|
||||
"polygonDrawing": {
|
||||
"removeLastPoint": "Remove last point",
|
||||
"reset.label": "Clear all points",
|
||||
"reset": {
|
||||
"label": "Clear all points"
|
||||
},
|
||||
"snapPoints": {
|
||||
"true": "Snap points",
|
||||
"false": "Don't Snap points"
|
||||
@@ -190,77 +210,123 @@
|
||||
"zones": {
|
||||
"label": "Zones",
|
||||
"documentTitle": "Edit Zone - Frigate",
|
||||
"desc": "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.",
|
||||
"desc.documentation": "Documentation",
|
||||
"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": "Name",
|
||||
"name.inputPlaceHolder": "Enter a name...",
|
||||
"name.tips": "Name must be at least 2 characters and must not be the name of a camera or another zone.",
|
||||
"inertia": "Inertia",
|
||||
"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": "Loitering Time",
|
||||
"loiteringTime.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": "Objects",
|
||||
"objects.desc": "List of objects that apply to this zone.",
|
||||
"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": "Speed Estimation",
|
||||
"speedEstimation.desc": "Enable speed estimation for objects in this zone. The zone must have exactly 4 points.",
|
||||
"speedThreshold": "Speed Threshold ({{unit}})",
|
||||
"speedThreshold.desc": "Specifies a minimum speed for objects to be considered in this zone.",
|
||||
"speedThreshold.toast.error.pointLengthError": "Speed estimation has been disabled for this zone. Zones with speed estimation must have exactly 4 points.",
|
||||
"speedThreshold.toast.error.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."
|
||||
"speedEstimation": {
|
||||
"title": "Speed Estimation",
|
||||
"desc": "Enable speed estimation for objects in this zone. The zone must have exactly 4 points."
|
||||
},
|
||||
"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": "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.",
|
||||
"desc.documentation": "Documentation",
|
||||
"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": "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.",
|
||||
"context.documentation": "Read the documentation",
|
||||
"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": "The motion mask is covering {{polygonArea}}% of the camera frame. Large motion masks are not recommended.",
|
||||
"polygonAreaTooLarge.tips": "Motion masks do not prevent objects from being detected. You should use a required zone instead.",
|
||||
"polygonAreaTooLarge.documentation": "Read the documentation",
|
||||
"toast.success": "{{polygonName}} has been saved. Restart Frigate to apply changes.",
|
||||
"toast.success.noName": "Motion Mask has been saved. Restart Frigate to apply changes."
|
||||
"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": "Object filter masks are used to filter out false positives for a given object type based on location.",
|
||||
"documentation": "Documentation",
|
||||
"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": "Objects",
|
||||
"objects.desc": "The object type that that applies to this object mask.",
|
||||
"objects.allObjectTypes": "All object types",
|
||||
"toast.success": "{{polygonName}} has been saved. Restart Frigate to apply changes.",
|
||||
"toast.success.noName": "Object Mask has been saved. Restart Frigate to apply changes."
|
||||
"objects": {
|
||||
"title": "Objects",
|
||||
"desc": "The object type that 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",
|
||||
"desc": "Frigate uses motion detection as a first line check to see if there is anything happening in the frame worth checking with object detection.",
|
||||
"desc.documentation": "Read the Motion Tuning Guide",
|
||||
"Threshold": "Threshold",
|
||||
"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": "Contour Area",
|
||||
"contourArea.desc": "The contour area value is used to decide which groups of changed pixels qualify as motion. <em>Default: 10</em>",
|
||||
"improveContrast": "Improve Contrast",
|
||||
"improveContrast.desc": "Improve contrast for darker scenes. <em>Default: ON</em>",
|
||||
"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."
|
||||
}
|
||||
@@ -314,8 +380,10 @@
|
||||
},
|
||||
"users": {
|
||||
"title": "Users",
|
||||
"management": "Users Management",
|
||||
"management.desc": "Manage this Frigate instance's user accounts.",
|
||||
"management": {
|
||||
"title": "User Management",
|
||||
"desc": "Manage this Frigate instance's user accounts."
|
||||
},
|
||||
"addUser": "Add User",
|
||||
"updatePassword": "Update Password",
|
||||
"toast": {
|
||||
@@ -343,23 +411,35 @@
|
||||
},
|
||||
"dialog": {
|
||||
"form": {
|
||||
"user": "Username",
|
||||
"user.desc": "Only letters, numbers, periods and underscores allowed.",
|
||||
"user.placeholder": "Enter username",
|
||||
"password": "Password",
|
||||
"password.placeholder": "Enter password",
|
||||
"password.confirm": "Confirm Password",
|
||||
"password.confirm.placeholder": "Confirm Password",
|
||||
"password.strength": "password strength: ",
|
||||
"password.strength.weak": "Weak",
|
||||
"password.strength.medium": "Medium",
|
||||
"password.strength.strong": "Strong",
|
||||
"password.strength.veryStrong": "Very strong",
|
||||
"password.match": "Passwords match",
|
||||
"password.notMatch": "Passwords don't match",
|
||||
"newPassword": "New Password",
|
||||
"newPassword.placeholder": "Enter new password",
|
||||
"newPassword.confirm.placeholder": "Re-enter new password",
|
||||
"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"
|
||||
},
|
||||
"createUser": {
|
||||
@@ -400,12 +480,16 @@
|
||||
"title": "Global Settings",
|
||||
"desc": "Temporarily suspend notifications for specific cameras on all registered devices."
|
||||
},
|
||||
"email": "Email",
|
||||
"email.placeholder": "e.g. example@email.com",
|
||||
"email.desc": "A valid email is required and will be used to notify you if there are any issues with the push service.",
|
||||
"cameras": "Cameras",
|
||||
"cameras.noCameras": "No cameras available",
|
||||
"cameras.desc": "Select which cameras to enable notifications for.",
|
||||
"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",
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"cameras": "Cameras Stats - Frigate",
|
||||
"storage": "Storage Stats - Frigate",
|
||||
"general": "General Stats - Frigate",
|
||||
"features": "Features Stats- Frigate",
|
||||
"features": "Features Stats - Frigate",
|
||||
"logs": {
|
||||
"frigate": "Frigate Logs - Frigate",
|
||||
"go2rtc": "Go2RTC Logs - Frigate",
|
||||
@@ -63,8 +63,12 @@
|
||||
"cudaComputerCapability": "CUDA Compute Capability: {{cuda_compute}}",
|
||||
"vbios": "VBios Info: {{vbios}}"
|
||||
},
|
||||
"closeInfo.label": "Close GPU info",
|
||||
"copyInfo.label": "Copy GPU info",
|
||||
"closeInfo": {
|
||||
"label": "Close GPU info"
|
||||
},
|
||||
"copyInfo": {
|
||||
"label": "Copy GPU info"
|
||||
},
|
||||
"toast": {
|
||||
"success": "Copied GPU info to clipboard"
|
||||
}
|
||||
@@ -87,12 +91,14 @@
|
||||
"cameraStorage": {
|
||||
"title": "Camera Storage",
|
||||
"camera": "Camera",
|
||||
"unused": "Unused",
|
||||
"unusedStorageInformation": "Unused Storage Information",
|
||||
"storageUsed": "Storage",
|
||||
"percentageOfTotalUsed": "Percentage of Total",
|
||||
"bandwidth": "Bandwidth",
|
||||
"unused.tips": "This value may not accurately represent the free space available to Frigate if you have other files stored on your drive beyond Frigate's recordings. Frigate does not track storage usage outside of its recordings."
|
||||
"unused": {
|
||||
"title": "Unused",
|
||||
"tips": "This value may not accurately represent the free space available to Frigate if you have other files stored on your drive beyond Frigate's recordings. Frigate does not track storage usage outside of its recordings."
|
||||
}
|
||||
}
|
||||
},
|
||||
"cameras": {
|
||||
|
||||
Reference in New Issue
Block a user