From 95af75657c1877a8e9c75f10b483ad85c7deafc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B9=E9=9B=AA?= <2b@yorha.xyz> Date: Wed, 10 Jun 2026 17:24:46 +0900 Subject: [PATCH] feat(ui): i18n for view_logs constants and filter options --- .../components/view_logs/LogsTableToolbar.tsx | 9 +-- .../src/components/view_logs/constants.ts | 40 +++++++------- .../components/view_logs/filter_options.ts | 55 ++++++++++--------- .../src/components/view_logs/index.tsx | 16 +++--- ui/litellm-dashboard/src/locales/en.json | 41 ++++++++++++++ ui/litellm-dashboard/src/locales/zh-CN.json | 41 ++++++++++++++ 6 files changed, 147 insertions(+), 55 deletions(-) diff --git a/ui/litellm-dashboard/src/components/view_logs/LogsTableToolbar.tsx b/ui/litellm-dashboard/src/components/view_logs/LogsTableToolbar.tsx index a8a0183a368..f77643c14b8 100644 --- a/ui/litellm-dashboard/src/components/view_logs/LogsTableToolbar.tsx +++ b/ui/litellm-dashboard/src/components/view_logs/LogsTableToolbar.tsx @@ -1,9 +1,9 @@ import moment from "moment"; -import { useEffect, useRef, useState } from "react"; +import { useEffect, useMemo, useRef, useState } from "react"; import { SyncOutlined } from "@ant-design/icons"; import { Button, Switch } from "antd"; import { useTranslation } from "react-i18next"; -import { QUICK_SELECT_OPTIONS } from "./constants"; +import { getQuickSelectOptions } from "./constants"; import { getTimeRangeDisplay } from "./logs_utils"; import type { PaginatedResponse } from "./log_filter_logic"; @@ -51,6 +51,7 @@ export function LogsTableToolbar({ filteredLogs, }: LogsTableToolbarProps) { const { t } = useTranslation(); + const quickSelectOptions = useMemo(() => getQuickSelectOptions(t), [t]); const [quickSelectOpen, setQuickSelectOpen] = useState(false); const quickSelectRef = useRef(null); @@ -64,7 +65,7 @@ export function LogsTableToolbar({ return () => document.removeEventListener("mousedown", handleClickOutside); }, []); - const selectedOption = QUICK_SELECT_OPTIONS.find( + const selectedOption = quickSelectOptions.find( (option) => option.value === selectedTimeInterval.value && option.unit === selectedTimeInterval.unit, ); const displayLabel = isCustomDate ? getTimeRangeDisplay(isCustomDate, startTime, endTime) : selectedOption?.label; @@ -117,7 +118,7 @@ export function LogsTableToolbar({ {quickSelectOpen && (
- {QUICK_SELECT_OPTIONS.map((option) => ( + {quickSelectOptions.map((option) => (