@syllst/th 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/dist/index-B029m98V.js +46 -0
  2. package/dist/index-B029m98V.js.map +1 -0
  3. package/dist/index-BCA5Llwg.js +52 -0
  4. package/dist/index-BCA5Llwg.js.map +1 -0
  5. package/dist/index-BFcg5D_W.js +56 -0
  6. package/dist/index-BFcg5D_W.js.map +1 -0
  7. package/dist/index-CB8M6CK6.js +52 -0
  8. package/dist/index-CB8M6CK6.js.map +1 -0
  9. package/dist/index-CTQ45BVw.js +48 -0
  10. package/dist/index-CTQ45BVw.js.map +1 -0
  11. package/dist/index-CoqP9GZL.js +52 -0
  12. package/dist/index-CoqP9GZL.js.map +1 -0
  13. package/dist/index-DADMaTE7.js +27 -0
  14. package/dist/index-DADMaTE7.js.map +1 -0
  15. package/dist/index-Dy38Hmlm.js +52 -0
  16. package/dist/index-Dy38Hmlm.js.map +1 -0
  17. package/dist/index-of_athp-.js +82 -0
  18. package/dist/index-of_athp-.js.map +1 -0
  19. package/dist/index-vuRo2mLK.js +50 -0
  20. package/dist/index-vuRo2mLK.js.map +1 -0
  21. package/dist/index.d.ts +15 -45
  22. package/dist/index.js +62 -66
  23. package/dist/index.js.map +1 -1
  24. package/dist/lesson-01--9NOyHZ6.js +106 -0
  25. package/dist/lesson-01--9NOyHZ6.js.map +1 -0
  26. package/dist/lesson-01-3hBted4A.js +147 -0
  27. package/dist/lesson-01-3hBted4A.js.map +1 -0
  28. package/dist/lesson-01-97FtYE6g.js +130 -0
  29. package/dist/lesson-01-97FtYE6g.js.map +1 -0
  30. package/dist/lesson-01-BNdHXAGR.js +103 -0
  31. package/dist/lesson-01-BNdHXAGR.js.map +1 -0
  32. package/dist/lesson-01-BYKAZiua.js +130 -0
  33. package/dist/lesson-01-BYKAZiua.js.map +1 -0
  34. package/dist/lesson-01-BhjY6ArF.js +147 -0
  35. package/dist/lesson-01-BhjY6ArF.js.map +1 -0
  36. package/dist/lesson-01-CF4tJfZ3.js +120 -0
  37. package/dist/lesson-01-CF4tJfZ3.js.map +1 -0
  38. package/dist/lesson-01-CRx-yw4C.js +145 -0
  39. package/dist/lesson-01-CRx-yw4C.js.map +1 -0
  40. package/dist/lesson-01-WV3ic8Ok.js +91 -0
  41. package/dist/lesson-01-WV3ic8Ok.js.map +1 -0
  42. package/dist/lesson-02-B2Xg7RVU.js +214 -0
  43. package/dist/lesson-02-B2Xg7RVU.js.map +1 -0
  44. package/dist/lesson-02-BAbq-QGP.js +191 -0
  45. package/dist/lesson-02-BAbq-QGP.js.map +1 -0
  46. package/dist/lesson-02-BGnp0Ik_.js +168 -0
  47. package/dist/lesson-02-BGnp0Ik_.js.map +1 -0
  48. package/dist/lesson-02-BO3BXPMJ.js +139 -0
  49. package/dist/lesson-02-BO3BXPMJ.js.map +1 -0
  50. package/dist/lesson-02-Bm9EJuN8.js +191 -0
  51. package/dist/lesson-02-Bm9EJuN8.js.map +1 -0
  52. package/dist/lesson-02-C0ZL4z3c.js +110 -0
  53. package/dist/lesson-02-C0ZL4z3c.js.map +1 -0
  54. package/dist/lesson-02-C2ALLvoT.js +161 -0
  55. package/dist/lesson-02-C2ALLvoT.js.map +1 -0
  56. package/dist/lesson-02-C8dfzXvq.js +112 -0
  57. package/dist/lesson-02-C8dfzXvq.js.map +1 -0
  58. package/dist/lesson-02-CsejVbCo.js +196 -0
  59. package/dist/lesson-02-CsejVbCo.js.map +1 -0
  60. package/dist/lesson-03-8NtAeqFh.js +132 -0
  61. package/dist/lesson-03-8NtAeqFh.js.map +1 -0
  62. package/dist/lesson-03-BdZfKRhq.js +163 -0
  63. package/dist/lesson-03-BdZfKRhq.js.map +1 -0
  64. package/dist/lesson-03-CKTNtgY1.js +229 -0
  65. package/dist/lesson-03-CKTNtgY1.js.map +1 -0
  66. package/dist/lesson-03-D8va_Q9B.js +173 -0
  67. package/dist/lesson-03-D8va_Q9B.js.map +1 -0
  68. package/dist/lesson-03-DV2SUWVH.js +184 -0
  69. package/dist/lesson-03-DV2SUWVH.js.map +1 -0
  70. package/dist/lesson-03-DiV17_Os.js +116 -0
  71. package/dist/lesson-03-DiV17_Os.js.map +1 -0
  72. package/dist/lesson-03-DrJgbfDQ.js +217 -0
  73. package/dist/lesson-03-DrJgbfDQ.js.map +1 -0
  74. package/dist/lesson-03-XVahXvgf.js +145 -0
  75. package/dist/lesson-03-XVahXvgf.js.map +1 -0
  76. package/dist/lesson-03-Xc8-2Yt3.js +175 -0
  77. package/dist/lesson-03-Xc8-2Yt3.js.map +1 -0
  78. package/dist/lesson-04-BpRrNmzO.js +135 -0
  79. package/dist/lesson-04-BpRrNmzO.js.map +1 -0
  80. package/dist/lesson-04-CtNr2B3E.js +206 -0
  81. package/dist/lesson-04-CtNr2B3E.js.map +1 -0
  82. package/dist/lesson-04-DEEPJ_rd.js +207 -0
  83. package/dist/lesson-04-DEEPJ_rd.js.map +1 -0
  84. package/dist/lesson-04-D__vMCyA.js +164 -0
  85. package/dist/lesson-04-D__vMCyA.js.map +1 -0
  86. package/dist/lesson-04-Dfc7S4nT.js +225 -0
  87. package/dist/lesson-04-Dfc7S4nT.js.map +1 -0
  88. package/dist/lesson-04-DtXVhdGB.js +170 -0
  89. package/dist/lesson-04-DtXVhdGB.js.map +1 -0
  90. package/dist/lesson-04-ZrSBM0BX.js +184 -0
  91. package/dist/lesson-04-ZrSBM0BX.js.map +1 -0
  92. package/dist/lesson-04-ioLXnB0j.js +175 -0
  93. package/dist/lesson-04-ioLXnB0j.js.map +1 -0
  94. package/dist/lesson-04-rapx_3vA.js +222 -0
  95. package/dist/lesson-04-rapx_3vA.js.map +1 -0
  96. package/dist/lesson-05-Bm6fg-DJ.js +236 -0
  97. package/dist/lesson-05-Bm6fg-DJ.js.map +1 -0
  98. package/dist/lesson-05-CKxXcooO.js +191 -0
  99. package/dist/lesson-05-CKxXcooO.js.map +1 -0
  100. package/dist/lesson-05-D1d3kc3M.js +137 -0
  101. package/dist/lesson-05-D1d3kc3M.js.map +1 -0
  102. package/dist/lesson-05-D2SVU-I0.js +236 -0
  103. package/dist/lesson-05-D2SVU-I0.js.map +1 -0
  104. package/dist/lesson-05-DBsHyFlt.js +181 -0
  105. package/dist/lesson-05-DBsHyFlt.js.map +1 -0
  106. package/dist/lesson-05-DXOLS7G0.js +172 -0
  107. package/dist/lesson-05-DXOLS7G0.js.map +1 -0
  108. package/dist/lesson-05-D_GdROUn.js +175 -0
  109. package/dist/lesson-05-D_GdROUn.js.map +1 -0
  110. package/dist/lesson-05-DusKUtbm.js +208 -0
  111. package/dist/lesson-05-DusKUtbm.js.map +1 -0
  112. package/dist/lesson-05-ip400cxe.js +194 -0
  113. package/dist/lesson-05-ip400cxe.js.map +1 -0
  114. package/dist/lesson-06-1CE05TRX.js +196 -0
  115. package/dist/lesson-06-1CE05TRX.js.map +1 -0
  116. package/dist/lesson-06-1ZsbrE1a.js +230 -0
  117. package/dist/lesson-06-1ZsbrE1a.js.map +1 -0
  118. package/dist/lesson-06-Aw-X-HMV.js +222 -0
  119. package/dist/lesson-06-Aw-X-HMV.js.map +1 -0
  120. package/dist/lesson-06-BG26PBTF.js +135 -0
  121. package/dist/lesson-06-BG26PBTF.js.map +1 -0
  122. package/dist/lesson-06-Bliedg7n.js +265 -0
  123. package/dist/lesson-06-Bliedg7n.js.map +1 -0
  124. package/dist/lesson-06-CnKkcUb-.js +164 -0
  125. package/dist/lesson-06-CnKkcUb-.js.map +1 -0
  126. package/dist/lesson-06-CvN9pDsE.js +182 -0
  127. package/dist/lesson-06-CvN9pDsE.js.map +1 -0
  128. package/dist/lesson-06-Du9J8sYl.js +192 -0
  129. package/dist/lesson-06-Du9J8sYl.js.map +1 -0
  130. package/dist/lesson-07-8zdPFyjE.js +189 -0
  131. package/dist/lesson-07-8zdPFyjE.js.map +1 -0
  132. package/dist/lesson-07-B9bkJ3gP.js +136 -0
  133. package/dist/lesson-07-B9bkJ3gP.js.map +1 -0
  134. package/dist/lesson-07-CTFSd9gF.js +200 -0
  135. package/dist/lesson-07-CTFSd9gF.js.map +1 -0
  136. package/dist/lesson-07-DezS1ojS.js +224 -0
  137. package/dist/lesson-07-DezS1ojS.js.map +1 -0
  138. package/dist/lesson-07-DjCMCYkK.js +186 -0
  139. package/dist/lesson-07-DjCMCYkK.js.map +1 -0
  140. package/dist/lesson-07-X6anzbAn.js +240 -0
  141. package/dist/lesson-07-X6anzbAn.js.map +1 -0
  142. package/dist/lesson-07-rvSSQiVh.js +222 -0
  143. package/dist/lesson-07-rvSSQiVh.js.map +1 -0
  144. package/dist/lesson-08-BYfkPBkH.js +279 -0
  145. package/dist/lesson-08-BYfkPBkH.js.map +1 -0
  146. package/dist/lesson-08-Bb_v_gD-.js +140 -0
  147. package/dist/lesson-08-Bb_v_gD-.js.map +1 -0
  148. package/dist/lesson-08-BqW5C_OE.js +265 -0
  149. package/dist/lesson-08-BqW5C_OE.js.map +1 -0
  150. package/dist/lesson-08-CeDWopKc.js +215 -0
  151. package/dist/lesson-08-CeDWopKc.js.map +1 -0
  152. package/dist/lesson-08-Cyzy_VeP.js +214 -0
  153. package/dist/lesson-08-Cyzy_VeP.js.map +1 -0
  154. package/dist/lesson-08-hJlci9W5.js +197 -0
  155. package/dist/lesson-08-hJlci9W5.js.map +1 -0
  156. package/dist/lesson-09-BQ1CZCjT.js +137 -0
  157. package/dist/lesson-09-BQ1CZCjT.js.map +1 -0
  158. package/dist/lesson-09-DHRHZIc1.js +209 -0
  159. package/dist/lesson-09-DHRHZIc1.js.map +1 -0
  160. package/dist/lesson-10-BdfkVT7s.js +221 -0
  161. package/dist/lesson-10-BdfkVT7s.js.map +1 -0
  162. package/dist/lesson-10-C7YEQ8et.js +150 -0
  163. package/dist/lesson-10-C7YEQ8et.js.map +1 -0
  164. package/dist/lesson-11-oJQ8ZxJk.js +248 -0
  165. package/dist/lesson-11-oJQ8ZxJk.js.map +1 -0
  166. package/dist/lesson-12-D69m5ETy.js +265 -0
  167. package/dist/lesson-12-D69m5ETy.js.map +1 -0
  168. package/dist/syllabi/alphabet/index.d.ts +3 -6
  169. package/dist/syllabi/alphabet/index.js +8 -37
  170. package/dist/syllabi/alphabet/index.js.map +1 -1
  171. package/dist/syllabi/dialogue/index.d.ts +3 -6
  172. package/dist/syllabi/dialogue/index.js +9 -33
  173. package/dist/syllabi/dialogue/index.js.map +1 -1
  174. package/dist/syllabi/essentials/index.d.ts +3 -6
  175. package/dist/syllabi/essentials/index.js +9 -31
  176. package/dist/syllabi/essentials/index.js.map +1 -1
  177. package/dist/syllabi/food/index.d.ts +3 -6
  178. package/dist/syllabi/food/index.js +9 -33
  179. package/dist/syllabi/food/index.js.map +1 -1
  180. package/dist/syllabi/grammar/index.d.ts +3 -6
  181. package/dist/syllabi/grammar/index.js +9 -33
  182. package/dist/syllabi/grammar/index.js.map +1 -1
  183. package/dist/syllabi/numbers/index.d.ts +3 -6
  184. package/dist/syllabi/numbers/index.js +9 -30
  185. package/dist/syllabi/numbers/index.js.map +1 -1
  186. package/dist/syllabi/reading/index.d.ts +3 -6
  187. package/dist/syllabi/reading/index.js +9 -35
  188. package/dist/syllabi/reading/index.js.map +1 -1
  189. package/dist/syllabi/travel/index.d.ts +3 -6
  190. package/dist/syllabi/travel/index.js +9 -32
  191. package/dist/syllabi/travel/index.js.map +1 -1
  192. package/dist/syllabi/vowels-tones/index.d.ts +3 -6
  193. package/dist/syllabi/vowels-tones/index.js +9 -33
  194. package/dist/syllabi/vowels-tones/index.js.map +1 -1
  195. package/package.json +16 -9
  196. package/dist/index.d.ts.map +0 -1
  197. package/dist/shared.d.ts +0 -70
  198. package/dist/shared.d.ts.map +0 -1
  199. package/dist/shared.js +0 -33
  200. package/dist/shared.js.map +0 -1
  201. package/dist/syllabi/alphabet/index.d.ts.map +0 -1
  202. package/dist/syllabi/dialogue/index.d.ts.map +0 -1
  203. package/dist/syllabi/essentials/index.d.ts.map +0 -1
  204. package/dist/syllabi/food/index.d.ts.map +0 -1
  205. package/dist/syllabi/grammar/index.d.ts.map +0 -1
  206. package/dist/syllabi/numbers/index.d.ts.map +0 -1
  207. package/dist/syllabi/reading/index.d.ts.map +0 -1
  208. package/dist/syllabi/travel/index.d.ts.map +0 -1
  209. package/dist/syllabi/vowels-tones/index.d.ts.map +0 -1
@@ -0,0 +1,191 @@
1
+ const n = `---
2
+ type: lesson
3
+ id: thai-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
+ objectives:
19
+ - "Count from 1 to 100 fluently"
20
+ - "Understand the special rule for 11-19"
21
+ - "Know why 20 uses ยี่ instead of สอง"
22
+ - "Form any two-digit number correctly"
23
+ ---
24
+
25
+ # บทที่ 2 (Lesson 2) — Counting 1-100
26
+
27
+ ## Introduction
28
+
29
+ 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.
30
+
31
+ ## The Basic Pattern
32
+
33
+ Thai numbers follow a place-value system like English:
34
+ - **Tens place** + สิบ (sìp) = "ten"
35
+ - **Ones place** = the digit
36
+
37
+ Example: 35 = สาม (3) + สิบ (10) + ห้า (5) = สามสิบห้า (sǎam-sìp-hâa)
38
+
39
+ ## The Teens (11-19): Special Rule #1
40
+
41
+ For 11-19, Thai uses สิบ (sìp) first, then adds the ones digit. But there's a catch:
42
+
43
+ **หนึ่ง becomes เอ็ด (èt) when it's not alone.**
44
+
45
+ | Number | Wrong | Correct | Pronunciation |
46
+ |--------|-------|---------|---------------|
47
+ | 10 | — | สิบ | sìp |
48
+ | 11 | ~~สิบหนึ่ง~~ | สิบเอ็ด | sìp-èt |
49
+ | 12 | — | สิบสอง | sìp-sǒng |
50
+ | 13 | — | สิบสาม | sìp-sǎam |
51
+ | 14 | — | สิบสี่ | sìp-sìi |
52
+ | 15 | — | สิบห้า | sìp-hâa |
53
+ | 16 | — | สิบหก | sìp-hòk |
54
+ | 17 | — | สิบเจ็ด | sìp-jèt |
55
+ | 18 | — | สิบแปด | sìp-bpàet |
56
+ | 19 | — | สิบเก้า | sìp-gâo |
57
+
58
+ **Key rule**: หนึ่ง (nʉ̀ng) is only used when it stands alone. In compounds, it becomes เอ็ด (èt).
59
+
60
+ ## Twenty: Special Rule #2
61
+
62
+ Here's the second exception: 20 is NOT สองสิบ!
63
+
64
+ **20 = ยี่สิบ (yîi-sìp)**
65
+
66
+ Why? Historical reasons — ยี่ is an older word for "two" that survives only in this context.
67
+
68
+ | Number | Thai | Pronunciation |
69
+ |--------|------|---------------|
70
+ | 20 | ยี่สิบ | yîi-sìp |
71
+ | 21 | ยี่สิบเอ็ด | yîi-sìp-èt |
72
+ | 22 | ยี่สิบสอง | yîi-sìp-sǒng |
73
+ | 29 | ยี่สิบเก้า | yîi-sìp-gâo |
74
+
75
+ ## The Regular Tens (30-90)
76
+
77
+ After 20, the pattern is regular:
78
+
79
+ | Number | Thai | Pronunciation |
80
+ |--------|------|---------------|
81
+ | 30 | สามสิบ | sǎam-sìp |
82
+ | 40 | สี่สิบ | sìi-sìp |
83
+ | 50 | ห้าสิบ | hâa-sìp |
84
+ | 60 | หกสิบ | hòk-sìp |
85
+ | 70 | เจ็ดสิบ | jèt-sìp |
86
+ | 80 | แปดสิบ | bpàet-sìp |
87
+ | 90 | เก้าสิบ | gâo-sìp |
88
+ | 100 | ร้อย | rɔ́ɔi |
89
+
90
+ ## Building Any Number 1-99
91
+
92
+ Formula: **[tens word] + สิบ + [ones word]**
93
+
94
+ Remember:
95
+ - Use เอ็ด for 1 in compounds (21, 31, 41...)
96
+ - Use ยี่สิบ for 20-29
97
+ - Everything else is regular
98
+
99
+ | Number | Breakdown | Thai |
100
+ |--------|-----------|------|
101
+ | 47 | 4×10 + 7 | สี่สิบเจ็ด |
102
+ | 63 | 6×10 + 3 | หกสิบสาม |
103
+ | 81 | 8×10 + 1 | แปดสิบเอ็ด |
104
+ | 99 | 9×10 + 9 | เก้าสิบเก้า |
105
+
106
+ ## Key Points
107
+
108
+ 1. **เอ็ด replaces หนึ่ง**: Always in compound numbers (11, 21, 31...)
109
+ 2. **ยี่สิบ for 20**: Never สองสิบ
110
+ 3. **สิบ = 10**: The building block for all two-digit numbers
111
+ 4. **Pattern is logical**: Once you know the exceptions, it's predictable
112
+
113
+ ## Common Mistakes
114
+
115
+ - ❌ ยี่สิบหนึ่ง → ✓ ยี่สิบเอ็ด (21)
116
+ - ❌ สองสิบ → ✓ ยี่สิบ (20)
117
+ - ❌ สามสิบหนึ่ง → ✓ สามสิบเอ็ด (31)
118
+
119
+ ## Practice Counting
120
+
121
+ Try saying these out loud:
122
+ - 15, 25, 35, 45, 55
123
+ - 11, 22, 33, 44, 55
124
+ - 19, 29, 39, 49, 59
125
+
126
+ ## Practice Exercises
127
+
128
+ :::exercise{id="numbers-2-special-rules" type="fill-in-blank" title="Special Rules Practice"}
129
+
130
+ **Question:** Write these numbers in Thai:
131
+
132
+ - 11 (ten + one)
133
+ - 20 (twenty)
134
+ - 21 (twenty + one)
135
+ - 31 (thirty + one)
136
+
137
+ **Answer:**
138
+
139
+ - 11 → สิบ**เอ็ด** (not สิบหนึ่ง)
140
+ - 20 → **ยี่**สิบ (not สองสิบ)
141
+ - 21 → ยี่สิบ**เอ็ด** (not ยี่สิบหนึ่ง)
142
+ - 31 → สามสิบ**เอ็ด** (not สามสิบหนึ่ง)
143
+
144
+ **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.
145
+
146
+ :::
147
+
148
+ :::exercise{id="numbers-2-building-numbers" type="matching" title="Building Two-Digit Numbers"}
149
+
150
+ **Question:** Match each number to its Thai form
151
+
152
+ - 47
153
+ - 63
154
+ - 81
155
+ - 99
156
+
157
+ **Answer:**
158
+
159
+ - 47 → สี่สิบเจ็ด (4×10 + 7)
160
+ - 63 → หกสิบสาม (6×10 + 3)
161
+ - 81 → แปดสิบเอ็ด (8×10 + 1, remember เอ็ด!)
162
+ - 99 → เก้าสิบเก้า (9×10 + 9)
163
+
164
+ **Explanation:** The pattern is [tens word] + สิบ + [ones word]. For numbers ending in 1, use เอ็ด instead of หนึ่ง.
165
+
166
+ :::
167
+
168
+ :::exercise{id="numbers-2-common-mistakes" type="multiple-choice" title="Common Mistakes"}
169
+
170
+ **Question:** Which is the correct way to say 21 in Thai?
171
+
172
+ **Options:**
173
+ - ยี่สิบหนึ่ง
174
+ - ยี่สิบเอ็ด
175
+ - สองสิบเอ็ด
176
+ - ยี่สิบยี่
177
+
178
+ **Answer:** 2
179
+
180
+ **Explanation:** 21 is ยี่สิบเอ็ด. Remember: (1) 20 uses ยี่สิบ (not สองสิบ), and (2) หนึ่ง becomes เอ็ด in compounds. So ยี่สิบ + เอ็ด = ยี่สิบเอ็ด.
181
+
182
+ :::
183
+
184
+ ## What's Next
185
+
186
+ In Lesson 3, you'll learn large numbers — hundreds, thousands, and millions — including how Thai groups numbers differently than English.
187
+ `;
188
+ export {
189
+ n as default
190
+ };
191
+ //# sourceMappingURL=lesson-02-Bm9EJuN8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-02-Bm9EJuN8.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 objectives:\\n - \\\"Count from 1 to 100 fluently\\\"\\n - \\\"Understand the special rule for 11-19\\\"\\n - \\\"Know why 20 uses ยี่ instead of สอง\\\"\\n - \\\"Form any two-digit number correctly\\\"\\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\\\"}\\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\\\"}\\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\\\"}\\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;"}
@@ -0,0 +1,110 @@
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
+ objectives:
18
+ - "Form yes/no questions"
19
+ - "Use question words"
20
+ - "Understand question intonation"
21
+ ---
22
+
23
+ # บทที่ 2 (Lesson 2) — Questions
24
+
25
+ ## Introduction
26
+
27
+ Thai has two main question types: **yes/no questions** (add ไหม at the end) and **wh-questions** (use question words).
28
+
29
+ ## Yes/No Questions: Add ไหม (mái)
30
+
31
+ Simply add **ไหม** at the end of a statement:
32
+
33
+ | Statement | Question |
34
+ |-----------|----------|
35
+ | คุณกินข้าว (you eat rice) | คุณกินข้าวไหม? (Do you eat rice?) |
36
+ | เขาไปตลาด (he goes to market) | เขาไปตลาดไหม? (Does he go to market?) |
37
+ | มีห้องว่าง (there's a room) | มีห้องว่างไหม? (Is there a room?) |
38
+
39
+ ## Answering Yes/No Questions
40
+
41
+ | Response | Meaning |
42
+ |----------|---------|
43
+ | ครับ/ค่ะ | Yes (polite) |
44
+ | ใช่ (châi) | Yes/correct |
45
+ | ไม่ (mâi) + verb | No (repeat verb with ไม่) |
46
+ | ไม่ครับ/ค่ะ | No (polite) |
47
+
48
+ Example:
49
+ - Q: คุณชอบอาหารไทยไหม? (Do you like Thai food?)
50
+ - A: ชอบครับ (Yes, I like it) or ไม่ชอบครับ (No, I don't like it)
51
+
52
+ ## Question Words
53
+
54
+ | Thai | Romanization | Meaning |
55
+ |------|--------------|---------|
56
+ | อะไร | à-rai | what |
57
+ | ใคร | khrai | who |
58
+ | ที่ไหน | thîi-nǎi | where |
59
+ | เมื่อไหร่ | mûuea-rài | when |
60
+ | ทำไม | tham-mai | why |
61
+ | อย่างไร/ยังไง | yàang-rai/yang-ngai | how |
62
+ | เท่าไหร่ | thâo-rài | how much |
63
+ | กี่ | gìi | how many |
64
+
65
+ ## Question Word Placement
66
+
67
+ Question words go **where the answer would go**:
68
+
69
+ | Question | Answer |
70
+ |----------|--------|
71
+ | คุณกินอะไร? (What do you eat?) | ผมกินข้าว (I eat rice) |
72
+ | ใครมา? (Who came?) | เพื่อนมา (A friend came) |
73
+ | คุณไปที่ไหน? (Where do you go?) | ผมไปตลาด (I go to market) |
74
+ | นี่อะไร? (What is this?) | นี่หนังสือ (This is a book) |
75
+
76
+ ## Common Question Patterns
77
+
78
+ | Pattern | Example | Meaning |
79
+ |---------|---------|---------|
80
+ | ...อะไร? | ชื่ออะไร? | What is (your) name? |
81
+ | ...ที่ไหน? | ห้องน้ำอยู่ที่ไหน? | Where is the bathroom? |
82
+ | ...เท่าไหร่? | ราคาเท่าไหร่? | How much (is the price)? |
83
+ | กี่...? | กี่โมง? | What time? (How many hours?) |
84
+ | ...หรือเปล่า? | ร้อนหรือเปล่า? | Is it hot? |
85
+
86
+ ## Alternative: หรือเปล่า (rǔue bplào)
87
+
88
+ Another way to ask yes/no questions:
89
+
90
+ | With ไหม | With หรือเปล่า |
91
+ |----------|----------------|
92
+ | คุณหิวไหม? | คุณหิวหรือเปล่า? |
93
+
94
+ Both mean "Are you hungry?" but หรือเปล่า sounds slightly softer.
95
+
96
+ ## Key Points
97
+
98
+ 1. **ไหม at the end** makes any statement a yes/no question
99
+ 2. **Answer by repeating the verb** (with or without ไม่)
100
+ 3. **Question words** replace the unknown information
101
+ 4. **No subject-verb inversion** like in English
102
+
103
+ ## What's Next
104
+
105
+ 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).
106
+ `;
107
+ export {
108
+ n as default
109
+ };
110
+ //# sourceMappingURL=lesson-02-C0ZL4z3c.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-02-C0ZL4z3c.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 objectives:\\n - \\\"Form yes/no questions\\\"\\n - \\\"Use question words\\\"\\n - \\\"Understand question intonation\\\"\\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;"}
@@ -0,0 +1,161 @@
1
+ const n = `---
2
+ type: lesson
3
+ id: thai-travel-lesson-02
4
+ title: "บทที่ 2 — ทิศทาง"
5
+ description: "Directions: Navigate and give directions in Thai"
6
+ order: 2
7
+ parentId: thai-vocab-travel
8
+ difficulty: beginner
9
+ cefrLevel: A2
10
+ categories:
11
+ - travel
12
+ - directions
13
+ metadata:
14
+ estimatedTime: 25
15
+ prerequisites:
16
+ - thai-travel-lesson-01
17
+ objectives:
18
+ - "Give and understand basic directions"
19
+ - "Ask where places are"
20
+ - "Describe relative positions"
21
+ - "Use distance vocabulary"
22
+ ---
23
+
24
+ # บทที่ 2 (Lesson 2) — Directions
25
+
26
+ ## Introduction
27
+
28
+ Knowing direction words transforms you from a lost tourist into a confident navigator. These are some of the most useful words in daily Thai life.
29
+
30
+ ## Basic Directions
31
+
32
+ :::vocabulary-set{id="thai-directions" title="Direction Words"}
33
+
34
+ ::vocab-item{id="sai" word="ซ้าย" pronunciation="sáai" meaning="left"}
35
+
36
+ ::vocab-item{id="kwaa" word="ขวา" pronunciation="khwǎa" meaning="right"}
37
+
38
+ ::vocab-item{id="trong-pai" word="ตรงไป" pronunciation="dtrong bpai" meaning="straight ahead"}
39
+
40
+ ::vocab-item{id="liaw" word="เลี้ยว" pronunciation="líao" meaning="turn"}
41
+
42
+ ::vocab-item{id="klap" word="กลับ" pronunciation="glàp" meaning="turn around/go back"}
43
+
44
+ :::
45
+
46
+ ## Distance & Position
47
+
48
+ :::vocabulary-set{id="thai-distance" title="Distance & Position"}
49
+
50
+ ::vocab-item{id="glai" word="ใกล้" pronunciation="glâi" meaning="near/close"}
51
+
52
+ ::vocab-item{id="klai" word="ไกล" pronunciation="glai" meaning="far"}
53
+
54
+ ::vocab-item{id="trong-khaam" word="ตรงข้าม" pronunciation="dtrong khâam" meaning="opposite/across from"}
55
+
56
+ ::vocab-item{id="khaang" word="ข้าง" pronunciation="khâang" meaning="beside/next to"}
57
+
58
+ ::vocab-item{id="rawang" word="ระหว่าง" pronunciation="rá-wàang" meaning="between"}
59
+
60
+ :::
61
+
62
+ ## Direction Phrases
63
+
64
+ | Thai | Meaning |
65
+ |------|---------|
66
+ | เลี้ยวซ้าย | Turn left |
67
+ | เลี้ยวขวา | Turn right |
68
+ | ตรงไปเรื่อยๆ | Keep going straight |
69
+ | อยู่ข้างซ้าย | It's on the left |
70
+ | อยู่ตรงข้าม | It's across from |
71
+ | ไกลไหม | Is it far? |
72
+ | ใกล้มาก | Very close |
73
+
74
+ ## Asking Directions
75
+
76
+ | Question | Meaning |
77
+ |----------|---------|
78
+ | ...อยู่ที่ไหนครับ | Where is...? |
79
+ | ไปยังไงครับ | How do I get there? |
80
+ | เดินไปได้ไหม | Can I walk there? |
81
+ | ใช้เวลานานไหม | Does it take long? |
82
+
83
+ ## Sample Conversation
84
+
85
+ **Finding a place:**
86
+ - คุณ: ขอโทษครับ วัดพระแก้วอยู่ที่ไหนครับ (Excuse me, where is Wat Phra Kaew?)
87
+ - คนไทย: ตรงไปแล้วเลี้ยวซ้ายครับ ใกล้ๆ นี่เอง (Go straight then turn left. It's nearby)
88
+ - คุณ: ไกลไหมครับ (Is it far?)
89
+ - คนไทย: ไม่ไกลครับ เดินห้านาที (Not far. Five minutes walking)
90
+
91
+ ## Key Points
92
+
93
+ 1. **เลี้ยว + direction**: "Turn" + left/right
94
+ 2. **ใกล้ vs ไกล**: Near vs far (tones matter!)
95
+ 3. **อยู่ที่ไหน**: Essential question for finding anything
96
+ 4. **ตรงข้าม**: Use with landmarks (ตรงข้ามเซเว่น = opposite 7-Eleven)
97
+
98
+ ## Practice Exercises
99
+
100
+ :::exercise{id="travel-2-basic-directions" type="matching" title="Basic Direction Recognition"}
101
+
102
+ **Question:** Match each direction to its Thai word
103
+
104
+ - Left
105
+ - Right
106
+ - Straight ahead
107
+ - Turn around
108
+
109
+ **Answer:**
110
+
111
+ - Left → ซ้าย
112
+ - Right → ขวา
113
+ - Straight ahead → ตรงไป
114
+ - Turn around → กลับ
115
+
116
+ **Explanation:** These are the four basic directions. Remember: ซ้าย (left) and ขวา (right) have different tones - ซ้าย is falling, ขวา is rising. This matters for understanding!
117
+
118
+ :::
119
+
120
+ :::exercise{id="travel-2-distance" type="multiple-choice" title="Distance Vocabulary"}
121
+
122
+ **Question:** What's the difference between ใกล้ and ไกล?
123
+
124
+ **Options:**
125
+ - ใกล้ means "near", ไกล means "far" - different tones
126
+ - They mean the same thing
127
+ - ใกล้ means "far", ไกล means "near"
128
+ - They're different words for the same concept
129
+
130
+ **Answer:** 1
131
+
132
+ **Explanation:** ใกล้ (glâi - falling tone) means "near/close", while ไกล (glai - mid tone) means "far". The tones are different, so listen carefully! This is a common confusion for learners.
133
+
134
+ :::
135
+
136
+ :::exercise{id="travel-2-asking-directions" type="fill-in-blank" title="Asking for Directions"}
137
+
138
+ **Question:** How do you ask these questions?
139
+
140
+ - Where is the bathroom?
141
+ - How do I get there?
142
+ - Can I walk there?
143
+
144
+ **Answer:**
145
+
146
+ - ห้องน้ำอยู่ที่ไหนครับ/คะ (Where is the bathroom?)
147
+ - ไปยังไงครับ/คะ (How do I get there?)
148
+ - เดินไปได้ไหมครับ/คะ (Can I walk there?)
149
+
150
+ **Explanation:** ...อยู่ที่ไหน is the standard "where is..." pattern. ไปยังไง means "how to go". เดินไปได้ไหม asks about walking ability. Always add polite particles!
151
+
152
+ :::
153
+
154
+ ## What's Next
155
+
156
+ In Lesson 3, you'll learn the names of key places you'll want to find.
157
+ `;
158
+ export {
159
+ n as default
160
+ };
161
+ //# sourceMappingURL=lesson-02-C2ALLvoT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-02-C2ALLvoT.js","sources":["../src/syllabi/travel/lessons/lesson-02.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-travel-lesson-02\\ntitle: \\\"บทที่ 2 — ทิศทาง\\\"\\ndescription: \\\"Directions: Navigate and give directions in Thai\\\"\\norder: 2\\nparentId: thai-vocab-travel\\ndifficulty: beginner\\ncefrLevel: A2\\ncategories:\\n - travel\\n - directions\\nmetadata:\\n estimatedTime: 25\\n prerequisites:\\n - thai-travel-lesson-01\\n objectives:\\n - \\\"Give and understand basic directions\\\"\\n - \\\"Ask where places are\\\"\\n - \\\"Describe relative positions\\\"\\n - \\\"Use distance vocabulary\\\"\\n---\\n\\n# บทที่ 2 (Lesson 2) — Directions\\n\\n## Introduction\\n\\nKnowing direction words transforms you from a lost tourist into a confident navigator. These are some of the most useful words in daily Thai life.\\n\\n## Basic Directions\\n\\n:::vocabulary-set{id=\\\"thai-directions\\\" title=\\\"Direction Words\\\"}\\n\\n::vocab-item{id=\\\"sai\\\" word=\\\"ซ้าย\\\" pronunciation=\\\"sáai\\\" meaning=\\\"left\\\"}\\n\\n::vocab-item{id=\\\"kwaa\\\" word=\\\"ขวา\\\" pronunciation=\\\"khwǎa\\\" meaning=\\\"right\\\"}\\n\\n::vocab-item{id=\\\"trong-pai\\\" word=\\\"ตรงไป\\\" pronunciation=\\\"dtrong bpai\\\" meaning=\\\"straight ahead\\\"}\\n\\n::vocab-item{id=\\\"liaw\\\" word=\\\"เลี้ยว\\\" pronunciation=\\\"líao\\\" meaning=\\\"turn\\\"}\\n\\n::vocab-item{id=\\\"klap\\\" word=\\\"กลับ\\\" pronunciation=\\\"glàp\\\" meaning=\\\"turn around/go back\\\"}\\n\\n:::\\n\\n## Distance & Position\\n\\n:::vocabulary-set{id=\\\"thai-distance\\\" title=\\\"Distance & Position\\\"}\\n\\n::vocab-item{id=\\\"glai\\\" word=\\\"ใกล้\\\" pronunciation=\\\"glâi\\\" meaning=\\\"near/close\\\"}\\n\\n::vocab-item{id=\\\"klai\\\" word=\\\"ไกล\\\" pronunciation=\\\"glai\\\" meaning=\\\"far\\\"}\\n\\n::vocab-item{id=\\\"trong-khaam\\\" word=\\\"ตรงข้าม\\\" pronunciation=\\\"dtrong khâam\\\" meaning=\\\"opposite/across from\\\"}\\n\\n::vocab-item{id=\\\"khaang\\\" word=\\\"ข้าง\\\" pronunciation=\\\"khâang\\\" meaning=\\\"beside/next to\\\"}\\n\\n::vocab-item{id=\\\"rawang\\\" word=\\\"ระหว่าง\\\" pronunciation=\\\"rá-wàang\\\" meaning=\\\"between\\\"}\\n\\n:::\\n\\n## Direction Phrases\\n\\n| Thai | Meaning |\\n|------|---------|\\n| เลี้ยวซ้าย | Turn left |\\n| เลี้ยวขวา | Turn right |\\n| ตรงไปเรื่อยๆ | Keep going straight |\\n| อยู่ข้างซ้าย | It's on the left |\\n| อยู่ตรงข้าม | It's across from |\\n| ไกลไหม | Is it far? |\\n| ใกล้มาก | Very close |\\n\\n## Asking Directions\\n\\n| Question | Meaning |\\n|----------|---------|\\n| ...อยู่ที่ไหนครับ | Where is...? |\\n| ไปยังไงครับ | How do I get there? |\\n| เดินไปได้ไหม | Can I walk there? |\\n| ใช้เวลานานไหม | Does it take long? |\\n\\n## Sample Conversation\\n\\n**Finding a place:**\\n- คุณ: ขอโทษครับ วัดพระแก้วอยู่ที่ไหนครับ (Excuse me, where is Wat Phra Kaew?)\\n- คนไทย: ตรงไปแล้วเลี้ยวซ้ายครับ ใกล้ๆ นี่เอง (Go straight then turn left. It's nearby)\\n- คุณ: ไกลไหมครับ (Is it far?)\\n- คนไทย: ไม่ไกลครับ เดินห้านาที (Not far. Five minutes walking)\\n\\n## Key Points\\n\\n1. **เลี้ยว + direction**: \\\"Turn\\\" + left/right\\n2. **ใกล้ vs ไกล**: Near vs far (tones matter!)\\n3. **อยู่ที่ไหน**: Essential question for finding anything\\n4. **ตรงข้าม**: Use with landmarks (ตรงข้ามเซเว่น = opposite 7-Eleven)\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"travel-2-basic-directions\\\" type=\\\"matching\\\" title=\\\"Basic Direction Recognition\\\"}\\n\\n**Question:** Match each direction to its Thai word\\n\\n- Left\\n- Right\\n- Straight ahead\\n- Turn around\\n\\n**Answer:**\\n\\n- Left → ซ้าย\\n- Right → ขวา\\n- Straight ahead → ตรงไป\\n- Turn around → กลับ\\n\\n**Explanation:** These are the four basic directions. Remember: ซ้าย (left) and ขวา (right) have different tones - ซ้าย is falling, ขวา is rising. This matters for understanding!\\n\\n:::\\n\\n:::exercise{id=\\\"travel-2-distance\\\" type=\\\"multiple-choice\\\" title=\\\"Distance Vocabulary\\\"}\\n\\n**Question:** What's the difference between ใกล้ and ไกล?\\n\\n**Options:**\\n- ใกล้ means \\\"near\\\", ไกล means \\\"far\\\" - different tones\\n- They mean the same thing\\n- ใกล้ means \\\"far\\\", ไกล means \\\"near\\\"\\n- They're different words for the same concept\\n\\n**Answer:** 1\\n\\n**Explanation:** ใกล้ (glâi - falling tone) means \\\"near/close\\\", while ไกล (glai - mid tone) means \\\"far\\\". The tones are different, so listen carefully! This is a common confusion for learners.\\n\\n:::\\n\\n:::exercise{id=\\\"travel-2-asking-directions\\\" type=\\\"fill-in-blank\\\" title=\\\"Asking for Directions\\\"}\\n\\n**Question:** How do you ask these questions?\\n\\n- Where is the bathroom?\\n- How do I get there?\\n- Can I walk there?\\n\\n**Answer:**\\n\\n- ห้องน้ำอยู่ที่ไหนครับ/คะ (Where is the bathroom?)\\n- ไปยังไงครับ/คะ (How do I get there?)\\n- เดินไปได้ไหมครับ/คะ (Can I walk there?)\\n\\n**Explanation:** ...อยู่ที่ไหน is the standard \\\"where is...\\\" pattern. ไปยังไง means \\\"how to go\\\". เดินไปได้ไหม asks about walking ability. Always add polite particles!\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 3, you'll learn the names of key places you'll want to find.\\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;"}
@@ -0,0 +1,112 @@
1
+ const n = `---
2
+ type: lesson
3
+ id: thai-dialogue-lesson-02
4
+ title: "บทที่ 2 — ที่ร้านอาหาร"
5
+ description: "At the Restaurant: Ordering food and making special requests"
6
+ order: 2
7
+ parentId: thai-dialogue
8
+ difficulty: intermediate
9
+ cefrLevel: A2
10
+ categories:
11
+ - dialogue
12
+ - restaurant
13
+ - food
14
+ metadata:
15
+ estimatedTime: 30
16
+ prerequisites:
17
+ - thai-dialogue-lesson-01
18
+ objectives:
19
+ - "Order food at a restaurant"
20
+ - "Make special dietary requests"
21
+ - "Ask for the bill"
22
+ - "Handle common restaurant situations"
23
+ ---
24
+
25
+ # บทที่ 2 (Lesson 2) — At the Restaurant
26
+
27
+ ## Situation
28
+
29
+ You're at a Thai restaurant ordering lunch.
30
+
31
+ ## Dialogue
32
+
33
+ :::dialogue{id="restaurant-dialogue-1" title="Ordering Lunch"}
34
+
35
+ **พนักงาน (Server):** สวัสดีค่ะ สั่งอะไรดีคะ?
36
+ *sà-wàt-dii khâ, sàng à-rai dii khá?*
37
+ Hello! What would you like to order?
38
+
39
+ **คุณ (You):** ขอผัดไทยหนึ่งจานครับ/ค่ะ ไม่เผ็ดได้ไหม?
40
+ *khǎaw phàt-thai nùeng jaan khráp/khâ, mâi phèt dâai mái?*
41
+ I'd like one pad thai please. Can it be not spicy?
42
+
43
+ **พนักงาน:** ได้ค่ะ ไม่เผ็ดเลยหรือเผ็ดนิดหน่อย?
44
+ *dâai khâ, mâi phèt ləəi rǔue phèt nít-nàwy?*
45
+ Sure. Not spicy at all, or a little bit spicy?
46
+
47
+ **คุณ:** ไม่เผ็ดเลยครับ/ค่ะ
48
+ *mâi phèt ləəi khráp/khâ*
49
+ Not spicy at all.
50
+
51
+ **พนักงาน:** ค่ะ รับเครื่องดื่มอะไรไหมคะ?
52
+ *khâ, ráp khrûueang-dùuem à-rai mái khá?*
53
+ Would you like any drinks?
54
+
55
+ **คุณ:** ขอน้ำเปล่าแก้วหนึ่งครับ/ค่ะ
56
+ *khǎaw náam-bplào gâew nùeng khráp/khâ*
57
+ One glass of water, please.
58
+
59
+ *[After eating]*
60
+
61
+ **คุณ:** เก็บเงินด้วยครับ/ค่ะ
62
+ *gèp ngəən dûuay khráp/khâ*
63
+ Check please.
64
+
65
+ **พนักงาน:** ค่ะ ทั้งหมด 80 บาทค่ะ
66
+ *khâ, tháng-mòt bpàet-sìp bàat khâ*
67
+ That's 80 baht total.
68
+
69
+ :::
70
+
71
+ ## Key Phrases
72
+
73
+ | Thai | Romanization | Meaning |
74
+ |------|--------------|---------|
75
+ | ขอ...หนึ่งจาน | khǎaw...nùeng jaan | I'd like one plate of... |
76
+ | สั่งอะไรดี? | sàng à-rai dii? | What would you like to order? |
77
+ | ไม่เผ็ด | mâi phèt | not spicy |
78
+ | เผ็ดนิดหน่อย | phèt nít-nàwy | a little spicy |
79
+ | เผ็ดมาก | phèt mâak | very spicy |
80
+ | เก็บเงินด้วย | gèp ngəən dûuay | Check please |
81
+ | ทั้งหมด | tháng-mòt | total/altogether |
82
+
83
+ ## Spice Levels
84
+
85
+ | Thai | Level |
86
+ |------|-------|
87
+ | ไม่เผ็ดเลย | Not spicy at all |
88
+ | เผ็ดนิดหน่อย | A little spicy |
89
+ | เผ็ดปกติ | Normal spicy |
90
+ | เผ็ดมาก | Very spicy |
91
+
92
+ ## Special Requests
93
+
94
+ | Request | Thai |
95
+ |---------|------|
96
+ | No MSG | ไม่ใส่ผงชูรส (mâi sài phǒng-chuu-rót) |
97
+ | No peanuts | ไม่ใส่ถั่ว (mâi sài thùa) |
98
+ | No meat | ไม่ใส่เนื้อสัตว์ (mâi sài núea-sàt) |
99
+ | Vegetarian | มังสวิรัติ (mang-sà-wí-rát) or เจ (jay) |
100
+
101
+ ## Cultural Note
102
+
103
+ In Thai restaurants, you don't tip at street food stalls, but 10% is appreciated at nicer restaurants. "เก็บเงิน" (check please) is more common than asking for "บิล" (bill).
104
+
105
+ ## What's Next
106
+
107
+ In Lesson 3, you'll learn dialogues for shopping — bargaining, asking about products, and handling transactions at markets and stores.
108
+ `;
109
+ export {
110
+ n as default
111
+ };
112
+ //# sourceMappingURL=lesson-02-C8dfzXvq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-02-C8dfzXvq.js","sources":["../src/syllabi/dialogue/lessons/lesson-02.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-dialogue-lesson-02\\ntitle: \\\"บทที่ 2 — ที่ร้านอาหาร\\\"\\ndescription: \\\"At the Restaurant: Ordering food and making special requests\\\"\\norder: 2\\nparentId: thai-dialogue\\ndifficulty: intermediate\\ncefrLevel: A2\\ncategories:\\n - dialogue\\n - restaurant\\n - food\\nmetadata:\\n estimatedTime: 30\\n prerequisites:\\n - thai-dialogue-lesson-01\\n objectives:\\n - \\\"Order food at a restaurant\\\"\\n - \\\"Make special dietary requests\\\"\\n - \\\"Ask for the bill\\\"\\n - \\\"Handle common restaurant situations\\\"\\n---\\n\\n# บทที่ 2 (Lesson 2) — At the Restaurant\\n\\n## Situation\\n\\nYou're at a Thai restaurant ordering lunch.\\n\\n## Dialogue\\n\\n:::dialogue{id=\\\"restaurant-dialogue-1\\\" title=\\\"Ordering Lunch\\\"}\\n\\n**พนักงาน (Server):** สวัสดีค่ะ สั่งอะไรดีคะ?\\n*sà-wàt-dii khâ, sàng à-rai dii khá?*\\nHello! What would you like to order?\\n\\n**คุณ (You):** ขอผัดไทยหนึ่งจานครับ/ค่ะ ไม่เผ็ดได้ไหม?\\n*khǎaw phàt-thai nùeng jaan khráp/khâ, mâi phèt dâai mái?*\\nI'd like one pad thai please. Can it be not spicy?\\n\\n**พนักงาน:** ได้ค่ะ ไม่เผ็ดเลยหรือเผ็ดนิดหน่อย?\\n*dâai khâ, mâi phèt ləəi rǔue phèt nít-nàwy?*\\nSure. Not spicy at all, or a little bit spicy?\\n\\n**คุณ:** ไม่เผ็ดเลยครับ/ค่ะ\\n*mâi phèt ləəi khráp/khâ*\\nNot spicy at all.\\n\\n**พนักงาน:** ค่ะ รับเครื่องดื่มอะไรไหมคะ?\\n*khâ, ráp khrûueang-dùuem à-rai mái khá?*\\nWould you like any drinks?\\n\\n**คุณ:** ขอน้ำเปล่าแก้วหนึ่งครับ/ค่ะ\\n*khǎaw náam-bplào gâew nùeng khráp/khâ*\\nOne glass of water, please.\\n\\n*[After eating]*\\n\\n**คุณ:** เก็บเงินด้วยครับ/ค่ะ\\n*gèp ngəən dûuay khráp/khâ*\\nCheck please.\\n\\n**พนักงาน:** ค่ะ ทั้งหมด 80 บาทค่ะ\\n*khâ, tháng-mòt bpàet-sìp bàat khâ*\\nThat's 80 baht total.\\n\\n:::\\n\\n## Key Phrases\\n\\n| Thai | Romanization | Meaning |\\n|------|--------------|---------|\\n| ขอ...หนึ่งจาน | khǎaw...nùeng jaan | I'd like one plate of... |\\n| สั่งอะไรดี? | sàng à-rai dii? | What would you like to order? |\\n| ไม่เผ็ด | mâi phèt | not spicy |\\n| เผ็ดนิดหน่อย | phèt nít-nàwy | a little spicy |\\n| เผ็ดมาก | phèt mâak | very spicy |\\n| เก็บเงินด้วย | gèp ngəən dûuay | Check please |\\n| ทั้งหมด | tháng-mòt | total/altogether |\\n\\n## Spice Levels\\n\\n| Thai | Level |\\n|------|-------|\\n| ไม่เผ็ดเลย | Not spicy at all |\\n| เผ็ดนิดหน่อย | A little spicy |\\n| เผ็ดปกติ | Normal spicy |\\n| เผ็ดมาก | Very spicy |\\n\\n## Special Requests\\n\\n| Request | Thai |\\n|---------|------|\\n| No MSG | ไม่ใส่ผงชูรส (mâi sài phǒng-chuu-rót) |\\n| No peanuts | ไม่ใส่ถั่ว (mâi sài thùa) |\\n| No meat | ไม่ใส่เนื้อสัตว์ (mâi sài núea-sàt) |\\n| Vegetarian | มังสวิรัติ (mang-sà-wí-rát) or เจ (jay) |\\n\\n## Cultural Note\\n\\nIn Thai restaurants, you don't tip at street food stalls, but 10% is appreciated at nicer restaurants. \\\"เก็บเงิน\\\" (check please) is more common than asking for \\\"บิล\\\" (bill).\\n\\n## What's Next\\n\\nIn Lesson 3, you'll learn dialogues for shopping — bargaining, asking about products, and handling transactions at markets and stores.\\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;"}