Extend i18n (#17969)

* Add i18n support for camera metrics labels

* Fix missing dependency in useMemo hooks
This commit is contained in:
Sotski Eugene 2025-04-30 15:11:45 +03:00 committed by GitHub
parent a9f139e062
commit 2d99bba427
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 43 additions and 13 deletions

View File

@ -129,7 +129,16 @@
"detect": "detect", "detect": "detect",
"skipped": "skipped", "skipped": "skipped",
"ffmpeg": "ffmpeg", "ffmpeg": "ffmpeg",
"capture": "capture" "capture": "capture",
"overallFramesPerSecond": "overall frames per second",
"overallDetectionsPerSecond": "overall detections per second",
"overallSkippedDetectionsPerSecond": "overall skipped detections per second",
"cameraFfmpeg": "{{camName}} ffmpeg",
"cameraCapture": "{{camName}} capture",
"cameraDetect": "{{camName}} detect",
"cameraFramesPerSecond": "{{camName}} frames per second",
"cameraDetectionsPerSecond": "{{camName}} detections per second",
"cameraSkippedDetectionsPerSecond": "{{camName}} skipped detections per second"
}, },
"toast": { "toast": {
"success": { "success": {

View File

@ -79,10 +79,16 @@ export default function CameraMetrics({
[key: string]: { name: string; data: { x: number; y: number }[] }; [key: string]: { name: string; data: { x: number; y: number }[] };
} = {}; } = {};
series["overall_fps"] = { name: "overall frames per second", data: [] }; series["overall_fps"] = {
series["overall_dps"] = { name: "overall detections per second", data: [] }; name: t("cameras.label.overallFramesPerSecond"),
data: [],
};
series["overall_dps"] = {
name: t("cameras.label.overallDetectionsPerSecond"),
data: [],
};
series["overall_skipped_dps"] = { series["overall_skipped_dps"] = {
name: "overall skipped detections per second", name: t("cameras.label.overallSkippedDetectionsPerSecond"),
data: [], data: [],
}; };
@ -117,7 +123,7 @@ export default function CameraMetrics({
}); });
}); });
return Object.values(series); return Object.values(series);
}, [statsHistory]); }, [statsHistory, t]);
const cameraCpuSeries = useMemo(() => { const cameraCpuSeries = useMemo(() => {
if (!statsHistory || statsHistory.length == 0) { if (!statsHistory || statsHistory.length == 0) {
@ -143,9 +149,18 @@ export default function CameraMetrics({
if (!(key in series)) { if (!(key in series)) {
const camName = key.replaceAll("_", " "); const camName = key.replaceAll("_", " ");
series[key] = {}; series[key] = {};
series[key]["ffmpeg"] = { name: `${camName} ffmpeg`, data: [] }; series[key]["ffmpeg"] = {
series[key]["capture"] = { name: `${camName} capture`, data: [] }; name: t("cameras.label.cameraFfmpeg", { camName: camName }),
series[key]["detect"] = { name: `${camName} detect`, data: [] }; data: [],
};
series[key]["capture"] = {
name: t("cameras.label.cameraCapture", { camName: camName }),
data: [],
};
series[key]["detect"] = {
name: t("cameras.label.cameraCapture", { camName: camName }),
data: [],
};
} }
series[key]["ffmpeg"].data.push({ series[key]["ffmpeg"].data.push({
@ -163,7 +178,7 @@ export default function CameraMetrics({
}); });
}); });
return series; return series;
}, [config, statsHistory]); }, [config, statsHistory, t]);
const cameraFpsSeries = useMemo(() => { const cameraFpsSeries = useMemo(() => {
if (!statsHistory) { if (!statsHistory) {
@ -186,15 +201,21 @@ export default function CameraMetrics({
const camName = key.replaceAll("_", " "); const camName = key.replaceAll("_", " ");
series[key] = {}; series[key] = {};
series[key]["fps"] = { series[key]["fps"] = {
name: `${camName} frames per second`, name: t("cameras.label.cameraFramesPerSecond", {
camName: camName,
}),
data: [], data: [],
}; };
series[key]["det"] = { series[key]["det"] = {
name: `${camName} detections per second`, name: t("cameras.label.cameraDetectionsPerSecond", {
camName: camName,
}),
data: [], data: [],
}; };
series[key]["skip"] = { series[key]["skip"] = {
name: `${camName} skipped detections per second`, name: t("cameras.label.cameraSkippedDetectionsPerSecond", {
camName: camName,
}),
data: [], data: [],
}; };
} }
@ -214,7 +235,7 @@ export default function CameraMetrics({
}); });
}); });
return series; return series;
}, [statsHistory]); }, [statsHistory, t]);
useEffect(() => { useEffect(() => {
if (!showCameraInfoDialog) { if (!showCameraInfoDialog) {