feat: add useApiSettings hook for managing API settings, including providers, endpoints, cache, and model pools

- Implemented hooks for CRUD operations on providers and endpoints.
- Added cache management hooks for cache stats and settings.
- Introduced model pool management hooks for high availability and load balancing.
- Created localization files for English and Chinese translations of API settings.
This commit is contained in:
catlog22
2026-02-01 23:14:55 +08:00
parent b76424feef
commit e5252f8a77
27 changed files with 4370 additions and 201 deletions

View File

@@ -0,0 +1,335 @@
{
"title": "API Settings",
"description": "Manage LiteLLM providers, endpoints, cache settings, and model pools",
"tabs": {
"providers": "Providers",
"endpoints": "Endpoints",
"cache": "Cache",
"modelPools": "Model Pools",
"cliSettings": "CLI Settings"
},
"providers": {
"title": "Providers",
"description": "Configure API provider credentials and multi-key settings",
"stats": {
"total": "Total Providers",
"enabled": "Enabled"
},
"actions": {
"add": "Add Provider",
"edit": "Edit Provider",
"delete": "Delete Provider",
"test": "Test Connection",
"multiKeySettings": "Multi-Key Settings",
"syncToCodexLens": "Sync to CodexLens",
"manageModels": "Manage Models",
"addModel": "Add Model"
},
"deleteConfirm": "Are you sure you want to delete the provider \"{name}\"?",
"emptyState": {
"title": "No Providers Found",
"message": "Add a provider to configure API credentials and models."
},
"apiFormat": "API Format",
"openaiCompatible": "OpenAI Compatible",
"customFormat": "Custom Format",
"apiFormatHint": "Most providers use OpenAI-compatible format",
"displayName": "Display Name",
"apiKey": "API Key",
"useEnvVar": "Use environment variable (e.g., ${OPENAI_API_KEY})",
"apiBaseUrl": "API Base URL",
"preview": "Preview",
"enableProvider": "Enable this provider",
"advancedSettings": "Advanced Settings",
"timeout": "Timeout",
"timeoutHint": "Request timeout in seconds (default: 300)",
"maxRetries": "Max Retries",
"organization": "Organization",
"organizationHint": "OpenAI-specific organization ID",
"apiVersion": "API Version",
"apiVersionHint": "Azure-specific API version (e.g., 2024-02-01)",
"rpm": "RPM",
"tpm": "TPM",
"unlimited": "Unlimited",
"proxy": "Proxy URL",
"customHeaders": "Custom Headers",
"customHeadersHint": "JSON format, e.g., {\"X-Custom\": \"value\"}",
"testConnection": "Test Connection",
"connectionSuccess": "Connection successful",
"connectionFailed": "Connection failed",
"addProviderFirst": "Please add a provider first",
"saveProviderFirst": "Please save the provider first",
"llmModels": "LLM Models",
"embeddingModels": "Embedding Models",
"rerankerModels": "Reranker Models",
"noModels": "No models configured for this provider",
"selectProvider": "Select Provider",
"selectProviderHint": "Choose a provider to view and manage their models",
"modelSettings": "Model Settings",
"deleteModel": "Delete Model",
"multiKeySettings": "Multi-Key Settings",
"keyLabel": "Key Label",
"keyValue": "Key Value",
"keyWeight": "Weight",
"routingStrategy": "Routing Strategy",
"healthCheck": "Health Check",
"healthStatus": "Health Status",
"lastCheck": "Last check",
"lastError": "Last error",
"lastLatency": "Latency",
"cooldown": "Cooldown",
"consecutiveFailures": "Failures",
"inCooldown": "In cooldown",
"healthy": "Healthy",
"unhealthy": "Unhealthy",
"unknown": "Unknown",
"justNow": "just now",
"minutesAgo": "m ago",
"hoursAgo": "h ago",
"daysAgo": "d ago",
"seconds": "seconds",
"testKey": "Test Key",
"addKey": "Add Key",
"enableKey": "Enable",
"disableKey": "Disable",
"deleteKey": "Delete Key",
"simpleShuffle": "Simple Shuffle",
"weighted": "Weighted",
"latencyBased": "Latency Based",
"costBased": "Cost Based",
"leastBusy": "Least Busy",
"enableHealthCheck": "Enable health checks",
"checkInterval": "Check interval (seconds)",
"cooldownPeriod": "Cooldown period (seconds)",
"failureThreshold": "Failure threshold",
"addLlmModel": "Add LLM Model",
"addEmbeddingModel": "Add Embedding Model",
"addRerankerModel": "Add Reranker Model",
"selectFromPresets": "Select from presets",
"customModel": "Custom model...",
"modelId": "Model ID",
"modelName": "Model Name",
"modelSeries": "Model Series",
"contextWindow": "Context Window",
"capabilities": "Capabilities",
"streaming": "Streaming",
"functionCalling": "Function Calling",
"vision": "Vision",
"embeddingMaxTokens": "Max Tokens",
"rerankerTopK": "Top K",
"rerankerTopKHint": "Number of results to return",
"embeddingDimensions": "Dimensions",
"description": "Description",
"optional": "Optional",
"modelIdExists": "Model ID already exists",
"useModelTreeToManage": "Use provider card to manage models",
"endpointPreview": "Endpoint Preview",
"modelBaseUrlOverride": "Base URL Override",
"modelBaseUrlHint": "Override base URL for this model",
"basicInfo": "Basic Information",
"endpointSettings": "Endpoint Settings",
"apiBaseUpdated": "Base URL updated"
},
"endpoints": {
"title": "Endpoints",
"description": "Configure custom API endpoints with caching strategies",
"stats": {
"totalEndpoints": "Total Endpoints",
"cachedEndpoints": "Cached Endpoints"
},
"actions": {
"add": "Add Endpoint",
"edit": "Edit Endpoint",
"delete": "Delete Endpoint",
"enable": "Enable",
"disable": "Disable"
},
"deleteConfirm": "Are you sure you want to delete the endpoint \"{id}\"?",
"emptyState": {
"title": "No Endpoints Found",
"message": "Add an endpoint to configure custom API mappings."
},
"endpointId": "Endpoint ID",
"endpointIdHint": "Unique CLI identifier (e.g., my-gpt4o)",
"name": "Name",
"provider": "Provider",
"model": "Model",
"noModelsConfigured": "No models configured for this provider",
"selectModel": "Select a model...",
"cacheStrategy": "Cache Strategy",
"enableContextCaching": "Enable context caching",
"cacheTTL": "Cache TTL (minutes)",
"cacheMaxSize": "Max Size (KB)",
"autoCachePatterns": "Auto-cache patterns",
"filePatternsHint": "Comma-separated glob patterns (e.g., *.md,*.ts)",
"enabled": "Enabled",
"disabled": "Disabled",
"noEndpoints": "No Endpoints Configured",
"noEndpointsHint": "Add an endpoint to create custom API mappings with caching.",
"providerBased": "Provider-based",
"direct": "Direct",
"off": "Off"
},
"cache": {
"title": "Cache",
"description": "Manage global cache settings and view cache statistics",
"settings": {
"title": "Cache Settings",
"globalCache": "Global Cache",
"enableGlobalCaching": "Enable global caching",
"cacheDirectory": "Cache directory",
"maxSize": "Max total size (MB)",
"cacheUsage": "Cache usage",
"cacheEntries": "Cache entries",
"cacheSize": "Cache size",
"used": "used",
"total": "total",
"actions": "Cache Actions",
"clearCache": "Clear Cache",
"confirmClearCache": "Are you sure you want to clear the cache? This will remove all cached entries."
},
"statistics": {
"title": "Cache Statistics",
"cachedEntries": "Cached Entries",
"storageUsed": "Storage Used",
"totalSize": "Total Size"
},
"actions": {
"clear": "Clear Cache",
"confirmClear": "Are you sure you want to clear the cache?"
},
"messages": {
"cacheCleared": "Cache cleared",
"cacheSettingsUpdated": "Cache settings updated"
}
},
"modelPools": {
"title": "Model Pools",
"description": "Configure model pools for high availability and load balancing",
"stats": {
"total": "Total Pools",
"enabled": "Enabled"
},
"actions": {
"add": "Add Model Pool",
"edit": "Edit Model Pool",
"delete": "Delete Model Pool",
"autoDiscover": "Auto-Discover"
},
"deleteConfirm": "Are you sure you want to delete the model pool \"{name}\"?",
"emptyState": {
"title": "No Model Pools Found",
"message": "Add a model pool to enable high availability and load balancing."
},
"modelType": "Model Type",
"embedding": "Embedding",
"llm": "LLM",
"reranker": "Reranker",
"targetModel": "Target Model",
"selectTargetModel": "Select target model...",
"strategy": "Strategy",
"roundRobin": "Round Robin",
"latencyAware": "Latency Aware",
"weightedRandom": "Weighted Random",
"poolEnabled": "Pool Enabled",
"autoDiscover": "Auto-discover providers",
"excludedProviders": "Excluded Providers",
"defaultCooldown": "Default Cooldown (s)",
"defaultConcurrent": "Default Concurrent",
"discoveredProviders": "Discovered Providers",
"excludeProvider": "Exclude",
"includeProvider": "Include",
"noProvidersFound": "No providers found offering this model",
"poolSaved": "Model pool saved",
"embeddingPoolDesc": "Configure model pools for high availability and load balancing across multiple providers",
"embeddingPool": "Embedding Pool",
"discovered": "Discovered",
"providers": "providers"
},
"cliSettings": {
"title": "CLI Settings",
"description": "Configure CLI tool settings and modes",
"stats": {
"total": "Total Settings",
"enabled": "Enabled"
},
"actions": {
"add": "Add CLI Settings",
"edit": "Edit CLI Settings",
"delete": "Delete CLI Settings"
},
"deleteConfirm": "Are you sure you want to delete the CLI settings \"{name}\"?",
"emptyState": {
"title": "No CLI Settings Found",
"message": "Add CLI settings to configure tool-specific options."
},
"mode": "Mode",
"providerBased": "Provider-based",
"direct": "Direct",
"authToken": "Auth Token",
"baseUrl": "Base URL",
"model": "Model"
},
"ccwLitellm": {
"title": "CCW-LiteLLM Package",
"description": "Manage ccw-litellm Python package installation",
"status": {
"installed": "Installed",
"notInstalled": "Not Installed",
"version": "Version"
},
"actions": {
"install": "Install",
"uninstall": "Uninstall",
"refreshStatus": "Refresh Status"
},
"messages": {
"installSuccess": "ccw-litellm installed successfully",
"installFailed": "Failed to install ccw-litellm",
"uninstallSuccess": "ccw-litellm uninstalled successfully",
"uninstallFailed": "Failed to uninstall ccw-litellm"
}
},
"common": {
"save": "Save",
"cancel": "Cancel",
"confirm": "Confirm",
"delete": "Delete",
"edit": "Edit",
"add": "Add",
"close": "Close",
"loading": "Loading...",
"error": "Error",
"success": "Success",
"warning": "Warning",
"optional": "Optional",
"enabled": "Enabled",
"disabled": "Disabled",
"searchPlaceholder": "Search...",
"noResults": "No results found",
"actions": "Actions",
"name": "Name",
"description": "Description",
"type": "Type",
"status": "Status"
},
"messages": {
"settingsSaved": "Settings saved successfully",
"settingsDeleted": "Settings deleted successfully",
"providerSaved": "Provider saved successfully",
"providerDeleted": "Provider deleted successfully",
"providerUpdated": "Provider updated successfully",
"endpointSaved": "Endpoint saved successfully",
"endpointDeleted": "Endpoint deleted successfully",
"confirmDeleteProvider": "Are you sure you want to delete this provider?",
"confirmDeleteEndpoint": "Are you sure you want to delete this endpoint?",
"confirmClearCache": "Are you sure you want to clear the cache?",
"invalidJsonHeaders": "Invalid JSON format for custom headers",
"failedToLoad": "Failed to load data",
"noProviders": "No Providers",
"noProvidersHint": "Add a provider to get started with API configuration.",
"noEndpoints": "No Endpoints",
"noEndpointsHint": "Add an endpoint to create custom API mappings.",
"configSynced": "Configuration synced to YAML file"
}
}

View File

@@ -13,6 +13,7 @@
"overview": "Overview",
"settings": "Settings",
"models": "Models",
"search": "Search",
"advanced": "Advanced"
},
"overview": {
@@ -46,6 +47,19 @@
"lastCheck": "Last Check Time"
}
},
"index": {
"operationComplete": "Index Operation Complete",
"operationFailed": "Index Operation Failed",
"noProject": "No Project Selected",
"noProjectDesc": "Please open a project to perform index operations.",
"starting": "Starting index operation...",
"cancelFailed": "Failed to cancel operation",
"unknownError": "An unknown error occurred",
"complete": "Complete",
"failed": "Failed",
"cancelled": "Cancelled",
"inProgress": "In Progress"
},
"settings": {
"currentCount": "Current Index Count",
"currentWorkers": "Current Workers",
@@ -114,6 +128,8 @@
"advanced": {
"warningTitle": "Sensitive Operations Warning",
"warningMessage": "Modifying environment variables may affect CodexLens operation. Ensure you understand each variable's purpose.",
"loadError": "Failed to load environment variables",
"loadErrorDesc": "Unable to fetch environment configuration. Please check if CodexLens is properly installed.",
"currentVars": "Current Environment Variables",
"settingsVars": "Settings Variables",
"customVars": "Custom Variables",
@@ -170,9 +186,35 @@
"title": "CodexLens Not Installed",
"description": "Please install CodexLens to use model management features."
},
"error": {
"title": "Failed to load models",
"description": "Unable to fetch model list. Please check if CodexLens is properly installed."
},
"empty": {
"title": "No models found",
"description": "Try adjusting your search or filter criteria"
"description": "No models are available. Try downloading models from the list.",
"filtered": "No models match your filter",
"filteredDesc": "Try adjusting your search or filter criteria"
}
},
"search": {
"type": "Search Type",
"content": "Content Search",
"files": "File Search",
"symbol": "Symbol Search",
"mode": "Mode",
"mode.semantic": "Semantic (default)",
"mode.exact": "Exact (FTS)",
"mode.fuzzy": "Fuzzy",
"query": "Query",
"queryPlaceholder": "Enter search query...",
"button": "Search",
"searching": "Searching...",
"results": "Results",
"resultsCount": "results",
"notInstalled": {
"title": "CodexLens Not Installed",
"description": "Please install CodexLens to use semantic code search features."
}
}
}

View File

@@ -0,0 +1,335 @@
{
"title": "API 设置",
"description": "管理 LiteLLM 提供商、端点、缓存设置和模型池",
"tabs": {
"providers": "提供商",
"endpoints": "端点",
"cache": "缓存",
"modelPools": "模型池",
"cliSettings": "CLI 设置"
},
"providers": {
"title": "提供商",
"description": "配置 API 提供商凭据和多密钥设置",
"stats": {
"total": "总提供商数",
"enabled": "已启用"
},
"actions": {
"add": "添加提供商",
"edit": "编辑提供商",
"delete": "删除提供商",
"test": "测试连接",
"multiKeySettings": "多密钥设置",
"syncToCodexLens": "同步到 CodexLens",
"manageModels": "管理模型",
"addModel": "添加模型"
},
"deleteConfirm": "确定要删除提供商 \"{name}\" 吗?",
"emptyState": {
"title": "未找到提供商",
"message": "添加提供商以配置 API 凭据和模型。"
},
"apiFormat": "API 格式",
"openaiCompatible": "OpenAI 兼容",
"customFormat": "自定义格式",
"apiFormatHint": "大多数提供商使用 OpenAI 兼容格式",
"displayName": "显示名称",
"apiKey": "API 密钥",
"useEnvVar": "使用环境变量(例如:${OPENAI_API_KEY}",
"apiBaseUrl": "API 基础 URL",
"preview": "预览",
"enableProvider": "启用此提供商",
"advancedSettings": "高级设置",
"timeout": "超时",
"timeoutHint": "请求超时时间默认300",
"maxRetries": "最大重试次数",
"organization": "组织",
"organizationHint": "OpenAI 特定的组织 ID",
"apiVersion": "API 版本",
"apiVersionHint": "Azure 特定的 API 版本例如2024-02-01",
"rpm": "RPM",
"tpm": "TPM",
"unlimited": "无限制",
"proxy": "代理 URL",
"customHeaders": "自定义请求头",
"customHeadersHint": "JSON 格式,例如:{\"X-Custom\": \"value\"}",
"testConnection": "测试连接",
"connectionSuccess": "连接成功",
"connectionFailed": "连接失败",
"addProviderFirst": "请先添加提供商",
"saveProviderFirst": "请先保存提供商",
"llmModels": "LLM 模型",
"embeddingModels": "嵌入模型",
"rerankerModels": "重排序模型",
"noModels": "此提供商未配置模型",
"selectProvider": "选择提供商",
"selectProviderHint": "选择提供商以查看和管理其模型",
"modelSettings": "模型设置",
"deleteModel": "删除模型",
"multiKeySettings": "多密钥设置",
"keyLabel": "密钥标签",
"keyValue": "密钥值",
"keyWeight": "权重",
"routingStrategy": "路由策略",
"healthCheck": "健康检查",
"healthStatus": "健康状态",
"lastCheck": "最后检查",
"lastError": "最后错误",
"lastLatency": "延迟",
"cooldown": "冷却",
"consecutiveFailures": "失败次数",
"inCooldown": "冷却中",
"healthy": "健康",
"unhealthy": "不健康",
"unknown": "未知",
"justNow": "刚刚",
"minutesAgo": "分钟前",
"hoursAgo": "小时前",
"daysAgo": "天前",
"seconds": "秒",
"testKey": "测试密钥",
"addKey": "添加密钥",
"enableKey": "启用",
"disableKey": "禁用",
"deleteKey": "删除密钥",
"simpleShuffle": "简单随机",
"weighted": "加权",
"latencyBased": "基于延迟",
"costBased": "基于成本",
"leastBusy": "最少繁忙",
"enableHealthCheck": "启用健康检查",
"checkInterval": "检查间隔(秒)",
"cooldownPeriod": "冷却周期(秒)",
"failureThreshold": "失败阈值",
"addLlmModel": "添加 LLM 模型",
"addEmbeddingModel": "添加嵌入模型",
"addRerankerModel": "添加重排序模型",
"selectFromPresets": "从预设选择",
"customModel": "自定义模型...",
"modelId": "模型 ID",
"modelName": "模型名称",
"modelSeries": "模型系列",
"contextWindow": "上下文窗口",
"capabilities": "功能",
"streaming": "流式传输",
"functionCalling": "函数调用",
"vision": "视觉",
"embeddingMaxTokens": "最大令牌数",
"rerankerTopK": "Top K",
"rerankerTopKHint": "返回的结果数量",
"embeddingDimensions": "维度",
"description": "描述",
"optional": "可选",
"modelIdExists": "模型 ID 已存在",
"useModelTreeToManage": "使用提供商卡片管理模型",
"endpointPreview": "端点预览",
"modelBaseUrlOverride": "基础 URL 覆盖",
"modelBaseUrlHint": "为此模型覆盖基础 URL",
"basicInfo": "基本信息",
"endpointSettings": "端点设置",
"apiBaseUpdated": "基础 URL 已更新"
},
"endpoints": {
"title": "端点",
"description": "配置带有缓存策略的自定义 API 端点",
"stats": {
"totalEndpoints": "总端点数",
"cachedEndpoints": "已缓存端点"
},
"actions": {
"add": "添加端点",
"edit": "编辑端点",
"delete": "删除端点",
"enable": "启用",
"disable": "禁用"
},
"deleteConfirm": "确定要删除端点 \"{id}\" 吗?",
"emptyState": {
"title": "未找到端点",
"message": "添加端点以配置自定义 API 映射。"
},
"endpointId": "端点 ID",
"endpointIdHint": "唯一的 CLI 标识符例如my-gpt4o",
"name": "名称",
"provider": "提供商",
"model": "模型",
"noModelsConfigured": "此提供商未配置模型",
"selectModel": "选择模型...",
"cacheStrategy": "缓存策略",
"enableContextCaching": "启用上下文缓存",
"cacheTTL": "缓存 TTL分钟",
"cacheMaxSize": "最大大小KB",
"autoCachePatterns": "自动缓存模式",
"filePatternsHint": "逗号分隔的 glob 模式(例如:*.md,*.ts",
"enabled": "已启用",
"disabled": "已禁用",
"noEndpoints": "未配置端点",
"noEndpointsHint": "添加端点以创建带有缓存的自定义 API 映射。",
"providerBased": "基于提供商",
"direct": "直接",
"off": "关闭"
},
"cache": {
"title": "缓存",
"description": "管理全局缓存设置和查看缓存统计信息",
"settings": {
"title": "缓存设置",
"globalCache": "全局缓存",
"enableGlobalCaching": "启用全局缓存",
"cacheDirectory": "缓存目录",
"maxSize": "最大总大小MB",
"cacheUsage": "缓存使用",
"cacheEntries": "缓存条目",
"cacheSize": "缓存大小",
"used": "已使用",
"total": "总计",
"actions": "缓存操作",
"clearCache": "清除缓存",
"confirmClearCache": "确定要清除缓存吗?这将删除所有缓存条目。"
},
"statistics": {
"title": "缓存统计",
"cachedEntries": "已缓存条目",
"storageUsed": "已用存储",
"totalSize": "总大小"
},
"actions": {
"clear": "清除缓存",
"confirmClear": "确定要清除缓存吗?"
},
"messages": {
"cacheCleared": "缓存已清除",
"cacheSettingsUpdated": "缓存设置已更新"
}
},
"modelPools": {
"title": "模型池",
"description": "配置模型池以实现高可用性和负载均衡",
"stats": {
"total": "总池数",
"enabled": "已启用"
},
"actions": {
"add": "添加模型池",
"edit": "编辑模型池",
"delete": "删除模型池",
"autoDiscover": "自动发现"
},
"deleteConfirm": "确定要删除模型池 \"{name}\" 吗?",
"emptyState": {
"title": "未找到模型池",
"message": "添加模型池以启用高可用性和负载均衡。"
},
"modelType": "模型类型",
"embedding": "嵌入",
"llm": "LLM",
"reranker": "重排序",
"targetModel": "目标模型",
"selectTargetModel": "选择目标模型...",
"strategy": "策略",
"roundRobin": "轮询",
"latencyAware": "延迟感知",
"weightedRandom": "加权随机",
"poolEnabled": "池已启用",
"autoDiscover": "自动发现提供商",
"excludedProviders": "排除的提供商",
"defaultCooldown": "默认冷却时间(秒)",
"defaultConcurrent": "默认并发数",
"discoveredProviders": "已发现的提供商",
"excludeProvider": "排除",
"includeProvider": "包含",
"noProvidersFound": "未找到提供此模型的提供商",
"poolSaved": "模型池已保存",
"embeddingPoolDesc": "配置模型池以实现跨多个提供商的高可用性和负载均衡",
"embeddingPool": "嵌入池",
"discovered": "已发现",
"providers": "提供商"
},
"cliSettings": {
"title": "CLI 设置",
"description": "配置 CLI 工具设置和模式",
"stats": {
"total": "总设置数",
"enabled": "已启用"
},
"actions": {
"add": "添加 CLI 设置",
"edit": "编辑 CLI 设置",
"delete": "删除 CLI 设置"
},
"deleteConfirm": "确定要删除 CLI 设置 \"{name}\" 吗?",
"emptyState": {
"title": "未找到 CLI 设置",
"message": "添加 CLI 设置以配置工具特定选项。"
},
"mode": "模式",
"providerBased": "基于提供商",
"direct": "直接",
"authToken": "认证令牌",
"baseUrl": "基础 URL",
"model": "模型"
},
"ccwLitellm": {
"title": "CCW-LiteLLM 包",
"description": "管理 ccw-litellm Python 包安装",
"status": {
"installed": "已安装",
"notInstalled": "未安装",
"version": "版本"
},
"actions": {
"install": "安装",
"uninstall": "卸载",
"refreshStatus": "刷新状态"
},
"messages": {
"installSuccess": "ccw-litellm 安装成功",
"installFailed": "ccw-litellm 安装失败",
"uninstallSuccess": "ccw-litellm 卸载成功",
"uninstallFailed": "ccw-litellm 卸载失败"
}
},
"common": {
"save": "保存",
"cancel": "取消",
"confirm": "确认",
"delete": "删除",
"edit": "编辑",
"add": "添加",
"close": "关闭",
"loading": "加载中...",
"error": "错误",
"success": "成功",
"warning": "警告",
"optional": "可选",
"enabled": "已启用",
"disabled": "已禁用",
"searchPlaceholder": "搜索...",
"noResults": "未找到结果",
"actions": "操作",
"name": "名称",
"description": "描述",
"type": "类型",
"status": "状态"
},
"messages": {
"settingsSaved": "设置保存成功",
"settingsDeleted": "设置删除成功",
"providerSaved": "提供商保存成功",
"providerDeleted": "提供商删除成功",
"providerUpdated": "提供商更新成功",
"endpointSaved": "端点保存成功",
"endpointDeleted": "端点删除成功",
"confirmDeleteProvider": "确定要删除此提供商吗?",
"confirmDeleteEndpoint": "确定要删除此端点吗?",
"confirmClearCache": "确定要清除缓存吗?",
"invalidJsonHeaders": "自定义请求头的 JSON 格式无效",
"failedToLoad": "加载数据失败",
"noProviders": "无提供商",
"noProvidersHint": "添加提供商以开始配置 API。",
"noEndpoints": "无端点",
"noEndpointsHint": "添加端点以创建自定义 API 映射。",
"configSynced": "配置已同步到 YAML 文件"
}
}

View File

@@ -13,6 +13,7 @@
"overview": "概览",
"settings": "设置",
"models": "模型",
"search": "搜索",
"advanced": "高级"
},
"overview": {
@@ -114,6 +115,8 @@
"advanced": {
"warningTitle": "敏感操作警告",
"warningMessage": "修改环境变量可能影响 CodexLens 的正常运行。请确保您了解每个变量的作用。",
"loadError": "加载环境变量失败",
"loadErrorDesc": "无法获取环境配置。请检查 CodexLens 是否正确安装。",
"currentVars": "当前环境变量",
"settingsVars": "设置变量",
"customVars": "自定义变量",
@@ -170,9 +173,35 @@
"title": "CodexLens 未安装",
"description": "请先安装 CodexLens 以使用模型管理功能。"
},
"error": {
"title": "加载模型失败",
"description": "无法获取模型列表。请检查 CodexLens 是否正确安装。"
},
"empty": {
"title": "没有找到模型",
"description": "尝试调整搜索或筛选条件"
"description": "当前没有可用模型。请从列表中下载模型。",
"filtered": "没有匹配的模型",
"filteredDesc": "尝试调整搜索或筛选条件"
}
},
"search": {
"type": "搜索类型",
"content": "内容搜索",
"files": "文件搜索",
"symbol": "符号搜索",
"mode": "模式",
"mode.semantic": "语义(默认)",
"mode.exact": "精确FTS",
"mode.fuzzy": "模糊",
"query": "查询",
"queryPlaceholder": "输入搜索查询...",
"button": "搜索",
"searching": "搜索中...",
"results": "结果",
"resultsCount": "个结果",
"notInstalled": {
"title": "CodexLens 未安装",
"description": "请先安装 CodexLens 以使用语义代码搜索功能。"
}
}
}