diff --git a/web/public/locales/zh-CN/common.json b/web/public/locales/zh-CN/common.json
index 1c253aee4..934382ba9 100644
--- a/web/public/locales/zh-CN/common.json
+++ b/web/public/locales/zh-CN/common.json
@@ -181,7 +181,15 @@
"cs": "捷克语 (Čeština)",
"yue": "粤语 (粵語)",
"th": "泰语(ไทย)",
- "ca": "加泰罗尼亚语 (Català )"
+ "ca": "加泰罗尼亚语 (Català )",
+ "ptBR": "巴西葡萄牙语 (Português brasileiro)",
+ "sr": "塞尔维亚语 (Српски)",
+ "sl": "斯洛文尼亚语 (Slovenščina)",
+ "lt": "立陶宛语 (Lietuvių)",
+ "bg": "保加利亚语 (Български)",
+ "gl": "加利西亚语 (Galego)",
+ "id": "印度尼西亚语 (Bahasa Indonesia)",
+ "ur": "乌尔都语 (اردو)"
},
"appearance": "外观",
"darkMode": {
diff --git a/web/public/locales/zh-CN/components/dialog.json b/web/public/locales/zh-CN/components/dialog.json
index e7670d1e6..980c2c6a4 100644
--- a/web/public/locales/zh-CN/components/dialog.json
+++ b/web/public/locales/zh-CN/components/dialog.json
@@ -116,5 +116,12 @@
"markAsReviewed": "标记为已核查",
"deleteNow": "立即删除"
}
+ },
+ "imagePicker": {
+ "selectImage": "选择追踪对象的缩略图",
+ "search": {
+ "placeholder": "通过标签或子标签搜索……"
+ },
+ "noImages": "未在此摄像头找到缩略图"
}
}
diff --git a/web/public/locales/zh-CN/components/filter.json b/web/public/locales/zh-CN/components/filter.json
index 5824a421d..e631a1065 100644
--- a/web/public/locales/zh-CN/components/filter.json
+++ b/web/public/locales/zh-CN/components/filter.json
@@ -123,5 +123,13 @@
"placeholder": "输入以搜索车牌…",
"noLicensePlatesFound": "未找到车牌。",
"selectPlatesFromList": "从列表中选择一个或多个车牌。"
+ },
+ "classes": {
+ "label": "分类",
+ "all": {
+ "title": "所有分类"
+ },
+ "count_one": "{{count}} 个分类",
+ "count_other": "{{count}} 个分类"
}
}
diff --git a/web/public/locales/zh-CN/components/player.json b/web/public/locales/zh-CN/components/player.json
index df6648048..0336c32a1 100644
--- a/web/public/locales/zh-CN/components/player.json
+++ b/web/public/locales/zh-CN/components/player.json
@@ -11,7 +11,7 @@
"title": "视频流离线",
"desc": "未在 {{cameraName}} 的 detect
流上接收到任何帧,请检查错误日志"
},
- "cameraDisabled": "摄像机已禁用",
+ "cameraDisabled": "摄像头已禁用",
"stats": {
"streamType": {
"title": "流类型:",
diff --git a/web/public/locales/zh-CN/views/configEditor.json b/web/public/locales/zh-CN/views/configEditor.json
index 79e9b398c..a4ca5c5b7 100644
--- a/web/public/locales/zh-CN/views/configEditor.json
+++ b/web/public/locales/zh-CN/views/configEditor.json
@@ -12,5 +12,7 @@
"savingError": "保存配置时出错"
}
},
- "confirm": "是否退出并不保存?"
+ "confirm": "是否退出并不保存?",
+ "safeConfigEditor": "配置编辑器(安全模式)",
+ "safeModeDescription": "由于验证配置出现错误,Frigate目前为安全模式。"
}
diff --git a/web/public/locales/zh-CN/views/explore.json b/web/public/locales/zh-CN/views/explore.json
index 7db391e4d..4329e22c4 100644
--- a/web/public/locales/zh-CN/views/explore.json
+++ b/web/public/locales/zh-CN/views/explore.json
@@ -101,12 +101,14 @@
"success": {
"regenerate": "已向 {{provider}} 请求新的描述。根据提供商的速度,生成新描述可能需要一些时间。",
"updatedSublabel": "成功更新子标签。",
- "updatedLPR": "成功更新车牌。"
+ "updatedLPR": "成功更新车牌。",
+ "audioTranscription": "成功请求音频转录。"
},
"error": {
"regenerate": "调用 {{provider}} 生成新描述失败:{{errorMessage}}",
"updatedSublabelFailed": "更新子标签失败:{{errorMessage}}",
- "updatedLPRFailed": "更新车牌失败:{{errorMessage}}"
+ "updatedLPRFailed": "更新车牌失败:{{errorMessage}}",
+ "audioTranscription": "请求音频转录失败:{{errorMessage}}"
}
}
},
@@ -181,6 +183,14 @@
},
"deleteTrackedObject": {
"label": "删除此跟踪对象"
+ },
+ "addTrigger": {
+ "label": "添加触发器",
+ "aria": "为该追踪对象添加触发器"
+ },
+ "audioTranscription": {
+ "label": "转录",
+ "aria": "请求音频转录"
}
},
"dialog": {
diff --git a/web/public/locales/zh-CN/views/live.json b/web/public/locales/zh-CN/views/live.json
index 505781c4e..372c200e0 100644
--- a/web/public/locales/zh-CN/views/live.json
+++ b/web/public/locales/zh-CN/views/live.json
@@ -43,7 +43,15 @@
"label": "点击将PTZ摄像头画面居中"
}
},
- "presets": "PTZ摄像头预设"
+ "presets": "PTZ摄像头预设",
+ "focus": {
+ "in": {
+ "label": "PTZ摄像头聚焦"
+ },
+ "out": {
+ "label": "PTZ摄像头拉远"
+ }
+ }
},
"camera": {
"enable": "开启摄像头",
@@ -135,7 +143,8 @@
"recording": "录制",
"snapshots": "快照",
"audioDetection": "音频检测",
- "autotracking": "自动跟踪"
+ "autotracking": "自动跟踪",
+ "transcription": "音频转录"
},
"history": {
"label": "显示历史录像"
@@ -151,8 +160,12 @@
"editLayout": {
"label": "编辑布局",
"group": {
- "label": "编辑摄像机分组"
+ "label": "编辑摄像头分组"
},
"exitEdit": "退出编辑"
+ },
+ "transcription": {
+ "enable": "启用实时音频转录",
+ "disable": "关闭实时音频转录"
}
}
diff --git a/web/public/locales/zh-CN/views/search.json b/web/public/locales/zh-CN/views/search.json
index b2f8c6d12..cb1c798de 100644
--- a/web/public/locales/zh-CN/views/search.json
+++ b/web/public/locales/zh-CN/views/search.json
@@ -12,7 +12,7 @@
"trackedObjectId": "跟踪对象 ID",
"filter": {
"label": {
- "cameras": "摄像机",
+ "cameras": "摄像头",
"labels": "标签",
"zones": "区域",
"sub_labels": "子标签",
diff --git a/web/public/locales/zh-CN/views/settings.json b/web/public/locales/zh-CN/views/settings.json
index fb92e6b7b..1d3d3abe8 100644
--- a/web/public/locales/zh-CN/views/settings.json
+++ b/web/public/locales/zh-CN/views/settings.json
@@ -178,6 +178,43 @@
"success": "核查分级配置已保存。请重启 Frigate 以应用更改。"
},
"unsavedChanges": "{{camera}} 的核查分类设置未保存"
+ },
+ "object_descriptions": {
+ "title": "生成式AI对象描述",
+ "desc": "临时启用/禁用此摄像头的生成式AI对象描述功能。禁用后,系统将不再请求该摄像头追踪对象的AI生成描述。"
+ },
+ "review_descriptions": {
+ "title": "生成式AI核查描述",
+ "desc": "临时启用/禁用本摄像头的生成式AI核查描述功能。禁用后,系统将不再为该摄像头的核查项目请求AI生成的描述内容。"
+ },
+ "addCamera": "添加新摄像头",
+ "editCamera": "编辑摄像头:",
+ "selectCamera": "选择摄像头",
+ "backToSettings": "返回摄像头设置",
+ "cameraConfig": {
+ "add": "添加摄像头",
+ "edit": "编辑摄像头",
+ "description": "配置摄像头设置,包括视频流输入和视频流功能选择。",
+ "name": "摄像头名称",
+ "nameRequired": "摄像头名称为必填项",
+ "nameInvalid": "摄像头名称只能包含字母、数字、下划线或连字符",
+ "namePlaceholder": "比如:front_door",
+ "enabled": "开启",
+ "ffmpeg": {
+ "inputs": "视频流输入",
+ "path": "视频流路径",
+ "pathRequired": "视频流路径为必填项",
+ "pathPlaceholder": "rtsp://...",
+ "roles": "功能",
+ "rolesRequired": "至少需要指定一个功能",
+ "rolesUnique": "每个功能(音频、检测、录制)只能用于一个视频流,不能够重复分配到多个视频流",
+ "addInput": "添加视频流输入",
+ "removeInput": "移除视频流输入",
+ "inputsRequired": "至少需要一个视频流"
+ },
+ "toast": {
+ "success": "摄像头 {{cameraName}} 保存已保存"
+ }
}
},
"masksAndZones": {
@@ -417,6 +454,11 @@
"score": "分数",
"ratio": "比例",
"area": "区域"
+ },
+ "paths": {
+ "title": "运动轨迹",
+ "desc": "显示被追踪对象运动轨迹的关键点",
+ "tips": "
运动轨迹
将使用线条和圆圈标示被追踪对象在其活动周期内移动的关键位置点。
" } }, "users": { @@ -677,5 +719,100 @@ }, "unsavedChanges": "增强功能设置未保存", "restart_required": "需要重启(增强功能设置已保存)" + }, + "triggers": { + "documentTitle": "触发器", + "management": { + "title": "触发器管理", + "desc": "管理 {{camera}} 的触发器。您可以使用“缩略图”类型,基于与所选追踪对象相似的缩略图来触发;也可以使用“描述”类型,基于与您指定的文本相似的描述来触发。" + }, + "addTrigger": "添加触发器", + "table": { + "name": "名称", + "type": "类型", + "content": "触发内容", + "threshold": "阈值", + "actions": "动作", + "noTriggers": "此摄像头未配置任何触发器。", + "edit": "编辑", + "deleteTrigger": "删除触发器", + "lastTriggered": "最后一个触发项" + }, + "type": { + "thumbnail": "缩略图", + "description": "描述" + }, + "actions": { + "alert": "标记为警报", + "notification": "发送通知" + }, + "dialog": { + "createTrigger": { + "title": "创建触发器", + "desc": "为摄像头 {{camera}} 创建触发器" + }, + "editTrigger": { + "title": "编辑触发器", + "desc": "编辑摄像头 {{camera}} 的触发器设置" + }, + "deleteTrigger": { + "title": "删除触发器", + "desc": "你确定要删除触发器 {{triggerName}} 吗?此操作不可撤销。" + }, + "form": { + "name": { + "title": "名称", + "placeholder": "输入触发器名称", + "error": { + "minLength": "名称至少要两个字符。", + "invalidCharacters": "名称只能包含字母、数字、下划线和连字符。", + "alreadyExists": "此摄像头已存在同名触发器。" + } + }, + "enabled": { + "description": "开启/关闭此触发器" + }, + "type": { + "title": "类型", + "placeholder": "选择触发类型" + }, + "content": { + "title": "内容", + "imagePlaceholder": "选择图片", + "textPlaceholder": "输入文字内容", + "imageDesc": "选择一张图片,当检测到相似图片时触发此操作。", + "textDesc": "输入文本,当检测到相似的追踪对象描述时触发此操作。", + "error": { + "required": "内容为必填项。" + } + }, + "threshold": { + "title": "阈值", + "error": { + "min": "阈值必须大于 0", + "max": "阈值必须小于 1" + } + }, + "actions": { + "title": "动作", + "desc": "默认情况下,Frigate 会为所有触发器发送 MQTT 消息。请选择此触发器触发时需要执行的附加操作。", + "error": { + "min": "必须至少选择一项动作。" + } + } + } + }, + "toast": { + "success": { + "createTrigger": "触发器 {{name}} 创建成功。", + "updateTrigger": "触发器 {{name}} 更新成功。", + "deleteTrigger": "触发器 {{name}} 已删除。" + }, + "error": { + "createTriggerFailed": "创建触发器失败:{{errorMessage}}", + "updateTriggerFailed": "更新触发器失败:{{errorMessage}}", + "deleteTriggerFailed": "删除触发器失败:{{errorMessage}}" + } + } } }