From 47d422c745b3b24a1125a1a89ab5865978a9b924 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B9=E9=9B=AA?= <2b@yorha.xyz> Date: Thu, 11 Jun 2026 08:39:50 +0900 Subject: [PATCH] fix(ui): i18n audit repair round 3 --- .../cost_tracking_settings.tsx | 22 ++++++++---- .../components/bulk_create_users_button.tsx | 5 ++- .../components/mcp_tools/EnvVarsSection.tsx | 5 ++- .../components/mcp_tools/ToolTestPanel.tsx | 2 +- .../components/model_group_alias_settings.tsx | 6 ++-- .../src/components/navbar.tsx | 4 +-- .../components/playground/chat_ui/ChatUI.tsx | 4 ++- .../components/team/TeamVirtualKeysTable.tsx | 16 ++++++--- .../src/components/view_logs/columns.tsx | 4 +-- ui/litellm-dashboard/src/locales/en.json | 35 ++++++++++++++----- ui/litellm-dashboard/src/locales/zh-CN.json | 35 ++++++++++++++----- 11 files changed, 97 insertions(+), 41 deletions(-) diff --git a/ui/litellm-dashboard/src/components/CostTrackingSettings/cost_tracking_settings.tsx b/ui/litellm-dashboard/src/components/CostTrackingSettings/cost_tracking_settings.tsx index fdf69c8427b..9e4f96c36d0 100644 --- a/ui/litellm-dashboard/src/components/CostTrackingSettings/cost_tracking_settings.tsx +++ b/ui/litellm-dashboard/src/components/CostTrackingSettings/cost_tracking_settings.tsx @@ -1,4 +1,4 @@ -import React, { useState, useEffect } from "react"; +import React, { useState, useEffect, useMemo } from "react"; import { Title, Text, @@ -27,13 +27,21 @@ import { useDiscountConfig } from "./use_discount_config"; import { useMarginConfig } from "./use_margin_config"; import { fetchAvailableModels, ModelGroup } from "../playground/llm_calls/fetch_models"; -const DOCS_LINKS = [ - { label: "Custom pricing for models", href: "https://docs.litellm.ai/docs/proxy/custom_pricing" }, - { label: "Spend tracking", href: "https://docs.litellm.ai/docs/proxy/cost_tracking" }, -]; - const CostTrackingSettings: React.FC = ({ userID, userRole, accessToken }) => { const { t } = useTranslation(); + const docsLinks = useMemo( + () => [ + { + label: t("costTracking.costTrackingSettings.docsLinkCustomPricing"), + href: "https://docs.litellm.ai/docs/proxy/custom_pricing", + }, + { + label: t("costTracking.costTrackingSettings.docsLinkSpendTracking"), + href: "https://docs.litellm.ai/docs/proxy/cost_tracking", + }, + ], + [t], + ); const [selectedProvider, setSelectedProvider] = useState(undefined); const [newDiscount, setNewDiscount] = useState(""); const [isFetching, setIsFetching] = useState(true); @@ -168,7 +176,7 @@ const CostTrackingSettings: React.FC = ({ userID, use
{t("costTracking.costTrackingSettings.pageTitle")} - +
{t("costTracking.costTrackingSettings.pageSubtitle")}
diff --git a/ui/litellm-dashboard/src/components/bulk_create_users_button.tsx b/ui/litellm-dashboard/src/components/bulk_create_users_button.tsx index 4105433ae09..7bc7042497f 100644 --- a/ui/litellm-dashboard/src/components/bulk_create_users_button.tsx +++ b/ui/litellm-dashboard/src/components/bulk_create_users_button.tsx @@ -646,7 +646,10 @@ const BulkCreateUsersButton: React.FC = ({ {selectedFile.name} - {(selectedFile.size / 1024).toFixed(1)} KB • {new Date().toLocaleDateString()} + {t("bulkCreateUsers.fileSizeKb", { + size: (selectedFile.size / 1024).toFixed(1), + date: new Date().toLocaleDateString(), + })} diff --git a/ui/litellm-dashboard/src/components/mcp_tools/EnvVarsSection.tsx b/ui/litellm-dashboard/src/components/mcp_tools/EnvVarsSection.tsx index 6683168358c..c0607e3cedc 100644 --- a/ui/litellm-dashboard/src/components/mcp_tools/EnvVarsSection.tsx +++ b/ui/litellm-dashboard/src/components/mcp_tools/EnvVarsSection.tsx @@ -77,7 +77,10 @@ const EnvVarsSection: React.FC = () => { }, ]} > - +
diff --git a/ui/litellm-dashboard/src/components/mcp_tools/ToolTestPanel.tsx b/ui/litellm-dashboard/src/components/mcp_tools/ToolTestPanel.tsx index 0f39d49ce6a..3f6d7eab4eb 100644 --- a/ui/litellm-dashboard/src/components/mcp_tools/ToolTestPanel.tsx +++ b/ui/litellm-dashboard/src/components/mcp_tools/ToolTestPanel.tsx @@ -806,7 +806,7 @@ export function ToolTestPanel({ {/* eslint-disable-next-line @next/next/no-img-element */} Tool result
diff --git a/ui/litellm-dashboard/src/components/model_group_alias_settings.tsx b/ui/litellm-dashboard/src/components/model_group_alias_settings.tsx index 3dee5348334..d0cf044111a 100644 --- a/ui/litellm-dashboard/src/components/model_group_alias_settings.tsx +++ b/ui/litellm-dashboard/src/components/model_group_alias_settings.tsx @@ -182,7 +182,7 @@ const ModelGroupAliasSettings: React.FC = ({ aliasName: e.target.value, }) } - placeholder="e.g., gpt-4o" + placeholder={t("modelGroupAliasSettings.aliasNamePlaceholder")} className="w-full px-3 py-2 border border-gray-300 rounded-md text-sm" /> @@ -199,7 +199,7 @@ const ModelGroupAliasSettings: React.FC = ({ targetModelGroup: e.target.value, }) } - placeholder="e.g., gpt-4o-mini-openai" + placeholder={t("modelGroupAliasSettings.targetModelGroupPlaceholder")} className="w-full px-3 py-2 border border-gray-300 rounded-md text-sm" /> @@ -325,7 +325,7 @@ const ModelGroupAliasSettings: React.FC = ({ {Object.keys(aliasObject).length === 0 ? (
-     # No aliases configured yet +     {t("modelGroupAliasSettings.noAliasesConfigured")}
) : ( Object.entries(aliasObject).map(([key, value]) => ( diff --git a/ui/litellm-dashboard/src/components/navbar.tsx b/ui/litellm-dashboard/src/components/navbar.tsx index b2c03f9d9a4..e8895c95cc6 100644 --- a/ui/litellm-dashboard/src/components/navbar.tsx +++ b/ui/litellm-dashboard/src/components/navbar.tsx @@ -104,7 +104,7 @@ const Navbar: React.FC = ({
LiteLLM Brand
@@ -144,7 +144,7 @@ const Navbar: React.FC = ({ )}