From 38b13a0cf1db2f5920461fefa92e75d8b651ebae Mon Sep 17 00:00:00 2001
From: ZhaiSoul <842607283@qq.com>
Date: Sun, 9 Nov 2025 09:17:59 +0000
Subject: [PATCH 1/4] fix: fix the missing i18n key
---
web/public/locales/en/common.json | 3 ++-
web/src/views/recording/RecordingView.tsx | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/web/public/locales/en/common.json b/web/public/locales/en/common.json
index 87f32a251..e0d57cbbf 100644
--- a/web/public/locales/en/common.json
+++ b/web/public/locales/en/common.json
@@ -144,7 +144,8 @@
"unselect": "Unselect",
"export": "Export",
"deleteNow": "Delete Now",
- "next": "Next"
+ "next": "Next",
+ "continue": "Continue"
},
"menu": {
"system": "System",
diff --git a/web/src/views/recording/RecordingView.tsx b/web/src/views/recording/RecordingView.tsx
index a934e1cb9..5b4d5328c 100644
--- a/web/src/views/recording/RecordingView.tsx
+++ b/web/src/views/recording/RecordingView.tsx
@@ -649,7 +649,7 @@ export function RecordingView({
value="detail"
aria-label="Detail Stream"
>
-
Detail
+ {t("detail.label")}
) : (
From 6214d5232af650872417d2e4aa97170cd2b532cc Mon Sep 17 00:00:00 2001
From: ZhaiSoul <842607283@qq.com>
Date: Sun, 9 Nov 2025 09:19:18 +0000
Subject: [PATCH 2/4] fix: fix trackedObject i18n keys count variable
---
web/src/components/timeline/DetailStream.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/web/src/components/timeline/DetailStream.tsx b/web/src/components/timeline/DetailStream.tsx
index 8e80506bd..6127ab832 100644
--- a/web/src/components/timeline/DetailStream.tsx
+++ b/web/src/components/timeline/DetailStream.tsx
@@ -349,7 +349,7 @@ function ReviewGroup({
? fetchedEvents.length
: (review.data.objects ?? []).length;
- return `${objectCount} ${t("detail.trackedObject", { count: objectCount })}`;
+ return `${t("detail.trackedObject", { count: objectCount })}`;
}, [review, t, fetchedEvents]);
const reviewDuration = useMemo(
From 1c108bd9101e71c6a3924edcde0d8655165f1041 Mon Sep 17 00:00:00 2001
From: ZhaiSoul <842607283@qq.com>
Date: Sun, 9 Nov 2025 09:19:51 +0000
Subject: [PATCH 3/4] fix: fix some pages audio label missing i18n
---
.../components/filter/ReviewFilterGroup.tsx | 23 ++++++++++++++-
web/src/components/input/InputWithTags.tsx | 29 +++++++++++++++++--
web/src/components/timeline/DetailStream.tsx | 25 ++++++++++++++--
3 files changed, 72 insertions(+), 5 deletions(-)
diff --git a/web/src/components/filter/ReviewFilterGroup.tsx b/web/src/components/filter/ReviewFilterGroup.tsx
index d6df53987..76274ec3f 100644
--- a/web/src/components/filter/ReviewFilterGroup.tsx
+++ b/web/src/components/filter/ReviewFilterGroup.tsx
@@ -454,6 +454,24 @@ export function GeneralFilterContent({
onClose,
}: GeneralFilterContentProps) {
const { t } = useTranslation(["components/filter", "views/events"]);
+ const { data: config } = useSWR("config", {
+ revalidateOnFocus: false,
+ });
+ const allAudioListenLabels = useMemo(() => {
+ if (!config) {
+ return [];
+ }
+
+ const labels = new Set();
+ Object.values(config.cameras).forEach((camera) => {
+ if (camera?.audio?.enabled) {
+ camera.audio.listen.forEach((label) => {
+ labels.add(label);
+ });
+ }
+ });
+ return [...labels].sort();
+ }, [config]);
return (
<>
@@ -504,7 +522,10 @@ 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 199209c7c..d1bd4da40 100755
--- a/web/src/components/input/InputWithTags.tsx
+++ b/web/src/components/input/InputWithTags.tsx
@@ -81,6 +81,22 @@ export default function InputWithTags({
revalidateOnFocus: false,
});
+ const allAudioListenLabels = useMemo(() => {
+ if (!config) {
+ return [];
+ }
+
+ const labels = new Set();
+ Object.values(config.cameras).forEach((camera) => {
+ if (camera?.audio?.enabled) {
+ camera.audio.listen.forEach((label) => {
+ labels.add(label);
+ });
+ }
+ });
+ return [...labels].sort();
+ }, [config]);
+
const [inputValue, setInputValue] = useState(search || "");
const [currentFilterType, setCurrentFilterType] = useState(
null,
@@ -421,7 +437,11 @@ export default function InputWithTags({
? t("button.yes", { ns: "common" })
: t("button.no", { ns: "common" });
} else if (filterType === "labels") {
- return getTranslatedLabel(String(filterValues));
+ const value = String(filterValues);
+ return getTranslatedLabel(
+ value,
+ allAudioListenLabels.includes(value) ? "audio" : "object",
+ );
} else if (filterType === "search_type") {
return t("filter.searchType." + String(filterValues));
} else {
@@ -828,7 +848,12 @@ export default function InputWithTags({
>
{t("filter.label." + filterType)}:{" "}
{filterType === "labels" ? (
- getTranslatedLabel(value)
+ getTranslatedLabel(
+ value,
+ allAudioListenLabels.includes(value)
+ ? "audio"
+ : "object",
+ )
) : filterType === "cameras" ? (
) : filterType === "zones" ? (
diff --git a/web/src/components/timeline/DetailStream.tsx b/web/src/components/timeline/DetailStream.tsx
index 6127ab832..20bac9116 100644
--- a/web/src/components/timeline/DetailStream.tsx
+++ b/web/src/components/timeline/DetailStream.tsx
@@ -478,7 +478,7 @@ function ReviewGroup({
{getIconForLabel(audioLabel, "size-3 text-white")}
- {getTranslatedLabel(audioLabel)}
+ {getTranslatedLabel(audioLabel, "audio")}
))}
@@ -513,7 +513,28 @@ function EventList({
const isSelected = selectedObjectIds.includes(event.id);
- const label = event.sub_label || getTranslatedLabel(event.label);
+ const allAudioListenLabels = useMemo(() => {
+ if (!config) {
+ return [];
+ }
+
+ const labels = new Set();
+ Object.values(config.cameras).forEach((camera) => {
+ if (camera?.audio?.enabled) {
+ camera.audio.listen.forEach((label) => {
+ labels.add(label);
+ });
+ }
+ });
+ return [...labels].sort();
+ }, [config]);
+
+ const label =
+ event.sub_label ||
+ getTranslatedLabel(
+ event.label,
+ allAudioListenLabels.includes(event.label) ? "audio" : "object",
+ );
const handleObjectSelect = (event: Event | undefined) => {
if (event) {
From bae32f8e40bbbd2667fd5f6947adcf82d4d195d4 Mon Sep 17 00:00:00 2001
From: ZhaiSoul <842607283@qq.com>
Date: Sun, 9 Nov 2025 09:24:48 +0000
Subject: [PATCH 4/4] fix: add 6214d52 missing variable
---
web/public/locales/en/views/events.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/web/public/locales/en/views/events.json b/web/public/locales/en/views/events.json
index 6e242c1e3..d3cf78658 100644
--- a/web/public/locales/en/views/events.json
+++ b/web/public/locales/en/views/events.json
@@ -24,8 +24,8 @@
"label": "Detail",
"noDataFound": "No detail data to review",
"aria": "Toggle detail view",
- "trackedObject_one": "object",
- "trackedObject_other": "objects",
+ "trackedObject_one": "{{count}} object",
+ "trackedObject_other": "{{count}} objects",
"noObjectDetailData": "No object detail data available.",
"settings": "Detail View Settings",
"alwaysExpandActive": {