mirror of
https://github.com/blakeblackshear/frigate.git
synced 2025-07-30 13:48:07 +02:00
Extend i18n (#17969)
* Add i18n support for camera metrics labels * Fix missing dependency in useMemo hooks
This commit is contained in:
parent
a9f139e062
commit
2d99bba427
@ -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": {
|
||||||
|
@ -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) {
|
||||||
|
Loading…
Reference in New Issue
Block a user