mirror of
https://github.com/DayuanJiang/next-ai-draw-io.git
synced 2026-09-02 01:20:23 +08:00
* feat: add MiMo (Xiaomi) as AI provider * fix: correct MiMo default base URL, suggested models, and reasoning support - Default base URL was the China Token Plan endpoint (tp- keys only); switch to https://api.xiaomimimo.com/v1 which works with standard pay-as-you-go sk- keys. Token Plan users can override in settings. - Replace deprecated mimo-v2-flash suggestion with mimo-v2.5 (v2 series was deprecated on 2026-06-30). - Use createDeepSeek instead of createOpenAI so reasoning_content is passed back during multi-turn tool calls (MiMo returns 400 without it), matching the existing Kimi implementation. - Add mimo to SINGLE_SYSTEM_PROVIDERS so system messages are merged. - Fold validate-model case into the shared OpenAI-compatible group. - Drop the Bot icon special case; models.dev serves a real xiaomi logo via PROVIDER_LOGO_MAP. - Document MIMO_API_KEY/MIMO_BASE_URL in env.example and docs/{en,cn,ja}/ai-providers.md. * feat: show base URL hint for MiMo in provider settings MiMo has two endpoints tied to key type: pay-as-you-go keys (sk-...) use the default api.xiaomimimo.com/v1, while Token Plan keys (tp-...) require token-plan-cn.xiaomimimo.com/v1. Surface this under the Base URL field like the existing MiniMax hint, in all four locales. --------- Co-authored-by: mapengfei <mapengfei@srsj.com> Co-authored-by: dayuan.jiang <jdy.toh@gmail.com>
556 lines
25 KiB
JSON
556 lines
25 KiB
JSON
{
|
||
"common": {
|
||
"save": "保存",
|
||
"cancel": "取消",
|
||
"close": "关闭",
|
||
"confirm": "确认",
|
||
"clear": "清除",
|
||
"edit": "编辑",
|
||
"delete": "删除",
|
||
"loading": "加载中...",
|
||
"new": "新建"
|
||
},
|
||
"nav": {
|
||
"about": "关于",
|
||
"editor": "编辑器",
|
||
"newChat": "开始新对话",
|
||
"github": "GitHub",
|
||
"settings": "设置",
|
||
"hidePanel": "隐藏聊天面板 (Ctrl+B)",
|
||
"showPanel": "显示聊天面板 (Ctrl+B)",
|
||
"aiChat": "AI 聊天"
|
||
},
|
||
"providers": {
|
||
"useServerDefault": "使用服务器默认值",
|
||
"openai": "OpenAI",
|
||
"anthropic": "Anthropic",
|
||
"google": "Google",
|
||
"azure": "Azure OpenAI",
|
||
"openrouter": "OpenRouter",
|
||
"deepseek": "DeepSeek",
|
||
"siliconflow": "SiliconFlow",
|
||
"modelscope": "ModelScope",
|
||
"minimax": "MiniMax",
|
||
"glm": "GLM",
|
||
"qwen": "Qwen",
|
||
"kimi": "Kimi",
|
||
"qiniu": "Qiniu",
|
||
"mimo": "MiMo (小米)"
|
||
},
|
||
"chat": {
|
||
"placeholder": "描述您的图表或上传文件...",
|
||
"send": "发送",
|
||
"stopGeneration": "停止生成",
|
||
"sendMessage": "发送消息",
|
||
"clearConversation": "清除对话",
|
||
"diagramHistory": "图表历史",
|
||
"saveDiagram": "保存图表",
|
||
"uploadFile": "上传文件(图片、PDF、文本)",
|
||
"minimalStyle": "简约",
|
||
"styledMode": "精致",
|
||
"minimalTooltip": "使用简约模式以加快生成速度(无颜色)",
|
||
"regenerate": "重新生成响应",
|
||
"copyResponse": "复制响应",
|
||
"copied": "已复制!",
|
||
"failedToCopy": "复制失败",
|
||
"failedToCopyDetail": "复制消息失败。请手动复制或检查剪贴板权限。",
|
||
"goodResponse": "有帮助",
|
||
"badResponse": "无帮助",
|
||
"clickToEdit": "点击编辑",
|
||
"editMessage": "编辑消息",
|
||
"saveAndSubmit": "保存并提交",
|
||
"ExtractURL": "从 URL 提取"
|
||
},
|
||
"examples": {
|
||
"title": "用 AI 创建图表",
|
||
"subtitle": "描述您想要创建的内容或上传图片进行复制",
|
||
"quickExamples": "快速示例",
|
||
"paperToDiagram": "文档转图表",
|
||
"paperDescription": "上传 .pdf, .txt, .md, .json, .csv, .py, .js, .ts 等文件",
|
||
"animatedDiagram": "动画图表",
|
||
"animatedDescription": "绘制带有动画连接器的 Transformer 架构",
|
||
"awsArchitecture": "AWS 架构",
|
||
"awsDescription": "使用 AWS 图标创建云架构图",
|
||
"replicateFlowchart": "复制流程图",
|
||
"replicateDescription": "上传并复制现有流程图",
|
||
"creativeDrawing": "创意绘图",
|
||
"creativeDescription": "绘制有趣且富有创意的内容",
|
||
"cachedNote": "示例已缓存,可即时响应",
|
||
"mcpServer": "MCP 服务器",
|
||
"mcpDescription": "在 Claude Desktop、VS Code 和 Cursor 中使用"
|
||
},
|
||
"settings": {
|
||
"title": "设置",
|
||
"description": "配置您的应用程序设置。",
|
||
"apiKeysModels": "API 密钥和模型",
|
||
"apiKeysModelsDescription": "配置 AI 提供商和 API 密钥。",
|
||
"accessCode": "访问码",
|
||
"accessCodePlaceholder": "输入访问码",
|
||
"accessCodeDescription": "使用此应用程序需要访问码。",
|
||
"aiProvider": "AI 提供商设置",
|
||
"aiProviderDescription": "使用您自己的 API 密钥来绕过使用限制。您的密钥仅存储在浏览器本地,不会存储在服务器上。",
|
||
"provider": "提供商",
|
||
"modelId": "模型 ID",
|
||
"apiKey": "API 密钥",
|
||
"apiKeyPlaceholder": "您的 API 密钥",
|
||
"baseUrl": "基础 URL(可选)",
|
||
"customEndpoint": "自定义端点 URL",
|
||
"overrides": "覆盖",
|
||
"clearSettings": "清除设置",
|
||
"useServerDefault": "使用服务器默认值",
|
||
"language": "语言",
|
||
"languageDescription": "选择界面语言。",
|
||
"theme": "主题",
|
||
"themeDescription": "界面和 DrawIO 画布的深色/浅色模式。",
|
||
"drawioStyle": "DrawIO 样式",
|
||
"drawioStyleDescription": "画布样式",
|
||
"themeDefault": "默认",
|
||
"themeDark": "深色",
|
||
"themeMinimal": "简约",
|
||
"themeSketch": "草图",
|
||
"themeSimple": "简单",
|
||
"diagramStyle": "图表样式",
|
||
"diagramStyleDescription": "切换简约与精致图表输出模式。",
|
||
"sendShortcut": "发送快捷键",
|
||
"sendShortcutDescription": "选择发送消息的方式。",
|
||
"enterToSend": "回车发送",
|
||
"ctrlEnterToSend": "Cmd/Ctrl+回车发送",
|
||
"diagramActions": "图表操作",
|
||
"diagramActionsDescription": "管理图表历史记录和导出",
|
||
"history": "历史记录",
|
||
"download": "下载",
|
||
"proxy": "代理设置",
|
||
"proxyDescription": "配置 API 请求的 HTTP/HTTPS 代理(仅桌面版)",
|
||
"httpProxy": "HTTP 代理",
|
||
"httpsProxy": "HTTPS 代理",
|
||
"applyProxy": "应用",
|
||
"proxyApplied": "代理设置已应用",
|
||
"diagramValidation": "图表验证(实验性)",
|
||
"diagramValidationDescription": "使用视觉语言模型验证生成的图表。需要支持视觉的模型,如 GPT-5.2 或 Sonnet-4.5。",
|
||
"enabled": "已启用",
|
||
"disabled": "已禁用",
|
||
"customSystemMessage": "自定义系统消息",
|
||
"customSystemMessageDescription": "添加自定义指令,将附加到 AI 的系统提示末尾。",
|
||
"customSystemMessagePlaceholder": "例如:图表始终使用蓝色配色方案...",
|
||
"panelVisibility": "大厅面板",
|
||
"panelVisibilityDescription": "选择在聊天大厅显示哪些面板。",
|
||
"showRecentChats": "最近聊天",
|
||
"showMyTemplates": "我的模板",
|
||
"showQuickExamples": "快速示例"
|
||
},
|
||
"save": {
|
||
"title": "保存图表",
|
||
"description": "选择格式和文件名以保存您的图表。",
|
||
"format": "格式",
|
||
"filename": "文件名",
|
||
"filenamePlaceholder": "输入文件名",
|
||
"formats": {
|
||
"drawio": "Draw.io XML",
|
||
"png": "PNG 图片",
|
||
"svg": "SVG 图片",
|
||
"xmlsvg": "可编辑 SVG"
|
||
},
|
||
"savedSuccessfully": "保存成功!"
|
||
},
|
||
"history": {
|
||
"title": "图表历史",
|
||
"description": "在 AI 修改之前保存的每个图表。\n点击图表以恢复它",
|
||
"noHistory": "尚无历史记录。发送消息以创建图表历史。",
|
||
"version": "版本",
|
||
"restoreTo": "恢复到版本 {version}?"
|
||
},
|
||
"dialogs": {
|
||
"clearTitle": "清除所有内容?",
|
||
"clearDescription": "这将清除当前对话并重置图表。此操作无法撤消。",
|
||
"clearEverything": "清除所有内容",
|
||
"clearSuccess": "已开始新对话"
|
||
},
|
||
"errors": {
|
||
"maxFiles": "文件太多。最多允许 {max} 个。",
|
||
"onlyMoreAllowed": "只能再添加 {slots} 个文件",
|
||
"fileExceeds": "\"{name}\" 大小为 {size}(超过 {max}MB)",
|
||
"unsupportedType": "\"{name}\" 不是支持的文件类型",
|
||
"filesRejected": "{count} 个文件被拒绝:",
|
||
"andMore": "...还有 {count} 个",
|
||
"invalidAccessCode": "无效或缺少访问码。请在设置中配置。",
|
||
"networkError": "网络错误。请检查您的连接。",
|
||
"retryLimit": "已达到自动重试限制({max})。请手动重试。",
|
||
"continuationRetryLimit": "已达到继续重试限制({max})。图表可能过于复杂。",
|
||
"validationFailed": "图表验证失败。请尝试重新生成。",
|
||
"malformedXml": "AI 生成的图表 XML 无效。请尝试重新生成。",
|
||
"failedToProcess": "无法处理图表。请尝试重新生成。",
|
||
"sessionCorrupted": "会话数据已损坏。重新开始。",
|
||
"failedToSave": "无法保存消息到 localStorage",
|
||
"failedToRestore": "无法从 localStorage 恢复",
|
||
"failedToPersist": "卸载前无法持久化状态",
|
||
"failedToExport": "获取图表数据时出错",
|
||
"failedToLoadExample": "加载示例图片时出错",
|
||
"failedToRecordFeedback": "记录您的反馈失败。请重试。",
|
||
"storageUpdateFailed": "聊天已清除,但无法更新浏览器存储"
|
||
},
|
||
"quota": {
|
||
"dailyLimit": "已达每日配额",
|
||
"tokenLimit": "已达每日令牌限制",
|
||
"tpmLimit": "速率限制",
|
||
"tpmMessage": "请求过多。请稍等片刻。",
|
||
"tpmMessageDetailed": "达到速率限制({limit} 令牌/分钟)。请等待 {seconds} 秒后再发送请求。",
|
||
"messageApi": "看来您今天的体验次数已达上限。非常高兴您玩得开心,虽然本项目由字节跳动豆包慷慨赞助,但为了确保大家都能公平使用,我们不得不对使用量做一点小小的限制。",
|
||
"messageApiSelfHosted": null,
|
||
"messageToken": "看来您今天的 Token 用量已达上限。非常高兴您玩得开心,虽然本项目由字节跳动豆包慷慨赞助,但为了确保大家都能公平使用,我们不得不对使用量做一点小小的限制。",
|
||
"messageTokenSelfHosted": null,
|
||
"tip": "<strong>提示:</strong>您可以使用自己的 API 密钥(点击设置图标)或自托管项目来绕过这些限制。",
|
||
"tipSelfHosted": "<strong>提示:</strong>您可以在设置中配置自己的 API 密钥以继续使用服务。",
|
||
"reset": "您的限制将在明天重置。感谢您的理解。",
|
||
"doubaoSponsorship": "<a href=\"{link}\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"underline hover:text-foreground\">点击此处注册</a>可获得每个模型 50 万免费 Token(包括豆包、DeepSeek 和 Kimi),然后在模型设置中配置您的 API Key。",
|
||
"configModel": "使用您的密钥",
|
||
"selfHost": "自托管",
|
||
"sponsor": "赞助",
|
||
"learnMore": "了解更多 →",
|
||
"usedOf": "{used}/{limit}"
|
||
},
|
||
"tools": {
|
||
"generateDiagram": "生成图表",
|
||
"editDiagram": "编辑图表",
|
||
"appendDiagram": "继续图表",
|
||
"complete": "完成",
|
||
"error": "错误",
|
||
"truncated": "已截断"
|
||
},
|
||
"file": {
|
||
"reading": "读取中...",
|
||
"chars": "字符",
|
||
"removeFile": "移除文件"
|
||
},
|
||
"url": {
|
||
"title": "从 URL 提取内容",
|
||
"description": "粘贴 URL 以提取和分析其内容",
|
||
"Extracting": "提取中...",
|
||
"extract": "提取",
|
||
"Cancel": "取消",
|
||
"enterUrl": "请输入 URL",
|
||
"invalidFormat": "URL 格式无效"
|
||
},
|
||
"reasoning": {
|
||
"thinking": "思考中...",
|
||
"thoughtFor": "思考了 {duration} 秒",
|
||
"thoughtBrief": "思考了几秒钟"
|
||
},
|
||
"dev": {
|
||
"title": "开发:XML 流式模拟器",
|
||
"preset": "预设:",
|
||
"selectPreset": "选择预设...",
|
||
"clear": "清除",
|
||
"placeholder": "在此粘贴 mxCell XML 或选择预设...",
|
||
"interval": "间隔:",
|
||
"chars": "字符:",
|
||
"streaming": "流式传输中...",
|
||
"simulate": "模拟",
|
||
"stop": "停止",
|
||
"testQuotaToast": "测试配额提示",
|
||
"simulatingMessage": "[开发] 模拟 XML 流式传输",
|
||
"successMessage": "成功显示图表。"
|
||
},
|
||
"about": {
|
||
"modelChange": "模型变更与用量限制",
|
||
"walletCrying": "(别名:我的钱包顶不住了)",
|
||
"seekingSponsorship": "寻求赞助(求大佬捞一把)",
|
||
"contactMe": "联系我",
|
||
"usageNotice": "由于使用量过高,我已将模型从 Claude 更换为 minimax-m2,并设置了一些用量限制。详情请查看关于页面。"
|
||
},
|
||
"sessionHistory": {
|
||
"tooltip": "聊天历史",
|
||
"newChat": "新对话",
|
||
"empty": "暂无聊天记录",
|
||
"emptyHint": "开始对话吧",
|
||
"today": "今天",
|
||
"yesterday": "昨天",
|
||
"thisWeek": "本周",
|
||
"earlier": "更早",
|
||
"deleteTitle": "删除此对话?",
|
||
"deleteDescription": "这将永久删除此聊天会话及其图表。此操作无法撤消。",
|
||
"recentChats": "最近对话",
|
||
"justNow": "刚刚",
|
||
"searchPlaceholder": "搜索对话...",
|
||
"noResults": "未找到对话"
|
||
},
|
||
"templates": {
|
||
"title": "我的模板库",
|
||
"subtitle": "您的个人 prompt 库,快速创建图表",
|
||
"emptyTitle": "暂无模板",
|
||
"emptyDescription": "创建您的第一个模板,开始构建个人 prompt 库",
|
||
"createFirst": "创建第一个模板",
|
||
"neverUsed": "未使用过",
|
||
"usedCount": "使用 {count} 次",
|
||
"myTemplates": "我的模板",
|
||
"createTitle": "创建模板",
|
||
"createDescription": "保存常用 prompt 以便重复使用。模板帮助您快速开始常用工作流。",
|
||
"promptLabel": "提示词",
|
||
"promptPlaceholder": "描述您想要创建的图表...",
|
||
"promptRequired": "提示词不能为空",
|
||
"titleLabel": "标题",
|
||
"titlePlaceholder": "输入标题",
|
||
"titleHint": "留空则使用提示词前 20 个字符作为标题",
|
||
"descriptionLabel": "描述",
|
||
"descriptionPlaceholder": "为此模板添加描述",
|
||
"pinnedLabel": "置顶模板",
|
||
"pinnedHint": "置顶的模板会显示在列表顶部",
|
||
"createButton": "创建模板",
|
||
"createFailed": "创建模板失败,请重试。",
|
||
"editTitle": "编辑模板",
|
||
"editDescription": "更新模板内容和设置。",
|
||
"updateFailed": "更新模板失败,请重试。",
|
||
"duplicate": "复制",
|
||
"copySuffix": "(副本)",
|
||
"deleteTitle": "删除此模板?",
|
||
"deleteDescription": "此操作将永久删除该模板,无法撤销。",
|
||
"confirmSendTitle": "替换当前输入?",
|
||
"confirmSendDescription": "您有未发送的内容。发送此模板将替换它。",
|
||
"confirmSendButton": "发送模板",
|
||
"searchPlaceholder": "搜索模板...",
|
||
"searchNoResults": "没有匹配的模板",
|
||
"pin": "置顶",
|
||
"unpin": "取消置顶",
|
||
"saveAsTemplate": "保存为模板",
|
||
"exportTemplates": "导出模板",
|
||
"importTemplates": "导入模板",
|
||
"exportEmpty": "没有可导出的模板",
|
||
"exportSuccess": "成功导出 {count} 个模板",
|
||
"importNoFile": "请选择一个 JSON 文件",
|
||
"importFailed": "导入失败:{error}",
|
||
"importSuccess": "成功导入 {imported} 个模板,跳过 {skipped} 个重复"
|
||
},
|
||
"validation": {
|
||
"title": "验证图表",
|
||
"capturing": "截图中",
|
||
"validating": "验证中",
|
||
"validatingWithAttempt": "验证中 ({attempt}/{max})",
|
||
"valid": "通过",
|
||
"validWithWarnings": "通过(有警告)",
|
||
"issuesFound": "发现问题",
|
||
"error": "错误",
|
||
"skipped": "已跳过",
|
||
"capturedScreenshot": "截图预览:",
|
||
"issuesFoundLabel": "发现的问题:",
|
||
"suggestions": "建议:",
|
||
"passedValidation": "图表通过视觉验证 - 未发现问题。",
|
||
"improvementRequested": "改进请求已发送 - 请查看下方新图表",
|
||
"improveWithSuggestions": "根据建议改进",
|
||
"regenerateWithFeedback": "使用验证反馈重新生成图表"
|
||
},
|
||
"modelConfig": {
|
||
"title": "AI 模型配置",
|
||
"description": "配置多个 AI 提供商和模型",
|
||
"configure": "配置",
|
||
"addProvider": "添加提供商",
|
||
"addModel": "添加模型",
|
||
"modelId": "模型 ID",
|
||
"modelLabel": "显示名称",
|
||
"streaming": "启用流式输出",
|
||
"deleteProvider": "删除提供商",
|
||
"deleteModel": "删除模型",
|
||
"noModels": "尚未配置模型。添加模型以开始使用。",
|
||
"selectProvider": "选择一个提供商或添加新的",
|
||
"configureMultiple": "配置多个 AI 提供商并轻松切换",
|
||
"apiKeyStored": "API 密钥存储在您的浏览器本地",
|
||
"test": "测试",
|
||
"validationError": "验证失败",
|
||
"addModelFirst": "请先添加至少一个模型以进行验证",
|
||
"providers": "提供商",
|
||
"addProviderHint": "添加提供商即可开始使用",
|
||
"verified": "已验证",
|
||
"configuration": "配置",
|
||
"displayName": "显示名称",
|
||
"awsAccessKeyId": "AWS 访问密钥 ID",
|
||
"awsSecretAccessKey": "AWS Secret Access Key",
|
||
"awsRegion": "AWS 区域",
|
||
"selectRegion": "选择区域",
|
||
"apiKey": "API 密钥",
|
||
"enterApiKey": "输入您的 API 密钥",
|
||
"enterSecretKey": "输入您的 Secret Key",
|
||
"baseUrl": "基础 URL",
|
||
"optional": "(可选)",
|
||
"baseUrlWithExample": "基础 URL(可选,例如 {example})",
|
||
"customEndpoint": "自定义端点 URL",
|
||
"minimaxBaseUrlHint": "使用 /anthropic 端点为 Anthropic 兼容 API(推荐),或使用 /v1 端点为 OpenAI 兼容 API",
|
||
"mimoBaseUrlHint": "默认地址适用于按量付费密钥(sk-...)。Token Plan 订阅用户(tp-... 密钥)请设置为 https://token-plan-cn.xiaomimimo.com/v1",
|
||
"models": "模型",
|
||
"customModelId": "自定义模型 ID...",
|
||
"allAdded": "已全部添加",
|
||
"suggested": "推荐",
|
||
"noModelsConfigured": "尚未配置模型",
|
||
"modelIdEmpty": "模型 ID 不能为空",
|
||
"modelIdExists": "此模型 ID 已存在",
|
||
"configureProviders": "配置 AI 提供商",
|
||
"selectProviderHint": "从列表中选择提供商或添加新的以配置 API 密钥和模型",
|
||
"deleteConfirmDesc": "确定要删除 {name} 吗?这将移除所有配置的模型且无法撤销。",
|
||
"typeToConfirm": "输入 \"{name}\" 以确认",
|
||
"typeProviderName": "输入提供商名称...",
|
||
"modelsConfiguredCount": "已配置 {count} 个模型",
|
||
"validationFailedCount": "{count} 个模型验证失败",
|
||
"cancel": "取消",
|
||
"delete": "删除",
|
||
"clickToChange": "(点击更改)",
|
||
"usingServerDefault": "使用服务器默认模型",
|
||
"selectModel": "选择模型",
|
||
"searchModels": "搜索模型...",
|
||
"noVerifiedModels": "没有已验证的模型。请先测试您的模型。",
|
||
"noModelsFound": "未找到模型。",
|
||
"default": "默认",
|
||
"serverDefault": "服务器默认",
|
||
"serverModels": "服务器模型",
|
||
"userModels": "用户模型",
|
||
"configureModels": "配置模型...",
|
||
"onlyVerifiedShown": "仅显示已验证的模型",
|
||
"showUnvalidatedModels": "显示未验证的模型",
|
||
"allModelsShown": "显示所有模型(包括未验证的)",
|
||
"unvalidatedModelWarning": "此模型尚未验证",
|
||
"serverDefaultModel": "服务器默认模型",
|
||
"showValue": "显示值",
|
||
"hideValue": "隐藏值"
|
||
},
|
||
"admin": {
|
||
"title": "管理员设置",
|
||
"loginPrompt": "输入管理员密码(即 ADMIN_PASSWORD 环境变量)以管理服务器设置。",
|
||
"password": "密码",
|
||
"signIn": "登录",
|
||
"signingIn": "正在登录…",
|
||
"loginFailed": "登录失败",
|
||
"precedence": "文件覆盖环境变量 · 环境变量覆盖默认值",
|
||
"notWritable": "此部署环境下设置文件不可写(无服务器平台没有持久化磁盘)。设置以只读方式显示——请改用环境变量进行配置。",
|
||
"settingGroups": "设置分组",
|
||
"enabled": "已启用",
|
||
"disabled": "已禁用",
|
||
"enableGroup": "启用 {group}",
|
||
"unsavedChanges": "有未保存的更改",
|
||
"saved": "设置已保存,更改立即生效。",
|
||
"saveFailed": "保存失败。请检查网络连接后重试。",
|
||
"invalidSettings": "部分设置无效。",
|
||
"discard": "放弃",
|
||
"saveChanges": "保存更改",
|
||
"saving": "正在保存…",
|
||
"sourceSaved": "已保存",
|
||
"sourceEnv": "环境变量",
|
||
"sourceSavedTitle": "在管理员设置文件中设置",
|
||
"sourceEnvTitle": "通过环境变量设置",
|
||
"restartRequired": "需要重启",
|
||
"modified": "已修改",
|
||
"notSet": "未设置",
|
||
"savedReplace": "已保存({hint})——输入以替换",
|
||
"showValue": "显示值",
|
||
"hideValue": "隐藏值",
|
||
"removeValue": "移除值",
|
||
"removeValueTitle": "移除已保存的值",
|
||
"resetToDefault": "恢复默认",
|
||
"models": "模型",
|
||
"modelsDescription": "面向所有用户的服务端 provider 和模型——无需个人 API 密钥。当用户未选择模型时,使用默认 provider 的第一个模型。",
|
||
"addProviderHint": "添加一个 provider,为所有用户提供服务端模型。",
|
||
"selectProviderHint": "选择或添加一个 provider 以配置其凭证和模型。",
|
||
"addProviderToOfferModels": "至少添加一个模型,才能向用户开放此 provider。",
|
||
"managedViaEnv": "(通过环境变量管理)",
|
||
"envReadOnly": "在 AI_MODELS_CONFIG / ai-models.json 中定义——此处只读。请编辑环境配置以更改。",
|
||
"defaultModel": "默认模型",
|
||
"noModelsConfigured": "未配置模型",
|
||
"modelCount": "{count} 个模型",
|
||
"modelCountPlural": "{count} 个模型",
|
||
"default": "默认",
|
||
"setAsDefault": "设为默认 provider",
|
||
"defaultProvider": "默认 provider",
|
||
"modelIdPlaceholder": "模型 ID…",
|
||
"addModel": "添加模型",
|
||
"suggested": "推荐",
|
||
"test": "测试",
|
||
"testOk": "正常({ms} 毫秒)",
|
||
"testFailed": "失败",
|
||
"removeModel": "移除 {model}",
|
||
"deleteProviderTitle": "删除 {name}?",
|
||
"deleteProviderDesc": "保存后,其凭证和模型将从服务器上移除。",
|
||
"cancel": "取消",
|
||
"delete": "删除",
|
||
"groups": {
|
||
"generation": {
|
||
"title": "生成",
|
||
"description": "应用于所有聊天请求的输出参数。"
|
||
},
|
||
"access": {
|
||
"title": "访问控制",
|
||
"description": "限制谁可以使用此部署。"
|
||
},
|
||
"features": {
|
||
"title": "功能",
|
||
"description": "可选功能和安全开关。"
|
||
},
|
||
"observability": {
|
||
"title": "可观测性",
|
||
"description": "对 LLM 调用进行 Langfuse 追踪。"
|
||
},
|
||
"quota": {
|
||
"title": "配额与速率限制",
|
||
"description": "按 IP 的用量限制。强制执行需要 DynamoDB 表。"
|
||
}
|
||
},
|
||
"settings": {
|
||
"TEMPERATURE": {
|
||
"label": "温度",
|
||
"description": "对于拒绝温度参数的推理模型,请留空。"
|
||
},
|
||
"MAX_OUTPUT_TOKENS": {
|
||
"label": "最大输出 token 数"
|
||
},
|
||
"ACCESS_CODE_LIST": {
|
||
"label": "访问码",
|
||
"description": "以逗号分隔的列表。用户需输入其中之一才能聊天。留空 = 开放访问。"
|
||
},
|
||
"ENABLE_VLM_VALIDATION": {
|
||
"label": "VLM 图表验证",
|
||
"description": "使用视觉模型对生成的图表进行可视化验证。"
|
||
},
|
||
"VALIDATION_MODEL": {
|
||
"label": "验证模型",
|
||
"description": "留空时回退到默认 AI 模型。"
|
||
},
|
||
"VALIDATION_TIMEOUT": {
|
||
"label": "验证超时(毫秒)"
|
||
},
|
||
"ENABLE_HISTORY_XML_REPLACE": {
|
||
"label": "历史 XML 压缩",
|
||
"description": "用占位符替换历史记录中的旧图表 XML。"
|
||
},
|
||
"ALLOW_PRIVATE_URLS": {
|
||
"label": "允许私有 URL",
|
||
"description": "关闭以阻止对私有 IP 和内部主机名的请求(SSRF 防护)。"
|
||
},
|
||
"LANGFUSE_PUBLIC_KEY": {
|
||
"label": "Langfuse Public Key"
|
||
},
|
||
"LANGFUSE_SECRET_KEY": {
|
||
"label": "Langfuse Secret Key"
|
||
},
|
||
"LANGFUSE_BASEURL": {
|
||
"label": "Langfuse Base URL"
|
||
},
|
||
"DAILY_REQUEST_LIMIT": {
|
||
"label": "每日请求上限",
|
||
"description": "每个 IP 每天。"
|
||
},
|
||
"DAILY_TOKEN_LIMIT": {
|
||
"label": "每日 token 上限",
|
||
"description": "每个 IP 每天。"
|
||
},
|
||
"TPM_LIMIT": {
|
||
"label": "每分钟 token 数"
|
||
},
|
||
"DYNAMODB_QUOTA_TABLE": {
|
||
"label": "DynamoDB 表",
|
||
"description": "留空时配额强制执行被禁用。"
|
||
},
|
||
"DYNAMODB_REGION": {
|
||
"label": "DynamoDB 区域"
|
||
},
|
||
"QUOTA_TIMEZONE": {
|
||
"label": "配额时区",
|
||
"description": "每日重置边界所用的时区。"
|
||
}
|
||
}
|
||
}
|
||
}
|