@syllst/th 0.1.2 → 0.2.0

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 (330) hide show
  1. package/dist/{index-of_athp-.js → index-4uNMctdq.js} +13 -13
  2. package/dist/{index-of_athp-.js.map → index-4uNMctdq.js.map} +1 -1
  3. package/dist/{index-Dy38Hmlm.js → index-BM-LWlCm.js} +10 -10
  4. package/dist/{index-Dy38Hmlm.js.map → index-BM-LWlCm.js.map} +1 -1
  5. package/dist/{index-CTQ45BVw.js → index-Bjym0crS.js} +8 -8
  6. package/dist/{index-CTQ45BVw.js.map → index-Bjym0crS.js.map} +1 -1
  7. package/dist/{index-B029m98V.js → index-BuKXw7-Z.js} +7 -7
  8. package/dist/{index-B029m98V.js.map → index-BuKXw7-Z.js.map} +1 -1
  9. package/dist/{index-CoqP9GZL.js → index-ByS0o5dz.js} +10 -10
  10. package/dist/{index-CoqP9GZL.js.map → index-ByS0o5dz.js.map} +1 -1
  11. package/dist/{index-BCA5Llwg.js → index-C9VnG7dT.js} +10 -10
  12. package/dist/{index-BCA5Llwg.js.map → index-C9VnG7dT.js.map} +1 -1
  13. package/dist/{index-vuRo2mLK.js → index-CPQkjFjV.js} +9 -9
  14. package/dist/{index-vuRo2mLK.js.map → index-CPQkjFjV.js.map} +1 -1
  15. package/dist/{index-BFcg5D_W.js → index-CkHd3Fal.js} +12 -12
  16. package/dist/{index-BFcg5D_W.js.map → index-CkHd3Fal.js.map} +1 -1
  17. package/dist/{index-CB8M6CK6.js → index-DBkPBXe2.js} +10 -10
  18. package/dist/{index-CB8M6CK6.js.map → index-DBkPBXe2.js.map} +1 -1
  19. package/dist/index.d.ts +1 -1
  20. package/dist/index.js +18 -18
  21. package/dist/{lesson-01--9NOyHZ6.js → lesson-01-B0wtSaSl.js} +21 -9
  22. package/dist/lesson-01-B0wtSaSl.js.map +1 -0
  23. package/dist/{lesson-01-97FtYE6g.js → lesson-01-C9vbUlA4.js} +14 -6
  24. package/dist/lesson-01-C9vbUlA4.js.map +1 -0
  25. package/dist/{lesson-01-CF4tJfZ3.js → lesson-01-CPmBFTe0.js} +28 -16
  26. package/dist/lesson-01-CPmBFTe0.js.map +1 -0
  27. package/dist/{lesson-01-3hBted4A.js → lesson-01-Cc4Ws8eR.js} +25 -14
  28. package/dist/lesson-01-Cc4Ws8eR.js.map +1 -0
  29. package/dist/{lesson-01-BYKAZiua.js → lesson-01-Cm5k-m-9.js} +14 -8
  30. package/dist/lesson-01-Cm5k-m-9.js.map +1 -0
  31. package/dist/{lesson-01-WV3ic8Ok.js → lesson-01-DELblCNj.js} +11 -5
  32. package/dist/lesson-01-DELblCNj.js.map +1 -0
  33. package/dist/{lesson-01-CRx-yw4C.js → lesson-01-Djl_72e7.js} +14 -6
  34. package/dist/lesson-01-Djl_72e7.js.map +1 -0
  35. package/dist/{lesson-01-BhjY6ArF.js → lesson-01-LEHTeGQQ.js} +17 -9
  36. package/dist/lesson-01-LEHTeGQQ.js.map +1 -0
  37. package/dist/{lesson-01-BNdHXAGR.js → lesson-01-ih_-OO_O.js} +14 -6
  38. package/dist/lesson-01-ih_-OO_O.js.map +1 -0
  39. package/dist/{lesson-02-C8dfzXvq.js → lesson-02-B2aZrKUQ.js} +14 -6
  40. package/dist/lesson-02-B2aZrKUQ.js.map +1 -0
  41. package/dist/{lesson-02-C2ALLvoT.js → lesson-02-BI1Vnwiz.js} +17 -9
  42. package/dist/lesson-02-BI1Vnwiz.js.map +1 -0
  43. package/dist/{lesson-02-BGnp0Ik_.js → lesson-02-BXbwEMaL.js} +27 -15
  44. package/dist/lesson-02-BXbwEMaL.js.map +1 -0
  45. package/dist/{lesson-02-BAbq-QGP.js → lesson-02-CbJJ5Amt.js} +24 -14
  46. package/dist/lesson-02-CbJJ5Amt.js.map +1 -0
  47. package/dist/{lesson-02-Bm9EJuN8.js → lesson-02-DGrALAgG.js} +21 -9
  48. package/dist/lesson-02-DGrALAgG.js.map +1 -0
  49. package/dist/{lesson-02-C0ZL4z3c.js → lesson-02-DcMDDBDL.js} +11 -5
  50. package/dist/lesson-02-DcMDDBDL.js.map +1 -0
  51. package/dist/{lesson-02-B2Xg7RVU.js → lesson-02-Dk59HZWp.js} +17 -9
  52. package/dist/lesson-02-Dk59HZWp.js.map +1 -0
  53. package/dist/{lesson-02-BO3BXPMJ.js → lesson-02-L8oNhBej.js} +14 -8
  54. package/dist/lesson-02-L8oNhBej.js.map +1 -0
  55. package/dist/{lesson-02-CsejVbCo.js → lesson-02-VDOme3ES.js} +17 -9
  56. package/dist/lesson-02-VDOme3ES.js.map +1 -0
  57. package/dist/{lesson-03-DV2SUWVH.js → lesson-03-9WioSe19.js} +21 -9
  58. package/dist/lesson-03-9WioSe19.js.map +1 -0
  59. package/dist/{lesson-03-DiV17_Os.js → lesson-03-BZutWzMD.js} +14 -6
  60. package/dist/lesson-03-BZutWzMD.js.map +1 -0
  61. package/dist/{lesson-03-Xc8-2Yt3.js → lesson-03-CSIF5xRS.js} +14 -8
  62. package/dist/lesson-03-CSIF5xRS.js.map +1 -0
  63. package/dist/{lesson-03-DrJgbfDQ.js → lesson-03-CSKig363.js} +17 -9
  64. package/dist/lesson-03-CSKig363.js.map +1 -0
  65. package/dist/{lesson-03-XVahXvgf.js → lesson-03-CoDPKwa1.js} +21 -14
  66. package/dist/lesson-03-CoDPKwa1.js.map +1 -0
  67. package/dist/{lesson-03-8NtAeqFh.js → lesson-03-DPJOG2M_.js} +14 -8
  68. package/dist/lesson-03-DPJOG2M_.js.map +1 -0
  69. package/dist/{lesson-03-CKTNtgY1.js → lesson-03-DkjCuJ26.js} +17 -9
  70. package/dist/lesson-03-DkjCuJ26.js.map +1 -0
  71. package/dist/{lesson-03-BdZfKRhq.js → lesson-03-DucbRMOQ.js} +17 -9
  72. package/dist/lesson-03-DucbRMOQ.js.map +1 -0
  73. package/dist/{lesson-03-D8va_Q9B.js → lesson-03-MIne1PbH.js} +26 -14
  74. package/dist/lesson-03-MIne1PbH.js.map +1 -0
  75. package/dist/{lesson-04-Dfc7S4nT.js → lesson-04-0Pj_x1DU.js} +17 -9
  76. package/dist/lesson-04-0Pj_x1DU.js.map +1 -0
  77. package/dist/{lesson-04-ZrSBM0BX.js → lesson-04-B9h0p9kE.js} +14 -8
  78. package/dist/lesson-04-B9h0p9kE.js.map +1 -0
  79. package/dist/{lesson-04-DEEPJ_rd.js → lesson-04-BLuPI1-X.js} +22 -13
  80. package/dist/lesson-04-BLuPI1-X.js.map +1 -0
  81. package/dist/{lesson-04-rapx_3vA.js → lesson-04-CmDvofL4.js} +17 -9
  82. package/dist/lesson-04-CmDvofL4.js.map +1 -0
  83. package/dist/{lesson-04-DtXVhdGB.js → lesson-04-DGKHK4LW.js} +17 -9
  84. package/dist/lesson-04-DGKHK4LW.js.map +1 -0
  85. package/dist/{lesson-04-CtNr2B3E.js → lesson-04-DUcHZzsk.js} +21 -9
  86. package/dist/lesson-04-DUcHZzsk.js.map +1 -0
  87. package/dist/{lesson-04-BpRrNmzO.js → lesson-04-DnVIXXk-.js} +14 -8
  88. package/dist/lesson-04-DnVIXXk-.js.map +1 -0
  89. package/dist/{lesson-04-ioLXnB0j.js → lesson-04-FZnIE7tu.js} +27 -15
  90. package/dist/lesson-04-FZnIE7tu.js.map +1 -0
  91. package/dist/{lesson-04-D__vMCyA.js → lesson-04-ToX3nRz1.js} +17 -9
  92. package/dist/lesson-04-ToX3nRz1.js.map +1 -0
  93. package/dist/{lesson-05-D_GdROUn.js → lesson-05-2aTCGXMh.js} +14 -8
  94. package/dist/lesson-05-2aTCGXMh.js.map +1 -0
  95. package/dist/{lesson-05-ip400cxe.js → lesson-05-BvitRdE8.js} +28 -16
  96. package/dist/lesson-05-BvitRdE8.js.map +1 -0
  97. package/dist/{lesson-05-D1d3kc3M.js → lesson-05-CgXGkcjS.js} +14 -8
  98. package/dist/lesson-05-CgXGkcjS.js.map +1 -0
  99. package/dist/{lesson-05-D2SVU-I0.js → lesson-05-ClfrUrvX.js} +17 -9
  100. package/dist/lesson-05-ClfrUrvX.js.map +1 -0
  101. package/dist/{lesson-05-CKxXcooO.js → lesson-05-D2zf9n7k.js} +23 -13
  102. package/dist/lesson-05-D2zf9n7k.js.map +1 -0
  103. package/dist/{lesson-05-DusKUtbm.js → lesson-05-DWquBfdl.js} +21 -9
  104. package/dist/lesson-05-DWquBfdl.js.map +1 -0
  105. package/dist/{lesson-05-Bm6fg-DJ.js → lesson-05-DpIkwhJ8.js} +17 -9
  106. package/dist/lesson-05-DpIkwhJ8.js.map +1 -0
  107. package/dist/{lesson-05-DBsHyFlt.js → lesson-05-UYz39ORV.js} +17 -9
  108. package/dist/lesson-05-UYz39ORV.js.map +1 -0
  109. package/dist/{lesson-05-DXOLS7G0.js → lesson-05-t6XuANiZ.js} +17 -9
  110. package/dist/lesson-05-t6XuANiZ.js.map +1 -0
  111. package/dist/{lesson-06-1ZsbrE1a.js → lesson-06-B2y08mKv.js} +17 -9
  112. package/dist/lesson-06-B2y08mKv.js.map +1 -0
  113. package/dist/{lesson-06-1CE05TRX.js → lesson-06-CHqaVQix.js} +16 -10
  114. package/dist/lesson-06-CHqaVQix.js.map +1 -0
  115. package/dist/{lesson-06-Bliedg7n.js → lesson-06-CaCZBX1V.js} +17 -9
  116. package/dist/lesson-06-CaCZBX1V.js.map +1 -0
  117. package/dist/{lesson-06-Du9J8sYl.js → lesson-06-ClplsJBT.js} +30 -18
  118. package/dist/lesson-06-ClplsJBT.js.map +1 -0
  119. package/dist/{lesson-06-BG26PBTF.js → lesson-06-CzGnNKo5.js} +14 -8
  120. package/dist/lesson-06-CzGnNKo5.js.map +1 -0
  121. package/dist/{lesson-06-CnKkcUb-.js → lesson-06-Dg_bQLNC.js} +17 -9
  122. package/dist/lesson-06-Dg_bQLNC.js.map +1 -0
  123. package/dist/{lesson-06-Aw-X-HMV.js → lesson-06-OWFMgO0a.js} +23 -14
  124. package/dist/lesson-06-OWFMgO0a.js.map +1 -0
  125. package/dist/{lesson-06-CvN9pDsE.js → lesson-06-Q2aRAzws.js} +17 -9
  126. package/dist/lesson-06-Q2aRAzws.js.map +1 -0
  127. package/dist/{lesson-07-DjCMCYkK.js → lesson-07-BLDUA_Ff.js} +17 -9
  128. package/dist/lesson-07-BLDUA_Ff.js.map +1 -0
  129. package/dist/{lesson-07-DezS1ojS.js → lesson-07-BpyF1Ssq.js} +27 -15
  130. package/dist/lesson-07-BpyF1Ssq.js.map +1 -0
  131. package/dist/{lesson-07-rvSSQiVh.js → lesson-07-C4GrfDTW.js} +25 -13
  132. package/dist/lesson-07-C4GrfDTW.js.map +1 -0
  133. package/dist/{lesson-07-CTFSd9gF.js → lesson-07-CVCUt1Jn.js} +14 -8
  134. package/dist/lesson-07-CVCUt1Jn.js.map +1 -0
  135. package/dist/{lesson-07-8zdPFyjE.js → lesson-07-DQFXCZsZ.js} +17 -9
  136. package/dist/lesson-07-DQFXCZsZ.js.map +1 -0
  137. package/dist/{lesson-07-X6anzbAn.js → lesson-07-Dcry2Yjo.js} +17 -9
  138. package/dist/lesson-07-Dcry2Yjo.js.map +1 -0
  139. package/dist/{lesson-07-B9bkJ3gP.js → lesson-07-JS_cqdNr.js} +14 -8
  140. package/dist/lesson-07-JS_cqdNr.js.map +1 -0
  141. package/dist/{lesson-08-CeDWopKc.js → lesson-08-18gscaS0.js} +25 -13
  142. package/dist/lesson-08-18gscaS0.js.map +1 -0
  143. package/dist/{lesson-08-Cyzy_VeP.js → lesson-08-2kBUq_B2.js} +14 -8
  144. package/dist/lesson-08-2kBUq_B2.js.map +1 -0
  145. package/dist/{lesson-08-BYfkPBkH.js → lesson-08-BP5lpiGe.js} +17 -9
  146. package/dist/lesson-08-BP5lpiGe.js.map +1 -0
  147. package/dist/{lesson-08-Bb_v_gD-.js → lesson-08-BXm9GgdN.js} +14 -8
  148. package/dist/lesson-08-BXm9GgdN.js.map +1 -0
  149. package/dist/{lesson-08-BqW5C_OE.js → lesson-08-Bru0PdEK.js} +21 -9
  150. package/dist/lesson-08-Bru0PdEK.js.map +1 -0
  151. package/dist/{lesson-08-hJlci9W5.js → lesson-08-Dd-8cbGW.js} +17 -9
  152. package/dist/lesson-08-Dd-8cbGW.js.map +1 -0
  153. package/dist/{lesson-09-DHRHZIc1.js → lesson-09-B1qWE3Yl.js} +27 -15
  154. package/dist/lesson-09-B1qWE3Yl.js.map +1 -0
  155. package/dist/{lesson-09-BQ1CZCjT.js → lesson-09-B5Vb70xj.js} +14 -8
  156. package/dist/lesson-09-B5Vb70xj.js.map +1 -0
  157. package/dist/{lesson-10-BdfkVT7s.js → lesson-10-00qNLc7A.js} +25 -13
  158. package/dist/lesson-10-00qNLc7A.js.map +1 -0
  159. package/dist/{lesson-10-C7YEQ8et.js → lesson-10-Dw-Jtm3D.js} +14 -8
  160. package/dist/lesson-10-Dw-Jtm3D.js.map +1 -0
  161. package/dist/{lesson-11-oJQ8ZxJk.js → lesson-11-BM3R_S7I.js} +25 -13
  162. package/dist/lesson-11-BM3R_S7I.js.map +1 -0
  163. package/dist/{lesson-12-D69m5ETy.js → lesson-12-D1Wx7CyK.js} +33 -21
  164. package/dist/lesson-12-D1Wx7CyK.js.map +1 -0
  165. package/dist/skills-hcn-pGD0.js +244 -0
  166. package/dist/skills-hcn-pGD0.js.map +1 -0
  167. package/dist/syllabi/alphabet/index.js +1 -1
  168. package/dist/syllabi/dialogue/index.d.ts +1 -1
  169. package/dist/syllabi/dialogue/index.js +2 -2
  170. package/dist/syllabi/essentials/index.d.ts +1 -1
  171. package/dist/syllabi/essentials/index.js +2 -2
  172. package/dist/syllabi/food/index.d.ts +1 -1
  173. package/dist/syllabi/food/index.js +2 -2
  174. package/dist/syllabi/grammar/index.d.ts +1 -1
  175. package/dist/syllabi/grammar/index.js +2 -2
  176. package/dist/syllabi/numbers/index.d.ts +1 -1
  177. package/dist/syllabi/numbers/index.js +2 -2
  178. package/dist/syllabi/reading/index.d.ts +1 -1
  179. package/dist/syllabi/reading/index.js +2 -2
  180. package/dist/syllabi/travel/index.d.ts +1 -1
  181. package/dist/syllabi/travel/index.js +2 -2
  182. package/dist/syllabi/vowels-tones/index.d.ts +1 -1
  183. package/dist/syllabi/vowels-tones/index.js +2 -2
  184. package/package.json +10 -7
  185. package/src/syllabi/alphabet/lessons/lesson-01.mdx +24 -13
  186. package/src/syllabi/alphabet/lessons/lesson-02.mdx +23 -13
  187. package/src/syllabi/alphabet/lessons/lesson-03.mdx +20 -13
  188. package/src/syllabi/alphabet/lessons/lesson-04.mdx +21 -12
  189. package/src/syllabi/alphabet/lessons/lesson-05.mdx +22 -12
  190. package/src/syllabi/alphabet/lessons/lesson-06.mdx +22 -13
  191. package/src/syllabi/alphabet/lessons/lesson-07.mdx +26 -14
  192. package/src/syllabi/alphabet/lessons/lesson-08.mdx +24 -12
  193. package/src/syllabi/alphabet/lessons/lesson-09.mdx +26 -14
  194. package/src/syllabi/alphabet/lessons/lesson-10.mdx +24 -12
  195. package/src/syllabi/alphabet/lessons/lesson-11.mdx +24 -12
  196. package/src/syllabi/alphabet/lessons/lesson-12.mdx +32 -20
  197. package/src/syllabi/dialogue/lessons/lesson-01.mdx +13 -5
  198. package/src/syllabi/dialogue/lessons/lesson-02.mdx +13 -5
  199. package/src/syllabi/dialogue/lessons/lesson-03.mdx +13 -5
  200. package/src/syllabi/dialogue/lessons/lesson-04.mdx +16 -8
  201. package/src/syllabi/dialogue/lessons/lesson-05.mdx +16 -8
  202. package/src/syllabi/dialogue/lessons/lesson-06.mdx +16 -8
  203. package/src/syllabi/dialogue/lessons/lesson-07.mdx +16 -8
  204. package/src/syllabi/dialogue/lessons/lesson-08.mdx +16 -8
  205. package/src/syllabi/essentials/lessons/lesson-01.mdx +13 -5
  206. package/src/syllabi/essentials/lessons/lesson-02.mdx +16 -8
  207. package/src/syllabi/essentials/lessons/lesson-03.mdx +16 -8
  208. package/src/syllabi/essentials/lessons/lesson-04.mdx +16 -8
  209. package/src/syllabi/essentials/lessons/lesson-05.mdx +16 -8
  210. package/src/syllabi/essentials/lessons/lesson-06.mdx +16 -8
  211. package/src/syllabi/food/lessons/lesson-01.mdx +13 -5
  212. package/src/syllabi/food/lessons/lesson-02.mdx +16 -8
  213. package/src/syllabi/food/lessons/lesson-03.mdx +16 -8
  214. package/src/syllabi/food/lessons/lesson-04.mdx +16 -8
  215. package/src/syllabi/food/lessons/lesson-05.mdx +16 -8
  216. package/src/syllabi/food/lessons/lesson-06.mdx +16 -8
  217. package/src/syllabi/food/lessons/lesson-07.mdx +16 -8
  218. package/src/syllabi/food/lessons/lesson-08.mdx +16 -8
  219. package/src/syllabi/grammar/lessons/lesson-01.mdx +10 -4
  220. package/src/syllabi/grammar/lessons/lesson-02.mdx +10 -4
  221. package/src/syllabi/grammar/lessons/lesson-03.mdx +13 -7
  222. package/src/syllabi/grammar/lessons/lesson-04.mdx +13 -7
  223. package/src/syllabi/grammar/lessons/lesson-05.mdx +13 -7
  224. package/src/syllabi/grammar/lessons/lesson-06.mdx +13 -7
  225. package/src/syllabi/grammar/lessons/lesson-07.mdx +13 -7
  226. package/src/syllabi/grammar/lessons/lesson-08.mdx +13 -7
  227. package/src/syllabi/numbers/lessons/lesson-01.mdx +27 -15
  228. package/src/syllabi/numbers/lessons/lesson-02.mdx +20 -8
  229. package/src/syllabi/numbers/lessons/lesson-03.mdx +20 -8
  230. package/src/syllabi/numbers/lessons/lesson-04.mdx +20 -8
  231. package/src/syllabi/numbers/lessons/lesson-05.mdx +20 -8
  232. package/src/syllabi/reading/lessons/lesson-01.mdx +13 -7
  233. package/src/syllabi/reading/lessons/lesson-02.mdx +13 -7
  234. package/src/syllabi/reading/lessons/lesson-03.mdx +13 -7
  235. package/src/syllabi/reading/lessons/lesson-04.mdx +13 -7
  236. package/src/syllabi/reading/lessons/lesson-05.mdx +13 -7
  237. package/src/syllabi/reading/lessons/lesson-06.mdx +13 -7
  238. package/src/syllabi/reading/lessons/lesson-07.mdx +13 -7
  239. package/src/syllabi/reading/lessons/lesson-08.mdx +13 -7
  240. package/src/syllabi/reading/lessons/lesson-09.mdx +13 -7
  241. package/src/syllabi/reading/lessons/lesson-10.mdx +13 -7
  242. package/src/syllabi/travel/lessons/lesson-01.mdx +16 -8
  243. package/src/syllabi/travel/lessons/lesson-02.mdx +16 -8
  244. package/src/syllabi/travel/lessons/lesson-03.mdx +16 -8
  245. package/src/syllabi/travel/lessons/lesson-04.mdx +16 -8
  246. package/src/syllabi/travel/lessons/lesson-05.mdx +16 -8
  247. package/src/syllabi/travel/lessons/lesson-06.mdx +16 -8
  248. package/src/syllabi/travel/lessons/lesson-07.mdx +16 -8
  249. package/src/syllabi/vowels-tones/lessons/lesson-01.mdx +20 -8
  250. package/src/syllabi/vowels-tones/lessons/lesson-02.mdx +26 -14
  251. package/src/syllabi/vowels-tones/lessons/lesson-03.mdx +25 -13
  252. package/src/syllabi/vowels-tones/lessons/lesson-04.mdx +24 -12
  253. package/src/syllabi/vowels-tones/lessons/lesson-05.mdx +27 -15
  254. package/src/syllabi/vowels-tones/lessons/lesson-06.mdx +29 -17
  255. package/src/syllabi/vowels-tones/lessons/lesson-07.mdx +24 -12
  256. package/src/syllabi/vowels-tones/lessons/lesson-08.mdx +20 -8
  257. package/dist/index-DADMaTE7.js +0 -27
  258. package/dist/index-DADMaTE7.js.map +0 -1
  259. package/dist/lesson-01--9NOyHZ6.js.map +0 -1
  260. package/dist/lesson-01-3hBted4A.js.map +0 -1
  261. package/dist/lesson-01-97FtYE6g.js.map +0 -1
  262. package/dist/lesson-01-BNdHXAGR.js.map +0 -1
  263. package/dist/lesson-01-BYKAZiua.js.map +0 -1
  264. package/dist/lesson-01-BhjY6ArF.js.map +0 -1
  265. package/dist/lesson-01-CF4tJfZ3.js.map +0 -1
  266. package/dist/lesson-01-CRx-yw4C.js.map +0 -1
  267. package/dist/lesson-01-WV3ic8Ok.js.map +0 -1
  268. package/dist/lesson-02-B2Xg7RVU.js.map +0 -1
  269. package/dist/lesson-02-BAbq-QGP.js.map +0 -1
  270. package/dist/lesson-02-BGnp0Ik_.js.map +0 -1
  271. package/dist/lesson-02-BO3BXPMJ.js.map +0 -1
  272. package/dist/lesson-02-Bm9EJuN8.js.map +0 -1
  273. package/dist/lesson-02-C0ZL4z3c.js.map +0 -1
  274. package/dist/lesson-02-C2ALLvoT.js.map +0 -1
  275. package/dist/lesson-02-C8dfzXvq.js.map +0 -1
  276. package/dist/lesson-02-CsejVbCo.js.map +0 -1
  277. package/dist/lesson-03-8NtAeqFh.js.map +0 -1
  278. package/dist/lesson-03-BdZfKRhq.js.map +0 -1
  279. package/dist/lesson-03-CKTNtgY1.js.map +0 -1
  280. package/dist/lesson-03-D8va_Q9B.js.map +0 -1
  281. package/dist/lesson-03-DV2SUWVH.js.map +0 -1
  282. package/dist/lesson-03-DiV17_Os.js.map +0 -1
  283. package/dist/lesson-03-DrJgbfDQ.js.map +0 -1
  284. package/dist/lesson-03-XVahXvgf.js.map +0 -1
  285. package/dist/lesson-03-Xc8-2Yt3.js.map +0 -1
  286. package/dist/lesson-04-BpRrNmzO.js.map +0 -1
  287. package/dist/lesson-04-CtNr2B3E.js.map +0 -1
  288. package/dist/lesson-04-DEEPJ_rd.js.map +0 -1
  289. package/dist/lesson-04-D__vMCyA.js.map +0 -1
  290. package/dist/lesson-04-Dfc7S4nT.js.map +0 -1
  291. package/dist/lesson-04-DtXVhdGB.js.map +0 -1
  292. package/dist/lesson-04-ZrSBM0BX.js.map +0 -1
  293. package/dist/lesson-04-ioLXnB0j.js.map +0 -1
  294. package/dist/lesson-04-rapx_3vA.js.map +0 -1
  295. package/dist/lesson-05-Bm6fg-DJ.js.map +0 -1
  296. package/dist/lesson-05-CKxXcooO.js.map +0 -1
  297. package/dist/lesson-05-D1d3kc3M.js.map +0 -1
  298. package/dist/lesson-05-D2SVU-I0.js.map +0 -1
  299. package/dist/lesson-05-DBsHyFlt.js.map +0 -1
  300. package/dist/lesson-05-DXOLS7G0.js.map +0 -1
  301. package/dist/lesson-05-D_GdROUn.js.map +0 -1
  302. package/dist/lesson-05-DusKUtbm.js.map +0 -1
  303. package/dist/lesson-05-ip400cxe.js.map +0 -1
  304. package/dist/lesson-06-1CE05TRX.js.map +0 -1
  305. package/dist/lesson-06-1ZsbrE1a.js.map +0 -1
  306. package/dist/lesson-06-Aw-X-HMV.js.map +0 -1
  307. package/dist/lesson-06-BG26PBTF.js.map +0 -1
  308. package/dist/lesson-06-Bliedg7n.js.map +0 -1
  309. package/dist/lesson-06-CnKkcUb-.js.map +0 -1
  310. package/dist/lesson-06-CvN9pDsE.js.map +0 -1
  311. package/dist/lesson-06-Du9J8sYl.js.map +0 -1
  312. package/dist/lesson-07-8zdPFyjE.js.map +0 -1
  313. package/dist/lesson-07-B9bkJ3gP.js.map +0 -1
  314. package/dist/lesson-07-CTFSd9gF.js.map +0 -1
  315. package/dist/lesson-07-DezS1ojS.js.map +0 -1
  316. package/dist/lesson-07-DjCMCYkK.js.map +0 -1
  317. package/dist/lesson-07-X6anzbAn.js.map +0 -1
  318. package/dist/lesson-07-rvSSQiVh.js.map +0 -1
  319. package/dist/lesson-08-BYfkPBkH.js.map +0 -1
  320. package/dist/lesson-08-Bb_v_gD-.js.map +0 -1
  321. package/dist/lesson-08-BqW5C_OE.js.map +0 -1
  322. package/dist/lesson-08-CeDWopKc.js.map +0 -1
  323. package/dist/lesson-08-Cyzy_VeP.js.map +0 -1
  324. package/dist/lesson-08-hJlci9W5.js.map +0 -1
  325. package/dist/lesson-09-BQ1CZCjT.js.map +0 -1
  326. package/dist/lesson-09-DHRHZIc1.js.map +0 -1
  327. package/dist/lesson-10-BdfkVT7s.js.map +0 -1
  328. package/dist/lesson-10-C7YEQ8et.js.map +0 -1
  329. package/dist/lesson-11-oJQ8ZxJk.js.map +0 -1
  330. package/dist/lesson-12-D69m5ETy.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-06-OWFMgO0a.js","sources":["../src/syllabi/alphabet/lessons/lesson-06.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-script-lesson-06\\ntitle: \\\"บทที่ 6 — พยัญชนะต่ำ II\\\"\\ndescription: \\\"Low-Class Consonants Part 2: ช ซ ฮ พ ท — Paired consonants with high-class counterparts\\\"\\norder: 6\\nparentId: thai-script-alphabet\\ndifficulty: intermediate\\ncefrLevel: A2\\ncategories:\\n - consonants\\n - low-class\\n - paired-consonants\\n - intermediate-characters\\nmetadata:\\n estimatedTime: 30\\n prerequisites:\\n - thai-script-lesson-05\\n learningObjectives:\\n - id: obj-low-consonants-2\\n description: \\\"Learn 5 low-class consonants with high-class pairs\\\"\\n skill: character-recognition\\n references: [elephant, chain, owl, tray, soldier]\\n - id: obj-paired-system\\n description: \\\"Master the paired consonant system\\\"\\n skill: character-class-identification\\n - id: obj-pairs-reading\\n description: \\\"Understand why pairs matter for reading and spelling\\\"\\n skill: character-class-identification\\n - id: obj-context-distinction\\n description: \\\"Practice distinguishing by context\\\"\\n skill: character-sound-mapping\\n---\\n\\n# บทที่ 6 (Lesson 6) — Low-Class Consonants II\\n\\n## Introduction\\n\\nThis lesson focuses on **paired consonants** — low-class consonants that have high-class counterparts with the exact same sound. Understanding pairs is essential for both reading (tone determination) and spelling (choosing the right letter).\\n\\n## The Paired System Explained\\n\\nMany Thai consonants come in pairs:\\n- Same pronunciation\\n- Different consonant class\\n- Different tone behavior\\n\\n| Sound | High-Class | Low-Class |\\n|-------|------------|-----------|\\n| kh | ข | ค ฆ |\\n| ch | ฉ | ช ฌ |\\n| th | ถ ฐ | ท ธ ฑ ฒ |\\n| ph | ผ | พ ภ |\\n| f | ฝ | ฟ |\\n| s | ส ศ ษ | ซ |\\n| h | ห | ฮ |\\n\\nThis system seems complex, but it follows patterns!\\n\\n## Characters\\n\\n:::character-set{id=\\\"thai-low-consonants-2\\\" title=\\\"Low-Class Consonants II\\\"}\\n\\n::character{id=\\\"elephant\\\" canonicalRef=\\\"elephant\\\" data:class=\\\"low\\\" char=\\\"ช\\\" name=\\\"ช ช้าง (chɔɔ cháang)\\\" nativeName=\\\"ช ช้าง\\\" transliteration=\\\"ch/t\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"chain\\\" canonicalRef=\\\"chain\\\" data:class=\\\"low\\\" char=\\\"ซ\\\" name=\\\"ซ โซ่ (sɔɔ sôo)\\\" nativeName=\\\"ซ โซ่\\\" transliteration=\\\"s/t\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"owl\\\" canonicalRef=\\\"owl\\\" data:class=\\\"low\\\" char=\\\"ฮ\\\" name=\\\"ฮ นกฮูก (hɔɔ nók-hûuk)\\\" nativeName=\\\"ฮ นกฮูก\\\" transliteration=\\\"h/-\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"tray\\\" canonicalRef=\\\"tray\\\" data:class=\\\"low\\\" char=\\\"พ\\\" name=\\\"พ พาน (phɔɔ phaan)\\\" nativeName=\\\"พ พาน\\\" transliteration=\\\"ph/p\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"soldier\\\" canonicalRef=\\\"soldier\\\" data:class=\\\"low\\\" char=\\\"ท\\\" name=\\\"ท ทหาร (thɔɔ thá-hǎan)\\\" nativeName=\\\"ท ทหาร\\\" transliteration=\\\"th/t\\\" charType=\\\"consonant\\\"}\\n\\n:::\\n\\n## Comparing the Pairs\\n\\n### CH Sounds: ฉ vs ช\\n\\n| Word | Consonant | Class | Tone |\\n|------|-----------|-------|------|\\n| ฉัน (I, female) | ฉ | High | Rising |\\n| ชา (tea) | ช | Low | Mid |\\n\\nSame sound, different spelling, different tone!\\n\\n### S Sounds: ส vs ซ\\n\\n| Word | Consonant | Class | Tone |\\n|------|-----------|-------|------|\\n| สี (color) | ส | High | Rising |\\n| ซี (letter C) | ซ | Low | Mid |\\n\\nHow do you know which to use? Etymology and memorization — no rules predict it.\\n\\n### H Sounds: ห vs ฮ\\n\\n| Word | Consonant | Class | Tone |\\n|------|-----------|-------|------|\\n| หา (to look for) | ห | High | Rising |\\n| ฮา (to laugh) | ฮ | Low | Mid |\\n\\n**ห** has the special role of \\\"lifting\\\" low-class consonants, while **ฮ** is just a regular low-class H.\\n\\n## The Elephant and the Tiger\\n\\nA famous mnemonic pair:\\n- **ช ช้าง** (elephant) — Low-class CH\\n- **ส เสือ** (tiger) — High-class S\\n\\nBoth are powerful animals, but:\\n- The elephant (ช) is **low** to the ground, stable\\n- The tiger (ส) **rises** to attack\\n\\nThis imagery helps remember their classes!\\n\\n## Why Do Pairs Exist?\\n\\nHistorical linguistics! Ancient Indic languages (Sanskrit, Pali) distinguished:\\n- Voiced vs unvoiced sounds\\n- Aspirated vs unaspirated sounds\\n\\nThese four-way contrasts collapsed in Thai:\\n- Voiced → Low-class\\n- Unvoiced → Middle or High-class\\n\\nBut the spellings remained, preserving Sanskrit/Pali word origins.\\n\\n## Reading Strategy for Pairs\\n\\nWhen you see an unfamiliar word:\\n1. Identify the initial consonant\\n2. Check if it has a pair\\n3. Determine the class → predict the tone\\n4. The vowel and tone marks refine the tone further\\n\\nExample: ซื้อ (to buy)\\n- ซ = low-class S\\n- ื = vowel /ʉʉ/\\n- ้ = tone mark (mái thoo)\\n- Low-class + mái thoo = **high tone**\\n- Result: sʉ́ʉ (high tone)\\n\\n## Spelling Strategy\\n\\nFor writing, you must memorize which variant to use. Some patterns help:\\n- Words from Sanskrit often use ศ ษ ท ธ\\n- Everyday Thai words often use simpler forms\\n- Loanwords from English often use ซ for S, ช for CH\\n\\n## Key Points\\n\\n1. **Same sound, different class**: ส and ซ sound identical\\n2. **Tone is the difference**: High-class = rising, Low-class = mid (basic pattern)\\n3. **Memorize spellings**: No rule tells you when to use ส vs ซ\\n4. **Historical origins**: Pairs exist because of Sanskrit/Pali distinctions\\n5. **ห is special**: It lifts low-class; ฮ is just regular low-class\\n\\n## Shape Recognition\\n\\n- **ช** (elephant) is larger than **ฉ** (cymbals)\\n- **ซ** looks like **ส** but simpler (fewer curves)\\n- **ฮ** has a distinctive shape unlike **ห**\\n- **พ** and **ท** have their own distinctive forms\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"low-2-pair-recognition\\\" type=\\\"matching\\\" title=\\\"Recognize Consonant Pairs\\\" skill=\\\"character-class-identification\\\" tests=\\\"elephant,chain,owl,tray,soldier\\\" objectiveId=\\\"obj-paired-system\\\"}\\n\\n**Question:** Match each low-class consonant with its high-class pair that makes the same sound\\n\\n- ช (elephant)\\n- ซ (chain)\\n- ฮ (owl)\\n- พ (tray)\\n- ท (soldier)\\n\\n**Answer:**\\n\\n- ฉ (cymbals) - both make CH sound\\n- ส (tiger) - both make S sound\\n- ห (box) - both make H sound (but ห has special lifting function)\\n- ผ (bee) - both make PH sound\\n- ถ (bag) - both make TH sound\\n\\n**Explanation:** These are paired consonants — same sound, different class, different tone behavior. The high-class version produces rising tones, while low-class produces mid tones in basic patterns.\\n\\n:::\\n\\n:::exercise{id=\\\"low-2-spelling-challenge\\\" type=\\\"fill-in-blank\\\" title=\\\"Spelling Challenge\\\" skill=\\\"character-sound-mapping\\\" tests=\\\"elephant,chain,owl\\\" objectiveId=\\\"obj-context-distinction\\\"}\\n\\n**Question:** Which consonant would you use to spell these words? (Hint: memorize common words)\\n\\n- ชา (chaa) - tea\\n- ซื้อ (sʉ́ʉ) - to buy\\n- ฮา (haa) - to laugh\\n\\n**Answer:**\\n\\n- ช (low-class CH) for ชา\\n- ซ (low-class S) for ซื้อ\\n- ฮ (low-class H) for ฮา\\n\\n**Explanation:** There's no rule to predict whether to use high-class or low-class variants. You must memorize common words. However, everyday Thai words often use simpler forms (ช, ซ, ฮ) while Sanskrit-derived words may use high-class variants.\\n\\n:::\\n\\n:::exercise{id=\\\"low-2-tone-prediction\\\" type=\\\"multiple-choice\\\" title=\\\"Tone Prediction\\\" skill=\\\"character-class-identification\\\" objectiveId=\\\"obj-pairs-reading\\\"}\\n\\n**Question:** The word ซื้อ (to buy) has a high tone. Why?\\n\\n**Options:**\\n- Because ซ is high-class\\n- Because of the tone mark ้ (mái thoo) on a low-class consonant\\n- Because of the vowel ื\\n- Because it's a dead syllable\\n\\n**Answer:** 2\\n\\n**Explanation:** ซ is low-class (produces mid tone in live syllables). The tone mark ้ (mái thoo) on a low-class consonant in a live syllable produces a high tone. This demonstrates how consonant class + tone mark work together.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 7, you'll learn more low-class consonants including ฟ ธ ภ — completing the paired set with more TH and PH/F sounds.\\n\""],"names":["lesson06"],"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;"}
@@ -15,11 +15,19 @@ metadata:
15
15
  estimatedTime: 25
16
16
  prerequisites:
17
17
  - thai-travel-lesson-05
18
- objectives:
19
- - "Ask about departure and arrival times"
20
- - "Understand travel durations"
21
- - "Read schedules"
22
- - "Make time-based plans"
18
+ learningObjectives:
19
+ - id: obj-06a
20
+ description: "Ask about departure and arrival times"
21
+ skill: pattern-application
22
+ - id: obj-06b
23
+ description: "Understand travel durations"
24
+ skill: reading-comprehension
25
+ - id: obj-06c
26
+ description: "Read schedules"
27
+ skill: reading-comprehension
28
+ - id: obj-06d
29
+ description: "Make time-based plans"
30
+ skill: pattern-application
23
31
  ---
24
32
 
25
33
  # บทที่ 6 (Lesson 6) — Time & Schedules
@@ -116,7 +124,7 @@ Understanding time vocabulary helps you catch flights, meet people, and plan you
116
124
 
117
125
  ## Practice Exercises
118
126
 
119
- :::exercise{id="travel-6-time-questions" type="matching" title="Time Questions"}
127
+ :::exercise{id="travel-6-time-questions" type="matching" title="Time Questions" skill="pattern-recognition" objectiveId="obj-06a"}
120
128
 
121
129
  **Question:** Match each question to its meaning
122
130
 
@@ -136,7 +144,7 @@ Understanding time vocabulary helps you catch flights, meet people, and plan you
136
144
 
137
145
  :::
138
146
 
139
- :::exercise{id="travel-6-duration" type="fill-in-blank" title="Expressing Duration"}
147
+ :::exercise{id="travel-6-duration" type="fill-in-blank" title="Expressing Duration" skill="word-production" objectiveId="obj-06b"}
140
148
 
141
149
  **Question:** How do you say these durations?
142
150
 
@@ -156,7 +164,7 @@ Understanding time vocabulary helps you catch flights, meet people, and plan you
156
164
 
157
165
  :::
158
166
 
159
- :::exercise{id="travel-6-schedule-reading" type="multiple-choice" title="Reading Schedules"}
167
+ :::exercise{id="travel-6-schedule-reading" type="multiple-choice" title="Reading Schedules" skill="reading-comprehension" objectiveId="obj-06c"}
160
168
 
161
169
  **Question:** How do you ask "What time does the bus to Chiang Mai leave?"
162
170
 
@@ -179,4 +187,4 @@ In Lesson 7, you'll learn emergency vocabulary for when things don't go as plann
179
187
  export {
180
188
  n as default
181
189
  };
182
- //# sourceMappingURL=lesson-06-CvN9pDsE.js.map
190
+ //# sourceMappingURL=lesson-06-Q2aRAzws.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-06-Q2aRAzws.js","sources":["../src/syllabi/travel/lessons/lesson-06.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-travel-lesson-06\\ntitle: \\\"บทที่ 6 — เวลาและตารางเดินทาง\\\"\\ndescription: \\\"Time & Schedules: Planning your travel times\\\"\\norder: 6\\nparentId: thai-vocab-travel\\ndifficulty: beginner\\ncefrLevel: A2\\ncategories:\\n - travel\\n - time\\n - schedules\\nmetadata:\\n estimatedTime: 25\\n prerequisites:\\n - thai-travel-lesson-05\\n learningObjectives:\\n - id: obj-06a\\n description: \\\"Ask about departure and arrival times\\\"\\n skill: pattern-application\\n - id: obj-06b\\n description: \\\"Understand travel durations\\\"\\n skill: reading-comprehension\\n - id: obj-06c\\n description: \\\"Read schedules\\\"\\n skill: reading-comprehension\\n - id: obj-06d\\n description: \\\"Make time-based plans\\\"\\n skill: pattern-application\\n---\\n\\n# บทที่ 6 (Lesson 6) — Time & Schedules\\n\\n## Introduction\\n\\nUnderstanding time vocabulary helps you catch flights, meet people, and plan your day. Thai uses both formal and colloquial time expressions.\\n\\n## Time Basics\\n\\n:::vocabulary-set{id=\\\"thai-time-basics\\\" title=\\\"Time Basics\\\"}\\n\\n::vocab-item{id=\\\"weelaa\\\" word=\\\"เวลา\\\" pronunciation=\\\"wee-laa\\\" meaning=\\\"time\\\"}\\n\\n::vocab-item{id=\\\"moong\\\" word=\\\"โมง\\\" pronunciation=\\\"moong\\\" meaning=\\\"o'clock/hour\\\"}\\n\\n::vocab-item{id=\\\"naathii\\\" word=\\\"นาที\\\" pronunciation=\\\"naa-thii\\\" meaning=\\\"minute\\\"}\\n\\n::vocab-item{id=\\\"chua-moong\\\" word=\\\"ชั่วโมง\\\" pronunciation=\\\"chûa-moong\\\" meaning=\\\"hour (duration)\\\"}\\n\\n::vocab-item{id=\\\"kii-moong\\\" word=\\\"กี่โมง\\\" pronunciation=\\\"gìi moong\\\" meaning=\\\"what time?\\\"}\\n\\n:::\\n\\n## Schedule Words\\n\\n:::vocabulary-set{id=\\\"thai-schedule\\\" title=\\\"Schedule Vocabulary\\\"}\\n\\n::vocab-item{id=\\\"ork\\\" word=\\\"ออก\\\" pronunciation=\\\"ɔ̀ɔk\\\" meaning=\\\"depart/leave\\\"}\\n\\n::vocab-item{id=\\\"thueng\\\" word=\\\"ถึง\\\" pronunciation=\\\"thǔng\\\" meaning=\\\"arrive/reach\\\"}\\n\\n::vocab-item{id=\\\"traang-weelaa\\\" word=\\\"ตรงเวลา\\\" pronunciation=\\\"dtrong wee-laa\\\" meaning=\\\"on time\\\"}\\n\\n::vocab-item{id=\\\"chaa\\\" word=\\\"ช้า\\\" pronunciation=\\\"cháa\\\" meaning=\\\"late/slow\\\"}\\n\\n::vocab-item{id=\\\"reow\\\" word=\\\"เร็ว\\\" pronunciation=\\\"reo\\\" meaning=\\\"early/fast\\\"}\\n\\n:::\\n\\n## Time of Day\\n\\n| Thai | Meaning |\\n|------|---------|\\n| เช้า | morning |\\n| กลางวัน | midday |\\n| บ่าย | afternoon |\\n| เย็น | evening |\\n| กลางคืน | night |\\n| พรุ่งนี้ | tomorrow |\\n| วันนี้ | today |\\n\\n## Schedule Phrases\\n\\n| Thai | Meaning |\\n|------|---------|\\n| ออกกี่โมง | What time does it leave? |\\n| ถึงกี่โมง | What time does it arrive? |\\n| ใช้เวลานานเท่าไหร่ | How long does it take? |\\n| มีรถกี่โมง | What time is there a bus/train? |\\n| เที่ยวบินที่... | Flight number... |\\n| ขบวนที่... | Train number... |\\n\\n## Duration Expressions\\n\\n| Thai | Meaning |\\n|------|---------|\\n| 30 นาที | 30 minutes |\\n| 1 ชั่วโมง | 1 hour |\\n| 2 ชั่วโมงครึ่ง | 2.5 hours |\\n| ครึ่งชั่วโมง | half an hour |\\n| ประมาณ... | approximately... |\\n\\n## Sample Conversations\\n\\n**At the bus station:**\\n- คุณ: รถไปเชียงใหม่ออกกี่โมงครับ (What time does the bus to Chiang Mai leave?)\\n- พนักงาน: 8 โมงเช้าค่ะ (8 AM)\\n- คุณ: ถึงกี่โมงครับ (What time does it arrive?)\\n- พนักงาน: ประมาณ 6 โมงเย็นค่ะ (Around 6 PM)\\n- คุณ: ใช้เวลานานเท่าไหร่ครับ (How long does it take?)\\n- พนักงาน: ประมาณ 10 ชั่วโมงค่ะ (About 10 hours)\\n\\n**Checking flight status:**\\n- คุณ: เที่ยวบิน TG123 ตรงเวลาไหมครับ (Is flight TG123 on time?)\\n- พนักงาน: ช้า 30 นาทีค่ะ (30 minutes delayed)\\n\\n## Key Points\\n\\n1. **กี่โมง = what time?**: Essential for schedules\\n2. **ออก/ถึง = depart/arrive**: For any transport\\n3. **ชั่วโมง vs โมง**: Duration vs time of day\\n4. **ประมาณ = approximately**: Often used with times\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"travel-6-time-questions\\\" type=\\\"matching\\\" title=\\\"Time Questions\\\" skill=\\\"pattern-recognition\\\" objectiveId=\\\"obj-06a\\\"}\\n\\n**Question:** Match each question to its meaning\\n\\n- ออกกี่โมง\\n- ถึงกี่โมง\\n- ใช้เวลานานเท่าไหร่\\n- ตรงเวลาไหม\\n\\n**Answer:**\\n\\n- ออกกี่โมง → What time does it leave/depart?\\n- ถึงกี่โมง → What time does it arrive?\\n- ใช้เวลานานเท่าไหร่ → How long does it take?\\n- ตรงเวลาไหม → Is it on time?\\n\\n**Explanation:** These are essential for travel planning. ออก and ถึง are key verbs for departure and arrival. ใช้เวลา means \\\"takes time\\\" (duration).\\n\\n:::\\n\\n:::exercise{id=\\\"travel-6-duration\\\" type=\\\"fill-in-blank\\\" title=\\\"Expressing Duration\\\" skill=\\\"word-production\\\" objectiveId=\\\"obj-06b\\\"}\\n\\n**Question:** How do you say these durations?\\n\\n- 30 minutes\\n- 1 hour\\n- 2.5 hours\\n- Half an hour\\n\\n**Answer:**\\n\\n- 30 นาที (30 minutes)\\n- 1 ชั่วโมง (1 hour - use ชั่วโมง for duration)\\n- 2 ชั่วโมงครึ่ง (2 hours half = 2.5 hours)\\n- ครึ่งชั่วโมง (half hour)\\n\\n**Explanation:** Use นาที for minutes, ชั่วโมง for hours (duration). โมง is for time of day (กี่โมง = what time?), while ชั่วโมง is for duration (กี่ชั่วโมง = how many hours?).\\n\\n:::\\n\\n:::exercise{id=\\\"travel-6-schedule-reading\\\" type=\\\"multiple-choice\\\" title=\\\"Reading Schedules\\\" skill=\\\"reading-comprehension\\\" objectiveId=\\\"obj-06c\\\"}\\n\\n**Question:** How do you ask \\\"What time does the bus to Chiang Mai leave?\\\"\\n\\n**Options:**\\n- รถไปเชียงใหม่กี่โมง\\n- รถไปเชียงใหม่ออกกี่โมง\\n- รถไปเชียงใหม่ถึงกี่โมง\\n- รถไปเชียงใหม่ใช้เวลานานเท่าไหร่\\n\\n**Answer:** 2\\n\\n**Explanation:** ออก means \\\"depart/leave\\\". So \\\"รถไปเชียงใหม่ออกกี่โมง\\\" asks what time the bus departs. ถึง asks about arrival time, ใช้เวลานานเท่าไหร่ asks about duration.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 7, you'll learn emergency vocabulary for when things don't go as planned.\\n\""],"names":["lesson06"],"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;"}
@@ -15,11 +15,19 @@ metadata:
15
15
  estimatedTime: 25
16
16
  prerequisites:
17
17
  - thai-travel-lesson-06
18
- objectives:
19
- - "Call for help in emergencies"
20
- - "Report lost items"
21
- - "Communicate with police"
22
- - "Handle medical situations"
18
+ learningObjectives:
19
+ - id: obj-07a
20
+ description: "Call for help in emergencies"
21
+ skill: pattern-application
22
+ - id: obj-07b
23
+ description: "Report lost items"
24
+ skill: pattern-application
25
+ - id: obj-07c
26
+ description: "Communicate with police"
27
+ skill: dialogue-comprehension
28
+ - id: obj-07d
29
+ description: "Handle medical situations"
30
+ skill: pattern-application
23
31
  ---
24
32
 
25
33
  # บทที่ 7 (Lesson 7) — Emergencies
@@ -115,7 +123,7 @@ Hopefully you'll never need these words, but knowing emergency vocabulary gives
115
123
 
116
124
  ## Practice Exercises
117
125
 
118
- :::exercise{id="travel-7-emergency-numbers" type="matching" title="Emergency Numbers"}
126
+ :::exercise{id="travel-7-emergency-numbers" type="matching" title="Emergency Numbers" skill="word-recognition" objectiveId="obj-07a"}
119
127
 
120
128
  **Question:** Match each emergency number to its service
121
129
 
@@ -135,7 +143,7 @@ Hopefully you'll never need these words, but knowing emergency vocabulary gives
135
143
 
136
144
  :::
137
145
 
138
- :::exercise{id="travel-7-lost-items" type="fill-in-blank" title="Reporting Lost Items"}
146
+ :::exercise{id="travel-7-lost-items" type="fill-in-blank" title="Reporting Lost Items" skill="pattern-application" objectiveId="obj-07b"}
139
147
 
140
148
  **Question:** How do you report these lost items?
141
149
 
@@ -153,7 +161,7 @@ Hopefully you'll never need these words, but knowing emergency vocabulary gives
153
161
 
154
162
  :::
155
163
 
156
- :::exercise{id="travel-7-medical-emergency" type="multiple-choice" title="Medical Emergencies"}
164
+ :::exercise{id="travel-7-medical-emergency" type="multiple-choice" title="Medical Emergencies" skill="pattern-application" objectiveId="obj-07d"}
157
165
 
158
166
  **Question:** What should you say if you need to go to the hospital urgently?
159
167
 
@@ -183,4 +191,4 @@ Congratulations! You've completed the Thai Travel course. You can now:
183
191
  export {
184
192
  n as default
185
193
  };
186
- //# sourceMappingURL=lesson-07-DjCMCYkK.js.map
194
+ //# sourceMappingURL=lesson-07-BLDUA_Ff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-07-BLDUA_Ff.js","sources":["../src/syllabi/travel/lessons/lesson-07.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-travel-lesson-07\\ntitle: \\\"บทที่ 7 — เหตุฉุกเฉิน\\\"\\ndescription: \\\"Emergencies: Getting help when things go wrong\\\"\\norder: 7\\nparentId: thai-vocab-travel\\ndifficulty: beginner\\ncefrLevel: A2\\ncategories:\\n - travel\\n - emergency\\n - safety\\nmetadata:\\n estimatedTime: 25\\n prerequisites:\\n - thai-travel-lesson-06\\n learningObjectives:\\n - id: obj-07a\\n description: \\\"Call for help in emergencies\\\"\\n skill: pattern-application\\n - id: obj-07b\\n description: \\\"Report lost items\\\"\\n skill: pattern-application\\n - id: obj-07c\\n description: \\\"Communicate with police\\\"\\n skill: dialogue-comprehension\\n - id: obj-07d\\n description: \\\"Handle medical situations\\\"\\n skill: pattern-application\\n---\\n\\n# บทที่ 7 (Lesson 7) — Emergencies\\n\\n## Introduction\\n\\nHopefully you'll never need these words, but knowing emergency vocabulary gives you peace of mind and could be crucial when things go wrong.\\n\\n## Emergency Calls\\n\\n:::vocabulary-set{id=\\\"thai-emergency-calls\\\" title=\\\"Emergency Words\\\"}\\n\\n::vocab-item{id=\\\"chuay-duay\\\" word=\\\"ช่วยด้วย\\\" pronunciation=\\\"chûay dûay\\\" meaning=\\\"help!\\\"}\\n\\n::vocab-item{id=\\\"het-chuk-chen\\\" word=\\\"เหตุฉุกเฉิน\\\" pronunciation=\\\"hèet chùk-chěen\\\" meaning=\\\"emergency\\\"}\\n\\n::vocab-item{id=\\\"tho-riak\\\" word=\\\"โทรเรียก\\\" pronunciation=\\\"thoo rîak\\\" meaning=\\\"call (someone)\\\"}\\n\\n::vocab-item{id=\\\"tam-ruat\\\" word=\\\"ตำรวจ\\\" pronunciation=\\\"dtam-rùat\\\" meaning=\\\"police\\\"}\\n\\n::vocab-item{id=\\\"rot-pha-ya-baan\\\" word=\\\"รถพยาบาล\\\" pronunciation=\\\"rót pha-yaa-baan\\\" meaning=\\\"ambulance\\\"}\\n\\n:::\\n\\n## Lost & Found\\n\\n:::vocabulary-set{id=\\\"thai-lost-found\\\" title=\\\"Lost & Found\\\"}\\n\\n::vocab-item{id=\\\"haai\\\" word=\\\"หาย\\\" pronunciation=\\\"hǎai\\\" meaning=\\\"lost/missing\\\"}\\n\\n::vocab-item{id=\\\"tham-hai\\\" word=\\\"ทำหาย\\\" pronunciation=\\\"tham hǎai\\\" meaning=\\\"to lose (something)\\\"}\\n\\n::vocab-item{id=\\\"ngoen\\\" word=\\\"เงิน\\\" pronunciation=\\\"ngəən\\\" meaning=\\\"money\\\"}\\n\\n::vocab-item{id=\\\"passport\\\" word=\\\"พาสปอร์ต\\\" pronunciation=\\\"phâat-sà-pɔ̀ɔt\\\" meaning=\\\"passport\\\"}\\n\\n::vocab-item{id=\\\"kra-bpao\\\" word=\\\"กระเป๋า\\\" pronunciation=\\\"grà-bpǎo\\\" meaning=\\\"bag/wallet\\\"}\\n\\n:::\\n\\n## Medical Emergencies\\n\\n| Thai | Meaning |\\n|------|---------|\\n| เจ็บ | hurt/pain |\\n| ป่วย | sick |\\n| แพ้ | allergic |\\n| หมอ | doctor |\\n| ยา | medicine |\\n| โรงพยาบาล | hospital |\\n\\n## Emergency Numbers\\n\\n| Number | Service |\\n|--------|---------|\\n| 191 | Police |\\n| 1669 | Medical Emergency |\\n| 1155 | Tourist Police |\\n| 199 | Fire |\\n\\n## Emergency Phrases\\n\\n| Thai | Meaning |\\n|------|---------|\\n| ช่วยด้วย! | Help! |\\n| เรียกตำรวจ | Call the police |\\n| เรียกรถพยาบาล | Call an ambulance |\\n| พาสปอร์ตหาย | My passport is lost |\\n| กระเป๋าหาย | My bag is lost |\\n| โดนขโมย | I was robbed |\\n| ต้องไปโรงพยาบาล | I need to go to the hospital |\\n| พูดภาษาอังกฤษได้ไหม | Can you speak English? |\\n\\n## Sample Conversations\\n\\n**Reporting theft:**\\n- คุณ: ช่วยด้วยครับ! กระเป๋าหายครับ! (Help! My bag is lost!)\\n- ตำรวจ: หายที่ไหนครับ (Where did you lose it?)\\n- คุณ: ที่ตลาดครับ โดนขโมยครับ (At the market. I was robbed)\\n- ตำรวจ: มีอะไรในกระเป๋าครับ (What was in the bag?)\\n- คุณ: เงิน พาสปอร์ต และโทรศัพท์ครับ (Money, passport, and phone)\\n\\n**Medical emergency:**\\n- คุณ: ต้องไปโรงพยาบาลครับ เพื่อนป่วยมาก (I need to go to the hospital. My friend is very sick)\\n- คนไทย: โรงพยาบาลใกล้ๆ อยู่ตรงนั้นครับ (The nearest hospital is over there)\\n\\n## Key Points\\n\\n1. **ช่วยด้วย = help!**: Memorize this first\\n2. **1155 = Tourist Police**: They often speak English\\n3. **หาย = lost**: ทำ...หาย = I lost my...\\n4. **โดนขโมย = was robbed**: Report to police immediately\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"travel-7-emergency-numbers\\\" type=\\\"matching\\\" title=\\\"Emergency Numbers\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-07a\\\"}\\n\\n**Question:** Match each emergency number to its service\\n\\n- 191\\n- 1669\\n- 1155\\n- 199\\n\\n**Answer:**\\n\\n- 191 → Police\\n- 1669 → Medical Emergency\\n- 1155 → Tourist Police (often speak English)\\n- 199 → Fire Department\\n\\n**Explanation:** Memorize these numbers! 1155 (Tourist Police) is especially useful as they often speak English and can help with tourist-specific issues.\\n\\n:::\\n\\n:::exercise{id=\\\"travel-7-lost-items\\\" type=\\\"fill-in-blank\\\" title=\\\"Reporting Lost Items\\\" skill=\\\"pattern-application\\\" objectiveId=\\\"obj-07b\\\"}\\n\\n**Question:** How do you report these lost items?\\n\\n- My bag is lost\\n- My passport is lost\\n- I was robbed\\n\\n**Answer:**\\n\\n- กระเป๋าหาย (bag lost)\\n- พาสปอร์ตหาย (passport lost)\\n- โดนขโมย (was robbed)\\n\\n**Explanation:** หาย means \\\"lost/missing\\\". โดนขโมย means \\\"was robbed\\\" and is more serious - report to police immediately. Always keep copies of important documents!\\n\\n:::\\n\\n:::exercise{id=\\\"travel-7-medical-emergency\\\" type=\\\"multiple-choice\\\" title=\\\"Medical Emergencies\\\" skill=\\\"pattern-application\\\" objectiveId=\\\"obj-07d\\\"}\\n\\n**Question:** What should you say if you need to go to the hospital urgently?\\n\\n**Options:**\\n- ไม่สบาย (not feeling well)\\n- ต้องไปโรงพยาบาล (need to go to hospital)\\n- เรียกรถพยาบาล (call ambulance)\\n- All of the above depending on severity\\n\\n**Answer:** 4\\n\\n**Explanation:** Use ไม่สบาย for minor issues, ต้องไปโรงพยาบาล for serious but not immediate, and เรียกรถพยาบาล for emergencies requiring immediate medical transport.\\n\\n:::\\n\\n## Course Complete!\\n\\nCongratulations! You've completed the Thai Travel course. You can now:\\n- Navigate transportation in Thailand\\n- Ask for and understand directions\\n- Book accommodation and shop at markets\\n- Handle schedules and emergencies\\n- Travel with confidence!\\n\\nเดินทางปลอดภัยนะครับ! (Safe travels!)\\n\""],"names":["lesson07"],"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;"}
@@ -17,11 +17,23 @@ metadata:
17
17
  estimatedTime: 30
18
18
  prerequisites:
19
19
  - thai-script-lesson-06
20
- objectives:
21
- - "Learn 6 more low-class consonants"
22
- - "Complete the PH/F and TH paired sets"
23
- - "Understand sonorant consonants in low-class"
24
- - "Practice reading with mixed consonant classes"
20
+ learningObjectives:
21
+ - id: obj-low3-recognition
22
+ description: "Learn 6 more low-class consonants"
23
+ skill: character-recognition
24
+ references: [flag, ship, tooth, horse, boat, monkey]
25
+ - id: obj-paired-sets
26
+ description: "Complete the PH/F and TH paired sets"
27
+ skill: character-class-identification
28
+ references: [flag, ship, tooth]
29
+ - id: obj-sonorant-class
30
+ description: "Understand sonorant consonants in low-class"
31
+ skill: character-class-identification
32
+ references: [horse, boat, monkey]
33
+ - id: obj-mixed-reading
34
+ description: "Practice reading with mixed consonant classes"
35
+ skill: character-sound-mapping
36
+ references: [flag, ship, tooth, horse, boat, monkey]
25
37
  ---
26
38
 
27
39
  # บทที่ 7 (Lesson 7) — Low-Class Consonants III
@@ -34,17 +46,17 @@ In this lesson, you'll complete the major paired consonants (TH, PH, F) and lear
34
46
 
35
47
  :::character-set{id="thai-low-consonants-3" title="Low-Class Consonants III"}
36
48
 
37
- ::character{id="th-flag" char="ธ" name="ธ ธง (thɔɔ thǒng)" nativeName="ธ ธง" transliteration="th/t" charType="consonant"}
49
+ ::character{id="flag" canonicalRef="flag" data:class="low" char="ธ" name="ธ ธง (thɔɔ thǒng)" nativeName="ธ ธง" transliteration="th/t" charType="consonant"}
38
50
 
39
- ::character{id="th-ship" char="ภ" name="ภ สำเภา (phɔɔ sǎm-phao)" nativeName="ภ สำเภา" transliteration="ph/p" charType="consonant"}
51
+ ::character{id="ship" canonicalRef="ship" data:class="low" char="ภ" name="ภ สำเภา (phɔɔ sǎm-phao)" nativeName="ภ สำเภา" transliteration="ph/p" charType="consonant"}
40
52
 
41
- ::character{id="th-tooth" char="ฟ" name="ฟ ฟัน (fɔɔ fan)" nativeName="ฟ ฟัน" transliteration="f/p" charType="consonant"}
53
+ ::character{id="tooth" canonicalRef="tooth" data:class="low" char="ฟ" name="ฟ ฟัน (fɔɔ fan)" nativeName="ฟ ฟัน" transliteration="f/p" charType="consonant"}
42
54
 
43
- ::character{id="th-horse" char="ม" name="ม ม้า (mɔɔ máa)" nativeName="ม ม้า" transliteration="m" charType="consonant"}
55
+ ::character{id="horse" canonicalRef="horse" data:class="low" char="ม" name="ม ม้า (mɔɔ máa)" nativeName="ม ม้า" transliteration="m" charType="consonant"}
44
56
 
45
- ::character{id="th-boat" char="ร" name="ร เรือ (rɔɔ rʉa)" nativeName="ร เรือ" transliteration="r/n" charType="consonant"}
57
+ ::character{id="boat" canonicalRef="boat" data:class="low" char="ร" name="ร เรือ (rɔɔ rʉa)" nativeName="ร เรือ" transliteration="r/n" charType="consonant"}
46
58
 
47
- ::character{id="th-monkey" char="ล" name="ล ลิง (lɔɔ ling)" nativeName="ล ลิง" transliteration="l/n" charType="consonant"}
59
+ ::character{id="monkey" canonicalRef="monkey" data:class="low" char="ล" name="ล ลิง (lɔɔ ling)" nativeName="ล ลิง" transliteration="l/n" charType="consonant"}
48
60
 
49
61
  :::
50
62
 
@@ -164,7 +176,7 @@ Example: ธุรกิจ (thú-rá-gìt) "business"
164
176
 
165
177
  ## Practice Exercises
166
178
 
167
- :::exercise{id="low-3-sonorant-recognition" type="fill-in-blank" title="Sonorant Recognition"}
179
+ :::exercise{id="low-3-sonorant-recognition" type="fill-in-blank" title="Sonorant Recognition" skill="character-class-identification" tests="horse,boat,monkey" objectiveId="obj-sonorant-class"}
168
180
 
169
181
  **Question:** Which consonants are sonorants (continuous airflow, never become stops)?
170
182
 
@@ -178,7 +190,7 @@ Example: ธุรกิจ (thú-rá-gìt) "business"
178
190
 
179
191
  :::
180
192
 
181
- :::exercise{id="low-3-final-sounds" type="matching" title="Final Position Sounds"}
193
+ :::exercise{id="low-3-final-sounds" type="matching" title="Final Position Sounds" skill="character-sound-mapping" tests="boat,monkey,tooth,flag" objectiveId="obj-mixed-reading"}
182
194
 
183
195
  **Question:** Match each consonant to its final position sound
184
196
 
@@ -198,7 +210,7 @@ Example: ธุรกิจ (thú-rá-gìt) "business"
198
210
 
199
211
  :::
200
212
 
201
- :::exercise{id="low-3-pair-completion" type="multiple-choice" title="Complete the Pair"}
213
+ :::exercise{id="low-3-pair-completion" type="multiple-choice" title="Complete the Pair" skill="character-class-identification" tests="tooth" objectiveId="obj-paired-sets"}
202
214
 
203
215
  **Question:** Which consonant pairs with ฝ (lid) to make the same F sound but different class?
204
216
 
@@ -221,4 +233,4 @@ In Lesson 8, you'll learn rare and formal consonants: ญ ณ ศ ษ — charac
221
233
  export {
222
234
  n as default
223
235
  };
224
- //# sourceMappingURL=lesson-07-DezS1ojS.js.map
236
+ //# sourceMappingURL=lesson-07-BpyF1Ssq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-07-BpyF1Ssq.js","sources":["../src/syllabi/alphabet/lessons/lesson-07.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-script-lesson-07\\ntitle: \\\"บทที่ 7 — พยัญชนะต่ำ III\\\"\\ndescription: \\\"Low-Class Consonants Part 3: ธ ภ ฟ ม ร ล — More paired consonants and common sonorants\\\"\\norder: 7\\nparentId: thai-script-alphabet\\ndifficulty: intermediate\\ncefrLevel: A2\\ncategories:\\n - consonants\\n - low-class\\n - paired-consonants\\n - sonorants\\n - intermediate-characters\\nmetadata:\\n estimatedTime: 30\\n prerequisites:\\n - thai-script-lesson-06\\n learningObjectives:\\n - id: obj-low3-recognition\\n description: \\\"Learn 6 more low-class consonants\\\"\\n skill: character-recognition\\n references: [flag, ship, tooth, horse, boat, monkey]\\n - id: obj-paired-sets\\n description: \\\"Complete the PH/F and TH paired sets\\\"\\n skill: character-class-identification\\n references: [flag, ship, tooth]\\n - id: obj-sonorant-class\\n description: \\\"Understand sonorant consonants in low-class\\\"\\n skill: character-class-identification\\n references: [horse, boat, monkey]\\n - id: obj-mixed-reading\\n description: \\\"Practice reading with mixed consonant classes\\\"\\n skill: character-sound-mapping\\n references: [flag, ship, tooth, horse, boat, monkey]\\n---\\n\\n# บทที่ 7 (Lesson 7) — Low-Class Consonants III\\n\\n## Introduction\\n\\nIn this lesson, you'll complete the major paired consonants (TH, PH, F) and learn about **sonorant consonants** (ม ร ล) — sounds that can function almost like vowels.\\n\\n## Characters\\n\\n:::character-set{id=\\\"thai-low-consonants-3\\\" title=\\\"Low-Class Consonants III\\\"}\\n\\n::character{id=\\\"flag\\\" canonicalRef=\\\"flag\\\" data:class=\\\"low\\\" char=\\\"ธ\\\" name=\\\"ธ ธง (thɔɔ thǒng)\\\" nativeName=\\\"ธ ธง\\\" transliteration=\\\"th/t\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"ship\\\" canonicalRef=\\\"ship\\\" data:class=\\\"low\\\" char=\\\"ภ\\\" name=\\\"ภ สำเภา (phɔɔ sǎm-phao)\\\" nativeName=\\\"ภ สำเภา\\\" transliteration=\\\"ph/p\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"tooth\\\" canonicalRef=\\\"tooth\\\" data:class=\\\"low\\\" char=\\\"ฟ\\\" name=\\\"ฟ ฟัน (fɔɔ fan)\\\" nativeName=\\\"ฟ ฟัน\\\" transliteration=\\\"f/p\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"horse\\\" canonicalRef=\\\"horse\\\" data:class=\\\"low\\\" char=\\\"ม\\\" name=\\\"ม ม้า (mɔɔ máa)\\\" nativeName=\\\"ม ม้า\\\" transliteration=\\\"m\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"boat\\\" canonicalRef=\\\"boat\\\" data:class=\\\"low\\\" char=\\\"ร\\\" name=\\\"ร เรือ (rɔɔ rʉa)\\\" nativeName=\\\"ร เรือ\\\" transliteration=\\\"r/n\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"monkey\\\" canonicalRef=\\\"monkey\\\" data:class=\\\"low\\\" char=\\\"ล\\\" name=\\\"ล ลิง (lɔɔ ling)\\\" nativeName=\\\"ล ลิง\\\" transliteration=\\\"l/n\\\" charType=\\\"consonant\\\"}\\n\\n:::\\n\\n## Completing the TH Family\\n\\nYou now know all the major TH consonants:\\n\\n| Consonant | Class | Mnemonic | Usage |\\n|-----------|-------|----------|-------|\\n| ต | Middle | Turtle | Unaspirated T (very common) |\\n| ถ | High | Bag | Aspirated TH |\\n| ท | Low | Soldier | Common aspirated TH |\\n| ธ | Low | Flag | Sanskrit/formal TH |\\n\\n**ท** (soldier) vs **ธ** (flag):\\n- Both low-class, both sound /th/\\n- ท is more common in everyday words\\n- ธ appears in Sanskrit-derived and formal words\\n\\nExample words:\\n- ที่ (thîi) \\\"at, place\\\" — uses ท\\n- ธรรม (tham) \\\"dharma, nature\\\" — uses ธ\\n\\n## Completing the PH/F Family\\n\\n| Sound | High-Class | Low-Class |\\n|-------|------------|-----------|\\n| PH | ผ (bee) | พ (tray), ภ (ship) |\\n| F | ฝ (lid) | ฟ (tooth) |\\n\\n**พ** vs **ภ**:\\n- Both low-class, both sound /ph/\\n- พ is common in everyday words\\n- ภ appears in Sanskrit-derived words\\n\\nExamples:\\n- พ่อ (phɔ̂ɔ) \\\"father\\\" — uses พ\\n- ภาษา (phaa-sǎa) \\\"language\\\" — uses ภ\\n\\n## The Sonorants: ม ร ล\\n\\nThese three consonants are **sonorants** — sounds produced with continuous, non-turbulent airflow. They're special because:\\n\\n1. **They never become stops**: Unlike ก → /k/, these stay voiced\\n2. **They can form syllables**: ม can be syllabic (มม = /mm/)\\n3. **They're all low-class**: Need ห to get high-class tones\\n\\n### ม (M Sound)\\n\\nThe simplest nasal:\\n- Initial: ม (just /m/)\\n- Final: ม (still /m/)\\n- Example: มา (maa) \\\"to come\\\", ลม (lom) \\\"wind\\\"\\n\\n### ร and ล (R and L Sounds)\\n\\nThese two are often confused, even by Thai speakers:\\n\\n| Position | ร | ล |\\n|----------|---|---|\\n| Initial | Rolled R | L |\\n| Final | N | N |\\n\\n**Colloquial Thai**: Many speakers pronounce ร as ล:\\n- รัก sounds like ลัก\\n- ร้อน sounds like ล้อน\\n\\nThis is common but considered informal in standard Thai.\\n\\n**Final position twist**: Both become /n/:\\n- ตอร = /dtɔɔn/\\n- กล = /gon/\\n\\n## The ห Lifting Pattern\\n\\nAll today's consonants are low-class. To get high-class tones:\\n\\n| Original | With ห | Tone Effect |\\n|----------|--------|-------------|\\n| ม | หม | Low → High pattern |\\n| ร | (rare) | — |\\n| ล | หล | Low → High pattern |\\n\\nExamples:\\n- ม้า (máa) \\\"horse\\\" — low-class ม, high tone from ้\\n- หมา (mǎa) \\\"dog\\\" — ห lifts, rising tone\\n\\n## Why So Many TH and PH?\\n\\nSanskrit had a complex system:\\n- Unvoiced unaspirated: त (ta)\\n- Unvoiced aspirated: थ (tha)\\n- Voiced unaspirated: द (da)\\n- Voiced aspirated: ध (dha)\\n\\nThai inherited these distinctions in spelling but not pronunciation. That's why ท ธ ถ all sound the same!\\n\\n## Reading Practice Pattern\\n\\nWhen you see unfamiliar TH/PH words:\\n1. Don't try to distinguish the sound (it's the same!)\\n2. Instead, identify the **class** for tone\\n3. Use tone marks and vowels to determine final pronunciation\\n\\nExample: ธุรกิจ (thú-rá-gìt) \\\"business\\\"\\n- ธ = low-class TH\\n- Tone determined by syllable structure, not the specific TH letter\\n\\n## Key Points\\n\\n1. **TH family complete**: ต ถ ท ธ — different classes, same sound\\n2. **PH family complete**: ผ พ ภ — different classes, same sound\\n3. **F pair**: ฝ (high) vs ฟ (low) — same sound\\n4. **ม ร ล are sonorants**: Continuous airflow, stay voiced in final position\\n5. **ร and ล both → /n/ finally**: Surprising but consistent!\\n6. **ห lifts**: หม หล create high-class tone behavior\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"low-3-sonorant-recognition\\\" type=\\\"fill-in-blank\\\" title=\\\"Sonorant Recognition\\\" skill=\\\"character-class-identification\\\" tests=\\\"horse,boat,monkey\\\" objectiveId=\\\"obj-sonorant-class\\\"}\\n\\n**Question:** Which consonants are sonorants (continuous airflow, never become stops)?\\n\\n**Answer:**\\n\\n- ม (m) - nasal, stays /m/ in final position\\n- ร (r) - liquid, becomes /n/ finally\\n- ล (l) - liquid, becomes /n/ finally\\n\\n**Explanation:** Sonorants are consonants with continuous, non-turbulent airflow. Unlike stops (ก → /k/), sonorants maintain their voiced quality or transform predictably (ร/ล → /n/).\\n\\n:::\\n\\n:::exercise{id=\\\"low-3-final-sounds\\\" type=\\\"matching\\\" title=\\\"Final Position Sounds\\\" skill=\\\"character-sound-mapping\\\" tests=\\\"boat,monkey,tooth,flag\\\" objectiveId=\\\"obj-mixed-reading\\\"}\\n\\n**Question:** Match each consonant to its final position sound\\n\\n- ร (boat)\\n- ล (monkey)\\n- ฟ (tooth)\\n- ธ (flag)\\n\\n**Answer:**\\n\\n- ร → /n/ (becomes N)\\n- ล → /n/ (becomes N)\\n- ฟ → /p/ (becomes unreleased P)\\n- ธ → /t/ (becomes unreleased T)\\n\\n**Explanation:** Thai consonants change in final position. Sonorants ร and ล both become /n/, while stops like ฟ and ธ become unreleased /p/ and /t/ respectively.\\n\\n:::\\n\\n:::exercise{id=\\\"low-3-pair-completion\\\" type=\\\"multiple-choice\\\" title=\\\"Complete the Pair\\\" skill=\\\"character-class-identification\\\" tests=\\\"tooth\\\" objectiveId=\\\"obj-paired-sets\\\"}\\n\\n**Question:** Which consonant pairs with ฝ (lid) to make the same F sound but different class?\\n\\n**Options:**\\n- ฟ (tooth)\\n- ผ (bee)\\n- พ (tray)\\n- ภ (ship)\\n\\n**Answer:** 1\\n\\n**Explanation:** ฝ (high-class) and ฟ (low-class) both make the F sound. ฝ is high-class (produces rising tones), while ฟ is low-class (produces mid tones in basic patterns). Both are F sounds, not PH sounds.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 8, you'll learn rare and formal consonants: ญ ณ ศ ษ — characters used in formal Thai and loanwords.\\n\""],"names":["lesson07"],"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;"}
@@ -14,11 +14,23 @@ metadata:
14
14
  estimatedTime: 35
15
15
  prerequisites:
16
16
  - thai-vowels-lesson-06
17
- objectives:
18
- - "Recognize all four tone marks"
19
- - "Understand how tone marks modify syllables"
20
- - "Learn which classes use which tone marks"
21
- - "Practice reading syllables with tone marks"
17
+ learningObjectives:
18
+ - id: obj-recognize-tone-marks
19
+ description: "Recognize all four tone marks"
20
+ skill: character-recognition
21
+ references: [mai-ek, mai-tho, mai-tri, mai-chattawa]
22
+ - id: obj-tone-mark-modification
23
+ description: "Understand how tone marks modify syllables"
24
+ skill: tone-rule-application
25
+ references: [mai-ek, mai-tho, mai-tri, mai-chattawa]
26
+ - id: obj-class-tone-mark-usage
27
+ description: "Learn which classes use which tone marks"
28
+ skill: tone-mark-placement
29
+ references: [mai-ek, mai-tho, mai-tri, mai-chattawa]
30
+ - id: obj-read-syllables-tone-marks
31
+ description: "Practice reading syllables with tone marks"
32
+ skill: tone-perception
33
+ references: [mai-ek, mai-tho, mai-tri, mai-chattawa]
22
34
  ---
23
35
 
24
36
  # บทที่ 7 (Lesson 7) — The Four Tone Marks
@@ -43,13 +55,13 @@ Before learning the marks, understand the five tones:
43
55
 
44
56
  :::character-set{id="thai-tone-marks" title="The Four Tone Marks"}
45
57
 
46
- ::character{id="th-tone-mai-ek" char="่" name="ไม้เอก (mai ek)" nativeName="ไม้เอก" transliteration="mai ek" charType="tone"}
58
+ ::character{id="mai-ek" canonicalRef="mai-ek" char="่" name="ไม้เอก (mai ek)" nativeName="ไม้เอก" transliteration="mai ek" charType="tone"}
47
59
 
48
- ::character{id="th-tone-mai-tho" char="้" name="ไม้โท (mai tho)" nativeName="ไม้โท" transliteration="mai tho" charType="tone"}
60
+ ::character{id="mai-tho" canonicalRef="mai-tho" char="้" name="ไม้โท (mai tho)" nativeName="ไม้โท" transliteration="mai tho" charType="tone"}
49
61
 
50
- ::character{id="th-tone-mai-tri" char="๊" name="ไม้ตรี (mai tri)" nativeName="ไม้ตรี" transliteration="mai tri" charType="tone"}
62
+ ::character{id="mai-tri" canonicalRef="mai-tri" char="๊" name="ไม้ตรี (mai tri)" nativeName="ไม้ตรี" transliteration="mai tri" charType="tone"}
51
63
 
52
- ::character{id="th-tone-mai-chattawa" char="๋" name="ไม้จัตวา (mai chattawa)" nativeName="ไม้จัตวา" transliteration="mai chattawa" charType="tone"}
64
+ ::character{id="mai-chattawa" canonicalRef="mai-chattawa" char="๋" name="ไม้จัตวา (mai chattawa)" nativeName="ไม้จัตวา" transliteration="mai chattawa" charType="tone"}
53
65
 
54
66
  :::
55
67
 
@@ -156,7 +168,7 @@ Understanding how the same tone mark produces different tones by class:
156
168
 
157
169
  ## Practice Exercises
158
170
 
159
- :::exercise{id="tone-marks-1-recognition" type="matching" title="Tone Mark Recognition"}
171
+ :::exercise{id="tone-marks-1-recognition" type="matching" title="Tone Mark Recognition" skill="character-recognition" tests="mai-ek,mai-tho,mai-tri,mai-chattawa" objectiveId="obj-recognize-tone-marks"}
160
172
 
161
173
  **Question:** Match each tone mark to its name
162
174
 
@@ -176,7 +188,7 @@ Understanding how the same tone mark produces different tones by class:
176
188
 
177
189
  :::
178
190
 
179
- :::exercise{id="tone-marks-1-class-interaction" type="multiple-choice" title="Tone Mark and Class"}
191
+ :::exercise{id="tone-marks-1-class-interaction" type="multiple-choice" title="Tone Mark and Class" skill="tone-rule-application" tests="mai-ek,mai-tho,mai-tri,mai-chattawa" objectiveId="obj-class-tone-mark-usage"}
180
192
 
181
193
  **Question:** Which tone mark can be used with all three consonant classes?
182
194
 
@@ -192,7 +204,7 @@ Understanding how the same tone mark produces different tones by class:
192
204
 
193
205
  :::
194
206
 
195
- :::exercise{id="tone-marks-1-prediction" type="fill-in-blank" title="Tone Prediction"}
207
+ :::exercise{id="tone-marks-1-prediction" type="fill-in-blank" title="Tone Prediction" skill="tone-rule-application" tests="mai-ek,mai-tho" objectiveId="obj-tone-mark-modification"}
196
208
 
197
209
  **Question:** Predict the tone for these words:
198
210
 
@@ -219,4 +231,4 @@ In Lesson 8, you'll learn the complete **tone rules** — how to determine the t
219
231
  export {
220
232
  n as default
221
233
  };
222
- //# sourceMappingURL=lesson-07-rvSSQiVh.js.map
234
+ //# sourceMappingURL=lesson-07-C4GrfDTW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-07-C4GrfDTW.js","sources":["../src/syllabi/vowels-tones/lessons/lesson-07.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-vowels-lesson-07\\ntitle: \\\"บทที่ 7 — วรรณยุกต์\\\"\\ndescription: \\\"The Four Tone Marks: Direct tone modification\\\"\\norder: 7\\nparentId: thai-vowels-tones\\ndifficulty: intermediate\\ncefrLevel: A1\\ncategories:\\n - tones\\n - tone-marks\\nmetadata:\\n estimatedTime: 35\\n prerequisites:\\n - thai-vowels-lesson-06\\n learningObjectives:\\n - id: obj-recognize-tone-marks\\n description: \\\"Recognize all four tone marks\\\"\\n skill: character-recognition\\n references: [mai-ek, mai-tho, mai-tri, mai-chattawa]\\n - id: obj-tone-mark-modification\\n description: \\\"Understand how tone marks modify syllables\\\"\\n skill: tone-rule-application\\n references: [mai-ek, mai-tho, mai-tri, mai-chattawa]\\n - id: obj-class-tone-mark-usage\\n description: \\\"Learn which classes use which tone marks\\\"\\n skill: tone-mark-placement\\n references: [mai-ek, mai-tho, mai-tri, mai-chattawa]\\n - id: obj-read-syllables-tone-marks\\n description: \\\"Practice reading syllables with tone marks\\\"\\n skill: tone-perception\\n references: [mai-ek, mai-tho, mai-tri, mai-chattawa]\\n---\\n\\n# บทที่ 7 (Lesson 7) — The Four Tone Marks\\n\\n## Introduction\\n\\nThai has **5 tones** but only **4 tone marks** (วรรณยุกต์). The fifth tone (mid tone) has no mark — it's the default. Understanding these marks is crucial because the same syllable can mean completely different things depending on its tone.\\n\\n## The Five Thai Tones\\n\\nBefore learning the marks, understand the five tones:\\n\\n| Tone | Thai Name | Contour | Description |\\n|------|-----------|---------|-------------|\\n| Mid | สามัญ (sǎa-man) | — | Flat, neutral pitch |\\n| Low | เอก (èek) | ˋ | Low and flat |\\n| Falling | โท (thoo) | ˆ | Starts high, drops |\\n| High | ตรี (dtrii) | ˊ | High and flat |\\n| Rising | จัตวา (jàt-dtà-waa) | ˇ | Low then rises |\\n\\n## Characters\\n\\n:::character-set{id=\\\"thai-tone-marks\\\" title=\\\"The Four Tone Marks\\\"}\\n\\n::character{id=\\\"mai-ek\\\" canonicalRef=\\\"mai-ek\\\" char=\\\"่\\\" name=\\\"ไม้เอก (mai ek)\\\" nativeName=\\\"ไม้เอก\\\" transliteration=\\\"mai ek\\\" charType=\\\"tone\\\"}\\n\\n::character{id=\\\"mai-tho\\\" canonicalRef=\\\"mai-tho\\\" char=\\\"้\\\" name=\\\"ไม้โท (mai tho)\\\" nativeName=\\\"ไม้โท\\\" transliteration=\\\"mai tho\\\" charType=\\\"tone\\\"}\\n\\n::character{id=\\\"mai-tri\\\" canonicalRef=\\\"mai-tri\\\" char=\\\"๊\\\" name=\\\"ไม้ตรี (mai tri)\\\" nativeName=\\\"ไม้ตรี\\\" transliteration=\\\"mai tri\\\" charType=\\\"tone\\\"}\\n\\n::character{id=\\\"mai-chattawa\\\" canonicalRef=\\\"mai-chattawa\\\" char=\\\"๋\\\" name=\\\"ไม้จัตวา (mai chattawa)\\\" nativeName=\\\"ไม้จัตวา\\\" transliteration=\\\"mai chattawa\\\" charType=\\\"tone\\\"}\\n\\n:::\\n\\n## How Tone Marks Work (The Complication)\\n\\nHere's where Thai gets interesting: **the same tone mark produces different tones depending on the consonant class**!\\n\\n| Tone Mark | Middle Class | High Class | Low Class |\\n|-----------|--------------|------------|-----------|\\n| (none) | Mid | Rising | Mid |\\n| ่ (mai ek) | Low | Low | Falling |\\n| ้ (mai tho) | Falling | Falling | High |\\n| ๊ (mai tri) | High | — | — |\\n| ๋ (mai chattawa) | Rising | — | — |\\n\\n**Key insight**: Mai tri (๊) and mai chattawa (๋) are **only used with middle-class consonants**.\\n\\n## Breaking Down Each Tone Mark\\n\\n### ่ Mai Ek (ไม้เอก)\\n\\nThe most common tone mark. It creates:\\n- **Low tone** on middle and high class consonants\\n- **Falling tone** on low class consonants\\n\\n| Class | Example | Tone | Meaning |\\n|-------|---------|------|---------|\\n| Middle | ก่า (gàa) | Low | — |\\n| High | ข่า (khàa) | Low | galangal |\\n| Low | ค่า (khâa) | Falling | price |\\n\\n### ้ Mai Tho (ไม้โท)\\n\\nThe second most common mark:\\n- **Falling tone** on middle and high class consonants\\n- **High tone** on low class consonants\\n\\n| Class | Example | Tone | Meaning |\\n|-------|---------|------|---------|\\n| Middle | ก้า (gâa) | Falling | — |\\n| High | ข้า (khâa) | Falling | slave (archaic) |\\n| Low | ค้า (kháa) | High | trade |\\n\\n### ๊ Mai Tri (ไม้ตรี)\\n\\nOnly used with **middle class** consonants to create a **high tone**:\\n\\n| Example | Tone | Meaning |\\n|---------|------|---------|\\n| ก๊วน (guán) | High | group (slang) |\\n\\n### ๋ Mai Chattawa (ไม้จัตวา)\\n\\nOnly used with **middle class** consonants to create a **rising tone**:\\n\\n| Example | Tone | Meaning |\\n|---------|------|---------|\\n| — | Rising | (rare) |\\n\\n**Note**: Mai tri and mai chattawa are relatively rare and mostly appear in loanwords or slang.\\n\\n## The Famous \\\"Mai\\\" Example\\n\\nThe word มาย/มาย/ม้าย demonstrates tone importance:\\n\\n| Written | Tone | Meaning |\\n|---------|------|---------|\\n| มา | Mid | to come |\\n| หมา | Rising | dog |\\n| ม่า | Low | horse (Teochew) |\\n| ม้า | Falling | horse |\\n| หม่า | Low | (rare) |\\n\\n(Note: Some of these are rare or dialectal)\\n\\n## Key Points\\n\\n1. **4 marks, 5 tones**: Mid tone has no mark\\n2. **Class matters**: Same mark = different tone on different classes\\n3. **Mai tri/chattawa**: Middle class only\\n4. **Memorize the chart**: Understanding tone mark + class combinations is essential\\n\\n## Practice Recognition\\n\\nIdentify the tone marks in these words:\\n- ไม่ (mâi) — not → mai tho on ม\\n- ก้าง (gâang) — fishbone → mai tho on ก\\n- ข่าว (khàao) — news → mai ek on ข\\n- ค้าง (kháang) — stuck → mai tho on ค\\n\\n## Tone Comparison Table\\n\\nUnderstanding how the same tone mark produces different tones by class:\\n\\n| Tone Mark | Middle Class Example | High Class Example | Low Class Example |\\n|-----------|----------------------|-------------------|-------------------|\\n| (none) | กา (gaa) - Mid | ขา (khǎa) - Rising | คา (khaa) - Mid |\\n| ◌่ (mai ek) | ก่า (gàa) - Low | ข่า (khàa) - Low | ค่า (khâa) - Falling |\\n| ◌้ (mai tho) | ก้า (gâa) - Falling | ข้า (khâa) - Falling | ค้า (kháa) - High |\\n| ◌๊ (mai tri) | ก๊า (gáa) - High | (not used) | (not used) |\\n| ◌๋ (mai chattawa) | ก๋า (gǎa) - Rising | (not used) | (not used) |\\n\\n**Key insight**: Notice how ค้า (low-class + mai tho) produces HIGH tone — this is the famous exception!\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"tone-marks-1-recognition\\\" type=\\\"matching\\\" title=\\\"Tone Mark Recognition\\\" skill=\\\"character-recognition\\\" tests=\\\"mai-ek,mai-tho,mai-tri,mai-chattawa\\\" objectiveId=\\\"obj-recognize-tone-marks\\\"}\\n\\n**Question:** Match each tone mark to its name\\n\\n- ◌่\\n- ◌้\\n- ◌๊\\n- ◌๋\\n\\n**Answer:**\\n\\n- ◌่ → ไม้เอก (mai ek) - first mark\\n- ◌้ → ไม้โท (mai tho) - second mark\\n- ◌๊ → ไม้ตรี (mai tri) - third mark\\n- ◌๋ → ไม้จัตวา (mai chattawa) - fourth mark\\n\\n**Explanation:** The tone marks are named \\\"first, second, third, fourth\\\" in Thai. Mai ek and mai tho are very common, while mai tri and mai chattawa are rare and only used with middle-class consonants.\\n\\n:::\\n\\n:::exercise{id=\\\"tone-marks-1-class-interaction\\\" type=\\\"multiple-choice\\\" title=\\\"Tone Mark and Class\\\" skill=\\\"tone-rule-application\\\" tests=\\\"mai-ek,mai-tho,mai-tri,mai-chattawa\\\" objectiveId=\\\"obj-class-tone-mark-usage\\\"}\\n\\n**Question:** Which tone mark can be used with all three consonant classes?\\n\\n**Options:**\\n- ◌่ (mai ek)\\n- ◌้ (mai tho)\\n- ◌๊ (mai tri)\\n- ◌๋ (mai chattawa)\\n\\n**Answer:** Both 1 and 2\\n\\n**Explanation:** Mai ek (◌่) and mai tho (◌้) can be used with middle, high, and low-class consonants, though they produce different tones on each. Mai tri (◌๊) and mai chattawa (◌๋) are only used with middle-class consonants.\\n\\n:::\\n\\n:::exercise{id=\\\"tone-marks-1-prediction\\\" type=\\\"fill-in-blank\\\" title=\\\"Tone Prediction\\\" skill=\\\"tone-rule-application\\\" tests=\\\"mai-ek,mai-tho\\\" objectiveId=\\\"obj-tone-mark-modification\\\"}\\n\\n**Question:** Predict the tone for these words:\\n\\n- ก่า (middle-class ก + mai ek)\\n- ข่า (high-class ข + mai ek)\\n- ค่า (low-class ค + mai ek)\\n- ค้า (low-class ค + mai tho)\\n\\n**Answer:**\\n\\n- ก่า → Low tone (middle-class + mai ek)\\n- ข่า → Low tone (high-class + mai ek)\\n- ค่า → Falling tone (low-class + mai ek)\\n- ค้า → High tone (low-class + mai tho - the exception!)\\n\\n**Explanation:** Mai ek creates low tone on middle/high class, but falling tone on low class. Mai tho creates falling on middle/high, but HIGH on low class — this is the key exception to remember!\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 8, you'll learn the complete **tone rules** — how to determine the tone of any syllable based on consonant class, vowel length, and final consonant.\\n\""],"names":["lesson07"],"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;"}
@@ -14,10 +14,16 @@ metadata:
14
14
  estimatedTime: 30
15
15
  prerequisites:
16
16
  - thai-grammar-lesson-06
17
- objectives:
18
- - "Make comparisons"
19
- - "Express superlatives"
20
- - "Say things are the same or different"
17
+ learningObjectives:
18
+ - id: obj-07-comparisons
19
+ description: "Make comparisons"
20
+ skill: pattern-application
21
+ - id: obj-07-superlatives
22
+ description: "Express superlatives"
23
+ skill: pattern-application
24
+ - id: obj-07-same-different
25
+ description: "Say things are the same or different"
26
+ skill: word-production
21
27
  ---
22
28
 
23
29
  # บทที่ 7 (Lesson 7) — Comparisons
@@ -138,7 +144,7 @@ Example:
138
144
 
139
145
  ## Practice Exercises
140
146
 
141
- :::exercise{id="grammar-7-comparative" type="fill-in-blank" title="Making Comparisons"}
147
+ :::exercise{id="grammar-7-comparative" type="fill-in-blank" title="Making Comparisons" skill="pattern-application" objectiveId="obj-07-comparisons"}
142
148
 
143
149
  **Question:** How do you say these comparisons in Thai?
144
150
 
@@ -156,7 +162,7 @@ Example:
156
162
 
157
163
  :::
158
164
 
159
- :::exercise{id="grammar-7-same-different" type="matching" title="Same vs Different"}
165
+ :::exercise{id="grammar-7-same-different" type="matching" title="Same vs Different" skill="word-recognition" objectiveId="obj-07-same-different"}
160
166
 
161
167
  **Question:** Match each phrase to its meaning
162
168
 
@@ -174,7 +180,7 @@ Example:
174
180
 
175
181
  :::
176
182
 
177
- :::exercise{id="grammar-7-superlative" type="multiple-choice" title="Superlative Formation"}
183
+ :::exercise{id="grammar-7-superlative" type="multiple-choice" title="Superlative Formation" skill="pattern-application" objectiveId="obj-07-superlatives"}
178
184
 
179
185
  **Question:** How do you form superlatives in Thai?
180
186
 
@@ -197,4 +203,4 @@ In Lesson 8, you'll learn conjunctions — connect ideas with "and", "but", "bec
197
203
  export {
198
204
  n as default
199
205
  };
200
- //# sourceMappingURL=lesson-07-CTFSd9gF.js.map
206
+ //# sourceMappingURL=lesson-07-CVCUt1Jn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-07-CVCUt1Jn.js","sources":["../src/syllabi/grammar/lessons/lesson-07.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-grammar-lesson-07\\ntitle: \\\"บทที่ 7 — การเปรียบเทียบ\\\"\\ndescription: \\\"Comparisons: More, less, same, most\\\"\\norder: 7\\nparentId: thai-grammar\\ndifficulty: intermediate\\ncefrLevel: B1\\ncategories:\\n - grammar\\n - comparisons\\nmetadata:\\n estimatedTime: 30\\n prerequisites:\\n - thai-grammar-lesson-06\\n learningObjectives:\\n - id: obj-07-comparisons\\n description: \\\"Make comparisons\\\"\\n skill: pattern-application\\n - id: obj-07-superlatives\\n description: \\\"Express superlatives\\\"\\n skill: pattern-application\\n - id: obj-07-same-different\\n description: \\\"Say things are the same or different\\\"\\n skill: word-production\\n---\\n\\n# บทที่ 7 (Lesson 7) — Comparisons\\n\\n## Introduction\\n\\nComparing things in Thai uses simple patterns with key words like **กว่า** (more than), **ที่สุด** (most), and **เท่ากัน** (same).\\n\\n## Comparatives: กว่า (gwàa) - More Than\\n\\n**Pattern: A + Adj + กว่า + B**\\n\\n| Thai | Meaning |\\n|------|---------|\\n| เขาสูงกว่าผม | He is taller than me |\\n| นี่แพงกว่านั่น | This is more expensive than that |\\n| กรุงเทพร้อนกว่าเชียงใหม่ | Bangkok is hotter than Chiang Mai |\\n\\n## Asking for Comparisons\\n\\n| Thai | Meaning |\\n|------|---------|\\n| อันไหนดีกว่า? | Which one is better? |\\n| ใครเก่งกว่า? | Who is better/smarter? |\\n| อะไรถูกกว่า? | What's cheaper? |\\n\\n## Superlatives: ที่สุด (thîi-sùt) - Most/Best\\n\\n**Pattern: Adj + ที่สุด**\\n\\n| Thai | Meaning |\\n|------|---------|\\n| ดีที่สุด | best |\\n| ใหญ่ที่สุด | biggest |\\n| แพงที่สุด | most expensive |\\n| สวยที่สุด | most beautiful |\\n\\nExamples:\\n- ร้านนี้อร่อยที่สุด (This restaurant is the most delicious)\\n- เขาเก่งที่สุดในห้อง (He's the best in the class)\\n\\n## Same: เหมือนกัน / เท่ากัน\\n\\n| Pattern | Meaning | Use |\\n|---------|---------|-----|\\n| A + เหมือน + B | A is like B | General similarity |\\n| A กับ B เหมือนกัน | A and B are the same | Identical |\\n| A กับ B เท่ากัน | A and B are equal | Same amount/degree |\\n\\nExamples:\\n- สีเหมือนกัน (Same color)\\n- ราคาเท่ากัน (Same price)\\n- รสชาติเหมือนกัน (Same taste)\\n\\n## Different: ต่างกัน / ไม่เหมือนกัน\\n\\n| Thai | Meaning |\\n|------|---------|\\n| ต่างกัน | different |\\n| ไม่เหมือนกัน | not the same |\\n\\nExample:\\n- อันนี้กับอันนั้นต่างกัน (This and that are different)\\n\\n## More/Less Specific Amounts\\n\\n| Thai | Meaning |\\n|------|---------|\\n| มากกว่า | more than |\\n| น้อยกว่า | less than |\\n| เยอะกว่า | more (quantity) |\\n| ไม่เท่า | not as much as |\\n\\nExamples:\\n- ผมมีเงินน้อยกว่าเขา (I have less money than him)\\n- มีคนเยอะกว่าเมื่อวาน (More people than yesterday)\\n\\n## As...As: เท่ากับ / เหมือน...เลย\\n\\n| Pattern | Meaning |\\n|---------|---------|\\n| A + Adj + เท่ากับ + B | A is as [adj] as B |\\n| A + Adj + เหมือน + B + เลย | A is just like B |\\n\\nExample:\\n- เขาสวยเท่ากับดาราเลย! (She's as beautiful as a movie star!)\\n\\n## Common Comparison Phrases\\n\\n| Thai | Meaning |\\n|------|---------|\\n| ยิ่ง...ยิ่ง... | The more...the more... |\\n| ดีขึ้น | better (improved) |\\n| แย่ลง | worse |\\n| เท่าเดิม | same as before |\\n\\nExample:\\n- ยิ่งเรียนยิ่งเก่ง (The more you study, the better you get)\\n\\n## Key Points\\n\\n1. **กว่า** after adjective = \\\"more than\\\"\\n2. **ที่สุด** after adjective = \\\"most/best\\\"\\n3. **เหมือนกัน** = same (similar)\\n4. **เท่ากัน** = same (equal amount)\\n5. **ต่างกัน** = different\\n\\n## Comparison Pattern Table\\n\\n| Pattern | Structure | Example | Meaning |\\n|---------|-----------|---------|---------|\\n| Comparative | A + Adj + กว่า + B | เขาสูงกว่าผม | A is more [adj] than B |\\n| Superlative | Adj + ที่สุด | ดีที่สุด | The most [adj] |\\n| Same (similar) | A กับ B เหมือนกัน | สีเหมือนกัน | A and B are the same |\\n| Same (equal) | A กับ B เท่ากัน | ราคาเท่ากัน | A and B are equal |\\n| Different | A กับ B ต่างกัน | ต่างกัน | A and B are different |\\n| As...as | A + Adj + เท่ากับ + B | สวยเท่ากับดารา | A is as [adj] as B |\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"grammar-7-comparative\\\" type=\\\"fill-in-blank\\\" title=\\\"Making Comparisons\\\" skill=\\\"pattern-application\\\" objectiveId=\\\"obj-07-comparisons\\\"}\\n\\n**Question:** How do you say these comparisons in Thai?\\n\\n- This is more expensive than that\\n- Which one is better?\\n- This restaurant is the most delicious\\n\\n**Answer:**\\n\\n- นี่แพงกว่านั่น (This expensive more-than that)\\n- อันไหนดีกว่า? (Which one good more-than?)\\n- ร้านนี้อร่อยที่สุด (This restaurant delicious most)\\n\\n**Explanation:** Use กว่า for \\\"more than\\\" comparisons and ที่สุด for superlatives. The pattern is: [subject] + [adjective] + กว่า/ที่สุด.\\n\\n:::\\n\\n:::exercise{id=\\\"grammar-7-same-different\\\" type=\\\"matching\\\" title=\\\"Same vs Different\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-07-same-different\\\"}\\n\\n**Question:** Match each phrase to its meaning\\n\\n- สีเหมือนกัน\\n- ราคาเท่ากัน\\n- ต่างกัน\\n\\n**Answer:**\\n\\n- สีเหมือนกัน → Same color (similar appearance)\\n- ราคาเท่ากัน → Same price (equal amount)\\n- ต่างกัน → Different\\n\\n**Explanation:** เหมือนกัน means \\\"the same\\\" in terms of similarity (looks, feels, etc.), while เท่ากัน means \\\"equal\\\" in terms of amount or degree. ต่างกัน means \\\"different\\\".\\n\\n:::\\n\\n:::exercise{id=\\\"grammar-7-superlative\\\" type=\\\"multiple-choice\\\" title=\\\"Superlative Formation\\\" skill=\\\"pattern-application\\\" objectiveId=\\\"obj-07-superlatives\\\"}\\n\\n**Question:** How do you form superlatives in Thai?\\n\\n**Options:**\\n- Adj + กว่า\\n- Adj + ที่สุด\\n- กว่า + Adj\\n- ที่สุด + Adj\\n\\n**Answer:** 2\\n\\n**Explanation:** Superlatives use the pattern: [adjective] + ที่สุด. For example, ดีที่สุด (the best), แพงที่สุด (the most expensive). ที่สุด always comes after the adjective.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 8, you'll learn conjunctions — connect ideas with \\\"and\\\", \\\"but\\\", \\\"because\\\", and \\\"if\\\" to create complex sentences in Thai.\\n\""],"names":["lesson07"],"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;"}
@@ -15,11 +15,19 @@ metadata:
15
15
  estimatedTime: 30
16
16
  prerequisites:
17
17
  - thai-dialogue-lesson-06
18
- objectives:
19
- - "Ask about sizes and colors"
20
- - "Request to try things on"
21
- - "Bargain at markets"
22
- - "Return or exchange items"
18
+ learningObjectives:
19
+ - id: obj-shopping-sizes
20
+ description: "Ask about sizes and colors"
21
+ skill: word-production
22
+ - id: obj-shopping-try-on
23
+ description: "Request to try things on"
24
+ skill: polite-register
25
+ - id: obj-shopping-bargain
26
+ description: "Bargain at markets"
27
+ skill: situational-response
28
+ - id: obj-shopping-exchange
29
+ description: "Return or exchange items"
30
+ skill: dialogue-comprehension
23
31
  ---
24
32
 
25
33
  # บทที่ 7 (Lesson 7) — Shopping
@@ -123,7 +131,7 @@ Bargaining is expected at markets and small shops, but not at malls or stores wi
123
131
 
124
132
  ## Practice Exercises
125
133
 
126
- :::exercise{id="dialogue-7-shopping-phrases" type="matching" title="Shopping Phrases"}
134
+ :::exercise{id="dialogue-7-shopping-phrases" type="matching" title="Shopping Phrases" skill="word-recognition" objectiveId="obj-shopping-sizes"}
127
135
 
128
136
  **Question:** Match each shopping phrase to its meaning
129
137
 
@@ -143,7 +151,7 @@ Bargaining is expected at markets and small shops, but not at malls or stores wi
143
151
 
144
152
  :::
145
153
 
146
- :::exercise{id="dialogue-7-size-problems" type="fill-in-blank" title="Size and Fit Problems"}
154
+ :::exercise{id="dialogue-7-size-problems" type="fill-in-blank" title="Size and Fit Problems" skill="pattern-application" objectiveId="obj-shopping-sizes"}
147
155
 
148
156
  **Question:** How do you say these fit problems in Thai?
149
157
 
@@ -163,7 +171,7 @@ Bargaining is expected at markets and small shops, but not at malls or stores wi
163
171
 
164
172
  :::
165
173
 
166
- :::exercise{id="dialogue-7-bargaining" type="multiple-choice" title="Bargaining Strategy"}
174
+ :::exercise{id="dialogue-7-bargaining" type="multiple-choice" title="Bargaining Strategy" skill="situational-response" objectiveId="obj-shopping-bargain"}
167
175
 
168
176
  **Question:** Where is bargaining expected in Thailand?
169
177
 
@@ -186,4 +194,4 @@ In Lesson 8, you'll learn dialogues for making plans — suggesting activities,
186
194
  export {
187
195
  n as default
188
196
  };
189
- //# sourceMappingURL=lesson-07-8zdPFyjE.js.map
197
+ //# sourceMappingURL=lesson-07-DQFXCZsZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-07-DQFXCZsZ.js","sources":["../src/syllabi/dialogue/lessons/lesson-07.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-dialogue-lesson-07\\ntitle: \\\"บทที่ 7 — ช้อปปิ้ง\\\"\\ndescription: \\\"Shopping: Clothes, sizes, and trying things on\\\"\\norder: 7\\nparentId: thai-dialogue\\ndifficulty: intermediate\\ncefrLevel: A2\\ncategories:\\n - dialogue\\n - shopping\\n - clothing\\nmetadata:\\n estimatedTime: 30\\n prerequisites:\\n - thai-dialogue-lesson-06\\n learningObjectives:\\n - id: obj-shopping-sizes\\n description: \\\"Ask about sizes and colors\\\"\\n skill: word-production\\n - id: obj-shopping-try-on\\n description: \\\"Request to try things on\\\"\\n skill: polite-register\\n - id: obj-shopping-bargain\\n description: \\\"Bargain at markets\\\"\\n skill: situational-response\\n - id: obj-shopping-exchange\\n description: \\\"Return or exchange items\\\"\\n skill: dialogue-comprehension\\n---\\n\\n# บทที่ 7 (Lesson 7) — Shopping\\n\\n## Situation\\n\\nYou're shopping for clothes at a market stall.\\n\\n## Dialogue\\n\\n:::dialogue{id=\\\"shopping-dialogue-1\\\" title=\\\"Buying Clothes\\\"}\\n\\n**คุณ (You):** ขอดูเสื้อตัวนี้หน่อยได้ไหมครับ/คะ?\\n*khǎaw duu sûuea dtuua níi nàwy dâai mái khráp/khá?*\\nCan I see this shirt please?\\n\\n**ผู้ขาย (Vendor):** ได้ค่ะ ตัวนี้สวยมากค่ะ\\n*dâai khâ, dtuua níi sǔuay mâak khâ*\\nSure! This one is very beautiful.\\n\\n**คุณ:** มีไซส์ L ไหมครับ/คะ?\\n*mii sái L mái khráp/khá?*\\nDo you have size L?\\n\\n**ผู้ขาย:** มีค่ะ มีสีอะไรบ้างคะ? มีสีน้ำเงิน สีขาว สีดำค่ะ\\n*mii khâ, mii sǐi à-rai bâang khá? mii sǐi nám-ngəən, sǐi khǎao, sǐi dam khâ*\\nYes. What color? We have blue, white, and black.\\n\\n**คุณ:** เอาสีน้ำเงินครับ/ค่ะ ลองได้ไหมครับ/คะ?\\n*ao sǐi nám-ngəən khráp/khâ, lawng dâai mái khráp/khá?*\\nI'll take blue. Can I try it on?\\n\\n**ผู้ขาย:** ได้ค่ะ ห้องลองอยู่ตรงนั้นค่ะ\\n*dâai khâ, hâwng lawng yùu dtrong-nán khâ*\\nSure, the fitting room is over there.\\n\\n*[After trying on]*\\n\\n**คุณ:** เล็กไปหน่อย มีใหญ่กว่านี้ไหมครับ/คะ?\\n*lék bpai nàwy, mii yài gwàa níi mái khráp/khá?*\\nIt's a bit small. Do you have a bigger one?\\n\\n**ผู้ขาย:** มีค่ะ ลองตัวนี้ดูค่ะ ไซส์ XL\\n*mii khâ, lawng dtuua níi duu khâ, sái XL*\\nYes, try this one. Size XL.\\n\\n**คุณ:** พอดีเลยครับ/ค่ะ เท่าไหร่ครับ/คะ?\\n*phaw-dii ləəi khráp/khâ, thâo-rài khráp/khá?*\\nPerfect fit! How much?\\n\\n:::\\n\\n## Key Phrases\\n\\n| Thai | Romanization | Meaning |\\n|------|--------------|---------|\\n| ขอดูหน่อย | khǎaw duu nàwy | Can I see (it)? |\\n| มีไซส์...ไหม? | mii sái...mái? | Do you have size...? |\\n| มีสีอะไรบ้าง? | mii sǐi à-rai bâang? | What colors do you have? |\\n| ลองได้ไหม? | lawng dâai mái? | Can I try it on? |\\n| เล็กไป | lék bpai | too small |\\n| ใหญ่ไป | yài bpai | too big |\\n| พอดี | phaw-dii | fits perfectly |\\n\\n## Sizes\\n\\n| Thai | Size |\\n|------|------|\\n| ไซส์เล็ก (S) | Small |\\n| ไซส์กลาง (M) | Medium |\\n| ไซส์ใหญ่ (L) | Large |\\n| ไซส์ใหญ่มาก (XL) | Extra Large |\\n\\n## Colors\\n\\n| Thai | Color |\\n|------|-------|\\n| สีแดง | red |\\n| สีน้ำเงิน | blue |\\n| สีเขียว | green |\\n| สีเหลือง | yellow |\\n| สีขาว | white |\\n| สีดำ | black |\\n| สีชมพู | pink |\\n| สีส้ม | orange |\\n\\n## Fit Problems\\n\\n| Thai | Meaning |\\n|------|---------|\\n| เล็กไป | too small |\\n| ใหญ่ไป | too big |\\n| สั้นไป | too short |\\n| ยาวไป | too long |\\n| คับไป | too tight |\\n| หลวมไป | too loose |\\n\\n## Cultural Note\\n\\nBargaining is expected at markets and small shops, but not at malls or stores with price tags. Start by offering 50-60% of the asking price and negotiate from there. Always bargain with a smile - it's a friendly interaction, not a confrontation. If the price doesn't work, politely say \\\"ไม่เป็นไร\\\" (never mind) and walk away - they may call you back with a better price.\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"dialogue-7-shopping-phrases\\\" type=\\\"matching\\\" title=\\\"Shopping Phrases\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-shopping-sizes\\\"}\\n\\n**Question:** Match each shopping phrase to its meaning\\n\\n- ขอดูหน่อย\\n- ลองได้ไหม\\n- เล็กไป\\n- พอดี\\n\\n**Answer:**\\n\\n- ขอดูหน่อย → Can I see (it)? (polite request)\\n- ลองได้ไหม → Can I try it on? (asking permission)\\n- เล็กไป → Too small (size problem)\\n- พอดี → Fits perfectly (perfect fit)\\n\\n**Explanation:** These are essential phrases for shopping. ขอ means \\\"please give/may I have\\\" and makes requests polite. ลอง means \\\"try\\\" and is used for trying on clothes.\\n\\n:::\\n\\n:::exercise{id=\\\"dialogue-7-size-problems\\\" type=\\\"fill-in-blank\\\" title=\\\"Size and Fit Problems\\\" skill=\\\"pattern-application\\\" objectiveId=\\\"obj-shopping-sizes\\\"}\\n\\n**Question:** How do you say these fit problems in Thai?\\n\\n- Too small\\n- Too big\\n- Too tight\\n- Too loose\\n\\n**Answer:**\\n\\n- เล็กไป (small + ไป = too small)\\n- ใหญ่ไป (big + ไป = too big)\\n- คับไป (tight + ไป = too tight)\\n- หลวมไป (loose + ไป = too loose)\\n\\n**Explanation:** The pattern is [adjective] + ไป = \\\"too [adjective]\\\". This works for any size or fit problem. You can then ask for a different size: มี[size]ไหม (Do you have [size]?)?\\n\\n:::\\n\\n:::exercise{id=\\\"dialogue-7-bargaining\\\" type=\\\"multiple-choice\\\" title=\\\"Bargaining Strategy\\\" skill=\\\"situational-response\\\" objectiveId=\\\"obj-shopping-bargain\\\"}\\n\\n**Question:** Where is bargaining expected in Thailand?\\n\\n**Options:**\\n- Only at markets\\n- Markets and small shops (not malls)\\n- Everywhere\\n- Nowhere, it's rude\\n\\n**Answer:** 2\\n\\n**Explanation:** Bargaining is expected at markets and small shops without fixed prices. At malls, department stores, and places with price tags, prices are usually fixed. Always bargain with a smile and be prepared to walk away if the price doesn't work.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 8, you'll learn dialogues for making plans — suggesting activities, accepting invitations, and setting times to meet with friends.\\n\""],"names":["lesson07"],"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;"}
@@ -15,11 +15,19 @@ metadata:
15
15
  estimatedTime: 30
16
16
  prerequisites:
17
17
  - thai-food-lesson-06
18
- objectives:
19
- - "Order drinks at restaurants and cafes"
20
- - "Name Thai desserts"
21
- - "Customize drink orders"
22
- - "Understand Thai coffee culture"
18
+ learningObjectives:
19
+ - id: obj-order-drinks
20
+ description: "Order drinks at restaurants and cafes"
21
+ skill: pattern-application
22
+ - id: obj-name-desserts
23
+ description: "Name Thai desserts"
24
+ skill: word-recognition
25
+ - id: obj-customize-drinks
26
+ description: "Customize drink orders"
27
+ skill: word-production
28
+ - id: obj-understand-coffee-culture
29
+ description: "Understand Thai coffee culture"
30
+ skill: dialogue-comprehension
23
31
  ---
24
32
 
25
33
  # บทที่ 7 (Lesson 7) — Drinks & Desserts
@@ -179,7 +187,7 @@ Thai drinks and desserts are just as complex and delicious as the savory dishes.
179
187
 
180
188
  ## Practice Exercises
181
189
 
182
- :::exercise{id="food-7-drink-customization" type="matching" title="Drink Customization"}
190
+ :::exercise{id="food-7-drink-customization" type="matching" title="Drink Customization" skill="word-recognition" objectiveId="obj-customize-drinks"}
183
191
 
184
192
  **Question:** Match each customization to its Thai phrase
185
193
 
@@ -199,7 +207,7 @@ Thai drinks and desserts are just as complex and delicious as the savory dishes.
199
207
 
200
208
  :::
201
209
 
202
- :::exercise{id="food-7-dessert-recognition" type="fill-in-blank" title="Thai Dessert Recognition"}
210
+ :::exercise{id="food-7-dessert-recognition" type="fill-in-blank" title="Thai Dessert Recognition" skill="word-recognition" objectiveId="obj-name-desserts"}
203
211
 
204
212
  **Question:** What is ข้าวเหนียวมะม่วง?
205
213
 
@@ -214,7 +222,7 @@ Thai drinks and desserts are just as complex and delicious as the savory dishes.
214
222
 
215
223
  :::
216
224
 
217
- :::exercise{id="food-7-coffee-culture" type="multiple-choice" title="Thai Coffee Culture"}
225
+ :::exercise{id="food-7-coffee-culture" type="multiple-choice" title="Thai Coffee Culture" skill="dialogue-comprehension" objectiveId="obj-understand-coffee-culture"}
218
226
 
219
227
  **Question:** What is โอเลี้ยง (ooliang)?
220
228
 
@@ -237,4 +245,4 @@ In Lesson 8, you'll learn how to handle dietary restrictions and make special re
237
245
  export {
238
246
  n as default
239
247
  };
240
- //# sourceMappingURL=lesson-07-X6anzbAn.js.map
248
+ //# sourceMappingURL=lesson-07-Dcry2Yjo.js.map