@syllst/th 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (330) hide show
  1. package/dist/{index-of_athp-.js → index-4uNMctdq.js} +13 -13
  2. package/dist/{index-of_athp-.js.map → index-4uNMctdq.js.map} +1 -1
  3. package/dist/{index-Dy38Hmlm.js → index-BM-LWlCm.js} +10 -10
  4. package/dist/{index-Dy38Hmlm.js.map → index-BM-LWlCm.js.map} +1 -1
  5. package/dist/{index-CTQ45BVw.js → index-Bjym0crS.js} +8 -8
  6. package/dist/{index-CTQ45BVw.js.map → index-Bjym0crS.js.map} +1 -1
  7. package/dist/{index-B029m98V.js → index-BuKXw7-Z.js} +7 -7
  8. package/dist/{index-B029m98V.js.map → index-BuKXw7-Z.js.map} +1 -1
  9. package/dist/{index-CoqP9GZL.js → index-ByS0o5dz.js} +10 -10
  10. package/dist/{index-CoqP9GZL.js.map → index-ByS0o5dz.js.map} +1 -1
  11. package/dist/{index-BCA5Llwg.js → index-C9VnG7dT.js} +10 -10
  12. package/dist/{index-BCA5Llwg.js.map → index-C9VnG7dT.js.map} +1 -1
  13. package/dist/{index-vuRo2mLK.js → index-CPQkjFjV.js} +9 -9
  14. package/dist/{index-vuRo2mLK.js.map → index-CPQkjFjV.js.map} +1 -1
  15. package/dist/{index-BFcg5D_W.js → index-CkHd3Fal.js} +12 -12
  16. package/dist/{index-BFcg5D_W.js.map → index-CkHd3Fal.js.map} +1 -1
  17. package/dist/{index-CB8M6CK6.js → index-DBkPBXe2.js} +10 -10
  18. package/dist/{index-CB8M6CK6.js.map → index-DBkPBXe2.js.map} +1 -1
  19. package/dist/index.d.ts +1 -1
  20. package/dist/index.js +18 -18
  21. package/dist/{lesson-01--9NOyHZ6.js → lesson-01-B0wtSaSl.js} +21 -9
  22. package/dist/lesson-01-B0wtSaSl.js.map +1 -0
  23. package/dist/{lesson-01-97FtYE6g.js → lesson-01-C9vbUlA4.js} +14 -6
  24. package/dist/lesson-01-C9vbUlA4.js.map +1 -0
  25. package/dist/{lesson-01-CF4tJfZ3.js → lesson-01-CPmBFTe0.js} +28 -16
  26. package/dist/lesson-01-CPmBFTe0.js.map +1 -0
  27. package/dist/{lesson-01-3hBted4A.js → lesson-01-Cc4Ws8eR.js} +25 -14
  28. package/dist/lesson-01-Cc4Ws8eR.js.map +1 -0
  29. package/dist/{lesson-01-BYKAZiua.js → lesson-01-Cm5k-m-9.js} +14 -8
  30. package/dist/lesson-01-Cm5k-m-9.js.map +1 -0
  31. package/dist/{lesson-01-WV3ic8Ok.js → lesson-01-DELblCNj.js} +11 -5
  32. package/dist/lesson-01-DELblCNj.js.map +1 -0
  33. package/dist/{lesson-01-CRx-yw4C.js → lesson-01-Djl_72e7.js} +14 -6
  34. package/dist/lesson-01-Djl_72e7.js.map +1 -0
  35. package/dist/{lesson-01-BhjY6ArF.js → lesson-01-LEHTeGQQ.js} +17 -9
  36. package/dist/lesson-01-LEHTeGQQ.js.map +1 -0
  37. package/dist/{lesson-01-BNdHXAGR.js → lesson-01-ih_-OO_O.js} +14 -6
  38. package/dist/lesson-01-ih_-OO_O.js.map +1 -0
  39. package/dist/{lesson-02-C8dfzXvq.js → lesson-02-B2aZrKUQ.js} +14 -6
  40. package/dist/lesson-02-B2aZrKUQ.js.map +1 -0
  41. package/dist/{lesson-02-C2ALLvoT.js → lesson-02-BI1Vnwiz.js} +17 -9
  42. package/dist/lesson-02-BI1Vnwiz.js.map +1 -0
  43. package/dist/{lesson-02-BGnp0Ik_.js → lesson-02-BXbwEMaL.js} +27 -15
  44. package/dist/lesson-02-BXbwEMaL.js.map +1 -0
  45. package/dist/{lesson-02-BAbq-QGP.js → lesson-02-CbJJ5Amt.js} +24 -14
  46. package/dist/lesson-02-CbJJ5Amt.js.map +1 -0
  47. package/dist/{lesson-02-Bm9EJuN8.js → lesson-02-DGrALAgG.js} +21 -9
  48. package/dist/lesson-02-DGrALAgG.js.map +1 -0
  49. package/dist/{lesson-02-C0ZL4z3c.js → lesson-02-DcMDDBDL.js} +11 -5
  50. package/dist/lesson-02-DcMDDBDL.js.map +1 -0
  51. package/dist/{lesson-02-B2Xg7RVU.js → lesson-02-Dk59HZWp.js} +17 -9
  52. package/dist/lesson-02-Dk59HZWp.js.map +1 -0
  53. package/dist/{lesson-02-BO3BXPMJ.js → lesson-02-L8oNhBej.js} +14 -8
  54. package/dist/lesson-02-L8oNhBej.js.map +1 -0
  55. package/dist/{lesson-02-CsejVbCo.js → lesson-02-VDOme3ES.js} +17 -9
  56. package/dist/lesson-02-VDOme3ES.js.map +1 -0
  57. package/dist/{lesson-03-DV2SUWVH.js → lesson-03-9WioSe19.js} +21 -9
  58. package/dist/lesson-03-9WioSe19.js.map +1 -0
  59. package/dist/{lesson-03-DiV17_Os.js → lesson-03-BZutWzMD.js} +14 -6
  60. package/dist/lesson-03-BZutWzMD.js.map +1 -0
  61. package/dist/{lesson-03-Xc8-2Yt3.js → lesson-03-CSIF5xRS.js} +14 -8
  62. package/dist/lesson-03-CSIF5xRS.js.map +1 -0
  63. package/dist/{lesson-03-DrJgbfDQ.js → lesson-03-CSKig363.js} +17 -9
  64. package/dist/lesson-03-CSKig363.js.map +1 -0
  65. package/dist/{lesson-03-XVahXvgf.js → lesson-03-CoDPKwa1.js} +21 -14
  66. package/dist/lesson-03-CoDPKwa1.js.map +1 -0
  67. package/dist/{lesson-03-8NtAeqFh.js → lesson-03-DPJOG2M_.js} +14 -8
  68. package/dist/lesson-03-DPJOG2M_.js.map +1 -0
  69. package/dist/{lesson-03-CKTNtgY1.js → lesson-03-DkjCuJ26.js} +17 -9
  70. package/dist/lesson-03-DkjCuJ26.js.map +1 -0
  71. package/dist/{lesson-03-BdZfKRhq.js → lesson-03-DucbRMOQ.js} +17 -9
  72. package/dist/lesson-03-DucbRMOQ.js.map +1 -0
  73. package/dist/{lesson-03-D8va_Q9B.js → lesson-03-MIne1PbH.js} +26 -14
  74. package/dist/lesson-03-MIne1PbH.js.map +1 -0
  75. package/dist/{lesson-04-Dfc7S4nT.js → lesson-04-0Pj_x1DU.js} +17 -9
  76. package/dist/lesson-04-0Pj_x1DU.js.map +1 -0
  77. package/dist/{lesson-04-ZrSBM0BX.js → lesson-04-B9h0p9kE.js} +14 -8
  78. package/dist/lesson-04-B9h0p9kE.js.map +1 -0
  79. package/dist/{lesson-04-DEEPJ_rd.js → lesson-04-BLuPI1-X.js} +22 -13
  80. package/dist/lesson-04-BLuPI1-X.js.map +1 -0
  81. package/dist/{lesson-04-rapx_3vA.js → lesson-04-CmDvofL4.js} +17 -9
  82. package/dist/lesson-04-CmDvofL4.js.map +1 -0
  83. package/dist/{lesson-04-DtXVhdGB.js → lesson-04-DGKHK4LW.js} +17 -9
  84. package/dist/lesson-04-DGKHK4LW.js.map +1 -0
  85. package/dist/{lesson-04-CtNr2B3E.js → lesson-04-DUcHZzsk.js} +21 -9
  86. package/dist/lesson-04-DUcHZzsk.js.map +1 -0
  87. package/dist/{lesson-04-BpRrNmzO.js → lesson-04-DnVIXXk-.js} +14 -8
  88. package/dist/lesson-04-DnVIXXk-.js.map +1 -0
  89. package/dist/{lesson-04-ioLXnB0j.js → lesson-04-FZnIE7tu.js} +27 -15
  90. package/dist/lesson-04-FZnIE7tu.js.map +1 -0
  91. package/dist/{lesson-04-D__vMCyA.js → lesson-04-ToX3nRz1.js} +17 -9
  92. package/dist/lesson-04-ToX3nRz1.js.map +1 -0
  93. package/dist/{lesson-05-D_GdROUn.js → lesson-05-2aTCGXMh.js} +14 -8
  94. package/dist/lesson-05-2aTCGXMh.js.map +1 -0
  95. package/dist/{lesson-05-ip400cxe.js → lesson-05-BvitRdE8.js} +28 -16
  96. package/dist/lesson-05-BvitRdE8.js.map +1 -0
  97. package/dist/{lesson-05-D1d3kc3M.js → lesson-05-CgXGkcjS.js} +14 -8
  98. package/dist/lesson-05-CgXGkcjS.js.map +1 -0
  99. package/dist/{lesson-05-D2SVU-I0.js → lesson-05-ClfrUrvX.js} +17 -9
  100. package/dist/lesson-05-ClfrUrvX.js.map +1 -0
  101. package/dist/{lesson-05-CKxXcooO.js → lesson-05-D2zf9n7k.js} +23 -13
  102. package/dist/lesson-05-D2zf9n7k.js.map +1 -0
  103. package/dist/{lesson-05-DusKUtbm.js → lesson-05-DWquBfdl.js} +21 -9
  104. package/dist/lesson-05-DWquBfdl.js.map +1 -0
  105. package/dist/{lesson-05-Bm6fg-DJ.js → lesson-05-DpIkwhJ8.js} +17 -9
  106. package/dist/lesson-05-DpIkwhJ8.js.map +1 -0
  107. package/dist/{lesson-05-DBsHyFlt.js → lesson-05-UYz39ORV.js} +17 -9
  108. package/dist/lesson-05-UYz39ORV.js.map +1 -0
  109. package/dist/{lesson-05-DXOLS7G0.js → lesson-05-t6XuANiZ.js} +17 -9
  110. package/dist/lesson-05-t6XuANiZ.js.map +1 -0
  111. package/dist/{lesson-06-1ZsbrE1a.js → lesson-06-B2y08mKv.js} +17 -9
  112. package/dist/lesson-06-B2y08mKv.js.map +1 -0
  113. package/dist/{lesson-06-1CE05TRX.js → lesson-06-CHqaVQix.js} +16 -10
  114. package/dist/lesson-06-CHqaVQix.js.map +1 -0
  115. package/dist/{lesson-06-Bliedg7n.js → lesson-06-CaCZBX1V.js} +17 -9
  116. package/dist/lesson-06-CaCZBX1V.js.map +1 -0
  117. package/dist/{lesson-06-Du9J8sYl.js → lesson-06-ClplsJBT.js} +30 -18
  118. package/dist/lesson-06-ClplsJBT.js.map +1 -0
  119. package/dist/{lesson-06-BG26PBTF.js → lesson-06-CzGnNKo5.js} +14 -8
  120. package/dist/lesson-06-CzGnNKo5.js.map +1 -0
  121. package/dist/{lesson-06-CnKkcUb-.js → lesson-06-Dg_bQLNC.js} +17 -9
  122. package/dist/lesson-06-Dg_bQLNC.js.map +1 -0
  123. package/dist/{lesson-06-Aw-X-HMV.js → lesson-06-OWFMgO0a.js} +23 -14
  124. package/dist/lesson-06-OWFMgO0a.js.map +1 -0
  125. package/dist/{lesson-06-CvN9pDsE.js → lesson-06-Q2aRAzws.js} +17 -9
  126. package/dist/lesson-06-Q2aRAzws.js.map +1 -0
  127. package/dist/{lesson-07-DjCMCYkK.js → lesson-07-BLDUA_Ff.js} +17 -9
  128. package/dist/lesson-07-BLDUA_Ff.js.map +1 -0
  129. package/dist/{lesson-07-DezS1ojS.js → lesson-07-BpyF1Ssq.js} +27 -15
  130. package/dist/lesson-07-BpyF1Ssq.js.map +1 -0
  131. package/dist/{lesson-07-rvSSQiVh.js → lesson-07-C4GrfDTW.js} +25 -13
  132. package/dist/lesson-07-C4GrfDTW.js.map +1 -0
  133. package/dist/{lesson-07-CTFSd9gF.js → lesson-07-CVCUt1Jn.js} +14 -8
  134. package/dist/lesson-07-CVCUt1Jn.js.map +1 -0
  135. package/dist/{lesson-07-8zdPFyjE.js → lesson-07-DQFXCZsZ.js} +17 -9
  136. package/dist/lesson-07-DQFXCZsZ.js.map +1 -0
  137. package/dist/{lesson-07-X6anzbAn.js → lesson-07-Dcry2Yjo.js} +17 -9
  138. package/dist/lesson-07-Dcry2Yjo.js.map +1 -0
  139. package/dist/{lesson-07-B9bkJ3gP.js → lesson-07-JS_cqdNr.js} +14 -8
  140. package/dist/lesson-07-JS_cqdNr.js.map +1 -0
  141. package/dist/{lesson-08-CeDWopKc.js → lesson-08-18gscaS0.js} +25 -13
  142. package/dist/lesson-08-18gscaS0.js.map +1 -0
  143. package/dist/{lesson-08-Cyzy_VeP.js → lesson-08-2kBUq_B2.js} +14 -8
  144. package/dist/lesson-08-2kBUq_B2.js.map +1 -0
  145. package/dist/{lesson-08-BYfkPBkH.js → lesson-08-BP5lpiGe.js} +17 -9
  146. package/dist/lesson-08-BP5lpiGe.js.map +1 -0
  147. package/dist/{lesson-08-Bb_v_gD-.js → lesson-08-BXm9GgdN.js} +14 -8
  148. package/dist/lesson-08-BXm9GgdN.js.map +1 -0
  149. package/dist/{lesson-08-BqW5C_OE.js → lesson-08-Bru0PdEK.js} +21 -9
  150. package/dist/lesson-08-Bru0PdEK.js.map +1 -0
  151. package/dist/{lesson-08-hJlci9W5.js → lesson-08-Dd-8cbGW.js} +17 -9
  152. package/dist/lesson-08-Dd-8cbGW.js.map +1 -0
  153. package/dist/{lesson-09-DHRHZIc1.js → lesson-09-B1qWE3Yl.js} +27 -15
  154. package/dist/lesson-09-B1qWE3Yl.js.map +1 -0
  155. package/dist/{lesson-09-BQ1CZCjT.js → lesson-09-B5Vb70xj.js} +14 -8
  156. package/dist/lesson-09-B5Vb70xj.js.map +1 -0
  157. package/dist/{lesson-10-BdfkVT7s.js → lesson-10-00qNLc7A.js} +25 -13
  158. package/dist/lesson-10-00qNLc7A.js.map +1 -0
  159. package/dist/{lesson-10-C7YEQ8et.js → lesson-10-Dw-Jtm3D.js} +14 -8
  160. package/dist/lesson-10-Dw-Jtm3D.js.map +1 -0
  161. package/dist/{lesson-11-oJQ8ZxJk.js → lesson-11-BM3R_S7I.js} +25 -13
  162. package/dist/lesson-11-BM3R_S7I.js.map +1 -0
  163. package/dist/{lesson-12-D69m5ETy.js → lesson-12-D1Wx7CyK.js} +33 -21
  164. package/dist/lesson-12-D1Wx7CyK.js.map +1 -0
  165. package/dist/skills-hcn-pGD0.js +244 -0
  166. package/dist/skills-hcn-pGD0.js.map +1 -0
  167. package/dist/syllabi/alphabet/index.js +1 -1
  168. package/dist/syllabi/dialogue/index.d.ts +1 -1
  169. package/dist/syllabi/dialogue/index.js +2 -2
  170. package/dist/syllabi/essentials/index.d.ts +1 -1
  171. package/dist/syllabi/essentials/index.js +2 -2
  172. package/dist/syllabi/food/index.d.ts +1 -1
  173. package/dist/syllabi/food/index.js +2 -2
  174. package/dist/syllabi/grammar/index.d.ts +1 -1
  175. package/dist/syllabi/grammar/index.js +2 -2
  176. package/dist/syllabi/numbers/index.d.ts +1 -1
  177. package/dist/syllabi/numbers/index.js +2 -2
  178. package/dist/syllabi/reading/index.d.ts +1 -1
  179. package/dist/syllabi/reading/index.js +2 -2
  180. package/dist/syllabi/travel/index.d.ts +1 -1
  181. package/dist/syllabi/travel/index.js +2 -2
  182. package/dist/syllabi/vowels-tones/index.d.ts +1 -1
  183. package/dist/syllabi/vowels-tones/index.js +2 -2
  184. package/package.json +10 -7
  185. package/src/syllabi/alphabet/lessons/lesson-01.mdx +24 -13
  186. package/src/syllabi/alphabet/lessons/lesson-02.mdx +23 -13
  187. package/src/syllabi/alphabet/lessons/lesson-03.mdx +20 -13
  188. package/src/syllabi/alphabet/lessons/lesson-04.mdx +21 -12
  189. package/src/syllabi/alphabet/lessons/lesson-05.mdx +22 -12
  190. package/src/syllabi/alphabet/lessons/lesson-06.mdx +22 -13
  191. package/src/syllabi/alphabet/lessons/lesson-07.mdx +26 -14
  192. package/src/syllabi/alphabet/lessons/lesson-08.mdx +24 -12
  193. package/src/syllabi/alphabet/lessons/lesson-09.mdx +26 -14
  194. package/src/syllabi/alphabet/lessons/lesson-10.mdx +24 -12
  195. package/src/syllabi/alphabet/lessons/lesson-11.mdx +24 -12
  196. package/src/syllabi/alphabet/lessons/lesson-12.mdx +32 -20
  197. package/src/syllabi/dialogue/lessons/lesson-01.mdx +13 -5
  198. package/src/syllabi/dialogue/lessons/lesson-02.mdx +13 -5
  199. package/src/syllabi/dialogue/lessons/lesson-03.mdx +13 -5
  200. package/src/syllabi/dialogue/lessons/lesson-04.mdx +16 -8
  201. package/src/syllabi/dialogue/lessons/lesson-05.mdx +16 -8
  202. package/src/syllabi/dialogue/lessons/lesson-06.mdx +16 -8
  203. package/src/syllabi/dialogue/lessons/lesson-07.mdx +16 -8
  204. package/src/syllabi/dialogue/lessons/lesson-08.mdx +16 -8
  205. package/src/syllabi/essentials/lessons/lesson-01.mdx +13 -5
  206. package/src/syllabi/essentials/lessons/lesson-02.mdx +16 -8
  207. package/src/syllabi/essentials/lessons/lesson-03.mdx +16 -8
  208. package/src/syllabi/essentials/lessons/lesson-04.mdx +16 -8
  209. package/src/syllabi/essentials/lessons/lesson-05.mdx +16 -8
  210. package/src/syllabi/essentials/lessons/lesson-06.mdx +16 -8
  211. package/src/syllabi/food/lessons/lesson-01.mdx +13 -5
  212. package/src/syllabi/food/lessons/lesson-02.mdx +16 -8
  213. package/src/syllabi/food/lessons/lesson-03.mdx +16 -8
  214. package/src/syllabi/food/lessons/lesson-04.mdx +16 -8
  215. package/src/syllabi/food/lessons/lesson-05.mdx +16 -8
  216. package/src/syllabi/food/lessons/lesson-06.mdx +16 -8
  217. package/src/syllabi/food/lessons/lesson-07.mdx +16 -8
  218. package/src/syllabi/food/lessons/lesson-08.mdx +16 -8
  219. package/src/syllabi/grammar/lessons/lesson-01.mdx +10 -4
  220. package/src/syllabi/grammar/lessons/lesson-02.mdx +10 -4
  221. package/src/syllabi/grammar/lessons/lesson-03.mdx +13 -7
  222. package/src/syllabi/grammar/lessons/lesson-04.mdx +13 -7
  223. package/src/syllabi/grammar/lessons/lesson-05.mdx +13 -7
  224. package/src/syllabi/grammar/lessons/lesson-06.mdx +13 -7
  225. package/src/syllabi/grammar/lessons/lesson-07.mdx +13 -7
  226. package/src/syllabi/grammar/lessons/lesson-08.mdx +13 -7
  227. package/src/syllabi/numbers/lessons/lesson-01.mdx +27 -15
  228. package/src/syllabi/numbers/lessons/lesson-02.mdx +20 -8
  229. package/src/syllabi/numbers/lessons/lesson-03.mdx +20 -8
  230. package/src/syllabi/numbers/lessons/lesson-04.mdx +20 -8
  231. package/src/syllabi/numbers/lessons/lesson-05.mdx +20 -8
  232. package/src/syllabi/reading/lessons/lesson-01.mdx +13 -7
  233. package/src/syllabi/reading/lessons/lesson-02.mdx +13 -7
  234. package/src/syllabi/reading/lessons/lesson-03.mdx +13 -7
  235. package/src/syllabi/reading/lessons/lesson-04.mdx +13 -7
  236. package/src/syllabi/reading/lessons/lesson-05.mdx +13 -7
  237. package/src/syllabi/reading/lessons/lesson-06.mdx +13 -7
  238. package/src/syllabi/reading/lessons/lesson-07.mdx +13 -7
  239. package/src/syllabi/reading/lessons/lesson-08.mdx +13 -7
  240. package/src/syllabi/reading/lessons/lesson-09.mdx +13 -7
  241. package/src/syllabi/reading/lessons/lesson-10.mdx +13 -7
  242. package/src/syllabi/travel/lessons/lesson-01.mdx +16 -8
  243. package/src/syllabi/travel/lessons/lesson-02.mdx +16 -8
  244. package/src/syllabi/travel/lessons/lesson-03.mdx +16 -8
  245. package/src/syllabi/travel/lessons/lesson-04.mdx +16 -8
  246. package/src/syllabi/travel/lessons/lesson-05.mdx +16 -8
  247. package/src/syllabi/travel/lessons/lesson-06.mdx +16 -8
  248. package/src/syllabi/travel/lessons/lesson-07.mdx +16 -8
  249. package/src/syllabi/vowels-tones/lessons/lesson-01.mdx +20 -8
  250. package/src/syllabi/vowels-tones/lessons/lesson-02.mdx +26 -14
  251. package/src/syllabi/vowels-tones/lessons/lesson-03.mdx +25 -13
  252. package/src/syllabi/vowels-tones/lessons/lesson-04.mdx +24 -12
  253. package/src/syllabi/vowels-tones/lessons/lesson-05.mdx +27 -15
  254. package/src/syllabi/vowels-tones/lessons/lesson-06.mdx +29 -17
  255. package/src/syllabi/vowels-tones/lessons/lesson-07.mdx +24 -12
  256. package/src/syllabi/vowels-tones/lessons/lesson-08.mdx +20 -8
  257. package/dist/index-DADMaTE7.js +0 -27
  258. package/dist/index-DADMaTE7.js.map +0 -1
  259. package/dist/lesson-01--9NOyHZ6.js.map +0 -1
  260. package/dist/lesson-01-3hBted4A.js.map +0 -1
  261. package/dist/lesson-01-97FtYE6g.js.map +0 -1
  262. package/dist/lesson-01-BNdHXAGR.js.map +0 -1
  263. package/dist/lesson-01-BYKAZiua.js.map +0 -1
  264. package/dist/lesson-01-BhjY6ArF.js.map +0 -1
  265. package/dist/lesson-01-CF4tJfZ3.js.map +0 -1
  266. package/dist/lesson-01-CRx-yw4C.js.map +0 -1
  267. package/dist/lesson-01-WV3ic8Ok.js.map +0 -1
  268. package/dist/lesson-02-B2Xg7RVU.js.map +0 -1
  269. package/dist/lesson-02-BAbq-QGP.js.map +0 -1
  270. package/dist/lesson-02-BGnp0Ik_.js.map +0 -1
  271. package/dist/lesson-02-BO3BXPMJ.js.map +0 -1
  272. package/dist/lesson-02-Bm9EJuN8.js.map +0 -1
  273. package/dist/lesson-02-C0ZL4z3c.js.map +0 -1
  274. package/dist/lesson-02-C2ALLvoT.js.map +0 -1
  275. package/dist/lesson-02-C8dfzXvq.js.map +0 -1
  276. package/dist/lesson-02-CsejVbCo.js.map +0 -1
  277. package/dist/lesson-03-8NtAeqFh.js.map +0 -1
  278. package/dist/lesson-03-BdZfKRhq.js.map +0 -1
  279. package/dist/lesson-03-CKTNtgY1.js.map +0 -1
  280. package/dist/lesson-03-D8va_Q9B.js.map +0 -1
  281. package/dist/lesson-03-DV2SUWVH.js.map +0 -1
  282. package/dist/lesson-03-DiV17_Os.js.map +0 -1
  283. package/dist/lesson-03-DrJgbfDQ.js.map +0 -1
  284. package/dist/lesson-03-XVahXvgf.js.map +0 -1
  285. package/dist/lesson-03-Xc8-2Yt3.js.map +0 -1
  286. package/dist/lesson-04-BpRrNmzO.js.map +0 -1
  287. package/dist/lesson-04-CtNr2B3E.js.map +0 -1
  288. package/dist/lesson-04-DEEPJ_rd.js.map +0 -1
  289. package/dist/lesson-04-D__vMCyA.js.map +0 -1
  290. package/dist/lesson-04-Dfc7S4nT.js.map +0 -1
  291. package/dist/lesson-04-DtXVhdGB.js.map +0 -1
  292. package/dist/lesson-04-ZrSBM0BX.js.map +0 -1
  293. package/dist/lesson-04-ioLXnB0j.js.map +0 -1
  294. package/dist/lesson-04-rapx_3vA.js.map +0 -1
  295. package/dist/lesson-05-Bm6fg-DJ.js.map +0 -1
  296. package/dist/lesson-05-CKxXcooO.js.map +0 -1
  297. package/dist/lesson-05-D1d3kc3M.js.map +0 -1
  298. package/dist/lesson-05-D2SVU-I0.js.map +0 -1
  299. package/dist/lesson-05-DBsHyFlt.js.map +0 -1
  300. package/dist/lesson-05-DXOLS7G0.js.map +0 -1
  301. package/dist/lesson-05-D_GdROUn.js.map +0 -1
  302. package/dist/lesson-05-DusKUtbm.js.map +0 -1
  303. package/dist/lesson-05-ip400cxe.js.map +0 -1
  304. package/dist/lesson-06-1CE05TRX.js.map +0 -1
  305. package/dist/lesson-06-1ZsbrE1a.js.map +0 -1
  306. package/dist/lesson-06-Aw-X-HMV.js.map +0 -1
  307. package/dist/lesson-06-BG26PBTF.js.map +0 -1
  308. package/dist/lesson-06-Bliedg7n.js.map +0 -1
  309. package/dist/lesson-06-CnKkcUb-.js.map +0 -1
  310. package/dist/lesson-06-CvN9pDsE.js.map +0 -1
  311. package/dist/lesson-06-Du9J8sYl.js.map +0 -1
  312. package/dist/lesson-07-8zdPFyjE.js.map +0 -1
  313. package/dist/lesson-07-B9bkJ3gP.js.map +0 -1
  314. package/dist/lesson-07-CTFSd9gF.js.map +0 -1
  315. package/dist/lesson-07-DezS1ojS.js.map +0 -1
  316. package/dist/lesson-07-DjCMCYkK.js.map +0 -1
  317. package/dist/lesson-07-X6anzbAn.js.map +0 -1
  318. package/dist/lesson-07-rvSSQiVh.js.map +0 -1
  319. package/dist/lesson-08-BYfkPBkH.js.map +0 -1
  320. package/dist/lesson-08-Bb_v_gD-.js.map +0 -1
  321. package/dist/lesson-08-BqW5C_OE.js.map +0 -1
  322. package/dist/lesson-08-CeDWopKc.js.map +0 -1
  323. package/dist/lesson-08-Cyzy_VeP.js.map +0 -1
  324. package/dist/lesson-08-hJlci9W5.js.map +0 -1
  325. package/dist/lesson-09-BQ1CZCjT.js.map +0 -1
  326. package/dist/lesson-09-DHRHZIc1.js.map +0 -1
  327. package/dist/lesson-10-BdfkVT7s.js.map +0 -1
  328. package/dist/lesson-10-C7YEQ8et.js.map +0 -1
  329. package/dist/lesson-11-oJQ8ZxJk.js.map +0 -1
  330. package/dist/lesson-12-D69m5ETy.js.map +0 -1
@@ -15,11 +15,23 @@ metadata:
15
15
  estimatedTime: 30
16
16
  prerequisites:
17
17
  - thai-alphabet
18
- objectives:
19
- - "Recognize vowels written above consonants"
20
- - "Recognize vowels written below consonants"
21
- - "Understand the short vowel duration concept"
22
- - "Practice combining vowels with familiar consonants"
18
+ learningObjectives:
19
+ - id: obj-recognize-above-vowels
20
+ description: "Recognize vowels written above consonants"
21
+ skill: character-recognition
22
+ references: [vowel-i, vowel-ue]
23
+ - id: obj-recognize-below-vowels
24
+ description: "Recognize vowels written below consonants"
25
+ skill: character-recognition
26
+ references: [vowel-u]
27
+ - id: obj-short-vowel-duration
28
+ description: "Understand the short vowel duration concept"
29
+ skill: character-sound-mapping
30
+ references: [vowel-i, vowel-ue, vowel-u]
31
+ - id: obj-combine-vowels-consonants
32
+ description: "Practice combining vowels with familiar consonants"
33
+ skill: vowel-positioning
34
+ references: [vowel-i, vowel-ue, vowel-u]
23
35
  ---
24
36
 
25
37
  # บทที่ 1 (Lesson 1) — Short Vowels I
@@ -42,15 +54,15 @@ Today we focus on **above** and **below** positions.
42
54
 
43
55
  :::character-set{id="thai-short-vowels-above" title="Short Vowels Above Consonant"}
44
56
 
45
- ::character{id="th-vowel-i" char="ิ" name="สระอิ (sara i)" nativeName="สระอิ" transliteration="i" charType="vowel"}
57
+ ::character{id="vowel-i" canonicalRef="vowel-i" char="ิ" name="สระอิ (sara i)" nativeName="สระอิ" transliteration="i" charType="vowel"}
46
58
 
47
- ::character{id="th-vowel-ue" char="ึ" name="สระอึ (sara ue)" nativeName="สระอึ" transliteration="ue" charType="vowel"}
59
+ ::character{id="vowel-ue" canonicalRef="vowel-ue" char="ึ" name="สระอึ (sara ue)" nativeName="สระอึ" transliteration="ue" charType="vowel"}
48
60
 
49
61
  :::
50
62
 
51
63
  :::character-set{id="thai-short-vowels-below" title="Short Vowels Below Consonant"}
52
64
 
53
- ::character{id="th-vowel-u" char="ุ" name="สระอุ (sara u)" nativeName="สระอุ" transliteration="u" charType="vowel"}
65
+ ::character{id="vowel-u" canonicalRef="vowel-u" char="ุ" name="สระอุ (sara u)" nativeName="สระอุ" transliteration="u" charType="vowel"}
54
66
 
55
67
  :::
56
68
 
@@ -103,4 +115,4 @@ In Lesson 2, you'll learn more short vowels, including those that appear **befor
103
115
  export {
104
116
  n as default
105
117
  };
106
- //# sourceMappingURL=lesson-01--9NOyHZ6.js.map
118
+ //# sourceMappingURL=lesson-01-B0wtSaSl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-01-B0wtSaSl.js","sources":["../src/syllabi/vowels-tones/lessons/lesson-01.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-vowels-lesson-01\\ntitle: \\\"บทที่ 1 — สระเสียงสั้น I\\\"\\ndescription: \\\"Short Vowels Part 1: Above and below the consonant\\\"\\norder: 1\\nparentId: thai-vowels-tones\\ndifficulty: beginner\\ncefrLevel: A1\\ncategories:\\n - vowels\\n - short-vowels\\n - basic-vowels\\nmetadata:\\n estimatedTime: 30\\n prerequisites:\\n - thai-alphabet\\n learningObjectives:\\n - id: obj-recognize-above-vowels\\n description: \\\"Recognize vowels written above consonants\\\"\\n skill: character-recognition\\n references: [vowel-i, vowel-ue]\\n - id: obj-recognize-below-vowels\\n description: \\\"Recognize vowels written below consonants\\\"\\n skill: character-recognition\\n references: [vowel-u]\\n - id: obj-short-vowel-duration\\n description: \\\"Understand the short vowel duration concept\\\"\\n skill: character-sound-mapping\\n references: [vowel-i, vowel-ue, vowel-u]\\n - id: obj-combine-vowels-consonants\\n description: \\\"Practice combining vowels with familiar consonants\\\"\\n skill: vowel-positioning\\n references: [vowel-i, vowel-ue, vowel-u]\\n---\\n\\n# บทที่ 1 (Lesson 1) — Short Vowels I\\n\\n## Introduction\\n\\nWelcome to Thai vowels! Unlike English where vowels are standalone letters (a, e, i, o, u), Thai vowels are **diacritical marks** that attach to consonants in various positions. In this first lesson, you'll learn vowels that appear **above** and **below** the consonant.\\n\\n## Why Position Matters\\n\\nThai vowels can appear in four locations relative to a consonant:\\n- **Above** (◌ิ ◌ี) — like hats on the consonant\\n- **Below** (◌ุ ◌ู) — like shoes under the consonant\\n- **Before** (เ◌ แ◌) — written first, pronounced after\\n- **After** (◌า) — written and pronounced after\\n\\nToday we focus on **above** and **below** positions.\\n\\n## Characters\\n\\n:::character-set{id=\\\"thai-short-vowels-above\\\" title=\\\"Short Vowels Above Consonant\\\"}\\n\\n::character{id=\\\"vowel-i\\\" canonicalRef=\\\"vowel-i\\\" char=\\\"ิ\\\" name=\\\"สระอิ (sara i)\\\" nativeName=\\\"สระอิ\\\" transliteration=\\\"i\\\" charType=\\\"vowel\\\"}\\n\\n::character{id=\\\"vowel-ue\\\" canonicalRef=\\\"vowel-ue\\\" char=\\\"ึ\\\" name=\\\"สระอึ (sara ue)\\\" nativeName=\\\"สระอึ\\\" transliteration=\\\"ue\\\" charType=\\\"vowel\\\"}\\n\\n:::\\n\\n:::character-set{id=\\\"thai-short-vowels-below\\\" title=\\\"Short Vowels Below Consonant\\\"}\\n\\n::character{id=\\\"vowel-u\\\" canonicalRef=\\\"vowel-u\\\" char=\\\"ุ\\\" name=\\\"สระอุ (sara u)\\\" nativeName=\\\"สระอุ\\\" transliteration=\\\"u\\\" charType=\\\"vowel\\\"}\\n\\n:::\\n\\n## How They Combine\\n\\nWhen you add these vowels to a consonant, watch the position:\\n\\n| Consonant + Vowel | Result | Pronunciation |\\n|-------------------|--------|---------------|\\n| ก + ิ | กิ | gi |\\n| ม + ิ | มิ | mi |\\n| ก + ึ | กึ | gue |\\n| ก + ุ | กุ | gu |\\n| ม + ุ | มุ | mu |\\n\\n## Short vs Long: A Preview\\n\\nThese are **short** vowels — they have a clipped, brief sound:\\n- **ิ (i)** is short — like the \\\"i\\\" in English \\\"bit\\\"\\n- **ี (ii)** is long — like the \\\"ee\\\" in English \\\"bee\\\"\\n\\nYou'll learn the long versions in Lesson 3. For now, focus on the brief, snappy quality of short vowels.\\n\\n## The \\\"ue\\\" Sound\\n\\nThe vowel **ึ** (sara ue) has no direct English equivalent. It's like:\\n- Saying \\\"ee\\\" but with unrounded lips\\n- Similar to the German \\\"ü\\\" but shorter\\n- Position your tongue for \\\"ee\\\" but spread your lips\\n\\n## Key Points\\n\\n1. **Position above**: ิ and ึ sit above the consonant like small marks\\n2. **Position below**: ุ sits below the consonant\\n3. **Short duration**: These vowels are brief — don't drag them out\\n4. **No standalone form**: These vowels must attach to a consonant\\n\\n## Practice Recognition\\n\\nWith consonants you know, try reading these syllables:\\n- กิ (gi) — like \\\"gee\\\" but shorter\\n- มิ (mi) — like \\\"me\\\" but shorter\\n- กุ (gu) — like \\\"goo\\\" but shorter\\n- มุ (mu) — like \\\"moo\\\" but shorter\\n\\n## What's Next\\n\\nIn Lesson 2, you'll learn more short vowels, including those that appear **before** and **around** consonants — Thai's unique feature where you write one thing but pronounce another!\\n\""],"names":["lesson01"],"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;"}
@@ -14,11 +14,19 @@ categories:
14
14
  metadata:
15
15
  estimatedTime: 30
16
16
  prerequisites: []
17
- objectives:
18
- - "Say hello and goodbye properly"
19
- - "Introduce yourself with name and nationality"
20
- - "Ask someone's name politely"
21
- - "Understand the wai gesture"
17
+ learningObjectives:
18
+ - id: obj-greetings-hello-goodbye
19
+ description: "Say hello and goodbye properly"
20
+ skill: word-production
21
+ - id: obj-greetings-introduce-self
22
+ description: "Introduce yourself with name and nationality"
23
+ skill: word-production
24
+ - id: obj-greetings-ask-name
25
+ description: "Ask someone's name politely"
26
+ skill: polite-register
27
+ - id: obj-greetings-wai
28
+ description: "Understand the wai gesture"
29
+ skill: situational-response
22
30
  ---
23
31
 
24
32
  # บทที่ 1 (Lesson 1) — Greetings & Introductions
@@ -127,4 +135,4 @@ In Lesson 2, you'll master the polite particle system — the key to speaking pr
127
135
  export {
128
136
  n as default
129
137
  };
130
- //# sourceMappingURL=lesson-01-97FtYE6g.js.map
138
+ //# sourceMappingURL=lesson-01-C9vbUlA4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-01-C9vbUlA4.js","sources":["../src/syllabi/essentials/lessons/lesson-01.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-essentials-lesson-01\\ntitle: \\\"บทที่ 1 — ทักทายและแนะนำตัว\\\"\\ndescription: \\\"Greetings & Introductions: สวัสดี and meeting people\\\"\\norder: 1\\nparentId: thai-essentials\\ndifficulty: beginner\\ncefrLevel: A1\\ncategories:\\n - greetings\\n - introductions\\n - basics\\nmetadata:\\n estimatedTime: 30\\n prerequisites: []\\n learningObjectives:\\n - id: obj-greetings-hello-goodbye\\n description: \\\"Say hello and goodbye properly\\\"\\n skill: word-production\\n - id: obj-greetings-introduce-self\\n description: \\\"Introduce yourself with name and nationality\\\"\\n skill: word-production\\n - id: obj-greetings-ask-name\\n description: \\\"Ask someone's name politely\\\"\\n skill: polite-register\\n - id: obj-greetings-wai\\n description: \\\"Understand the wai gesture\\\"\\n skill: situational-response\\n---\\n\\n# บทที่ 1 (Lesson 1) — Greetings & Introductions\\n\\n## Introduction\\n\\nThe first words you'll use in Thai are greetings. Thai has one versatile greeting word — สวัสดี (sà-wàt-dii) — that works for hello, goodbye, and general well-wishing. Combined with the polite particle, it's your key to making a good first impression.\\n\\n## The Universal Greeting\\n\\n:::vocabulary-set{id=\\\"thai-greetings\\\" title=\\\"Basic Greetings\\\"}\\n\\n::vocab-item{id=\\\"sawatdee\\\" word=\\\"สวัสดี\\\" pronunciation=\\\"sà-wàt-dii\\\" meaning=\\\"Hello / Goodbye / Greetings\\\"}\\n\\n::vocab-item{id=\\\"sawatdee-khrap\\\" word=\\\"สวัสดีครับ\\\" pronunciation=\\\"sà-wàt-dii khráp\\\" meaning=\\\"Hello (male speaker)\\\"}\\n\\n::vocab-item{id=\\\"sawatdee-kha\\\" word=\\\"สวัสดีค่ะ\\\" pronunciation=\\\"sà-wàt-dii khâ\\\" meaning=\\\"Hello (female speaker)\\\"}\\n\\n:::\\n\\n## Time-Specific Greetings\\n\\nWhile สวัสดี works anytime, you can also use:\\n\\n| Thai | Pronunciation | Meaning |\\n|------|---------------|---------|\\n| อรุณสวัสดิ์ | à-run-sà-wàt | Good morning (formal) |\\n| สวัสดีตอนเช้า | sà-wàt-dii dtɔɔn-cháo | Good morning |\\n| สวัสดีตอนบ่าย | sà-wàt-dii dtɔɔn-bàai | Good afternoon |\\n| ราตรีสวัสดิ์ | raa-dtrii-sà-wàt | Good night (formal) |\\n\\n## Introducing Yourself\\n\\n:::vocabulary-set{id=\\\"thai-introductions\\\" title=\\\"Self-Introduction\\\"}\\n\\n::vocab-item{id=\\\"phom\\\" word=\\\"ผม\\\" pronunciation=\\\"phǒm\\\" meaning=\\\"I (male)\\\"}\\n\\n::vocab-item{id=\\\"dichan\\\" word=\\\"ดิฉัน\\\" pronunciation=\\\"dì-chǎn\\\" meaning=\\\"I (female, formal)\\\"}\\n\\n::vocab-item{id=\\\"chan\\\" word=\\\"ฉัน\\\" pronunciation=\\\"chǎn\\\" meaning=\\\"I (casual)\\\"}\\n\\n::vocab-item{id=\\\"chue\\\" word=\\\"ชื่อ\\\" pronunciation=\\\"chʉ̂ʉ\\\" meaning=\\\"name\\\"}\\n\\n::vocab-item{id=\\\"khon-thai\\\" word=\\\"คนไทย\\\" pronunciation=\\\"khon thai\\\" meaning=\\\"Thai person\\\"}\\n\\n:::\\n\\n## Key Phrases\\n\\n| Thai | Pronunciation | Meaning |\\n|------|---------------|---------|\\n| ผม/ดิฉันชื่อ... | phǒm/dì-chǎn chʉ̂ʉ... | My name is... |\\n| คุณชื่ออะไร | khun chʉ̂ʉ à-rai | What's your name? |\\n| ยินดีที่ได้รู้จัก | yin-dii thîi dâai rúu-jàk | Nice to meet you |\\n| คุณเป็นคนที่ไหน | khun bpen khon thîi-nǎi | Where are you from? |\\n| ผม/ดิฉันมาจาก... | phǒm/dì-chǎn maa jàak... | I'm from... |\\n\\n## The Wai (ไหว้)\\n\\nThe traditional Thai greeting gesture:\\n\\n1. **Press palms together** at chest level, fingers pointing up\\n2. **Bow slightly** from the shoulders\\n3. **Say สวัสดี** + polite particle\\n\\n**When to wai:**\\n- Meeting someone for the first time\\n- Greeting elders or superiors\\n- Showing respect or gratitude\\n- Formal situations\\n\\n**When NOT to wai:**\\n- To children younger than you\\n- To service workers (a smile is fine)\\n- When your hands are full (nod instead)\\n\\n## Countries & Nationalities\\n\\n| Country | Thai | Nationality |\\n|---------|------|-------------|\\n| Thailand | ประเทศไทย | คนไทย (khon thai) |\\n| America | อเมริกา | คนอเมริกัน (khon a-mee-ri-gan) |\\n| England | อังกฤษ | คนอังกฤษ (khon ang-grìt) |\\n| Japan | ญี่ปุ่น | คนญี่ปุ่น (khon yîi-bpùn) |\\n| China | จีน | คนจีน (khon jiin) |\\n\\n## Sample Conversation\\n\\n**A**: สวัสดีครับ/ค่ะ (Hello)\\n**B**: สวัสดีครับ/ค่ะ (Hello)\\n**A**: ผม/ดิฉันชื่อจอห์น คุณชื่ออะไรครับ/คะ (My name is John. What's your name?)\\n**B**: ดิฉันชื่อสมศรีค่ะ ยินดีที่ได้รู้จักค่ะ (My name is Somsri. Nice to meet you.)\\n**A**: ยินดีที่ได้รู้จักครับ (Nice to meet you too.)\\n\\n## Key Points\\n\\n1. **สวัสดี works everywhere**: Morning, afternoon, evening, hello, goodbye\\n2. **Always add polite particle**: ครับ for men, ค่ะ/คะ for women\\n3. **Wai appropriately**: Match the depth to the relationship\\n4. **Smile**: It's called the Land of Smiles for a reason!\\n\\n## What's Next\\n\\nIn Lesson 2, you'll master the polite particle system — the key to speaking properly in all situations.\\n\""],"names":["lesson01"],"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;"}
@@ -15,11 +15,23 @@ metadata:
15
15
  estimatedTime: 20
16
16
  prerequisites:
17
17
  - thai-alphabet
18
- objectives:
19
- - "Recognize all 10 Thai numerals (๐-๙)"
20
- - "Pronounce each number correctly"
21
- - "Write Thai numerals"
22
- - "Convert between Thai and Arabic numerals"
18
+ learningObjectives:
19
+ - id: obj-recognize-thai-numerals
20
+ description: "Recognize all 10 Thai numerals (๐-๙)"
21
+ skill: character-recognition
22
+ references: [num-zero, num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]
23
+ - id: obj-pronounce-numerals
24
+ description: "Pronounce each number correctly"
25
+ skill: character-sound-mapping
26
+ references: [num-zero, num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]
27
+ - id: obj-write-thai-numerals
28
+ description: "Write Thai numerals"
29
+ skill: word-production
30
+ references: [num-zero, num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]
31
+ - id: obj-convert-numerals
32
+ description: "Convert between Thai and Arabic numerals"
33
+ skill: character-recognition
34
+ references: [num-zero, num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]
23
35
  ---
24
36
 
25
37
  # บทที่ 1 (Lesson 1) — Thai Numerals
@@ -32,25 +44,25 @@ Thai has its own beautiful numeral system that's been used for centuries. While
32
44
 
33
45
  :::character-set{id="thai-numerals" title="Thai Numerals ๐-๙"}
34
46
 
35
- ::character{id="th-num-zero" char="๐" name="ศูนย์ (sǒon)" transliteration="0" charType="number"}
47
+ ::character{id="num-zero" canonicalRef="num-zero" char="๐" name="ศูนย์ (sǒon)" transliteration="0" charType="number"}
36
48
 
37
- ::character{id="th-num-one" char="๑" name="หนึ่ง (nʉ̀ng)" transliteration="1" charType="number"}
49
+ ::character{id="num-one" canonicalRef="num-one" char="๑" name="หนึ่ง (nʉ̀ng)" transliteration="1" charType="number"}
38
50
 
39
- ::character{id="th-num-two" char="๒" name="สอง (sǒng)" transliteration="2" charType="number"}
51
+ ::character{id="num-two" canonicalRef="num-two" char="๒" name="สอง (sǒng)" transliteration="2" charType="number"}
40
52
 
41
- ::character{id="th-num-three" char="๓" name="สาม (sǎam)" transliteration="3" charType="number"}
53
+ ::character{id="num-three" canonicalRef="num-three" char="๓" name="สาม (sǎam)" transliteration="3" charType="number"}
42
54
 
43
- ::character{id="th-num-four" char="๔" name="สี่ (sìi)" transliteration="4" charType="number"}
55
+ ::character{id="num-four" canonicalRef="num-four" char="๔" name="สี่ (sìi)" transliteration="4" charType="number"}
44
56
 
45
- ::character{id="th-num-five" char="๕" name="ห้า (hâa)" transliteration="5" charType="number"}
57
+ ::character{id="num-five" canonicalRef="num-five" char="๕" name="ห้า (hâa)" transliteration="5" charType="number"}
46
58
 
47
- ::character{id="th-num-six" char="๖" name="หก (hòk)" transliteration="6" charType="number"}
59
+ ::character{id="num-six" canonicalRef="num-six" char="๖" name="หก (hòk)" transliteration="6" charType="number"}
48
60
 
49
- ::character{id="th-num-seven" char="๗" name="เจ็ด (jèt)" transliteration="7" charType="number"}
61
+ ::character{id="num-seven" canonicalRef="num-seven" char="๗" name="เจ็ด (jèt)" transliteration="7" charType="number"}
50
62
 
51
- ::character{id="th-num-eight" char="๘" name="แปด (bpàet)" transliteration="8" charType="number"}
63
+ ::character{id="num-eight" canonicalRef="num-eight" char="๘" name="แปด (bpàet)" transliteration="8" charType="number"}
52
64
 
53
- ::character{id="th-num-nine" char="๙" name="เก้า (gâo)" transliteration="9" charType="number"}
65
+ ::character{id="num-nine" canonicalRef="num-nine" char="๙" name="เก้า (gâo)" transliteration="9" charType="number"}
54
66
 
55
67
  :::
56
68
 
@@ -117,4 +129,4 @@ In Lesson 2, you'll learn how to count from 1 to 100, including the special rule
117
129
  export {
118
130
  n as default
119
131
  };
120
- //# sourceMappingURL=lesson-01-CF4tJfZ3.js.map
132
+ //# sourceMappingURL=lesson-01-CPmBFTe0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-01-CPmBFTe0.js","sources":["../src/syllabi/numbers/lessons/lesson-01.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-numbers-lesson-01\\ntitle: \\\"บทที่ 1 — ตัวเลขไทย\\\"\\ndescription: \\\"Thai Numerals: The ten basic digits ๐-๙\\\"\\norder: 1\\nparentId: thai-numbers\\ndifficulty: beginner\\ncefrLevel: A1\\ncategories:\\n - numbers\\n - numerals\\n - basic\\nmetadata:\\n estimatedTime: 20\\n prerequisites:\\n - thai-alphabet\\n learningObjectives:\\n - id: obj-recognize-thai-numerals\\n description: \\\"Recognize all 10 Thai numerals (๐-๙)\\\"\\n skill: character-recognition\\n references: [num-zero, num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]\\n - id: obj-pronounce-numerals\\n description: \\\"Pronounce each number correctly\\\"\\n skill: character-sound-mapping\\n references: [num-zero, num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]\\n - id: obj-write-thai-numerals\\n description: \\\"Write Thai numerals\\\"\\n skill: word-production\\n references: [num-zero, num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]\\n - id: obj-convert-numerals\\n description: \\\"Convert between Thai and Arabic numerals\\\"\\n skill: character-recognition\\n references: [num-zero, num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]\\n---\\n\\n# บทที่ 1 (Lesson 1) — Thai Numerals\\n\\n## Introduction\\n\\nThai has its own beautiful numeral system that's been used for centuries. While Arabic numerals (0-9) are common in modern Thailand, Thai numerals still appear on official documents, currency, temple inscriptions, and formal contexts. Learning them connects you to Thai culture and history.\\n\\n## The Ten Digits\\n\\n:::character-set{id=\\\"thai-numerals\\\" title=\\\"Thai Numerals ๐-๙\\\"}\\n\\n::character{id=\\\"num-zero\\\" canonicalRef=\\\"num-zero\\\" char=\\\"๐\\\" name=\\\"ศูนย์ (sǒon)\\\" transliteration=\\\"0\\\" charType=\\\"number\\\"}\\n\\n::character{id=\\\"num-one\\\" canonicalRef=\\\"num-one\\\" char=\\\"๑\\\" name=\\\"หนึ่ง (nʉ̀ng)\\\" transliteration=\\\"1\\\" charType=\\\"number\\\"}\\n\\n::character{id=\\\"num-two\\\" canonicalRef=\\\"num-two\\\" char=\\\"๒\\\" name=\\\"สอง (sǒng)\\\" transliteration=\\\"2\\\" charType=\\\"number\\\"}\\n\\n::character{id=\\\"num-three\\\" canonicalRef=\\\"num-three\\\" char=\\\"๓\\\" name=\\\"สาม (sǎam)\\\" transliteration=\\\"3\\\" charType=\\\"number\\\"}\\n\\n::character{id=\\\"num-four\\\" canonicalRef=\\\"num-four\\\" char=\\\"๔\\\" name=\\\"สี่ (sìi)\\\" transliteration=\\\"4\\\" charType=\\\"number\\\"}\\n\\n::character{id=\\\"num-five\\\" canonicalRef=\\\"num-five\\\" char=\\\"๕\\\" name=\\\"ห้า (hâa)\\\" transliteration=\\\"5\\\" charType=\\\"number\\\"}\\n\\n::character{id=\\\"num-six\\\" canonicalRef=\\\"num-six\\\" char=\\\"๖\\\" name=\\\"หก (hòk)\\\" transliteration=\\\"6\\\" charType=\\\"number\\\"}\\n\\n::character{id=\\\"num-seven\\\" canonicalRef=\\\"num-seven\\\" char=\\\"๗\\\" name=\\\"เจ็ด (jèt)\\\" transliteration=\\\"7\\\" charType=\\\"number\\\"}\\n\\n::character{id=\\\"num-eight\\\" canonicalRef=\\\"num-eight\\\" char=\\\"๘\\\" name=\\\"แปด (bpàet)\\\" transliteration=\\\"8\\\" charType=\\\"number\\\"}\\n\\n::character{id=\\\"num-nine\\\" canonicalRef=\\\"num-nine\\\" char=\\\"๙\\\" name=\\\"เก้า (gâo)\\\" transliteration=\\\"9\\\" charType=\\\"number\\\"}\\n\\n:::\\n\\n## Recognizing the Shapes\\n\\nThai numerals have distinctive shapes. Here are some memory tips:\\n\\n| Numeral | Memory Tip |\\n|---------|------------|\\n| ๐ | Looks like a curly zero |\\n| ๑ | A simple hook — the first, simplest number |\\n| ๒ | Has two bumps on top |\\n| ๓ | Looks like a sideways 3 with curves |\\n| ๔ | Four strokes to write |\\n| ๕ | Looks like a squiggly 5 |\\n| ๖ | Has a loop like a 6 |\\n| ๗ | Looks like a 7 with a hat |\\n| ๘ | Has curves like an 8 |\\n| ๙ | A curly 9 shape |\\n\\n## Pronunciation Guide\\n\\n| Number | Thai | Romanization | Similar English Sound |\\n|--------|------|--------------|----------------------|\\n| 0 | ศูนย์ | sǒon | \\\"soon\\\" with rising tone |\\n| 1 | หนึ่ง | nʉ̀ng | \\\"nung\\\" (low tone) |\\n| 2 | สอง | sǒng | \\\"song\\\" with rising tone |\\n| 3 | สาม | sǎam | \\\"saam\\\" with rising tone |\\n| 4 | สี่ | sìi | \\\"see\\\" with low tone |\\n| 5 | ห้า | hâa | \\\"haa\\\" with falling tone |\\n| 6 | หก | hòk | \\\"hok\\\" with low tone |\\n| 7 | เจ็ด | jèt | \\\"jet\\\" with low tone |\\n| 8 | แปด | bpàet | \\\"bpaet\\\" with low tone |\\n| 9 | เก้า | gâo | \\\"gow\\\" with falling tone |\\n\\n## Where You'll See Thai Numerals\\n\\n- **Currency**: Thai banknotes show amounts in Thai numerals\\n- **Official documents**: ID cards, government papers\\n- **Temples**: Dates on Buddhist inscriptions\\n- **Royal contexts**: Formal announcements\\n- **Traditional calendars**: Buddhist Era dates\\n\\n## Key Points\\n\\n1. **10 digits**: Thai numerals work just like Arabic — position determines value\\n2. **Same math**: ๑๒๓ = 123 — the system is identical, just different symbols\\n3. **Tones matter**: Each number word has a specific tone\\n4. **Cultural value**: Knowing Thai numerals shows respect for Thai heritage\\n\\n## Practice\\n\\nConvert these Thai numbers to Arabic:\\n- ๕๗ = ?\\n- ๒๔ = ?\\n- ๑๐๐ = ?\\n\\n(Answers: 57, 24, 100)\\n\\n## What's Next\\n\\nIn Lesson 2, you'll learn how to count from 1 to 100, including the special rules for teens and the unique word for 20.\\n\""],"names":["lesson01"],"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;"}
@@ -14,11 +14,22 @@ categories:
14
14
  metadata:
15
15
  estimatedTime: 25
16
16
  prerequisites: []
17
- objectives:
18
- - "Recognize the first 6 middle-class consonants"
19
- - "Understand why consonant class matters for tones"
20
- - "Learn the mnemonic words for each consonant"
21
- - "Practice initial and final sounds"
17
+ learningObjectives:
18
+ - id: obj-recognize-mid-1
19
+ description: "Recognize the first 6 middle-class consonants"
20
+ skill: character-recognition
21
+ references: [chicken, plate, child, turtle, fish, leaf]
22
+ - id: obj-class-understanding
23
+ description: "Understand why consonant class matters for tones"
24
+ skill: character-class-identification
25
+ - id: obj-mnemonics-1
26
+ description: "Learn the mnemonic words for each consonant"
27
+ skill: character-name-recall
28
+ references: [chicken, plate, child, turtle, fish, leaf]
29
+ - id: obj-sounds-1
30
+ description: "Practice initial and final sounds"
31
+ skill: character-sound-mapping
32
+ references: [chicken, plate, child, turtle, fish, leaf]
22
33
  ---
23
34
 
24
35
  # บทที่ 1 (Lesson 1) — Middle-Class Consonants I
@@ -41,17 +52,17 @@ Think of middle class as "neutral" — the other classes modify from this baseli
41
52
 
42
53
  :::character-set{id="thai-middle-consonants-1" title="Middle-Class Consonants I"}
43
54
 
44
- ::character{id="th-chicken" char="ก" name="ก ไก่ (gɔɔ gài)" nativeName="ก ไก่" transliteration="g/k" charType="consonant"}
55
+ ::character{id="chicken" canonicalRef="chicken" data:class="middle" char="ก" name="ก ไก่ (gɔɔ gài)" nativeName="ก ไก่" transliteration="g/k" charType="consonant"}
45
56
 
46
- ::character{id="th-plate" char="จ" name="จ จาน (jɔɔ jaan)" nativeName="จ จาน" transliteration="j/t" charType="consonant"}
57
+ ::character{id="plate" canonicalRef="plate" data:class="middle" char="จ" name="จ จาน (jɔɔ jaan)" nativeName="จ จาน" transliteration="j/t" charType="consonant"}
47
58
 
48
- ::character{id="th-child" char="ด" name="ด เด็ก (dɔɔ dèk)" nativeName="ด เด็ก" transliteration="d/t" charType="consonant"}
59
+ ::character{id="child" canonicalRef="child" data:class="middle" char="ด" name="ด เด็ก (dɔɔ dèk)" nativeName="ด เด็ก" transliteration="d/t" charType="consonant"}
49
60
 
50
- ::character{id="th-turtle" char="ต" name="ต เต่า (dtɔɔ dtào)" nativeName="ต เต่า" transliteration="dt/t" charType="consonant"}
61
+ ::character{id="turtle" canonicalRef="turtle" data:class="middle" char="ต" name="ต เต่า (dtɔɔ dtào)" nativeName="ต เต่า" transliteration="dt/t" charType="consonant"}
51
62
 
52
- ::character{id="th-fish" char="ป" name="ป ปลา (bpɔɔ bplaa)" nativeName="ป ปลา" transliteration="bp/p" charType="consonant"}
63
+ ::character{id="fish" canonicalRef="fish" data:class="middle" char="ป" name="ป ปลา (bpɔɔ bplaa)" nativeName="ป ปลา" transliteration="bp/p" charType="consonant"}
53
64
 
54
- ::character{id="th-leaf" char="บ" name="บ ใบไม้ (bɔɔ baimáai)" nativeName="บ ใบไม้" transliteration="b/p" charType="consonant"}
65
+ ::character{id="leaf" canonicalRef="leaf" data:class="middle" char="บ" name="บ ใบไม้ (bɔɔ baimáai)" nativeName="บ ใบไม้" transliteration="b/p" charType="consonant"}
55
66
 
56
67
  :::
57
68
 
@@ -101,7 +112,7 @@ Shape similarities within pairs (ด/ต, ป/บ) are intentional — they repr
101
112
 
102
113
  ## Quick Quiz
103
114
 
104
- :::exercise{id="quiz-01" type="matching" title="Match Consonants to Animals"}
115
+ :::exercise{id="quiz-01" type="matching" title="Match Consonants to Animals" skill="character-name-recall" tests="chicken,turtle,fish" objectiveId="obj-mnemonics-1"}
105
116
 
106
117
  **Question:** Match each consonant to its mnemonic animal
107
118
 
@@ -119,7 +130,7 @@ Shape similarities within pairs (ด/ต, ป/บ) are intentional — they repr
119
130
 
120
131
  :::
121
132
 
122
- :::exercise{id="recognition-01" type="fill-in-blank" title="Sound Recognition"}
133
+ :::exercise{id="recognition-01" type="fill-in-blank" title="Sound Recognition" skill="character-sound-mapping" tests="chicken,plate,fish" objectiveId="obj-sounds-1"}
123
134
 
124
135
  **Question:** Which consonant makes each sound?
125
136
 
@@ -144,4 +155,4 @@ In Lesson 2, you'll learn the remaining middle-class consonants (ม ย ร ล
144
155
  export {
145
156
  n as default
146
157
  };
147
- //# sourceMappingURL=lesson-01-3hBted4A.js.map
158
+ //# sourceMappingURL=lesson-01-Cc4Ws8eR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-01-Cc4Ws8eR.js","sources":["../src/syllabi/alphabet/lessons/lesson-01.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-script-lesson-01\\ntitle: \\\"บทที่ 1 — พยัญชนะกลาง I\\\"\\ndescription: \\\"Middle-Class Consonants Part 1: ก จ ด ต ป บ — The foundation of Thai tones\\\"\\norder: 1\\nparentId: thai-script-alphabet\\ndifficulty: beginner\\ncefrLevel: A1\\ncategories:\\n - consonants\\n - middle-class\\n - basic-characters\\nmetadata:\\n estimatedTime: 25\\n prerequisites: []\\n learningObjectives:\\n - id: obj-recognize-mid-1\\n description: \\\"Recognize the first 6 middle-class consonants\\\"\\n skill: character-recognition\\n references: [chicken, plate, child, turtle, fish, leaf]\\n - id: obj-class-understanding\\n description: \\\"Understand why consonant class matters for tones\\\"\\n skill: character-class-identification\\n - id: obj-mnemonics-1\\n description: \\\"Learn the mnemonic words for each consonant\\\"\\n skill: character-name-recall\\n references: [chicken, plate, child, turtle, fish, leaf]\\n - id: obj-sounds-1\\n description: \\\"Practice initial and final sounds\\\"\\n skill: character-sound-mapping\\n references: [chicken, plate, child, turtle, fish, leaf]\\n---\\n\\n# บทที่ 1 (Lesson 1) — Middle-Class Consonants I\\n\\n## Introduction\\n\\nWelcome to Thai script! In this first lesson, you'll learn 6 of the 9 **middle-class consonants** (พยัญชนะกลาง). We start here because middle-class consonants are the foundation of the Thai tone system.\\n\\n## Why Middle-Class First?\\n\\nThai has **5 tones** (mid, low, falling, high, rising), and determining the correct tone requires knowing the consonant's class. Middle-class consonants:\\n\\n- Are the **simplest for tone rules** — they produce all 5 tones directly with tone marks\\n- Include the **most common consonants** in everyday Thai\\n- Provide the **baseline** for understanding how high and low classes differ\\n\\nThink of middle class as \\\"neutral\\\" — the other classes modify from this baseline.\\n\\n## Characters\\n\\n:::character-set{id=\\\"thai-middle-consonants-1\\\" title=\\\"Middle-Class Consonants I\\\"}\\n\\n::character{id=\\\"chicken\\\" canonicalRef=\\\"chicken\\\" data:class=\\\"middle\\\" char=\\\"ก\\\" name=\\\"ก ไก่ (gɔɔ gài)\\\" nativeName=\\\"ก ไก่\\\" transliteration=\\\"g/k\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"plate\\\" canonicalRef=\\\"plate\\\" data:class=\\\"middle\\\" char=\\\"จ\\\" name=\\\"จ จาน (jɔɔ jaan)\\\" nativeName=\\\"จ จาน\\\" transliteration=\\\"j/t\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"child\\\" canonicalRef=\\\"child\\\" data:class=\\\"middle\\\" char=\\\"ด\\\" name=\\\"ด เด็ก (dɔɔ dèk)\\\" nativeName=\\\"ด เด็ก\\\" transliteration=\\\"d/t\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"turtle\\\" canonicalRef=\\\"turtle\\\" data:class=\\\"middle\\\" char=\\\"ต\\\" name=\\\"ต เต่า (dtɔɔ dtào)\\\" nativeName=\\\"ต เต่า\\\" transliteration=\\\"dt/t\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"fish\\\" canonicalRef=\\\"fish\\\" data:class=\\\"middle\\\" char=\\\"ป\\\" name=\\\"ป ปลา (bpɔɔ bplaa)\\\" nativeName=\\\"ป ปลา\\\" transliteration=\\\"bp/p\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"leaf\\\" canonicalRef=\\\"leaf\\\" data:class=\\\"middle\\\" char=\\\"บ\\\" name=\\\"บ ใบไม้ (bɔɔ baimáai)\\\" nativeName=\\\"บ ใบไม้\\\" transliteration=\\\"b/p\\\" charType=\\\"consonant\\\"}\\n\\n:::\\n\\n## Sound Changes: Initial vs Final Position\\n\\nOne of Thai's unique features is that consonants often sound **different** at the beginning versus end of a syllable:\\n\\n| Consonant | Initial Sound | Final Sound | Example |\\n|-----------|---------------|-------------|---------|\\n| ก | **g** (as in \\\"go\\\") | **k** (unreleased) | กา (gaa) vs อัก (àk) |\\n| จ | **j** (as in \\\"jam\\\") | **t** (unreleased) | จาน (jaan) vs มืจ (mʉ̀t) |\\n| ด | **d** (as in \\\"do\\\") | **t** (unreleased) | ดู (duu) vs วาด (wàat) |\\n| ต | **dt** (unaspirated) | **t** (unreleased) | ตา (dtaa) vs รัต (rát) |\\n| ป | **bp** (unaspirated) | **p** (unreleased) | ปา (bpaa) vs อับ (àp) |\\n| บ | **b** (as in \\\"boy\\\") | **p** (unreleased) | บาน (baan) vs รับ (ráp) |\\n\\n**Key insight**: All these consonants become an unreleased stop (/t/ or /p/) when they end a syllable. This is why Thai speakers might say \\\"maak\\\" for \\\"mark\\\" — there's no equivalent of English final consonant sounds.\\n\\n## The Unaspirated Pair: ต and ป\\n\\nNotice **ต** (dt) and **ป** (bp) are written with two letters in romanization. This indicates they're **unaspirated** — no puff of air after the sound. This is different from:\\n- English \\\"t\\\" and \\\"p\\\" (slightly aspirated)\\n- Thai ท and พ (heavily aspirated, low-class)\\n\\nHold your hand in front of your mouth: you should feel air for English \\\"top\\\" but not for Thai ตา.\\n\\n## The Mnemonic System\\n\\nEach Thai consonant has a traditional **mnemonic word** starting with that consonant. When Thais spell words aloud, they say \\\"gɔɔ gài, jɔɔ jaan...\\\" — the mnemonic IS the letter's name. **Tap any character above to see its mnemonic!**\\n\\n## Key Points\\n\\n1. **Middle class = tone baseline**: These consonants produce a mid tone in basic syllables\\n2. **Two sounds per consonant**: Initial vs final position changes pronunciation\\n3. **Unaspirated consonants**: ต and ป have no puff of air (unlike English)\\n4. **Mnemonics are names**: Learn them as the consonants' proper names, not just memory aids\\n\\n## Practice Recognition\\n\\nLook at the shapes:\\n- **ก** has a \\\"head\\\" loop on top\\n- **จ** looks like a fishing hook\\n- **ด** and **ต** are similar — ด has a longer tail\\n- **ป** and **บ** are similar — ป is more \\\"closed\\\"\\n\\nShape similarities within pairs (ด/ต, ป/บ) are intentional — they represent related sounds.\\n\\n## Quick Quiz\\n\\n:::exercise{id=\\\"quiz-01\\\" type=\\\"matching\\\" title=\\\"Match Consonants to Animals\\\" skill=\\\"character-name-recall\\\" tests=\\\"chicken,turtle,fish\\\" objectiveId=\\\"obj-mnemonics-1\\\"}\\n\\n**Question:** Match each consonant to its mnemonic animal\\n\\n- ก\\n- ต\\n- ป\\n\\n**Answer:**\\n\\n- chicken (ไก่)\\n- turtle (เต่า)\\n- fish (ปลา)\\n\\n**Explanation:** Each Thai consonant has a traditional mnemonic word. When Thais spell words, they say the consonant name with its mnemonic.\\n\\n:::\\n\\n:::exercise{id=\\\"recognition-01\\\" type=\\\"fill-in-blank\\\" title=\\\"Sound Recognition\\\" skill=\\\"character-sound-mapping\\\" tests=\\\"chicken,plate,fish\\\" objectiveId=\\\"obj-sounds-1\\\"}\\n\\n**Question:** Which consonant makes each sound?\\n\\n- Initial \\\"g\\\" sound (as in \\\"go\\\")\\n- Initial \\\"j\\\" sound (as in \\\"jam\\\")\\n- Initial \\\"bp\\\" sound (unaspirated, no puff of air)\\n\\n**Answer:**\\n\\n- ก (gɔɔ gài)\\n- จ (jɔɔ jaan)\\n- ป (bpɔɔ bplaa)\\n\\n**Explanation:** Middle-class consonants have predictable sounds at the start of syllables.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 2, you'll learn the remaining middle-class consonants (ม ย ร ล อ), which include nasals and approximants with different final-position behaviors.\\n\""],"names":["lesson01"],"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;"}
@@ -14,10 +14,16 @@ categories:
14
14
  metadata:
15
15
  estimatedTime: 25
16
16
  prerequisites: []
17
- objectives:
18
- - "Recognize common street sign vocabulary"
19
- - "Read Thai addresses and street names"
20
- - "Understand directional indicators on signs"
17
+ learningObjectives:
18
+ - id: obj-r1-sign-vocab
19
+ description: "Recognize common street sign vocabulary"
20
+ skill: word-recognition
21
+ - id: obj-r1-address-reading
22
+ description: "Read Thai addresses and street names"
23
+ skill: text-decoding
24
+ - id: obj-r1-directional-indicators
25
+ description: "Understand directional indicators on signs"
26
+ skill: reading-comprehension
21
27
  ---
22
28
 
23
29
  # Street Signs
@@ -64,7 +70,7 @@ Thai streets are full of signs that become readable with practice. This lesson c
64
70
 
65
71
  ## Practice Exercises
66
72
 
67
- :::exercise{id="reading-1-sign-recognition" type="matching" title="Street Sign Recognition"}
73
+ :::exercise{id="reading-1-sign-recognition" type="matching" title="Street Sign Recognition" skill="word-recognition" objectiveId="obj-r1-sign-vocab"}
68
74
 
69
75
  **Question:** Match each sign to its meaning
70
76
 
@@ -84,7 +90,7 @@ Thai streets are full of signs that become readable with practice. This lesson c
84
90
 
85
91
  :::
86
92
 
87
- :::exercise{id="reading-1-address-components" type="fill-in-blank" title="Address Components"}
93
+ :::exercise{id="reading-1-address-components" type="fill-in-blank" title="Address Components" skill="text-decoding" objectiveId="obj-r1-address-reading"}
88
94
 
89
95
  **Question:** What do these address components mean?
90
96
 
@@ -104,7 +110,7 @@ Thai streets are full of signs that become readable with practice. This lesson c
104
110
 
105
111
  :::
106
112
 
107
- :::exercise{id="reading-1-street-types" type="multiple-choice" title="Street Types"}
113
+ :::exercise{id="reading-1-street-types" type="multiple-choice" title="Street Types" skill="reading-comprehension" objectiveId="obj-r1-directional-indicators"}
108
114
 
109
115
  **Question:** What's the difference between ถนน and ซอย?
110
116
 
@@ -127,4 +133,4 @@ In Lesson 2, you'll learn to read restaurant menus — essential for ordering fo
127
133
  export {
128
134
  n as default
129
135
  };
130
- //# sourceMappingURL=lesson-01-BYKAZiua.js.map
136
+ //# sourceMappingURL=lesson-01-Cm5k-m-9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-01-Cm5k-m-9.js","sources":["../src/syllabi/reading/lessons/lesson-01.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-reading-lesson-01\\ntitle: \\\"บทที่ 1 — ป้ายถนน\\\"\\ndescription: \\\"Street Signs: Read common Thai street signs and navigate the city\\\"\\norder: 1\\nparentId: thai-reading\\ndifficulty: intermediate\\ncefrLevel: B1\\ncategories:\\n - reading\\n - signs\\n - navigation\\nmetadata:\\n estimatedTime: 25\\n prerequisites: []\\n learningObjectives:\\n - id: obj-r1-sign-vocab\\n description: \\\"Recognize common street sign vocabulary\\\"\\n skill: word-recognition\\n - id: obj-r1-address-reading\\n description: \\\"Read Thai addresses and street names\\\"\\n skill: text-decoding\\n - id: obj-r1-directional-indicators\\n description: \\\"Understand directional indicators on signs\\\"\\n skill: reading-comprehension\\n---\\n\\n# Street Signs\\n\\nThai streets are full of signs that become readable with practice. This lesson covers the most common street signs you'll encounter.\\n\\n## Street Types\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| ถนน | thanon | road/street |\\n| ซอย | soi | alley/lane |\\n| ถนนใหญ่ | thanon yai | main road |\\n| ทางด่วน | thang duan | expressway |\\n\\n## Common Street Signs\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| หยุด | yut | stop |\\n| ห้ามจอด | ham jot | no parking |\\n| ห้ามเข้า | ham khao | no entry |\\n| ทางเดินเท้า | thang doen thao | pedestrian walkway |\\n\\n## Address Components\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| เลขที่ | lek thi | house number |\\n| หมู่ | mu | village/group |\\n| ตำบล | tambon | subdistrict |\\n| อำเภอ | amphoe | district |\\n\\n## Practice Reading\\n\\n**Sign 1:** ห้ามจอดรถ\\n*ham jot rot* - No parking (vehicles)\\n\\n**Sign 2:** ถนนสุขุมวิท ซอย 23\\n*thanon sukhumwit soi yii-sip-sam* - Sukhumvit Road, Soi 23\\n\\n**Sign 3:** ทางเข้าหมู่บ้าน\\n*thang khao mu ban* - Village entrance\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"reading-1-sign-recognition\\\" type=\\\"matching\\\" title=\\\"Street Sign Recognition\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-r1-sign-vocab\\\"}\\n\\n**Question:** Match each sign to its meaning\\n\\n- หยุด\\n- ห้ามจอด\\n- ห้ามเข้า\\n- ทางเดินเท้า\\n\\n**Answer:**\\n\\n- หยุด → Stop\\n- ห้ามจอด → No parking\\n- ห้ามเข้า → No entry\\n- ทางเดินเท้า → Pedestrian walkway\\n\\n**Explanation:** ห้าม means \\\"prohibited\\\" and is used in many prohibition signs. ทาง means \\\"way/path\\\". Learning these patterns helps you read many signs.\\n\\n:::\\n\\n:::exercise{id=\\\"reading-1-address-components\\\" type=\\\"fill-in-blank\\\" title=\\\"Address Components\\\" skill=\\\"text-decoding\\\" objectiveId=\\\"obj-r1-address-reading\\\"}\\n\\n**Question:** What do these address components mean?\\n\\n- เลขที่\\n- หมู่\\n- ตำบล\\n- อำเภอ\\n\\n**Answer:**\\n\\n- เลขที่ → House number\\n- หมู่ → Village/group number\\n- ตำบล → Subdistrict\\n- อำเภอ → District\\n\\n**Explanation:** Thai addresses use a hierarchical system: house number → village → subdistrict → district → province. Understanding these helps you read addresses and give directions.\\n\\n:::\\n\\n:::exercise{id=\\\"reading-1-street-types\\\" type=\\\"multiple-choice\\\" title=\\\"Street Types\\\" skill=\\\"reading-comprehension\\\" objectiveId=\\\"obj-r1-directional-indicators\\\"}\\n\\n**Question:** What's the difference between ถนน and ซอย?\\n\\n**Options:**\\n- ถนน is a main road, ซอย is an alley/lane\\n- They mean the same thing\\n- ถนน is an alley, ซอย is a main road\\n- ถนน is for cars, ซอย is for pedestrians\\n\\n**Answer:** 1\\n\\n**Explanation:** ถนน means \\\"road/street\\\" (main thoroughfare), while ซอย means \\\"alley/lane\\\" (smaller side street). Bangkok addresses often use both: ถนนสุขุมวิท ซอย 23 (Sukhumvit Road, Soi 23).\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 2, you'll learn to read restaurant menus — essential for ordering food and understanding Thai cuisine vocabulary.\\n\""],"names":["lesson01"],"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;"}
@@ -12,10 +12,16 @@ categories:
12
12
  - sentence-structure
13
13
  metadata:
14
14
  estimatedTime: 30
15
- objectives:
16
- - "Understand basic Thai sentence order"
17
- - "Form simple statements"
18
- - "Recognize subject-verb-object patterns"
15
+ learningObjectives:
16
+ - id: obj-01-sentence-order
17
+ description: "Understand basic Thai sentence order"
18
+ skill: word-order
19
+ - id: obj-01-form-statements
20
+ description: "Form simple statements"
21
+ skill: pattern-application
22
+ - id: obj-01-recognize-svo
23
+ description: "Recognize subject-verb-object patterns"
24
+ skill: pattern-recognition
19
25
  ---
20
26
 
21
27
  # บทที่ 1 (Lesson 1) — Sentence Structure
@@ -88,4 +94,4 @@ In Lesson 2, you'll learn how to form questions in Thai — both yes/no question
88
94
  export {
89
95
  n as default
90
96
  };
91
- //# sourceMappingURL=lesson-01-WV3ic8Ok.js.map
97
+ //# sourceMappingURL=lesson-01-DELblCNj.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-01-DELblCNj.js","sources":["../src/syllabi/grammar/lessons/lesson-01.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-grammar-lesson-01\\ntitle: \\\"บทที่ 1 — โครงสร้างประโยค\\\"\\ndescription: \\\"Sentence Structure: Subject + Verb + Object basics\\\"\\norder: 1\\nparentId: thai-grammar\\ndifficulty: intermediate\\ncefrLevel: A2\\ncategories:\\n - grammar\\n - sentence-structure\\nmetadata:\\n estimatedTime: 30\\n learningObjectives:\\n - id: obj-01-sentence-order\\n description: \\\"Understand basic Thai sentence order\\\"\\n skill: word-order\\n - id: obj-01-form-statements\\n description: \\\"Form simple statements\\\"\\n skill: pattern-application\\n - id: obj-01-recognize-svo\\n description: \\\"Recognize subject-verb-object patterns\\\"\\n skill: pattern-recognition\\n---\\n\\n# บทที่ 1 (Lesson 1) — Sentence Structure\\n\\n## Introduction\\n\\nThai sentence structure is quite similar to English: **Subject + Verb + Object** (SVO). The good news? No verb conjugations!\\n\\n## Basic Pattern: S + V + O\\n\\n| Thai | Romanization | Meaning |\\n|------|--------------|---------|\\n| ผมกินข้าว | phǒm gin khâao | I eat rice |\\n| เขาอ่านหนังสือ | khǎo àan nǎng-sǔue | He reads a book |\\n| แม่ทำอาหาร | mâe tham aa-hǎan | Mom cooks food |\\n\\n## Subject Pronouns\\n\\n| Thai | Romanization | Meaning |\\n|------|--------------|---------|\\n| ผม | phǒm | I (male) |\\n| ดิฉัน | dì-chǎn | I (female, formal) |\\n| ฉัน | chǎn | I (neutral) |\\n| คุณ | khun | you |\\n| เขา | khǎo | he/she/they |\\n| เรา | rao | we |\\n| มัน | man | it |\\n| พวกเขา | phûuak-khǎo | they |\\n\\n## No Conjugation Needed!\\n\\nUnlike English, Thai verbs stay the same regardless of subject or tense:\\n\\n| Subject | Verb (กิน = eat) | Object |\\n|---------|------------------|--------|\\n| ผม | กิน | ข้าว |\\n| คุณ | กิน | ข้าว |\\n| เขา | กิน | ข้าว |\\n| เรา | กิน | ข้าว |\\n\\nAll = \\\"[subject] gin khâao\\\" = \\\"[subject] eat rice\\\"\\n\\n## Subject Dropping\\n\\nIn Thai, the subject is often dropped when it's clear from context:\\n\\n- **กินข้าวหรือยัง?** (gin khâao rǔue yang?) = \\\"Eaten yet?\\\" (subject \\\"you\\\" implied)\\n- **ไปเลย** (bpai ləəi) = \\\"Go!\\\" or \\\"I'm going\\\" (context determines subject)\\n\\n## Examples\\n\\n| Thai | Pattern | Meaning |\\n|------|---------|---------|\\n| ผมรักคุณ | S + V + O | I love you |\\n| เขาซื้อรถ | S + V + O | He/She buys a car |\\n| เราไปตลาด | S + V + O | We go to the market |\\n| หมากินข้าว | S + V + O | The dog eats rice |\\n\\n## Key Points\\n\\n1. **SVO order** - Same as English most of the time\\n2. **No conjugations** - Verbs never change form\\n3. **Subject dropping** - Common when obvious from context\\n4. **No articles** - No \\\"a\\\", \\\"an\\\", \\\"the\\\" needed\\n\\n## What's Next\\n\\nIn Lesson 2, you'll learn how to form questions in Thai — both yes/no questions and question words like \\\"what\\\", \\\"where\\\", and \\\"when\\\".\\n\""],"names":["lesson01"],"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;"}
@@ -14,11 +14,19 @@ categories:
14
14
  metadata:
15
15
  estimatedTime: 30
16
16
  prerequisites: []
17
- objectives:
18
- - "Name basic staple foods"
19
- - "Order rice and noodle dishes"
20
- - "Request water and common drinks"
21
- - "Understand basic menu items"
17
+ learningObjectives:
18
+ - id: obj-name-staple-foods
19
+ description: "Name basic staple foods"
20
+ skill: word-recognition
21
+ - id: obj-order-rice-noodles
22
+ description: "Order rice and noodle dishes"
23
+ skill: word-production
24
+ - id: obj-request-water-drinks
25
+ description: "Request water and common drinks"
26
+ skill: word-production
27
+ - id: obj-understand-menu-items
28
+ description: "Understand basic menu items"
29
+ skill: reading-comprehension
22
30
  ---
23
31
 
24
32
  # บทที่ 1 (Lesson 1) — Essential Food Words
@@ -142,4 +150,4 @@ In Lesson 2, you'll learn the five tastes of Thai cuisine — essential for desc
142
150
  export {
143
151
  n as default
144
152
  };
145
- //# sourceMappingURL=lesson-01-CRx-yw4C.js.map
153
+ //# sourceMappingURL=lesson-01-Djl_72e7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-01-Djl_72e7.js","sources":["../src/syllabi/food/lessons/lesson-01.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-food-lesson-01\\ntitle: \\\"บทที่ 1 — คำศัพท์อาหารพื้นฐาน\\\"\\ndescription: \\\"Essential Food Words: Rice, noodles, and daily basics\\\"\\norder: 1\\nparentId: thai-food\\ndifficulty: beginner\\ncefrLevel: A2\\ncategories:\\n - food\\n - basics\\n - vocabulary\\nmetadata:\\n estimatedTime: 30\\n prerequisites: []\\n learningObjectives:\\n - id: obj-name-staple-foods\\n description: \\\"Name basic staple foods\\\"\\n skill: word-recognition\\n - id: obj-order-rice-noodles\\n description: \\\"Order rice and noodle dishes\\\"\\n skill: word-production\\n - id: obj-request-water-drinks\\n description: \\\"Request water and common drinks\\\"\\n skill: word-production\\n - id: obj-understand-menu-items\\n description: \\\"Understand basic menu items\\\"\\n skill: reading-comprehension\\n---\\n\\n# บทที่ 1 (Lesson 1) — Essential Food Words\\n\\n## Introduction\\n\\nBefore diving into Thai cuisine's complexity, you need the foundation: the words for rice, noodles, and basic items you'll encounter in every meal. These are the building blocks of Thai food vocabulary.\\n\\n## Rice — The Heart of Thai Meals\\n\\n:::vocabulary-set{id=\\\"thai-rice\\\" title=\\\"Rice Vocabulary\\\"}\\n\\n::vocab-item{id=\\\"khao\\\" word=\\\"ข้าว\\\" pronunciation=\\\"khâao\\\" meaning=\\\"rice\\\"}\\n\\n::vocab-item{id=\\\"khao-suay\\\" word=\\\"ข้าวสวย\\\" pronunciation=\\\"khâao sǔay\\\" meaning=\\\"steamed rice\\\"}\\n\\n::vocab-item{id=\\\"khao-niao\\\" word=\\\"ข้าวเหนียว\\\" pronunciation=\\\"khâao nǐao\\\" meaning=\\\"sticky rice\\\"}\\n\\n::vocab-item{id=\\\"khao-pad\\\" word=\\\"ข้าวผัด\\\" pronunciation=\\\"khâao phàt\\\" meaning=\\\"fried rice\\\"}\\n\\n::vocab-item{id=\\\"khao-tom\\\" word=\\\"ข้าวต้ม\\\" pronunciation=\\\"khâao dtôm\\\" meaning=\\\"rice porridge\\\"}\\n\\n:::\\n\\n### Rice in Thai Culture\\n\\nRice is so central that \\\"กินข้าว\\\" (gin khâao - eat rice) means \\\"to eat a meal\\\" even if no rice is involved!\\n\\n| Phrase | Meaning |\\n|--------|---------|\\n| กินข้าวหรือยัง | Have you eaten yet? (greeting) |\\n| ขอข้าวเพิ่ม | May I have more rice? |\\n| ข้าวหมดแล้ว | The rice is finished |\\n\\n## Noodles — The Other Staple\\n\\n:::vocabulary-set{id=\\\"thai-noodles\\\" title=\\\"Noodle Vocabulary\\\"}\\n\\n::vocab-item{id=\\\"kuay-tiaw\\\" word=\\\"ก๋วยเตี๋ยว\\\" pronunciation=\\\"gǔay-dtǐao\\\" meaning=\\\"noodles / noodle soup\\\"}\\n\\n::vocab-item{id=\\\"sen-lek\\\" word=\\\"เส้นเล็ก\\\" pronunciation=\\\"sên lék\\\" meaning=\\\"thin rice noodles\\\"}\\n\\n::vocab-item{id=\\\"sen-yai\\\" word=\\\"เส้นใหญ่\\\" pronunciation=\\\"sên yài\\\" meaning=\\\"wide rice noodles\\\"}\\n\\n::vocab-item{id=\\\"sen-mee\\\" word=\\\"เส้นหมี่\\\" pronunciation=\\\"sên mìi\\\" meaning=\\\"rice vermicelli\\\"}\\n\\n::vocab-item{id=\\\"ba-mee\\\" word=\\\"บะหมี่\\\" pronunciation=\\\"bà-mìi\\\" meaning=\\\"egg noodles\\\"}\\n\\n::vocab-item{id=\\\"wun-sen\\\" word=\\\"วุ้นเส้น\\\" pronunciation=\\\"wún sên\\\" meaning=\\\"glass noodles\\\"}\\n\\n:::\\n\\n### Noodle Soup Options\\n\\nWhen ordering noodle soup, you choose:\\n\\n| Choice | Options |\\n|--------|---------|\\n| Noodle type | เส้นเล็ก, เส้นใหญ่, เส้นหมี่, บะหมี่ |\\n| Soup style | น้ำ (with soup) / แห้ง (dry) |\\n| Protein | หมู (pork), ไก่ (chicken), เนื้อ (beef) |\\n\\n## Basic Food Items\\n\\n:::vocabulary-set{id=\\\"thai-basics\\\" title=\\\"Basic Food Items\\\"}\\n\\n::vocab-item{id=\\\"nam\\\" word=\\\"น้ำ\\\" pronunciation=\\\"náam\\\" meaning=\\\"water\\\"}\\n\\n::vocab-item{id=\\\"nam-plao\\\" word=\\\"น้ำเปล่า\\\" pronunciation=\\\"náam bplào\\\" meaning=\\\"plain water\\\"}\\n\\n::vocab-item{id=\\\"khai\\\" word=\\\"ไข่\\\" pronunciation=\\\"khài\\\" meaning=\\\"egg\\\"}\\n\\n::vocab-item{id=\\\"khai-dao\\\" word=\\\"ไข่ดาว\\\" pronunciation=\\\"khài daao\\\" meaning=\\\"fried egg\\\"}\\n\\n::vocab-item{id=\\\"khai-jiaw\\\" word=\\\"ไข่เจียว\\\" pronunciation=\\\"khài jiao\\\" meaning=\\\"Thai omelette\\\"}\\n\\n::vocab-item{id=\\\"phat-thai\\\" word=\\\"ผัดไทย\\\" pronunciation=\\\"phàt thai\\\" meaning=\\\"pad thai\\\"}\\n\\n:::\\n\\n## Essential Ordering Phrases\\n\\n| Thai | Meaning |\\n|------|---------|\\n| ขอ...หนึ่งที่ | One order of... please |\\n| ขอข้าวสวย | Steamed rice, please |\\n| ขอน้ำเปล่า | Plain water, please |\\n| เอาข้าวผัดไก่ | I'll have chicken fried rice |\\n| ก๋วยเตี๋ยวหมูน้ำ | Pork noodle soup |\\n\\n## Common Dishes to Know\\n\\n| Thai | Romanization | Description |\\n|------|--------------|-------------|\\n| ข้าวผัดไก่ | khâao phàt gài | Chicken fried rice |\\n| ข้าวผัดกุ้ง | khâao phàt gûng | Shrimp fried rice |\\n| ข้าวมันไก่ | khâao man gài | Hainanese chicken rice |\\n| ข้าวหมูแดง | khâao mǔu daeng | Red pork with rice |\\n| ผัดไทยไก่ | phàt thai gài | Pad Thai with chicken |\\n\\n## Practice Conversation\\n\\n**At a restaurant:**\\n- คุณ: ขอข้าวผัดไก่หนึ่งที่ครับ (One chicken fried rice, please)\\n- พนักงาน: เอาไข่ดาวไหมคะ (Would you like a fried egg?)\\n- คุณ: เอาครับ (Yes, please)\\n- พนักงาน: เอาอะไรดื่มคะ (What would you like to drink?)\\n- คุณ: ขอน้ำเปล่าครับ (Plain water, please)\\n\\n## Key Points\\n\\n1. **ข้าว is essential**: Rice appears in countless dish names\\n2. **ก๋วยเตี๋ยว = noodles**: Choose your noodle type\\n3. **น้ำเปล่า for water**: Specifying \\\"plain\\\" avoids confusion\\n4. **ขอ...หนึ่งที่**: Standard ordering pattern\\n\\n## What's Next\\n\\nIn Lesson 2, you'll learn the five tastes of Thai cuisine — essential for describing and customizing your food.\\n\""],"names":["lesson01"],"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;"}
@@ -12,11 +12,19 @@ categories:
12
12
  - transport
13
13
  metadata:
14
14
  estimatedTime: 25
15
- objectives:
16
- - "Name common vehicles and transport types"
17
- - "Hail taxis and tuk-tuks"
18
- - "Use public transportation vocabulary"
19
- - "Rent vehicles"
15
+ learningObjectives:
16
+ - id: obj-01a
17
+ description: "Name common vehicles and transport types"
18
+ skill: word-recognition
19
+ - id: obj-01b
20
+ description: "Hail taxis and tuk-tuks"
21
+ skill: situational-response
22
+ - id: obj-01c
23
+ description: "Use public transportation vocabulary"
24
+ skill: word-production
25
+ - id: obj-01d
26
+ description: "Rent vehicles"
27
+ skill: pattern-application
20
28
  ---
21
29
 
22
30
  # บทที่ 1 (Lesson 1) — Getting Around
@@ -85,7 +93,7 @@ Thailand has diverse transportation options from modern BTS trains to traditiona
85
93
 
86
94
  ## Practice Exercises
87
95
 
88
- :::exercise{id="travel-1-transport-types" type="matching" title="Transportation Types"}
96
+ :::exercise{id="travel-1-transport-types" type="matching" title="Transportation Types" skill="word-recognition" objectiveId="obj-01a"}
89
97
 
90
98
  **Question:** Match each transport type to its Thai name
91
99
 
@@ -107,7 +115,7 @@ Thailand has diverse transportation options from modern BTS trains to traditiona
107
115
 
108
116
  :::
109
117
 
110
- :::exercise{id="travel-1-taxi-etiquette" type="multiple-choice" title="Taxi Etiquette"}
118
+ :::exercise{id="travel-1-taxi-etiquette" type="multiple-choice" title="Taxi Etiquette" skill="situational-response" objectiveId="obj-01b"}
111
119
 
112
120
  **Question:** What should you always say when getting in a taxi in Thailand?
113
121
 
@@ -123,7 +131,7 @@ Thailand has diverse transportation options from modern BTS trains to traditiona
123
131
 
124
132
  :::
125
133
 
126
- :::exercise{id="travel-1-hailing-transport" type="fill-in-blank" title="Hailing Transportation"}
134
+ :::exercise{id="travel-1-hailing-transport" type="fill-in-blank" title="Hailing Transportation" skill="situational-response" objectiveId="obj-01b"}
127
135
 
128
136
  **Question:** How do you hail different types of transport?
129
137
 
@@ -144,4 +152,4 @@ In Lesson 2, you'll learn direction words to guide your driver or find your own
144
152
  export {
145
153
  n as default
146
154
  };
147
- //# sourceMappingURL=lesson-01-BhjY6ArF.js.map
155
+ //# sourceMappingURL=lesson-01-LEHTeGQQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-01-LEHTeGQQ.js","sources":["../src/syllabi/travel/lessons/lesson-01.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-travel-lesson-01\\ntitle: \\\"บทที่ 1 — การเดินทาง\\\"\\ndescription: \\\"Getting Around: Transportation options in Thailand\\\"\\norder: 1\\nparentId: thai-vocab-travel\\ndifficulty: beginner\\ncefrLevel: A2\\ncategories:\\n - travel\\n - transport\\nmetadata:\\n estimatedTime: 25\\n learningObjectives:\\n - id: obj-01a\\n description: \\\"Name common vehicles and transport types\\\"\\n skill: word-recognition\\n - id: obj-01b\\n description: \\\"Hail taxis and tuk-tuks\\\"\\n skill: situational-response\\n - id: obj-01c\\n description: \\\"Use public transportation vocabulary\\\"\\n skill: word-production\\n - id: obj-01d\\n description: \\\"Rent vehicles\\\"\\n skill: pattern-application\\n---\\n\\n# บทที่ 1 (Lesson 1) — Getting Around\\n\\n## Introduction\\n\\nThailand has diverse transportation options from modern BTS trains to traditional tuk-tuks. Learning these words helps you choose the right transport for any situation.\\n\\n## Private Transport\\n\\n:::vocabulary-set{id=\\\"thai-private-transport\\\" title=\\\"Private Transport\\\"}\\n\\n::vocab-item{id=\\\"rot\\\" word=\\\"รถ\\\" pronunciation=\\\"rót\\\" meaning=\\\"vehicle/car\\\"}\\n\\n::vocab-item{id=\\\"rot-taxi\\\" word=\\\"รถแท็กซี่\\\" pronunciation=\\\"rót thák-sîi\\\" meaning=\\\"taxi\\\"}\\n\\n::vocab-item{id=\\\"tuk-tuk\\\" word=\\\"ตุ๊กตุ๊ก\\\" pronunciation=\\\"dtúk-dtúk\\\" meaning=\\\"tuk-tuk (three-wheeler)\\\"}\\n\\n::vocab-item{id=\\\"rot-motocai\\\" word=\\\"รถมอเตอร์ไซค์\\\" pronunciation=\\\"rót mɔɔ-dtəə-sai\\\" meaning=\\\"motorcycle\\\"}\\n\\n::vocab-item{id=\\\"rot-chao\\\" word=\\\"รถเช่า\\\" pronunciation=\\\"rót châo\\\" meaning=\\\"rental car\\\"}\\n\\n:::\\n\\n## Public Transport\\n\\n:::vocabulary-set{id=\\\"thai-public-transport\\\" title=\\\"Public Transport\\\"}\\n\\n::vocab-item{id=\\\"rot-me\\\" word=\\\"รถเมล์\\\" pronunciation=\\\"rót mee\\\" meaning=\\\"bus\\\"}\\n\\n::vocab-item{id=\\\"rot-fai\\\" word=\\\"รถไฟ\\\" pronunciation=\\\"rót fai\\\" meaning=\\\"train\\\"}\\n\\n::vocab-item{id=\\\"rot-fai-faa\\\" word=\\\"รถไฟฟ้า\\\" pronunciation=\\\"rót fai fáa\\\" meaning=\\\"BTS/MRT (electric train)\\\"}\\n\\n::vocab-item{id=\\\"reua\\\" word=\\\"เรือ\\\" pronunciation=\\\"rʉa\\\" meaning=\\\"boat\\\"}\\n\\n::vocab-item{id=\\\"kreuang-bin\\\" word=\\\"เครื่องบิน\\\" pronunciation=\\\"khrʉ̂ang bin\\\" meaning=\\\"airplane\\\"}\\n\\n:::\\n\\n## Useful Phrases\\n\\n| Thai | Meaning |\\n|------|---------|\\n| เรียกแท็กซี่ | Call a taxi |\\n| ไปที่ไหน | Where to? |\\n| ไป...ครับ | I'm going to... |\\n| เท่าไหร่ครับ | How much? |\\n| เปิดมิเตอร์ | Turn on the meter |\\n| จอดตรงนี้ | Stop here |\\n\\n## Sample Conversation\\n\\n**Hailing a taxi:**\\n- คุณ: แท็กซี่ครับ! (Taxi!)\\n- คนขับ: ไปไหนครับ (Where to?)\\n- คุณ: ไปสยามครับ เปิดมิเตอร์นะครับ (To Siam. Please use the meter)\\n- คนขับ: ได้ครับ (Okay)\\n\\n## Key Points\\n\\n1. **รถไฟฟ้า = BTS/MRT**: The modern sky train and subway\\n2. **เปิดมิเตอร์ = use meter**: Always ask in taxis\\n3. **ตุ๊กตุ๊ก**: Negotiate price before getting in\\n4. **รถเมล์**: Very cheap but can be confusing for beginners\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"travel-1-transport-types\\\" type=\\\"matching\\\" title=\\\"Transportation Types\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-01a\\\"}\\n\\n**Question:** Match each transport type to its Thai name\\n\\n- Taxi\\n- BTS/MRT\\n- Tuk-tuk\\n- Bus\\n- Boat\\n\\n**Answer:**\\n\\n- Taxi → รถแท็กซี่ or แท็กซี่\\n- BTS/MRT → รถไฟฟ้า (electric train)\\n- Tuk-tuk → ตุ๊กตุ๊ก\\n- Bus → รถเมล์\\n- Boat → เรือ\\n\\n**Explanation:** รถ means \\\"vehicle\\\" and is a prefix for many transport types. รถไฟฟ้า specifically means the electric train system (BTS/MRT). ตุ๊กตุ๊ก is the iconic three-wheeled vehicle.\\n\\n:::\\n\\n:::exercise{id=\\\"travel-1-taxi-etiquette\\\" type=\\\"multiple-choice\\\" title=\\\"Taxi Etiquette\\\" skill=\\\"situational-response\\\" objectiveId=\\\"obj-01b\\\"}\\n\\n**Question:** What should you always say when getting in a taxi in Thailand?\\n\\n**Options:**\\n- ไปเร็วๆ (go fast)\\n- เปิดมิเตอร์ (turn on meter)\\n- ไม่ต้องทอน (keep the change)\\n- ไปได้ไหม (can you go?)\\n\\n**Answer:** 2\\n\\n**Explanation:** Always say \\\"เปิดมิเตอร์\\\" (use the meter) to ensure fair pricing. Some drivers try to negotiate fixed prices which are usually higher. Insisting on the meter protects you.\\n\\n:::\\n\\n:::exercise{id=\\\"travel-1-hailing-transport\\\" type=\\\"fill-in-blank\\\" title=\\\"Hailing Transportation\\\" skill=\\\"situational-response\\\" objectiveId=\\\"obj-01b\\\"}\\n\\n**Question:** How do you hail different types of transport?\\n\\n**Answer:**\\n\\n- Taxi: Raise your hand and say \\\"แท็กซี่!\\\" or \\\"ไป[destination]ได้ไหมครับ\\\"\\n- Tuk-tuk: Approach and negotiate price first: \\\"[destination]เท่าไหร่\\\"\\n- BTS/MRT: Go to station and buy ticket (no hailing needed)\\n\\n**Explanation:** Taxis can be hailed on the street. Tuk-tuks require price negotiation before getting in. BTS/MRT use ticket systems - no hailing needed.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 2, you'll learn direction words to guide your driver or find your own way.\\n\""],"names":["lesson01"],"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;"}
@@ -13,11 +13,19 @@ categories:
13
13
  - shopping
14
14
  metadata:
15
15
  estimatedTime: 30
16
- objectives:
17
- - "Ask prices at the market"
18
- - "Bargain politely"
19
- - "Buy fruits and vegetables"
20
- - "Handle basic transactions"
16
+ learningObjectives:
17
+ - id: obj-market-ask-prices
18
+ description: "Ask prices at the market"
19
+ skill: situational-response
20
+ - id: obj-market-bargain
21
+ description: "Bargain politely"
22
+ skill: polite-register
23
+ - id: obj-market-buy-fruits
24
+ description: "Buy fruits and vegetables"
25
+ skill: word-production
26
+ - id: obj-market-transactions
27
+ description: "Handle basic transactions"
28
+ skill: dialogue-comprehension
21
29
  ---
22
30
 
23
31
  # บทที่ 1 (Lesson 1) — At the Market
@@ -100,4 +108,4 @@ In Lesson 2, you'll learn restaurant dialogues — ordering food, making special
100
108
  export {
101
109
  n as default
102
110
  };
103
- //# sourceMappingURL=lesson-01-BNdHXAGR.js.map
111
+ //# sourceMappingURL=lesson-01-ih_-OO_O.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-01-ih_-OO_O.js","sources":["../src/syllabi/dialogue/lessons/lesson-01.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-dialogue-lesson-01\\ntitle: \\\"บทที่ 1 — ที่ตลาด\\\"\\ndescription: \\\"At the Market: Buying fruits, bargaining, and asking prices\\\"\\norder: 1\\nparentId: thai-dialogue\\ndifficulty: intermediate\\ncefrLevel: A2\\ncategories:\\n - dialogue\\n - market\\n - shopping\\nmetadata:\\n estimatedTime: 30\\n learningObjectives:\\n - id: obj-market-ask-prices\\n description: \\\"Ask prices at the market\\\"\\n skill: situational-response\\n - id: obj-market-bargain\\n description: \\\"Bargain politely\\\"\\n skill: polite-register\\n - id: obj-market-buy-fruits\\n description: \\\"Buy fruits and vegetables\\\"\\n skill: word-production\\n - id: obj-market-transactions\\n description: \\\"Handle basic transactions\\\"\\n skill: dialogue-comprehension\\n---\\n\\n# บทที่ 1 (Lesson 1) — At the Market\\n\\n## Situation\\n\\nYou're at a fresh market (ตลาดสด) buying mangoes from a vendor.\\n\\n## Dialogue\\n\\n:::dialogue{id=\\\"market-dialogue-1\\\" title=\\\"Buying Mangoes\\\"}\\n\\n**ผู้ขาย (Vendor):** สวัสดีค่ะ รับอะไรดีคะ?\\n*sà-wàt-dii khâ, ráp à-rai dii khá?*\\nHello! What would you like?\\n\\n**คุณ (You):** มะม่วงกิโลละเท่าไหร่ครับ/ค่ะ?\\n*má-mûang gì-loh lá thâo-rài khráp/khâ?*\\nHow much are the mangoes per kilo?\\n\\n**ผู้ขาย:** กิโลละ 60 บาทค่ะ\\n*gì-loh lá hòk-sìp bàat khâ*\\n60 baht per kilo.\\n\\n**คุณ:** ลดได้ไหมครับ/ค่ะ? 50 บาทได้ไหม?\\n*lót dâai mái khráp/khâ? hâa-sìp bàat dâai mái?*\\nCan you reduce it? How about 50 baht?\\n\\n**ผู้ขาย:** ไม่ได้ค่ะ แต่ซื้อ 2 กิโล 100 บาทนะคะ\\n*mâi dâai khâ, dtàe súue sǎawng gì-loh nùeng-rói bàat ná khá*\\nNo, but 2 kilos for 100 baht.\\n\\n**คุณ:** ได้ครับ/ค่ะ เอา 2 กิโล\\n*dâai khráp/khâ, ao sǎawng gì-loh*\\nOK, I'll take 2 kilos.\\n\\n**ผู้ขาย:** ค่ะ นี่ค่ะ ขอบคุณค่ะ\\n*khâ, nîi khâ, khàawp-khun khâ*\\nHere you go. Thank you!\\n\\n:::\\n\\n## Key Phrases\\n\\n| Thai | Romanization | Meaning |\\n|------|--------------|---------|\\n| รับอะไรดีคะ? | ráp à-rai dii khá? | What would you like? |\\n| ...เท่าไหร่? | ...thâo-rài? | How much is...? |\\n| กิโลละ... | gì-loh lá... | ...per kilo |\\n| ลดได้ไหม? | lót dâai mái? | Can you reduce it? |\\n| ไม่ได้ค่ะ | mâi dâai khâ | No, (I) can't |\\n| เอา... | ao... | I'll take... |\\n\\n## Bargaining Tips\\n\\n1. **Be friendly** - Smile and be polite\\n2. **Start lower** - Offer 20-30% less than asking price\\n3. **Walk away** - If they don't budge, start walking; they may call you back\\n4. **Bundle** - Ask for discounts on larger quantities\\n5. **Don't bargain at supermarkets** - Only at markets and small shops\\n\\n## Cultural Note\\n\\nBargaining (ต่อราคา, dtàaw raa-khaa) is expected at fresh markets but not at supermarkets or convenience stores. Always bargain with a smile!\\n\\n## Variations\\n\\n**Asking about ripeness:**\\n- สุกแล้วหรือยัง? (sùk láew rǔue yang?) - Is it ripe yet?\\n- มีสุกๆ ไหม? (mii sùk sùk mái?) - Do you have ripe ones?\\n\\n**Other quantities:**\\n- ขีดละเท่าไหร่? (khìit lá thâo-rài?) - How much per 100g?\\n- ลูกละเท่าไหร่? (lûuk lá thâo-rài?) - How much each?\\n\\n## What's Next\\n\\nIn Lesson 2, you'll learn restaurant dialogues — ordering food, making special requests, and handling the bill at Thai restaurants.\\n\""],"names":["lesson01"],"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;"}