@syllst/th 0.2.2 → 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 +27 -15
  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,233 +0,0 @@
1
- const n = `---
2
- type: lesson
3
- id: thai-essentials-lesson-04
4
- title: "บทที่ 4 — การขอและตอบ"
5
- description: "Requests & Responses: Asking politely and responding"
6
- order: 4
7
- parentId: thai-essentials
8
- difficulty: beginner
9
- cefrLevel: A1
10
- categories:
11
- - requests
12
- - responses
13
- - practical
14
- metadata:
15
- estimatedTime: 30
16
- prerequisites:
17
- - thai-essentials-lesson-03
18
- learningObjectives:
19
- - id: obj-requests-ask-politely
20
- description: "Ask for things politely"
21
- skill: polite-register
22
- - id: obj-requests-yes-no
23
- description: "Say yes and no appropriately"
24
- skill: word-recognition
25
- - id: obj-requests-thanks-apologies
26
- description: "Express thanks and apologies"
27
- skill: situational-response
28
- - id: obj-requests-respond
29
- description: "Respond to requests correctly"
30
- skill: situational-response
31
- ---
32
-
33
- # บทที่ 4 (Lesson 4) — Requests & Responses
34
-
35
- ## Introduction
36
-
37
- Knowing how to ask for things politely and respond appropriately is essential for daily life. Thai has specific patterns for requests that show respect and make interactions smooth.
38
-
39
- ## Asking for Things
40
-
41
- ### ขอ (khǎw) — "May I have" / "I'd like"
42
-
43
- The most polite way to request something:
44
-
45
- | Request | Meaning |
46
- |---------|---------|
47
- | ขอน้ำหน่อย | May I have some water? |
48
- | ขอเมนู | May I have a menu? |
49
- | ขอบิล | May I have the bill? |
50
- | ขอโทษ | Excuse me / I'm sorry |
51
-
52
- ### เอา (ao) — "I'll take" / "I want"
53
-
54
- More direct, still acceptable:
55
-
56
- | Request | Meaning |
57
- |---------|---------|
58
- | เอาอันนี้ | I'll take this one |
59
- | เอากาแฟ | I'll have coffee |
60
- | ไม่เอา | I don't want it |
61
-
62
- ### ช่วย (chûai) — "Please help" / "Could you..."
63
-
64
- For asking someone to do something:
65
-
66
- | Request | Meaning |
67
- |---------|---------|
68
- | ช่วยพูดช้าๆ หน่อย | Could you speak slowly? |
69
- | ช่วยเขียนให้หน่อย | Could you write it down? |
70
- | ช่วยถ่ายรูปให้หน่อย | Could you take a photo? |
71
-
72
- ## The Magic Word: หน่อย (nòi)
73
-
74
- Adding หน่อย makes any request softer:
75
-
76
- | Without | With หน่อย | Effect |
77
- |---------|------------|--------|
78
- | ขอน้ำ | ขอน้ำหน่อย | More polite |
79
- | รอ | รอหน่อย | Please wait (soft) |
80
- | ช่วยด้วย | ช่วยหน่อย | Could you help? |
81
-
82
- ## Yes & No
83
-
84
- :::vocabulary-set{id="thai-yes-no" title="Yes and No"}
85
-
86
- ::vocab-item{id="chai" word="ใช่" pronunciation="châi" meaning="yes (correct)"}
87
-
88
- ::vocab-item{id="mai-chai" word="ไม่ใช่" pronunciation="mâi châi" meaning="no (incorrect)"}
89
-
90
- ::vocab-item{id="kha-khrap" word="ครับ/ค่ะ" pronunciation="khráp/khâ" meaning="yes (acknowledgment)"}
91
-
92
- ::vocab-item{id="mai" word="ไม่" pronunciation="mâi" meaning="no / not"}
93
-
94
- ::vocab-item{id="dai" word="ได้" pronunciation="dâi" meaning="can / okay / yes"}
95
-
96
- ::vocab-item{id="mai-dai" word="ไม่ได้" pronunciation="mâi dâi" meaning="cannot / no"}
97
-
98
- :::
99
-
100
- ## Saying Yes
101
-
102
- | Response | When to Use |
103
- |----------|-------------|
104
- | ใช่ครับ/ค่ะ | Confirming something is correct |
105
- | ครับ/ค่ะ | Acknowledging, "yes, I understand" |
106
- | ได้ครับ/ค่ะ | "Yes, I can" / "Okay" |
107
- | โอเคครับ/ค่ะ | "Okay" (informal) |
108
-
109
- ## Saying No (Politely)
110
-
111
- | Response | When to Use |
112
- |----------|-------------|
113
- | ไม่ใช่ครับ/ค่ะ | "No, that's not correct" |
114
- | ไม่ครับ/ค่ะ | Simple "no" |
115
- | ไม่ได้ครับ/ค่ะ | "I can't" / "It's not possible" |
116
- | ไม่เอาครับ/ค่ะ | "I don't want it" |
117
- | ไม่เป็นไร | "It's okay" / "No problem" |
118
-
119
- ## Thanks & Apologies
120
-
121
- :::vocabulary-set{id="thai-thanks-sorry" title="Thanks and Apologies"}
122
-
123
- ::vocab-item{id="khob-khun" word="ขอบคุณ" pronunciation="khɔ̀ɔp-khun" meaning="thank you"}
124
-
125
- ::vocab-item{id="khob-khun-maak" word="ขอบคุณมาก" pronunciation="khɔ̀ɔp-khun mâak" meaning="thank you very much"}
126
-
127
- ::vocab-item{id="khor-thot" word="ขอโทษ" pronunciation="khɔ̌ɔ-thôot" meaning="sorry / excuse me"}
128
-
129
- ::vocab-item{id="mai-pen-rai" word="ไม่เป็นไร" pronunciation="mâi bpen rai" meaning="no problem / you're welcome"}
130
-
131
- :::
132
-
133
- ## Using ขอโทษ
134
-
135
- ขอโทษ works for both "excuse me" and "I'm sorry":
136
-
137
- | Situation | Usage |
138
- |-----------|-------|
139
- | Getting attention | ขอโทษครับ (Excuse me...) |
140
- | Apologizing | ขอโทษครับ ผมมาสาย (Sorry, I'm late) |
141
- | Passing by | ขอโทษครับ (Excuse me, coming through) |
142
-
143
- ## Responding to Thanks
144
-
145
- | Response | Meaning |
146
- |----------|---------|
147
- | ไม่เป็นไร | No problem / You're welcome |
148
- | ยินดี | My pleasure |
149
- | ด้วยความยินดี | With pleasure (formal) |
150
-
151
- ## Common Exchanges
152
-
153
- **At a restaurant:**
154
- - คุณ: ขอเมนูหน่อยครับ (May I have a menu?)
155
- - พนักงาน: ได้ค่ะ (Yes, of course)
156
- - คุณ: ขอบคุณครับ (Thank you)
157
- - พนักงาน: ไม่เป็นไรค่ะ (You're welcome)
158
-
159
- **Asking for help:**
160
- - คุณ: ขอโทษครับ ช่วยบอกทางหน่อยได้ไหมครับ (Excuse me, could you give me directions?)
161
- - คนไทย: ได้ครับ (Sure)
162
-
163
- ## Key Points
164
-
165
- 1. **ขอ for polite requests**: "May I have..."
166
- 2. **หน่อย softens**: Add to any request
167
- 3. **ได้ means "can/okay"**: Use for agreeing
168
- 4. **ไม่เป็นไร is versatile**: No problem, you're welcome, it's okay
169
-
170
- ## Practice Exercises
171
-
172
- :::exercise{id="requests-1-polite-forms" type="matching" title="Polite Request Forms" skill="polite-register" objectiveId="obj-requests-ask-politely"}
173
-
174
- **Question:** Match each request form to its level of politeness
175
-
176
- - ขอน้ำหน่อย
177
- - เอาน้ำ
178
- - ช่วยให้น้ำหน่อย
179
-
180
- **Answer:**
181
-
182
- - ขอน้ำหน่อย → Most polite ("May I have some water, please?")
183
- - เอาน้ำ → Direct but acceptable ("I'll have water")
184
- - ช่วยให้น้ำหน่อย → Asking for help ("Could you give me water, please?")
185
-
186
- **Explanation:** ขอ is the most polite form for requesting things. เอา is more direct. ช่วย is for asking someone to do something for you. Adding หน่อย makes any request softer.
187
-
188
- :::
189
-
190
- :::exercise{id="requests-1-yes-no-forms" type="fill-in-blank" title="Yes and No Forms" skill="word-recognition" objectiveId="obj-requests-yes-no"}
191
-
192
- **Question:** When do you use each form of "yes" and "no"?
193
-
194
- - ใช่ (châi)
195
- - ได้ (dâi)
196
- - ไม่ใช่ (mâi châi)
197
- - ไม่ได้ (mâi dâi)
198
-
199
- **Answer:**
200
-
201
- - ใช่ → "Yes, that's correct" (confirming truth)
202
- - ได้ → "Yes, I can" / "Okay" (ability/agreement)
203
- - ไม่ใช่ → "No, that's not correct" (denying truth)
204
- - ไม่ได้ → "No, I can't" / "It's not possible" (denying ability)
205
-
206
- **Explanation:** ใช่/ไม่ใช่ are for confirming or denying correctness. ได้/ไม่ได้ are for ability or permission. Choose based on what you're responding to.
207
-
208
- :::
209
-
210
- :::exercise{id="requests-1-thanks-apology" type="multiple-choice" title="Thanks and Apologies" skill="situational-response" objectiveId="obj-requests-thanks-apologies"}
211
-
212
- **Question:** When should you use ขอโทษ (khɔ̌ɔ-thôot)?
213
-
214
- **Options:**
215
- - Only when apologizing
216
- - Only when getting attention
217
- - Both for "excuse me" and "I'm sorry"
218
- - Never use it
219
-
220
- **Answer:** 3
221
-
222
- **Explanation:** ขอโทษ is versatile — use it to get someone's attention ("Excuse me") or to apologize ("I'm sorry"). Context determines the meaning. It's always polite and appropriate.
223
-
224
- :::
225
-
226
- ## What's Next
227
-
228
- In Lesson 5, you'll learn to express feelings and opinions — likes, dislikes, and emotions.
229
- `;
230
- export {
231
- n as default
232
- };
233
- //# sourceMappingURL=lesson-04-0Pj_x1DU.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lesson-04-0Pj_x1DU.js","sources":["../src/syllabi/essentials/lessons/lesson-04.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-essentials-lesson-04\\ntitle: \\\"บทที่ 4 — การขอและตอบ\\\"\\ndescription: \\\"Requests & Responses: Asking politely and responding\\\"\\norder: 4\\nparentId: thai-essentials\\ndifficulty: beginner\\ncefrLevel: A1\\ncategories:\\n - requests\\n - responses\\n - practical\\nmetadata:\\n estimatedTime: 30\\n prerequisites:\\n - thai-essentials-lesson-03\\n learningObjectives:\\n - id: obj-requests-ask-politely\\n description: \\\"Ask for things politely\\\"\\n skill: polite-register\\n - id: obj-requests-yes-no\\n description: \\\"Say yes and no appropriately\\\"\\n skill: word-recognition\\n - id: obj-requests-thanks-apologies\\n description: \\\"Express thanks and apologies\\\"\\n skill: situational-response\\n - id: obj-requests-respond\\n description: \\\"Respond to requests correctly\\\"\\n skill: situational-response\\n---\\n\\n# บทที่ 4 (Lesson 4) — Requests & Responses\\n\\n## Introduction\\n\\nKnowing how to ask for things politely and respond appropriately is essential for daily life. Thai has specific patterns for requests that show respect and make interactions smooth.\\n\\n## Asking for Things\\n\\n### ขอ (khǎw) — \\\"May I have\\\" / \\\"I'd like\\\"\\n\\nThe most polite way to request something:\\n\\n| Request | Meaning |\\n|---------|---------|\\n| ขอน้ำหน่อย | May I have some water? |\\n| ขอเมนู | May I have a menu? |\\n| ขอบิล | May I have the bill? |\\n| ขอโทษ | Excuse me / I'm sorry |\\n\\n### เอา (ao) — \\\"I'll take\\\" / \\\"I want\\\"\\n\\nMore direct, still acceptable:\\n\\n| Request | Meaning |\\n|---------|---------|\\n| เอาอันนี้ | I'll take this one |\\n| เอากาแฟ | I'll have coffee |\\n| ไม่เอา | I don't want it |\\n\\n### ช่วย (chûai) — \\\"Please help\\\" / \\\"Could you...\\\"\\n\\nFor asking someone to do something:\\n\\n| Request | Meaning |\\n|---------|---------|\\n| ช่วยพูดช้าๆ หน่อย | Could you speak slowly? |\\n| ช่วยเขียนให้หน่อย | Could you write it down? |\\n| ช่วยถ่ายรูปให้หน่อย | Could you take a photo? |\\n\\n## The Magic Word: หน่อย (nòi)\\n\\nAdding หน่อย makes any request softer:\\n\\n| Without | With หน่อย | Effect |\\n|---------|------------|--------|\\n| ขอน้ำ | ขอน้ำหน่อย | More polite |\\n| รอ | รอหน่อย | Please wait (soft) |\\n| ช่วยด้วย | ช่วยหน่อย | Could you help? |\\n\\n## Yes & No\\n\\n:::vocabulary-set{id=\\\"thai-yes-no\\\" title=\\\"Yes and No\\\"}\\n\\n::vocab-item{id=\\\"chai\\\" word=\\\"ใช่\\\" pronunciation=\\\"châi\\\" meaning=\\\"yes (correct)\\\"}\\n\\n::vocab-item{id=\\\"mai-chai\\\" word=\\\"ไม่ใช่\\\" pronunciation=\\\"mâi châi\\\" meaning=\\\"no (incorrect)\\\"}\\n\\n::vocab-item{id=\\\"kha-khrap\\\" word=\\\"ครับ/ค่ะ\\\" pronunciation=\\\"khráp/khâ\\\" meaning=\\\"yes (acknowledgment)\\\"}\\n\\n::vocab-item{id=\\\"mai\\\" word=\\\"ไม่\\\" pronunciation=\\\"mâi\\\" meaning=\\\"no / not\\\"}\\n\\n::vocab-item{id=\\\"dai\\\" word=\\\"ได้\\\" pronunciation=\\\"dâi\\\" meaning=\\\"can / okay / yes\\\"}\\n\\n::vocab-item{id=\\\"mai-dai\\\" word=\\\"ไม่ได้\\\" pronunciation=\\\"mâi dâi\\\" meaning=\\\"cannot / no\\\"}\\n\\n:::\\n\\n## Saying Yes\\n\\n| Response | When to Use |\\n|----------|-------------|\\n| ใช่ครับ/ค่ะ | Confirming something is correct |\\n| ครับ/ค่ะ | Acknowledging, \\\"yes, I understand\\\" |\\n| ได้ครับ/ค่ะ | \\\"Yes, I can\\\" / \\\"Okay\\\" |\\n| โอเคครับ/ค่ะ | \\\"Okay\\\" (informal) |\\n\\n## Saying No (Politely)\\n\\n| Response | When to Use |\\n|----------|-------------|\\n| ไม่ใช่ครับ/ค่ะ | \\\"No, that's not correct\\\" |\\n| ไม่ครับ/ค่ะ | Simple \\\"no\\\" |\\n| ไม่ได้ครับ/ค่ะ | \\\"I can't\\\" / \\\"It's not possible\\\" |\\n| ไม่เอาครับ/ค่ะ | \\\"I don't want it\\\" |\\n| ไม่เป็นไร | \\\"It's okay\\\" / \\\"No problem\\\" |\\n\\n## Thanks & Apologies\\n\\n:::vocabulary-set{id=\\\"thai-thanks-sorry\\\" title=\\\"Thanks and Apologies\\\"}\\n\\n::vocab-item{id=\\\"khob-khun\\\" word=\\\"ขอบคุณ\\\" pronunciation=\\\"khɔ̀ɔp-khun\\\" meaning=\\\"thank you\\\"}\\n\\n::vocab-item{id=\\\"khob-khun-maak\\\" word=\\\"ขอบคุณมาก\\\" pronunciation=\\\"khɔ̀ɔp-khun mâak\\\" meaning=\\\"thank you very much\\\"}\\n\\n::vocab-item{id=\\\"khor-thot\\\" word=\\\"ขอโทษ\\\" pronunciation=\\\"khɔ̌ɔ-thôot\\\" meaning=\\\"sorry / excuse me\\\"}\\n\\n::vocab-item{id=\\\"mai-pen-rai\\\" word=\\\"ไม่เป็นไร\\\" pronunciation=\\\"mâi bpen rai\\\" meaning=\\\"no problem / you're welcome\\\"}\\n\\n:::\\n\\n## Using ขอโทษ\\n\\nขอโทษ works for both \\\"excuse me\\\" and \\\"I'm sorry\\\":\\n\\n| Situation | Usage |\\n|-----------|-------|\\n| Getting attention | ขอโทษครับ (Excuse me...) |\\n| Apologizing | ขอโทษครับ ผมมาสาย (Sorry, I'm late) |\\n| Passing by | ขอโทษครับ (Excuse me, coming through) |\\n\\n## Responding to Thanks\\n\\n| Response | Meaning |\\n|----------|---------|\\n| ไม่เป็นไร | No problem / You're welcome |\\n| ยินดี | My pleasure |\\n| ด้วยความยินดี | With pleasure (formal) |\\n\\n## Common Exchanges\\n\\n**At a restaurant:**\\n- คุณ: ขอเมนูหน่อยครับ (May I have a menu?)\\n- พนักงาน: ได้ค่ะ (Yes, of course)\\n- คุณ: ขอบคุณครับ (Thank you)\\n- พนักงาน: ไม่เป็นไรค่ะ (You're welcome)\\n\\n**Asking for help:**\\n- คุณ: ขอโทษครับ ช่วยบอกทางหน่อยได้ไหมครับ (Excuse me, could you give me directions?)\\n- คนไทย: ได้ครับ (Sure)\\n\\n## Key Points\\n\\n1. **ขอ for polite requests**: \\\"May I have...\\\"\\n2. **หน่อย softens**: Add to any request\\n3. **ได้ means \\\"can/okay\\\"**: Use for agreeing\\n4. **ไม่เป็นไร is versatile**: No problem, you're welcome, it's okay\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"requests-1-polite-forms\\\" type=\\\"matching\\\" title=\\\"Polite Request Forms\\\" skill=\\\"polite-register\\\" objectiveId=\\\"obj-requests-ask-politely\\\"}\\n\\n**Question:** Match each request form to its level of politeness\\n\\n- ขอน้ำหน่อย\\n- เอาน้ำ\\n- ช่วยให้น้ำหน่อย\\n\\n**Answer:**\\n\\n- ขอน้ำหน่อย → Most polite (\\\"May I have some water, please?\\\")\\n- เอาน้ำ → Direct but acceptable (\\\"I'll have water\\\")\\n- ช่วยให้น้ำหน่อย → Asking for help (\\\"Could you give me water, please?\\\")\\n\\n**Explanation:** ขอ is the most polite form for requesting things. เอา is more direct. ช่วย is for asking someone to do something for you. Adding หน่อย makes any request softer.\\n\\n:::\\n\\n:::exercise{id=\\\"requests-1-yes-no-forms\\\" type=\\\"fill-in-blank\\\" title=\\\"Yes and No Forms\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-requests-yes-no\\\"}\\n\\n**Question:** When do you use each form of \\\"yes\\\" and \\\"no\\\"?\\n\\n- ใช่ (châi)\\n- ได้ (dâi)\\n- ไม่ใช่ (mâi châi)\\n- ไม่ได้ (mâi dâi)\\n\\n**Answer:**\\n\\n- ใช่ → \\\"Yes, that's correct\\\" (confirming truth)\\n- ได้ → \\\"Yes, I can\\\" / \\\"Okay\\\" (ability/agreement)\\n- ไม่ใช่ → \\\"No, that's not correct\\\" (denying truth)\\n- ไม่ได้ → \\\"No, I can't\\\" / \\\"It's not possible\\\" (denying ability)\\n\\n**Explanation:** ใช่/ไม่ใช่ are for confirming or denying correctness. ได้/ไม่ได้ are for ability or permission. Choose based on what you're responding to.\\n\\n:::\\n\\n:::exercise{id=\\\"requests-1-thanks-apology\\\" type=\\\"multiple-choice\\\" title=\\\"Thanks and Apologies\\\" skill=\\\"situational-response\\\" objectiveId=\\\"obj-requests-thanks-apologies\\\"}\\n\\n**Question:** When should you use ขอโทษ (khɔ̌ɔ-thôot)?\\n\\n**Options:**\\n- Only when apologizing\\n- Only when getting attention\\n- Both for \\\"excuse me\\\" and \\\"I'm sorry\\\"\\n- Never use it\\n\\n**Answer:** 3\\n\\n**Explanation:** ขอโทษ is versatile — use it to get someone's attention (\\\"Excuse me\\\") or to apologize (\\\"I'm sorry\\\"). Context determines the meaning. It's always polite and appropriate.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 5, you'll learn to express feelings and opinions — likes, dislikes, and emotions.\\n\""],"names":["lesson04"],"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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -1,190 +0,0 @@
1
- const n = `---
2
- type: lesson
3
- id: thai-grammar-lesson-04
4
- title: "บทที่ 4 — ลักษณนาม"
5
- description: "Classifiers: Counting with classifiers"
6
- order: 4
7
- parentId: thai-grammar
8
- difficulty: intermediate
9
- cefrLevel: A2
10
- categories:
11
- - grammar
12
- - classifiers
13
- metadata:
14
- estimatedTime: 35
15
- prerequisites:
16
- - thai-grammar-lesson-03
17
- learningObjectives:
18
- - id: obj-04-classifier-system
19
- description: "Understand the classifier system"
20
- skill: pattern-recognition
21
- - id: obj-04-use-classifiers
22
- description: "Use common classifiers correctly"
23
- skill: word-production
24
- - id: obj-04-count-objects
25
- description: "Count objects with classifiers"
26
- skill: pattern-application
27
- ---
28
-
29
- # บทที่ 4 (Lesson 4) — Classifiers
30
-
31
- ## Introduction
32
-
33
- Thai requires **classifiers** when counting. Think of them like "pieces of paper" or "cups of coffee" - but for everything!
34
-
35
- ## The Pattern
36
-
37
- **Noun + Number + Classifier**
38
-
39
- | Thai | Pattern | Meaning |
40
- |------|---------|---------|
41
- | หมา 3 ตัว | dog + 3 + clf | 3 dogs |
42
- | หนังสือ 2 เล่ม | book + 2 + clf | 2 books |
43
- | คน 5 คน | person + 5 + clf | 5 people |
44
-
45
- ## Common Classifiers
46
-
47
- | Classifier | Romanization | Used For |
48
- |------------|--------------|----------|
49
- | ตัว | dtuua | animals, shirts, chairs |
50
- | คน | khon | people |
51
- | อัน | an | small objects, round things |
52
- | เล่ม | lêm | books, knives |
53
- | ใบ | bai | flat things, bags, leaves |
54
- | แก้ว | gâew | glasses (of liquid) |
55
- | ขวด | khùuat | bottles |
56
- | จาน | jaan | plates (of food) |
57
- | คัน | khan | vehicles, umbrellas |
58
- | หลัง | lǎng | houses |
59
- | ห้อง | hâwng | rooms |
60
-
61
- ## Examples
62
-
63
- | Thai | Meaning |
64
- |------|---------|
65
- | แมว 2 ตัว | 2 cats |
66
- | นักเรียน 10 คน | 10 students |
67
- | กระเป๋า 1 ใบ | 1 bag |
68
- | รถ 3 คัน | 3 cars |
69
- | บ้าน 1 หลัง | 1 house |
70
- | น้ำ 2 แก้ว | 2 glasses of water |
71
- | เบียร์ 3 ขวด | 3 bottles of beer |
72
-
73
- ## Ordering Food
74
-
75
- When ordering, use the pattern: **Dish + Number + Classifier**
76
-
77
- | Order | Meaning |
78
- |-------|---------|
79
- | ผัดไทย 2 จาน | 2 plates of pad thai |
80
- | น้ำส้ม 1 แก้ว | 1 glass of orange juice |
81
- | ข้าว 3 จาน | 3 plates of rice |
82
- | กาแฟ 2 แก้ว | 2 cups of coffee |
83
-
84
- ## Asking "How Many?"
85
-
86
- **กี่ (gìi) + Classifier?**
87
-
88
- | Question | Answer |
89
- |----------|--------|
90
- | กี่คน? (How many people?) | 5 คน |
91
- | กี่ตัว? (How many animals?) | 3 ตัว |
92
- | กี่ใบ? (How many [flat]?) | 2 ใบ |
93
-
94
- ## Special Cases
95
-
96
- ### When Noun = Classifier
97
- Some words are their own classifier:
98
- - คน (person) → คน 3 คน (3 people)
99
- - ห้อง (room) → ห้อง 2 ห้อง (2 rooms)
100
-
101
- ### Generic Classifier: อัน
102
- When unsure, **อัน** works for many small objects:
103
- - อันนี้ (this one)
104
- - อันไหน? (which one?)
105
- - 2 อัน (2 of them)
106
-
107
- ## Demonstratives with Classifiers
108
-
109
- | Thai | Meaning |
110
- |------|---------|
111
- | อันนี้ | this one |
112
- | อันนั้น | that one |
113
- | ตัวไหน? | which one? (animal/shirt) |
114
- | คนนั้น | that person |
115
-
116
- ## Key Points
117
-
118
- 1. **Pattern**: Noun + Number + Classifier
119
- 2. **ตัว** - animals, clothing, furniture
120
- 3. **คน** - people
121
- 4. **ใบ** - flat things, bags, tickets
122
- 5. **อัน** - generic for small objects
123
- 6. **กี่** - "how many?" (+ classifier)
124
-
125
- ## Practice Exercises
126
-
127
- :::exercise{id="grammar-4-classifier-pattern" type="fill-in-blank" title="Classifier Pattern Practice" skill="word-production" objectiveId="obj-04-use-classifiers"}
128
-
129
- **Question:** Complete these phrases with the correct classifier:
130
-
131
- - หมา 3 ___ (3 dogs)
132
- - คน 5 ___ (5 people)
133
- - หนังสือ 2 ___ (2 books)
134
- - น้ำ 1 ___ (1 glass of water)
135
-
136
- **Answer:**
137
-
138
- - หมา 3 **ตัว** (animals use ตัว)
139
- - คน 5 **คน** (people use คน - same word as noun)
140
- - หนังสือ 2 **เล่ม** (books use เล่ม)
141
- - น้ำ 1 **แก้ว** (glasses of liquid use แก้ว)
142
-
143
- **Explanation:** Each noun requires a specific classifier. Animals use ตัว, people use คน, books use เล่ม, and glasses of liquid use แก้ว. When in doubt, อัน works for many small objects.
144
-
145
- :::
146
-
147
- :::exercise{id="grammar-4-asking-quantity" type="matching" title="Asking "How Many?"" skill="pattern-recognition" objectiveId="obj-04-classifier-system"}
148
-
149
- **Question:** Match each question to its meaning
150
-
151
- - กี่คน?
152
- - กี่ตัว?
153
- - กี่ใบ?
154
- - กี่แก้ว?
155
-
156
- **Answer:**
157
-
158
- - กี่คน? → How many people?
159
- - กี่ตัว? → How many animals/items (using ตัว)?
160
- - กี่ใบ? → How many flat things/bags?
161
- - กี่แก้ว? → How many glasses?
162
-
163
- **Explanation:** กี่ means "how many" and must be followed by a classifier. The classifier determines what you're counting.
164
-
165
- :::
166
-
167
- :::exercise{id="grammar-4-ordering-practice" type="multiple-choice" title="Ordering with Classifiers" skill="pattern-application" objectiveId="obj-04-count-objects"}
168
-
169
- **Question:** How do you order "2 plates of pad thai" in Thai?
170
-
171
- **Options:**
172
- - ผัดไทย 2
173
- - 2 ผัดไทย
174
- - ผัดไทย 2 จาน
175
- - ผัดไทย 2 แก้ว
176
-
177
- **Answer:** 3
178
-
179
- **Explanation:** The pattern is: [dish] + [number] + [classifier]. For plates of food, use จาน. So "2 plates of pad thai" is ผัดไทย 2 จาน (or ผัดไทย สอง จาน with Thai numerals).
180
-
181
- :::
182
-
183
- ## What's Next
184
-
185
- In Lesson 5, you'll master polite particles — ครับ, ค่ะ, นะ, and more. These make your Thai sound natural and polite!
186
- `;
187
- export {
188
- n as default
189
- };
190
- //# sourceMappingURL=lesson-04-B9h0p9kE.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lesson-04-B9h0p9kE.js","sources":["../src/syllabi/grammar/lessons/lesson-04.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-grammar-lesson-04\\ntitle: \\\"บทที่ 4 — ลักษณนาม\\\"\\ndescription: \\\"Classifiers: Counting with classifiers\\\"\\norder: 4\\nparentId: thai-grammar\\ndifficulty: intermediate\\ncefrLevel: A2\\ncategories:\\n - grammar\\n - classifiers\\nmetadata:\\n estimatedTime: 35\\n prerequisites:\\n - thai-grammar-lesson-03\\n learningObjectives:\\n - id: obj-04-classifier-system\\n description: \\\"Understand the classifier system\\\"\\n skill: pattern-recognition\\n - id: obj-04-use-classifiers\\n description: \\\"Use common classifiers correctly\\\"\\n skill: word-production\\n - id: obj-04-count-objects\\n description: \\\"Count objects with classifiers\\\"\\n skill: pattern-application\\n---\\n\\n# บทที่ 4 (Lesson 4) — Classifiers\\n\\n## Introduction\\n\\nThai requires **classifiers** when counting. Think of them like \\\"pieces of paper\\\" or \\\"cups of coffee\\\" - but for everything!\\n\\n## The Pattern\\n\\n**Noun + Number + Classifier**\\n\\n| Thai | Pattern | Meaning |\\n|------|---------|---------|\\n| หมา 3 ตัว | dog + 3 + clf | 3 dogs |\\n| หนังสือ 2 เล่ม | book + 2 + clf | 2 books |\\n| คน 5 คน | person + 5 + clf | 5 people |\\n\\n## Common Classifiers\\n\\n| Classifier | Romanization | Used For |\\n|------------|--------------|----------|\\n| ตัว | dtuua | animals, shirts, chairs |\\n| คน | khon | people |\\n| อัน | an | small objects, round things |\\n| เล่ม | lêm | books, knives |\\n| ใบ | bai | flat things, bags, leaves |\\n| แก้ว | gâew | glasses (of liquid) |\\n| ขวด | khùuat | bottles |\\n| จาน | jaan | plates (of food) |\\n| คัน | khan | vehicles, umbrellas |\\n| หลัง | lǎng | houses |\\n| ห้อง | hâwng | rooms |\\n\\n## Examples\\n\\n| Thai | Meaning |\\n|------|---------|\\n| แมว 2 ตัว | 2 cats |\\n| นักเรียน 10 คน | 10 students |\\n| กระเป๋า 1 ใบ | 1 bag |\\n| รถ 3 คัน | 3 cars |\\n| บ้าน 1 หลัง | 1 house |\\n| น้ำ 2 แก้ว | 2 glasses of water |\\n| เบียร์ 3 ขวด | 3 bottles of beer |\\n\\n## Ordering Food\\n\\nWhen ordering, use the pattern: **Dish + Number + Classifier**\\n\\n| Order | Meaning |\\n|-------|---------|\\n| ผัดไทย 2 จาน | 2 plates of pad thai |\\n| น้ำส้ม 1 แก้ว | 1 glass of orange juice |\\n| ข้าว 3 จาน | 3 plates of rice |\\n| กาแฟ 2 แก้ว | 2 cups of coffee |\\n\\n## Asking \\\"How Many?\\\"\\n\\n**กี่ (gìi) + Classifier?**\\n\\n| Question | Answer |\\n|----------|--------|\\n| กี่คน? (How many people?) | 5 คน |\\n| กี่ตัว? (How many animals?) | 3 ตัว |\\n| กี่ใบ? (How many [flat]?) | 2 ใบ |\\n\\n## Special Cases\\n\\n### When Noun = Classifier\\nSome words are their own classifier:\\n- คน (person) → คน 3 คน (3 people)\\n- ห้อง (room) → ห้อง 2 ห้อง (2 rooms)\\n\\n### Generic Classifier: อัน\\nWhen unsure, **อัน** works for many small objects:\\n- อันนี้ (this one)\\n- อันไหน? (which one?)\\n- 2 อัน (2 of them)\\n\\n## Demonstratives with Classifiers\\n\\n| Thai | Meaning |\\n|------|---------|\\n| อันนี้ | this one |\\n| อันนั้น | that one |\\n| ตัวไหน? | which one? (animal/shirt) |\\n| คนนั้น | that person |\\n\\n## Key Points\\n\\n1. **Pattern**: Noun + Number + Classifier\\n2. **ตัว** - animals, clothing, furniture\\n3. **คน** - people\\n4. **ใบ** - flat things, bags, tickets\\n5. **อัน** - generic for small objects\\n6. **กี่** - \\\"how many?\\\" (+ classifier)\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"grammar-4-classifier-pattern\\\" type=\\\"fill-in-blank\\\" title=\\\"Classifier Pattern Practice\\\" skill=\\\"word-production\\\" objectiveId=\\\"obj-04-use-classifiers\\\"}\\n\\n**Question:** Complete these phrases with the correct classifier:\\n\\n- หมา 3 ___ (3 dogs)\\n- คน 5 ___ (5 people)\\n- หนังสือ 2 ___ (2 books)\\n- น้ำ 1 ___ (1 glass of water)\\n\\n**Answer:**\\n\\n- หมา 3 **ตัว** (animals use ตัว)\\n- คน 5 **คน** (people use คน - same word as noun)\\n- หนังสือ 2 **เล่ม** (books use เล่ม)\\n- น้ำ 1 **แก้ว** (glasses of liquid use แก้ว)\\n\\n**Explanation:** Each noun requires a specific classifier. Animals use ตัว, people use คน, books use เล่ม, and glasses of liquid use แก้ว. When in doubt, อัน works for many small objects.\\n\\n:::\\n\\n:::exercise{id=\\\"grammar-4-asking-quantity\\\" type=\\\"matching\\\" title=\\\"Asking \\\"How Many?\\\"\\\" skill=\\\"pattern-recognition\\\" objectiveId=\\\"obj-04-classifier-system\\\"}\\n\\n**Question:** Match each question to its meaning\\n\\n- กี่คน?\\n- กี่ตัว?\\n- กี่ใบ?\\n- กี่แก้ว?\\n\\n**Answer:**\\n\\n- กี่คน? → How many people?\\n- กี่ตัว? → How many animals/items (using ตัว)?\\n- กี่ใบ? → How many flat things/bags?\\n- กี่แก้ว? → How many glasses?\\n\\n**Explanation:** กี่ means \\\"how many\\\" and must be followed by a classifier. The classifier determines what you're counting.\\n\\n:::\\n\\n:::exercise{id=\\\"grammar-4-ordering-practice\\\" type=\\\"multiple-choice\\\" title=\\\"Ordering with Classifiers\\\" skill=\\\"pattern-application\\\" objectiveId=\\\"obj-04-count-objects\\\"}\\n\\n**Question:** How do you order \\\"2 plates of pad thai\\\" in Thai?\\n\\n**Options:**\\n- ผัดไทย 2\\n- 2 ผัดไทย\\n- ผัดไทย 2 จาน\\n- ผัดไทย 2 แก้ว\\n\\n**Answer:** 3\\n\\n**Explanation:** The pattern is: [dish] + [number] + [classifier]. For plates of food, use จาน. So \\\"2 plates of pad thai\\\" is ผัดไทย 2 จาน (or ผัดไทย สอง จาน with Thai numerals).\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 5, you'll master polite particles — ครับ, ค่ะ, นะ, and more. These make your Thai sound natural and polite!\\n\""],"names":["lesson04"],"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;"}
@@ -1,216 +0,0 @@
1
- const n = `---
2
- type: lesson
3
- id: thai-script-lesson-04
4
- title: "บทที่ 4 — พยัญชนะสูง II"
5
- description: "High-Class Consonants Part 2: ถ ฉ ผ ฝ — Completing the aspirated set"
6
- order: 4
7
- parentId: thai-script-alphabet
8
- difficulty: beginner
9
- cefrLevel: A1
10
- categories:
11
- - consonants
12
- - high-class
13
- - aspirated
14
- - basic-characters
15
- metadata:
16
- estimatedTime: 25
17
- prerequisites:
18
- - thai-script-lesson-03
19
- learningObjectives:
20
- - id: obj-high-consonants-2
21
- description: "Learn 4 more high-class consonants"
22
- skill: character-recognition
23
- references: [bag, cymbals, bee, lid]
24
- - id: obj-th-ph-sounds
25
- description: "Understand TH and PH/F sound pairs"
26
- skill: character-sound-mapping
27
- - id: obj-complete-high
28
- description: "Complete your high-class consonant inventory"
29
- skill: character-recognition
30
- - id: obj-aspirated-distinction
31
- description: "Practice distinguishing aspirated sounds"
32
- skill: character-sound-mapping
33
- ---
34
-
35
- # บทที่ 4 (Lesson 4) — High-Class Consonants II
36
-
37
- ## Introduction
38
-
39
- In this lesson, you'll learn 4 more high-class consonants, focusing on the **TH** sounds (ถ) and **PH/F** sounds (ฉ ผ ฝ). These complete the most common high-class consonants.
40
-
41
- ## The TH Sound Family
42
-
43
- Thai has many consonants romanized as "TH" — but they're NOT like English "th" (as in "think"). Thai TH is simply an **aspirated T** — a T with a puff of air. The tongue position is the same as T, not the English TH.
44
-
45
- | Consonant | Class | Sound | Notes |
46
- |-----------|-------|-------|-------|
47
- | ต | Middle | t (unaspirated) | No air puff |
48
- | ถ | High | th (aspirated) | Strong air puff |
49
- | ท | Low | th (aspirated) | Same as ถ, different class |
50
- | ธ | Low | th (aspirated) | Same sound |
51
-
52
- The TH consonants all sound identical! The class determines tone, not sound quality.
53
-
54
- ## Characters
55
-
56
- :::character-set{id="thai-high-consonants-2" title="High-Class Consonants II"}
57
-
58
- ::character{id="bag" canonicalRef="bag" data:class="high" char="ถ" name="ถ ถุง (thɔ̌ɔ thǔng)" nativeName="ถ ถุง" transliteration="th/t" charType="consonant"}
59
-
60
- ::character{id="cymbals" canonicalRef="cymbals" data:class="high" char="ฉ" name="ฉ ฉิ่ง (chɔ̌ɔ chìng)" nativeName="ฉ ฉิ่ง" transliteration="ch/-" charType="consonant"}
61
-
62
- ::character{id="bee" canonicalRef="bee" data:class="high" char="ผ" name="ผ ผึ้ง (phɔ̌ɔ phʉ̂ng)" nativeName="ผ ผึ้ง" transliteration="ph/-" charType="consonant"}
63
-
64
- ::character{id="lid" canonicalRef="lid" data:class="high" char="ฝ" name="ฝ ฝา (fɔ̌ɔ fǎa)" nativeName="ฝ ฝา" transliteration="f/-" charType="consonant"}
65
-
66
- :::
67
-
68
- ## The CH Sound Pair
69
-
70
- Thai has two CH consonants:
71
-
72
- | Consonant | Class | Example |
73
- |-----------|-------|---------|
74
- | ฉ (cymbals) | High | ฉัน (chǎn) "I" — rising tone |
75
- | ช (elephant) | Low | ช้าง (cháang) "elephant" |
76
-
77
- Both sound like English "ch" in "chair". The difference is purely tonal:
78
- - ฉา = chǎa (rising)
79
- - ชา = chaa (mid) or cháa (with tone mark)
80
-
81
- ## The PH/F Family
82
-
83
- Thai distinguishes between aspirated P (PH) and F:
84
-
85
- **PH sounds** (aspirated P, lips together then release):
86
- | Consonant | Class |
87
- |-----------|-------|
88
- | ผ (bee) | High |
89
- | พ (tray) | Low |
90
- | ภ (ship) | Low |
91
-
92
- **F sounds** (continuous air through lips):
93
- | Consonant | Class |
94
- |-----------|-------|
95
- | ฝ (lid) | High |
96
- | ฟ (tooth) | Low |
97
-
98
- To English speakers, PH and F sound similar. In Thai:
99
- - **PH** = explosive release (like English "p" + breath)
100
- - **F** = continuous friction (like English "f")
101
-
102
- ## Why So Many Duplicates?
103
-
104
- You might wonder: why have ถ ท ธ all making the same TH sound?
105
-
106
- Historical reasons! These consonants came from different Sanskrit/Pali sounds:
107
- - ถ, ท = different Sanskrit dental sounds
108
- - ธ = Sanskrit voiced aspirate
109
-
110
- Over centuries, they merged in pronunciation but remained distinct in spelling — like English "knight" keeping its silent K.
111
-
112
- ## Consonants Without Final Forms
113
-
114
- Notice that ฉ, ผ, and ฝ have no final sound listed. These consonants:
115
- 1. Rarely or never appear in final position in native Thai words
116
- 2. When they do (in loanwords), they're pronounced as the closest final sound
117
-
118
- This is common for high-class consonants — many are initial-only.
119
-
120
- ## High-Class Summary
121
-
122
- You've now learned 7 of the 11 high-class consonants:
123
-
124
- | Learned | Sound | Mnemonic |
125
- |---------|-------|----------|
126
- | ข | kh | Egg |
127
- | ส | s | Tiger |
128
- | ห | h | Box |
129
- | ถ | th | Bag |
130
- | ฉ | ch | Cymbals |
131
- | ผ | ph | Bee |
132
- | ฝ | f | Lid |
133
-
134
- The remaining 4 (ฐ ศ ษ ฑ) are rare and will be covered in advanced lessons.
135
-
136
- ## Key Points
137
-
138
- 1. **Thai TH ≠ English TH**: It's aspirated T, not the "think" sound
139
- 2. **PH ≠ F**: PH is explosive, F is continuous friction
140
- 3. **Same sound, different class**: Many TH and PH consonants sound identical
141
- 4. **Initial-only consonants**: ฉ, ผ, ฝ almost never end syllables
142
- 5. **Historical spelling**: Duplicate sounds exist due to Sanskrit origins
143
-
144
- ## Shape Recognition
145
-
146
- - **ถ** looks like ก/ข family (K-sounds) with modifications
147
- - **ฉ** has a hook shape
148
- - **ผ** and **ฝ** look similar — ฝ has the extra curve on top
149
- - Note how related sounds often have related shapes
150
-
151
- ## Practice Exercises
152
-
153
- :::exercise{id="high-2-matching" type="matching" title="Match Consonants to Mnemonics" skill="character-name-recall" tests="bag,cymbals,bee,lid" objectiveId="obj-high-consonants-2"}
154
-
155
- **Question:** Match each high-class consonant to its mnemonic word
156
-
157
- - ถ
158
- - ฉ
159
- - ผ
160
- - ฝ
161
-
162
- **Answer:**
163
-
164
- - bag (ถุง)
165
- - cymbals (ฉิ่ง)
166
- - bee (ผึ้ง)
167
- - lid (ฝา)
168
-
169
- **Explanation:** Each Thai consonant has a traditional mnemonic word that helps remember both the character and its sound.
170
-
171
- :::
172
-
173
- :::exercise{id="high-2-sound-recognition" type="fill-in-blank" title="Sound Recognition" skill="character-sound-mapping" tests="bag,cymbals,bee,lid" objectiveId="obj-th-ph-sounds"}
174
-
175
- **Question:** Which consonant makes each sound?
176
-
177
- - Aspirated TH sound (like "top" with more breath)
178
- - CH sound (like "chair")
179
- - Aspirated PH sound (explosive P with breath)
180
- - F sound (continuous friction)
181
-
182
- **Answer:**
183
-
184
- - ถ (thɔ̌ɔ thǔng)
185
- - ฉ (chɔ̌ɔ chìng)
186
- - ผ (phɔ̌ɔ phʉ̂ng)
187
- - ฝ (fɔ̌ɔ fǎa)
188
-
189
- **Explanation:** High-class consonants are aspirated versions of sounds. PH is explosive (lips together then release), while F is continuous (air through lips).
190
-
191
- :::
192
-
193
- :::exercise{id="high-2-class-comparison" type="multiple-choice" title="Class Comparison" skill="character-class-identification" objectiveId="obj-aspirated-distinction"}
194
-
195
- **Question:** Which pair of consonants makes the same sound but belongs to different classes?
196
-
197
- **Options:**
198
- - ก and ข
199
- - ถ and ท
200
- - ผ and ฝ
201
- - ฉ and ช
202
-
203
- **Answer:** 4
204
-
205
- **Explanation:** ฉ (high-class) and ช (low-class) both make the CH sound but belong to different classes, affecting tone. Similarly, ถ (high) and ท (low) both make TH sound.
206
-
207
- :::
208
-
209
- ## What's Next
210
-
211
- In Lesson 5, you'll begin learning **low-class consonants** — the largest group, with 24 members! You'll start with the most common ones: น ง ว.
212
- `;
213
- export {
214
- n as default
215
- };
216
- //# sourceMappingURL=lesson-04-BLuPI1-X.js.map