From 06e934a36760a6a86ef60e99ed6104dd84c0544f 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 22:42:52 +0900 Subject: [PATCH] feat(ui): i18n for router fallbacks settings --- .../Fallbacks/FallbackGroupConfig.tsx | 31 ++++++--- .../Fallbacks/FallbackSelectionForm.tsx | 12 ++-- .../RouterSettings/Fallbacks/Fallbacks.tsx | 67 ++++++++++--------- ui/litellm-dashboard/src/locales/en.json | 35 ++++++++++ ui/litellm-dashboard/src/locales/zh-CN.json | 35 ++++++++++ 5 files changed, 133 insertions(+), 47 deletions(-) diff --git a/ui/litellm-dashboard/src/components/Settings/RouterSettings/Fallbacks/FallbackGroupConfig.tsx b/ui/litellm-dashboard/src/components/Settings/RouterSettings/Fallbacks/FallbackGroupConfig.tsx index 2372f626a5c..5acb2d48d53 100644 --- a/ui/litellm-dashboard/src/components/Settings/RouterSettings/Fallbacks/FallbackGroupConfig.tsx +++ b/ui/litellm-dashboard/src/components/Settings/RouterSettings/Fallbacks/FallbackGroupConfig.tsx @@ -6,6 +6,7 @@ import { Select, Tooltip } from "antd"; import { AlertCircle, ArrowDown, X } from "lucide-react"; import React from "react"; +import { useTranslation } from "react-i18next"; export interface FallbackGroup { id: string; @@ -21,6 +22,7 @@ interface FallbackGroupConfigProps { } export function FallbackGroupConfig({ group, onChange, availableModels, maxFallbacks }: FallbackGroupConfigProps) { + const { t } = useTranslation(); // Filter available options for fallbacks (exclude primary only, allow already selected to be shown for deselection) const availableFallbackOptions = availableModels.filter((m) => m !== group.primaryModel); @@ -62,12 +64,12 @@ export function FallbackGroupConfig({ group, onChange, availableModels, maxFallb {/* Primary Model Section */}