@syllst/th 0.1.3 → 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 +5 -5
  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-08-Dd-8cbGW.js","sources":["../src/syllabi/dialogue/lessons/lesson-08.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-dialogue-lesson-08\\ntitle: \\\"บทที่ 8 — นัดหมาย\\\"\\ndescription: \\\"Making Plans: Suggesting, agreeing, and declining\\\"\\norder: 8\\nparentId: thai-dialogue\\ndifficulty: intermediate\\ncefrLevel: B1\\ncategories:\\n - dialogue\\n - social\\n - plans\\nmetadata:\\n estimatedTime: 30\\n prerequisites:\\n - thai-dialogue-lesson-07\\n learningObjectives:\\n - id: obj-plans-suggest\\n description: \\\"Suggest activities\\\"\\n skill: situational-response\\n - id: obj-plans-accept-decline\\n description: \\\"Accept and decline invitations politely\\\"\\n skill: polite-register\\n - id: obj-plans-time-place\\n description: \\\"Set times and places to meet\\\"\\n skill: word-production\\n - id: obj-plans-reschedule\\n description: \\\"Reschedule plans\\\"\\n skill: dialogue-comprehension\\n---\\n\\n# บทที่ 8 (Lesson 8) — Making Plans\\n\\n## Situation\\n\\nYou're making plans with a Thai friend.\\n\\n## Dialogue\\n\\n:::dialogue{id=\\\"plans-dialogue-1\\\" title=\\\"Weekend Plans\\\"}\\n\\n**เพื่อน (Friend):** วันเสาร์นี้ว่างไหมครับ/คะ?\\n*wan-sǎo níi wâang mái khráp/khá?*\\nAre you free this Saturday?\\n\\n**คุณ (You):** ว่างครับ/ค่ะ มีอะไรครับ/คะ?\\n*wâang khráp/khâ, mii à-rai khráp/khá?*\\nYes, I'm free. What's up?\\n\\n**เพื่อน:** ไปกินข้าวด้วยกันไหมครับ/คะ?\\n*bpai gin khâao dûuay-gan mái khráp/khá?*\\nWant to go eat together?\\n\\n**คุณ:** ได้เลยครับ/ค่ะ ไปกินที่ไหนดีครับ/คะ?\\n*dâai ləəi khráp/khâ, bpai gin thîi-nǎi dii khráp/khá?*\\nSure! Where should we go?\\n\\n**เพื่อน:** รู้จักร้านอาหารไทยอร่อยๆ อยู่แถวสยามครับ/ค่ะ\\n*rúu-jàk ráan aa-hǎan thai à-ràwy à-ràwy yùu thǎew sà-yǎam khráp/khâ*\\nI know a delicious Thai restaurant near Siam.\\n\\n**คุณ:** ดีเลยครับ/ค่ะ เจอกันกี่โมงดีครับ/คะ?\\n*dii ləəi khráp/khâ, jəə gan gìi moong dii khráp/khá?*\\nSounds good! What time should we meet?\\n\\n**เพื่อน:** 6 โมงเย็นได้ไหมครับ/คะ?\\n*hòk moong yen dâai mái khráp/khá?*\\nHow about 6 PM?\\n\\n**คุณ:** ได้ครับ/ค่ะ เจอกันที่หน้าร้านเลยนะครับ/คะ\\n*dâai khráp/khâ, jəə gan thîi nâa ráan ləəi ná khráp/khâ*\\nOK. Let's meet in front of the restaurant.\\n\\n**เพื่อน:** ตกลงครับ/ค่ะ แล้วเจอกันครับ/ค่ะ!\\n*dtòk-long khráp/khâ, láew jəə gan khráp/khâ!*\\nDeal! See you then!\\n\\n:::\\n\\n## Key Phrases\\n\\n| Thai | Romanization | Meaning |\\n|------|--------------|---------|\\n| ว่างไหม? | wâang mái? | Are you free? |\\n| ว่าง | wâang | free (available) |\\n| ไม่ว่าง | mâi wâang | not free (busy) |\\n| ...ด้วยกันไหม? | ...dûuay-gan mái? | Want to...together? |\\n| ได้เลย | dâai ləəi | Sure!/Absolutely! |\\n| เจอกันกี่โมง? | jəə gan gìi moong? | What time shall we meet? |\\n| ตกลง | dtòk-long | Deal/Agreed |\\n| แล้วเจอกัน | láew jəə gan | See you later |\\n\\n## Suggesting Activities\\n\\n| Thai | Meaning |\\n|------|---------|\\n| ไปกินข้าวไหม? | Want to eat? |\\n| ไปดูหนังไหม? | Want to watch a movie? |\\n| ไปเที่ยวไหม? | Want to go out? |\\n| มากินข้าวบ้านไหม? | Want to come eat at my house? |\\n| ไปออกกำลังกายไหม? | Want to exercise? |\\n\\n## Accepting\\n\\n| Thai | Meaning |\\n|------|---------|\\n| ได้เลย | Sure! |\\n| ดีเลย | Sounds good! |\\n| ยินดีเลย | I'd love to! |\\n| ไปเลย! | Let's go! |\\n\\n## Declining Politely\\n\\n| Thai | Meaning |\\n|------|---------|\\n| ขอโทษนะ ไม่ว่าง | Sorry, I'm busy |\\n| วันนี้ไม่สะดวก | Today isn't convenient |\\n| ไว้โอกาสหน้านะ | Maybe next time |\\n| ขอเลื่อนได้ไหม? | Can we reschedule? |\\n\\n## Time Expressions\\n\\n| Thai | Meaning |\\n|------|---------|\\n| วันนี้ | today |\\n| พรุ่งนี้ | tomorrow |\\n| มะรืน | day after tomorrow |\\n| วันเสาร์นี้ | this Saturday |\\n| สัปดาห์หน้า | next week |\\n| เดือนหน้า | next month |\\n\\n## Cultural Note\\n\\nThais often make plans somewhat loosely and last-minute changes are common. Don't be surprised if plans get adjusted. The phrase \\\"ไว้โอกาสหน้า\\\" (next time) is a polite way to decline without committing - it doesn't always mean there will be a next time! Also, \\\"ตกลง\\\" (agreed/deal) is commonly used to confirm plans, similar to \\\"deal\\\" in English.\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"dialogue-8-making-plans\\\" type=\\\"matching\\\" title=\\\"Planning Phrases\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-plans-suggest\\\"}\\n\\n**Question:** Match each phrase to its meaning\\n\\n- ว่างไหม\\n- ...ด้วยกันไหม\\n- ได้เลย\\n- ตกลง\\n\\n**Answer:**\\n\\n- ว่างไหม → Are you free? (asking availability)\\n- ...ด้วยกันไหม → Want to...together? (suggesting joint activity)\\n- ได้เลย → Sure!/Absolutely! (enthusiastic acceptance)\\n- ตกลง → Deal/Agreed (confirming plans)\\n\\n**Explanation:** These phrases are essential for making plans. ว่าง means \\\"free/available\\\". ด้วยกัน means \\\"together\\\". ได้เลย is enthusiastic agreement. ตกลง confirms the plan.\\n\\n:::\\n\\n:::exercise{id=\\\"dialogue-8-declining\\\" type=\\\"fill-in-blank\\\" title=\\\"Politely Declining\\\" skill=\\\"polite-register\\\" objectiveId=\\\"obj-plans-accept-decline\\\"}\\n\\n**Question:** How do you politely decline an invitation in Thai?\\n\\n**Answer:**\\n\\nYou can say:\\n- ขอโทษนะ ไม่ว่าง (Sorry, I'm busy)\\n- วันนี้ไม่สะดวก (Today isn't convenient)\\n- ไว้โอกาสหน้านะ (Maybe next time)\\n\\n**Explanation:** Thai culture values politeness, so always decline gently. ไว้โอกาสหน้า (next time) is a polite way to decline without being too direct. It doesn't necessarily mean you'll meet next time - it's just a polite refusal.\\n\\n:::\\n\\n:::exercise{id=\\\"dialogue-8-time-expressions\\\" type=\\\"multiple-choice\\\" title=\\\"Time Expressions\\\" skill=\\\"pattern-recognition\\\" objectiveId=\\\"obj-plans-time-place\\\"}\\n\\n**Question:** How do you say \\\"this Saturday\\\" in Thai?\\n\\n**Options:**\\n- วันเสาร์\\n- วันเสาร์นี้\\n- วันเสาร์หน้า\\n- วันเสาร์ที่แล้ว\\n\\n**Answer:** 2\\n\\n**Explanation:** นี้ means \\\"this\\\" and is added after the day name. So วันเสาร์นี้ means \\\"this Saturday\\\". หน้า means \\\"next\\\" (วันเสาร์หน้า = next Saturday), and ที่แล้ว means \\\"last\\\" (วันเสาร์ที่แล้ว = last Saturday).\\n\\n:::\\n\\n## Course Complete!\\n\\nยินดีด้วย! (Congratulations!)\\n\\nYou've completed the Thai Dialogues course! You can now handle conversations in:\\n- Markets and restaurants\\n- Hotels and transportation\\n- Social situations and shopping\\n- Making plans with friends\\n\\nKeep practicing these dialogues, and don't be afraid to make mistakes - Thais appreciate the effort! โชคดี! (Good luck!)\\n\""],"names":["lesson08"],"mappings":"AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -16,11 +16,23 @@ metadata:
16
16
  estimatedTime: 20
17
17
  prerequisites:
18
18
  - thai-script-lesson-08
19
- objectives:
20
- - "Recognize obsolete Thai consonants"
21
- - "Understand why these characters exist"
22
- - "Know when you might encounter them"
23
- - "Complete your consonant recognition"
19
+ learningObjectives:
20
+ - id: obj-obsolete-recognition
21
+ description: "Recognize obsolete Thai consonants"
22
+ skill: character-recognition
23
+ references: [bottle, person]
24
+ - id: obj-archaic-existence
25
+ description: "Understand why these characters exist"
26
+ skill: character-class-identification
27
+ references: [bottle, person, bell, tree, headdress, goad]
28
+ - id: obj-archaic-encounter
29
+ description: "Know when you might encounter them"
30
+ skill: character-recognition
31
+ references: [bottle, person, bell, tree, headdress, goad]
32
+ - id: obj-complete-recognition
33
+ description: "Complete your consonant recognition"
34
+ skill: character-recognition
35
+ references: [bottle, person, bell, tree, headdress, goad]
24
36
  ---
25
37
 
26
38
  # บทที่ 9 (Lesson 9) — Archaic Consonants
@@ -39,17 +51,17 @@ Thai has **44 consonants** in its official alphabet, but not all are used equall
39
51
 
40
52
  :::character-set{id="thai-archaic-consonants" title="Archaic Consonants"}
41
53
 
42
- ::character{id="th-bottle" char="ฃ" name="ฃ ขวด (khɔ̌ɔ khùat)" nativeName="ฃ ขวด" transliteration="kh/k" charType="consonant"}
54
+ ::character{id="bottle" canonicalRef="bottle" data:class="high" char="ฃ" name="ฃ ขวด (khɔ̌ɔ khùat)" nativeName="ฃ ขวด" transliteration="kh/k" charType="consonant"}
43
55
 
44
- ::character{id="th-person" char="ฅ" name="ฅ คน (khɔɔ khon)" nativeName="ฅ คน" transliteration="kh/k" charType="consonant"}
56
+ ::character{id="person" canonicalRef="person" data:class="low" char="ฅ" name="ฅ คน (khɔɔ khon)" nativeName="ฅ คน" transliteration="kh/k" charType="consonant"}
45
57
 
46
- ::character{id="th-bell" char="ฆ" name="ฆ ระฆัง (khɔɔ rá-khang)" nativeName="ฆ ระฆัง" transliteration="kh/k" charType="consonant"}
58
+ ::character{id="bell" canonicalRef="bell" data:class="low" char="ฆ" name="ฆ ระฆัง (khɔɔ rá-khang)" nativeName="ฆ ระฆัง" transliteration="kh/k" charType="consonant"}
47
59
 
48
- ::character{id="th-tree" char="ฌ" name="ฌ เฌอ (chɔɔ chəə)" nativeName="ฌ เฌอ" transliteration="ch/t" charType="consonant"}
60
+ ::character{id="tree" canonicalRef="tree" data:class="low" char="ฌ" name="ฌ เฌอ (chɔɔ chəə)" nativeName="ฌ เฌอ" transliteration="ch/t" charType="consonant"}
49
61
 
50
- ::character{id="th-headdress" char="ฎ" name="ฎ ชฎา (dɔɔ chá-daa)" nativeName="ฎ ชฎา" transliteration="d/t" charType="consonant"}
62
+ ::character{id="headdress" canonicalRef="headdress" data:class="middle" char="ฎ" name="ฎ ชฎา (dɔɔ chá-daa)" nativeName="ฎ ชฎา" transliteration="d/t" charType="consonant"}
51
63
 
52
- ::character{id="th-goad" char="ฏ" name="ฏ ปฏัก (dtɔɔ bpà-dtàk)" nativeName="ฏ ปฏัก" transliteration="dt/t" charType="consonant"}
64
+ ::character{id="goad" canonicalRef="goad" data:class="middle" char="ฏ" name="ฏ ปฏัก (dtɔɔ bpà-dtàk)" nativeName="ฏ ปฏัก" transliteration="dt/t" charType="consonant"}
53
65
 
54
66
  :::
55
67
 
@@ -153,7 +165,7 @@ The meaning is identical; it's a spelling choice.
153
165
 
154
166
  ## Practice Exercises
155
167
 
156
- :::exercise{id="archaic-1-obsolete-recognition" type="matching" title="Obsolete Consonants"}
168
+ :::exercise{id="archaic-1-obsolete-recognition" type="matching" title="Obsolete Consonants" skill="character-recognition" tests="bottle,person" objectiveId="obj-obsolete-recognition"}
157
169
 
158
170
  **Question:** Match each obsolete consonant to its modern replacement
159
171
 
@@ -169,7 +181,7 @@ The meaning is identical; it's a spelling choice.
169
181
 
170
182
  :::
171
183
 
172
- :::exercise{id="archaic-1-class-identification" type="multiple-choice" title="Consonant Class Identification"}
184
+ :::exercise{id="archaic-1-class-identification" type="multiple-choice" title="Consonant Class Identification" skill="character-class-identification" tests="headdress,goad" objectiveId="obj-archaic-existence"}
173
185
 
174
186
  **Question:** Which of these archaic consonants is middle-class (important for tone rules)?
175
187
 
@@ -185,7 +197,7 @@ The meaning is identical; it's a spelling choice.
185
197
 
186
198
  :::
187
199
 
188
- :::exercise{id="archaic-1-reading-strategy" type="fill-in-blank" title="Reading Strategy"}
200
+ :::exercise{id="archaic-1-reading-strategy" type="fill-in-blank" title="Reading Strategy" skill="character-recognition" tests="bottle,person,bell,tree,headdress,goad" objectiveId="obj-complete-recognition"}
189
201
 
190
202
  **Question:** When you encounter archaic consonants while reading, what should you do?
191
203
 
@@ -206,4 +218,4 @@ In Lesson 10, you'll learn the final rare consonants (ฐ ฑ ฒ ฬ) to comple
206
218
  export {
207
219
  n as default
208
220
  };
209
- //# sourceMappingURL=lesson-09-DHRHZIc1.js.map
221
+ //# sourceMappingURL=lesson-09-B1qWE3Yl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-09-B1qWE3Yl.js","sources":["../src/syllabi/alphabet/lessons/lesson-09.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-script-lesson-09\\ntitle: \\\"บทที่ 9 — พยัญชนะโบราณ\\\"\\ndescription: \\\"Archaic Consonants: ฃ ฅ ฆ ฌ ฎ ฏ — Historical characters for complete literacy\\\"\\norder: 9\\nparentId: thai-script-alphabet\\ndifficulty: advanced\\ncefrLevel: B1\\ncategories:\\n - consonants\\n - archaic-consonants\\n - rare-characters\\n - advanced-characters\\nmetadata:\\n estimatedTime: 20\\n prerequisites:\\n - thai-script-lesson-08\\n learningObjectives:\\n - id: obj-obsolete-recognition\\n description: \\\"Recognize obsolete Thai consonants\\\"\\n skill: character-recognition\\n references: [bottle, person]\\n - id: obj-archaic-existence\\n description: \\\"Understand why these characters exist\\\"\\n skill: character-class-identification\\n references: [bottle, person, bell, tree, headdress, goad]\\n - id: obj-archaic-encounter\\n description: \\\"Know when you might encounter them\\\"\\n skill: character-recognition\\n references: [bottle, person, bell, tree, headdress, goad]\\n - id: obj-complete-recognition\\n description: \\\"Complete your consonant recognition\\\"\\n skill: character-recognition\\n references: [bottle, person, bell, tree, headdress, goad]\\n---\\n\\n# บทที่ 9 (Lesson 9) — Archaic Consonants\\n\\n## Introduction\\n\\nThai has **44 consonants** in its official alphabet, but not all are used equally. This lesson covers **archaic** (โบราณ) and **obsolete** (ล้าสมัย) consonants — characters that exist for historical completeness but rarely appear in modern Thai.\\n\\n**Why learn them?**\\n- Complete alphabet literacy\\n- Reading historical texts\\n- Understanding Thai linguistics\\n- Recognizing them in fonts and keyboards\\n\\n## Characters\\n\\n:::character-set{id=\\\"thai-archaic-consonants\\\" title=\\\"Archaic Consonants\\\"}\\n\\n::character{id=\\\"bottle\\\" canonicalRef=\\\"bottle\\\" data:class=\\\"high\\\" char=\\\"ฃ\\\" name=\\\"ฃ ขวด (khɔ̌ɔ khùat)\\\" nativeName=\\\"ฃ ขวด\\\" transliteration=\\\"kh/k\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"person\\\" canonicalRef=\\\"person\\\" data:class=\\\"low\\\" char=\\\"ฅ\\\" name=\\\"ฅ คน (khɔɔ khon)\\\" nativeName=\\\"ฅ คน\\\" transliteration=\\\"kh/k\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"bell\\\" canonicalRef=\\\"bell\\\" data:class=\\\"low\\\" char=\\\"ฆ\\\" name=\\\"ฆ ระฆัง (khɔɔ rá-khang)\\\" nativeName=\\\"ฆ ระฆัง\\\" transliteration=\\\"kh/k\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"tree\\\" canonicalRef=\\\"tree\\\" data:class=\\\"low\\\" char=\\\"ฌ\\\" name=\\\"ฌ เฌอ (chɔɔ chəə)\\\" nativeName=\\\"ฌ เฌอ\\\" transliteration=\\\"ch/t\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"headdress\\\" canonicalRef=\\\"headdress\\\" data:class=\\\"middle\\\" char=\\\"ฎ\\\" name=\\\"ฎ ชฎา (dɔɔ chá-daa)\\\" nativeName=\\\"ฎ ชฎา\\\" transliteration=\\\"d/t\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"goad\\\" canonicalRef=\\\"goad\\\" data:class=\\\"middle\\\" char=\\\"ฏ\\\" name=\\\"ฏ ปฏัก (dtɔɔ bpà-dtàk)\\\" nativeName=\\\"ฏ ปฏัก\\\" transliteration=\\\"dt/t\\\" charType=\\\"consonant\\\"}\\n\\n:::\\n\\n## The Obsolete Pair: ฃ and ฅ\\n\\n**ฃ** (khɔ̌ɔ khùat - bottle) and **ฅ** (khɔɔ khon - person) are officially **obsolete**:\\n\\n| Consonant | Class | Status | Replaced By |\\n|-----------|-------|--------|-------------|\\n| ฃ | High | Obsolete | ข |\\n| ฅ | Low | Obsolete | ค |\\n\\nThese were removed from official use in 1942. Today:\\n- **ฃ** words are spelled with **ข** (both high-class KH)\\n- **ฅ** words are spelled with **ค** (both low-class KH)\\n\\n**Where you might see them:**\\n- Historical documents\\n- Alphabetical listings (traditional order includes them)\\n- Specialized fonts showing the full 44-character set\\n- The word ฅน (person) is sometimes written nostalgically\\n\\n## Sanskrit Consonants: ฆ ฌ ฎ ฏ\\n\\nThese consonants were borrowed from Sanskrit/Pali to represent sounds that didn't exist in Thai:\\n\\n### ฆ (Khɔɔ Rá-khang - Bell)\\n- Class: Low\\n- Sound: /kh/ (same as ค)\\n- Usage: Sanskrit loanwords only\\n- Example: ระฆัง (bell), สังฆะ (sangha/Buddhist community)\\n\\n### ฌ (Chɔɔ Chəə - Tree)\\n- Class: Low\\n- Sound: /ch/ (same as ช)\\n- Usage: Extremely rare, mainly one word\\n- Example: เฌอ (type of tree)\\n\\n### ฎ (Dɔɔ Chá-daa - Headdress) and ฏ (Dtɔɔ Bpà-dtàk - Goad)\\n- Class: Both **Middle**\\n- Sound: /d/ and /dt/ respectively\\n- Usage: Sanskrit loanwords, legal/royal vocabulary\\n- Examples: กฎหมาย (law), ปฏิบัติ (practice, perform)\\n\\n**Important**: ฎ and ฏ are **middle-class** like ด and ต. This matters for tone:\\n- กฎ (gòt) \\\"rule\\\" — middle-class ฎ\\n- ปฏิเสธ (bpà-dtì-sèet) \\\"refuse\\\" — middle-class ฏ\\n\\n## The Complete KH Sound Family\\n\\nThai has SIX consonants making the /kh/ sound:\\n\\n| Consonant | Class | Status |\\n|-----------|-------|--------|\\n| ข | High | Common |\\n| ฃ | High | Obsolete |\\n| ค | Low | Common |\\n| ฅ | Low | Obsolete |\\n| ฆ | Low | Rare (Sanskrit) |\\n| ค (initial cluster) | Low | Common |\\n\\nThis seems redundant, but historically these represented different Sanskrit sounds.\\n\\n## Practical Implications\\n\\n### For Reading\\nWhen you encounter these rare consonants:\\n- ฃ and ฅ: Treat like ข and ค respectively\\n- ฆ ฌ: Treat like ค ช (low-class)\\n- ฎ ฏ: Treat like ด ต (middle-class)\\n\\n### For Writing\\nYou'll almost never need to write these. Use the common equivalents:\\n- Instead of ฃ → use ข\\n- Instead of ฅ → use ค\\n- ฆ ฌ ฎ ฏ → only in established spellings you've memorized\\n\\n### For Keyboards\\nMost Thai keyboards don't include ฃ and ฅ. You'll find them in:\\n- Character palette/symbol menus\\n- Unicode charts\\n- Specialized linguistic keyboards\\n\\n## Cultural Note: ฅน vs คน\\n\\nThe word **คน** (person/people) was historically spelled **ฅน**. Some Thais use ฅน nostalgically or artistically:\\n- In poetry and literature\\n- In brand names\\n- As a cultural statement\\n\\nThe meaning is identical; it's a spelling choice.\\n\\n## Key Points\\n\\n1. **ฃ and ฅ are obsolete**: Officially replaced in 1942\\n2. **ฆ ฌ are rare Sanskrit**: Only appear in specific loanwords\\n3. **ฎ ฏ are middle-class**: Important for correct tone reading\\n4. **Same sounds, different spellings**: Historical reasons\\n5. **For reading**: Know them for complete literacy\\n6. **For writing**: Stick to common equivalents\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"archaic-1-obsolete-recognition\\\" type=\\\"matching\\\" title=\\\"Obsolete Consonants\\\" skill=\\\"character-recognition\\\" tests=\\\"bottle,person\\\" objectiveId=\\\"obj-obsolete-recognition\\\"}\\n\\n**Question:** Match each obsolete consonant to its modern replacement\\n\\n- ฃ (bottle)\\n- ฅ (person)\\n\\n**Answer:**\\n\\n- ฃ → ข (both high-class KH)\\n- ฅ → ค (both low-class KH)\\n\\n**Explanation:** ฃ and ฅ were officially removed in 1942. Today, words that used ฃ are spelled with ข, and words that used ฅ are spelled with ค. They sound identical.\\n\\n:::\\n\\n:::exercise{id=\\\"archaic-1-class-identification\\\" type=\\\"multiple-choice\\\" title=\\\"Consonant Class Identification\\\" skill=\\\"character-class-identification\\\" tests=\\\"headdress,goad\\\" objectiveId=\\\"obj-archaic-existence\\\"}\\n\\n**Question:** Which of these archaic consonants is middle-class (important for tone rules)?\\n\\n**Options:**\\n- ฆ (bell)\\n- ฌ (tree)\\n- ฎ (headdress)\\n- All of the above\\n\\n**Answer:** 3\\n\\n**Explanation:** ฎ and ฏ are middle-class consonants (like ด and ต). This matters for tone reading. ฆ and ฌ are low-class (like ค and ช). Knowing the class is crucial for correct pronunciation.\\n\\n:::\\n\\n:::exercise{id=\\\"archaic-1-reading-strategy\\\" type=\\\"fill-in-blank\\\" title=\\\"Reading Strategy\\\" skill=\\\"character-recognition\\\" tests=\\\"bottle,person,bell,tree,headdress,goad\\\" objectiveId=\\\"obj-complete-recognition\\\"}\\n\\n**Question:** When you encounter archaic consonants while reading, what should you do?\\n\\n**Answer:**\\n\\n- ฃ and ฅ: Treat like ข and ค respectively\\n- ฆ ฌ: Treat like ค ช (low-class)\\n- ฎ ฏ: Treat like ด ต (middle-class)\\n\\n**Explanation:** For reading purposes, archaic consonants follow the same patterns as their common equivalents. The class determines tone behavior, not the specific letter shape.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 10, you'll learn the final rare consonants (ฐ ฑ ฒ ฬ) to complete the 44-consonant inventory.\\n\""],"names":["lesson09"],"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;"}
@@ -15,10 +15,16 @@ metadata:
15
15
  estimatedTime: 35
16
16
  prerequisites:
17
17
  - thai-reading-lesson-08
18
- objectives:
19
- - "Follow narrative structure in Thai"
20
- - "Understand story vocabulary"
21
- - "Read connected paragraphs"
18
+ learningObjectives:
19
+ - id: obj-r9-narrative-structure
20
+ description: "Follow narrative structure in Thai"
21
+ skill: reading-comprehension
22
+ - id: obj-r9-story-vocab
23
+ description: "Understand story vocabulary"
24
+ skill: word-recognition
25
+ - id: obj-r9-connected-paragraphs
26
+ description: "Read connected paragraphs"
27
+ skill: reading-comprehension
22
28
  ---
23
29
 
24
30
  # Simple Stories
@@ -75,7 +81,7 @@ Short stories help build reading fluency. Practice following Thai narratives.
75
81
 
76
82
  ## Practice Exercises
77
83
 
78
- :::exercise{id="reading-9-story-vocab" type="matching" title="Story Vocabulary"}
84
+ :::exercise{id="reading-9-story-vocab" type="matching" title="Story Vocabulary" skill="word-recognition" objectiveId="obj-r9-story-vocab"}
79
85
 
80
86
  **Question:** Match each story word to its meaning
81
87
 
@@ -95,7 +101,7 @@ Short stories help build reading fluency. Practice following Thai narratives.
95
101
 
96
102
  :::
97
103
 
98
- :::exercise{id="reading-9-time-markers" type="fill-in-blank" title="Story Time Markers"}
104
+ :::exercise{id="reading-9-time-markers" type="fill-in-blank" title="Story Time Markers" skill="word-recognition" objectiveId="obj-r9-connected-paragraphs"}
99
105
 
100
106
  **Question:** What are common time markers in Thai stories?
101
107
 
@@ -111,7 +117,7 @@ Common time markers:
111
117
 
112
118
  :::
113
119
 
114
- :::exercise{id="reading-9-comprehension" type="multiple-choice" title="Story Comprehension"}
120
+ :::exercise{id="reading-9-comprehension" type="multiple-choice" title="Story Comprehension" skill="reading-comprehension" objectiveId="obj-r9-narrative-structure"}
115
121
 
116
122
  **Question:** In the story "แมวกับปลา", what did the cat do?
117
123
 
@@ -134,4 +140,4 @@ In Lesson 10, you'll master daily life reading — read receipts, bills, forms,
134
140
  export {
135
141
  n as default
136
142
  };
137
- //# sourceMappingURL=lesson-09-BQ1CZCjT.js.map
143
+ //# sourceMappingURL=lesson-09-B5Vb70xj.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-09-B5Vb70xj.js","sources":["../src/syllabi/reading/lessons/lesson-09.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-reading-lesson-09\\ntitle: \\\"บทที่ 9 — เรื่องสั้นง่าย\\\"\\ndescription: \\\"Simple Stories: Read short Thai stories and build fluency\\\"\\norder: 9\\nparentId: thai-reading\\ndifficulty: intermediate\\ncefrLevel: B1\\ncategories:\\n - reading\\n - stories\\n - narrative\\nmetadata:\\n estimatedTime: 35\\n prerequisites:\\n - thai-reading-lesson-08\\n learningObjectives:\\n - id: obj-r9-narrative-structure\\n description: \\\"Follow narrative structure in Thai\\\"\\n skill: reading-comprehension\\n - id: obj-r9-story-vocab\\n description: \\\"Understand story vocabulary\\\"\\n skill: word-recognition\\n - id: obj-r9-connected-paragraphs\\n description: \\\"Read connected paragraphs\\\"\\n skill: reading-comprehension\\n---\\n\\n# Simple Stories\\n\\nShort stories help build reading fluency. Practice following Thai narratives.\\n\\n## Story Words\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| เรื่อง | rueang | story |\\n| ตัวละคร | tua lakhon | character |\\n| เนื้อเรื่อง | nuea rueang | plot |\\n| จบ | jop | ending |\\n\\n## Time Markers\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| กาลครั้งหนึ่ง | kan khrang nueng | once upon a time |\\n| วันหนึ่ง | wan nueng | one day |\\n| หลังจากนั้น | lang jak nan | after that |\\n| ในที่สุด | nai thi sut | finally |\\n\\n## Emotion Words\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| ดีใจ | di jai | happy |\\n| เสียใจ | sia jai | sad |\\n| กลัว | klua | afraid |\\n| ตกใจ | tok jai | surprised |\\n\\n## Action Words\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| เดิน | doen | walk |\\n| วิ่ง | wing | run |\\n| พูด | phut | speak |\\n| คิด | khit | think |\\n\\n## Short Story\\n\\n**แมวกับปลา**\\n\\nวันหนึ่ง แมวตัวหนึ่งเดินไปที่ตลาด มันเห็นปลาสดๆ บนโต๊ะ แมวอยากกินปลามาก\\n\\nแมวรอจนคนขายหันไป แล้วมันก็คว้าปลาวิ่งหนีไป คนขายตะโกนแต่ไม่ทัน\\n\\nในที่สุด แมวก็ได้กินปลาอร่อยๆ มันดีใจมาก\\n\\n*The Cat and the Fish: One day a cat walked to the market. It saw fresh fish on a table. The cat wanted to eat the fish very much. The cat waited until the seller turned away, then grabbed the fish and ran. The seller shouted but was too late. Finally, the cat ate the delicious fish. It was very happy.*\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"reading-9-story-vocab\\\" type=\\\"matching\\\" title=\\\"Story Vocabulary\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-r9-story-vocab\\\"}\\n\\n**Question:** Match each story word to its meaning\\n\\n- เรื่อง\\n- ตัวละคร\\n- เนื้อเรื่อง\\n- จบ\\n\\n**Answer:**\\n\\n- เรื่อง → Story\\n- ตัวละคร → Character\\n- เนื้อเรื่อง → Plot\\n- จบ → Ending\\n\\n**Explanation:** These words help you understand narrative structure. เรื่อง is the general word for \\\"story\\\". ตัวละคร means \\\"character\\\" (literally \\\"body role\\\"). เนื้อเรื่อง means \\\"plot\\\" (literally \\\"story content\\\").\\n\\n:::\\n\\n:::exercise{id=\\\"reading-9-time-markers\\\" type=\\\"fill-in-blank\\\" title=\\\"Story Time Markers\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-r9-connected-paragraphs\\\"}\\n\\n**Question:** What are common time markers in Thai stories?\\n\\n**Answer:**\\n\\nCommon time markers:\\n- กาลครั้งหนึ่ง (once upon a time)\\n- วันหนึ่ง (one day)\\n- หลังจากนั้น (after that)\\n- ในที่สุด (finally)\\n\\n**Explanation:** These time markers help you follow the narrative flow. They indicate when events happen in the story timeline. Learning them improves reading comprehension.\\n\\n:::\\n\\n:::exercise{id=\\\"reading-9-comprehension\\\" type=\\\"multiple-choice\\\" title=\\\"Story Comprehension\\\" skill=\\\"reading-comprehension\\\" objectiveId=\\\"obj-r9-narrative-structure\\\"}\\n\\n**Question:** In the story \\\"แมวกับปลา\\\", what did the cat do?\\n\\n**Options:**\\n- Bought fish at the market\\n- Stole fish from the market\\n- Ate fish at a restaurant\\n- Caught fish from a river\\n\\n**Answer:** 2\\n\\n**Explanation:** The cat waited until the seller turned away, then grabbed (คว้า) the fish and ran. This is a simple story that demonstrates basic narrative structure and common vocabulary.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 10, you'll master daily life reading — read receipts, bills, forms, and practical everyday documents you'll encounter in Thailand.\\n\""],"names":["lesson09"],"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;"}
@@ -16,11 +16,23 @@ metadata:
16
16
  estimatedTime: 20
17
17
  prerequisites:
18
18
  - thai-script-lesson-09
19
- objectives:
20
- - "Complete the 44-consonant Thai alphabet"
21
- - "Recognize the final rare consonants"
22
- - "Understand the TH consonant family in full"
23
- - "Achieve complete consonant literacy"
19
+ learningObjectives:
20
+ - id: obj-complete-alphabet
21
+ description: "Complete the 44-consonant Thai alphabet"
22
+ skill: character-recognition
23
+ references: [pedestal, montho, elder, kite]
24
+ - id: obj-rare2-recognition
25
+ description: "Recognize the final rare consonants"
26
+ skill: character-recognition
27
+ references: [pedestal, montho, elder, kite]
28
+ - id: obj-th-family
29
+ description: "Understand the TH consonant family in full"
30
+ skill: character-class-identification
31
+ references: [pedestal, montho, elder]
32
+ - id: obj-consonant-literacy
33
+ description: "Achieve complete consonant literacy"
34
+ skill: character-recognition
35
+ references: [pedestal, montho, elder, kite]
24
36
  ---
25
37
 
26
38
  # บทที่ 10 (Lesson 10) — Final Rare Consonants
@@ -33,13 +45,13 @@ Congratulations! This lesson completes your journey through all **44 Thai conson
33
45
 
34
46
  :::character-set{id="thai-rare-consonants-2" title="Final Rare Consonants"}
35
47
 
36
- ::character{id="th-pedestal" char="ฐ" name="ฐ ฐาน (thɔ̌ɔ thǎan)" nativeName="ฐ ฐาน" transliteration="th/t" charType="consonant"}
48
+ ::character{id="pedestal" canonicalRef="pedestal" data:class="high" char="ฐ" name="ฐ ฐาน (thɔ̌ɔ thǎan)" nativeName="ฐ ฐาน" transliteration="th/t" charType="consonant"}
37
49
 
38
- ::character{id="th-montho" char="ฑ" name="ฑ มณโฑ (thɔɔ mon-thoo)" nativeName="ฑ มณโฑ" transliteration="th/t" charType="consonant"}
50
+ ::character{id="montho" canonicalRef="montho" data:class="low" char="ฑ" name="ฑ มณโฑ (thɔɔ mon-thoo)" nativeName="ฑ มณโฑ" transliteration="th/t" charType="consonant"}
39
51
 
40
- ::character{id="th-elder" char="ฒ" name="ฒ ผู้เฒ่า (thɔɔ phûu-thâo)" nativeName="ฒ ผู้เฒ่า" transliteration="th/t" charType="consonant"}
52
+ ::character{id="elder" canonicalRef="elder" data:class="low" char="ฒ" name="ฒ ผู้เฒ่า (thɔɔ phûu-thâo)" nativeName="ฒ ผู้เฒ่า" transliteration="th/t" charType="consonant"}
41
53
 
42
- ::character{id="th-kite" char="ฬ" name="ฬ จุฬา (lɔɔ jù-laa)" nativeName="ฬ จุฬา" transliteration="l/n" charType="consonant"}
54
+ ::character{id="kite" canonicalRef="kite" data:class="low" char="ฬ" name="ฬ จุฬา (lɔɔ jù-laa)" nativeName="ฬ จุฬา" transliteration="l/n" charType="consonant"}
43
55
 
44
56
  :::
45
57
 
@@ -150,7 +162,7 @@ This sequence is used for:
150
162
 
151
163
  ## Practice Exercises
152
164
 
153
- :::exercise{id="rare-2-th-family" type="fill-in-blank" title="Complete TH Family"}
165
+ :::exercise{id="rare-2-th-family" type="fill-in-blank" title="Complete TH Family" skill="character-sound-mapping" tests="pedestal,montho,elder" objectiveId="obj-th-family"}
154
166
 
155
167
  **Question:** List all consonants that make the TH sound (aspirated T)
156
168
 
@@ -167,7 +179,7 @@ This sequence is used for:
167
179
 
168
180
  :::
169
181
 
170
- :::exercise{id="rare-2-class-counting" type="multiple-choice" title="Consonant Class Distribution"}
182
+ :::exercise{id="rare-2-class-counting" type="multiple-choice" title="Consonant Class Distribution" skill="character-class-identification" objectiveId="obj-complete-alphabet"}
171
183
 
172
184
  **Question:** How many consonants are in each class?
173
185
 
@@ -183,7 +195,7 @@ This sequence is used for:
183
195
 
184
196
  :::
185
197
 
186
- :::exercise{id="rare-2-rare-recognition" type="matching" title="Rare Consonant Recognition"}
198
+ :::exercise{id="rare-2-rare-recognition" type="matching" title="Rare Consonant Recognition" skill="character-recognition" tests="pedestal,montho,elder,kite" objectiveId="obj-rare2-recognition"}
187
199
 
188
200
  **Question:** Match each rare consonant to its most common usage
189
201
 
@@ -218,4 +230,4 @@ In Lesson 11, you'll learn the **four tone marks** — the final key to unlockin
218
230
  export {
219
231
  n as default
220
232
  };
221
- //# sourceMappingURL=lesson-10-BdfkVT7s.js.map
233
+ //# sourceMappingURL=lesson-10-00qNLc7A.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-10-00qNLc7A.js","sources":["../src/syllabi/alphabet/lessons/lesson-10.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-script-lesson-10\\ntitle: \\\"บทที่ 10 — พยัญชนะหายาก II\\\"\\ndescription: \\\"Final Rare Consonants: ฐ ฑ ฒ ฬ — Completing the 44-consonant inventory\\\"\\norder: 10\\nparentId: thai-script-alphabet\\ndifficulty: advanced\\ncefrLevel: B1\\ncategories:\\n - consonants\\n - rare-consonants\\n - sanskrit-origin\\n - advanced-characters\\nmetadata:\\n estimatedTime: 20\\n prerequisites:\\n - thai-script-lesson-09\\n learningObjectives:\\n - id: obj-complete-alphabet\\n description: \\\"Complete the 44-consonant Thai alphabet\\\"\\n skill: character-recognition\\n references: [pedestal, montho, elder, kite]\\n - id: obj-rare2-recognition\\n description: \\\"Recognize the final rare consonants\\\"\\n skill: character-recognition\\n references: [pedestal, montho, elder, kite]\\n - id: obj-th-family\\n description: \\\"Understand the TH consonant family in full\\\"\\n skill: character-class-identification\\n references: [pedestal, montho, elder]\\n - id: obj-consonant-literacy\\n description: \\\"Achieve complete consonant literacy\\\"\\n skill: character-recognition\\n references: [pedestal, montho, elder, kite]\\n---\\n\\n# บทที่ 10 (Lesson 10) — Final Rare Consonants\\n\\n## Introduction\\n\\nCongratulations! This lesson completes your journey through all **44 Thai consonants**. These final four characters are rare but appear in important vocabulary.\\n\\n## Characters\\n\\n:::character-set{id=\\\"thai-rare-consonants-2\\\" title=\\\"Final Rare Consonants\\\"}\\n\\n::character{id=\\\"pedestal\\\" canonicalRef=\\\"pedestal\\\" data:class=\\\"high\\\" char=\\\"ฐ\\\" name=\\\"ฐ ฐาน (thɔ̌ɔ thǎan)\\\" nativeName=\\\"ฐ ฐาน\\\" transliteration=\\\"th/t\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"montho\\\" canonicalRef=\\\"montho\\\" data:class=\\\"low\\\" char=\\\"ฑ\\\" name=\\\"ฑ มณโฑ (thɔɔ mon-thoo)\\\" nativeName=\\\"ฑ มณโฑ\\\" transliteration=\\\"th/t\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"elder\\\" canonicalRef=\\\"elder\\\" data:class=\\\"low\\\" char=\\\"ฒ\\\" name=\\\"ฒ ผู้เฒ่า (thɔɔ phûu-thâo)\\\" nativeName=\\\"ฒ ผู้เฒ่า\\\" transliteration=\\\"th/t\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"kite\\\" canonicalRef=\\\"kite\\\" data:class=\\\"low\\\" char=\\\"ฬ\\\" name=\\\"ฬ จุฬา (lɔɔ jù-laa)\\\" nativeName=\\\"ฬ จุฬา\\\" transliteration=\\\"l/n\\\" charType=\\\"consonant\\\"}\\n\\n:::\\n\\n## The Complete TH Sound Family\\n\\nWith these additions, you now know ALL consonants making the /th/ sound:\\n\\n| Consonant | Class | Mnemonic | Usage |\\n|-----------|-------|----------|-------|\\n| ต | Middle | Turtle | Common (unaspirated T) |\\n| ถ | High | Bag | Common (aspirated TH) |\\n| ท | Low | Soldier | Common |\\n| ธ | Low | Flag | Formal/Sanskrit |\\n| **ฐ** | **High** | Pedestal | Rare/Sanskrit |\\n| **ฑ** | **Low** | Montho | Very rare |\\n| **ฒ** | **Low** | Elder | Very rare |\\n\\nNote: ต is technically /t/ (unaspirated), while the others are /th/ (aspirated). But ฐ ฑ ฒ are so rare that the distinction matters little.\\n\\n### ฐ (Thɔ̌ɔ Thǎan - Pedestal)\\n\\n**High-class** TH. Appears in:\\n- ฐาน (thǎan) — base, foundation\\n- สถาบัน (sà-thǎa-ban) — institution\\n- สถานที่ (sà-thǎan-thîi) — place, location\\n- สถาปัตยกรรม (sà-thǎa-bpàt-dtà-yá-gam) — architecture\\n\\nThe word สถาน appears in many compound words — it's the most common use of ฐ.\\n\\n### ฑ (Thɔɔ Mon-thoo) and ฒ (Thɔɔ Phûu-thâo)\\n\\nBoth **low-class** TH, both very rare:\\n\\n**ฑ** (Montho - Ramayana character) appears in:\\n- มณโฑ (mon-thoo) — the character's name\\n- บัณฑิต (ban-dìt) — graduate, scholar\\n\\n**ฒ** (Elder) appears in:\\n- ผู้เฒ่า (phûu-thâo) — elderly person\\n- เฒ่าแก่ (thâo-gàae) — old and wise\\n\\nThese characters exist because Sanskrit had multiple dental sounds that Thai merged. The spellings preserve the original distinctions.\\n\\n## The L Sound Pair: ล and ฬ\\n\\nThai has two /l/ consonants:\\n\\n| Consonant | Class | Usage |\\n|-----------|-------|-------|\\n| ล | Low | Common |\\n| ฬ | Low | Rare |\\n\\n**ฬ** (Lɔɔ Jù-laa - Kite) appears in very few words:\\n- จุฬา (jù-laa) — a type of traditional kite\\n- จุฬาลงกรณ์ (Chulalongkorn) — the famous king and university\\n\\nThe word **จุฬา** is the primary use of ฬ. It appears in:\\n- จุฬาลงกรณ์มหาวิทยาลัย (Chulalongkorn University)\\n- Traditional kite names\\n\\n## The Complete 44-Consonant Inventory\\n\\nHere's your complete set organized by class:\\n\\n### Middle Class (9 consonants)\\nก จ ฎ ฏ ด ต บ ป อ\\n\\n### High Class (11 consonants)\\nข ฃ ฉ ฐ ถ ผ ฝ ศ ษ ส ห\\n\\n### Low Class (24 consonants)\\nค ฅ ฆ ง ช ซ ฌ ญ ฑ ฒ ณ ท ธ น พ ฟ ภ ม ย ร ล ว ฬ ฮ\\n\\n**Memory tip**: Middle class is small (9), High class is medium (11), Low class is large (24).\\n\\n## Practical Frequency\\n\\nIn everyday Thai writing:\\n\\n| Frequency | Consonants |\\n|-----------|------------|\\n| **Very Common** | ก ข ค ง จ ด ต ท น บ ป พ ม ย ร ล ว ส ห อ |\\n| **Common** | ช ซ ถ ธ ฝ ฟ ภ ศ ฮ |\\n| **Uncommon** | ฉ ญ ณ ผ ษ |\\n| **Rare** | ฆ ฌ ฎ ฏ ฐ ฑ ฒ ฬ |\\n| **Obsolete** | ฃ ฅ |\\n\\nFor reading, focus on the common ones. The rare ones will become recognizable as you encounter specific vocabulary.\\n\\n## Complete Alphabet Song Order\\n\\nThe traditional Thai alphabet order (used in dictionaries and teaching):\\n\\nก ข ฃ ค ฅ ฆ ง จ ฉ ช ซ ฌ ญ ฎ ฏ ฐ ฑ ฒ ณ ด ต ถ ท ธ น บ ป ผ ฝ พ ฟ ภ ม ย ร ล ว ศ ษ ส ห ฬ อ ฮ\\n\\nThis sequence is used for:\\n- Dictionary lookup\\n- Alphabetical sorting\\n- The \\\"Gor Gai\\\" song\\n\\n## Key Points\\n\\n1. **ฐ is high-class**: The only high-class TH besides ถ\\n2. **ฑ ฒ are low-class**: Both rare, mainly Sanskrit/royal words\\n3. **ฬ is the rare L**: Primarily in จุฬา\\n4. **44 consonants complete**: 9 middle + 11 high + 24 low\\n5. **Know frequency**: Most consonants are rare; focus on common ones first\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"rare-2-th-family\\\" type=\\\"fill-in-blank\\\" title=\\\"Complete TH Family\\\" skill=\\\"character-sound-mapping\\\" tests=\\\"pedestal,montho,elder\\\" objectiveId=\\\"obj-th-family\\\"}\\n\\n**Question:** List all consonants that make the TH sound (aspirated T)\\n\\n**Answer:**\\n\\n- ถ (bag) - high-class\\n- ท (soldier) - low-class\\n- ธ (flag) - low-class\\n- ฐ (pedestal) - high-class\\n- ฑ (Montho) - low-class\\n- ฒ (elder) - low-class\\n\\n**Explanation:** Thai has six consonants making the /th/ sound. ต is technically unaspirated /t/, while the others are aspirated /th/. All except ต sound identical; the difference is consonant class for tone determination.\\n\\n:::\\n\\n:::exercise{id=\\\"rare-2-class-counting\\\" type=\\\"multiple-choice\\\" title=\\\"Consonant Class Distribution\\\" skill=\\\"character-class-identification\\\" objectiveId=\\\"obj-complete-alphabet\\\"}\\n\\n**Question:** How many consonants are in each class?\\n\\n**Options:**\\n- Middle: 9, High: 11, Low: 24\\n- Middle: 11, High: 9, Low: 24\\n- Middle: 9, High: 24, Low: 11\\n- All equal: 15 each\\n\\n**Answer:** 1\\n\\n**Explanation:** The Thai consonant system has 9 middle-class, 11 high-class, and 24 low-class consonants. Low-class is the largest group because it includes many historically voiced sounds.\\n\\n:::\\n\\n:::exercise{id=\\\"rare-2-rare-recognition\\\" type=\\\"matching\\\" title=\\\"Rare Consonant Recognition\\\" skill=\\\"character-recognition\\\" tests=\\\"pedestal,montho,elder,kite\\\" objectiveId=\\\"obj-rare2-recognition\\\"}\\n\\n**Question:** Match each rare consonant to its most common usage\\n\\n- ฐ (pedestal)\\n- ฑ (Montho)\\n- ฒ (elder)\\n- ฬ (kite)\\n\\n**Answer:**\\n\\n- ฐ → สถาน (place, location) - appears in many compound words\\n- ฑ → บัณฑิต (graduate, scholar) - very rare, mainly this word\\n- ฒ → ผู้เฒ่า (elderly person) - very rare\\n- ฬ → จุฬา (kite, Chulalongkorn) - primarily in this word\\n\\n**Explanation:** These rare consonants appear in very specific vocabulary. Knowing their most common words helps recognize them in context.\\n\\n:::\\n\\n## Congratulations!\\n\\nYou've now learned all 44 Thai consonants. The remaining lessons cover:\\n- **Lesson 11**: Tone marks\\n- **Lesson 12**: Numbers and symbols\\n\\nThese complete your ability to read Thai script!\\n\\n## What's Next\\n\\nIn Lesson 11, you'll learn the **four tone marks** — the final key to unlocking Thai pronunciation.\\n\""],"names":["lesson10"],"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;"}
@@ -15,10 +15,16 @@ metadata:
15
15
  estimatedTime: 35
16
16
  prerequisites:
17
17
  - thai-reading-lesson-09
18
- objectives:
19
- - "Read receipts and bills"
20
- - "Understand forms and applications"
21
- - "Navigate everyday documents"
18
+ learningObjectives:
19
+ - id: obj-r10-receipts-bills
20
+ description: "Read receipts and bills"
21
+ skill: reading-comprehension
22
+ - id: obj-r10-forms-applications
23
+ description: "Understand forms and applications"
24
+ skill: reading-comprehension
25
+ - id: obj-r10-everyday-documents
26
+ description: "Navigate everyday documents"
27
+ skill: word-recognition
22
28
  ---
23
29
 
24
30
  # Daily Life Reading
@@ -86,7 +92,7 @@ Thai Kitchen Restaurant
86
92
 
87
93
  ## Practice Exercises
88
94
 
89
- :::exercise{id="reading-10-receipt-terms" type="matching" title="Receipt Vocabulary"}
95
+ :::exercise{id="reading-10-receipt-terms" type="matching" title="Receipt Vocabulary" skill="word-recognition" objectiveId="obj-r10-receipts-bills"}
90
96
 
91
97
  **Question:** Match each receipt term to its meaning
92
98
 
@@ -106,7 +112,7 @@ Thai Kitchen Restaurant
106
112
 
107
113
  :::
108
114
 
109
- :::exercise{id="reading-10-form-fields" type="fill-in-blank" title="Form Field Recognition"}
115
+ :::exercise{id="reading-10-form-fields" type="fill-in-blank" title="Form Field Recognition" skill="word-recognition" objectiveId="obj-r10-forms-applications"}
110
116
 
111
117
  **Question:** What do these form fields mean?
112
118
 
@@ -124,7 +130,7 @@ Thai Kitchen Restaurant
124
130
 
125
131
  :::
126
132
 
127
- :::exercise{id="reading-10-document-types" type="multiple-choice" title="Document Type Recognition"}
133
+ :::exercise{id="reading-10-document-types" type="multiple-choice" title="Document Type Recognition" skill="word-recognition" objectiveId="obj-r10-everyday-documents"}
128
134
 
129
135
  **Question:** What is ใบสมัคร?
130
136
 
@@ -147,4 +153,4 @@ Congratulations! You've completed the Reading syllabus. Continue practicing by r
147
153
  export {
148
154
  n as default
149
155
  };
150
- //# sourceMappingURL=lesson-10-C7YEQ8et.js.map
156
+ //# sourceMappingURL=lesson-10-Dw-Jtm3D.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-10-Dw-Jtm3D.js","sources":["../src/syllabi/reading/lessons/lesson-10.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-reading-lesson-10\\ntitle: \\\"บทที่ 10 — อ่านในชีวิตประจำวัน\\\"\\ndescription: \\\"Daily Life Reading: Read practical everyday documents\\\"\\norder: 10\\nparentId: thai-reading\\ndifficulty: intermediate\\ncefrLevel: B1\\ncategories:\\n - reading\\n - practical\\n - documents\\nmetadata:\\n estimatedTime: 35\\n prerequisites:\\n - thai-reading-lesson-09\\n learningObjectives:\\n - id: obj-r10-receipts-bills\\n description: \\\"Read receipts and bills\\\"\\n skill: reading-comprehension\\n - id: obj-r10-forms-applications\\n description: \\\"Understand forms and applications\\\"\\n skill: reading-comprehension\\n - id: obj-r10-everyday-documents\\n description: \\\"Navigate everyday documents\\\"\\n skill: word-recognition\\n---\\n\\n# Daily Life Reading\\n\\nEveryday documents require reading skills. Master these practical formats.\\n\\n## Receipt Terms\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| ใบเสร็จ | bai set | receipt |\\n| รายการ | raikan | item |\\n| จำนวน | jamnuan | quantity |\\n| รวม | ruam | total |\\n\\n## Bill Components\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| ค่าบริการ | kha borikan | service charge |\\n| ภาษี | phasi | tax |\\n| ส่วนลด | suan lot | discount |\\n| ยอดสุทธิ | yot sutthi | net total |\\n\\n## Form Fields\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| ชื่อ-นามสกุล | chue-namsakun | full name |\\n| ที่อยู่ | thi yu | address |\\n| เบอร์โทร | boe tho | phone number |\\n| อีเมล | email | email |\\n\\n## Document Types\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| ใบสมัคร | bai samak | application form |\\n| สัญญา | sanya | contract |\\n| ใบรับรอง | bai rapprong | certificate |\\n| ใบอนุญาต | bai anuyat | permit/license |\\n\\n## Sample Receipt\\n\\n```\\nร้านอาหารครัวไทย\\nThai Kitchen Restaurant\\n------------------------\\nวันที่: 15/01/2568\\nเลขที่: 001234\\n\\nรายการ จำนวน ราคา\\nผัดไทยกุ้ง 1 80\\nต้มยำกุ้ง 1 120\\nน้ำมะนาว 2 40\\n------------------------\\nรวม 240\\nภาษี 7% 17\\nยอดสุทธิ 257 บาท\\n\\nขอบคุณที่ใช้บริการ\\n```\\n\\n*Thai Kitchen Restaurant, Date: 15/01/2025, Receipt #001234. Items: Pad Thai shrimp (1) 80, Tom Yum shrimp (1) 120, Lime juice (2) 40. Subtotal 240, Tax 7% 17, Total 257 baht. Thank you for your patronage.*\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"reading-10-receipt-terms\\\" type=\\\"matching\\\" title=\\\"Receipt Vocabulary\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-r10-receipts-bills\\\"}\\n\\n**Question:** Match each receipt term to its meaning\\n\\n- ใบเสร็จ\\n- รายการ\\n- จำนวน\\n- ยอดสุทธิ\\n\\n**Answer:**\\n\\n- ใบเสร็จ → Receipt\\n- รายการ → Item/line item\\n- จำนวน → Quantity\\n- ยอดสุทธิ → Net total (final amount)\\n\\n**Explanation:** These terms appear on all receipts. ใบเสร็จ is the receipt itself. รายการ lists each item. จำนวน shows quantity. ยอดสุทธิ is the final amount after tax and discounts.\\n\\n:::\\n\\n:::exercise{id=\\\"reading-10-form-fields\\\" type=\\\"fill-in-blank\\\" title=\\\"Form Field Recognition\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-r10-forms-applications\\\"}\\n\\n**Question:** What do these form fields mean?\\n\\n- ชื่อ-นามสกุล\\n- ที่อยู่\\n- เบอร์โทร\\n\\n**Answer:**\\n\\n- ชื่อ-นามสกุล → Full name (first name - last name)\\n- ที่อยู่ → Address\\n- เบอร์โทร → Phone number\\n\\n**Explanation:** These are standard form fields in Thailand. ชื่อ means \\\"first name\\\", นามสกุล means \\\"last name/surname\\\". ที่อยู่ means \\\"address\\\" (literally \\\"place to stay\\\"). เบอร์โทร means \\\"phone number\\\".\\n\\n:::\\n\\n:::exercise{id=\\\"reading-10-document-types\\\" type=\\\"multiple-choice\\\" title=\\\"Document Type Recognition\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-r10-everyday-documents\\\"}\\n\\n**Question:** What is ใบสมัคร?\\n\\n**Options:**\\n- Receipt\\n- Application form\\n- Certificate\\n- Contract\\n\\n**Answer:** 2\\n\\n**Explanation:** ใบสมัคร means \\\"application form\\\" (literally \\\"application paper\\\"). ใบ means \\\"paper/document\\\", สมัคร means \\\"apply/application\\\". This appears on job applications, membership forms, etc.\\n\\n:::\\n\\n## What's Next\\n\\nCongratulations! You've completed the Reading syllabus. Continue practicing by reading real-world Thai texts — signs, menus, and documents you encounter daily. Consider reviewing previous lessons or exploring other syllabi like Dialogue or Food for more practical vocabulary.\\n\""],"names":["lesson10"],"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;"}
@@ -16,11 +16,23 @@ metadata:
16
16
  estimatedTime: 35
17
17
  prerequisites:
18
18
  - thai-script-lesson-10
19
- objectives:
20
- - "Learn the four Thai tone marks"
21
- - "Understand how tone marks interact with consonant class"
22
- - "Master the complete tone rule system"
23
- - "Practice reading with all five tones"
19
+ learningObjectives:
20
+ - id: obj-tone-mark-recognition
21
+ description: "Learn the four Thai tone marks"
22
+ skill: character-recognition
23
+ references: [mai-ek, mai-tho, mai-tri, mai-chattawa]
24
+ - id: obj-tone-class-interaction
25
+ description: "Understand how tone marks interact with consonant class"
26
+ skill: character-sound-mapping
27
+ references: [mai-ek, mai-tho, mai-tri, mai-chattawa]
28
+ - id: obj-tone-rules
29
+ description: "Master the complete tone rule system"
30
+ skill: character-sound-mapping
31
+ references: [mai-ek, mai-tho, mai-tri, mai-chattawa]
32
+ - id: obj-tone-reading
33
+ description: "Practice reading with all five tones"
34
+ skill: character-sound-mapping
35
+ references: [mai-ek, mai-tho, mai-tri, mai-chattawa]
24
36
  ---
25
37
 
26
38
  # บทที่ 11 (Lesson 11) — Tone Marks
@@ -45,13 +57,13 @@ Thai has **five tones** but only **four tone marks**. The fifth tone (mid) is th
45
57
 
46
58
  :::character-set{id="thai-tone-marks" title="Tone Marks"}
47
59
 
48
- ::character{id="th-mai-ek" char="่" name="ไม้เอก (mái èek)" nativeName="ไม้เอก" transliteration="tone1" charType="tone"}
60
+ ::character{id="mai-ek" canonicalRef="mai-ek" char="่" name="ไม้เอก (mái èek)" nativeName="ไม้เอก" transliteration="tone1" charType="tone"}
49
61
 
50
- ::character{id="th-mai-tho" char="้" name="ไม้โท (mái thoo)" nativeName="ไม้โท" transliteration="tone2" charType="tone"}
62
+ ::character{id="mai-tho" canonicalRef="mai-tho" char="้" name="ไม้โท (mái thoo)" nativeName="ไม้โท" transliteration="tone2" charType="tone"}
51
63
 
52
- ::character{id="th-mai-tri" char="๊" name="ไม้ตรี (mái dtrii)" nativeName="ไม้ตรี" transliteration="tone3" charType="tone"}
64
+ ::character{id="mai-tri" canonicalRef="mai-tri" char="๊" name="ไม้ตรี (mái dtrii)" nativeName="ไม้ตรี" transliteration="tone3" charType="tone"}
53
65
 
54
- ::character{id="th-mai-chattawa" char="๋" name="ไม้จัตวา (mái jàt-dtà-waa)" nativeName="ไม้จัตวา" transliteration="tone4" charType="tone"}
66
+ ::character{id="mai-chattawa" canonicalRef="mai-chattawa" char="๋" name="ไม้จัตวา (mái jàt-dtà-waa)" nativeName="ไม้จัตวา" transliteration="tone4" charType="tone"}
55
67
 
56
68
  :::
57
69
 
@@ -180,7 +192,7 @@ The result: a system that seems arbitrary but is actually quite regular once int
180
192
 
181
193
  ## Practice Exercises
182
194
 
183
- :::exercise{id="tone-1-mark-recognition" type="matching" title="Tone Mark Recognition"}
195
+ :::exercise{id="tone-1-mark-recognition" type="matching" title="Tone Mark Recognition" skill="character-recognition" tests="mai-ek,mai-tho,mai-tri,mai-chattawa" objectiveId="obj-tone-mark-recognition"}
184
196
 
185
197
  **Question:** Match each tone mark to its name and effect on middle-class consonants
186
198
 
@@ -200,7 +212,7 @@ The result: a system that seems arbitrary but is actually quite regular once int
200
212
 
201
213
  :::
202
214
 
203
- :::exercise{id="tone-1-class-interaction" type="multiple-choice" title="Tone Mark and Class Interaction"}
215
+ :::exercise{id="tone-1-class-interaction" type="multiple-choice" title="Tone Mark and Class Interaction" skill="character-sound-mapping" tests="mai-tho" objectiveId="obj-tone-class-interaction"}
204
216
 
205
217
  **Question:** The word ค้า (kháa) has a high tone. Why?
206
218
 
@@ -216,7 +228,7 @@ The result: a system that seems arbitrary but is actually quite regular once int
216
228
 
217
229
  :::
218
230
 
219
- :::exercise{id="tone-1-tone-prediction" type="fill-in-blank" title="Tone Prediction Practice"}
231
+ :::exercise{id="tone-1-tone-prediction" type="fill-in-blank" title="Tone Prediction Practice" skill="character-sound-mapping" tests="mai-ek" objectiveId="obj-tone-reading"}
220
232
 
221
233
  **Question:** Predict the tone for these words:
222
234
 
@@ -245,4 +257,4 @@ In Lesson 12, you'll learn **Thai numbers and symbols** — the final pieces for
245
257
  export {
246
258
  n as default
247
259
  };
248
- //# sourceMappingURL=lesson-11-oJQ8ZxJk.js.map
260
+ //# sourceMappingURL=lesson-11-BM3R_S7I.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-11-BM3R_S7I.js","sources":["../src/syllabi/alphabet/lessons/lesson-11.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-script-lesson-11\\ntitle: \\\"บทที่ 11 — วรรณยุกต์\\\"\\ndescription: \\\"Tone Marks: ◌่ ◌้ ◌๊ ◌๋ — The four marks that modify Thai tones\\\"\\norder: 11\\nparentId: thai-script-alphabet\\ndifficulty: advanced\\ncefrLevel: B1\\ncategories:\\n - tone-marks\\n - tone-rules\\n - pronunciation\\n - advanced-characters\\nmetadata:\\n estimatedTime: 35\\n prerequisites:\\n - thai-script-lesson-10\\n learningObjectives:\\n - id: obj-tone-mark-recognition\\n description: \\\"Learn the four Thai tone marks\\\"\\n skill: character-recognition\\n references: [mai-ek, mai-tho, mai-tri, mai-chattawa]\\n - id: obj-tone-class-interaction\\n description: \\\"Understand how tone marks interact with consonant class\\\"\\n skill: character-sound-mapping\\n references: [mai-ek, mai-tho, mai-tri, mai-chattawa]\\n - id: obj-tone-rules\\n description: \\\"Master the complete tone rule system\\\"\\n skill: character-sound-mapping\\n references: [mai-ek, mai-tho, mai-tri, mai-chattawa]\\n - id: obj-tone-reading\\n description: \\\"Practice reading with all five tones\\\"\\n skill: character-sound-mapping\\n references: [mai-ek, mai-tho, mai-tri, mai-chattawa]\\n---\\n\\n# บทที่ 11 (Lesson 11) — Tone Marks\\n\\n## Introduction\\n\\nThai has **five tones** but only **four tone marks**. The fifth tone (mid) is the default when no mark is present. Tone marks combine with consonant class to determine the final tone — this is the most complex part of Thai phonology.\\n\\n## The Five Thai Tones\\n\\n| Tone | Thai Name | Symbol | Description | Example |\\n|------|-----------|--------|-------------|---------|\\n| Mid | เสียงสามัญ | — | Level, neutral | มา (maa) |\\n| Low | เสียงเอก | \\\\ | Low and level | ม่า (màa) |\\n| Falling | เสียงโท | \\\\\\\\ | High-to-low drop | ม้า (máa) horse |\\n| High | เสียงตรี | / | High and level | ม๊า (maa+) |\\n| Rising | เสียงจัตวา | // | Low-to-high rise | หมา (mǎa) dog |\\n\\n**Note**: The symbols (—, \\\\, \\\\\\\\, /, //) are tone contour representations, not Thai script.\\n\\n## Characters\\n\\n:::character-set{id=\\\"thai-tone-marks\\\" title=\\\"Tone Marks\\\"}\\n\\n::character{id=\\\"mai-ek\\\" canonicalRef=\\\"mai-ek\\\" char=\\\"่\\\" name=\\\"ไม้เอก (mái èek)\\\" nativeName=\\\"ไม้เอก\\\" transliteration=\\\"tone1\\\" charType=\\\"tone\\\"}\\n\\n::character{id=\\\"mai-tho\\\" canonicalRef=\\\"mai-tho\\\" char=\\\"้\\\" name=\\\"ไม้โท (mái thoo)\\\" nativeName=\\\"ไม้โท\\\" transliteration=\\\"tone2\\\" charType=\\\"tone\\\"}\\n\\n::character{id=\\\"mai-tri\\\" canonicalRef=\\\"mai-tri\\\" char=\\\"๊\\\" name=\\\"ไม้ตรี (mái dtrii)\\\" nativeName=\\\"ไม้ตรี\\\" transliteration=\\\"tone3\\\" charType=\\\"tone\\\"}\\n\\n::character{id=\\\"mai-chattawa\\\" canonicalRef=\\\"mai-chattawa\\\" char=\\\"๋\\\" name=\\\"ไม้จัตวา (mái jàt-dtà-waa)\\\" nativeName=\\\"ไม้จัตวา\\\" transliteration=\\\"tone4\\\" charType=\\\"tone\\\"}\\n\\n:::\\n\\n## The Tone Rules Matrix\\n\\nHere's the key insight: **the same tone mark produces different tones depending on consonant class**.\\n\\n### Live Syllables (Open or ending in m, n, ng, w, y)\\n\\n| Mark | Middle Class | High Class | Low Class |\\n|------|--------------|------------|-----------|\\n| None | Mid | Rising | Mid |\\n| ◌่ (mái èek) | Low | Low | Falling |\\n| ◌้ (mái thoo) | Falling | Falling | High |\\n| ◌๊ (mái dtrii) | High | (not used) | (not used) |\\n| ◌๋ (mái jàt-dtà-waa) | Rising | (not used) | (not used) |\\n\\n### Dead Syllables (Ending in p, t, k or short vowel + stop)\\n\\nDead syllables have more limited options:\\n\\n| Mark | Middle Class | High Class | Low Class |\\n|------|--------------|------------|-----------|\\n| None (short) | Low | Low | High |\\n| None (long) | Low | Low | Falling |\\n| ◌่ | — | — | — |\\n| ◌้ | — | — | — |\\n\\n**Key**: Dead syllables usually don't take tone marks; their tone is determined by vowel length and class.\\n\\n## Understanding Each Tone Mark\\n\\n### ◌่ Mái Èek (First Mark)\\n\\nThe most common tone mark. Effects:\\n- **Middle/High class**: Creates LOW tone\\n- **Low class**: Creates FALLING tone\\n\\nExamples:\\n- ก่า (gàa) — middle-class + mái èek = low\\n- ข่า (khàa) — high-class + mái èek = low\\n- ค่า (khâa) — low-class + mái èek = falling\\n\\n### ◌้ Mái Thoo (Second Mark)\\n\\nExamples:\\n- ก้า (gâa) — middle-class = falling\\n- ข้า (khâa) — high-class = falling\\n- ค้า (kháa) — low-class = HIGH\\n\\n**Surprise**: Low-class + mái thoo gives HIGH tone, not falling!\\n\\n### ◌๊ Mái Dtrii (Third Mark)\\n\\n**Only used with middle-class consonants** to create HIGH tone:\\n- ก๊า (gáa) — high tone\\n- จ๊ะ (jáʔ) — exclamation\\n\\nYou'll almost never see ◌๊ with high or low-class consonants.\\n\\n### ◌๋ Mái Jàt-dtà-waa (Fourth Mark)\\n\\n**Only used with middle-class consonants** to create RISING tone:\\n- ก๋า (gǎa) — rising tone\\n\\nThis is the rarest tone mark because:\\n- Middle-class consonants can get rising tone this way\\n- But rising tone is more often from high-class consonants or ห-lifting\\n\\n## Common Patterns to Memorize\\n\\n### Pattern 1: High-Class Default Rising\\nHigh-class consonants (ข ส ห etc.) naturally produce rising tone:\\n- ขา (khǎa), สี (sǐi), หา (hǎa)\\n\\n### Pattern 2: Mái Èek Makes Things Lower\\n- Middle/High: → Low tone\\n- Low: → Falling tone (even lower!)\\n\\n### Pattern 3: Mái Thoo's Low-Class Surprise\\nLow-class + mái thoo = HIGH, not falling:\\n- ค้า (kháa) = high tone\\n\\n### Pattern 4: ๊ and ๋ Are Middle-Class Only\\nSee ก๊ or ก๋? It's definitely middle-class.\\nSee ค๊? Something's wrong — low-class doesn't use ◌๊.\\n\\n## Practice Examples\\n\\n| Word | Consonant | Class | Mark | Result |\\n|------|-----------|-------|------|--------|\\n| มา | ม | Low | none | Mid |\\n| ม่า | ม | Low | ◌่ | Falling |\\n| ม้า | ม | Low | ◌้ | High |\\n| หมา | หม | (lifted) | none | Rising |\\n| กา | ก | Middle | none | Mid |\\n| ก่า | ก | Middle | ◌่ | Low |\\n| ก้า | ก | Middle | ◌้ | Falling |\\n| ก๊า | ก | Middle | ◌๊ | High |\\n| ก๋า | ก | Middle | ◌๋ | Rising |\\n\\n## Why Is This So Complex?\\n\\nHistorical sound changes! Originally:\\n- Voice quality (breathy, creaky, etc.) determined tone\\n- When voice quality was lost, Thai compensated with marks\\n- Different consonant classes had different starting points\\n\\nThe result: a system that seems arbitrary but is actually quite regular once internalized.\\n\\n## Memory Strategies\\n\\n1. **Learn by word**: Don't calculate — recognize ม้า as \\\"horse\\\" with high tone\\n2. **Class first**: Always identify consonant class before looking at marks\\n3. **High-class default**: Remember they naturally rise\\n4. **Mái thoo surprise**: Low + ◌้ = HIGH is the big exception\\n5. **Practice common words**: ที่ ไม่ ก็ ค่ะ ครับ — learn their tones by ear\\n\\n## Key Points\\n\\n1. **Four marks, five tones**: Mid tone needs no mark\\n2. **Class matters**: Same mark = different tone by class\\n3. **◌๊ and ◌๋ are middle-only**: High/low don't use them\\n4. **Mái thoo exception**: Low-class + ◌้ = high (not falling)\\n5. **Dead syllables are simpler**: Tone from class and vowel length\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"tone-1-mark-recognition\\\" type=\\\"matching\\\" title=\\\"Tone Mark Recognition\\\" skill=\\\"character-recognition\\\" tests=\\\"mai-ek,mai-tho,mai-tri,mai-chattawa\\\" objectiveId=\\\"obj-tone-mark-recognition\\\"}\\n\\n**Question:** Match each tone mark to its name and effect on middle-class consonants\\n\\n- ◌่ (mái èek)\\n- ◌้ (mái thoo)\\n- ◌๊ (mái dtrii)\\n- ◌๋ (mái jàt-dtà-waa)\\n\\n**Answer:**\\n\\n- ◌่ → Low tone (mái èek - first mark)\\n- ◌้ → Falling tone (mái thoo - second mark)\\n- ◌๊ → High tone (mái dtrii - third mark)\\n- ◌๋ → Rising tone (mái jàt-dtà-waa - fourth mark)\\n\\n**Explanation:** On middle-class consonants, each tone mark produces a different tone. The marks are named \\\"first, second, third, fourth\\\" in Thai.\\n\\n:::\\n\\n:::exercise{id=\\\"tone-1-class-interaction\\\" type=\\\"multiple-choice\\\" title=\\\"Tone Mark and Class Interaction\\\" skill=\\\"character-sound-mapping\\\" tests=\\\"mai-tho\\\" objectiveId=\\\"obj-tone-class-interaction\\\"}\\n\\n**Question:** The word ค้า (kháa) has a high tone. Why?\\n\\n**Options:**\\n- Because ค is high-class\\n- Because of mái thoo (◌้) on a low-class consonant\\n- Because of mái dtrii (◌๊) on a low-class consonant\\n- Because it's a dead syllable\\n\\n**Answer:** 2\\n\\n**Explanation:** This is the \\\"mái thoo surprise\\\"! ค is low-class, and mái thoo (◌้) on a low-class consonant in a live syllable produces HIGH tone, not falling. This is the key exception to remember.\\n\\n:::\\n\\n:::exercise{id=\\\"tone-1-tone-prediction\\\" type=\\\"fill-in-blank\\\" title=\\\"Tone Prediction Practice\\\" skill=\\\"character-sound-mapping\\\" tests=\\\"mai-ek\\\" objectiveId=\\\"obj-tone-reading\\\"}\\n\\n**Question:** Predict the tone for these words:\\n\\n- กา (middle-class ก, no mark)\\n- ขา (high-class ข, no mark)\\n- คา (low-class ค, no mark)\\n- ก่า (middle-class ก, mái èek)\\n- ค่า (low-class ค, mái èek)\\n\\n**Answer:**\\n\\n- กา → Mid tone (middle-class default)\\n- ขา → Rising tone (high-class default)\\n- คา → Mid tone (low-class default in live syllables)\\n- ก่า → Low tone (middle-class + mái èek)\\n- ค่า → Falling tone (low-class + mái èek)\\n\\n**Explanation:** The consonant class determines the base tone when no mark is present. Mái èek (◌่) lowers the tone: middle/high → low, low → falling.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 12, you'll learn **Thai numbers and symbols** — the final pieces for complete literacy.\\n\""],"names":["lesson11"],"mappings":"AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -16,11 +16,23 @@ metadata:
16
16
  estimatedTime: 20
17
17
  prerequisites:
18
18
  - thai-script-lesson-11
19
- objectives:
20
- - "Learn Thai numerals 0-9"
21
- - "Understand Thai punctuation marks"
22
- - "Master the repetition mark ๆ"
23
- - "Complete your Thai script literacy"
19
+ learningObjectives:
20
+ - id: obj-numerals
21
+ description: "Learn Thai numerals 0-9"
22
+ skill: character-recognition
23
+ references: [num-zero, num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]
24
+ - id: obj-punctuation
25
+ description: "Understand Thai punctuation marks"
26
+ skill: character-recognition
27
+ references: [paiyannoi, maiyamok]
28
+ - id: obj-repetition-mark
29
+ description: "Master the repetition mark ๆ"
30
+ skill: character-sound-mapping
31
+ references: [maiyamok]
32
+ - id: obj-script-literacy
33
+ description: "Complete your Thai script literacy"
34
+ skill: character-recognition
35
+ references: [num-zero, num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine, paiyannoi, maiyamok]
24
36
  ---
25
37
 
26
38
  # บทที่ 12 (Lesson 12) — Numbers & Symbols
@@ -33,25 +45,25 @@ Thai has its own numeral system dating back centuries. While Arabic numerals (0-
33
45
 
34
46
  :::character-set{id="thai-numbers" title="Thai Numerals"}
35
47
 
36
- ::character{id="th-zero" char="๐" name="ศูนย์ (sǔun)" nativeName="ศูนย์" transliteration="0" charType="number"}
48
+ ::character{id="num-zero" canonicalRef="num-zero" char="๐" name="ศูนย์ (sǔun)" nativeName="ศูนย์" transliteration="0" charType="number"}
37
49
 
38
- ::character{id="th-one" char="๑" name="หนึ่ง (nʉ̀ng)" nativeName="หนึ่ง" transliteration="1" charType="number"}
50
+ ::character{id="num-one" canonicalRef="num-one" char="๑" name="หนึ่ง (nʉ̀ng)" nativeName="หนึ่ง" transliteration="1" charType="number"}
39
51
 
40
- ::character{id="th-two" char="๒" name="สอง (sɔ̌ɔng)" nativeName="สอง" transliteration="2" charType="number"}
52
+ ::character{id="num-two" canonicalRef="num-two" char="๒" name="สอง (sɔ̌ɔng)" nativeName="สอง" transliteration="2" charType="number"}
41
53
 
42
- ::character{id="th-three" char="๓" name="สาม (sǎam)" nativeName="สาม" transliteration="3" charType="number"}
54
+ ::character{id="num-three" canonicalRef="num-three" char="๓" name="สาม (sǎam)" nativeName="สาม" transliteration="3" charType="number"}
43
55
 
44
- ::character{id="th-four" char="๔" name="สี่ (sìi)" nativeName="สี่" transliteration="4" charType="number"}
56
+ ::character{id="num-four" canonicalRef="num-four" char="๔" name="สี่ (sìi)" nativeName="สี่" transliteration="4" charType="number"}
45
57
 
46
- ::character{id="th-five" char="๕" name="ห้า (hâa)" nativeName="ห้า" transliteration="5" charType="number"}
58
+ ::character{id="num-five" canonicalRef="num-five" char="๕" name="ห้า (hâa)" nativeName="ห้า" transliteration="5" charType="number"}
47
59
 
48
- ::character{id="th-six" char="๖" name="หก (hòk)" nativeName="หก" transliteration="6" charType="number"}
60
+ ::character{id="num-six" canonicalRef="num-six" char="๖" name="หก (hòk)" nativeName="หก" transliteration="6" charType="number"}
49
61
 
50
- ::character{id="th-seven" char="๗" name="เจ็ด (jèt)" nativeName="เจ็ด" transliteration="7" charType="number"}
62
+ ::character{id="num-seven" canonicalRef="num-seven" char="๗" name="เจ็ด (jèt)" nativeName="เจ็ด" transliteration="7" charType="number"}
51
63
 
52
- ::character{id="th-eight" char="๘" name="แปด (bpàaet)" nativeName="แปด" transliteration="8" charType="number"}
64
+ ::character{id="num-eight" canonicalRef="num-eight" char="๘" name="แปด (bpàaet)" nativeName="แปด" transliteration="8" charType="number"}
53
65
 
54
- ::character{id="th-nine" char="๙" name="เก้า (gâo)" nativeName="เก้า" transliteration="9" charType="number"}
66
+ ::character{id="num-nine" canonicalRef="num-nine" char="๙" name="เก้า (gâo)" nativeName="เก้า" transliteration="9" charType="number"}
55
67
 
56
68
  :::
57
69
 
@@ -95,9 +107,9 @@ When you see dates in Thai numerals, they're likely Buddhist Era!
95
107
 
96
108
  :::character-set{id="thai-symbols" title="Thai Symbols"}
97
109
 
98
- ::character{id="th-paiyannoi" char="ฯ" name="ไปยาลน้อย (bpai-yaan-nói)" nativeName="ไปยาลน้อย" transliteration="abbrev." charType="symbol"}
110
+ ::character{id="paiyannoi" canonicalRef="paiyannoi" char="ฯ" name="ไปยาลน้อย (bpai-yaan-nói)" nativeName="ไปยาลน้อย" transliteration="abbrev." charType="symbol"}
99
111
 
100
- ::character{id="th-maiyamok" char="ๆ" name="ไม้ยมก (mái-yá-mók)" nativeName="ไม้ยมก" transliteration="repeat" charType="symbol"}
112
+ ::character{id="maiyamok" canonicalRef="maiyamok" char="ๆ" name="ไม้ยมก (mái-yá-mók)" nativeName="ไม้ยมก" transliteration="repeat" charType="symbol"}
101
113
 
102
114
  :::
103
115
 
@@ -174,7 +186,7 @@ You've now learned the complete Thai script:
174
186
 
175
187
  ## Practice Exercises
176
188
 
177
- :::exercise{id="numbers-1-numeral-conversion" type="fill-in-blank" title="Numeral Conversion"}
189
+ :::exercise{id="numbers-1-numeral-conversion" type="fill-in-blank" title="Numeral Conversion" skill="character-recognition" tests="num-zero,num-one,num-two,num-three,num-five,num-six,num-seven" objectiveId="obj-numerals"}
178
190
 
179
191
  **Question:** Convert these Thai numerals to Arabic numerals:
180
192
 
@@ -192,7 +204,7 @@ You've now learned the complete Thai script:
192
204
 
193
205
  :::
194
206
 
195
- :::exercise{id="numbers-1-symbol-usage" type="matching" title="Symbol Usage"}
207
+ :::exercise{id="numbers-1-symbol-usage" type="matching" title="Symbol Usage" skill="character-recognition" tests="maiyamok,paiyannoi" objectiveId="obj-punctuation"}
196
208
 
197
209
  **Question:** Match each symbol to its correct usage
198
210
 
@@ -210,7 +222,7 @@ You've now learned the complete Thai script:
210
222
 
211
223
  :::
212
224
 
213
- :::exercise{id="numbers-1-reading-practice" type="fill-in-blank" title="Reading Practice with Symbols"}
225
+ :::exercise{id="numbers-1-reading-practice" type="fill-in-blank" title="Reading Practice with Symbols" skill="character-sound-mapping" tests="paiyannoi,maiyamok" objectiveId="obj-repetition-mark"}
214
226
 
215
227
  **Question:** What do these phrases mean?
216
228
 
@@ -262,4 +274,4 @@ You can read Thai!
262
274
  export {
263
275
  n as default
264
276
  };
265
- //# sourceMappingURL=lesson-12-D69m5ETy.js.map
277
+ //# sourceMappingURL=lesson-12-D1Wx7CyK.js.map