@syllst/th 0.1.1 → 0.1.2

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 (209) hide show
  1. package/dist/index-B029m98V.js +46 -0
  2. package/dist/index-B029m98V.js.map +1 -0
  3. package/dist/index-BCA5Llwg.js +52 -0
  4. package/dist/index-BCA5Llwg.js.map +1 -0
  5. package/dist/index-BFcg5D_W.js +56 -0
  6. package/dist/index-BFcg5D_W.js.map +1 -0
  7. package/dist/index-CB8M6CK6.js +52 -0
  8. package/dist/index-CB8M6CK6.js.map +1 -0
  9. package/dist/index-CTQ45BVw.js +48 -0
  10. package/dist/index-CTQ45BVw.js.map +1 -0
  11. package/dist/index-CoqP9GZL.js +52 -0
  12. package/dist/index-CoqP9GZL.js.map +1 -0
  13. package/dist/index-DADMaTE7.js +27 -0
  14. package/dist/index-DADMaTE7.js.map +1 -0
  15. package/dist/index-Dy38Hmlm.js +52 -0
  16. package/dist/index-Dy38Hmlm.js.map +1 -0
  17. package/dist/index-of_athp-.js +82 -0
  18. package/dist/index-of_athp-.js.map +1 -0
  19. package/dist/index-vuRo2mLK.js +50 -0
  20. package/dist/index-vuRo2mLK.js.map +1 -0
  21. package/dist/index.d.ts +15 -45
  22. package/dist/index.js +62 -66
  23. package/dist/index.js.map +1 -1
  24. package/dist/lesson-01--9NOyHZ6.js +106 -0
  25. package/dist/lesson-01--9NOyHZ6.js.map +1 -0
  26. package/dist/lesson-01-3hBted4A.js +147 -0
  27. package/dist/lesson-01-3hBted4A.js.map +1 -0
  28. package/dist/lesson-01-97FtYE6g.js +130 -0
  29. package/dist/lesson-01-97FtYE6g.js.map +1 -0
  30. package/dist/lesson-01-BNdHXAGR.js +103 -0
  31. package/dist/lesson-01-BNdHXAGR.js.map +1 -0
  32. package/dist/lesson-01-BYKAZiua.js +130 -0
  33. package/dist/lesson-01-BYKAZiua.js.map +1 -0
  34. package/dist/lesson-01-BhjY6ArF.js +147 -0
  35. package/dist/lesson-01-BhjY6ArF.js.map +1 -0
  36. package/dist/lesson-01-CF4tJfZ3.js +120 -0
  37. package/dist/lesson-01-CF4tJfZ3.js.map +1 -0
  38. package/dist/lesson-01-CRx-yw4C.js +145 -0
  39. package/dist/lesson-01-CRx-yw4C.js.map +1 -0
  40. package/dist/lesson-01-WV3ic8Ok.js +91 -0
  41. package/dist/lesson-01-WV3ic8Ok.js.map +1 -0
  42. package/dist/lesson-02-B2Xg7RVU.js +214 -0
  43. package/dist/lesson-02-B2Xg7RVU.js.map +1 -0
  44. package/dist/lesson-02-BAbq-QGP.js +191 -0
  45. package/dist/lesson-02-BAbq-QGP.js.map +1 -0
  46. package/dist/lesson-02-BGnp0Ik_.js +168 -0
  47. package/dist/lesson-02-BGnp0Ik_.js.map +1 -0
  48. package/dist/lesson-02-BO3BXPMJ.js +139 -0
  49. package/dist/lesson-02-BO3BXPMJ.js.map +1 -0
  50. package/dist/lesson-02-Bm9EJuN8.js +191 -0
  51. package/dist/lesson-02-Bm9EJuN8.js.map +1 -0
  52. package/dist/lesson-02-C0ZL4z3c.js +110 -0
  53. package/dist/lesson-02-C0ZL4z3c.js.map +1 -0
  54. package/dist/lesson-02-C2ALLvoT.js +161 -0
  55. package/dist/lesson-02-C2ALLvoT.js.map +1 -0
  56. package/dist/lesson-02-C8dfzXvq.js +112 -0
  57. package/dist/lesson-02-C8dfzXvq.js.map +1 -0
  58. package/dist/lesson-02-CsejVbCo.js +196 -0
  59. package/dist/lesson-02-CsejVbCo.js.map +1 -0
  60. package/dist/lesson-03-8NtAeqFh.js +132 -0
  61. package/dist/lesson-03-8NtAeqFh.js.map +1 -0
  62. package/dist/lesson-03-BdZfKRhq.js +163 -0
  63. package/dist/lesson-03-BdZfKRhq.js.map +1 -0
  64. package/dist/lesson-03-CKTNtgY1.js +229 -0
  65. package/dist/lesson-03-CKTNtgY1.js.map +1 -0
  66. package/dist/lesson-03-D8va_Q9B.js +173 -0
  67. package/dist/lesson-03-D8va_Q9B.js.map +1 -0
  68. package/dist/lesson-03-DV2SUWVH.js +184 -0
  69. package/dist/lesson-03-DV2SUWVH.js.map +1 -0
  70. package/dist/lesson-03-DiV17_Os.js +116 -0
  71. package/dist/lesson-03-DiV17_Os.js.map +1 -0
  72. package/dist/lesson-03-DrJgbfDQ.js +217 -0
  73. package/dist/lesson-03-DrJgbfDQ.js.map +1 -0
  74. package/dist/lesson-03-XVahXvgf.js +145 -0
  75. package/dist/lesson-03-XVahXvgf.js.map +1 -0
  76. package/dist/lesson-03-Xc8-2Yt3.js +175 -0
  77. package/dist/lesson-03-Xc8-2Yt3.js.map +1 -0
  78. package/dist/lesson-04-BpRrNmzO.js +135 -0
  79. package/dist/lesson-04-BpRrNmzO.js.map +1 -0
  80. package/dist/lesson-04-CtNr2B3E.js +206 -0
  81. package/dist/lesson-04-CtNr2B3E.js.map +1 -0
  82. package/dist/lesson-04-DEEPJ_rd.js +207 -0
  83. package/dist/lesson-04-DEEPJ_rd.js.map +1 -0
  84. package/dist/lesson-04-D__vMCyA.js +164 -0
  85. package/dist/lesson-04-D__vMCyA.js.map +1 -0
  86. package/dist/lesson-04-Dfc7S4nT.js +225 -0
  87. package/dist/lesson-04-Dfc7S4nT.js.map +1 -0
  88. package/dist/lesson-04-DtXVhdGB.js +170 -0
  89. package/dist/lesson-04-DtXVhdGB.js.map +1 -0
  90. package/dist/lesson-04-ZrSBM0BX.js +184 -0
  91. package/dist/lesson-04-ZrSBM0BX.js.map +1 -0
  92. package/dist/lesson-04-ioLXnB0j.js +175 -0
  93. package/dist/lesson-04-ioLXnB0j.js.map +1 -0
  94. package/dist/lesson-04-rapx_3vA.js +222 -0
  95. package/dist/lesson-04-rapx_3vA.js.map +1 -0
  96. package/dist/lesson-05-Bm6fg-DJ.js +236 -0
  97. package/dist/lesson-05-Bm6fg-DJ.js.map +1 -0
  98. package/dist/lesson-05-CKxXcooO.js +191 -0
  99. package/dist/lesson-05-CKxXcooO.js.map +1 -0
  100. package/dist/lesson-05-D1d3kc3M.js +137 -0
  101. package/dist/lesson-05-D1d3kc3M.js.map +1 -0
  102. package/dist/lesson-05-D2SVU-I0.js +236 -0
  103. package/dist/lesson-05-D2SVU-I0.js.map +1 -0
  104. package/dist/lesson-05-DBsHyFlt.js +181 -0
  105. package/dist/lesson-05-DBsHyFlt.js.map +1 -0
  106. package/dist/lesson-05-DXOLS7G0.js +172 -0
  107. package/dist/lesson-05-DXOLS7G0.js.map +1 -0
  108. package/dist/lesson-05-D_GdROUn.js +175 -0
  109. package/dist/lesson-05-D_GdROUn.js.map +1 -0
  110. package/dist/lesson-05-DusKUtbm.js +208 -0
  111. package/dist/lesson-05-DusKUtbm.js.map +1 -0
  112. package/dist/lesson-05-ip400cxe.js +194 -0
  113. package/dist/lesson-05-ip400cxe.js.map +1 -0
  114. package/dist/lesson-06-1CE05TRX.js +196 -0
  115. package/dist/lesson-06-1CE05TRX.js.map +1 -0
  116. package/dist/lesson-06-1ZsbrE1a.js +230 -0
  117. package/dist/lesson-06-1ZsbrE1a.js.map +1 -0
  118. package/dist/lesson-06-Aw-X-HMV.js +222 -0
  119. package/dist/lesson-06-Aw-X-HMV.js.map +1 -0
  120. package/dist/lesson-06-BG26PBTF.js +135 -0
  121. package/dist/lesson-06-BG26PBTF.js.map +1 -0
  122. package/dist/lesson-06-Bliedg7n.js +265 -0
  123. package/dist/lesson-06-Bliedg7n.js.map +1 -0
  124. package/dist/lesson-06-CnKkcUb-.js +164 -0
  125. package/dist/lesson-06-CnKkcUb-.js.map +1 -0
  126. package/dist/lesson-06-CvN9pDsE.js +182 -0
  127. package/dist/lesson-06-CvN9pDsE.js.map +1 -0
  128. package/dist/lesson-06-Du9J8sYl.js +192 -0
  129. package/dist/lesson-06-Du9J8sYl.js.map +1 -0
  130. package/dist/lesson-07-8zdPFyjE.js +189 -0
  131. package/dist/lesson-07-8zdPFyjE.js.map +1 -0
  132. package/dist/lesson-07-B9bkJ3gP.js +136 -0
  133. package/dist/lesson-07-B9bkJ3gP.js.map +1 -0
  134. package/dist/lesson-07-CTFSd9gF.js +200 -0
  135. package/dist/lesson-07-CTFSd9gF.js.map +1 -0
  136. package/dist/lesson-07-DezS1ojS.js +224 -0
  137. package/dist/lesson-07-DezS1ojS.js.map +1 -0
  138. package/dist/lesson-07-DjCMCYkK.js +186 -0
  139. package/dist/lesson-07-DjCMCYkK.js.map +1 -0
  140. package/dist/lesson-07-X6anzbAn.js +240 -0
  141. package/dist/lesson-07-X6anzbAn.js.map +1 -0
  142. package/dist/lesson-07-rvSSQiVh.js +222 -0
  143. package/dist/lesson-07-rvSSQiVh.js.map +1 -0
  144. package/dist/lesson-08-BYfkPBkH.js +279 -0
  145. package/dist/lesson-08-BYfkPBkH.js.map +1 -0
  146. package/dist/lesson-08-Bb_v_gD-.js +140 -0
  147. package/dist/lesson-08-Bb_v_gD-.js.map +1 -0
  148. package/dist/lesson-08-BqW5C_OE.js +265 -0
  149. package/dist/lesson-08-BqW5C_OE.js.map +1 -0
  150. package/dist/lesson-08-CeDWopKc.js +215 -0
  151. package/dist/lesson-08-CeDWopKc.js.map +1 -0
  152. package/dist/lesson-08-Cyzy_VeP.js +214 -0
  153. package/dist/lesson-08-Cyzy_VeP.js.map +1 -0
  154. package/dist/lesson-08-hJlci9W5.js +197 -0
  155. package/dist/lesson-08-hJlci9W5.js.map +1 -0
  156. package/dist/lesson-09-BQ1CZCjT.js +137 -0
  157. package/dist/lesson-09-BQ1CZCjT.js.map +1 -0
  158. package/dist/lesson-09-DHRHZIc1.js +209 -0
  159. package/dist/lesson-09-DHRHZIc1.js.map +1 -0
  160. package/dist/lesson-10-BdfkVT7s.js +221 -0
  161. package/dist/lesson-10-BdfkVT7s.js.map +1 -0
  162. package/dist/lesson-10-C7YEQ8et.js +150 -0
  163. package/dist/lesson-10-C7YEQ8et.js.map +1 -0
  164. package/dist/lesson-11-oJQ8ZxJk.js +248 -0
  165. package/dist/lesson-11-oJQ8ZxJk.js.map +1 -0
  166. package/dist/lesson-12-D69m5ETy.js +265 -0
  167. package/dist/lesson-12-D69m5ETy.js.map +1 -0
  168. package/dist/syllabi/alphabet/index.d.ts +3 -6
  169. package/dist/syllabi/alphabet/index.js +8 -37
  170. package/dist/syllabi/alphabet/index.js.map +1 -1
  171. package/dist/syllabi/dialogue/index.d.ts +3 -6
  172. package/dist/syllabi/dialogue/index.js +9 -33
  173. package/dist/syllabi/dialogue/index.js.map +1 -1
  174. package/dist/syllabi/essentials/index.d.ts +3 -6
  175. package/dist/syllabi/essentials/index.js +9 -31
  176. package/dist/syllabi/essentials/index.js.map +1 -1
  177. package/dist/syllabi/food/index.d.ts +3 -6
  178. package/dist/syllabi/food/index.js +9 -33
  179. package/dist/syllabi/food/index.js.map +1 -1
  180. package/dist/syllabi/grammar/index.d.ts +3 -6
  181. package/dist/syllabi/grammar/index.js +9 -33
  182. package/dist/syllabi/grammar/index.js.map +1 -1
  183. package/dist/syllabi/numbers/index.d.ts +3 -6
  184. package/dist/syllabi/numbers/index.js +9 -30
  185. package/dist/syllabi/numbers/index.js.map +1 -1
  186. package/dist/syllabi/reading/index.d.ts +3 -6
  187. package/dist/syllabi/reading/index.js +9 -35
  188. package/dist/syllabi/reading/index.js.map +1 -1
  189. package/dist/syllabi/travel/index.d.ts +3 -6
  190. package/dist/syllabi/travel/index.js +9 -32
  191. package/dist/syllabi/travel/index.js.map +1 -1
  192. package/dist/syllabi/vowels-tones/index.d.ts +3 -6
  193. package/dist/syllabi/vowels-tones/index.js +9 -33
  194. package/dist/syllabi/vowels-tones/index.js.map +1 -1
  195. package/package.json +16 -9
  196. package/dist/index.d.ts.map +0 -1
  197. package/dist/shared.d.ts +0 -70
  198. package/dist/shared.d.ts.map +0 -1
  199. package/dist/shared.js +0 -33
  200. package/dist/shared.js.map +0 -1
  201. package/dist/syllabi/alphabet/index.d.ts.map +0 -1
  202. package/dist/syllabi/dialogue/index.d.ts.map +0 -1
  203. package/dist/syllabi/essentials/index.d.ts.map +0 -1
  204. package/dist/syllabi/food/index.d.ts.map +0 -1
  205. package/dist/syllabi/grammar/index.d.ts.map +0 -1
  206. package/dist/syllabi/numbers/index.d.ts.map +0 -1
  207. package/dist/syllabi/reading/index.d.ts.map +0 -1
  208. package/dist/syllabi/travel/index.d.ts.map +0 -1
  209. package/dist/syllabi/vowels-tones/index.d.ts.map +0 -1
@@ -0,0 +1,191 @@
1
+ const n = `---
2
+ type: lesson
3
+ id: thai-script-lesson-02
4
+ title: "บทที่ 2 — พยัญชนะกลาง II"
5
+ description: "Middle-Class Consonants Part 2: ม ย ร ล อ — Nasals, liquids, and the silent consonant"
6
+ order: 2
7
+ parentId: thai-script-alphabet
8
+ difficulty: beginner
9
+ cefrLevel: A1
10
+ categories:
11
+ - consonants
12
+ - middle-class
13
+ - nasal
14
+ - approximant
15
+ - basic-characters
16
+ metadata:
17
+ estimatedTime: 25
18
+ prerequisites:
19
+ - thai-script-lesson-01
20
+ objectives:
21
+ - "Complete your knowledge of middle-class consonants"
22
+ - "Understand nasals and approximants"
23
+ - "Learn the special role of อ as a silent consonant"
24
+ - "Practice reading simple syllables"
25
+ ---
26
+
27
+ # บทที่ 2 (Lesson 2) — Middle-Class Consonants II
28
+
29
+ ## Introduction
30
+
31
+ In this lesson, you'll complete the middle-class consonants with 5 more characters. These include **nasals** (ม), **liquids** (ร ล), **approximants** (ย ว), and the unique **silent consonant** (อ).
32
+
33
+ ## Why These Are Different
34
+
35
+ The consonants in Lesson 1 were all **stops** — sounds made by completely blocking airflow then releasing. Today's consonants are different:
36
+
37
+ - **Nasals** (ม): Air flows through the nose
38
+ - **Liquids** (ร ล): Air flows around the tongue
39
+ - **Approximants** (ย): Tongue approaches but doesn't touch
40
+
41
+ This affects their behavior in final position — they don't become unreleased stops like the Lesson 1 consonants.
42
+
43
+ ## Characters
44
+
45
+ :::character-set{id="thai-middle-consonants-2" title="Middle-Class Consonants II"}
46
+
47
+ ::character{id="th-horse" char="ม" name="ม ม้า (mɔɔ máa)" nativeName="ม ม้า" transliteration="m" charType="consonant"}
48
+
49
+ ::character{id="th-ogre" char="ย" name="ย ยักษ์ (yɔɔ yák)" nativeName="ย ยักษ์" transliteration="y" charType="consonant"}
50
+
51
+ ::character{id="th-boat" char="ร" name="ร เรือ (rɔɔ rʉa)" nativeName="ร เรือ" transliteration="r/n" charType="consonant"}
52
+
53
+ ::character{id="th-monkey" char="ล" name="ล ลิง (lɔɔ ling)" nativeName="ล ลิง" transliteration="l/n" charType="consonant"}
54
+
55
+ ::character{id="th-bowl" char="อ" name="อ อ่าง (ɔɔ àang)" nativeName="อ อ่าง" transliteration="-/vowel" charType="consonant"}
56
+
57
+ :::
58
+
59
+ ## The Special Case: อ (Ɔɔ Àang)
60
+
61
+ **อ** is the most unusual Thai consonant. It has **two completely different roles**:
62
+
63
+ ### As Initial Consonant
64
+ When starting a syllable that begins with a vowel sound, อ serves as a **silent placeholder**:
65
+ - อา (aa) — the อ is silent, you just hear "aa"
66
+ - Without อ, there would be no consonant to "carry" the vowel
67
+
68
+ ### As Vowel Component
69
+ In certain vowel combinations, อ represents the sound /ɔɔ/:
70
+ - เมือง (mʉang) — the อ makes the /ɔ/ sound
71
+
72
+ This dual nature makes อ essential despite being "silent" in many words.
73
+
74
+ ## Sound Changes for Nasals and Liquids
75
+
76
+ Unlike the stop consonants from Lesson 1, these consonants keep their basic sound quality in final position:
77
+
78
+ | Consonant | Initial Sound | Final Sound | Example |
79
+ |-----------|---------------|-------------|---------|
80
+ | ม | **m** | **m** | มา (maa) / ลม (lom) |
81
+ | ย | **y** | **i** (as vowel) | ยา (yaa) / สาย (sǎai) |
82
+ | ร | **r** (rolled) | **n** | รัก (rák) / ตอร์ (dton) |
83
+ | ล | **l** | **n** | ลา (laa) / กล (gon) |
84
+
85
+ **Important**: Both ร and ล become /n/ in final position. This surprises many learners!
86
+
87
+ ## The Thai R Sound
88
+
89
+ Thai **ร** is a rolled or flapped R, similar to Spanish. In casual speech, many Thai speakers substitute **ล** for **ร** (so "ร เรือ" sounds like "ล เลือ"). This is very common but considered informal.
90
+
91
+ In careful speech:
92
+ - **ร** = alveolar trill or flap (tongue tip vibrates)
93
+ - **ล** = lateral (air flows around tongue sides)
94
+
95
+ ## Middle-Class Complete
96
+
97
+ You've now learned all 9 middle-class consonants! Here's the complete set:
98
+
99
+ | Stop Consonants | Nasals/Liquids |
100
+ |-----------------|----------------|
101
+ | ก จ ด ต ป บ | ม ย ร ล อ |
102
+
103
+ Why only 9 middle-class versus 24 low-class? Historical sound shifts moved many consonants to the low class over time. The remaining middle-class consonants are the "original" unvoiced stops plus sonorants.
104
+
105
+ ## Tone Behavior of Middle Class
106
+
107
+ With no tone mark, middle-class consonants produce:
108
+ - **Live syllable** (open or nasal ending): **Mid tone**
109
+ - **Dead syllable** (stop ending, short vowel): **Low tone**
110
+
111
+ Examples:
112
+ - กา (gaa) — live, mid tone
113
+ - กับ (gàp) — dead, low tone
114
+
115
+ This will make more sense after you learn vowels and tone marks!
116
+
117
+ ## Key Points
118
+
119
+ 1. **ม** is a nasal — air through nose, same sound initial and final
120
+ 2. **ย** becomes a vowel sound (/i/) in final position
121
+ 3. **ร and ล** both become /n/ at syllable end
122
+ 4. **อ** is the "silent" consonant for vowel-initial words
123
+ 5. **All 9 middle-class** consonants share the same tone rules
124
+
125
+ ## Practice Tip: Shape Recognition
126
+
127
+ - **ม** looks like a "3" with a tail
128
+ - **ย** has a distinctive curving shape
129
+ - **ร and ล** can be confusing — ร has the loop on top, ล doesn't
130
+ - **อ** looks like a circle with a tail
131
+
132
+ ## Practice Exercises
133
+
134
+ :::exercise{id="middle-2-final-sounds" type="matching" title="Final Position Sounds"}
135
+
136
+ **Question:** Match each consonant to its final position sound
137
+
138
+ - ร (boat)
139
+ - ล (monkey)
140
+ - ย (ogre)
141
+ - ม (horse)
142
+
143
+ **Answer:**
144
+
145
+ - ร → /n/ (becomes N in final position)
146
+ - ล → /n/ (becomes N in final position)
147
+ - ย → /i/ (becomes vowel-like sound)
148
+ - ม → /m/ (stays M in final position)
149
+
150
+ **Explanation:** Unlike stop consonants, these sonorants maintain or transform their sound. Both ร and ล become /n/ finally, which surprises many learners. ย becomes vowel-like, and ม stays the same.
151
+
152
+ :::
153
+
154
+ :::exercise{id="middle-2-special-case" type="multiple-choice" title="The Special อ Consonant"}
155
+
156
+ **Question:** What makes อ (bowl) special?
157
+
158
+ **Options:**
159
+ - It's the only vowel
160
+ - It serves as both silent consonant carrier and vowel component
161
+ - It's never used
162
+ - It's always pronounced
163
+
164
+ **Answer:** 2
165
+
166
+ **Explanation:** อ has dual functions: (1) as a silent placeholder for vowel-initial syllables (อา = "aa"), and (2) as a vowel component representing /ɔɔ/ in certain combinations. This makes it unique among Thai consonants.
167
+
168
+ :::
169
+
170
+ :::exercise{id="middle-2-complete-set" type="fill-in-blank" title="Complete Middle-Class Set"}
171
+
172
+ **Question:** How many middle-class consonants are there, and what are they?
173
+
174
+ **Answer:**
175
+
176
+ There are **9 middle-class consonants** total:
177
+ - Stop consonants: ก จ ด ต ป บ
178
+ - Nasals/Liquids: ม ย ร ล อ
179
+
180
+ **Explanation:** Middle-class is the smallest group (9 consonants) compared to high-class (11) and low-class (24). They're called "middle" because they produce mid tones in basic patterns, forming the baseline for the tone system.
181
+
182
+ :::
183
+
184
+ ## What's Next
185
+
186
+ In Lesson 3, you'll start learning **high-class consonants** — these create rising tones and are the "aspirated" (breathy) versions of sounds you already know.
187
+ `;
188
+ export {
189
+ n as default
190
+ };
191
+ //# sourceMappingURL=lesson-02-BAbq-QGP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-02-BAbq-QGP.js","sources":["../src/syllabi/alphabet/lessons/lesson-02.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-script-lesson-02\\ntitle: \\\"บทที่ 2 — พยัญชนะกลาง II\\\"\\ndescription: \\\"Middle-Class Consonants Part 2: ม ย ร ล อ — Nasals, liquids, and the silent consonant\\\"\\norder: 2\\nparentId: thai-script-alphabet\\ndifficulty: beginner\\ncefrLevel: A1\\ncategories:\\n - consonants\\n - middle-class\\n - nasal\\n - approximant\\n - basic-characters\\nmetadata:\\n estimatedTime: 25\\n prerequisites:\\n - thai-script-lesson-01\\n objectives:\\n - \\\"Complete your knowledge of middle-class consonants\\\"\\n - \\\"Understand nasals and approximants\\\"\\n - \\\"Learn the special role of อ as a silent consonant\\\"\\n - \\\"Practice reading simple syllables\\\"\\n---\\n\\n# บทที่ 2 (Lesson 2) — Middle-Class Consonants II\\n\\n## Introduction\\n\\nIn this lesson, you'll complete the middle-class consonants with 5 more characters. These include **nasals** (ม), **liquids** (ร ล), **approximants** (ย ว), and the unique **silent consonant** (อ).\\n\\n## Why These Are Different\\n\\nThe consonants in Lesson 1 were all **stops** — sounds made by completely blocking airflow then releasing. Today's consonants are different:\\n\\n- **Nasals** (ม): Air flows through the nose\\n- **Liquids** (ร ล): Air flows around the tongue\\n- **Approximants** (ย): Tongue approaches but doesn't touch\\n\\nThis affects their behavior in final position — they don't become unreleased stops like the Lesson 1 consonants.\\n\\n## Characters\\n\\n:::character-set{id=\\\"thai-middle-consonants-2\\\" title=\\\"Middle-Class Consonants II\\\"}\\n\\n::character{id=\\\"th-horse\\\" char=\\\"ม\\\" name=\\\"ม ม้า (mɔɔ máa)\\\" nativeName=\\\"ม ม้า\\\" transliteration=\\\"m\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"th-ogre\\\" char=\\\"ย\\\" name=\\\"ย ยักษ์ (yɔɔ yák)\\\" nativeName=\\\"ย ยักษ์\\\" transliteration=\\\"y\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"th-boat\\\" char=\\\"ร\\\" name=\\\"ร เรือ (rɔɔ rʉa)\\\" nativeName=\\\"ร เรือ\\\" transliteration=\\\"r/n\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"th-monkey\\\" char=\\\"ล\\\" name=\\\"ล ลิง (lɔɔ ling)\\\" nativeName=\\\"ล ลิง\\\" transliteration=\\\"l/n\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"th-bowl\\\" char=\\\"อ\\\" name=\\\"อ อ่าง (ɔɔ àang)\\\" nativeName=\\\"อ อ่าง\\\" transliteration=\\\"-/vowel\\\" charType=\\\"consonant\\\"}\\n\\n:::\\n\\n## The Special Case: อ (Ɔɔ Àang)\\n\\n**อ** is the most unusual Thai consonant. It has **two completely different roles**:\\n\\n### As Initial Consonant\\nWhen starting a syllable that begins with a vowel sound, อ serves as a **silent placeholder**:\\n- อา (aa) — the อ is silent, you just hear \\\"aa\\\"\\n- Without อ, there would be no consonant to \\\"carry\\\" the vowel\\n\\n### As Vowel Component\\nIn certain vowel combinations, อ represents the sound /ɔɔ/:\\n- เมือง (mʉang) — the อ makes the /ɔ/ sound\\n\\nThis dual nature makes อ essential despite being \\\"silent\\\" in many words.\\n\\n## Sound Changes for Nasals and Liquids\\n\\nUnlike the stop consonants from Lesson 1, these consonants keep their basic sound quality in final position:\\n\\n| Consonant | Initial Sound | Final Sound | Example |\\n|-----------|---------------|-------------|---------|\\n| ม | **m** | **m** | มา (maa) / ลม (lom) |\\n| ย | **y** | **i** (as vowel) | ยา (yaa) / สาย (sǎai) |\\n| ร | **r** (rolled) | **n** | รัก (rák) / ตอร์ (dton) |\\n| ล | **l** | **n** | ลา (laa) / กล (gon) |\\n\\n**Important**: Both ร and ล become /n/ in final position. This surprises many learners!\\n\\n## The Thai R Sound\\n\\nThai **ร** is a rolled or flapped R, similar to Spanish. In casual speech, many Thai speakers substitute **ล** for **ร** (so \\\"ร เรือ\\\" sounds like \\\"ล เลือ\\\"). This is very common but considered informal.\\n\\nIn careful speech:\\n- **ร** = alveolar trill or flap (tongue tip vibrates)\\n- **ล** = lateral (air flows around tongue sides)\\n\\n## Middle-Class Complete\\n\\nYou've now learned all 9 middle-class consonants! Here's the complete set:\\n\\n| Stop Consonants | Nasals/Liquids |\\n|-----------------|----------------|\\n| ก จ ด ต ป บ | ม ย ร ล อ |\\n\\nWhy only 9 middle-class versus 24 low-class? Historical sound shifts moved many consonants to the low class over time. The remaining middle-class consonants are the \\\"original\\\" unvoiced stops plus sonorants.\\n\\n## Tone Behavior of Middle Class\\n\\nWith no tone mark, middle-class consonants produce:\\n- **Live syllable** (open or nasal ending): **Mid tone**\\n- **Dead syllable** (stop ending, short vowel): **Low tone**\\n\\nExamples:\\n- กา (gaa) — live, mid tone\\n- กับ (gàp) — dead, low tone\\n\\nThis will make more sense after you learn vowels and tone marks!\\n\\n## Key Points\\n\\n1. **ม** is a nasal — air through nose, same sound initial and final\\n2. **ย** becomes a vowel sound (/i/) in final position\\n3. **ร and ล** both become /n/ at syllable end\\n4. **อ** is the \\\"silent\\\" consonant for vowel-initial words\\n5. **All 9 middle-class** consonants share the same tone rules\\n\\n## Practice Tip: Shape Recognition\\n\\n- **ม** looks like a \\\"3\\\" with a tail\\n- **ย** has a distinctive curving shape\\n- **ร and ล** can be confusing — ร has the loop on top, ล doesn't\\n- **อ** looks like a circle with a tail\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"middle-2-final-sounds\\\" type=\\\"matching\\\" title=\\\"Final Position Sounds\\\"}\\n\\n**Question:** Match each consonant to its final position sound\\n\\n- ร (boat)\\n- ล (monkey)\\n- ย (ogre)\\n- ม (horse)\\n\\n**Answer:**\\n\\n- ร → /n/ (becomes N in final position)\\n- ล → /n/ (becomes N in final position)\\n- ย → /i/ (becomes vowel-like sound)\\n- ม → /m/ (stays M in final position)\\n\\n**Explanation:** Unlike stop consonants, these sonorants maintain or transform their sound. Both ร and ล become /n/ finally, which surprises many learners. ย becomes vowel-like, and ม stays the same.\\n\\n:::\\n\\n:::exercise{id=\\\"middle-2-special-case\\\" type=\\\"multiple-choice\\\" title=\\\"The Special อ Consonant\\\"}\\n\\n**Question:** What makes อ (bowl) special?\\n\\n**Options:**\\n- It's the only vowel\\n- It serves as both silent consonant carrier and vowel component\\n- It's never used\\n- It's always pronounced\\n\\n**Answer:** 2\\n\\n**Explanation:** อ has dual functions: (1) as a silent placeholder for vowel-initial syllables (อา = \\\"aa\\\"), and (2) as a vowel component representing /ɔɔ/ in certain combinations. This makes it unique among Thai consonants.\\n\\n:::\\n\\n:::exercise{id=\\\"middle-2-complete-set\\\" type=\\\"fill-in-blank\\\" title=\\\"Complete Middle-Class Set\\\"}\\n\\n**Question:** How many middle-class consonants are there, and what are they?\\n\\n**Answer:**\\n\\nThere are **9 middle-class consonants** total:\\n- Stop consonants: ก จ ด ต ป บ\\n- Nasals/Liquids: ม ย ร ล อ\\n\\n**Explanation:** Middle-class is the smallest group (9 consonants) compared to high-class (11) and low-class (24). They're called \\\"middle\\\" because they produce mid tones in basic patterns, forming the baseline for the tone system.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 3, you'll start learning **high-class consonants** — these create rising tones and are the \\\"aspirated\\\" (breathy) versions of sounds you already know.\\n\""],"names":["lesson02"],"mappings":"AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -0,0 +1,168 @@
1
+ const e = `---
2
+ type: lesson
3
+ id: thai-vowels-lesson-02
4
+ title: "บทที่ 2 — สระเสียงสั้น II"
5
+ description: "Short Vowels Part 2: Before, after, and around consonants"
6
+ order: 2
7
+ parentId: thai-vowels-tones
8
+ difficulty: beginner
9
+ cefrLevel: A1
10
+ categories:
11
+ - vowels
12
+ - short-vowels
13
+ - basic-vowels
14
+ metadata:
15
+ estimatedTime: 35
16
+ prerequisites:
17
+ - thai-vowels-lesson-01
18
+ objectives:
19
+ - "Recognize vowels written before consonants"
20
+ - "Recognize vowels written after consonants"
21
+ - "Understand 'write left, read right' principle"
22
+ - "Master the short 'a' vowel forms"
23
+ ---
24
+
25
+ # บทที่ 2 (Lesson 2) — Short Vowels II
26
+
27
+ ## Introduction
28
+
29
+ In this lesson, you'll encounter Thai's most unique vowel feature: vowels that appear **before** the consonant in writing but are pronounced **after** it. This "write left, read right" pattern is essential for reading Thai fluently.
30
+
31
+ ## The Glottal Stop Vowel: ะ
32
+
33
+ The vowel **ะ** (sara a) is special — it creates a short "a" sound followed by a **glottal stop** (a brief catch in the throat, like the pause in "uh-oh").
34
+
35
+ :::character-set{id="thai-short-vowel-a" title="Short 'a' Vowel"}
36
+
37
+ ::character{id="th-vowel-a" char="ะ" name="สระอะ (sara a)" nativeName="สระอะ" transliteration="a" charType="vowel"}
38
+
39
+ :::
40
+
41
+ ## Leading Vowels: Write First, Pronounce After
42
+
43
+ These vowels are written **before** the consonant but pronounced **after** it:
44
+
45
+ :::character-set{id="thai-leading-short-vowels" title="Leading Short Vowels"}
46
+
47
+ ::character{id="th-vowel-e" char="เ-ะ" name="สระเอะ (sara e)" nativeName="สระเอะ" transliteration="e" charType="vowel"}
48
+
49
+ ::character{id="th-vowel-ae" char="แ-ะ" name="สระแอะ (sara ae)" nativeName="สระแอะ" transliteration="ae" charType="vowel"}
50
+
51
+ ::character{id="th-vowel-o" char="โ-ะ" name="สระโอะ (sara o)" nativeName="สระโอะ" transliteration="o" charType="vowel"}
52
+
53
+ ::character{id="th-vowel-oe" char="เ-อะ" name="สระเออะ (sara oe)" nativeName="สระเออะ" transliteration="oe" charType="vowel"}
54
+
55
+ :::
56
+
57
+ ## The Wrap-Around Vowel: เ-า
58
+
59
+ This vowel "wraps around" the consonant:
60
+
61
+ :::character-set{id="thai-wraparound-vowel" title="Wrap-Around Vowel"}
62
+
63
+ ::character{id="th-vowel-ao" char="เ-า" name="สระเอา (sara ao)" nativeName="สระเอา" transliteration="ao" charType="vowel"}
64
+
65
+ :::
66
+
67
+ ## Understanding "Write Left, Read Right"
68
+
69
+ In Thai, when you see: **เ** + ก → **เก**
70
+
71
+ You **write** เ first (to the left), but you **read** it as "gee" — the consonant ก comes first in pronunciation.
72
+
73
+ | Written Form | How to Read | Pronunciation |
74
+ |--------------|-------------|---------------|
75
+ | เกะ | ก + เ-ะ | ge (short) |
76
+ | แกะ | ก + แ-ะ | gae (short) |
77
+ | โกะ | ก + โ-ะ | go (short) |
78
+ | เกา | ก + เ-า | gao |
79
+
80
+ ## Short Vowel Pairs
81
+
82
+ Each short vowel has a long counterpart:
83
+
84
+ | Short | Long | Sound Comparison |
85
+ |-------|------|------------------|
86
+ | ะ (a) | า (aa) | "cut" vs "car" |
87
+ | เ-ะ (e) | เ (ee) | "pet" vs "pay" |
88
+ | แ-ะ (ae) | แ (aae) | "bat" vs "bad" (longer) |
89
+ | โ-ะ (o) | โ (oo) | "pot" vs "boat" |
90
+
91
+ ## Key Points
92
+
93
+ 1. **Write left, read right**: Leading vowels are written first but pronounced after the consonant
94
+ 2. **ะ marks shortness**: When you see ะ at the end, the vowel is short
95
+ 3. **Glottal stop**: Short vowels often end with a brief throat catch
96
+ 4. **Two-part vowels**: Some vowels wrap around the consonant (เ-า)
97
+
98
+ ## Common Words Practice
99
+
100
+ Try reading these common words:
101
+ - เตะ (dte) — to kick
102
+ - แมะ (mae) — informal "mom" (some dialects)
103
+ - เกา (gao) — to scratch
104
+
105
+ ## Practice Exercises
106
+
107
+ :::exercise{id="short-vowels-2-direction" type="multiple-choice" title="Write Left, Read Right"}
108
+
109
+ **Question:** When you see เก (written as เ + ก), how do you read it?
110
+
111
+ **Options:**
112
+ - Read เ first, then ก (like "ay-gor")
113
+ - Read ก first, then เ (like "gor-ay")
114
+ - Read them simultaneously
115
+ - It depends on the word
116
+
117
+ **Answer:** 2
118
+
119
+ **Explanation:** Leading vowels follow the "write left, read right" principle. เ is written first (to the left), but you read ก first, then the vowel sound. เก is pronounced "gee" (ก + เ).
120
+
121
+ :::
122
+
123
+ :::exercise{id="short-vowels-2-recognition" type="matching" title="Short Vowel Recognition"}
124
+
125
+ **Question:** Match each written form to its pronunciation
126
+
127
+ - เกะ (ก + เ-ะ)
128
+ - แกะ (ก + แ-ะ)
129
+ - โกะ (ก + โ-ะ)
130
+ - เกา (ก + เ-า)
131
+
132
+ **Answer:**
133
+
134
+ - เกะ → ge (short e)
135
+ - แกะ → gae (short ae)
136
+ - โกะ → go (short o)
137
+ - เกา → gao (ao sound)
138
+
139
+ **Explanation:** Short vowels are marked with ะ at the end. The wrap-around vowel เ-า creates the "ao" sound. Remember to read the consonant first, then the vowel.
140
+
141
+ :::
142
+
143
+ :::exercise{id="short-vowels-2-pairs" type="fill-in-blank" title="Short vs Long Pairs"}
144
+
145
+ **Question:** What makes a vowel short vs long in these pairs?
146
+
147
+ - ะ vs า
148
+ - เ-ะ vs เ
149
+ - แ-ะ vs แ
150
+
151
+ **Answer:**
152
+
153
+ - ะ is short, า is long (the ะ marks shortness)
154
+ - เ-ะ is short, เ is long (absence of ะ = long)
155
+ - แ-ะ is short, แ is long (same pattern)
156
+
157
+ **Explanation:** The ะ mark indicates a short vowel. When ะ is absent, the vowel is long. This is a consistent pattern across Thai vowels.
158
+
159
+ :::
160
+
161
+ ## What's Next
162
+
163
+ In Lesson 3, you'll learn the **long vowels** — extended sounds that are crucial for proper pronunciation and affect how tones work.
164
+ `;
165
+ export {
166
+ e as default
167
+ };
168
+ //# sourceMappingURL=lesson-02-BGnp0Ik_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-02-BGnp0Ik_.js","sources":["../src/syllabi/vowels-tones/lessons/lesson-02.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-vowels-lesson-02\\ntitle: \\\"บทที่ 2 — สระเสียงสั้น II\\\"\\ndescription: \\\"Short Vowels Part 2: Before, after, and around consonants\\\"\\norder: 2\\nparentId: thai-vowels-tones\\ndifficulty: beginner\\ncefrLevel: A1\\ncategories:\\n - vowels\\n - short-vowels\\n - basic-vowels\\nmetadata:\\n estimatedTime: 35\\n prerequisites:\\n - thai-vowels-lesson-01\\n objectives:\\n - \\\"Recognize vowels written before consonants\\\"\\n - \\\"Recognize vowels written after consonants\\\"\\n - \\\"Understand 'write left, read right' principle\\\"\\n - \\\"Master the short 'a' vowel forms\\\"\\n---\\n\\n# บทที่ 2 (Lesson 2) — Short Vowels II\\n\\n## Introduction\\n\\nIn this lesson, you'll encounter Thai's most unique vowel feature: vowels that appear **before** the consonant in writing but are pronounced **after** it. This \\\"write left, read right\\\" pattern is essential for reading Thai fluently.\\n\\n## The Glottal Stop Vowel: ะ\\n\\nThe vowel **ะ** (sara a) is special — it creates a short \\\"a\\\" sound followed by a **glottal stop** (a brief catch in the throat, like the pause in \\\"uh-oh\\\").\\n\\n:::character-set{id=\\\"thai-short-vowel-a\\\" title=\\\"Short 'a' Vowel\\\"}\\n\\n::character{id=\\\"th-vowel-a\\\" char=\\\"ะ\\\" name=\\\"สระอะ (sara a)\\\" nativeName=\\\"สระอะ\\\" transliteration=\\\"a\\\" charType=\\\"vowel\\\"}\\n\\n:::\\n\\n## Leading Vowels: Write First, Pronounce After\\n\\nThese vowels are written **before** the consonant but pronounced **after** it:\\n\\n:::character-set{id=\\\"thai-leading-short-vowels\\\" title=\\\"Leading Short Vowels\\\"}\\n\\n::character{id=\\\"th-vowel-e\\\" char=\\\"เ-ะ\\\" name=\\\"สระเอะ (sara e)\\\" nativeName=\\\"สระเอะ\\\" transliteration=\\\"e\\\" charType=\\\"vowel\\\"}\\n\\n::character{id=\\\"th-vowel-ae\\\" char=\\\"แ-ะ\\\" name=\\\"สระแอะ (sara ae)\\\" nativeName=\\\"สระแอะ\\\" transliteration=\\\"ae\\\" charType=\\\"vowel\\\"}\\n\\n::character{id=\\\"th-vowel-o\\\" char=\\\"โ-ะ\\\" name=\\\"สระโอะ (sara o)\\\" nativeName=\\\"สระโอะ\\\" transliteration=\\\"o\\\" charType=\\\"vowel\\\"}\\n\\n::character{id=\\\"th-vowel-oe\\\" char=\\\"เ-อะ\\\" name=\\\"สระเออะ (sara oe)\\\" nativeName=\\\"สระเออะ\\\" transliteration=\\\"oe\\\" charType=\\\"vowel\\\"}\\n\\n:::\\n\\n## The Wrap-Around Vowel: เ-า\\n\\nThis vowel \\\"wraps around\\\" the consonant:\\n\\n:::character-set{id=\\\"thai-wraparound-vowel\\\" title=\\\"Wrap-Around Vowel\\\"}\\n\\n::character{id=\\\"th-vowel-ao\\\" char=\\\"เ-า\\\" name=\\\"สระเอา (sara ao)\\\" nativeName=\\\"สระเอา\\\" transliteration=\\\"ao\\\" charType=\\\"vowel\\\"}\\n\\n:::\\n\\n## Understanding \\\"Write Left, Read Right\\\"\\n\\nIn Thai, when you see: **เ** + ก → **เก**\\n\\nYou **write** เ first (to the left), but you **read** it as \\\"gee\\\" — the consonant ก comes first in pronunciation.\\n\\n| Written Form | How to Read | Pronunciation |\\n|--------------|-------------|---------------|\\n| เกะ | ก + เ-ะ | ge (short) |\\n| แกะ | ก + แ-ะ | gae (short) |\\n| โกะ | ก + โ-ะ | go (short) |\\n| เกา | ก + เ-า | gao |\\n\\n## Short Vowel Pairs\\n\\nEach short vowel has a long counterpart:\\n\\n| Short | Long | Sound Comparison |\\n|-------|------|------------------|\\n| ะ (a) | า (aa) | \\\"cut\\\" vs \\\"car\\\" |\\n| เ-ะ (e) | เ (ee) | \\\"pet\\\" vs \\\"pay\\\" |\\n| แ-ะ (ae) | แ (aae) | \\\"bat\\\" vs \\\"bad\\\" (longer) |\\n| โ-ะ (o) | โ (oo) | \\\"pot\\\" vs \\\"boat\\\" |\\n\\n## Key Points\\n\\n1. **Write left, read right**: Leading vowels are written first but pronounced after the consonant\\n2. **ะ marks shortness**: When you see ะ at the end, the vowel is short\\n3. **Glottal stop**: Short vowels often end with a brief throat catch\\n4. **Two-part vowels**: Some vowels wrap around the consonant (เ-า)\\n\\n## Common Words Practice\\n\\nTry reading these common words:\\n- เตะ (dte) — to kick\\n- แมะ (mae) — informal \\\"mom\\\" (some dialects)\\n- เกา (gao) — to scratch\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"short-vowels-2-direction\\\" type=\\\"multiple-choice\\\" title=\\\"Write Left, Read Right\\\"}\\n\\n**Question:** When you see เก (written as เ + ก), how do you read it?\\n\\n**Options:**\\n- Read เ first, then ก (like \\\"ay-gor\\\")\\n- Read ก first, then เ (like \\\"gor-ay\\\")\\n- Read them simultaneously\\n- It depends on the word\\n\\n**Answer:** 2\\n\\n**Explanation:** Leading vowels follow the \\\"write left, read right\\\" principle. เ is written first (to the left), but you read ก first, then the vowel sound. เก is pronounced \\\"gee\\\" (ก + เ).\\n\\n:::\\n\\n:::exercise{id=\\\"short-vowels-2-recognition\\\" type=\\\"matching\\\" title=\\\"Short Vowel Recognition\\\"}\\n\\n**Question:** Match each written form to its pronunciation\\n\\n- เกะ (ก + เ-ะ)\\n- แกะ (ก + แ-ะ)\\n- โกะ (ก + โ-ะ)\\n- เกา (ก + เ-า)\\n\\n**Answer:**\\n\\n- เกะ → ge (short e)\\n- แกะ → gae (short ae)\\n- โกะ → go (short o)\\n- เกา → gao (ao sound)\\n\\n**Explanation:** Short vowels are marked with ะ at the end. The wrap-around vowel เ-า creates the \\\"ao\\\" sound. Remember to read the consonant first, then the vowel.\\n\\n:::\\n\\n:::exercise{id=\\\"short-vowels-2-pairs\\\" type=\\\"fill-in-blank\\\" title=\\\"Short vs Long Pairs\\\"}\\n\\n**Question:** What makes a vowel short vs long in these pairs?\\n\\n- ะ vs า\\n- เ-ะ vs เ\\n- แ-ะ vs แ\\n\\n**Answer:**\\n\\n- ะ is short, า is long (the ะ marks shortness)\\n- เ-ะ is short, เ is long (absence of ะ = long)\\n- แ-ะ is short, แ is long (same pattern)\\n\\n**Explanation:** The ะ mark indicates a short vowel. When ะ is absent, the vowel is long. This is a consistent pattern across Thai vowels.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 3, you'll learn the **long vowels** — extended sounds that are crucial for proper pronunciation and affect how tones work.\\n\""],"names":["lesson02"],"mappings":"AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -0,0 +1,139 @@
1
+ const n = `---
2
+ type: lesson
3
+ id: thai-reading-lesson-02
4
+ title: "บทที่ 2 — เมนูอาหาร"
5
+ description: "Restaurant Menus: Read Thai restaurant menus and order confidently"
6
+ order: 2
7
+ parentId: thai-reading
8
+ difficulty: intermediate
9
+ cefrLevel: B1
10
+ categories:
11
+ - reading
12
+ - menus
13
+ - food
14
+ metadata:
15
+ estimatedTime: 30
16
+ prerequisites:
17
+ - thai-reading-lesson-01
18
+ objectives:
19
+ - "Read food names in Thai script"
20
+ - "Understand menu categories"
21
+ - "Recognize pricing and portion information"
22
+ ---
23
+
24
+ # Restaurant Menus
25
+
26
+ Thai menus follow predictable patterns. Learn to read them and order with confidence.
27
+
28
+ ## Menu Categories
29
+
30
+ | Thai | Romanization | English |
31
+ |------|--------------|---------|
32
+ | อาหารจานเดียว | ahan jan diao | single dishes |
33
+ | กับข้าว | kap khao | dishes with rice |
34
+ | เครื่องดื่ม | khrueang duem | beverages |
35
+ | ของหวาน | khong wan | desserts |
36
+
37
+ ## Common Menu Items
38
+
39
+ | Thai | Romanization | English |
40
+ |------|--------------|---------|
41
+ | ข้าวผัด | khao phat | fried rice |
42
+ | ผัดไทย | phat thai | pad thai |
43
+ | ต้มยำกุ้ง | tom yam kung | spicy shrimp soup |
44
+ | แกงเขียวหวาน | kaeng khiao wan | green curry |
45
+
46
+ ## Menu Descriptors
47
+
48
+ | Thai | Romanization | English |
49
+ |------|--------------|---------|
50
+ | พิเศษ | phiset | special |
51
+ | ธรรมดา | thammada | regular |
52
+ | ใหญ่ | yai | large |
53
+ | เล็ก | lek | small |
54
+
55
+ ## Price Indicators
56
+
57
+ | Thai | Romanization | English |
58
+ |------|--------------|---------|
59
+ | ราคา | raka | price |
60
+ | บาท | baht | baht |
61
+ | ต่อจาน | to jan | per plate |
62
+ | ต่อถ้วย | to thuai | per bowl |
63
+
64
+ ## Sample Menu Reading
65
+
66
+ **ผัดไทยกุ้ง (พิเศษ) - 80 บาท**
67
+ *phat thai kung (phiset) - paet-sip baht*
68
+ Pad Thai with shrimp (special) - 80 baht
69
+
70
+ **ข้าวผัดหมู - 50 บาท**
71
+ *khao phat mu - ha-sip baht*
72
+ Pork fried rice - 50 baht
73
+
74
+ ## Practice Exercises
75
+
76
+ :::exercise{id="reading-2-menu-categories" type="matching" title="Menu Category Recognition"}
77
+
78
+ **Question:** Match each menu category to its meaning
79
+
80
+ - อาหารจานเดียว
81
+ - กับข้าว
82
+ - เครื่องดื่ม
83
+ - ของหวาน
84
+
85
+ **Answer:**
86
+
87
+ - อาหารจานเดียว → Single dishes (main dishes)
88
+ - กับข้าว → Dishes with rice (side dishes)
89
+ - เครื่องดื่ม → Beverages/drinks
90
+ - ของหวาน → Desserts
91
+
92
+ **Explanation:** Thai menus are organized by category. อาหารจานเดียว are complete single-dish meals. กับข้าว are dishes meant to be eaten with rice. Understanding these categories helps you navigate menus.
93
+
94
+ :::
95
+
96
+ :::exercise{id="reading-2-menu-descriptors" type="fill-in-blank" title="Menu Descriptors"}
97
+
98
+ **Question:** What do these menu descriptors mean?
99
+
100
+ - พิเศษ
101
+ - ธรรมดา
102
+ - ใหญ่
103
+ - เล็ก
104
+
105
+ **Answer:**
106
+
107
+ - พิเศษ → Special (often means larger portion or premium version)
108
+ - ธรรมดา → Regular/normal
109
+ - ใหญ่ → Large
110
+ - เล็ก → Small
111
+
112
+ **Explanation:** These descriptors appear frequently on menus. พิเศษ often means a special or larger version. ใหญ่ and เล็ก refer to portion sizes.
113
+
114
+ :::
115
+
116
+ :::exercise{id="reading-2-price-reading" type="multiple-choice" title="Reading Prices"}
117
+
118
+ **Question:** How do you read "80 บาท" from a menu?
119
+
120
+ **Options:**
121
+ - Eighty baht
122
+ - Eight-zero baht
123
+ - แปดสิบบาท (paet-sip baat)
124
+ - All of the above are correct
125
+
126
+ **Answer:** 4
127
+
128
+ **Explanation:** Prices can be written in Arabic numerals (80) or Thai numerals (๘๐), but are usually said in Thai: แปดสิบบาท. Always add บาท after the amount.
129
+
130
+ :::
131
+
132
+ ## What's Next
133
+
134
+ In Lesson 3, you'll master transportation signs — navigate BTS/MRT stations, airports, and public transport with confidence.
135
+ `;
136
+ export {
137
+ n as default
138
+ };
139
+ //# sourceMappingURL=lesson-02-BO3BXPMJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-02-BO3BXPMJ.js","sources":["../src/syllabi/reading/lessons/lesson-02.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-reading-lesson-02\\ntitle: \\\"บทที่ 2 — เมนูอาหาร\\\"\\ndescription: \\\"Restaurant Menus: Read Thai restaurant menus and order confidently\\\"\\norder: 2\\nparentId: thai-reading\\ndifficulty: intermediate\\ncefrLevel: B1\\ncategories:\\n - reading\\n - menus\\n - food\\nmetadata:\\n estimatedTime: 30\\n prerequisites:\\n - thai-reading-lesson-01\\n objectives:\\n - \\\"Read food names in Thai script\\\"\\n - \\\"Understand menu categories\\\"\\n - \\\"Recognize pricing and portion information\\\"\\n---\\n\\n# Restaurant Menus\\n\\nThai menus follow predictable patterns. Learn to read them and order with confidence.\\n\\n## Menu Categories\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| อาหารจานเดียว | ahan jan diao | single dishes |\\n| กับข้าว | kap khao | dishes with rice |\\n| เครื่องดื่ม | khrueang duem | beverages |\\n| ของหวาน | khong wan | desserts |\\n\\n## Common Menu Items\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| ข้าวผัด | khao phat | fried rice |\\n| ผัดไทย | phat thai | pad thai |\\n| ต้มยำกุ้ง | tom yam kung | spicy shrimp soup |\\n| แกงเขียวหวาน | kaeng khiao wan | green curry |\\n\\n## Menu Descriptors\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| พิเศษ | phiset | special |\\n| ธรรมดา | thammada | regular |\\n| ใหญ่ | yai | large |\\n| เล็ก | lek | small |\\n\\n## Price Indicators\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| ราคา | raka | price |\\n| บาท | baht | baht |\\n| ต่อจาน | to jan | per plate |\\n| ต่อถ้วย | to thuai | per bowl |\\n\\n## Sample Menu Reading\\n\\n**ผัดไทยกุ้ง (พิเศษ) - 80 บาท**\\n*phat thai kung (phiset) - paet-sip baht*\\nPad Thai with shrimp (special) - 80 baht\\n\\n**ข้าวผัดหมู - 50 บาท**\\n*khao phat mu - ha-sip baht*\\nPork fried rice - 50 baht\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"reading-2-menu-categories\\\" type=\\\"matching\\\" title=\\\"Menu Category Recognition\\\"}\\n\\n**Question:** Match each menu category to its meaning\\n\\n- อาหารจานเดียว\\n- กับข้าว\\n- เครื่องดื่ม\\n- ของหวาน\\n\\n**Answer:**\\n\\n- อาหารจานเดียว → Single dishes (main dishes)\\n- กับข้าว → Dishes with rice (side dishes)\\n- เครื่องดื่ม → Beverages/drinks\\n- ของหวาน → Desserts\\n\\n**Explanation:** Thai menus are organized by category. อาหารจานเดียว are complete single-dish meals. กับข้าว are dishes meant to be eaten with rice. Understanding these categories helps you navigate menus.\\n\\n:::\\n\\n:::exercise{id=\\\"reading-2-menu-descriptors\\\" type=\\\"fill-in-blank\\\" title=\\\"Menu Descriptors\\\"}\\n\\n**Question:** What do these menu descriptors mean?\\n\\n- พิเศษ\\n- ธรรมดา\\n- ใหญ่\\n- เล็ก\\n\\n**Answer:**\\n\\n- พิเศษ → Special (often means larger portion or premium version)\\n- ธรรมดา → Regular/normal\\n- ใหญ่ → Large\\n- เล็ก → Small\\n\\n**Explanation:** These descriptors appear frequently on menus. พิเศษ often means a special or larger version. ใหญ่ and เล็ก refer to portion sizes.\\n\\n:::\\n\\n:::exercise{id=\\\"reading-2-price-reading\\\" type=\\\"multiple-choice\\\" title=\\\"Reading Prices\\\"}\\n\\n**Question:** How do you read \\\"80 บาท\\\" from a menu?\\n\\n**Options:**\\n- Eighty baht\\n- Eight-zero baht\\n- แปดสิบบาท (paet-sip baat)\\n- All of the above are correct\\n\\n**Answer:** 4\\n\\n**Explanation:** Prices can be written in Arabic numerals (80) or Thai numerals (๘๐), but are usually said in Thai: แปดสิบบาท. Always add บาท after the amount.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 3, you'll master transportation signs — navigate BTS/MRT stations, airports, and public transport with confidence.\\n\""],"names":["lesson02"],"mappings":"AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}