@syllst/th 0.2.3 → 0.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/LICENSE +21 -0
  2. package/dist/index.d.ts +10 -15
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +65 -62
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.umd.cjs +71 -0
  7. package/dist/index.umd.cjs.map +1 -0
  8. package/dist/syllabi/alphabet/index.d.ts +2 -5
  9. package/dist/syllabi/alphabet/index.d.ts.map +1 -0
  10. package/dist/syllabi/dialogue/index.d.ts +2 -5
  11. package/dist/syllabi/dialogue/index.d.ts.map +1 -0
  12. package/dist/syllabi/essentials/index.d.ts +2 -5
  13. package/dist/syllabi/essentials/index.d.ts.map +1 -0
  14. package/dist/syllabi/food/index.d.ts +2 -5
  15. package/dist/syllabi/food/index.d.ts.map +1 -0
  16. package/dist/syllabi/grammar/index.d.ts +2 -5
  17. package/dist/syllabi/grammar/index.d.ts.map +1 -0
  18. package/dist/syllabi/numbers/index.d.ts +2 -5
  19. package/dist/syllabi/numbers/index.d.ts.map +1 -0
  20. package/dist/syllabi/reading/index.d.ts +2 -5
  21. package/dist/syllabi/reading/index.d.ts.map +1 -0
  22. package/dist/syllabi/travel/index.d.ts +2 -5
  23. package/dist/syllabi/travel/index.d.ts.map +1 -0
  24. package/dist/syllabi/vowels-tones/index.d.ts +2 -5
  25. package/dist/syllabi/vowels-tones/index.d.ts.map +1 -0
  26. package/package.json +7 -5
  27. package/dist/index-BM-LWlCm.js +0 -52
  28. package/dist/index-BM-LWlCm.js.map +0 -1
  29. package/dist/index-Bjym0crS.js +0 -48
  30. package/dist/index-Bjym0crS.js.map +0 -1
  31. package/dist/index-BuKXw7-Z.js +0 -46
  32. package/dist/index-BuKXw7-Z.js.map +0 -1
  33. package/dist/index-ByS0o5dz.js +0 -52
  34. package/dist/index-ByS0o5dz.js.map +0 -1
  35. package/dist/index-C9VnG7dT.js +0 -52
  36. package/dist/index-C9VnG7dT.js.map +0 -1
  37. package/dist/index-CPQkjFjV.js +0 -50
  38. package/dist/index-CPQkjFjV.js.map +0 -1
  39. package/dist/index-CkHd3Fal.js +0 -56
  40. package/dist/index-CkHd3Fal.js.map +0 -1
  41. package/dist/index-DBkPBXe2.js +0 -52
  42. package/dist/index-DBkPBXe2.js.map +0 -1
  43. package/dist/index-DdRhLqkM.js +0 -82
  44. package/dist/index-DdRhLqkM.js.map +0 -1
  45. package/dist/lesson-01-B0wtSaSl.js +0 -118
  46. package/dist/lesson-01-B0wtSaSl.js.map +0 -1
  47. package/dist/lesson-01-C9vbUlA4.js +0 -138
  48. package/dist/lesson-01-C9vbUlA4.js.map +0 -1
  49. package/dist/lesson-01-CPmBFTe0.js +0 -132
  50. package/dist/lesson-01-CPmBFTe0.js.map +0 -1
  51. package/dist/lesson-01-Cc4Ws8eR.js +0 -158
  52. package/dist/lesson-01-Cc4Ws8eR.js.map +0 -1
  53. package/dist/lesson-01-Cm5k-m-9.js +0 -136
  54. package/dist/lesson-01-Cm5k-m-9.js.map +0 -1
  55. package/dist/lesson-01-DELblCNj.js +0 -97
  56. package/dist/lesson-01-DELblCNj.js.map +0 -1
  57. package/dist/lesson-01-Djl_72e7.js +0 -153
  58. package/dist/lesson-01-Djl_72e7.js.map +0 -1
  59. package/dist/lesson-01-LEHTeGQQ.js +0 -155
  60. package/dist/lesson-01-LEHTeGQQ.js.map +0 -1
  61. package/dist/lesson-01-ih_-OO_O.js +0 -111
  62. package/dist/lesson-01-ih_-OO_O.js.map +0 -1
  63. package/dist/lesson-02-B2aZrKUQ.js +0 -120
  64. package/dist/lesson-02-B2aZrKUQ.js.map +0 -1
  65. package/dist/lesson-02-BI1Vnwiz.js +0 -169
  66. package/dist/lesson-02-BI1Vnwiz.js.map +0 -1
  67. package/dist/lesson-02-BXbwEMaL.js +0 -180
  68. package/dist/lesson-02-BXbwEMaL.js.map +0 -1
  69. package/dist/lesson-02-CbJJ5Amt.js +0 -201
  70. package/dist/lesson-02-CbJJ5Amt.js.map +0 -1
  71. package/dist/lesson-02-DGrALAgG.js +0 -203
  72. package/dist/lesson-02-DGrALAgG.js.map +0 -1
  73. package/dist/lesson-02-DcMDDBDL.js +0 -116
  74. package/dist/lesson-02-DcMDDBDL.js.map +0 -1
  75. package/dist/lesson-02-Dk59HZWp.js +0 -222
  76. package/dist/lesson-02-Dk59HZWp.js.map +0 -1
  77. package/dist/lesson-02-L8oNhBej.js +0 -145
  78. package/dist/lesson-02-L8oNhBej.js.map +0 -1
  79. package/dist/lesson-02-VDOme3ES.js +0 -204
  80. package/dist/lesson-02-VDOme3ES.js.map +0 -1
  81. package/dist/lesson-03-9WioSe19.js +0 -196
  82. package/dist/lesson-03-9WioSe19.js.map +0 -1
  83. package/dist/lesson-03-BZutWzMD.js +0 -124
  84. package/dist/lesson-03-BZutWzMD.js.map +0 -1
  85. package/dist/lesson-03-Bj5hWZ9t.js +0 -152
  86. package/dist/lesson-03-Bj5hWZ9t.js.map +0 -1
  87. package/dist/lesson-03-CSIF5xRS.js +0 -181
  88. package/dist/lesson-03-CSIF5xRS.js.map +0 -1
  89. package/dist/lesson-03-CSKig363.js +0 -225
  90. package/dist/lesson-03-CSKig363.js.map +0 -1
  91. package/dist/lesson-03-DPJOG2M_.js +0 -138
  92. package/dist/lesson-03-DPJOG2M_.js.map +0 -1
  93. package/dist/lesson-03-DkjCuJ26.js +0 -237
  94. package/dist/lesson-03-DkjCuJ26.js.map +0 -1
  95. package/dist/lesson-03-DucbRMOQ.js +0 -171
  96. package/dist/lesson-03-DucbRMOQ.js.map +0 -1
  97. package/dist/lesson-03-MIne1PbH.js +0 -185
  98. package/dist/lesson-03-MIne1PbH.js.map +0 -1
  99. package/dist/lesson-04-0Pj_x1DU.js +0 -233
  100. package/dist/lesson-04-0Pj_x1DU.js.map +0 -1
  101. package/dist/lesson-04-B9h0p9kE.js +0 -190
  102. package/dist/lesson-04-B9h0p9kE.js.map +0 -1
  103. package/dist/lesson-04-BLuPI1-X.js +0 -216
  104. package/dist/lesson-04-BLuPI1-X.js.map +0 -1
  105. package/dist/lesson-04-CmDvofL4.js +0 -230
  106. package/dist/lesson-04-CmDvofL4.js.map +0 -1
  107. package/dist/lesson-04-DGKHK4LW.js +0 -178
  108. package/dist/lesson-04-DGKHK4LW.js.map +0 -1
  109. package/dist/lesson-04-DUcHZzsk.js +0 -218
  110. package/dist/lesson-04-DUcHZzsk.js.map +0 -1
  111. package/dist/lesson-04-DnVIXXk-.js +0 -141
  112. package/dist/lesson-04-DnVIXXk-.js.map +0 -1
  113. package/dist/lesson-04-FZnIE7tu.js +0 -187
  114. package/dist/lesson-04-FZnIE7tu.js.map +0 -1
  115. package/dist/lesson-04-ToX3nRz1.js +0 -172
  116. package/dist/lesson-04-ToX3nRz1.js.map +0 -1
  117. package/dist/lesson-05-2aTCGXMh.js +0 -181
  118. package/dist/lesson-05-2aTCGXMh.js.map +0 -1
  119. package/dist/lesson-05-BvitRdE8.js +0 -206
  120. package/dist/lesson-05-BvitRdE8.js.map +0 -1
  121. package/dist/lesson-05-CgXGkcjS.js +0 -143
  122. package/dist/lesson-05-CgXGkcjS.js.map +0 -1
  123. package/dist/lesson-05-ClfrUrvX.js +0 -244
  124. package/dist/lesson-05-ClfrUrvX.js.map +0 -1
  125. package/dist/lesson-05-D2zf9n7k.js +0 -201
  126. package/dist/lesson-05-D2zf9n7k.js.map +0 -1
  127. package/dist/lesson-05-DWquBfdl.js +0 -220
  128. package/dist/lesson-05-DWquBfdl.js.map +0 -1
  129. package/dist/lesson-05-DpIkwhJ8.js +0 -244
  130. package/dist/lesson-05-DpIkwhJ8.js.map +0 -1
  131. package/dist/lesson-05-UYz39ORV.js +0 -189
  132. package/dist/lesson-05-UYz39ORV.js.map +0 -1
  133. package/dist/lesson-05-t6XuANiZ.js +0 -180
  134. package/dist/lesson-05-t6XuANiZ.js.map +0 -1
  135. package/dist/lesson-06-B2y08mKv.js +0 -238
  136. package/dist/lesson-06-B2y08mKv.js.map +0 -1
  137. package/dist/lesson-06-CHqaVQix.js +0 -202
  138. package/dist/lesson-06-CHqaVQix.js.map +0 -1
  139. package/dist/lesson-06-CaCZBX1V.js +0 -273
  140. package/dist/lesson-06-CaCZBX1V.js.map +0 -1
  141. package/dist/lesson-06-ClplsJBT.js +0 -204
  142. package/dist/lesson-06-ClplsJBT.js.map +0 -1
  143. package/dist/lesson-06-CzGnNKo5.js +0 -141
  144. package/dist/lesson-06-CzGnNKo5.js.map +0 -1
  145. package/dist/lesson-06-Dg_bQLNC.js +0 -172
  146. package/dist/lesson-06-Dg_bQLNC.js.map +0 -1
  147. package/dist/lesson-06-OWFMgO0a.js +0 -231
  148. package/dist/lesson-06-OWFMgO0a.js.map +0 -1
  149. package/dist/lesson-06-Q2aRAzws.js +0 -190
  150. package/dist/lesson-06-Q2aRAzws.js.map +0 -1
  151. package/dist/lesson-07-BLDUA_Ff.js +0 -194
  152. package/dist/lesson-07-BLDUA_Ff.js.map +0 -1
  153. package/dist/lesson-07-BpyF1Ssq.js +0 -236
  154. package/dist/lesson-07-BpyF1Ssq.js.map +0 -1
  155. package/dist/lesson-07-C4GrfDTW.js +0 -234
  156. package/dist/lesson-07-C4GrfDTW.js.map +0 -1
  157. package/dist/lesson-07-CVCUt1Jn.js +0 -206
  158. package/dist/lesson-07-CVCUt1Jn.js.map +0 -1
  159. package/dist/lesson-07-DQFXCZsZ.js +0 -197
  160. package/dist/lesson-07-DQFXCZsZ.js.map +0 -1
  161. package/dist/lesson-07-Dcry2Yjo.js +0 -248
  162. package/dist/lesson-07-Dcry2Yjo.js.map +0 -1
  163. package/dist/lesson-07-JS_cqdNr.js +0 -142
  164. package/dist/lesson-07-JS_cqdNr.js.map +0 -1
  165. package/dist/lesson-08-18gscaS0.js +0 -227
  166. package/dist/lesson-08-18gscaS0.js.map +0 -1
  167. package/dist/lesson-08-2kBUq_B2.js +0 -220
  168. package/dist/lesson-08-2kBUq_B2.js.map +0 -1
  169. package/dist/lesson-08-BP5lpiGe.js +0 -287
  170. package/dist/lesson-08-BP5lpiGe.js.map +0 -1
  171. package/dist/lesson-08-BXm9GgdN.js +0 -146
  172. package/dist/lesson-08-BXm9GgdN.js.map +0 -1
  173. package/dist/lesson-08-Bru0PdEK.js +0 -277
  174. package/dist/lesson-08-Bru0PdEK.js.map +0 -1
  175. package/dist/lesson-08-Dd-8cbGW.js +0 -205
  176. package/dist/lesson-08-Dd-8cbGW.js.map +0 -1
  177. package/dist/lesson-09-B1qWE3Yl.js +0 -221
  178. package/dist/lesson-09-B1qWE3Yl.js.map +0 -1
  179. package/dist/lesson-09-B5Vb70xj.js +0 -143
  180. package/dist/lesson-09-B5Vb70xj.js.map +0 -1
  181. package/dist/lesson-10-00qNLc7A.js +0 -233
  182. package/dist/lesson-10-00qNLc7A.js.map +0 -1
  183. package/dist/lesson-10-Dw-Jtm3D.js +0 -156
  184. package/dist/lesson-10-Dw-Jtm3D.js.map +0 -1
  185. package/dist/lesson-11-BM3R_S7I.js +0 -260
  186. package/dist/lesson-11-BM3R_S7I.js.map +0 -1
  187. package/dist/lesson-12-D1Wx7CyK.js +0 -277
  188. package/dist/lesson-12-D1Wx7CyK.js.map +0 -1
  189. package/dist/skills-hcn-pGD0.js +0 -244
  190. package/dist/skills-hcn-pGD0.js.map +0 -1
  191. package/dist/syllabi/alphabet/index.js +0 -9
  192. package/dist/syllabi/alphabet/index.js.map +0 -1
  193. package/dist/syllabi/dialogue/index.js +0 -10
  194. package/dist/syllabi/dialogue/index.js.map +0 -1
  195. package/dist/syllabi/essentials/index.js +0 -10
  196. package/dist/syllabi/essentials/index.js.map +0 -1
  197. package/dist/syllabi/food/index.js +0 -10
  198. package/dist/syllabi/food/index.js.map +0 -1
  199. package/dist/syllabi/grammar/index.js +0 -10
  200. package/dist/syllabi/grammar/index.js.map +0 -1
  201. package/dist/syllabi/numbers/index.js +0 -10
  202. package/dist/syllabi/numbers/index.js.map +0 -1
  203. package/dist/syllabi/reading/index.js +0 -10
  204. package/dist/syllabi/reading/index.js.map +0 -1
  205. package/dist/syllabi/travel/index.js +0 -10
  206. package/dist/syllabi/travel/index.js.map +0 -1
  207. package/dist/syllabi/vowels-tones/index.js +0 -10
  208. package/dist/syllabi/vowels-tones/index.js.map +0 -1
@@ -1,222 +0,0 @@
1
- const n = `---
2
- type: lesson
3
- id: thai-food-lesson-02
4
- title: "บทที่ 2 — รสชาติ"
5
- description: "Tastes & Flavors: Spicy, sweet, sour, salty, and bitter"
6
- order: 2
7
- parentId: thai-food
8
- difficulty: beginner
9
- cefrLevel: A2
10
- categories:
11
- - food
12
- - flavors
13
- - adjectives
14
- metadata:
15
- estimatedTime: 30
16
- prerequisites:
17
- - thai-food-lesson-01
18
- learningObjectives:
19
- - id: obj-describe-five-tastes
20
- description: "Describe the five Thai tastes"
21
- skill: word-recognition
22
- - id: obj-adjust-spice-levels
23
- description: "Adjust spice levels"
24
- skill: word-production
25
- - id: obj-express-food-preferences
26
- description: "Express food preferences"
27
- skill: pattern-application
28
- - id: obj-understand-flavor-descriptions
29
- description: "Understand flavor descriptions on menus"
30
- skill: reading-comprehension
31
- ---
32
-
33
- # บทที่ 2 (Lesson 2) — Tastes & Flavors
34
-
35
- ## Introduction
36
-
37
- Thai cuisine is famous for balancing multiple flavors in a single dish. Understanding taste vocabulary lets you describe what you want, ask for adjustments, and appreciate the complexity of Thai cooking.
38
-
39
- ## The Five Fundamental Tastes
40
-
41
- :::vocabulary-set{id="thai-tastes" title="The Five Tastes"}
42
-
43
- ::vocab-item{id="phet" word="เผ็ด" pronunciation="phèt" meaning="spicy"}
44
-
45
- ::vocab-item{id="waan" word="หวาน" pronunciation="wǎan" meaning="sweet"}
46
-
47
- ::vocab-item{id="priao" word="เปรี้ยว" pronunciation="prîao" meaning="sour"}
48
-
49
- ::vocab-item{id="khem" word="เค็ม" pronunciation="khem" meaning="salty"}
50
-
51
- ::vocab-item{id="khom" word="ขม" pronunciation="khǒm" meaning="bitter"}
52
-
53
- :::
54
-
55
- ### Taste Balance
56
-
57
- Great Thai dishes balance these tastes. For example:
58
- - **ต้มยำ** (tom yam): sour + spicy + salty
59
- - **ผัดไทย** (pad thai): sweet + sour + salty
60
- - **ส้มตำ** (som tam): sour + spicy + sweet + salty
61
-
62
- ## Spice Levels — The Most Important Skill
63
-
64
- :::vocabulary-set{id="thai-spice" title="Spice Vocabulary"}
65
-
66
- ::vocab-item{id="mai-phet" word="ไม่เผ็ด" pronunciation="mâi phèt" meaning="not spicy"}
67
-
68
- ::vocab-item{id="phet-nit-noi" word="เผ็ดนิดหน่อย" pronunciation="phèt nít nòi" meaning="a little spicy"}
69
-
70
- ::vocab-item{id="phet-klang" word="เผ็ดกลาง" pronunciation="phèt glaang" meaning="medium spicy"}
71
-
72
- ::vocab-item{id="phet-maak" word="เผ็ดมาก" pronunciation="phèt mâak" meaning="very spicy"}
73
-
74
- ::vocab-item{id="phet-thai" word="เผ็ดแบบคนไทย" pronunciation="phèt bàep khon thai" meaning="Thai-style spicy"}
75
-
76
- :::
77
-
78
- ### Ordering with Spice Preference
79
-
80
- | Request | Meaning |
81
- |---------|---------|
82
- | ขอไม่เผ็ด | Not spicy, please |
83
- | เผ็ดนิดหน่อยได้ไหม | Can it be a little spicy? |
84
- | เผ็ดปกติ | Normal spice level |
85
- | ใส่พริกเพิ่ม | Add more chili |
86
- | ไม่ใส่พริก | No chili |
87
-
88
- **Warning**: "เผ็ดแบบคนไทย" means VERY spicy. Thai people often underestimate spice for foreigners, so this signals you can handle real heat.
89
-
90
- ## Other Flavor Adjustments
91
-
92
- :::vocabulary-set{id="thai-flavor-adjust" title="Flavor Adjustments"}
93
-
94
- ::vocab-item{id="mai-waan" word="ไม่หวาน" pronunciation="mâi wǎan" meaning="not sweet"}
95
-
96
- ::vocab-item{id="mai-khem" word="ไม่เค็ม" pronunciation="mâi khem" meaning="not salty"}
97
-
98
- ::vocab-item{id="waan-noi" word="หวานน้อย" pronunciation="wǎan nói" meaning="less sweet"}
99
-
100
- ::vocab-item{id="khem-noi" word="เค็มน้อย" pronunciation="khem nói" meaning="less salty"}
101
-
102
- :::
103
-
104
- ## Describing Food
105
-
106
- | Thai | Meaning | Example |
107
- |------|---------|---------|
108
- | อร่อย | delicious | อร่อยมาก! (Very delicious!) |
109
- | เผ็ดไป | too spicy | เผ็ดไปหน่อย (a bit too spicy) |
110
- | หวานไป | too sweet | หวานไปนิดหน่อย |
111
- | กำลังดี | just right | รสชาติกำลังดี |
112
- | จืด | bland | จืดไปหน่อย (a bit bland) |
113
-
114
- ## Flavor Sources
115
-
116
- | Ingredient | Provides |
117
- |------------|----------|
118
- | พริก (chili) | เผ็ด (spicy) |
119
- | น้ำตาล (sugar) | หวาน (sweet) |
120
- | มะนาว (lime) | เปรี้ยว (sour) |
121
- | น้ำปลา (fish sauce) | เค็ม (salty) |
122
- | มะระ (bitter melon) | ขม (bitter) |
123
-
124
- ## Common Taste Combinations
125
-
126
- | Dish | Dominant Tastes |
127
- |------|-----------------|
128
- | ต้มยำกุ้ง | เปรี้ยว + เผ็ด |
129
- | แกงเขียวหวาน | เผ็ด + หวาน (slightly) |
130
- | ส้มตำ | เปรี้ยว + เผ็ด + หวาน |
131
- | มัสมั่น | หวาน + เค็ม |
132
- | ลาบ | เปรี้ยว + เผ็ด + เค็ม |
133
-
134
- ## Practice Conversations
135
-
136
- **Ordering with spice preference:**
137
- - พนักงาน: เผ็ดได้ไหมคะ (Can you eat spicy?)
138
- - คุณ: ได้ครับ แต่เผ็ดนิดหน่อยนะครับ (Yes, but just a little spicy)
139
-
140
- **Giving feedback:**
141
- - พนักงาน: อร่อยไหมคะ (Is it delicious?)
142
- - คุณ: อร่อยมากครับ แต่เผ็ดไปนิดหน่อย (Very delicious, but a bit too spicy)
143
-
144
- **Asking about a dish:**
145
- - คุณ: อันนี้เผ็ดไหมครับ (Is this spicy?)
146
- - พนักงาน: เผ็ดนิดหน่อยค่ะ (A little spicy)
147
-
148
- ## Key Points
149
-
150
- 1. **เผ็ด is the big one**: Master spice adjustment first
151
- 2. **ไม่... = not...**: Add ไม่ before any taste
152
- 3. **...น้อย = less...**: For reducing intensity
153
- 4. **...ไป = too...**: For feedback on excess
154
-
155
- ## Practice Exercises
156
-
157
- :::exercise{id="food-2-spice-levels" type="matching" title="Spice Level Recognition" skill="word-recognition" objectiveId="obj-adjust-spice-levels"}
158
-
159
- **Question:** Match each spice level to its Thai phrase
160
-
161
- - Not spicy at all
162
- - A little spicy
163
- - Normal spicy
164
- - Very spicy
165
- - Thai-style spicy
166
-
167
- **Answer:**
168
-
169
- - Not spicy at all → ไม่เผ็ดเลย
170
- - A little spicy → เผ็ดนิดหน่อย
171
- - Normal spicy → เผ็ดปกติ
172
- - Very spicy → เผ็ดมาก
173
- - Thai-style spicy → เผ็ดแบบคนไทย (warning: very hot!)
174
-
175
- **Explanation:** Mastering spice levels is crucial for enjoying Thai food. Start with เผ็ดนิดหน่อย if you're unsure. เผ็ดแบบคนไทย is extremely spicy - only use if you can handle real heat!
176
-
177
- :::
178
-
179
- :::exercise{id="food-2-taste-description" type="fill-in-blank" title="Describing Tastes" skill="word-production" objectiveId="obj-express-food-preferences"}
180
-
181
- **Question:** How do you say these taste descriptions?
182
-
183
- - Too spicy
184
- - Just right
185
- - A bit bland
186
- - Very delicious
187
-
188
- **Answer:**
189
-
190
- - เผ็ดไป (too spicy)
191
- - กำลังดี (just right)
192
- - จืดไปหน่อย (a bit bland)
193
- - อร่อยมาก (very delicious)
194
-
195
- **Explanation:** Use ...ไป for "too [adjective]" and มาก for "very". กำลังดี means "just right" and is perfect for complimenting well-balanced dishes.
196
-
197
- :::
198
-
199
- :::exercise{id="food-2-five-tastes" type="multiple-choice" title="The Five Tastes" skill="pattern-recognition" objectiveId="obj-describe-five-tastes"}
200
-
201
- **Question:** Which dish is known for balancing sour, spicy, and salty flavors?
202
-
203
- **Options:**
204
- - ผัดไทย (Pad Thai)
205
- - ต้มยำกุ้ง (Tom Yum Goong)
206
- - แกงเขียวหวาน (Green Curry)
207
- - ส้มตำ (Som Tam)
208
-
209
- **Answer:** 2
210
-
211
- **Explanation:** ต้มยำกุ้ง (Tom Yum Goong) is famous for balancing เปรี้ยว (sour), เผ็ด (spicy), and เค็ม (salty). Understanding these taste combinations helps you appreciate Thai cuisine's complexity.
212
-
213
- :::
214
-
215
- ## What's Next
216
-
217
- In Lesson 3, you'll learn the words for proteins and vegetables — the ingredients that make up Thai dishes.
218
- `;
219
- export {
220
- n as default
221
- };
222
- //# sourceMappingURL=lesson-02-Dk59HZWp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lesson-02-Dk59HZWp.js","sources":["../src/syllabi/food/lessons/lesson-02.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-food-lesson-02\\ntitle: \\\"บทที่ 2 — รสชาติ\\\"\\ndescription: \\\"Tastes & Flavors: Spicy, sweet, sour, salty, and bitter\\\"\\norder: 2\\nparentId: thai-food\\ndifficulty: beginner\\ncefrLevel: A2\\ncategories:\\n - food\\n - flavors\\n - adjectives\\nmetadata:\\n estimatedTime: 30\\n prerequisites:\\n - thai-food-lesson-01\\n learningObjectives:\\n - id: obj-describe-five-tastes\\n description: \\\"Describe the five Thai tastes\\\"\\n skill: word-recognition\\n - id: obj-adjust-spice-levels\\n description: \\\"Adjust spice levels\\\"\\n skill: word-production\\n - id: obj-express-food-preferences\\n description: \\\"Express food preferences\\\"\\n skill: pattern-application\\n - id: obj-understand-flavor-descriptions\\n description: \\\"Understand flavor descriptions on menus\\\"\\n skill: reading-comprehension\\n---\\n\\n# บทที่ 2 (Lesson 2) — Tastes & Flavors\\n\\n## Introduction\\n\\nThai cuisine is famous for balancing multiple flavors in a single dish. Understanding taste vocabulary lets you describe what you want, ask for adjustments, and appreciate the complexity of Thai cooking.\\n\\n## The Five Fundamental Tastes\\n\\n:::vocabulary-set{id=\\\"thai-tastes\\\" title=\\\"The Five Tastes\\\"}\\n\\n::vocab-item{id=\\\"phet\\\" word=\\\"เผ็ด\\\" pronunciation=\\\"phèt\\\" meaning=\\\"spicy\\\"}\\n\\n::vocab-item{id=\\\"waan\\\" word=\\\"หวาน\\\" pronunciation=\\\"wǎan\\\" meaning=\\\"sweet\\\"}\\n\\n::vocab-item{id=\\\"priao\\\" word=\\\"เปรี้ยว\\\" pronunciation=\\\"prîao\\\" meaning=\\\"sour\\\"}\\n\\n::vocab-item{id=\\\"khem\\\" word=\\\"เค็ม\\\" pronunciation=\\\"khem\\\" meaning=\\\"salty\\\"}\\n\\n::vocab-item{id=\\\"khom\\\" word=\\\"ขม\\\" pronunciation=\\\"khǒm\\\" meaning=\\\"bitter\\\"}\\n\\n:::\\n\\n### Taste Balance\\n\\nGreat Thai dishes balance these tastes. For example:\\n- **ต้มยำ** (tom yam): sour + spicy + salty\\n- **ผัดไทย** (pad thai): sweet + sour + salty\\n- **ส้มตำ** (som tam): sour + spicy + sweet + salty\\n\\n## Spice Levels — The Most Important Skill\\n\\n:::vocabulary-set{id=\\\"thai-spice\\\" title=\\\"Spice Vocabulary\\\"}\\n\\n::vocab-item{id=\\\"mai-phet\\\" word=\\\"ไม่เผ็ด\\\" pronunciation=\\\"mâi phèt\\\" meaning=\\\"not spicy\\\"}\\n\\n::vocab-item{id=\\\"phet-nit-noi\\\" word=\\\"เผ็ดนิดหน่อย\\\" pronunciation=\\\"phèt nít nòi\\\" meaning=\\\"a little spicy\\\"}\\n\\n::vocab-item{id=\\\"phet-klang\\\" word=\\\"เผ็ดกลาง\\\" pronunciation=\\\"phèt glaang\\\" meaning=\\\"medium spicy\\\"}\\n\\n::vocab-item{id=\\\"phet-maak\\\" word=\\\"เผ็ดมาก\\\" pronunciation=\\\"phèt mâak\\\" meaning=\\\"very spicy\\\"}\\n\\n::vocab-item{id=\\\"phet-thai\\\" word=\\\"เผ็ดแบบคนไทย\\\" pronunciation=\\\"phèt bàep khon thai\\\" meaning=\\\"Thai-style spicy\\\"}\\n\\n:::\\n\\n### Ordering with Spice Preference\\n\\n| Request | Meaning |\\n|---------|---------|\\n| ขอไม่เผ็ด | Not spicy, please |\\n| เผ็ดนิดหน่อยได้ไหม | Can it be a little spicy? |\\n| เผ็ดปกติ | Normal spice level |\\n| ใส่พริกเพิ่ม | Add more chili |\\n| ไม่ใส่พริก | No chili |\\n\\n**Warning**: \\\"เผ็ดแบบคนไทย\\\" means VERY spicy. Thai people often underestimate spice for foreigners, so this signals you can handle real heat.\\n\\n## Other Flavor Adjustments\\n\\n:::vocabulary-set{id=\\\"thai-flavor-adjust\\\" title=\\\"Flavor Adjustments\\\"}\\n\\n::vocab-item{id=\\\"mai-waan\\\" word=\\\"ไม่หวาน\\\" pronunciation=\\\"mâi wǎan\\\" meaning=\\\"not sweet\\\"}\\n\\n::vocab-item{id=\\\"mai-khem\\\" word=\\\"ไม่เค็ม\\\" pronunciation=\\\"mâi khem\\\" meaning=\\\"not salty\\\"}\\n\\n::vocab-item{id=\\\"waan-noi\\\" word=\\\"หวานน้อย\\\" pronunciation=\\\"wǎan nói\\\" meaning=\\\"less sweet\\\"}\\n\\n::vocab-item{id=\\\"khem-noi\\\" word=\\\"เค็มน้อย\\\" pronunciation=\\\"khem nói\\\" meaning=\\\"less salty\\\"}\\n\\n:::\\n\\n## Describing Food\\n\\n| Thai | Meaning | Example |\\n|------|---------|---------|\\n| อร่อย | delicious | อร่อยมาก! (Very delicious!) |\\n| เผ็ดไป | too spicy | เผ็ดไปหน่อย (a bit too spicy) |\\n| หวานไป | too sweet | หวานไปนิดหน่อย |\\n| กำลังดี | just right | รสชาติกำลังดี |\\n| จืด | bland | จืดไปหน่อย (a bit bland) |\\n\\n## Flavor Sources\\n\\n| Ingredient | Provides |\\n|------------|----------|\\n| พริก (chili) | เผ็ด (spicy) |\\n| น้ำตาล (sugar) | หวาน (sweet) |\\n| มะนาว (lime) | เปรี้ยว (sour) |\\n| น้ำปลา (fish sauce) | เค็ม (salty) |\\n| มะระ (bitter melon) | ขม (bitter) |\\n\\n## Common Taste Combinations\\n\\n| Dish | Dominant Tastes |\\n|------|-----------------|\\n| ต้มยำกุ้ง | เปรี้ยว + เผ็ด |\\n| แกงเขียวหวาน | เผ็ด + หวาน (slightly) |\\n| ส้มตำ | เปรี้ยว + เผ็ด + หวาน |\\n| มัสมั่น | หวาน + เค็ม |\\n| ลาบ | เปรี้ยว + เผ็ด + เค็ม |\\n\\n## Practice Conversations\\n\\n**Ordering with spice preference:**\\n- พนักงาน: เผ็ดได้ไหมคะ (Can you eat spicy?)\\n- คุณ: ได้ครับ แต่เผ็ดนิดหน่อยนะครับ (Yes, but just a little spicy)\\n\\n**Giving feedback:**\\n- พนักงาน: อร่อยไหมคะ (Is it delicious?)\\n- คุณ: อร่อยมากครับ แต่เผ็ดไปนิดหน่อย (Very delicious, but a bit too spicy)\\n\\n**Asking about a dish:**\\n- คุณ: อันนี้เผ็ดไหมครับ (Is this spicy?)\\n- พนักงาน: เผ็ดนิดหน่อยค่ะ (A little spicy)\\n\\n## Key Points\\n\\n1. **เผ็ด is the big one**: Master spice adjustment first\\n2. **ไม่... = not...**: Add ไม่ before any taste\\n3. **...น้อย = less...**: For reducing intensity\\n4. **...ไป = too...**: For feedback on excess\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"food-2-spice-levels\\\" type=\\\"matching\\\" title=\\\"Spice Level Recognition\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-adjust-spice-levels\\\"}\\n\\n**Question:** Match each spice level to its Thai phrase\\n\\n- Not spicy at all\\n- A little spicy\\n- Normal spicy\\n- Very spicy\\n- Thai-style spicy\\n\\n**Answer:**\\n\\n- Not spicy at all → ไม่เผ็ดเลย\\n- A little spicy → เผ็ดนิดหน่อย\\n- Normal spicy → เผ็ดปกติ\\n- Very spicy → เผ็ดมาก\\n- Thai-style spicy → เผ็ดแบบคนไทย (warning: very hot!)\\n\\n**Explanation:** Mastering spice levels is crucial for enjoying Thai food. Start with เผ็ดนิดหน่อย if you're unsure. เผ็ดแบบคนไทย is extremely spicy - only use if you can handle real heat!\\n\\n:::\\n\\n:::exercise{id=\\\"food-2-taste-description\\\" type=\\\"fill-in-blank\\\" title=\\\"Describing Tastes\\\" skill=\\\"word-production\\\" objectiveId=\\\"obj-express-food-preferences\\\"}\\n\\n**Question:** How do you say these taste descriptions?\\n\\n- Too spicy\\n- Just right\\n- A bit bland\\n- Very delicious\\n\\n**Answer:**\\n\\n- เผ็ดไป (too spicy)\\n- กำลังดี (just right)\\n- จืดไปหน่อย (a bit bland)\\n- อร่อยมาก (very delicious)\\n\\n**Explanation:** Use ...ไป for \\\"too [adjective]\\\" and มาก for \\\"very\\\". กำลังดี means \\\"just right\\\" and is perfect for complimenting well-balanced dishes.\\n\\n:::\\n\\n:::exercise{id=\\\"food-2-five-tastes\\\" type=\\\"multiple-choice\\\" title=\\\"The Five Tastes\\\" skill=\\\"pattern-recognition\\\" objectiveId=\\\"obj-describe-five-tastes\\\"}\\n\\n**Question:** Which dish is known for balancing sour, spicy, and salty flavors?\\n\\n**Options:**\\n- ผัดไทย (Pad Thai)\\n- ต้มยำกุ้ง (Tom Yum Goong)\\n- แกงเขียวหวาน (Green Curry)\\n- ส้มตำ (Som Tam)\\n\\n**Answer:** 2\\n\\n**Explanation:** ต้มยำกุ้ง (Tom Yum Goong) is famous for balancing เปรี้ยว (sour), เผ็ด (spicy), and เค็ม (salty). Understanding these taste combinations helps you appreciate Thai cuisine's complexity.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 3, you'll learn the words for proteins and vegetables — the ingredients that make up Thai dishes.\\n\""],"names":["lesson02"],"mappings":"AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -1,145 +0,0 @@
1
- const n = `---
2
- type: lesson
3
- id: thai-reading-lesson-02
4
- title: "บทที่ 2 — เมนูอาหาร"
5
- description: "Restaurant Menus: Read Thai restaurant menus and order confidently"
6
- order: 2
7
- parentId: thai-reading
8
- difficulty: intermediate
9
- cefrLevel: B1
10
- categories:
11
- - reading
12
- - menus
13
- - food
14
- metadata:
15
- estimatedTime: 30
16
- prerequisites:
17
- - thai-reading-lesson-01
18
- learningObjectives:
19
- - id: obj-r2-food-names
20
- description: "Read food names in Thai script"
21
- skill: text-decoding
22
- - id: obj-r2-menu-categories
23
- description: "Understand menu categories"
24
- skill: reading-comprehension
25
- - id: obj-r2-pricing
26
- description: "Recognize pricing and portion information"
27
- skill: word-recognition
28
- ---
29
-
30
- # Restaurant Menus
31
-
32
- Thai menus follow predictable patterns. Learn to read them and order with confidence.
33
-
34
- ## Menu Categories
35
-
36
- | Thai | Romanization | English |
37
- |------|--------------|---------|
38
- | อาหารจานเดียว | ahan jan diao | single dishes |
39
- | กับข้าว | kap khao | dishes with rice |
40
- | เครื่องดื่ม | khrueang duem | beverages |
41
- | ของหวาน | khong wan | desserts |
42
-
43
- ## Common Menu Items
44
-
45
- | Thai | Romanization | English |
46
- |------|--------------|---------|
47
- | ข้าวผัด | khao phat | fried rice |
48
- | ผัดไทย | phat thai | pad thai |
49
- | ต้มยำกุ้ง | tom yam kung | spicy shrimp soup |
50
- | แกงเขียวหวาน | kaeng khiao wan | green curry |
51
-
52
- ## Menu Descriptors
53
-
54
- | Thai | Romanization | English |
55
- |------|--------------|---------|
56
- | พิเศษ | phiset | special |
57
- | ธรรมดา | thammada | regular |
58
- | ใหญ่ | yai | large |
59
- | เล็ก | lek | small |
60
-
61
- ## Price Indicators
62
-
63
- | Thai | Romanization | English |
64
- |------|--------------|---------|
65
- | ราคา | raka | price |
66
- | บาท | baht | baht |
67
- | ต่อจาน | to jan | per plate |
68
- | ต่อถ้วย | to thuai | per bowl |
69
-
70
- ## Sample Menu Reading
71
-
72
- **ผัดไทยกุ้ง (พิเศษ) - 80 บาท**
73
- *phat thai kung (phiset) - paet-sip baht*
74
- Pad Thai with shrimp (special) - 80 baht
75
-
76
- **ข้าวผัดหมู - 50 บาท**
77
- *khao phat mu - ha-sip baht*
78
- Pork fried rice - 50 baht
79
-
80
- ## Practice Exercises
81
-
82
- :::exercise{id="reading-2-menu-categories" type="matching" title="Menu Category Recognition" skill="reading-comprehension" objectiveId="obj-r2-menu-categories"}
83
-
84
- **Question:** Match each menu category to its meaning
85
-
86
- - อาหารจานเดียว
87
- - กับข้าว
88
- - เครื่องดื่ม
89
- - ของหวาน
90
-
91
- **Answer:**
92
-
93
- - อาหารจานเดียว → Single dishes (main dishes)
94
- - กับข้าว → Dishes with rice (side dishes)
95
- - เครื่องดื่ม → Beverages/drinks
96
- - ของหวาน → Desserts
97
-
98
- **Explanation:** Thai menus are organized by category. อาหารจานเดียว are complete single-dish meals. กับข้าว are dishes meant to be eaten with rice. Understanding these categories helps you navigate menus.
99
-
100
- :::
101
-
102
- :::exercise{id="reading-2-menu-descriptors" type="fill-in-blank" title="Menu Descriptors" skill="word-recognition" objectiveId="obj-r2-pricing"}
103
-
104
- **Question:** What do these menu descriptors mean?
105
-
106
- - พิเศษ
107
- - ธรรมดา
108
- - ใหญ่
109
- - เล็ก
110
-
111
- **Answer:**
112
-
113
- - พิเศษ → Special (often means larger portion or premium version)
114
- - ธรรมดา → Regular/normal
115
- - ใหญ่ → Large
116
- - เล็ก → Small
117
-
118
- **Explanation:** These descriptors appear frequently on menus. พิเศษ often means a special or larger version. ใหญ่ and เล็ก refer to portion sizes.
119
-
120
- :::
121
-
122
- :::exercise{id="reading-2-price-reading" type="multiple-choice" title="Reading Prices" skill="text-decoding" objectiveId="obj-r2-food-names"}
123
-
124
- **Question:** How do you read "80 บาท" from a menu?
125
-
126
- **Options:**
127
- - Eighty baht
128
- - Eight-zero baht
129
- - แปดสิบบาท (paet-sip baat)
130
- - All of the above are correct
131
-
132
- **Answer:** 4
133
-
134
- **Explanation:** Prices can be written in Arabic numerals (80) or Thai numerals (๘๐), but are usually said in Thai: แปดสิบบาท. Always add บาท after the amount.
135
-
136
- :::
137
-
138
- ## What's Next
139
-
140
- In Lesson 3, you'll master transportation signs — navigate BTS/MRT stations, airports, and public transport with confidence.
141
- `;
142
- export {
143
- n as default
144
- };
145
- //# sourceMappingURL=lesson-02-L8oNhBej.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lesson-02-L8oNhBej.js","sources":["../src/syllabi/reading/lessons/lesson-02.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-reading-lesson-02\\ntitle: \\\"บทที่ 2 — เมนูอาหาร\\\"\\ndescription: \\\"Restaurant Menus: Read Thai restaurant menus and order confidently\\\"\\norder: 2\\nparentId: thai-reading\\ndifficulty: intermediate\\ncefrLevel: B1\\ncategories:\\n - reading\\n - menus\\n - food\\nmetadata:\\n estimatedTime: 30\\n prerequisites:\\n - thai-reading-lesson-01\\n learningObjectives:\\n - id: obj-r2-food-names\\n description: \\\"Read food names in Thai script\\\"\\n skill: text-decoding\\n - id: obj-r2-menu-categories\\n description: \\\"Understand menu categories\\\"\\n skill: reading-comprehension\\n - id: obj-r2-pricing\\n description: \\\"Recognize pricing and portion information\\\"\\n skill: word-recognition\\n---\\n\\n# Restaurant Menus\\n\\nThai menus follow predictable patterns. Learn to read them and order with confidence.\\n\\n## Menu Categories\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| อาหารจานเดียว | ahan jan diao | single dishes |\\n| กับข้าว | kap khao | dishes with rice |\\n| เครื่องดื่ม | khrueang duem | beverages |\\n| ของหวาน | khong wan | desserts |\\n\\n## Common Menu Items\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| ข้าวผัด | khao phat | fried rice |\\n| ผัดไทย | phat thai | pad thai |\\n| ต้มยำกุ้ง | tom yam kung | spicy shrimp soup |\\n| แกงเขียวหวาน | kaeng khiao wan | green curry |\\n\\n## Menu Descriptors\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| พิเศษ | phiset | special |\\n| ธรรมดา | thammada | regular |\\n| ใหญ่ | yai | large |\\n| เล็ก | lek | small |\\n\\n## Price Indicators\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| ราคา | raka | price |\\n| บาท | baht | baht |\\n| ต่อจาน | to jan | per plate |\\n| ต่อถ้วย | to thuai | per bowl |\\n\\n## Sample Menu Reading\\n\\n**ผัดไทยกุ้ง (พิเศษ) - 80 บาท**\\n*phat thai kung (phiset) - paet-sip baht*\\nPad Thai with shrimp (special) - 80 baht\\n\\n**ข้าวผัดหมู - 50 บาท**\\n*khao phat mu - ha-sip baht*\\nPork fried rice - 50 baht\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"reading-2-menu-categories\\\" type=\\\"matching\\\" title=\\\"Menu Category Recognition\\\" skill=\\\"reading-comprehension\\\" objectiveId=\\\"obj-r2-menu-categories\\\"}\\n\\n**Question:** Match each menu category to its meaning\\n\\n- อาหารจานเดียว\\n- กับข้าว\\n- เครื่องดื่ม\\n- ของหวาน\\n\\n**Answer:**\\n\\n- อาหารจานเดียว → Single dishes (main dishes)\\n- กับข้าว → Dishes with rice (side dishes)\\n- เครื่องดื่ม → Beverages/drinks\\n- ของหวาน → Desserts\\n\\n**Explanation:** Thai menus are organized by category. อาหารจานเดียว are complete single-dish meals. กับข้าว are dishes meant to be eaten with rice. Understanding these categories helps you navigate menus.\\n\\n:::\\n\\n:::exercise{id=\\\"reading-2-menu-descriptors\\\" type=\\\"fill-in-blank\\\" title=\\\"Menu Descriptors\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-r2-pricing\\\"}\\n\\n**Question:** What do these menu descriptors mean?\\n\\n- พิเศษ\\n- ธรรมดา\\n- ใหญ่\\n- เล็ก\\n\\n**Answer:**\\n\\n- พิเศษ → Special (often means larger portion or premium version)\\n- ธรรมดา → Regular/normal\\n- ใหญ่ → Large\\n- เล็ก → Small\\n\\n**Explanation:** These descriptors appear frequently on menus. พิเศษ often means a special or larger version. ใหญ่ and เล็ก refer to portion sizes.\\n\\n:::\\n\\n:::exercise{id=\\\"reading-2-price-reading\\\" type=\\\"multiple-choice\\\" title=\\\"Reading Prices\\\" skill=\\\"text-decoding\\\" objectiveId=\\\"obj-r2-food-names\\\"}\\n\\n**Question:** How do you read \\\"80 บาท\\\" from a menu?\\n\\n**Options:**\\n- Eighty baht\\n- Eight-zero baht\\n- แปดสิบบาท (paet-sip baat)\\n- All of the above are correct\\n\\n**Answer:** 4\\n\\n**Explanation:** Prices can be written in Arabic numerals (80) or Thai numerals (๘๐), but are usually said in Thai: แปดสิบบาท. Always add บาท after the amount.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 3, you'll master transportation signs — navigate BTS/MRT stations, airports, and public transport with confidence.\\n\""],"names":["lesson02"],"mappings":"AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -1,204 +0,0 @@
1
- const n = `---
2
- type: lesson
3
- id: thai-essentials-lesson-02
4
- title: "บทที่ 2 — คำลงท้าย"
5
- description: "Polite Particles: ครับ, ค่ะ, and showing respect"
6
- order: 2
7
- parentId: thai-essentials
8
- difficulty: beginner
9
- cefrLevel: A1
10
- categories:
11
- - particles
12
- - politeness
13
- - grammar
14
- metadata:
15
- estimatedTime: 25
16
- prerequisites:
17
- - thai-essentials-lesson-01
18
- learningObjectives:
19
- - id: obj-particles-use-correctly
20
- description: "Use ครับ and ค่ะ/คะ correctly"
21
- skill: polite-register
22
- - id: obj-particles-common
23
- description: "Understand other common particles"
24
- skill: word-recognition
25
- - id: obj-particles-optional
26
- description: "Know when particles are optional"
27
- skill: situational-response
28
- - id: obj-particles-sound-polite
29
- description: "Sound polite in any situation"
30
- skill: polite-register
31
- ---
32
-
33
- # บทที่ 2 (Lesson 2) — Polite Particles
34
-
35
- ## Introduction
36
-
37
- In Thai, how you end a sentence is as important as what you say. Polite particles (คำลงท้าย) show respect, indicate your gender, and mark whether you're asking or stating. Missing them makes you sound rude or abrupt.
38
-
39
- ## The Core System
40
-
41
- | Speaker | Statement | Question |
42
- |---------|-----------|----------|
43
- | Male | ครับ (khráp) | ครับ (khráp) |
44
- | Female | ค่ะ (khâ) | คะ (khá) |
45
-
46
- **Key insight**: Men use ครับ for everything. Women change tone: falling (ค่ะ) for statements, rising (คะ) for questions.
47
-
48
- ## Examples in Action
49
-
50
- **Male speaker:**
51
- - ขอบคุณครับ (Thank you)
52
- - ใช่ครับ (Yes)
53
- - ไม่ใช่ครับ (No, it isn't)
54
- - อะไรครับ (What?)
55
-
56
- **Female speaker:**
57
- - ขอบคุณค่ะ (Thank you)
58
- - ใช่ค่ะ (Yes)
59
- - ไม่ใช่ค่ะ (No, it isn't)
60
- - อะไรคะ (What?)
61
-
62
- ## When to Use Particles
63
-
64
- **Always use particles with:**
65
- - Strangers and acquaintances
66
- - Elders and superiors
67
- - Service situations (shops, restaurants)
68
- - Formal settings
69
- - When in doubt
70
-
71
- **Particles optional with:**
72
- - Close friends
73
- - Family members
74
- - Children
75
- - Very casual situations
76
-
77
- ## Other Important Particles
78
-
79
- :::vocabulary-set{id="thai-particles" title="Common Particles"}
80
-
81
- ::vocab-item{id="na" word="นะ" pronunciation="ná" meaning="softener, seeking agreement"}
82
-
83
- ::vocab-item{id="si" word="สิ" pronunciation="sì" meaning="urging, encouragement"}
84
-
85
- ::vocab-item{id="la" word="ล่ะ" pronunciation="là" meaning="emphasis, 'then/so'"}
86
-
87
- ::vocab-item{id="loei" word="เลย" pronunciation="ləəi" meaning="emphasis, 'at all/really'"}
88
-
89
- ::vocab-item{id="roh" word="หรอ" pronunciation="rɔ̌ɔ" meaning="really? (surprise)"}
90
-
91
- :::
92
-
93
- ## Using นะ (ná)
94
-
95
- The particle นะ softens statements and seeks agreement:
96
-
97
- | Without นะ | With นะ | Effect |
98
- |------------|---------|--------|
99
- | ไปเลย (Go!) | ไปเลยนะ | Go, okay? (softer) |
100
- | อร่อย (Delicious) | อร่อยนะ | It's good, right? |
101
- | ขอบคุณ (Thanks) | ขอบคุณนะ | Thanks! (warmer) |
102
-
103
- ## Using สิ (sì)
104
-
105
- The particle สิ encourages or urges:
106
-
107
- | Thai | Meaning |
108
- |------|---------|
109
- | กินสิ | Go ahead and eat! |
110
- | มาสิ | Come on! |
111
- | ลองดูสิ | Give it a try! |
112
-
113
- ## Combining Particles
114
-
115
- Particles can combine. Order: content particle + polite particle
116
-
117
- | Thai | Meaning |
118
- |------|---------|
119
- | ใช่นะครับ | Yes, right? (male) |
120
- | อร่อยนะคะ | It's delicious, isn't it? (female) |
121
- | ไปเลยนะค่ะ | Go ahead then, okay? (female) |
122
-
123
- ## Common Mistakes
124
-
125
- ❌ **Forgetting particles with strangers**
126
- - ขอบคุณ (too abrupt) → ✓ ขอบคุณครับ/ค่ะ
127
-
128
- ❌ **Wrong tone for questions (women)**
129
- - อะไรค่ะ (wrong) → ✓ อะไรคะ (rising tone)
130
-
131
- ❌ **Using ครับ as a woman**
132
- - This sounds masculine; always use ค่ะ/คะ
133
-
134
- ## Key Points
135
-
136
- 1. **Always end politely**: ครับ for men, ค่ะ/คะ for women
137
- 2. **Question vs statement**: Women change tone
138
- 3. **นะ softens**: Makes requests and statements gentler
139
- 4. **When in doubt, use them**: Better to be too polite
140
-
141
- ## Practice Exercises
142
-
143
- :::exercise{id="particles-1-practice" type="fill-in-blank" title="Particle Practice" skill="polite-register" objectiveId="obj-particles-use-correctly"}
144
-
145
- **Question:** Add the correct particle:
146
-
147
- 1. ขอบคุณ___ (male thanking someone)
148
- 2. อะไร___ (female asking "what?")
149
- 3. ใช่___ (female confirming)
150
- 4. ไม่เป็นไร___ (male saying "no problem")
151
-
152
- **Answer:**
153
-
154
- 1. ขอบคุณ**ครับ** (male statement)
155
- 2. อะไร**คะ** (female question - rising tone)
156
- 3. ใช่**ค่ะ** (female statement - falling tone)
157
- 4. ไม่เป็นไร**ครับ** (male statement)
158
-
159
- **Explanation:** Men always use ครับ. Women use ค่ะ (falling) for statements and คะ (rising) for questions. This is essential for sounding polite in Thai.
160
-
161
- :::
162
-
163
- :::exercise{id="particles-1-combining" type="matching" title="Combining Particles" skill="polite-register" objectiveId="obj-particles-sound-polite"}
164
-
165
- **Question:** Match each phrase to its correct particle combination
166
-
167
- - ใช่นะ (yes, right?)
168
- - อร่อยนะ (it's delicious, isn't it?)
169
- - ไปเลยนะ (go ahead, okay?)
170
-
171
- **Answer:**
172
-
173
- - ใช่นะ**ครับ** (male, seeking agreement)
174
- - อร่อยนะ**คะ** (female, question form)
175
- - ไปเลยนะ**ค่ะ** (female, statement form)
176
-
177
- **Explanation:** Particles can combine. The order is: content particle (นะ) + polite particle (ครับ/ค่ะ/คะ). นะ softens and seeks agreement, then add the gender-appropriate polite particle.
178
-
179
- :::
180
-
181
- :::exercise{id="particles-1-common-mistakes" type="multiple-choice" title="Common Mistakes" skill="polite-register" objectiveId="obj-particles-use-correctly"}
182
-
183
- **Question:** What's wrong with this sentence: "ขอบคุณค่ะ" (spoken by a male)?
184
-
185
- **Options:**
186
- - Nothing, it's correct
187
- - Should be ขอบคุณครับ
188
- - Should be ขอบคุณคะ
189
- - Particles are optional
190
-
191
- **Answer:** 2
192
-
193
- **Explanation:** Men must use ครับ, not ค่ะ. Using ค่ะ as a man sounds feminine. Women use ค่ะ/คะ depending on whether it's a statement or question.
194
-
195
- :::
196
-
197
- ## What's Next
198
-
199
- In Lesson 3, you'll learn how to ask basic questions — who, what, where, when, why, how.
200
- `;
201
- export {
202
- n as default
203
- };
204
- //# sourceMappingURL=lesson-02-VDOme3ES.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lesson-02-VDOme3ES.js","sources":["../src/syllabi/essentials/lessons/lesson-02.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-essentials-lesson-02\\ntitle: \\\"บทที่ 2 — คำลงท้าย\\\"\\ndescription: \\\"Polite Particles: ครับ, ค่ะ, and showing respect\\\"\\norder: 2\\nparentId: thai-essentials\\ndifficulty: beginner\\ncefrLevel: A1\\ncategories:\\n - particles\\n - politeness\\n - grammar\\nmetadata:\\n estimatedTime: 25\\n prerequisites:\\n - thai-essentials-lesson-01\\n learningObjectives:\\n - id: obj-particles-use-correctly\\n description: \\\"Use ครับ and ค่ะ/คะ correctly\\\"\\n skill: polite-register\\n - id: obj-particles-common\\n description: \\\"Understand other common particles\\\"\\n skill: word-recognition\\n - id: obj-particles-optional\\n description: \\\"Know when particles are optional\\\"\\n skill: situational-response\\n - id: obj-particles-sound-polite\\n description: \\\"Sound polite in any situation\\\"\\n skill: polite-register\\n---\\n\\n# บทที่ 2 (Lesson 2) — Polite Particles\\n\\n## Introduction\\n\\nIn Thai, how you end a sentence is as important as what you say. Polite particles (คำลงท้าย) show respect, indicate your gender, and mark whether you're asking or stating. Missing them makes you sound rude or abrupt.\\n\\n## The Core System\\n\\n| Speaker | Statement | Question |\\n|---------|-----------|----------|\\n| Male | ครับ (khráp) | ครับ (khráp) |\\n| Female | ค่ะ (khâ) | คะ (khá) |\\n\\n**Key insight**: Men use ครับ for everything. Women change tone: falling (ค่ะ) for statements, rising (คะ) for questions.\\n\\n## Examples in Action\\n\\n**Male speaker:**\\n- ขอบคุณครับ (Thank you)\\n- ใช่ครับ (Yes)\\n- ไม่ใช่ครับ (No, it isn't)\\n- อะไรครับ (What?)\\n\\n**Female speaker:**\\n- ขอบคุณค่ะ (Thank you)\\n- ใช่ค่ะ (Yes)\\n- ไม่ใช่ค่ะ (No, it isn't)\\n- อะไรคะ (What?)\\n\\n## When to Use Particles\\n\\n**Always use particles with:**\\n- Strangers and acquaintances\\n- Elders and superiors\\n- Service situations (shops, restaurants)\\n- Formal settings\\n- When in doubt\\n\\n**Particles optional with:**\\n- Close friends\\n- Family members\\n- Children\\n- Very casual situations\\n\\n## Other Important Particles\\n\\n:::vocabulary-set{id=\\\"thai-particles\\\" title=\\\"Common Particles\\\"}\\n\\n::vocab-item{id=\\\"na\\\" word=\\\"นะ\\\" pronunciation=\\\"ná\\\" meaning=\\\"softener, seeking agreement\\\"}\\n\\n::vocab-item{id=\\\"si\\\" word=\\\"สิ\\\" pronunciation=\\\"sì\\\" meaning=\\\"urging, encouragement\\\"}\\n\\n::vocab-item{id=\\\"la\\\" word=\\\"ล่ะ\\\" pronunciation=\\\"là\\\" meaning=\\\"emphasis, 'then/so'\\\"}\\n\\n::vocab-item{id=\\\"loei\\\" word=\\\"เลย\\\" pronunciation=\\\"ləəi\\\" meaning=\\\"emphasis, 'at all/really'\\\"}\\n\\n::vocab-item{id=\\\"roh\\\" word=\\\"หรอ\\\" pronunciation=\\\"rɔ̌ɔ\\\" meaning=\\\"really? (surprise)\\\"}\\n\\n:::\\n\\n## Using นะ (ná)\\n\\nThe particle นะ softens statements and seeks agreement:\\n\\n| Without นะ | With นะ | Effect |\\n|------------|---------|--------|\\n| ไปเลย (Go!) | ไปเลยนะ | Go, okay? (softer) |\\n| อร่อย (Delicious) | อร่อยนะ | It's good, right? |\\n| ขอบคุณ (Thanks) | ขอบคุณนะ | Thanks! (warmer) |\\n\\n## Using สิ (sì)\\n\\nThe particle สิ encourages or urges:\\n\\n| Thai | Meaning |\\n|------|---------|\\n| กินสิ | Go ahead and eat! |\\n| มาสิ | Come on! |\\n| ลองดูสิ | Give it a try! |\\n\\n## Combining Particles\\n\\nParticles can combine. Order: content particle + polite particle\\n\\n| Thai | Meaning |\\n|------|---------|\\n| ใช่นะครับ | Yes, right? (male) |\\n| อร่อยนะคะ | It's delicious, isn't it? (female) |\\n| ไปเลยนะค่ะ | Go ahead then, okay? (female) |\\n\\n## Common Mistakes\\n\\n❌ **Forgetting particles with strangers**\\n- ขอบคุณ (too abrupt) → ✓ ขอบคุณครับ/ค่ะ\\n\\n❌ **Wrong tone for questions (women)**\\n- อะไรค่ะ (wrong) → ✓ อะไรคะ (rising tone)\\n\\n❌ **Using ครับ as a woman**\\n- This sounds masculine; always use ค่ะ/คะ\\n\\n## Key Points\\n\\n1. **Always end politely**: ครับ for men, ค่ะ/คะ for women\\n2. **Question vs statement**: Women change tone\\n3. **นะ softens**: Makes requests and statements gentler\\n4. **When in doubt, use them**: Better to be too polite\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"particles-1-practice\\\" type=\\\"fill-in-blank\\\" title=\\\"Particle Practice\\\" skill=\\\"polite-register\\\" objectiveId=\\\"obj-particles-use-correctly\\\"}\\n\\n**Question:** Add the correct particle:\\n\\n1. ขอบคุณ___ (male thanking someone)\\n2. อะไร___ (female asking \\\"what?\\\")\\n3. ใช่___ (female confirming)\\n4. ไม่เป็นไร___ (male saying \\\"no problem\\\")\\n\\n**Answer:**\\n\\n1. ขอบคุณ**ครับ** (male statement)\\n2. อะไร**คะ** (female question - rising tone)\\n3. ใช่**ค่ะ** (female statement - falling tone)\\n4. ไม่เป็นไร**ครับ** (male statement)\\n\\n**Explanation:** Men always use ครับ. Women use ค่ะ (falling) for statements and คะ (rising) for questions. This is essential for sounding polite in Thai.\\n\\n:::\\n\\n:::exercise{id=\\\"particles-1-combining\\\" type=\\\"matching\\\" title=\\\"Combining Particles\\\" skill=\\\"polite-register\\\" objectiveId=\\\"obj-particles-sound-polite\\\"}\\n\\n**Question:** Match each phrase to its correct particle combination\\n\\n- ใช่นะ (yes, right?)\\n- อร่อยนะ (it's delicious, isn't it?)\\n- ไปเลยนะ (go ahead, okay?)\\n\\n**Answer:**\\n\\n- ใช่นะ**ครับ** (male, seeking agreement)\\n- อร่อยนะ**คะ** (female, question form)\\n- ไปเลยนะ**ค่ะ** (female, statement form)\\n\\n**Explanation:** Particles can combine. The order is: content particle (นะ) + polite particle (ครับ/ค่ะ/คะ). นะ softens and seeks agreement, then add the gender-appropriate polite particle.\\n\\n:::\\n\\n:::exercise{id=\\\"particles-1-common-mistakes\\\" type=\\\"multiple-choice\\\" title=\\\"Common Mistakes\\\" skill=\\\"polite-register\\\" objectiveId=\\\"obj-particles-use-correctly\\\"}\\n\\n**Question:** What's wrong with this sentence: \\\"ขอบคุณค่ะ\\\" (spoken by a male)?\\n\\n**Options:**\\n- Nothing, it's correct\\n- Should be ขอบคุณครับ\\n- Should be ขอบคุณคะ\\n- Particles are optional\\n\\n**Answer:** 2\\n\\n**Explanation:** Men must use ครับ, not ค่ะ. Using ค่ะ as a man sounds feminine. Women use ค่ะ/คะ depending on whether it's a statement or question.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 3, you'll learn how to ask basic questions — who, what, where, when, why, how.\\n\""],"names":["lesson02"],"mappings":"AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}