@syllst/th 0.2.3 → 0.3.11

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 +21 -15
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +98 -59
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.umd.cjs +106 -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,146 +0,0 @@
1
- const n = `---
2
- type: lesson
3
- id: thai-reading-lesson-08
4
- title: "บทที่ 8 — ประกาศสั้น"
5
- description: "Short Notices: Read official notices and announcements"
6
- order: 8
7
- parentId: thai-reading
8
- difficulty: intermediate
9
- cefrLevel: B1
10
- categories:
11
- - reading
12
- - notices
13
- - formal
14
- metadata:
15
- estimatedTime: 30
16
- prerequisites:
17
- - thai-reading-lesson-07
18
- learningObjectives:
19
- - id: obj-r8-announcement-formats
20
- description: "Read official announcement formats"
21
- skill: reading-comprehension
22
- - id: obj-r8-formal-writing
23
- description: "Understand formal Thai writing"
24
- skill: word-recognition
25
- - id: obj-r8-notice-patterns
26
- description: "Recognize notice patterns"
27
- skill: pattern-recognition
28
- ---
29
-
30
- # Short Notices
31
-
32
- Official notices appear in buildings, offices, and public spaces. Learn their patterns.
33
-
34
- ## Notice Headers
35
-
36
- | Thai | Romanization | English |
37
- |------|--------------|---------|
38
- | ประกาศ | prakat | announcement |
39
- | แจ้งให้ทราบ | jaeng hai sap | notification |
40
- | ข้อบังคับ | kho bangkhap | regulation |
41
- | คำเตือน | kham tuean | warning notice |
42
-
43
- ## Common Phrases
44
-
45
- | Thai | Romanization | English |
46
- |------|--------------|---------|
47
- | ตั้งแต่วันที่ | tang tae wan thi | starting from |
48
- | จนถึงวันที่ | jon thung wan thi | until |
49
- | กรุณา | karuna | please (formal) |
50
- | ขอความร่วมมือ | kho khwam ruam mue | request cooperation |
51
-
52
- ## Official Terms
53
-
54
- | Thai | Romanization | English |
55
- |------|--------------|---------|
56
- | ฝ่ายบริหาร | fai borihan | management |
57
- | ผู้จัดการ | phu jatkan | manager |
58
- | เจ้าหน้าที่ | jao nathi | officer/staff |
59
- | ลูกค้า | lukkhaa | customer |
60
-
61
- ## Time References
62
-
63
- | Thai | Romanization | English |
64
- |------|--------------|---------|
65
- | ชั่วคราว | chua khrao | temporary |
66
- | ถาวร | thawon | permanent |
67
- | ระยะเวลา | rayawela | duration |
68
- | มีผลบังคับใช้ | mi phon bangkhap chai | effective |
69
-
70
- ## Sample Notice
71
-
72
- **ประกาศ**
73
- **เรื่อง: ปิดปรับปรุงลิฟต์**
74
-
75
- ฝ่ายบริหารขอแจ้งให้ทราบว่า ลิฟต์จะปิดปรับปรุงชั่วคราว ตั้งแต่วันที่ 15-17 มกราคม กรุณาใช้บันไดแทน
76
-
77
- ขออภัยในความไม่สะดวก
78
-
79
- *Announcement: Elevator maintenance. Management notifies that the elevator will be temporarily closed for maintenance from January 15-17. Please use stairs instead. Sorry for the inconvenience.*
80
-
81
- ## Practice Exercises
82
-
83
- :::exercise{id="reading-8-notice-headers" type="matching" title="Notice Header Recognition" skill="word-recognition" objectiveId="obj-r8-announcement-formats"}
84
-
85
- **Question:** Match each notice header to its meaning
86
-
87
- - ประกาศ
88
- - แจ้งให้ทราบ
89
- - ข้อบังคับ
90
- - คำเตือน
91
-
92
- **Answer:**
93
-
94
- - ประกาศ → Announcement (general)
95
- - แจ้งให้ทราบ → Notification (formal notice)
96
- - ข้อบังคับ → Regulation (rule/requirement)
97
- - คำเตือน → Warning notice
98
-
99
- **Explanation:** These headers indicate the type and formality of the notice. ประกาศ is most common. แจ้งให้ทราบ is more formal. ข้อบังคับ indicates a rule that must be followed.
100
-
101
- :::
102
-
103
- :::exercise{id="reading-8-formal-phrases" type="fill-in-blank" title="Formal Notice Phrases" skill="word-recognition" objectiveId="obj-r8-formal-writing"}
104
-
105
- **Question:** What do these formal phrases mean?
106
-
107
- - ตั้งแต่วันที่
108
- - จนถึงวันที่
109
- - กรุณา
110
- - ขอความร่วมมือ
111
-
112
- **Answer:**
113
-
114
- - ตั้งแต่วันที่ → Starting from (date)
115
- - จนถึงวันที่ → Until (date)
116
- - กรุณา → Please (formal)
117
- - ขอความร่วมมือ → Request cooperation
118
-
119
- **Explanation:** These are formal phrases common in official notices. ตั้งแต่ means "starting from", จนถึง means "until". กรุณา is formal "please". Learning these helps you understand official communications.
120
-
121
- :::
122
-
123
- :::exercise{id="reading-8-time-references" type="multiple-choice" title="Time References in Notices" skill="pattern-recognition" objectiveId="obj-r8-notice-patterns"}
124
-
125
- **Question:** What does "ชั่วคราว" mean in a notice?
126
-
127
- **Options:**
128
- - Permanent
129
- - Temporary
130
- - Effective immediately
131
- - Cancelled
132
-
133
- **Answer:** 2
134
-
135
- **Explanation:** ชั่วคราว means "temporary". ถาวร means "permanent". These words appear frequently in notices about closures, changes, or restrictions. Understanding them helps you know if something is temporary or permanent.
136
-
137
- :::
138
-
139
- ## What's Next
140
-
141
- In Lesson 9, you'll read simple stories — build reading fluency by following narrative structure and connected paragraphs in Thai.
142
- `;
143
- export {
144
- n as default
145
- };
146
- //# sourceMappingURL=lesson-08-BXm9GgdN.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lesson-08-BXm9GgdN.js","sources":["../src/syllabi/reading/lessons/lesson-08.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-reading-lesson-08\\ntitle: \\\"บทที่ 8 — ประกาศสั้น\\\"\\ndescription: \\\"Short Notices: Read official notices and announcements\\\"\\norder: 8\\nparentId: thai-reading\\ndifficulty: intermediate\\ncefrLevel: B1\\ncategories:\\n - reading\\n - notices\\n - formal\\nmetadata:\\n estimatedTime: 30\\n prerequisites:\\n - thai-reading-lesson-07\\n learningObjectives:\\n - id: obj-r8-announcement-formats\\n description: \\\"Read official announcement formats\\\"\\n skill: reading-comprehension\\n - id: obj-r8-formal-writing\\n description: \\\"Understand formal Thai writing\\\"\\n skill: word-recognition\\n - id: obj-r8-notice-patterns\\n description: \\\"Recognize notice patterns\\\"\\n skill: pattern-recognition\\n---\\n\\n# Short Notices\\n\\nOfficial notices appear in buildings, offices, and public spaces. Learn their patterns.\\n\\n## Notice Headers\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| ประกาศ | prakat | announcement |\\n| แจ้งให้ทราบ | jaeng hai sap | notification |\\n| ข้อบังคับ | kho bangkhap | regulation |\\n| คำเตือน | kham tuean | warning notice |\\n\\n## Common Phrases\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| ตั้งแต่วันที่ | tang tae wan thi | starting from |\\n| จนถึงวันที่ | jon thung wan thi | until |\\n| กรุณา | karuna | please (formal) |\\n| ขอความร่วมมือ | kho khwam ruam mue | request cooperation |\\n\\n## Official Terms\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| ฝ่ายบริหาร | fai borihan | management |\\n| ผู้จัดการ | phu jatkan | manager |\\n| เจ้าหน้าที่ | jao nathi | officer/staff |\\n| ลูกค้า | lukkhaa | customer |\\n\\n## Time References\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| ชั่วคราว | chua khrao | temporary |\\n| ถาวร | thawon | permanent |\\n| ระยะเวลา | rayawela | duration |\\n| มีผลบังคับใช้ | mi phon bangkhap chai | effective |\\n\\n## Sample Notice\\n\\n**ประกาศ**\\n**เรื่อง: ปิดปรับปรุงลิฟต์**\\n\\nฝ่ายบริหารขอแจ้งให้ทราบว่า ลิฟต์จะปิดปรับปรุงชั่วคราว ตั้งแต่วันที่ 15-17 มกราคม กรุณาใช้บันไดแทน\\n\\nขออภัยในความไม่สะดวก\\n\\n*Announcement: Elevator maintenance. Management notifies that the elevator will be temporarily closed for maintenance from January 15-17. Please use stairs instead. Sorry for the inconvenience.*\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"reading-8-notice-headers\\\" type=\\\"matching\\\" title=\\\"Notice Header Recognition\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-r8-announcement-formats\\\"}\\n\\n**Question:** Match each notice header to its meaning\\n\\n- ประกาศ\\n- แจ้งให้ทราบ\\n- ข้อบังคับ\\n- คำเตือน\\n\\n**Answer:**\\n\\n- ประกาศ → Announcement (general)\\n- แจ้งให้ทราบ → Notification (formal notice)\\n- ข้อบังคับ → Regulation (rule/requirement)\\n- คำเตือน → Warning notice\\n\\n**Explanation:** These headers indicate the type and formality of the notice. ประกาศ is most common. แจ้งให้ทราบ is more formal. ข้อบังคับ indicates a rule that must be followed.\\n\\n:::\\n\\n:::exercise{id=\\\"reading-8-formal-phrases\\\" type=\\\"fill-in-blank\\\" title=\\\"Formal Notice Phrases\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-r8-formal-writing\\\"}\\n\\n**Question:** What do these formal phrases mean?\\n\\n- ตั้งแต่วันที่\\n- จนถึงวันที่\\n- กรุณา\\n- ขอความร่วมมือ\\n\\n**Answer:**\\n\\n- ตั้งแต่วันที่ → Starting from (date)\\n- จนถึงวันที่ → Until (date)\\n- กรุณา → Please (formal)\\n- ขอความร่วมมือ → Request cooperation\\n\\n**Explanation:** These are formal phrases common in official notices. ตั้งแต่ means \\\"starting from\\\", จนถึง means \\\"until\\\". กรุณา is formal \\\"please\\\". Learning these helps you understand official communications.\\n\\n:::\\n\\n:::exercise{id=\\\"reading-8-time-references\\\" type=\\\"multiple-choice\\\" title=\\\"Time References in Notices\\\" skill=\\\"pattern-recognition\\\" objectiveId=\\\"obj-r8-notice-patterns\\\"}\\n\\n**Question:** What does \\\"ชั่วคราว\\\" mean in a notice?\\n\\n**Options:**\\n- Permanent\\n- Temporary\\n- Effective immediately\\n- Cancelled\\n\\n**Answer:** 2\\n\\n**Explanation:** ชั่วคราว means \\\"temporary\\\". ถาวร means \\\"permanent\\\". These words appear frequently in notices about closures, changes, or restrictions. Understanding them helps you know if something is temporary or permanent.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 9, you'll read simple stories — build reading fluency by following narrative structure and connected paragraphs in Thai.\\n\""],"names":["lesson08"],"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;"}
@@ -1,277 +0,0 @@
1
- const n = `---
2
- type: lesson
3
- id: thai-vowels-lesson-08
4
- title: "บทที่ 8 — กฎเสียงวรรณยุกต์"
5
- description: "Complete Tone Rules: Determining tone from syllable structure"
6
- order: 8
7
- parentId: thai-vowels-tones
8
- difficulty: intermediate
9
- cefrLevel: A1
10
- categories:
11
- - tones
12
- - tone-rules
13
- - phonology
14
- metadata:
15
- estimatedTime: 40
16
- prerequisites:
17
- - thai-vowels-lesson-07
18
- learningObjectives:
19
- - id: obj-live-vs-dead-syllables
20
- description: "Understand live vs dead syllables"
21
- skill: syllable-analysis
22
- references: []
23
- - id: obj-apply-tone-rules
24
- description: "Apply tone rules based on syllable structure"
25
- skill: tone-rule-application
26
- references: [mai-ek, mai-tho]
27
- - id: obj-complete-tone-system
28
- description: "Master the complete tone determination system"
29
- skill: tone-rule-application
30
- references: [mai-ek, mai-tho, mai-tri, mai-chattawa]
31
- - id: obj-read-tones-without-marks
32
- description: "Practice reading tones without marks"
33
- skill: syllable-analysis
34
- references: []
35
- ---
36
-
37
- # บทที่ 8 (Lesson 8) — Complete Tone Rules
38
-
39
- ## Introduction
40
-
41
- This final lesson ties everything together. You'll learn how to determine the tone of **any** Thai syllable — even those without tone marks — based on three factors:
42
- 1. **Consonant class** (middle, high, low)
43
- 2. **Vowel length** (short vs long)
44
- 3. **Syllable type** (live vs dead)
45
-
46
- ## Live vs Dead Syllables
47
-
48
- Thai syllables are classified as **live** (คำเป็น) or **dead** (คำตาย):
49
-
50
- | Type | Thai | Ends With | Example |
51
- |------|------|-----------|---------|
52
- | Live | คำเป็น | Long vowel OR sonorant (ง, น, ม, ย, ว, ร, ล) | มา, กิน |
53
- | Dead | คำตาย | Short vowel OR stop consonant (ก, บ, ด) | มะ, มัก |
54
-
55
- **Sonorants** are: ง, น, ม, ย, ว, ร, ล — these allow the voice to continue.
56
- **Stops** are: ก, บ, ด (and their homophones) — these cut off the sound.
57
-
58
- ## The Master Tone Chart
59
-
60
- This chart shows the default tone (no tone mark) for each combination:
61
-
62
- ### Without Tone Marks
63
-
64
- | Class | Live Syllable | Dead (Short) | Dead (Long) |
65
- |-------|---------------|--------------|-------------|
66
- | Middle | Mid | Low | Low |
67
- | High | Rising | Low | Low |
68
- | Low | Mid | High | Falling |
69
-
70
- ### With Mai Ek (่)
71
-
72
- | Class | Result |
73
- |-------|--------|
74
- | Middle | Low |
75
- | High | Low |
76
- | Low | Falling |
77
-
78
- ### With Mai Tho (้)
79
-
80
- | Class | Result |
81
- |-------|--------|
82
- | Middle | Falling |
83
- | High | Falling |
84
- | Low | High |
85
-
86
- ## Step-by-Step Tone Determination
87
-
88
- To find the tone of any syllable:
89
-
90
- 1. **Identify the initial consonant class** (middle, high, low)
91
- 2. **Check for tone marks** — if present, use the tone mark chart
92
- 3. **If no tone mark**:
93
- - Determine if the syllable is live or dead
94
- - If dead, check if the vowel is short or long
95
- - Apply the master chart
96
-
97
- ## Worked Examples
98
-
99
- ### Example 1: มา (maa)
100
- - Initial consonant: ม (low class)
101
- - Tone mark: none
102
- - Syllable type: live (ends in long vowel า)
103
- - **Result**: Mid tone → มา (maa)
104
-
105
- ### Example 2: มัก (mak)
106
- - Initial consonant: ม (low class)
107
- - Tone mark: none
108
- - Syllable type: dead (ends in stop ก)
109
- - Vowel: short (ั)
110
- - **Result**: High tone → มัก (mák)
111
-
112
- ### Example 3: ข้าว (khaao)
113
- - Initial consonant: ข (high class)
114
- - Tone mark: mai tho (้)
115
- - **Result**: Falling tone → ข้าว (khâao)
116
-
117
- ### Example 4: ตก (dtok)
118
- - Initial consonant: ต (middle class)
119
- - Tone mark: none
120
- - Syllable type: dead (ends in stop ก)
121
- - **Result**: Low tone → ตก (dtòk)
122
-
123
- ## The Leading ห Trick
124
-
125
- Low class consonants **cannot produce rising or low tones** on their own. Thai solves this with the "leading ห" pattern:
126
-
127
- **ห + low class consonant** = acts like high class
128
-
129
- | Without ห | With ห | Effect |
130
- |-----------|--------|--------|
131
- | มา (mid) | หมา (rising) | Now can get rising tone |
132
- | นา (mid) | หนา (rising) | Same pattern |
133
-
134
- This is why หมา (dog) has a rising tone even though ม is low class.
135
-
136
- ## Common Patterns
137
-
138
- ### Food Words Often Have Falling Tones
139
- - ข้าว (khâao) — rice
140
- - ก๋วยเตี๋ยว (gǔai-dtǐao) — noodles
141
- - น้ำ (náam) — water
142
-
143
- ### Question Particles
144
- - ไหม (mǎi) — yes/no question
145
- - หรือ (rʉ̌ʉ) — or
146
-
147
- ### Negation
148
- - ไม่ (mâi) — not
149
- - ไม่ใช่ (mâi châi) — is not
150
-
151
- ## Key Points
152
-
153
- 1. **Three factors**: Class + vowel length + syllable type determine tone
154
- 2. **Live vs dead**: Open syllables vs closed syllables
155
- 3. **Leading ห**: Converts low class behavior to high class
156
- 4. **Practice is key**: Eventually this becomes intuitive
157
-
158
- ## Tone Practice Checklist
159
-
160
- When reading a new word:
161
- 1. ✓ What class is the initial consonant?
162
- 2. ✓ Is there a tone mark?
163
- 3. ✓ If no mark: is it live or dead?
164
- 4. ✓ If dead: short or long vowel?
165
- 5. ✓ Apply the rule from the chart
166
-
167
- ## Common Mistakes to Avoid
168
-
169
- 1. **Forgetting syllable type**: Dead syllables without marks aren't mid tone
170
- 2. **Ignoring ห**: It's not silent — it changes the tone class
171
- 3. **Class confusion**: Review consonant classes from the alphabet course
172
- 4. **Over-relying on marks**: Many words have no tone marks
173
-
174
- ## Complete Tone Rules Summary Table
175
-
176
- ### Live Syllables (No Tone Mark)
177
-
178
- | Consonant Class | Tone | Example |
179
- |----------------|------|---------|
180
- | Middle | Mid | กา (gaa) |
181
- | High | Rising | ขา (khǎa) |
182
- | Low | Mid | คา (khaa) |
183
-
184
- ### Dead Syllables (No Tone Mark)
185
-
186
- | Consonant Class | Short Vowel | Long Vowel | Example (Short) |
187
- |----------------|------------|------------|-----------------|
188
- | Middle | Low | Low | ตก (dtòk) |
189
- | High | Low | Low | ขก (khòk) |
190
- | Low | High | Falling | มัก (mák) |
191
-
192
- ### With Tone Marks
193
-
194
- | Mark | Middle | High | Low |
195
- |------|--------|------|-----|
196
- | ◌่ (mai ek) | Low | Low | Falling |
197
- | ◌้ (mai tho) | Falling | Falling | High |
198
- | ◌๊ (mai tri) | High | — | — |
199
- | ◌๋ (mai chattawa) | Rising | — | — |
200
-
201
- ## Practice Exercises
202
-
203
- :::exercise{id="tone-rules-1-syllable-type" type="multiple-choice" title="Live vs Dead Syllable" skill="syllable-analysis" objectiveId="obj-live-vs-dead-syllables"}
204
-
205
- **Question:** Which syllable is "dead" (คำตาย)?
206
-
207
- **Options:**
208
- - มา (maa) - ends in long vowel
209
- - กิน (gin) - ends in น (sonorant)
210
- - ตก (dtok) - ends in ก (stop)
211
- - งู (nguu) - ends in long vowel
212
-
213
- **Answer:** 3
214
-
215
- **Explanation:** Dead syllables end in a stop consonant (ก, บ, ด) or have a short vowel. มา and งู are live (long vowels), กิน is live (ends in sonorant น), but ตก is dead (ends in stop ก).
216
-
217
- :::
218
-
219
- :::exercise{id="tone-rules-1-tone-determination" type="fill-in-blank" title="Tone Determination Practice" skill="tone-rule-application" tests="mai-tho" objectiveId="obj-apply-tone-rules"}
220
-
221
- **Question:** Determine the tone for these syllables:
222
-
223
- - มา (low-class ม, no mark, live syllable)
224
- - มัก (low-class ม, no mark, dead syllable, short vowel)
225
- - ขา (high-class ข, no mark, live syllable)
226
- - ค้า (low-class ค, mai tho, live syllable)
227
-
228
- **Answer:**
229
-
230
- - มา → Mid tone (low-class, live, no mark)
231
- - มัก → High tone (low-class, dead, short vowel, no mark)
232
- - ขา → Rising tone (high-class, live, no mark)
233
- - ค้า → High tone (low-class + mai tho = high tone exception)
234
-
235
- **Explanation:** Follow the step-by-step process: identify class, check for tone mark, determine syllable type, apply the rules from the chart.
236
-
237
- :::
238
-
239
- :::exercise{id="tone-rules-1-leading-h" type="matching" title="The Leading ห Trick" skill="tone-rule-application" objectiveId="obj-read-tones-without-marks"}
240
-
241
- **Question:** Match each word to how ห affects the tone
242
-
243
- - หมา (dog)
244
- - หนา (thick)
245
- - หงา (rare)
246
-
247
- **Answer:**
248
-
249
- - หมา → ห lifts ม (low-class) to high-class behavior, producing rising tone
250
- - หนา → ห lifts น (low-class) to high-class behavior, producing rising tone
251
- - หงา → ห lifts ง (low-class) to high-class behavior, producing rising tone
252
-
253
- **Explanation:** Leading ห (silent) changes low-class consonants to behave like high-class for tone purposes. This allows low-class consonants to produce rising tones, which they normally cannot do.
254
-
255
- :::
256
-
257
- ## What You've Learned
258
-
259
- Congratulations! You now understand:
260
- - All 32 Thai vowel forms
261
- - Short vs long vowel distinction
262
- - The 4 tone marks
263
- - Complete tone rules for any syllable
264
-
265
- ## Next Steps
266
-
267
- With vowels and tones mastered, you're ready for:
268
- - **Numbers & Counting** — Apply your reading skills to practical vocabulary
269
- - **Essential Phrases** — Start forming complete sentences
270
- - **Thai Typing** — Build muscle memory for keyboard input
271
-
272
- Your foundation is now solid. Everything from here builds on what you've learned!
273
- `;
274
- export {
275
- n as default
276
- };
277
- //# sourceMappingURL=lesson-08-Bru0PdEK.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lesson-08-Bru0PdEK.js","sources":["../src/syllabi/vowels-tones/lessons/lesson-08.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-vowels-lesson-08\\ntitle: \\\"บทที่ 8 — กฎเสียงวรรณยุกต์\\\"\\ndescription: \\\"Complete Tone Rules: Determining tone from syllable structure\\\"\\norder: 8\\nparentId: thai-vowels-tones\\ndifficulty: intermediate\\ncefrLevel: A1\\ncategories:\\n - tones\\n - tone-rules\\n - phonology\\nmetadata:\\n estimatedTime: 40\\n prerequisites:\\n - thai-vowels-lesson-07\\n learningObjectives:\\n - id: obj-live-vs-dead-syllables\\n description: \\\"Understand live vs dead syllables\\\"\\n skill: syllable-analysis\\n references: []\\n - id: obj-apply-tone-rules\\n description: \\\"Apply tone rules based on syllable structure\\\"\\n skill: tone-rule-application\\n references: [mai-ek, mai-tho]\\n - id: obj-complete-tone-system\\n description: \\\"Master the complete tone determination system\\\"\\n skill: tone-rule-application\\n references: [mai-ek, mai-tho, mai-tri, mai-chattawa]\\n - id: obj-read-tones-without-marks\\n description: \\\"Practice reading tones without marks\\\"\\n skill: syllable-analysis\\n references: []\\n---\\n\\n# บทที่ 8 (Lesson 8) — Complete Tone Rules\\n\\n## Introduction\\n\\nThis final lesson ties everything together. You'll learn how to determine the tone of **any** Thai syllable — even those without tone marks — based on three factors:\\n1. **Consonant class** (middle, high, low)\\n2. **Vowel length** (short vs long)\\n3. **Syllable type** (live vs dead)\\n\\n## Live vs Dead Syllables\\n\\nThai syllables are classified as **live** (คำเป็น) or **dead** (คำตาย):\\n\\n| Type | Thai | Ends With | Example |\\n|------|------|-----------|---------|\\n| Live | คำเป็น | Long vowel OR sonorant (ง, น, ม, ย, ว, ร, ล) | มา, กิน |\\n| Dead | คำตาย | Short vowel OR stop consonant (ก, บ, ด) | มะ, มัก |\\n\\n**Sonorants** are: ง, น, ม, ย, ว, ร, ล — these allow the voice to continue.\\n**Stops** are: ก, บ, ด (and their homophones) — these cut off the sound.\\n\\n## The Master Tone Chart\\n\\nThis chart shows the default tone (no tone mark) for each combination:\\n\\n### Without Tone Marks\\n\\n| Class | Live Syllable | Dead (Short) | Dead (Long) |\\n|-------|---------------|--------------|-------------|\\n| Middle | Mid | Low | Low |\\n| High | Rising | Low | Low |\\n| Low | Mid | High | Falling |\\n\\n### With Mai Ek (่)\\n\\n| Class | Result |\\n|-------|--------|\\n| Middle | Low |\\n| High | Low |\\n| Low | Falling |\\n\\n### With Mai Tho (้)\\n\\n| Class | Result |\\n|-------|--------|\\n| Middle | Falling |\\n| High | Falling |\\n| Low | High |\\n\\n## Step-by-Step Tone Determination\\n\\nTo find the tone of any syllable:\\n\\n1. **Identify the initial consonant class** (middle, high, low)\\n2. **Check for tone marks** — if present, use the tone mark chart\\n3. **If no tone mark**:\\n - Determine if the syllable is live or dead\\n - If dead, check if the vowel is short or long\\n - Apply the master chart\\n\\n## Worked Examples\\n\\n### Example 1: มา (maa)\\n- Initial consonant: ม (low class)\\n- Tone mark: none\\n- Syllable type: live (ends in long vowel า)\\n- **Result**: Mid tone → มา (maa)\\n\\n### Example 2: มัก (mak)\\n- Initial consonant: ม (low class)\\n- Tone mark: none\\n- Syllable type: dead (ends in stop ก)\\n- Vowel: short (ั)\\n- **Result**: High tone → มัก (mák)\\n\\n### Example 3: ข้าว (khaao)\\n- Initial consonant: ข (high class)\\n- Tone mark: mai tho (้)\\n- **Result**: Falling tone → ข้าว (khâao)\\n\\n### Example 4: ตก (dtok)\\n- Initial consonant: ต (middle class)\\n- Tone mark: none\\n- Syllable type: dead (ends in stop ก)\\n- **Result**: Low tone → ตก (dtòk)\\n\\n## The Leading ห Trick\\n\\nLow class consonants **cannot produce rising or low tones** on their own. Thai solves this with the \\\"leading ห\\\" pattern:\\n\\n**ห + low class consonant** = acts like high class\\n\\n| Without ห | With ห | Effect |\\n|-----------|--------|--------|\\n| มา (mid) | หมา (rising) | Now can get rising tone |\\n| นา (mid) | หนา (rising) | Same pattern |\\n\\nThis is why หมา (dog) has a rising tone even though ม is low class.\\n\\n## Common Patterns\\n\\n### Food Words Often Have Falling Tones\\n- ข้าว (khâao) — rice\\n- ก๋วยเตี๋ยว (gǔai-dtǐao) — noodles\\n- น้ำ (náam) — water\\n\\n### Question Particles\\n- ไหม (mǎi) — yes/no question\\n- หรือ (rʉ̌ʉ) — or\\n\\n### Negation\\n- ไม่ (mâi) — not\\n- ไม่ใช่ (mâi châi) — is not\\n\\n## Key Points\\n\\n1. **Three factors**: Class + vowel length + syllable type determine tone\\n2. **Live vs dead**: Open syllables vs closed syllables\\n3. **Leading ห**: Converts low class behavior to high class\\n4. **Practice is key**: Eventually this becomes intuitive\\n\\n## Tone Practice Checklist\\n\\nWhen reading a new word:\\n1. ✓ What class is the initial consonant?\\n2. ✓ Is there a tone mark?\\n3. ✓ If no mark: is it live or dead?\\n4. ✓ If dead: short or long vowel?\\n5. ✓ Apply the rule from the chart\\n\\n## Common Mistakes to Avoid\\n\\n1. **Forgetting syllable type**: Dead syllables without marks aren't mid tone\\n2. **Ignoring ห**: It's not silent — it changes the tone class\\n3. **Class confusion**: Review consonant classes from the alphabet course\\n4. **Over-relying on marks**: Many words have no tone marks\\n\\n## Complete Tone Rules Summary Table\\n\\n### Live Syllables (No Tone Mark)\\n\\n| Consonant Class | Tone | Example |\\n|----------------|------|---------|\\n| Middle | Mid | กา (gaa) |\\n| High | Rising | ขา (khǎa) |\\n| Low | Mid | คา (khaa) |\\n\\n### Dead Syllables (No Tone Mark)\\n\\n| Consonant Class | Short Vowel | Long Vowel | Example (Short) |\\n|----------------|------------|------------|-----------------|\\n| Middle | Low | Low | ตก (dtòk) |\\n| High | Low | Low | ขก (khòk) |\\n| Low | High | Falling | มัก (mák) |\\n\\n### With Tone Marks\\n\\n| Mark | Middle | High | Low |\\n|------|--------|------|-----|\\n| ◌่ (mai ek) | Low | Low | Falling |\\n| ◌้ (mai tho) | Falling | Falling | High |\\n| ◌๊ (mai tri) | High | — | — |\\n| ◌๋ (mai chattawa) | Rising | — | — |\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"tone-rules-1-syllable-type\\\" type=\\\"multiple-choice\\\" title=\\\"Live vs Dead Syllable\\\" skill=\\\"syllable-analysis\\\" objectiveId=\\\"obj-live-vs-dead-syllables\\\"}\\n\\n**Question:** Which syllable is \\\"dead\\\" (คำตาย)?\\n\\n**Options:**\\n- มา (maa) - ends in long vowel\\n- กิน (gin) - ends in น (sonorant)\\n- ตก (dtok) - ends in ก (stop)\\n- งู (nguu) - ends in long vowel\\n\\n**Answer:** 3\\n\\n**Explanation:** Dead syllables end in a stop consonant (ก, บ, ด) or have a short vowel. มา and งู are live (long vowels), กิน is live (ends in sonorant น), but ตก is dead (ends in stop ก).\\n\\n:::\\n\\n:::exercise{id=\\\"tone-rules-1-tone-determination\\\" type=\\\"fill-in-blank\\\" title=\\\"Tone Determination Practice\\\" skill=\\\"tone-rule-application\\\" tests=\\\"mai-tho\\\" objectiveId=\\\"obj-apply-tone-rules\\\"}\\n\\n**Question:** Determine the tone for these syllables:\\n\\n- มา (low-class ม, no mark, live syllable)\\n- มัก (low-class ม, no mark, dead syllable, short vowel)\\n- ขา (high-class ข, no mark, live syllable)\\n- ค้า (low-class ค, mai tho, live syllable)\\n\\n**Answer:**\\n\\n- มา → Mid tone (low-class, live, no mark)\\n- มัก → High tone (low-class, dead, short vowel, no mark)\\n- ขา → Rising tone (high-class, live, no mark)\\n- ค้า → High tone (low-class + mai tho = high tone exception)\\n\\n**Explanation:** Follow the step-by-step process: identify class, check for tone mark, determine syllable type, apply the rules from the chart.\\n\\n:::\\n\\n:::exercise{id=\\\"tone-rules-1-leading-h\\\" type=\\\"matching\\\" title=\\\"The Leading ห Trick\\\" skill=\\\"tone-rule-application\\\" objectiveId=\\\"obj-read-tones-without-marks\\\"}\\n\\n**Question:** Match each word to how ห affects the tone\\n\\n- หมา (dog)\\n- หนา (thick)\\n- หงา (rare)\\n\\n**Answer:**\\n\\n- หมา → ห lifts ม (low-class) to high-class behavior, producing rising tone\\n- หนา → ห lifts น (low-class) to high-class behavior, producing rising tone\\n- หงา → ห lifts ง (low-class) to high-class behavior, producing rising tone\\n\\n**Explanation:** Leading ห (silent) changes low-class consonants to behave like high-class for tone purposes. This allows low-class consonants to produce rising tones, which they normally cannot do.\\n\\n:::\\n\\n## What You've Learned\\n\\nCongratulations! You now understand:\\n- All 32 Thai vowel forms\\n- Short vs long vowel distinction\\n- The 4 tone marks\\n- Complete tone rules for any syllable\\n\\n## Next Steps\\n\\nWith vowels and tones mastered, you're ready for:\\n- **Numbers & Counting** — Apply your reading skills to practical vocabulary\\n- **Essential Phrases** — Start forming complete sentences\\n- **Thai Typing** — Build muscle memory for keyboard input\\n\\nYour foundation is now solid. Everything from here builds on what you've learned!\\n\""],"names":["lesson08"],"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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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,205 +0,0 @@
1
- const n = `---
2
- type: lesson
3
- id: thai-dialogue-lesson-08
4
- title: "บทที่ 8 — นัดหมาย"
5
- description: "Making Plans: Suggesting, agreeing, and declining"
6
- order: 8
7
- parentId: thai-dialogue
8
- difficulty: intermediate
9
- cefrLevel: B1
10
- categories:
11
- - dialogue
12
- - social
13
- - plans
14
- metadata:
15
- estimatedTime: 30
16
- prerequisites:
17
- - thai-dialogue-lesson-07
18
- learningObjectives:
19
- - id: obj-plans-suggest
20
- description: "Suggest activities"
21
- skill: situational-response
22
- - id: obj-plans-accept-decline
23
- description: "Accept and decline invitations politely"
24
- skill: polite-register
25
- - id: obj-plans-time-place
26
- description: "Set times and places to meet"
27
- skill: word-production
28
- - id: obj-plans-reschedule
29
- description: "Reschedule plans"
30
- skill: dialogue-comprehension
31
- ---
32
-
33
- # บทที่ 8 (Lesson 8) — Making Plans
34
-
35
- ## Situation
36
-
37
- You're making plans with a Thai friend.
38
-
39
- ## Dialogue
40
-
41
- :::dialogue{id="plans-dialogue-1" title="Weekend Plans"}
42
-
43
- **เพื่อน (Friend):** วันเสาร์นี้ว่างไหมครับ/คะ?
44
- *wan-sǎo níi wâang mái khráp/khá?*
45
- Are you free this Saturday?
46
-
47
- **คุณ (You):** ว่างครับ/ค่ะ มีอะไรครับ/คะ?
48
- *wâang khráp/khâ, mii à-rai khráp/khá?*
49
- Yes, I'm free. What's up?
50
-
51
- **เพื่อน:** ไปกินข้าวด้วยกันไหมครับ/คะ?
52
- *bpai gin khâao dûuay-gan mái khráp/khá?*
53
- Want to go eat together?
54
-
55
- **คุณ:** ได้เลยครับ/ค่ะ ไปกินที่ไหนดีครับ/คะ?
56
- *dâai ləəi khráp/khâ, bpai gin thîi-nǎi dii khráp/khá?*
57
- Sure! Where should we go?
58
-
59
- **เพื่อน:** รู้จักร้านอาหารไทยอร่อยๆ อยู่แถวสยามครับ/ค่ะ
60
- *rúu-jàk ráan aa-hǎan thai à-ràwy à-ràwy yùu thǎew sà-yǎam khráp/khâ*
61
- I know a delicious Thai restaurant near Siam.
62
-
63
- **คุณ:** ดีเลยครับ/ค่ะ เจอกันกี่โมงดีครับ/คะ?
64
- *dii ləəi khráp/khâ, jəə gan gìi moong dii khráp/khá?*
65
- Sounds good! What time should we meet?
66
-
67
- **เพื่อน:** 6 โมงเย็นได้ไหมครับ/คะ?
68
- *hòk moong yen dâai mái khráp/khá?*
69
- How about 6 PM?
70
-
71
- **คุณ:** ได้ครับ/ค่ะ เจอกันที่หน้าร้านเลยนะครับ/คะ
72
- *dâai khráp/khâ, jəə gan thîi nâa ráan ləəi ná khráp/khâ*
73
- OK. Let's meet in front of the restaurant.
74
-
75
- **เพื่อน:** ตกลงครับ/ค่ะ แล้วเจอกันครับ/ค่ะ!
76
- *dtòk-long khráp/khâ, láew jəə gan khráp/khâ!*
77
- Deal! See you then!
78
-
79
- :::
80
-
81
- ## Key Phrases
82
-
83
- | Thai | Romanization | Meaning |
84
- |------|--------------|---------|
85
- | ว่างไหม? | wâang mái? | Are you free? |
86
- | ว่าง | wâang | free (available) |
87
- | ไม่ว่าง | mâi wâang | not free (busy) |
88
- | ...ด้วยกันไหม? | ...dûuay-gan mái? | Want to...together? |
89
- | ได้เลย | dâai ləəi | Sure!/Absolutely! |
90
- | เจอกันกี่โมง? | jəə gan gìi moong? | What time shall we meet? |
91
- | ตกลง | dtòk-long | Deal/Agreed |
92
- | แล้วเจอกัน | láew jəə gan | See you later |
93
-
94
- ## Suggesting Activities
95
-
96
- | Thai | Meaning |
97
- |------|---------|
98
- | ไปกินข้าวไหม? | Want to eat? |
99
- | ไปดูหนังไหม? | Want to watch a movie? |
100
- | ไปเที่ยวไหม? | Want to go out? |
101
- | มากินข้าวบ้านไหม? | Want to come eat at my house? |
102
- | ไปออกกำลังกายไหม? | Want to exercise? |
103
-
104
- ## Accepting
105
-
106
- | Thai | Meaning |
107
- |------|---------|
108
- | ได้เลย | Sure! |
109
- | ดีเลย | Sounds good! |
110
- | ยินดีเลย | I'd love to! |
111
- | ไปเลย! | Let's go! |
112
-
113
- ## Declining Politely
114
-
115
- | Thai | Meaning |
116
- |------|---------|
117
- | ขอโทษนะ ไม่ว่าง | Sorry, I'm busy |
118
- | วันนี้ไม่สะดวก | Today isn't convenient |
119
- | ไว้โอกาสหน้านะ | Maybe next time |
120
- | ขอเลื่อนได้ไหม? | Can we reschedule? |
121
-
122
- ## Time Expressions
123
-
124
- | Thai | Meaning |
125
- |------|---------|
126
- | วันนี้ | today |
127
- | พรุ่งนี้ | tomorrow |
128
- | มะรืน | day after tomorrow |
129
- | วันเสาร์นี้ | this Saturday |
130
- | สัปดาห์หน้า | next week |
131
- | เดือนหน้า | next month |
132
-
133
- ## Cultural Note
134
-
135
- Thais often make plans somewhat loosely and last-minute changes are common. Don't be surprised if plans get adjusted. The phrase "ไว้โอกาสหน้า" (next time) is a polite way to decline without committing - it doesn't always mean there will be a next time! Also, "ตกลง" (agreed/deal) is commonly used to confirm plans, similar to "deal" in English.
136
-
137
- ## Practice Exercises
138
-
139
- :::exercise{id="dialogue-8-making-plans" type="matching" title="Planning Phrases" skill="word-recognition" objectiveId="obj-plans-suggest"}
140
-
141
- **Question:** Match each phrase to its meaning
142
-
143
- - ว่างไหม
144
- - ...ด้วยกันไหม
145
- - ได้เลย
146
- - ตกลง
147
-
148
- **Answer:**
149
-
150
- - ว่างไหม → Are you free? (asking availability)
151
- - ...ด้วยกันไหม → Want to...together? (suggesting joint activity)
152
- - ได้เลย → Sure!/Absolutely! (enthusiastic acceptance)
153
- - ตกลง → Deal/Agreed (confirming plans)
154
-
155
- **Explanation:** These phrases are essential for making plans. ว่าง means "free/available". ด้วยกัน means "together". ได้เลย is enthusiastic agreement. ตกลง confirms the plan.
156
-
157
- :::
158
-
159
- :::exercise{id="dialogue-8-declining" type="fill-in-blank" title="Politely Declining" skill="polite-register" objectiveId="obj-plans-accept-decline"}
160
-
161
- **Question:** How do you politely decline an invitation in Thai?
162
-
163
- **Answer:**
164
-
165
- You can say:
166
- - ขอโทษนะ ไม่ว่าง (Sorry, I'm busy)
167
- - วันนี้ไม่สะดวก (Today isn't convenient)
168
- - ไว้โอกาสหน้านะ (Maybe next time)
169
-
170
- **Explanation:** Thai culture values politeness, so always decline gently. ไว้โอกาสหน้า (next time) is a polite way to decline without being too direct. It doesn't necessarily mean you'll meet next time - it's just a polite refusal.
171
-
172
- :::
173
-
174
- :::exercise{id="dialogue-8-time-expressions" type="multiple-choice" title="Time Expressions" skill="pattern-recognition" objectiveId="obj-plans-time-place"}
175
-
176
- **Question:** How do you say "this Saturday" in Thai?
177
-
178
- **Options:**
179
- - วันเสาร์
180
- - วันเสาร์นี้
181
- - วันเสาร์หน้า
182
- - วันเสาร์ที่แล้ว
183
-
184
- **Answer:** 2
185
-
186
- **Explanation:** นี้ means "this" and is added after the day name. So วันเสาร์นี้ means "this Saturday". หน้า means "next" (วันเสาร์หน้า = next Saturday), and ที่แล้ว means "last" (วันเสาร์ที่แล้ว = last Saturday).
187
-
188
- :::
189
-
190
- ## Course Complete!
191
-
192
- ยินดีด้วย! (Congratulations!)
193
-
194
- You've completed the Thai Dialogues course! You can now handle conversations in:
195
- - Markets and restaurants
196
- - Hotels and transportation
197
- - Social situations and shopping
198
- - Making plans with friends
199
-
200
- Keep practicing these dialogues, and don't be afraid to make mistakes - Thais appreciate the effort! โชคดี! (Good luck!)
201
- `;
202
- export {
203
- n as default
204
- };
205
- //# sourceMappingURL=lesson-08-Dd-8cbGW.js.map