Files
WeKnora/frontend/src/i18n/locales/zh-CN.ts
wizardchen 83808cc5b7 feat(frontend): improve agent and KB editor ID display and intent prompts UX
Expose copyable resource IDs in edit modals and replace the intent prompt
dropdown with independent toggle buttons so multi-intent selection wraps cleanly.
2026-05-28 21:11:49 +08:00

4999 lines
210 KiB
TypeScript
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
export default {
menu: {
knowledgeBase: "知识库",
agents: "智能体",
organizations: "共享空间",
chat: "对话",
createChat: "创建对话",
tenant: "账户信息",
settings: "系统设置",
logout: "退出登录",
uploadKnowledge: "上传知识",
deleteRecord: "删除记录",
clearMessages: "清空消息",
clearMessagesSuccess: "消息已清空",
clearMessagesFailed: "清空消息失败,请稍后再试",
batchManage: "批量管理",
newSession: "新会话",
pin: "置顶",
unpin: "取消置顶",
pinned: "已置顶",
pinFailed: "置顶失败,请稍后再试",
unpinFailed: "取消置顶失败,请稍后再试",
confirmLogout: "确定要退出登录吗?",
systemInfo: "系统信息",
search: "搜索",
collapseSidebar: "收起侧边栏",
expandSidebar: "展开侧边栏",
logoutSuccess: "已退出登录",
},
batchManage: {
title: "管理对话记录",
selectAll: "全选",
cancel: "取消",
delete: "删除对话",
deleteConfirmTitle: "删除对话",
deleteConfirmBody: "确定要删除选中的 {count} 条对话吗?删除后无法恢复。",
deleteAllConfirmBody: "确定要删除所有对话吗?此操作无法恢复。",
deleteSuccess: "删除成功",
deleteFailed: "删除失败,请稍后再试",
noSelection: "请至少选择一条对话",
loadFailed: "加载会话列表失败",
},
listSpaceSidebar: {
title: "筛选",
all: "全部",
workspace: "本空间",
mine: "我的",
spaces: "共享给我",
favorites: "收藏",
recents: "最近",
},
listFilter: {
creator: "创建者",
allCreators: "全部",
createdByMe: "我创建的",
createdByOthers: "他人创建的",
},
resourceOrigin: {
mine: "我创建",
mineTooltip: "由当前用户创建",
tenant: "本空间",
tenantTooltip: "本空间其他成员创建",
tenantTooltipWithCreator: "由 {creator} 创建",
space: "共享空间",
spaceTooltip: "来自共享空间「{space}」",
spaceTooltipWithTenant: "来自共享空间「{space}」· 源空间 {tenant}",
shared: "外部共享",
sharedTooltip: "通过共享空间从其他空间访问",
},
knowledgeBase: {
title: "知识库",
list: "知识库列表",
fileContent: "文件内容",
detail: "知识库详情",
accessInfo: {
myRole: "我的身份",
roleOwner: "创建者",
permissionOwner: "可编辑、管理设置、删除知识库",
permissionAdmin: "可编辑、管理共享设置",
permissionEditor: "可编辑文档与分类",
permissionViewer: "仅查看与检索",
fromOrg: "来自空间",
sharedAt: "共享于",
lastUpdated: "最后更新",
},
infoCard: {
tooltip: "查看知识库信息",
title: "知识库信息",
basic: "基础",
access: "访问",
binding: "存储绑定",
capabilities: "能力",
stats: "统计",
type: "类型",
createdAt: "创建时间",
source: "来源",
sharedTo: "共享范围",
enabled: "已启用",
vectorStore: "向量存储",
fileStorage: "文件存储",
documentCount: "文档数",
faqCount: "问答数",
supportedFileTypes: "可上传格式",
chunking: "分块",
parentShort: "父",
childShort: "子",
},
create: "创建知识库",
edit: "编辑知识库",
delete: "删除知识库",
name: "名称",
description: "描述",
files: "文件",
settings: "设置",
documentCategoryTitle: "文档分类",
faqCategoryTitle: "问题分类",
untagged: "未分类",
tagClearAction: "取消分类",
tagUpdateSuccess: "标签更新成功",
tagSearchTooltip: "搜索标签",
category: "分类",
tagCreateAction: "新建标签",
tagSearchPlaceholder: "输入标签名称关键字",
tagNamePlaceholder: "请输入标签名称",
tagNameRequired: "请先输入标签名称",
tagCreateSuccess: "标签创建成功",
tagEditSuccess: "标签更新成功",
tagDeleteTitle: "删除标签",
tagDeleteDesc: '确定删除标签"{name}"?该标签下的所有 FAQ 条目将被一并删除',
tagDeleteDescDoc: '确定删除标签"{name}"?该标签下的所有文档将被一并删除',
tagDeleteSuccess: "标签已删除",
tagEditAction: "重命名",
tagDeleteAction: "删除",
tagEmptyResult: "未找到匹配的标签",
tagLabel: "分类",
tagPlaceholder: "请选择分类",
noTags: "暂无分类",
upload: "上传文件",
uploadSuccess: "文件上传成功!",
uploadFailed: "文件上传失败!",
fileExists: "文件已存在",
uploadingMultiple: "正在上传 {total} 个文件...",
uploadAllSuccess: "成功上传 {count} 个文件!",
uploadPartialSuccess: "上传完成:成功 {success} 个,失败 {fail} 个",
uploadAllFailed: "所有文件上传失败",
uploadingFolder: "正在上传文件夹中的 {total} 个文件...",
uploadingValidFiles: "正在上传 {valid}/{total} 个有效文件...",
noValidFiles: "没有有效的文件",
noValidFilesInFolder: "文件夹中的 {total} 个文件均不支持",
noValidFilesSelected: "选中的文件均不支持",
hiddenFilesFiltered: "已过滤 {count} 个隐藏文件",
imagesFilteredNoVLM: "已过滤 {count} 个图片文件(未启用VLM)",
videosFilteredNoVLM: "已跳过 {count} 个视频文件(暂不支持视频上传)",
audiosFilteredNoASR: "已过滤 {count} 个音频文件(未启用ASR)",
invalidFilesFiltered: "已过滤 {count} 个不支持的文件",
unsupportedFileType: "不支持的文件格式",
unsupportedTypesHint: "部分文档类型({types})暂无可用解析引擎,上传后将无法解析",
goToParserSettings: "前往配置",
failedFilesList: "失败文件列表:",
andMoreFiles: "...及其他 {count} 个文件",
duplicateFilesSkipped: "已忽略 {count} 个重复文件",
uploadFile: "上传文件",
uploadFileDesc: "支持 PDF、Word、TXT、图片、音频等",
importURL: "导入网页",
addDocument: "添加文档",
importURLDesc: "通过URL链接导入",
importURLTitle: "导入网页",
manualCreate: "手动创建",
manualCreateDesc: "直接编写文档内容",
urlRequired: "请输入URL",
invalidURL: "请输入有效的URL",
urlImportSuccess: "URL导入成功",
urlImportFailed: "URL导入失败",
urlExists: "该URL已存在",
urlLabel: "URL地址",
urlPlaceholder: "请输入网页URL例如https://example.com",
urlTip: "支持导入各类网页内容,系统会自动提取和解析网页中的文本内容",
typeURL: "网页",
typeManual: "手动创建",
typeFile: "文件",
channelLabel: "来源渠道",
channelWeb: "网页端",
channelApi: "API",
channelBrowserExtension: "浏览器插件",
channelWechat: "微信",
channelWecom: "企业微信",
channelFeishu: "飞书",
channelDingtalk: "钉钉",
channelSlack: "Slack",
channelIm: "IM 渠道",
channelNotion: "Notion",
channelYuque: "语雀",
channelUpload: "上传",
channelManual: "手动",
channelUrl: "网页",
channelUnknown: "未知",
urlSource: "来源网址",
documentTitle: "文档标题",
webContent: "网页内容",
documentContent: "文档内容",
importTime: "导入时间",
createTime: "创建时间",
createdAt: "创建",
updatedAt: "更新",
clickToViewFull: "点击卡片查看全文与分段",
characters: "字符",
segment: "片段",
chunkCount: "共 {count} 个片段",
viewOriginal: "查看原文件",
viewChunks: "查看分块",
viewMerged: "全文",
originalFileNotSupported: "该文件类型不支持原文件展示,请下载查看",
loadOriginalFailed: "加载原文件内容失败",
questions: "问题",
generatedQuestions: "生成的问题",
childChunk: "子块",
viewParentContext: "查看父块上下文",
parentContextLoadFailed: "加载父上下文失败",
confirmDeleteQuestion: "确定要删除这个问题吗?删除后将同时移除对应的向量索引。",
legacyQuestionCannotDelete: "旧格式问题无法删除,请重新生成问题",
docActionUnsupported: "当前知识库类型不支持该操作",
notInitialized:
"该知识库尚未完成初始化配置,请先前往设置页面配置模型信息后再上传文件",
missingStorageEngine:
"该知识库尚未选择存储引擎,请先前往设置页面配置存储引擎后再上传内容。",
missingStorageEngineUpload: "请先配置存储引擎后再上传内容",
goToStorageSettings: "前往配置",
getInfoFailed: "获取知识库信息失败,无法上传文件",
missingId: "缺少知识库ID",
deleteFailed: "删除失败,请稍后再试!",
quickActions: "快捷操作",
createKnowledgeBase: "创建知识库",
knowledgeBaseName: "知识库名称",
enterName: "输入知识库名称",
embeddingModel: "嵌入模型",
selectEmbeddingModel: "选择嵌入模型",
summaryModel: "摘要模型",
selectSummaryModel: "选择摘要模型",
rerankModel: "重排序模型",
selectRerankModel: "选择重排序模型(可选)",
createSuccess: "知识库创建成功",
createFailed: "知识库创建失败",
updateSuccess: "知识库更新成功",
updateFailed: "知识库更新失败",
deleteConfirm: "确定要删除此知识库吗?",
fileName: "文件名称",
fileSize: "文件大小",
uploadTime: "上传时间",
status: "状态",
actions: "操作",
processing: "处理中",
completed: "已完成",
failed: "失败",
noFiles: "暂无文件",
dragFilesHere: "拖拽文件至此或",
clickToUpload: "点击上传",
supportedFormats: "支持格式",
maxFileSize: "最大文件大小",
viewDetails: "查看详情",
downloadFile: "下载文件",
deleteFile: "删除文件",
confirmDeleteFile: "确定要删除此文件吗?",
totalFiles: "文件总数",
totalSize: "总大小",
newSession: "新会话",
editDocument: "编辑文档",
rebuildDocument: "重建知识",
rebuildConfirm: '确认重建文档"{fileName}"?该操作会清理现有分块并重新解析。',
rebuildSubmitted: "重建任务已提交",
rebuildFailed: "重建失败,请稍后再试",
rebuildInProgress: "当前文档正在解析中,请稍后重试",
cancelParse: "停止解析",
cancelParseConfirmBody: '确认停止解析"{title}"?已写入的分块会保留,可稍后通过"重建"重新触发;优化阶段(摘要 / 问答 / 知识图谱)的待执行任务会被立即丢弃。',
cancelParseSubmitted: "已停止解析",
cancelParseFailed: "停止失败,请稍后再试",
draft: "草稿",
draftTip: "暂存内容,未参与检索",
untitledDocument: "未命名文档",
deleteDocument: "删除文档",
moveDocument: "移动到...",
moveToKnowledgeBase: "移动到知识库",
moveSelectTarget: "选择目标知识库",
moveNoTargets: "没有兼容的目标知识库(需要相同类型和 Embedding 模型)",
moveMode: "移动模式",
moveModeReuseVectors: "复用向量(快速)",
moveModeReuseVectorsDesc: "直接移动分块和向量索引,适用于分片配置相同的情况",
moveModeReparse: "重新解析",
moveModeReparseDesc: "使用目标知识库的分片配置重新解析文档",
moveConfirm: "确认移动",
moveConfirmTitle: "确认移动设置",
moveStarted: "移动任务已提交",
moveFailed: "移动失败",
moveCompleted: "移动完成",
moveCompletedWithErrors: "移动完成:{success} 成功,{failed} 失败",
moveProgress: "正在移动...",
parsingFailed: "解析失败",
parsingInProgress: "解析中...",
generatingSummary: "生成摘要中...",
documentSummary: "摘要",
deleteConfirmation: "删除确认",
confirmDeleteDocument: '确认删除文档"{fileName}",删除后将无法恢复',
cancel: "取消",
confirmDelete: "确认删除",
viewModeGrid: "卡片视图",
viewModeList: "列表视图",
viewModeToggle: "切换视图",
columnName: "文件名",
columnTag: "标签",
columnSize: "大小",
columnType: "类型",
columnSource: "来源",
columnStatus: "状态",
columnUpdatedAt: "更新时间",
columnActions: "操作",
selectAll: "全选",
selectedCount: "已选 {count} 项",
clearSelection: "取消选择",
batchDelete: "批量删除",
batchDeleteConfirmation: "批量删除确认",
confirmBatchDeleteDocument: "确认删除选中的 {count} 个文档?删除后将无法恢复。",
batchDeleteSuccess: "成功删除 {count} 个文档",
batchDeleteFailed: "批量删除失败",
statusCompleted: "已完成",
statusProcessing: "解析中",
statusFinalizing: "优化中",
statusPending: "等待中",
statusFailed: "失败",
statusCancelled: "已取消",
statusDraft: "草稿",
selectKnowledgeBaseFirst: "请先选择知识库",
sessionCreationFailed: "创建会话失败",
sessionCreationError: "会话创建错误",
settingsParsingFailed: "设置解析失败",
fileUploadEventReceived:
"收到文件上传事件上传的知识库ID{uploadedKbId}当前知识库ID{currentKbId}",
matchingKnowledgeBase: "知识库匹配,开始更新文件列表",
routeParamChange: "路由参数变化,重新获取知识库内容",
fileUploadEventListening: "监听文件上传事件",
apiCallKnowledgeFiles: "直接调用API获取知识库文件列表",
responseInterceptorData:
"由于响应拦截器已返回dataresult是响应数据的一部分",
hookProcessing: "按照useKnowledgeBase hook方法处理",
errorHandling: "错误处理",
priorityCurrentPageKbId: "优先使用当前页面的知识库ID",
fallbackLocalStorageKbId:
"如果当前页面没有知识库ID尝试从localStorage的设置中获取知识库ID",
createNewKnowledgeBase: "创建知识库",
uninitializedWarning:
"部分知识库未初始化,需要先在设置中配置模型信息才能添加知识文档",
initializedStatus: "已初始化",
notInitializedStatus: "未初始化",
needSettingsFirst: "需要先在设置中配置模型信息才能添加知识",
documents: "文档",
configureModelsFirst: "请先在设置中配置模型信息",
confirmDeleteKnowledgeBase: "确认删除此知识库?",
createKnowledgeBaseDialog: "创建知识库",
enterNameKb: "输入名称",
enterDescriptionKb: "输入描述",
createKb: "创建",
deleted: "已删除",
deleteFailedKb: "删除失败",
noDescription: "无描述",
emptyKnowledgeDragDrop: "知识为空,拖放上传",
pdfDocFormat: "pdf、doc 格式文件不超过10M",
textMarkdownFormat: "text、markdown格式文件不超过200K",
dragFileNotText: "请拖拽文件而不是文本或链接",
searchPlaceholder: "搜索知识库...",
docSearchPlaceholder: "搜索文档名称...",
fileTypeFilter: "文件类型",
allFileTypes: "全部类型",
parseStatusFilter: "解析状态",
allParseStatuses: "全部状态",
parseStatusPending: "等待中",
parseStatusProcessing: "处理中",
parseStatusCompleted: "已完成",
parseStatusFailed: "失败",
sourceFilter: "来源",
allSources: "全部来源",
sourceWeb: "网页",
sourceApi: "API",
sourceBrowserExtension: "浏览器扩展",
sourceUpload: "本地上传",
sourceUrl: "URL 导入",
sourceManual: "手动创建",
updatedTimeFilter: "更新时间",
updatedTimeFrom: "起始时间",
updatedTimeTo: "结束时间",
noMatch: "未找到匹配的知识库",
noKnowledge: "暂无可用知识库",
loadingFailed: "加载知识库失败",
operationNotSupportedForType: "当前知识库类型不支持该操作",
allFilesSkippedNoEngine: "所选文件类型暂无可用解析引擎,已全部跳过",
filesSkippedNoEngine: "{count} 个文件因无可用解析引擎被跳过",
allUploadSuccess: "所有文件上传成功({count}个)",
partialUploadSuccess: "部分文件上传成功(成功:{success},失败:{fail}",
allUploadFailed: "所有文件上传失败({count}个)",
deleteSuccess: "知识删除成功!",
chunkLoadFailed: "分块加载失败",
},
knowledgeStages: {
title: "处理流水线",
root: "知识处理",
attempt: "第 {n} 次尝试",
attemptLatest: "第 {n} 次尝试(最新)",
retry: "重新解析",
refresh: "立即刷新",
copy: "复制",
copyDetails: "复制详情",
copied: "已复制到剪贴板",
close: "关闭",
live: "LIVE",
liveTooltip: "解析进行中,每 2 秒自动刷新一次",
autoRefreshOn: "自动刷新中",
autoRefreshOff: "已停止自动刷新",
fetchFailed: "最近 {n} 次刷新都失败了,数据可能已过期,点击刷新按钮重试",
fetchFailedShort: "刷新失败",
viewTrace: "查看 Trace",
traceBtn: "Trace",
expandBranch: "展开子项",
collapseBranch: "收起子项",
rowSelectHint: "点击查看详情;左侧箭头展开或收起子项",
resizeDrawer: "拖拽调整面板宽度",
justNow: "刚刚",
secondsAgo: "{n} 秒前",
minutesAgo: "{n} 分钟前",
noActivity: "暂无解析记录",
totalDuration: "总耗时:{d}",
total: "总耗时 {d}",
head: {
duration: "总耗时",
stages: "阶段",
stagesDone: "已完成阶段",
stagesProgress: "当前阶段",
stage: "阶段",
status: "状态",
attempt: "尝试",
updated: "更新于",
},
tab: {
overview: "概览",
raw: "原始 JSON",
},
detail: {
started: "开始",
finished: "结束",
duration: "耗时",
offset: "起点偏移",
timing: "时序",
identity: "身份信息",
stageBreakdown: "阶段分解",
stageOrder: "阶段顺序",
childCount: "子 span 数",
kind: "类型",
status: "状态",
name: "名称",
input: "输入",
output: "输出",
metadata: "元数据",
traceMetadata: "Trace 级元数据",
metadataHint: "记录与 Langfuse 等可观测性系统关联的辅助字段(如 trace ID。各阶段的业务入参/出参在「输入」「输出」标签中查看。",
metadataEmpty: "当前 span 没有元数据。阶段与子任务的入参/出参请查看「输入」「输出」;若已接入 Langfusetrace 级字段会显示在「概览」。",
error: "错误",
empty: "暂无数据",
inProgress: "进行中",
elapsed: "已用",
placeholderHint: "此阶段未记录详细 span仅展示推断状态。",
showJson: "展开 JSON",
hideJson: "收起 JSON",
includingChildren: "含子任务",
},
stage: {
docreader: "文档解析",
chunking: "分块",
embedding: "向量化",
multimodal: "多模态识别",
postprocess: "后处理",
},
status: {
pending: "等待中",
running: "进行中",
done: "已完成",
failed: "失败",
skipped: "已跳过",
cancelled: "已取消",
},
errorCode: {
DOCREADER_TIMEOUT: "文档解析超时",
DOCREADER_TIMEOUT_SUGGESTION: "文件可能过大或解析服务繁忙,请稍后重试或拆分文档。",
DOCREADER_UNAVAILABLE: "文档解析服务不可用",
DOCREADER_UNAVAILABLE_SUGGESTION: "解析服务离线,请联系管理员。",
DOCREADER_PARSE_FAILED: "文档解析失败",
DOCREADER_PARSE_FAILED_SUGGESTION: "无法解析该文件,请确认文件未损坏。",
CHUNKING_FAILED: "分块失败",
CHUNKING_FAILED_SUGGESTION: "请尝试调整知识库的分块配置。",
EMBEDDING_RATE_LIMIT: "向量服务被限流",
EMBEDDING_RATE_LIMIT_SUGGESTION: "向量服务触发限流,请稍后重试。",
EMBEDDING_PROVIDER_FAIL: "向量服务错误",
EMBEDDING_PROVIDER_FAIL_SUGGESTION: "向量服务返回错误,请检查供应商配置。",
VECTORSTORE_WRITE_FAILED: "向量库写入失败",
VECTORSTORE_WRITE_FAILED_SUGGESTION: "向量库拒绝写入,请检查向量库可用性。",
MULTIMODAL_VLM_FAILED: "图像理解失败",
MULTIMODAL_VLM_FAILED_SUGGESTION: "部分图像无法处理,文档可能仍可使用。",
MULTIMODAL_ALL_FAILED: "全部图像多模态处理失败",
MULTIMODAL_ALL_FAILED_SUGGESTION: "请检查多模态模型配置。",
TASK_TIMEOUT: "任务超过最大运行时间",
TASK_TIMEOUT_SUGGESTION: "任务运行时间超出限制,请重试或联系支持人员。",
UPSTREAM_FAILED: "上游阶段失败已中止",
UPSTREAM_FAILED_SUGGESTION: "前置阶段失败,导致本步骤无法执行。",
UNKNOWN: "未知错误",
UNKNOWN_SUGGESTION: "请查看应用日志获取详细信息。",
},
},
chat: {
title: "对话",
newChat: "新对话",
suggestedQuestions: "你可以这样问我",
suggestedQuestionsLoading: "正在加载推荐问题...",
inputPlaceholder: "请输入您的消息...",
send: "发送",
thinking: "思考中...",
regenerate: "重新生成",
copy: "复制",
delete: "删除",
reference: "引用",
noMessages: "暂无消息",
waitingForAnswer: "等待回答...",
cannotAnswer: "抱歉,我无法回答这个问题。",
summarizingAnswer: "总结答案中...",
loading: "加载中...",
enterDescription: "输入描述",
referencedContent: "引用了 {count} 个相关资料",
deepThinking: "深度思考完成",
knowledgeBaseQandA: "知识库问答",
askKnowledgeBase: "向知识库提问",
sourcesCount: "{count} 个来源",
pleaseEnterContent: "请输入内容!",
pleaseUploadKnowledgeBase: "请先上传知识库!",
replyingPleaseWait: "正在回复,请稍后再试!",
createSessionFailed: "创建会话失败",
createSessionError: "创建会话出错",
unableToGetKnowledgeBaseId: "无法获取知识库ID",
summaryInProgress: "正在总结答案……",
thinkingAlt: "正在思考",
deepThoughtCompleted: "已深度思考",
deepThoughtAlt: "深度思考完成",
referencesTitle: "参考了{count}个相关内容",
referencesDocCount: "引用了{count}篇文档",
referencesDocAndWebCount: "引用了{docCount}篇文档和{webCount}条网页",
referenceChunkCount: "{count}个片段",
fallbackHint: "未从知识库中检索到相关内容,以上为模型直接回答",
channelWeb: "网页",
channelApi: "API",
channelIm: "IM",
chunkLabel: "片段{index}:",
navigateToDocument: "查看文档详情",
referenceIconAlt: "参考内容图标",
chunkIdLabel: "片段ID:",
documentIdLabel: "文档ID:",
noPlanSteps: "未提供具体步骤",
chunkIndexLabel: "片段 #{index}",
chunkPositionLabel: "(位置: {position})",
noRelatedChunks: "没有找到相关片段",
noSearchResults: "没有找到搜索结果",
relevanceHigh: "高相关",
relevanceMedium: "中相关",
relevanceLow: "低相关",
relevanceWeak: "弱相关",
webSearchNoResults: "未找到搜索结果",
otherSource: "其他来源",
webGroupIntro: "以下 {count} 条内容来自",
graphConfigTitle: "图谱配置",
entityTypesLabel: "实体类型:",
relationTypesLabel: "关系类型:",
graphResultsHeader: "找到 {count} 条相关结果",
graphNoResults: "未找到相关的图谱信息",
unknownLink: "未知链接",
contentLengthLabel: "长度 {value}",
notProvided: "未提供",
promptLabel: "提示词",
errorMessageLabel: "错误信息",
summaryLabel: "总结",
rawTextLabel: "原始文本",
collapseRaw: "收起原文",
expandRaw: "展开原文",
noWebContent: "未获取到网页内容",
lengthChars: "{value} 字",
lengthThousands: "{value} 千字",
lengthTenThousands: "{value} 万字",
sqlQueryExecuted: "执行的 SQL 查询:",
sqlResultsLabel: "返回结果:",
rowsLabel: "行",
columnsLabel: "列",
noDatabaseRecords: "未找到匹配的记录",
nullValuePlaceholder: "<NULL>",
documentTitleLabel: "文档标题:",
chunkCountLabel: "片段数量:",
chunkCountValue: "{count} 个片段",
documentDescriptionLabel: "文档描述:",
documentStatusLabel: "处理状态:",
documentSourceLabel: "来源:",
documentFileLabel: "文件信息:",
documentMetadataLabel: "元数据",
documentInfoSummaryLabel: "文档信息",
documentInfoCount: "成功 {count} / 请求 {requested}",
documentInfoErrors: "错误详情",
documentInfoEmpty: "暂无文档信息",
statusDescription: "状态说明",
statusIndexed: "文档已索引并可搜索",
statusSearchable: "可使用搜索工具查找文档内容",
statusChunkDetailAvailable: "可使用 get_chunk_detail 查看片段详情",
positionLabel: "位置:",
chunkPositionValue: "第 {index} 个片段",
contentLengthLabelSimple: "内容长度:",
fullContentLabel: "完整内容",
copyContent: "复制内容",
knowledgeBaseCount: "共 {count} 个知识库",
noKnowledgeBases: "没有可用的知识库",
rawOutputLabel: "原始输出",
wikiWritePageTitle: "Wiki 页面写入",
wikiReplaceTextTitle: "Wiki 文本替换",
wikiRenamePageTitle: "Wiki 页面重命名",
wikiDeletePageTitle: "Wiki 页面删除",
wikiActionCreated: "已创建",
wikiActionUpdated: "已更新",
wikiActionRenamed: "已重命名",
wikiActionDeleted: "已删除",
wikiFieldSlug: "页面路径",
wikiFieldTitle: "标题",
wikiFieldPageType: "类型",
wikiFieldSummary: "摘要",
wikiFieldOldText: "原文本",
wikiFieldNewText: "新文本",
wikiFieldOldSlug: "原路径",
wikiFieldNewSlug: "新路径",
wikiFieldAffectedPages: "受影响页面",
wikiAffectedCount: "{count} 个页面的链接已更新",
selectKnowledgeBaseWarning: "请至少选择一个知识库",
processError: "处理出错",
sessionExcerpt: "会话摘录",
noAnswerContent: "(无回答内容)",
noMatchFound: "未找到匹配的内容",
deleteSessionFailed: "删除失败,请稍后再试!",
imageTooMany: "最多上传5张图片",
imageTypeSizeError: "仅支持 JPG/PNG/GIF/WEBP 格式,单张不超过 10MB",
imageUploadTooltip: "上传图片(支持粘贴/拖拽)",
attachmentUploadTooltip: "上传附件(文档、音频等)",
attachmentWithCount: "已上传 {count} 个附件",
attachmentTooMany: "最多上传 {max} 个附件",
attachmentTooLarge: "文件 {name} 超过 {max}MB 限制",
attachmentTypeNotSupported: "不支持的文件类型:{name}",
},
settings: {
title: "设置",
modelConfig: "模型配置",
modelManagement: "模型管理",
agentConfig: "Agent配置",
conversationConfig: "对话设置",
conversationStrategy: "对话策略",
webSearchConfig: "网络搜索",
enableMemory: "开启记忆功能",
enableMemoryDesc: "开启后,系统将记录您的对话历史,并在后续对话中自动回忆相关内容,提供更个性化的回答。",
autoCheckUpdate: '自动下载更新',
autoCheckUpdateDesc: '开启后自动检查并在后台下载最新版本安装包。',
memoryRequiresNeo4j: "记忆功能依赖 Neo4j 图数据库,请先配置并启用 Neo4j设置环境变量 NEO4J_ENABLE=true后再开启此功能。",
memoryHowToEnable: "查看 Neo4j 配置指南",
vectorStoreEngine: "向量数据库引擎",
parserEngine: "解析引擎",
storageEngine: "存储引擎",
mcpService: "MCP服务",
versionInfo: "版本信息",
tenantInfo: "空间信息",
apiInfo: "API信息",
navGroups: {
account: "账户",
workspace: "空间",
modelsRuntime: "模型",
dataExtensions: "数据与扩展",
platform: "平台",
},
roleDenied: {
title: "权限不足",
desc: "你当前的角色无权访问此设置项。请联系本空间的管理员获取所需角色。",
}, weknoraCloud: {
title: "WeKnora Cloud",
description: "配置 WeKnora Cloud 的 APPID 和 APPSECRET 凭证。凭证用于模型服务和文档解析引擎。",
viewDocs: "查看文档",
unconfigured: "尚未配置凭证,请填写 APPID 和 APPSECRET",
configured: "凭证已配置,状态正常",
expired: "WeKnora Cloud 凭证已失效",
expiredDefault: "服务重启后加密密钥已变更,已保存的凭证无法解密。请重新填写凭证。",
reconfigure: "重新配置",
appIdLabel: "APPID",
appIdDesc: "WeKnora Cloud 的应用 ID",
appIdPlaceholder: "请输入 APPID",
appSecretLabel: "APPSECRET",
appSecretDesc: "WeKnora Cloud 的应用密钥",
appSecretPlaceholder: "请输入 APPSECRET",
saveHint: "保存后将验证服务可达性并加密存储凭证",
saveBtn: "保存凭证",
usageTitle: "使用说明",
usageSteps: "1. 在此页面填写并保存 APPID 和 APPSECRET\n2. 模型服务:前往「模型管理」添加模型,选择 Remote API 来源厂商选择「WeKnoraCloud」\n3. 文档解析:前往「知识库设置 → 解析引擎」为对应文件类型选择「WeKnora Cloud」引擎",
fillRequired: "请填写 APPID 和 APPSECRET",
saveSuccess: "凭证保存成功",
saveFailed: "凭证保存失败",
credentialConfigured: "WeKnoraCloud 凭证已配置",
credentialExpired: "凭证已失效,请重新配置。",
credentialUnconfigured: "尚未配置 WeKnoraCloud 凭证,请先填写 APPID 和 APPSECRET。",
checkingStatus: "正在检查凭证状态...",
goToSettings: "前往设置中配置",
modelHintConfigured: "WeKnoraCloud 凭证已配置。支持的模型可参考",
modelHintDocsLink: "接口文档",
},
system: "系统设置",
systemConfig: "系统配置",
knowledgeBaseSettings: "知识库设置",
configureKbModels: "为此知识库配置模型和文档分割参数",
manageSystemModels: "管理和更新系统模型及服务配置",
basicInfo: "基本信息",
documentSplitting: "文档分割",
apiEndpoint: "API端点",
enterApiEndpoint: "输入API端点例如http://localhost",
enterApiKey: "输入API密钥",
enterKnowledgeBaseId: "输入知识库ID",
saveConfig: "保存配置",
reset: "重置",
configSaved: "配置保存成功",
enterApiEndpointRequired: "请输入API端点",
enterApiKeyRequired: "请输入API密钥",
enterKnowledgeBaseIdRequired: "请输入知识库ID",
name: "名称",
enterName: "输入名称",
description: "描述",
chunkSize: "分块大小",
chunkOverlap: "分块重叠",
save: "保存",
saving: "保存中...",
saveSuccess: "保存成功",
saveFailed: "保存失败",
model: "模型",
llmModel: "LLM模型",
embeddingModel: "嵌入模型",
rerankModel: "重排序模型",
vlmModel: "多模态模型",
modelName: "模型名称",
modelUrl: "模型地址",
apiKey: "API密钥",
cancel: "取消",
saveFailedSettings: "设置保存失败",
enterNameRequired: "请输入名称",
parser: {
title: "解析引擎",
description: "文档解析引擎状态及配置。此处设置优先于服务端环境变量,留空则使用环境变量默认值。",
loading: "加载中...",
retry: "重试",
noEngineDetected: "未检测到解析引擎,请确认 DocReader 服务正常运行。",
disconnected: "未连接",
connected: "已连接",
available: "可用",
unavailable: "不可用",
builtinDesc: "DocReader 内置解析引擎docx/pdf/xlsx 等复杂格式)",
currentAddr: "当前",
envVarHint: "修改请设置环境变量 DOCREADER_ADDR、DOCREADER_TRANSPORTgrpc/http重启服务生效。",
selfHostedEndpoint: "自建端点",
formulaRecognition: "公式识别",
tableRecognition: "表格识别",
language: "语言",
testConnection: "测试连接",
saveConfig: "保存配置",
docs: "文档",
loadFailed: "加载解析引擎列表失败",
ensureDocreaderConnected: "请先确保 DocReader 服务已通过环境变量配置并已连接",
checkDoneStatusUpdated: "已使用当前填写参数检测,上方状态已更新",
checkSuccess: "测试连接成功",
checkFailed: "检测失败",
saveSuccess: "保存成功",
saveFailed: "保存失败",
mineruEndpointPlaceholder: "如 https://your-mineru.example.com",
defaultPipeline: "默认 pipeline",
languagePlaceholder: "如 ch、en、ja默认 ch",
mineruCloudApiKeyPlaceholder: "MinerU 云服务 API Key",
vlmLabel: "vlm视觉语言模型",
mineruHtmlLabel: "MinerU-HTMLHTML 解析)",
serverUrl: "服务器地址",
vlmServerUrlPlaceholder: "如 http://your-vllm-server:8000",
vlmServerUrlHint: "当 Backend 选择 vlm-http-client 或 hybrid-http-client 时需要填写",
},
storage: {
title: "存储引擎",
description: "配置文档与图片的存储方式。此处设置各引擎参数,知识库中仅选择使用哪个引擎。",
loading: "加载中...",
retry: "重试",
defaultEngine: "默认引擎",
defaultEngineDesc: "新建知识库时默认选用的存储引擎",
engineLocal: "Local本地",
engineCos: "腾讯云 COS",
engineTos: "火山引擎 TOS",
engineOss: "阿里云 OSS",
engineS3: "AWS S3",
localTitle: "Local本地存储",
localDesc: "使用服务器本地文件系统存储文件,仅适合单机部署。",
available: "可用",
needsConfig: "需要配置",
configurable: "可配置",
pathPrefix: "路径前缀(可选)",
pathPrefixPlaceholder: "如 weknora/images",
prefixPlaceholder: "如 weknora",
bucketName: "Bucket 名称",
bucketSelectPlaceholder: "选择或输入 Bucket",
bucketPlaceholder: "存储桶名称",
minioDesc: "S3 兼容的自托管对象存储,适合内网和私有云部署。",
minioDocker: "Docker 部署",
minioRemote: "远程 MinIO",
detected: "已检测",
notDetected: "未检测到",
minioDockerDetected: "已检测到 Docker 部署的 MinIO 环境变量,连接信息由环境变量提供,无需手动填写。",
minioDockerNotDetected: "未检测到 MinIO 环境变量MINIO_ENDPOINT 等),请确认 Docker Compose 配置正确。",
minioRemoteHint: "连接到远程 MinIO 服务,需要手动填写连接信息。",
cosTitle: "腾讯云 COS",
cosDesc: "腾讯云对象存储服务,适合公有云部署,支持 CDN 加速。",
cosSecretIdPlaceholder: "腾讯云 API 密钥 SecretId",
cosSecretKeyPlaceholder: "腾讯云 API 密钥 SecretKey",
cosAppIdPlaceholder: "腾讯云账号 AppID",
tosTitle: "火山引擎 TOS",
tosDesc: "火山引擎对象存储服务TOS适合公有云部署。",
tosAccessKeyPlaceholder: "火山引擎 Access Key",
tosSecretKeyPlaceholder: "火山引擎 Secret Key",
s3Title: "AWS S3",
s3Desc: "AWS S3 及兼容的对象存储服务,适合公有云部署。",
s3AccessKeyPlaceholder: "AWS Access Key",
s3SecretKeyPlaceholder: "AWS Secret Key",
ks3Title: "金山云 KS3",
ks3Desc: "金山云对象存储服务KS3适合公有云部署。",
ks3AccessKeyPlaceholder: "金山云 Access Key",
ks3SecretKeyPlaceholder: "金山云 Secret Key",
ks3EndpointPlaceholder: "e.g. ks3-cn-beijing.ksyuncs.com",
ks3RegionPlaceholder: "e.g. BEIJING",
engineKs3: "金山云 KS3",
obsTitle: "华为云 OBS",
obsDesc: "华为云对象存储服务OBS适合公有云部署。",
obsAccessKeyPlaceholder: "华为云 Access Key",
obsSecretKeyPlaceholder: "华为云 Secret Key",
obsEndpointPlaceholder: "e.g. obs.cn-north-4.myhuaweicloud.com",
obsRegionPlaceholder: "e.g. cn-north-4",
engineObs: "华为云 OBS",
ossTitle: "阿里云 OSS",
ossDesc: "阿里云对象存储服务OSS适合公有云部署。",
ossAccessKeyPlaceholder: "阿里云 Access Key",
ossSecretKeyPlaceholder: "阿里云 Secret Key",
console: "控制台",
docs: "文档",
testConnection: "测试连接",
saveConfig: "保存配置",
loadFailed: "加载失败",
saveSuccess: "保存成功",
saveFailed: "保存失败",
unknownError: "未知错误",
requestFailed: "请求失败",
cos: "腾讯云 COS",
tos: "火山引擎 TOS",
oss: "阿里云 OSS",
ks3: "金山云 KS3",
obs: "华为云 OBS",
},
},
webSearchSettings: {
title: "网络搜索配置",
description:
"配置网络搜索功能,在回答问题时可以从互联网获取实时信息补充知识库内容",
// Provider entity management
providersTitle: "搜索引擎配置",
addProvider: "添加搜索引擎",
editProvider: "编辑搜索引擎",
noProviders: "暂无搜索引擎配置,点击「添加搜索引擎」开始配置。",
deleteConfirm: "确定要删除此搜索引擎配置吗?",
default: "默认",
providerNameLabel: "名称",
providerNamePlaceholder: "例如:生产环境 Bing 搜索",
providerTypeLabel: "引擎类型",
providerDescLabel: "备注",
providerDescPlaceholder: "可选,如:测试环境用",
engineIdLabel: "搜索引擎 ID",
setAsDefault: "设为默认",
testConnection: "测试连接",
testing: "测试中...",
free: "免费",
viewDocs: "查看文档获取密钥",
apiKeyUnchanged: "留空保持当前密钥不变",
noDescription: "暂无描述",
noProvidersDesc: "添加一个网络搜索引擎,为您的智能体提供实时的互联网信息检索能力。",
basicInfo: "基础信息",
credentials: "凭证信息",
setAsDefaultDesc: "当智能体没有指定特定的搜索引擎时,将默认使用此配置",
// Search behavior
searchBehaviorTitle: "搜索行为配置",
defaultProviderLabel: "默认搜索引擎",
defaultProviderDescription: "为未指定搜索引擎的智能体选择默认使用的搜索引擎",
providerLabel: "搜索引擎提供商",
providerDescription: "选择用于网络搜索的搜索引擎服务",
providerPlaceholder: "选择搜索引擎...",
proxyUrlLabel: "HTTP 代理",
proxyUrlPlaceholder: "例如 http://proxy.example.com:3128可选仅支持 http/https",
proxyUrlHelp: "若环境访问搜索 API 需代理,在此填写;留空则使用系统环境变量 HTTP(S)_PROXY。",
apiKeyLabel: "API 密钥",
baseUrlLabel: "实例地址",
baseUrlPlaceholder: "https://searxng.example.com",
apiKeyDescription: "输入所选搜索引擎的 API 密钥",
apiKeyPlaceholder: "请输入 API 密钥",
maxResultsLabel: "最大结果数",
maxResultsDescription: "每次搜索返回的最大结果数量1-50",
includeDateLabel: "包含发布日期",
includeDateDescription: "在搜索结果中包含内容的发布日期信息",
compressionLabel: "压缩方法",
compressionDescription: "对搜索结果内容的压缩处理方法",
compressionNone: "无压缩",
compressionSummary: "LLM 摘要",
blacklistLabel: "URL 黑名单",
blacklistDescription:
"排除特定域名或 URL 的搜索结果,每行一个。支持通配符(*)和正则表达式(以/开头和结尾)",
blacklistPlaceholder: "例如:\n*://*.example.com/*\n/example\\.(net|org)/",
errors: {
unknown: "未知错误",
},
toasts: {
loadProvidersFailed: "加载搜索引擎列表失败: {message}",
saveSuccess: "网络搜索配置已保存",
saveFailed: "保存配置失败: {message}",
providerCreated: "搜索引擎配置已创建",
providerUpdated: "搜索引擎配置已更新",
providerDeleted: "搜索引擎配置已删除",
testSuccess: "连接测试成功",
testFailed: "连接测试失败",
},
},
vectorStoreSettings: {
title: "向量数据库引擎",
description: "注册和管理用于知识库搜索的向量数据库实例。",
storesTitle: "向量数据库",
addStore: "添加数据库",
editStore: "编辑数据库",
deleteConfirm: "确定要删除此向量数据库吗?",
emptyDesc: '尚未配置向量数据库。点击"添加数据库"开始设置。',
engineTypeLabel: "引擎类型",
nameLabel: "名称",
namePlaceholder: "例如my-vector-store",
connectionInfo: "连接信息",
advancedIndexConfig: "高级设置",
fields: {
addr: "URL",
host: "主机",
port: "端口",
username: "用户名",
password: "密码",
api_key: "API 密钥",
use_tls: "使用 TLS",
scheme: "协议",
grpc_address: "gRPC 地址",
use_default_connection: "使用默认连接",
index_name: "索引名称",
number_of_shards: "分片数",
number_of_replicas: "副本数",
collection_prefix: "集合前缀",
collection_name: "集合名称",
shard_number: "分片数",
replication_factor: "副本因子",
shards_num: "分片数",
replica_number: "内存副本数",
desired_shard_count: "分片数",
},
envTag: "DEFAULT",
testConnection: "测试连接",
testing: "测试中...",
immutableNotice: "创建后无法更改引擎类型、连接和索引设置。\n如需更改请删除后重新创建。",
validation: {
nameRequired: "名称为必填项",
engineTypeRequired: "引擎类型为必填项",
fieldRequired: "{field}为必填项",
indexNamePattern: "必须以字母开头仅允许字母、数字、下划线和连字符最多128个字符",
},
toasts: {
storeCreated: "向量数据库已创建",
storeUpdated: "向量数据库已更新",
storeDeleted: "向量数据库已删除",
testSuccess: "连接测试成功",
testFailed: "连接测试失败",
duplicateName: "同名向量数据库已存在",
errorGeneric: "发生错误,请重试。",
},
},
chatHistorySettings: {
title: "消息管理",
description: "配置聊天历史知识库,将对话消息自动向量化索引,实现语义搜索",
enableLabel: "启用消息索引",
enableDescription: "开启后,新的对话消息将自动索引到知识库,支持向量搜索",
embeddingModelLabel: "Embedding 模型",
embeddingModelDescription: "选择用于消息向量化的 Embedding 模型",
embeddingModelLocked: "已有消息被索引Embedding 模型不可修改(修改需清空索引数据)",
statsTitle: "索引统计",
statsIndexedMessages: "已索引消息",
statsNotConfigured: "消息索引未配置",
statsNotConfiguredDesc: "启用并选择 Embedding 模型后,对话消息将自动向量化索引",
toasts: {
saveSuccess: "消息管理配置已保存",
saveFailed: "保存配置失败: {message}",
loadFailed: "加载配置失败: {message}",
},
},
retrievalSettings: {
title: "搜索设置",
description: "配置知识库搜索和消息搜索的全局检索参数",
embeddingTopKLabel: "向量检索数量 (Top K)",
embeddingTopKDescription: "向量搜索返回的最大结果数量",
vectorThresholdLabel: "向量相似度阈值",
vectorThresholdDescription: "向量搜索的最低相似度分数0-1越高越精确",
keywordThresholdLabel: "关键词匹配阈值",
keywordThresholdDescription: "关键词搜索的最低匹配分数0-1",
rerankTopKLabel: "Rerank 数量 (Top K)",
rerankTopKDescription: "重排序后保留的最大结果数量",
rerankThresholdLabel: "Rerank 阈值",
rerankThresholdDescription: "重排序的最低分数阈值(-10 到 10",
rerankModelLabel: "Rerank 模型",
rerankModelDescription: "选择用于搜索结果重排序的模型",
rerankModelRequired: "请选择 Rerank 模型,搜索功能需要此模型对结果进行重排序",
toasts: {
saveSuccess: "检索配置已保存",
saveFailed: "保存配置失败: {message}",
},
},
graphSettings: {
title: "知识图谱配置",
description: "配置实体-关系提取功能,自动从文本中抽取实体和关系构建知识图谱(注意:这与 Wiki 知识库中的「页面链接图谱」是两回事——前者是基于 LLM 的实体-关系图,后者是 Wiki 页面之间的引用关系图)",
enableLabel: "启用实体关系提取",
enableDescription: "开启后将自动从文本中提取实体和关系",
tagsLabel: "关系类型",
tagsDescription: "定义要提取的关系类型标签,多个标签用逗号分隔",
tagsPlaceholder: "输入关系类型,如:工作于、同事、朋友等",
generateRandomTags: "生成随机标签",
sampleTextLabel: "示例文本",
sampleTextDescription: "用于测试实体关系提取的示例文本",
sampleTextPlaceholder: "输入一段包含实体和关系的文本...",
generateRandomText: "生成随机文本",
entityListLabel: "实体列表",
entityListDescription: "从文本中提取的实体及其属性",
nodeNamePlaceholder: "输入实体名称",
attributePlaceholder: "输入属性值",
addAttribute: "添加属性",
manageEntitiesLabel: "管理实体",
manageEntitiesDescription: "添加或删除实体节点",
addEntity: "添加实体",
relationListLabel: "关系列表",
relationListDescription: "定义实体之间的关系连接",
selectEntity: "选择实体",
selectRelationType: "选择关系类型",
manageRelationsLabel: "管理关系",
manageRelationsDescription: "添加或删除实体间的关系",
addRelation: "添加关系",
extractActionsLabel: "提取操作",
extractActionsDescription: "执行实体关系提取或管理示例数据",
startExtraction: "开始提取",
extracting: "提取中...",
defaultExample: "默认示例",
clearExample: "清除示例",
completeModelConfig: "请先完成模型配置",
tagsGenerated: "标签生成成功",
tagsGenerateFailed: "标签生成失败",
textGenerated: "文本生成成功",
textGenerateFailed: "文本生成失败",
pleaseInputText: "请先输入示例文本",
extractSuccess: "实体关系提取成功",
extractFailed: "实体关系提取失败",
exampleLoaded: "示例已加载",
exampleCleared: "示例已清除",
disabledWarning: "知识图谱数据库未启用,实体关系提取功能将无法使用",
howToEnable: "如何启用知识图谱?",
saveSuccess: "图谱配置已保存",
saveFailed: "保存配置失败: {message}",
errors: {
unknown: "未知错误",
},
},
initialization: {
title: "初始化",
welcome: "欢迎使用WeKnora",
description: "请先配置系统以开始使用",
step1: "步骤1配置LLM模型",
step2: "步骤2配置嵌入模型",
step3: "步骤3配置其他模型",
complete: "完成初始化",
skip: "跳过",
next: "下一步",
previous: "上一步",
ollamaServiceStatus: "Ollama服务状态",
refreshStatus: "刷新状态",
ollamaServiceAddress: "Ollama服务地址",
notConfigured: "未配置",
notRunning: "未运行",
normal: "正常",
installedModels: "已安装模型",
none: "暂无",
knowledgeBaseInfo: "知识库信息",
knowledgeBaseName: "知识库名称",
knowledgeBaseNamePlaceholder: "输入知识库名称",
knowledgeBaseDescription: "知识库描述",
knowledgeBaseDescriptionPlaceholder: "输入知识库描述",
llmModelConfig: "LLM大语言模型配置",
modelSource: "模型来源",
local: "Ollama本地",
remote: "Remote API远程",
modelName: "模型名称",
modelNamePlaceholder: "例如qwen3:0.6b",
baseUrl: "Base URL",
baseUrlPlaceholder:
"例如https://api.openai.com/v1去掉URL末尾的/chat/completions部分",
apiKey: "API Key可选",
apiKeyPlaceholder: "输入API Key可选",
downloadModel: "下载模型",
installed: "已安装",
notInstalled: "未安装",
notChecked: "未检查",
checkConnection: "检查连接",
connectionNormal: "连接正常",
connectionFailed: "连接失败",
checkingConnection: "正在检查连接",
embeddingModelConfig: "嵌入模型配置",
embeddingWarning: "知识库已有文件,无法更改嵌入模型配置",
dimension: "维度",
dimensionPlaceholder: "输入向量维度",
detectDimension: "检测维度",
rerankModelConfig: "重排序模型配置",
enableRerank: "启用重排序模型",
multimodalConfig: "多模态配置",
enableMultimodal: "启用图像信息提取",
visualLanguageModelConfig: "视觉语言模型配置",
interfaceType: "接口类型",
openaiCompatible: "OpenAI兼容接口",
storageServiceConfig: "存储服务配置",
storageType: "存储类型",
bucketName: "Bucket名称",
bucketNamePlaceholder: "输入Bucket名称",
pathPrefix: "路径前缀",
pathPrefixPlaceholder: "例如images",
secretId: "Secret ID",
secretIdPlaceholder: "输入COS Secret ID",
secretKey: "Secret Key",
secretKeyPlaceholder: "输入COS Secret Key",
region: "Region",
regionPlaceholder: "例如ap-beijing",
appId: "App ID",
appIdPlaceholder: "输入App ID",
functionTest: "功能测试",
testDescription: "上传图片测试VLM模型的图像描述和文字识别功能",
selectImage: "选择图片",
startTest: "开始测试",
testResult: "测试结果",
imageDescription: "图像描述:",
textRecognition: "文字识别:",
processingTime: "处理时间:",
testFailed: "测试失败",
multimodalProcessingFailed: "多模态处理失败",
documentSplittingConfig: "文档分割配置",
splittingStrategy: "分割策略",
balancedMode: "平衡模式",
balancedModeDesc: "分块大小1000 / 重叠200",
precisionMode: "精确模式",
precisionModeDesc: "分块大小512 / 重叠100",
contextMode: "上下文模式",
contextModeDesc: "分块大小2048 / 重叠400",
custom: "自定义",
customDesc: "手动配置参数",
chunkSize: "分块大小",
chunkOverlap: "分块重叠",
separatorSettings: "分隔符设置",
selectOrCustomSeparators: "选择或自定义分隔符",
characters: "个字符",
separatorParagraph: "段落分隔符 (\\n\\n)",
separatorNewline: "换行符 (\\n)",
separatorPeriod: "句号 (。)",
separatorExclamation: "感叹号 ()",
separatorQuestion: "问号 ()",
separatorSemicolon: "分号 (;)",
separatorChineseSemicolon: "中文分号 ()",
separatorComma: "逗号 (,)",
separatorChineseComma: "中文逗号 ()",
entityRelationExtraction: "实体和关系提取",
enableEntityRelationExtraction: "启用实体和关系提取",
relationTypeConfig: "关系类型配置",
relationType: "关系类型",
generateRandomTags: "生成随机标签",
completeModelConfig: "请完成模型配置",
systemWillExtract: "系统将根据所选关系类型从文本中提取相应的实体和关系",
extractionExample: "提取示例",
sampleText: "示例文本",
sampleTextPlaceholder:
'输入用于分析的文本,例如:"红楼梦",又名"石头记",是中国四大名著之一,清代曹雪芹所著...',
generateRandomText: "生成随机文本",
entityList: "实体列表",
nodeName: "节点名称",
nodeNamePlaceholder: "节点名称",
addAttribute: "添加属性",
attributeValue: "属性值",
attributeValuePlaceholder: "属性值",
addEntity: "添加实体",
completeEntityInfo: "请完成实体信息",
relationConnection: "关系连接",
selectEntity: "选择实体",
addRelation: "添加关系",
completeRelationInfo: "请完成关系信息",
startExtraction: "开始提取",
extracting: "提取中...",
defaultExample: "默认示例",
clearExample: "清除示例",
updateKnowledgeBaseSettings: "更新知识库设置",
updateConfigInfo: "更新配置信息",
completeConfig: "完成配置",
waitForDownloads: "请等待所有Ollama模型下载完成后再更新配置",
completeModelConfigInfo: "请完成模型配置信息",
knowledgeBaseIdMissing: "知识库ID缺失",
knowledgeBaseSettingsUpdateSuccess: "知识库设置更新成功",
configUpdateSuccess: "配置更新成功",
systemInitComplete: "系统初始化完成",
operationFailed: "操作失败",
updateKnowledgeBaseInfoFailed: "更新知识库基本信息失败",
knowledgeBaseIdMissingCannotSave: "知识库ID缺失无法保存配置",
operationFailedCheckNetwork: "操作失败,请检查网络连接",
imageUploadSuccess: "图片上传成功,可以开始测试",
multimodalConfigIncomplete:
"多模态配置不完整,请先完成多模态配置后再上传图片",
pleaseSelectImage: "请选择图片",
multimodalTestSuccess: "多模态测试成功",
multimodalTestFailed: "多模态测试失败",
pleaseEnterSampleText: "请输入示例文本",
pleaseEnterRelationType: "请输入关系类型",
pleaseEnterLLMModelConfig: "请输入LLM大语言模型配置",
noValidNodesExtracted: "未提取到有效节点",
noValidRelationsExtracted: "未提取到有效关系",
extractionFailedCheckNetwork: "提取失败,请检查网络或文本格式",
generateFailedRetry: "生成失败,请重试",
pleaseCheckForm: "请检查表单填写是否正确",
detectionSuccessful: "检测成功,维度自动填充为",
detectionFailed: "检测失败",
detectionFailedCheckConfig: "检测失败,请检查配置",
modelDownloadSuccess: "模型下载成功",
modelDownloadFailed: "模型下载失败",
downloadStartFailed: "下载启动失败",
queryProgressFailed: "进度查询失败",
checkOllamaStatusFailed: "Ollama状态检查失败",
getKnowledgeBaseInfoFailed: "获取知识库信息失败",
textRelationExtractionFailed: "文本关系提取失败",
pleaseEnterKnowledgeBaseName: "请输入知识库名称",
knowledgeBaseNameLength: "知识库名称长度必须为1-50个字符",
knowledgeBaseDescriptionLength: "知识库描述不能超过200个字符",
pleaseEnterLLMModelName: "请输入LLM模型名称",
pleaseEnterBaseURL: "请输入BaseURL",
pleaseEnterEmbeddingModelName: "请输入嵌入模型名称",
pleaseEnterEmbeddingDimension: "请输入嵌入维度",
dimensionMustBeInteger: "维度必须是有效整数通常为768、1024、1536、3584等",
pleaseEnterTextContent: "请输入文本内容",
textContentMinLength: "文本内容必须包含至少10个字符",
pleaseEnterValidTag: "请输入有效标签",
tagAlreadyExists: "此标签已存在",
checkFailed: "检查失败",
startingDownload: "正在启动下载...",
downloadStarted: "下载已开始",
model: "模型",
startModelDownloadFailed: "启动模型下载失败",
downloadCompleted: "下载完成",
downloadFailed: "下载失败",
knowledgeBaseSettingsModeMissingId: "知识库设置模式缺少知识库ID",
completeEmbeddingConfig: "请先完成嵌入配置",
detectionSuccess: "检测成功,",
dimensionAutoFilled: "维度已自动填充:",
checkFormCorrectness: "请检查表单填写是否正确",
systemInitializationCompleted: "系统初始化完成",
generationFailedRetry: "生成失败,请重试",
chunkSizeDesc:
"每个文本块的大小。较大的块保留更多上下文,但可能降低搜索准确性。",
chunkOverlapDesc: "相邻块之间重叠的字符数。有助于保持块边界处的上下文。",
selectRelationType: "选择关系类型",
},
inviteRegister: {
bannerTitle: "您被邀请加入「{tenant}」",
bannerHint: "填写下方信息完成注册,注册成功后将自动加入该团队。",
loading: "正在校验邀请链接…",
invalidTitle: "邀请链接无效或已撤销",
invalidBody: "请联系邀请人重新发送链接,或前往登录使用现有账号。",
backToLogin: "返回登录",
title: "完成注册",
subtitle: "您被邀请加入「{tenant}」",
email: "邮箱",
emailPlaceholder: "your@example.com",
emailHint: "用您自己的邮箱注册即可。",
emailInvalid: "请输入有效的邮箱地址",
username: "姓名",
usernamePlaceholder: "请输入您的姓名",
password: "设置密码",
passwordPlaceholder: "至少 6 位",
confirmPassword: "确认密码",
submit: "完成注册",
submitting: "提交中…",
success: "注册成功,正在进入工作空间…",
failed: "注册失败,请稍后重试",
usernameRequired: "请输入姓名",
passwordTooShort: "密码至少 6 位",
passwordMismatch: "两次输入的密码不一致",
},
auth: {
login: "登录",
logout: "退出",
username: "用户名",
email: "邮箱",
password: "密码",
confirmPassword: "确认密码",
rememberMe: "记住我",
forgotPassword: "忘记密码?",
loginSuccess: "登录成功!",
loginSuccessTitle: "登录成功",
loginSuccessContent: "欢迎,你已进入 {name}",
loginSuccessContentWithRole: "欢迎,你已进入 {name} · 身份 {role}",
loginFailed: "登录失败",
loggingIn: "登录中...",
oidcLogin: "使用 OIDC 登录",
oidcLoginWithProvider: "使用 {provider} 登录",
redirectingToOIDC: "正在跳转到身份提供商...",
orContinueWith: "或使用以下方式继续",
oidcLoginFailed: "OIDC 登录失败",
oidcStateMismatch: "OIDC 状态校验失败,请重试",
register: "注册",
registering: "注册中...",
createAccount: "创建账户",
haveAccount: "已有账户?",
noAccount: "还没有账户?",
backToLogin: "返回登录",
registerNow: "立即注册",
registerSuccess: "注册成功!系统已为您创建专属空间,请登录",
registerFailed: "注册失败",
subtitle: "基于大模型的文档理解和语义搜索框架",
registerSubtitle: "注册后系统将为您创建专属空间",
emailPlaceholder: "输入邮箱地址",
passwordPlaceholder: "输入密码8-32个字符包含字母和数字",
confirmPasswordPlaceholder: "再次输入密码",
usernamePlaceholder: "输入用户名",
emailRequired: "请输入邮箱地址",
emailInvalid: "请输入正确的邮箱格式",
passwordRequired: "请输入密码",
passwordMinLength: "密码至少8个字符",
passwordMaxLength: "密码不能超过32个字符",
passwordMustContainLetter: "密码必须包含字母",
passwordMustContainNumber: "密码必须包含数字",
usernameRequired: "请输入用户名",
usernameMinLength: "用户名至少2个字符",
usernameMaxLength: "用户名不能超过20个字符",
usernameInvalid: "用户名只能包含字母、数字、下划线和中文字符",
confirmPasswordRequired: "请确认密码",
passwordMismatch: "两次输入的密码不一致",
loginError: "登录错误,请检查邮箱或密码",
loginErrorRetry: "登录错误,请稍后重试",
registerError: "注册错误,请稍后重试",
forgotPasswordNotAvailable: "密码找回功能暂不可用,请联系管理员",
},
authStore: {
errors: {
parseUserFailed: "解析用户信息失败",
parseTenantFailed: "解析空间信息失败",
parseKnowledgeBasesFailed: "解析知识库列表失败",
parseCurrentKnowledgeBaseFailed: "解析当前知识库失败",
},
},
common: {
me: "我",
confirm: "确认",
cancel: "取消",
save: "保存",
delete: "删除",
edit: "编辑",
copy: "复制",
copied: "已复制",
default: "默认",
create: "创建",
search: "搜索",
filter: "筛选",
export: "导出",
import: "导入",
upload: "上传",
download: "下载",
refresh: "刷新",
loading: "加载中...",
noData: "暂无数据",
noMoreData: "已加载全部内容",
error: "错误",
success: "成功",
failed: "失败",
warning: "警告",
info: "信息",
selectAll: "全选",
yes: "是",
no: "否",
ok: "确定",
close: "关闭",
back: "返回",
next: "下一步",
finish: "完成",
all: "全部",
reset: "重置",
clear: "清空",
website: "官方网站",
chromeExtension: "Chrome 插件",
clawhubSkill: "Claw Skill",
newBadge: "New",
github: 'GitHub',
githubStarTip: '在 GitHub 打开仓库,若觉得有用欢迎点个 Star',
on: "开启",
off: "关闭",
resetToDefault: "恢复默认",
confirmDelete: "确认删除",
deleteSuccess: "删除成功",
deleteFailed: "删除失败",
saveSuccess: "保存成功",
saveFailed: "保存失败",
file: "文件",
knowledgeBase: "知识库",
noResult: "无结果",
remove: "移除",
defaultUser: "用户",
copyFailed: "复制失败",
retry: "重试",
expand: "展开",
collapse: "收起",
},
mentionDetail: {
faqCount: "共 {count} 条问答",
kbCount: "共 {count} 个文档",
belongsToKb: "所属知识库:",
belongsToOrg: "所属空间:",
readOnlyFromAgent: "仅在此对话中只读,不显示在知识库列表中",
noCompatibleKbForAgent: "当前智能体的工具与作用域内知识库的能力不匹配,暂无可引用的知识库。",
},
agent: {
taskLabel: "任务:",
think: "思考",
copy: "复制",
addToKnowledgeBase: "添加到知识库",
updatePlan: "更新计划",
webSearchFound: "找到 <strong>{count}</strong> 个网络搜索结果",
argumentsLabel: "参数",
toolFallback: "工具",
stepsCompleted: "已完成 <strong>{steps}</strong> 个步骤",
stepsCompletedWithDuration: "已完成 <strong>{steps}</strong> 个步骤,耗时 <strong>{duration}</strong>",
title: "智能体",
subtitle: "配置和管理您的智能体,自定义对话行为和能力",
createAgent: "创建智能体",
createAgentShort: "新建",
builtin: "内置",
disabled: "已停用",
disable: "停用",
enable: "启用",
noDescription: "暂无描述",
selectAgent: "选择智能体",
noAgents: "暂无智能体",
manageAgents: "管理",
builtinAgents: "内置智能体",
customAgents: "自定义智能体",
capabilities: {
normal: "快速响应,直接回答问题",
agent: "多步思考,深度分析复杂问题",
modelSpecified: "指定模型",
kbCount: "指定 {count} 个知识库",
kbAll: "可访问全部知识库",
kbDisabled: "禁用知识库",
rerankSpecified: "指定 ReRank 模型",
webSearchOn: "启用网络搜索",
webSearchOff: "禁用网络搜索",
hasPrompt: "自定义提示词",
default: "默认配置",
mcpEnabled: "启用 MCP 服务",
multiTurn: "多轮对话",
},
type: {
normal: "快速问答",
agent: "智能推理",
custom: "自定义",
},
mode: {
normal: "快速问答",
agent: "智能推理",
},
features: {
webSearch: "支持网络搜索",
knowledgeBase: "关联知识库",
mcp: "支持MCP服务",
multiTurn: "多轮对话",
},
tabs: {
all: "全部",
mine: "我的智能体",
sharedToMe: "共享给我",
},
sections: {
builtin: "内置",
mine: "我创建的",
tenantReadonly: "本空间 · 仅查看",
tenantOthers: "本空间 · 其他成员",
sharedByMe: "我共享的",
sharedEditable: "共享给我 · 可编辑",
sharedReadonly: "共享给我 · 仅查看",
},
empty: {
title: "暂无自定义智能体",
description: "点击右上角按钮创建您的第一个智能体",
sharedTitle: "暂无共享智能体",
sharedDescription: "您可以加入空间或请求他人将智能体共享给您",
favoritesTitle: "暂无收藏",
favoritesDescription: "在智能体卡片右上角点击星标即可收藏",
recentsTitle: "暂无最近访问",
recentsDescription: "最近使用过的智能体会出现在这里",
},
detail: {
title: "智能体详情",
useInChat: "在对话中使用",
},
shareScope: {
title: "共享范围说明",
desc: "空间成员以只读方式使用该智能体,将遵循您当前配置的能力与资源;您对智能体的修改会同步给已共享的空间。如需允许空间成员编辑知识库内容,请将知识库共享到空间。",
knowledgeBase: "知识库",
chatModel: "对话模型",
rerankModel: "重排模型",
webSearch: "网络搜索",
mcp: "MCP 服务",
kbAll: "全部知识库",
kbSelected: "指定 {count} 个知识库",
kbNone: "不使用",
modelConfigured: "已配置",
modelNotSet: "未配置",
enabled: "开启",
disabled: "关闭",
mcpAll: "全部服务",
mcpSelected: "指定 {count} 个服务",
mcpNone: "不使用",
},
delete: {
confirmTitle: "删除智能体",
confirmMessage: "确定要删除智能体「{name}」吗?此操作不可恢复。",
confirmButton: "确认删除",
},
messages: {
created: "智能体创建成功",
updated: "智能体更新成功",
deleted: "智能体已删除",
deleteFailed: "删除失败",
saveFailed: "保存失败",
builtinReadonly: "内置智能体不可编辑",
copied: "智能体复制成功",
copyFailed: "复制失败",
disabled: "已停用",
enabled: "已启用",
},
editor: {
createTitle: "创建智能体",
editTitle: "编辑智能体",
basicInfo: "基本信息",
basicInfoDesc: "配置智能体的基本信息",
modelConfig: "模型配置",
modelConfigDesc: "配置智能体的模型参数",
capabilities: "能力与工具",
capabilitiesDesc: "配置智能体的能力和工具",
toolsConfig: "工具配置",
toolsConfigDesc: "配置 Agent 可以使用的工具",
knowledgeConfig: "知识库",
knowledgeConfigDesc: "配置智能体可访问的知识库",
webSearchConfig: "网络搜索",
webSearchConfigDesc: "配置智能体的网络搜索能力",
configuration: "配置项",
agentId: "智能体 ID",
agentIdDesc: "API 集成时可使用此 ID 指定智能体",
name: "名称",
namePlaceholder: "请输入智能体名称",
nameRequired: "请输入智能体名称",
disabled: "停用",
disabledDesc: "停用后该智能体将不会在对话窗口的智能体下拉列表中显示",
systemPromptRequired: "请输入系统提示词",
modelRequired: "请选择模型",
rerankModelRequired: "使用知识库时请选择 ReRank 模型",
contextsMissing: "开启知识库时,上下文模板必须包含 {'{{'}contexts{'}}'} 占位符",
queryMissingInContext: "上下文模板必须包含 {'{{'}query{'}}'} 占位符",
knowledgeBasesMissing: "建议在系统提示词中包含 {'{{'}knowledge_bases{'}}'} 占位符,以便模型了解可用的知识库",
queryMissingInRewrite: "改写用户提示词必须包含 {'{{'}query{'}}'} 占位符",
conversationMissing: "改写用户提示词必须包含 {'{{'}conversation{'}}'} 占位符",
queryMissingInFallback: "兜底提示词必须包含 {'{{'}query{'}}'} 占位符",
avatar: "图标",
avatarPlaceholder: "输入 Emoji 或点击选择",
description: "描述",
descriptionPlaceholder: "请输入智能体描述",
baseType: "基础类型",
normalDesc: "快速响应,直接回答问题",
agentDesc: "多步思考,深度分析复杂问题",
model: "模型",
modelPlaceholder: "请选择模型",
systemPrompt: "系统提示词",
systemPromptPlaceholder: "自定义系统提示词,定义智能体的行为和角色(使用 {'{{'}web_search_status{'}}'} 占位符动态控制网络搜索行为)",
defaultPromptHint: "留空将使用以下系统默认提示词:",
defaultContextTemplateHint: "留空将使用以下系统默认上下文模板:",
contextTemplateRequired: "请输入上下文模板",
availablePlaceholders: "可用占位符",
placeholderHint: "输入 {'{{'} 触发自动补全",
temperature: "温度",
thinking: "思考模式",
welcomeMessage: "欢迎消息",
welcomeMessagePlaceholder: "选择该智能体时显示的欢迎消息",
suggestedPrompts: "推荐问题",
mode: "运行模式",
webSearch: "网络搜索",
webSearchProvider: "搜索引擎",
webSearchProviderPlaceholder: "使用默认搜索引擎",
webSearchMaxResults: "最大搜索结果数",
webFetchEnabled: "自动抓取页面内容",
webFetchTopN: "抓取页面数",
knowledgeBases: "关联知识库",
allKnowledgeBases: "全部知识库",
allKnowledgeBasesDesc: "智能体可访问所有知识库",
selectedKnowledgeBases: "指定知识库",
selectedKnowledgeBasesDesc: "仅访问选定的知识库",
noKnowledgeBase: "不使用知识库",
noKnowledgeBaseDesc: "纯模型对话,不检索知识库",
selectKnowledgeBases: "选择知识库",
selectKnowledgeBasesDesc: "选择要关联的知识库(包括协作知识库)",
myKnowledgeBases: "我的知识库",
sharedKnowledgeBases: "协作知识库",
retrieveKBOnlyWhenMentioned: "仅在 {'@'} 提及时检索",
retrieveKBOnlyWhenMentionedDesc: "关闭:自动检索已配置的知识库,开启:仅当用户 {'@'} 提及时才检索",
retrievalSectionTitle: "检索策略",
rerankModel: "ReRank 模型",
rerankModelDesc: "用于对知识库检索结果进行重排序,提高回答准确性",
rerankModelPlaceholder: "请选择 ReRank 模型",
rerankModelOptionalHint: "当前作用域内暂无 RAG 类型知识库,可不填;后续若加入 RAG 知识库,将自动使用租户默认重排模型,仍建议显式配置。",
maxIterations: "最大迭代次数",
allowedTools: "允许的工具",
multiTurn: "多轮对话",
historyTurns: "保留轮数",
// 检索策略
retrievalStrategy: "检索策略",
embeddingTopK: "向量召回数量",
keywordThreshold: "关键词阈值",
vectorThreshold: "向量阈值",
rerankTopK: "重排数量",
rerankThreshold: "重排阈值",
// 多轮对话
conversationSettings: "多轮对话",
// 高级设置
advancedSettings: "高级设置",
contextTemplate: "上下文模板",
contextTemplatePlaceholder: "自定义上下文模板...",
availableContextPlaceholders: "可用占位符",
placeholderQuery: "用户的问题",
placeholderContexts: "检索到的内容列表",
placeholderCurrentTime: "当前时间格式2006-01-02 15:04:05",
placeholderCurrentWeek: "当前星期(如:星期一)",
enableQueryExpansion: "查询扩展",
enableRewrite: "问题改写",
queryUnderstandModel: "问题理解模型",
queryUnderstandModelPlaceholder: "留空则复用主对话模型",
rewritePromptSystem: "改写系统提示词",
rewritePromptSystemPlaceholder: "留空使用系统默认提示词",
rewritePromptUser: "改写用户提示词",
rewritePromptUserPlaceholder: "留空使用系统默认提示词",
maxCompletionTokens: "最大生成Token数",
fallbackStrategy: "兜底策略",
fallbackResponse: "固定回复内容",
fallbackResponsePlaceholder: "抱歉,我无法回答这个问题。",
fallbackPrompt: "兜底提示词",
fallbackPromptPlaceholder: "留空使用系统默认提示词",
// Skills 配置
skillsConfig: "技能 Skills",
skillsConfigDesc: "配置 Agent 可以使用的预装 Skills提供专业领域知识和工作流程",
skillsSelection: "Skills 选择",
skillsSelectionDesc: "选择 Agent 可以使用的 Skills 范围",
skillsAll: "全部",
skillsSelected: "指定",
skillsNone: "禁用",
selectSkills: "选择 Skills",
selectSkillsDesc: "选择要启用的 Skills",
noSkillsAvailable: "暂无预装 Skills",
skillsInfoTitle: "什么是 Skills",
skillsInfoContent: "Skills 是预装的专业知识模块,可以为 Agent 提供特定领域的指令、工作流程和工具支持。启用 Skills 后Agent 会在需要时自动加载相关知识。",
},
selector: {
title: "选择智能体",
builtinSection: "内置智能体",
customSection: "我的智能体",
addNew: "添加新智能体",
current: "当前",
goToSettings: "设置",
sharedLabel: "共享",
},
// 内置智能体信息
builtinInfo: {
quickAnswer: {
name: "快速问答",
description: "基于知识库的 RAG 问答,快速准确地回答问题",
},
smartReasoning: {
name: "智能推理",
description: "ReAct 推理框架,支持多步思考和工具调用",
},
deepResearcher: {
name: "深度研究员",
description: "专注于深度研究和综合分析,能够制定研究计划、多维度检索信息、深入思考并给出全面的分析报告",
},
dataAnalyst: {
name: "数据分析师",
description: "专注于数据库查询和数据分析能够理解业务需求、构建SQL查询、分析数据并提供洞察",
},
knowledgeGraphExpert: {
name: "知识图谱专家",
description: "专注于知识图谱查询和关系分析,能够探索实体关系、发现隐藏联系并构建知识网络",
},
documentAssistant: {
name: "文档助手",
description: "专注于文档检索和内容整理,能够快速定位文档、提取关键信息并生成摘要",
},
},
},
file: {
upload: "上传文件",
uploadSuccess: "文件上传成功",
uploadFailed: "文件上传失败",
delete: "删除文件",
deleteSuccess: "文件删除成功",
deleteFailed: "文件删除失败",
download: "下载文件",
preview: "预览",
unsupportedFormat: "不支持的文件格式",
maxSizeExceeded: "文件大小超过限制",
selectFile: "选择文件",
},
tenant: {
title: "空间信息",
currentTenant: "当前空间",
switchTenant: "切换空间",
switcher: {
menuLabel: "切换空间",
currentBadge: "当前",
homeBadge: "我的",
homeTooltip: "我的空间",
empty: "你目前只属于这一个空间",
},
currentChip: {
home: "我的空间",
},
sectionDescription: "查看空间的详细配置信息",
apiDocument: "API文档",
name: "空间名称",
id: "空间 ID",
createdAt: "创建时间",
updatedAt: "更新时间",
status: "状态",
active: "活跃",
inactive: "未活跃",
systemInfo: "系统信息",
viewSystemInfo: "查看系统版本和用户账户配置信息",
version: "版本",
buildTime: "构建时间",
goVersion: "Go版本",
userInfo: "用户信息",
userId: "用户ID",
username: "用户名",
email: "邮箱",
tenantInfo: "空间信息",
tenantId: "空间 ID",
tenantName: "空间名称",
description: "描述",
business: "业务",
noDescription: "无描述",
noBusiness: "无",
statusActive: "活跃",
statusInactive: "未激活",
statusSuspended: "已暂停",
statusUnknown: "未知",
apiKey: "API密钥",
keepApiKeySafe: "请妥善保管您的API密钥不要在公共场所或代码仓库中泄露",
storageInfo: "存储信息",
storageQuota: "存储配额",
used: "已使用",
usage: "使用率",
apiDevDocs: "API开发文档",
useApiKey: "使用您的API密钥开始开发查看完整的API文档和代码示例。",
viewApiDoc: "查看API文档",
loadingAccountInfo: "加载账户信息中...",
loadingInfo: "正在加载信息...",
loadFailed: "加载失败",
retry: "重试",
apiKeyCopied: "API密钥已复制到剪贴板",
unknown: "未知",
formatError: "格式错误",
searchPlaceholder: "搜索空间名称或输入空间 ID...",
searchHint: "支持按名称搜索或直接输入空间 ID",
noMatch: "未找到匹配的空间",
switchSuccessTitle: "已切换空间",
switchSuccessContent: "你已进入 {name}",
switchSuccessContentWithRole: "你已进入 {name} · 身份 {role}",
loadTenantsFailed: "加载空间列表失败",
loading: "加载中...",
loadMore: "加载更多",
create: {
action: "创建新空间",
dialogTitle: "创建新空间",
dialogSubtitle: "空间拥有独立的知识库与成员,你将自动成为新空间的所有者。",
nameLabel: "空间名称",
namePlaceholder: "例如:我的新项目",
nameRequired: "请输入空间名称",
descriptionLabel: "描述(可选)",
descriptionPlaceholder: "简单描述一下这个空间的用途",
submit: "创建",
cancel: "取消",
success: "空间创建成功",
failed: "空间创建失败",
},
details: {
idLabel: "空间 ID",
idDescription: "您所属空间的唯一标识",
nameLabel: "空间名称",
nameDescription: "您所属的空间名称",
descriptionLabel: "空间描述",
descriptionDescription: "空间的详细描述信息",
businessLabel: "空间业务",
businessDescription: "空间所属的业务类型",
statusLabel: "空间状态",
statusDescription: "空间当前的运行状态",
createdAtLabel: "空间创建时间",
createdAtDescription: "空间创建的时间",
editName: "修改名称",
editNamePlaceholder: "请输入新的空间名称",
editNameConfirm: "保存",
editNameCancel: "取消",
editNameRequired: "空间名称不能为空",
editNameSuccess: "空间名称已更新",
editNameFailed: "更新空间名称失败",
editDescription: "修改描述",
editDescriptionPlaceholder: "请输入新的空间描述",
editDescriptionSuccess: "空间描述已更新",
editDescriptionFailed: "更新空间描述失败",
descriptionEmptyPlaceholder: "未填写",
},
storage: {
quotaLabel: "存储配额",
quotaDescription: "空间的总存储空间配额",
usedLabel: "已使用存储",
usedDescription: "已经使用的存储空间",
usageLabel: "存储使用率",
usageDescription: "存储空间的使用百分比",
},
leaveDangerZone: {
title: "退出当前空间",
desc: "终止您在本空间的成员身份。退出后将无法访问本空间的知识库与智能体,之后可被再次邀请加入。",
button: "退出空间",
},
messages: {
fetchFailed: "获取空间信息失败",
networkError: "网络错误,请稍后重试",
},
api: {
title: "API 信息",
description: "查看和管理您的 API 密钥",
keyLabel: "API Key",
keyDescription: "用于 API 调用的密钥,请妥善保管",
urlLabel: "API 地址",
urlDescription: "REST API 的基础路径,请求时在末尾拼接具体接口路径",
copyUrlTitle: "复制 API 地址",
urlCopySuccess: "API 地址已复制到剪贴板",
copyTitle: "复制 API Key",
resetTitle: "重置 API Key",
resetConfirmTitle: "确认重置 API Key",
resetConfirmBody: "重置后,旧的 API Key 会立即失效,所有使用旧 Key 的应用、SDK 与脚本必须更换为新 Key 才能继续访问。此操作不可撤销。",
resetConfirmOk: "确认重置",
resetConfirmCancel: "取消",
resetSuccess: "API Key 已重置,新 Key 已显示在输入框中",
resetFailed: "重置 API Key 失败",
docLabel: "API 文档",
docDescription: "查看完整的 API 调用文档和示例,",
openDoc: "打开文档",
userSectionTitle: "用户信息",
userIdLabel: "用户 ID",
userIdDescription: "您的唯一用户标识",
usernameLabel: "用户名",
usernameDescription: "您的登录用户名",
emailLabel: "邮箱",
emailDescription: "您的注册邮箱地址",
createdAtLabel: "注册时间",
createdAtDescription: "账户创建的时间",
noKey: "暂无 API Key",
copySuccess: "API Key 已复制到剪贴板",
copyFailed: "复制失败,请手动复制",
desktopPortLabel: "本地 API 端口(桌面版)",
desktopPortDescription:
"填写固定端口(如 37841Chrome 扩展等工具可长期使用同一 API 地址0 表示每次启动随机端口。保存后请重启应用生效。",
desktopPortSave: "保存",
desktopPortSaved: "已保存,请重启应用后生效",
desktopPortSaveFailed: "保存失败",
desktopPortInvalid: "请输入 065535 之间的端口",
desktopBindPublicLabel: "允许局域网访问 API",
desktopBindPublicDescription:
"开启后内嵌服务监听 0.0.0.0,同一局域网内其他设备可通过下方地址调用 API。存在数据暴露风险请在防火墙与路由侧自行做好访问控制修改后需重启应用。",
desktopBindPublicSaved: "已保存,请重启应用后生效",
desktopBindPublicSaveFailed: "保存失败",
lanUrlLabel: "局域网 API 地址",
lanUrlDescription:
"在已开启「允许局域网访问」且应用已重启后显示;若 IP 不准确,请在本机网络设置中查看实际 IPv4 后替换主机部分。",
lanUrlCopyTitle: "复制局域网 API 地址",
lanUrlCopySuccess: "局域网 API 地址已复制",
lanUrlUnavailable:
"当前已监听所有网卡,但未能自动识别本机 IPv4。请在本机网络设置中查看局域网地址并手动拼接为 http://你的IP:端口/api/v1。",
},
},
system: {
title: "系统信息",
sectionDescription: "查看系统版本信息和用户账户配置",
loadingInfo: "正在加载信息...",
retry: "重试",
versionLabel: "应用版本",
versionDescription: "当前应用服务weknora-app的版本号",
frontendVersionLabel: "UI 版本",
frontendVersionDescription: "当前 UI 界面weknora-ui的构建版本号",
versionMismatch: "与应用版本不一致",
buildTimeLabel: "构建时间",
buildTimeDescription: "系统构建的时间",
goVersionLabel: "Go 版本",
goVersionDescription: "后端使用的 Go 语言版本",
dbVersionLabel: "数据库版本",
dbVersionDescription: "当前数据库迁移版本号",
dbMigrationFailedTag: "迁移失败",
dbMigrationFailedTitle: "数据库迁移失败",
dbMigrationFailedDesc: "启动时数据库迁移未成功完成,部分表或索引可能未创建,会导致 Wiki、知识图谱等功能异常。建议先查看排查文档自助修复如仍无法解决请通过下方链接反馈。",
dbMigrationViewDocs: "查看排查文档",
dbMigrationReportIssue: "无法修复?提交 Issue",
keywordIndexEngineLabel: "关键词索引引擎",
keywordIndexEngineDescription: "当前使用的关键词索引引擎",
vectorStoreEngineLabel: "向量存储引擎",
vectorStoreEngineDescription: "当前使用的向量存储引擎",
graphDatabaseEngineLabel: "图数据库引擎",
graphDatabaseEngineDescription: "当前使用的图数据库引擎",
unknown: "未知",
messages: {
fetchFailed: "获取系统信息失败",
networkError: "网络错误,请稍后重试",
},
globalSettings: {
title: "系统设置",
description: "平台级运行时配置,保存后立即对所有租户生效。仅系统管理员可见可改。",
loading: "加载中...",
empty: "暂无可配置的系统设置",
badgeRequiresRestart: "需重启",
badgeSecret: "敏感",
badgeOverride: "已覆盖",
badgeOverrideTooltip: "该值已由管理员保存到数据库,覆盖了环境变量与默认值",
modifiedAt: "上次修改:{value}",
tagInputPlaceholder: "回车添加条目example.com / *.foo.com / 10.0.0.0/8",
priorityHint: {
title: "关于优先级",
tier1: "在此页面保存过的项(带「已覆盖」徽章)— 始终以这里的值为准,环境变量会被忽略。",
tier2: "未在此处保存过的项 — 如果环境变量里有就用环境变量,否则用程序内置默认值。",
tier3: "若想让某项重新由环境变量控制,点击该行的「重置」按钮即可清除当前 UI 设置。",
},
keyLabels: {
auth: {
registration_mode: "自助注册模式",
},
ssrf: {
whitelist: "SSRF 防护白名单",
},
tenant: {
max_owned_per_user: "每用户最大租户数",
default_storage_quota_gb: "新租户默认存储配额 (GB)",
},
},
enumLabels: {
auth: {
registration_mode: {
self_serve: "自助注册(任何人可注册)",
invite_only: "仅邀请(关闭公网注册)",
},
},
},
confirm: {
header: "高危操作确认",
confirmBtn: "确认保存",
cancelBtn: "取消",
emptyValue: "(空)",
defaultBody: "即将把「{label}」改为:{value}",
bodyAuthRegistrationMode: "即将把「{label}」改为:{value}\n\n如果切到 self_serve公网任何人都可以注册账号 — 务必确认是预期行为。",
},
listConfirm: {
ssrf: {
whitelist: {
add: {
header: "添加 SSRF 白名单条目",
body: "确认把 {entry} 加入 SSRF 白名单?该条目匹配到的主机 / IP / 网段会绕过 SSRF 防护,可能让 Agent 访问内网服务,请仅在确知用途时添加。",
confirmBtn: "确认添加",
},
remove: {
header: "移除 SSRF 白名单条目",
body: "确认从 SSRF 白名单中移除 {entry}?移除后该条目将重新受 SSRF 防护拦截。",
confirmBtn: "确认移除",
},
},
},
},
messages: {
loadFailed: "加载系统设置失败",
saveSuccess: "已保存",
saveFailed: "保存失败",
},
reset: {
label: "重置",
tooltip: "清除当前 UI 覆盖,恢复使用环境变量或内置默认值",
confirmBtn: "确认重置",
confirmBody: "确定要重置「{label}」吗?该操作会删除数据库中的覆盖值,回退到环境变量或内置默认值。",
success: "已重置为默认值",
failed: "重置失败",
},
admins: {
label: "系统管理员",
description: "拥有平台级权限的用户。在右侧输入邮箱并回车即可提升用户为管理员;点击 × 即为撤销其权限。当前你(自己)已是管理员,不在列表中显示,也无法被自己撤销。",
placeholder: "输入用户邮箱并回车",
loadFailed: "加载系统管理员失败",
saveSuccess: "已更新系统管理员",
saveFailed: "更新系统管理员失败",
confirm: {
promote: {
header: "提升为系统管理员",
body: "确认将 {email} 提升为系统管理员?该用户将获得平台级权限,可访问所有租户、修改系统设置、管理其他管理员。",
confirmBtn: "确认提升",
},
revoke: {
header: "撤销系统管理员",
body: "确认撤销 {email} 的系统管理员权限?撤销后该用户将无法再访问任何系统级功能。",
confirmBtn: "确认撤销",
},
},
},
bulkApply: {
label: "应用到所有现有租户",
tooltip: "保存的值默认只对之后新建的租户生效;点击此按钮将当前值同步写入所有现有租户。",
confirmBtn: "确认应用",
confirmBody: "将把所有现有租户的存储配额覆盖为 {value} GB。如有租户被运维单独调整过的配额也会一并被覆盖。是否继续",
success: "已将 {count} 个租户的存储配额更新为 {gb} GB",
failed: "应用到所有租户失败",
},
audit: {
tabLabel: "审计日志",
description:
"记录平台级操作:系统设置变更、系统管理员授予/回收、配额批量同步等。按时间倒序展示。",
refresh: "刷新",
retry: "重试",
loading: "加载中...",
end: "已经到底了。",
empty: "暂无平台级审计事件。",
forbidden: "无权查看平台审计日志。",
systemActor: "系统",
errors: {
generic: "加载审计日志失败",
},
actorRole: {
system_admin: "系统管理员",
},
columns: {
time: "时间",
actor: "操作人",
action: "事件",
target: "目标",
path: "请求",
outcome: "结果",
},
action: {
"system.setting_changed": "系统设置变更",
"system.admin_promoted": "授予系统管理员",
"system.admin_revoked": "回收系统管理员",
},
outcome: {
success: "成功",
denied: "拒绝",
},
target: {
bulkQuota: "批量同步:默认存储配额",
bulkQuotaDiff: "应用到 {count} 个租户({gb} GB",
promoteIdempotent: "目标已是系统管理员(幂等)",
revokeNoop: "目标本就不是系统管理员(幂等)",
requiredRole: "需要角色:{role}",
valueNull: "(空)",
},
expanded: {
actorId: "操作人 ID",
targetUserId: "目标用户 ID",
targetType: "目标类型",
targetId: "目标 ID",
details: "原始详情",
},
},
},
},
mcp: {
testResult: {
title: "测试结果: {name}",
connectionSuccess: "连接成功",
connectionFailed: "连接失败",
toolsTitle: "可用工具",
resourcesTitle: "可用资源",
descriptionLabel: "描述",
schemaLabel: "参数结构",
emptyDescription: "该服务未提供工具或资源",
requireApproval: "需人工审核",
requireApprovalTip: "开启后Agent 调用该工具前会暂停并等待确认,适用于可能改库/删文件等高危操作",
approvalSaveFailed: "保存审核设置失败",
},
},
error: {
invalidImageLink: "无效的图片链接",
network: "网络错误",
server: "服务器错误",
notFound: "未找到",
unauthorized: "未授权",
forbidden: "禁止访问",
unknown: "未知错误",
tryAgain: "请重试",
networkError: "网络错误,请检查您的网络连接",
invalidCredentials: "用户名或密码错误",
tokenRefreshFailed: "Token刷新失败",
pleaseRelogin: "请重新登录",
fileSizeExceeded: "文件大小不能超过 {size}M",
unsupportedFileType: "不支持的文件类型!",
invalidFileType: "文件类型错误!",
missingKbId: "缺少知识库ID",
tokenNotFound: "未找到登录令牌,请重新登录",
streamFailed: "流式连接失败",
auth: {
loginFailed: "登录失败",
registerFailed: "注册失败",
getUserFailed: "获取用户信息失败",
getTenantFailed: "获取空间信息失败",
updatePreferencesFailed: "更新个性化设置失败",
refreshTokenFailed: "刷新Token失败",
logoutFailed: "登出失败",
validateTokenFailed: "Token验证失败",
},
model: {
createFailed: "创建模型失败",
getFailed: "获取模型失败",
updateFailed: "更新模型失败",
deleteFailed: "删除模型失败",
},
tenant: {
listFailed: "获取空间列表失败",
searchFailed: "搜索空间失败",
resetApiKeyFailed: "重置 API Key 失败",
updateFailed: "更新空间信息失败",
},
initialization: {
checkFailed: "检查失败",
testFailed: "测试失败",
},
},
model: {
llmModel: "LLM模型",
embeddingModel: "嵌入模型",
rerankModel: "重排序模型",
vlmModel: "多模态模型",
modelName: "模型名称",
modelProvider: "模型提供商",
modelUrl: "模型地址",
apiKey: "API密钥",
testConnection: "测试连接",
connectionSuccess: "连接成功",
connectionFailed: "连接失败",
dimension: "维度",
maxTokens: "最大令牌数",
temperature: "温度",
topP: "Top P",
selectModel: "选择模型",
customModel: "自定义模型",
builtinModel: "内置模型",
defaultTag: "默认",
addModelInSettings: "前往全局设置添加模型",
loadFailed: "加载模型列表失败",
selectModelPlaceholder: "请选择模型",
searchPlaceholder: "搜索模型...",
editor: {
addTitle: "添加模型",
editTitle: "编辑模型",
sourceLabel: "模型来源",
sourceLocal: "Ollama本地",
sourceRemote: "Remote API远程",
description: {
chat: "配置用于对话的大语言模型",
embedding: "配置用于文本向量化的嵌入模型",
rerank: "配置用于结果重排序的模型",
vllm: "配置用于视觉理解和多模态的视觉语言模型",
asr: "配置用于语音识别和音频转录的语音转文本模型",
default: "配置模型信息",
},
modelNamePlaceholder: {
local: "例如llama2:latest",
remote: "例如gpt-4, claude-3-opus",
localVllm: "例如llava:latest",
remoteVllm: "例如gpt-4-vision-preview",
remoteAsr: "例如whisper-1",
},
baseUrlLabel: "Base URL",
displayNameLabel: "显示名称(可选)",
displayNamePlaceholder: "例如:客服问答模型",
displayNameDesc: "仅用于界面展示,实际调用仍使用上面的模型名称。",
baseUrlPlaceholder: "例如https://api.openai.com/v1",
baseUrlPlaceholderVllm: "例如http://localhost:11434/v1",
baseUrlPlaceholderAsr: "例如https://api.openai.com/v1",
apiKeyOptional: "API Key可选",
apiKeyPlaceholder: "输入 API Key",
customHeadersLabel: "自定义请求头(可选)",
customHeadersDesc: "调用远程模型 API 时附加的 HTTP 请求头常用于企业网关鉴权、链路追踪等场景Authorization、Content-Type 等保留头会被自动忽略。",
customHeadersAdd: "添加请求头",
customHeadersKeyPlaceholder: "Header 名称",
customHeadersValuePlaceholder: "Header 值",
connectionTest: "连接测试",
testing: "测试中...",
testConnection: "测试连接",
searchPlaceholder: "搜索模型...",
downloadLabel: "下载: {keyword}",
refreshList: "刷新列表",
dimensionLabel: "向量维度",
dimensionPlaceholder: "例如1536",
checkDimension: "检测维度",
dimensionDetected: "检测成功,向量维度:{value}",
dimensionFailed: "检测失败,请手动输入维度",
remoteDimensionDetected: "检测到向量维度:{value}",
supportsVisionLabel: "支持视觉/多模态",
supportsVisionDesc: "模型是否支持图片等多模态输入",
dimensionHint: '模型已选择,点击"检测维度"按钮自动获取向量维度',
loadModelListFailed: "加载模型列表失败",
listRefreshed: "列表已刷新",
fillModelAndUrl: "请先填写模型标识和 Base URL",
remoteBaseUrlRequired: "Remote API 类型必须填写 Base URL",
unsupportedModelType: "不支持的模型类型",
connectionSuccess: "连接成功",
connectionFailed: "连接失败",
connectionConfigError: "连接失败,请检查配置",
downloadStarted: "开始下载 {name}",
downloadCompleted: "{name} 下载完成",
downloadFailed: "{name} 下载失败",
downloadStartFailed: "启动下载失败",
ollamaUnavailable: "Ollama服务不可用无法选择本地模型",
ollamaNotSupportRerank: "Ollama 不支持 ReRank 模型,请使用远程接口配置",
goToOllamaSettings: "查看设置",
validation: {
modelNameRequired: "请输入模型名称",
modelNameEmpty: "模型名称不能为空",
modelNameMax: "模型名称不能超过100个字符",
baseUrlRequired: "请输入 Base URL",
baseUrlEmpty: "Base URL 不能为空",
baseUrlInvalid: "Base URL 格式不正确,请输入有效的 URL",
},
// Provider (厂商) 相关翻译
providerLabel: "服务商",
providerPlaceholder: "选择模型服务商",
providers: {
openai: {
label: "OpenAI",
description: "gpt-5.2, gpt-5-mini, etc.",
},
anthropic: {
label: "Anthropic",
description: "Claude models via native Anthropic Messages API",
},
azure_openai: {
label: 'Azure OpenAI',
description: 'Microsoft Azure 上的 OpenAI 服务',
},
aliyun: {
label: "阿里云 DashScope",
description: "qwen-plus, tongyi-embedding-vision-plus, qwen3-rerank, etc.",
},
zhipu: {
label: "智谱 BigModel",
description: "glm-4.7, embedding-3, rerank, etc.",
},
openrouter: {
label: "OpenRouter",
description: "openai/gpt-5.2-chat, google/gemini-3-flash-preview, etc.",
},
generic: {
label: "自定义 (OpenAI兼容接口)",
description: "Generic API endpoint (OpenAI-compatible)",
},
siliconflow: {
label: "硅基流动 SiliconFlow",
description: "deepseek-ai/DeepSeek-V3.1, etc.",
},
jina: {
label: "Jina",
description: "jina-clip-v1, jina-embeddings-v2-base-zh, etc.",
},
volcengine: {
label: "火山引擎 Volcengine",
description: "doubao-1-5-pro-32k-250115, doubao-embedding-vision-250615, etc.",
},
deepseek: {
label: "DeepSeek",
description: "deepseek-chat, deepseek-reasoner 等",
},
hunyuan: {
label: "腾讯混元 Hunyuan",
description: "hunyuan-pro, hunyuan-standard, hunyuan-embedding, etc.",
},
minimax: {
label: "MiniMax",
description: "MiniMax-M2.7, MiniMax-M2.7-highspeed, MiniMax-M2.5 等",
},
mimo: {
label: "小米 MiMo",
description: "mimo-v2-flash",
},
gemini: {
label: "Google Gemini",
description: "gemini-3-flash-preview, gemini-2.5-pro 等",
},
gpustack: {
label: "GPUStack",
description: "Choose your deployed model on GPUStack",
},
modelscope: {
label: "魔搭 ModelScope",
description: "Qwen/Qwen3-8B, Qwen/Qwen3-Embedding-8B, etc.",
},
qiniu: {
label: "七牛云 Qiniu",
description: "deepseek/deepseek-v3.2-251201, z-ai/glm-4.7, etc.",
},
moonshot: {
label: "月之暗面 Moonshot",
description: "kimi-k2-turbo-preview, moonshot-v1-8k-vision-preview, etc.",
},
qianfan: {
label: "百度千帆 Baidu Cloud",
description: "ernie-5.0-thinking-preview, embedding-v1, bce-reranker-base, etc.",
},
longcat: {
label: "LongCat AI",
description: "LongCat-Flash-Chat, LongCat-Flash-Thinking, etc.",
},
lkeap: {
label: "腾讯云 LKEAP",
description: "DeepSeek-R1, DeepSeek-V3 系列模型,支持思维链",
},
nvidia: {
label: "NVIDIA",
description: "deepseek-ai-deepseek-v3_1, nv-embed-v1, rerank-qa-mistral-4b, etc.",
},
novita: {
label: "Novita AI",
description: "moonshotai/kimi-k2.5, zai-org/glm-5, minimax/minimax-m2.7, qwen/qwen3-embedding-0.6b 等",
},
},
},
builtinTag: "内置",
},
language: {
zhCN: "简体中文",
enUS: "English",
ruRU: "Русский",
koKR: "한국어",
selectLanguage: "选择语言",
language: "语言",
languageDescription: "选择界面显示语言",
languageSaved: "语言设置已保存",
},
general: {
title: "常规设置",
allSettings: "全部设置",
description: "配置语言、外观等基础选项",
settings: "设置",
close: "关闭设置",
},
theme: {
theme: "主题模式",
themeDescription: "选择界面的显示主题,支持跟随系统自动切换",
light: "浅色",
dark: "深色",
system: "跟随系统",
selectTheme: "选择主题",
},
font: {
uiFont: "界面字体",
uiFontDescription: "用于菜单、正文、按钮等界面大部分文字的字体",
monoFont: "代码字体",
monoFontDescription: "用于代码块、终端命令、API 密钥、文件路径等技术内容,每个字符等宽显示,避免 0/O、1/l 混淆",
selectFont: "选择字体",
sansPreview: "示例 Sample 字体 Font — Aa Gg Oo 0123",
monoPreview: "const msg = 'Hello'; // 0O1l",
sans: {
system: "系统默认",
// macOS
pingfang: "苹方 PingFang SC",
georgia: "Georgia 衬线",
// Windows
yahei: "微软雅黑 Microsoft YaHei",
times: "Times New Roman 衬线",
// Linux
"noto-cjk": "Noto Sans CJK",
"dejavu-serif": "DejaVu Serif 衬线",
// 跨平台
"sans-serif": "通用无衬线",
},
mono: {
system: "系统默认",
// macOS
menlo: "Menlo",
monaco: "Monaco",
// Windows
consolas: "Consolas",
cascadia: "Cascadia Code",
// Linux
"dejavu-mono": "DejaVu Sans Mono",
"liberation-mono": "Liberation Mono",
// 跨平台
monospace: "通用等宽",
},
fontSize: "字体大小",
fontSizeDescription: "整体缩放界面(文字、图标、间距等),切换后立即生效",
size: {
small: "小",
normal: "正常",
large: "大",
},
},
platform: {
subtitle: "企业级智能文档检索框架",
description: "让复杂文档理解与精准检索变得简单",
rag: "RAG 增强生成",
hybridSearch: "混合检索",
localDeploy: "本地部署",
multimodalParsing: "多模态文档解析",
hybridSearchEngine: "混合检索引擎",
ragQandA: "RAG 智能问答",
independentTenant: "独立租户空间",
fullApiAccess: "完整 API 访问",
knowledgeBaseManagement: "知识库管理",
carousel: {
agenticRagTitle: "Agentic RAG",
agenticRagDesc: "问题改写 + 智能召回 + 重排序",
hybridSearchTitle: "混合检索策略",
hybridSearchDesc: "BM25 + 向量 + 知识图谱",
smartDocRetrievalTitle: "智能文档检索",
smartDocRetrievalDesc: "PDF/Word/图片多格式解析",
},
},
time: {
today: "今天",
yesterday: "昨天",
last7Days: "近7天",
last30Days: "近30天",
lastYear: "近1年",
earlier: "更早",
pinned: "已置顶",
},
upload: {
uploadDocument: "上传文档",
uploadFolder: "上传文件夹",
onlineEdit: "在线编辑",
deleteRecord: "删除记录",
},
manualEditor: {
placeholders: {
heading: "标题{level}",
listItem: "列表项",
taskItem: "任务项",
quote: "引用内容",
code: "代码内容",
linkText: "链接文本",
imageAlt: "描述",
bold: "加粗文本",
italic: "斜体文本",
strike: "删除线",
inlineCode: "code",
},
table: {
column1: "列1",
column2: "列2",
cell: "内容",
},
toolbar: {
bold: "加粗",
italic: "斜体",
strike: "删除线",
inlineCode: "行内代码",
heading1: "一级标题",
heading2: "二级标题",
heading3: "三级标题",
bulletList: "无序列表",
orderedList: "有序列表",
taskList: "任务列表",
blockquote: "引用",
codeBlock: "代码块",
link: "插入链接",
image: "插入图片",
table: "插入表格",
horizontalRule: "分割线",
},
view: {
toggleToEdit: "切换到编辑视图",
toggleToPreview: "切换到预览视图",
editLabel: "返回编辑",
previewLabel: "预览内容",
},
preview: {
empty: "暂无内容",
},
title: {
edit: "编辑 Markdown 知识",
create: "在线编辑 Markdown 知识",
},
labels: {
currentKnowledgeBase: "当前知识库",
},
defaultTitlePrefix: "新建文档",
error: {
fetchDetailFailed: "获取知识详情失败",
saveFailed: "保存失败,请稍后重试",
},
warning: {
selectKnowledgeBase: "请选择目标知识库",
enterTitle: "请输入知识标题",
enterContent: "请输入知识内容",
contentTooShort: "内容过短,建议补充更多信息后再发布",
},
success: {
draftSaved: "草稿已保存",
published: "知识已发布并开始索引",
},
form: {
knowledgeBaseLabel: "目标知识库",
knowledgeBasePlaceholder: "请选择知识库",
titleLabel: "知识标题",
titlePlaceholder: "请输入标题",
contentPlaceholder: "支持 Markdown 语法,可使用 # 标题、列表、代码块等",
},
noDocumentKnowledgeBases: "暂无可用的文档型知识库,请先创建一个文档型知识库",
status: {
draftTag: "当前状态:草稿",
publishedTag: "当前状态:已发布",
lastUpdated: "最近更新:{time}",
},
loading: {
content: "正在加载内容",
preparing: "正在准备编辑器",
},
actions: {
cancel: "取消",
saveDraft: "暂存草稿",
publish: "发布入库",
},
},
createChat: {
title: "Hi我是 WeKnora让你的知识触手可及",
newSessionTitle: "新会话",
messages: {
selectKnowledgeBase: "请先选择知识库",
createFailed: "创建会话失败",
createError: "创建会话失败,请稍后重试",
},
},
knowledgeList: {
create: "新建知识库",
createShort: "新建",
createFAQ: "新建 FAQ 知识库",
subtitle: "管理和组织您的知识库,支持文档型和问答型知识库",
myKnowledgeBases: "我的知识库",
sharedKnowledgeBases: "共享的知识库",
sharedToOrgs: "已共享给 {count} 个空间",
sharedLabel: "共享",
myLabel: "我的",
fromAgent: "来自智能体 {name}",
fromAgentShort: "智能体: {name}",
tabs: {
all: "全部",
myKnowledgeBases: "我的知识库",
sharedToMe: "共享给我",
},
uninitializedBanner:
"部分知识库尚未初始化,需要先在设置中配置模型信息才能添加知识文档",
emptyShared: "暂无协作知识库,可以加入共享空间获取他人共享的知识库",
empty: {
title: "暂无知识库",
description: '点击左侧快捷操作"新建知识库"按钮创建第一个知识库',
sharedTitle: "暂无共享知识库",
sharedDescription: "您可以加入共享空间或请求他人共享知识库给您",
favoritesTitle: "暂无收藏",
favoritesDescription: "在知识库卡片右上角点击星标即可收藏",
recentsTitle: "暂无最近访问",
recentsDescription: "最近打开过的知识库会出现在这里",
},
delete: {
confirmTitle: "删除确认",
confirmMessage: '确认要删除知识库"{name}"?删除后不可恢复',
confirmButton: "确认删除",
},
menu: {
viewDetails: "查看详情",
},
pin: {
pin: "置顶",
unpin: "取消置顶",
pinSuccess: "已置顶",
unpinSuccess: "已取消置顶",
failed: "操作失败",
},
sections: {
pinned: "置顶",
mine: "我创建的",
tenantReadonly: "本空间 · 仅查看",
tenantOthers: "本空间 · 其他成员",
sharedByMe: "我共享的",
sharedEditable: "共享给我 · 可编辑",
sharedReadonly: "共享给我 · 仅查看",
},
detail: {
title: "共享知识库",
overview: "概览",
overviewDesc: "查看知识库基本信息和来源",
permission: "权限",
permissionDesc: "查看您在此知识库的操作权限",
sourceType: "来源方式",
sourceTypeKbShare: "知识库直接共享到本空间",
sourceTypeAgent: "智能体可访问(通过共享智能体可见)",
sourceOrg: "来源空间",
sourceFromAgent: "智能体",
agentKbStrategy: "智能体知识库策略",
agentKbStrategyAll: "全部知识库",
agentKbStrategySelected: "指定知识库",
agentKbStrategyNone: "不使用知识库",
sharedAt: "共享时间",
myPermission: "我的权限",
canEdit: "可以编辑知识库内容",
canView: "可以查看知识库内容",
canSearch: "可以搜索和使用知识库",
goToKb: "进入知识库",
enabled: "已启用",
disabled: "未启用",
},
features: {
knowledgeGraph: "知识图谱",
multimodal: "多模态",
questionGeneration: "问题生成",
},
messages: {
deleted: "已删除",
deleteFailed: "删除失败",
file: "文件",
knowledgeBase: "知识库",
noResult: "无结果",
},
processing: "正在处理导入任务",
processingDocuments: "正在处理 {count} 个文档",
stats: {
documents: "文档数量",
faqEntries: "问答条目",
chunks: "分块数量",
},
uploadProgress: {
uploadingTitle: "正在向「{name}」上传文件夹中的文档",
detail: "已完成 {completed}/{total} 个文件",
keepPageOpen: "请保持页面打开,上传完成后会自动刷新解析状态。",
completedTitle: "「{name}」的上传已完成",
completedDetail: "共上传 {total} 个文件,正在刷新列表查看解析状态...",
refreshing: "正在刷新列表并获取最新解析状态...",
errorTip: "部分文件上传失败,请查看右上角通知详情。",
unknownKb: "知识库 {id}",
},
},
knowledgeEditor: {
titleCreate: "新建知识库",
titleEdit: "知识库设置",
sidebar: {
basic: "基本信息",
models: "模型配置",
vectorStore: "向量存储",
chunking: "分块设置",
storage: "存储引擎",
advanced: "高级设置",
faq: "FAQ 设置",
wiki: "Wiki 设置",
graph: "知识图谱",
multimodal: "图像处理",
asr: "音频处理",
datasource: "数据源",
share: "共享管理",
indexing: "索引策略",
},
errors: {
vectorStoreBindingInvalid:
"无法使用所选向量存储。请选择其他存储或使用系统默认值。",
vectorStoreUnavailable:
"所选向量存储当前不可用。请在设置 → 向量存储中检查其连接配置。",
},
basic: {
title: "基本信息",
description: "设置知识库的名称和描述信息",
kbId: "知识库 ID",
kbIdDesc: "API 集成时可使用此 ID 指定知识库",
typeLabel: "知识库类型",
typeDocument: "文档",
typeFAQ: "问答",
typeDescription: "FAQ 类型适合结构化问答数据文档型支持文件解析与分块Wiki 类型由 LLM 自动构建互链知识页面。",
nameLabel: "知识库名称",
namePlaceholder: "请输入知识库名称",
descriptionLabel: "知识库描述",
descriptionPlaceholder: "请输入知识库描述(可选)",
},
wiki: {
title: "Wiki 设置",
description: "配置 Wiki 知识库的自动生成偏好",
synthesisModelLabel: "Wiki 合成模型",
synthesisModelPlaceholder: "选择用于 Wiki 生成的 LLM 模型",
synthesisModelTip: "不设置时将回退使用摘要模型",
languageLabel: "Wiki 语言",
maxPagesLabel: "单次最大页面数",
maxPagesTip: "每次 Ingest 最多创建/更新的页面数0 表示不限制)",
extractionGranularityLabel: "提取粒度",
extractionGranularityTip: "控制每篇文档抽取的 Wiki 实体/概念数量。粒度越细,索引越聚焦;粒度越粗,索引越详尽",
granularityFocused: "聚焦",
granularityStandard: "标准",
granularityExhaustive: "详尽",
granularityFocusedHint: "只抽取文档的主角(如简历 → 人物和项目)。最干净,但可能漏掉次要实体。",
granularityStandardHint: "抽取主角 + 被详细描述的次要实体/概念。跳过一带而过的通用名词。适合大多数场景。",
granularityExhaustiveHint: "抽取所有可识别的命名实体与概念,包括一带而过的技术栈。适合将知识库当作术语表使用。",
},
indexing: {
title: "索引策略",
description: "配置文档上传后的处理管道,可以独立开启或关闭每种索引方式",
searchTitle: "RAG 检索",
searchDesc: "对文档进行分块、向量化和关键词索引,支持混合检索",
wikiTitle: "Wiki 知识库",
wikiDesc: "自动生成互相关联的 Wiki 知识页面,构建结构化知识体系",
graphTitle: "知识图谱",
graphDesc: "提取实体和关系,构建知识图谱支持图谱检索",
atLeastOne: "至少需要开启一种索引策略",
embeddingRequired: "RAG 检索需要配置 Embedding 模型",
wikiModelRequired: "Wiki 知识库需要配置合成模型",
lockedTip: "知识库已有内容,索引策略暂不支持调整。如需变更,请先清空知识库。",
rebuildConfirmTitle: "重建索引",
rebuildConfirmBody: "索引策略已变更,是否对已有的 {count} 篇文档重新处理?这可能需要一些时间。",
rebuildSuccess: "已提交重建任务,共 {count} 篇文档",
rebuildSkip: "稍后可在数据源中手动触发重建",
},
wikiBrowser: {
viewInGraph: '在图谱中查看',
tabDocuments: "文档",
tabWiki: "Wiki",
tabGraph: "图谱",
tabGraphTip: "Wiki 页面之间的引用关系图(即页面链接图谱),与「知识库设置 → 知识图谱」中基于 LLM 抽取的实体-关系图谱不是同一个概念",
searchPlaceholder: "搜索 Wiki 页面...",
searchNoResults: "没有找到匹配的页面",
loadMore: "加载更多(还剩 {remaining} 条)",
filterAll: "全部类型",
filterSummary: "摘要",
filterEntity: "实体",
filterConcept: "概念",
filterSynthesis: "综合",
filterComparison: "对比",
viewReader: "阅读器",
viewGraph: "图谱",
stats: "{pages} 个页面 · {links} 个链接",
emptyTitle: "暂无 Wiki 页面",
emptyDesc: "上传文档并启用 Wiki 后将自动生成知识页面",
selectPageHint: "从左侧选择一个页面查看内容",
version: "v{ver}",
aliases: "别名",
linksTo: "链接到",
linkedFrom: "被链接",
sources: "来源文档",
recentActivity: "最近活动",
graphEmpty: "加载图谱中...",
fitView: "适应屏幕",
logTitle: '日志',
indexTitle: '索引',
logFeedTag: '事件流',
logEmpty: '暂无日志记录',
logLoading: '加载中…',
logLoadMore: '加载更多',
indexOverviewTag: '分类目录',
indexEmpty: '暂无 Wiki 页面,请先上传文档',
graphNoData: '暂无图谱数据,请先上传文档(这里展示的是 Wiki 页面之间的链接关系,与「知识库设置 → 知识图谱」中的实体-关系图谱不同)',
showArrows: '显示箭头',
hideArrows: '隐藏箭头',
expandNeighbors: '展开邻居',
bloomNeighbors: '叠加邻居',
growFrontier: '扩张边缘 ({count})',
growFrontierTitle: '一键展开当前所有 {count} 个带虚线环的节点',
cardEgoTitle: '当前焦点',
cardOverviewTitle: '全库概览',
cardOverviewPrimary: '{returned} / {total} 个节点',
cardOverviewHintTruncated: '双击任意节点聚焦到该节点的子图',
cardOverviewHintFull: '已展示知识库全部节点',
cardRelatedNodes: '{count} 个相关节点',
helpButtonTitle: '操作帮助',
helpTitle: '画布操作',
helpClickAction: '单击',
helpClickDesc: '打开节点详情',
helpDblClickAction: '双击',
helpDblClickDesc: '以该节点为中心聚焦',
helpShiftClickAction: 'Shift + 单击',
helpShiftClickDesc: '叠加该节点邻居到画布',
helpHoverPlusAction: '悬浮 → ⊕',
helpHoverPlusDesc: '同 Shift + 单击',
helpDragAction: '拖拽节点',
helpDragDesc: '手动调整节点位置',
helpPanAction: '拖拽空白',
helpPanDesc: '平移画布',
helpZoomAction: '滚轮',
helpZoomDesc: '缩放画布',
neighborsProgress: '已显示邻居 {visible}/{total}(还有 {hidden} 个未加载)',
neighborsAllShown: '全部 {total} 个邻居已在图中(可点"展开邻居"聚焦到该节点子图)',
neighborsNone: '该节点没有链接邻居',
neighborsCenterUnreachable: '已显示邻居 {visible}/{total}(还有 {hidden} 个无法连通:可能是死链、被过滤或已删除)',
neighborsOverviewHidden: '已显示邻居 {visible}/{total}{hidden} 个不在概览范围,点"展开邻居"以此为中心查看)',
backToOverview: '返回概览',
healthCheck: "健康检查",
queueStatus: "Wiki 队列中 {count} 个待处理任务",
issueTitle: "此页面存在 {count} 个待处理的知识冲突或错误",
issueFixBtn: "AI 一键修复",
issueMixed: "信息混杂",
issueConflict: "事实冲突",
issueOutdated: "信息过时",
issueAttention: "需要关注",
issueReportedBy: "由 {reporter} 报告",
issueAiLinter: "AI 巡检",
issueIgnore: "忽略误报",
globalIssuesTitle: "全库待修复内容问题",
globalIssuesCount: "待修复内容问题: {count} 项",
globalIssuesEmpty: "暂无待处理的内容问题",
issuePagePrefix: "页面: ",
issueGoFix: "去处理",
fixAssistantTitle: "Wiki 智能修复助手",
issueFixSuggestions: "内容优化建议 ({count})",
issueFixSingle: "修复",
fixStartError: "启动修复助手失败",
issueFixPromptSingle: "请修复页面 [[{slug}]] 上的问题 (ID: {id})。",
issueFixPromptAutoStart: "请修复页面 [[{slug}]] 上的以下问题:",
issueFixPromptAutoEnd: "",
},
buttons: {
create: "创建知识库",
save: "保存配置",
},
share: {
description: "将知识库共享给空间,让空间成员可以访问和使用",
addShare: "共享",
unshareConfirm: "确定要取消对「{name}」的共享吗?",
tip1: "共享后,空间成员将根据设定的权限访问此知识库",
tip2: "可编辑权限允许成员修改知识库内容,只读权限仅允许检索和问答",
},
messages: {
loadModelsFailed: "加载模型列表失败",
loadDataFailed: "加载知识库数据失败",
notFound: "知识库不存在",
nameRequired: "请输入知识库名称",
embeddingRequired: "请选择 Embedding 模型",
summaryRequired: "请选择 Summary 模型",
multimodalInvalid: "多模态配置验证失败",
createSuccess: "知识库创建成功",
createFailed: "创建知识库失败",
missingId: "缺少知识库 ID",
buildDataFailed: "数据构建失败",
updateSuccess: "配置保存成功",
indexModeRequired: "请选择 FAQ 的索引方式",
storageChangeConfirm: "知识库中已有文件,更改存储引擎后旧文件可能无法正常访问。是否确认更改?",
},
document: {
title: "文档",
subtitle: "支持点击或拖拽上传,多格式文档自动解析并智能分块,快速构建可检索的知识库",
},
faq: {
title: "问答",
subtitle: "结构化问答管理,支持标准问、相似问和反例,精准匹配用户查询,提升问答准确率",
description: "设置 FAQ 知识库的索引策略和问答组织方式",
indexModeLabel: "索引方式",
indexModeDescription: "仅索引问题可提升精度,索引问答可提高召回率",
questionIndexModeLabel: "问题索引方式",
questionIndexModeDescription: "合并索引:标准问和相似问合并索引;分别索引:标准问和每个相似问独立索引,检索更精确但需要更多存储",
entryGuide: "FAQ 条目由标准问、相似问、反例和多个答案组成,可在知识库详情中批量导入、编辑。",
tagDesc: "为 FAQ 条目选择分类",
tagPlaceholder: "请选择分类",
modes: {
questionOnly: "仅标准问/相似问",
questionAnswer: "标准问 + 答案",
combined: "合并索引",
separate: "分别索引",
},
standardQuestion: "标准问",
standardQuestionDesc: "设置问题的标准表述,这是用户最常问的问题形式。",
answers: "答案",
answersDesc: "提供完整准确的答案内容,可添加多个答案以覆盖不同场景。",
similarQuestions: "相似问",
similarQuestionsDesc: "添加与标准问意思相同但表述不同的问题,帮助系统更好地匹配用户查询。",
negativeQuestions: "反例",
negativeQuestionsDesc: "添加不应匹配此答案的问题,用于排除误匹配的情况。",
categoryLabel: "FAQ 分类",
categoryButton: "切换分类",
editorCreate: "新增 FAQ 条目",
editorEdit: "编辑 FAQ 条目",
addAnswer: "添加答案",
answerPlaceholder: "请输入答案内容,支持多行文本,按 Ctrl+Enter 或点击按钮添加",
similarPlaceholder: "输入相似问题后点击加号添加",
negativePlaceholder: "输入反例后点击加号添加",
answerRequired: "请至少填写一个答案",
noAnswer: "暂无答案",
noSimilar: "暂无相似问",
noNegative: "暂无反例",
emptyTitle: "暂无 FAQ 条目",
emptyDesc: '点击上方"新增 FAQ 条目"按钮开始创建',
searchPlaceholder: "搜索问题和答案...",
searchTest: "检索测试",
addFaq: "添加FAQ",
manageFaq: "FAQ操作",
createGroup: "新建",
searchTestTitle: "FAQ 检索测试",
queryLabel: "查询内容",
queryPlaceholder: "请输入要检索的问题",
vectorThresholdLabel: "向量相似度阈值",
vectorThresholdDesc: "范围 0-1默认 0.7",
keywordThresholdLabel: "关键词匹配阈值",
keywordThresholdDesc: "范围 0-1默认 0.5",
matchCountLabel: "结果数量",
matchCountDesc: "范围 1-50默认 10",
searchButton: "开始检索",
searching: "检索中...",
searchResults: "检索结果",
noResults: "未找到匹配的 FAQ 条目",
score: "相似度",
matchType: "匹配类型",
matchedQuestion: "命中问题",
matchTypeEmbedding: "向量匹配",
matchTypeKeywords: "关键词匹配",
similarityThresholdLabel: "相似度阈值",
statusEnabled: "已启用",
statusDisabled: "已禁用",
statusEnableSuccess: "FAQ 条目已启用",
statusDisableSuccess: "FAQ 条目已禁用",
statusUpdateFailed: "更新状态失败",
recommended: "推荐",
recommendedEnabled: "已开启推荐",
recommendedDisabled: "已关闭推荐",
recommendedEnableSuccess: "FAQ 条目已开启推荐",
recommendedDisableSuccess: "FAQ 条目已关闭推荐",
recommendedUpdateFailed: "更新推荐状态失败",
batchOperations: "批量操作",
batchUpdateTag: "批量分类",
batchUpdateTagTip: "将为 {count} 个选中的条目设置分类",
batchEnable: "批量启用",
batchDisable: "批量禁用",
batchEnableRecommended: "批量开启推荐",
batchDisableRecommended: "批量关闭推荐",
},
faqImport: {
title: "批量导入 FAQ",
modeLabel: "导入模式",
appendMode: "追加导入",
replaceMode: "替换现有条目",
fileLabel: "选择文件",
fileTip: "支持 JSON / CSV / Excel。CSV/Excel 表头:分类(必填)、问题(必填)、相似问题(选填-多个用##分隔)、反例问题(选填-多个用##分隔)、机器人回答(必填-多个用##分隔)、是否全部回复(选填-默认FALSE)、是否停用(选填-默认FALSE)、是否禁止被推荐(选填-默认False 可被推荐)。也支持旧格式standard_question、answers、similar_questions、negative_questions",
clickToUpload: "点击上传文件",
dragDropTip: "或拖拽文件到此处",
importButton: "导入 FAQ",
deleteSelected: "批量删除",
deleteSuccess: "选中条目已删除",
previewCount: "共解析 {count} 条记录",
previewMore: "还有 {count} 条未展示",
importSuccess: "导入成功",
parseFailed: "解析文件失败",
invalidJSON: "JSON 文件格式不正确",
unsupportedFormat: "暂不支持该文件格式",
selectFile: "请先选择需要导入的文件",
downloadExample: "下载示例文件",
downloadExampleJSON: "下载 JSON 示例",
downloadExampleCSV: "下载 CSV 示例",
downloadExampleExcel: "下载 Excel 示例",
},
faqExport: {
exportButton: "导出 CSV",
exportSuccess: "导出成功",
exportFailed: "导出失败",
},
models: {
title: "模型配置",
description: "为知识库选择合适的 AI 模型",
llmLabel: "LLM 大语言模型",
llmDesc: "用于总结和摘要的大语言模型",
llmPlaceholder: "请选择 LLM 模型(可选)",
embeddingLabel: "Embedding 嵌入模型",
embeddingDesc: "用于文本向量化的嵌入模型",
embeddingPlaceholder: "请选择 Embedding 模型",
embeddingLocked: "知识库中已有文件,无法修改 Embedding 模型",
rerankLabel: "ReRank 重排序模型",
rerankDesc: "用于搜索结果重排序的模型(可选)",
rerankPlaceholder: "请选择 ReRank 模型(可选)",
},
chunking: {
title: "分块设置",
description: "控制上传文档在嵌入前的切分方式。默认值适用于大多数场景,仅在检索质量异常时调整。",
sizeLabel: "分块大小",
sizeDescription: "每个分块的最大字符数100-4000。默认 512 ≈ 中文 300 tokens / 英文 100-130 tokens。FAQ 用 200-400叙述性长文档用 1000-2000。",
characters: "字符",
overlapLabel: "分块重叠",
overlapDescription: "相邻分块之间共享的字符数0-500。默认 80 ≈ 分块大小的 15%符合当前研究推荐。FAQ/结构化数据用 0长篇叙述用 150-200。",
separatorsLabel: "分隔符",
separatorsDescription: "切分时优先使用的字符或字符串。优先级高的分隔符先尝试;默认顺序优先段落 → 句子 → 标点。",
separatorsPlaceholder: "选择或自定义分隔符",
separators: {
doubleNewline: "双换行 (\\n\\n)",
singleNewline: "单换行 (\\n)",
periodCn: "中文句号 (。)",
exclamationCn: "感叹号 ()",
questionCn: "问号 ()",
semicolonCn: "中文分号 ()",
semicolonEn: "英文分号 (;)",
space: "空格 ( )",
},
parentChildLabel: "父子分块",
parentChildDescription: "两级分块:小的子块用于向量匹配(精准命中),大的父块返回给 LLM更丰富上下文。建议用于长文档>10 页);短 FAQ 可关闭以节省存储。",
parentChunkSizeLabel: "父块大小",
parentChunkSizeDescription: "返回给 LLM 的上下文块大小512-8192。默认 4096 ≈ 1000 英文 tokens适合所有现代 LLM 上下文窗口。",
childChunkSizeLabel: "子块大小",
childChunkSizeDescription: "用于向量匹配的嵌入块大小64-2048。默认 384 ≈ 80 tokens是 sentence-transformer / BGE 类嵌入模型的最佳点。",
strategyLabel: "分块策略",
strategyDescription: "选择文档的分块方式。自动模式会分析每个文档的结构并选择最佳策略。",
strategyPlaceholder: "选择分块策略(不填则按长度切分)",
strategies: {
auto: {
label: "自动",
tooltip: "文档分析器根据内容结构自动在「按标题切分」「结构感知」「按长度切分」之间选择。"
},
heading: {
label: "按标题切分",
tooltip: "在 Markdown 标题(#、##、###)边界处切分,每块自动带上所在标题路径。适合结构清晰的 Markdown 文档。"
},
heuristic: {
label: "结构感知",
tooltip: "识别分页符、编号章节、多语言章节标记DE/EN/ZH、全大写标题等结构信号进行切分。适合没有 Markdown 标题的 PDF / 扫描件。"
},
legacy: {
label: "按长度切分",
tooltip: "忽略结构,仅按字符数和分隔符递归切分——原始行为。当上述策略对你的内容效果不佳时使用。"
}
},
overlapWarning: "重叠相对于分块大小较大——分块之间会共享大部分内容。",
advancedLabel: "高级选项",
tokenLimitLabel: "每块 Token 上限",
tokenLimitDescription: "每个分块的硬性 Token 上限0-8192。0 = 关闭(仅按字符数)。当嵌入模型 Token 上限较小时启用MiniLM (256 tok) 用 200BGE/Cohere (512 tok) 用 400。现代嵌入器OpenAI、Voyage、Jina-v3支持 >2000 tokens保持 0 即可。",
languagesLabel: "语言提示",
languagesDescription: "限制启发式模式只识别选定的语言DE/EN/ZH。留空 = 自动检测。同质化语料库可显式设置以避免跨语言误匹配。",
languagesPlaceholder: "自动检测",
languageOptions: {
de: "德语",
en: "英语",
zh: "中文"
},
debug: {
toggle: "测试分块效果",
toggleHint: "无需重新上传即可对示例文本运行分块器",
sampleLabel: "示例文本",
samplePlaceholder: "粘贴 Markdown / 纯文本片段以查看当前配置的分块结果…",
presetLabel: "载入示例:",
samples: {
markdown: "Markdown 文档",
faq: "FAQ 列表",
chapter: "PDF 章节",
plain: "纯文本"
},
runButton: "运行预览",
loading: "正在对示例运行分块器…",
errorPrefix: "预览失败",
selectedTier: "选定策略",
rejected: "被拒绝的层级",
contextHeader: "上下文标题",
fallbackWarning: "策略链已穷尽 — 当前设置无法智能分块此内容",
profile: {
lines: "行",
chars: "字符",
headings: "Markdown 标题",
pageBreaks: "分页符",
chapterMarkers: "章节标记",
languages: "语言"
},
stats: {
chunks: "块",
truncated: "已截断;总数 {total}"
}
}
},
multimodal: {
title: "图像处理配置",
description: "配置图像内容理解能力,启用后支持图片等非文本内容的解析和检索",
},
asr: {
title: "音频语音识别",
description: "配置语音识别ASR启用后可上传音频文件并整段转写为文本常见格式mp3、wav、m4a、flac、ogg 等)。暂不支持视频上传。",
label: "启用音频语音识别",
desc: "启用后可上传音频到知识库,系统自动将语音转写为文本并参与解析与检索",
modelLabel: "ASR 模型",
modelDescription: "用于音频中语音转文本的识别模型(如 OpenAI Whisper",
modelPlaceholder: "请选择 ASR 模型",
},
advanced: {
title: "高级设置",
description: "配置问题生成等高级功能",
questionGeneration: {
label: "AI 问题生成",
description: "解析文档时调用大模型为每个分块生成相关问题,提高检索召回率。启用后会增加文档解析耗时。",
countLabel: "生成问题数量",
countDescription: "每个文档分块生成的问题数量1-10",
},
multimodal: {
label: "多模态功能",
description: "启用图片等多模态内容的理解能力",
vllmLabel: "VLLM 视觉模型",
vllmDescription: "用于多模态理解的视觉语言模型(必选)",
vllmPlaceholder: "请选择 VLLM 模型(必选)",
storageTitle: "存储配置",
storageTypeLabel: "存储类型",
storageTypeDescription:
"选择多模态文件的存储方式MinIO 或腾讯云 COS 二选一)",
storageTypeOptions: {
minio: "MinIO",
cos: "腾讯云 COS",
},
minioDisabledWarning: "MinIO 未启用,已自动切换到腾讯云 COS。如需使用 MinIO请先在系统配置中启用 MinIO。",
minio: {
bucketLabel: "Bucket 名称",
bucketDescription: "MinIO 存储桶名称(必填)",
bucketPlaceholder: "选择或输入 Bucket 名称",
bucketHint: "选择已存在的公有读权限 Bucket或输入新名称将自动创建",
policyLabels: {
public: "公有读",
private: "私有",
custom: "自定义"
},
useSslLabel: "使用 SSL",
useSslDescription: "是否使用 SSL 连接",
pathPrefixLabel: "路径前缀",
pathPrefixDescription: "文件存储路径前缀(可选)",
pathPrefixPlaceholder: "请输入路径前缀",
},
cos: {
secretIdLabel: "SecretId",
secretIdDescription: "腾讯云 API 密钥 ID必填",
secretIdPlaceholder: "请输入 SecretId必填",
secretKeyLabel: "SecretKey",
secretKeyDescription: "腾讯云 API 密钥 Key必填",
secretKeyPlaceholder: "请输入 SecretKey必填",
regionLabel: "地域",
regionDescription: "COS 存储桶所在地域(必填)",
regionPlaceholder: "如ap-guangzhou必填",
bucketLabel: "Bucket 名称",
bucketDescription: "COS 存储桶名称(必填)",
bucketPlaceholder: "请输入 Bucket 名称(必填)",
appIdLabel: "AppId",
appIdDescription: "腾讯云应用 ID必填",
appIdPlaceholder: "请输入 AppId必填",
pathPrefixLabel: "路径前缀",
pathPrefixDescription: "文件存储路径前缀(可选)",
pathPrefixPlaceholder: "请输入路径前缀",
},
},
},
},
input: {
addModel: "添加模型",
placeholder: "直接向模型提问",
placeholderWithContext: "输入问题,将基于上方选中的知识库/文件回答",
placeholderWebOnly: "输入问题,将结合网络搜索回答",
placeholderKbAndWeb: "输入问题,将基于知识库和网络搜索回答",
placeholderAgent: "向 {name} 提问",
agentMode: "智能推理",
normalMode: "快速问答",
normalModeDesc: "基于知识库的 RAG 问答",
agentModeDesc: "多步思考,深度分析",
agentNotReadyTooltip: "Agent 未就绪,请先在设置中完成配置",
agentMissingAllowedTools: "允许的工具",
agentMissingSummaryModel: "对话模型Summary Model",
agentMissingRerankModel: "重排模型Rerank Model",
goToSettings: "前往设置 →",
customAgentNotReadyTooltip: "智能体未就绪,请先完成配置",
customAgentNotReadyDetail: "智能体未就绪,需要配置以下内容:{reasons}",
customAgentMissingSummaryModel: "对话模型Summary Model",
customAgentMissingRerankModel: "重排模型Rerank Model",
goToAgentEditor: "前往配置 →",
agentNotReadyDetail: "智能体「{agentName}」未就绪,需要配置以下内容:{reasons}",
builtinAgentNotReadyDetail: "内置智能体「{agentName}」未就绪,需要配置以下内容:{reasons}",
builtinAgentSettingName: "智能推理",
builtinNormalSettingName: "快速问答",
webSearch: {
toggleOn: "开启网络搜索",
toggleOff: "关闭网络搜索",
notConfigured: "未配置网络搜索引擎",
},
knowledgeBase: "知识库",
knowledgeBaseWithCount: "知识库({count})",
notConfigured: "未配置",
sharedAgentModelLabel: "共享智能体配置的模型",
model: "模型",
remote: "远程",
noModel: "暂无可用模型",
stopGeneration: "停止生成",
send: "发送",
thinkingLabel: "Thinking:",
messages: {
enterContent: "请先输入内容!",
selectKnowledge: "请先选择知识库!",
replying: "正在回复中,请稍后再试!",
agentSwitchedOn: "已切换到智能推理",
agentSwitchedOff: "已切换到快速问答",
agentSelected: "已选择智能体「{name}」",
agentEnabled: "Agent 模式已启用",
agentDisabled: "Agent 模式已禁用",
agentNotReadyDetail:
"Agent 未就绪,需要配置以下内容:{reasons}",
webSearchNotConfigured:
"未配置网络搜索引擎,请先在设置中完成搜索引擎选择与接口配置。",
webSearchEnabled: "网络搜索已开启",
webSearchDisabled: "网络搜索已关闭",
sessionMissing: "会话 ID 不存在",
messageMissing: "无法获取消息 ID请刷新页面后重试",
stopSuccess: "已停止生成",
stopFailed: "停止失败,请重试",
},
webSearchDisabledByAgent: "当前智能体已禁用网络搜索",
webSearchForcedByAgent: "当前智能体已启用网络搜索,无法关闭",
kbLockedByAgent: "当前智能体已锁定知识库配置",
kbDisabledByAgent: "当前智能体已禁用知识库功能",
cannotRemoveAgentKb: "智能体配置的知识库无法移除",
agentConfiguredKb: "由智能体配置,不可删除",
modelLockedByAgent: "当前智能体已锁定模型配置",
imageUploadDisabledByAgent: "当前智能体未启用图片上传",
goToAgentSettings: "去设置智能体",
},
agentSettings: {
title: "Agent 配置",
description:
"配置 AI Agent 的默认行为和参数,这些设置将应用于所有启用 Agent 模式的对话",
modelRecommendation: {
title: "模型推荐",
content: "为获得更好的 Agent 体验,建议使用支持 FunctionCalling 的长上下文大语言模型,如 deepseek-v3.1-terminus 等",
},
status: {
label: "Agent 状态",
ready: "可用",
notReady: "未就绪",
hint: '配置完成后Agent 状态将自动变为"可用",此时可在对话界面开启 Agent 模式',
missingThinkingModel: "思考模型",
missingSummaryModel: "对话模型Summary Model",
missingRerankModel: "Rerank 模型",
missingAllowedTools: "允许的工具",
pleaseConfigure: "请配置{items}",
goToConfig: "前往配置对话模型",
goConfigureModels: "前往配置模型 →",
},
maxIterations: {
label: "最大迭代次数",
desc: "Agent 执行任务时的最大推理步骤数",
},
thinkingModel: {
label: "思考模型",
desc: "用于 Agent 推理和规划的 LLM 模型",
hint: "需要支持 Function call 的大尺寸模型,如 deepseek 等",
},
rerankModel: {
label: "Rerank 模型",
desc: "搜索结果重排序,统一不同来源的相关度分数",
},
model: {
placeholder: "搜索模型...",
addChat: "添加新的对话模型",
addRerank: "添加新的 Rerank 模型",
},
temperature: {
label: "温度参数",
desc: "控制模型输出的随机性0 最确定1 最随机",
},
allowedTools: {
label: "允许的工具",
desc: "当前 Agent 可使用的工具列表",
placeholder: "请选择工具...",
empty: "尚未配置任何工具",
},
systemPrompt: {
label: "系统 Prompt",
desc: "配置 Agent 的系统提示词,支持占位符模板。占位符会在运行时自动替换为实际内容。",
availablePlaceholders: "可用占位符:",
hintPrefix: "提示:输入",
hintSuffix: "时会自动显示可用占位符",
custom: "自定义 Prompt",
disabledHint: "当前使用系统默认 Prompt开启自定义后才会应用下方内容。",
placeholder: "请输入系统 Prompt或留空使用默认 Prompt...",
tabHint: "统一的系统提示词,使用 {'{{'}web_search_status{'}}'} 占位符动态控制网络搜索行为",
tabHintDetail: "统一的系统提示词,使用 {'{{'}web_search_status{'}}'} 占位符动态控制网络搜索行为(留空则使用系统默认,使用 {'{{'}web_search_status{'}}'} 占位符动态控制网络搜索行为)",
},
reset: {
header: "恢复默认 Prompt",
body: "确定要恢复为默认 Prompt 吗?当前的自定义 Prompt 将被覆盖。",
},
globalConfigNotice: "这些是全局默认配置,新建智能体时会继承这些设置。您也可以在智能体列表中单独配置每个智能体。",
loadConfigFailed: "加载Agent配置失败",
loadModelsFailed: "加载模型列表失败",
errors: {
selectThinkingModel: "启用Agent模式前请先选择思考模型",
selectAtLeastOneTool: "至少需要选择一个允许的工具",
iterationsRange: "最大迭代次数必须在1-20之间",
temperatureRange: "温度参数必须在0-2之间",
validationFailed: "配置验证失败",
},
toasts: {
iterationsSaved: "最大迭代次数已保存",
thinkingModelSaved: "思考模型已保存",
rerankModelSaved: "Rerank 模型已保存",
temperatureSaved: "温度参数已保存",
toolsUpdated: "工具配置已更新",
customPromptEnabled: "已启用自定义 Prompt",
defaultPromptEnabled: "已切换为默认 Prompt",
resetToDefault: "已恢复为默认 Prompt",
systemPromptSaved: "系统 Prompt 已保存",
autoDisabled: "Agent 配置不完整,已自动关闭 Agent 模式",
},
},
conversationSettings: {
description: "配置对话模式的默认行为和参数包括Agent模式和普通模式的Prompt设置",
agentMode: "Agent模式",
normalMode: "普通模式",
menus: {
modes: "模式设置",
models: "模型配置",
thresholds: "检索阈值",
advanced: "高级设置",
},
models: {
description: "统一管理 Agent 和普通模式使用的对话/总结模型与 ReRank 模型",
chatGroupLabel: "思考 / 对话模型",
chatGroupDesc: "包含 Agent 推理与规划模型,以及普通模式默认的对话/总结模型",
chatModel: {
label: "普通模式默认对话模型",
desc: "普通模式默认使用的对话/总结模型,当会话未指定模型时生效",
placeholder: "请选择默认对话模型",
},
rerankModel: {
label: "普通模式默认 ReRank 模型",
desc: "普通模式默认使用的重排序模型",
placeholder: "请选择默认 ReRank 模型",
},
rerankGroupLabel: "ReRank 模型",
rerankGroupDesc: "包含 Agent 使用的重排序模型,以及普通模式默认 ReRank 模型",
},
thresholds: {
description: "调整召回与重排序的阈值与 TopK平衡准确率与性能",
},
maxRounds: {
label: "历史保留轮数",
desc: "用于多轮上下文和问题改写的历史轮数",
},
embeddingTopK: {
label: "Embedding TopK",
desc: "向量召回阶段保留的文档数量",
},
keywordThreshold: {
label: "关键词阈值",
desc: "关键词检索的最低得分阈值",
},
vectorThreshold: {
label: "向量阈值",
desc: "向量召回的最低相似度阈值",
},
rerankTopK: {
label: "ReRank TopK",
desc: "重排序后进入答案生成的文档数量",
},
rerankThreshold: {
label: "ReRank 阈值",
desc: "重排序阶段的最低得分阈值",
},
enableRewrite: {
label: "开启问题改写",
desc: "多轮对话自动改写问题以获得更优召回",
},
enableQueryExpansion: {
label: "启用查询扩展",
desc: "召回不足时调用大模型生成扩展查询(增加时延与成本)",
},
fallbackStrategy: {
label: "兜底策略",
desc: "检索无结果时采用的处理方式",
fixed: "固定回复",
model: "交给模型继续生成",
},
fallbackResponse: {
label: "固定兜底回复",
desc: "当兜底策略为固定回复时返回的文本",
},
fallbackPrompt: {
label: "兜底 Prompt",
desc: "当选择模型兜底时使用的提示模板",
},
advanced: {
description: "配置问题改写、兜底策略等高级设置",
},
rewritePrompt: {
system: "Rewrite System Prompt",
user: "Rewrite User Prompt",
desc: "控制问题改写的系统提示词",
userDesc: "控制问题改写的用户提示词",
},
chatModel: {
label: "LLM 模型",
desc: "用于总结和摘要的大语言模型",
},
rerankModel: {
label: "ReRank 模型",
desc: "用于搜索结果重排序的模型(可选)",
},
contextTemplate: {
label: "总结Prompt",
desc: "用于普通模式下基于检索结果生成回答的Prompt模板",
descWithDefault: "用于普通模式下基于检索结果生成回答的Prompt模板留空则使用系统默认",
placeholder: "请输入检索结果总结的Prompt模板...",
custom: "自定义模板",
disabledHint: "当前使用系统默认总结 Prompt开启自定义后才会应用下方内容。",
},
systemPrompt: {
label: "系统Prompt",
desc: "用于普通模式对话的系统级Prompt",
descWithDefault: "用于普通模式对话的系统级Prompt留空则使用系统默认",
placeholder: "请输入系统Prompt...",
custom: "自定义 Prompt",
disabledHint: "当前使用系统默认 Prompt开启自定义后才会应用下方内容。",
},
temperature: {
label: "温度参数",
desc: "控制模型输出的随机性0最确定1最随机",
},
maxTokens: {
label: "最大Token数",
desc: "生成回答的最大Token数量",
},
resetSystemPrompt: {
header: "恢复默认系统 Prompt",
body: "确定要恢复为系统默认的系统 Prompt 吗?",
},
resetContextTemplate: {
header: "恢复默认总结 Prompt",
body: "确定要恢复为系统默认的总结 Prompt 吗?",
},
toasts: {
chatModelSaved: "LLM 模型已保存",
rerankModelSaved: "ReRank 模型已保存",
contextTemplateSaved: "总结Prompt已保存",
systemPromptSaved: "系统Prompt已保存",
temperatureSaved: "温度参数已保存",
maxTokensSaved: "最大Token数已保存",
maxRoundsSaved: "历史轮数已保存",
embeddingSaved: "Embedding TopK 已保存",
keywordThresholdSaved: "关键词阈值已保存",
vectorThresholdSaved: "向量阈值已保存",
rerankTopKSaved: "ReRank TopK 已保存",
rerankThresholdSaved: "ReRank 阈值已保存",
enableRewriteSaved: "问题改写开关已保存",
enableQueryExpansionSaved: "查询扩展策略已保存",
fallbackStrategySaved: "兜底策略已保存",
fallbackResponseSaved: "兜底回复已保存",
fallbackPromptSaved: "兜底 Prompt 已保存",
rewritePromptSystemSaved: "改写 System Prompt 已保存",
rewritePromptUserSaved: "改写 User Prompt 已保存",
customPromptEnabled: "已启用自定义 Prompt",
defaultPromptEnabled: "已使用系统默认 Prompt",
customContextTemplateEnabled: "已启用自定义总结 Prompt",
defaultContextTemplateEnabled: "已使用系统默认总结 Prompt",
resetSystemPromptSuccess: "已恢复为系统默认 Prompt",
resetContextTemplateSuccess: "已恢复为系统默认总结 Prompt",
},
},
// 新增MCP 设置
mcpSettings: {
title: "MCP 服务管理",
description:
"管理外部 MCP (Model Context Protocol) 服务,在 Agent 模式下调用外部工具和资源",
configuredServices: "已配置的服务",
manageAndTest: "管理和测试 MCP 服务连接",
addService: "添加服务",
empty: "暂无 MCP 服务",
addFirst: "添加第一个 MCP 服务",
actions: {
test: "测试连接",
},
toasts: {
loadFailed: "加载 MCP 服务列表失败",
enabled: "已启用 MCP 服务",
disabled: "已禁用 MCP 服务",
updateStateFailed: "更新 MCP 服务状态失败",
testing: "正在测试 {name}...",
noResponse: "测试失败:未收到服务器响应",
testFailed: "测试 MCP 服务失败",
deleted: "MCP 服务已删除",
deleteFailed: "删除 MCP 服务失败",
},
deleteConfirmBody: '确定要删除 MCP 服务"{name}"吗?此操作无法撤销。',
unnamed: "未命名",
builtin: "内置",
},
// 新增:模型设置
modelSettings: {
title: "模型配置",
description: "管理不同类型的 AI 模型,支持 Ollama 本地模型和远程 API",
typeShort: {
chat: "对话",
embedding: "Embedding",
rerank: "ReRank",
vllm: "视觉",
asr: "语音",
},
actions: {
addModel: "添加模型",
setDefault: "设为默认",
},
source: {
remote: "Remote",
openaiCompatible: "OpenAI兼容",
},
rawModelName: "模型名称",
chat: {
title: "对话模型",
desc: "配置用于对话的大语言模型",
empty: "暂无对话模型",
},
embedding: {
title: "Embedding 模型",
desc: "配置用于文本向量化的嵌入模型",
empty: "暂无 Embedding 模型",
},
rerank: {
title: "ReRank 模型",
desc: "配置用于结果重排序的模型",
empty: "暂无 ReRank 模型",
},
vllm: {
title: "VLLM 视觉模型",
desc: "配置用于视觉理解和多模态的视觉语言模型",
empty: "暂无 VLLM 视觉模型",
},
asr: {
title: "ASR 语音模型",
desc: "配置用于语音识别和音频转录的语音转文本模型(如 OpenAI Whisper",
empty: "暂无 ASR 语音模型",
},
toasts: {
nameRequired: "模型名称不能为空",
nameTooLong: "模型名称不能超过100个字符",
displayNameTooLong: "显示名称不能超过100个字符",
baseUrlRequired: "Remote API 类型必须填写 Base URL",
baseUrlInvalid: "Base URL 格式不正确,请输入有效的 URL",
dimensionInvalid: "Embedding 模型必须填写有效的向量维度128-4096",
updated: "模型已更新",
added: "模型已添加",
saveFailed: "保存模型失败",
deleted: "模型已删除",
deleteFailed: "删除模型失败",
setDefault: "已设为默认模型",
setDefaultFailed: "设置默认模型失败",
builtinCannotEdit: "内置模型不能编辑",
builtinCannotDelete: "内置模型不能删除",
builtinCannotCopy: "内置模型不能复制",
copied: "模型已复制",
copyFailed: "复制模型失败",
},
copySuffix: " 副本",
builtinModels: {
title: "内置模型",
description: "内置模型对所有租户可见,敏感信息会被隐藏,且不可编辑或删除。",
viewGuide: "查看内置模型管理指南",
},
builtinTag: "内置",
confirmDelete: "确定删除此模型吗?",
},
// 新增Ollama 设置
ollamaSettings: {
title: "Ollama 配置",
description: "管理本地 Ollama 服务,查看和下载模型",
status: {
label: "Ollama 服务状态",
desc: '自动检测本地 Ollama 服务是否可用。如果服务未运行或地址配置错误,将显示"不可用"状态',
testing: "检测中",
available: "可用",
unavailable: "不可用",
untested: "未检测",
retest: "重新检测",
},
address: {
label: "服务地址",
desc: "本地 Ollama 服务的 API 地址,由系统自动检测。如需修改,请在 .env 配置文件中设置",
placeholder: "http://localhost:11434",
failed: "连接失败,请检查 Ollama 是否运行或服务地址是否正确",
},
download: {
title: "下载新模型",
descPrefix: "输入模型名称下载,",
browse: "浏览 Ollama 模型库",
placeholder: "如qwen2.5:0.5b",
download: "下载",
downloading: "正在下载: {name}",
},
installed: {
title: "已下载的模型",
desc: "已安装在 Ollama 中的模型列表",
empty: "暂无已下载的模型",
},
unknown: "未知",
today: "今天",
yesterday: "昨天",
daysAgo: "{days} 天前",
toasts: {
connected: "连接成功",
connectFailed: "连接失败,请检查 Ollama 是否运行",
listFailed: "获取模型列表失败",
downloadFailed: "下载失败,请稍后重试",
downloadStarted: "已开始下载模型 {name}",
downloadCompleted: "模型 {name} 下载完成",
progressFailed: "查询下载进度失败",
},
},
// 新增MCP 服务对话框
mcpServiceDialog: {
addTitle: "添加 MCP 服务",
editTitle: "编辑 MCP 服务",
name: "服务名称",
namePlaceholder: "请输入服务名称",
description: "描述",
descriptionPlaceholder: "请输入服务描述",
transportType: "传输类型",
transport: {
sse: "SSE (Server-Sent Events)",
httpStreamable: "HTTP Streamable",
stdio: "Stdio",
},
serviceUrl: "服务 URL",
serviceUrlPlaceholder: "https://example.com/mcp",
command: "命令",
args: "参数",
argPlaceholder: "参数 {index}",
addArg: "添加参数",
envVars: "环境变量",
envKeyPlaceholder: "变量名",
envValuePlaceholder: "变量值",
addEnvVar: "添加环境变量",
enableService: "启用服务",
authConfig: "认证配置",
apiKey: "API Key",
bearerToken: "Bearer Token",
optional: "可选",
advancedConfig: "高级配置",
timeoutSec: "超时时间(秒)",
retryCount: "重试次数",
retryDelaySec: "重试延迟(秒)",
rules: {
nameRequired: "请输入服务名称",
transportRequired: "请选择传输类型",
urlRequired: "请输入服务 URL",
urlInvalid: "请输入有效的 URL",
commandRequired: "请选择命令 (uvx 或 npx)",
argsRequired: "请至少输入一个参数",
},
toasts: {
created: "MCP 服务已创建",
updated: "MCP 服务已更新",
createFailed: "创建 MCP 服务失败",
updateFailed: "更新 MCP 服务失败",
},
},
promptTemplate: {
noTemplates: "暂无模板",
selectTemplate: "选择模板",
useTemplate: "使用模板",
resetDefault: "恢复默认",
default: "默认",
withKnowledgeBase: "知识库",
withWebSearch: "网络搜索",
},
organization: {
title: "共享空间",
subtitle: "创建或加入共享空间,让多个空间互相协作,共享知识库与智能体",
createOrg: "创建空间",
createOrgShort: "新建",
joinOrg: "加入空间",
joinOrgShort: "加入",
name: "空间名称",
namePlaceholder: "请输入空间名称",
nameRequired: "请输入空间名称",
avatar: "空间头像",
avatarClear: "清除",
avatarPickerHint: "选择 Emoji 作为空间头像",
description: "空间描述",
descriptionPlaceholder: "请输入空间描述(选填)",
noDescription: "暂无描述",
members: "成员",
memberCount: "成员数量",
owner: "创建者",
inviteCode: "邀请码",
inviteCodePlaceholder: "请输入邀请码",
inviteCodeRequired: "请输入邀请码",
inviteCodeTip: "分享此邀请码给他人,他们可以通过邀请码加入空间",
refreshInviteCode: "刷新邀请码",
inviteCodeRefreshed: "邀请码已刷新",
inviteCodeRefreshFailed: "刷新邀请码失败",
rbac: {
needTenantAdmin: "需要空间管理员权限",
needTenantAdminTip: "此操作需要当前空间的 admin 或更高角色,请联系空间 Owner 调整权限。",
cannotCreate: "当前空间角色不足,无法创建共享空间",
cannotJoin: "当前空间角色不足,无法加入或申请加入共享空间",
cannotManage: "当前空间角色不足,无法管理共享空间",
},
join: {
title: "加入空间",
joining: "正在加入空间...",
success: "成功加入空间!",
failed: "加入空间失败",
noCode: "未找到邀请码",
goToOrganizations: "前往空间列表",
confirmTitle: "确认加入空间",
confirm: "确认加入",
preview: "预览并加入",
memberCount: "{count} 个成员",
shareCount: "{count} 个共享知识库",
agentShareCount: "{count} 个智能体",
alreadyMember: "您已经是该空间的成员",
invalidCode: "无效的邀请码",
byInviteCode: "输入邀请码",
searchSpaces: "搜索空间",
searchSpacesDesc: "浏览或搜索已开放可被搜索的空间,无需邀请码即可加入",
searchSpacesPlaceholder: "按空间名称、描述或空间ID搜索",
spaceId: "空间ID",
noSearchResult: "未找到匹配的空间",
noSearchableSpaces: "暂无开放可被搜索的空间,或输入关键词搜索",
membersWithLimit: "{current}/{limit} 成员",
memberLimitReached: "成员已满",
backToSearch: "返回搜索",
},
invite: {
loading: "加载中...",
previewTitle: "加入空间",
previewInfo: "空间概览",
inputDesc: "输入邀请码或粘贴邀请链接中的邀请码,查看空间信息后加入",
previewAction: "查看",
primaryJoin: "加入",
invalidTitle: "无效邀请",
invalidCode: "邀请码无效或已过期",
previewFailed: "预览失败,请稍后重试",
members: "成员",
knowledgeBases: "知识库",
agents: "智能体",
alreadyMember: "您已经是该空间的成员",
confirmJoin: "确认加入",
submitRequest: "申请加入",
requireApprovalTip: "该空间需要管理员审核后才能加入",
approvalLabel: "加入方式",
needApproval: "需要审核",
noApproval: "无需审核",
defaultRoleAfterJoin: "加入后默认权限:{role}",
requestRole: "申请角色",
selectRole: "选择角色",
messagePlaceholder: "选填:申请说明(如自我介绍或加入原因)",
applicationNote: "申请说明(选填)",
joinSuccess: "成功加入空间!",
joinFailed: "加入失败,请稍后重试",
requestSubmitted: "申请已提交,请等待管理员审核",
requestFailed: "申请提交失败,请稍后重试",
viewOrganization: "查看空间",
},
leave: "退出空间",
leaveConfirm: "确定要退出该空间吗?",
leaveConfirmTitle: "退出空间",
leaveConfirmMessage: "确定要退出空间「{name}」吗?退出后将无法访问该空间共享的知识库。",
leaveSuccess: "已退出空间",
leaveFailed: "退出空间失败",
deleteConfirm: "确定要删除该空间吗?此操作不可撤销。",
deleteConfirmTitle: "删除空间",
deleteConfirmMessage: "确定要删除空间「{name}」吗?删除后所有成员将被移除,此操作不可撤销。",
deleteSuccess: "空间已删除",
deleteFailed: "删除空间失败",
createSuccess: "空间创建成功",
createFailed: "创建空间失败",
joinSuccess: "成功加入空间",
joinFailed: "加入空间失败",
manageMembers: "成员管理",
noMembers: "暂无成员",
roleUpdated: "角色已更新",
roleUpdateFailed: "更新角色失败",
memberRemoved: "成员已移除",
memberRemoveFailed: "移除成员失败",
empty: "您还没有加入任何共享空间",
emptyDesc: "创建一个空间或通过邀请码加入现有空间",
all: "全部",
createdByMe: "我创建的",
joinedByMe: "我加入的",
createdTag: "创建",
joinedTag: "加入",
joinedLabel: "已加入",
emptyCreated: "您还没有创建任何共享空间",
emptyCreatedDesc: "点击「创建空间」创建一个新空间",
emptyJoined: "您还没有加入任何共享空间",
emptyJoinedDesc: "通过邀请码加入现有空间",
role: {
admin: "管理员",
editor: "编辑",
viewer: "只读",
},
detail: {
myRole: "我的角色",
removeMemberTitle: "移除成员",
removeMemberConfirm: "确定要移除成员「{name}」吗?",
removeMember: "移除成员",
shareKBTip: "在知识库列表中选择知识库,点击共享按钮将其共享到此空间",
},
settings: {
editTitle: "空间设置",
detailTitle: "空间详情",
myRoleDesc: "您在此空间中的角色决定了您的权限范围",
membersDesc: "查看和管理共享空间成员、调整成员角色。成员的最小单位是空间——加入后该空间下的所有用户都将获得访问权限。",
sharedDesc: "查看共享到此空间的所有知识库",
noSharedKB: "暂无共享的知识库",
noSharedKBTip: "知识库拥有者可以在知识库设置中将其共享到此空间",
sharedAgents: "共享智能体",
noSharedAgents: "暂无共享的智能体",
sharedAgentsDesc: "已共享到本空间的智能体,成员可在对话中使用",
sharedAgentsKbHint: "智能体绑定的知识库仅在成员使用该智能体对话时可 {'@'} 使用(只读),不会出现在「知识库列表」中。若需成员在列表中看到或编辑知识库,请单独将知识库共享到本空间。",
sharedAgentsKbHintShort: "智能体绑定知识仅对话内只读;需在列表看到或编辑请单独共享知识库",
noSharedAgentsTip: "管理员可将智能体从智能体设置中共享到本空间",
sharePermissionLabel: "空间权限",
myPermissionLabel: "我的实际权限",
permissionCalcFormula: "空间权限为共享时给该空间设定的权限;我的实际权限 = min(空间权限, 我在本空间的角色)",
permissionCalcTip: "我的实际权限 = min(空间权限, 我在本空间的角色)。我在空间内是只读时,对此知识库最多只读;是编辑或管理员时,不超过空间权限。",
inviteMembers: "邀请成员",
inviteMembersDesc: "通过邀请码或链接邀请他人加入空间",
inviteLink: "邀请链接",
inviteLinkValidity: "邀请链接有效期",
inviteLinkValidityDesc: "新生成的邀请链接的有效期,仅影响之后刷新生成的链接",
validity1Day: "1 天",
validity7Days: "7 天",
validity30Days: "30 天",
validityNever: "永不过期",
remainingValidity: "剩余 {n} 天",
remainingValidityNever: "永不过期",
remainingValidityExpired: "已过期",
removeShareFromOrg: "从空间中移除",
removeShareConfirm: "确定将「{name}」从本空间中移除?移除后空间成员将无法再访问该知识库。",
removeAgentShareConfirm: "确定将「{name}」从本空间中移除?移除后空间成员将无法再访问该智能体。",
removeShareSuccess: "已从空间中移除",
removeShareFailed: "移除失败,请重试",
requireApproval: "需要审核",
requireApprovalDesc: "开启后,新成员加入需要管理员审核",
searchable: "开放可被搜索",
searchableDesc: "开启后,空间将出现在「加入空间」的搜索列表中,他人可搜索并申请加入,无需邀请码",
memberLimit: "成员数量上限",
memberLimitDesc: "超过上限后无法再添加新成员;设为 0 表示不限制",
memberLimitPlaceholder: "0 表示不限制",
memberLimitHint: "当前成员数:{count}",
joinRequests: "加入申请",
joinRequestsDesc: "审核待加入空间的申请",
noPendingRequests: "暂无待审核的申请",
pendingJoinRequestsBadge: "有待审批的加入申请",
pendingReview: "待审批",
assignRole: "分配角色",
approve: "通过",
reject: "拒绝",
approveSuccess: "已通过申请",
rejectSuccess: "已拒绝申请",
reviewFailed: "操作失败,请重试",
},
editor: {
navBasic: "基本信息",
navPermissions: "权限说明",
navJoin: "加入空间",
basicTitle: "基本信息",
basicDesc: "设置空间的名称和描述,便于成员识别",
nameTip: "建议使用团队或项目名称,便于成员识别",
descriptionTip: "描述空间的用途和目标,帮助成员了解空间",
permissionsTitle: "成员权限",
permissionsDesc: "了解空间中不同角色对知识库与智能体的权限范围",
permissionFeature: "权限功能",
fullAccess: "完整权限",
editAccess: "编辑权限",
viewAccess: "只读权限",
adminPerm1: "管理空间设置、成员及知识库与智能体共享",
adminPerm2: "共享和管理知识库与智能体",
adminPerm3: "编辑共享知识库内容",
adminPerm4: "查看和检索知识库",
useSharedAgentsPerm: "使用共享智能体",
shareKBPerm: "共享知识库到空间",
editorPerm1: "编辑共享知识库内容",
editorPerm2: "查看和检索知识库",
editorPerm3: "管理空间设置和成员",
viewerPerm1: "查看和检索知识库",
viewerPerm2: "编辑知识库内容",
viewerPerm3: "管理空间设置",
ownerNote: "作为空间创建者,您将自动成为空间的管理员,拥有完整权限。",
joinTitle: "加入空间",
joinDesc: "通过邀请码加入现有空间,获得知识库与智能体访问权限",
joinIllustration: "输入空间管理员提供的邀请码即可加入",
inviteCodeTip: "邀请码由空间管理员生成,请向他们索取",
howToGetCode: "如何获取邀请码?",
step1: "联系您要加入的空间管理员",
step2: "请求他们分享空间邀请码",
step3: "将邀请码粘贴到上方输入框",
},
upgrade: {
requestUpgrade: "申请权限升级",
pending: "已提交申请",
dialogTitle: "申请权限升级",
currentRole: "当前角色",
selectRole: "申请角色",
reason: "申请理由(选填)",
reasonPlaceholder: "请简要说明申请更高权限的原因...",
submitSuccess: "权限升级申请已提交,等待管理员审核",
submitFailed: "提交申请失败",
upgradeRequest: "权限升级",
},
addMember: {
button: "添加成员",
dialogTitle: "添加成员",
tip: "添加的用户将立即成为空间成员,可以访问空间内共享的知识库。",
tipTenant: "共享空间的成员单位是空间:选定一个空间后,其下全部用户都将获得访问权限。下方搜索结果按空间去重。",
searchUser: "选择用户",
searchTenant: "选择空间",
searchPlaceholder: "输入用户名或邮箱搜索...",
searchTenantPlaceholder: "输入空间名、用户名或邮箱搜索...",
searchHint: "输入至少 2 个字符开始搜索",
searchTenantHint: "输入至少 2 个字符开始搜索,按空间去重并自动过滤已加入的空间",
selectRole: "分配角色",
confirmBtn: "添加",
success: "成员添加成功",
failed: "添加失败",
roleHint: {
viewer: "可查看和搜索",
editor: "可编辑内容",
admin: "完整管理权限",
},
},
share: {
title: "共享到空间",
shareToSpace: "共享到空间",
shareModelToSpace: "共享「{name}」到空间",
shareAgentToSpace: "共享「{name}」到空间",
modelShareDesc: "将模型共享到空间,空间成员可使用该模型",
agentShareDesc: "将智能体共享到空间,空间成员可使用该智能体",
spaceAgentShareCountTip: "该空间的共享智能体数量",
selectOrg: "选择空间",
selectOrgPlaceholder: "请选择要共享的空间",
permission: "权限",
permissionTip: "可编辑权限允许成员修改知识库内容,只读权限仅允许检索和问答",
shareSuccess: "已共享",
shareFailed: "共享失败",
unshareSuccess: "已取消共享",
unshareFailed: "取消共享失败",
sharedTo: "已共享到",
noShares: "尚未共享到任何空间",
sharedKnowledgeBase: "共享知识库",
sharedFrom: "来自",
sharedBadge: "共享",
permissionReadonly: "只读",
permissionEditable: "可编辑",
sharedKBs: "个知识库",
sharedAgents: "个智能体",
},
},
preview: {
tab: "预览",
loading: "正在加载文档预览...",
loadFailed: "加载文档预览失败",
retry: "重试",
unsupported: "该文件类型暂不支持在线预览",
unsupportedHint: "请下载文件后使用本地应用查看",
fullscreen: "全屏预览",
exitFullscreen: "退出全屏",
audioLoading: "加载音频中…",
audioNotSupported: "您的浏览器不支持音频播放",
},
commandPalette: {
placeholder: "搜索知识库、文件、对话…",
searching: "搜索中…",
clearRecent: "清除",
retrieval: "检索参数",
untitledSession: "未命名对话",
scope: {
placeholder: "在本知识库中搜索…",
remove: "移除范围过滤Backspace",
},
group: {
chunks: "知识库文件",
messages: "对话消息",
kbs: "知识库",
agents: "智能体",
sessionsByTitle: "对话(按标题)",
commands: "命令",
recent: "最近搜索",
quickActions: "快捷操作",
},
match: {
vector: "向量",
keyword: "关键字",
},
quick: {
newChat: "新建对话",
knowledgeBases: "打开知识库",
agents: "打开智能体",
organizations: "打开共享空间",
settings: "打开设置",
},
empty: {
noResults: "没有找到匹配结果",
askAi: "直接向 AI 提问",
adjustRetrieval: "调整检索参数",
},
hotkey: {
select: "选择",
enter: "打开",
cmdNumber: "直接打开",
cmdEnter: "发起对话",
esc: "关闭",
},
},
knowledgeSearch: {
title: "搜索",
subtitle: "在知识库和历史对话中进行语义检索,快速查找相关内容",
tabKnowledge: "知识搜索",
tabMessages: "消息搜索",
placeholder: "输入搜索内容...",
messagePlaceholder: "搜索历史对话消息...",
searchBtn: "搜索",
selectKb: "选择知识库",
allKb: "全部知识库",
noResults: "未找到相关结果",
resultCount: "共找到 {count} 条结果",
score: "相关度",
matchType: "匹配类型",
matchTypeVector: "向量匹配",
matchTypeKeyword: "关键词匹配",
untitledSession: "未命名对话",
matchCount: "条匹配",
emptyHint: "输入关键词,在知识库中搜索相关内容片段",
messageEmptyHint: "输入关键词,搜索历史对话消息",
searching: "搜索中...",
source: "来源",
chunk: "个片段",
expand: "展开",
collapse: "收起",
fileCount: "个文件",
viewDetail: "查看详情",
startChat: "进入对话",
chatWithFile: "对话",
newChatTitle: "搜索: {query}",
},
// ---- i18n keys for hardcoded Chinese extraction ----
tools: {
multiKbSearch: "跨库搜索",
knowledgeSearch: "知识库搜索",
grepChunks: "搜索关键词",
getChunkDetail: "获取片段详情",
listKnowledgeChunks: "查看知识分块",
listKnowledgeBases: "列出知识库",
getDocumentInfo: "获取文档信息",
queryKnowledgeGraph: "查询知识图谱",
think: "深度思考",
todoWrite: "制定计划",
},
vectorStoreBadge: {
systemDefault: "系统默认",
sharedFromOrg: "来自其他组织的共享",
unknownStore: "未知存储",
unavailable: "不可用",
},
kbSettings: {
vectorStore: {
title: "向量存储",
description:
"选择此知识库要写入的向量存储。绑定不可更改 — 如需将现有 KB 迁移到其他存储,请创建新 KB 并重新索引。",
loading: "正在加载向量存储列表...",
engineLabel: "向量存储",
engineDesc:
"从全局向量存储配置中选择,或保持系统默认以使用租户的 RETRIEVE_DRIVER 引擎。",
boundLabel: "已绑定的向量存储",
systemDefault: "系统默认",
immutableHint:
"创建后不可更改。如需迁移,请创建一个绑定到目标存储的新 KB 并重新索引。",
immutableEdit: "向量存储绑定在创建后无法更改。",
unavailableHint:
"绑定的向量存储当前不可用,请在设置 → 向量存储中检查其连接配置。",
goGlobalSettings: "前往向量存储设置",
},
storage: {
title: "存储引擎",
description: "选择文件存储引擎,影响文档上传存储和文档中图片的存储方式。参数在全局设置中配置。",
loading: "加载中...",
engineLabel: "存储引擎",
engineDesc: "选择该知识库使用的存储引擎,需在全局设置中已配置对应引擎。",
selectPlaceholder: "请选择存储引擎",
notConfigured: "未配置",
unavailable: "不可用",
lockedHint: "知识库中已有文件,无法切换存储引擎。如需更换,请先清空知识库中的所有文件。",
changeWarning: "更改存储引擎仅影响新上传的文件。已有文件仍使用原存储引擎读取,但部分旧文件可能无法自动识别而导致访问失败。",
goGlobalSettings: "去全局设置中配置",
engineLocal: "Local本地存储",
engineLocalDesc: "仅适合单机部署,简单轻量",
engineMinioDesc: "S3 兼容,适合内网或私有云",
engineCos: "腾讯云 COS",
engineCosDesc: "公有云部署,支持 CDN 加速",
engineTos: "火山引擎 TOS",
engineTosDesc: "火山引擎对象存储,适合公有云部署",
engineS3: "AWS S3",
engineS3Desc: "AWS S3 及兼容存储,适合公有云部署",
engineOss: "阿里云 OSS",
engineOssDesc: "阿里云对象存储,适合公有云部署",
engineKs3: "金山云 KS3",
engineKs3Desc: "金山云对象存储,适合公有云部署",
engineObs: "华为云 OBS",
engineObsDesc: "华为云对象存储,适合公有云部署",
},
parser: {
title: "解析引擎",
description: "为不同文件类型选择文档解析引擎。未配置的文件类型将使用内置解析引擎。",
loading: "加载中...",
noEngineAvailable: "暂无可用解析引擎,或文档解析服务未配置。",
default: "默认",
unavailable: "不可用",
goSettings: "去设置 →",
goConfig: "前往配置 →",
noEngine: "无可用引擎",
fileTypePdf: "PDF 文档",
fileTypeWord: "Word 文档",
fileTypePpt: "演示文稿",
fileTypeExcel: "Excel 表格",
fileTypeCsv: "CSV 文件",
fileTypeText: "纯文本",
fileTypeJson: "JSON 文件",
fileTypeImage: "图片",
fileTypeAudiovisual: "音频",
engines: {
builtin: {
name: "内置",
desc: "DocReader 内置解析引擎docx/pdf/xlsx 等复杂格式)",
},
simple: {
name: "Simple",
desc: "简单格式 & 图片解析(无需外部服务)",
},
mineru: {
name: "MinerU",
desc: "MinerU 自部署服务",
},
mineru_cloud: {
name: "MinerU Cloud",
desc: "MinerU Cloud API",
},
weknoracloud: {
name: "WeKnora Cloud",
desc: "使用 WeKnora Cloud 进行文档解析",
},
},
},
supportedFormats: "支持格式",
},
agentStream: {
toolApproval: {
banner: "该 MCP 工具已标记为「需人工审核」,确认参数后再执行",
service: "服务",
tool: "工具",
argsLabel: "调用参数",
argsModified: "已修改",
countdown: "剩余约 {seconds} 秒",
approve: "通过并执行",
reject: "拒绝",
approvedTag: "已通过",
rejectedTag: "已拒绝",
invalidJson: "参数不是合法 JSON",
submitted: "已提交",
submitFailed: "提交失败",
userRejected: "用户拒绝",
},
tools: {
searchKnowledge: "知识库检索",
grepChunks: "搜索关键词",
webSearch: "网络搜索",
webFetch: "网页抓取",
getDocumentInfo: "获取文档信息",
listKnowledgeChunks: "查看知识分块",
getRelatedDocuments: "查找相关文档",
getDocumentContent: "获取文档内容",
todoWrite: "计划管理",
knowledgeGraphExtract: "知识图谱抽取",
thinking: "思考",
imageAnalysis: "查看图片内容",
queryKnowledgeGraph: "知识图谱查询",
finalAnswer: "生成回答",
readSkill: "读取技能",
executeSkillScript: "执行技能脚本",
dataAnalysis: "数据分析",
dataSchema: "数据结构",
databaseQuery: "数据库查询",
},
summary: {
searchKb: "检索知识库 <strong>{count}</strong> 次",
thinking: "思考 <strong>{count}</strong> 次",
callTool: "调用 {name}",
callTools: "调用工具 {names}",
intermediateSteps: "<strong>{count}</strong> 个中间步骤",
separator: "、",
comma: "",
},
citation: {
loading: "加载中...",
notFound: "未找到内容",
loadFailed: "加载失败",
chunkId: "片段ID",
noKbForWiki: "无法识别关联的知识库,无法打开 Wiki",
},
toolSummary: {
getDocument: "获取文档:{title}",
document: "文档",
listChunks: "查看 {title}",
deepThinking: "深度思考",
},
plan: {
inProgress: "进行中",
pending: "待处理",
completed: "已完成",
},
search: {
noResults: "未找到匹配的内容",
foundResultsFromFiles: "找到 {count} 个结果,来自 {files} 个文件",
foundResults: "找到 {count} 个结果",
webResults: "找到 {count} 个网络搜索结果",
foundMatches: "找到 {count} 处匹配",
showingCount: "(显示 {count} 个)",
},
toolStatus: {
calling: "正在调用 {name}...",
searchKb: "检索知识库",
searchKbFailed: "检索知识库失败",
webSearch: "网络搜索",
webSearchFailed: "网络搜索失败",
grepSearch: "搜索关键词",
grepSearchFailed: "搜索关键词失败",
getDocInfo: "获取文档信息",
getDocInfoFailed: "获取文档信息失败",
thinkingDone: "完成思考",
thinkingFailed: "思考失败",
updateTodos: "更新任务列表",
updateTodosFailed: "更新任务列表失败",
imageAnalyzing: "正在查看图片内容...",
imageAnalysisDone: "已查看图片内容",
imageAnalysisFailed: "图片内容查看失败",
called: "调用 {name}",
calledFailed: "调用 {name} 失败",
},
copy: {
emptyContent: "当前回答为空,无法复制",
success: "已复制到剪贴板",
failed: "复制失败,请手动复制",
},
saveToKb: {
emptyContent: "当前回答为空,无法保存到知识库",
editorOpened: "已打开编辑器,请选择知识库后保存",
},
},
agentEditor: {
builtinHint: "这是内置智能体,名称和描述不可修改,但可以调整配置参数",
placeholders: {
available: "可用变量:",
clickToInsert: "(点击插入)",
hint: "(点击插入,或输入 {'{{'} 唤起列表)",
},
intentPrompts: {
title: "意图提示词",
sectionDesc: "为不同查询意图配置专属系统提示词;未自定义时使用系统默认模板",
intentLabel: "意图",
intentDescription: "选择要编辑的意图专属系统提示词",
promptPlaceholder: "输入自定义系统提示词...",
customized: "已自定义",
empty: "暂无可用的意图模板",
},
selection: {
all: "全部",
selected: "指定",
disabled: "禁用",
},
desc: {
name: "为智能体设置一个易于识别的名称",
description: "简要描述智能体的用途和特点",
systemPrompt: "自定义系统提示词,定义智能体的行为和角色",
leaveEmptyDefault: "(留空则使用系统默认)",
contextTemplate: "定义如何将检索到的内容格式化后传递给模型",
model: "选择智能体使用的大语言模型",
temperature: "控制输出的随机性0 最确定1 最随机",
maxTokens: "模型生成回复的最大Token数量",
thinking: "启用模型的扩展思考能力(需要模型支持)",
conversationSection: "配置多轮对话和问题改写相关参数",
multiTurn: "开启后将保留历史对话上下文",
historyRounds: "保留最近几轮对话作为上下文",
rewrite: "多轮对话时自动改写用户问题,消解指代和补全省略",
queryUnderstandModel: "用于问题理解(改写与意图识别)的模型,留空则复用主对话模型",
rewriteSystemPrompt: "用于问题改写的系统提示词(留空使用默认)",
rewriteUserPrompt: "用于问题改写的用户提示词模板(留空使用默认)",
selectTools: "选择 Agent 可以使用的工具",
maxIterations: "Agent 执行任务时的最大推理步骤数",
kbScope: "选择智能体可访问的知识库范围",
webSearch: "启用后智能体可以搜索互联网获取信息",
webSearchProvider: "为此智能体指定搜索引擎,留空则使用默认搜索引擎",
webSearchMaxResults: "每次搜索返回的最大结果数量",
webFetchEnabled: "Rerank 后自动抓取排名靠前的网页完整内容,提升回答质量",
webFetchTopN: "Rerank 后最多抓取几个网页的完整内容",
retrievalSection: "配置知识库检索和排序的参数",
queryExpansion: "自动扩展查询词以提高召回率",
embeddingTopK: "向量检索返回的最大结果数量",
keywordThreshold: "关键词检索的最低相关性分数",
vectorThreshold: "向量检索的最低相似度分数",
rerankTopK: "重排序后保留的最大结果数量",
rerankThreshold: "重排序的最低相关性分数",
fallbackStrategy: "当无法从知识库找到相关内容时的处理方式",
fallbackResponse: "当无法回答时返回的固定文本",
fallbackPrompt: "当无法从知识库找到答案时,引导模型生成回复的提示词",
},
im: {
title: "IM 集成",
description: "将智能体接入即时通讯平台支持企业微信、飞书、Slack、Telegram、钉钉、Mattermost和微信",
wecom: "企业微信",
feishu: "飞书",
slack: "Slack",
telegram: "Telegram",
dingtalk: "钉钉",
mattermost: "Mattermost",
wechat: "微信",
addChannel: "添加渠道",
editChannel: "编辑渠道",
deleteConfirm: "确定删除该渠道?删除后无法恢复。",
channelName: "渠道名称",
channelNamePlaceholder: "输入渠道名称,方便辨识",
platform: "平台",
mode: "接入模式",
outputMode: "输出模式",
outputStream: "流式输出",
outputFull: "完整输出",
callbackUrl: "回调地址",
empty: "暂无 IM 渠道,点击下方按钮添加",
unnamed: "未命名渠道",
docLink: "查看接入文档",
feishuConsole: "飞书开放平台",
slackConsole: "Slack API 控制台",
telegramConsole: "Telegram BotFather",
dingtalkConsole: "钉钉开放平台",
dingtalkCardTemplateId: "卡片模板 ID可选",
dingtalkCardTemplateIdHint: "在 open-dev.dingtalk.com/fe/card 创建 AI 卡片模板,启用后支持打字机效果的流式输出",
mattermostConsole: "Mattermost 集成说明",
mattermostModeHint: "Mattermost 仅支持 Webhook出站 Webhook + Bot Token。",
mattermostPostToMain: "回复显示在频道主时间线",
mattermostPostToMainHint:
"开启后 Bot 回复作为频道内新帖子关闭默认则作为原消息的线程回复主窗口仅显示「N 条回复」。",
modeHint: "推荐使用 WebSocket 方式接入,配置更简单",
consoleTip: "前往获取凭证信息",
wecomWSEndpointHint: "可选,私有化部署时填写自定义 WebSocket 地址,留空则使用默认公有云地址。内网地址需将域名加入 SSRF_WHITELIST 环境变量",
wecomAPIBaseURLHint: "可选,私有化部署时填写自定义 API 地址,留空则使用默认公有云地址。内网地址需将域名加入 SSRF_WHITELIST 环境变量",
fileKnowledgeBase: "文件保存知识库",
fileKnowledgeBasePlaceholder: "选择知识库(可选)",
fileKnowledgeBaseHint: "配置后,用户发送的文件将自动保存到该知识库中",
sessionMode: "会话模式",
sessionModeUser: "按用户(默认)",
sessionModeThread: "按话题",
sessionModeHint: "用户模式:每个用户独立对话,使用 /clear 开始新对话。话题模式:每个消息话题独立对话,同一话题中多人可协作。",
wechatScanBind: "扫码绑定微信",
wechatScanning: "请使用微信扫描二维码",
wechatBindSuccess: "微信绑定成功",
wechatRebind: "重新绑定",
wechatHint: "需要 iOS 微信 8.0.70+ 版本,仅支持单聊消息",
wechatQRExpired: "二维码已过期,请重新获取",
wechatBinding: "绑定中...",
},
tools: {
thinking: "思考",
thinkingDesc: "动态和反思性的问题解决思考工具",
todoWrite: "制定计划",
todoWriteDesc: "创建结构化的研究计划",
grepChunks: "关键词搜索",
grepChunksDesc: "快速定位包含特定关键词的文档和分块",
knowledgeSearch: "语义搜索",
knowledgeSearchDesc: "理解问题并查找语义相关内容",
listChunks: "查看文档分块",
listChunksDesc: "获取文档完整分块内容",
queryGraph: "查询知识图谱",
queryGraphDesc: "从知识图谱中查询关系",
getDocInfo: "获取文档信息",
getDocInfoDesc: "查看文档元数据",
dbQuery: "查询数据库",
dbQueryDesc: "查询数据库中的信息",
dataAnalysis: "数据分析",
dataAnalysisDesc: "理解数据文件并进行数据分析",
dataSchema: "查看数据元信息",
dataSchemaDesc: "获取表格文件的元信息",
requiresKb: "(需要配置知识库)",
requiresRagKb: "(需要关联启用向量/关键词索引的知识库)",
requiresWikiKb: "(需要关联启用 Wiki 能力的知识库)",
// Wiki 读取类
wikiSearch: "搜索 Wiki",
wikiSearchDesc: "在 Wiki 知识库中按关键词/语义搜索页面",
wikiReadPage: "阅读 Wiki 页面",
wikiReadPageDesc: "读取指定 Wiki 页面的完整内容",
wikiReadSourceDoc: "精读源文档",
wikiReadSourceDocDesc: "通过知识点深入阅读 Wiki 页面背后的原始文档",
wikiFlagIssue: "标记 Wiki 问题",
wikiFlagIssueDesc: "标记页面中存在的事实错误或合并冲突问题",
// Wiki 编辑类(具有破坏性)
wikiWritePage: "创建/覆盖 Wiki",
wikiWritePageDesc: "创建新页面或完全覆盖已有 Wiki 页面",
wikiReplaceText: "局部替换 Wiki",
wikiReplaceTextDesc: "替换 Wiki 页面中的特定文本",
wikiRenamePage: "重命名 Wiki",
wikiRenamePageDesc: "重命名 Wiki 页面并自动更新关联链接",
wikiDeletePage: "删除 Wiki",
wikiDeletePageDesc: "删除 Wiki 页面并自动清理关联死链",
// Wiki 巡检类
wikiReadIssue: "查看 Wiki 问题",
wikiReadIssueDesc: "查看特定 Wiki 页面的巡检问题详情",
wikiUpdateIssue: "更新 Wiki 问题",
wikiUpdateIssueDesc: "更新 Wiki 页面问题的处理状态",
// 运行时系统注入(只读,用于预览)
webSearch: "网络搜索",
webFetch: "网页抓取",
finalAnswer: "提交最终回答",
// 分组
groupBase: "基础",
groupRag: "知识库检索RAG",
groupWikiRead: "Wiki 读取",
groupWikiEdit: "Wiki 编辑",
groupWikiIssue: "Wiki 巡检",
groupData: "数据分析",
writeWarning: "会修改 Wiki 内容",
dangerTag: "可写",
// 顶部状态栏
statusNoKb: "当前未关联任何知识库",
statusKb: "作用域内:{rag} 个 RAG 知识库 · {wiki} 个 Wiki 知识库",
kbMetricRag: "RAG 知识库",
kbMetricWiki: "Wiki 知识库",
statusInactive: "有 {count} 个已勾选工具在当前配置下无法生效",
// 有效工具预览
effectiveLabel: "最终启用的工具",
effectiveDesc: "根据当前配置计算,这是智能体保存后实际能调用的工具集合",
effectiveEmpty: "当前没有可用工具,智能体将退化为纯模型问答",
},
agentType: {
label: "智能体类型",
desc: "选择一个预设会自动填充系统提示词、工具列表和推荐的知识库范围。",
defaultNamePattern: "我的{label}",
kbMismatch: {
ragQa: "未启用 RAG 检索",
wikiQa: "未启用 Wiki",
hybridRagWiki: "未启用任何检索能力",
dataAnalysis: "需启用 RAG不支持 FAQ",
quickAnswer: "快速问答模式需启用 RAG 检索",
generic: "不适用于当前类型",
},
kbIncompatibleWarn: "已选的 {count} 个知识库不适用于当前类型,请手动调整",
},
mcp: {
label: "MCP 服务",
desc: "选择 Agent 可以调用的 MCP 服务",
selectLabel: "选择 MCP 服务",
selectDesc: "选择要启用的 MCP 服务",
selectPlaceholder: "选择 MCP 服务",
},
llmCallTimeout: {
label: "LLM 调用超时",
desc: "单次 LLM 调用的最大等待时间(秒),超过此时间后调用将被中止",
hint: "留空或填 0 表示使用默认值120 秒)",
placeholder: "输入秒数,建议范围 60-1800",
},
imageUpload: {
navLabel: "多模态",
sectionTitle: "多模态配置",
sectionDesc: "配置图片上传和视觉语言模型,启用后用户可在对话中上传图片",
label: "图片上传",
desc: "启用后用户可在对话中上传图片进行多模态问答",
vlmModel: "VLM 模型",
vlmModelDesc: "用于图片分析的视觉语言模型",
vlmModelPlaceholder: "请选择 VLM 模型",
vlmModelRequired: "启用图片上传时必须选择 VLM 模型",
storageProvider: "图片存储",
storageProviderDesc: "选择图片文件的存储引擎,留空则使用系统默认",
storageProviderPlaceholder: "选择存储引擎",
storageDefault: "系统默认",
notConfigured: "未配置",
goStorageSettings: "去存储设置中配置",
},
audioUpload: {
label: "语音上传",
desc: "启用后用户可在对话中上传音频文件,系统将使用 ASR 模型自动转录为文字",
asrModel: "ASR 模型",
asrModelDesc: "用于音频转录的语音识别模型,未配置时音频文件将以占位符形式传递",
asrModelPlaceholder: "请选择 ASR 模型",
},
faq: {
title: "FAQ 优先策略",
tooltip: "当知识库中包含 FAQ问答对可以启用此策略让 FAQ 答案优先于普通文档",
enableLabel: "启用 FAQ 优先",
enableDesc: "FAQ 答案将优先于普通文档被引用,提高回答准确性",
thresholdLabel: "直接回答阈值",
thresholdDesc: "当问题与 FAQ 相似度超过此值时,直接使用 FAQ 答案",
boostLabel: "FAQ 分数加权",
boostDesc: "FAQ 结果的相关性分数乘以此系数,使其排序更靠前",
},
dataAnalysis: {
enableLabel: "启用表格数据分析",
enableDesc: "命中 CSV/Excel 类文件时,先调用大模型生成 DuckDB SQL 进行统计或筛选,再据此回答。会额外增加一次模型调用与几秒延迟,仅在确实需要时开启。",
},
fallback: {
fixed: "固定回复",
model: "模型生成",
},
fileTypes: {
label: "支持的文件类型",
desc: "限制可选择的文件类型,留空表示支持所有类型",
allTypes: "全部类型",
pdf: "PDF 文档",
word: "Word 文档 (.docx/.doc)",
textLabel: "文本",
text: "纯文本文件 (.txt)",
markdown: "Markdown 文档",
csv: "逗号分隔值文件",
excel: "Excel 表格 (.xlsx/.xls)",
imageLabel: "图片",
image: "图片文件 (.jpg/.jpeg/.png)",
},
},
faqManager: {
retry: "重试",
import: {
recentResult: "最近导入结果",
totalData: "导入数据",
success: "成功",
failed: "失败",
skipped: "跳过",
unit: "条",
downloadReasons: "下载原因",
appendMode: "追加模式",
replaceMode: "替换模式",
importing: "导入中...",
importDone: "导入完成",
importFailed: "导入失败",
waiting: "等待中...",
importInProgress: "导入正在进行中,请等待完成后再试",
noFailedRecords: "暂无失败记录可下载",
},
},
mermaid: {
zoomIn: "放大",
zoomOut: "缩小",
reset: "重置",
download: "下载图片",
close: "关闭",
downloading: "下载中...",
},
ollama: {
unknown: "未知",
today: "今天",
yesterday: "昨天",
daysAgo: "{days} 天前",
},
datasource: {
title: "数据源管理",
description: "配置外部数据源,自动同步内容到知识库",
add: "添加数据源",
addFirst: "添加第一个数据源",
empty: "暂无数据源",
edit: "编辑",
delete: "删除",
deleteConfirm: "确定删除该数据源?同步的知识不会被删除。",
deleteSuccess: "数据源已删除",
deleteFailed: "删除失败",
syncNow: "立即同步",
syncTriggered: "同步任务已提交",
syncFailed: "同步触发失败",
pause: "暂停",
resume: "恢复",
paused: "已暂停",
resumed: "已恢复",
pauseFailed: "暂停失败",
logs: "日志",
lastSync: "上次同步",
lastStatus: "同步结果",
schedule: "同步频率",
syncModeLabel: "同步模式",
syncMode: {
incremental: "增量同步",
full: "全量同步",
},
status: {
active: "已连接",
paused: "已暂停",
error: "异常",
},
createTitle: "添加数据源",
editTitle: "编辑数据源",
nameLabel: "名称",
namePlaceholder: "输入数据源名称",
testConnection: "测试连接",
testSuccess: "连接成功",
testFailed: "连接失败",
connected: "已连接",
connectionFailed: "连接失败",
isRequired: "为必填项",
credentialsLabel: "凭证",
resourceHint: "选择要同步的内容空间/文件夹",
untitled: "无标题",
resourceLoadFailed: "加载资源列表失败",
noResources: "未找到可同步的知识库空间",
noResourcesDesc: "应用需要通过群聊获得知识库访问权限才能拉取内容",
noResourcesDesc_notion: "应用需要获得 Notion 页面的访问权限才能拉取内容",
retryLoadResources: "重新加载",
guideStep1: "在飞书中创建一个群聊,在群设置「群机器人」中添加你的应用",
guideStep2: "打开知识库「设置」→「成员设置」→ 添加成员,搜索该群聊名称并添加",
guideStep3: "确保群聊角色至少为「可阅读」,然后回到这里点重新加载",
guideStep1_notion: "在 Notion 中打开你想要同步的页面或数据库",
guideStep2_notion: "点击右上角的「···」菜单选择「Connect to」或「Add connections」",
guideStep3_notion: "搜索并选择你的集成应用Integration然后回到这里点重新加载",
permissionDocLink: "查看飞书知识库权限配置文档",
syncScheduleLabel: "同步频率",
conflictLabel: "冲突策略",
conflict: {
overwrite: "覆盖更新",
skip: "跳过已存在",
},
syncDeletions: "同步删除(源端删除时同步删除知识库中的条目)",
createAndSync: "创建并立即同步",
createSuccess: "数据源创建成功",
createAndSyncSuccess: "数据源创建成功,同步任务已提交",
createButSyncFailed: "数据源已创建,但触发同步失败",
updateSuccess: "数据源更新成功",
saveFailed: "保存失败",
step: {
selectType: "选择类型",
credentials: "配置凭证",
resources: "选择范围",
strategy: "同步策略",
},
syncHistory: "同步历史",
refreshLogs: "刷新日志",
noLogs: "暂无同步记录",
logStatus: {
running: "同步中",
success: "成功",
partial: "部分成功",
failed: "失败",
canceled: "已取消",
},
logMetric: {
total: "总计",
created: "新增",
updated: "更新",
deleted: "删除",
skipped: "跳过",
failed: "失败",
},
logSummary: {
total: "总次数",
success: "成功",
failed: "失败",
items: "同步条目",
},
logLatest: "最新",
logDetail: {
startTime: "开始时间",
endTime: "结束时间",
duration: "耗时",
},
connector: {
feishu: "飞书",
notion: "Notion",
yuque: "语雀",
},
connectorDesc: {
feishu: "同步飞书知识库中的文档、表格、文件",
notion: "同步 Notion 中的页面和数据库",
yuque: "同步语雀知识库中的文档",
},
field: {
appId: "App ID",
appSecret: "App Secret",
integrationToken: "Integration Token",
apiToken: "API Token",
baseUrl: "Base URL可选",
baseUrlHint: "留空将使用语雀公有云 https://www.yuque.com如果你使用的是语雀企业版或私有部署请填写企业域名例如 https://your-company.yuque.com",
},
comingSoon: "即将支持",
docHint: "在以下地址获取凭证:",
copyUrl: "复制 URL",
copied: "已复制",
pleaseTestFirst: "请先测试连接",
prereqTitle: "使用前请先完成以下配置(缺一不可)",
prereqBarText: "首次使用?点击查看飞书应用配置指引",
prereqBarText_yuque: "首次使用?点击查看语雀 Token 配置指引",
prereqStep1Brief_yuque: "创建语雀个人 Token",
prereqStep1Desc_yuque: "登录语雀 → 个人头像 → 设置 → Token → 新建 Token",
prereqStep2Brief_yuque: "为 Token 勾选所需权限",
prereqStep2Desc_yuque: "至少勾选 repo:read 和 doc:read读取知识库和文档内容",
prereqStep3Brief_yuque: "(可选)企业版填写 Base URL",
prereqStep3Desc_yuque: "公有云用户无需填写;语雀企业版或私有部署请填写企业域名",
prereqOpenConsole_yuque: "前往语雀 Token 设置",
prereqBotBrief: "为应用添加「机器人」能力",
prereqBotDesc: "开放平台 → 添加应用能力 → 机器人 → 创建版本并发布",
prereqBotLabel: "1. 为应用添加「机器人」能力(否则知识库中搜不到该应用):",
prereqBotStep1: "在飞书开放平台打开你的应用,点击左侧「添加应用能力」",
prereqBotStep2: "选择「机器人」并确认添加",
prereqBotStep3: "创建新版本并发布(或在测试企业中调试)",
prereqPermBrief: "开通 API 权限",
prereqPermLabel: "2. 为应用开通以下 API 权限:",
prereqOpenConsole: "前往飞书开放平台配置",
prereqMemberBrief: "通过群聊添加为知识库成员",
prereqMemberDesc: "创建群聊 → 添加应用为群机器人 → 将群聊添加为知识库成员",
prereqMemberLabel: "3. 通过群聊将应用添加为知识库成员(知识库无法直接搜到应用):",
back: "上一步",
next: "下一步",
save: "保存",
schedule30min: "每 30 分钟",
schedule1h: "每小时",
schedule6h: "每 6 小时",
schedule12h: "每 12 小时",
schedule24h: "每天",
scheduleHuman: {
'30min': "每 30 分钟",
'1h': "每小时",
'6h': "每 6 小时",
'12h': "每 12 小时",
'24h': "每天",
},
addCard: "添加数据源",
wikiSpace: "知识库空间",
resourceType: {
wikiSpace: "知识库空间",
docCategory: "文档分类",
book: "语雀知识库",
},
neverSynced: "未同步",
justNow: "刚刚",
minutesAgo: "{n} 分钟前",
hoursAgo: "{n} 小时前",
daysAgo: "{n} 天前",
syncResultCreated: "+{n}",
syncResultUpdated: "~{n}",
syncResultDeleted: "-{n}",
moreActions: "更多",
},
imOverview: {
menuTitle: "已接入的 IM",
pageTitle: "已接入的 IM",
subtitle: "当前空间下所有智能体已接入的 IM 渠道,可快速启停或跳转到对应智能体",
totalCount: "共 {count} 个",
empty: "当前空间还没有配置 IM 机器人",
loadFailed: "加载 IM 机器人列表失败",
builtinAgent: "内置智能体",
liveIndicator: "有已启用的 IM 渠道正在运行",
detailsTitle: "IM 机器人详情",
gotoAgentEditor: "前往 Agent 编辑",
outputMode: "输出模式",
sessionMode: "会话模式",
updatedAt: "更新时间",
channelId: "渠道 ID",
columns: {
platform: "平台",
name: "名称",
agent: "所属智能体",
mode: "模式",
enabled: "启用",
botIdentity: "Bot 标识",
createdAt: "创建时间",
},
},
credential: {
configured: "已配置",
unconfigured: "未配置",
configure: "配置",
update: "更换",
remove: "移除",
inputPlaceholder: "请输入",
savedToast: "凭据已保存",
saveFailed: "保存凭据失败",
removedToast: "凭据已移除",
removeFailed: "移除凭据失败",
confirmRemoveTitle: "移除 {field}",
confirmRemoveBody:
"此操作将永久删除已保存的凭据,依赖它的集成将停止工作,直到您重新配置。",
},
userProfile: {
title: "用户信息",
description: "查看您的账户基础信息(用户 ID、用户名、邮箱、注册时间",
},
tenantMember: {
title: "成员管理",
sectionDescription: "邀请伙伴加入当前空间并分配角色。只有 Owner 可以新增或移除成员。",
learnRbacGuide: "了解 RBAC",
totalCount: "共 {n} 位成员",
listTitle: "空间成员",
filterMatched: "筛选出 {n} 位",
loading: "正在加载成员…",
retry: "重试",
empty: "尚未邀请任何成员。点击右上角邀请伙伴加入。",
emptySearch: '没有匹配 "{q}" 的成员。',
searchPlaceholder: "按姓名或邮箱搜索",
permissions: {
title: "角色权限说明",
desc: "每个角色在当前空间内能做的事情。服务端强制执行UI 控件仅作展示。",
iconHint: "悬停查看角色权限说明",
manageMembers: "管理成员",
manageTenantConfig: "修改空间配置",
manageInfra: "配置模型 / 向量库 / IM 通道",
createOwnKB: "创建并编辑自己的知识库和智能体",
readAll: "查看空间内容",
},
columns: {
member: "姓名与邮箱",
username: "姓名",
email: "邮箱",
role: "角色",
joinedAt: "加入时间",
operations: "操作",
},
role: {
owner: "所有者",
admin: "管理员",
contributor: "编辑",
viewer: "访客",
},
add: {
button: "邀请成员",
dialogTitle: "邀请成员",
emailLabel: "邮箱",
emailPlaceholder: "invitee{'@'}example.com",
roleLabel: "角色",
submit: "邀请",
success: "已添加成员",
},
remove: {
button: "移除",
confirmTitle: "确认移除?",
confirmBody: "确定要将 {name} 从当前空间中移除吗?该用户会立即失去访问权限。",
confirm: "移除",
success: "已移除成员",
},
leave: {
button: "退出空间",
confirmTitle: "确认退出当前空间?",
confirmBody: "退出后您将无法访问当前空间内的所有知识库和智能体。后续可被再次邀请加入。",
confirm: "退出",
success: "已退出当前空间",
},
roleChange: {
success: "角色已更新",
},
errors: {
emailRequired: "请输入邮箱",
emailFormat: "邮箱格式不正确",
roleRequired: "请选择角色",
userNotFound: "该邮箱尚未注册,请先邀请对方注册账号。",
alreadyMember: "该用户已经是当前空间的成员。",
lastOwner: "无法降级、移除或退出最后一位 Owner请先把其他成员提升为 Owner。",
notFound: "未找到对应的成员。",
noTenant: "当前没有可操作的空间。",
invalidRole: "角色必须是 owner / admin / contributor / viewer 之一。",
generic: "操作失败,请稍后重试。",
},
tabs: {
members: "成员",
audit: "审计日志",
},
audit: {
tabLabel: "审计日志",
description:
"记录当前空间的成员变更与访问拒绝事件,按时间倒序展示。一分钟内的重复拒绝会自动去重。",
refresh: "刷新",
loadMore: "加载更多",
end: "已经到底了。",
empty: "暂无审计事件。",
forbidden: "无权查看审计日志。",
systemActor: "系统",
requiredRole: "需要角色:{role}",
columns: {
time: "时间",
actor: "操作人",
action: "事件",
target: "目标",
path: "请求",
outcome: "结果",
},
action: {
"rbac.member_added": "新增成员",
"rbac.member_removed": "移除成员",
"rbac.member_role_changed": "角色变更",
"rbac.member_left": "成员退出",
"rbac.access_denied": "访问被拒",
"rbac.invitation_sent": "发出邀请",
"rbac.invitation_accepted": "接受邀请",
"rbac.invitation_declined": "拒绝邀请",
"rbac.invitation_revoked": "撤销邀请",
"rbac.invitation_expired": "邀请过期",
},
outcome: {
success: "成功",
denied: "拒绝",
},
expanded: {
actorId: "操作人 ID",
targetUserId: "目标用户 ID",
targetType: "目标类型",
targetId: "目标 ID",
details: "原始详情",
},
},
},
tenantInvitation: {
inboxTooltip: "查看待接受的邀请",
pendingSectionTitle: "待接受的邀请",
pendingSectionCount: "{n} 条",
pendingSectionDesc:
"发出后等待对方在站内确认。{days} 天未响应将自动过期。",
pendingEmpty: "暂无待接受的邀请。",
inviteSubmit: "发送邀请",
inviteSuccess: "邀请已发出,等待对方接受。",
confirmInviteTitle: "确认发送邀请?",
confirmInviteBody:
"将向 {email} 发出加入邀请(角色:{role}。TA 在站内接受后才会成为成员。",
confirmSend: "发送",
copyLink: "复制邀请链接",
copied: "已复制到剪贴板",
copyFailed: "复制失败,请手动选中文本",
shareLink: {
button: "生成共享链接",
label: "共享链接",
cellTitle: "通过链接邀请",
cellAccepted: "已加入 {count} 人",
cellEmpty: "尚无成员加入",
dialogTitle: "生成共享邀请链接",
description:
"生成一条多人可用的注册链接,发到群里就行;谁打开都能用自己的邮箱注册并加入当前空间。链接 {days} 天后过期,或随时可在列表中撤销。",
generate: "生成链接",
resultTitle: "邀请链接已生成",
resultBody: "复制下方链接,通过任意私密渠道发给被邀请人。链接也会保存在下方列表中,随时可以重新复制或撤销。",
revokeConfirm: "撤销后,所有还未注册的人都无法再使用此链接;如需重发请生成新链接。",
},
revoke: {
button: "撤销",
confirmTitle: "确认撤销邀请?",
confirmBody:
"撤销后,{email} 将无法再接受此邀请;如需再邀请请重新发出。",
confirm: "撤销",
success: "邀请已撤销。",
},
columns: {
invitee: "被邀请人",
role: "角色",
inviter: "邀请人",
expiresAt: "到期时间",
status: "状态",
operations: "操作",
},
status: {
pending: "待接受",
shareLinkActive: "生效中",
accepted: "已接受",
declined: "已拒绝",
revoked: "已撤销",
expired: "已过期",
},
myInbox: {
title: "我的邀请",
description: "其他空间发给您的加入邀请。接受后您将以对应角色加入对方空间。",
empty: "没有待处理的邀请。",
acceptButton: "接受",
declineButton: "拒绝",
acceptSuccess: '已加入 "{tenant}"。',
declineSuccess: "已拒绝邀请。",
from: "邀请人",
tenantLabel: "空间",
expiresIn: "到期:{date}",
messageLabel: "留言",
gotoLink: "进入收件箱",
},
errors: {
pendingExists: "已经向该用户发出过一条待接受的邀请。",
alreadyMember: "该用户已是当前空间的成员。",
notPending: "邀请已不在待处理状态。",
expired: "邀请已过期。",
forbidden: "只有被邀请人本人可以接受或拒绝该邀请。",
notFound: "邀请不存在或已被撤销。",
generic: "操作失败,请稍后重试。",
},
},
};