diff --git a/web/public/locales/en/views/events.json b/web/public/locales/en/views/events.json index 0e8fad363..732533ef2 100644 --- a/web/public/locales/en/views/events.json +++ b/web/public/locales/en/views/events.json @@ -20,7 +20,10 @@ }, "detail": { "noDataFound": "No detail data to review", - "aria": "Toggle detail view" + "aria": "Toggle detail view", + "trackedObject_one": "tracked object", + "trackedObject_other": "tracked objects", + "noObjectDetailData": "No object detail data available." }, "objectTrack": { "trackedPoint": "Tracked point", diff --git a/web/src/components/timeline/DetailStream.tsx b/web/src/components/timeline/DetailStream.tsx index d46733060..96ee3d595 100644 --- a/web/src/components/timeline/DetailStream.tsx +++ b/web/src/components/timeline/DetailStream.tsx @@ -255,6 +255,10 @@ function ReviewGroup({ if (iconLabels.length >= 5) break; } } + + const objectCount = fetchedEvents + ? fetchedEvents.length + : (review.data.objects ?? []).length; return (
{displayTime}
- {fetchedEvents - ? fetchedEvents.length - : (review.data.objects ?? []).length}{" "} - tracked objects + {objectCount} {t("detail.trackedObject", { count: objectCount })}
@@ -508,6 +509,7 @@ function ObjectTimeline({ onSeek: (ts: number) => void; effectiveTime?: number; }) { + const { t } = useTranslation("views/events"); const { data: timeline, isValidating } = useSWR([ "timeline", { @@ -522,7 +524,7 @@ function ObjectTimeline({ if (!timeline || timeline.length === 0) { return (
- No object detail data available. + {t("detail.noObjectDetailData")}
); }