@syllst/th 0.2.3 → 0.3.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/dist/index.d.ts +21 -15
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +98 -59
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +106 -0
- package/dist/index.umd.cjs.map +1 -0
- package/dist/syllabi/alphabet/index.d.ts +2 -5
- package/dist/syllabi/alphabet/index.d.ts.map +1 -0
- package/dist/syllabi/dialogue/index.d.ts +2 -5
- package/dist/syllabi/dialogue/index.d.ts.map +1 -0
- package/dist/syllabi/essentials/index.d.ts +2 -5
- package/dist/syllabi/essentials/index.d.ts.map +1 -0
- package/dist/syllabi/food/index.d.ts +2 -5
- package/dist/syllabi/food/index.d.ts.map +1 -0
- package/dist/syllabi/grammar/index.d.ts +2 -5
- package/dist/syllabi/grammar/index.d.ts.map +1 -0
- package/dist/syllabi/numbers/index.d.ts +2 -5
- package/dist/syllabi/numbers/index.d.ts.map +1 -0
- package/dist/syllabi/reading/index.d.ts +2 -5
- package/dist/syllabi/reading/index.d.ts.map +1 -0
- package/dist/syllabi/travel/index.d.ts +2 -5
- package/dist/syllabi/travel/index.d.ts.map +1 -0
- package/dist/syllabi/vowels-tones/index.d.ts +2 -5
- package/dist/syllabi/vowels-tones/index.d.ts.map +1 -0
- package/package.json +7 -5
- package/dist/index-BM-LWlCm.js +0 -52
- package/dist/index-BM-LWlCm.js.map +0 -1
- package/dist/index-Bjym0crS.js +0 -48
- package/dist/index-Bjym0crS.js.map +0 -1
- package/dist/index-BuKXw7-Z.js +0 -46
- package/dist/index-BuKXw7-Z.js.map +0 -1
- package/dist/index-ByS0o5dz.js +0 -52
- package/dist/index-ByS0o5dz.js.map +0 -1
- package/dist/index-C9VnG7dT.js +0 -52
- package/dist/index-C9VnG7dT.js.map +0 -1
- package/dist/index-CPQkjFjV.js +0 -50
- package/dist/index-CPQkjFjV.js.map +0 -1
- package/dist/index-CkHd3Fal.js +0 -56
- package/dist/index-CkHd3Fal.js.map +0 -1
- package/dist/index-DBkPBXe2.js +0 -52
- package/dist/index-DBkPBXe2.js.map +0 -1
- package/dist/index-DdRhLqkM.js +0 -82
- package/dist/index-DdRhLqkM.js.map +0 -1
- package/dist/lesson-01-B0wtSaSl.js +0 -118
- package/dist/lesson-01-B0wtSaSl.js.map +0 -1
- package/dist/lesson-01-C9vbUlA4.js +0 -138
- package/dist/lesson-01-C9vbUlA4.js.map +0 -1
- package/dist/lesson-01-CPmBFTe0.js +0 -132
- package/dist/lesson-01-CPmBFTe0.js.map +0 -1
- package/dist/lesson-01-Cc4Ws8eR.js +0 -158
- package/dist/lesson-01-Cc4Ws8eR.js.map +0 -1
- package/dist/lesson-01-Cm5k-m-9.js +0 -136
- package/dist/lesson-01-Cm5k-m-9.js.map +0 -1
- package/dist/lesson-01-DELblCNj.js +0 -97
- package/dist/lesson-01-DELblCNj.js.map +0 -1
- package/dist/lesson-01-Djl_72e7.js +0 -153
- package/dist/lesson-01-Djl_72e7.js.map +0 -1
- package/dist/lesson-01-LEHTeGQQ.js +0 -155
- package/dist/lesson-01-LEHTeGQQ.js.map +0 -1
- package/dist/lesson-01-ih_-OO_O.js +0 -111
- package/dist/lesson-01-ih_-OO_O.js.map +0 -1
- package/dist/lesson-02-B2aZrKUQ.js +0 -120
- package/dist/lesson-02-B2aZrKUQ.js.map +0 -1
- package/dist/lesson-02-BI1Vnwiz.js +0 -169
- package/dist/lesson-02-BI1Vnwiz.js.map +0 -1
- package/dist/lesson-02-BXbwEMaL.js +0 -180
- package/dist/lesson-02-BXbwEMaL.js.map +0 -1
- package/dist/lesson-02-CbJJ5Amt.js +0 -201
- package/dist/lesson-02-CbJJ5Amt.js.map +0 -1
- package/dist/lesson-02-DGrALAgG.js +0 -203
- package/dist/lesson-02-DGrALAgG.js.map +0 -1
- package/dist/lesson-02-DcMDDBDL.js +0 -116
- package/dist/lesson-02-DcMDDBDL.js.map +0 -1
- package/dist/lesson-02-Dk59HZWp.js +0 -222
- package/dist/lesson-02-Dk59HZWp.js.map +0 -1
- package/dist/lesson-02-L8oNhBej.js +0 -145
- package/dist/lesson-02-L8oNhBej.js.map +0 -1
- package/dist/lesson-02-VDOme3ES.js +0 -204
- package/dist/lesson-02-VDOme3ES.js.map +0 -1
- package/dist/lesson-03-9WioSe19.js +0 -196
- package/dist/lesson-03-9WioSe19.js.map +0 -1
- package/dist/lesson-03-BZutWzMD.js +0 -124
- package/dist/lesson-03-BZutWzMD.js.map +0 -1
- package/dist/lesson-03-Bj5hWZ9t.js +0 -152
- package/dist/lesson-03-Bj5hWZ9t.js.map +0 -1
- package/dist/lesson-03-CSIF5xRS.js +0 -181
- package/dist/lesson-03-CSIF5xRS.js.map +0 -1
- package/dist/lesson-03-CSKig363.js +0 -225
- package/dist/lesson-03-CSKig363.js.map +0 -1
- package/dist/lesson-03-DPJOG2M_.js +0 -138
- package/dist/lesson-03-DPJOG2M_.js.map +0 -1
- package/dist/lesson-03-DkjCuJ26.js +0 -237
- package/dist/lesson-03-DkjCuJ26.js.map +0 -1
- package/dist/lesson-03-DucbRMOQ.js +0 -171
- package/dist/lesson-03-DucbRMOQ.js.map +0 -1
- package/dist/lesson-03-MIne1PbH.js +0 -185
- package/dist/lesson-03-MIne1PbH.js.map +0 -1
- package/dist/lesson-04-0Pj_x1DU.js +0 -233
- package/dist/lesson-04-0Pj_x1DU.js.map +0 -1
- package/dist/lesson-04-B9h0p9kE.js +0 -190
- package/dist/lesson-04-B9h0p9kE.js.map +0 -1
- package/dist/lesson-04-BLuPI1-X.js +0 -216
- package/dist/lesson-04-BLuPI1-X.js.map +0 -1
- package/dist/lesson-04-CmDvofL4.js +0 -230
- package/dist/lesson-04-CmDvofL4.js.map +0 -1
- package/dist/lesson-04-DGKHK4LW.js +0 -178
- package/dist/lesson-04-DGKHK4LW.js.map +0 -1
- package/dist/lesson-04-DUcHZzsk.js +0 -218
- package/dist/lesson-04-DUcHZzsk.js.map +0 -1
- package/dist/lesson-04-DnVIXXk-.js +0 -141
- package/dist/lesson-04-DnVIXXk-.js.map +0 -1
- package/dist/lesson-04-FZnIE7tu.js +0 -187
- package/dist/lesson-04-FZnIE7tu.js.map +0 -1
- package/dist/lesson-04-ToX3nRz1.js +0 -172
- package/dist/lesson-04-ToX3nRz1.js.map +0 -1
- package/dist/lesson-05-2aTCGXMh.js +0 -181
- package/dist/lesson-05-2aTCGXMh.js.map +0 -1
- package/dist/lesson-05-BvitRdE8.js +0 -206
- package/dist/lesson-05-BvitRdE8.js.map +0 -1
- package/dist/lesson-05-CgXGkcjS.js +0 -143
- package/dist/lesson-05-CgXGkcjS.js.map +0 -1
- package/dist/lesson-05-ClfrUrvX.js +0 -244
- package/dist/lesson-05-ClfrUrvX.js.map +0 -1
- package/dist/lesson-05-D2zf9n7k.js +0 -201
- package/dist/lesson-05-D2zf9n7k.js.map +0 -1
- package/dist/lesson-05-DWquBfdl.js +0 -220
- package/dist/lesson-05-DWquBfdl.js.map +0 -1
- package/dist/lesson-05-DpIkwhJ8.js +0 -244
- package/dist/lesson-05-DpIkwhJ8.js.map +0 -1
- package/dist/lesson-05-UYz39ORV.js +0 -189
- package/dist/lesson-05-UYz39ORV.js.map +0 -1
- package/dist/lesson-05-t6XuANiZ.js +0 -180
- package/dist/lesson-05-t6XuANiZ.js.map +0 -1
- package/dist/lesson-06-B2y08mKv.js +0 -238
- package/dist/lesson-06-B2y08mKv.js.map +0 -1
- package/dist/lesson-06-CHqaVQix.js +0 -202
- package/dist/lesson-06-CHqaVQix.js.map +0 -1
- package/dist/lesson-06-CaCZBX1V.js +0 -273
- package/dist/lesson-06-CaCZBX1V.js.map +0 -1
- package/dist/lesson-06-ClplsJBT.js +0 -204
- package/dist/lesson-06-ClplsJBT.js.map +0 -1
- package/dist/lesson-06-CzGnNKo5.js +0 -141
- package/dist/lesson-06-CzGnNKo5.js.map +0 -1
- package/dist/lesson-06-Dg_bQLNC.js +0 -172
- package/dist/lesson-06-Dg_bQLNC.js.map +0 -1
- package/dist/lesson-06-OWFMgO0a.js +0 -231
- package/dist/lesson-06-OWFMgO0a.js.map +0 -1
- package/dist/lesson-06-Q2aRAzws.js +0 -190
- package/dist/lesson-06-Q2aRAzws.js.map +0 -1
- package/dist/lesson-07-BLDUA_Ff.js +0 -194
- package/dist/lesson-07-BLDUA_Ff.js.map +0 -1
- package/dist/lesson-07-BpyF1Ssq.js +0 -236
- package/dist/lesson-07-BpyF1Ssq.js.map +0 -1
- package/dist/lesson-07-C4GrfDTW.js +0 -234
- package/dist/lesson-07-C4GrfDTW.js.map +0 -1
- package/dist/lesson-07-CVCUt1Jn.js +0 -206
- package/dist/lesson-07-CVCUt1Jn.js.map +0 -1
- package/dist/lesson-07-DQFXCZsZ.js +0 -197
- package/dist/lesson-07-DQFXCZsZ.js.map +0 -1
- package/dist/lesson-07-Dcry2Yjo.js +0 -248
- package/dist/lesson-07-Dcry2Yjo.js.map +0 -1
- package/dist/lesson-07-JS_cqdNr.js +0 -142
- package/dist/lesson-07-JS_cqdNr.js.map +0 -1
- package/dist/lesson-08-18gscaS0.js +0 -227
- package/dist/lesson-08-18gscaS0.js.map +0 -1
- package/dist/lesson-08-2kBUq_B2.js +0 -220
- package/dist/lesson-08-2kBUq_B2.js.map +0 -1
- package/dist/lesson-08-BP5lpiGe.js +0 -287
- package/dist/lesson-08-BP5lpiGe.js.map +0 -1
- package/dist/lesson-08-BXm9GgdN.js +0 -146
- package/dist/lesson-08-BXm9GgdN.js.map +0 -1
- package/dist/lesson-08-Bru0PdEK.js +0 -277
- package/dist/lesson-08-Bru0PdEK.js.map +0 -1
- package/dist/lesson-08-Dd-8cbGW.js +0 -205
- package/dist/lesson-08-Dd-8cbGW.js.map +0 -1
- package/dist/lesson-09-B1qWE3Yl.js +0 -221
- package/dist/lesson-09-B1qWE3Yl.js.map +0 -1
- package/dist/lesson-09-B5Vb70xj.js +0 -143
- package/dist/lesson-09-B5Vb70xj.js.map +0 -1
- package/dist/lesson-10-00qNLc7A.js +0 -233
- package/dist/lesson-10-00qNLc7A.js.map +0 -1
- package/dist/lesson-10-Dw-Jtm3D.js +0 -156
- package/dist/lesson-10-Dw-Jtm3D.js.map +0 -1
- package/dist/lesson-11-BM3R_S7I.js +0 -260
- package/dist/lesson-11-BM3R_S7I.js.map +0 -1
- package/dist/lesson-12-D1Wx7CyK.js +0 -277
- package/dist/lesson-12-D1Wx7CyK.js.map +0 -1
- package/dist/skills-hcn-pGD0.js +0 -244
- package/dist/skills-hcn-pGD0.js.map +0 -1
- package/dist/syllabi/alphabet/index.js +0 -9
- package/dist/syllabi/alphabet/index.js.map +0 -1
- package/dist/syllabi/dialogue/index.js +0 -10
- package/dist/syllabi/dialogue/index.js.map +0 -1
- package/dist/syllabi/essentials/index.js +0 -10
- package/dist/syllabi/essentials/index.js.map +0 -1
- package/dist/syllabi/food/index.js +0 -10
- package/dist/syllabi/food/index.js.map +0 -1
- package/dist/syllabi/grammar/index.js +0 -10
- package/dist/syllabi/grammar/index.js.map +0 -1
- package/dist/syllabi/numbers/index.js +0 -10
- package/dist/syllabi/numbers/index.js.map +0 -1
- package/dist/syllabi/reading/index.js +0 -10
- package/dist/syllabi/reading/index.js.map +0 -1
- package/dist/syllabi/travel/index.js +0 -10
- package/dist/syllabi/travel/index.js.map +0 -1
- package/dist/syllabi/vowels-tones/index.js +0 -10
- package/dist/syllabi/vowels-tones/index.js.map +0 -1
|
@@ -1,201 +0,0 @@
|
|
|
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
|
-
learningObjectives:
|
|
21
|
-
- id: obj-complete-mid
|
|
22
|
-
description: "Complete your knowledge of middle-class consonants"
|
|
23
|
-
skill: character-recognition
|
|
24
|
-
references: [horse, ogre, boat, monkey, bowl]
|
|
25
|
-
- id: obj-nasal-approx
|
|
26
|
-
description: "Understand nasals and approximants"
|
|
27
|
-
skill: character-sound-mapping
|
|
28
|
-
- id: obj-silent-consonant
|
|
29
|
-
description: "Learn the special role of อ as a silent consonant"
|
|
30
|
-
skill: character-sound-mapping
|
|
31
|
-
references: [bowl]
|
|
32
|
-
- id: obj-syllable-reading
|
|
33
|
-
description: "Practice reading simple syllables"
|
|
34
|
-
skill: character-sound-mapping
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
# บทที่ 2 (Lesson 2) — Middle-Class Consonants II
|
|
38
|
-
|
|
39
|
-
## Introduction
|
|
40
|
-
|
|
41
|
-
In this lesson, you'll complete the middle-class consonants with 5 more characters. These include **nasals** (ม), **liquids** (ร ล), **approximants** (ย ว), and the unique **silent consonant** (อ).
|
|
42
|
-
|
|
43
|
-
## Why These Are Different
|
|
44
|
-
|
|
45
|
-
The consonants in Lesson 1 were all **stops** — sounds made by completely blocking airflow then releasing. Today's consonants are different:
|
|
46
|
-
|
|
47
|
-
- **Nasals** (ม): Air flows through the nose
|
|
48
|
-
- **Liquids** (ร ล): Air flows around the tongue
|
|
49
|
-
- **Approximants** (ย): Tongue approaches but doesn't touch
|
|
50
|
-
|
|
51
|
-
This affects their behavior in final position — they don't become unreleased stops like the Lesson 1 consonants.
|
|
52
|
-
|
|
53
|
-
## Characters
|
|
54
|
-
|
|
55
|
-
:::character-set{id="thai-middle-consonants-2" title="Middle-Class Consonants II"}
|
|
56
|
-
|
|
57
|
-
::character{id="horse" canonicalRef="horse" data:class="low" char="ม" name="ม ม้า (mɔɔ máa)" nativeName="ม ม้า" transliteration="m" charType="consonant"}
|
|
58
|
-
|
|
59
|
-
::character{id="ogre" canonicalRef="ogre" data:class="low" char="ย" name="ย ยักษ์ (yɔɔ yák)" nativeName="ย ยักษ์" transliteration="y" charType="consonant"}
|
|
60
|
-
|
|
61
|
-
::character{id="boat" canonicalRef="boat" data:class="low" char="ร" name="ร เรือ (rɔɔ rʉa)" nativeName="ร เรือ" transliteration="r/n" charType="consonant"}
|
|
62
|
-
|
|
63
|
-
::character{id="monkey" canonicalRef="monkey" data:class="low" char="ล" name="ล ลิง (lɔɔ ling)" nativeName="ล ลิง" transliteration="l/n" charType="consonant"}
|
|
64
|
-
|
|
65
|
-
::character{id="bowl" canonicalRef="bowl" data:class="middle" char="อ" name="อ อ่าง (ɔɔ àang)" nativeName="อ อ่าง" transliteration="-/vowel" charType="consonant"}
|
|
66
|
-
|
|
67
|
-
:::
|
|
68
|
-
|
|
69
|
-
## The Special Case: อ (Ɔɔ Àang)
|
|
70
|
-
|
|
71
|
-
**อ** is the most unusual Thai consonant. It has **two completely different roles**:
|
|
72
|
-
|
|
73
|
-
### As Initial Consonant
|
|
74
|
-
When starting a syllable that begins with a vowel sound, อ serves as a **silent placeholder**:
|
|
75
|
-
- อา (aa) — the อ is silent, you just hear "aa"
|
|
76
|
-
- Without อ, there would be no consonant to "carry" the vowel
|
|
77
|
-
|
|
78
|
-
### As Vowel Component
|
|
79
|
-
In certain vowel combinations, อ represents the sound /ɔɔ/:
|
|
80
|
-
- เมือง (mʉang) — the อ makes the /ɔ/ sound
|
|
81
|
-
|
|
82
|
-
This dual nature makes อ essential despite being "silent" in many words.
|
|
83
|
-
|
|
84
|
-
## Sound Changes for Nasals and Liquids
|
|
85
|
-
|
|
86
|
-
Unlike the stop consonants from Lesson 1, these consonants keep their basic sound quality in final position:
|
|
87
|
-
|
|
88
|
-
| Consonant | Initial Sound | Final Sound | Example |
|
|
89
|
-
|-----------|---------------|-------------|---------|
|
|
90
|
-
| ม | **m** | **m** | มา (maa) / ลม (lom) |
|
|
91
|
-
| ย | **y** | **i** (as vowel) | ยา (yaa) / สาย (sǎai) |
|
|
92
|
-
| ร | **r** (rolled) | **n** | รัก (rák) / ตอร์ (dton) |
|
|
93
|
-
| ล | **l** | **n** | ลา (laa) / กล (gon) |
|
|
94
|
-
|
|
95
|
-
**Important**: Both ร and ล become /n/ in final position. This surprises many learners!
|
|
96
|
-
|
|
97
|
-
## The Thai R Sound
|
|
98
|
-
|
|
99
|
-
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.
|
|
100
|
-
|
|
101
|
-
In careful speech:
|
|
102
|
-
- **ร** = alveolar trill or flap (tongue tip vibrates)
|
|
103
|
-
- **ล** = lateral (air flows around tongue sides)
|
|
104
|
-
|
|
105
|
-
## Middle-Class Complete
|
|
106
|
-
|
|
107
|
-
You've now learned all 9 middle-class consonants! Here's the complete set:
|
|
108
|
-
|
|
109
|
-
| Stop Consonants | Nasals/Liquids |
|
|
110
|
-
|-----------------|----------------|
|
|
111
|
-
| ก จ ด ต ป บ | ม ย ร ล อ |
|
|
112
|
-
|
|
113
|
-
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.
|
|
114
|
-
|
|
115
|
-
## Tone Behavior of Middle Class
|
|
116
|
-
|
|
117
|
-
With no tone mark, middle-class consonants produce:
|
|
118
|
-
- **Live syllable** (open or nasal ending): **Mid tone**
|
|
119
|
-
- **Dead syllable** (stop ending, short vowel): **Low tone**
|
|
120
|
-
|
|
121
|
-
Examples:
|
|
122
|
-
- กา (gaa) — live, mid tone
|
|
123
|
-
- กับ (gàp) — dead, low tone
|
|
124
|
-
|
|
125
|
-
This will make more sense after you learn vowels and tone marks!
|
|
126
|
-
|
|
127
|
-
## Key Points
|
|
128
|
-
|
|
129
|
-
1. **ม** is a nasal — air through nose, same sound initial and final
|
|
130
|
-
2. **ย** becomes a vowel sound (/i/) in final position
|
|
131
|
-
3. **ร and ล** both become /n/ at syllable end
|
|
132
|
-
4. **อ** is the "silent" consonant for vowel-initial words
|
|
133
|
-
5. **All 9 middle-class** consonants share the same tone rules
|
|
134
|
-
|
|
135
|
-
## Practice Tip: Shape Recognition
|
|
136
|
-
|
|
137
|
-
- **ม** looks like a "3" with a tail
|
|
138
|
-
- **ย** has a distinctive curving shape
|
|
139
|
-
- **ร and ล** can be confusing — ร has the loop on top, ล doesn't
|
|
140
|
-
- **อ** looks like a circle with a tail
|
|
141
|
-
|
|
142
|
-
## Practice Exercises
|
|
143
|
-
|
|
144
|
-
:::exercise{id="middle-2-final-sounds" type="matching" title="Final Position Sounds" skill="character-sound-mapping" tests="boat,monkey,ogre,horse" objectiveId="obj-nasal-approx"}
|
|
145
|
-
|
|
146
|
-
**Question:** Match each consonant to its final position sound
|
|
147
|
-
|
|
148
|
-
- ร (boat)
|
|
149
|
-
- ล (monkey)
|
|
150
|
-
- ย (ogre)
|
|
151
|
-
- ม (horse)
|
|
152
|
-
|
|
153
|
-
**Answer:**
|
|
154
|
-
|
|
155
|
-
- ร → /n/ (becomes N in final position)
|
|
156
|
-
- ล → /n/ (becomes N in final position)
|
|
157
|
-
- ย → /i/ (becomes vowel-like sound)
|
|
158
|
-
- ม → /m/ (stays M in final position)
|
|
159
|
-
|
|
160
|
-
**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.
|
|
161
|
-
|
|
162
|
-
:::
|
|
163
|
-
|
|
164
|
-
:::exercise{id="middle-2-special-case" type="multiple-choice" title="The Special อ Consonant" skill="character-sound-mapping" tests="bowl" objectiveId="obj-silent-consonant"}
|
|
165
|
-
|
|
166
|
-
**Question:** What makes อ (bowl) special?
|
|
167
|
-
|
|
168
|
-
**Options:**
|
|
169
|
-
- It's the only vowel
|
|
170
|
-
- It serves as both silent consonant carrier and vowel component
|
|
171
|
-
- It's never used
|
|
172
|
-
- It's always pronounced
|
|
173
|
-
|
|
174
|
-
**Answer:** 2
|
|
175
|
-
|
|
176
|
-
**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.
|
|
177
|
-
|
|
178
|
-
:::
|
|
179
|
-
|
|
180
|
-
:::exercise{id="middle-2-complete-set" type="fill-in-blank" title="Complete Middle-Class Set" skill="character-recognition" objectiveId="obj-complete-mid"}
|
|
181
|
-
|
|
182
|
-
**Question:** How many middle-class consonants are there, and what are they?
|
|
183
|
-
|
|
184
|
-
**Answer:**
|
|
185
|
-
|
|
186
|
-
There are **9 middle-class consonants** total:
|
|
187
|
-
- Stop consonants: ก จ ด ต ป บ
|
|
188
|
-
- Nasals/Liquids: ม ย ร ล อ
|
|
189
|
-
|
|
190
|
-
**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.
|
|
191
|
-
|
|
192
|
-
:::
|
|
193
|
-
|
|
194
|
-
## What's Next
|
|
195
|
-
|
|
196
|
-
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.
|
|
197
|
-
`;
|
|
198
|
-
export {
|
|
199
|
-
n as default
|
|
200
|
-
};
|
|
201
|
-
//# sourceMappingURL=lesson-02-CbJJ5Amt.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lesson-02-CbJJ5Amt.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 learningObjectives:\\n - id: obj-complete-mid\\n description: \\\"Complete your knowledge of middle-class consonants\\\"\\n skill: character-recognition\\n references: [horse, ogre, boat, monkey, bowl]\\n - id: obj-nasal-approx\\n description: \\\"Understand nasals and approximants\\\"\\n skill: character-sound-mapping\\n - id: obj-silent-consonant\\n description: \\\"Learn the special role of อ as a silent consonant\\\"\\n skill: character-sound-mapping\\n references: [bowl]\\n - id: obj-syllable-reading\\n description: \\\"Practice reading simple syllables\\\"\\n skill: character-sound-mapping\\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=\\\"horse\\\" canonicalRef=\\\"horse\\\" data:class=\\\"low\\\" char=\\\"ม\\\" name=\\\"ม ม้า (mɔɔ máa)\\\" nativeName=\\\"ม ม้า\\\" transliteration=\\\"m\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"ogre\\\" canonicalRef=\\\"ogre\\\" data:class=\\\"low\\\" char=\\\"ย\\\" name=\\\"ย ยักษ์ (yɔɔ yák)\\\" nativeName=\\\"ย ยักษ์\\\" transliteration=\\\"y\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"boat\\\" canonicalRef=\\\"boat\\\" data:class=\\\"low\\\" char=\\\"ร\\\" name=\\\"ร เรือ (rɔɔ rʉa)\\\" nativeName=\\\"ร เรือ\\\" transliteration=\\\"r/n\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"monkey\\\" canonicalRef=\\\"monkey\\\" data:class=\\\"low\\\" char=\\\"ล\\\" name=\\\"ล ลิง (lɔɔ ling)\\\" nativeName=\\\"ล ลิง\\\" transliteration=\\\"l/n\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"bowl\\\" canonicalRef=\\\"bowl\\\" data:class=\\\"middle\\\" 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\\\" skill=\\\"character-sound-mapping\\\" tests=\\\"boat,monkey,ogre,horse\\\" objectiveId=\\\"obj-nasal-approx\\\"}\\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\\\" skill=\\\"character-sound-mapping\\\" tests=\\\"bowl\\\" objectiveId=\\\"obj-silent-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\\\" skill=\\\"character-recognition\\\" objectiveId=\\\"obj-complete-mid\\\"}\\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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
const n = `---
|
|
2
|
-
type: lesson
|
|
3
|
-
id: thai-numbers-lesson-02
|
|
4
|
-
title: "บทที่ 2 — นับ ๑-๑๐๐"
|
|
5
|
-
description: "Counting 1-100: Teens, tens, and special rules"
|
|
6
|
-
order: 2
|
|
7
|
-
parentId: thai-numbers
|
|
8
|
-
difficulty: beginner
|
|
9
|
-
cefrLevel: A1
|
|
10
|
-
categories:
|
|
11
|
-
- numbers
|
|
12
|
-
- counting
|
|
13
|
-
- basics
|
|
14
|
-
metadata:
|
|
15
|
-
estimatedTime: 25
|
|
16
|
-
prerequisites:
|
|
17
|
-
- thai-numbers-lesson-01
|
|
18
|
-
learningObjectives:
|
|
19
|
-
- id: obj-count-1-100
|
|
20
|
-
description: "Count from 1 to 100 fluently"
|
|
21
|
-
skill: word-pronunciation
|
|
22
|
-
references: [num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]
|
|
23
|
-
- id: obj-special-rule-teens
|
|
24
|
-
description: "Understand the special rule for 11-19"
|
|
25
|
-
skill: word-production
|
|
26
|
-
references: [num-one]
|
|
27
|
-
- id: obj-twenty-rule
|
|
28
|
-
description: "Know why 20 uses ยี่ instead of สอง"
|
|
29
|
-
skill: word-production
|
|
30
|
-
references: [num-two]
|
|
31
|
-
- id: obj-two-digit-numbers
|
|
32
|
-
description: "Form any two-digit number correctly"
|
|
33
|
-
skill: word-production
|
|
34
|
-
references: [num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
# บทที่ 2 (Lesson 2) — Counting 1-100
|
|
38
|
-
|
|
39
|
-
## Introduction
|
|
40
|
-
|
|
41
|
-
Thai counting follows a logical pattern, but with a few important exceptions that every learner must know. The rules for teens (11-19) and the word for 20 are different from what you might expect.
|
|
42
|
-
|
|
43
|
-
## The Basic Pattern
|
|
44
|
-
|
|
45
|
-
Thai numbers follow a place-value system like English:
|
|
46
|
-
- **Tens place** + สิบ (sìp) = "ten"
|
|
47
|
-
- **Ones place** = the digit
|
|
48
|
-
|
|
49
|
-
Example: 35 = สาม (3) + สิบ (10) + ห้า (5) = สามสิบห้า (sǎam-sìp-hâa)
|
|
50
|
-
|
|
51
|
-
## The Teens (11-19): Special Rule #1
|
|
52
|
-
|
|
53
|
-
For 11-19, Thai uses สิบ (sìp) first, then adds the ones digit. But there's a catch:
|
|
54
|
-
|
|
55
|
-
**หนึ่ง becomes เอ็ด (èt) when it's not alone.**
|
|
56
|
-
|
|
57
|
-
| Number | Wrong | Correct | Pronunciation |
|
|
58
|
-
|--------|-------|---------|---------------|
|
|
59
|
-
| 10 | — | สิบ | sìp |
|
|
60
|
-
| 11 | ~~สิบหนึ่ง~~ | สิบเอ็ด | sìp-èt |
|
|
61
|
-
| 12 | — | สิบสอง | sìp-sǒng |
|
|
62
|
-
| 13 | — | สิบสาม | sìp-sǎam |
|
|
63
|
-
| 14 | — | สิบสี่ | sìp-sìi |
|
|
64
|
-
| 15 | — | สิบห้า | sìp-hâa |
|
|
65
|
-
| 16 | — | สิบหก | sìp-hòk |
|
|
66
|
-
| 17 | — | สิบเจ็ด | sìp-jèt |
|
|
67
|
-
| 18 | — | สิบแปด | sìp-bpàet |
|
|
68
|
-
| 19 | — | สิบเก้า | sìp-gâo |
|
|
69
|
-
|
|
70
|
-
**Key rule**: หนึ่ง (nʉ̀ng) is only used when it stands alone. In compounds, it becomes เอ็ด (èt).
|
|
71
|
-
|
|
72
|
-
## Twenty: Special Rule #2
|
|
73
|
-
|
|
74
|
-
Here's the second exception: 20 is NOT สองสิบ!
|
|
75
|
-
|
|
76
|
-
**20 = ยี่สิบ (yîi-sìp)**
|
|
77
|
-
|
|
78
|
-
Why? Historical reasons — ยี่ is an older word for "two" that survives only in this context.
|
|
79
|
-
|
|
80
|
-
| Number | Thai | Pronunciation |
|
|
81
|
-
|--------|------|---------------|
|
|
82
|
-
| 20 | ยี่สิบ | yîi-sìp |
|
|
83
|
-
| 21 | ยี่สิบเอ็ด | yîi-sìp-èt |
|
|
84
|
-
| 22 | ยี่สิบสอง | yîi-sìp-sǒng |
|
|
85
|
-
| 29 | ยี่สิบเก้า | yîi-sìp-gâo |
|
|
86
|
-
|
|
87
|
-
## The Regular Tens (30-90)
|
|
88
|
-
|
|
89
|
-
After 20, the pattern is regular:
|
|
90
|
-
|
|
91
|
-
| Number | Thai | Pronunciation |
|
|
92
|
-
|--------|------|---------------|
|
|
93
|
-
| 30 | สามสิบ | sǎam-sìp |
|
|
94
|
-
| 40 | สี่สิบ | sìi-sìp |
|
|
95
|
-
| 50 | ห้าสิบ | hâa-sìp |
|
|
96
|
-
| 60 | หกสิบ | hòk-sìp |
|
|
97
|
-
| 70 | เจ็ดสิบ | jèt-sìp |
|
|
98
|
-
| 80 | แปดสิบ | bpàet-sìp |
|
|
99
|
-
| 90 | เก้าสิบ | gâo-sìp |
|
|
100
|
-
| 100 | ร้อย | rɔ́ɔi |
|
|
101
|
-
|
|
102
|
-
## Building Any Number 1-99
|
|
103
|
-
|
|
104
|
-
Formula: **[tens word] + สิบ + [ones word]**
|
|
105
|
-
|
|
106
|
-
Remember:
|
|
107
|
-
- Use เอ็ด for 1 in compounds (21, 31, 41...)
|
|
108
|
-
- Use ยี่สิบ for 20-29
|
|
109
|
-
- Everything else is regular
|
|
110
|
-
|
|
111
|
-
| Number | Breakdown | Thai |
|
|
112
|
-
|--------|-----------|------|
|
|
113
|
-
| 47 | 4×10 + 7 | สี่สิบเจ็ด |
|
|
114
|
-
| 63 | 6×10 + 3 | หกสิบสาม |
|
|
115
|
-
| 81 | 8×10 + 1 | แปดสิบเอ็ด |
|
|
116
|
-
| 99 | 9×10 + 9 | เก้าสิบเก้า |
|
|
117
|
-
|
|
118
|
-
## Key Points
|
|
119
|
-
|
|
120
|
-
1. **เอ็ด replaces หนึ่ง**: Always in compound numbers (11, 21, 31...)
|
|
121
|
-
2. **ยี่สิบ for 20**: Never สองสิบ
|
|
122
|
-
3. **สิบ = 10**: The building block for all two-digit numbers
|
|
123
|
-
4. **Pattern is logical**: Once you know the exceptions, it's predictable
|
|
124
|
-
|
|
125
|
-
## Common Mistakes
|
|
126
|
-
|
|
127
|
-
- ❌ ยี่สิบหนึ่ง → ✓ ยี่สิบเอ็ด (21)
|
|
128
|
-
- ❌ สองสิบ → ✓ ยี่สิบ (20)
|
|
129
|
-
- ❌ สามสิบหนึ่ง → ✓ สามสิบเอ็ด (31)
|
|
130
|
-
|
|
131
|
-
## Practice Counting
|
|
132
|
-
|
|
133
|
-
Try saying these out loud:
|
|
134
|
-
- 15, 25, 35, 45, 55
|
|
135
|
-
- 11, 22, 33, 44, 55
|
|
136
|
-
- 19, 29, 39, 49, 59
|
|
137
|
-
|
|
138
|
-
## Practice Exercises
|
|
139
|
-
|
|
140
|
-
:::exercise{id="numbers-2-special-rules" type="fill-in-blank" title="Special Rules Practice" skill="word-production" tests="num-one,num-two" objectiveId="obj-special-rule-teens"}
|
|
141
|
-
|
|
142
|
-
**Question:** Write these numbers in Thai:
|
|
143
|
-
|
|
144
|
-
- 11 (ten + one)
|
|
145
|
-
- 20 (twenty)
|
|
146
|
-
- 21 (twenty + one)
|
|
147
|
-
- 31 (thirty + one)
|
|
148
|
-
|
|
149
|
-
**Answer:**
|
|
150
|
-
|
|
151
|
-
- 11 → สิบ**เอ็ด** (not สิบหนึ่ง)
|
|
152
|
-
- 20 → **ยี่**สิบ (not สองสิบ)
|
|
153
|
-
- 21 → ยี่สิบ**เอ็ด** (not ยี่สิบหนึ่ง)
|
|
154
|
-
- 31 → สามสิบ**เอ็ด** (not สามสิบหนึ่ง)
|
|
155
|
-
|
|
156
|
-
**Explanation:** Remember the two special rules: (1) หนึ่ง becomes เอ็ด in compound numbers, and (2) 20 uses ยี่สิบ, not สองสิบ. These are the only exceptions to the regular pattern.
|
|
157
|
-
|
|
158
|
-
:::
|
|
159
|
-
|
|
160
|
-
:::exercise{id="numbers-2-building-numbers" type="matching" title="Building Two-Digit Numbers" skill="word-recognition" objectiveId="obj-two-digit-numbers"}
|
|
161
|
-
|
|
162
|
-
**Question:** Match each number to its Thai form
|
|
163
|
-
|
|
164
|
-
- 47
|
|
165
|
-
- 63
|
|
166
|
-
- 81
|
|
167
|
-
- 99
|
|
168
|
-
|
|
169
|
-
**Answer:**
|
|
170
|
-
|
|
171
|
-
- 47 → สี่สิบเจ็ด (4×10 + 7)
|
|
172
|
-
- 63 → หกสิบสาม (6×10 + 3)
|
|
173
|
-
- 81 → แปดสิบเอ็ด (8×10 + 1, remember เอ็ด!)
|
|
174
|
-
- 99 → เก้าสิบเก้า (9×10 + 9)
|
|
175
|
-
|
|
176
|
-
**Explanation:** The pattern is [tens word] + สิบ + [ones word]. For numbers ending in 1, use เอ็ด instead of หนึ่ง.
|
|
177
|
-
|
|
178
|
-
:::
|
|
179
|
-
|
|
180
|
-
:::exercise{id="numbers-2-common-mistakes" type="multiple-choice" title="Common Mistakes" skill="word-pronunciation" tests="num-one,num-two" objectiveId="obj-twenty-rule"}
|
|
181
|
-
|
|
182
|
-
**Question:** Which is the correct way to say 21 in Thai?
|
|
183
|
-
|
|
184
|
-
**Options:**
|
|
185
|
-
- ยี่สิบหนึ่ง
|
|
186
|
-
- ยี่สิบเอ็ด
|
|
187
|
-
- สองสิบเอ็ด
|
|
188
|
-
- ยี่สิบยี่
|
|
189
|
-
|
|
190
|
-
**Answer:** 2
|
|
191
|
-
|
|
192
|
-
**Explanation:** 21 is ยี่สิบเอ็ด. Remember: (1) 20 uses ยี่สิบ (not สองสิบ), and (2) หนึ่ง becomes เอ็ด in compounds. So ยี่สิบ + เอ็ด = ยี่สิบเอ็ด.
|
|
193
|
-
|
|
194
|
-
:::
|
|
195
|
-
|
|
196
|
-
## What's Next
|
|
197
|
-
|
|
198
|
-
In Lesson 3, you'll learn large numbers — hundreds, thousands, and millions — including how Thai groups numbers differently than English.
|
|
199
|
-
`;
|
|
200
|
-
export {
|
|
201
|
-
n as default
|
|
202
|
-
};
|
|
203
|
-
//# sourceMappingURL=lesson-02-DGrALAgG.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lesson-02-DGrALAgG.js","sources":["../src/syllabi/numbers/lessons/lesson-02.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-numbers-lesson-02\\ntitle: \\\"บทที่ 2 — นับ ๑-๑๐๐\\\"\\ndescription: \\\"Counting 1-100: Teens, tens, and special rules\\\"\\norder: 2\\nparentId: thai-numbers\\ndifficulty: beginner\\ncefrLevel: A1\\ncategories:\\n - numbers\\n - counting\\n - basics\\nmetadata:\\n estimatedTime: 25\\n prerequisites:\\n - thai-numbers-lesson-01\\n learningObjectives:\\n - id: obj-count-1-100\\n description: \\\"Count from 1 to 100 fluently\\\"\\n skill: word-pronunciation\\n references: [num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]\\n - id: obj-special-rule-teens\\n description: \\\"Understand the special rule for 11-19\\\"\\n skill: word-production\\n references: [num-one]\\n - id: obj-twenty-rule\\n description: \\\"Know why 20 uses ยี่ instead of สอง\\\"\\n skill: word-production\\n references: [num-two]\\n - id: obj-two-digit-numbers\\n description: \\\"Form any two-digit number correctly\\\"\\n skill: word-production\\n references: [num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]\\n---\\n\\n# บทที่ 2 (Lesson 2) — Counting 1-100\\n\\n## Introduction\\n\\nThai counting follows a logical pattern, but with a few important exceptions that every learner must know. The rules for teens (11-19) and the word for 20 are different from what you might expect.\\n\\n## The Basic Pattern\\n\\nThai numbers follow a place-value system like English:\\n- **Tens place** + สิบ (sìp) = \\\"ten\\\"\\n- **Ones place** = the digit\\n\\nExample: 35 = สาม (3) + สิบ (10) + ห้า (5) = สามสิบห้า (sǎam-sìp-hâa)\\n\\n## The Teens (11-19): Special Rule #1\\n\\nFor 11-19, Thai uses สิบ (sìp) first, then adds the ones digit. But there's a catch:\\n\\n**หนึ่ง becomes เอ็ด (èt) when it's not alone.**\\n\\n| Number | Wrong | Correct | Pronunciation |\\n|--------|-------|---------|---------------|\\n| 10 | — | สิบ | sìp |\\n| 11 | ~~สิบหนึ่ง~~ | สิบเอ็ด | sìp-èt |\\n| 12 | — | สิบสอง | sìp-sǒng |\\n| 13 | — | สิบสาม | sìp-sǎam |\\n| 14 | — | สิบสี่ | sìp-sìi |\\n| 15 | — | สิบห้า | sìp-hâa |\\n| 16 | — | สิบหก | sìp-hòk |\\n| 17 | — | สิบเจ็ด | sìp-jèt |\\n| 18 | — | สิบแปด | sìp-bpàet |\\n| 19 | — | สิบเก้า | sìp-gâo |\\n\\n**Key rule**: หนึ่ง (nʉ̀ng) is only used when it stands alone. In compounds, it becomes เอ็ด (èt).\\n\\n## Twenty: Special Rule #2\\n\\nHere's the second exception: 20 is NOT สองสิบ!\\n\\n**20 = ยี่สิบ (yîi-sìp)**\\n\\nWhy? Historical reasons — ยี่ is an older word for \\\"two\\\" that survives only in this context.\\n\\n| Number | Thai | Pronunciation |\\n|--------|------|---------------|\\n| 20 | ยี่สิบ | yîi-sìp |\\n| 21 | ยี่สิบเอ็ด | yîi-sìp-èt |\\n| 22 | ยี่สิบสอง | yîi-sìp-sǒng |\\n| 29 | ยี่สิบเก้า | yîi-sìp-gâo |\\n\\n## The Regular Tens (30-90)\\n\\nAfter 20, the pattern is regular:\\n\\n| Number | Thai | Pronunciation |\\n|--------|------|---------------|\\n| 30 | สามสิบ | sǎam-sìp |\\n| 40 | สี่สิบ | sìi-sìp |\\n| 50 | ห้าสิบ | hâa-sìp |\\n| 60 | หกสิบ | hòk-sìp |\\n| 70 | เจ็ดสิบ | jèt-sìp |\\n| 80 | แปดสิบ | bpàet-sìp |\\n| 90 | เก้าสิบ | gâo-sìp |\\n| 100 | ร้อย | rɔ́ɔi |\\n\\n## Building Any Number 1-99\\n\\nFormula: **[tens word] + สิบ + [ones word]**\\n\\nRemember:\\n- Use เอ็ด for 1 in compounds (21, 31, 41...)\\n- Use ยี่สิบ for 20-29\\n- Everything else is regular\\n\\n| Number | Breakdown | Thai |\\n|--------|-----------|------|\\n| 47 | 4×10 + 7 | สี่สิบเจ็ด |\\n| 63 | 6×10 + 3 | หกสิบสาม |\\n| 81 | 8×10 + 1 | แปดสิบเอ็ด |\\n| 99 | 9×10 + 9 | เก้าสิบเก้า |\\n\\n## Key Points\\n\\n1. **เอ็ด replaces หนึ่ง**: Always in compound numbers (11, 21, 31...)\\n2. **ยี่สิบ for 20**: Never สองสิบ\\n3. **สิบ = 10**: The building block for all two-digit numbers\\n4. **Pattern is logical**: Once you know the exceptions, it's predictable\\n\\n## Common Mistakes\\n\\n- ❌ ยี่สิบหนึ่ง → ✓ ยี่สิบเอ็ด (21)\\n- ❌ สองสิบ → ✓ ยี่สิบ (20)\\n- ❌ สามสิบหนึ่ง → ✓ สามสิบเอ็ด (31)\\n\\n## Practice Counting\\n\\nTry saying these out loud:\\n- 15, 25, 35, 45, 55\\n- 11, 22, 33, 44, 55\\n- 19, 29, 39, 49, 59\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"numbers-2-special-rules\\\" type=\\\"fill-in-blank\\\" title=\\\"Special Rules Practice\\\" skill=\\\"word-production\\\" tests=\\\"num-one,num-two\\\" objectiveId=\\\"obj-special-rule-teens\\\"}\\n\\n**Question:** Write these numbers in Thai:\\n\\n- 11 (ten + one)\\n- 20 (twenty)\\n- 21 (twenty + one)\\n- 31 (thirty + one)\\n\\n**Answer:**\\n\\n- 11 → สิบ**เอ็ด** (not สิบหนึ่ง)\\n- 20 → **ยี่**สิบ (not สองสิบ)\\n- 21 → ยี่สิบ**เอ็ด** (not ยี่สิบหนึ่ง)\\n- 31 → สามสิบ**เอ็ด** (not สามสิบหนึ่ง)\\n\\n**Explanation:** Remember the two special rules: (1) หนึ่ง becomes เอ็ด in compound numbers, and (2) 20 uses ยี่สิบ, not สองสิบ. These are the only exceptions to the regular pattern.\\n\\n:::\\n\\n:::exercise{id=\\\"numbers-2-building-numbers\\\" type=\\\"matching\\\" title=\\\"Building Two-Digit Numbers\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-two-digit-numbers\\\"}\\n\\n**Question:** Match each number to its Thai form\\n\\n- 47\\n- 63\\n- 81\\n- 99\\n\\n**Answer:**\\n\\n- 47 → สี่สิบเจ็ด (4×10 + 7)\\n- 63 → หกสิบสาม (6×10 + 3)\\n- 81 → แปดสิบเอ็ด (8×10 + 1, remember เอ็ด!)\\n- 99 → เก้าสิบเก้า (9×10 + 9)\\n\\n**Explanation:** The pattern is [tens word] + สิบ + [ones word]. For numbers ending in 1, use เอ็ด instead of หนึ่ง.\\n\\n:::\\n\\n:::exercise{id=\\\"numbers-2-common-mistakes\\\" type=\\\"multiple-choice\\\" title=\\\"Common Mistakes\\\" skill=\\\"word-pronunciation\\\" tests=\\\"num-one,num-two\\\" objectiveId=\\\"obj-twenty-rule\\\"}\\n\\n**Question:** Which is the correct way to say 21 in Thai?\\n\\n**Options:**\\n- ยี่สิบหนึ่ง\\n- ยี่สิบเอ็ด\\n- สองสิบเอ็ด\\n- ยี่สิบยี่\\n\\n**Answer:** 2\\n\\n**Explanation:** 21 is ยี่สิบเอ็ด. Remember: (1) 20 uses ยี่สิบ (not สองสิบ), and (2) หนึ่ง becomes เอ็ด in compounds. So ยี่สิบ + เอ็ด = ยี่สิบเอ็ด.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 3, you'll learn large numbers — hundreds, thousands, and millions — including how Thai groups numbers differently than English.\\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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
const n = `---
|
|
2
|
-
type: lesson
|
|
3
|
-
id: thai-grammar-lesson-02
|
|
4
|
-
title: "บทที่ 2 — การถามคำถาม"
|
|
5
|
-
description: "Questions: Question words and yes/no questions"
|
|
6
|
-
order: 2
|
|
7
|
-
parentId: thai-grammar
|
|
8
|
-
difficulty: intermediate
|
|
9
|
-
cefrLevel: A2
|
|
10
|
-
categories:
|
|
11
|
-
- grammar
|
|
12
|
-
- questions
|
|
13
|
-
metadata:
|
|
14
|
-
estimatedTime: 30
|
|
15
|
-
prerequisites:
|
|
16
|
-
- thai-grammar-lesson-01
|
|
17
|
-
learningObjectives:
|
|
18
|
-
- id: obj-02-yes-no-questions
|
|
19
|
-
description: "Form yes/no questions"
|
|
20
|
-
skill: pattern-application
|
|
21
|
-
- id: obj-02-question-words
|
|
22
|
-
description: "Use question words"
|
|
23
|
-
skill: word-production
|
|
24
|
-
- id: obj-02-question-intonation
|
|
25
|
-
description: "Understand question intonation"
|
|
26
|
-
skill: pattern-recognition
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
# บทที่ 2 (Lesson 2) — Questions
|
|
30
|
-
|
|
31
|
-
## Introduction
|
|
32
|
-
|
|
33
|
-
Thai has two main question types: **yes/no questions** (add ไหม at the end) and **wh-questions** (use question words).
|
|
34
|
-
|
|
35
|
-
## Yes/No Questions: Add ไหม (mái)
|
|
36
|
-
|
|
37
|
-
Simply add **ไหม** at the end of a statement:
|
|
38
|
-
|
|
39
|
-
| Statement | Question |
|
|
40
|
-
|-----------|----------|
|
|
41
|
-
| คุณกินข้าว (you eat rice) | คุณกินข้าวไหม? (Do you eat rice?) |
|
|
42
|
-
| เขาไปตลาด (he goes to market) | เขาไปตลาดไหม? (Does he go to market?) |
|
|
43
|
-
| มีห้องว่าง (there's a room) | มีห้องว่างไหม? (Is there a room?) |
|
|
44
|
-
|
|
45
|
-
## Answering Yes/No Questions
|
|
46
|
-
|
|
47
|
-
| Response | Meaning |
|
|
48
|
-
|----------|---------|
|
|
49
|
-
| ครับ/ค่ะ | Yes (polite) |
|
|
50
|
-
| ใช่ (châi) | Yes/correct |
|
|
51
|
-
| ไม่ (mâi) + verb | No (repeat verb with ไม่) |
|
|
52
|
-
| ไม่ครับ/ค่ะ | No (polite) |
|
|
53
|
-
|
|
54
|
-
Example:
|
|
55
|
-
- Q: คุณชอบอาหารไทยไหม? (Do you like Thai food?)
|
|
56
|
-
- A: ชอบครับ (Yes, I like it) or ไม่ชอบครับ (No, I don't like it)
|
|
57
|
-
|
|
58
|
-
## Question Words
|
|
59
|
-
|
|
60
|
-
| Thai | Romanization | Meaning |
|
|
61
|
-
|------|--------------|---------|
|
|
62
|
-
| อะไร | à-rai | what |
|
|
63
|
-
| ใคร | khrai | who |
|
|
64
|
-
| ที่ไหน | thîi-nǎi | where |
|
|
65
|
-
| เมื่อไหร่ | mûuea-rài | when |
|
|
66
|
-
| ทำไม | tham-mai | why |
|
|
67
|
-
| อย่างไร/ยังไง | yàang-rai/yang-ngai | how |
|
|
68
|
-
| เท่าไหร่ | thâo-rài | how much |
|
|
69
|
-
| กี่ | gìi | how many |
|
|
70
|
-
|
|
71
|
-
## Question Word Placement
|
|
72
|
-
|
|
73
|
-
Question words go **where the answer would go**:
|
|
74
|
-
|
|
75
|
-
| Question | Answer |
|
|
76
|
-
|----------|--------|
|
|
77
|
-
| คุณกินอะไร? (What do you eat?) | ผมกินข้าว (I eat rice) |
|
|
78
|
-
| ใครมา? (Who came?) | เพื่อนมา (A friend came) |
|
|
79
|
-
| คุณไปที่ไหน? (Where do you go?) | ผมไปตลาด (I go to market) |
|
|
80
|
-
| นี่อะไร? (What is this?) | นี่หนังสือ (This is a book) |
|
|
81
|
-
|
|
82
|
-
## Common Question Patterns
|
|
83
|
-
|
|
84
|
-
| Pattern | Example | Meaning |
|
|
85
|
-
|---------|---------|---------|
|
|
86
|
-
| ...อะไร? | ชื่ออะไร? | What is (your) name? |
|
|
87
|
-
| ...ที่ไหน? | ห้องน้ำอยู่ที่ไหน? | Where is the bathroom? |
|
|
88
|
-
| ...เท่าไหร่? | ราคาเท่าไหร่? | How much (is the price)? |
|
|
89
|
-
| กี่...? | กี่โมง? | What time? (How many hours?) |
|
|
90
|
-
| ...หรือเปล่า? | ร้อนหรือเปล่า? | Is it hot? |
|
|
91
|
-
|
|
92
|
-
## Alternative: หรือเปล่า (rǔue bplào)
|
|
93
|
-
|
|
94
|
-
Another way to ask yes/no questions:
|
|
95
|
-
|
|
96
|
-
| With ไหม | With หรือเปล่า |
|
|
97
|
-
|----------|----------------|
|
|
98
|
-
| คุณหิวไหม? | คุณหิวหรือเปล่า? |
|
|
99
|
-
|
|
100
|
-
Both mean "Are you hungry?" but หรือเปล่า sounds slightly softer.
|
|
101
|
-
|
|
102
|
-
## Key Points
|
|
103
|
-
|
|
104
|
-
1. **ไหม at the end** makes any statement a yes/no question
|
|
105
|
-
2. **Answer by repeating the verb** (with or without ไม่)
|
|
106
|
-
3. **Question words** replace the unknown information
|
|
107
|
-
4. **No subject-verb inversion** like in English
|
|
108
|
-
|
|
109
|
-
## What's Next
|
|
110
|
-
|
|
111
|
-
In Lesson 3, you'll learn about Thai negation — how to say "no" and "not" in different contexts, including the important distinction between ไม่ (mâi) and ไม่ใช่ (mâi châi).
|
|
112
|
-
`;
|
|
113
|
-
export {
|
|
114
|
-
n as default
|
|
115
|
-
};
|
|
116
|
-
//# sourceMappingURL=lesson-02-DcMDDBDL.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lesson-02-DcMDDBDL.js","sources":["../src/syllabi/grammar/lessons/lesson-02.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-grammar-lesson-02\\ntitle: \\\"บทที่ 2 — การถามคำถาม\\\"\\ndescription: \\\"Questions: Question words and yes/no questions\\\"\\norder: 2\\nparentId: thai-grammar\\ndifficulty: intermediate\\ncefrLevel: A2\\ncategories:\\n - grammar\\n - questions\\nmetadata:\\n estimatedTime: 30\\n prerequisites:\\n - thai-grammar-lesson-01\\n learningObjectives:\\n - id: obj-02-yes-no-questions\\n description: \\\"Form yes/no questions\\\"\\n skill: pattern-application\\n - id: obj-02-question-words\\n description: \\\"Use question words\\\"\\n skill: word-production\\n - id: obj-02-question-intonation\\n description: \\\"Understand question intonation\\\"\\n skill: pattern-recognition\\n---\\n\\n# บทที่ 2 (Lesson 2) — Questions\\n\\n## Introduction\\n\\nThai has two main question types: **yes/no questions** (add ไหม at the end) and **wh-questions** (use question words).\\n\\n## Yes/No Questions: Add ไหม (mái)\\n\\nSimply add **ไหม** at the end of a statement:\\n\\n| Statement | Question |\\n|-----------|----------|\\n| คุณกินข้าว (you eat rice) | คุณกินข้าวไหม? (Do you eat rice?) |\\n| เขาไปตลาด (he goes to market) | เขาไปตลาดไหม? (Does he go to market?) |\\n| มีห้องว่าง (there's a room) | มีห้องว่างไหม? (Is there a room?) |\\n\\n## Answering Yes/No Questions\\n\\n| Response | Meaning |\\n|----------|---------|\\n| ครับ/ค่ะ | Yes (polite) |\\n| ใช่ (châi) | Yes/correct |\\n| ไม่ (mâi) + verb | No (repeat verb with ไม่) |\\n| ไม่ครับ/ค่ะ | No (polite) |\\n\\nExample:\\n- Q: คุณชอบอาหารไทยไหม? (Do you like Thai food?)\\n- A: ชอบครับ (Yes, I like it) or ไม่ชอบครับ (No, I don't like it)\\n\\n## Question Words\\n\\n| Thai | Romanization | Meaning |\\n|------|--------------|---------|\\n| อะไร | à-rai | what |\\n| ใคร | khrai | who |\\n| ที่ไหน | thîi-nǎi | where |\\n| เมื่อไหร่ | mûuea-rài | when |\\n| ทำไม | tham-mai | why |\\n| อย่างไร/ยังไง | yàang-rai/yang-ngai | how |\\n| เท่าไหร่ | thâo-rài | how much |\\n| กี่ | gìi | how many |\\n\\n## Question Word Placement\\n\\nQuestion words go **where the answer would go**:\\n\\n| Question | Answer |\\n|----------|--------|\\n| คุณกินอะไร? (What do you eat?) | ผมกินข้าว (I eat rice) |\\n| ใครมา? (Who came?) | เพื่อนมา (A friend came) |\\n| คุณไปที่ไหน? (Where do you go?) | ผมไปตลาด (I go to market) |\\n| นี่อะไร? (What is this?) | นี่หนังสือ (This is a book) |\\n\\n## Common Question Patterns\\n\\n| Pattern | Example | Meaning |\\n|---------|---------|---------|\\n| ...อะไร? | ชื่ออะไร? | What is (your) name? |\\n| ...ที่ไหน? | ห้องน้ำอยู่ที่ไหน? | Where is the bathroom? |\\n| ...เท่าไหร่? | ราคาเท่าไหร่? | How much (is the price)? |\\n| กี่...? | กี่โมง? | What time? (How many hours?) |\\n| ...หรือเปล่า? | ร้อนหรือเปล่า? | Is it hot? |\\n\\n## Alternative: หรือเปล่า (rǔue bplào)\\n\\nAnother way to ask yes/no questions:\\n\\n| With ไหม | With หรือเปล่า |\\n|----------|----------------|\\n| คุณหิวไหม? | คุณหิวหรือเปล่า? |\\n\\nBoth mean \\\"Are you hungry?\\\" but หรือเปล่า sounds slightly softer.\\n\\n## Key Points\\n\\n1. **ไหม at the end** makes any statement a yes/no question\\n2. **Answer by repeating the verb** (with or without ไม่)\\n3. **Question words** replace the unknown information\\n4. **No subject-verb inversion** like in English\\n\\n## What's Next\\n\\nIn Lesson 3, you'll learn about Thai negation — how to say \\\"no\\\" and \\\"not\\\" in different contexts, including the important distinction between ไม่ (mâi) and ไม่ใช่ (mâi châi).\\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;"}
|