diff --git a/web/public/locales/zh-CN/common.json b/web/public/locales/zh-CN/common.json
index e9337cfc7..5771a2288 100644
--- a/web/public/locales/zh-CN/common.json
+++ b/web/public/locales/zh-CN/common.json
@@ -273,7 +273,8 @@
"classification": "目标分类",
"actions": "操作",
"chat": "聊天",
- "profiles": "配置模板"
+ "profiles": "配置模板",
+ "features": "功能"
},
"toast": {
"copyUrlToClipboard": "已复制链接到剪贴板。",
@@ -290,7 +291,7 @@
"title": "权限组",
"admin": "管理员",
"viewer": "成员",
- "desc": "管理员可以完全访问Frigate界面上所有功能。成员则仅能查看摄像头、核查项和历史录像。"
+ "desc": "管理员可以完全访问 Frigate 界面上所有功能。成员则仅能查看摄像头、核查项和历史录像。"
},
"accessDenied": {
"documentTitle": "没有权限 - Frigate",
diff --git a/web/public/locales/zh-CN/components/dialog.json b/web/public/locales/zh-CN/components/dialog.json
index d2013adcd..1cab8c0f8 100644
--- a/web/public/locales/zh-CN/components/dialog.json
+++ b/web/public/locales/zh-CN/components/dialog.json
@@ -62,19 +62,64 @@
"toast": {
"success": "导出成功。进入 导出 页面查看文件。",
"error": {
- "failed": "导出失败:{{error}}",
+ "failed": "未能加入导出队列:{{error}}",
"endTimeMustAfterStartTime": "结束时间必须在开始时间之后",
"noVaildTimeSelected": "未选择有效的时间范围"
},
- "view": "查看"
+ "view": "查看",
+ "queued": "导出已加入队列。请在导出页面查看进度。",
+ "batchSuccess_other": "已开始 {{count}} 个导出,正在打开合集。",
+ "batchPartial": "已开始 {{total}} 个导出中的 {{successful}} 个。失败的摄像头:{{failedCameras}}",
+ "batchFailed": "启动导出失败(共 {{total}} 个)。失败的摄像头:{{failedCameras}}",
+ "batchQueuedSuccess_other": "已排队 {{count}} 个导出,正在打开合集。",
+ "batchQueuedPartial": "已将 {{total}} 个导出中的 {{successful}} 个加入队列。失败的摄像头:{{failedCameras}}",
+ "batchQueueFailed": "未能将 {{total}} 个导出加入队列。失败的摄像头:{{failedCameras}}"
},
"fromTimeline": {
"saveExport": "保存导出",
- "previewExport": "预览导出"
+ "previewExport": "预览导出",
+ "queueingExport": "正在加入导出队列…",
+ "useThisRange": "使用此范围"
},
"case": {
"label": "合集",
- "placeholder": "选择合集"
+ "placeholder": "选择合集",
+ "newCaseOption": "创建新合集",
+ "newCaseNamePlaceholder": "新合集名称",
+ "newCaseDescriptionPlaceholder": "合集描述",
+ "nonAdminHelp": "将为这些导出文件创建一个新的合集。"
+ },
+ "queueing": "正在加入导出队列…",
+ "tabs": {
+ "export": "单个摄像头",
+ "multiCamera": "多个摄像头"
+ },
+ "multiCamera": {
+ "timeRange": "时间范围",
+ "selectFromTimeline": "从时间线选择",
+ "cameraSelection": "摄像头",
+ "cameraSelectionHelp": "在此时间范围内具有追踪目标的摄像头会被预先选中",
+ "checkingActivity": "正在检查摄像头活动…",
+ "noCameras": "没有可用的摄像头",
+ "detectionCount_other": "{{count}} 个追踪目标",
+ "nameLabel": "导出名称",
+ "namePlaceholder": "这些导出文件的可选基础名称",
+ "queueingButton": "正在加入导出队列…",
+ "exportButton_other": "导出 {{count}} 个摄像头"
+ },
+ "multi": {
+ "title_other": "导出 {{count}} 个核查",
+ "description": "导出每个选定的核查项。所有导出文件将归入同一个合集。",
+ "descriptionNoCase": "导出每个选定的核查项。",
+ "caseNamePlaceholder": "核查导出 - {{date}}",
+ "exportButton_other": "导出 {{count}} 个核查",
+ "exportingButton": "导出中…",
+ "toast": {
+ "started_other": "已开始 {{count}} 个导出。正在打开合集。",
+ "startedNoCase_other": "已开始 {{count}} 个导出。",
+ "partial": "已启动 {{total}} 个导出,其中 {{successful}} 个成功。失败项:{{failedItems}}",
+ "failed": "启动导出失败(共 {{total}} 个)。失败项:{{failedItems}}"
+ }
}
},
"streaming": {
@@ -122,6 +167,14 @@
"markAsReviewed": "标记为已核查",
"deleteNow": "立即删除",
"markAsUnreviewed": "标记为未核查"
+ },
+ "shareTimestamp": {
+ "label": "分享该时间片段",
+ "title": "分享该时间片段",
+ "description": "分享带当前录制的播放时间的地址,或选择自定义时间。请注意,这不是公开的分享链接,只有具有 Frigate 和此摄像头访问权限的用户才能访问。",
+ "custom": "自定义时间",
+ "button": "分享时间片段地址",
+ "shareTitle": "Frigate 核查时间:{{camera}}"
}
},
"imagePicker": {
diff --git a/web/public/locales/zh-CN/components/player.json b/web/public/locales/zh-CN/components/player.json
index 0336c32a1..6cee6952b 100644
--- a/web/public/locales/zh-CN/components/player.json
+++ b/web/public/locales/zh-CN/components/player.json
@@ -4,7 +4,8 @@
"noPreviewFoundFor": "没有在 {{cameraName}} 下找到预览",
"submitFrigatePlus": {
"title": "提交此帧到 Frigate+?",
- "submit": "提交"
+ "submit": "提交",
+ "previewError": "无法加载快照预览。该录制当前可能不可用。"
},
"livePlayerRequiredIOSVersion": "此直播流类型需要 iOS 17.1 或更高版本。",
"streamOffline": {
diff --git a/web/public/locales/zh-CN/config/cameras.json b/web/public/locales/zh-CN/config/cameras.json
index aa627f549..b057bad7d 100644
--- a/web/public/locales/zh-CN/config/cameras.json
+++ b/web/public/locales/zh-CN/config/cameras.json
@@ -127,7 +127,7 @@
},
"classifier": {
"label": "开启视觉分类器",
- "description": "使用视觉分类器,即使检测框有轻微抖动,也能准确判断物体是真的静止。"
+ "description": "使用视觉分类器,即使检测框有轻微抖动,也能准确判断物体是否为静止。"
}
},
"annotation_offset": {
@@ -268,20 +268,20 @@
"description": "为此摄像头启用和控制通知的设置。"
},
"live": {
- "label": "实时回放",
+ "label": "实时监控观看",
"streams": {
"label": "实时监控流名称",
"description": "配置的流名称到用于实时监控播放的 restream/go2rtc 名称的映射。"
},
"height": {
"label": "实时监控高度",
- "description": "在 Web UI 中渲染 jsmpeg 实时监控流的高度(像素);必须小于等于检测流高度。"
+ "description": "在网页页面中渲染 jsmpeg 实时监控流的高度(像素);必须小于等于检测流高度。"
},
"quality": {
"label": "实时监控质量",
"description": "jsmpeg 流的编码质量(1 最高,31 最低)。"
},
- "description": "用于控制实时流选择、分辨率和质量的 Web UI 设置。"
+ "description": "用于控制实时流选择、分辨率和质量的网页页面设置。"
},
"motion": {
"label": "画面变动检测",
@@ -388,51 +388,51 @@
"label": "原始遮罩"
},
"genai": {
- "label": "GenAI 目标配置",
- "description": "用于描述追踪目标和发送帧进行生成的 GenAI 选项。",
+ "label": "生成式 AI 目标配置",
+ "description": "用于发送画面给生成式 AI 进行生成和描述追踪目标的选项。",
"enabled": {
- "label": "开启 GenAI",
- "description": "默认启用 GenAI 生成追踪目标的描述。"
+ "label": "开启生成式 AI",
+ "description": "默认开启生成式 AI 生成追踪目标的描述。"
},
"use_snapshot": {
"label": "使用快照",
- "description": "使用目标快照而不是缩略图进行 GenAI 描述生成。"
+ "description": "使用目标快照而不是缩略图给生成式 AI 进行描述生成。"
},
"prompt": {
"label": "字幕提示",
- "description": "使用 GenAI 生成描述时使用的默认提示模板。"
+ "description": "使用生成式 AI 生成描述时使用的默认提示模板。"
},
"object_prompts": {
"label": "目标提示",
- "description": "用于自定义特定标签的 GenAI 输出的按目标提示。"
+ "description": "按目标设置提示词,让生成式 AI 对不同标签的输出进行定制。"
},
"objects": {
- "label": "GenAI 目标",
- "description": "默认发送给 GenAI 的目标标签列表。"
+ "label": "生成式 AI 目标",
+ "description": "默认发送给生成式 AI 的目标标签列表。"
},
"required_zones": {
"label": "必需区域",
- "description": "目标必须进入才能符合 GenAI 描述生成条件的区域。"
+ "description": "目标必须进入这些区域,才会触发生成式 AI 描述生成。"
},
"debug_save_thumbnails": {
"label": "保存缩略图",
- "description": "保存发送给 GenAI 的缩略图用于调试和核查。"
+ "description": "保存发送给生成式 AI 的缩略图用于调试和核查。"
},
"send_triggers": {
- "label": "GenAI 触发器",
- "description": "定义何时应将帧发送给 GenAI(结束时、更新后等)。",
+ "label": "生成式 AI 触发器",
+ "description": "定义画面帧应在何时发送给生成式 AI(如检测结束时、更新后等)。",
"tracked_object_end": {
"label": "结束时发送",
- "description": "当追踪目标结束时向 GenAI 发送请求。"
+ "description": "目标追踪结束时向生成式 AI 发送请求。"
},
"after_significant_updates": {
- "label": "早期 GenAI 触发器",
- "description": "在追踪目标进行指定次数的重大更新后向 GenAI 发送请求。"
+ "label": "生成式 AI 提前触发",
+ "description": "在追踪目标发生指定次数的重要变化后,向生成式 AI 发送请求。"
}
},
"enabled_in_config": {
- "label": "原始 GenAI 状态",
- "description": "指示原始静态配置中是否启用了 GenAI。"
+ "label": "原配置生成式 AI 状态",
+ "description": "表示在原始静态配置中是否已启用生成式 AI。"
}
}
},
@@ -520,7 +520,7 @@
},
"preview": {
"label": "预览配置",
- "description": "控制 UI 中显示的录像预览质量的设置。",
+ "description": "控制界面中显示的录像预览质量的设置。",
"quality": {
"label": "预览质量",
"description": "预览质量级别(very_low、low、medium、high、very_high)。"
@@ -583,46 +583,46 @@
}
},
"genai": {
- "label": "GenAI 配置",
+ "label": "生成式 AI 配置",
"description": "控制使用生成式 AI 为核查项生成描述和摘要。",
"enabled": {
- "label": "开启 GenAI 描述",
- "description": "为核查项启用或禁用 GenAI 生成的描述和摘要。"
+ "label": "开启生成式 AI 描述",
+ "description": "为核查项开启或关闭使用生成式 AI 生成描述和摘要。"
},
"alerts": {
- "label": "为警报开启 GenAI",
- "description": "使用 GenAI 为警报项生成描述。"
+ "label": "为警报开启生成式 AI",
+ "description": "使用生成式 AI 为警报项生成描述。"
},
"detections": {
- "label": "为检测开启 GenAI",
- "description": "使用 GenAI 为检测项生成描述。"
+ "label": "为检测开启生成式 AI",
+ "description": "使用生成式 AI 为检测项生成描述。"
},
"image_source": {
"label": "核查图像来源",
- "description": "发送给 GenAI 的图像来源('preview' 或 'recordings');'recordings' 使用更高质量的帧但消耗更多 token。"
+ "description": "发送给生成式 AI 的画面来源('preview' 或 'recordings');'recordings' 使用更高质量的画面帧,但会消耗更多的 token。"
},
"additional_concerns": {
"label": "额外关注事项",
- "description": "GenAI 在评估此摄像头活动时应考虑的额外关注事项或备注列表。"
+ "description": "生成式 AI 在分析此摄像头的监控行为时,需要额外注意的事项或说明列表。"
},
"debug_save_thumbnails": {
"label": "保存缩略图",
- "description": "保存发送给 GenAI 提供商的缩略图用于调试和核查。"
+ "description": "保存发送给生成式 AI 提供商的缩略图用于调试和核查。"
},
"enabled_in_config": {
- "label": "原始 GenAI 状态",
- "description": "追踪原始静态配置中是否启用了 GenAI 核查。"
+ "label": "原配置生成式 AI 状态",
+ "description": "记录在静态配置中最初是否已启用生成式 AI 核查功能。"
},
"preferred_language": {
"label": "首选语言",
- "description": "向 GenAI 提供商请求生成响应的首选语言。"
+ "description": "向生成式 AI 提供商请求生成响应的首选语言。"
},
"activity_context_prompt": {
"label": "活动上下文提示",
- "description": "描述什么是和什么不是可疑活动的自定义提示,为 GenAI 摘要提供上下文。"
+ "description": "自定义提示词,用于说明可疑行为与非可疑行为的界定,为生成式 AI 生成摘要提供上下文依据。"
}
},
- "description": "控制此摄像头的警报、检测和 GenAI 核查摘要的设置,用于 UI 和存储。"
+ "description": "控制此摄像头的警报、检测和生成式 AI 核查总结的设置,这些设置会被界面与存储功能使用。"
},
"snapshots": {
"label": "快照",
@@ -841,15 +841,15 @@
}
},
"ui": {
- "label": "摄像头 UI",
- "description": "此摄像头在 UI 中的显示顺序和可见性。顺序影响默认仪表板。如需更精细的控制,请使用摄像头组。",
+ "label": "摄像头页面",
+ "description": "此摄像头在页面中的显示顺序和可见性。显示顺序仅影响默认仪表板。如需更精细的控制,请使用“摄像头组”。",
"order": {
"label": "UI 顺序",
- "description": "用于在 UI 中排序摄像头的数值顺序(默认仪表板和列表);数值越大出现越晚。"
+ "description": "用于在页面中排序摄像头的顺序(只会影响默认仪表板和列表);数值越大则在越后面。"
},
"dashboard": {
"label": "在 UI 中显示",
- "description": "切换此摄像头在 Frigate UI 的所有位置是否可见。禁用此项将需要手动编辑配置才能在 UI 中再次查看此摄像头。"
+ "description": "切换此摄像头在 Frigate 页面的所有位置是否可见。禁用此项将需要手动编辑配置才能在页面中再次查看此摄像头。"
}
},
"best_image_timeout": {
@@ -862,7 +862,7 @@
},
"webui_url": {
"label": "摄像头 URL",
- "description": "从系统页面直接访问摄像头的 URL"
+ "description": "从系统页面直接访问摄像头管理后台的 URL"
},
"zones": {
"label": "区域",
diff --git a/web/public/locales/zh-CN/config/global.json b/web/public/locales/zh-CN/config/global.json
index b14f4acbf..5dbb98d74 100644
--- a/web/public/locales/zh-CN/config/global.json
+++ b/web/public/locales/zh-CN/config/global.json
@@ -231,7 +231,7 @@
},
"classifier": {
"label": "开启视觉分类器",
- "description": "使用视觉分类器,即使检测框有轻微抖动,也能准确判断物体是真的静止。"
+ "description": "使用视觉分类器,即使检测框有轻微抖动,也能准确判断物体是否为静止。"
}
},
"annotation_offset": {
@@ -536,7 +536,7 @@
"description": "Frigate Web 端点(端口 8971)的 TLS 设置。",
"enabled": {
"label": "开启 TLS",
- "description": "为 Frigate 的 Web 页面和 API 的端口开启 TLS 加密。"
+ "description": "为 Frigate 的网页页面和 API 的端口开启 TLS 加密。"
}
},
"ui": {
@@ -1470,15 +1470,15 @@
},
"provider": {
"label": "提供商",
- "description": "要使用的 GenAI 提供商(例如:ollama、gemini、openai)。"
+ "description": "要使用的生成式 AI 提供商(例如:ollama、gemini、openai 等。国产大模型厂商可使用 openai 接口)。"
},
"roles": {
"label": "功能",
- "description": "生成式 AI 功能(工具、视觉、嵌入);每个功能单独一个提供商。"
+ "description": "生成式 AI 功能(对话、描述、嵌入);每个功能单独一个提供商。"
},
"provider_options": {
"label": "提供商选项",
- "description": "传递给 GenAI 客户端的附加提供商特定选项。"
+ "description": "要传递给生成式 AI 客户端的、与服务提供商相关的额外配置项。"
},
"runtime_options": {
"label": "运行时选项",
@@ -1486,7 +1486,7 @@
}
},
"live": {
- "label": "实时回放",
+ "label": "实时监控观看",
"description": "用于控制 JSMPEG 实时流分辨率与画质的设置。此设置不影响使用 go2rtc 进行实时预览的摄像头。",
"streams": {
"label": "实时监控流名称",
@@ -1494,7 +1494,7 @@
},
"height": {
"label": "实时监控高度",
- "description": "在 Web UI 中渲染 jsmpeg 实时监控流的高度(像素);必须小于等于检测流高度。"
+ "description": "在网页页面中渲染 jsmpeg 实时监控流的高度(像素);必须小于等于检测流高度。"
},
"quality": {
"label": "实时监控质量",
@@ -1606,51 +1606,51 @@
"label": "原始遮罩"
},
"genai": {
- "label": "GenAI 目标配置",
- "description": "用于描述追踪目标和发送帧进行生成的 GenAI 选项。",
+ "label": "生成式 AI 目标配置",
+ "description": "用于发送画面给生成式 AI 进行生成和描述追踪目标的选项。",
"enabled": {
- "label": "开启 GenAI",
- "description": "默认启用 GenAI 生成追踪目标的描述。"
+ "label": "开启生成式 AI",
+ "description": "默认开启生成式 AI 生成追踪目标的描述。"
},
"use_snapshot": {
"label": "使用快照",
- "description": "使用目标快照而不是缩略图进行 GenAI 描述生成。"
+ "description": "使用目标快照而不是缩略图给生成式 AI 进行描述生成。"
},
"prompt": {
"label": "字幕提示",
- "description": "使用 GenAI 生成描述时使用的默认提示模板。"
+ "description": "使用生成式 AI 生成描述时使用的默认提示模板。"
},
"object_prompts": {
"label": "目标提示",
- "description": "用于自定义特定标签的 GenAI 输出的按目标提示。"
+ "description": "按目标设置提示词,让生成式 AI 对不同标签的输出进行定制。"
},
"objects": {
- "label": "GenAI 目标",
- "description": "默认发送给 GenAI 的目标标签列表。"
+ "label": "生成式 AI 目标",
+ "description": "默认发送给生成式 AI 的目标标签列表。"
},
"required_zones": {
"label": "必需区域",
- "description": "目标必须进入才能符合 GenAI 描述生成条件的区域。"
+ "description": "目标必须进入这些区域,才会触发生成式 AI 描述生成。"
},
"debug_save_thumbnails": {
"label": "保存缩略图",
- "description": "保存发送给 GenAI 的缩略图用于调试和核查。"
+ "description": "保存发送给生成式 AI 的缩略图用于调试和核查。"
},
"send_triggers": {
- "label": "GenAI 触发器",
- "description": "定义何时应将帧发送给 GenAI(结束时、更新后等)。",
+ "label": "生成式 AI 触发器",
+ "description": "定义画面帧应在何时发送给生成式 AI(如检测结束时、更新后等)。",
"tracked_object_end": {
"label": "结束时发送",
- "description": "当追踪目标结束时向 GenAI 发送请求。"
+ "description": "目标追踪结束时向生成式 AI 发送请求。"
},
"after_significant_updates": {
- "label": "早期 GenAI 触发器",
- "description": "在追踪目标进行指定次数的重大更新后向 GenAI 发送请求。"
+ "label": "生成式 AI 提前触发",
+ "description": "在追踪目标发生指定次数的重要变化后,向生成式 AI 发送请求。"
}
},
"enabled_in_config": {
- "label": "原始 GenAI 状态",
- "description": "指示原始静态配置中是否启用了 GenAI。"
+ "label": "原配置生成式 AI 状态",
+ "description": "表示在原始静态配置中是否已启用生成式 AI。"
}
}
},
@@ -1739,7 +1739,7 @@
},
"preview": {
"label": "预览配置",
- "description": "控制 UI 中显示的录像预览质量的设置。",
+ "description": "控制界面中显示的录像预览质量的设置。",
"quality": {
"label": "预览质量",
"description": "预览质量级别(very_low、low、medium、high、very_high)。"
@@ -1802,43 +1802,43 @@
}
},
"genai": {
- "label": "GenAI 配置",
+ "label": "生成式 AI 配置",
"description": "控制使用生成式 AI 为核查项生成描述和摘要。",
"enabled": {
- "label": "开启 GenAI 描述",
- "description": "为核查项启用或禁用 GenAI 生成的描述和摘要。"
+ "label": "开启生成式 AI 描述",
+ "description": "为核查项开启或关闭使用生成式 AI 生成描述和摘要。"
},
"alerts": {
- "label": "为警报开启 GenAI",
- "description": "使用 GenAI 为警报项生成描述。"
+ "label": "为警报开启生成式 AI",
+ "description": "使用生成式 AI 为警报项生成描述。"
},
"detections": {
- "label": "为检测开启 GenAI",
- "description": "使用 GenAI 为检测项生成描述。"
+ "label": "为检测开启生成式 AI",
+ "description": "使用生成式 AI 为检测项生成描述。"
},
"image_source": {
"label": "核查图像来源",
- "description": "发送给 GenAI 的图像来源('preview' 或 'recordings');'recordings' 使用更高质量的帧但消耗更多 token。"
+ "description": "发送给生成式 AI 的画面来源('preview' 或 'recordings');'recordings' 使用更高质量的画面帧,但会消耗更多的 token。"
},
"additional_concerns": {
"label": "额外关注事项",
- "description": "GenAI 在评估此摄像头活动时应考虑的额外关注事项或备注列表。"
+ "description": "生成式 AI 在分析此摄像头的监控行为时,需要额外注意的事项或说明列表。"
},
"debug_save_thumbnails": {
"label": "保存缩略图",
- "description": "保存发送给 GenAI 提供商的缩略图用于调试和核查。"
+ "description": "保存发送给生成式 AI 提供商的缩略图用于调试和核查。"
},
"enabled_in_config": {
- "label": "原始 GenAI 状态",
- "description": "追踪原始静态配置中是否启用了 GenAI 核查。"
+ "label": "原配置生成式 AI 状态",
+ "description": "记录在静态配置中最初是否已启用生成式 AI 核查功能。"
},
"preferred_language": {
"label": "首选语言",
- "description": "向 GenAI 提供商请求生成响应的首选语言。"
+ "description": "向生成式 AI 提供商请求生成响应的首选语言。"
},
"activity_context_prompt": {
"label": "活动上下文提示",
- "description": "描述什么是和什么不是可疑活动的自定义提示,为 GenAI 摘要提供上下文。"
+ "description": "自定义提示词,用于说明可疑行为与非可疑行为的界定,为生成式 AI 生成摘要提供上下文依据。"
}
}
},
@@ -2114,18 +2114,18 @@
},
"camera_groups": {
"label": "摄像头分组",
- "description": "用于在 UI 中组织摄像头的命名摄像头分组配置。",
+ "description": "用于在页面中组织摄像头的命名摄像头分组配置。",
"cameras": {
"label": "摄像头列表",
"description": "此分组中包含的摄像头名称数组。"
},
"icon": {
"label": "分组图标",
- "description": "在 UI 中代表摄像头分组的图标。"
+ "description": "在页面中代表摄像头分组的图标。"
},
"order": {
"label": "排序顺序",
- "description": "用于在 UI 中对摄像头分组进行排序的数字顺序;数值越大越靠后。"
+ "description": "用于在页面中对摄像头分组进行排序的数字顺序;数值越大越靠后。"
}
},
"camera_mqtt": {
@@ -2161,15 +2161,15 @@
}
},
"camera_ui": {
- "label": "摄像头 UI",
- "description": "此摄像头在 UI 中的显示顺序和可见性。顺序影响默认仪表板。如需更精细的控制,请使用摄像头分组。",
+ "label": "摄像头页面",
+ "description": "此摄像头在页面中的显示顺序和可见性。显示顺序仅影响默认仪表板。如需更精细的控制,请使用“摄像头组”。",
"order": {
"label": "UI 顺序",
- "description": "用于在 UI 中对摄像头进行排序的数字顺序(默认仪表板和列表);数值越大越靠后。"
+ "description": "用于在页面中排序摄像头的顺序(只会影响默认仪表板和列表);数值越大则在越后面。"
},
"dashboard": {
"label": "在 UI 中显示",
- "description": "切换此摄像头在 Frigate UI 中是否可见。禁用后需要手动编辑配置才能再次在 UI 中查看此摄像头。"
+ "description": "切换此摄像头在 Frigate 页面中是否可见。禁用后需要手动编辑配置才能再次在页面中查看此摄像头。"
}
},
"onvif": {
diff --git a/web/public/locales/zh-CN/views/events.json b/web/public/locales/zh-CN/views/events.json
index f02a83907..6035051c8 100644
--- a/web/public/locales/zh-CN/views/events.json
+++ b/web/public/locales/zh-CN/views/events.json
@@ -26,7 +26,9 @@
},
"documentTitle": "核查 - Frigate",
"recordings": {
- "documentTitle": "回放 - Frigate"
+ "documentTitle": "回放 - Frigate",
+ "invalidSharedLink": "由于解析错误,无法打开带时间戳的录制链接。",
+ "invalidSharedCamera": "由于摄像头未知或未获授权,无法打开带时间戳的录制链接。"
},
"calendarFilter": {
"last24Hours": "过去24小时"
diff --git a/web/public/locales/zh-CN/views/explore.json b/web/public/locales/zh-CN/views/explore.json
index db062d455..b5860d18f 100644
--- a/web/public/locales/zh-CN/views/explore.json
+++ b/web/public/locales/zh-CN/views/explore.json
@@ -285,7 +285,10 @@
"zones": "区",
"ratio": "比例",
"area": "大小",
- "score": "分数"
+ "score": "分数",
+ "computedScore": "计算得分",
+ "topScore": "最高得分",
+ "toggleAdvancedScores": "切换高级分数"
}
},
"annotationSettings": {
diff --git a/web/public/locales/zh-CN/views/exports.json b/web/public/locales/zh-CN/views/exports.json
index b57b1a1c6..6eaed055c 100644
--- a/web/public/locales/zh-CN/views/exports.json
+++ b/web/public/locales/zh-CN/views/exports.json
@@ -14,7 +14,9 @@
"toast": {
"error": {
"renameExportFailed": "重命名导出失败:{{errorMessage}}",
- "assignCaseFailed": "更新合集分配失败:{{errorMessage}}"
+ "assignCaseFailed": "更新合集分配失败:{{errorMessage}}",
+ "caseSaveFailed": "保存合集失败:{{errorMessage}}",
+ "caseDeleteFailed": "删除合集失败:{{errorMessage}}"
}
},
"tooltip": {
@@ -22,7 +24,8 @@
"downloadVideo": "下载视频",
"editName": "编辑名称",
"deleteExport": "删除导出",
- "assignToCase": "加入合集"
+ "assignToCase": "加入合集",
+ "removeFromCase": "从合集中移除"
},
"headings": {
"uncategorizedExports": "未分类导出项",
@@ -35,5 +38,91 @@
"selectLabel": "合集",
"newCaseOption": "创建新合集",
"descriptionLabel": "描述"
+ },
+ "toolbar": {
+ "newCase": "新合集",
+ "addExport": "新导出",
+ "editCase": "编辑合集",
+ "deleteCase": "删除合集"
+ },
+ "deleteCase": {
+ "label": "删除合集",
+ "desc": "你确定要删除 {{caseName}} 吗?",
+ "descKeepExports": "导出文件将继续保留为未分类导出。",
+ "descDeleteExports": "此合集中的所有导出项都将被永久删除。",
+ "deleteExports": "同时删除导出文件"
+ },
+ "caseCard": {
+ "emptyCase": "暂无导出文件"
+ },
+ "jobCard": {
+ "defaultName": "{{camera}} 导出",
+ "queued": "队列中",
+ "running": "运行中",
+ "preparing": "准备中",
+ "copying": "复制中",
+ "encoding": "编码中",
+ "encodingRetry": "重试编码中",
+ "finalizing": "正在完成"
+ },
+ "caseView": {
+ "noDescription": "没有描述",
+ "createdAt": "已创建 {{value}}",
+ "exportCount_one": "1 个导出",
+ "exportCount_other": "{{count}} 个导出",
+ "cameraCount_one": "1 个摄像头",
+ "cameraCount_other": "{{count}} 个摄像头",
+ "showMore": "显示更多",
+ "showLess": "显示更少",
+ "emptyTitle": "该合集为空",
+ "emptyDescription": "将现有未分类的导出添加进来,以便整理该条目。",
+ "emptyDescriptionNoExports": "目前没有可添加的未分类导出项。"
+ },
+ "caseEditor": {
+ "createTitle": "创建合集",
+ "editTitle": "编辑合集",
+ "namePlaceholder": "合集名称",
+ "descriptionPlaceholder": "为该合集添加备注或相关说明"
+ },
+ "addExportDialog": {
+ "title": "将导出添加到 {{caseName}}",
+ "searchPlaceholder": "搜索未分类的导出项",
+ "empty": "未找到匹配的未分类导出。",
+ "addButton_one": "添加 1 个导出",
+ "addButton_other": "添加 {{count}} 个导出",
+ "adding": "添加中…"
+ },
+ "selected_one": "已选择 {{count}} 个",
+ "selected_other": "已选择 {{count}} 个",
+ "bulkActions": {
+ "addToCase": "添加至合集",
+ "moveToCase": "移动至合集",
+ "removeFromCase": "从合集中移除",
+ "delete": "删除",
+ "deleteNow": "立即删除"
+ },
+ "bulkDelete": {
+ "title": "删除导出",
+ "desc_one": "你确定要删除 {{count}} 个导出吗?",
+ "desc_other": "确定要删除 {{count}} 个导出吗?"
+ },
+ "bulkRemoveFromCase": {
+ "title": "从合集中移除",
+ "desc_one": "你确定要从该合集中移除这 {{count}} 个导出吗?",
+ "desc_other": "你确定要从该合集中移除这 {{count}} 个导出吗?",
+ "descKeepExports": "导出将被移至未分类。",
+ "descDeleteExports": "导出将被永久删除。",
+ "deleteExports": "选择删除导出"
+ },
+ "bulkToast": {
+ "success": {
+ "delete": "已删除导出",
+ "reassign": "已更新合集分配",
+ "remove": "已从合集中移除导出"
+ },
+ "error": {
+ "deleteFailed": "删除导出失败:{{errorMessage}}",
+ "reassignFailed": "更新合集分配失败:{{errorMessage}}"
+ }
}
}
diff --git a/web/public/locales/zh-CN/views/settings.json b/web/public/locales/zh-CN/views/settings.json
index 55190e53b..788978682 100644
--- a/web/public/locales/zh-CN/views/settings.json
+++ b/web/public/locales/zh-CN/views/settings.json
@@ -46,7 +46,7 @@
"globalObjects": "目标",
"globalReview": "核查",
"globalAudioEvents": "音频事件",
- "globalLivePlayback": "实时回放",
+ "globalLivePlayback": "实时监控观看",
"globalTimestampStyle": "时间戳样式",
"systemDatabase": "数据库",
"systemTls": "TLS加密链接",
@@ -78,13 +78,13 @@
"cameraAudioEvents": "音频事件",
"cameraAudioTranscription": "音频转录",
"cameraNotifications": "通知",
- "cameraLivePlayback": "实时回放",
+ "cameraLivePlayback": "实时监控观看",
"cameraBirdseye": "鸟瞰图",
"cameraFaceRecognition": "人脸识别",
"cameraLpr": "车牌识别",
"cameraMqttConfig": "MQTT",
"cameraOnvif": "ONVIF",
- "cameraUi": "摄像头管理页面",
+ "cameraUi": "摄像头页面",
"cameraTimestampStyle": "时间戳样式",
"cameraMqtt": "摄像头 MQTT",
"mediaSync": "媒体同步",
@@ -358,7 +358,8 @@
"object_mask": "目标遮罩"
},
"revertOverride": {
- "title": "恢复为默认配置"
+ "title": "恢复为默认配置",
+ "desc": "这将移除针对 {{type}} {{name}} 的配置覆盖,并恢复为基础配置。"
}
},
"speed": {
@@ -1113,7 +1114,7 @@
"noSnapshot": "无法从配置的视频流中获取快照。"
},
"errors": {
- "brandOrCustomUrlRequired": "请选择摄像头品牌并配置主机/IP地址,或选择“其他”后手动配置视频流地址",
+ "brandOrCustomUrlRequired": "请选择摄像头品牌并配置主机/ IP 地址,或选择“其他”后手动配置视频流地址",
"nameRequired": "摄像头名称为必填项",
"nameLength": "摄像头名称要少于64个字符",
"invalidCharacters": "摄像头名称内有不允许使用的字符",
@@ -1121,7 +1122,7 @@
"brands": {
"reolink-rtsp": "不建议使用萤石 RTSP 协议。建议在摄像头设置中启用 HTTP 协议,并重新运行摄像头添加向导。"
},
- "customUrlRtspRequired": "自定义URL必须以“rtsp://”开头;对于非 RTSP 协议的摄像头流,需手动添加至配置文件。"
+ "customUrlRtspRequired": "自定义 URL 必须以“rtsp://”开头;对于非 RTSP 协议的摄像头流,需手动添加至配置文件。"
},
"docs": {
"reolink": "https://docs.frigate-cn.video/configuration/camera_specific.html#reolink-cameras"
@@ -1138,7 +1139,7 @@
"detectionMethodDescription": "如果摄像头支持 ONVIF 协议,将使用该协议探测摄像头,以自动获取摄像头视频流地址;若不支持,也可手动选择摄像头品牌来使用预设地址。如需输入自定义RTSP地址,请选择“手动选择”并选择“其他”选项。",
"onvifPortDescription": "对于支持ONVIF协议的摄像头,该端口通常为80或8080。",
"useDigestAuth": "使用摘要认证",
- "useDigestAuthDescription": "为ONVIF协议启用HTTP摘要认证。部分摄像头可能需要专用的 ONVIF 用户名/密码,而非默认的admin账户。"
+ "useDigestAuthDescription": "为 ONVIF 协议启用 HTTP 摘要认证。部分摄像头可能需要专用的 ONVIF 用户名/密码,而非默认的 admin 账户。"
},
"step2": {
"description": "将根据你选择的检测方式,将会自动查找摄像头可用流配置,或进行手动配置。",
@@ -1161,7 +1162,7 @@
},
"testStream": "测试连接",
"testSuccess": "视频流测试成功!",
- "testFailed": "视频流测试失败",
+ "testFailed": "连接测试失败,请检查您的输入后重试。",
"testFailedTitle": "测试失败",
"connected": "已连接",
"notConnected": "未连接",
@@ -1337,7 +1338,8 @@
},
"hikvision": {
"substreamWarning": "子码流1当前被锁定为低分辨率。多数海康威视的摄像头都支持额外的子码流,这些子码流需要在摄像头设置中手动启用。如果你的设备支持,建议你检查并使用这些高分辨率子码流。"
- }
+ },
+ "resolutionUnknown": "无法检测此视频流的分辨率。你需要在设置或配置文件中手动指定检测分辨率。"
}
}
},
@@ -1354,7 +1356,13 @@
"enableDesc": "暂时禁用已开启的摄像头,直到 Frigate 重启。禁用摄像头会完全停止 Frigate 对该摄像头视频流的处理。检测、录像和调试功能将不可用。
注意:这不会禁用 go2rtc 的转推流。",
"disableLabel": "关闭摄像头",
"disableDesc": "开启在当前在界面中不可见且在配置中被禁用的摄像头。启用后需要重启 Frigate 才能生效。",
- "enableSuccess": "已在配置中启用 {{cameraName}}。请重启 Frigate 以应用更改。"
+ "enableSuccess": "已在配置中启用 {{cameraName}}。请重启 Frigate 以应用更改。",
+ "friendlyName": {
+ "edit": "修改摄像头显示名称",
+ "title": "修改显示名称",
+ "description": "设置该摄像机在 Frigate 用户界面中显示的名称。若留空,则使用摄像机 ID。",
+ "rename": "重命名"
+ }
},
"cameraConfig": {
"add": "添加摄像头",
@@ -1493,7 +1501,7 @@
"tls": "TLS",
"proxy": "代理",
"go2rtc": "go2rtc",
- "ffmpeg": "FFmpeg",
+ "ffmpeg": "FFmpeg 编解码",
"detectors": "检测器",
"genai": "生成式 AI",
"face_recognition": "人脸识别",
@@ -1519,7 +1527,7 @@
"remove": "移除"
},
"roleMap": {
- "empty": "未配置角色映射。",
+ "empty": "未配置权限组映射",
"addMapping": "添加角色映射",
"roleLabel": "角色",
"groupsLabel": "用户组",
@@ -1655,7 +1663,16 @@
"summary": "已选择 {{count}} 个标签",
"empty": "暂无可用标签"
},
- "addCustomLabel": "添加自定义标签…"
+ "addCustomLabel": "添加自定义标签…",
+ "genaiModel": {
+ "placeholder": "选择模型…",
+ "search": "搜索模型…",
+ "noModels": "暂无模型"
+ },
+ "knownPlates": {
+ "namePlaceholder": "例如:老婆的车",
+ "platePlaceholder": "车牌号或正则表达式"
+ }
},
"cameraConfig": {
"title": "摄像头配置",
@@ -1721,7 +1738,7 @@
"desc": "区域网格是一种优化功能,它会学习不同大小的目标通常出现在每个摄像头视野中的位置。Frigate 利用这些数据来高效地确定检测区域的大小。该网格会根据追踪目标数据自动构建。",
"clear": "清除区域网格",
"clearConfirmTitle": "清除区域网格",
- "clearConfirmDesc": "除非您最近更改了检测器模型大小或摄像头的物理位置,并且遇到了目标追踪问题,否则不建议清除区域网格。网格会随着目标的追踪自动重建。更改需要重启 Frigate 才能生效。",
+ "clearConfirmDesc": "除非你最近更改了检测器模型大小或摄像头的物理位置,并且遇到了目标追踪问题,否则不建议清除区域网格。网格会随着目标的追踪自动重建。更改需要重启 Frigate 才能生效。",
"clearSuccess": "区域网格清除成功",
"clearError": "清除区域网格失败",
"restartRequired": "需要重启以使区域网格更改生效"
@@ -1795,7 +1812,7 @@
"deleteSection": "删除节点覆盖",
"deleteSectionConfirm": "是否要移除摄像机 {{camera}} 上针对配置文件 {{profile}} 的 {{section}} 覆盖设置?",
"deleteSectionSuccess": "已移除 {{profile}} 的 {{section}} 覆盖设置",
- "enableSwitch": "开启配置文件",
+ "enableSwitch": "开启配置模板",
"enabledDescription": "配置文件功能已启用。请在下方创建新的配置文件,进入摄像头配置页面进行修改并保存,修改即可生效。",
"disabledDescription": "配置文件功能可以让你创建一组带名称的摄像头自定义参数(比如布防、离家、夜间模式),并随时切换启用。"
},
@@ -1884,7 +1901,8 @@
"detectDisabled": "目标检测已禁用。快照是根据追踪到的目标生成的,因此将不会创建快照。"
},
"detectors": {
- "mixedTypes": "所有检测器必须为同一类型。若要更换为其他类型,请先移除现有的检测器。"
+ "mixedTypes": "所有检测器必须为同一类型。若要更换为其他类型,请先移除现有的检测器。",
+ "mixedTypesSuggestion": "所有检测器必须使用相同类型。请移除现有检测器,或选择 {{type}}。"
}
}
}