diff --git a/Frontend-Learner/i18n/locales/en.json b/Frontend-Learner/i18n/locales/en.json
index 2bc3e89d..fbb78b84 100644
--- a/Frontend-Learner/i18n/locales/en.json
+++ b/Frontend-Learner/i18n/locales/en.json
@@ -143,5 +143,37 @@
"invalidPhone": "Invalid phone number",
"passwordTooShort": "At least 6 characters",
"passwordsDoNotMatch": "Passwords do not match"
+ },
+ "classroom": {
+ "backToDashboard": "Back to My Courses",
+ "loadingCurriculum": "Loading curriculum...",
+ "readingMaterial": "This lesson is a reading material.",
+ "lessonContent": "Lesson Content",
+ "notAvailable": "This lesson is not yet available.",
+ "loadingTitle": "Loading...",
+ "chapter": "Chapter",
+ "lessons": "Lessons"
+ },
+ "quiz": {
+ "exitTitle": "Exit Quiz",
+ "exitConfirm": "You are taking a quiz. If you leave now, your progress will be lost. Are you sure you want to exit?",
+ "startTitle": "End of Chapter Quiz",
+ "preparationTitle": "Preparation before starting",
+ "instructionTitle": "Instructions",
+ "instruction1": "Pay attention to the questions to measure your learning progress.",
+ "startBtn": "Start Quiz",
+ "nextBtn": "Next Question",
+ "prevBtn": "Previous Question",
+ "submitBtn": "Submit Answers",
+ "submitConfirm": "Are you sure you want to submit your answers?",
+ "scoreTitle": "Quiz Results",
+ "passMessage": "Congratulations! You passed the quiz.",
+ "failMessage": "You didn't pass this time. Please review the lessons and try again.",
+ "backToLesson": "Back to Lesson",
+ "reviewAnswers": "Review Answers",
+ "timeLeft": "Time Left",
+ "placeholderAPI": "This part is currently being connected to the real quiz system.",
+ "placeholderDesc": "The quiz system will be available once the API integration is complete.",
+ "skipToResult": "Skip to Result (Simulated)"
}
}
diff --git a/Frontend-Learner/i18n/locales/th.json b/Frontend-Learner/i18n/locales/th.json
index c4e48d66..76b21df8 100644
--- a/Frontend-Learner/i18n/locales/th.json
+++ b/Frontend-Learner/i18n/locales/th.json
@@ -143,5 +143,37 @@
"invalidPhone": "เบอร์โทรศัพท์ไม่ถูกต้อง",
"passwordTooShort": "รหัสผ่านต้องมีอย่างน้อย 6 ตัวอักษร",
"passwordsDoNotMatch": "รหัสผ่านใหม่ไม่ตรงกัน"
+ },
+ "classroom": {
+ "backToDashboard": "กลับไปคอร์สของฉัน",
+ "loadingCurriculum": "กำลังโหลดเนื้อหา...",
+ "readingMaterial": "บทเรียนนี้เป็นเอกสารประกอบการเรียน",
+ "lessonContent": "เนื้อหาบทเรียน",
+ "notAvailable": "บทเรียนนี้ยังไม่เปิดให้เข้าชม",
+ "loadingTitle": "กำลังโหลด...",
+ "chapter": "บทที่",
+ "lessons": "บทเรียน"
+ },
+ "quiz": {
+ "exitTitle": "ออกจากแบบทดสอบ",
+ "exitConfirm": "คุณกำลังทำแบบทดสอบอยู่ หากออกตอนนี้ความคืบหน้าจะหายไป ยืนยันที่จะออก?",
+ "startTitle": "แบบทดสอบท้ายบท",
+ "preparationTitle": "เตรียมความพร้อมก่อนเริ่มทำ",
+ "instructionTitle": "คำชี้แจง",
+ "instruction1": "ตั้งใจทำแบบทดสอบเพื่อวัดผลการเรียนรู้",
+ "startBtn": "เริ่มทำแบบทดสอบ",
+ "nextBtn": "ข้อถัดไป",
+ "prevBtn": "ข้อก่อนหน้า",
+ "submitBtn": "ส่งคำตอบ",
+ "submitConfirm": "คุณแน่ใจหรือไม่ว่าต้องการส่งคำตอบ?",
+ "scoreTitle": "ผลการทดสอบ",
+ "passMessage": "ยินดีด้วย! คุณสอบผ่านเกณฑ์",
+ "failMessage": "คุณยังไม่ผ่านเกณฑ์ในครั้งนี้ ลองทบทวนบทเรียนและทำใหม่อีกครั้ง",
+ "backToLesson": "กลับไปหน้าบทเรียน",
+ "reviewAnswers": "ตรวจดูคำตอบ",
+ "timeLeft": "เวลาที่เหลือ",
+ "placeholderAPI": "ส่วนนี้อยู่ระหว่างการเชื่อมต่อกับระบบข้อสอบจริง",
+ "placeholderDesc": "ระบบข้อสอบจะสามารถใช้งานได้เมื่อมีการเชื่อมต่อ API สมบูรณ์",
+ "skipToResult": "ข้ามไปหน้าผลลัพธ์ (จำลอง)"
}
}
diff --git a/Frontend-Learner/pages/browse/discovery.vue b/Frontend-Learner/pages/browse/discovery.vue
index fba9bd2b..4944166b 100644
--- a/Frontend-Learner/pages/browse/discovery.vue
+++ b/Frontend-Learner/pages/browse/discovery.vue
@@ -237,7 +237,7 @@ onMounted(() => {
v-else
class="flex flex-col items-center justify-center py-20 bg-slate-50 dark:bg-slate-800/50 rounded-3xl border-2 border-dashed border-slate-200 dark:border-slate-700"
>
-
🔍
+
{{ $t('discovery.emptyTitle') }}
{{ $t('discovery.emptyDesc') }}
diff --git a/Frontend-Learner/pages/browse/index.vue b/Frontend-Learner/pages/browse/index.vue
index f7972c2d..9b6eb30c 100644
--- a/Frontend-Learner/pages/browse/index.vue
+++ b/Frontend-Learner/pages/browse/index.vue
@@ -99,7 +99,7 @@ const filteredCourses = computed(() => {
- 🔍
+
+
-
+
-
-
-
-
แบบทดสอบท้ายบท: พื้นฐาน UX
+
+
+
+
+
+ {{ quizData ? getLocalizedText(quizData.title) : (courseData ? getLocalizedText(courseData.course.title) : $t('quiz.startTitle')) }}
+
+
+
+
+
{{ $t('quiz.timeLeft') }}
+
+ {{ timerDisplay }}
+
+
-
-
-
-
-
-
-
-
+
+
+
{{ $t('classroom.loadingTitle') }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ quizData ? getLocalizedText(quizData.title) : $t('quiz.startTitle') }}
+
+
+ {{ $t('quiz.preparationTitle') }}
+
+
+
+
+
+
+ {{ $t('quiz.instructionTitle') }}
+
+
+ -
+
+
+ {{ quizData?.description ? getLocalizedText(quizData.description) : $t('quiz.instruction1') }}
+
+
+
+
+
+
-
-
แบบทดสอบท้ายบท
-
เตรียมความพร้อมก่อนเริ่มทำ
-
-
-
-
-
- คำชี้แจง
-
-
- -
-
- ตั้งใจทำแบบทดสอบเพื่อวัดผลการเรียนรู้
-
-
-
-
-
-
-
-
-
-
-
-
-
ส่วนนี้อยู่ระหว่างการเชื่อมต่อกับระบบข้อสอบจริง
-
ระบบข้อสอบจะสามารถใช้งานได้เมื่อมีการเชื่อมต่อ API สมบูรณ์
-
-
-
-
-
-
-
-
จบการทำแบบทดสอบ
-
-
- กลับไปหน้าบทเรียน
-
+
+
+
+
+
+
{{ $t('quiz.placeholderAPI') }}
+
{{ $t('quiz.placeholderDesc') }}
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
{{ $t('quiz.scoreTitle') }}
+
{{ $t('quiz.passMessage') }}
+
+
+
+
+
+
+
+