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