-
Pass Through Endpoint Settings
+
{t("passThroughInfo.settingsTitle")}
{!isEditing && (
<>
-
setIsEditing(true)}>Edit Settings
+
setIsEditing(true)}>
+ {t("passThroughInfo.editSettings")}
+
- Delete Endpoint
+ {t("passThroughInfo.deleteEndpoint")}
>
)}
@@ -303,14 +321,14 @@ const PassThroughInfoView: React.FC
= ({
layout="vertical"
>
-
+
= ({
-
+
-
+
@@ -368,44 +390,46 @@ const PassThroughInfoView: React.FC = ({
-
- Save Changes
+
+ {t("passThroughInfo.saveChanges")}
) : (
-
Path
+
{t("passThroughInfo.labelPath")}
{endpointData.path}
-
Target URL
+
{t("passThroughInfo.formTargetUrl")}
{endpointData.target}
- Include Subpath
+ {t("passThroughInfo.formIncludeSubpath")}
- {endpointData.include_subpath ? "Yes" : "No"}
+ {endpointData.include_subpath ? t("common.yes") : t("common.no")}
{endpointData.cost_per_request !== undefined && (
-
Cost per Request
+
{t("passThroughInfo.formCostPerRequest")}
${endpointData.cost_per_request}
)}
- Authentication Required
- {endpointData.auth ? "Yes" : "No"}
+ {t("passThroughInfo.authenticationRequired")}
+
+ {endpointData.auth ? t("common.yes") : t("common.no")}
+
-
Headers
+
{t("passThroughInfo.labelHeaders")}
{endpointData.headers && Object.keys(endpointData.headers).length > 0 ? (
) : (
-
No headers configured
+
{t("passThroughInfo.noHeadersConfigured")}
)}
diff --git a/ui/litellm-dashboard/src/locales/en.json b/ui/litellm-dashboard/src/locales/en.json
index 0095e87a1d7..a75dd93f461 100644
--- a/ui/litellm-dashboard/src/locales/en.json
+++ b/ui/litellm-dashboard/src/locales/en.json
@@ -1466,5 +1466,112 @@
"createdAt": "Created At",
"updatedAt": "Updated At",
"comingSoon": "Coming soon"
+ },
+ "objectPermissionsView": {
+ "title": "Object Permissions",
+ "subtitle": "Access control for Vector Stores and MCP Servers",
+ "searchToolsTitle": "Search tools",
+ "searchToolsNoRestriction": "No restriction — all configured search tools are allowed for this team."
+ },
+ "onboardingLink": {
+ "invitationLinkTitle": "Invitation Link",
+ "resetPasswordLinkTitle": "Reset Password Link",
+ "invitationLinkDesc": "Copy and send the generated link to onboard this user to the proxy.",
+ "resetPasswordLinkDesc": "Copy and send the generated link to the user to reset their password.",
+ "userId": "User ID",
+ "copyInvitationLink": "Copy invitation link",
+ "copyPasswordResetLink": "Copy password reset link"
+ },
+ "organizations": {
+ "enterpriseFeature": "This is a LiteLLM Enterprise feature, and requires a valid key to use. Get a trial key
here.",
+ "createNewOrg": "+ Create New Organization",
+ "tabYourOrgs": "Your Organizations",
+ "lastRefreshed": "Last Refreshed: {{time}}",
+ "clickOrgIdHint": "Click on \"Organization ID\" to view organization details.",
+ "colOrgId": "Organization ID",
+ "colOrgName": "Organization Name",
+ "colSpend": "Spend (USD)",
+ "colBudget": "Budget (USD)",
+ "colModels": "Models",
+ "colTpmRpmLimits": "TPM / RPM Limits",
+ "colInfo": "Info",
+ "notAvailable": "N/A",
+ "noLimit": "No limit",
+ "allProxyModels": "All Proxy Models",
+ "moreModels_one": "+{{count}} more model",
+ "moreModels_other": "+{{count}} more models",
+ "tpmLabel": "TPM",
+ "rpmLabel": "RPM",
+ "unlimited": "Unlimited",
+ "memberCount_one": "{{count}} Member",
+ "memberCount_other": "{{count}} Members",
+ "editOrgTooltip": "Edit organization",
+ "deleteOrgTooltip": "Delete organization",
+ "createModalTitle": "Create Organization",
+ "formOrgName": "Organization Name",
+ "formOrgNameRequired": "Please input an organization name",
+ "formModels": "Models",
+ "formMaxBudget": "Max Budget (USD)",
+ "formResetBudget": "Reset Budget",
+ "formTpmLimit": "Tokens per minute Limit (TPM)",
+ "formRpmLimit": "Requests per minute Limit (RPM)",
+ "formAllowedVectorStores": "Allowed Vector Stores",
+ "formAllowedVectorStoresTooltip": "Select which vector stores this organization can access by default. Leave empty for access to all vector stores",
+ "formAllowedVectorStoresHelp": "Select vector stores this organization can access. Leave empty for access to all vector stores",
+ "formAllowedVectorStoresPlaceholder": "Select vector stores (optional)",
+ "formAllowedMcpServers": "Allowed MCP Servers",
+ "formAllowedMcpServersTooltip": "Select which MCP servers and access groups this organization can access by default.",
+ "formAllowedMcpServersHelp": "Select MCP servers and access groups this organization can access.",
+ "formAllowedMcpServersPlaceholder": "Select MCP servers and access groups (optional)",
+ "formMetadata": "Metadata",
+ "deleteModalTitle": "Delete Organization?",
+ "deleteModalMessage": "Are you sure you want to delete this organization? This action cannot be undone.",
+ "deleteModalResourceTitle": "Organization Information",
+ "deleteSuccess": "Organization deleted successfully",
+ "createSuccess": "Organization created successfully"
+ },
+ "passThroughInfo": {
+ "notFound": "Pass through endpoint not found",
+ "backButton": "← Back",
+ "pageTitle": "Pass Through Endpoint: {{path}}",
+ "tabOverview": "Overview",
+ "labelPath": "Path",
+ "labelTarget": "Target",
+ "labelConfiguration": "Configuration",
+ "includeSubpath": "Include Subpath",
+ "exactPath": "Exact Path",
+ "authRequired": "Auth Required",
+ "noAuth": "No Auth",
+ "httpMethods": "HTTP Methods:",
+ "allHttpMethodsSupported": "All HTTP methods supported",
+ "costPerRequest": "Cost per request: ${{cost}}",
+ "labelHeaders": "Headers",
+ "headersConfigured_one": "{{count}} header configured",
+ "headersConfigured_other": "{{count}} headers configured",
+ "labelGuardrails": "Guardrails",
+ "guardrailsConfigured_one": "{{count}} guardrail configured",
+ "guardrailsConfigured_other": "{{count}} guardrails configured",
+ "requestFields": "Request fields: {{fields}}",
+ "responseFields": "Response fields: {{fields}}",
+ "usesEntirePayload": "Uses entire payload",
+ "settingsTitle": "Pass Through Endpoint Settings",
+ "editSettings": "Edit Settings",
+ "deleteEndpoint": "Delete Endpoint",
+ "formTargetUrl": "Target URL",
+ "formTargetUrlRequired": "Please input a target URL",
+ "formHeadersJson": "Headers (JSON)",
+ "formHttpMethods": "HTTP Methods (Optional)",
+ "allHttpMethodsDefault": "All HTTP methods supported (default)",
+ "selectedMethodsDesc": "Only {{methods}} requests will be routed to this endpoint",
+ "selectMethodsPlaceholder": "Select methods (leave empty for all)",
+ "formIncludeSubpath": "Include Subpath",
+ "formCostPerRequest": "Cost per Request",
+ "saveChanges": "Save Changes",
+ "authenticationRequired": "Authentication Required",
+ "noHeadersConfigured": "No headers configured",
+ "invalidJsonHeaders": "Invalid JSON format for headers",
+ "updateFailed": "Failed to update pass through endpoint",
+ "deleteSuccess": "Pass through endpoint deleted successfully",
+ "deleteFailed": "Failed to delete pass through endpoint"
}
}
diff --git a/ui/litellm-dashboard/src/locales/zh-CN.json b/ui/litellm-dashboard/src/locales/zh-CN.json
index cbfe08966ca..5a7b6e35adf 100644
--- a/ui/litellm-dashboard/src/locales/zh-CN.json
+++ b/ui/litellm-dashboard/src/locales/zh-CN.json
@@ -1466,5 +1466,112 @@
"createdAt": "创建时间",
"updatedAt": "更新时间",
"comingSoon": "即将推出"
+ },
+ "objectPermissionsView": {
+ "title": "对象权限",
+ "subtitle": "向量存储与 MCP 服务器的访问控制",
+ "searchToolsTitle": "搜索工具",
+ "searchToolsNoRestriction": "无限制 — 该团队可使用所有已配置的搜索工具。"
+ },
+ "onboardingLink": {
+ "invitationLinkTitle": "邀请链接",
+ "resetPasswordLinkTitle": "重置密码链接",
+ "invitationLinkDesc": "复制并将生成的链接发送给该用户,以便将其接入代理。",
+ "resetPasswordLinkDesc": "复制并将生成的链接发送给该用户,以便其重置密码。",
+ "userId": "用户 ID",
+ "copyInvitationLink": "复制邀请链接",
+ "copyPasswordResetLink": "复制密码重置链接"
+ },
+ "organizations": {
+ "enterpriseFeature": "这是 LiteLLM 企业版功能,需要有效的密钥才能使用。获取试用密钥请访问
此处。",
+ "createNewOrg": "+ 创建新组织",
+ "tabYourOrgs": "我的组织",
+ "lastRefreshed": "最后刷新:{{time}}",
+ "clickOrgIdHint": "点击「组织 ID」可查看组织详情。",
+ "colOrgId": "组织 ID",
+ "colOrgName": "组织名称",
+ "colSpend": "花费(USD)",
+ "colBudget": "预算(USD)",
+ "colModels": "模型",
+ "colTpmRpmLimits": "TPM / RPM 限制",
+ "colInfo": "信息",
+ "notAvailable": "N/A",
+ "noLimit": "无限制",
+ "allProxyModels": "所有代理模型",
+ "moreModels_one": "+{{count}} 个模型",
+ "moreModels_other": "+{{count}} 个模型",
+ "tpmLabel": "TPM",
+ "rpmLabel": "RPM",
+ "unlimited": "无限制",
+ "memberCount_one": "{{count}} 位成员",
+ "memberCount_other": "{{count}} 位成员",
+ "editOrgTooltip": "编辑组织",
+ "deleteOrgTooltip": "删除组织",
+ "createModalTitle": "创建组织",
+ "formOrgName": "组织名称",
+ "formOrgNameRequired": "请输入组织名称",
+ "formModels": "模型",
+ "formMaxBudget": "最大预算(USD)",
+ "formResetBudget": "重置预算",
+ "formTpmLimit": "每分钟 Token 限制(TPM)",
+ "formRpmLimit": "每分钟请求限制(RPM)",
+ "formAllowedVectorStores": "允许的向量存储",
+ "formAllowedVectorStoresTooltip": "选择此组织默认可访问的向量存储。留空则允许访问所有向量存储",
+ "formAllowedVectorStoresHelp": "选择此组织可访问的向量存储。留空则允许访问所有向量存储",
+ "formAllowedVectorStoresPlaceholder": "选择向量存储(可选)",
+ "formAllowedMcpServers": "允许的 MCP 服务器",
+ "formAllowedMcpServersTooltip": "选择此组织默认可访问的 MCP 服务器和访问组。",
+ "formAllowedMcpServersHelp": "选择此组织可访问的 MCP 服务器和访问组。",
+ "formAllowedMcpServersPlaceholder": "选择 MCP 服务器和访问组(可选)",
+ "formMetadata": "元数据",
+ "deleteModalTitle": "删除组织?",
+ "deleteModalMessage": "确定要删除此组织吗?此操作无法撤销。",
+ "deleteModalResourceTitle": "组织信息",
+ "deleteSuccess": "组织已成功删除",
+ "createSuccess": "组织已成功创建"
+ },
+ "passThroughInfo": {
+ "notFound": "未找到透传端点",
+ "backButton": "← 返回",
+ "pageTitle": "透传端点:{{path}}",
+ "tabOverview": "概览",
+ "labelPath": "路径",
+ "labelTarget": "目标",
+ "labelConfiguration": "配置",
+ "includeSubpath": "包含子路径",
+ "exactPath": "精确路径",
+ "authRequired": "需要认证",
+ "noAuth": "无需认证",
+ "httpMethods": "HTTP 方法:",
+ "allHttpMethodsSupported": "支持所有 HTTP 方法",
+ "costPerRequest": "每次请求费用:${{cost}}",
+ "labelHeaders": "请求头",
+ "headersConfigured_one": "已配置 {{count}} 个请求头",
+ "headersConfigured_other": "已配置 {{count}} 个请求头",
+ "labelGuardrails": "护栏",
+ "guardrailsConfigured_one": "已配置 {{count}} 个护栏",
+ "guardrailsConfigured_other": "已配置 {{count}} 个护栏",
+ "requestFields": "请求字段:{{fields}}",
+ "responseFields": "响应字段:{{fields}}",
+ "usesEntirePayload": "检查整个载荷",
+ "settingsTitle": "透传端点设置",
+ "editSettings": "编辑设置",
+ "deleteEndpoint": "删除端点",
+ "formTargetUrl": "目标 URL",
+ "formTargetUrlRequired": "请输入目标 URL",
+ "formHeadersJson": "请求头(JSON)",
+ "formHttpMethods": "HTTP 方法(可选)",
+ "allHttpMethodsDefault": "支持所有 HTTP 方法(默认)",
+ "selectedMethodsDesc": "仅 {{methods}} 请求将路由到此端点",
+ "selectMethodsPlaceholder": "选择方法(留空表示全部)",
+ "formIncludeSubpath": "包含子路径",
+ "formCostPerRequest": "每次请求费用",
+ "saveChanges": "保存更改",
+ "authenticationRequired": "需要认证",
+ "noHeadersConfigured": "未配置请求头",
+ "invalidJsonHeaders": "请求头的 JSON 格式无效",
+ "updateFailed": "更新透传端点失败",
+ "deleteSuccess": "透传端点已成功删除",
+ "deleteFailed": "删除透传端点失败"
}
}