diff --git a/web/public/locales/en/views/explore.json b/web/public/locales/en/views/explore.json index 7ba43d1760..2979e37d8b 100644 --- a/web/public/locales/en/views/explore.json +++ b/web/public/locales/en/views/explore.json @@ -54,7 +54,12 @@ }, "gone": "{{label}} left", "heard": "{{label}} heard", - "external": "{{label}} detected" + "external": "{{label}} detected", + "header": { + "zones": "Zones", + "ratio": "Ratio", + "area": "Area" + } }, "annotationSettings": { "title": "Annotation Settings", diff --git a/web/src/components/card/SearchThumbnail.tsx b/web/src/components/card/SearchThumbnail.tsx index a2c5cd37f0..d17341ea23 100644 --- a/web/src/components/card/SearchThumbnail.tsx +++ b/web/src/components/card/SearchThumbnail.tsx @@ -127,7 +127,9 @@ export default function SearchThumbnail({ .filter( (item) => item !== undefined && !item.includes("-verified"), ) - .map((text) => t(text, { ns: "objects" })) + .map((text) => + t(text.replace(" ", "_").toLowerCase(), { ns: "objects" }), + ) .sort() .join(", ") .replaceAll("-verified", "")} diff --git a/web/src/components/filter/SearchFilterGroup.tsx b/web/src/components/filter/SearchFilterGroup.tsx index e6a8214c38..d818287072 100644 --- a/web/src/components/filter/SearchFilterGroup.tsx +++ b/web/src/components/filter/SearchFilterGroup.tsx @@ -248,7 +248,9 @@ function GeneralFilterButton({ } if (selectedLabels.length == 1) { - return t(selectedLabels[0], { ns: "objects" }); + return t(selectedLabels[0].replace(" ", "_").toLowerCase(), { + ns: "objects", + }); } return t("labels.count", { @@ -355,7 +357,7 @@ export function GeneralFilterContent({ {allLabels.map((item) => ( { if (isChecked) { diff --git a/web/src/components/input/InputWithTags.tsx b/web/src/components/input/InputWithTags.tsx index 13977b8a7d..c177e1a0b0 100644 --- a/web/src/components/input/InputWithTags.tsx +++ b/web/src/components/input/InputWithTags.tsx @@ -419,7 +419,9 @@ export default function InputWithTags({ ? t("button.yes", { ns: "common" }) : t("button.no", { ns: "common" }); } else if (filterType === "labels") { - return t(filterValues as string, { ns: "objects" }); + return t((filterValues as string).replace(" ", "_").toLowerCase(), { + ns: "objects", + }); } else if (filterType === "search_type") { return t("filter.searchType." + (filterValues as string)); } else { @@ -806,7 +808,11 @@ export default function InputWithTags({ className="inline-flex items-center whitespace-nowrap rounded-full bg-green-100 px-2 py-0.5 text-sm capitalize text-green-800" > {t("filter.label." + filterType)}:{" "} - {value.replaceAll("_", " ")} + {filterType === "labels" + ? t(value.replace(" ", "_").toLowerCase(), { + ns: "objects", + }) + : value.replaceAll("_", " ")} diff --git a/web/src/components/settings/ObjectMaskEditPane.tsx b/web/src/components/settings/ObjectMaskEditPane.tsx index 9a3c3295f5..3046752bdc 100644 --- a/web/src/components/settings/ObjectMaskEditPane.tsx +++ b/web/src/components/settings/ObjectMaskEditPane.tsx @@ -448,7 +448,7 @@ export function ZoneObjectSelector({ camera }: ZoneObjectSelectorProps) { {allLabels.map((item) => ( - {t(item, { ns: "objects" })} + {t(item.replace(" ", "_").toLowerCase(), { ns: "objects" })} ))} diff --git a/web/src/components/settings/ZoneEditPane.tsx b/web/src/components/settings/ZoneEditPane.tsx index c6eefaf6d5..5907afd24c 100644 --- a/web/src/components/settings/ZoneEditPane.tsx +++ b/web/src/components/settings/ZoneEditPane.tsx @@ -936,7 +936,7 @@ export function ZoneObjectSelector({ className="w-full cursor-pointer capitalize text-primary" htmlFor={item} > - {t(item, { ns: "objects" })} + {t(item.replace(" ", "_").toLowerCase(), { ns: "objects" })}
- {t(objectType, { ns: "objects" })} + {t(objectType.replace(" ", "_").toLowerCase(), { ns: "objects" })} {searchResults && ( {t("trackedObjectsCount", { diff --git a/web/src/views/settings/CameraSettingsView.tsx b/web/src/views/settings/CameraSettingsView.tsx index 74cd212b85..f78851d5e5 100644 --- a/web/src/views/settings/CameraSettingsView.tsx +++ b/web/src/views/settings/CameraSettingsView.tsx @@ -79,7 +79,9 @@ export default function CameraSettingsView({ const alertsLabels = useMemo(() => { return cameraConfig?.review.alerts.labels ? cameraConfig.review.alerts.labels - .map((label) => t(label, { ns: "objects" })) + .map((label) => + t(label.replace(" ", "_").toLowerCase(), { ns: "objects" }), + ) .join(", ") : ""; }, [cameraConfig, t]); @@ -87,7 +89,9 @@ export default function CameraSettingsView({ const detectionsLabels = useMemo(() => { return cameraConfig?.review.detections.labels ? cameraConfig.review.detections.labels - .map((label) => t(label, { ns: "objects" })) + .map((label) => + t(label.replace(" ", "_").toLowerCase(), { ns: "objects" }), + ) .join(", ") : ""; }, [cameraConfig, t]); diff --git a/web/src/views/settings/ObjectSettingsView.tsx b/web/src/views/settings/ObjectSettingsView.tsx index 07045dc514..f06d5f6a4a 100644 --- a/web/src/views/settings/ObjectSettingsView.tsx +++ b/web/src/views/settings/ObjectSettingsView.tsx @@ -366,7 +366,7 @@ function ObjectList({ cameraConfig, objects }: ObjectListProps) { {getIconForLabel(obj.label, "size-5 text-white")}
- {capitalizeFirstLetter(obj.label.replaceAll("_", " "))} + {t(obj.label, { ns: "objects" })}