Files
goodbuddy/src/renderer/src/i18n/locales/zh-CN/knowledge.ts
T
mesalogo ceb275bdb8 fix: clarify knowledge document actions and task history
Restore URL identity in merged rows and replace crowded document actions with a primary entry and accessible menu. Organize preview navigation and maintenance actions, and show task history as batches with matching counts and filters.

Keep preview task scope consistent for multi-document sources and track pending operations independently so one source does not block another source's pause action. Include responsive Electron layout and behavioral regressions, bilingual copy, and design documentation.

Validation: focused regressions, typecheck, lint, and diff checks passed. Electron fixtures cover light/dark and wide/narrow layouts. Full tests reported two previously known HeartbeatCenter assertions; real import and parsing integration was not rerun.

Release note: 知识库文档列表保留来源网址,统一查看入口和更多操作,并整理解析结果页。任务历史按批次展示,筛选计数与当前对象一致,不同来源的操作互不阻塞。
2026-09-27 12:55:50 +08:00

808 lines
33 KiB
TypeScript
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 const knowledge = {
external: {
close: '关闭实例管理', deleteInstanceTitle: '删除实例“{{name}}”?',
clearSearch: '清除搜索', noResultsHelp: '换一个名称搜索,或清除搜索查看可用知识库。',
emptyHelp: '请检查远端服务的访问权限,或手工填写已知的知识库 ID。',
sourceFilter: '知识库来源筛选', clearFilters: '清除筛选', weightedScore: '加权分数',
saveThenTest: '保存实例后,可在实例列表中测试连接。',
rebindConfirm: '将此绑定保存为新选择的远端知识库,远端数据不会改变。',
probe: { untested: '未测试', 'catalog-ready': '目录可用', healthy: '连接正常', 'list-restricted': '目录受限,可手工填写知识库 ID', 'auth-failed': '认证失败', unreachable: '服务无法连接', failed: '连接失败' },
credentials: { configured: '已配置凭据', missing: '缺少凭据', unavailable: '凭据不可用' },
manage: '管理外部实例', instances: '外部实例', addInstance: '添加实例',
type: '知识库类型', local: '本地', provider: 'Provider', instance: '外部实例',
editInstance: '编辑实例', authentication: '身份认证', credentialAction: '已保存凭据', connectionHelp: '如何测试连接',
enabledHelp: '启用后,关联知识库的检索查询将发送到此服务。',
address: '服务地址', credential: 'API Key', keep: '保留已保存凭据', replace: '替换凭据', clear: '清除凭据',
credentialNote: '凭据由本机加密保存,保存后不会回显。', showKey: '显示凭据', hideKey: '隐藏凭据',
clearConfirm: '清除凭据后,使用此实例的知识库将无法检索。',
transportNote: '此 HTTP 地址通过未加密连接传输凭据和查询。',
enabled: '启用实例',
testConnection: '测试连接', saveInstance: '保存实例', saved: '已保存', removed: '已从 GoodBuddy 移除',
noInstances: '尚未配置外部实例', noInstancesHelp: '添加企业现有的 Dify、FastGPT 或 RAGFlow 服务。',
selectInstance: '选择外部实例', remote: '远端知识库', remoteId: '远端知识库 ID', remoteName: '远端名称',
manual: '手工填写知识库 ID', browse: '从目录选择', search: '搜索远端知识库', refresh: '刷新知识库列表',
loading: '正在读取知识库…', empty: '当前实例没有可访问的知识库', noResults: '没有符合条件的结果',
next: '下一页', previous: '上一页', root: '返回根目录', folder: '打开文件夹', alreadyBound: '已添加',
verify: '验证知识库', source: '知识库来源', config: '检索配置', common: '通用配置',
resultLimit: '返回片段数', timeout: '请求超时(毫秒)', snippetLimit: '单片段字符上限',
localOnly: '参数仅保存在 GoodBuddy,用于此绑定的后续检索,不会修改远端知识库设置。',
queryNote: '只向所选实例发送当前查询,不上传文件或完整会话,不调用 GoodBuddy 模型。检索可能产生远端 Embedding、Rerank 用量及 API 使用记录。',
query: '测试查询', test: '测试检索', testing: '正在测试…', tested: '检索成功,返回 {{count}} 条片段',
untested: '请填写查询并成功测试检索后保存。零条结果也可保存。保存时会再次发送查询,验证当前参数。',
add: '添加知识库', saveConfig: '保存检索参数', defaults: '恢复默认',
datasetDefaults: '使用知识库默认配置', datasetDefaultsHelp: '每次检索沿用远端当前设置,远端设置变化会影响结果。',
searchMethod: '检索方式', topK: 'Provider Top K', thresholdEnabled: '启用分数阈值', threshold: '相似度阈值',
rerank: '启用 Rerank', rerankMode: '重排方式', rerankProvider: '重排模型提供商', rerankModel: '重排模型',
keywordWeight: '关键词权重', vectorWeight: '向量权重', embeddingProvider: 'Embedding 提供商', embeddingModel: 'Embedding 模型',
tokenLimit: 'Token 上限', knnTopK: 'KNN Top K', rerankId: '远端重排模型 ID', rerankCandidates: '重排候选数量',
graph: '图谱检索', graphHelp: '检索远端已生成的图谱,不会创建或更新图谱。', graphUnknown: '未确认远端图谱已完成',
compilation: '包含 Knowledge Compilation', compilationUnavailable: '当前知识库未确认配置 Knowledge Compilation',
overview: '概览', rebind: '更换远端知识库', refreshDetail: '刷新远端信息', remove: '从 GoodBuddy 移除',
removeBindingConfirm: '仅删除本机绑定和检索配置,不删除远端知识库或文档。历史会话中的引用继续可读。',
deleteInstance: '删除实例和本地绑定', deleteInstanceConfirm: '此实例被 {{count}} 个知识库使用。删除会同时移除本机绑定,远端数据不会改变。',
cancelRequest: '取消请求', remoteData: '知识内容保留在远端;回答使用的片段随会话保存在本机。',
status: '状态', credentialStatus: '凭据状态', boundCount: '{{count}} 个绑定', lastTest: '最近测试', never: '尚未检索',
snapshot: '历史引用快照', documentId: '远端文档 ID', chunkId: '远端片段 ID', providerScore: 'Provider 分数',
elapsed: '总耗时 {{ms}} ms', returned: '返回 {{returned}} 条 · 保留 {{kept}} 条', truncated: '结果已截断',
allSources: '全部来源', searchLibraries: '搜索知识库', selectTarget: '选择远端知识库',
states: { ready: '远端可检索', untested: '未测试', 'instance-disabled': '实例已停用', 'credential-error': '凭据不可用', 'temporarily-unavailable': '暂时无法连接' }
},
page: {
title: '知识库',
description: '管理本地知识,并检索企业现有知识平台。'
},
actions: {
cancel: '取消',
createLibrary: '创建知识库',
creating: '创建中…',
newLibrary: '新建知识库',
saveChanges: '保存修改',
saving: '保存中…',
confirmDelete: '确认删除',
deleting: '删除中…',
importFiles: '导入文件',
importDirectory: '导入目录',
importUrl: '导入 URL',
import: '导入',
pause: '暂停',
retry: '重试',
sync: '同步',
remove: '移除',
openSource: '打开来源',
retryDocument: '重新处理',
useInChat: '用于当前对话',
saveEntity: '保存实体',
addEntity: '新增实体',
saveRelation: '保存关系',
addRelation: '新增关系',
reextract: '重新抽取',
reextracting: '重新抽取中…',
edit: '编辑',
delete: '删除',
add: '新增',
viewTasks: '查看任务',
backToLibraryList: '返回知识库列表',
goToSettings: '前往设置'
},
fields: {
name: '名称',
description: '描述',
storageMode: '存储方式',
graphGenerationStrategy: '图谱生成策略',
graphExtractionStrategy: '图谱抽取策略',
type: '类型',
aliases: '别名(使用逗号分隔)',
source: '起点',
target: '终点',
relationType: '关系类型',
notes: '说明'
},
storageModes: {
reference: {
label: '引用原文件',
description: '仅记录文件位置;删除知识库不会删除原文件。'
},
managed: {
label: '托管副本',
description: '将内容复制到应用管理的存储空间。'
}
},
strategies: {
rules: '规则抽取',
model: '模型抽取',
hybrid: '规则与模型',
ask: '按需询问'
},
sourceStatuses: {
queued: '等待同步',
syncing: '同步中',
paused: '已暂停',
ready: '已同步',
failed: '同步失败'
},
documentStatuses: {
queued: '等待处理',
parsing: '解析中',
indexing: '索引中',
ready: '索引完成',
failed: '处理失败'
},
indexStatuses: {
text: {
waiting: '全文待建立',
ready: '全文可用',
failed: '全文不可用'
},
vector: {
disabled: '向量未启用',
waiting: '向量处理中',
ready: '向量可用',
failed: '向量失败',
missing: '向量待建立'
},
graph: {
disabled: '图谱未启用',
'on-demand': '图谱按需生成',
waiting: '图谱处理中',
ready: '图谱可用',
failed: '图谱失败'
}
},
taskKinds: {
sourceSync: '来源同步',
documentProcess: '文档处理',
documentRebuild: '文档重建',
libraryRebuild: '知识库重建',
embeddingRebuild: '向量索引重建',
graphRebuild: '知识图谱重建',
parsing: '文档解析',
embedding: '向量化',
graph: '图谱抽取'
},
taskStages: {
queued: '等待调度',
syncing: '同步来源',
reading: '读取内容',
parsing: '解析文档',
chunking: '生成分块',
indexing: '建立索引',
embedding: '生成向量',
graph: '抽取图谱',
finalizing: '完成收尾'
},
taskStatuses: {
queued: '等待中',
running: '进行中',
succeeded: '已完成',
failed: '失败',
cancelled: '已取消',
skipped: '已跳过',
interrupted: '已中断'
},
taskScopes: {
library: '知识库范围',
source: '来源范围',
document: '文档范围'
},
format: {
neverSynced: '尚未同步',
unknownTime: '时间未知',
unknownSize: '大小未知',
localFile: '本地文件',
localFileNamed: '本地文件 · {{filename}}',
listSeparator: '、'
},
validation: {
libraryNameRequired: '请输入知识库名称。',
urlRequired: '请输入 URL。',
urlInvalid: '请输入有效的 URL。',
urlProtocol: '仅支持 HTTP 或 HTTPS URL。'
},
errors: {
operationFailed: '操作未完成,请重试。',
refreshTitle: '知识库刷新失败',
loadTitle: '知识库加载失败'
},
create: {
ariaLabel: '创建知识库',
eyebrow: '新建知识库',
title: '创建知识库',
description: '命名后即可添加文件、文件夹或网页,并在当前对话中使用。',
advanced: '高级设置',
advancedDescription: '仅在需要托管副本或知识图谱时调整。'
},
edit: {
ariaLabel: '编辑知识库',
formAriaLabel: '编辑知识库表单',
title: '编辑知识库',
description: '修改名称和说明不会改变来源、索引或知识图谱。'
},
delete: {
ariaLabel: '删除知识库确认',
title: '删除“{{name}}”?',
managedDescription:
'此知识库使用托管存储。删除后,应用保存的托管副本、索引和图谱都会被永久删除。',
referenceDescription:
'此知识库引用原文件。删除后只会移除索引和图谱,不会删除磁盘上的原文件。',
triggerAriaLabel: '删除知识库 {{name}}'
},
retrieval: {
eyebrow: '当前知识库:{{libraryName}}',
title: '检索测试',
description:
'临时参数仅用于本次测试;不会创建对话、调用大模型或修改知识内容。',
close: '关闭检索测试',
query: {
title: '测试问题',
help: '输入一个真实问题,查看各检索通道、排名和最终上下文。',
label: '检索问题',
placeholder: '例如:如何为离线环境配置文档解析?',
count: '{{count}} / 4000 字'
},
pipeline: {
recall: {
title: '召回候选',
summary: '最多 {{count}} 个融合候选',
pending: '设置有效参数后计算'
},
rerank: {
title: '候选重排',
enabled: '重排最多 {{count}} 个候选',
disabled: '已关闭,保留融合排名'
},
select: {
title: '最终结果',
summary: '保留前 {{count}} 个分块'
},
context: {
title: '组装上下文',
summary: '预算 {{count}} 字符'
}
},
settings: {
title: '本次测试参数',
temporary: '这些调整只影响本次测试。需要长期使用时,请保存为当前知识库默认值。',
groups: {
recall: {
title: '候选召回',
description: '控制首轮检索范围、过滤阈值和各通道对融合排名的影响。'
},
output: {
title: '重排与上下文',
description: '控制候选排序、最终保留数量,以及实际送入模型的上下文范围。'
}
},
candidateMultiplier: '召回倍数',
candidateMultiplierHelp: '范围 2 至 10;当前最多召回 {{count}} 个融合候选',
channelWeights: '通道融合占比(合计 100%)',
topK: '最终结果数',
topKHelp: '重排后保留 1 至 20 个结果',
vectorSimilarity: '最低向量相似度(%)',
vectorSimilarityHelp: '范围 0% 至 100%;0% 表示不过滤低相似度结果',
ftsWeight: '全文占比',
vectorWeight: '向量占比',
graphWeight: '图谱占比',
weightHelp: '按相对占比参与融合;可用通道建议合计 100%',
graphUnavailable: '当前知识库未启用图谱,此权重暂不生效。',
contextBudget: '上下文字符预算',
contextBudgetHelp: '范围 2,000 至 48,000',
adjacentCount: '相邻分块数',
adjacentCountHelp: '向前和向后各合并 0 至 2 个分块',
localRerank: '启用本地重排',
localRerankHelp:
'对本次召回的全部融合候选进行确定性重排,不调用额外 AI 模型,因此无需单独设置重排数量。',
rerankMode: '重排方式',
rerankModeHelp:
'学习型重排调用已配置的 Cohere/Jina 兼容模型,并显示安全的降级原因。',
rerankModes: {
none: '不重排',
local: '本地规则',
learned: '学习型模型'
}
},
validation: {
queryRequired: '请输入测试问题。',
queryTooLong: '测试问题不能超过 4,000 字符。',
topK: 'Top K 必须是 1 至 20 的整数。',
candidateMultiplier: '召回倍数必须是 2 至 10 的整数。',
vectorSimilarity: '最低向量相似度必须在 0% 至 100% 之间。',
weight: '通道融合占比必须在 0% 至 100% 之间。',
weightTotal: '当前可用检索通道的融合占比合计必须为 100%。',
activeWeight: '至少一个当前可用的检索通道权重必须大于 0。',
contextBudget: '上下文预算必须是 2,000 至 48,000 的整数。',
adjacentCount: '相邻分块数必须是 0 至 2 的整数。'
},
actions: {
test: '测试检索',
running: '正在检索…',
saveDefaults: '保存为默认值',
savingDefaults: '正在保存…',
viewContext: '查看分块',
openSource: '打开来源'
},
states: {
runningTitle: '正在检索当前知识库',
runningDescription: '正在扫描有界候选并拼装上下文,请稍候。',
errorTitle: '检索测试失败',
errorDescription: '请检查知识库索引状态或调整参数后重试。'
},
channels: {
fts: '全文',
cjk: '中文',
vector: '向量',
graph: '图谱'
},
diagnostics: {
duration: '总耗时',
milliseconds: '{{count}} 毫秒',
requested: '请求通道',
used: '实际通道',
none: '无',
vectorScanned: '已扫描向量',
channelSummary: '{{candidates}} 个候选 · {{duration}} 毫秒',
degradedTitle: '本次检索已降级',
rerank: '重排',
rerankSummary:
'请求 {{requested}},使用 {{used}} · {{status}} · {{count}} 个候选 · {{duration}} 毫秒',
rerankStatuses: {
skipped: '已跳过',
applied: '已应用',
fallback: '已降级',
failed: '失败'
}
},
zero: {
'empty-library': {
title: '当前知识库没有可检索内容',
description: '请先导入并完成文档索引,然后再次测试。'
},
'index-unavailable': {
title: '当前索引不可用',
description: '请检查文档的解析与索引状态,修复失败项后重试。'
},
'no-match': {
title: '未找到相关内容',
description: '请尝试更换关键词、使用资料中的具体名称或扩大 Top K。'
},
filtered: {
title: '结果已被阈值过滤',
description: '请降低最低向量相似度或检查各通道权重后重试。'
}
},
results: {
title: '检索结果({{count}})',
contextSummary: '最终上下文 {{count}} / {{budget}} 字符',
truncated: '已截断',
listAriaLabel: '检索结果列表',
resultAriaLabel: '第 {{rank}} 条结果,{{documentName}}',
unknownLocator: '定位未知',
relevance: '相关度',
fusedScore: '融合分数',
channelDetail: '排名 {{rank}} · 原始分数 {{score}} · 相似度 {{similarity}}',
beforeRerank: '重排前排名',
context: '上下文',
contextDetail: '{{count}} 字符 · {{truncated}}',
complete: '完整',
diagnostics: '结果诊断',
actualContext: '查看实际上下文'
}
},
chunks: {
title: '文档分块',
documentUnavailable: '该检索结果对应的文档当前不可用。',
description: '搜索、预览和维护该文档的有界分块列表。',
close: '关闭文档分块',
listAriaLabel: '文档分块列表',
syncWarningTitle: '人工修改可能被替换。',
syncWarning:
'来源再次同步或重建文档时,可能按原始内容重新创建分块。删除分块不会删除原始文件。',
search: {
label: '搜索文档内分块',
placeholder: '搜索标题、定位或内容',
action: '搜索'
},
loadErrorTitle: '分块操作未完成',
loadingTitle: '正在加载分块',
loadingDescription: '正在读取当前页的分块内容。',
zeroTitle: '没有符合条件的分块',
zeroDescription: '请修改搜索词,或重建文档以重新生成分块。',
ordinal: '分块 {{count}}',
headingSeparator: ' · {{heading}}',
parentMetadata: ' · 父块 {{parentId}}',
unknownLocator: '定位未知',
characterCount: '{{count}} 字符',
enabled: '参与检索',
enabledAriaLabel: '启用分块 {{count}}',
roles: {
standalone: '独立块',
parent: '父块',
child: '子块'
},
pagination: {
ariaLabel: '分块分页',
previous: '上一页分块',
next: '下一页分块',
summary: '第 {{page}} / {{total}} 页,共 {{count}} 个'
},
editor: {
title: '编辑分块 {{count}}',
metadata: '{{role}} · {{locator}}',
manuallyEdited: '人工修改',
role: '分块角色',
parent: '父块 ID',
content: '分块内容',
count: '{{count}} / {{max}} 字符',
save: '保存分块',
saving: '正在保存…',
noSelectionTitle: '选择一个分块',
noSelectionDescription: '从左侧列表选择分块以查看完整内容和父子关系。'
},
validation: {
contentRequired: '分块内容不能为空。',
contentTooLong: '分块内容不能超过 {{count}} 字符。'
},
delete: {
trigger: '删除分块',
triggerAriaLabel: '删除分块 {{count}}',
confirmAriaLabel: '确认删除分块 {{count}}',
confirm: '确认删除分块',
deleting: '正在删除…',
message:
'删除分块 {{count}} 会移除其全文、中文、向量和图谱证据。来源同步或重建可能重新创建此分块;原始文件不会被删除。'
},
rebuild: {
action: '重建文档',
running: '正在重建…',
description: '重建会重新读取来源;失败时应保留上一版可用索引。'
}
},
graph: {
title: '知识图谱',
enable: '启用知识图谱',
enableDescription: '从文档中提取实体、关系与证据。',
unknownEntity: '未知实体',
selectEntity: '选择实体',
sidebar: {
ariaLabel: '图谱侧栏',
topology: '拓扑',
details: '详情'
},
canvasAriaLabel: '知识图谱画布',
searchAriaLabel: '搜索图谱实体',
searchPlaceholder: '搜索实体',
typeFilterAriaLabel: '筛选实体类型',
allTypes: '全部类型',
entityPickerAriaLabel: '选择图谱实体',
zoomOutAriaLabel: '缩小图谱',
zoomInAriaLabel: '放大图谱',
fitView: '显示全部',
interactionHint: '拖动节点调整位置;拖动画布平移,滚轮缩放。',
empty: '当前知识库尚未生成实体关系。',
chunk: {
loading: '正在加载知识图谱…',
loadFailed: '知识图谱未能加载,请重试。'
},
topologyAriaLabel: '图谱拓扑',
visibleRelations: {
title: '可见关系',
description: '仅显示当前筛选结果中的关系。',
count: '{{count}} 条',
empty: '当前筛选下没有可见关系。',
listAriaLabel: '可见关系列表'
},
addEntityPanelAriaLabel: '新增实体面板',
entityDetailsAriaLabel: '实体详情',
deleteEntityAriaLabel: '删除实体 {{name}}',
closeEntityDetailsAriaLabel: '关闭实体详情',
noEntityDescription: '该实体没有附加描述。',
aliases: '别名:{{aliases}}',
relations: '关系',
editRelationAriaLabel: '编辑关系 {{type}}',
deleteRelationAriaLabel: '删除关系 {{type}}',
merge: {
title: '合并实体',
targetAriaLabel: '选择合并目标',
targetPlaceholder: '选择保留的实体',
actionAriaLabel: '合并到目标实体'
},
confirm: {
processing: '处理中…',
deleteEntity: {
title: '删除实体“{{name}}”?',
description:
'将永久删除实体“{{name}}”及其 {{count}} 条关联关系;相关证据引用也会从图谱中移除,且无法恢复。',
action: '删除实体'
},
deleteRelation: {
title: '删除关系“{{type}}”?',
description:
'将永久删除“{{source}}”到“{{target}}”的“{{type}}”关系及其图谱证据引用,且无法恢复。两个实体本身会保留。',
action: '删除关系'
},
merge: {
title: '将“{{source}}”合并到“{{target}}”?',
description:
'“{{source}}”的关系、别名和证据将并入“{{target}}”,随后删除源实体。此操作无法恢复。',
action: '合并实体'
}
},
evidence: {
title: '证据 ({{count}})',
empty: '此实体和相关关系没有关联证据。'
},
detailsAriaLabel: '图谱详情',
detailsPrompt: '点击图谱节点查看实体详情。',
workspace: {
tabsAriaLabel: '知识图谱工作区',
explore: '图谱探索',
settings: '图谱设置'
}
},
documents: {
sources: {
title: '内容来源',
description: '导入内容后会自动解析并建立检索索引。',
descriptionWithGraph:
'导入内容后会自动解析、建立检索索引,并按当前策略更新知识图谱。',
emptyTitle: '尚未连接内容来源',
emptyDescription:
'可选择文件、目录或 URL;也可以直接将文件拖入上方区域。',
listAriaLabel: '内容来源列表'
},
importStrategy: '本次导入的图谱抽取策略',
importStrategies: {
rules: '仅本地规则',
model: '仅使用模型',
hybrid: '规则优先并由模型补全'
},
urlImport: {
ariaLabel: '导入 URL',
addressAriaLabel: 'URL 地址',
closeAriaLabel: '关闭 URL 导入'
},
dropFiles: '将文件拖到这里,加入“{{name}}”',
sourceMeta: '{{count}} 个文档 · {{time}}',
lastSynced: '最近同步:{{time}}',
moreActionsFor: '{{name}} 的更多操作',
openParsedOriginal: '打开解析时原件',
reparse: '使用当前设置重新解析',
viewResult: '查看解析结果',
previewLabel: '解析结果:{{name}}',
backToList: '返回文档列表',
reparsing: '正在重新解析,当前显示上次结果',
reparseFailed: '本次解析失败,上次结果仍可用:{{error}}',
syncProgress: '{{name}} 同步进度',
actions: {
pauseSource: '暂停 {{name}}',
retrySource: '重试 {{name}}',
syncSource: '同步 {{name}}',
removeSource: '移除来源 {{name}}',
openDocumentSource: '打开 {{name}} 的原始来源',
retryDocument: '重新处理 {{name}}'
},
removeSource: {
ariaLabel: '移除来源确认',
title: '移除来源“{{name}}”?',
managedDescription:
'将删除此来源的 {{count}} 篇文档、检索索引、图谱证据和应用托管副本。磁盘上的原始文件不会改变。',
referenceDescription:
'将删除此来源的 {{count}} 篇文档、检索索引和图谱证据。磁盘上的原始文件不会改变。',
action: '移除来源',
removing: '正在移除…'
},
table: {
title: '文档与来源',
empty: '尚无文档或来源。导入文件、目录或 URL 后,可在这里查看同步和索引状态。',
noResults: '没有匹配的文档或来源,请尝试其他名称或路径。',
columns: {
document: '文档',
status: '状态',
indexProgress: '索引进度',
processingStatus: '可用状态',
chunks: '分块',
size: '大小',
actions: '操作'
}
},
search: {
label: '搜索文档与来源',
placeholder: '搜索文档、来源名称或路径'
},
indexProgress: '{{name}} 索引进度'
},
entityEditor: {
editAriaLabel: '编辑实体',
addAriaLabel: '新增实体'
},
relationEditor: {
editAriaLabel: '编辑关系',
addAriaLabel: '新增关系',
selectType: '选择关系类型',
noCompatibleTypes: '当前起点和终点类型之间没有可用的关系类型。'
},
settings: {
description: '控制是否从知识库文档中抽取实体、关系和证据。',
enableDescription:
'启用后,新导入和重新同步的文档会按所选策略抽取图谱。',
strategyAriaLabel: '知识图谱抽取策略',
askDescription: '“按需询问”不会自动生成图谱,也不能执行重新抽取。',
graphConfiguration: {
title: '抽取方式',
description: '控制新导入、重新同步和显式重建时如何生成实体、关系与证据。'
},
retrieval: {
title: '问答效果',
description:
'输入真实问题验证当前知识库;高级检索参数可以在测试工作台中调整并保存。',
action: '测试并调整'
},
chunking: {
title: '分块策略',
description:
'配置后续导入和重建使用的分块方式。保存设置不会立即改写现有文档。',
mode: '分块方式',
modes: {
fixed: '固定长度',
structure: '按文档结构',
parentChild: '父子分块'
},
targetCharacters: '目标字符数',
overlapCharacters: '重叠字符数',
contextualIndexing: '启用上下文索引',
contextualIndexingDescription:
'将文档标题、标题层级、页码和块类型加入检索与向量文本;引用仍只显示原文。',
parentCharacters: '父块字符数',
childCharacters: '子块字符数',
rebuildRequired: '设置已变化,需要重建现有文档后才能全部生效。',
save: '保存分块设置',
saving: '正在保存…',
rebuild: '重建整个知识库',
rebuilding: '正在重建…',
cancelRebuild: '取消重建'
},
ontology: {
title: '本体定义',
description:
'为当前知识库控制实体类型、关系类型及关系端点约束。标识符使用大写字母、数字和下划线。',
entityTypes: '实体类型',
relationTypes: '关系类型',
id: '规范标识符',
nameZh: '中文名称',
nameEn: '英文名称',
aliases: '别名(使用逗号分隔,最多 32 个)',
sourceTypes: '允许的起点类型',
targetTypes: '允许的终点类型',
anyEndpoint: '允许任意实体类型',
anyEndpointHelp: '未设置端点限制。',
save: '保存本体定义',
saving: '正在保存…',
validation: '请修正重复标识符、重复别名、空名称或无效端点约束。',
rebuildRequired:
'本体定义已变化,需要显式重建现有文档后才能重新规范化已有图谱。',
noImplicitRebuild: '保存只更新当前知识库设置,不会自动重建文档或图谱。'
},
vectorIndex: {
title: '向量索引',
description: '范围:当前知识库。',
rebuild: '重建向量索引',
rebuilding: '正在重建…',
cancel: '取消重建',
cancelAria: '取消当前知识库的向量索引重建',
loading: '正在读取向量索引状态…',
disabledTitle: '向量模型未启用',
disabledDescription:
'请先在“模型连接”中启用并保存向量模型,再返回此知识库重建索引。',
currentModel: '当前向量模型',
coverage: {
indexed: '已索引',
missing: '缺失',
error: '错误',
total: '文档总数'
},
statuses: {
queued: '等待重建',
running: '正在重建',
completed: '最近一次重建成功',
failed: '最近一次重建失败',
cancelled: '最近一次重建已取消'
},
progressAria: '当前知识库向量索引重建进度',
progress: '已完成 {{completed}} / {{total}} 篇文档',
preparing: '正在准备待处理文档…',
completedAt:
'已完成 {{completed}} / {{total}} 篇文档。{{date}}',
atomicNotice:
'每篇文档会一次性更新;取消后,已完成文档保留新向量,其余文档保持原状。',
cancelledNotice:
'已完成 {{completed}} / {{total}} 篇文档,其余文档保持原状。',
defaultRemedy: '请检查向量模型配置和网络连接后重试。',
activeTitle: '向量索引任务正在运行',
activeDescription: '任务中心查看详情、进度以及可用操作。',
viewTasks: '任务中心查看详情'
}
},
tasks: {
emptyDescription:
'导入或同步文档后,可以在这里查看解析、向量化和图谱抽取进度。',
emptyTitle: '还没有知识任务',
title: '任务中心',
recentCount: '最近 {{count}} 个任务',
totalCount: '共 {{count}} 个任务批次',
childCount: '{{count}} 个子任务',
containsFailures: '有子任务失败,展开查看原因',
stoppedStage: '停止阶段',
attempt: '第 {{count}} 次尝试',
batchHelp: '按操作批次计数,展开可查看文档和处理阶段。失败包含有失败子任务的批次;历史包含所有已结束批次。',
activeCount: '进行中 {{count}}',
failedCount: '失败 {{count}}',
historyCount: '历史 {{count}}',
progressAriaLabel: '{{name}} {{kind}}进度',
waiting: '等待处理',
currentStage: '当前阶段',
itemProgress: '{{completed}} / {{total}} 项',
errorTitle: '任务失败',
defaultRemedy: '请检查相关配置或来源后重试。',
noResultsTitle: '没有符合条件的任务',
noResultsDescription: '请选择其他筛选条件或清除当前对象筛选。',
filters: {
ariaLabel: '筛选知识任务',
all: '全部',
active: '进行中',
failed: '失败',
history: '历史'
},
context: {
active: '正在显示当前来源或文档的相关任务',
clear: '清除对象筛选'
},
actionErrors: {
cancelTitle: '取消任务失败',
retryTitle: '重试任务失败',
recovery: '任务和筛选已保留,请检查问题后再次操作。'
},
actions: {
expand: '展开 {{name}} 的阶段任务',
collapse: '收起 {{name}} 的阶段任务',
cancel: '取消任务',
cancelling: '正在取消…',
retry: '重试任务',
retrying: '正在重试…'
}
},
tabs: {
documents: '文档与来源',
graph: '知识图谱',
tasks: '任务中心',
settings: '高级设置'
},
workspace: {
ariaLabel: '知识工作区',
libraryList: '知识库列表',
libraryListEmpty:
'创建知识库,集中管理可跨项目使用的来源、索引和实体关系。',
libraryMeta: '{{ready}} 篇可用 · {{failed}} 篇需处理',
detailsAriaLabel: '知识库详情',
tabsAriaLabel: '知识库视图',
scopeGlobal: '全局',
librarySummary:
'{{ready}} 篇可检索 · {{processing}} 篇处理中 · {{failed}} 篇需处理 · 共 {{documentCount}} 篇',
readyForQuestions: '资料已可检索,可以加入当前对话开始提问。',
waitingForDocuments: '添加资料并完成处理后,即可在对话中使用。'
},
loading: {
title: '正在加载知识库',
description: '正在读取知识库、来源和索引状态。'
},
empty: {
title: '建立第一个知识库',
description:
'集中组织文件、目录和网页来源,并生成可追溯、可跨项目使用的索引与图谱。'
},
graphChart: {
ariaLabel: '实体关系图',
renderError: '图谱渲染失败',
relation: '关系',
errorWithContext: '图谱渲染失败:{{error}}'
}
} as const