@syllst/th 0.2.3 → 0.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/LICENSE +21 -0
  2. package/dist/index.d.ts +10 -15
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +65 -62
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.umd.cjs +71 -0
  7. package/dist/index.umd.cjs.map +1 -0
  8. package/dist/syllabi/alphabet/index.d.ts +2 -5
  9. package/dist/syllabi/alphabet/index.d.ts.map +1 -0
  10. package/dist/syllabi/dialogue/index.d.ts +2 -5
  11. package/dist/syllabi/dialogue/index.d.ts.map +1 -0
  12. package/dist/syllabi/essentials/index.d.ts +2 -5
  13. package/dist/syllabi/essentials/index.d.ts.map +1 -0
  14. package/dist/syllabi/food/index.d.ts +2 -5
  15. package/dist/syllabi/food/index.d.ts.map +1 -0
  16. package/dist/syllabi/grammar/index.d.ts +2 -5
  17. package/dist/syllabi/grammar/index.d.ts.map +1 -0
  18. package/dist/syllabi/numbers/index.d.ts +2 -5
  19. package/dist/syllabi/numbers/index.d.ts.map +1 -0
  20. package/dist/syllabi/reading/index.d.ts +2 -5
  21. package/dist/syllabi/reading/index.d.ts.map +1 -0
  22. package/dist/syllabi/travel/index.d.ts +2 -5
  23. package/dist/syllabi/travel/index.d.ts.map +1 -0
  24. package/dist/syllabi/vowels-tones/index.d.ts +2 -5
  25. package/dist/syllabi/vowels-tones/index.d.ts.map +1 -0
  26. package/package.json +7 -5
  27. package/dist/index-BM-LWlCm.js +0 -52
  28. package/dist/index-BM-LWlCm.js.map +0 -1
  29. package/dist/index-Bjym0crS.js +0 -48
  30. package/dist/index-Bjym0crS.js.map +0 -1
  31. package/dist/index-BuKXw7-Z.js +0 -46
  32. package/dist/index-BuKXw7-Z.js.map +0 -1
  33. package/dist/index-ByS0o5dz.js +0 -52
  34. package/dist/index-ByS0o5dz.js.map +0 -1
  35. package/dist/index-C9VnG7dT.js +0 -52
  36. package/dist/index-C9VnG7dT.js.map +0 -1
  37. package/dist/index-CPQkjFjV.js +0 -50
  38. package/dist/index-CPQkjFjV.js.map +0 -1
  39. package/dist/index-CkHd3Fal.js +0 -56
  40. package/dist/index-CkHd3Fal.js.map +0 -1
  41. package/dist/index-DBkPBXe2.js +0 -52
  42. package/dist/index-DBkPBXe2.js.map +0 -1
  43. package/dist/index-DdRhLqkM.js +0 -82
  44. package/dist/index-DdRhLqkM.js.map +0 -1
  45. package/dist/lesson-01-B0wtSaSl.js +0 -118
  46. package/dist/lesson-01-B0wtSaSl.js.map +0 -1
  47. package/dist/lesson-01-C9vbUlA4.js +0 -138
  48. package/dist/lesson-01-C9vbUlA4.js.map +0 -1
  49. package/dist/lesson-01-CPmBFTe0.js +0 -132
  50. package/dist/lesson-01-CPmBFTe0.js.map +0 -1
  51. package/dist/lesson-01-Cc4Ws8eR.js +0 -158
  52. package/dist/lesson-01-Cc4Ws8eR.js.map +0 -1
  53. package/dist/lesson-01-Cm5k-m-9.js +0 -136
  54. package/dist/lesson-01-Cm5k-m-9.js.map +0 -1
  55. package/dist/lesson-01-DELblCNj.js +0 -97
  56. package/dist/lesson-01-DELblCNj.js.map +0 -1
  57. package/dist/lesson-01-Djl_72e7.js +0 -153
  58. package/dist/lesson-01-Djl_72e7.js.map +0 -1
  59. package/dist/lesson-01-LEHTeGQQ.js +0 -155
  60. package/dist/lesson-01-LEHTeGQQ.js.map +0 -1
  61. package/dist/lesson-01-ih_-OO_O.js +0 -111
  62. package/dist/lesson-01-ih_-OO_O.js.map +0 -1
  63. package/dist/lesson-02-B2aZrKUQ.js +0 -120
  64. package/dist/lesson-02-B2aZrKUQ.js.map +0 -1
  65. package/dist/lesson-02-BI1Vnwiz.js +0 -169
  66. package/dist/lesson-02-BI1Vnwiz.js.map +0 -1
  67. package/dist/lesson-02-BXbwEMaL.js +0 -180
  68. package/dist/lesson-02-BXbwEMaL.js.map +0 -1
  69. package/dist/lesson-02-CbJJ5Amt.js +0 -201
  70. package/dist/lesson-02-CbJJ5Amt.js.map +0 -1
  71. package/dist/lesson-02-DGrALAgG.js +0 -203
  72. package/dist/lesson-02-DGrALAgG.js.map +0 -1
  73. package/dist/lesson-02-DcMDDBDL.js +0 -116
  74. package/dist/lesson-02-DcMDDBDL.js.map +0 -1
  75. package/dist/lesson-02-Dk59HZWp.js +0 -222
  76. package/dist/lesson-02-Dk59HZWp.js.map +0 -1
  77. package/dist/lesson-02-L8oNhBej.js +0 -145
  78. package/dist/lesson-02-L8oNhBej.js.map +0 -1
  79. package/dist/lesson-02-VDOme3ES.js +0 -204
  80. package/dist/lesson-02-VDOme3ES.js.map +0 -1
  81. package/dist/lesson-03-9WioSe19.js +0 -196
  82. package/dist/lesson-03-9WioSe19.js.map +0 -1
  83. package/dist/lesson-03-BZutWzMD.js +0 -124
  84. package/dist/lesson-03-BZutWzMD.js.map +0 -1
  85. package/dist/lesson-03-Bj5hWZ9t.js +0 -152
  86. package/dist/lesson-03-Bj5hWZ9t.js.map +0 -1
  87. package/dist/lesson-03-CSIF5xRS.js +0 -181
  88. package/dist/lesson-03-CSIF5xRS.js.map +0 -1
  89. package/dist/lesson-03-CSKig363.js +0 -225
  90. package/dist/lesson-03-CSKig363.js.map +0 -1
  91. package/dist/lesson-03-DPJOG2M_.js +0 -138
  92. package/dist/lesson-03-DPJOG2M_.js.map +0 -1
  93. package/dist/lesson-03-DkjCuJ26.js +0 -237
  94. package/dist/lesson-03-DkjCuJ26.js.map +0 -1
  95. package/dist/lesson-03-DucbRMOQ.js +0 -171
  96. package/dist/lesson-03-DucbRMOQ.js.map +0 -1
  97. package/dist/lesson-03-MIne1PbH.js +0 -185
  98. package/dist/lesson-03-MIne1PbH.js.map +0 -1
  99. package/dist/lesson-04-0Pj_x1DU.js +0 -233
  100. package/dist/lesson-04-0Pj_x1DU.js.map +0 -1
  101. package/dist/lesson-04-B9h0p9kE.js +0 -190
  102. package/dist/lesson-04-B9h0p9kE.js.map +0 -1
  103. package/dist/lesson-04-BLuPI1-X.js +0 -216
  104. package/dist/lesson-04-BLuPI1-X.js.map +0 -1
  105. package/dist/lesson-04-CmDvofL4.js +0 -230
  106. package/dist/lesson-04-CmDvofL4.js.map +0 -1
  107. package/dist/lesson-04-DGKHK4LW.js +0 -178
  108. package/dist/lesson-04-DGKHK4LW.js.map +0 -1
  109. package/dist/lesson-04-DUcHZzsk.js +0 -218
  110. package/dist/lesson-04-DUcHZzsk.js.map +0 -1
  111. package/dist/lesson-04-DnVIXXk-.js +0 -141
  112. package/dist/lesson-04-DnVIXXk-.js.map +0 -1
  113. package/dist/lesson-04-FZnIE7tu.js +0 -187
  114. package/dist/lesson-04-FZnIE7tu.js.map +0 -1
  115. package/dist/lesson-04-ToX3nRz1.js +0 -172
  116. package/dist/lesson-04-ToX3nRz1.js.map +0 -1
  117. package/dist/lesson-05-2aTCGXMh.js +0 -181
  118. package/dist/lesson-05-2aTCGXMh.js.map +0 -1
  119. package/dist/lesson-05-BvitRdE8.js +0 -206
  120. package/dist/lesson-05-BvitRdE8.js.map +0 -1
  121. package/dist/lesson-05-CgXGkcjS.js +0 -143
  122. package/dist/lesson-05-CgXGkcjS.js.map +0 -1
  123. package/dist/lesson-05-ClfrUrvX.js +0 -244
  124. package/dist/lesson-05-ClfrUrvX.js.map +0 -1
  125. package/dist/lesson-05-D2zf9n7k.js +0 -201
  126. package/dist/lesson-05-D2zf9n7k.js.map +0 -1
  127. package/dist/lesson-05-DWquBfdl.js +0 -220
  128. package/dist/lesson-05-DWquBfdl.js.map +0 -1
  129. package/dist/lesson-05-DpIkwhJ8.js +0 -244
  130. package/dist/lesson-05-DpIkwhJ8.js.map +0 -1
  131. package/dist/lesson-05-UYz39ORV.js +0 -189
  132. package/dist/lesson-05-UYz39ORV.js.map +0 -1
  133. package/dist/lesson-05-t6XuANiZ.js +0 -180
  134. package/dist/lesson-05-t6XuANiZ.js.map +0 -1
  135. package/dist/lesson-06-B2y08mKv.js +0 -238
  136. package/dist/lesson-06-B2y08mKv.js.map +0 -1
  137. package/dist/lesson-06-CHqaVQix.js +0 -202
  138. package/dist/lesson-06-CHqaVQix.js.map +0 -1
  139. package/dist/lesson-06-CaCZBX1V.js +0 -273
  140. package/dist/lesson-06-CaCZBX1V.js.map +0 -1
  141. package/dist/lesson-06-ClplsJBT.js +0 -204
  142. package/dist/lesson-06-ClplsJBT.js.map +0 -1
  143. package/dist/lesson-06-CzGnNKo5.js +0 -141
  144. package/dist/lesson-06-CzGnNKo5.js.map +0 -1
  145. package/dist/lesson-06-Dg_bQLNC.js +0 -172
  146. package/dist/lesson-06-Dg_bQLNC.js.map +0 -1
  147. package/dist/lesson-06-OWFMgO0a.js +0 -231
  148. package/dist/lesson-06-OWFMgO0a.js.map +0 -1
  149. package/dist/lesson-06-Q2aRAzws.js +0 -190
  150. package/dist/lesson-06-Q2aRAzws.js.map +0 -1
  151. package/dist/lesson-07-BLDUA_Ff.js +0 -194
  152. package/dist/lesson-07-BLDUA_Ff.js.map +0 -1
  153. package/dist/lesson-07-BpyF1Ssq.js +0 -236
  154. package/dist/lesson-07-BpyF1Ssq.js.map +0 -1
  155. package/dist/lesson-07-C4GrfDTW.js +0 -234
  156. package/dist/lesson-07-C4GrfDTW.js.map +0 -1
  157. package/dist/lesson-07-CVCUt1Jn.js +0 -206
  158. package/dist/lesson-07-CVCUt1Jn.js.map +0 -1
  159. package/dist/lesson-07-DQFXCZsZ.js +0 -197
  160. package/dist/lesson-07-DQFXCZsZ.js.map +0 -1
  161. package/dist/lesson-07-Dcry2Yjo.js +0 -248
  162. package/dist/lesson-07-Dcry2Yjo.js.map +0 -1
  163. package/dist/lesson-07-JS_cqdNr.js +0 -142
  164. package/dist/lesson-07-JS_cqdNr.js.map +0 -1
  165. package/dist/lesson-08-18gscaS0.js +0 -227
  166. package/dist/lesson-08-18gscaS0.js.map +0 -1
  167. package/dist/lesson-08-2kBUq_B2.js +0 -220
  168. package/dist/lesson-08-2kBUq_B2.js.map +0 -1
  169. package/dist/lesson-08-BP5lpiGe.js +0 -287
  170. package/dist/lesson-08-BP5lpiGe.js.map +0 -1
  171. package/dist/lesson-08-BXm9GgdN.js +0 -146
  172. package/dist/lesson-08-BXm9GgdN.js.map +0 -1
  173. package/dist/lesson-08-Bru0PdEK.js +0 -277
  174. package/dist/lesson-08-Bru0PdEK.js.map +0 -1
  175. package/dist/lesson-08-Dd-8cbGW.js +0 -205
  176. package/dist/lesson-08-Dd-8cbGW.js.map +0 -1
  177. package/dist/lesson-09-B1qWE3Yl.js +0 -221
  178. package/dist/lesson-09-B1qWE3Yl.js.map +0 -1
  179. package/dist/lesson-09-B5Vb70xj.js +0 -143
  180. package/dist/lesson-09-B5Vb70xj.js.map +0 -1
  181. package/dist/lesson-10-00qNLc7A.js +0 -233
  182. package/dist/lesson-10-00qNLc7A.js.map +0 -1
  183. package/dist/lesson-10-Dw-Jtm3D.js +0 -156
  184. package/dist/lesson-10-Dw-Jtm3D.js.map +0 -1
  185. package/dist/lesson-11-BM3R_S7I.js +0 -260
  186. package/dist/lesson-11-BM3R_S7I.js.map +0 -1
  187. package/dist/lesson-12-D1Wx7CyK.js +0 -277
  188. package/dist/lesson-12-D1Wx7CyK.js.map +0 -1
  189. package/dist/skills-hcn-pGD0.js +0 -244
  190. package/dist/skills-hcn-pGD0.js.map +0 -1
  191. package/dist/syllabi/alphabet/index.js +0 -9
  192. package/dist/syllabi/alphabet/index.js.map +0 -1
  193. package/dist/syllabi/dialogue/index.js +0 -10
  194. package/dist/syllabi/dialogue/index.js.map +0 -1
  195. package/dist/syllabi/essentials/index.js +0 -10
  196. package/dist/syllabi/essentials/index.js.map +0 -1
  197. package/dist/syllabi/food/index.js +0 -10
  198. package/dist/syllabi/food/index.js.map +0 -1
  199. package/dist/syllabi/grammar/index.js +0 -10
  200. package/dist/syllabi/grammar/index.js.map +0 -1
  201. package/dist/syllabi/numbers/index.js +0 -10
  202. package/dist/syllabi/numbers/index.js.map +0 -1
  203. package/dist/syllabi/reading/index.js +0 -10
  204. package/dist/syllabi/reading/index.js.map +0 -1
  205. package/dist/syllabi/travel/index.js +0 -10
  206. package/dist/syllabi/travel/index.js.map +0 -1
  207. package/dist/syllabi/vowels-tones/index.js +0 -10
  208. package/dist/syllabi/vowels-tones/index.js.map +0 -1
@@ -1,196 +0,0 @@
1
- const n = `---
2
- type: lesson
3
- id: thai-numbers-lesson-03
4
- title: "บทที่ 3 — ตัวเลขใหญ่"
5
- description: "Large Numbers: Hundreds, thousands, and millions"
6
- order: 3
7
- parentId: thai-numbers
8
- difficulty: beginner
9
- cefrLevel: A1
10
- categories:
11
- - numbers
12
- - large-numbers
13
- metadata:
14
- estimatedTime: 25
15
- prerequisites:
16
- - thai-numbers-lesson-02
17
- learningObjectives:
18
- - id: obj-count-hundreds-thousands
19
- description: "Count in hundreds and thousands"
20
- skill: word-production
21
- references: [num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]
22
- - id: obj-thai-number-grouping
23
- description: "Understand Thai number grouping (หมื่น, แสน)"
24
- skill: reading-comprehension
25
- references: [num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]
26
- - id: obj-say-up-to-million
27
- description: "Say numbers up to one million"
28
- skill: word-pronunciation
29
- references: [num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]
30
- - id: obj-read-prices-quantities
31
- description: "Read prices and large quantities"
32
- skill: word-recognition
33
- references: [num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]
34
- ---
35
-
36
- # บทที่ 3 (Lesson 3) — Large Numbers
37
-
38
- ## Introduction
39
-
40
- Thai has specific words for each power of ten, including some that don't exist in English. Understanding these is essential for dealing with prices, populations, distances, and any real-world numbers.
41
-
42
- ## The Number Words
43
-
44
- | Value | Thai | Romanization | Notes |
45
- |-------|------|--------------|-------|
46
- | 100 | ร้อย | rɔ́ɔi | hundred |
47
- | 1,000 | พัน | phan | thousand |
48
- | 10,000 | หมื่น | mʉ̀ʉn | ten-thousand (no English equivalent) |
49
- | 100,000 | แสน | sǎen | hundred-thousand |
50
- | 1,000,000 | ล้าน | láan | million |
51
-
52
- ## Thai vs English Grouping
53
-
54
- English groups by thousands (1,000 → 1,000,000 → 1,000,000,000).
55
- Thai traditionally groups by ten-thousands (หมื่น).
56
-
57
- | Number | English Says | Thai Says |
58
- |--------|--------------|-----------|
59
- | 50,000 | "fifty thousand" | "five หมื่น" (ห้าหมื่น) |
60
- | 300,000 | "three hundred thousand" | "three แสน" (สามแสน) |
61
-
62
- ## Building Large Numbers
63
-
64
- Numbers build from largest to smallest:
65
-
66
- **543,210 = ห้าแสนสี่หมื่นสามพันสองร้อยสิบ**
67
-
68
- Breakdown:
69
- - ห้าแสน (5 × 100,000)
70
- - สี่หมื่น (4 × 10,000)
71
- - สามพัน (3 × 1,000)
72
- - สองร้อย (2 × 100)
73
- - สิบ (10)
74
-
75
- ## Hundreds (100-999)
76
-
77
- | Number | Thai | Pronunciation |
78
- |--------|------|---------------|
79
- | 100 | หนึ่งร้อย / ร้อย | (nʉ̀ng) rɔ́ɔi |
80
- | 200 | สองร้อย | sǒng rɔ́ɔi |
81
- | 500 | ห้าร้อย | hâa rɔ́ɔi |
82
- | 150 | ร้อยห้าสิบ | rɔ́ɔi hâa-sìp |
83
- | 275 | สองร้อยเจ็ดสิบห้า | sǒng-rɔ́ɔi jèt-sìp-hâa |
84
-
85
- **Note**: For 100 alone, หนึ่ง is often dropped (just ร้อย).
86
-
87
- ## Thousands (1,000-9,999)
88
-
89
- | Number | Thai | Pronunciation |
90
- |--------|------|---------------|
91
- | 1,000 | หนึ่งพัน / พัน | (nʉ̀ng) phan |
92
- | 2,000 | สองพัน | sǒng phan |
93
- | 5,500 | ห้าพันห้าร้อย | hâa-phan hâa-rɔ́ɔi |
94
- | 9,999 | เก้าพันเก้าร้อยเก้าสิบเก้า | gâo-phan gâo-rɔ́ɔi gâo-sìp-gâo |
95
-
96
- ## Ten-Thousands & Beyond
97
-
98
- | Number | Thai |
99
- |--------|------|
100
- | 10,000 | หนึ่งหมื่น (nʉ̀ng mʉ̀ʉn) |
101
- | 50,000 | ห้าหมื่น (hâa mʉ̀ʉn) |
102
- | 100,000 | หนึ่งแสน (nʉ̀ng sǎen) |
103
- | 500,000 | ห้าแสน (hâa sǎen) |
104
- | 1,000,000 | หนึ่งล้าน (nʉ̀ng láan) |
105
-
106
- ## Real-World Examples
107
-
108
- | Context | Number | Thai |
109
- |---------|--------|------|
110
- | Rent | 15,000 baht | หนึ่งหมื่นห้าพันบาท |
111
- | Salary | 45,000 baht | สี่หมื่นห้าพันบาท |
112
- | Car price | 800,000 baht | แปดแสนบาท |
113
- | Population | 10 million | สิบล้านคน |
114
-
115
- ## The เอ็ด Rule Continues
116
-
117
- Remember: หนึ่ง becomes เอ็ด in compounds:
118
- - 101 = ร้อยเอ็ด (not ร้อยหนึ่ง)
119
- - 1,001 = พันเอ็ด
120
- - 10,001 = หมื่นเอ็ด
121
-
122
- ## Key Points
123
-
124
- 1. **หมื่น (10,000)**: Unique to Thai — no direct English equivalent
125
- 2. **แสน (100,000)**: Another Thai-specific grouping
126
- 3. **Same pattern**: Larger numbers follow the same logic
127
- 4. **เอ็ด still applies**: For any number ending in 1
128
-
129
- ## Practice Reading Prices
130
-
131
- - ฿250 = สองร้อยห้าสิบบาท
132
- - ฿1,500 = พันห้าร้อยบาท
133
- - ฿35,000 = สามหมื่นห้าพันบาท
134
-
135
- ## Practice Exercises
136
-
137
- :::exercise{id="numbers-3-large-numbers" type="fill-in-blank" title="Large Number Practice" skill="word-production" objectiveId="obj-count-hundreds-thousands"}
138
-
139
- **Question:** Write these large numbers in Thai:
140
-
141
- - 543,210
142
- - 1,000,000
143
- - 50,000
144
-
145
- **Answer:**
146
-
147
- - 543,210 → ห้าแสนสี่หมื่นสามพันสองร้อยสิบ
148
- - 1,000,000 → หนึ่งล้าน
149
- - 50,000 → ห้าหมื่น
150
-
151
- **Explanation:** Thai groups by ten-thousands (หมื่น) and hundred-thousands (แสน). Break down from largest to smallest: แสน → หมื่น → พัน → ร้อย → สิบ → ones.
152
-
153
- :::
154
-
155
- :::exercise{id="numbers-3-thai-grouping" type="multiple-choice" title="Thai Number Grouping" skill="reading-comprehension" objectiveId="obj-thai-number-grouping"}
156
-
157
- **Question:** How does Thai say 50,000 differently from English?
158
-
159
- **Options:**
160
- - Thai says "fifty thousand" like English
161
- - Thai says "five หมื่น" (five ten-thousands)
162
- - Thai doesn't have a word for 50,000
163
- - Thai uses a different number system
164
-
165
- **Answer:** 2
166
-
167
- **Explanation:** Thai traditionally groups by ten-thousands (หมื่น), not thousands. So 50,000 is "five หมื่น" (ห้าหมื่น) rather than "fifty thousand". This reflects the traditional counting system.
168
-
169
- :::
170
-
171
- :::exercise{id="numbers-3-price-reading" type="matching" title="Reading Prices" skill="word-recognition" objectiveId="obj-read-prices-quantities"}
172
-
173
- **Question:** Match each price to its Thai form
174
-
175
- - ฿250
176
- - ฿1,500
177
- - ฿35,000
178
-
179
- **Answer:**
180
-
181
- - ฿250 → สองร้อยห้าสิบบาท
182
- - ฿1,500 → พันห้าร้อยบาท
183
- - ฿35,000 → สามหมื่นห้าพันบาท
184
-
185
- **Explanation:** Always add บาท after the amount. Break down the number from largest to smallest place value, then add บาท.
186
-
187
- :::
188
-
189
- ## What's Next
190
-
191
- In Lesson 4, you'll learn how to tell time and read dates in Thai — essential for daily life!
192
- `;
193
- export {
194
- n as default
195
- };
196
- //# sourceMappingURL=lesson-03-9WioSe19.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lesson-03-9WioSe19.js","sources":["../src/syllabi/numbers/lessons/lesson-03.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-numbers-lesson-03\\ntitle: \\\"บทที่ 3 — ตัวเลขใหญ่\\\"\\ndescription: \\\"Large Numbers: Hundreds, thousands, and millions\\\"\\norder: 3\\nparentId: thai-numbers\\ndifficulty: beginner\\ncefrLevel: A1\\ncategories:\\n - numbers\\n - large-numbers\\nmetadata:\\n estimatedTime: 25\\n prerequisites:\\n - thai-numbers-lesson-02\\n learningObjectives:\\n - id: obj-count-hundreds-thousands\\n description: \\\"Count in hundreds and thousands\\\"\\n skill: word-production\\n references: [num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]\\n - id: obj-thai-number-grouping\\n description: \\\"Understand Thai number grouping (หมื่น, แสน)\\\"\\n skill: reading-comprehension\\n references: [num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]\\n - id: obj-say-up-to-million\\n description: \\\"Say numbers up to one million\\\"\\n skill: word-pronunciation\\n references: [num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]\\n - id: obj-read-prices-quantities\\n description: \\\"Read prices and large quantities\\\"\\n skill: word-recognition\\n references: [num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]\\n---\\n\\n# บทที่ 3 (Lesson 3) — Large Numbers\\n\\n## Introduction\\n\\nThai has specific words for each power of ten, including some that don't exist in English. Understanding these is essential for dealing with prices, populations, distances, and any real-world numbers.\\n\\n## The Number Words\\n\\n| Value | Thai | Romanization | Notes |\\n|-------|------|--------------|-------|\\n| 100 | ร้อย | rɔ́ɔi | hundred |\\n| 1,000 | พัน | phan | thousand |\\n| 10,000 | หมื่น | mʉ̀ʉn | ten-thousand (no English equivalent) |\\n| 100,000 | แสน | sǎen | hundred-thousand |\\n| 1,000,000 | ล้าน | láan | million |\\n\\n## Thai vs English Grouping\\n\\nEnglish groups by thousands (1,000 → 1,000,000 → 1,000,000,000).\\nThai traditionally groups by ten-thousands (หมื่น).\\n\\n| Number | English Says | Thai Says |\\n|--------|--------------|-----------|\\n| 50,000 | \\\"fifty thousand\\\" | \\\"five หมื่น\\\" (ห้าหมื่น) |\\n| 300,000 | \\\"three hundred thousand\\\" | \\\"three แสน\\\" (สามแสน) |\\n\\n## Building Large Numbers\\n\\nNumbers build from largest to smallest:\\n\\n**543,210 = ห้าแสนสี่หมื่นสามพันสองร้อยสิบ**\\n\\nBreakdown:\\n- ห้าแสน (5 × 100,000)\\n- สี่หมื่น (4 × 10,000)\\n- สามพัน (3 × 1,000)\\n- สองร้อย (2 × 100)\\n- สิบ (10)\\n\\n## Hundreds (100-999)\\n\\n| Number | Thai | Pronunciation |\\n|--------|------|---------------|\\n| 100 | หนึ่งร้อย / ร้อย | (nʉ̀ng) rɔ́ɔi |\\n| 200 | สองร้อย | sǒng rɔ́ɔi |\\n| 500 | ห้าร้อย | hâa rɔ́ɔi |\\n| 150 | ร้อยห้าสิบ | rɔ́ɔi hâa-sìp |\\n| 275 | สองร้อยเจ็ดสิบห้า | sǒng-rɔ́ɔi jèt-sìp-hâa |\\n\\n**Note**: For 100 alone, หนึ่ง is often dropped (just ร้อย).\\n\\n## Thousands (1,000-9,999)\\n\\n| Number | Thai | Pronunciation |\\n|--------|------|---------------|\\n| 1,000 | หนึ่งพัน / พัน | (nʉ̀ng) phan |\\n| 2,000 | สองพัน | sǒng phan |\\n| 5,500 | ห้าพันห้าร้อย | hâa-phan hâa-rɔ́ɔi |\\n| 9,999 | เก้าพันเก้าร้อยเก้าสิบเก้า | gâo-phan gâo-rɔ́ɔi gâo-sìp-gâo |\\n\\n## Ten-Thousands & Beyond\\n\\n| Number | Thai |\\n|--------|------|\\n| 10,000 | หนึ่งหมื่น (nʉ̀ng mʉ̀ʉn) |\\n| 50,000 | ห้าหมื่น (hâa mʉ̀ʉn) |\\n| 100,000 | หนึ่งแสน (nʉ̀ng sǎen) |\\n| 500,000 | ห้าแสน (hâa sǎen) |\\n| 1,000,000 | หนึ่งล้าน (nʉ̀ng láan) |\\n\\n## Real-World Examples\\n\\n| Context | Number | Thai |\\n|---------|--------|------|\\n| Rent | 15,000 baht | หนึ่งหมื่นห้าพันบาท |\\n| Salary | 45,000 baht | สี่หมื่นห้าพันบาท |\\n| Car price | 800,000 baht | แปดแสนบาท |\\n| Population | 10 million | สิบล้านคน |\\n\\n## The เอ็ด Rule Continues\\n\\nRemember: หนึ่ง becomes เอ็ด in compounds:\\n- 101 = ร้อยเอ็ด (not ร้อยหนึ่ง)\\n- 1,001 = พันเอ็ด\\n- 10,001 = หมื่นเอ็ด\\n\\n## Key Points\\n\\n1. **หมื่น (10,000)**: Unique to Thai — no direct English equivalent\\n2. **แสน (100,000)**: Another Thai-specific grouping\\n3. **Same pattern**: Larger numbers follow the same logic\\n4. **เอ็ด still applies**: For any number ending in 1\\n\\n## Practice Reading Prices\\n\\n- ฿250 = สองร้อยห้าสิบบาท\\n- ฿1,500 = พันห้าร้อยบาท\\n- ฿35,000 = สามหมื่นห้าพันบาท\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"numbers-3-large-numbers\\\" type=\\\"fill-in-blank\\\" title=\\\"Large Number Practice\\\" skill=\\\"word-production\\\" objectiveId=\\\"obj-count-hundreds-thousands\\\"}\\n\\n**Question:** Write these large numbers in Thai:\\n\\n- 543,210\\n- 1,000,000\\n- 50,000\\n\\n**Answer:**\\n\\n- 543,210 → ห้าแสนสี่หมื่นสามพันสองร้อยสิบ\\n- 1,000,000 → หนึ่งล้าน\\n- 50,000 → ห้าหมื่น\\n\\n**Explanation:** Thai groups by ten-thousands (หมื่น) and hundred-thousands (แสน). Break down from largest to smallest: แสน → หมื่น → พัน → ร้อย → สิบ → ones.\\n\\n:::\\n\\n:::exercise{id=\\\"numbers-3-thai-grouping\\\" type=\\\"multiple-choice\\\" title=\\\"Thai Number Grouping\\\" skill=\\\"reading-comprehension\\\" objectiveId=\\\"obj-thai-number-grouping\\\"}\\n\\n**Question:** How does Thai say 50,000 differently from English?\\n\\n**Options:**\\n- Thai says \\\"fifty thousand\\\" like English\\n- Thai says \\\"five หมื่น\\\" (five ten-thousands)\\n- Thai doesn't have a word for 50,000\\n- Thai uses a different number system\\n\\n**Answer:** 2\\n\\n**Explanation:** Thai traditionally groups by ten-thousands (หมื่น), not thousands. So 50,000 is \\\"five หมื่น\\\" (ห้าหมื่น) rather than \\\"fifty thousand\\\". This reflects the traditional counting system.\\n\\n:::\\n\\n:::exercise{id=\\\"numbers-3-price-reading\\\" type=\\\"matching\\\" title=\\\"Reading Prices\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-read-prices-quantities\\\"}\\n\\n**Question:** Match each price to its Thai form\\n\\n- ฿250\\n- ฿1,500\\n- ฿35,000\\n\\n**Answer:**\\n\\n- ฿250 → สองร้อยห้าสิบบาท\\n- ฿1,500 → พันห้าร้อยบาท\\n- ฿35,000 → สามหมื่นห้าพันบาท\\n\\n**Explanation:** Always add บาท after the amount. Break down the number from largest to smallest place value, then add บาท.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 4, you'll learn how to tell time and read dates in Thai — essential for daily life!\\n\""],"names":["lesson03"],"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;"}
@@ -1,124 +0,0 @@
1
- const n = `---
2
- type: lesson
3
- id: thai-dialogue-lesson-03
4
- title: "บทที่ 3 — ถามทาง"
5
- description: "Asking Directions: Finding your way around"
6
- order: 3
7
- parentId: thai-dialogue
8
- difficulty: intermediate
9
- cefrLevel: A2
10
- categories:
11
- - dialogue
12
- - directions
13
- - navigation
14
- metadata:
15
- estimatedTime: 30
16
- prerequisites:
17
- - thai-dialogue-lesson-02
18
- learningObjectives:
19
- - id: obj-directions-ask-location
20
- description: "Ask where something is located"
21
- skill: situational-response
22
- - id: obj-directions-understand
23
- description: "Understand direction instructions"
24
- skill: dialogue-comprehension
25
- - id: obj-directions-clarify
26
- description: "Ask for clarification"
27
- skill: polite-register
28
- - id: obj-directions-thank
29
- description: "Thank someone for helping"
30
- skill: word-production
31
- ---
32
-
33
- # บทที่ 3 (Lesson 3) — Asking Directions
34
-
35
- ## Situation
36
-
37
- You're looking for a temple (Wat Pho) and asking a local for directions.
38
-
39
- ## Dialogue
40
-
41
- :::dialogue{id="directions-dialogue-1" title="Finding Wat Pho"}
42
-
43
- **คุณ (You):** ขอโทษครับ/ค่ะ วัดโพธิ์อยู่ที่ไหนครับ/คะ?
44
- *khǎaw-thôot khráp/khâ, wát-phoo yùu thîi-nǎi khráp/khá?*
45
- Excuse me, where is Wat Pho?
46
-
47
- **คนไทย (Thai person):** วัดโพธิ์เหรอครับ? ตรงไปแล้วเลี้ยวซ้ายที่สี่แยก
48
- *wát-phoo rǒe khráp? dtrong bpai láew líaw sáai thîi sìi-yàek*
49
- Wat Pho? Go straight and turn left at the intersection.
50
-
51
- **คุณ:** เดินไกลไหมครับ/คะ?
52
- *dəən glai mái khráp/khá?*
53
- Is it far to walk?
54
-
55
- **คนไทย:** ไม่ไกลครับ ประมาณ 5 นาที
56
- *mâi glai khráp, bprà-maan hâa naa-thii*
57
- Not far. About 5 minutes.
58
-
59
- **คุณ:** เลี้ยวซ้ายที่ไหนครับ/คะ?
60
- *líaw sáai thîi-nǎi khráp/khá?*
61
- Where do I turn left?
62
-
63
- **คนไทย:** ที่สี่แยกแรกครับ จะเห็นเซเว่นอยู่มุมถนน
64
- *thîi sìi-yàek râek khráp, jà hěn seh-wen yùu mum thà-nǒn*
65
- At the first intersection. You'll see a 7-Eleven on the corner.
66
-
67
- **คุณ:** ขอบคุณมากครับ/ค่ะ
68
- *khàawp-khun mâak khráp/khâ*
69
- Thank you very much!
70
-
71
- **คนไทย:** ไม่เป็นไรครับ
72
- *mâi bpen rai khráp*
73
- You're welcome!
74
-
75
- :::
76
-
77
- ## Key Phrases
78
-
79
- | Thai | Romanization | Meaning |
80
- |------|--------------|---------|
81
- | ...อยู่ที่ไหน? | ...yùu thîi-nǎi? | Where is...? |
82
- | ตรงไป | dtrong bpai | go straight |
83
- | เลี้ยวซ้าย | líaw sáai | turn left |
84
- | เลี้ยวขวา | líaw kwǎa | turn right |
85
- | ไกลไหม? | glai mái? | Is it far? |
86
- | ไม่ไกล | mâi glai | not far |
87
- | ประมาณ...นาที | bprà-maan...naa-thii | about...minutes |
88
-
89
- ## Direction Words
90
-
91
- | Thai | Meaning |
92
- |------|---------|
93
- | ตรงไป | go straight |
94
- | เลี้ยวซ้าย | turn left |
95
- | เลี้ยวขวา | turn right |
96
- | ตรงข้าม | across from |
97
- | ข้างๆ | next to |
98
- | ใกล้ | near |
99
- | ไกล | far |
100
- | มุมถนน | street corner |
101
-
102
- ## Landmarks to Look For
103
-
104
- | Thai | Meaning |
105
- |------|---------|
106
- | สี่แยก | intersection |
107
- | ไฟแดง | traffic light |
108
- | สะพาน | bridge |
109
- | ปั๊มน้ำมัน | gas station |
110
- | เซเว่น | 7-Eleven |
111
- | ธนาคาร | bank |
112
-
113
- ## Cultural Note
114
-
115
- Thais often use landmarks rather than street names when giving directions. 7-Elevens (เซเว่น) are especially useful as they're everywhere!
116
-
117
- ## What's Next
118
-
119
- In Lesson 4, you'll learn dialogues for transportation — taking taxis, tuk-tuks, and public transport in Thailand.
120
- `;
121
- export {
122
- n as default
123
- };
124
- //# sourceMappingURL=lesson-03-BZutWzMD.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lesson-03-BZutWzMD.js","sources":["../src/syllabi/dialogue/lessons/lesson-03.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-dialogue-lesson-03\\ntitle: \\\"บทที่ 3 — ถามทาง\\\"\\ndescription: \\\"Asking Directions: Finding your way around\\\"\\norder: 3\\nparentId: thai-dialogue\\ndifficulty: intermediate\\ncefrLevel: A2\\ncategories:\\n - dialogue\\n - directions\\n - navigation\\nmetadata:\\n estimatedTime: 30\\n prerequisites:\\n - thai-dialogue-lesson-02\\n learningObjectives:\\n - id: obj-directions-ask-location\\n description: \\\"Ask where something is located\\\"\\n skill: situational-response\\n - id: obj-directions-understand\\n description: \\\"Understand direction instructions\\\"\\n skill: dialogue-comprehension\\n - id: obj-directions-clarify\\n description: \\\"Ask for clarification\\\"\\n skill: polite-register\\n - id: obj-directions-thank\\n description: \\\"Thank someone for helping\\\"\\n skill: word-production\\n---\\n\\n# บทที่ 3 (Lesson 3) — Asking Directions\\n\\n## Situation\\n\\nYou're looking for a temple (Wat Pho) and asking a local for directions.\\n\\n## Dialogue\\n\\n:::dialogue{id=\\\"directions-dialogue-1\\\" title=\\\"Finding Wat Pho\\\"}\\n\\n**คุณ (You):** ขอโทษครับ/ค่ะ วัดโพธิ์อยู่ที่ไหนครับ/คะ?\\n*khǎaw-thôot khráp/khâ, wát-phoo yùu thîi-nǎi khráp/khá?*\\nExcuse me, where is Wat Pho?\\n\\n**คนไทย (Thai person):** วัดโพธิ์เหรอครับ? ตรงไปแล้วเลี้ยวซ้ายที่สี่แยก\\n*wát-phoo rǒe khráp? dtrong bpai láew líaw sáai thîi sìi-yàek*\\nWat Pho? Go straight and turn left at the intersection.\\n\\n**คุณ:** เดินไกลไหมครับ/คะ?\\n*dəən glai mái khráp/khá?*\\nIs it far to walk?\\n\\n**คนไทย:** ไม่ไกลครับ ประมาณ 5 นาที\\n*mâi glai khráp, bprà-maan hâa naa-thii*\\nNot far. About 5 minutes.\\n\\n**คุณ:** เลี้ยวซ้ายที่ไหนครับ/คะ?\\n*líaw sáai thîi-nǎi khráp/khá?*\\nWhere do I turn left?\\n\\n**คนไทย:** ที่สี่แยกแรกครับ จะเห็นเซเว่นอยู่มุมถนน\\n*thîi sìi-yàek râek khráp, jà hěn seh-wen yùu mum thà-nǒn*\\nAt the first intersection. You'll see a 7-Eleven on the corner.\\n\\n**คุณ:** ขอบคุณมากครับ/ค่ะ\\n*khàawp-khun mâak khráp/khâ*\\nThank you very much!\\n\\n**คนไทย:** ไม่เป็นไรครับ\\n*mâi bpen rai khráp*\\nYou're welcome!\\n\\n:::\\n\\n## Key Phrases\\n\\n| Thai | Romanization | Meaning |\\n|------|--------------|---------|\\n| ...อยู่ที่ไหน? | ...yùu thîi-nǎi? | Where is...? |\\n| ตรงไป | dtrong bpai | go straight |\\n| เลี้ยวซ้าย | líaw sáai | turn left |\\n| เลี้ยวขวา | líaw kwǎa | turn right |\\n| ไกลไหม? | glai mái? | Is it far? |\\n| ไม่ไกล | mâi glai | not far |\\n| ประมาณ...นาที | bprà-maan...naa-thii | about...minutes |\\n\\n## Direction Words\\n\\n| Thai | Meaning |\\n|------|---------|\\n| ตรงไป | go straight |\\n| เลี้ยวซ้าย | turn left |\\n| เลี้ยวขวา | turn right |\\n| ตรงข้าม | across from |\\n| ข้างๆ | next to |\\n| ใกล้ | near |\\n| ไกล | far |\\n| มุมถนน | street corner |\\n\\n## Landmarks to Look For\\n\\n| Thai | Meaning |\\n|------|---------|\\n| สี่แยก | intersection |\\n| ไฟแดง | traffic light |\\n| สะพาน | bridge |\\n| ปั๊มน้ำมัน | gas station |\\n| เซเว่น | 7-Eleven |\\n| ธนาคาร | bank |\\n\\n## Cultural Note\\n\\nThais often use landmarks rather than street names when giving directions. 7-Elevens (เซเว่น) are especially useful as they're everywhere!\\n\\n## What's Next\\n\\nIn Lesson 4, you'll learn dialogues for transportation — taking taxis, tuk-tuks, and public transport in Thailand.\\n\""],"names":["lesson03"],"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;"}
@@ -1,152 +0,0 @@
1
- const n = `---
2
- type: lesson
3
- id: thai-script-lesson-03
4
- title: "บทที่ 3 — พยัญชนะสูง I"
5
- description: "High-Class Consonants Part 1: ข ส ห — The aspirated consonants"
6
- order: 3
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: 20
17
- prerequisites:
18
- - thai-script-lesson-02
19
- learningObjectives:
20
- - id: obj-high-consonants-1
21
- description: "Learn 3 common high-class consonants"
22
- skill: character-recognition
23
- references: [egg, tiger, box]
24
- - id: obj-aspiration
25
- description: "Understand aspiration (puff of air)"
26
- skill: character-sound-mapping
27
- - id: obj-rising-tone
28
- description: "Recognize the rising tone pattern"
29
- skill: character-class-identification
30
- ---
31
-
32
- # บทที่ 3 (Lesson 3) — High-Class Consonants I
33
-
34
- ## Feel the Difference
35
-
36
- Put your hand in front of your mouth and say these English words:
37
-
38
- - "**k**ite" — feel the puff of air on "k"
39
- - "s**k**y" — notice LESS air after "s"
40
-
41
- That puff of air is called **aspiration**.
42
-
43
- :::exercise{id="aspiration-check" type="multiple-choice" title="Quick Check" skill="character-sound-mapping" objectiveId="obj-aspiration"}
44
- Which word has MORE air on the 'k' sound?
45
- ?options: kite, sky
46
- ?answer: 1
47
- :::
48
-
49
- ## Why This Matters
50
-
51
- Thai treats aspirated and unaspirated sounds as **completely different letters**:
52
-
53
- | Sound | Air | Thai Letter | Like English... |
54
- |-------|-----|-------------|-----------------|
55
- | Unaspirated k | none | ก | s**k**y |
56
- | Aspirated k | puff | ข | **k**ite |
57
-
58
- You already know **ก** (from Lesson 1). Now meet its aspirated partner:
59
-
60
- ## The Characters
61
-
62
- :::character-set{id="thai-high-consonants-1" title="High-Class Consonants I"}
63
-
64
- ::character{id="egg" canonicalRef="egg" data:class="high" char="ข" name="ข ไข่ (khɔ̌ɔ khài)" nativeName="ข ไข่" transliteration="kh/k" charType="consonant"}
65
-
66
- ::character{id="tiger" canonicalRef="tiger" data:class="high" char="ส" name="ส เสือ (sɔ̌ɔ sʉ̌a)" nativeName="ส เสือ" transliteration="s/t" charType="consonant"}
67
-
68
- ::character{id="box" canonicalRef="box" data:class="high" char="ห" name="ห หีบ (hɔ̌ɔ hìip)" nativeName="ห หีบ" transliteration="h/-" charType="consonant"}
69
-
70
- :::
71
-
72
- ## Shape Recognition
73
-
74
- Each character has a memorable shape:
75
-
76
- **ข** (egg) — Looks like ก with an extra loop. The extra loop = extra air!
77
-
78
- **ส** (tiger) — Curvy S-shape, like tiger stripes.
79
-
80
- **ห** (box) — Looks like a box. หีบ means "chest/box" — the shape matches!
81
-
82
- :::exercise{id="shape-match" type="multiple-choice" title="Match the Shape" skill="character-recognition" tests="egg" objectiveId="obj-high-consonants-1"}
83
- Which letter looks like ก with an extra loop on top?
84
- ?options: ส, ข, ห
85
- ?answer: 2
86
- :::
87
-
88
- :::exercise{id="shape-match-2" type="multiple-choice" title="Match the Shape" skill="character-recognition" tests="tiger" objectiveId="obj-high-consonants-1"}
89
- Which letter has an S-curve shape (like tiger stripes)?
90
- ?options: ข, ห, ส
91
- ?answer: 3
92
- :::
93
-
94
- ## Sound at Start vs End
95
-
96
- Thai consonants sound different depending on position:
97
-
98
- | Letter | Start of syllable | End of syllable |
99
- |--------|------------------|-----------------|
100
- | ข egg | **kh** (with air) | **k** (no release) |
101
- | ส tiger | **s** | **t** (no release) |
102
- | ห box | **h** | (not used) |
103
-
104
- :::exercise{id="position-sound" type="multiple-choice" title="Position Check" skill="character-sound-mapping" tests="egg" objectiveId="obj-aspiration"}
105
- At the START of a syllable, how is ข pronounced?
106
- ?options: k (no air), kh (with air puff), s
107
- ?answer: 2
108
- :::
109
-
110
- ## The Rising Tone
111
-
112
- Here's something powerful: **consonant class determines tone**.
113
-
114
- High-class consonants + simple vowel = **rising tone** ↗
115
-
116
- - ข + า = **ขา** (khǎa) ↗ "leg"
117
- - ส + ี = **สี** (sǐi) ↗ "color"
118
- - ห + า = **หา** (hǎa) ↗ "to find"
119
-
120
- Compare to middle-class ก (flat mid tone):
121
- - ก + า = **กา** (gaa) → "crow"
122
-
123
- Same vowel, different consonant class = **different tone!**
124
-
125
- :::exercise{id="tone-pattern" type="multiple-choice" title="Tone Check" skill="character-class-identification" objectiveId="obj-rising-tone"}
126
- What tone do high-class consonants produce in simple syllables?
127
- ?options: falling tone ↘, mid tone →, rising tone ↗
128
- ?answer: 3
129
- :::
130
-
131
- ## Summary
132
-
133
- You learned 3 high-class consonants:
134
-
135
- | Char | Name | Sound | Remember |
136
- |------|------|-------|----------|
137
- | ข | egg (ไข่) | kh- | ก + loop = + air |
138
- | ส | tiger (เสือ) | s- | S-curve shape |
139
- | ห | box (หีบ) | h- | Looks like a box |
140
-
141
- **Key insight:** High-class = aspirated (puff of air) + rising tone ↗
142
-
143
- :::exercise{id="final-recognition" type="multiple-choice" title="Final Check" skill="character-class-identification" objectiveId="obj-rising-tone"}
144
- Which consonant class produces a rising tone?
145
- ?options: low-class, middle-class, high-class
146
- ?answer: 3
147
- :::
148
- `;
149
- export {
150
- n as default
151
- };
152
- //# sourceMappingURL=lesson-03-Bj5hWZ9t.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lesson-03-Bj5hWZ9t.js","sources":["../src/syllabi/alphabet/lessons/lesson-03.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-script-lesson-03\\ntitle: \\\"บทที่ 3 — พยัญชนะสูง I\\\"\\ndescription: \\\"High-Class Consonants Part 1: ข ส ห — The aspirated consonants\\\"\\norder: 3\\nparentId: thai-script-alphabet\\ndifficulty: beginner\\ncefrLevel: A1\\ncategories:\\n - consonants\\n - high-class\\n - aspirated\\n - basic-characters\\nmetadata:\\n estimatedTime: 20\\n prerequisites:\\n - thai-script-lesson-02\\n learningObjectives:\\n - id: obj-high-consonants-1\\n description: \\\"Learn 3 common high-class consonants\\\"\\n skill: character-recognition\\n references: [egg, tiger, box]\\n - id: obj-aspiration\\n description: \\\"Understand aspiration (puff of air)\\\"\\n skill: character-sound-mapping\\n - id: obj-rising-tone\\n description: \\\"Recognize the rising tone pattern\\\"\\n skill: character-class-identification\\n---\\n\\n# บทที่ 3 (Lesson 3) — High-Class Consonants I\\n\\n## Feel the Difference\\n\\nPut your hand in front of your mouth and say these English words:\\n\\n- \\\"**k**ite\\\" — feel the puff of air on \\\"k\\\"\\n- \\\"s**k**y\\\" — notice LESS air after \\\"s\\\"\\n\\nThat puff of air is called **aspiration**.\\n\\n:::exercise{id=\\\"aspiration-check\\\" type=\\\"multiple-choice\\\" title=\\\"Quick Check\\\" skill=\\\"character-sound-mapping\\\" objectiveId=\\\"obj-aspiration\\\"}\\nWhich word has MORE air on the 'k' sound?\\n?options: kite, sky\\n?answer: 1\\n:::\\n\\n## Why This Matters\\n\\nThai treats aspirated and unaspirated sounds as **completely different letters**:\\n\\n| Sound | Air | Thai Letter | Like English... |\\n|-------|-----|-------------|-----------------|\\n| Unaspirated k | none | ก | s**k**y |\\n| Aspirated k | puff | ข | **k**ite |\\n\\nYou already know **ก** (from Lesson 1). Now meet its aspirated partner:\\n\\n## The Characters\\n\\n:::character-set{id=\\\"thai-high-consonants-1\\\" title=\\\"High-Class Consonants I\\\"}\\n\\n::character{id=\\\"egg\\\" canonicalRef=\\\"egg\\\" data:class=\\\"high\\\" char=\\\"ข\\\" name=\\\"ข ไข่ (khɔ̌ɔ khài)\\\" nativeName=\\\"ข ไข่\\\" transliteration=\\\"kh/k\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"tiger\\\" canonicalRef=\\\"tiger\\\" data:class=\\\"high\\\" char=\\\"ส\\\" name=\\\"ส เสือ (sɔ̌ɔ sʉ̌a)\\\" nativeName=\\\"ส เสือ\\\" transliteration=\\\"s/t\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"box\\\" canonicalRef=\\\"box\\\" data:class=\\\"high\\\" char=\\\"ห\\\" name=\\\"ห หีบ (hɔ̌ɔ hìip)\\\" nativeName=\\\"ห หีบ\\\" transliteration=\\\"h/-\\\" charType=\\\"consonant\\\"}\\n\\n:::\\n\\n## Shape Recognition\\n\\nEach character has a memorable shape:\\n\\n**ข** (egg) — Looks like ก with an extra loop. The extra loop = extra air!\\n\\n**ส** (tiger) — Curvy S-shape, like tiger stripes.\\n\\n**ห** (box) — Looks like a box. หีบ means \\\"chest/box\\\" — the shape matches!\\n\\n:::exercise{id=\\\"shape-match\\\" type=\\\"multiple-choice\\\" title=\\\"Match the Shape\\\" skill=\\\"character-recognition\\\" tests=\\\"egg\\\" objectiveId=\\\"obj-high-consonants-1\\\"}\\nWhich letter looks like ก with an extra loop on top?\\n?options: ส, ข, ห\\n?answer: 2\\n:::\\n\\n:::exercise{id=\\\"shape-match-2\\\" type=\\\"multiple-choice\\\" title=\\\"Match the Shape\\\" skill=\\\"character-recognition\\\" tests=\\\"tiger\\\" objectiveId=\\\"obj-high-consonants-1\\\"}\\nWhich letter has an S-curve shape (like tiger stripes)?\\n?options: ข, ห, ส\\n?answer: 3\\n:::\\n\\n## Sound at Start vs End\\n\\nThai consonants sound different depending on position:\\n\\n| Letter | Start of syllable | End of syllable |\\n|--------|------------------|-----------------|\\n| ข egg | **kh** (with air) | **k** (no release) |\\n| ส tiger | **s** | **t** (no release) |\\n| ห box | **h** | (not used) |\\n\\n:::exercise{id=\\\"position-sound\\\" type=\\\"multiple-choice\\\" title=\\\"Position Check\\\" skill=\\\"character-sound-mapping\\\" tests=\\\"egg\\\" objectiveId=\\\"obj-aspiration\\\"}\\nAt the START of a syllable, how is ข pronounced?\\n?options: k (no air), kh (with air puff), s\\n?answer: 2\\n:::\\n\\n## The Rising Tone\\n\\nHere's something powerful: **consonant class determines tone**.\\n\\nHigh-class consonants + simple vowel = **rising tone** ↗\\n\\n- ข + า = **ขา** (khǎa) ↗ \\\"leg\\\"\\n- ส + ี = **สี** (sǐi) ↗ \\\"color\\\"\\n- ห + า = **หา** (hǎa) ↗ \\\"to find\\\"\\n\\nCompare to middle-class ก (flat mid tone):\\n- ก + า = **กา** (gaa) → \\\"crow\\\"\\n\\nSame vowel, different consonant class = **different tone!**\\n\\n:::exercise{id=\\\"tone-pattern\\\" type=\\\"multiple-choice\\\" title=\\\"Tone Check\\\" skill=\\\"character-class-identification\\\" objectiveId=\\\"obj-rising-tone\\\"}\\nWhat tone do high-class consonants produce in simple syllables?\\n?options: falling tone ↘, mid tone →, rising tone ↗\\n?answer: 3\\n:::\\n\\n## Summary\\n\\nYou learned 3 high-class consonants:\\n\\n| Char | Name | Sound | Remember |\\n|------|------|-------|----------|\\n| ข | egg (ไข่) | kh- | ก + loop = + air |\\n| ส | tiger (เสือ) | s- | S-curve shape |\\n| ห | box (หีบ) | h- | Looks like a box |\\n\\n**Key insight:** High-class = aspirated (puff of air) + rising tone ↗\\n\\n:::exercise{id=\\\"final-recognition\\\" type=\\\"multiple-choice\\\" title=\\\"Final Check\\\" skill=\\\"character-class-identification\\\" objectiveId=\\\"obj-rising-tone\\\"}\\nWhich consonant class produces a rising tone?\\n?options: low-class, middle-class, high-class\\n?answer: 3\\n:::\\n\""],"names":["lesson03"],"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;"}