diff --git a/web/public/locales/en/common.json b/web/public/locales/en/common.json index b426c6f7c..1af1d70b4 100644 --- a/web/public/locales/en/common.json +++ b/web/public/locales/en/common.json @@ -111,6 +111,7 @@ "restart": "Restart Frigate", "live": "Live", "live.allCameras": "All Cameras", + "live.cameras": "Cameras", "review": "Review", "explore": "Explore", "export": "Export", diff --git a/web/public/locales/en/views/explore.json b/web/public/locales/en/views/explore.json index f83b69d3d..d6839fdcd 100644 --- a/web/public/locales/en/views/explore.json +++ b/web/public/locales/en/views/explore.json @@ -1,4 +1,32 @@ { + "exploreIsUnavailable": { + "title": "Explore is Unavailable", + "embeddingsReindexing": { + "context": "Explore can be used after tracked object embeddings have finished reindexing.", + "startingUp": "Starting up...", + "estimatedTime": "Estimated time remaining:", + "finishingShortly": "Finishing shortly", + "step": { + "thumbnailsEmbedded": "Thumbnails embedded: ", + "descriptionsEmbedded": "Descriptions embedded: ", + "trackedObjectsProcessed": "Tracked objects processed: " + } + }, + "downloadingModels": { + "context": "Frigate is downloading the necessary embeddings models to support the Semantic Search feature. This may take several minutes depending on the speed of your network connection.", + "setup": { + "visionModel": "Vision model", + "visionModelFeatureExtractor": "Vision model feature extractor", + "textModel": "Text model", + "textTokenizer": "Text tokenizer" + }, + "tips": { + "context": "You may want to reindex the embeddings of your tracked objects once the models are downloaded.", + "documentation": "Read the documentation" + }, + "error": "An error has occurred. Check Frigate logs." + } + }, "trackedObjectDetails": "Tracked Object Details", "type": { "details": "details", diff --git a/web/public/locales/en/views/system.json b/web/public/locales/en/views/system.json index 882b5ee05..7425e22a8 100644 --- a/web/public/locales/en/views/system.json +++ b/web/public/locales/en/views/system.json @@ -69,6 +69,7 @@ "stats": { "ffmpegHighCpuUsage": "{{camera}} has high FFMPEG CPU usage ({{ffmpegAvg}}%)", "detectHighCpuUsage": "{{camera}} has high detect CPU usage ({{detectAvg}}%)", - "healthy": "System is healthy" + "healthy": "System is healthy", + "reindexingEmbeddings": "Reindexing embeddings ({{processed}}% complete)" } } diff --git a/web/public/locales/zh-CN/common.json b/web/public/locales/zh-CN/common.json index bdd740cd5..4a9d17f45 100644 --- a/web/public/locales/zh-CN/common.json +++ b/web/public/locales/zh-CN/common.json @@ -110,6 +110,7 @@ "documentation": "文档", "live": "实时监控", "live.allCameras": "所有摄像头", + "live.cameras": "摄像头", "review": "回放", "explore": "探测", "export": "导出", diff --git a/web/public/locales/zh-CN/views/explore.json b/web/public/locales/zh-CN/views/explore.json index ff8937722..399e99dce 100644 --- a/web/public/locales/zh-CN/views/explore.json +++ b/web/public/locales/zh-CN/views/explore.json @@ -1,4 +1,32 @@ { + "exploreIsUnavailable": { + "title": "探索功能不可用", + "embeddingsReindexing": { + "context": "跟踪对象嵌入重新索引完成后,可以使用探索功能。", + "startingUp": "启动中...", + "estimatedTime": "预计剩余时间:", + "finishingShortly": "即将完成", + "step": { + "thumbnailsEmbedded": "缩略图嵌入:", + "descriptionsEmbedded": "描述嵌入:", + "trackedObjectsProcessed": "跟踪对象已处理:" + } + }, + "downloadingModels": { + "context": "Frigate正在下载支持语义搜索功能所需的嵌入模型。根据网络连接速度,这可能需要几分钟。", + "setup": { + "visionModel": "视觉模型", + "visionModelFeatureExtractor": "视觉模型特征提取器", + "textModel": "文本模型", + "textTokenizer": "文本分词器" + }, + "tips": { + "context": "模型下载完成后,您可能需要重新索引跟踪对象的嵌入。", + "documentation": "阅读文档(英文)" + }, + "error": "发生错误。请检查Frigate日志。" + } + }, "trackedObjectDetails": "探测对象详情", "type": { "details": "详情", diff --git a/web/public/locales/zh-CN/views/system.json b/web/public/locales/zh-CN/views/system.json index 04082a494..43feb2311 100644 --- a/web/public/locales/zh-CN/views/system.json +++ b/web/public/locales/zh-CN/views/system.json @@ -69,6 +69,7 @@ "stats": { "ffmpegHighCpuUsage": "{{camera}} 的 FFMPEG CPU 使用率较高({{ffmpegAvg}}%)", "detectHighCpuUsage": "{{camera}} 的 探测 CPU 使用率较高({{detectAvg}}%)", - "healthy": "系统运行正常" + "healthy": "系统运行正常", + "reindexingEmbeddings": "正在重新索引嵌入(已完成 {{processed}}%)" } } diff --git a/web/src/components/Statusbar.tsx b/web/src/components/Statusbar.tsx index 88a862e3b..2b03b750d 100644 --- a/web/src/components/Statusbar.tsx +++ b/web/src/components/Statusbar.tsx @@ -54,14 +54,19 @@ export default function Statusbar() { clearMessages("embeddings-reindex"); addMessage( "embeddings-reindex", - `Reindexing embeddings (${Math.floor((reindexState.processed_objects / reindexState.total_objects) * 100)}% complete)`, + t("stats.reindexingEmbeddings", { + processed: Math.floor( + (reindexState.processed_objects / reindexState.total_objects) * + 100, + ), + }), ); } if (reindexState.status === "completed") { clearMessages("embeddings-reindex"); } } - }, [reindexState, addMessage, clearMessages]); + }, [reindexState, addMessage, clearMessages, t]); return (