diff --git a/web/public/locales/en/common.json b/web/public/locales/en/common.json
index 1af1d70b4..707052b28 100644
--- a/web/public/locales/en/common.json
+++ b/web/public/locales/en/common.json
@@ -36,6 +36,8 @@
"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",
@@ -48,6 +50,9 @@
"kph": "kph"
}
},
+ "label": {
+ "back": "Go back"
+ },
"button": {
"apply": "Apply",
"reset": "Reset",
@@ -75,7 +80,11 @@
"download": "Download",
"info": "Info",
"suspended": "Suspended",
- "unsuspended": "Unsuspend"
+ "unsuspended": "Unsuspend",
+ "play": "Play",
+ "unselect": "Unselect",
+ "export": "Export",
+ "deleteNow": "Delete Now"
},
"menu": {
"system": "System",
@@ -87,13 +96,15 @@
"languages": "Languages",
"language": {
"en": "English",
- "zhCN": "简体中文(Simplified Chinese)"
+ "zhCN": "简体中文(Simplified Chinese)",
+ "withSystem.label": "Use the system settings for languag"
},
"appearance": "Appearance",
"darkMode": {
"label": "Dark Mode",
"light": "Light",
- "dark": "Dark"
+ "dark": "Dark",
+ "withSystem.label": "Use the system settings for light or dark mode"
},
"withSystem": "System",
"theme": {
@@ -136,5 +147,13 @@
"admin": "Admin",
"viewer": "Viewer",
"desc": "Admins have full access to all features in the Frigate UI. Viewers are limited to viewing cameras, review items, and historical footage in the UI."
+ },
+ "pagination": {
+ "label": "pagination",
+ "previous": "Previous",
+ "previous.label": "Go to previous page",
+ "next": "Next",
+ "next.label": "Go to next page",
+ "more": "More pages"
}
}
diff --git a/web/public/locales/en/components/auth.json b/web/public/locales/en/components/auth.json
new file mode 100644
index 000000000..bec032838
--- /dev/null
+++ b/web/public/locales/en/components/auth.json
@@ -0,0 +1,15 @@
+{
+ "form": {
+ "user": "Username",
+ "password": "Password",
+ "login": "Login",
+ "errors": {
+ "usernameRequired": "Username is required",
+ "passwordRequired": "Password is required",
+ "rateLimit": "Exceeded rate limit. Try again later.",
+ "loginFailed": "Login failed",
+ "unknownError": "Unknown error. Check logs.",
+ "webUnkownError": "Unknown error. Check console logs."
+ }
+ }
+}
\ No newline at end of file
diff --git a/web/public/locales/en/components/camera.json b/web/public/locales/en/components/camera.json
index ff511f914..049384a42 100644
--- a/web/public/locales/en/components/camera.json
+++ b/web/public/locales/en/components/camera.json
@@ -4,6 +4,7 @@
"add": "Add camera groups",
"edit": "Edit camera groups",
"delete": {
+ "label": "Delete Camera Group",
"confirm": "Confirm Delete",
"confirm.desc": "Are you sure you want to delete the camera group {{name}}?"
},
@@ -25,6 +26,7 @@
"success": "Camera group ({{name}}) has been saved.",
"camera": {
"setting": {
+ "label": "Camera Streaming Settings",
"title": "{{cameraName}} Streaming Settings",
"desc": "Change the live streaming options for this camera group's dashboard. These settings are device/browser-specific.",
"audioIsAvailable": "Audio is available for this stream",
@@ -57,5 +59,19 @@
}
}
}
+ },
+ "debug": {
+ "options": {
+ "label": "Settings",
+ "title": "Options",
+ "showOptions": "Show Options",
+ "hideOptions": "Hide Options"
+ },
+ "boundingBox": "Bounding Box",
+ "timestamp": "Timestamp",
+ "zones": "Zones",
+ "mask": "Mask",
+ "motion": "Motion",
+ "regions": "Regions"
}
}
diff --git a/web/public/locales/en/components/dialog.json b/web/public/locales/en/components/dialog.json
index 85666eef4..c58faca21 100644
--- a/web/public/locales/en/components/dialog.json
+++ b/web/public/locales/en/components/dialog.json
@@ -15,10 +15,12 @@
"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"
}
},
@@ -31,13 +33,18 @@
"fromTimeline": "Select from Timeline",
"lastHour_one": "Last Hour",
"lastHour_other": "Last {{count}} Hours",
- "custom": "Custom"
+ "custom": "Custom",
+ "start": "Start Time",
+ "start.label": "Select Start Time",
+ "end": "End Time",
+ "end.label": "Select End Time"
},
"name": {
"placeholder": "Name the Export"
},
"select": "Select",
"export": "Export",
+ "selectOrExport": "Select or Export",
"toast": {
"success": "Successfully started export. View the file in the /exports folder.",
"error": {
@@ -70,13 +77,15 @@
"desc": "Provide a name for this saved search.",
"placeholder": "Enter a name for your search",
"overwrite": "{{searchName}} already exists. Saving will overwrite the existing value.",
- "success": "Search ({{searchName}}) has been saved."
+ "success": "Search ({{searchName}}) has been saved.",
+ "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?
Hold the Shift key to bypass this dialog in the future."
+ "desc": "Are you sure you want to delete all recorded video associated with this review item?
Hold the Shift 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?
Hold the Shift key to bypass this dialog in the future."
},
"button": {
"export": "Export",
diff --git a/web/public/locales/en/components/filter.json b/web/public/locales/en/components/filter.json
index 5a99aaa0f..0904f2504 100644
--- a/web/public/locales/en/components/filter.json
+++ b/web/public/locales/en/components/filter.json
@@ -1,6 +1,7 @@
{
"filter": "Filter",
"labels": {
+ "label": "Labels",
"all": "All Labels",
"all.short": "Labels",
"count": "{{count}} Labels"
@@ -14,6 +15,7 @@
"all.short": "Dates"
},
"more": "More Filters",
+ "reset.label": "Reset filters to default values",
"timeRange": "Time Range",
"zones.label": "Zones",
"subLabels": {
@@ -42,12 +44,16 @@
"relevance": "Relevance"
},
"cameras": {
+ "label": "Cameras Filter",
"all": "All Cameras",
"all.short": "Cameras"
},
"review": {
"showReviewed": "Show Reviewed"
},
+ "motion": {
+ "showMotionOnly": "Show Motion Only"
+ },
"explore": {
"settings": {
"title": "Settings",
@@ -65,6 +71,30 @@
"description": "Description"
}
}
+ },
+ "date": {
+ "selectDateBy": {
+ "label": "Select a date to filter by"
+ }
}
+ },
+ "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.",
+ "disableLogStreaming": "Disable log streaming",
+ "allLogs": "All logs"
+ },
+ "trackedObjectDelete": {
+ "title": "Confirm Delete",
+ "desc": "Deleting these {{objectLength}} tracked objects removes the snapshot, any saved embeddings, and any associated object lifecycle entries. Recorded footage of these tracked objects in History view will NOT be deleted.
Are you sure you want to proceed?
Hold the Shift key to bypass this dialog in the future.",
+ "toast": {
+ "success": "Tracked objects deleted successfully.",
+ "error": "Failed to delete tracked objects: {{errorMessage}}"
+ }
+ },
+ "zoneMask": {
+ "filterBy": "Filter by zone mask"
}
}
diff --git a/web/public/locales/en/components/input.json b/web/public/locales/en/components/input.json
new file mode 100644
index 000000000..6cb0ea10a
--- /dev/null
+++ b/web/public/locales/en/components/input.json
@@ -0,0 +1,10 @@
+{
+ "button": {
+ "downloadVideo": {
+ "label": "Download Video",
+ "toast": {
+ "success": "Your review item video has started downloading."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/web/public/locales/en/components/player.json b/web/public/locales/en/components/player.json
index 90b197826..7e4fec646 100644
--- a/web/public/locales/en/components/player.json
+++ b/web/public/locales/en/components/player.json
@@ -1,5 +1,9 @@
{
"noRecordingsFoundForThisTime": "No recordings found for this time",
"noPreviewFound": "No Preview Found",
- "noPreviewFoundFor": "No Preview Found for {{cameraName}}"
+ "noPreviewFoundFor": "No Preview Found for {{cameraName}}",
+ "submitFrigatePlus": {
+ "title": "Submit this frame to Frigate+?",
+ "submit": "Submit"
+ }
}
\ No newline at end of file
diff --git a/web/public/locales/en/views/events.json b/web/public/locales/en/views/events.json
index 85a8bdde2..332817b00 100644
--- a/web/public/locales/en/views/events.json
+++ b/web/public/locales/en/views/events.json
@@ -12,8 +12,10 @@
"motion": "No motion data found"
},
"timeline": "Timeline",
+ "timeline.aria": "Select timeline",
"events": {
"label": "Events",
+ "aria": "Select events",
"noFoundForTimePeriod": "No events found for this time period."
},
"documentTitle": "Review - Frigate",
@@ -22,5 +24,12 @@
},
"calendarFilter": {
"last24Hours": "Last 24 Hours"
- }
+ },
+ "markAsReviewed": "Mark as Reviewed",
+ "markTheseItemsAsReviewed": "Mark these items as reviewed",
+ "newReviewItems": {
+ "label": "View new review items",
+ "button": "New Items To Review"
+ },
+ "camera": "Camera"
}
diff --git a/web/public/locales/en/views/explore.json b/web/public/locales/en/views/explore.json
index d6839fdcd..29e0665dd 100644
--- a/web/public/locales/en/views/explore.json
+++ b/web/public/locales/en/views/explore.json
@@ -34,6 +34,43 @@
"video": "video",
"object_lifecycle": "object lifecycle"
},
+ "objectLifecycle": {
+ "title": "Object Lifecycle",
+ "noImageFound": "No image found for this timestamp.",
+ "createObjectMask": "Create Object Mask",
+ "adjustAnnotationSettings": "Adjust annotation settings",
+ "scrollViewTips": "Scroll to view the significant moments of this object's lifecycle.",
+ "autoTrackingTips": "Bounding box positions will be inaccurate for autotracking cameras.",
+ "lifecycleItemDesc": {
+ "visible": "{{label}} detected",
+ "entered_zone": "{{label}} entered {{zones}}",
+ "active": "{{label}} became active",
+ "stationary": "{{label}} became stationary",
+ "attribute": {
+ "faceOrLicense_plate": "{{attribute}} detected for {{label}}",
+ "other": "{{label}} recognized as {{attribute}}"
+ },
+ "gone": "{{label}} left",
+ "heard": "{{label}} heard",
+ "external": "{{label}} detected"
+ },
+ "annotationSettings": {
+ "title": "Annotation Settings",
+ "showAllZones": "Show All Zones",
+ "showAllZones.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 annotation_offset field can be used to adjust this.",
+ "documentation": "Read the documentation ",
+ "millisecondsToOffset": "Milliseconds to offset detect annotations by. Default: 0",
+ "tips": "TIP: Imagine there is an event clip with a person walking from left to right. If the event timeline bounding box is consistently to the left of the person then the value should be decreased. Similarly, if a person is walking from left to right and the bounding box is consistently ahead of the person then the value should be increased."
+ }
+ },
+ "carousel": {
+ "previous": "Previous slide",
+ "next": "Next slide"
+ }
+ },
"details": {
"item": {
"title": "Review Item Details",
@@ -68,6 +105,8 @@
"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",
"tips": {
@@ -99,6 +138,9 @@
"viewInHistory": {
"label": "View in History",
"aria": "View in History"
+ },
+ "deleteTrackedObject": {
+ "label": "Delete this tracked object"
}
},
"dialog": {
diff --git a/web/public/locales/en/views/exports.json b/web/public/locales/en/views/exports.json
index bf2b228af..60cf2b7fe 100644
--- a/web/public/locales/en/views/exports.json
+++ b/web/public/locales/en/views/exports.json
@@ -3,5 +3,11 @@
"search": "Search",
"noExports": "No exports found",
"deleteExport": "Delete Export",
- "deleteExport.desc": "Are you sure you want to delete {{exportName}}?"
+ "deleteExport.desc": "Are you sure you want to delete {{exportName}}?",
+ "editExport": {
+ "title": "Rename Export",
+ "desc": "Enter a new name for this export.",
+ "saveExport": "Save Export"
+ }
+
}
\ No newline at end of file
diff --git a/web/public/locales/en/views/live.json b/web/public/locales/en/views/live.json
index f5c33bd4f..41ac714b7 100644
--- a/web/public/locales/en/views/live.json
+++ b/web/public/locales/en/views/live.json
@@ -12,6 +12,11 @@
},
"ptz": {
"move": {
+ "clickMove": {
+ "label": "Click in the frame to center the camera",
+ "enable": "Enable click to move",
+ "disable": "Disable click to move"
+ },
"left": {
"label": "Move PTZ camera to the left"
},
@@ -37,7 +42,8 @@
"center": {
"label": "Click in the frame to center the PTZ camera"
}
- }
+ },
+ "presets": "PTZ camera presets"
},
"camera": {
"enable": "Enable Camera",
@@ -118,8 +124,7 @@
"playInBackground": {
"label": "Play in background",
"tips": "Enable this option to continue streaming when the player is hidden."
- },
- "": ""
+ }
},
"cameraSettings": {
"title": "{{camera}} Settings",
@@ -129,5 +134,16 @@
"snapshots": "Snapshots",
"audioDetection": "Audio Detection",
"autotracking": "Autotracking"
+ },
+ "history": {
+ "label": "Show historical footage"
+ },
+ "effectiveRetainMode": {
+ "modes": {
+ "all": "All",
+ "motion": "Motion",
+ "active_objects": "Active Objects"
+ },
+ "notAllTips": "Your {{source}} recording retention configuration is set to mode: {{effectiveRetainMode}}, so this on-demand recording will only keep segments with {{effectiveRetainModeName}}."
}
}
diff --git a/web/public/locales/en/views/recording.json b/web/public/locales/en/views/recording.json
index d8bd373a9..9033d7819 100644
--- a/web/public/locales/en/views/recording.json
+++ b/web/public/locales/en/views/recording.json
@@ -2,6 +2,7 @@
"export": "Export",
"calendar": "Calendar",
"filter": "Filter",
+ "filters": "Filters",
"toast": {
"error": {
"noValidTimeSelected": "No valid time range selected",
diff --git a/web/public/locales/en/views/settings.json b/web/public/locales/en/views/settings.json
index 496622f0d..06f024f9d 100644
--- a/web/public/locales/en/views/settings.json
+++ b/web/public/locales/en/views/settings.json
@@ -122,6 +122,17 @@
"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",
+ "snapPoints": {
+ "true": "Snap points",
+ "false": "Don't Snap points"
+ },
+ "delete": {
+ "title": "Confirm Delete",
+ "desc": "Are you sure you want to delete the {{type}} {{name}}?",
+ "success": "{{name}} has been deleted."
+ },
"error": {
"mustBeFinished": "Polygon drawing must be finished before saving."
}
diff --git a/web/public/locales/en/views/system.json b/web/public/locales/en/views/system.json
index 6bc50402e..c33dff7ef 100644
--- a/web/public/locales/en/views/system.json
+++ b/web/public/locales/en/views/system.json
@@ -1,7 +1,23 @@
{
"title": "System",
"metrics": "System metrics",
- "logs": "System logs",
+ "logs": {
+ "download": {
+ "label": "Download Logs"
+ },
+ "copy": {
+ "label": "Copy to Clipboard",
+ "success": "Copied logs to clipboard",
+ "error": "Could not copy logs to clipboard"
+ },
+ "type": {
+ "label": "Type",
+ "timestamp": "Timestamp",
+ "tag": "Tag",
+ "message": "Message"
+ },
+ "tips": "Logs are streaming from the server"
+ },
"general": {
"title": "General",
"detector": {
@@ -15,7 +31,24 @@
"gpuUsage": "GPU Usage",
"gpuMemory": "GPU Memory",
"gpuEncoder": "GPU Encoder",
- "gpuDecoder": "GPU Decoder"
+ "gpuDecoder": "GPU Decoder",
+ "gpuInfo": {
+ "vainfoOutput": {
+ "title": "Vainfo Output",
+ "returnCode": "Return Code: {{code}}",
+ "processOutput": "Process Output:",
+ "processError": "Process Error:"
+ },
+ "nvidiaSMIOutput": {
+ "title": "Nvidia SMI Output",
+ "name": "Name: {{name}}",
+ "driver": "Driver: {{driver}}",
+ "cudaComputerCapability": "CUDA Compute Capability: {{cuda_compute}}",
+ "vbios": "VBios Info: {{vbios}}"
+ },
+ "closeInfo.label": "Close GPU info",
+ "copyInfo.label": "Close GPU info"
+ }
},
"otherProcesses": {
"title": "Other Processes",
@@ -28,12 +61,14 @@
"overview": "Overview",
"recordings": {
"title": "Recordings",
- "tips": "This value represents the total storage used by the recordings in Frigate's database. Frigate does not track storage usage for all files on your disk."
+ "tips": "This value represents the total storage used by the recordings in Frigate's database. Frigate does not track storage usage for all files on your disk.",
+ "earliestRecording": "Earliest recording available:"
},
"cameraStorage": {
"title": "Camera Storage",
"camera": "Camera",
"unused": "Unused",
+ "unusedStorageInformation": "Unused Storage Information",
"storageUsed": "Storage Used",
"percentageOfTotalUsed": "Percentage of Total Used",
"bandwidth": "Bandwidth",
diff --git a/web/public/locales/zh-CN/common.json b/web/public/locales/zh-CN/common.json
index 4a9d17f45..64d7c84a1 100644
--- a/web/public/locales/zh-CN/common.json
+++ b/web/public/locales/zh-CN/common.json
@@ -48,6 +48,14 @@
"kph": "英里/小时"
}
},
+ "pagination": {
+ "label": "分页",
+ "previous": "上一页",
+ "previous.label": "转到上一页",
+ "next": "下一页",
+ "next.label": "转到下一页",
+ "more": "更多页面"
+ },
"button": {
"apply": "应用",
"reset": "重置",
@@ -75,7 +83,11 @@
"download": "下载",
"info": "信息",
"suspended": "已暂停",
- "unsuspended": "取消暂停"
+ "unsuspended": "取消暂停",
+ "play": "播放",
+ "unselect": "取消选择",
+ "export": "导出",
+ "deleteNow": "立即删除"
},
"menu": {
"system": "系统",
@@ -87,13 +99,15 @@
"languages": "languages / 语言",
"language": {
"en": "English",
- "zhCN": "简体中文"
+ "zhCN": "简体中文",
+ "withSystem.label": "使用系统语言设置"
},
"appearance": "外观",
"darkMode": {
"label": "深色模式",
"light": "浅色",
- "dark": "深色"
+ "dark": "深色",
+ "withSystem.label": "使用系统深色模式设置"
},
"withSystem": "跟随系统",
"theme": {
diff --git a/web/public/locales/zh-CN/components/auth.json b/web/public/locales/zh-CN/components/auth.json
new file mode 100644
index 000000000..3e9a163b7
--- /dev/null
+++ b/web/public/locales/zh-CN/components/auth.json
@@ -0,0 +1,15 @@
+{
+ "form": {
+ "user": "用户名",
+ "password": "密码",
+ "login": "登录",
+ "errors": {
+ "usernameRequired": "用户名不能为空",
+ "passwordRequired": "密码不能为空",
+ "rateLimit": "超出请求限制,请稍后再试。",
+ "loginFailed": "登录失败",
+ "unknownError": "未知错误,请检查日志。",
+ "webUnkownError": "未知错误,请检查控制台日志。"
+ }
+ }
+}
\ No newline at end of file
diff --git a/web/public/locales/zh-CN/components/camera.json b/web/public/locales/zh-CN/components/camera.json
index 756c8f79d..c8a95adec 100644
--- a/web/public/locales/zh-CN/components/camera.json
+++ b/web/public/locales/zh-CN/components/camera.json
@@ -4,6 +4,7 @@
"add": "添加摄像头组",
"edit": "编辑摄像头组",
"delete": {
+ "label": "删除摄像头组",
"confirm": "确认删除",
"confirm.desc": "你确定要删除摄像头组 {{name}} 吗?"
},
@@ -25,6 +26,7 @@
"success": "摄像头组({{name}})保存成功。",
"camera": {
"setting": {
+ "label": "摄像头视频流设置",
"title": "{{cameraName}} 视频流设置",
"desc": "更改此摄像头组仪表板的实时视频流选项。这些设置特定于设备/浏览器。",
"audioIsAvailable": "此视频流支持音频",
@@ -57,5 +59,19 @@
}
}
}
+ },
+ "debug": {
+ "options": {
+ "label": "设置",
+ "title": "选项",
+ "showOptions": "显示选项",
+ "hideOptions": "隐藏选项"
+ },
+ "boundingBox": "边界框",
+ "timestamp": "时间戳",
+ "zones": "区域",
+ "mask": "遮罩",
+ "motion": "运动",
+ "regions": "区域"
}
}
diff --git a/web/public/locales/zh-CN/components/dialog.json b/web/public/locales/zh-CN/components/dialog.json
index 28041b01d..54a669f17 100644
--- a/web/public/locales/zh-CN/components/dialog.json
+++ b/web/public/locales/zh-CN/components/dialog.json
@@ -15,8 +15,10 @@
"desc": "您希望避开的地点中的物体不应被视为误报。若将其作为误报提交,可能会导致AI模型容易混淆相关物体的识别。"
},
"review": {
+ "true.label": "为 Frigate Plus 确认此标签",
"true_one": "这是 {{label}}",
"true_other": "这是 {{label}}",
+ "false.label": "不为 Frigate Plus 确认此标签",
"false_one": "这不是 {{label}}",
"false_other": "这不是 {{label}}",
"state.submitted": "已提交"
@@ -31,13 +33,18 @@
"fromTimeline": "从时间线选择",
"lastHour_one": "最后1小时",
"lastHour_other": "最后 {{count}} 小时",
- "custom": "自定义"
+ "custom": "自定义",
+ "start": "开始时间",
+ "start.label": "选择开始时间",
+ "end": "结束时间",
+ "end.label": "选择结束时间"
},
"name": {
"placeholder": "导出项目的名字"
},
"select": "选择",
"export": "导出",
+ "selectOrExport": "选择或导出",
"toast": {
"success": "导出成功。进入 /exports 目录查看文件。",
"error": {
@@ -70,13 +77,15 @@
"desc": "请为此已保存的搜索提供一个名称。",
"placeholder": "请输入搜索名称",
"overwrite": "{{searchName}} 已存在。保存将覆盖现有值。",
- "success": "搜索 ({{searchName}}) 已保存。"
+ "success": "搜索 ({{searchName}}) 已保存。",
+ "button.save.label": "保存此搜索"
}
},
"recording": {
"confirmDelete": {
"title": "确认删除",
- "desc": "您确定要删除与此审核项相关的所有录制视频吗?