mirror of
https://github.com/DayuanJiang/next-ai-draw-io.git
synced 2026-10-11 03:59:58 +08:00
Labels are two to four words, descriptions one short line, and the
wording follows the reader rather than the implementation: "服务商"
instead of "provider", "本页设置" instead of "后台设置" for the source
chip (it shared its name with the page title), "需重启" as a badge, a
verb on every switch ("访问内网"), "Langfuse 密钥" instead of "私钥".
Descriptions keep the facts the old ones had (where to change an
env-managed provider, that users must enter an access code), and the
same style is applied to the English, Japanese and Traditional Chinese
dictionaries. Five user-facing strings in the same files are aligned
with the new terms (服务商, token).
704 lines
33 KiB
JSON
704 lines
33 KiB
JSON
{
|
||
"common": {
|
||
"save": "保存",
|
||
"cancel": "取消",
|
||
"close": "关闭",
|
||
"clear": "清除",
|
||
"edit": "编辑",
|
||
"delete": "删除",
|
||
"loading": "加载中..."
|
||
},
|
||
"nav": {
|
||
"editor": "编辑器",
|
||
"newChat": "新建图纸",
|
||
"github": "GitHub",
|
||
"settings": "设置",
|
||
"hidePanel": "隐藏聊天面板",
|
||
"showPanel": "显示聊天面板",
|
||
"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": "描述您的图表或上传文件...",
|
||
"inputLabel": "聊天输入框",
|
||
"send": "发送",
|
||
"stopGeneration": "停止生成",
|
||
"sendMessage": "发送消息",
|
||
"clearConversation": "清除对话",
|
||
"uploadFile": "上传文件(图片、PDF、文本)",
|
||
"minimalStyle": "简约",
|
||
"styledMode": "精致",
|
||
"minimalTooltip": "使用简约模式以加快生成速度(无颜色)",
|
||
"regenerate": "重新生成响应",
|
||
"copyResponse": "复制响应",
|
||
"copied": "已复制!",
|
||
"failedToCopyDetail": "复制消息失败。请手动复制或检查剪贴板权限。",
|
||
"goodResponse": "有帮助",
|
||
"badResponse": "无帮助",
|
||
"clickToEdit": "点击编辑",
|
||
"editMessage": "编辑消息",
|
||
"saveAndSubmit": "保存并提交",
|
||
"ExtractURL": "从 URL 提取",
|
||
"attach": "添加",
|
||
"placeholderFollowUp": "说说想怎么改,也可以先选中要改的图形",
|
||
"emptyThread": "可以直接在画布上画,也可以在下面说说要画什么。",
|
||
"attachedImage": "附带的图片",
|
||
"retry": "重试"
|
||
},
|
||
"examples": {
|
||
"paperToDiagram": "论文转图表",
|
||
"paperDescription": "上传 .pdf, .txt, .md, .json, .csv, .py, .js, .ts 等文件",
|
||
"animatedDiagram": "动画图表",
|
||
"animatedDescription": "绘制带有动画连接器的 Transformer 架构",
|
||
"awsArchitecture": "AWS 架构",
|
||
"awsDescription": "使用 AWS 图标创建云架构图",
|
||
"replicateFlowchart": "复刻流程图",
|
||
"replicateDescription": "上传并复制现有流程图",
|
||
"creativeDrawing": "创意绘画",
|
||
"creativeDescription": "绘制有趣且富有创意的内容",
|
||
"cachedNote": "示例使用保存好的答案,立即显示,不调用 AI。",
|
||
"mcpServer": "MCP 服务器",
|
||
"mcpDescription": "在 Claude Desktop、VS Code 和 Cursor 中使用"
|
||
},
|
||
"settings": {
|
||
"title": "设置",
|
||
"description": "配置您的应用程序设置。",
|
||
"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": "界面用浅色还是深色,画布跟随同一主题。",
|
||
"diagramStyle": "图形风格",
|
||
"diagramStyleDescription": "AI 画新图时的风格:精致会用颜色和图标,简约只用朴素的图形。",
|
||
"sendShortcut": "发送快捷键",
|
||
"sendShortcutDescription": "选择发送消息的方式。",
|
||
"enterToSend": "回车发送",
|
||
"ctrlEnterToSend": "Cmd/Ctrl+回车发送",
|
||
"diagramActions": "图表操作",
|
||
"diagramActionsDescription": "管理图表历史记录和导出",
|
||
"history": "历史记录",
|
||
"download": "下载",
|
||
"proxy": "代理设置",
|
||
"proxyDescription": "配置 API 请求的 HTTP/HTTPS 代理(仅桌面版)",
|
||
"httpProxy": "HTTP 代理",
|
||
"httpsProxy": "HTTPS 代理",
|
||
"applyProxy": "应用",
|
||
"proxyApplied": "代理设置已应用",
|
||
"diagramValidation": "用截图检查图表(实验性)",
|
||
"diagramValidationDescription": "每次画完后,让能看懂图片的模型检查截图并要求修正。需要能读图片的模型。",
|
||
"customSystemMessage": "自定义指令",
|
||
"customSystemMessageDescription": "添加自定义指令,将附加到 AI 的系统提示末尾。",
|
||
"customSystemMessagePlaceholder": "例如:图表始终使用蓝色配色方案...",
|
||
"maxOutputTokens": "输出 token 上限",
|
||
"maxOutputTokensDescription": "单次回复的额度,思考过程和图表 XML 共用。如果 AI 一直在思考却没有生成图表,请把它调大。留空则使用默认值。",
|
||
"tabModels": "模型",
|
||
"tabAbout": "关于",
|
||
"themeLight": "浅色",
|
||
"themeDarkMode": "深色",
|
||
"themeSystem": "跟随系统",
|
||
"accessCodeSaved": "访问码已保存",
|
||
"proxyInvalid": "代理地址必须以 http:// 或 https:// 开头",
|
||
"proxyFailed": "代理设置没有生效",
|
||
"appVersion": "版本",
|
||
"projectWebsite": "项目网站",
|
||
"tabGeneral": "通用",
|
||
"tabDrawing": "绘图",
|
||
"sectionInterface": "界面",
|
||
"sectionAccess": "访问"
|
||
},
|
||
"save": {
|
||
"title": "导出图纸",
|
||
"description": "选择格式和文件名。",
|
||
"format": "格式",
|
||
"filename": "文件名",
|
||
"filenamePlaceholder": "输入文件名",
|
||
"formats": {
|
||
"drawio": "draw.io 文件",
|
||
"png": "PNG 图片",
|
||
"svg": "SVG 图片",
|
||
"xmlsvg": "可编辑的 SVG"
|
||
},
|
||
"savedSuccessfully": "已导出",
|
||
"hints": {
|
||
"drawio": "所有内容都能继续编辑",
|
||
"png": "用于幻灯片和文档的图片",
|
||
"svg": "放大也不会模糊的图片",
|
||
"xmlsvg": "图片,也能在 draw.io 里打开编辑"
|
||
}
|
||
},
|
||
"dialogs": {
|
||
"clearSuccess": "已开始新对话"
|
||
},
|
||
"errors": {
|
||
"maxFiles": "文件太多。最多允许 {max} 个。",
|
||
"onlyMoreAllowed": "只能再添加 {slots} 个文件",
|
||
"fileExceeds": "\"{name}\" 大小为 {size}(超过 {max}MB)",
|
||
"unsupportedType": "\"{name}\" 不是支持的文件类型",
|
||
"filesRejected": "{count} 个文件被拒绝:",
|
||
"andMore": "...还有 {count} 个",
|
||
"invalidAccessCode": "无效或缺少访问码。请在设置中配置。",
|
||
"networkError": "网络错误。请检查您的连接。",
|
||
"retryLimit": "已达到自动重试限制({max})。请手动重试。",
|
||
"continuationRetryLimit": "已达到继续重试限制({max})。图表可能过于复杂。",
|
||
"sessionCorrupted": "会话数据已损坏。重新开始。",
|
||
"failedToSave": "无法保存消息到 localStorage",
|
||
"failedToRestore": "无法从 localStorage 恢复",
|
||
"failedToPersist": "卸载前无法持久化状态",
|
||
"failedToExport": "获取图表数据时出错",
|
||
"failedToLoadExample": "加载示例图片时出错",
|
||
"failedToRecordFeedback": "记录您的反馈失败。请重试。",
|
||
"storageUpdateFailed": "聊天已清除,但无法更新浏览器存储",
|
||
"sessionSaveFailed": "无法保存这个对话。浏览器存储空间可能已满,请在历史记录里删除旧对话后重试。",
|
||
"sessionSaveFailedLeave": "无法保存这个对话,浏览器存储空间可能已满。可以不保存它、直接继续,再在新对话的列表里删除旧对话。",
|
||
"continueWithoutSaving": "不保存,继续",
|
||
"notADiagramFile": "{name} 不是 draw.io 图表文件。",
|
||
"fileTooLong": "{name}:内容超过了 {limit}k 字符的上限({size}k 字符)",
|
||
"fileReadFailed": "无法读取文件:{name}",
|
||
"answerEndedEarly": "回答在图画完之前就结束了。",
|
||
"attachmentsStillReading": "附件还在读取,读完后再发送。",
|
||
"sendInProgress": "上一条消息还在发送,请稍后再试。",
|
||
"answerInProgress": "回答还在进行,等它结束后再发送。",
|
||
"cannotResend": "这条消息无法重新发送:发送时的画布没有保存下来。",
|
||
"llm": {
|
||
"invalid_api_key": "服务商拒绝了这个 API Key,请在模型设置里检查。",
|
||
"forbidden": "服务商拒绝了这次请求。这个 Key 可能没有使用该模型或该地区的权限。",
|
||
"server_key_forbidden": "今天的免费额度已经用完,明天会自动恢复。您也可以在模型设置里填写自己的 API Key 继续使用。",
|
||
"model_not_found": "服务商找不到这个模型,请在模型设置里检查模型 ID。",
|
||
"insufficient_quota": "服务商账户的余额或额度已经用完。",
|
||
"rate_limited": "服务商正在限制请求频率,请稍等片刻再试。",
|
||
"context_too_long": "对话内容超过了这个模型能处理的长度。请新开一个对话,或换一个上下文更长的模型。",
|
||
"images_unsupported": "这个模型不支持图片输入。",
|
||
"tools_unsupported": "这个模型不支持工具调用,而画图需要工具调用。请换一个模型。",
|
||
"output_truncated": "输出在图画完之前就被截断了。请简化请求,或在设置里调高输出上限。",
|
||
"provider_unavailable": "服务商出了问题,请稍后再试。",
|
||
"cannot_connect": "连接不上服务商,请检查 Base URL 和网络。",
|
||
"timeout": "服务商没有及时响应。",
|
||
"openModelSettings": "打开模型设置"
|
||
}
|
||
},
|
||
"quota": {
|
||
"dailyLimit": "已达每日配额",
|
||
"tokenLimit": "已达每日 token 上限",
|
||
"tpmLimit": "速率限制",
|
||
"tpmMessage": "请求过多。请稍等片刻。",
|
||
"tpmMessageDetailed": "达到速率限制(每分钟 {limit} token)。请等待 {seconds} 秒后再发送请求。",
|
||
"messageApi": "看来您今天的体验次数已达上限。很高兴您玩得开心;为了让大家都能公平使用,演示站对用量做了限制。",
|
||
"messageApiSelfHosted": null,
|
||
"messageToken": "看来您今天的 token 用量已达上限。很高兴您玩得开心;为了让大家都能公平使用,演示站对用量做了限制。",
|
||
"messageTokenSelfHosted": null,
|
||
"tip": "<strong>提示:</strong>您可以使用自己的 API Key(点击设置图标)或自托管项目来绕过这些限制。",
|
||
"tipSelfHosted": "<strong>提示:</strong>您可以在设置中配置自己的 API Key 以继续使用服务。",
|
||
"reset": "您的限制将在明天重置。感谢您的理解。",
|
||
"configModel": "使用自己的 API Key",
|
||
"selfHost": "自托管",
|
||
"sponsor": "赞助",
|
||
"learnMore": "了解更多 →",
|
||
"usedOf": "{used}/{limit}"
|
||
},
|
||
"tools": {
|
||
"truncated": "已截断"
|
||
},
|
||
"file": {
|
||
"reading": "读取中...",
|
||
"chars": "字符",
|
||
"removeFile": "移除文件"
|
||
},
|
||
"url": {
|
||
"title": "从 URL 提取内容",
|
||
"description": "粘贴 URL 以提取和分析其内容",
|
||
"Extracting": "提取中...",
|
||
"extract": "提取",
|
||
"Cancel": "取消",
|
||
"enterUrl": "请输入 URL",
|
||
"invalidFormat": "URL 格式无效",
|
||
"failed": "无法读取这个网页"
|
||
},
|
||
"reasoning": {
|
||
"thinking": "思考中...",
|
||
"thoughtFor": "思考了 {duration} 秒",
|
||
"thoughtForOne": "思考了 1 秒",
|
||
"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": "图纸和它的对话会被永久删除。",
|
||
"justNow": "刚刚",
|
||
"searchPlaceholder": "搜索图纸…",
|
||
"noResults": "未找到对话",
|
||
"rename": "重命名",
|
||
"busyHint": "回答完成后才能切换"
|
||
},
|
||
"templates": {
|
||
"emptyTitle": "还没有常用提示词",
|
||
"emptyDescription": "把经常用的提示词存起来,比如“画一张……的 AWS 架构图”,之后会出现在这里。",
|
||
"createFirst": "保存第一个提示词",
|
||
"neverUsed": "未使用过",
|
||
"usedCount": "使用 {count} 次",
|
||
"myTemplates": "常用提示词",
|
||
"createTitle": "保存提示词",
|
||
"createDescription": "把提示词存起来,以后再用。",
|
||
"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} 个重复",
|
||
"saveDisabledHint": "先在输入框里写好提示词"
|
||
},
|
||
"validation": {
|
||
"title": "验证图表",
|
||
"capturing": "截图中",
|
||
"validating": "验证中",
|
||
"validatingWithAttempt": "验证中 ({attempt}/{max})",
|
||
"valid": "通过",
|
||
"validWithWarnings": "通过(有警告)",
|
||
"issuesFound": "发现问题",
|
||
"error": "错误",
|
||
"skipped": "已跳过",
|
||
"capturedScreenshot": "截图预览:",
|
||
"issuesFoundLabel": "发现的问题:",
|
||
"suggestions": "建议:",
|
||
"passedValidation": "图表通过视觉验证 - 未发现问题。",
|
||
"improvementRequested": "改进请求已发送 - 请查看下方新图表",
|
||
"improveWithSuggestions": "根据建议改进",
|
||
"regenerateWithFeedback": "使用验证反馈重新生成图表"
|
||
},
|
||
"modelConfig": {
|
||
"configure": "配置",
|
||
"addProvider": "添加服务商",
|
||
"addModel": "添加模型",
|
||
"modelId": "模型 ID",
|
||
"modelLabel": "显示名称",
|
||
"streaming": "启用流式输出",
|
||
"deleteProvider": "删除服务商",
|
||
"deleteModel": "删除模型",
|
||
"noModels": "尚未配置模型。添加模型以开始使用。",
|
||
"validationError": "测试没通过",
|
||
"addModelFirst": "先添加一个模型。",
|
||
"displayName": "显示名称",
|
||
"bedrockApiKey": "Bedrock API Key",
|
||
"bedrockApiKeyHint": "填了 API 密钥,下面的访问密钥就不用填。",
|
||
"awsAccessKeyId": "AWS 访问密钥 ID",
|
||
"awsSecretAccessKey": "AWS Secret Access Key",
|
||
"awsRegion": "AWS 区域",
|
||
"selectRegion": "选择区域",
|
||
"apiKey": "API Key",
|
||
"enterApiKey": "输入 API Key",
|
||
"enterSecretKey": "输入 Secret Access Key",
|
||
"baseUrl": "基础 URL",
|
||
"optional": "(可选)",
|
||
"getApiKey": "获取 API Key",
|
||
"noTools": "不支持工具调用",
|
||
"mayNotDraw": "models.dev 显示这个模型不支持工具调用,可能无法画图。",
|
||
"requestUrl": "请求将发往 {url}",
|
||
"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": "已全部添加",
|
||
"modelIdEmpty": "模型 ID 不能为空",
|
||
"modelIdExists": "此模型 ID 已存在",
|
||
"deleteConfirmDesc": "确定要删除 {name} 吗?这将移除所有配置的模型且无法撤销。",
|
||
"typeToConfirm": "输入 \"{name}\" 以确认",
|
||
"typeProviderName": "输入服务商名称...",
|
||
"requestFailed": "请求失败({status})",
|
||
"cancel": "取消",
|
||
"delete": "删除",
|
||
"clickToChange": "(点击更改)",
|
||
"usingServerDefault": "使用服务器默认模型",
|
||
"selectModel": "选择模型",
|
||
"searchModels": "搜索模型...",
|
||
"noModelsFound": "未找到模型。",
|
||
"default": "默认",
|
||
"serverDefault": "服务器模型",
|
||
"serverModels": "服务器模型",
|
||
"userModels": "用户模型",
|
||
"configureModels": "配置模型...",
|
||
"serverDefaultModel": "服务器默认模型",
|
||
"showValue": "显示值",
|
||
"hideValue": "隐藏值",
|
||
"myProviders": "我的服务商",
|
||
"inUse": "正在使用",
|
||
"listSeparator": "、",
|
||
"serverModelsTitle": "服务器提供的模型",
|
||
"serverDefaultSummary": "不用填写 API Key,使用服务器配置的默认模型。",
|
||
"statusError": "{count} 个模型出错",
|
||
"statusIncomplete": "还没设置完",
|
||
"statusUntested": "{count} 个模型未测试",
|
||
"statusOk": "{count} 个模型可用",
|
||
"noModelsYet": "还没有模型",
|
||
"keysStayLocal": "API Key 只保存在这台设备的浏览器里,发请求时才带给服务器。",
|
||
"useOwnKey": "用自己的 API Key",
|
||
"useOwnKeyHint": "接入其他服务商后,就能在聊天框的模型选择器里换用它们的模型。选一个开始:",
|
||
"viewAllProviders": "查看全部 {count} 个服务商",
|
||
"searchProviders": "搜索服务商,比如 DeepSeek、Qwen、Ollama",
|
||
"noProvidersFound": "没有找到这个服务商。",
|
||
"groupVendors": "模型厂商",
|
||
"groupAggregators": "聚合平台",
|
||
"groupCloud": "云平台",
|
||
"groupSelfHosted": "自己部署",
|
||
"noteBedrock": "AWS 凭证",
|
||
"noteVertex": "Express 模式 Key",
|
||
"noteAzure": "Key 和资源地址",
|
||
"noteEdgeone": "不用 Key",
|
||
"noteOllama": "Key 可不填",
|
||
"noteSglang": "填服务地址",
|
||
"added": "已添加",
|
||
"awsCredentials": "AWS 凭证",
|
||
"bedrockAuthApiKey": "Bedrock API Key",
|
||
"bedrockAuthAccessKey": "访问密钥",
|
||
"moreOptions": "更多选项:Base URL、显示名称",
|
||
"moreOptionsName": "更多选项:显示名称",
|
||
"keyRejected": "服务商拒绝了这个 API Key。检查上面的 Key 是否复制完整。",
|
||
"modelNotFound": "服务商找不到这个模型 ID,请检查拼写。",
|
||
"modelWorks": "可用",
|
||
"modelWorksTime": "可用 · {seconds} 秒",
|
||
"modelFailed": "出错",
|
||
"modelUntested": "未测试",
|
||
"needKey": "先填好 API Key。",
|
||
"needAws": "先填好 AWS 凭证和区域。",
|
||
"needModel": "先添加一个模型。",
|
||
"stepConnect": "连接",
|
||
"edgeoneNoKey": "EdgeOne Pages 使用这个网站部署时自带的模型服务,不用填写 API Key。",
|
||
"stepModels": "选择模型",
|
||
"fetchAllModels": "从 {name} 获取全部模型",
|
||
"suggestedLabel": "推荐:",
|
||
"orTypeModelId": "或者输入其他模型 ID",
|
||
"add": "添加",
|
||
"browseModels": "浏览模型",
|
||
"stepTest": "测试",
|
||
"testHint": "给每个模型发一条很短的消息,确认 Key 和模型都能用。",
|
||
"testOne": "测试 {model}",
|
||
"testAll": "测试全部 {count} 个模型",
|
||
"testPassedOne": "{model} 可以用了",
|
||
"testPassedAll": "{count} 个模型都可以用了",
|
||
"answeredIn": "(回复用了 {seconds} 秒)",
|
||
"useInChat": "在聊天里使用 {model}",
|
||
"backToProviders": "返回服务商列表",
|
||
"deleteProviderOnly": "删除 {name}",
|
||
"addProviderEntry": "添加服务商…",
|
||
"awsKeysRejected": "AWS 拒绝了这组访问密钥。检查两个密钥是否都复制完整。",
|
||
"needAzure": "先填好 API Key 和 Azure 资源的 Base URL。",
|
||
"validationFailedCountOne": "{count} 个模型没通过测试",
|
||
"validationFailedCountOther": "{count} 个模型没通过测试",
|
||
"deleteProviderNamedOne": "删除 {name} 和它的 {count} 个模型",
|
||
"deleteProviderNamedOther": "删除 {name} 和它的 {count} 个模型",
|
||
"serverModelsSummaryOne": "不用填写 API Key。共 {count} 个:{names}",
|
||
"serverModelsSummaryOther": "不用填写 API Key。共 {count} 个:{names}",
|
||
"noModelsReturned": "服务商没有返回任何模型。",
|
||
"awsSessionToken": "AWS Session Token(可选)",
|
||
"awsSessionTokenHint": "只有临时凭证才需要,也就是以 ASIA 开头的访问密钥。",
|
||
"bedrockBothSaved": "这个服务商还保存着一对访问密钥,有 API Key 时它们不会被用到。",
|
||
"removeAccessKeys": "删除访问密钥"
|
||
},
|
||
"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": "给所有用户用的模型,无需自带密钥",
|
||
"addProviderHint": "添加服务商,为所有用户提供模型",
|
||
"selectProviderHint": "选择或添加服务商,填写密钥和模型",
|
||
"addProviderToOfferModels": "至少添加一个模型,用户才能看到这个服务商",
|
||
"managedViaEnv": "(环境变量)",
|
||
"envReadOnly": "由 AI_MODELS_CONFIG / ai-models.json 定义,这里只能查看,请到那里修改",
|
||
"defaultModel": "默认模型",
|
||
"noModelsConfigured": "暂无模型",
|
||
"modelCount": "{count} 个模型",
|
||
"modelCountPlural": "{count} 个模型",
|
||
"default": "默认",
|
||
"setAsDefault": "设为默认服务商",
|
||
"defaultProvider": "默认服务商",
|
||
"modelIdPlaceholder": "模型 ID…",
|
||
"addModel": "添加模型",
|
||
"suggested": "推荐",
|
||
"test": "测试",
|
||
"testOk": "通过({ms} 毫秒)",
|
||
"testFailed": "失败",
|
||
"removeModel": "删除 {model}",
|
||
"deleteProviderTitle": "删除 {name}?",
|
||
"deleteProviderDesc": "保存后,它的密钥和模型会从服务器删除",
|
||
"cancel": "取消",
|
||
"delete": "删除",
|
||
"groups": {
|
||
"generation": {
|
||
"title": "回复设置",
|
||
"description": "控制 AI 怎么回复,对所有对话生效"
|
||
},
|
||
"access": {
|
||
"title": "访问权限",
|
||
"description": "限制谁可以使用这个站点"
|
||
},
|
||
"features": {
|
||
"title": "可选功能",
|
||
"description": "附加功能和安全选项"
|
||
},
|
||
"observability": {
|
||
"title": "调用记录",
|
||
"description": "用 Langfuse 记录模型调用"
|
||
},
|
||
"quota": {
|
||
"title": "用量限制",
|
||
"description": "按 IP 限制用量,需要 DynamoDB 表才生效"
|
||
}
|
||
},
|
||
"settings": {
|
||
"TEMPERATURE": {
|
||
"label": "温度",
|
||
"description": "越高越随机;不支持温度的推理模型请留空"
|
||
},
|
||
"MAX_OUTPUT_TOKENS": {
|
||
"label": "输出 token 上限"
|
||
},
|
||
"ACCESS_CODE_LIST": {
|
||
"label": "访问码",
|
||
"description": "逗号分隔多个;输入其中一个才能用;留空则不限"
|
||
},
|
||
"ENABLE_VLM_VALIDATION": {
|
||
"label": "图表检查",
|
||
"description": "画完后让能看图的模型检查截图"
|
||
},
|
||
"VALIDATION_MODEL": {
|
||
"label": "检查模型",
|
||
"description": "留空则用默认模型"
|
||
},
|
||
"VALIDATION_TIMEOUT": {
|
||
"label": "检查超时(毫秒)"
|
||
},
|
||
"ENABLE_HISTORY_XML_REPLACE": {
|
||
"label": "精简旧图",
|
||
"description": "对话历史里的旧图表只留简短标记"
|
||
},
|
||
"ALLOW_PRIVATE_URLS": {
|
||
"label": "访问内网",
|
||
"description": "关闭后,自定义模型地址不能指向内网,更安全"
|
||
},
|
||
"LANGFUSE_PUBLIC_KEY": {
|
||
"label": "Langfuse 公钥"
|
||
},
|
||
"LANGFUSE_SECRET_KEY": {
|
||
"label": "Langfuse 密钥"
|
||
},
|
||
"LANGFUSE_BASEURL": {
|
||
"label": "Langfuse 地址"
|
||
},
|
||
"DAILY_REQUEST_LIMIT": {
|
||
"label": "每日请求",
|
||
"description": "每个 IP 每天的请求次数上限"
|
||
},
|
||
"DAILY_TOKEN_LIMIT": {
|
||
"label": "每日 token",
|
||
"description": "每个 IP 每天的 token 用量上限"
|
||
},
|
||
"TPM_LIMIT": {
|
||
"label": "每分钟 token"
|
||
},
|
||
"DYNAMODB_QUOTA_TABLE": {
|
||
"label": "DynamoDB 表名",
|
||
"description": "留空则不限制用量"
|
||
},
|
||
"DYNAMODB_REGION": {
|
||
"label": "DynamoDB 区域"
|
||
},
|
||
"QUOTA_TIMEZONE": {
|
||
"label": "时区",
|
||
"description": "每日用量按这个时区的零点重置"
|
||
}
|
||
}
|
||
},
|
||
"workspace": {
|
||
"export": "导出",
|
||
"openFile": "打开 .drawio 文件",
|
||
"canvasLoading": "正在加载画布…",
|
||
"askAi": "让 AI 改这里",
|
||
"untitled": "未命名图纸",
|
||
"mobileCanvas": "画布",
|
||
"mobileChat": "对话"
|
||
},
|
||
"selection": {
|
||
"one": "已选:{label}",
|
||
"many": "已选 {count} 个图形",
|
||
"shape": "图形",
|
||
"connector": "连线",
|
||
"remove": "不发送选中的图形",
|
||
"placeholder": "说说要怎么改选中的图形"
|
||
},
|
||
"versions": {
|
||
"strip": "版本",
|
||
"created": "画好了图表",
|
||
"edited": "改好了图表",
|
||
"undone": "这次修改已撤销",
|
||
"undo": "撤销修改",
|
||
"redo": "重做修改",
|
||
"compare": "对比",
|
||
"compareTitle": "对比版本",
|
||
"currentCanvas": "现在的画布",
|
||
"versionLabel": "第 {n} 版",
|
||
"previous": "上一版",
|
||
"next": "下一版",
|
||
"rendering": "正在生成预览…",
|
||
"showCode": "查看 XML",
|
||
"hideCode": "收起 XML",
|
||
"drawing": "正在画图…",
|
||
"editing": "正在修改图表…",
|
||
"loadingLibrary": "正在读取图形库…",
|
||
"libraryLoaded": "读取了图形库",
|
||
"failed": "这次没有成功",
|
||
"failedRetrying": "这次没有成功,正在重试",
|
||
"stopped": "已停止",
|
||
"truncatedHint": "回复达到了输出长度上限,图表没有画完。可以要一张简单些的图,或者在 设置 > 绘图 里调高最大输出长度。",
|
||
"noChanges": "没有可见的变化",
|
||
"listSeparator": ",",
|
||
"shapesAddedOne": "新增 1 个图形",
|
||
"shapesAddedOther": "新增 {count} 个图形",
|
||
"edgesAddedOne": "新增 1 条连线",
|
||
"edgesAddedOther": "新增 {count} 条连线",
|
||
"shapesChangedOne": "改了 1 个图形",
|
||
"shapesChangedOther": "改了 {count} 个图形",
|
||
"edgesChangedOne": "改了 1 条连线",
|
||
"edgesChangedOther": "改了 {count} 条连线",
|
||
"shapesRemovedOne": "删了 1 个图形",
|
||
"shapesRemovedOther": "删了 {count} 个图形",
|
||
"edgesRemovedOne": "删了 1 条连线",
|
||
"edgesRemovedOther": "删了 {count} 条连线",
|
||
"totals": "共 {shapes}、{edges}",
|
||
"shapesTotalOne": "1 个图形",
|
||
"shapesTotalOther": "{count} 个图形",
|
||
"edgesTotalOne": "1 条连线",
|
||
"edgesTotalOther": "{count} 条连线",
|
||
"restoreVersion": "恢复到 v{n}",
|
||
"restoredVersion": "已恢复到 v{n}",
|
||
"undoRestore": "撤销",
|
||
"noPreview": "没有预览",
|
||
"compareSince": "从第 {n} 版到现在,画布上:",
|
||
"isOnCanvas": "画布现在显示的就是这一版。",
|
||
"differsElsewhere": "第一页的形状和连线与第 {n} 版相同,叠放顺序、其他页面或页面设置有改动。"
|
||
},
|
||
"lobby": {
|
||
"title": "说说你要画什么",
|
||
"lede": "描述一张图,或上传截图、PDF。得到的是可以继续编辑和导出的 draw.io 图。",
|
||
"placeholder": "比如:用户登录的时序图,包含短信验证码和失败重试",
|
||
"recent": "最近的图纸",
|
||
"drawYourself": "从空白画布开始",
|
||
"openFileHint": "接着编辑已有的图"
|
||
}
|
||
}
|