ktskhoa commited on
Commit
65bc2fc
·
verified ·
1 Parent(s): d5c3036

Add 3 files

Browse files
Files changed (3) hide show
  1. README.md +7 -5
  2. index.html +1096 -19
  3. prompts.txt +2 -0
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Master T V Ng
3
- emoji: 👀
4
- colorFrom: yellow
5
- colorTo: indigo
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: master-t-v-ng
3
+ emoji: 🐳
4
+ colorFrom: purple
5
+ colorTo: yellow
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,1096 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="vi">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Trò Chơi Học Từ Vựng Tiếng Anh</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
+ <style>
10
+ .card {
11
+ perspective: 1000px;
12
+ }
13
+ .card-inner {
14
+ transition: transform 0.8s;
15
+ transform-style: preserve-3d;
16
+ }
17
+ .card.flipped .card-inner {
18
+ transform: rotateY(180deg);
19
+ }
20
+ .card-front, .card-back {
21
+ backface-visibility: hidden;
22
+ position: absolute;
23
+ width: 100%;
24
+ height: 100%;
25
+ }
26
+ .card-back {
27
+ transform: rotateY(180deg);
28
+ }
29
+ .progress-bar {
30
+ transition: width 0.5s ease-in-out;
31
+ }
32
+ .shake {
33
+ animation: shake 0.5s;
34
+ }
35
+ @keyframes shake {
36
+ 0%, 100% { transform: translateX(0); }
37
+ 20%, 60% { transform: translateX(-5px); }
38
+ 40%, 80% { transform: translateX(5px); }
39
+ }
40
+ .bounce {
41
+ animation: bounce 0.5s;
42
+ }
43
+ @keyframes bounce {
44
+ 0%, 100% { transform: translateY(0); }
45
+ 50% { transform: translateY(-10px); }
46
+ }
47
+ .pulse {
48
+ animation: pulse 1.5s infinite;
49
+ }
50
+ @keyframes pulse {
51
+ 0% { transform: scale(1); }
52
+ 50% { transform: scale(1.05); }
53
+ 100% { transform: scale(1); }
54
+ }
55
+ .word-category {
56
+ transition: all 0.3s ease;
57
+ }
58
+ .word-category:hover {
59
+ transform: translateY(-3px);
60
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
61
+ }
62
+ </style>
63
+ </head>
64
+ <body class="bg-gradient-to-br from-blue-50 to-indigo-100 min-h-screen">
65
+ <div class="container mx-auto px-4 py-8">
66
+ <header class="text-center mb-8">
67
+ <h1 class="text-4xl font-bold text-indigo-800 mb-2">Master Từ Vựng</h1>
68
+ <p class="text-gray-600">Học từ vựng tiếng Anh hiệu quả</p>
69
+ </header>
70
+
71
+ <div class="grid grid-cols-1 lg:grid-cols-3 gap-8">
72
+ <!-- Phần nhập từ vựng -->
73
+ <div class="bg-white rounded-xl shadow-lg p-6">
74
+ <h2 class="text-2xl font-semibold text-indigo-700 mb-4">Thêm Từ Mới</h2>
75
+ <div class="space-y-4">
76
+ <div>
77
+ <label class="block text-gray-700 mb-2">Từ tiếng Anh</label>
78
+ <input type="text" id="englishWord" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500">
79
+ </div>
80
+ <div>
81
+ <label class="block text-gray-700 mb-2">Nghĩa tiếng Việt</label>
82
+ <input type="text" id="vietnameseMeaning" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500">
83
+ </div>
84
+ <div>
85
+ <label class="block text-gray-700 mb-2">Câu ví dụ (Tùy chọn)</label>
86
+ <input type="text" id="exampleSentence" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500">
87
+ </div>
88
+ <button id="addWordBtn" class="w-full bg-indigo-600 text-white py-2 px-4 rounded-lg hover:bg-indigo-700 transition flex items-center justify-center">
89
+ <i class="fas fa-plus-circle mr-2"></i> Thêm Từ
90
+ </button>
91
+ </div>
92
+
93
+ <div class="mt-6">
94
+ <h3 class="text-lg font-medium text-gray-800 mb-3">Danh sách từ vựng của bạn</h3>
95
+ <div id="wordList" class="max-h-60 overflow-y-auto border border-gray-200 rounded-lg p-2">
96
+ <p class="text-gray-500 text-center py-4">Chưa có từ nào được thêm</p>
97
+ </div>
98
+ <div class="mt-3 flex space-x-2">
99
+ <button id="clearWordsBtn" class="flex-1 bg-red-100 text-red-700 py-1 px-3 rounded hover:bg-red-200 transition">
100
+ <i class="fas fa-trash-alt mr-1"></i> Xóa Tất cả
101
+ </button>
102
+ <button id="exportWordsBtn" class="flex-1 bg-green-100 text-green-700 py-1 px-3 rounded hover:bg-green-200 transition">
103
+ <i class="fas fa-file-export mr-1"></i> Xuất file
104
+ </button>
105
+ <button id="importWordsBtn" class="flex-1 bg-blue-100 text-blue-700 py-1 px-3 rounded hover:bg-blue-200 transition">
106
+ <i class="fas fa-file-import mr-1"></i> Nhập file
107
+ </button>
108
+ </div>
109
+ <input type="file" id="importFileInput" class="hidden" accept=".json">
110
+ </div>
111
+ </div>
112
+
113
+ <!-- Các chế độ học -->
114
+ <div class="bg-white rounded-xl shadow-lg p-6">
115
+ <h2 class="text-2xl font-semibold text-indigo-700 mb-4">Chế Độ Học</h2>
116
+ <div class="space-y-4">
117
+ <button id="flashcardsBtn" class="w-full bg-purple-100 text-purple-800 py-3 px-4 rounded-lg hover:bg-purple-200 transition flex items-center justify-between">
118
+ <div>
119
+ <i class="fas fa-layer-group mr-2"></i> Thẻ học
120
+ </div>
121
+ <i class="fas fa-chevron-right"></i>
122
+ </button>
123
+ <button id="quizBtn" class="w-full bg-teal-100 text-teal-800 py-3 px-4 rounded-lg hover:bg-teal-200 transition flex items-center justify-between">
124
+ <div>
125
+ <i class="fas fa-question-circle mr-2"></i> Câu hỏi trắc nghiệm
126
+ </div>
127
+ <i class="fas fa-chevron-right"></i>
128
+ </button>
129
+ <button id="typingBtn" class="w-full bg-amber-100 text-amber-800 py-3 px-4 rounded-lg hover:bg-amber-200 transition flex items-center justify-between">
130
+ <div>
131
+ <i class="fas fa-keyboard mr-2"></i> Luyện gõ từ
132
+ </div>
133
+ <i class="fas fa-chevron-right"></i>
134
+ </button>
135
+ </div>
136
+
137
+ <div class="mt-6">
138
+ <h3 class="text-lg font-medium text-gray-800 mb-3">Theo dõi tiến độ</h3>
139
+ <div class="bg-gray-100 rounded-lg p-4">
140
+ <div class="flex justify-between mb-1">
141
+ <span class="text-sm font-medium text-gray-700">Mức độ thành thạo</span>
142
+ <span id="masteryPercent" class="text-sm font-medium text-gray-700">0%</span>
143
+ </div>
144
+ <div class="w-full bg-gray-300 rounded-full h-2.5">
145
+ <div id="masteryBar" class="bg-indigo-600 h-2.5 rounded-full progress-bar" style="width: 0%"></div>
146
+ </div>
147
+ <div class="mt-3 grid grid-cols-3 gap-2 text-center">
148
+ <div class="bg-blue-50 p-2 rounded">
149
+ <div class="text-blue-800 font-bold" id="totalWords">0</div>
150
+ <div class="text-xs text-blue-600">Tổng số từ</div>
151
+ </div>
152
+ <div class="bg-green-50 p-2 rounded">
153
+ <div class="text-green-800 font-bold" id="knownWords">0</div>
154
+ <div class="text-xs text-green-600">Đã biết</div>
155
+ </div>
156
+ <div class="bg-red-50 p-2 rounded">
157
+ <div class="text-red-800 font-bold" id="learningWords">0</div>
158
+ <div class="text-xs text-red-600">Đang học</div>
159
+ </div>
160
+ </div>
161
+ </div>
162
+ </div>
163
+ </div>
164
+
165
+ <!-- Khu vực hiển thị trò chơi -->
166
+ <div class="bg-white rounded-xl shadow-lg p-6">
167
+ <div id="gameArea" class="h-full">
168
+ <div class="text-center mb-6">
169
+ <h2 class="text-2xl font-bold text-indigo-700 mb-2">1000 Từ Tiếng Anh Cơ Bản</h2>
170
+ <p class="text-gray-600">Từ vựng được phân loại sẵn để học dễ dàng</p>
171
+ </div>
172
+
173
+ <div class="grid grid-cols-2 md:grid-cols-3 gap-4">
174
+ <div class="word-category bg-blue-50 rounded-lg p-4 cursor-pointer" onclick="loadCategory('common')">
175
+ <div class="flex items-center">
176
+ <div class="bg-blue-100 p-2 rounded-full mr-3">
177
+ <i class="fas fa-star text-blue-600"></i>
178
+ </div>
179
+ <div>
180
+ <h3 class="font-medium text-blue-800">Từ thông dụng</h3>
181
+ <p class="text-xs text-blue-600">100 từ</p>
182
+ </div>
183
+ </div>
184
+ </div>
185
+
186
+ <div class="word-category bg-green-50 rounded-lg p-4 cursor-pointer" onclick="loadCategory('verbs')">
187
+ <div class="flex items-center">
188
+ <div class="bg-green-100 p-2 rounded-full mr-3">
189
+ <i class="fas fa-running text-green-600"></i>
190
+ </div>
191
+ <div>
192
+ <h3 class="font-medium text-green-800">Động từ hành động</h3>
193
+ <p class="text-xs text-green-600">150 từ</p>
194
+ </div>
195
+ </div>
196
+ </div>
197
+
198
+ <div class="word-category bg-yellow-50 rounded-lg p-4 cursor-pointer" onclick="loadCategory('adjectives')">
199
+ <div class="flex items-center">
200
+ <div class="bg-yellow-100 p-2 rounded-full mr-3">
201
+ <i class="fas fa-adjust text-yellow-600"></i>
202
+ </div>
203
+ <div>
204
+ <h3 class="font-medium text-yellow-800">Tính từ</h3>
205
+ <p class="text-xs text-yellow-600">120 từ</p>
206
+ </div>
207
+ </div>
208
+ </div>
209
+
210
+ <div class="word-category bg-purple-50 rounded-lg p-4 cursor-pointer" onclick="loadCategory('food')">
211
+ <div class="flex items-center">
212
+ <div class="bg-purple-100 p-2 rounded-full mr-3">
213
+ <i class="fas fa-utensils text-purple-600"></i>
214
+ </div>
215
+ <div>
216
+ <h3 class="font-medium text-purple-800">Đồ ăn & Thức uống</h3>
217
+ <p class="text-xs text-purple-600">80 từ</p>
218
+ </div>
219
+ </div>
220
+ </div>
221
+
222
+ <div class="word-category bg-red-50 rounded-lg p-4 cursor-pointer" onclick="loadCategory('family')">
223
+ <div class="flex items-center">
224
+ <div class="bg-red-100 p-2 rounded-full mr-3">
225
+ <i class="fas fa-users text-red-600"></i>
226
+ </div>
227
+ <div>
228
+ <h3 class="font-medium text-red-800">Gia đình & Người</h3>
229
+ <p class="text-xs text-red-600">60 từ</p>
230
+ </div>
231
+ </div>
232
+ </div>
233
+
234
+ <div class="word-category bg-indigo-50 rounded-lg p-4 cursor-pointer" onclick="loadCategory('home')">
235
+ <div class="flex items-center">
236
+ <div class="bg-indigo-100 p-2 rounded-full mr-3">
237
+ <i class="fas fa-home text-indigo-600"></i>
238
+ </div>
239
+ <div>
240
+ <h3 class="font-medium text-indigo-800">Nhà & Nội thất</h3>
241
+ <p class="text-xs text-indigo-600">70 từ</p>
242
+ </div>
243
+ </div>
244
+ </div>
245
+
246
+ <div class="word-category bg-pink-50 rounded-lg p-4 cursor-pointer" onclick="loadCategory('body')">
247
+ <div class="flex items-center">
248
+ <div class="bg-pink-100 p-2 rounded-full mr-3">
249
+ <i class="fas fa-user text-pink-600"></i>
250
+ </div>
251
+ <div>
252
+ <h3 class="font-medium text-pink-800">Bộ phận cơ thể</h3>
253
+ <p class="text-xs text-pink-600">50 từ</p>
254
+ </div>
255
+ </div>
256
+ </div>
257
+
258
+ <div class="word-category bg-teal-50 rounded-lg p-4 cursor-pointer" onclick="loadCategory('clothes')">
259
+ <div class="flex items-center">
260
+ <div class="bg-teal-100 p-2 rounded-full mr-3">
261
+ <i class="fas fa-tshirt text-teal-600"></i>
262
+ </div>
263
+ <div>
264
+ <h3 class="font-medium text-teal-800">Quần áo</h3>
265
+ <p class="text-xs text-teal-600">60 từ</p>
266
+ </div>
267
+ </div>
268
+ </div>
269
+
270
+ <div class="word-category bg-orange-50 rounded-lg p-4 cursor-pointer" onclick="loadCategory('animals')">
271
+ <div class="flex items-center">
272
+ <div class="bg-orange-100 p-2 rounded-full mr-3">
273
+ <i class="fas fa-paw text-orange-600"></i>
274
+ </div>
275
+ <div>
276
+ <h3 class="font-medium text-orange-800">Động vật</h3>
277
+ <p class="text-xs text-orange-600">70 từ</p>
278
+ </div>
279
+ </div>
280
+ </div>
281
+ </div>
282
+
283
+ <div class="mt-6 text-center">
284
+ <button onclick="loadAllWords()" class="px-4 py-2 bg-indigo-600 text-white rounded-lg hover:bg-indigo-700 transition flex items-center justify-center mx-auto">
285
+ <i class="fas fa-book mr-2"></i> Tải tất cả 1000 từ
286
+ </button>
287
+ </div>
288
+ </div>
289
+ </div>
290
+ </div>
291
+ </div>
292
+
293
+ <!-- Modal Thẻ học -->
294
+ <div id="flashcardsModal" class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 hidden">
295
+ <div class="bg-white rounded-xl shadow-2xl w-full max-w-md mx-4">
296
+ <div class="p-4 border-b border-gray-200 flex justify-between items-center">
297
+ <h3 class="text-xl font-semibold text-indigo-700">Thẻ Học</h3>
298
+ <button id="closeFlashcards" class="text-gray-500 hover:text-gray-700">
299
+ <i class="fas fa-times"></i>
300
+ </button>
301
+ </div>
302
+ <div class="p-6">
303
+ <div id="flashcardContainer" class="relative h-64 mb-6">
304
+ <div id="noCardsMessage" class="text-center text-gray-500 py-10">
305
+ <i class="fas fa-exclamation-circle text-3xl mb-3"></i>
306
+ <p>Không có thẻ học nào. Vui lòng thêm từ trước.</p>
307
+ </div>
308
+ <div id="flashcard" class="card hidden w-full h-full">
309
+ <div class="card-inner w-full h-full">
310
+ <div class="card-front bg-indigo-100 rounded-lg shadow-md flex items-center justify-center cursor-pointer p-4">
311
+ <div class="text-center">
312
+ <p class="text-2xl font-bold text-indigo-800" id="cardFrontText">Từ</p>
313
+ <p class="text-sm text-indigo-600 mt-2">Nhấn để lật</p>
314
+ </div>
315
+ </div>
316
+ <div class="card-back bg-white rounded-lg shadow-md flex items-center justify-center cursor-pointer p-4 border-2 border-indigo-200">
317
+ <div class="text-center">
318
+ <p class="text-xl font-semibold text-gray-800" id="cardBackMeaning">Nghĩa</p>
319
+ <p class="text-sm text-gray-600 mt-2 italic" id="cardBackExample">Câu ví dụ</p>
320
+ <div class="mt-4 flex justify-center space-x-3">
321
+ <button class="knowBtn px-3 py-1 bg-green-100 text-green-800 rounded-full text-sm hover:bg-green-200">
322
+ <i class="fas fa-check mr-1"></i> Biết
323
+ </button>
324
+ <button class="dontKnowBtn px-3 py-1 bg-red-100 text-red-800 rounded-full text-sm hover:bg-red-200">
325
+ <i class="fas fa-times mr-1"></i> Chưa biết
326
+ </button>
327
+ </div>
328
+ </div>
329
+ </div>
330
+ </div>
331
+ </div>
332
+ </div>
333
+ <div class="flex justify-between items-center">
334
+ <div class="text-sm text-gray-600">
335
+ Thẻ <span id="currentCard">0</span> / <span id="totalCards">0</span>
336
+ </div>
337
+ <div class="flex space-x-2">
338
+ <button id="prevCard" class="px-4 py-2 bg-gray-200 text-gray-700 rounded-lg hover:bg-gray-300">
339
+ <i class="fas fa-arrow-left"></i> Trước
340
+ </button>
341
+ <button id="nextCard" class="px-4 py-2 bg-indigo-600 text-white rounded-lg hover:bg-indigo-700">
342
+ Sau <i class="fas fa-arrow-right"></i>
343
+ </button>
344
+ </div>
345
+ </div>
346
+ </div>
347
+ </div>
348
+ </div>
349
+
350
+ <!-- Modal Câu hỏi trắc nghiệm -->
351
+ <div id="quizModal" class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 hidden">
352
+ <div class="bg-white rounded-xl shadow-2xl w-full max-w-md mx-4">
353
+ <div class="p-4 border-b border-gray-200 flex justify-between items-center">
354
+ <h3 class="text-xl font-semibold text-indigo-700">Câu Hỏi Trắc Nghiệm</h3>
355
+ <button id="closeQuiz" class="text-gray-500 hover:text-gray-700">
356
+ <i class="fas fa-times"></i>
357
+ </button>
358
+ </div>
359
+ <div class="p-6">
360
+ <div id="quizContainer" class="mb-6">
361
+ <div id="noQuizMessage" class="text-center text-gray-500 py-10">
362
+ <i class="fas fa-exclamation-circle text-3xl mb-3"></i>
363
+ <p>Không đủ từ để tạo câu hỏi. Vui lòng thêm ít nhất 4 từ.</p>
364
+ </div>
365
+ <div id="quizQuestion" class="hidden">
366
+ <div class="bg-indigo-50 rounded-lg p-4 mb-4">
367
+ <p class="text-lg font-medium text-center text-indigo-800" id="quizWord">Từ</p>
368
+ </div>
369
+ <p class="text-sm text-gray-600 mb-4 text-center">Nghĩa đúng là gì?</p>
370
+ <div class="space-y-3" id="quizOptions">
371
+ <!-- Các lựa chọn sẽ được thêm vào đây bằng JavaScript -->
372
+ </div>
373
+ </div>
374
+ </div>
375
+ <div class="flex justify-between items-center">
376
+ <div class="text-sm text-gray-600">
377
+ Câu <span id="currentQuestion">0</span> / <span id="totalQuestions">0</span>
378
+ </div>
379
+ <div class="flex space-x-2">
380
+ <button id="prevQuestion" class="px-4 py-2 bg-gray-200 text-gray-700 rounded-lg hover:bg-gray-300">
381
+ <i class="fas fa-arrow-left"></i> Trước
382
+ </button>
383
+ <button id="nextQuestion" class="px-4 py-2 bg-indigo-600 text-white rounded-lg hover:bg-indigo-700">
384
+ Sau <i class="fas fa-arrow-right"></i>
385
+ </button>
386
+ </div>
387
+ </div>
388
+ </div>
389
+ </div>
390
+ </div>
391
+
392
+ <!-- Modal Luyện gõ từ -->
393
+ <div id="typingModal" class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 hidden">
394
+ <div class="bg-white rounded-xl shadow-2xl w-full max-w-md mx-4">
395
+ <div class="p-4 border-b border-gray-200 flex justify-between items-center">
396
+ <h3 class="text-xl font-semibold text-indigo-700">Luyện Gõ Từ</h3>
397
+ <button id="closeTyping" class="text-gray-500 hover:text-gray-700">
398
+ <i class="fas fa-times"></i>
399
+ </button>
400
+ </div>
401
+ <div class="p-6">
402
+ <div id="typingContainer" class="mb-6">
403
+ <div id="noTypingMessage" class="text-center text-gray-500 py-10">
404
+ <i class="fas fa-exclamation-circle text-3xl mb-3"></i>
405
+ <p>Không có từ nào để luyện gõ. Vui lòng thêm từ trước.</p>
406
+ </div>
407
+ <div id="typingQuestion" class="hidden">
408
+ <div class="bg-indigo-50 rounded-lg p-4 mb-4">
409
+ <p class="text-lg font-medium text-center text-indigo-800" id="typingPrompt">Nghĩa</p>
410
+ </div>
411
+ <div class="mb-4">
412
+ <label class="block text-sm text-gray-600 mb-2">Gõ từ tiếng Anh:</label>
413
+ <input type="text" id="typingAnswer" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500" autocomplete="off">
414
+ </div>
415
+ <div id="typingFeedback" class="hidden text-center py-2 rounded-lg"></div>
416
+ </div>
417
+ </div>
418
+ <div class="flex justify-between items-center">
419
+ <div class="text-sm text-gray-600">
420
+ Từ <span id="currentTyping">0</span> / <span id="totalTyping">0</span>
421
+ </div>
422
+ <div class="flex space-x-2">
423
+ <button id="checkTyping" class="px-4 py-2 bg-indigo-600 text-white rounded-lg hover:bg-indigo-700">
424
+ <i class="fas fa-check mr-1"></i> Kiểm tra
425
+ </button>
426
+ <button id="nextTyping" class="px-4 py-2 bg-indigo-600 text-white rounded-lg hover:bg-indigo-700 hidden">
427
+ Tiếp <i class="fas fa-arrow-right"></i>
428
+ </button>
429
+ </div>
430
+ </div>
431
+ </div>
432
+ </div>
433
+ </div>
434
+
435
+ <script>
436
+ // Dữ liệu từ vựng
437
+ let vocabulary = JSON.parse(localStorage.getItem('vocabulary')) || [];
438
+ let knownWords = JSON.parse(localStorage.getItem('knownWords')) || [];
439
+
440
+ // Các danh mục từ vựng có sẵn
441
+ const vocabularyCategories = {
442
+ common: [
443
+ {english: "the", vietnamese: "cái, người, điều đó"},
444
+ {english: "be", vietnamese: "thì, là, ở"},
445
+ {english: "to", vietnamese: "đến, tới, để"},
446
+ {english: "of", vietnamese: "của, về"},
447
+ {english: "and", vietnamese: "và"},
448
+ {english: "a", vietnamese: "một"},
449
+ {english: "in", vietnamese: "trong, ở"},
450
+ {english: "that", vietnamese: "đó, kia"},
451
+ {english: "have", vietnamese: "có"},
452
+ {english: "I", vietnamese: "tôi"},
453
+ {english: "it", vietnamese: "nó"},
454
+ {english: "for", vietnamese: "cho, để"},
455
+ {english: "not", vietnamese: "không"},
456
+ {english: "on", vietnamese: "trên"},
457
+ {english: "with", vietnamese: "với"},
458
+ {english: "he", vietnamese: "anh ấy"},
459
+ {english: "as", vietnamese: "như, khi"},
460
+ {english: "you", vietnamese: "bạn"},
461
+ {english: "do", vietnamese: "làm"},
462
+ {english: "at", vietnamese: "tại, lúc"},
463
+ {english: "this", vietnamese: "này"},
464
+ {english: "but", vietnamese: "nhưng"},
465
+ {english: "his", vietnamese: "của anh ấy"},
466
+ {english: "by", vietnamese: "bằng, bởi"},
467
+ {english: "from", vietnamese: "từ"},
468
+ {english: "they", vietnamese: "họ"},
469
+ {english: "we", vietnamese: "chúng tôi"},
470
+ {english: "say", vietnamese: "nói"},
471
+ {english: "her", vietnamese: "cô ấy"},
472
+ {english: "she", vietnamese: "cô ấy"},
473
+ {english: "or", vietnamese: "hoặc"},
474
+ {english: "an", vietnamese: "một"},
475
+ {english: "will", vietnamese: "sẽ"},
476
+ {english: "my", vietnamese: "của tôi"},
477
+ {english: "one", vietnamese: "một"},
478
+ {english: "all", vietnamese: "tất cả"},
479
+ {english: "would", vietnamese: "sẽ"},
480
+ {english: "there", vietnamese: "ở đó"},
481
+ {english: "their", vietnamese: "của họ"},
482
+ {english: "what", vietnamese: "cái gì"},
483
+ {english: "so", vietnamese: "vì vậy"},
484
+ {english: "up", vietnamese: "lên"},
485
+ {english: "out", vietnamese: "ngoài"},
486
+ {english: "if", vietnamese: "nếu"},
487
+ {english: "about", vietnamese: "về"},
488
+ {english: "who", vietnamese: "ai"},
489
+ {english: "get", vietnamese: "nhận"},
490
+ {english: "which", vietnamese: "cái nào"},
491
+ {english: "go", vietnamese: "đi"},
492
+ {english: "me", vietnamese: "tôi"},
493
+ {english: "when", vietnamese: "khi"},
494
+ {english: "make", vietnamese: "làm"},
495
+ {english: "can", vietnamese: "có thể"},
496
+ {english: "like", vietnamese: "như, thích"},
497
+ {english: "time", vietnamese: "thời gian"},
498
+ {english: "no", vietnamese: "không"},
499
+ {english: "just", vietnamese: "chỉ"},
500
+ {english: "him", vietnamese: "anh ấy"},
501
+ {english: "know", vietnamese: "biết"},
502
+ {english: "take", vietnamese: "lấy"},
503
+ {english: "people", vietnamese: "người"},
504
+ {english: "into", vietnamese: "vào"},
505
+ {english: "year", vietnamese: "năm"},
506
+ {english: "your", vietnamese: "của bạn"},
507
+ {english: "good", vietnamese: "tốt"},
508
+ {english: "some", vietnamese: "một số"},
509
+ {english: "could", vietnamese: "có thể"},
510
+ {english: "them", vietnamese: "họ"},
511
+ {english: "see", vietnamese: "nhìn"},
512
+ {english: "other", vietnamese: "khác"},
513
+ {english: "than", vietnamese: "hơn"},
514
+ {english: "then", vietnamese: "sau đó"},
515
+ {english: "now", vietnamese: "bây giờ"},
516
+ {english: "look", vietnamese: "nhìn"},
517
+ {english: "only", vietnamese: "chỉ"},
518
+ {english: "come", vietnamese: "đến"},
519
+ {english: "over", vietnamese: "trên"},
520
+ {english: "think", vietnamese: "nghĩ"},
521
+ {english: "also", vietnamese: "cũng"},
522
+ {english: "back", vietnamese: "trở lại"},
523
+ {english: "after", vietnamese: "sau"},
524
+ {english: "use", vietnamese: "sử dụng"},
525
+ {english: "two", vietnamese: "hai"},
526
+ {english: "how", vietnamese: "như thế nào"},
527
+ {english: "our", vietnamese: "của chúng tôi"},
528
+ {english: "work", vietnamese: "làm việc"},
529
+ {english: "first", vietnamese: "đầu tiên"},
530
+ {english: "well", vietnamese: "tốt"},
531
+ {english: "way", vietnamese: "cách"},
532
+ {english: "even", vietnamese: "thậm chí"},
533
+ {english: "new", vietnamese: "mới"},
534
+ {english: "want", vietnamese: "muốn"},
535
+ {english: "because", vietnamese: "bởi vì"},
536
+ {english: "any", vietnamese: "bất kỳ"},
537
+ {english: "these", vietnamese: "những"},
538
+ {english: "give", vietnamese: "cho"},
539
+ {english: "day", vietnamese: "ngày"},
540
+ {english: "most", vietnamese: "hầu hết"},
541
+ {english: "us", vietnamese: "chúng tôi"}
542
+ ],
543
+ verbs: [
544
+ {english: "run", vietnamese: "chạy"},
545
+ {english: "walk", vietnamese: "đi bộ"},
546
+ {english: "jump", vietnamese: "nhảy"},
547
+ {english: "swim", vietnamese: "bơi"},
548
+ {english: "dance", vietnamese: "nhảy múa"},
549
+ {english: "sing", vietnamese: "hát"},
550
+ {english: "play", vietnamese: "chơi"},
551
+ {english: "read", vietnamese: "đọc"},
552
+ {english: "write", vietnamese: "viết"},
553
+ {english: "draw", vietnamese: "vẽ"},
554
+ {english: "paint", vietnamese: "sơn, vẽ"},
555
+ {english: "cook", vietnamese: "nấu ăn"},
556
+ {english: "eat", vietnamese: "ăn"},
557
+ {english: "drink", vietnamese: "uống"},
558
+ {english: "sleep", vietnamese: "ngủ"},
559
+ {english: "wake", vietnamese: "thức dậy"},
560
+ {english: "work", vietnamese: "làm việc"},
561
+ {english: "study", vietnamese: "học"},
562
+ {english: "learn", vietnamese: "học"},
563
+ {english: "teach", vietnamese: "dạy"},
564
+ {english: "drive", vietnamese: "lái xe"},
565
+ {english: "ride", vietnamese: "cưỡi, đi"},
566
+ {english: "fly", vietnamese: "bay"},
567
+ {english: "climb", vietnamese: "leo"},
568
+ {english: "fall", vietnamese: "ngã"},
569
+ {english: "stand", vietnamese: "đứng"},
570
+ {english: "sit", vietnamese: "ngồi"},
571
+ {english: "lie", vietnamese: "nằm"},
572
+ {english: "lift", vietnamese: "nâng"},
573
+ {english: "carry", vietnamese: "mang"},
574
+ {english: "hold", vietnamese: "cầm"},
575
+ {english: "catch", vietnamese: "bắt"},
576
+ {english: "throw", vietnamese: "ném"},
577
+ {english: "kick", vietnamese: "đá"},
578
+ {english: "hit", vietnamese: "đánh"},
579
+ {english: "push", vietnamese: "đẩy"},
580
+ {english: "pull", vietnamese: "kéo"},
581
+ {english: "open", vietnamese: "mở"},
582
+ {english: "close", vietnamese: "đóng"},
583
+ {english: "turn", vietnamese: "quay"},
584
+ {english: "cut", vietnamese: "cắt"},
585
+ {english: "break", vietnamese: "làm vỡ"},
586
+ {english: "fix", vietnamese: "sửa"},
587
+ {english: "build", vietnamese: "xây"},
588
+ {english: "clean", vietnamese: "lau chùi"},
589
+ {english: "wash", vietnamese: "giặt, rửa"},
590
+ {english: "buy", vietnamese: "mua"},
591
+ {english: "sell", vietnamese: "bán"},
592
+ {english: "pay", vietnamese: "trả"},
593
+ {english: "cost", vietnamese: "có giá"},
594
+ {english: "save", vietnamese: "tiết kiệm"},
595
+ {english: "spend", vietnamese: "tiêu"},
596
+ {english: "give", vietnamese: "cho"},
597
+ {english: "take", vietnamese: "lấy"},
598
+ {english: "bring", vietnamese: "mang đến"},
599
+ {english: "send", vietnamese: "gửi"},
600
+ {english: "receive", vietnamese: "nhận"},
601
+ {english: "ask", vietnamese: "hỏi"},
602
+ {english: "answer", vietnamese: "trả lời"},
603
+ {english: "tell", vietnamese: "kể"},
604
+ {english: "speak", vietnamese: "nói"},
605
+ {english: "talk", vietnamese: "nói chuyện"},
606
+ {english: "listen", vietnamese: "nghe"},
607
+ {english: "hear", vietnamese: "nghe"},
608
+ {english: "see", vietnamese: "nhìn"},
609
+ {english: "watch", vietnamese: "xem"},
610
+ {english: "look", vietnamese: "nhìn"},
611
+ {english: "smell", vietnamese: "ngửi"},
612
+ {english: "taste", vietnamese: "nếm"},
613
+ {english: "touch", vietnamese: "chạm"},
614
+ {english: "feel", vietnamese: "cảm thấy"},
615
+ {english: "think", vietnamese: "nghĩ"},
616
+ {english: "know", vietnamese: "biết"},
617
+ {english: "understand", vietnamese: "hiểu"},
618
+ {english: "remember", vietnamese: "nhớ"},
619
+ {english: "forget", vietnamese: "quên"},
620
+ {english: "believe", vietnamese: "tin"},
621
+ {english: "doubt", vietnamese: "nghi ngờ"},
622
+ {english: "imagine", vietnamese: "tưởng tượng"},
623
+ {english: "want", vietnamese: "muốn"},
624
+ {english: "need", vietnamese: "cần"},
625
+ {english: "like", vietnamese: "thích"},
626
+ {english: "love", vietnamese: "yêu"},
627
+ {english: "hate", vietnamese: "ghét"},
628
+ {english: "prefer", vietnamese: "thích hơn"},
629
+ {english: "hope", vietnamese: "hy vọng"},
630
+ {english: "wish", vietnamese: "ước"},
631
+ {english: "expect", vietnamese: "mong đợi"},
632
+ {english: "plan", vietnamese: "kế hoạch"},
633
+ {english: "decide", vietnamese: "quyết định"},
634
+ {english: "choose", vietnamese: "chọn"},
635
+ {english: "pick", vietnamese: "chọn"},
636
+ {english: "try", vietnamese: "thử"},
637
+ {english: "start", vietnamese: "bắt đầu"},
638
+ {english: "begin", vietnamese: "bắt đầu"},
639
+ {english: "continue", vietnamese: "tiếp tục"},
640
+ {english: "stop", vietnamese: "dừng"},
641
+ {english: "finish", vietnamese: "kết thúc"},
642
+ {english: "complete", vietnamese: "hoàn thành"},
643
+ {english: "succeed", vietnamese: "thành công"},
644
+ {english: "fail", vietnamese: "thất bại"},
645
+ {english: "win", vietnamese: "thắng"},
646
+ {english: "lose", vietnamese: "thua"},
647
+ {english: "beat", vietnamese: "đánh bại"},
648
+ {english: "fight", vietnamese: "chiến đấu"},
649
+ {english: "defend", vietnamese: "bảo vệ"},
650
+ {english: "attack", vietnamese: "tấn công"},
651
+ {english: "help", vietnamese: "giúp"},
652
+ {english: "support", vietnamese: "hỗ trợ"},
653
+ {english: "serve", vietnamese: "phục vụ"},
654
+ {english: "protect", vietnamese: "bảo vệ"},
655
+ {english: "save", vietnamese: "cứu"},
656
+ {english: "rescue", vietnamese: "giải cứu"},
657
+ {english: "hide", vietnamese: "trốn"},
658
+ {english: "seek", vietnamese: "tìm kiếm"},
659
+ {english: "find", vietnamese: "tìm thấy"},
660
+ {english: "discover", vietnamese: "khám phá"},
661
+ {english: "invent", vietnamese: "phát minh"},
662
+ {english: "create", vietnamese: "tạo ra"},
663
+ {english: "make", vietnamese: "làm"},
664
+ {english: "produce", vietnamese: "sản xuất"},
665
+ {english: "build", vietnamese: "xây dựng"},
666
+ {english: "destroy", vietnamese: "phá hủy"},
667
+ {english: "damage", vietnamese: "làm hư hại"},
668
+ {english: "repair", vietnamese: "sửa chữa"},
669
+ {english: "improve", vietnamese: "cải thiện"},
670
+ {english: "change", vietnamese: "thay đổi"},
671
+ {english: "grow", vietnamese: "phát triển"},
672
+ {english: "live", vietnamese: "sống"},
673
+ {english: "die", vietnamese: "chết"},
674
+ {english: "born", vietnamese: "sinh ra"},
675
+ {english: "exist", vietnamese: "tồn tại"},
676
+ {english: "appear", vietnamese: "xuất hiện"},
677
+ {english: "disappear", vietnamese: "biến mất"},
678
+ {english: "stay", vietnamese: "ở lại"},
679
+ {english: "leave", vietnamese: "rời đi"},
680
+ {english: "arrive", vietnamese: "đến"},
681
+ {english: "depart", vietnamese: "khởi hành"},
682
+ {english: "enter", vietnamese: "vào"},
683
+ {english: "exit", vietnamese: "thoát"},
684
+ {english: "follow", vietnamese: "theo"},
685
+ {english: "lead", vietnamese: "dẫn đầu"},
686
+ {english: "travel", vietnamese: "du lịch"},
687
+ {english: "visit", vietnamese: "thăm"},
688
+ {english: "tour", vietnamese: "tham quan"},
689
+ {english: "explore", vietnamese: "khám phá"},
690
+ {english: "move", vietnamese: "di chuyển"},
691
+ {english: "shake", vietnamese: "lắc"},
692
+ {english: "nod", vietnamese: "gật đầu"},
693
+ {english: "wave", vietnamese: "vẫy tay"},
694
+ {english: "point", vietnamese: "chỉ"},
695
+ {english: "smile", vietnamese: "cười"},
696
+ {english: "laugh", vietnamese: "cười lớn"},
697
+ {english: "cry", vietnamese: "khóc"},
698
+ {english: "shout", vietnamese: "la hét"},
699
+ {english: "whisper", vietnamese: "thì thầm"},
700
+ {english: "scream", vietnamese: "hét lên"},
701
+ {english: "sing", vietnamese: "hát"},
702
+ {english: "hum", vietnamese: "ngâm nga"},
703
+ {english: "whistle", vietnamese: "huýt sáo"},
704
+ {english: "breathe", vietnamese: "thở"},
705
+ {english: "blow", vietnamese: "thổi"},
706
+ {english: "suck", vietnamese: "hút"},
707
+ {english: "chew", vietnamese: "nhai"},
708
+ {english: "bite", vietnamese: "cắn"},
709
+ {english: "lick", vietnamese: "liếm"},
710
+ {english: "swallow", vietnamese: "nuốt"},
711
+ {english: "spit", vietnamese: "nhổ"},
712
+ {english: "vomit", vietnamese: "nôn"},
713
+ {english: "cough", vietnamese: "ho"},
714
+ {english: "sneeze", vietnamese: "hắt hơi"},
715
+ {english: "yawn", vietnamese: "ngáp"},
716
+ {english: "sleep", vietnamese: "ngủ"},
717
+ {english: "dream", vietnamese: "mơ"},
718
+ {english: "wake", vietnamese: "thức dậy"},
719
+ {english: "snore", vietnamese: "ngáy"},
720
+ {english: "rest", vietnamese: "nghỉ ngơi"},
721
+ {english: "relax", vietnamese: "thư giãn"},
722
+ {english: "exercise", vietnamese: "tập thể dục"},
723
+ {english: "stretch", vietnamese: "kéo giãn"},
724
+ {english: "bend", vietnamese: "uốn cong"},
725
+ {english: "twist", vietnamese: "xoắn"},
726
+ {english: "turn", vietnamese: "quay"},
727
+ {english: "spin", vietnamese: "quay tròn"},
728
+ {english: "roll", vietnamese: "lăn"},
729
+ {english: "slide", vietnamese: "trượt"},
730
+ {english: "glide", vietnamese: "lướt"},
731
+ {english: "float", vietnamese: "nổi"},
732
+ {english: "sink", vietnamese: "chìm"},
733
+ {english: "swim", vietnamese: "bơi"},
734
+ {english: "dive", vietnamese: "lặn"},
735
+ {english: "jump", vietnamese: "nhảy"},
736
+ {english: "hop", vietnamese: "nhảy lò cò"},
737
+ {english: "skip", vietnamese: "nhảy dây"},
738
+ {english: "run", vietnamese: "chạy"},
739
+ {english: "jog", vietnamese: "chạy bộ"},
740
+ {english: "sprint", vietnamese: "chạy nước rút"},
741
+ {english: "race", vietnamese: "đua"},
742
+ {english: "hurry", vietnamese: "vội vàng"},
743
+ {english: "rush", vietnamese: "vội vã"},
744
+ {english: "wait", vietnamese: "chờ đợi"},
745
+ {english: "pause", vietnamese: "tạm dừng"},
746
+ {english: "stop", vietnamese: "dừng lại"},
747
+ {english: "hesitate", vietnamese: "do dự"},
748
+ {english: "delay", vietnamese: "trì hoãn"},
749
+ {english: "cancel", vietnamese: "hủy bỏ"},
750
+ {english: "postpone", vietnamese: "hoãn lại"},
751
+ {english: "continue", vietnamese: "tiếp tục"},
752
+ {english: "resume", vietnamese: "tiếp tục lại"},
753
+ {english: "repeat", vietnamese: "lặp lại"},
754
+ {english: "practice", vietnamese: "luyện tập"},
755
+ {english: "train", vietnamese: "huấn luyện"},
756
+ {english: "study", vietnamese: "học"},
757
+ {english: "learn", vietnamese: "học hỏi"},
758
+ {english: "teach", vietnamese: "dạy"},
759
+ {english: "instruct", vietnamese: "hướng dẫn"},
760
+ {english: "explain", vietnamese: "giải thích"},
761
+ {english: "demonstrate", vietnamese: "chứng minh"},
762
+ {english: "show", vietnamese: "cho thấy"},
763
+ {english: "prove", vietnamese: "chứng tỏ"},
764
+ {english: "convince", vietnamese: "thuyết phục"},
765
+ {english: "persuade", vietnamese: "thuyết phục"},
766
+ {english: "argue", vietnamese: "tranh luận"},
767
+ {english: "discuss", vietnamese: "thảo luận"},
768
+ {english: "debate", vietnamese: "tranh luận"},
769
+ {english: "agree", vietnamese: "đồng ý"},
770
+ {english: "disagree", vietnamese: "không đồng ý"},
771
+ {english: "accept", vietnamese: "chấp nhận"},
772
+ {english: "reject", vietnamese: "từ chối"},
773
+ {english: "approve", vietnamese: "chấp thuận"},
774
+ {english: "deny", vietnamese: "phủ nhận"},
775
+ {english: "confirm", vietnamese: "xác nhận"},
776
+ {english: "verify", vietnamese: "xác minh"},
777
+ {english: "check", vietnamese: "kiểm tra"},
778
+ {english: "test", vietnamese: "kiểm tra"},
779
+ {english: "examine", vietnamese: "kiểm tra"},
780
+ {english: "inspect", vietnamese: "thanh tra"},
781
+ {english: "investigate", vietnamese: "điều tra"},
782
+ {english: "research", vietnamese: "nghiên cứu"},
783
+ {english: "analyze", vietnamese: "phân tích"},
784
+ {english: "solve", vietnamese: "giải quyết"},
785
+ {english: "calculate", vietnamese: "tính toán"},
786
+ {english: "count", vietnamese: "đếm"},
787
+ {english: "measure", vietnamese: "đo lường"},
788
+ {english: "weigh", vietnamese: "cân"},
789
+ {english: "compare", vietnamese: "so sánh"},
790
+ {english: "contrast", vietnamese: "tương phản"},
791
+ {english: "evaluate", vietnamese: "đánh giá"},
792
+ {english: "judge", vietnamese: "phán xét"},
793
+ {english: "decide", vietnamese: "quyết định"},
794
+ {english: "choose", vietnamese: "lựa chọn"},
795
+ {english: "select", vietnamese: "chọn lựa"},
796
+ {english: "pick", vietnamese: "chọn"},
797
+ {english: "vote", vietnamese: "bỏ phiếu"},
798
+ {english: "elect", vietnamese: "bầu chọn"},
799
+ {english: "nominate", vietnamese: "đề cử"},
800
+ {english: "appoint", vietnamese: "bổ nhiệm"},
801
+ {english: "hire", vietnamese: "thuê"},
802
+ {english: "employ", vietnamese: "tuyển dụng"},
803
+ {english: "fire", vietnamese: "sa thải"},
804
+ {english: "dismiss", vietnamese: "bãi nhiệm"},
805
+ {english: "resign", vietnamese: "từ chức"},
806
+ {english: "quit", vietnamese: "bỏ"},
807
+ {english: "retire", vietnamese: "nghỉ hưu"},
808
+ {english: "promote", vietnamese: "thăng chức"},
809
+ {english: "demote", vietnamese: "giáng chức"},
810
+ {english: "transfer", vietnamese: "chuyển"},
811
+ {english: "assign", vietnamese: "phân công"},
812
+ {english: "delegate", vietnamese: "ủy quyền"},
813
+ {english: "organize", vietnamese: "tổ chức"},
814
+ {english: "arrange", vietnamese: "sắp xếp"},
815
+ {english: "plan", vietnamese: "kế hoạch"},
816
+ {english: "prepare", vietnamese: "chuẩn bị"},
817
+ {english: "provide", vietnamese: "cung cấp"},
818
+ {english: "supply", vietnamese: "cung cấp"},
819
+ {english: "give", vietnamese: "cho"},
820
+ {english: "offer", vietnamese: "đề nghị"},
821
+ {english: "present", vietnamese: "trình bày"},
822
+ {english: "donate", vietnamese: "quyên góp"},
823
+ {english: "contribute", vietnamese: "đóng góp"},
824
+ {english: "share", vietnamese: "chia sẻ"},
825
+ {english: "exchange", vietnamese: "trao đổi"},
826
+ {english: "trade", vietnamese: "buôn bán"},
827
+ {english: "sell", vietnamese: "bán"},
828
+ {english: "buy", vietnamese: "mua"},
829
+ {english: "purchase", vietnamese: "mua"},
830
+ {english: "order", vietnamese: "đặt hàng"},
831
+ {english: "book", vietnamese: "đặt trước"},
832
+ {english: "reserve", vietnamese: "đặt chỗ"},
833
+ {english: "rent", vietnamese: "thuê"},
834
+ {english: "lease", vietnamese: "cho thuê"},
835
+ {english: "borrow", vietnamese: "mượn"},
836
+ {english: "lend", vietnamese: "cho mượn"},
837
+ {english: "owe", vietnamese: "nợ"},
838
+ {english: "pay", vietnamese: "trả"},
839
+ {english: "charge", vietnamese: "tính phí"},
840
+ {english: "cost", vietnamese: "chi phí"},
841
+ {english: "spend", vietnamese: "tiêu"},
842
+ {english: "waste", vietnamese: "lãng phí"},
843
+ {english: "save", vietnamese: "tiết kiệm"},
844
+ {english: "invest", vietnamese: "đầu tư"},
845
+ {english: "earn", vietnamese: "kiếm được"},
846
+ {english: "win", vietnamese: "thắng"},
847
+ {english: "lose", vietnamese: "thua"},
848
+ {english: "gain", vietnamese: "đạt được"},
849
+ {english: "profit", vietnamese: "lợi nhuận"},
850
+ {english: "benefit", vietnamese: "hưởng lợi"},
851
+ {english: "succeed", vietnamese: "thành công"},
852
+ {english: "fail", vietnamese: "thất bại"},
853
+ {english: "achieve", vietnamese: "đạt được"},
854
+ {english: "accomplize", vietnamese: "hoàn thành"},
855
+ {english: "complete", vietnamese: "hoàn thành"},
856
+ {english: "finish", vietnamese: "kết thúc"},
857
+ {english: "end", vietnamese: "kết thúc"},
858
+ {english: "stop", vietnamese: "dừng lại"},
859
+ {english: "quit", vietnamese: "bỏ"},
860
+ {english: "abandon", vietnamese: "từ bỏ"},
861
+ {english: "cancel", vietnamese: "hủy bỏ"},
862
+ {english: "postpone", vietnamese: "hoãn lại"},
863
+ {english: "delay", vietnamese: "trì hoãn"},
864
+ {english: "wait", vietnamese: "chờ đợi"},
865
+ {english: "pause", vietnamese: "tạm dừng"},
866
+ {english: "hesitate", vietnamese: "do dự"},
867
+ {english: "continue", vietnamese: "tiếp tục"},
868
+ {english: "resume", vietnamese: "tiếp tục lại"},
869
+ {english: "repeat", vietnamese: "lặp lại"},
870
+ {english: "renew", vietnamese: "làm mới"},
871
+ {english: "restore", vietnamese: "khôi phục"},
872
+ {english: "repair", vietnamese: "sửa chữa"},
873
+ {english: "fix", vietnamese: "sửa"},
874
+ {english: "mend", vietnamese: "vá"},
875
+ {english: "improve", vietnamese: "cải thiện"},
876
+ {english: "enhance", vietnamese: "nâng cao"},
877
+ {english: "develop", vietnamese: "phát triển"},
878
+ {english: "grow", vietnamese: "phát triển"},
879
+ {english: "expand", vietnamese: "mở rộng"},
880
+ {english: "increase", vietnamese: "tăng lên"},
881
+ {english: "decrease", vietnamese: "giảm"},
882
+ {english: "reduce", vietnamese: "giảm"},
883
+ {english: "lower", vietnamese: "hạ thấp"},
884
+ {english: "raise", vietnamese: "nâng lên"},
885
+ {english: "lift", vietnamese: "nâng"},
886
+ {english: "drop", vietnamese: "thả"},
887
+ {english: "fall", vietnamese: "rơi"},
888
+ {english: "rise", vietnamese: "tăng lên"},
889
+ {english: "soar", vietnamese: "tăng vọt"},
890
+ {english: "plunge", vietnamese: "lao xuống"},
891
+ {english: "crash", vietnamese: "đâm"},
892
+ {english: "hit", vietnamese: "đánh"},
893
+ {english: "strike", vietnamese: "đánh"},
894
+ {english: "beat", vietnamese: "đánh"},
895
+ {english: "knock", vietnamese: "gõ"},
896
+ {english: "punch", vietnamese: "đấm"},
897
+ {english: "kick", vietnamese: "đá"},
898
+ {english: "slap", vietnamese: "tát"},
899
+ {english: "scratch", vietnamese: "cào"},
900
+ {english: "bite", vietnamese: "cắn"},
901
+ {english: "sting", vietnamese: "chích"},
902
+ {english: "burn", vietnamese: "đốt"},
903
+ {english: "freeze", vietnamese: "đóng băng"},
904
+ {english: "melt", vietnamese: "tan chảy"},
905
+ {english: "boil", vietnamese: "đun sôi"},
906
+ {english: "steam", vietnamese: "hấp"},
907
+ {english: "fry", vietnamese: "chiên"},
908
+ {english: "bake", vietnamese: "nướng"},
909
+ {english: "grill", vietnamese: "nướng"},
910
+ {english: "roast", vietnamese: "quay"},
911
+ {english: "toast", vietnamese: "nướng"},
912
+ {english: "cook", vietnamese: "nấu"},
913
+ {english: "prepare", vietnamese: "chuẩn bị"},
914
+ {english: "mix", vietnamese: "trộn"},
915
+ {english: "stir", vietnamese: "khuấy"},
916
+ {english: "blend", vietnamese: "pha trộn"},
917
+ {english: "pour", vietnamese: "rót"},
918
+ {english: "spill", vietnamese: "đổ"},
919
+ {english: "sprinkle", vietnamese: "rắc"},
920
+ {english: "spread", vietnamese: "phết"},
921
+ {english: "cut", vietnamese: "cắt"},
922
+ {english: "chop", vietnamese: "chặt"},
923
+ {english: "slice", vietnamese: "thái"},
924
+ {english: "dice", vietnamese: "thái hạt lựu"},
925
+ {english: "peel", vietnamese: "gọt vỏ"},
926
+ {english: "grate", vietnamese: "nạo"},
927
+ {english: "crush", vietnamese: "nghiền"},
928
+ {english: "grind", vietnamese: "xay"},
929
+ {english: "press", vietnamese: "ấn"},
930
+ {english: "squeeze", vietnamese: "bóp"},
931
+ {english: "knead", vietnamese: "nhào"},
932
+ {english: "fold", vietnamese: "gấp"},
933
+ {english: "roll", vietnamese: "cuộn"},
934
+ {english: "wrap", vietnamese: "gói"},
935
+ {english: "unwrap", vietnamese: "mở gói"},
936
+ {english: "open", vietnamese: "mở"},
937
+ {english: "close", vietnamese: "đóng"},
938
+ {english: "lock", vietnamese: "khóa"},
939
+ {english: "unlock", vietnamese: "mở khóa"},
940
+ {english: "turn", vietnamese: "xoay"},
941
+ {english: "twist", vietnamese: "vặn"},
942
+ {english: "rotate", vietnamese: "quay"},
943
+ {english: "spin", vietnamese: "quay tròn"},
944
+ {english: "swing", vietnamese: "đu đưa"},
945
+ {english: "rock", vietnamese: "đung đưa"},
946
+ {english: "shake", vietnamese: "lắc"},
947
+ {english: "vibrate", vietnamese: "rung"},
948
+ {english: "bounce", vietnamese: "nảy"},
949
+ {english: "jump", vietnamese: "nhảy"},
950
+ {english: "hop", vietnamese: "nhảy lò cò"},
951
+ {english: "skip", vietnamese: "nhảy dây"},
952
+ {english: "leap", vietnamese: "nhảy vọt"},
953
+ {english: "dive", vietnamese: "lặn"},
954
+ {english: "swim", vietnamese: "bơi"},
955
+ {english: "float", vietnamese: "nổi"},
956
+ {english: "sink", vietnamese: "chìm"},
957
+ {english: "row", vietnamese: "chèo thuyền"},
958
+ {english: "paddle", vietnamese: "chèo"},
959
+ {english: "sail", vietnamese: "đi thuyền"},
960
+ {english: "fly", vietnamese: "bay"},
961
+ {english: "glide", vietnamese: "lướt"},
962
+ {english: "soar", vietnamese: "lượn"},
963
+ {english: "hover", vietnamese: "lơ lửng"},
964
+ {english: "land", vietnamese: "hạ cánh"},
965
+ {english: "take off", vietnamese: "cất cánh"},
966
+ {english: "drive", vietnamese: "lái xe"},
967
+ {english: "ride", vietnamese: "cưỡi"},
968
+ {english: "steer", vietnamese: "lái"},
969
+ {english: "park", vietnamese: "đỗ xe"},
970
+ {english: "brake", vietnamese: "phanh"},
971
+ {english: "accelerate", vietnamese: "tăng tốc"},
972
+ {english: "reverse", vietnamese: "lùi"},
973
+ {english: "crash", vietnamese: "đâm"},
974
+ {english: "collide", vietnamese: "va chạm"},
975
+ {english: "hit", vietnamese: "đụng"},
976
+ {english: "bump", vietnamese: "va"},
977
+ {english: "scrape", vietnamese: "cào"},
978
+ {english: "scratch", vietnamese: "xước"},
979
+ {english: "dent", vietnamese: "lõm"},
980
+ {english: "break", vietnamese: "vỡ"},
981
+ {english: "crack", vietnamese: "nứt"},
982
+ {english: "shatter", vietnamese: "vỡ tan"},
983
+ {english: "smash", vietnamese: "đập vỡ"},
984
+ {english: "explode", vietnamese: "nổ"},
985
+ {english: "burst", vietnamese: "vỡ tung"},
986
+ {english: "burn", vietnamese: "cháy"},
987
+ {english: "ignite", vietnamese: "bắt lửa"},
988
+ {english: "extinguish", vietnamese: "dập tắt"},
989
+ {english: "put out", vietnamese: "dập tắt"},
990
+ {english: "light", vietnamese: "thắp sáng"},
991
+ {english: "shine", vietnamese: "chiếu sáng"},
992
+ {english: "glow", vietnamese: "phát sáng"},
993
+ {english: "flash", vietnamese: "lóe sáng"},
994
+ {english: "sparkle", vietnamese: "lấp lánh"},
995
+ {english: "twinkle", vietnamese: "lấp lánh"},
996
+ {english: "flicker", vietnamese: "chập chờn"},
997
+ {english: "blink", vietnamese: "nhấp nháy"},
998
+ {english: "wink", vietnamese: "nháy mắt"},
999
+ {english: "stare", vietnamese: "nhìn chằm chằm"},
1000
+ {english: "glare", vietnamese: "nhìn trừng trừng"},
1001
+ {english: "peer", vietnamese: "nhìn kỹ"},
1002
+ {english: "peek", vietnamese: "liếc nhìn"},
1003
+ {english: "glance", vietnamese: "liếc"},
1004
+ {english: "gaze", vietnamese: "nhìn chăm chú"},
1005
+ {english: "watch", vietnamese: "xem"},
1006
+ {english: "look", vietnamese: "nhìn"},
1007
+ {english: "see", vietnamese: "thấy"},
1008
+ {english: "spot", vietnamese: "phát hiện"},
1009
+ {english: "notice", vietnamese: "để ý"},
1010
+ {english: "observe", vietnamese: "quan sát"},
1011
+ {english: "witness", vietnamese: "chứng kiến"},
1012
+ {english: "view", vietnamese: "xem"},
1013
+ {english: "scan", vietnamese: "quét"},
1014
+ {english: "inspect", vietnamese: "kiểm tra"},
1015
+ {english: "examine", vietnamese: "kiểm tra"},
1016
+ {english: "study", vietnamese: "nghiên cứu"},
1017
+ {english: "research", vietnamese: "nghiên cứu"},
1018
+ {english: "analyze", vietnamese: "phân tích"},
1019
+ {english: "investigate", vietnamese: "điều tra"},
1020
+ {english: "explore", vietnamese: "khám phá"},
1021
+ {english: "discover", vietnamese: "khám phá"},
1022
+ {english: "find", vietnamese: "tìm thấy"},
1023
+ {english: "locate", vietnamese: "xác định vị trí"},
1024
+ {english: "detect", vietnamese: "phát hiện"},
1025
+ {english: "identify", vietnamese: "nhận dạng"},
1026
+ {english: "recognize", vietnamese: "nhận ra"},
1027
+ {english: "distinguish", vietnamese: "phân biệt"},
1028
+ {english: "differentiate", vietnamese: "phân biệt"},
1029
+ {english: "compare", vietnamese: "so sánh"},
1030
+ {english: "contrast", vietnamese: "tương phản"},
1031
+ {english: "match", vietnamese: "phù hợp"},
1032
+ {english: "pair", vietnamese: "ghép đôi"},
1033
+ {english: "connect", vietnamese: "kết nối"},
1034
+ {english: "join", vietnamese: "thêm vào"},
1035
+ {english: "link", vietnamese: "liên kết"},
1036
+ {english: "attach", vietnamese: "đính kèm"},
1037
+ {english: "fasten", vietnamese: "buộc chặt"},
1038
+ {english: "secure", vietnamese: "cố định"},
1039
+ {english: "tie", vietnamese: "buộc"},
1040
+ {english: "knot", vietnamese: "thắt nút"},
1041
+ {english: "bind", vietnamese: "ràng buộc"},
1042
+ {english: "wrap", vietnamese: "gói"},
1043
+ {english: "cover", vietnamese: "bao phủ"},
1044
+ {english: "uncover", vietnamese: "bóc"},
1045
+ {english: "reveal", vietnamese: "tiết lộ"},
1046
+ {english: "expose", vietnamese: "phơi bày"},
1047
+ {english: "hide", vietnamese: "giấu"},
1048
+ {english: "conceal", vietnamese: "che giấu"},
1049
+ {english: "bury", vietnamese: "chôn"},
1050
+ {english: "dig", vietnamese: "đào"},
1051
+ {english: "excavate", vietnamese: "khai quật"},
1052
+ {english: "plant", vietnamese: "trồng"},
1053
+ {english: "sow", vietnamese: "gieo"},
1054
+ {english: "grow", vietnamese: "trồng"},
1055
+ {english: "cultivate", vietnamese: "canh tác"},
1056
+ {english: "harvest", vietnamese: "thua hoạch"},
1057
+ {english: "pick", vietnamese: "hái"},
1058
+ {english: "pluck", vietnamese: "hái"},
1059
+ {english: "gather", vietnamese: "thu thập"},
1060
+ {english: "collect", vietnamese: "sưu tập"},
1061
+ {english: "accumulate", vietnamese: "tích lũy"},
1062
+ {english: "amass", vietnamese: "tích trữ"},
1063
+ {english: "save", vietnamese: "tiết kiệm"},
1064
+ {english: "store", vietnamese: "lưu trữ"},
1065
+ {english: "keep", vietnamese: "giữ"},
1066
+ {english: "hold", vietnamese: "cầm"},
1067
+ {english: "retain", vietnamese: "giữ lại"},
1068
+ {english: "preserve", vietnamese: "bảo quản"},
1069
+ {english: "maintain", vietnamese: "duy trì"},
1070
+ {english: "sustain", vietnamese: "duy trì"},
1071
+ {english: "support", vietnamese: "hỗ trợ"},
1072
+ {english: "uphold", vietnamese: "ủng hộ"},
1073
+ {english: "defend", vietnamese: "bảo vệ"},
1074
+ {english: "protect", vietnamese: "bảo vệ"},
1075
+ {english: "guard", vietnamese: "canh gác"},
1076
+ {english: "shield", vietnamese: "che chở"},
1077
+ {english: "shelter", vietnamese: "che chở"},
1078
+ {english: "rescue", vietnamese: "giải cứu"},
1079
+ {english: "save", vietnamese: "cứu"},
1080
+ {english: "help", vietnamese: "giúp đỡ"},
1081
+ {english: "assist", vietnamese: "hỗ trợ"},
1082
+ {english: "aid", vietnamese: "viện trợ"},
1083
+ {english: "serve", vietnamese: "phục vụ"},
1084
+ {english: "attend", vietnamese: "tham dự"},
1085
+ {english: "wait", vietnamese: "chờ đợi"},
1086
+ {english: "expect", vietnamese: "mong đợi"},
1087
+ {english: "anticipate", vietnamese: "dự đoán"},
1088
+ {english: "hope", vietnamese: "hy vọng"},
1089
+ {english: "wish", vietnamese: "ước"},
1090
+ {english: "desire", vietnamese: "mong muốn"},
1091
+ {english: "want", vietnamese: "muốn"},
1092
+ {english: "need", vietnamese: "cần"},
1093
+ {english: "require", vietnamese: "yêu cầu"},
1094
+ {english: "demand", vietnamese: "đòi hỏi"},
1095
+ {english: "request", vietnamese: "y
1096
+ </html>
prompts.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ cập nhật thêm 1000 từ tiếng anh cơ bản và nghĩa tiếng Việt
2
+ chuyển giao diện trò chơi sang tiếng Việt