11"use client" ;
22
33import { useState , useEffect , useCallback } from "react" ;
4+ import { useLanguage } from "@/contexts/LanguageContext" ;
45import { useTimeZone } from "@/contexts/TimeZoneContext" ;
56import { getCalendarDate } from "@/lib/date-time" ;
67import {
@@ -64,6 +65,7 @@ export function KnowledgeFilter({
6465 onFilterChange,
6566 className
6667} : KnowledgeFilterProps ) {
68+ const { t } = useLanguage ( ) ;
6769 const { timeZone } = useTimeZone ( ) ;
6870 const [ gradeSemester , setGradeSemester ] = useState < string > ( initialGrade || "" ) ;
6971 const [ chapter , setChapter ] = useState < string > ( "" ) ;
@@ -240,10 +242,10 @@ export function KnowledgeFilter({
240242 < div className = { `flex gap-2 ${ className } ` } >
241243 < Select value = { gradeSemester } onValueChange = { handleGradeChange } disabled = { loading } >
242244 < SelectTrigger className = "w-[140px]" >
243- < SelectValue placeholder = "年级/学期" />
245+ < SelectValue placeholder = { t . filter ?. gradeShort || "Grade" } />
244246 </ SelectTrigger >
245247 < SelectContent >
246- < SelectItem value = "all" > 全部年级 </ SelectItem >
248+ < SelectItem value = "all" > { t . filter ?. allGrades || "All grades" } </ SelectItem >
247249 { filteredGrades . map ( gs => (
248250 < SelectItem key = { gs } value = { gs } > { gs } </ SelectItem >
249251 ) ) }
@@ -252,10 +254,10 @@ export function KnowledgeFilter({
252254
253255 < Select value = { chapter } onValueChange = { handleChapterChange } disabled = { ! gradeSemester || gradeSemester === "all" } >
254256 < SelectTrigger className = "w-[180px]" >
255- < SelectValue placeholder = "章节" />
257+ < SelectValue placeholder = { t . filter ?. chapter || "Chapter" } />
256258 </ SelectTrigger >
257259 < SelectContent >
258- < SelectItem value = "all" > 全部章节 </ SelectItem >
260+ < SelectItem value = "all" > { t . filter ?. allChapters || "All chapters" } </ SelectItem >
259261 { chapters . map ( c => (
260262 < SelectItem key = { c . id } value = { c . name } >
261263 { c . name . replace ( / ^ 第 \d + 章 \s * / , '' ) }
@@ -266,12 +268,12 @@ export function KnowledgeFilter({
266268
267269 < Select value = { tag } onValueChange = { handleTagChange } disabled = { ! chapter || chapter === "all" } >
268270 < SelectTrigger className = "w-[140px]" >
269- < SelectValue placeholder = "知识点" />
271+ < SelectValue placeholder = { t . filter ?. knowledgePoint || "Tag" } />
270272 </ SelectTrigger >
271273 < SelectContent >
272- < SelectItem value = "all" > 全部知识点 </ SelectItem >
273- { tags . map ( t => (
274- < SelectItem key = { t } value = { t } > { t } </ SelectItem >
274+ < SelectItem value = "all" > { t . filter ?. allKnowledgePoints || "All tags" } </ SelectItem >
275+ { tags . map ( tagName => (
276+ < SelectItem key = { tagName } value = { tagName } > { tagName } </ SelectItem >
275277 ) ) }
276278 </ SelectContent >
277279 </ Select >
0 commit comments