Skip to content

Commit 6261e5b

Browse files
authored
♻️ Complete the front-end Chinese comments.
2 parents 2fe40f5 + c908d50 commit 6261e5b

36 files changed

+434
-433
lines changed

frontend/app/[locale]/chat/components/chatLeftSidebar.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ export function ChatSidebar({
133133
const [editingTitle, setEditingTitle] = useState("");
134134
const inputRef = useRef<HTMLInputElement>(null);
135135

136-
// 获取用户认证状态
136+
// Get user authentication status
137137
const { isLoading: userAuthLoading, isSpeedMode } = useAuth();
138138

139139
// Add delete dialog status

frontend/app/[locale]/chat/internal/chatInterface.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1097,7 +1097,7 @@ export function ChatInterface() {
10971097
} else {
10981098
// Cache has content, display normally
10991099
setIsLoadingHistoricalConversation(false);
1100-
setIsLoading(false); // 确保 isLoading 状态也被重置
1100+
setIsLoading(false); // Ensure isLoading state is also reset
11011101

11021102
// For cases where there are cached messages, also trigger scrolling to the bottom.
11031103
setShouldScrollToBottom(true);

frontend/app/[locale]/chat/streaming/chatStreamMain.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ export function ChatStreamMain({
7070
const lastUserMessageIdRef = useRef<string | null>(null);
7171
const messagesEndRef = useRef<HTMLDivElement>(null);
7272

73-
// 处理消息分类
73+
// Handle message classification
7474
useEffect(() => {
7575
const finalMsgs: ChatMessageType[] = [];
7676
const taskMsgs: any[] = [];
@@ -310,7 +310,7 @@ export function ChatStreamMain({
310310
setShowScrollButton(false);
311311
}
312312

313-
// 显示顶部渐变效果
313+
// Show top gradient effect
314314
if (scrollTop > 10) {
315315
setShowTopFade(true);
316316
} else {

frontend/app/[locale]/chat/streaming/chatStreamMessage.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ export function ChatStreamMessage({
161161
<ChatAttachment
162162
attachments={message.attachments as AttachmentItem[]}
163163
onImageClick={onImageClick}
164-
className="justify-end" // 靠右对齐
164+
className="justify-end" // Right align
165165
/>
166166
</div>
167167
</div>

frontend/app/[locale]/chat/streaming/taskWindow.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -938,7 +938,7 @@ export function TaskWindow({ messages, isStreaming = false }: TaskWindowProps) {
938938
if (lastMessage.finalAnswer) {
939939
const timer = setTimeout(() => {
940940
setIsExpanded(false);
941-
}, 1000); // 1秒后折叠
941+
}, 1000); // Collapse after 1 second
942942
return () => clearTimeout(timer);
943943
}
944944
}
@@ -1004,9 +1004,9 @@ export function TaskWindow({ messages, isStreaming = false }: TaskWindowProps) {
10041004

10051005
return (
10061006
<div key={message.id || groupIndex} className="relative mb-5">
1007-
{/* 使用flex布局确保圆点与文本内容对齐 */}
1007+
{/* Use flex layout to ensure dots align with text content */}
10081008
<div className="flex items-start">
1009-
{/* 圆点容器 */}
1009+
{/* Dot container */}
10101010
<div
10111011
className="flex-shrink-0 mr-3"
10121012
style={{ position: "relative", top: "0.95rem" }}
@@ -1033,7 +1033,7 @@ export function TaskWindow({ messages, isStreaming = false }: TaskWindowProps) {
10331033
></div>
10341034
</div>
10351035

1036-
{/* 消息内容 */}
1036+
{/* Message content */}
10371037
<div className="flex-1 text-sm break-words min-w-0">
10381038
{renderMessageContent(message)}
10391039

@@ -1056,7 +1056,7 @@ export function TaskWindow({ messages, isStreaming = false }: TaskWindowProps) {
10561056
);
10571057
};
10581058

1059-
// 计算容器高度:内容高度 + header高度,但不超过最大高度
1059+
// Calculate container height: content height + header height, but not exceeding maximum height
10601060
const maxHeight = 300;
10611061
const headerHeight = 55;
10621062
const availableHeight = maxHeight - headerHeight;

frontend/app/[locale]/page.tsx

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -57,40 +57,40 @@ export default function Home() {
5757
const [adminRequiredPromptOpen, setAdminRequiredPromptOpen] =
5858
useState(false);
5959

60-
// 处理需要登录的操作
60+
// Handle operations that require login
6161
const handleAuthRequired = (e: React.MouseEvent) => {
6262
if (!user) {
6363
e.preventDefault();
6464
setLoginPromptOpen(true);
6565
}
6666
};
6767

68-
// 确认登录对话框
68+
// Confirm login dialog
6969
const handleCloseLoginPrompt = () => {
7070
setLoginPromptOpen(false);
7171
};
7272

73-
// 处理登录按钮点击
73+
// Handle login button click
7474
const handleLoginClick = () => {
7575
setLoginPromptOpen(false);
7676
openLoginModal();
7777
};
7878

79-
// 处理注册按钮点击
79+
// Handle register button click
8080
const handleRegisterClick = () => {
8181
setLoginPromptOpen(false);
8282
openRegisterModal();
8383
};
8484

85-
// 处理需要管理员权限的操作
85+
// Handle operations that require admin privileges
8686
const handleAdminRequired = (e: React.MouseEvent) => {
8787
if (user?.role !== "admin") {
8888
e.preventDefault();
8989
setAdminRequiredPromptOpen(true);
9090
}
9191
};
9292

93-
// 关闭管理员提示框
93+
// Close admin prompt dialog
9494
const handleCloseAdminPrompt = () => {
9595
setAdminRequiredPromptOpen(false);
9696
};
@@ -115,7 +115,7 @@ export default function Home() {
115115
</h1>
116116
</div>
117117
<div className="hidden md:flex items-center gap-6">
118-
{/* Github 按钮 */}
118+
{/* Github button */}
119119
<Link
120120
href="https://github.com/ModelEngine-Group/nexent"
121121
target="_blank"
@@ -133,7 +133,7 @@ export default function Home() {
133133
</svg>
134134
Github
135135
</Link>
136-
{/* ModelEngine 链接始终显示 */}
136+
{/* ModelEngine link always visible */}
137137
<Link
138138
href="http://modelengine-ai.net"
139139
className="text-sm font-medium text-slate-600 hover:text-slate-900 dark:text-slate-300 dark:hover:text-white transition-colors"
@@ -156,7 +156,7 @@ export default function Home() {
156156
<DownOutlined className="text-[10px]" />
157157
</a>
158158
</Dropdown>
159-
{/* 登录状态切换显示 - 只在完整版显示 */}
159+
{/* Login status toggle display - only shown in full version */}
160160
{!isSpeedMode && (
161161
<>
162162
{userLoading ? (
@@ -172,7 +172,7 @@ export default function Home() {
172172
</>
173173
)}
174174
</div>
175-
{/* 右侧汉堡按钮 为移动版预留 */}
175+
{/* Right hamburger button reserved for mobile version */}
176176
<Button variant="ghost" size="icon" className="md:hidden">
177177
<svg
178178
xmlns="http://www.w3.org/2000/svg"
@@ -244,7 +244,7 @@ export default function Home() {
244244
</Link>
245245
</motion.div>
246246

247-
{/* 数据保护提示 - 只在完整版显示 */}
247+
{/* Data protection notice - only shown in full version */}
248248
{!isSpeedMode && (
249249
<motion.div
250250
initial={{ opacity: 0, y: 20 }}
@@ -359,7 +359,7 @@ export default function Home() {
359359
</div>
360360
</footer>
361361

362-
{/* 登录提示对话框 - 只在完整版显示 */}
362+
{/* Login prompt dialog - only shown in full version */}
363363
{!isSpeedMode && (
364364
<Modal
365365
title={t("page.loginPrompt.title")}
@@ -432,15 +432,15 @@ export default function Home() {
432432
</Modal>
433433
)}
434434

435-
{/* 登录和注册模态框 - 只在完整版显示 */}
435+
{/* Login and register modals - only shown in full version */}
436436
{!isSpeedMode && (
437437
<>
438438
<LoginModal />
439439
<RegisterModal />
440440
</>
441441
)}
442442

443-
{/* 管理员提示对话框 - 只在完整版显示 */}
443+
{/* Admin prompt dialog - only shown in full version */}
444444
{!isSpeedMode && (
445445
<Modal
446446
title={t("page.adminPrompt.title")}

frontend/app/[locale]/setup/knowledgeSetup/components/knowledge/KnowledgeBaseList.tsx

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,30 @@ import { SyncOutlined, PlusOutlined } from '@ant-design/icons'
66

77
import { KnowledgeBase } from '@/types/knowledgeBase'
88

9-
// 知识库布局常量配置
9+
// Knowledge base layout constants configuration
1010
const KB_LAYOUT = {
11-
// 知识库行高配置
12-
ROW_PADDING: 'py-4', // 行垂直内边距
13-
HEADER_PADDING: 'p-3', // 列表头部内边距
14-
BUTTON_PADDING: 'p-2', // 创建按钮区域内边距
15-
TAG_SPACING: 'gap-0.5', // 标签之间的间距
16-
TAG_MARGIN: 'mt-2.5', // 标签容器上边距
17-
// 标签相关配置
18-
TAG_PADDING: 'px-1.5 py-0.5', // 标签内边距
19-
TAG_TEXT: 'text-xs font-medium', // 标签文字样式
20-
TAG_ROUNDED: 'rounded-md', // 标签圆角
21-
// 换行相关配置
22-
TAG_BREAK_HEIGHT: 'h-0.5', // 换行间隔高度
23-
SECOND_ROW_TAG_MARGIN: 'mt-0.5', // 第二行标签上边距
24-
// 其他布局配置
25-
TITLE_MARGIN: 'ml-2', // 标题左边距
26-
EMPTY_STATE_PADDING: 'py-4', // 空状态内边距
27-
// 标题相关配置
28-
TITLE_TEXT: 'text-xl font-bold', // 标题文字样式
29-
KB_NAME_TEXT: 'text-lg font-medium', // 知识库名称文字样式
30-
// 知识库名称配置
31-
KB_NAME_MAX_WIDTH: '220px', // 知识库名称最大宽度
32-
KB_NAME_OVERFLOW: { // 知识库名称溢出样式
11+
// Knowledge base row height configuration
12+
ROW_PADDING: 'py-4', // Row vertical padding
13+
HEADER_PADDING: 'p-3', // List header padding
14+
BUTTON_PADDING: 'p-2', // Create button area padding
15+
TAG_SPACING: 'gap-0.5', // Spacing between tags
16+
TAG_MARGIN: 'mt-2.5', // Tag container top margin
17+
// Tag related configuration
18+
TAG_PADDING: 'px-1.5 py-0.5', // Tag padding
19+
TAG_TEXT: 'text-xs font-medium', // Tag text style
20+
TAG_ROUNDED: 'rounded-md', // Tag rounded corners
21+
// Line break related configuration
22+
TAG_BREAK_HEIGHT: 'h-0.5', // Line break interval height
23+
SECOND_ROW_TAG_MARGIN: 'mt-0.5', // Second row tag top margin
24+
// Other layout configuration
25+
TITLE_MARGIN: 'ml-2', // Title left margin
26+
EMPTY_STATE_PADDING: 'py-4', // Empty state padding
27+
// Title related configuration
28+
TITLE_TEXT: 'text-xl font-bold', // Title text style
29+
KB_NAME_TEXT: 'text-lg font-medium', // Knowledge base name text style
30+
// Knowledge base name configuration
31+
KB_NAME_MAX_WIDTH: '220px', // Knowledge base name max width
32+
KB_NAME_OVERFLOW: { // Knowledge base name overflow style
3333
textOverflow: 'ellipsis',
3434
whiteSpace: 'nowrap',
3535
overflow: 'hidden',
@@ -50,8 +50,8 @@ interface KnowledgeBaseListProps {
5050
onCreateNew: () => void
5151
isSelectable: (kb: KnowledgeBase) => boolean
5252
getModelDisplayName: (modelId: string) => string
53-
containerHeight?: string // 容器总高度,与DocumentList保持一致
54-
onKnowledgeBaseChange?: () => void // 新增:知识库切换时的回调函数
53+
containerHeight?: string // Container total height, consistent with DocumentList
54+
onKnowledgeBaseChange?: () => void // New: callback function when knowledge base switches
5555
}
5656

5757
const KnowledgeBaseList: React.FC<KnowledgeBaseListProps> = ({
@@ -67,25 +67,25 @@ const KnowledgeBaseList: React.FC<KnowledgeBaseListProps> = ({
6767
onCreateNew,
6868
isSelectable,
6969
getModelDisplayName,
70-
containerHeight = '70vh', // 默认与DocumentList一致的容器高度
71-
onKnowledgeBaseChange // 新增:知识库切换时的回调函数
70+
containerHeight = '70vh', // Default container height consistent with DocumentList
71+
onKnowledgeBaseChange // New: callback function when knowledge base switches
7272
}) => {
7373
const { t } = useTranslation();
7474

75-
// 格式化日期函数,只保留日期部分
75+
// Format date function, only keep date part
7676
const formatDate = (dateString: number) => {
7777
try {
7878
const date = new Date(dateString);
79-
return date.toISOString().split('T')[0]; // 只返回YYYY-MM-DD部分
79+
return date.toISOString().split('T')[0]; // Only return YYYY-MM-DD part
8080
} catch (e) {
81-
return dateString; // 如果解析失败,返回原始字符串
81+
return dateString; // If parsing fails, return original string
8282
}
8383
};
8484

8585

8686
return (
8787
<div className="w-full bg-white border border-gray-200 rounded-md flex flex-col" style={{ height: containerHeight }}>
88-
{/* 固定的头部区域 */}
88+
{/* Fixed header area */}
8989
<div className={`${KB_LAYOUT.HEADER_PADDING} border-b border-gray-200 shrink-0`}>
9090
<div className="flex items-center justify-between">
9191
<div>
@@ -142,7 +142,7 @@ const KnowledgeBaseList: React.FC<KnowledgeBaseListProps> = ({
142142
</div>
143143
</div>
144144

145-
{/* 固定的选择状态区域 */}
145+
{/* Fixed selection status area */}
146146
<div className="border-b border-gray-200 shrink-0 relative z-10 shadow-md">
147147
<div className="px-5 py-2 bg-blue-50">
148148
<div className="flex items-center">
@@ -186,7 +186,7 @@ const KnowledgeBaseList: React.FC<KnowledgeBaseListProps> = ({
186186
</div>
187187
</div>
188188

189-
{/* 可滚动的知识库列表区域 */}
189+
{/* Scrollable knowledge base list area */}
190190
<div className="flex-1 overflow-y-auto overflow-x-hidden">
191191
{knowledgeBases.length > 0 ? (
192192
<div className="divide-y-0">
@@ -272,30 +272,30 @@ const KnowledgeBaseList: React.FC<KnowledgeBaseListProps> = ({
272272
</button>
273273
</div>
274274
<div className={`flex flex-wrap items-center ${KB_LAYOUT.TAG_MARGIN} ${KB_LAYOUT.TAG_SPACING}`}>
275-
{/* 文档数量标签 */}
275+
{/* Document count tag */}
276276
<span className={`inline-flex items-center ${KB_LAYOUT.TAG_PADDING} ${KB_LAYOUT.TAG_ROUNDED} ${KB_LAYOUT.TAG_TEXT} bg-gray-200 text-gray-800 border border-gray-200 mr-1`}>
277277
{t('knowledgeBase.tag.documents', { count: kb.documentCount || 0 })}
278278
</span>
279279

280-
{/* 分块数量标签 */}
280+
{/* Chunk count tag */}
281281
<span className={`inline-flex items-center ${KB_LAYOUT.TAG_PADDING} ${KB_LAYOUT.TAG_ROUNDED} ${KB_LAYOUT.TAG_TEXT} bg-gray-200 text-gray-800 border border-gray-200 mr-1`}>
282282
{t('knowledgeBase.tag.chunks', { count: kb.chunkCount || 0 })}
283283
</span>
284284

285-
{/* 知识库来源标签 */}
285+
{/* Knowledge base source tag */}
286286
<span className={`inline-flex items-center ${KB_LAYOUT.TAG_PADDING} ${KB_LAYOUT.TAG_ROUNDED} ${KB_LAYOUT.TAG_TEXT} bg-gray-200 text-gray-800 border border-gray-200 mr-1`}>
287287
{t('knowledgeBase.tag.source', { source: kb.source })}
288288
</span>
289289

290-
{/* 创建日期标签 - 只显示日期 */}
290+
{/* Creation date tag - only show date */}
291291
<span className={`inline-flex items-center ${KB_LAYOUT.TAG_PADDING} ${KB_LAYOUT.TAG_ROUNDED} ${KB_LAYOUT.TAG_TEXT} bg-gray-200 text-gray-800 border border-gray-200 mr-1`}>
292292
{t('knowledgeBase.tag.createdAt', { date: formatDate(kb.createdAt) })}
293293
</span>
294294

295-
{/* 强制换行 */}
295+
{/* Force line break */}
296296
<div className={`w-full ${KB_LAYOUT.TAG_BREAK_HEIGHT}`}></div>
297297

298-
{/* 模型标签 - 显示正常或不匹配 */}
298+
{/* Model tag - show normal or mismatch */}
299299
<span className={`inline-flex items-center ${KB_LAYOUT.TAG_PADDING} ${KB_LAYOUT.TAG_ROUNDED} ${KB_LAYOUT.TAG_TEXT} ${KB_LAYOUT.SECOND_ROW_TAG_MARGIN} bg-green-100 text-green-800 border border-green-200 mr-1`}>
300300
{t('knowledgeBase.tag.model', { model: getModelDisplayName(kb.embeddingModel) })}
301301
</span>

0 commit comments

Comments
 (0)