@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.
- package/dist/{index-of_athp-.js → index-4uNMctdq.js} +13 -13
- package/dist/{index-of_athp-.js.map → index-4uNMctdq.js.map} +1 -1
- package/dist/{index-Dy38Hmlm.js → index-BM-LWlCm.js} +10 -10
- package/dist/{index-Dy38Hmlm.js.map → index-BM-LWlCm.js.map} +1 -1
- package/dist/{index-CTQ45BVw.js → index-Bjym0crS.js} +8 -8
- package/dist/{index-CTQ45BVw.js.map → index-Bjym0crS.js.map} +1 -1
- package/dist/{index-B029m98V.js → index-BuKXw7-Z.js} +7 -7
- package/dist/{index-B029m98V.js.map → index-BuKXw7-Z.js.map} +1 -1
- package/dist/{index-CoqP9GZL.js → index-ByS0o5dz.js} +10 -10
- package/dist/{index-CoqP9GZL.js.map → index-ByS0o5dz.js.map} +1 -1
- package/dist/{index-BCA5Llwg.js → index-C9VnG7dT.js} +10 -10
- package/dist/{index-BCA5Llwg.js.map → index-C9VnG7dT.js.map} +1 -1
- package/dist/{index-vuRo2mLK.js → index-CPQkjFjV.js} +9 -9
- package/dist/{index-vuRo2mLK.js.map → index-CPQkjFjV.js.map} +1 -1
- package/dist/{index-BFcg5D_W.js → index-CkHd3Fal.js} +12 -12
- package/dist/{index-BFcg5D_W.js.map → index-CkHd3Fal.js.map} +1 -1
- package/dist/{index-CB8M6CK6.js → index-DBkPBXe2.js} +10 -10
- package/dist/{index-CB8M6CK6.js.map → index-DBkPBXe2.js.map} +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +18 -18
- package/dist/{lesson-01--9NOyHZ6.js → lesson-01-B0wtSaSl.js} +21 -9
- package/dist/lesson-01-B0wtSaSl.js.map +1 -0
- package/dist/{lesson-01-97FtYE6g.js → lesson-01-C9vbUlA4.js} +14 -6
- package/dist/lesson-01-C9vbUlA4.js.map +1 -0
- package/dist/{lesson-01-CF4tJfZ3.js → lesson-01-CPmBFTe0.js} +28 -16
- package/dist/lesson-01-CPmBFTe0.js.map +1 -0
- package/dist/{lesson-01-3hBted4A.js → lesson-01-Cc4Ws8eR.js} +25 -14
- package/dist/lesson-01-Cc4Ws8eR.js.map +1 -0
- package/dist/{lesson-01-BYKAZiua.js → lesson-01-Cm5k-m-9.js} +14 -8
- package/dist/lesson-01-Cm5k-m-9.js.map +1 -0
- package/dist/{lesson-01-WV3ic8Ok.js → lesson-01-DELblCNj.js} +11 -5
- package/dist/lesson-01-DELblCNj.js.map +1 -0
- package/dist/{lesson-01-CRx-yw4C.js → lesson-01-Djl_72e7.js} +14 -6
- package/dist/lesson-01-Djl_72e7.js.map +1 -0
- package/dist/{lesson-01-BhjY6ArF.js → lesson-01-LEHTeGQQ.js} +17 -9
- package/dist/lesson-01-LEHTeGQQ.js.map +1 -0
- package/dist/{lesson-01-BNdHXAGR.js → lesson-01-ih_-OO_O.js} +14 -6
- package/dist/lesson-01-ih_-OO_O.js.map +1 -0
- package/dist/{lesson-02-C8dfzXvq.js → lesson-02-B2aZrKUQ.js} +14 -6
- package/dist/lesson-02-B2aZrKUQ.js.map +1 -0
- package/dist/{lesson-02-C2ALLvoT.js → lesson-02-BI1Vnwiz.js} +17 -9
- package/dist/lesson-02-BI1Vnwiz.js.map +1 -0
- package/dist/{lesson-02-BGnp0Ik_.js → lesson-02-BXbwEMaL.js} +27 -15
- package/dist/lesson-02-BXbwEMaL.js.map +1 -0
- package/dist/{lesson-02-BAbq-QGP.js → lesson-02-CbJJ5Amt.js} +24 -14
- package/dist/lesson-02-CbJJ5Amt.js.map +1 -0
- package/dist/{lesson-02-Bm9EJuN8.js → lesson-02-DGrALAgG.js} +21 -9
- package/dist/lesson-02-DGrALAgG.js.map +1 -0
- package/dist/{lesson-02-C0ZL4z3c.js → lesson-02-DcMDDBDL.js} +11 -5
- package/dist/lesson-02-DcMDDBDL.js.map +1 -0
- package/dist/{lesson-02-B2Xg7RVU.js → lesson-02-Dk59HZWp.js} +17 -9
- package/dist/lesson-02-Dk59HZWp.js.map +1 -0
- package/dist/{lesson-02-BO3BXPMJ.js → lesson-02-L8oNhBej.js} +14 -8
- package/dist/lesson-02-L8oNhBej.js.map +1 -0
- package/dist/{lesson-02-CsejVbCo.js → lesson-02-VDOme3ES.js} +17 -9
- package/dist/lesson-02-VDOme3ES.js.map +1 -0
- package/dist/{lesson-03-DV2SUWVH.js → lesson-03-9WioSe19.js} +21 -9
- package/dist/lesson-03-9WioSe19.js.map +1 -0
- package/dist/{lesson-03-DiV17_Os.js → lesson-03-BZutWzMD.js} +14 -6
- package/dist/lesson-03-BZutWzMD.js.map +1 -0
- package/dist/{lesson-03-Xc8-2Yt3.js → lesson-03-CSIF5xRS.js} +14 -8
- package/dist/lesson-03-CSIF5xRS.js.map +1 -0
- package/dist/{lesson-03-DrJgbfDQ.js → lesson-03-CSKig363.js} +17 -9
- package/dist/lesson-03-CSKig363.js.map +1 -0
- package/dist/{lesson-03-XVahXvgf.js → lesson-03-CoDPKwa1.js} +21 -14
- package/dist/lesson-03-CoDPKwa1.js.map +1 -0
- package/dist/{lesson-03-8NtAeqFh.js → lesson-03-DPJOG2M_.js} +14 -8
- package/dist/lesson-03-DPJOG2M_.js.map +1 -0
- package/dist/{lesson-03-CKTNtgY1.js → lesson-03-DkjCuJ26.js} +17 -9
- package/dist/lesson-03-DkjCuJ26.js.map +1 -0
- package/dist/{lesson-03-BdZfKRhq.js → lesson-03-DucbRMOQ.js} +17 -9
- package/dist/lesson-03-DucbRMOQ.js.map +1 -0
- package/dist/{lesson-03-D8va_Q9B.js → lesson-03-MIne1PbH.js} +26 -14
- package/dist/lesson-03-MIne1PbH.js.map +1 -0
- package/dist/{lesson-04-Dfc7S4nT.js → lesson-04-0Pj_x1DU.js} +17 -9
- package/dist/lesson-04-0Pj_x1DU.js.map +1 -0
- package/dist/{lesson-04-ZrSBM0BX.js → lesson-04-B9h0p9kE.js} +14 -8
- package/dist/lesson-04-B9h0p9kE.js.map +1 -0
- package/dist/{lesson-04-DEEPJ_rd.js → lesson-04-BLuPI1-X.js} +22 -13
- package/dist/lesson-04-BLuPI1-X.js.map +1 -0
- package/dist/{lesson-04-rapx_3vA.js → lesson-04-CmDvofL4.js} +17 -9
- package/dist/lesson-04-CmDvofL4.js.map +1 -0
- package/dist/{lesson-04-DtXVhdGB.js → lesson-04-DGKHK4LW.js} +17 -9
- package/dist/lesson-04-DGKHK4LW.js.map +1 -0
- package/dist/{lesson-04-CtNr2B3E.js → lesson-04-DUcHZzsk.js} +21 -9
- package/dist/lesson-04-DUcHZzsk.js.map +1 -0
- package/dist/{lesson-04-BpRrNmzO.js → lesson-04-DnVIXXk-.js} +14 -8
- package/dist/lesson-04-DnVIXXk-.js.map +1 -0
- package/dist/{lesson-04-ioLXnB0j.js → lesson-04-FZnIE7tu.js} +27 -15
- package/dist/lesson-04-FZnIE7tu.js.map +1 -0
- package/dist/{lesson-04-D__vMCyA.js → lesson-04-ToX3nRz1.js} +17 -9
- package/dist/lesson-04-ToX3nRz1.js.map +1 -0
- package/dist/{lesson-05-D_GdROUn.js → lesson-05-2aTCGXMh.js} +14 -8
- package/dist/lesson-05-2aTCGXMh.js.map +1 -0
- package/dist/{lesson-05-ip400cxe.js → lesson-05-BvitRdE8.js} +28 -16
- package/dist/lesson-05-BvitRdE8.js.map +1 -0
- package/dist/{lesson-05-D1d3kc3M.js → lesson-05-CgXGkcjS.js} +14 -8
- package/dist/lesson-05-CgXGkcjS.js.map +1 -0
- package/dist/{lesson-05-D2SVU-I0.js → lesson-05-ClfrUrvX.js} +17 -9
- package/dist/lesson-05-ClfrUrvX.js.map +1 -0
- package/dist/{lesson-05-CKxXcooO.js → lesson-05-D2zf9n7k.js} +23 -13
- package/dist/lesson-05-D2zf9n7k.js.map +1 -0
- package/dist/{lesson-05-DusKUtbm.js → lesson-05-DWquBfdl.js} +21 -9
- package/dist/lesson-05-DWquBfdl.js.map +1 -0
- package/dist/{lesson-05-Bm6fg-DJ.js → lesson-05-DpIkwhJ8.js} +17 -9
- package/dist/lesson-05-DpIkwhJ8.js.map +1 -0
- package/dist/{lesson-05-DBsHyFlt.js → lesson-05-UYz39ORV.js} +17 -9
- package/dist/lesson-05-UYz39ORV.js.map +1 -0
- package/dist/{lesson-05-DXOLS7G0.js → lesson-05-t6XuANiZ.js} +17 -9
- package/dist/lesson-05-t6XuANiZ.js.map +1 -0
- package/dist/{lesson-06-1ZsbrE1a.js → lesson-06-B2y08mKv.js} +17 -9
- package/dist/lesson-06-B2y08mKv.js.map +1 -0
- package/dist/{lesson-06-1CE05TRX.js → lesson-06-CHqaVQix.js} +16 -10
- package/dist/lesson-06-CHqaVQix.js.map +1 -0
- package/dist/{lesson-06-Bliedg7n.js → lesson-06-CaCZBX1V.js} +17 -9
- package/dist/lesson-06-CaCZBX1V.js.map +1 -0
- package/dist/{lesson-06-Du9J8sYl.js → lesson-06-ClplsJBT.js} +30 -18
- package/dist/lesson-06-ClplsJBT.js.map +1 -0
- package/dist/{lesson-06-BG26PBTF.js → lesson-06-CzGnNKo5.js} +14 -8
- package/dist/lesson-06-CzGnNKo5.js.map +1 -0
- package/dist/{lesson-06-CnKkcUb-.js → lesson-06-Dg_bQLNC.js} +17 -9
- package/dist/lesson-06-Dg_bQLNC.js.map +1 -0
- package/dist/{lesson-06-Aw-X-HMV.js → lesson-06-OWFMgO0a.js} +23 -14
- package/dist/lesson-06-OWFMgO0a.js.map +1 -0
- package/dist/{lesson-06-CvN9pDsE.js → lesson-06-Q2aRAzws.js} +17 -9
- package/dist/lesson-06-Q2aRAzws.js.map +1 -0
- package/dist/{lesson-07-DjCMCYkK.js → lesson-07-BLDUA_Ff.js} +17 -9
- package/dist/lesson-07-BLDUA_Ff.js.map +1 -0
- package/dist/{lesson-07-DezS1ojS.js → lesson-07-BpyF1Ssq.js} +27 -15
- package/dist/lesson-07-BpyF1Ssq.js.map +1 -0
- package/dist/{lesson-07-rvSSQiVh.js → lesson-07-C4GrfDTW.js} +25 -13
- package/dist/lesson-07-C4GrfDTW.js.map +1 -0
- package/dist/{lesson-07-CTFSd9gF.js → lesson-07-CVCUt1Jn.js} +14 -8
- package/dist/lesson-07-CVCUt1Jn.js.map +1 -0
- package/dist/{lesson-07-8zdPFyjE.js → lesson-07-DQFXCZsZ.js} +17 -9
- package/dist/lesson-07-DQFXCZsZ.js.map +1 -0
- package/dist/{lesson-07-X6anzbAn.js → lesson-07-Dcry2Yjo.js} +17 -9
- package/dist/lesson-07-Dcry2Yjo.js.map +1 -0
- package/dist/{lesson-07-B9bkJ3gP.js → lesson-07-JS_cqdNr.js} +14 -8
- package/dist/lesson-07-JS_cqdNr.js.map +1 -0
- package/dist/{lesson-08-CeDWopKc.js → lesson-08-18gscaS0.js} +25 -13
- package/dist/lesson-08-18gscaS0.js.map +1 -0
- package/dist/{lesson-08-Cyzy_VeP.js → lesson-08-2kBUq_B2.js} +14 -8
- package/dist/lesson-08-2kBUq_B2.js.map +1 -0
- package/dist/{lesson-08-BYfkPBkH.js → lesson-08-BP5lpiGe.js} +17 -9
- package/dist/lesson-08-BP5lpiGe.js.map +1 -0
- package/dist/{lesson-08-Bb_v_gD-.js → lesson-08-BXm9GgdN.js} +14 -8
- package/dist/lesson-08-BXm9GgdN.js.map +1 -0
- package/dist/{lesson-08-BqW5C_OE.js → lesson-08-Bru0PdEK.js} +21 -9
- package/dist/lesson-08-Bru0PdEK.js.map +1 -0
- package/dist/{lesson-08-hJlci9W5.js → lesson-08-Dd-8cbGW.js} +17 -9
- package/dist/lesson-08-Dd-8cbGW.js.map +1 -0
- package/dist/{lesson-09-DHRHZIc1.js → lesson-09-B1qWE3Yl.js} +27 -15
- package/dist/lesson-09-B1qWE3Yl.js.map +1 -0
- package/dist/{lesson-09-BQ1CZCjT.js → lesson-09-B5Vb70xj.js} +14 -8
- package/dist/lesson-09-B5Vb70xj.js.map +1 -0
- package/dist/{lesson-10-BdfkVT7s.js → lesson-10-00qNLc7A.js} +25 -13
- package/dist/lesson-10-00qNLc7A.js.map +1 -0
- package/dist/{lesson-10-C7YEQ8et.js → lesson-10-Dw-Jtm3D.js} +14 -8
- package/dist/lesson-10-Dw-Jtm3D.js.map +1 -0
- package/dist/{lesson-11-oJQ8ZxJk.js → lesson-11-BM3R_S7I.js} +25 -13
- package/dist/lesson-11-BM3R_S7I.js.map +1 -0
- package/dist/{lesson-12-D69m5ETy.js → lesson-12-D1Wx7CyK.js} +33 -21
- package/dist/lesson-12-D1Wx7CyK.js.map +1 -0
- package/dist/skills-hcn-pGD0.js +244 -0
- package/dist/skills-hcn-pGD0.js.map +1 -0
- package/dist/syllabi/alphabet/index.js +1 -1
- package/dist/syllabi/dialogue/index.d.ts +1 -1
- package/dist/syllabi/dialogue/index.js +2 -2
- package/dist/syllabi/essentials/index.d.ts +1 -1
- package/dist/syllabi/essentials/index.js +2 -2
- package/dist/syllabi/food/index.d.ts +1 -1
- package/dist/syllabi/food/index.js +2 -2
- package/dist/syllabi/grammar/index.d.ts +1 -1
- package/dist/syllabi/grammar/index.js +2 -2
- package/dist/syllabi/numbers/index.d.ts +1 -1
- package/dist/syllabi/numbers/index.js +2 -2
- package/dist/syllabi/reading/index.d.ts +1 -1
- package/dist/syllabi/reading/index.js +2 -2
- package/dist/syllabi/travel/index.d.ts +1 -1
- package/dist/syllabi/travel/index.js +2 -2
- package/dist/syllabi/vowels-tones/index.d.ts +1 -1
- package/dist/syllabi/vowels-tones/index.js +2 -2
- package/package.json +5 -5
- package/src/syllabi/alphabet/lessons/lesson-01.mdx +24 -13
- package/src/syllabi/alphabet/lessons/lesson-02.mdx +23 -13
- package/src/syllabi/alphabet/lessons/lesson-03.mdx +20 -13
- package/src/syllabi/alphabet/lessons/lesson-04.mdx +21 -12
- package/src/syllabi/alphabet/lessons/lesson-05.mdx +22 -12
- package/src/syllabi/alphabet/lessons/lesson-06.mdx +22 -13
- package/src/syllabi/alphabet/lessons/lesson-07.mdx +26 -14
- package/src/syllabi/alphabet/lessons/lesson-08.mdx +24 -12
- package/src/syllabi/alphabet/lessons/lesson-09.mdx +26 -14
- package/src/syllabi/alphabet/lessons/lesson-10.mdx +24 -12
- package/src/syllabi/alphabet/lessons/lesson-11.mdx +24 -12
- package/src/syllabi/alphabet/lessons/lesson-12.mdx +32 -20
- package/src/syllabi/dialogue/lessons/lesson-01.mdx +13 -5
- package/src/syllabi/dialogue/lessons/lesson-02.mdx +13 -5
- package/src/syllabi/dialogue/lessons/lesson-03.mdx +13 -5
- package/src/syllabi/dialogue/lessons/lesson-04.mdx +16 -8
- package/src/syllabi/dialogue/lessons/lesson-05.mdx +16 -8
- package/src/syllabi/dialogue/lessons/lesson-06.mdx +16 -8
- package/src/syllabi/dialogue/lessons/lesson-07.mdx +16 -8
- package/src/syllabi/dialogue/lessons/lesson-08.mdx +16 -8
- package/src/syllabi/essentials/lessons/lesson-01.mdx +13 -5
- package/src/syllabi/essentials/lessons/lesson-02.mdx +16 -8
- package/src/syllabi/essentials/lessons/lesson-03.mdx +16 -8
- package/src/syllabi/essentials/lessons/lesson-04.mdx +16 -8
- package/src/syllabi/essentials/lessons/lesson-05.mdx +16 -8
- package/src/syllabi/essentials/lessons/lesson-06.mdx +16 -8
- package/src/syllabi/food/lessons/lesson-01.mdx +13 -5
- package/src/syllabi/food/lessons/lesson-02.mdx +16 -8
- package/src/syllabi/food/lessons/lesson-03.mdx +16 -8
- package/src/syllabi/food/lessons/lesson-04.mdx +16 -8
- package/src/syllabi/food/lessons/lesson-05.mdx +16 -8
- package/src/syllabi/food/lessons/lesson-06.mdx +16 -8
- package/src/syllabi/food/lessons/lesson-07.mdx +16 -8
- package/src/syllabi/food/lessons/lesson-08.mdx +16 -8
- package/src/syllabi/grammar/lessons/lesson-01.mdx +10 -4
- package/src/syllabi/grammar/lessons/lesson-02.mdx +10 -4
- package/src/syllabi/grammar/lessons/lesson-03.mdx +13 -7
- package/src/syllabi/grammar/lessons/lesson-04.mdx +13 -7
- package/src/syllabi/grammar/lessons/lesson-05.mdx +13 -7
- package/src/syllabi/grammar/lessons/lesson-06.mdx +13 -7
- package/src/syllabi/grammar/lessons/lesson-07.mdx +13 -7
- package/src/syllabi/grammar/lessons/lesson-08.mdx +13 -7
- package/src/syllabi/numbers/lessons/lesson-01.mdx +27 -15
- package/src/syllabi/numbers/lessons/lesson-02.mdx +20 -8
- package/src/syllabi/numbers/lessons/lesson-03.mdx +20 -8
- package/src/syllabi/numbers/lessons/lesson-04.mdx +20 -8
- package/src/syllabi/numbers/lessons/lesson-05.mdx +20 -8
- package/src/syllabi/reading/lessons/lesson-01.mdx +13 -7
- package/src/syllabi/reading/lessons/lesson-02.mdx +13 -7
- package/src/syllabi/reading/lessons/lesson-03.mdx +13 -7
- package/src/syllabi/reading/lessons/lesson-04.mdx +13 -7
- package/src/syllabi/reading/lessons/lesson-05.mdx +13 -7
- package/src/syllabi/reading/lessons/lesson-06.mdx +13 -7
- package/src/syllabi/reading/lessons/lesson-07.mdx +13 -7
- package/src/syllabi/reading/lessons/lesson-08.mdx +13 -7
- package/src/syllabi/reading/lessons/lesson-09.mdx +13 -7
- package/src/syllabi/reading/lessons/lesson-10.mdx +13 -7
- package/src/syllabi/travel/lessons/lesson-01.mdx +16 -8
- package/src/syllabi/travel/lessons/lesson-02.mdx +16 -8
- package/src/syllabi/travel/lessons/lesson-03.mdx +16 -8
- package/src/syllabi/travel/lessons/lesson-04.mdx +16 -8
- package/src/syllabi/travel/lessons/lesson-05.mdx +16 -8
- package/src/syllabi/travel/lessons/lesson-06.mdx +16 -8
- package/src/syllabi/travel/lessons/lesson-07.mdx +16 -8
- package/src/syllabi/vowels-tones/lessons/lesson-01.mdx +20 -8
- package/src/syllabi/vowels-tones/lessons/lesson-02.mdx +26 -14
- package/src/syllabi/vowels-tones/lessons/lesson-03.mdx +25 -13
- package/src/syllabi/vowels-tones/lessons/lesson-04.mdx +24 -12
- package/src/syllabi/vowels-tones/lessons/lesson-05.mdx +27 -15
- package/src/syllabi/vowels-tones/lessons/lesson-06.mdx +29 -17
- package/src/syllabi/vowels-tones/lessons/lesson-07.mdx +24 -12
- package/src/syllabi/vowels-tones/lessons/lesson-08.mdx +20 -8
- package/dist/index-DADMaTE7.js +0 -27
- package/dist/index-DADMaTE7.js.map +0 -1
- package/dist/lesson-01--9NOyHZ6.js.map +0 -1
- package/dist/lesson-01-3hBted4A.js.map +0 -1
- package/dist/lesson-01-97FtYE6g.js.map +0 -1
- package/dist/lesson-01-BNdHXAGR.js.map +0 -1
- package/dist/lesson-01-BYKAZiua.js.map +0 -1
- package/dist/lesson-01-BhjY6ArF.js.map +0 -1
- package/dist/lesson-01-CF4tJfZ3.js.map +0 -1
- package/dist/lesson-01-CRx-yw4C.js.map +0 -1
- package/dist/lesson-01-WV3ic8Ok.js.map +0 -1
- package/dist/lesson-02-B2Xg7RVU.js.map +0 -1
- package/dist/lesson-02-BAbq-QGP.js.map +0 -1
- package/dist/lesson-02-BGnp0Ik_.js.map +0 -1
- package/dist/lesson-02-BO3BXPMJ.js.map +0 -1
- package/dist/lesson-02-Bm9EJuN8.js.map +0 -1
- package/dist/lesson-02-C0ZL4z3c.js.map +0 -1
- package/dist/lesson-02-C2ALLvoT.js.map +0 -1
- package/dist/lesson-02-C8dfzXvq.js.map +0 -1
- package/dist/lesson-02-CsejVbCo.js.map +0 -1
- package/dist/lesson-03-8NtAeqFh.js.map +0 -1
- package/dist/lesson-03-BdZfKRhq.js.map +0 -1
- package/dist/lesson-03-CKTNtgY1.js.map +0 -1
- package/dist/lesson-03-D8va_Q9B.js.map +0 -1
- package/dist/lesson-03-DV2SUWVH.js.map +0 -1
- package/dist/lesson-03-DiV17_Os.js.map +0 -1
- package/dist/lesson-03-DrJgbfDQ.js.map +0 -1
- package/dist/lesson-03-XVahXvgf.js.map +0 -1
- package/dist/lesson-03-Xc8-2Yt3.js.map +0 -1
- package/dist/lesson-04-BpRrNmzO.js.map +0 -1
- package/dist/lesson-04-CtNr2B3E.js.map +0 -1
- package/dist/lesson-04-DEEPJ_rd.js.map +0 -1
- package/dist/lesson-04-D__vMCyA.js.map +0 -1
- package/dist/lesson-04-Dfc7S4nT.js.map +0 -1
- package/dist/lesson-04-DtXVhdGB.js.map +0 -1
- package/dist/lesson-04-ZrSBM0BX.js.map +0 -1
- package/dist/lesson-04-ioLXnB0j.js.map +0 -1
- package/dist/lesson-04-rapx_3vA.js.map +0 -1
- package/dist/lesson-05-Bm6fg-DJ.js.map +0 -1
- package/dist/lesson-05-CKxXcooO.js.map +0 -1
- package/dist/lesson-05-D1d3kc3M.js.map +0 -1
- package/dist/lesson-05-D2SVU-I0.js.map +0 -1
- package/dist/lesson-05-DBsHyFlt.js.map +0 -1
- package/dist/lesson-05-DXOLS7G0.js.map +0 -1
- package/dist/lesson-05-D_GdROUn.js.map +0 -1
- package/dist/lesson-05-DusKUtbm.js.map +0 -1
- package/dist/lesson-05-ip400cxe.js.map +0 -1
- package/dist/lesson-06-1CE05TRX.js.map +0 -1
- package/dist/lesson-06-1ZsbrE1a.js.map +0 -1
- package/dist/lesson-06-Aw-X-HMV.js.map +0 -1
- package/dist/lesson-06-BG26PBTF.js.map +0 -1
- package/dist/lesson-06-Bliedg7n.js.map +0 -1
- package/dist/lesson-06-CnKkcUb-.js.map +0 -1
- package/dist/lesson-06-CvN9pDsE.js.map +0 -1
- package/dist/lesson-06-Du9J8sYl.js.map +0 -1
- package/dist/lesson-07-8zdPFyjE.js.map +0 -1
- package/dist/lesson-07-B9bkJ3gP.js.map +0 -1
- package/dist/lesson-07-CTFSd9gF.js.map +0 -1
- package/dist/lesson-07-DezS1ojS.js.map +0 -1
- package/dist/lesson-07-DjCMCYkK.js.map +0 -1
- package/dist/lesson-07-X6anzbAn.js.map +0 -1
- package/dist/lesson-07-rvSSQiVh.js.map +0 -1
- package/dist/lesson-08-BYfkPBkH.js.map +0 -1
- package/dist/lesson-08-Bb_v_gD-.js.map +0 -1
- package/dist/lesson-08-BqW5C_OE.js.map +0 -1
- package/dist/lesson-08-CeDWopKc.js.map +0 -1
- package/dist/lesson-08-Cyzy_VeP.js.map +0 -1
- package/dist/lesson-08-hJlci9W5.js.map +0 -1
- package/dist/lesson-09-BQ1CZCjT.js.map +0 -1
- package/dist/lesson-09-DHRHZIc1.js.map +0 -1
- package/dist/lesson-10-BdfkVT7s.js.map +0 -1
- package/dist/lesson-10-C7YEQ8et.js.map +0 -1
- package/dist/lesson-11-oJQ8ZxJk.js.map +0 -1
- package/dist/lesson-12-D69m5ETy.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lesson-07-Dcry2Yjo.js","sources":["../src/syllabi/food/lessons/lesson-07.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-food-lesson-07\\ntitle: \\\"บทที่ 7 — เครื่องดื่มและของหวาน\\\"\\ndescription: \\\"Drinks & Desserts: Thai beverages and sweet treats\\\"\\norder: 7\\nparentId: thai-food\\ndifficulty: beginner\\ncefrLevel: A2\\ncategories:\\n - food\\n - drinks\\n - desserts\\nmetadata:\\n estimatedTime: 30\\n prerequisites:\\n - thai-food-lesson-06\\n learningObjectives:\\n - id: obj-order-drinks\\n description: \\\"Order drinks at restaurants and cafes\\\"\\n skill: pattern-application\\n - id: obj-name-desserts\\n description: \\\"Name Thai desserts\\\"\\n skill: word-recognition\\n - id: obj-customize-drinks\\n description: \\\"Customize drink orders\\\"\\n skill: word-production\\n - id: obj-understand-coffee-culture\\n description: \\\"Understand Thai coffee culture\\\"\\n skill: dialogue-comprehension\\n---\\n\\n# บทที่ 7 (Lesson 7) — Drinks & Desserts\\n\\n## Introduction\\n\\nThai drinks and desserts are just as complex and delicious as the savory dishes. From the famous Thai iced tea to coconut-based sweets, this lesson covers everything you need to complete your Thai food education.\\n\\n## Basic Drink Vocabulary\\n\\n:::vocabulary-set{id=\\\"thai-drinks\\\" title=\\\"Drink Basics\\\"}\\n\\n::vocab-item{id=\\\"nam\\\" word=\\\"น้ำ\\\" pronunciation=\\\"náam\\\" meaning=\\\"water/liquid\\\"}\\n\\n::vocab-item{id=\\\"nam-plao\\\" word=\\\"น้ำเปล่า\\\" pronunciation=\\\"náam bplào\\\" meaning=\\\"plain water\\\"}\\n\\n::vocab-item{id=\\\"nam-khaeng\\\" word=\\\"น้ำแข็ง\\\" pronunciation=\\\"náam khǎeng\\\" meaning=\\\"ice\\\"}\\n\\n::vocab-item{id=\\\"yen\\\" word=\\\"เย็น\\\" pronunciation=\\\"yen\\\" meaning=\\\"cold/iced\\\"}\\n\\n::vocab-item{id=\\\"ron\\\" word=\\\"ร้อน\\\" pronunciation=\\\"rɔ́ɔn\\\" meaning=\\\"hot\\\"}\\n\\n::vocab-item{id=\\\"waan\\\" word=\\\"หวาน\\\" pronunciation=\\\"wǎan\\\" meaning=\\\"sweet\\\"}\\n\\n:::\\n\\n## Thai Specialty Drinks\\n\\n:::vocabulary-set{id=\\\"thai-special-drinks\\\" title=\\\"Thai Drinks\\\"}\\n\\n::vocab-item{id=\\\"cha-yen\\\" word=\\\"ชาเย็น\\\" pronunciation=\\\"chaa yen\\\" meaning=\\\"Thai iced tea\\\"}\\n\\n::vocab-item{id=\\\"cha-dam-yen\\\" word=\\\"ชาดำเย็น\\\" pronunciation=\\\"chaa dam yen\\\" meaning=\\\"iced black tea\\\"}\\n\\n::vocab-item{id=\\\"cha-khiao\\\" word=\\\"ชาเขียว\\\" pronunciation=\\\"chaa khǐao\\\" meaning=\\\"green tea\\\"}\\n\\n::vocab-item{id=\\\"kafae\\\" word=\\\"กาแฟ\\\" pronunciation=\\\"gaa-fae\\\" meaning=\\\"coffee\\\"}\\n\\n::vocab-item{id=\\\"oliang\\\" word=\\\"โอเลี้ยง\\\" pronunciation=\\\"oo-lîang\\\" meaning=\\\"Thai iced coffee\\\"}\\n\\n::vocab-item{id=\\\"nom-yen\\\" word=\\\"นมเย็น\\\" pronunciation=\\\"nom yen\\\" meaning=\\\"iced milk (pink)\\\"}\\n\\n:::\\n\\n## Coffee Orders\\n\\n| Thai | Meaning |\\n|------|---------|\\n| กาแฟร้อน | Hot coffee |\\n| กาแฟเย็น | Iced coffee |\\n| เอสเพรสโซ่ | Espresso |\\n| ลาเต้ | Latte |\\n| คาปูชิโน่ | Cappuccino |\\n| อเมริกาโน่ | Americano |\\n\\n### Coffee Customization\\n\\n| Phrase | Meaning |\\n|--------|---------|\\n| หวานน้อย | Less sweet |\\n| ไม่หวาน | Not sweet |\\n| หวานปกติ | Normal sweetness |\\n| ใส่นมเพิ่ม | Extra milk |\\n| ไม่ใส่น้ำแข็ง | No ice |\\n\\n## Fresh Juices & Smoothies\\n\\n:::vocabulary-set{id=\\\"thai-juice\\\" title=\\\"Juices\\\"}\\n\\n::vocab-item{id=\\\"nam-som\\\" word=\\\"น้ำส้ม\\\" pronunciation=\\\"náam sôm\\\" meaning=\\\"orange juice\\\"}\\n\\n::vocab-item{id=\\\"nam-ma-prao\\\" word=\\\"น้ำมะพร้าว\\\" pronunciation=\\\"náam má-práao\\\" meaning=\\\"coconut water\\\"}\\n\\n::vocab-item{id=\\\"nam-pan\\\" word=\\\"น้ำปั่น\\\" pronunciation=\\\"náam bpàn\\\" meaning=\\\"smoothie/blended\\\"}\\n\\n::vocab-item{id=\\\"nam-taengmo\\\" word=\\\"น้ำแตงโม\\\" pronunciation=\\\"náam dtaeng-moo\\\" meaning=\\\"watermelon juice\\\"}\\n\\n::vocab-item{id=\\\"nam-mamuang\\\" word=\\\"น้ำมะม่วง\\\" pronunciation=\\\"náam má-mûang\\\" meaning=\\\"mango juice\\\"}\\n\\n:::\\n\\n## Alcoholic Beverages\\n\\n| Thai | Meaning |\\n|------|---------|\\n| เบียร์ | Beer |\\n| เบียร์สิงห์ | Singha beer |\\n| เบียร์ช้าง | Chang beer |\\n| เบียร์ลีโอ | Leo beer |\\n| ไวน์ | Wine |\\n| เหล้า | Spirits/alcohol |\\n| ค็อกเทล | Cocktail |\\n\\n## Thai Desserts (ขนมหวาน)\\n\\n:::vocabulary-set{id=\\\"thai-desserts\\\" title=\\\"Desserts\\\"}\\n\\n::vocab-item{id=\\\"khanom-wan\\\" word=\\\"ขนมหวาน\\\" pronunciation=\\\"khà-nǒm wǎan\\\" meaning=\\\"dessert/sweets\\\"}\\n\\n::vocab-item{id=\\\"khao-niao-mamuang\\\" word=\\\"ข้าวเหนียวมะม่วง\\\" pronunciation=\\\"khâao nǐao má-mûang\\\" meaning=\\\"mango sticky rice\\\"}\\n\\n::vocab-item{id=\\\"tub-tim-krob\\\" word=\\\"ทับทิมกรอบ\\\" pronunciation=\\\"tháp-thim gròp\\\" meaning=\\\"water chestnut in coconut\\\"}\\n\\n::vocab-item{id=\\\"ice-cream\\\" word=\\\"ไอศกรีม\\\" pronunciation=\\\"ai-sà-griim\\\" meaning=\\\"ice cream\\\"}\\n\\n::vocab-item{id=\\\"i-tim\\\" word=\\\"ไอติม\\\" pronunciation=\\\"ai-dtim\\\" meaning=\\\"ice cream (casual)\\\"}\\n\\n::vocab-item{id=\\\"lod-chong\\\" word=\\\"ลอดช่อง\\\" pronunciation=\\\"lɔ̂ɔt chɔ̂ng\\\" meaning=\\\"pandan noodles in coconut\\\"}\\n\\n:::\\n\\n## Classic Thai Desserts\\n\\n| Thai | Description |\\n|------|-------------|\\n| ข้าวเหนียวมะม่วง | Mango + sticky rice + coconut cream |\\n| บัวลอย | Sweet rice balls in coconut milk |\\n| กล้วยบวชชี | Banana in coconut milk |\\n| ฝอยทอง | Golden egg threads |\\n| ขนมชั้น | Layered coconut jelly |\\n\\n## Fruit (ผลไม้)\\n\\n:::vocabulary-set{id=\\\"thai-fruit\\\" title=\\\"Fruits\\\"}\\n\\n::vocab-item{id=\\\"mamuang\\\" word=\\\"มะม่วง\\\" pronunciation=\\\"má-mûang\\\" meaning=\\\"mango\\\"}\\n\\n::vocab-item{id=\\\"turian\\\" word=\\\"ทุเรียน\\\" pronunciation=\\\"thú-rian\\\" meaning=\\\"durian\\\"}\\n\\n::vocab-item{id=\\\"mangkut\\\" word=\\\"มังคุด\\\" pronunciation=\\\"mang-khút\\\" meaning=\\\"mangosteen\\\"}\\n\\n::vocab-item{id=\\\"linchi\\\" word=\\\"ลิ้นจี่\\\" pronunciation=\\\"lín-jìi\\\" meaning=\\\"lychee\\\"}\\n\\n::vocab-item{id=\\\"lamyai\\\" word=\\\"ลำไย\\\" pronunciation=\\\"lam-yai\\\" meaning=\\\"longan\\\"}\\n\\n::vocab-item{id=\\\"som-o\\\" word=\\\"ส้มโอ\\\" pronunciation=\\\"sôm-oo\\\" meaning=\\\"pomelo\\\"}\\n\\n:::\\n\\n## Ordering Drinks\\n\\n**At a cafe:**\\n- คุณ: ขอชาเย็นหนึ่งแก้วครับ (One Thai iced tea please)\\n- พนักงาน: หวานปกติไหมคะ (Normal sweetness?)\\n- คุณ: หวานน้อยครับ (Less sweet please)\\n\\n**At a restaurant:**\\n- พนักงาน: ดื่มอะไรดีคะ (What would you like to drink?)\\n- คุณ: ขอน้ำมะพร้าวครับ (Coconut water please)\\n\\n## Key Points\\n\\n1. **ชาเย็น = Thai iced tea**: The iconic orange drink\\n2. **หวานน้อย = less sweet**: Essential for drinks\\n3. **น้ำแข็ง = ice**: Add ไม่ใส่ if you don't want ice\\n4. **ข้าวเหนียวมะม่วง**: Must-try Thai dessert\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"food-7-drink-customization\\\" type=\\\"matching\\\" title=\\\"Drink Customization\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-customize-drinks\\\"}\\n\\n**Question:** Match each customization to its Thai phrase\\n\\n- Less sweet\\n- No ice\\n- Extra milk\\n- Hot (not iced)\\n\\n**Answer:**\\n\\n- Less sweet → หวานน้อย\\n- No ice → ไม่ใส่น้ำแข็ง\\n- Extra milk → ใส่นมเพิ่ม\\n- Hot (not iced) → ร้อน (or specify กาแฟร้อน)\\n\\n**Explanation:** Thai drinks are often very sweet by default. Always specify หวานน้อย if you want less sugar. ไม่ใส่น้ำแข็ง is important if you don't want ice (Thai drinks are usually very iced).\\n\\n:::\\n\\n:::exercise{id=\\\"food-7-dessert-recognition\\\" type=\\\"fill-in-blank\\\" title=\\\"Thai Dessert Recognition\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-name-desserts\\\"}\\n\\n**Question:** What is ข้าวเหนียวมะม่วง?\\n\\n**Answer:**\\n\\nข้าวเหนียวมะม่วง is mango sticky rice - a classic Thai dessert made of:\\n- ข้าวเหนียว (sticky rice)\\n- มะม่วง (mango)\\n- น้ำกะทิ (coconut cream)\\n\\n**Explanation:** This is Thailand's most famous dessert. It's a must-try! The combination of sweet sticky rice, ripe mango, and rich coconut cream is iconic.\\n\\n:::\\n\\n:::exercise{id=\\\"food-7-coffee-culture\\\" type=\\\"multiple-choice\\\" title=\\\"Thai Coffee Culture\\\" skill=\\\"dialogue-comprehension\\\" objectiveId=\\\"obj-understand-coffee-culture\\\"}\\n\\n**Question:** What is โอเลี้ยง (ooliang)?\\n\\n**Options:**\\n- Hot black coffee\\n- Thai iced coffee (sweet, strong)\\n- Green tea\\n- Milk tea\\n\\n**Answer:** 2\\n\\n**Explanation:** โอเลี้ยง is Thai iced coffee - strong, sweet, and served over ice. It's different from Western iced coffee. Thai coffee culture includes both traditional strong coffee and modern cafe drinks.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 8, you'll learn how to handle dietary restrictions and make special requests.\\n\""],"names":["lesson07"],"mappings":"AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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-06
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
learningObjectives:
|
|
19
|
+
- id: obj-r7-headline-structure
|
|
20
|
+
description: "Understand news headline structure"
|
|
21
|
+
skill: pattern-recognition
|
|
22
|
+
- id: obj-r7-news-vocab
|
|
23
|
+
description: "Recognize common news vocabulary"
|
|
24
|
+
skill: word-recognition
|
|
25
|
+
- id: obj-r7-condensed-text
|
|
26
|
+
description: "Read condensed Thai text"
|
|
27
|
+
skill: reading-comprehension
|
|
22
28
|
---
|
|
23
29
|
|
|
24
30
|
# News Headlines
|
|
@@ -73,7 +79,7 @@ Storm enters south, citizens warned to be careful
|
|
|
73
79
|
|
|
74
80
|
## Practice Exercises
|
|
75
81
|
|
|
76
|
-
:::exercise{id="reading-7-news-categories" type="matching" title="News Category Recognition"}
|
|
82
|
+
:::exercise{id="reading-7-news-categories" type="matching" title="News Category Recognition" skill="word-recognition" objectiveId="obj-r7-news-vocab"}
|
|
77
83
|
|
|
78
84
|
**Question:** Match each news category to its Thai name
|
|
79
85
|
|
|
@@ -93,7 +99,7 @@ Storm enters south, citizens warned to be careful
|
|
|
93
99
|
|
|
94
100
|
:::
|
|
95
101
|
|
|
96
|
-
:::exercise{id="reading-7-headline-structure" type="fill-in-blank" title="Headline Structure"}
|
|
102
|
+
:::exercise{id="reading-7-headline-structure" type="fill-in-blank" title="Headline Structure" skill="pattern-recognition" objectiveId="obj-r7-headline-structure"}
|
|
97
103
|
|
|
98
104
|
**Question:** How are Thai news headlines structured?
|
|
99
105
|
|
|
@@ -110,7 +116,7 @@ Example: "รัฐบาลประกาศมาตรการใหม่"
|
|
|
110
116
|
|
|
111
117
|
:::
|
|
112
118
|
|
|
113
|
-
:::exercise{id="reading-7-news-vocab" type="multiple-choice" title="Common News Vocabulary"}
|
|
119
|
+
:::exercise{id="reading-7-news-vocab" type="multiple-choice" title="Common News Vocabulary" skill="reading-comprehension" objectiveId="obj-r7-condensed-text"}
|
|
114
120
|
|
|
115
121
|
**Question:** What does "รัฐบาล" mean in news headlines?
|
|
116
122
|
|
|
@@ -133,4 +139,4 @@ In Lesson 8, you'll learn to read official notices and announcements — underst
|
|
|
133
139
|
export {
|
|
134
140
|
n as default
|
|
135
141
|
};
|
|
136
|
-
//# sourceMappingURL=lesson-07-
|
|
142
|
+
//# sourceMappingURL=lesson-07-JS_cqdNr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lesson-07-JS_cqdNr.js","sources":["../src/syllabi/reading/lessons/lesson-07.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-reading-lesson-07\\ntitle: \\\"บทที่ 7 — พาดหัวข่าว\\\"\\ndescription: \\\"News Headlines: Read Thai news headlines and stay informed\\\"\\norder: 7\\nparentId: thai-reading\\ndifficulty: intermediate\\ncefrLevel: B1\\ncategories:\\n - reading\\n - news\\n - headlines\\nmetadata:\\n estimatedTime: 35\\n prerequisites:\\n - thai-reading-lesson-06\\n learningObjectives:\\n - id: obj-r7-headline-structure\\n description: \\\"Understand news headline structure\\\"\\n skill: pattern-recognition\\n - id: obj-r7-news-vocab\\n description: \\\"Recognize common news vocabulary\\\"\\n skill: word-recognition\\n - id: obj-r7-condensed-text\\n description: \\\"Read condensed Thai text\\\"\\n skill: reading-comprehension\\n---\\n\\n# News Headlines\\n\\nThai news headlines use condensed language. Learn to decode them for current events.\\n\\n## News Categories\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| ข่าวในประเทศ | khao nai prathet | domestic news |\\n| ข่าวต่างประเทศ | khao tang prathet | international news |\\n| ข่าวเศรษฐกิจ | khao setthakit | economic news |\\n| ข่าวกีฬา | khao kila | sports news |\\n\\n## Common News Words\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| รัฐบาล | ratthaban | government |\\n| นายกรัฐมนตรี | nayok ratthamontri | prime minister |\\n| ประชุม | prachum | meeting |\\n| ประกาศ | prakat | announce |\\n\\n## Action Words\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| เปิดเผย | poet phoeni | reveal |\\n| ยืนยัน | yuen yan | confirm |\\n| ปฏิเสธ | patiseth | deny |\\n| เรียกร้อง | riak rong | demand |\\n\\n## Weather & Events\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| พายุ | phayu | storm |\\n| น้ำท่วม | nam thuam | flood |\\n| แผ่นดินไหว | phaen din wai | earthquake |\\n| อากาศร้อน | akat ron | hot weather |\\n\\n## Sample Headlines\\n\\n**รัฐบาลประกาศมาตรการใหม่**\\n*ratthaban prakat mattrakan mai*\\nGovernment announces new measures\\n\\n**พายุเข้าภาคใต้ เตือนประชาชนระวัง**\\n*phayu khao phak tai tuean prachachon rawang*\\nStorm enters south, citizens warned to be careful\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"reading-7-news-categories\\\" type=\\\"matching\\\" title=\\\"News Category Recognition\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-r7-news-vocab\\\"}\\n\\n**Question:** Match each news category to its Thai name\\n\\n- Domestic news\\n- International news\\n- Economic news\\n- Sports news\\n\\n**Answer:**\\n\\n- Domestic news → ข่าวในประเทศ\\n- International news → ข่าวต่างประเทศ\\n- Economic news → ข่าวเศรษฐกิจ\\n- Sports news → ข่าวกีฬา\\n\\n**Explanation:** ข่าว means \\\"news\\\". The word after ข่าว indicates the category. ในประเทศ means \\\"in country\\\" (domestic), ต่างประเทศ means \\\"foreign country\\\" (international).\\n\\n:::\\n\\n:::exercise{id=\\\"reading-7-headline-structure\\\" type=\\\"fill-in-blank\\\" title=\\\"Headline Structure\\\" skill=\\\"pattern-recognition\\\" objectiveId=\\\"obj-r7-headline-structure\\\"}\\n\\n**Question:** How are Thai news headlines structured?\\n\\n**Answer:**\\n\\nThai headlines are condensed and often omit:\\n- Articles (no \\\"the\\\", \\\"a\\\")\\n- Auxiliary verbs (often implied)\\n- Subject pronouns (often dropped)\\n\\nExample: \\\"รัฐบาลประกาศมาตรการใหม่\\\" = \\\"Government announces new measures\\\" (no \\\"the\\\" before government, no \\\"has\\\" before announces).\\n\\n**Explanation:** Headlines use the most essential words. They're written in a condensed style to save space and grab attention. Understanding this helps decode them.\\n\\n:::\\n\\n:::exercise{id=\\\"reading-7-news-vocab\\\" type=\\\"multiple-choice\\\" title=\\\"Common News Vocabulary\\\" skill=\\\"reading-comprehension\\\" objectiveId=\\\"obj-r7-condensed-text\\\"}\\n\\n**Question:** What does \\\"รัฐบาล\\\" mean in news headlines?\\n\\n**Options:**\\n- Prime Minister\\n- Government\\n- Parliament\\n- Ministry\\n\\n**Answer:** 2\\n\\n**Explanation:** รัฐบาล means \\\"government\\\". It appears frequently in news. นายกรัฐมนตรี means \\\"prime minister\\\". Learning these common news words helps you understand headlines quickly.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 8, you'll learn to read official notices and announcements — understand formal Thai writing and notice patterns.\\n\""],"names":["lesson07"],"mappings":"AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
|
@@ -16,11 +16,23 @@ metadata:
|
|
|
16
16
|
estimatedTime: 25
|
|
17
17
|
prerequisites:
|
|
18
18
|
- thai-script-lesson-07
|
|
19
|
-
|
|
20
|
-
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
learningObjectives:
|
|
20
|
+
- id: obj-rare1-recognition
|
|
21
|
+
description: "Learn 4 Sanskrit-derived consonants"
|
|
22
|
+
skill: character-recognition
|
|
23
|
+
references: [woman, monk, pavilion, hermit]
|
|
24
|
+
- id: obj-rare-usage
|
|
25
|
+
description: "Understand when these rare consonants appear"
|
|
26
|
+
skill: character-class-identification
|
|
27
|
+
references: [woman, monk, pavilion, hermit]
|
|
28
|
+
- id: obj-formal-reading
|
|
29
|
+
description: "Practice reading formal and loanwords"
|
|
30
|
+
skill: character-sound-mapping
|
|
31
|
+
references: [woman, monk, pavilion, hermit]
|
|
32
|
+
- id: obj-s-consonants
|
|
33
|
+
description: "Distinguish multiple S consonants"
|
|
34
|
+
skill: character-recognition
|
|
35
|
+
references: [pavilion, hermit]
|
|
24
36
|
---
|
|
25
37
|
|
|
26
38
|
# บทที่ 8 (Lesson 8) — Rare Consonants I
|
|
@@ -38,13 +50,13 @@ While less frequent, you'll encounter them in everyday Thai through common borro
|
|
|
38
50
|
|
|
39
51
|
:::character-set{id="thai-rare-consonants-1" title="Rare Consonants I"}
|
|
40
52
|
|
|
41
|
-
::character{id="
|
|
53
|
+
::character{id="woman" canonicalRef="woman" data:class="low" char="ญ" name="ญ หญิง (yɔɔ yǐng)" nativeName="ญ หญิง" transliteration="y/n" charType="consonant"}
|
|
42
54
|
|
|
43
|
-
::character{id="
|
|
55
|
+
::character{id="monk" canonicalRef="monk" data:class="low" char="ณ" name="ณ เณร (nɔɔ neen)" nativeName="ณ เณร" transliteration="n" charType="consonant"}
|
|
44
56
|
|
|
45
|
-
::character{id="
|
|
57
|
+
::character{id="pavilion" canonicalRef="pavilion" data:class="high" char="ศ" name="ศ ศาลา (sɔ̌ɔ sǎa-laa)" nativeName="ศ ศาลา" transliteration="s/t" charType="consonant"}
|
|
46
58
|
|
|
47
|
-
::character{id="
|
|
59
|
+
::character{id="hermit" canonicalRef="hermit" data:class="high" char="ษ" name="ษ ฤๅษี (sɔ̌ɔ rʉʉ-sǐi)" nativeName="ษ ฤๅษี" transliteration="s/t" charType="consonant"}
|
|
48
60
|
|
|
49
61
|
:::
|
|
50
62
|
|
|
@@ -155,7 +167,7 @@ While you may not use royal language actively, you'll encounter it in formal con
|
|
|
155
167
|
|
|
156
168
|
## Practice Exercises
|
|
157
169
|
|
|
158
|
-
:::exercise{id="rare-1-s-consonants" type="fill-in-blank" title="The Three S Consonants"}
|
|
170
|
+
:::exercise{id="rare-1-s-consonants" type="fill-in-blank" title="The Three S Consonants" skill="character-recognition" tests="pavilion,hermit" objectiveId="obj-s-consonants"}
|
|
159
171
|
|
|
160
172
|
**Question:** Thai has three consonants all pronounced /s/ and all high-class. Which are they?
|
|
161
173
|
|
|
@@ -169,7 +181,7 @@ While you may not use royal language actively, you'll encounter it in formal con
|
|
|
169
181
|
|
|
170
182
|
:::
|
|
171
183
|
|
|
172
|
-
:::exercise{id="rare-1-yn-shift" type="multiple-choice" title="The ญ Sound Change"}
|
|
184
|
+
:::exercise{id="rare-1-yn-shift" type="multiple-choice" title="The ญ Sound Change" skill="character-sound-mapping" tests="woman" objectiveId="obj-formal-reading"}
|
|
173
185
|
|
|
174
186
|
**Question:** The consonant ญ makes which sound(s)?
|
|
175
187
|
|
|
@@ -185,7 +197,7 @@ While you may not use royal language actively, you'll encounter it in formal con
|
|
|
185
197
|
|
|
186
198
|
:::
|
|
187
199
|
|
|
188
|
-
:::exercise{id="rare-1-formal-recognition" type="matching" title="Formal vs Everyday"}
|
|
200
|
+
:::exercise{id="rare-1-formal-recognition" type="matching" title="Formal vs Everyday" skill="character-recognition" tests="pavilion,woman" objectiveId="obj-rare-usage"}
|
|
189
201
|
|
|
190
202
|
**Question:** Match each word to whether it uses rare consonants (formal) or common consonants (everyday)
|
|
191
203
|
|
|
@@ -212,4 +224,4 @@ In Lesson 9, you'll learn the **obsolete and archaic consonants** — characters
|
|
|
212
224
|
export {
|
|
213
225
|
n as default
|
|
214
226
|
};
|
|
215
|
-
//# sourceMappingURL=lesson-08-
|
|
227
|
+
//# sourceMappingURL=lesson-08-18gscaS0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lesson-08-18gscaS0.js","sources":["../src/syllabi/alphabet/lessons/lesson-08.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-script-lesson-08\\ntitle: \\\"บทที่ 8 — พยัญชนะหายาก I\\\"\\ndescription: \\\"Rare Consonants Part 1: ญ ณ ศ ษ — Sanskrit-derived formal consonants\\\"\\norder: 8\\nparentId: thai-script-alphabet\\ndifficulty: intermediate\\ncefrLevel: A2\\ncategories:\\n - consonants\\n - rare-consonants\\n - sanskrit-origin\\n - advanced-characters\\nmetadata:\\n estimatedTime: 25\\n prerequisites:\\n - thai-script-lesson-07\\n learningObjectives:\\n - id: obj-rare1-recognition\\n description: \\\"Learn 4 Sanskrit-derived consonants\\\"\\n skill: character-recognition\\n references: [woman, monk, pavilion, hermit]\\n - id: obj-rare-usage\\n description: \\\"Understand when these rare consonants appear\\\"\\n skill: character-class-identification\\n references: [woman, monk, pavilion, hermit]\\n - id: obj-formal-reading\\n description: \\\"Practice reading formal and loanwords\\\"\\n skill: character-sound-mapping\\n references: [woman, monk, pavilion, hermit]\\n - id: obj-s-consonants\\n description: \\\"Distinguish multiple S consonants\\\"\\n skill: character-recognition\\n references: [pavilion, hermit]\\n---\\n\\n# บทที่ 8 (Lesson 8) — Rare Consonants I\\n\\n## Introduction\\n\\nThese consonants are considered **rare** (หายาก) because they appear mainly in:\\n- Sanskrit and Pali loanwords\\n- Formal or royal vocabulary\\n- Literary and religious texts\\n\\nWhile less frequent, you'll encounter them in everyday Thai through common borrowed words.\\n\\n## Characters\\n\\n:::character-set{id=\\\"thai-rare-consonants-1\\\" title=\\\"Rare Consonants I\\\"}\\n\\n::character{id=\\\"woman\\\" canonicalRef=\\\"woman\\\" data:class=\\\"low\\\" char=\\\"ญ\\\" name=\\\"ญ หญิง (yɔɔ yǐng)\\\" nativeName=\\\"ญ หญิง\\\" transliteration=\\\"y/n\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"monk\\\" canonicalRef=\\\"monk\\\" data:class=\\\"low\\\" char=\\\"ณ\\\" name=\\\"ณ เณร (nɔɔ neen)\\\" nativeName=\\\"ณ เณร\\\" transliteration=\\\"n\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"pavilion\\\" canonicalRef=\\\"pavilion\\\" data:class=\\\"high\\\" char=\\\"ศ\\\" name=\\\"ศ ศาลา (sɔ̌ɔ sǎa-laa)\\\" nativeName=\\\"ศ ศาลา\\\" transliteration=\\\"s/t\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"hermit\\\" canonicalRef=\\\"hermit\\\" data:class=\\\"high\\\" char=\\\"ษ\\\" name=\\\"ษ ฤๅษี (sɔ̌ɔ rʉʉ-sǐi)\\\" nativeName=\\\"ษ ฤๅษี\\\" transliteration=\\\"s/t\\\" charType=\\\"consonant\\\"}\\n\\n:::\\n\\n## The Three S Sounds (Yes, Three!)\\n\\nThai has three consonants all pronounced /s/:\\n\\n| Consonant | Class | Mnemonic | Common Usage |\\n|-----------|-------|----------|--------------|\\n| ส | High | Tiger | Everyday words |\\n| ศ | High | Pavilion | Sanskrit formal |\\n| ษ | High | Hermit | Sanskrit formal |\\n\\nAll three are **high-class** and **sound identical**. The difference is purely spelling based on etymology:\\n\\n- **สี** (color) — everyday word, uses ส\\n- **ศิลปะ** (art) — Sanskrit origin, uses ศ\\n- **กษัตริย์** (king) — Sanskrit origin, uses ษ\\n\\n### Which S to Use?\\n\\nNo pronunciation rule helps — you must memorize. Some patterns:\\n\\n1. **ศ** often appears in words about religion, royalty, culture:\\n - ศาสนา (religion)\\n - ศิลปะ (art)\\n - ศึกษา (study, education)\\n\\n2. **ษ** is the rarest, often in:\\n - Words with ฤ vowel\\n - Royal/formal titles\\n - กษัตริย์ (king)\\n\\n3. **ส** is the default for native Thai words and new loanwords\\n\\n## The Two N Sounds\\n\\nThai also has two consonants pronounced /n/:\\n\\n| Consonant | Class | Position |\\n|-----------|-------|----------|\\n| น | Low | Common, any position |\\n| ณ | Low | Rare, mainly Sanskrit words |\\n\\nBoth low-class, both sound /n/. Usage examples:\\n- **นา** (rice field) — common น\\n- **เณร** (novice monk) — Sanskrit ณ\\n\\n**ณ** appears in:\\n- Buddhist vocabulary\\n- Royal language\\n- Sanskrit-derived words like คุณ (you, polite)\\n\\n## The ญ Consonant: Y That Becomes N\\n\\n**ญ** is unusual — it changes sound by position:\\n\\n| Position | Sound | Example |\\n|----------|-------|---------|\\n| Initial | Y (/y/) | ญี่ปุ่น (yîi-bpùn) \\\"Japan\\\" |\\n| Final | N (/n/) | สัญญา (sǎn-yaa) → final ญ in สัญ is /n/ |\\n\\nThis Y→N shift is unique to ญ. The mnemonic หญิง (woman) demonstrates:\\n- หญ at start = /y/ sound (with ห lifting)\\n- The word is pronounced /yǐng/\\n\\nCommon words with ญ:\\n- หญิง (woman)\\n- ญี่ปุ่น (Japan)\\n- สัญญา (promise, contract)\\n- อัญมณี (gems)\\n\\n## Formal vs Everyday Spelling\\n\\nThe same concept often has formal and everyday spellings:\\n\\n| Meaning | Formal | Everyday |\\n|---------|--------|----------|\\n| Knowledge | วิทยา | — |\\n| Art | ศิลปะ | — |\\n| To | สู่ | — |\\n\\nWhen learning vocabulary, note which spellings use rare consonants — these tend to be more formal register.\\n\\n## The Royal Language Connection\\n\\nRare consonants appear frequently in **ราชาศัพท์** (royal vocabulary):\\n- ศีรษะ (head, royal)\\n- พระราชทาน (royally bestowed)\\n- พระบรมราชานุญาต (royal permission)\\n\\nWhile you may not use royal language actively, you'll encounter it in formal contexts, news about the monarchy, and religious ceremonies.\\n\\n## Key Points\\n\\n1. **Three S consonants**: ส ศ ษ — all sound /s/, all high-class\\n2. **Two N consonants**: น ณ — both sound /n/, both low-class\\n3. **ญ changes**: Y initially, N finally\\n4. **Etymology determines spelling**: Sanskrit origin → formal consonants\\n5. **Memorize by word**: No rules predict which variant to use\\n6. **Formal register**: Rare consonants signal educated/formal writing\\n\\n## Shape Recognition\\n\\n- **ญ** has a distinctive descending tail\\n- **ณ** looks like น with an extra element\\n- **ศ and ษ** look similar to ส but with variations — ศ has a \\\"tail,\\\" ษ has a \\\"hook\\\"\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"rare-1-s-consonants\\\" type=\\\"fill-in-blank\\\" title=\\\"The Three S Consonants\\\" skill=\\\"character-recognition\\\" tests=\\\"pavilion,hermit\\\" objectiveId=\\\"obj-s-consonants\\\"}\\n\\n**Question:** Thai has three consonants all pronounced /s/ and all high-class. Which are they?\\n\\n**Answer:**\\n\\n- ส (tiger) - everyday words\\n- ศ (pavilion) - Sanskrit/formal words\\n- ษ (hermit) - Sanskrit/formal words (rarest)\\n\\n**Explanation:** All three make the same /s/ sound and are high-class. The difference is purely spelling based on etymology. ส is for everyday words, ศ and ษ for Sanskrit-derived formal vocabulary.\\n\\n:::\\n\\n:::exercise{id=\\\"rare-1-yn-shift\\\" type=\\\"multiple-choice\\\" title=\\\"The ญ Sound Change\\\" skill=\\\"character-sound-mapping\\\" tests=\\\"woman\\\" objectiveId=\\\"obj-formal-reading\\\"}\\n\\n**Question:** The consonant ญ makes which sound(s)?\\n\\n**Options:**\\n- Only Y sound\\n- Only N sound\\n- Y initially, N finally\\n- Always silent\\n\\n**Answer:** 3\\n\\n**Explanation:** ญ is unique — it makes /y/ sound initially (like in หญิง \\\"woman\\\") but becomes /n/ in final position (like in สัญญา \\\"promise\\\"). This Y→N shift is unique to ญ.\\n\\n:::\\n\\n:::exercise{id=\\\"rare-1-formal-recognition\\\" type=\\\"matching\\\" title=\\\"Formal vs Everyday\\\" skill=\\\"character-recognition\\\" tests=\\\"pavilion,woman\\\" objectiveId=\\\"obj-rare-usage\\\"}\\n\\n**Question:** Match each word to whether it uses rare consonants (formal) or common consonants (everyday)\\n\\n- ศิลปะ (art)\\n- สี (color)\\n- ญี่ปุ่น (Japan)\\n- นา (rice field)\\n\\n**Answer:**\\n\\n- ศิลปะ - uses ศ (rare, formal)\\n- สี - uses ส (common, everyday)\\n- ญี่ปุ่น - uses ญ (rare, formal)\\n- นา - uses น (common, everyday)\\n\\n**Explanation:** Rare consonants (ศ ษ ญ ณ) typically appear in Sanskrit-derived words, formal vocabulary, and royal language. Everyday words use common consonants (ส น).\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 9, you'll learn the **obsolete and archaic consonants** — characters that exist in the alphabet but are rarely used in modern Thai.\\n\""],"names":["lesson08"],"mappings":"AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
|
@@ -14,10 +14,16 @@ metadata:
|
|
|
14
14
|
estimatedTime: 30
|
|
15
15
|
prerequisites:
|
|
16
16
|
- thai-grammar-lesson-07
|
|
17
|
-
|
|
18
|
-
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
learningObjectives:
|
|
18
|
+
- id: obj-08-conjunctions
|
|
19
|
+
description: "Connect sentences with conjunctions"
|
|
20
|
+
skill: pattern-application
|
|
21
|
+
- id: obj-08-cause-effect
|
|
22
|
+
description: "Express cause and effect"
|
|
23
|
+
skill: word-production
|
|
24
|
+
- id: obj-08-conditionals
|
|
25
|
+
description: "Use conditional structures"
|
|
26
|
+
skill: pattern-application
|
|
21
27
|
---
|
|
22
28
|
|
|
23
29
|
# บทที่ 8 (Lesson 8) — Conjunctions
|
|
@@ -135,7 +141,7 @@ Conjunctions connect ideas and create complex sentences. Thai conjunctions work
|
|
|
135
141
|
|
|
136
142
|
## Practice Exercises
|
|
137
143
|
|
|
138
|
-
:::exercise{id="grammar-8-conjunction-choice" type="multiple-choice" title="Choosing Conjunctions"}
|
|
144
|
+
:::exercise{id="grammar-8-conjunction-choice" type="multiple-choice" title="Choosing Conjunctions" skill="word-recognition" objectiveId="obj-08-conjunctions"}
|
|
139
145
|
|
|
140
146
|
**Question:** Which conjunction do you use to join "rice" and "curry"?
|
|
141
147
|
|
|
@@ -151,7 +157,7 @@ Conjunctions connect ideas and create complex sentences. Thai conjunctions work
|
|
|
151
157
|
|
|
152
158
|
:::
|
|
153
159
|
|
|
154
|
-
:::exercise{id="grammar-8-cause-effect" type="matching" title="Cause and Effect Patterns"}
|
|
160
|
+
:::exercise{id="grammar-8-cause-effect" type="matching" title="Cause and Effect Patterns" skill="pattern-recognition" objectiveId="obj-08-cause-effect"}
|
|
155
161
|
|
|
156
162
|
**Question:** Match each pattern to its structure
|
|
157
163
|
|
|
@@ -169,7 +175,7 @@ Conjunctions connect ideas and create complex sentences. Thai conjunctions work
|
|
|
169
175
|
|
|
170
176
|
:::
|
|
171
177
|
|
|
172
|
-
:::exercise{id="grammar-8-conditional" type="fill-in-blank" title="Conditional Sentences"}
|
|
178
|
+
:::exercise{id="grammar-8-conditional" type="fill-in-blank" title="Conditional Sentences" skill="pattern-application" objectiveId="obj-08-conditionals"}
|
|
173
179
|
|
|
174
180
|
**Question:** How do you form "if...then" sentences in Thai?
|
|
175
181
|
|
|
@@ -211,4 +217,4 @@ Congratulations on completing the Grammar syllabus! Continue building your skill
|
|
|
211
217
|
export {
|
|
212
218
|
n as default
|
|
213
219
|
};
|
|
214
|
-
//# sourceMappingURL=lesson-08-
|
|
220
|
+
//# sourceMappingURL=lesson-08-2kBUq_B2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lesson-08-2kBUq_B2.js","sources":["../src/syllabi/grammar/lessons/lesson-08.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-grammar-lesson-08\\ntitle: \\\"บทที่ 8 — คำเชื่อม\\\"\\ndescription: \\\"Conjunctions: And, but, because, so\\\"\\norder: 8\\nparentId: thai-grammar\\ndifficulty: intermediate\\ncefrLevel: B1\\ncategories:\\n - grammar\\n - conjunctions\\nmetadata:\\n estimatedTime: 30\\n prerequisites:\\n - thai-grammar-lesson-07\\n learningObjectives:\\n - id: obj-08-conjunctions\\n description: \\\"Connect sentences with conjunctions\\\"\\n skill: pattern-application\\n - id: obj-08-cause-effect\\n description: \\\"Express cause and effect\\\"\\n skill: word-production\\n - id: obj-08-conditionals\\n description: \\\"Use conditional structures\\\"\\n skill: pattern-application\\n---\\n\\n# บทที่ 8 (Lesson 8) — Conjunctions\\n\\n## Introduction\\n\\nConjunctions connect ideas and create complex sentences. Thai conjunctions work similarly to English ones.\\n\\n## Basic Conjunctions\\n\\n| Thai | Romanization | Meaning |\\n|------|--------------|---------|\\n| และ | láe | and |\\n| กับ | gàp | and/with |\\n| หรือ | rǔue | or |\\n| แต่ | dtàe | but |\\n| แต่ว่า | dtàe-wâa | but (stronger) |\\n\\n## \\\"And\\\": และ (láe) vs กับ (gàp)\\n\\n| Use | Conjunction | Example |\\n|-----|-------------|---------|\\n| Joining clauses | และ | ผมกินข้าว**และ**ดื่มน้ำ (I eat rice and drink water) |\\n| Joining nouns | กับ | ข้าว**กับ**แกง (rice and curry) |\\n| \\\"With\\\" | กับ | ไป**กับ**เพื่อน (go with friend) |\\n\\n## \\\"But\\\": แต่ (dtàe)\\n\\n| Thai | Meaning |\\n|------|---------|\\n| อร่อยแต่แพง | Delicious but expensive |\\n| อยากไปแต่ไม่มีเวลา | Want to go but don't have time |\\n| เขาเก่งแต่ขี้เกียจ | He's smart but lazy |\\n\\n## Cause: เพราะ (phráw) - Because\\n\\n**Pattern: Result + เพราะ + Cause** (or vice versa)\\n\\n| Thai | Meaning |\\n|------|---------|\\n| ไม่ไปเพราะป่วย | Not going because sick |\\n| เพราะฝนตกเลยไม่ไป | Because it rained, didn't go |\\n| เหนื่อยเพราะทำงานหนัก | Tired because work hard |\\n\\n## Result: เลย (ləəi) / ก็เลย (gâw ləəi) - So\\n\\n**Pattern: Cause + เลย + Result**\\n\\n| Thai | Meaning |\\n|------|---------|\\n| หิวเลยกินข้าว | Hungry, so ate |\\n| ฝนตกก็เลยไม่ไป | It rained, so didn't go |\\n| ไม่สบายเลยนอนอยู่บ้าน | Not feeling well, so staying home |\\n\\n## Conditional: ถ้า (thâa) - If\\n\\n**Pattern: ถ้า + Condition, Result**\\n\\n| Thai | Meaning |\\n|------|---------|\\n| ถ้าฝนตกจะไม่ไป | If it rains, won't go |\\n| ถ้าหิวก็กิน | If hungry, then eat |\\n| ถ้ามีเวลาจะโทรหา | If have time, will call |\\n\\n## \\\"When\\\": เมื่อ (mûuea) / ตอน (dtawn)\\n\\n| Thai | Meaning |\\n|------|---------|\\n| เมื่อเด็กๆ | when (I was) a child |\\n| ตอนกินข้าว | when eating |\\n| เมื่อไหร่ก็ได้ | whenever (is fine) |\\n\\n## \\\"Although\\\": แม้ว่า (máe-wâa) / ถึงแม้ว่า (thǔeng máe-wâa)\\n\\n| Thai | Meaning |\\n|------|---------|\\n| แม้ว่าจะเหนื่อยแต่ก็ไป | Although tired, still went |\\n| ถึงแม้ว่าแพงแต่ก็ซื้อ | Although expensive, still bought |\\n\\n## \\\"So that\\\": เพื่อ (phûuea)\\n\\n| Thai | Meaning |\\n|------|---------|\\n| เรียนเพื่อสอบ | Study in order to test |\\n| ทำงานเพื่อหาเงิน | Work in order to make money |\\n\\n## Common Patterns\\n\\n| Pattern | Example | Meaning |\\n|---------|---------|---------|\\n| ถ้า...ก็... | ถ้าไม่ไปก็ไม่เป็นไร | If not go, it's okay |\\n| ...เพราะ... | ไปเพราะอยาก | Went because wanted to |\\n| ...เลย... | หิวเลยกิน | Hungry so ate |\\n| แม้ว่า...แต่... | แม้ว่าเหนื่อยแต่สนุก | Although tired but fun |\\n\\n## Key Points\\n\\n1. **และ** - and (joining clauses)\\n2. **กับ** - and/with (joining nouns)\\n3. **แต่** - but\\n4. **เพราะ** - because\\n5. **เลย** - so/therefore\\n6. **ถ้า** - if\\n\\n## Conjunction Pattern Table\\n\\n| Conjunction | Use | Pattern | Example |\\n|-------------|-----|--------|---------|\\n| และ | Join clauses | Clause + และ + Clause | กินข้าวและดื่มน้ำ |\\n| กับ | Join nouns/with | Noun + กับ + Noun | ข้าวกับแกง |\\n| แต่ | Contrast | Statement + แต่ + Contrast | อร่อยแต่แพง |\\n| เพราะ | Cause | Result + เพราะ + Cause | ไม่ไปเพราะป่วย |\\n| เลย | Result | Cause + เลย + Result | หิวเลยกิน |\\n| ถ้า | Condition | ถ้า + Condition, Result | ถ้าฝนตกจะไม่ไป |\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"grammar-8-conjunction-choice\\\" type=\\\"multiple-choice\\\" title=\\\"Choosing Conjunctions\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-08-conjunctions\\\"}\\n\\n**Question:** Which conjunction do you use to join \\\"rice\\\" and \\\"curry\\\"?\\n\\n**Options:**\\n- และ\\n- กับ\\n- แต่\\n- หรือ\\n\\n**Answer:** 2\\n\\n**Explanation:** Use กับ to join nouns. และ is for joining clauses (verbs/actions). So \\\"rice and curry\\\" is ข้าวกับแกง, not ข้าวและแกง.\\n\\n:::\\n\\n:::exercise{id=\\\"grammar-8-cause-effect\\\" type=\\\"matching\\\" title=\\\"Cause and Effect Patterns\\\" skill=\\\"pattern-recognition\\\" objectiveId=\\\"obj-08-cause-effect\\\"}\\n\\n**Question:** Match each pattern to its structure\\n\\n- เพราะ...เลย...\\n- ...เพราะ...\\n- ...เลย...\\n\\n**Answer:**\\n\\n- เพราะ...เลย... → Because [cause], so [result] (formal pattern)\\n- ...เพราะ... → [Result] because [cause] (common pattern)\\n- ...เลย... → [Cause] so [result] (simple pattern)\\n\\n**Explanation:** Thai allows flexible word order for cause and effect. เพราะ means \\\"because\\\" and เลย means \\\"so/therefore\\\". You can use them together or separately.\\n\\n:::\\n\\n:::exercise{id=\\\"grammar-8-conditional\\\" type=\\\"fill-in-blank\\\" title=\\\"Conditional Sentences\\\" skill=\\\"pattern-application\\\" objectiveId=\\\"obj-08-conditionals\\\"}\\n\\n**Question:** How do you form \\\"if...then\\\" sentences in Thai?\\n\\n**Answer:**\\n\\nUse the pattern: **ถ้า + [condition], [result]**. For example:\\n- ถ้าฝนตกจะไม่ไป (If it rains, won't go)\\n- ถ้าหิวก็กิน (If hungry, then eat)\\n\\nOften ก็ (then) is used in the result clause, but it's optional. The key is ถ้า at the beginning.\\n\\n**Explanation:** ถ้า introduces the condition. The result can follow directly or use ก็ for emphasis. This is similar to English \\\"if...then\\\" but more flexible in structure.\\n\\n:::\\n\\n## Course Complete!\\n\\nยินดีด้วย! (Congratulations!)\\n\\nYou've completed Thai Grammar! You now understand:\\n- Sentence structure (SVO)\\n- Questions and negation\\n- Classifiers\\n- Polite particles\\n- Time expressions\\n- Comparisons\\n- Conjunctions\\n\\nKeep practicing, and your Thai will become more natural every day!\\n\\n## What's Next\\n\\nCongratulations on completing the Grammar syllabus! Continue building your skills by exploring other syllabi:\\n- **Dialogue** - Practice conversations in real situations\\n- **Essentials** - Master everyday phrases and vocabulary\\n- **Food** - Learn to order and discuss Thai cuisine\\n- **Reading** - Apply your grammar knowledge to real texts\\n\""],"names":["lesson08"],"mappings":"AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
|
@@ -15,11 +15,19 @@ metadata:
|
|
|
15
15
|
estimatedTime: 30
|
|
16
16
|
prerequisites:
|
|
17
17
|
- thai-food-lesson-07
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
-
|
|
18
|
+
learningObjectives:
|
|
19
|
+
- id: obj-communicate-allergies
|
|
20
|
+
description: "Communicate food allergies"
|
|
21
|
+
skill: pattern-application
|
|
22
|
+
- id: obj-explain-dietary-restrictions
|
|
23
|
+
description: "Explain dietary restrictions"
|
|
24
|
+
skill: pattern-application
|
|
25
|
+
- id: obj-make-customization-requests
|
|
26
|
+
description: "Make customization requests"
|
|
27
|
+
skill: word-production
|
|
28
|
+
- id: obj-handle-food-emergencies
|
|
29
|
+
description: "Handle food emergencies"
|
|
30
|
+
skill: pattern-application
|
|
23
31
|
---
|
|
24
32
|
|
|
25
33
|
# บทที่ 8 (Lesson 8) — Special Requests
|
|
@@ -206,7 +214,7 @@ Thank you)
|
|
|
206
214
|
|
|
207
215
|
## Practice Exercises
|
|
208
216
|
|
|
209
|
-
:::exercise{id="food-8-allergy-communication" type="matching" title="Allergy Communication"}
|
|
217
|
+
:::exercise{id="food-8-allergy-communication" type="matching" title="Allergy Communication" skill="pattern-application" objectiveId="obj-communicate-allergies"}
|
|
210
218
|
|
|
211
219
|
**Question:** Match each allergy phrase to its meaning
|
|
212
220
|
|
|
@@ -226,7 +234,7 @@ Thank you)
|
|
|
226
234
|
|
|
227
235
|
:::
|
|
228
236
|
|
|
229
|
-
:::exercise{id="food-8-dietary-restrictions" type="fill-in-blank" title="Dietary Restrictions"}
|
|
237
|
+
:::exercise{id="food-8-dietary-restrictions" type="fill-in-blank" title="Dietary Restrictions" skill="pattern-application" objectiveId="obj-explain-dietary-restrictions"}
|
|
230
238
|
|
|
231
239
|
**Question:** How do you communicate these dietary needs?
|
|
232
240
|
|
|
@@ -246,7 +254,7 @@ Thank you)
|
|
|
246
254
|
|
|
247
255
|
:::
|
|
248
256
|
|
|
249
|
-
:::exercise{id="food-8-emergency-phrases" type="multiple-choice" title="Food Emergency Phrases"}
|
|
257
|
+
:::exercise{id="food-8-emergency-phrases" type="multiple-choice" title="Food Emergency Phrases" skill="pattern-application" objectiveId="obj-handle-food-emergencies"}
|
|
250
258
|
|
|
251
259
|
**Question:** What should you say if you're having a severe allergic reaction?
|
|
252
260
|
|
|
@@ -276,4 +284,4 @@ Congratulations! You've completed the Thai Food course. You can now:
|
|
|
276
284
|
export {
|
|
277
285
|
n as default
|
|
278
286
|
};
|
|
279
|
-
//# sourceMappingURL=lesson-08-
|
|
287
|
+
//# sourceMappingURL=lesson-08-BP5lpiGe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lesson-08-BP5lpiGe.js","sources":["../src/syllabi/food/lessons/lesson-08.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-food-lesson-08\\ntitle: \\\"บทที่ 8 — คำขอพิเศษ\\\"\\ndescription: \\\"Special Requests: Allergies, dietary restrictions, and customizations\\\"\\norder: 8\\nparentId: thai-food\\ndifficulty: beginner\\ncefrLevel: A2\\ncategories:\\n - food\\n - dietary\\n - health\\nmetadata:\\n estimatedTime: 30\\n prerequisites:\\n - thai-food-lesson-07\\n learningObjectives:\\n - id: obj-communicate-allergies\\n description: \\\"Communicate food allergies\\\"\\n skill: pattern-application\\n - id: obj-explain-dietary-restrictions\\n description: \\\"Explain dietary restrictions\\\"\\n skill: pattern-application\\n - id: obj-make-customization-requests\\n description: \\\"Make customization requests\\\"\\n skill: word-production\\n - id: obj-handle-food-emergencies\\n description: \\\"Handle food emergencies\\\"\\n skill: pattern-application\\n---\\n\\n# บทที่ 8 (Lesson 8) — Special Requests\\n\\n## Introduction\\n\\nWhether you have allergies, dietary restrictions, or simply preferences, knowing how to communicate them is essential for safe and enjoyable eating in Thailand. This lesson covers all the phrases you need.\\n\\n## Allergies (แพ้อาหาร)\\n\\n:::vocabulary-set{id=\\\"thai-allergy\\\" title=\\\"Allergy Vocabulary\\\"}\\n\\n::vocab-item{id=\\\"phae\\\" word=\\\"แพ้\\\" pronunciation=\\\"phâe\\\" meaning=\\\"allergic to\\\"}\\n\\n::vocab-item{id=\\\"phae-aahaan\\\" word=\\\"แพ้อาหาร\\\" pronunciation=\\\"phâe aa-hǎan\\\" meaning=\\\"food allergy\\\"}\\n\\n::vocab-item{id=\\\"antharai\\\" word=\\\"อันตราย\\\" pronunciation=\\\"an-dtà-raai\\\" meaning=\\\"dangerous\\\"}\\n\\n::vocab-item{id=\\\"mai-dai\\\" word=\\\"ไม่ได้\\\" pronunciation=\\\"mâi dâi\\\" meaning=\\\"cannot/not able\\\"}\\n\\n::vocab-item{id=\\\"kin-mai-dai\\\" word=\\\"กินไม่ได้\\\" pronunciation=\\\"gin mâi dâi\\\" meaning=\\\"cannot eat\\\"}\\n\\n:::\\n\\n### Common Allergy Statements\\n\\n| Thai | Meaning |\\n|------|---------|\\n| ผมแพ้ถั่ว | I'm allergic to peanuts |\\n| ฉันแพ้อาหารทะเล | I'm allergic to seafood |\\n| แพ้กุ้ง | Allergic to shrimp |\\n| แพ้นม | Allergic to milk/dairy |\\n| แพ้ไข่ | Allergic to eggs |\\n| แพ้กลูเตน | Allergic to gluten |\\n\\n### Allergy Alert Phrases\\n\\n| Thai | Meaning |\\n|------|---------|\\n| แพ้มาก อาจตายได้ | Severe allergy, could be fatal |\\n| ต้องระวังมาก | Must be very careful |\\n| มี...ไหมครับ | Does this contain...? |\\n| ใส่...ไหมครับ | Is there... in this? |\\n\\n## Dietary Restrictions\\n\\n:::vocabulary-set{id=\\\"thai-dietary\\\" title=\\\"Dietary Terms\\\"}\\n\\n::vocab-item{id=\\\"mangsawirat\\\" word=\\\"มังสวิรัติ\\\" pronunciation=\\\"mang-sà-wí-rát\\\" meaning=\\\"vegetarian\\\"}\\n\\n::vocab-item{id=\\\"je\\\" word=\\\"เจ\\\" pronunciation=\\\"jee\\\" meaning=\\\"vegan (Buddhist)\\\"}\\n\\n::vocab-item{id=\\\"halal\\\" word=\\\"ฮาลาล\\\" pronunciation=\\\"haa-laan\\\" meaning=\\\"halal\\\"}\\n\\n::vocab-item{id=\\\"mai-kin-nuea\\\" word=\\\"ไม่กินเนื้อ\\\" pronunciation=\\\"mâi gin nʉ́a\\\" meaning=\\\"don't eat beef\\\"}\\n\\n::vocab-item{id=\\\"mai-kin-muu\\\" word=\\\"ไม่กินหมู\\\" pronunciation=\\\"mâi gin mǔu\\\" meaning=\\\"don't eat pork\\\"}\\n\\n:::\\n\\n### Vegetarian & Vegan\\n\\n| Statement | Meaning |\\n|-----------|---------|\\n| ผมกินเจ | I eat vegan |\\n| ฉันเป็นมังสวิรัติ | I'm vegetarian |\\n| ไม่กินเนื้อสัตว์ | Don't eat meat |\\n| กินแต่ผัก | Only eat vegetables |\\n| ไม่กินเนื้อแต่กินไข่ได้ | No meat but eggs okay |\\n\\n### Religious Dietary Needs\\n\\n| Thai | Meaning |\\n|------|---------|\\n| ต้องการอาหารฮาลาล | Need halal food |\\n| ร้านนี้มีอาหารฮาลาลไหม | Does this restaurant have halal food? |\\n| ไม่กินหมูครับ | I don't eat pork |\\n| มีเนื้อวัวไหม | Is there beef in this? |\\n\\n## Making Specific Requests\\n\\n### Ingredient Removal\\n\\n| Thai | Meaning |\\n|------|---------|\\n| ไม่ใส่ผักชี | No cilantro |\\n| ไม่ใส่ถั่วลิสง | No peanuts |\\n| ไม่ใส่น้ำปลา | No fish sauce |\\n| ไม่ใส่กะปิ | No shrimp paste |\\n| ไม่ใส่หอยนางรม | No oyster sauce |\\n\\n### Substitutions\\n\\n| Thai | Meaning |\\n|------|---------|\\n| เปลี่ยนเป็นเต้าหู้ | Change to tofu |\\n| ใช้ซอสถั่วเหลืองแทน | Use soy sauce instead |\\n| เอาซอสแยก | Sauce on the side |\\n| ไม่ต้องใส่ซอส | No sauce needed |\\n\\n## Health-Related Requests\\n\\n:::vocabulary-set{id=\\\"thai-health\\\" title=\\\"Health Terms\\\"}\\n\\n::vocab-item{id=\\\"bao-wan\\\" word=\\\"เบาหวาน\\\" pronunciation=\\\"bao wǎan\\\" meaning=\\\"diabetes\\\"}\\n\\n::vocab-item{id=\\\"khwam-dan\\\" word=\\\"ความดัน\\\" pronunciation=\\\"khwaam dan\\\" meaning=\\\"blood pressure\\\"}\\n\\n::vocab-item{id=\\\"mai-sai-phong-churot\\\" word=\\\"ไม่ใส่ผงชูรส\\\" pronunciation=\\\"mâi sài phǒng chuu rót\\\" meaning=\\\"no MSG\\\"}\\n\\n::vocab-item{id=\\\"klua-sai\\\" word=\\\"เกลือน้อย\\\" pronunciation=\\\"glʉa nɔ́ɔi\\\" meaning=\\\"low salt\\\"}\\n\\n:::\\n\\n### Health-Conscious Requests\\n\\n| Thai | Meaning |\\n|------|---------|\\n| ไม่ใส่ผงชูรส | No MSG |\\n| เกลือน้อย | Low salt |\\n| น้ำตาลน้อย | Low sugar |\\n| ไม่ใส่น้ำมัน | No oil |\\n| นึ่งแทนทอด | Steam instead of fry |\\n\\n## Emergency Phrases\\n\\n:::vocabulary-set{id=\\\"thai-food-emergency\\\" title=\\\"Emergency Phrases\\\"}\\n\\n::vocab-item{id=\\\"mai-sabai\\\" word=\\\"ไม่สบาย\\\" pronunciation=\\\"mâi sà-baai\\\" meaning=\\\"not feeling well\\\"}\\n\\n::vocab-item{id=\\\"puad-thong\\\" word=\\\"ปวดท้อง\\\" pronunciation=\\\"bpùat thɔ́ɔng\\\" meaning=\\\"stomachache\\\"}\\n\\n::vocab-item{id=\\\"aahaan-pen-pit\\\" word=\\\"อาหารเป็นพิษ\\\" pronunciation=\\\"aa-hǎan bpen phít\\\" meaning=\\\"food poisoning\\\"}\\n\\n::vocab-item{id=\\\"rong-phayabaan\\\" word=\\\"โรงพยาบาล\\\" pronunciation=\\\"roong pha-yaa-baan\\\" meaning=\\\"hospital\\\"}\\n\\n:::\\n\\n| Emergency Phrase | Meaning |\\n|------------------|---------|\\n| ผมแพ้อาหาร ช่วยด้วย | I'm having an allergic reaction, help! |\\n| ต้องไปโรงพยาบาล | Need to go to hospital |\\n| เรียกรถพยาบาล | Call an ambulance |\\n\\n## Sample Conversations\\n\\n**Explaining allergies:**\\n- คุณ: ผมแพ้ถั่วลิสงครับ อันนี้มีถั่วไหม (I'm allergic to peanuts. Does this have peanuts?)\\n- พนักงาน: มีค่ะ แต่ทำไม่ใส่ได้ค่ะ (Yes, but we can make it without)\\n- คุณ: ขอไม่ใส่เลยนะครับ แพ้มากครับ (Please don't add any. Severe allergy)\\n\\n**Vegetarian request:**\\n- คุณ: มีอาหารมังสวิรัติไหมครับ (Do you have vegetarian food?)\\n- พนักงาน: มีค่ะ ผัดผักรวมมีค่ะ (Yes, we have mixed vegetable stir-fry)\\n- คุณ: ใส่น้ำมันหอยไหมครับ (Does it have oyster sauce?)\\n- พนักงาน: ใส่ค่ะ ไม่ใส่ได้ค่ะ (Yes, but can make without)\\n\\n**Muslim diner:**\\n- คุณ: ร้านนี้มีอาหารฮาลาลไหมครับ (Does this restaurant have halal food?)\\n- พนักงาน: มีค่ะ ไม่ใช้หมูเลยค่ะ (Yes, we don't use pork at all)\\n\\n## Helpful Cards\\n\\nConsider having a card with your allergies written in Thai:\\n\\n```\\nผมแพ้ [ingredient]\\nกินไม่ได้ อาจเป็นอันตราย\\nกรุณาไม่ใส่ [ingredient] ในอาหาร\\nขอบคุณครับ\\n\\n(I am allergic to [ingredient]\\nI cannot eat it, it may be dangerous\\nPlease do not add [ingredient] to food\\nThank you)\\n```\\n\\n## Key Points\\n\\n1. **แพ้ = allergic to**: Critical word to know\\n2. **กินไม่ได้ = cannot eat**: Clear statement of restriction\\n3. **เจ = vegan**: Recognized Buddhist term\\n4. **มี...ไหม = is there...?**: Check before eating\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"food-8-allergy-communication\\\" type=\\\"matching\\\" title=\\\"Allergy Communication\\\" skill=\\\"pattern-application\\\" objectiveId=\\\"obj-communicate-allergies\\\"}\\n\\n**Question:** Match each allergy phrase to its meaning\\n\\n- ผมแพ้ถั่ว\\n- แพ้มาก อาจตายได้\\n- มี...ไหมครับ\\n- ใส่...ไหมครับ\\n\\n**Answer:**\\n\\n- ผมแพ้ถั่ว → I'm allergic to peanuts\\n- แพ้มาก อาจตายได้ → Severe allergy, could be fatal (critical!)\\n- มี...ไหมครับ → Does this contain...? (checking ingredients)\\n- ใส่...ไหมครับ → Is there... in this? (checking if added)\\n\\n**Explanation:** แพ้ means \\\"allergic to\\\". For severe allergies, emphasize แพ้มาก (very allergic) or อาจตายได้ (could be fatal) to ensure the kitchen takes it seriously.\\n\\n:::\\n\\n:::exercise{id=\\\"food-8-dietary-restrictions\\\" type=\\\"fill-in-blank\\\" title=\\\"Dietary Restrictions\\\" skill=\\\"pattern-application\\\" objectiveId=\\\"obj-explain-dietary-restrictions\\\"}\\n\\n**Question:** How do you communicate these dietary needs?\\n\\n- Vegetarian\\n- Vegan (Buddhist)\\n- No pork\\n- No MSG\\n\\n**Answer:**\\n\\n- Vegetarian → มังสวิรัติ or ไม่กินเนื้อสัตว์\\n- Vegan (Buddhist) → เจ\\n- No pork → ไม่กินหมู or ไม่ใส่หมู\\n- No MSG → ไม่ใส่ผงชูรส\\n\\n**Explanation:** เจ is a recognized Buddhist vegan term. มังสวิรัติ is the general term for vegetarian. Always specify ไม่ใส่ (don't add) for ingredients you want to avoid.\\n\\n:::\\n\\n:::exercise{id=\\\"food-8-emergency-phrases\\\" type=\\\"multiple-choice\\\" title=\\\"Food Emergency Phrases\\\" skill=\\\"pattern-application\\\" objectiveId=\\\"obj-handle-food-emergencies\\\"}\\n\\n**Question:** What should you say if you're having a severe allergic reaction?\\n\\n**Options:**\\n- ไม่เป็นไร (it's okay)\\n- ผมแพ้อาหาร ช่วยด้วย (I'm having an allergic reaction, help!)\\n- ขอโทษ (sorry)\\n- ไม่สบาย (not feeling well)\\n\\n**Answer:** 2\\n\\n**Explanation:** For severe allergies, use strong language: ผมแพ้อาหาร ช่วยด้วย (I'm allergic, help!). This signals urgency. Always carry allergy cards in Thai if you have severe allergies.\\n\\n:::\\n\\n## Course Complete!\\n\\nCongratulations! You've completed the Thai Food course. You can now:\\n- ✓ Order any Thai dish confidently\\n- ✓ Describe flavors and adjust spice\\n- ✓ Navigate street food and restaurants\\n- ✓ Handle allergies and dietary needs\\n- ✓ Enjoy Thai cuisine to the fullest!\\n\\nอร่อยนะครับ! (Enjoy your meal!)\\n\""],"names":["lesson08"],"mappings":"AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
|
@@ -15,10 +15,16 @@ metadata:
|
|
|
15
15
|
estimatedTime: 30
|
|
16
16
|
prerequisites:
|
|
17
17
|
- thai-reading-lesson-07
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
learningObjectives:
|
|
19
|
+
- id: obj-r8-announcement-formats
|
|
20
|
+
description: "Read official announcement formats"
|
|
21
|
+
skill: reading-comprehension
|
|
22
|
+
- id: obj-r8-formal-writing
|
|
23
|
+
description: "Understand formal Thai writing"
|
|
24
|
+
skill: word-recognition
|
|
25
|
+
- id: obj-r8-notice-patterns
|
|
26
|
+
description: "Recognize notice patterns"
|
|
27
|
+
skill: pattern-recognition
|
|
22
28
|
---
|
|
23
29
|
|
|
24
30
|
# Short Notices
|
|
@@ -74,7 +80,7 @@ Official notices appear in buildings, offices, and public spaces. Learn their pa
|
|
|
74
80
|
|
|
75
81
|
## Practice Exercises
|
|
76
82
|
|
|
77
|
-
:::exercise{id="reading-8-notice-headers" type="matching" title="Notice Header Recognition"}
|
|
83
|
+
:::exercise{id="reading-8-notice-headers" type="matching" title="Notice Header Recognition" skill="word-recognition" objectiveId="obj-r8-announcement-formats"}
|
|
78
84
|
|
|
79
85
|
**Question:** Match each notice header to its meaning
|
|
80
86
|
|
|
@@ -94,7 +100,7 @@ Official notices appear in buildings, offices, and public spaces. Learn their pa
|
|
|
94
100
|
|
|
95
101
|
:::
|
|
96
102
|
|
|
97
|
-
:::exercise{id="reading-8-formal-phrases" type="fill-in-blank" title="Formal Notice Phrases"}
|
|
103
|
+
:::exercise{id="reading-8-formal-phrases" type="fill-in-blank" title="Formal Notice Phrases" skill="word-recognition" objectiveId="obj-r8-formal-writing"}
|
|
98
104
|
|
|
99
105
|
**Question:** What do these formal phrases mean?
|
|
100
106
|
|
|
@@ -114,7 +120,7 @@ Official notices appear in buildings, offices, and public spaces. Learn their pa
|
|
|
114
120
|
|
|
115
121
|
:::
|
|
116
122
|
|
|
117
|
-
:::exercise{id="reading-8-time-references" type="multiple-choice" title="Time References in Notices"}
|
|
123
|
+
:::exercise{id="reading-8-time-references" type="multiple-choice" title="Time References in Notices" skill="pattern-recognition" objectiveId="obj-r8-notice-patterns"}
|
|
118
124
|
|
|
119
125
|
**Question:** What does "ชั่วคราว" mean in a notice?
|
|
120
126
|
|
|
@@ -137,4 +143,4 @@ In Lesson 9, you'll read simple stories — build reading fluency by following n
|
|
|
137
143
|
export {
|
|
138
144
|
n as default
|
|
139
145
|
};
|
|
140
|
-
//# sourceMappingURL=lesson-08-
|
|
146
|
+
//# sourceMappingURL=lesson-08-BXm9GgdN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lesson-08-BXm9GgdN.js","sources":["../src/syllabi/reading/lessons/lesson-08.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-reading-lesson-08\\ntitle: \\\"บทที่ 8 — ประกาศสั้น\\\"\\ndescription: \\\"Short Notices: Read official notices and announcements\\\"\\norder: 8\\nparentId: thai-reading\\ndifficulty: intermediate\\ncefrLevel: B1\\ncategories:\\n - reading\\n - notices\\n - formal\\nmetadata:\\n estimatedTime: 30\\n prerequisites:\\n - thai-reading-lesson-07\\n learningObjectives:\\n - id: obj-r8-announcement-formats\\n description: \\\"Read official announcement formats\\\"\\n skill: reading-comprehension\\n - id: obj-r8-formal-writing\\n description: \\\"Understand formal Thai writing\\\"\\n skill: word-recognition\\n - id: obj-r8-notice-patterns\\n description: \\\"Recognize notice patterns\\\"\\n skill: pattern-recognition\\n---\\n\\n# Short Notices\\n\\nOfficial notices appear in buildings, offices, and public spaces. Learn their patterns.\\n\\n## Notice Headers\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| ประกาศ | prakat | announcement |\\n| แจ้งให้ทราบ | jaeng hai sap | notification |\\n| ข้อบังคับ | kho bangkhap | regulation |\\n| คำเตือน | kham tuean | warning notice |\\n\\n## Common Phrases\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| ตั้งแต่วันที่ | tang tae wan thi | starting from |\\n| จนถึงวันที่ | jon thung wan thi | until |\\n| กรุณา | karuna | please (formal) |\\n| ขอความร่วมมือ | kho khwam ruam mue | request cooperation |\\n\\n## Official Terms\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| ฝ่ายบริหาร | fai borihan | management |\\n| ผู้จัดการ | phu jatkan | manager |\\n| เจ้าหน้าที่ | jao nathi | officer/staff |\\n| ลูกค้า | lukkhaa | customer |\\n\\n## Time References\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| ชั่วคราว | chua khrao | temporary |\\n| ถาวร | thawon | permanent |\\n| ระยะเวลา | rayawela | duration |\\n| มีผลบังคับใช้ | mi phon bangkhap chai | effective |\\n\\n## Sample Notice\\n\\n**ประกาศ**\\n**เรื่อง: ปิดปรับปรุงลิฟต์**\\n\\nฝ่ายบริหารขอแจ้งให้ทราบว่า ลิฟต์จะปิดปรับปรุงชั่วคราว ตั้งแต่วันที่ 15-17 มกราคม กรุณาใช้บันไดแทน\\n\\nขออภัยในความไม่สะดวก\\n\\n*Announcement: Elevator maintenance. Management notifies that the elevator will be temporarily closed for maintenance from January 15-17. Please use stairs instead. Sorry for the inconvenience.*\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"reading-8-notice-headers\\\" type=\\\"matching\\\" title=\\\"Notice Header Recognition\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-r8-announcement-formats\\\"}\\n\\n**Question:** Match each notice header to its meaning\\n\\n- ประกาศ\\n- แจ้งให้ทราบ\\n- ข้อบังคับ\\n- คำเตือน\\n\\n**Answer:**\\n\\n- ประกาศ → Announcement (general)\\n- แจ้งให้ทราบ → Notification (formal notice)\\n- ข้อบังคับ → Regulation (rule/requirement)\\n- คำเตือน → Warning notice\\n\\n**Explanation:** These headers indicate the type and formality of the notice. ประกาศ is most common. แจ้งให้ทราบ is more formal. ข้อบังคับ indicates a rule that must be followed.\\n\\n:::\\n\\n:::exercise{id=\\\"reading-8-formal-phrases\\\" type=\\\"fill-in-blank\\\" title=\\\"Formal Notice Phrases\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-r8-formal-writing\\\"}\\n\\n**Question:** What do these formal phrases mean?\\n\\n- ตั้งแต่วันที่\\n- จนถึงวันที่\\n- กรุณา\\n- ขอความร่วมมือ\\n\\n**Answer:**\\n\\n- ตั้งแต่วันที่ → Starting from (date)\\n- จนถึงวันที่ → Until (date)\\n- กรุณา → Please (formal)\\n- ขอความร่วมมือ → Request cooperation\\n\\n**Explanation:** These are formal phrases common in official notices. ตั้งแต่ means \\\"starting from\\\", จนถึง means \\\"until\\\". กรุณา is formal \\\"please\\\". Learning these helps you understand official communications.\\n\\n:::\\n\\n:::exercise{id=\\\"reading-8-time-references\\\" type=\\\"multiple-choice\\\" title=\\\"Time References in Notices\\\" skill=\\\"pattern-recognition\\\" objectiveId=\\\"obj-r8-notice-patterns\\\"}\\n\\n**Question:** What does \\\"ชั่วคราว\\\" mean in a notice?\\n\\n**Options:**\\n- Permanent\\n- Temporary\\n- Effective immediately\\n- Cancelled\\n\\n**Answer:** 2\\n\\n**Explanation:** ชั่วคราว means \\\"temporary\\\". ถาวร means \\\"permanent\\\". These words appear frequently in notices about closures, changes, or restrictions. Understanding them helps you know if something is temporary or permanent.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 9, you'll read simple stories — build reading fluency by following narrative structure and connected paragraphs in Thai.\\n\""],"names":["lesson08"],"mappings":"AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
|
@@ -15,11 +15,23 @@ metadata:
|
|
|
15
15
|
estimatedTime: 40
|
|
16
16
|
prerequisites:
|
|
17
17
|
- thai-vowels-lesson-07
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
learningObjectives:
|
|
19
|
+
- id: obj-live-vs-dead-syllables
|
|
20
|
+
description: "Understand live vs dead syllables"
|
|
21
|
+
skill: syllable-analysis
|
|
22
|
+
references: []
|
|
23
|
+
- id: obj-apply-tone-rules
|
|
24
|
+
description: "Apply tone rules based on syllable structure"
|
|
25
|
+
skill: tone-rule-application
|
|
26
|
+
references: [mai-ek, mai-tho]
|
|
27
|
+
- id: obj-complete-tone-system
|
|
28
|
+
description: "Master the complete tone determination system"
|
|
29
|
+
skill: tone-rule-application
|
|
30
|
+
references: [mai-ek, mai-tho, mai-tri, mai-chattawa]
|
|
31
|
+
- id: obj-read-tones-without-marks
|
|
32
|
+
description: "Practice reading tones without marks"
|
|
33
|
+
skill: syllable-analysis
|
|
34
|
+
references: []
|
|
23
35
|
---
|
|
24
36
|
|
|
25
37
|
# บทที่ 8 (Lesson 8) — Complete Tone Rules
|
|
@@ -188,7 +200,7 @@ When reading a new word:
|
|
|
188
200
|
|
|
189
201
|
## Practice Exercises
|
|
190
202
|
|
|
191
|
-
:::exercise{id="tone-rules-1-syllable-type" type="multiple-choice" title="Live vs Dead Syllable"}
|
|
203
|
+
:::exercise{id="tone-rules-1-syllable-type" type="multiple-choice" title="Live vs Dead Syllable" skill="syllable-analysis" objectiveId="obj-live-vs-dead-syllables"}
|
|
192
204
|
|
|
193
205
|
**Question:** Which syllable is "dead" (คำตาย)?
|
|
194
206
|
|
|
@@ -204,7 +216,7 @@ When reading a new word:
|
|
|
204
216
|
|
|
205
217
|
:::
|
|
206
218
|
|
|
207
|
-
:::exercise{id="tone-rules-1-tone-determination" type="fill-in-blank" title="Tone Determination Practice"}
|
|
219
|
+
:::exercise{id="tone-rules-1-tone-determination" type="fill-in-blank" title="Tone Determination Practice" skill="tone-rule-application" tests="mai-tho" objectiveId="obj-apply-tone-rules"}
|
|
208
220
|
|
|
209
221
|
**Question:** Determine the tone for these syllables:
|
|
210
222
|
|
|
@@ -224,7 +236,7 @@ When reading a new word:
|
|
|
224
236
|
|
|
225
237
|
:::
|
|
226
238
|
|
|
227
|
-
:::exercise{id="tone-rules-1-leading-h" type="matching" title="The Leading ห Trick"}
|
|
239
|
+
:::exercise{id="tone-rules-1-leading-h" type="matching" title="The Leading ห Trick" skill="tone-rule-application" objectiveId="obj-read-tones-without-marks"}
|
|
228
240
|
|
|
229
241
|
**Question:** Match each word to how ห affects the tone
|
|
230
242
|
|
|
@@ -262,4 +274,4 @@ Your foundation is now solid. Everything from here builds on what you've learned
|
|
|
262
274
|
export {
|
|
263
275
|
n as default
|
|
264
276
|
};
|
|
265
|
-
//# sourceMappingURL=lesson-08-
|
|
277
|
+
//# sourceMappingURL=lesson-08-Bru0PdEK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lesson-08-Bru0PdEK.js","sources":["../src/syllabi/vowels-tones/lessons/lesson-08.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-vowels-lesson-08\\ntitle: \\\"บทที่ 8 — กฎเสียงวรรณยุกต์\\\"\\ndescription: \\\"Complete Tone Rules: Determining tone from syllable structure\\\"\\norder: 8\\nparentId: thai-vowels-tones\\ndifficulty: intermediate\\ncefrLevel: A1\\ncategories:\\n - tones\\n - tone-rules\\n - phonology\\nmetadata:\\n estimatedTime: 40\\n prerequisites:\\n - thai-vowels-lesson-07\\n learningObjectives:\\n - id: obj-live-vs-dead-syllables\\n description: \\\"Understand live vs dead syllables\\\"\\n skill: syllable-analysis\\n references: []\\n - id: obj-apply-tone-rules\\n description: \\\"Apply tone rules based on syllable structure\\\"\\n skill: tone-rule-application\\n references: [mai-ek, mai-tho]\\n - id: obj-complete-tone-system\\n description: \\\"Master the complete tone determination system\\\"\\n skill: tone-rule-application\\n references: [mai-ek, mai-tho, mai-tri, mai-chattawa]\\n - id: obj-read-tones-without-marks\\n description: \\\"Practice reading tones without marks\\\"\\n skill: syllable-analysis\\n references: []\\n---\\n\\n# บทที่ 8 (Lesson 8) — Complete Tone Rules\\n\\n## Introduction\\n\\nThis final lesson ties everything together. You'll learn how to determine the tone of **any** Thai syllable — even those without tone marks — based on three factors:\\n1. **Consonant class** (middle, high, low)\\n2. **Vowel length** (short vs long)\\n3. **Syllable type** (live vs dead)\\n\\n## Live vs Dead Syllables\\n\\nThai syllables are classified as **live** (คำเป็น) or **dead** (คำตาย):\\n\\n| Type | Thai | Ends With | Example |\\n|------|------|-----------|---------|\\n| Live | คำเป็น | Long vowel OR sonorant (ง, น, ม, ย, ว, ร, ล) | มา, กิน |\\n| Dead | คำตาย | Short vowel OR stop consonant (ก, บ, ด) | มะ, มัก |\\n\\n**Sonorants** are: ง, น, ม, ย, ว, ร, ล — these allow the voice to continue.\\n**Stops** are: ก, บ, ด (and their homophones) — these cut off the sound.\\n\\n## The Master Tone Chart\\n\\nThis chart shows the default tone (no tone mark) for each combination:\\n\\n### Without Tone Marks\\n\\n| Class | Live Syllable | Dead (Short) | Dead (Long) |\\n|-------|---------------|--------------|-------------|\\n| Middle | Mid | Low | Low |\\n| High | Rising | Low | Low |\\n| Low | Mid | High | Falling |\\n\\n### With Mai Ek (่)\\n\\n| Class | Result |\\n|-------|--------|\\n| Middle | Low |\\n| High | Low |\\n| Low | Falling |\\n\\n### With Mai Tho (้)\\n\\n| Class | Result |\\n|-------|--------|\\n| Middle | Falling |\\n| High | Falling |\\n| Low | High |\\n\\n## Step-by-Step Tone Determination\\n\\nTo find the tone of any syllable:\\n\\n1. **Identify the initial consonant class** (middle, high, low)\\n2. **Check for tone marks** — if present, use the tone mark chart\\n3. **If no tone mark**:\\n - Determine if the syllable is live or dead\\n - If dead, check if the vowel is short or long\\n - Apply the master chart\\n\\n## Worked Examples\\n\\n### Example 1: มา (maa)\\n- Initial consonant: ม (low class)\\n- Tone mark: none\\n- Syllable type: live (ends in long vowel า)\\n- **Result**: Mid tone → มา (maa)\\n\\n### Example 2: มัก (mak)\\n- Initial consonant: ม (low class)\\n- Tone mark: none\\n- Syllable type: dead (ends in stop ก)\\n- Vowel: short (ั)\\n- **Result**: High tone → มัก (mák)\\n\\n### Example 3: ข้าว (khaao)\\n- Initial consonant: ข (high class)\\n- Tone mark: mai tho (้)\\n- **Result**: Falling tone → ข้าว (khâao)\\n\\n### Example 4: ตก (dtok)\\n- Initial consonant: ต (middle class)\\n- Tone mark: none\\n- Syllable type: dead (ends in stop ก)\\n- **Result**: Low tone → ตก (dtòk)\\n\\n## The Leading ห Trick\\n\\nLow class consonants **cannot produce rising or low tones** on their own. Thai solves this with the \\\"leading ห\\\" pattern:\\n\\n**ห + low class consonant** = acts like high class\\n\\n| Without ห | With ห | Effect |\\n|-----------|--------|--------|\\n| มา (mid) | หมา (rising) | Now can get rising tone |\\n| นา (mid) | หนา (rising) | Same pattern |\\n\\nThis is why หมา (dog) has a rising tone even though ม is low class.\\n\\n## Common Patterns\\n\\n### Food Words Often Have Falling Tones\\n- ข้าว (khâao) — rice\\n- ก๋วยเตี๋ยว (gǔai-dtǐao) — noodles\\n- น้ำ (náam) — water\\n\\n### Question Particles\\n- ไหม (mǎi) — yes/no question\\n- หรือ (rʉ̌ʉ) — or\\n\\n### Negation\\n- ไม่ (mâi) — not\\n- ไม่ใช่ (mâi châi) — is not\\n\\n## Key Points\\n\\n1. **Three factors**: Class + vowel length + syllable type determine tone\\n2. **Live vs dead**: Open syllables vs closed syllables\\n3. **Leading ห**: Converts low class behavior to high class\\n4. **Practice is key**: Eventually this becomes intuitive\\n\\n## Tone Practice Checklist\\n\\nWhen reading a new word:\\n1. ✓ What class is the initial consonant?\\n2. ✓ Is there a tone mark?\\n3. ✓ If no mark: is it live or dead?\\n4. ✓ If dead: short or long vowel?\\n5. ✓ Apply the rule from the chart\\n\\n## Common Mistakes to Avoid\\n\\n1. **Forgetting syllable type**: Dead syllables without marks aren't mid tone\\n2. **Ignoring ห**: It's not silent — it changes the tone class\\n3. **Class confusion**: Review consonant classes from the alphabet course\\n4. **Over-relying on marks**: Many words have no tone marks\\n\\n## Complete Tone Rules Summary Table\\n\\n### Live Syllables (No Tone Mark)\\n\\n| Consonant Class | Tone | Example |\\n|----------------|------|---------|\\n| Middle | Mid | กา (gaa) |\\n| High | Rising | ขา (khǎa) |\\n| Low | Mid | คา (khaa) |\\n\\n### Dead Syllables (No Tone Mark)\\n\\n| Consonant Class | Short Vowel | Long Vowel | Example (Short) |\\n|----------------|------------|------------|-----------------|\\n| Middle | Low | Low | ตก (dtòk) |\\n| High | Low | Low | ขก (khòk) |\\n| Low | High | Falling | มัก (mák) |\\n\\n### With Tone Marks\\n\\n| Mark | Middle | High | Low |\\n|------|--------|------|-----|\\n| ◌่ (mai ek) | Low | Low | Falling |\\n| ◌้ (mai tho) | Falling | Falling | High |\\n| ◌๊ (mai tri) | High | — | — |\\n| ◌๋ (mai chattawa) | Rising | — | — |\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"tone-rules-1-syllable-type\\\" type=\\\"multiple-choice\\\" title=\\\"Live vs Dead Syllable\\\" skill=\\\"syllable-analysis\\\" objectiveId=\\\"obj-live-vs-dead-syllables\\\"}\\n\\n**Question:** Which syllable is \\\"dead\\\" (คำตาย)?\\n\\n**Options:**\\n- มา (maa) - ends in long vowel\\n- กิน (gin) - ends in น (sonorant)\\n- ตก (dtok) - ends in ก (stop)\\n- งู (nguu) - ends in long vowel\\n\\n**Answer:** 3\\n\\n**Explanation:** Dead syllables end in a stop consonant (ก, บ, ด) or have a short vowel. มา and งู are live (long vowels), กิน is live (ends in sonorant น), but ตก is dead (ends in stop ก).\\n\\n:::\\n\\n:::exercise{id=\\\"tone-rules-1-tone-determination\\\" type=\\\"fill-in-blank\\\" title=\\\"Tone Determination Practice\\\" skill=\\\"tone-rule-application\\\" tests=\\\"mai-tho\\\" objectiveId=\\\"obj-apply-tone-rules\\\"}\\n\\n**Question:** Determine the tone for these syllables:\\n\\n- มา (low-class ม, no mark, live syllable)\\n- มัก (low-class ม, no mark, dead syllable, short vowel)\\n- ขา (high-class ข, no mark, live syllable)\\n- ค้า (low-class ค, mai tho, live syllable)\\n\\n**Answer:**\\n\\n- มา → Mid tone (low-class, live, no mark)\\n- มัก → High tone (low-class, dead, short vowel, no mark)\\n- ขา → Rising tone (high-class, live, no mark)\\n- ค้า → High tone (low-class + mai tho = high tone exception)\\n\\n**Explanation:** Follow the step-by-step process: identify class, check for tone mark, determine syllable type, apply the rules from the chart.\\n\\n:::\\n\\n:::exercise{id=\\\"tone-rules-1-leading-h\\\" type=\\\"matching\\\" title=\\\"The Leading ห Trick\\\" skill=\\\"tone-rule-application\\\" objectiveId=\\\"obj-read-tones-without-marks\\\"}\\n\\n**Question:** Match each word to how ห affects the tone\\n\\n- หมา (dog)\\n- หนา (thick)\\n- หงา (rare)\\n\\n**Answer:**\\n\\n- หมา → ห lifts ม (low-class) to high-class behavior, producing rising tone\\n- หนา → ห lifts น (low-class) to high-class behavior, producing rising tone\\n- หงา → ห lifts ง (low-class) to high-class behavior, producing rising tone\\n\\n**Explanation:** Leading ห (silent) changes low-class consonants to behave like high-class for tone purposes. This allows low-class consonants to produce rising tones, which they normally cannot do.\\n\\n:::\\n\\n## What You've Learned\\n\\nCongratulations! You now understand:\\n- All 32 Thai vowel forms\\n- Short vs long vowel distinction\\n- The 4 tone marks\\n- Complete tone rules for any syllable\\n\\n## Next Steps\\n\\nWith vowels and tones mastered, you're ready for:\\n- **Numbers & Counting** — Apply your reading skills to practical vocabulary\\n- **Essential Phrases** — Start forming complete sentences\\n- **Thai Typing** — Build muscle memory for keyboard input\\n\\nYour foundation is now solid. Everything from here builds on what you've learned!\\n\""],"names":["lesson08"],"mappings":"AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
|
@@ -15,11 +15,19 @@ metadata:
|
|
|
15
15
|
estimatedTime: 30
|
|
16
16
|
prerequisites:
|
|
17
17
|
- thai-dialogue-lesson-07
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
-
|
|
18
|
+
learningObjectives:
|
|
19
|
+
- id: obj-plans-suggest
|
|
20
|
+
description: "Suggest activities"
|
|
21
|
+
skill: situational-response
|
|
22
|
+
- id: obj-plans-accept-decline
|
|
23
|
+
description: "Accept and decline invitations politely"
|
|
24
|
+
skill: polite-register
|
|
25
|
+
- id: obj-plans-time-place
|
|
26
|
+
description: "Set times and places to meet"
|
|
27
|
+
skill: word-production
|
|
28
|
+
- id: obj-plans-reschedule
|
|
29
|
+
description: "Reschedule plans"
|
|
30
|
+
skill: dialogue-comprehension
|
|
23
31
|
---
|
|
24
32
|
|
|
25
33
|
# บทที่ 8 (Lesson 8) — Making Plans
|
|
@@ -128,7 +136,7 @@ Thais often make plans somewhat loosely and last-minute changes are common. Don'
|
|
|
128
136
|
|
|
129
137
|
## Practice Exercises
|
|
130
138
|
|
|
131
|
-
:::exercise{id="dialogue-8-making-plans" type="matching" title="Planning Phrases"}
|
|
139
|
+
:::exercise{id="dialogue-8-making-plans" type="matching" title="Planning Phrases" skill="word-recognition" objectiveId="obj-plans-suggest"}
|
|
132
140
|
|
|
133
141
|
**Question:** Match each phrase to its meaning
|
|
134
142
|
|
|
@@ -148,7 +156,7 @@ Thais often make plans somewhat loosely and last-minute changes are common. Don'
|
|
|
148
156
|
|
|
149
157
|
:::
|
|
150
158
|
|
|
151
|
-
:::exercise{id="dialogue-8-declining" type="fill-in-blank" title="Politely Declining"}
|
|
159
|
+
:::exercise{id="dialogue-8-declining" type="fill-in-blank" title="Politely Declining" skill="polite-register" objectiveId="obj-plans-accept-decline"}
|
|
152
160
|
|
|
153
161
|
**Question:** How do you politely decline an invitation in Thai?
|
|
154
162
|
|
|
@@ -163,7 +171,7 @@ You can say:
|
|
|
163
171
|
|
|
164
172
|
:::
|
|
165
173
|
|
|
166
|
-
:::exercise{id="dialogue-8-time-expressions" type="multiple-choice" title="Time Expressions"}
|
|
174
|
+
:::exercise{id="dialogue-8-time-expressions" type="multiple-choice" title="Time Expressions" skill="pattern-recognition" objectiveId="obj-plans-time-place"}
|
|
167
175
|
|
|
168
176
|
**Question:** How do you say "this Saturday" in Thai?
|
|
169
177
|
|
|
@@ -194,4 +202,4 @@ Keep practicing these dialogues, and don't be afraid to make mistakes - Thais ap
|
|
|
194
202
|
export {
|
|
195
203
|
n as default
|
|
196
204
|
};
|
|
197
|
-
//# sourceMappingURL=lesson-08-
|
|
205
|
+
//# sourceMappingURL=lesson-08-Dd-8cbGW.js.map
|