@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.
- package/dist/index-B029m98V.js +46 -0
- package/dist/index-B029m98V.js.map +1 -0
- package/dist/index-BCA5Llwg.js +52 -0
- package/dist/index-BCA5Llwg.js.map +1 -0
- package/dist/index-BFcg5D_W.js +56 -0
- package/dist/index-BFcg5D_W.js.map +1 -0
- package/dist/index-CB8M6CK6.js +52 -0
- package/dist/index-CB8M6CK6.js.map +1 -0
- package/dist/index-CTQ45BVw.js +48 -0
- package/dist/index-CTQ45BVw.js.map +1 -0
- package/dist/index-CoqP9GZL.js +52 -0
- package/dist/index-CoqP9GZL.js.map +1 -0
- package/dist/index-DADMaTE7.js +27 -0
- package/dist/index-DADMaTE7.js.map +1 -0
- package/dist/index-Dy38Hmlm.js +52 -0
- package/dist/index-Dy38Hmlm.js.map +1 -0
- package/dist/index-of_athp-.js +82 -0
- package/dist/index-of_athp-.js.map +1 -0
- package/dist/index-vuRo2mLK.js +50 -0
- package/dist/index-vuRo2mLK.js.map +1 -0
- package/dist/index.d.ts +15 -45
- package/dist/index.js +62 -66
- package/dist/index.js.map +1 -1
- package/dist/lesson-01--9NOyHZ6.js +106 -0
- package/dist/lesson-01--9NOyHZ6.js.map +1 -0
- package/dist/lesson-01-3hBted4A.js +147 -0
- package/dist/lesson-01-3hBted4A.js.map +1 -0
- package/dist/lesson-01-97FtYE6g.js +130 -0
- package/dist/lesson-01-97FtYE6g.js.map +1 -0
- package/dist/lesson-01-BNdHXAGR.js +103 -0
- package/dist/lesson-01-BNdHXAGR.js.map +1 -0
- package/dist/lesson-01-BYKAZiua.js +130 -0
- package/dist/lesson-01-BYKAZiua.js.map +1 -0
- package/dist/lesson-01-BhjY6ArF.js +147 -0
- package/dist/lesson-01-BhjY6ArF.js.map +1 -0
- package/dist/lesson-01-CF4tJfZ3.js +120 -0
- package/dist/lesson-01-CF4tJfZ3.js.map +1 -0
- package/dist/lesson-01-CRx-yw4C.js +145 -0
- package/dist/lesson-01-CRx-yw4C.js.map +1 -0
- package/dist/lesson-01-WV3ic8Ok.js +91 -0
- package/dist/lesson-01-WV3ic8Ok.js.map +1 -0
- package/dist/lesson-02-B2Xg7RVU.js +214 -0
- package/dist/lesson-02-B2Xg7RVU.js.map +1 -0
- package/dist/lesson-02-BAbq-QGP.js +191 -0
- package/dist/lesson-02-BAbq-QGP.js.map +1 -0
- package/dist/lesson-02-BGnp0Ik_.js +168 -0
- package/dist/lesson-02-BGnp0Ik_.js.map +1 -0
- package/dist/lesson-02-BO3BXPMJ.js +139 -0
- package/dist/lesson-02-BO3BXPMJ.js.map +1 -0
- package/dist/lesson-02-Bm9EJuN8.js +191 -0
- package/dist/lesson-02-Bm9EJuN8.js.map +1 -0
- package/dist/lesson-02-C0ZL4z3c.js +110 -0
- package/dist/lesson-02-C0ZL4z3c.js.map +1 -0
- package/dist/lesson-02-C2ALLvoT.js +161 -0
- package/dist/lesson-02-C2ALLvoT.js.map +1 -0
- package/dist/lesson-02-C8dfzXvq.js +112 -0
- package/dist/lesson-02-C8dfzXvq.js.map +1 -0
- package/dist/lesson-02-CsejVbCo.js +196 -0
- package/dist/lesson-02-CsejVbCo.js.map +1 -0
- package/dist/lesson-03-8NtAeqFh.js +132 -0
- package/dist/lesson-03-8NtAeqFh.js.map +1 -0
- package/dist/lesson-03-BdZfKRhq.js +163 -0
- package/dist/lesson-03-BdZfKRhq.js.map +1 -0
- package/dist/lesson-03-CKTNtgY1.js +229 -0
- package/dist/lesson-03-CKTNtgY1.js.map +1 -0
- package/dist/lesson-03-D8va_Q9B.js +173 -0
- package/dist/lesson-03-D8va_Q9B.js.map +1 -0
- package/dist/lesson-03-DV2SUWVH.js +184 -0
- package/dist/lesson-03-DV2SUWVH.js.map +1 -0
- package/dist/lesson-03-DiV17_Os.js +116 -0
- package/dist/lesson-03-DiV17_Os.js.map +1 -0
- package/dist/lesson-03-DrJgbfDQ.js +217 -0
- package/dist/lesson-03-DrJgbfDQ.js.map +1 -0
- package/dist/lesson-03-XVahXvgf.js +145 -0
- package/dist/lesson-03-XVahXvgf.js.map +1 -0
- package/dist/lesson-03-Xc8-2Yt3.js +175 -0
- package/dist/lesson-03-Xc8-2Yt3.js.map +1 -0
- package/dist/lesson-04-BpRrNmzO.js +135 -0
- package/dist/lesson-04-BpRrNmzO.js.map +1 -0
- package/dist/lesson-04-CtNr2B3E.js +206 -0
- package/dist/lesson-04-CtNr2B3E.js.map +1 -0
- package/dist/lesson-04-DEEPJ_rd.js +207 -0
- package/dist/lesson-04-DEEPJ_rd.js.map +1 -0
- package/dist/lesson-04-D__vMCyA.js +164 -0
- package/dist/lesson-04-D__vMCyA.js.map +1 -0
- package/dist/lesson-04-Dfc7S4nT.js +225 -0
- package/dist/lesson-04-Dfc7S4nT.js.map +1 -0
- package/dist/lesson-04-DtXVhdGB.js +170 -0
- package/dist/lesson-04-DtXVhdGB.js.map +1 -0
- package/dist/lesson-04-ZrSBM0BX.js +184 -0
- package/dist/lesson-04-ZrSBM0BX.js.map +1 -0
- package/dist/lesson-04-ioLXnB0j.js +175 -0
- package/dist/lesson-04-ioLXnB0j.js.map +1 -0
- package/dist/lesson-04-rapx_3vA.js +222 -0
- package/dist/lesson-04-rapx_3vA.js.map +1 -0
- package/dist/lesson-05-Bm6fg-DJ.js +236 -0
- package/dist/lesson-05-Bm6fg-DJ.js.map +1 -0
- package/dist/lesson-05-CKxXcooO.js +191 -0
- package/dist/lesson-05-CKxXcooO.js.map +1 -0
- package/dist/lesson-05-D1d3kc3M.js +137 -0
- package/dist/lesson-05-D1d3kc3M.js.map +1 -0
- package/dist/lesson-05-D2SVU-I0.js +236 -0
- package/dist/lesson-05-D2SVU-I0.js.map +1 -0
- package/dist/lesson-05-DBsHyFlt.js +181 -0
- package/dist/lesson-05-DBsHyFlt.js.map +1 -0
- package/dist/lesson-05-DXOLS7G0.js +172 -0
- package/dist/lesson-05-DXOLS7G0.js.map +1 -0
- package/dist/lesson-05-D_GdROUn.js +175 -0
- package/dist/lesson-05-D_GdROUn.js.map +1 -0
- package/dist/lesson-05-DusKUtbm.js +208 -0
- package/dist/lesson-05-DusKUtbm.js.map +1 -0
- package/dist/lesson-05-ip400cxe.js +194 -0
- package/dist/lesson-05-ip400cxe.js.map +1 -0
- package/dist/lesson-06-1CE05TRX.js +196 -0
- package/dist/lesson-06-1CE05TRX.js.map +1 -0
- package/dist/lesson-06-1ZsbrE1a.js +230 -0
- package/dist/lesson-06-1ZsbrE1a.js.map +1 -0
- package/dist/lesson-06-Aw-X-HMV.js +222 -0
- package/dist/lesson-06-Aw-X-HMV.js.map +1 -0
- package/dist/lesson-06-BG26PBTF.js +135 -0
- package/dist/lesson-06-BG26PBTF.js.map +1 -0
- package/dist/lesson-06-Bliedg7n.js +265 -0
- package/dist/lesson-06-Bliedg7n.js.map +1 -0
- package/dist/lesson-06-CnKkcUb-.js +164 -0
- package/dist/lesson-06-CnKkcUb-.js.map +1 -0
- package/dist/lesson-06-CvN9pDsE.js +182 -0
- package/dist/lesson-06-CvN9pDsE.js.map +1 -0
- package/dist/lesson-06-Du9J8sYl.js +192 -0
- package/dist/lesson-06-Du9J8sYl.js.map +1 -0
- package/dist/lesson-07-8zdPFyjE.js +189 -0
- package/dist/lesson-07-8zdPFyjE.js.map +1 -0
- package/dist/lesson-07-B9bkJ3gP.js +136 -0
- package/dist/lesson-07-B9bkJ3gP.js.map +1 -0
- package/dist/lesson-07-CTFSd9gF.js +200 -0
- package/dist/lesson-07-CTFSd9gF.js.map +1 -0
- package/dist/lesson-07-DezS1ojS.js +224 -0
- package/dist/lesson-07-DezS1ojS.js.map +1 -0
- package/dist/lesson-07-DjCMCYkK.js +186 -0
- package/dist/lesson-07-DjCMCYkK.js.map +1 -0
- package/dist/lesson-07-X6anzbAn.js +240 -0
- package/dist/lesson-07-X6anzbAn.js.map +1 -0
- package/dist/lesson-07-rvSSQiVh.js +222 -0
- package/dist/lesson-07-rvSSQiVh.js.map +1 -0
- package/dist/lesson-08-BYfkPBkH.js +279 -0
- package/dist/lesson-08-BYfkPBkH.js.map +1 -0
- package/dist/lesson-08-Bb_v_gD-.js +140 -0
- package/dist/lesson-08-Bb_v_gD-.js.map +1 -0
- package/dist/lesson-08-BqW5C_OE.js +265 -0
- package/dist/lesson-08-BqW5C_OE.js.map +1 -0
- package/dist/lesson-08-CeDWopKc.js +215 -0
- package/dist/lesson-08-CeDWopKc.js.map +1 -0
- package/dist/lesson-08-Cyzy_VeP.js +214 -0
- package/dist/lesson-08-Cyzy_VeP.js.map +1 -0
- package/dist/lesson-08-hJlci9W5.js +197 -0
- package/dist/lesson-08-hJlci9W5.js.map +1 -0
- package/dist/lesson-09-BQ1CZCjT.js +137 -0
- package/dist/lesson-09-BQ1CZCjT.js.map +1 -0
- package/dist/lesson-09-DHRHZIc1.js +209 -0
- package/dist/lesson-09-DHRHZIc1.js.map +1 -0
- package/dist/lesson-10-BdfkVT7s.js +221 -0
- package/dist/lesson-10-BdfkVT7s.js.map +1 -0
- package/dist/lesson-10-C7YEQ8et.js +150 -0
- package/dist/lesson-10-C7YEQ8et.js.map +1 -0
- package/dist/lesson-11-oJQ8ZxJk.js +248 -0
- package/dist/lesson-11-oJQ8ZxJk.js.map +1 -0
- package/dist/lesson-12-D69m5ETy.js +265 -0
- package/dist/lesson-12-D69m5ETy.js.map +1 -0
- package/dist/syllabi/alphabet/index.d.ts +3 -6
- package/dist/syllabi/alphabet/index.js +8 -37
- package/dist/syllabi/alphabet/index.js.map +1 -1
- package/dist/syllabi/dialogue/index.d.ts +3 -6
- package/dist/syllabi/dialogue/index.js +9 -33
- package/dist/syllabi/dialogue/index.js.map +1 -1
- package/dist/syllabi/essentials/index.d.ts +3 -6
- package/dist/syllabi/essentials/index.js +9 -31
- package/dist/syllabi/essentials/index.js.map +1 -1
- package/dist/syllabi/food/index.d.ts +3 -6
- package/dist/syllabi/food/index.js +9 -33
- package/dist/syllabi/food/index.js.map +1 -1
- package/dist/syllabi/grammar/index.d.ts +3 -6
- package/dist/syllabi/grammar/index.js +9 -33
- package/dist/syllabi/grammar/index.js.map +1 -1
- package/dist/syllabi/numbers/index.d.ts +3 -6
- package/dist/syllabi/numbers/index.js +9 -30
- package/dist/syllabi/numbers/index.js.map +1 -1
- package/dist/syllabi/reading/index.d.ts +3 -6
- package/dist/syllabi/reading/index.js +9 -35
- package/dist/syllabi/reading/index.js.map +1 -1
- package/dist/syllabi/travel/index.d.ts +3 -6
- package/dist/syllabi/travel/index.js +9 -32
- package/dist/syllabi/travel/index.js.map +1 -1
- package/dist/syllabi/vowels-tones/index.d.ts +3 -6
- package/dist/syllabi/vowels-tones/index.js +9 -33
- package/dist/syllabi/vowels-tones/index.js.map +1 -1
- package/package.json +16 -9
- package/dist/index.d.ts.map +0 -1
- package/dist/shared.d.ts +0 -70
- package/dist/shared.d.ts.map +0 -1
- package/dist/shared.js +0 -33
- package/dist/shared.js.map +0 -1
- package/dist/syllabi/alphabet/index.d.ts.map +0 -1
- package/dist/syllabi/dialogue/index.d.ts.map +0 -1
- package/dist/syllabi/essentials/index.d.ts.map +0 -1
- package/dist/syllabi/food/index.d.ts.map +0 -1
- package/dist/syllabi/grammar/index.d.ts.map +0 -1
- package/dist/syllabi/numbers/index.d.ts.map +0 -1
- package/dist/syllabi/reading/index.d.ts.map +0 -1
- package/dist/syllabi/travel/index.d.ts.map +0 -1
- 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;"}
|