UI: i18n update
This commit is contained in:
@@ -927,7 +927,7 @@ function SidebarBody() {
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Database className="h-4 w-4 text-muted-foreground" />
|
<Database className="h-4 w-4 text-muted-foreground" />
|
||||||
{t('knowledgeBaseManagement', 'Knowledge Bases')}
|
{t('knowledgeBases')}
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<button
|
<button
|
||||||
@@ -949,7 +949,7 @@ function SidebarBody() {
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Mic className="h-4 w-4 text-muted-foreground" />
|
<Mic className="h-4 w-4 text-muted-foreground" />
|
||||||
{t('voiceSettings', '语音输入配置')}
|
{t('voiceSettings')}
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
{user?.is_admin && (
|
{user?.is_admin && (
|
||||||
@@ -973,7 +973,7 @@ function SidebarBody() {
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Brain className="h-4 w-4 text-muted-foreground" />
|
<Brain className="h-4 w-4 text-muted-foreground" />
|
||||||
{t('embeddingModelConfig', 'Embedding Models')}
|
{t('embeddingModels')}
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<button
|
<button
|
||||||
|
|||||||
@@ -173,7 +173,7 @@
|
|||||||
"knowledgeBaseNamePlaceholder": "Enter knowledge base name",
|
"knowledgeBaseNamePlaceholder": "Enter knowledge base name",
|
||||||
"knowledgeBaseDescriptionPlaceholder": "Enter knowledge base description (optional)",
|
"knowledgeBaseDescriptionPlaceholder": "Enter knowledge base description (optional)",
|
||||||
"knowledgeBaseEmbeddingModel": "Embedding Model",
|
"knowledgeBaseEmbeddingModel": "Embedding Model",
|
||||||
"knowledgeBaseEmbeddingModelPlaceholder": "e.g. text-embedding-3-large",
|
"knowledgeBaseEmbeddingModelPlaceholder": "Select an embedding model",
|
||||||
"knowledgeBaseChunkSize": "Chunk Size",
|
"knowledgeBaseChunkSize": "Chunk Size",
|
||||||
"knowledgeBaseChunkOverlap": "Chunk Overlap",
|
"knowledgeBaseChunkOverlap": "Chunk Overlap",
|
||||||
"knowledgeBaseTopK": "Top K",
|
"knowledgeBaseTopK": "Top K",
|
||||||
@@ -364,5 +364,8 @@
|
|||||||
"selectModel": "Select a model",
|
"selectModel": "Select a model",
|
||||||
"noSubagents": "No subagents configured",
|
"noSubagents": "No subagents configured",
|
||||||
"confirmDeleteSubagent": "Are you sure you want to delete this subagent?",
|
"confirmDeleteSubagent": "Are you sure you want to delete this subagent?",
|
||||||
"selectProjectToManageSubagents": "Please select a project to manage subagents"
|
"selectProjectToManageSubagents": "Please select a project to manage subagents",
|
||||||
|
"knowledgeBases": "Knowledge Bases",
|
||||||
|
"voiceSettings": "Voice Input Settings",
|
||||||
|
"embeddingModels": "Embedding Models"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -186,7 +186,7 @@
|
|||||||
"knowledgeBaseNamePlaceholder": "请输入知识库名称",
|
"knowledgeBaseNamePlaceholder": "请输入知识库名称",
|
||||||
"knowledgeBaseDescriptionPlaceholder": "请输入知识库描述(可选)",
|
"knowledgeBaseDescriptionPlaceholder": "请输入知识库描述(可选)",
|
||||||
"knowledgeBaseEmbeddingModel": "Embedding 模型",
|
"knowledgeBaseEmbeddingModel": "Embedding 模型",
|
||||||
"knowledgeBaseEmbeddingModelPlaceholder": "例如:text-embedding-3-large",
|
"knowledgeBaseEmbeddingModelPlaceholder": "请选择一个嵌入模型",
|
||||||
"knowledgeBaseChunkSize": "Chunk Size",
|
"knowledgeBaseChunkSize": "Chunk Size",
|
||||||
"knowledgeBaseChunkOverlap": "Chunk Overlap",
|
"knowledgeBaseChunkOverlap": "Chunk Overlap",
|
||||||
"knowledgeBaseTopK": "Top K",
|
"knowledgeBaseTopK": "Top K",
|
||||||
@@ -364,5 +364,8 @@
|
|||||||
"systemInstructionsPlaceholder": "你是一个有用的 AI 助手...",
|
"systemInstructionsPlaceholder": "你是一个有用的 AI 助手...",
|
||||||
"noSubagents": "暂无配置的子智能体",
|
"noSubagents": "暂无配置的子智能体",
|
||||||
"confirmDeleteSubagent": "确定要删除这个子智能体吗?",
|
"confirmDeleteSubagent": "确定要删除这个子智能体吗?",
|
||||||
"selectProjectToManageSubagents": "请先选择一个项目以管理其子智能体"
|
"selectProjectToManageSubagents": "请先选择一个项目以管理其子智能体",
|
||||||
|
"knowledgeBases": "知识库管理",
|
||||||
|
"voiceSettings": "语音输入配置",
|
||||||
|
"embeddingModels": "Embedding 模型"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ export function EmbeddingModels() {
|
|||||||
<div className="flex-1 flex flex-col h-full bg-muted/50/30 overflow-hidden">
|
<div className="flex-1 flex flex-col h-full bg-muted/50/30 overflow-hidden">
|
||||||
<div className="h-14 px-6 flex items-center justify-between border-b border-border bg-background">
|
<div className="h-14 px-6 flex items-center justify-between border-b border-border bg-background">
|
||||||
<div className="flex items-center gap-2 text-foreground/80 font-medium">
|
<div className="flex items-center gap-2 text-foreground/80 font-medium">
|
||||||
<Brain className="h-5 w-5 text-indigo-500" />{t('embeddingModelConfig', 'Embedding Model Configuration')}</div>
|
<Brain className="h-5 w-5 text-indigo-500" />{t('embeddingModels')}</div>
|
||||||
<div className="flex items-center gap-3">
|
<div className="flex items-center gap-3">
|
||||||
<div className="relative">
|
<div className="relative">
|
||||||
<Search className="h-4 w-4 text-muted-foreground absolute left-3 top-1/2 -translate-y-1/2" />
|
<Search className="h-4 w-4 text-muted-foreground absolute left-3 top-1/2 -translate-y-1/2" />
|
||||||
|
|||||||
@@ -403,13 +403,14 @@ export function KnowledgeBases() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const selectedKnowledgeBase = knowledgeBases.find((item) => item.id === selectedKnowledgeBaseId) || null;
|
const selectedKnowledgeBase = knowledgeBases.find((item) => item.id === selectedKnowledgeBaseId) || null;
|
||||||
|
const selectedEmbeddingModel = embeddingModels.find(m => m.id === knowledgeBaseForm.embedding_model);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="flex-1 flex flex-col h-full bg-muted/50/30 overflow-hidden">
|
<div className="flex-1 flex flex-col h-full bg-muted/50/30 overflow-hidden">
|
||||||
<div className="h-14 px-6 flex items-center justify-between border-b border-border bg-background">
|
<div className="h-14 px-6 flex items-center justify-between border-b border-border bg-background">
|
||||||
<div className="flex items-center gap-2 text-foreground/80 font-medium">
|
<div className="flex items-center gap-2 text-foreground/80 font-medium">
|
||||||
<Database className="h-5 w-5 text-indigo-500" />
|
<Database className="h-5 w-5 text-indigo-500" />
|
||||||
{t('knowledgeBaseManagement', 'Knowledge Base Management')}
|
{t('knowledgeBases')}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -464,7 +465,11 @@ export function KnowledgeBases() {
|
|||||||
disabled={!currentProject}
|
disabled={!currentProject}
|
||||||
>
|
>
|
||||||
<SelectTrigger id="knowledge-base-embedding-model">
|
<SelectTrigger id="knowledge-base-embedding-model">
|
||||||
<SelectValue placeholder={t('knowledgeBaseEmbeddingModelPlaceholder', 'Select an embedding model')} />
|
<SelectValue placeholder={t('knowledgeBaseEmbeddingModelPlaceholder')}>
|
||||||
|
{selectedEmbeddingModel
|
||||||
|
? `${selectedEmbeddingModel.name || selectedEmbeddingModel.model} (${selectedEmbeddingModel.provider})`
|
||||||
|
: knowledgeBaseForm.embedding_model || undefined}
|
||||||
|
</SelectValue>
|
||||||
</SelectTrigger>
|
</SelectTrigger>
|
||||||
<SelectContent>
|
<SelectContent>
|
||||||
{embeddingModels.map((model) => (
|
{embeddingModels.map((model) => (
|
||||||
|
|||||||
Reference in New Issue
Block a user