@polyglot-bundles/th 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (276) hide show
  1. package/dist/index-4uNMctdq.js +82 -0
  2. package/dist/index-4uNMctdq.js.map +1 -0
  3. package/dist/index-BM-LWlCm.js +52 -0
  4. package/dist/index-BM-LWlCm.js.map +1 -0
  5. package/dist/index-Bjym0crS.js +48 -0
  6. package/dist/index-Bjym0crS.js.map +1 -0
  7. package/dist/index-BuKXw7-Z.js +46 -0
  8. package/dist/index-BuKXw7-Z.js.map +1 -0
  9. package/dist/index-ByS0o5dz.js +52 -0
  10. package/dist/index-ByS0o5dz.js.map +1 -0
  11. package/dist/index-C9VnG7dT.js +52 -0
  12. package/dist/index-C9VnG7dT.js.map +1 -0
  13. package/dist/index-CPQkjFjV.js +50 -0
  14. package/dist/index-CPQkjFjV.js.map +1 -0
  15. package/dist/index-CkHd3Fal.js +56 -0
  16. package/dist/index-CkHd3Fal.js.map +1 -0
  17. package/dist/index-DBkPBXe2.js +52 -0
  18. package/dist/index-DBkPBXe2.js.map +1 -0
  19. package/dist/index.d.ts +15 -0
  20. package/dist/index.js +64 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/lesson-01-B0wtSaSl.js +118 -0
  23. package/dist/lesson-01-B0wtSaSl.js.map +1 -0
  24. package/dist/lesson-01-C9vbUlA4.js +138 -0
  25. package/dist/lesson-01-C9vbUlA4.js.map +1 -0
  26. package/dist/lesson-01-CPmBFTe0.js +132 -0
  27. package/dist/lesson-01-CPmBFTe0.js.map +1 -0
  28. package/dist/lesson-01-Cc4Ws8eR.js +158 -0
  29. package/dist/lesson-01-Cc4Ws8eR.js.map +1 -0
  30. package/dist/lesson-01-Cm5k-m-9.js +136 -0
  31. package/dist/lesson-01-Cm5k-m-9.js.map +1 -0
  32. package/dist/lesson-01-DELblCNj.js +97 -0
  33. package/dist/lesson-01-DELblCNj.js.map +1 -0
  34. package/dist/lesson-01-Djl_72e7.js +153 -0
  35. package/dist/lesson-01-Djl_72e7.js.map +1 -0
  36. package/dist/lesson-01-LEHTeGQQ.js +155 -0
  37. package/dist/lesson-01-LEHTeGQQ.js.map +1 -0
  38. package/dist/lesson-01-ih_-OO_O.js +111 -0
  39. package/dist/lesson-01-ih_-OO_O.js.map +1 -0
  40. package/dist/lesson-02-B2aZrKUQ.js +120 -0
  41. package/dist/lesson-02-B2aZrKUQ.js.map +1 -0
  42. package/dist/lesson-02-BI1Vnwiz.js +169 -0
  43. package/dist/lesson-02-BI1Vnwiz.js.map +1 -0
  44. package/dist/lesson-02-BXbwEMaL.js +180 -0
  45. package/dist/lesson-02-BXbwEMaL.js.map +1 -0
  46. package/dist/lesson-02-CbJJ5Amt.js +201 -0
  47. package/dist/lesson-02-CbJJ5Amt.js.map +1 -0
  48. package/dist/lesson-02-DGrALAgG.js +203 -0
  49. package/dist/lesson-02-DGrALAgG.js.map +1 -0
  50. package/dist/lesson-02-DcMDDBDL.js +116 -0
  51. package/dist/lesson-02-DcMDDBDL.js.map +1 -0
  52. package/dist/lesson-02-Dk59HZWp.js +222 -0
  53. package/dist/lesson-02-Dk59HZWp.js.map +1 -0
  54. package/dist/lesson-02-L8oNhBej.js +145 -0
  55. package/dist/lesson-02-L8oNhBej.js.map +1 -0
  56. package/dist/lesson-02-VDOme3ES.js +204 -0
  57. package/dist/lesson-02-VDOme3ES.js.map +1 -0
  58. package/dist/lesson-03-9WioSe19.js +196 -0
  59. package/dist/lesson-03-9WioSe19.js.map +1 -0
  60. package/dist/lesson-03-BZutWzMD.js +124 -0
  61. package/dist/lesson-03-BZutWzMD.js.map +1 -0
  62. package/dist/lesson-03-CSIF5xRS.js +181 -0
  63. package/dist/lesson-03-CSIF5xRS.js.map +1 -0
  64. package/dist/lesson-03-CSKig363.js +225 -0
  65. package/dist/lesson-03-CSKig363.js.map +1 -0
  66. package/dist/lesson-03-CoDPKwa1.js +152 -0
  67. package/dist/lesson-03-CoDPKwa1.js.map +1 -0
  68. package/dist/lesson-03-DPJOG2M_.js +138 -0
  69. package/dist/lesson-03-DPJOG2M_.js.map +1 -0
  70. package/dist/lesson-03-DkjCuJ26.js +237 -0
  71. package/dist/lesson-03-DkjCuJ26.js.map +1 -0
  72. package/dist/lesson-03-DucbRMOQ.js +171 -0
  73. package/dist/lesson-03-DucbRMOQ.js.map +1 -0
  74. package/dist/lesson-03-MIne1PbH.js +185 -0
  75. package/dist/lesson-03-MIne1PbH.js.map +1 -0
  76. package/dist/lesson-04-0Pj_x1DU.js +233 -0
  77. package/dist/lesson-04-0Pj_x1DU.js.map +1 -0
  78. package/dist/lesson-04-B9h0p9kE.js +190 -0
  79. package/dist/lesson-04-B9h0p9kE.js.map +1 -0
  80. package/dist/lesson-04-BLuPI1-X.js +216 -0
  81. package/dist/lesson-04-BLuPI1-X.js.map +1 -0
  82. package/dist/lesson-04-CmDvofL4.js +230 -0
  83. package/dist/lesson-04-CmDvofL4.js.map +1 -0
  84. package/dist/lesson-04-DGKHK4LW.js +178 -0
  85. package/dist/lesson-04-DGKHK4LW.js.map +1 -0
  86. package/dist/lesson-04-DUcHZzsk.js +218 -0
  87. package/dist/lesson-04-DUcHZzsk.js.map +1 -0
  88. package/dist/lesson-04-DnVIXXk-.js +141 -0
  89. package/dist/lesson-04-DnVIXXk-.js.map +1 -0
  90. package/dist/lesson-04-FZnIE7tu.js +187 -0
  91. package/dist/lesson-04-FZnIE7tu.js.map +1 -0
  92. package/dist/lesson-04-ToX3nRz1.js +172 -0
  93. package/dist/lesson-04-ToX3nRz1.js.map +1 -0
  94. package/dist/lesson-05-2aTCGXMh.js +181 -0
  95. package/dist/lesson-05-2aTCGXMh.js.map +1 -0
  96. package/dist/lesson-05-BvitRdE8.js +206 -0
  97. package/dist/lesson-05-BvitRdE8.js.map +1 -0
  98. package/dist/lesson-05-CgXGkcjS.js +143 -0
  99. package/dist/lesson-05-CgXGkcjS.js.map +1 -0
  100. package/dist/lesson-05-ClfrUrvX.js +244 -0
  101. package/dist/lesson-05-ClfrUrvX.js.map +1 -0
  102. package/dist/lesson-05-D2zf9n7k.js +201 -0
  103. package/dist/lesson-05-D2zf9n7k.js.map +1 -0
  104. package/dist/lesson-05-DWquBfdl.js +220 -0
  105. package/dist/lesson-05-DWquBfdl.js.map +1 -0
  106. package/dist/lesson-05-DpIkwhJ8.js +244 -0
  107. package/dist/lesson-05-DpIkwhJ8.js.map +1 -0
  108. package/dist/lesson-05-UYz39ORV.js +189 -0
  109. package/dist/lesson-05-UYz39ORV.js.map +1 -0
  110. package/dist/lesson-05-t6XuANiZ.js +180 -0
  111. package/dist/lesson-05-t6XuANiZ.js.map +1 -0
  112. package/dist/lesson-06-B2y08mKv.js +238 -0
  113. package/dist/lesson-06-B2y08mKv.js.map +1 -0
  114. package/dist/lesson-06-CHqaVQix.js +202 -0
  115. package/dist/lesson-06-CHqaVQix.js.map +1 -0
  116. package/dist/lesson-06-CaCZBX1V.js +273 -0
  117. package/dist/lesson-06-CaCZBX1V.js.map +1 -0
  118. package/dist/lesson-06-ClplsJBT.js +204 -0
  119. package/dist/lesson-06-ClplsJBT.js.map +1 -0
  120. package/dist/lesson-06-CzGnNKo5.js +141 -0
  121. package/dist/lesson-06-CzGnNKo5.js.map +1 -0
  122. package/dist/lesson-06-Dg_bQLNC.js +172 -0
  123. package/dist/lesson-06-Dg_bQLNC.js.map +1 -0
  124. package/dist/lesson-06-OWFMgO0a.js +231 -0
  125. package/dist/lesson-06-OWFMgO0a.js.map +1 -0
  126. package/dist/lesson-06-Q2aRAzws.js +190 -0
  127. package/dist/lesson-06-Q2aRAzws.js.map +1 -0
  128. package/dist/lesson-07-BLDUA_Ff.js +194 -0
  129. package/dist/lesson-07-BLDUA_Ff.js.map +1 -0
  130. package/dist/lesson-07-BpyF1Ssq.js +236 -0
  131. package/dist/lesson-07-BpyF1Ssq.js.map +1 -0
  132. package/dist/lesson-07-C4GrfDTW.js +234 -0
  133. package/dist/lesson-07-C4GrfDTW.js.map +1 -0
  134. package/dist/lesson-07-CVCUt1Jn.js +206 -0
  135. package/dist/lesson-07-CVCUt1Jn.js.map +1 -0
  136. package/dist/lesson-07-DQFXCZsZ.js +197 -0
  137. package/dist/lesson-07-DQFXCZsZ.js.map +1 -0
  138. package/dist/lesson-07-Dcry2Yjo.js +248 -0
  139. package/dist/lesson-07-Dcry2Yjo.js.map +1 -0
  140. package/dist/lesson-07-JS_cqdNr.js +142 -0
  141. package/dist/lesson-07-JS_cqdNr.js.map +1 -0
  142. package/dist/lesson-08-18gscaS0.js +227 -0
  143. package/dist/lesson-08-18gscaS0.js.map +1 -0
  144. package/dist/lesson-08-2kBUq_B2.js +220 -0
  145. package/dist/lesson-08-2kBUq_B2.js.map +1 -0
  146. package/dist/lesson-08-BP5lpiGe.js +287 -0
  147. package/dist/lesson-08-BP5lpiGe.js.map +1 -0
  148. package/dist/lesson-08-BXm9GgdN.js +146 -0
  149. package/dist/lesson-08-BXm9GgdN.js.map +1 -0
  150. package/dist/lesson-08-Bru0PdEK.js +277 -0
  151. package/dist/lesson-08-Bru0PdEK.js.map +1 -0
  152. package/dist/lesson-08-Dd-8cbGW.js +205 -0
  153. package/dist/lesson-08-Dd-8cbGW.js.map +1 -0
  154. package/dist/lesson-09-B1qWE3Yl.js +221 -0
  155. package/dist/lesson-09-B1qWE3Yl.js.map +1 -0
  156. package/dist/lesson-09-B5Vb70xj.js +143 -0
  157. package/dist/lesson-09-B5Vb70xj.js.map +1 -0
  158. package/dist/lesson-10-00qNLc7A.js +233 -0
  159. package/dist/lesson-10-00qNLc7A.js.map +1 -0
  160. package/dist/lesson-10-Dw-Jtm3D.js +156 -0
  161. package/dist/lesson-10-Dw-Jtm3D.js.map +1 -0
  162. package/dist/lesson-11-BM3R_S7I.js +260 -0
  163. package/dist/lesson-11-BM3R_S7I.js.map +1 -0
  164. package/dist/lesson-12-D1Wx7CyK.js +277 -0
  165. package/dist/lesson-12-D1Wx7CyK.js.map +1 -0
  166. package/dist/skills-hcn-pGD0.js +244 -0
  167. package/dist/skills-hcn-pGD0.js.map +1 -0
  168. package/dist/syllabi/alphabet/index.d.ts +7 -0
  169. package/dist/syllabi/alphabet/index.js +9 -0
  170. package/dist/syllabi/alphabet/index.js.map +1 -0
  171. package/dist/syllabi/dialogue/index.d.ts +7 -0
  172. package/dist/syllabi/dialogue/index.js +10 -0
  173. package/dist/syllabi/dialogue/index.js.map +1 -0
  174. package/dist/syllabi/essentials/index.d.ts +7 -0
  175. package/dist/syllabi/essentials/index.js +10 -0
  176. package/dist/syllabi/essentials/index.js.map +1 -0
  177. package/dist/syllabi/food/index.d.ts +7 -0
  178. package/dist/syllabi/food/index.js +10 -0
  179. package/dist/syllabi/food/index.js.map +1 -0
  180. package/dist/syllabi/grammar/index.d.ts +7 -0
  181. package/dist/syllabi/grammar/index.js +10 -0
  182. package/dist/syllabi/grammar/index.js.map +1 -0
  183. package/dist/syllabi/numbers/index.d.ts +7 -0
  184. package/dist/syllabi/numbers/index.js +10 -0
  185. package/dist/syllabi/numbers/index.js.map +1 -0
  186. package/dist/syllabi/reading/index.d.ts +7 -0
  187. package/dist/syllabi/reading/index.js +10 -0
  188. package/dist/syllabi/reading/index.js.map +1 -0
  189. package/dist/syllabi/travel/index.d.ts +7 -0
  190. package/dist/syllabi/travel/index.js +10 -0
  191. package/dist/syllabi/travel/index.js.map +1 -0
  192. package/dist/syllabi/vowels-tones/index.d.ts +7 -0
  193. package/dist/syllabi/vowels-tones/index.js +10 -0
  194. package/dist/syllabi/vowels-tones/index.js.map +1 -0
  195. package/package.json +92 -0
  196. package/src/syllabi/alphabet/lessons/lesson-01.mdx +153 -0
  197. package/src/syllabi/alphabet/lessons/lesson-02.mdx +196 -0
  198. package/src/syllabi/alphabet/lessons/lesson-03.mdx +147 -0
  199. package/src/syllabi/alphabet/lessons/lesson-04.mdx +211 -0
  200. package/src/syllabi/alphabet/lessons/lesson-05.mdx +196 -0
  201. package/src/syllabi/alphabet/lessons/lesson-06.mdx +226 -0
  202. package/src/syllabi/alphabet/lessons/lesson-07.mdx +231 -0
  203. package/src/syllabi/alphabet/lessons/lesson-08.mdx +222 -0
  204. package/src/syllabi/alphabet/lessons/lesson-09.mdx +216 -0
  205. package/src/syllabi/alphabet/lessons/lesson-10.mdx +228 -0
  206. package/src/syllabi/alphabet/lessons/lesson-11.mdx +255 -0
  207. package/src/syllabi/alphabet/lessons/lesson-12.mdx +272 -0
  208. package/src/syllabi/alphabet/meta.mdx +106 -0
  209. package/src/syllabi/dialogue/lessons/lesson-01.mdx +106 -0
  210. package/src/syllabi/dialogue/lessons/lesson-02.mdx +115 -0
  211. package/src/syllabi/dialogue/lessons/lesson-03.mdx +119 -0
  212. package/src/syllabi/dialogue/lessons/lesson-04.mdx +167 -0
  213. package/src/syllabi/dialogue/lessons/lesson-05.mdx +184 -0
  214. package/src/syllabi/dialogue/lessons/lesson-06.mdx +167 -0
  215. package/src/syllabi/dialogue/lessons/lesson-07.mdx +192 -0
  216. package/src/syllabi/dialogue/lessons/lesson-08.mdx +200 -0
  217. package/src/syllabi/dialogue/meta.mdx +58 -0
  218. package/src/syllabi/essentials/lessons/lesson-01.mdx +133 -0
  219. package/src/syllabi/essentials/lessons/lesson-02.mdx +199 -0
  220. package/src/syllabi/essentials/lessons/lesson-03.mdx +220 -0
  221. package/src/syllabi/essentials/lessons/lesson-04.mdx +228 -0
  222. package/src/syllabi/essentials/lessons/lesson-05.mdx +239 -0
  223. package/src/syllabi/essentials/lessons/lesson-06.mdx +268 -0
  224. package/src/syllabi/essentials/meta.mdx +99 -0
  225. package/src/syllabi/food/lessons/lesson-01.mdx +148 -0
  226. package/src/syllabi/food/lessons/lesson-02.mdx +217 -0
  227. package/src/syllabi/food/lessons/lesson-03.mdx +232 -0
  228. package/src/syllabi/food/lessons/lesson-04.mdx +225 -0
  229. package/src/syllabi/food/lessons/lesson-05.mdx +239 -0
  230. package/src/syllabi/food/lessons/lesson-06.mdx +233 -0
  231. package/src/syllabi/food/lessons/lesson-07.mdx +243 -0
  232. package/src/syllabi/food/lessons/lesson-08.mdx +282 -0
  233. package/src/syllabi/food/meta.mdx +102 -0
  234. package/src/syllabi/grammar/lessons/lesson-01.mdx +92 -0
  235. package/src/syllabi/grammar/lessons/lesson-02.mdx +111 -0
  236. package/src/syllabi/grammar/lessons/lesson-03.mdx +176 -0
  237. package/src/syllabi/grammar/lessons/lesson-04.mdx +185 -0
  238. package/src/syllabi/grammar/lessons/lesson-05.mdx +176 -0
  239. package/src/syllabi/grammar/lessons/lesson-06.mdx +197 -0
  240. package/src/syllabi/grammar/lessons/lesson-07.mdx +201 -0
  241. package/src/syllabi/grammar/lessons/lesson-08.mdx +215 -0
  242. package/src/syllabi/grammar/meta.mdx +57 -0
  243. package/src/syllabi/numbers/lessons/lesson-01.mdx +127 -0
  244. package/src/syllabi/numbers/lessons/lesson-02.mdx +198 -0
  245. package/src/syllabi/numbers/lessons/lesson-03.mdx +191 -0
  246. package/src/syllabi/numbers/lessons/lesson-04.mdx +213 -0
  247. package/src/syllabi/numbers/lessons/lesson-05.mdx +215 -0
  248. package/src/syllabi/numbers/meta.mdx +93 -0
  249. package/src/syllabi/reading/lessons/lesson-01.mdx +131 -0
  250. package/src/syllabi/reading/lessons/lesson-02.mdx +140 -0
  251. package/src/syllabi/reading/lessons/lesson-03.mdx +133 -0
  252. package/src/syllabi/reading/lessons/lesson-04.mdx +136 -0
  253. package/src/syllabi/reading/lessons/lesson-05.mdx +138 -0
  254. package/src/syllabi/reading/lessons/lesson-06.mdx +136 -0
  255. package/src/syllabi/reading/lessons/lesson-07.mdx +137 -0
  256. package/src/syllabi/reading/lessons/lesson-08.mdx +141 -0
  257. package/src/syllabi/reading/lessons/lesson-09.mdx +138 -0
  258. package/src/syllabi/reading/lessons/lesson-10.mdx +151 -0
  259. package/src/syllabi/reading/meta.mdx +46 -0
  260. package/src/syllabi/travel/lessons/lesson-01.mdx +150 -0
  261. package/src/syllabi/travel/lessons/lesson-02.mdx +164 -0
  262. package/src/syllabi/travel/lessons/lesson-03.mdx +166 -0
  263. package/src/syllabi/travel/lessons/lesson-04.mdx +173 -0
  264. package/src/syllabi/travel/lessons/lesson-05.mdx +175 -0
  265. package/src/syllabi/travel/lessons/lesson-06.mdx +185 -0
  266. package/src/syllabi/travel/lessons/lesson-07.mdx +189 -0
  267. package/src/syllabi/travel/meta.mdx +58 -0
  268. package/src/syllabi/vowels-tones/lessons/lesson-01.mdx +113 -0
  269. package/src/syllabi/vowels-tones/lessons/lesson-02.mdx +175 -0
  270. package/src/syllabi/vowels-tones/lessons/lesson-03.mdx +180 -0
  271. package/src/syllabi/vowels-tones/lessons/lesson-04.mdx +182 -0
  272. package/src/syllabi/vowels-tones/lessons/lesson-05.mdx +201 -0
  273. package/src/syllabi/vowels-tones/lessons/lesson-06.mdx +199 -0
  274. package/src/syllabi/vowels-tones/lessons/lesson-07.mdx +229 -0
  275. package/src/syllabi/vowels-tones/lessons/lesson-08.mdx +272 -0
  276. package/src/syllabi/vowels-tones/meta.mdx +89 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["/**\n * @syllst/th\n *\n * Thai SYLLST content package.\n * Contains all Thai language syllabi: alphabet, vowels-tones, numbers,\n * essentials, food, travel, dialogue, grammar, and reading.\n */\n\n// Re-export all syllabi\nexport * as alphabet from './syllabi/alphabet/index.js';\nexport * as vowelsTones from './syllabi/vowels-tones/index.js';\nexport * as numbers from './syllabi/numbers/index.js';\nexport * as essentials from './syllabi/essentials/index.js';\nexport * as food from './syllabi/food/index.js';\nexport * as travel from './syllabi/travel/index.js';\nexport * as dialogue from './syllabi/dialogue/index.js';\nexport * as grammar from './syllabi/grammar/index.js';\nexport * as reading from './syllabi/reading/index.js';\n\n// Re-export configs for convenience\nexport { config as alphabetConfig } from './syllabi/alphabet/index.js';\nexport { config as vowelsTonesConfig } from './syllabi/vowels-tones/index.js';\nexport { config as numbersConfig } from './syllabi/numbers/index.js';\nexport { config as essentialsConfig } from './syllabi/essentials/index.js';\nexport { config as foodConfig } from './syllabi/food/index.js';\nexport { config as travelConfig } from './syllabi/travel/index.js';\nexport { config as dialogueConfig } from './syllabi/dialogue/index.js';\nexport { config as grammarConfig } from './syllabi/grammar/index.js';\nexport { config as readingConfig } from './syllabi/reading/index.js';\n\n// Re-export loaders for convenience\nexport { loader as alphabetLoader } from './syllabi/alphabet/index.js';\nexport { loader as vowelsTonesLoader } from './syllabi/vowels-tones/index.js';\nexport { loader as numbersLoader } from './syllabi/numbers/index.js';\nexport { loader as essentialsLoader } from './syllabi/essentials/index.js';\nexport { loader as foodLoader } from './syllabi/food/index.js';\nexport { loader as travelLoader } from './syllabi/travel/index.js';\nexport { loader as dialogueLoader } from './syllabi/dialogue/index.js';\nexport { loader as grammarLoader } from './syllabi/grammar/index.js';\nexport { loader as readingLoader } from './syllabi/reading/index.js';\n\n// Re-export types from content-shared\nexport type { SyllabusConfig, ContentLoader, LoadedLesson } from '@syllst/content-shared';\n\n// Export all configs as array for iteration\nimport { config as alphabetConfig } from './syllabi/alphabet/index.js';\nimport { config as vowelsTonesConfig } from './syllabi/vowels-tones/index.js';\nimport { config as numbersConfig } from './syllabi/numbers/index.js';\nimport { config as essentialsConfig } from './syllabi/essentials/index.js';\nimport { config as foodConfig } from './syllabi/food/index.js';\nimport { config as travelConfig } from './syllabi/travel/index.js';\nimport { config as dialogueConfig } from './syllabi/dialogue/index.js';\nimport { config as grammarConfig } from './syllabi/grammar/index.js';\nimport { config as readingConfig } from './syllabi/reading/index.js';\n\nimport type { SyllabusConfig } from '@syllst/content-shared';\n\n/**\n * All Thai syllabi configurations\n */\nexport const allConfigs: SyllabusConfig[] = [\n alphabetConfig,\n vowelsTonesConfig,\n numbersConfig,\n essentialsConfig,\n foodConfig,\n travelConfig,\n dialogueConfig,\n grammarConfig,\n readingConfig,\n];\n\n/**\n * Get a syllabus config by ID\n */\nexport function getConfigById(id: string): SyllabusConfig | undefined {\n return allConfigs.find(c => c.id === id);\n}\n"],"names":["allConfigs","alphabetConfig","vowelsTonesConfig","numbersConfig","essentialsConfig","foodConfig","travelConfig","dialogueConfig","grammarConfig","readingConfig","getConfigById","id","c"],"mappings":";;;;;;;;;;;;;;;;;;AA4DO,MAAMA,IAA+B;AAAA,EAC1CC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AACF;AAKO,SAASC,EAAcC,GAAwC;AACpE,SAAOX,EAAW,KAAK,CAAAY,MAAKA,EAAE,OAAOD,CAAE;AACzC;"}
@@ -0,0 +1,118 @@
1
+ const n = `---
2
+ type: lesson
3
+ id: thai-vowels-lesson-01
4
+ title: "บทที่ 1 — สระเสียงสั้น I"
5
+ description: "Short Vowels Part 1: Above and below the consonant"
6
+ order: 1
7
+ parentId: thai-vowels-tones
8
+ difficulty: beginner
9
+ cefrLevel: A1
10
+ categories:
11
+ - vowels
12
+ - short-vowels
13
+ - basic-vowels
14
+ metadata:
15
+ estimatedTime: 30
16
+ prerequisites:
17
+ - thai-alphabet
18
+ learningObjectives:
19
+ - id: obj-recognize-above-vowels
20
+ description: "Recognize vowels written above consonants"
21
+ skill: character-recognition
22
+ references: [vowel-i, vowel-ue]
23
+ - id: obj-recognize-below-vowels
24
+ description: "Recognize vowels written below consonants"
25
+ skill: character-recognition
26
+ references: [vowel-u]
27
+ - id: obj-short-vowel-duration
28
+ description: "Understand the short vowel duration concept"
29
+ skill: character-sound-mapping
30
+ references: [vowel-i, vowel-ue, vowel-u]
31
+ - id: obj-combine-vowels-consonants
32
+ description: "Practice combining vowels with familiar consonants"
33
+ skill: vowel-positioning
34
+ references: [vowel-i, vowel-ue, vowel-u]
35
+ ---
36
+
37
+ # บทที่ 1 (Lesson 1) — Short Vowels I
38
+
39
+ ## Introduction
40
+
41
+ Welcome to Thai vowels! Unlike English where vowels are standalone letters (a, e, i, o, u), Thai vowels are **diacritical marks** that attach to consonants in various positions. In this first lesson, you'll learn vowels that appear **above** and **below** the consonant.
42
+
43
+ ## Why Position Matters
44
+
45
+ Thai vowels can appear in four locations relative to a consonant:
46
+ - **Above** (◌ิ ◌ี) — like hats on the consonant
47
+ - **Below** (◌ุ ◌ู) — like shoes under the consonant
48
+ - **Before** (เ◌ แ◌) — written first, pronounced after
49
+ - **After** (◌า) — written and pronounced after
50
+
51
+ Today we focus on **above** and **below** positions.
52
+
53
+ ## Characters
54
+
55
+ :::character-set{id="thai-short-vowels-above" title="Short Vowels Above Consonant"}
56
+
57
+ ::character{id="vowel-i" canonicalRef="vowel-i" char="ิ" name="สระอิ (sara i)" nativeName="สระอิ" transliteration="i" charType="vowel"}
58
+
59
+ ::character{id="vowel-ue" canonicalRef="vowel-ue" char="ึ" name="สระอึ (sara ue)" nativeName="สระอึ" transliteration="ue" charType="vowel"}
60
+
61
+ :::
62
+
63
+ :::character-set{id="thai-short-vowels-below" title="Short Vowels Below Consonant"}
64
+
65
+ ::character{id="vowel-u" canonicalRef="vowel-u" char="ุ" name="สระอุ (sara u)" nativeName="สระอุ" transliteration="u" charType="vowel"}
66
+
67
+ :::
68
+
69
+ ## How They Combine
70
+
71
+ When you add these vowels to a consonant, watch the position:
72
+
73
+ | Consonant + Vowel | Result | Pronunciation |
74
+ |-------------------|--------|---------------|
75
+ | ก + ิ | กิ | gi |
76
+ | ม + ิ | มิ | mi |
77
+ | ก + ึ | กึ | gue |
78
+ | ก + ุ | กุ | gu |
79
+ | ม + ุ | มุ | mu |
80
+
81
+ ## Short vs Long: A Preview
82
+
83
+ These are **short** vowels — they have a clipped, brief sound:
84
+ - **ิ (i)** is short — like the "i" in English "bit"
85
+ - **ี (ii)** is long — like the "ee" in English "bee"
86
+
87
+ You'll learn the long versions in Lesson 3. For now, focus on the brief, snappy quality of short vowels.
88
+
89
+ ## The "ue" Sound
90
+
91
+ The vowel **ึ** (sara ue) has no direct English equivalent. It's like:
92
+ - Saying "ee" but with unrounded lips
93
+ - Similar to the German "ü" but shorter
94
+ - Position your tongue for "ee" but spread your lips
95
+
96
+ ## Key Points
97
+
98
+ 1. **Position above**: ิ and ึ sit above the consonant like small marks
99
+ 2. **Position below**: ุ sits below the consonant
100
+ 3. **Short duration**: These vowels are brief — don't drag them out
101
+ 4. **No standalone form**: These vowels must attach to a consonant
102
+
103
+ ## Practice Recognition
104
+
105
+ With consonants you know, try reading these syllables:
106
+ - กิ (gi) — like "gee" but shorter
107
+ - มิ (mi) — like "me" but shorter
108
+ - กุ (gu) — like "goo" but shorter
109
+ - มุ (mu) — like "moo" but shorter
110
+
111
+ ## What's Next
112
+
113
+ In Lesson 2, you'll learn more short vowels, including those that appear **before** and **around** consonants — Thai's unique feature where you write one thing but pronounce another!
114
+ `;
115
+ export {
116
+ n as default
117
+ };
118
+ //# sourceMappingURL=lesson-01-B0wtSaSl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-01-B0wtSaSl.js","sources":["../src/syllabi/vowels-tones/lessons/lesson-01.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-vowels-lesson-01\\ntitle: \\\"บทที่ 1 — สระเสียงสั้น I\\\"\\ndescription: \\\"Short Vowels Part 1: Above and below the consonant\\\"\\norder: 1\\nparentId: thai-vowels-tones\\ndifficulty: beginner\\ncefrLevel: A1\\ncategories:\\n - vowels\\n - short-vowels\\n - basic-vowels\\nmetadata:\\n estimatedTime: 30\\n prerequisites:\\n - thai-alphabet\\n learningObjectives:\\n - id: obj-recognize-above-vowels\\n description: \\\"Recognize vowels written above consonants\\\"\\n skill: character-recognition\\n references: [vowel-i, vowel-ue]\\n - id: obj-recognize-below-vowels\\n description: \\\"Recognize vowels written below consonants\\\"\\n skill: character-recognition\\n references: [vowel-u]\\n - id: obj-short-vowel-duration\\n description: \\\"Understand the short vowel duration concept\\\"\\n skill: character-sound-mapping\\n references: [vowel-i, vowel-ue, vowel-u]\\n - id: obj-combine-vowels-consonants\\n description: \\\"Practice combining vowels with familiar consonants\\\"\\n skill: vowel-positioning\\n references: [vowel-i, vowel-ue, vowel-u]\\n---\\n\\n# บทที่ 1 (Lesson 1) — Short Vowels I\\n\\n## Introduction\\n\\nWelcome to Thai vowels! Unlike English where vowels are standalone letters (a, e, i, o, u), Thai vowels are **diacritical marks** that attach to consonants in various positions. In this first lesson, you'll learn vowels that appear **above** and **below** the consonant.\\n\\n## Why Position Matters\\n\\nThai vowels can appear in four locations relative to a consonant:\\n- **Above** (◌ิ ◌ี) — like hats on the consonant\\n- **Below** (◌ุ ◌ู) — like shoes under the consonant\\n- **Before** (เ◌ แ◌) — written first, pronounced after\\n- **After** (◌า) — written and pronounced after\\n\\nToday we focus on **above** and **below** positions.\\n\\n## Characters\\n\\n:::character-set{id=\\\"thai-short-vowels-above\\\" title=\\\"Short Vowels Above Consonant\\\"}\\n\\n::character{id=\\\"vowel-i\\\" canonicalRef=\\\"vowel-i\\\" char=\\\"ิ\\\" name=\\\"สระอิ (sara i)\\\" nativeName=\\\"สระอิ\\\" transliteration=\\\"i\\\" charType=\\\"vowel\\\"}\\n\\n::character{id=\\\"vowel-ue\\\" canonicalRef=\\\"vowel-ue\\\" char=\\\"ึ\\\" name=\\\"สระอึ (sara ue)\\\" nativeName=\\\"สระอึ\\\" transliteration=\\\"ue\\\" charType=\\\"vowel\\\"}\\n\\n:::\\n\\n:::character-set{id=\\\"thai-short-vowels-below\\\" title=\\\"Short Vowels Below Consonant\\\"}\\n\\n::character{id=\\\"vowel-u\\\" canonicalRef=\\\"vowel-u\\\" char=\\\"ุ\\\" name=\\\"สระอุ (sara u)\\\" nativeName=\\\"สระอุ\\\" transliteration=\\\"u\\\" charType=\\\"vowel\\\"}\\n\\n:::\\n\\n## How They Combine\\n\\nWhen you add these vowels to a consonant, watch the position:\\n\\n| Consonant + Vowel | Result | Pronunciation |\\n|-------------------|--------|---------------|\\n| ก + ิ | กิ | gi |\\n| ม + ิ | มิ | mi |\\n| ก + ึ | กึ | gue |\\n| ก + ุ | กุ | gu |\\n| ม + ุ | มุ | mu |\\n\\n## Short vs Long: A Preview\\n\\nThese are **short** vowels — they have a clipped, brief sound:\\n- **ิ (i)** is short — like the \\\"i\\\" in English \\\"bit\\\"\\n- **ี (ii)** is long — like the \\\"ee\\\" in English \\\"bee\\\"\\n\\nYou'll learn the long versions in Lesson 3. For now, focus on the brief, snappy quality of short vowels.\\n\\n## The \\\"ue\\\" Sound\\n\\nThe vowel **ึ** (sara ue) has no direct English equivalent. It's like:\\n- Saying \\\"ee\\\" but with unrounded lips\\n- Similar to the German \\\"ü\\\" but shorter\\n- Position your tongue for \\\"ee\\\" but spread your lips\\n\\n## Key Points\\n\\n1. **Position above**: ิ and ึ sit above the consonant like small marks\\n2. **Position below**: ุ sits below the consonant\\n3. **Short duration**: These vowels are brief — don't drag them out\\n4. **No standalone form**: These vowels must attach to a consonant\\n\\n## Practice Recognition\\n\\nWith consonants you know, try reading these syllables:\\n- กิ (gi) — like \\\"gee\\\" but shorter\\n- มิ (mi) — like \\\"me\\\" but shorter\\n- กุ (gu) — like \\\"goo\\\" but shorter\\n- มุ (mu) — like \\\"moo\\\" but shorter\\n\\n## What's Next\\n\\nIn Lesson 2, you'll learn more short vowels, including those that appear **before** and **around** consonants — Thai's unique feature where you write one thing but pronounce another!\\n\""],"names":["lesson01"],"mappings":"AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -0,0 +1,138 @@
1
+ const n = `---
2
+ type: lesson
3
+ id: thai-essentials-lesson-01
4
+ title: "บทที่ 1 — ทักทายและแนะนำตัว"
5
+ description: "Greetings & Introductions: สวัสดี and meeting people"
6
+ order: 1
7
+ parentId: thai-essentials
8
+ difficulty: beginner
9
+ cefrLevel: A1
10
+ categories:
11
+ - greetings
12
+ - introductions
13
+ - basics
14
+ metadata:
15
+ estimatedTime: 30
16
+ prerequisites: []
17
+ learningObjectives:
18
+ - id: obj-greetings-hello-goodbye
19
+ description: "Say hello and goodbye properly"
20
+ skill: word-production
21
+ - id: obj-greetings-introduce-self
22
+ description: "Introduce yourself with name and nationality"
23
+ skill: word-production
24
+ - id: obj-greetings-ask-name
25
+ description: "Ask someone's name politely"
26
+ skill: polite-register
27
+ - id: obj-greetings-wai
28
+ description: "Understand the wai gesture"
29
+ skill: situational-response
30
+ ---
31
+
32
+ # บทที่ 1 (Lesson 1) — Greetings & Introductions
33
+
34
+ ## Introduction
35
+
36
+ The first words you'll use in Thai are greetings. Thai has one versatile greeting word — สวัสดี (sà-wàt-dii) — that works for hello, goodbye, and general well-wishing. Combined with the polite particle, it's your key to making a good first impression.
37
+
38
+ ## The Universal Greeting
39
+
40
+ :::vocabulary-set{id="thai-greetings" title="Basic Greetings"}
41
+
42
+ ::vocab-item{id="sawatdee" word="สวัสดี" pronunciation="sà-wàt-dii" meaning="Hello / Goodbye / Greetings"}
43
+
44
+ ::vocab-item{id="sawatdee-khrap" word="สวัสดีครับ" pronunciation="sà-wàt-dii khráp" meaning="Hello (male speaker)"}
45
+
46
+ ::vocab-item{id="sawatdee-kha" word="สวัสดีค่ะ" pronunciation="sà-wàt-dii khâ" meaning="Hello (female speaker)"}
47
+
48
+ :::
49
+
50
+ ## Time-Specific Greetings
51
+
52
+ While สวัสดี works anytime, you can also use:
53
+
54
+ | Thai | Pronunciation | Meaning |
55
+ |------|---------------|---------|
56
+ | อรุณสวัสดิ์ | à-run-sà-wàt | Good morning (formal) |
57
+ | สวัสดีตอนเช้า | sà-wàt-dii dtɔɔn-cháo | Good morning |
58
+ | สวัสดีตอนบ่าย | sà-wàt-dii dtɔɔn-bàai | Good afternoon |
59
+ | ราตรีสวัสดิ์ | raa-dtrii-sà-wàt | Good night (formal) |
60
+
61
+ ## Introducing Yourself
62
+
63
+ :::vocabulary-set{id="thai-introductions" title="Self-Introduction"}
64
+
65
+ ::vocab-item{id="phom" word="ผม" pronunciation="phǒm" meaning="I (male)"}
66
+
67
+ ::vocab-item{id="dichan" word="ดิฉัน" pronunciation="dì-chǎn" meaning="I (female, formal)"}
68
+
69
+ ::vocab-item{id="chan" word="ฉัน" pronunciation="chǎn" meaning="I (casual)"}
70
+
71
+ ::vocab-item{id="chue" word="ชื่อ" pronunciation="chʉ̂ʉ" meaning="name"}
72
+
73
+ ::vocab-item{id="khon-thai" word="คนไทย" pronunciation="khon thai" meaning="Thai person"}
74
+
75
+ :::
76
+
77
+ ## Key Phrases
78
+
79
+ | Thai | Pronunciation | Meaning |
80
+ |------|---------------|---------|
81
+ | ผม/ดิฉันชื่อ... | phǒm/dì-chǎn chʉ̂ʉ... | My name is... |
82
+ | คุณชื่ออะไร | khun chʉ̂ʉ à-rai | What's your name? |
83
+ | ยินดีที่ได้รู้จัก | yin-dii thîi dâai rúu-jàk | Nice to meet you |
84
+ | คุณเป็นคนที่ไหน | khun bpen khon thîi-nǎi | Where are you from? |
85
+ | ผม/ดิฉันมาจาก... | phǒm/dì-chǎn maa jàak... | I'm from... |
86
+
87
+ ## The Wai (ไหว้)
88
+
89
+ The traditional Thai greeting gesture:
90
+
91
+ 1. **Press palms together** at chest level, fingers pointing up
92
+ 2. **Bow slightly** from the shoulders
93
+ 3. **Say สวัสดี** + polite particle
94
+
95
+ **When to wai:**
96
+ - Meeting someone for the first time
97
+ - Greeting elders or superiors
98
+ - Showing respect or gratitude
99
+ - Formal situations
100
+
101
+ **When NOT to wai:**
102
+ - To children younger than you
103
+ - To service workers (a smile is fine)
104
+ - When your hands are full (nod instead)
105
+
106
+ ## Countries & Nationalities
107
+
108
+ | Country | Thai | Nationality |
109
+ |---------|------|-------------|
110
+ | Thailand | ประเทศไทย | คนไทย (khon thai) |
111
+ | America | อเมริกา | คนอเมริกัน (khon a-mee-ri-gan) |
112
+ | England | อังกฤษ | คนอังกฤษ (khon ang-grìt) |
113
+ | Japan | ญี่ปุ่น | คนญี่ปุ่น (khon yîi-bpùn) |
114
+ | China | จีน | คนจีน (khon jiin) |
115
+
116
+ ## Sample Conversation
117
+
118
+ **A**: สวัสดีครับ/ค่ะ (Hello)
119
+ **B**: สวัสดีครับ/ค่ะ (Hello)
120
+ **A**: ผม/ดิฉันชื่อจอห์น คุณชื่ออะไรครับ/คะ (My name is John. What's your name?)
121
+ **B**: ดิฉันชื่อสมศรีค่ะ ยินดีที่ได้รู้จักค่ะ (My name is Somsri. Nice to meet you.)
122
+ **A**: ยินดีที่ได้รู้จักครับ (Nice to meet you too.)
123
+
124
+ ## Key Points
125
+
126
+ 1. **สวัสดี works everywhere**: Morning, afternoon, evening, hello, goodbye
127
+ 2. **Always add polite particle**: ครับ for men, ค่ะ/คะ for women
128
+ 3. **Wai appropriately**: Match the depth to the relationship
129
+ 4. **Smile**: It's called the Land of Smiles for a reason!
130
+
131
+ ## What's Next
132
+
133
+ In Lesson 2, you'll master the polite particle system — the key to speaking properly in all situations.
134
+ `;
135
+ export {
136
+ n as default
137
+ };
138
+ //# sourceMappingURL=lesson-01-C9vbUlA4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-01-C9vbUlA4.js","sources":["../src/syllabi/essentials/lessons/lesson-01.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-essentials-lesson-01\\ntitle: \\\"บทที่ 1 — ทักทายและแนะนำตัว\\\"\\ndescription: \\\"Greetings & Introductions: สวัสดี and meeting people\\\"\\norder: 1\\nparentId: thai-essentials\\ndifficulty: beginner\\ncefrLevel: A1\\ncategories:\\n - greetings\\n - introductions\\n - basics\\nmetadata:\\n estimatedTime: 30\\n prerequisites: []\\n learningObjectives:\\n - id: obj-greetings-hello-goodbye\\n description: \\\"Say hello and goodbye properly\\\"\\n skill: word-production\\n - id: obj-greetings-introduce-self\\n description: \\\"Introduce yourself with name and nationality\\\"\\n skill: word-production\\n - id: obj-greetings-ask-name\\n description: \\\"Ask someone's name politely\\\"\\n skill: polite-register\\n - id: obj-greetings-wai\\n description: \\\"Understand the wai gesture\\\"\\n skill: situational-response\\n---\\n\\n# บทที่ 1 (Lesson 1) — Greetings & Introductions\\n\\n## Introduction\\n\\nThe first words you'll use in Thai are greetings. Thai has one versatile greeting word — สวัสดี (sà-wàt-dii) — that works for hello, goodbye, and general well-wishing. Combined with the polite particle, it's your key to making a good first impression.\\n\\n## The Universal Greeting\\n\\n:::vocabulary-set{id=\\\"thai-greetings\\\" title=\\\"Basic Greetings\\\"}\\n\\n::vocab-item{id=\\\"sawatdee\\\" word=\\\"สวัสดี\\\" pronunciation=\\\"sà-wàt-dii\\\" meaning=\\\"Hello / Goodbye / Greetings\\\"}\\n\\n::vocab-item{id=\\\"sawatdee-khrap\\\" word=\\\"สวัสดีครับ\\\" pronunciation=\\\"sà-wàt-dii khráp\\\" meaning=\\\"Hello (male speaker)\\\"}\\n\\n::vocab-item{id=\\\"sawatdee-kha\\\" word=\\\"สวัสดีค่ะ\\\" pronunciation=\\\"sà-wàt-dii khâ\\\" meaning=\\\"Hello (female speaker)\\\"}\\n\\n:::\\n\\n## Time-Specific Greetings\\n\\nWhile สวัสดี works anytime, you can also use:\\n\\n| Thai | Pronunciation | Meaning |\\n|------|---------------|---------|\\n| อรุณสวัสดิ์ | à-run-sà-wàt | Good morning (formal) |\\n| สวัสดีตอนเช้า | sà-wàt-dii dtɔɔn-cháo | Good morning |\\n| สวัสดีตอนบ่าย | sà-wàt-dii dtɔɔn-bàai | Good afternoon |\\n| ราตรีสวัสดิ์ | raa-dtrii-sà-wàt | Good night (formal) |\\n\\n## Introducing Yourself\\n\\n:::vocabulary-set{id=\\\"thai-introductions\\\" title=\\\"Self-Introduction\\\"}\\n\\n::vocab-item{id=\\\"phom\\\" word=\\\"ผม\\\" pronunciation=\\\"phǒm\\\" meaning=\\\"I (male)\\\"}\\n\\n::vocab-item{id=\\\"dichan\\\" word=\\\"ดิฉัน\\\" pronunciation=\\\"dì-chǎn\\\" meaning=\\\"I (female, formal)\\\"}\\n\\n::vocab-item{id=\\\"chan\\\" word=\\\"ฉัน\\\" pronunciation=\\\"chǎn\\\" meaning=\\\"I (casual)\\\"}\\n\\n::vocab-item{id=\\\"chue\\\" word=\\\"ชื่อ\\\" pronunciation=\\\"chʉ̂ʉ\\\" meaning=\\\"name\\\"}\\n\\n::vocab-item{id=\\\"khon-thai\\\" word=\\\"คนไทย\\\" pronunciation=\\\"khon thai\\\" meaning=\\\"Thai person\\\"}\\n\\n:::\\n\\n## Key Phrases\\n\\n| Thai | Pronunciation | Meaning |\\n|------|---------------|---------|\\n| ผม/ดิฉันชื่อ... | phǒm/dì-chǎn chʉ̂ʉ... | My name is... |\\n| คุณชื่ออะไร | khun chʉ̂ʉ à-rai | What's your name? |\\n| ยินดีที่ได้รู้จัก | yin-dii thîi dâai rúu-jàk | Nice to meet you |\\n| คุณเป็นคนที่ไหน | khun bpen khon thîi-nǎi | Where are you from? |\\n| ผม/ดิฉันมาจาก... | phǒm/dì-chǎn maa jàak... | I'm from... |\\n\\n## The Wai (ไหว้)\\n\\nThe traditional Thai greeting gesture:\\n\\n1. **Press palms together** at chest level, fingers pointing up\\n2. **Bow slightly** from the shoulders\\n3. **Say สวัสดี** + polite particle\\n\\n**When to wai:**\\n- Meeting someone for the first time\\n- Greeting elders or superiors\\n- Showing respect or gratitude\\n- Formal situations\\n\\n**When NOT to wai:**\\n- To children younger than you\\n- To service workers (a smile is fine)\\n- When your hands are full (nod instead)\\n\\n## Countries & Nationalities\\n\\n| Country | Thai | Nationality |\\n|---------|------|-------------|\\n| Thailand | ประเทศไทย | คนไทย (khon thai) |\\n| America | อเมริกา | คนอเมริกัน (khon a-mee-ri-gan) |\\n| England | อังกฤษ | คนอังกฤษ (khon ang-grìt) |\\n| Japan | ญี่ปุ่น | คนญี่ปุ่น (khon yîi-bpùn) |\\n| China | จีน | คนจีน (khon jiin) |\\n\\n## Sample Conversation\\n\\n**A**: สวัสดีครับ/ค่ะ (Hello)\\n**B**: สวัสดีครับ/ค่ะ (Hello)\\n**A**: ผม/ดิฉันชื่อจอห์น คุณชื่ออะไรครับ/คะ (My name is John. What's your name?)\\n**B**: ดิฉันชื่อสมศรีค่ะ ยินดีที่ได้รู้จักค่ะ (My name is Somsri. Nice to meet you.)\\n**A**: ยินดีที่ได้รู้จักครับ (Nice to meet you too.)\\n\\n## Key Points\\n\\n1. **สวัสดี works everywhere**: Morning, afternoon, evening, hello, goodbye\\n2. **Always add polite particle**: ครับ for men, ค่ะ/คะ for women\\n3. **Wai appropriately**: Match the depth to the relationship\\n4. **Smile**: It's called the Land of Smiles for a reason!\\n\\n## What's Next\\n\\nIn Lesson 2, you'll master the polite particle system — the key to speaking properly in all situations.\\n\""],"names":["lesson01"],"mappings":"AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -0,0 +1,132 @@
1
+ const n = `---
2
+ type: lesson
3
+ id: thai-numbers-lesson-01
4
+ title: "บทที่ 1 — ตัวเลขไทย"
5
+ description: "Thai Numerals: The ten basic digits ๐-๙"
6
+ order: 1
7
+ parentId: thai-numbers
8
+ difficulty: beginner
9
+ cefrLevel: A1
10
+ categories:
11
+ - numbers
12
+ - numerals
13
+ - basic
14
+ metadata:
15
+ estimatedTime: 20
16
+ prerequisites:
17
+ - thai-alphabet
18
+ learningObjectives:
19
+ - id: obj-recognize-thai-numerals
20
+ description: "Recognize all 10 Thai numerals (๐-๙)"
21
+ skill: character-recognition
22
+ references: [num-zero, num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]
23
+ - id: obj-pronounce-numerals
24
+ description: "Pronounce each number correctly"
25
+ skill: character-sound-mapping
26
+ references: [num-zero, num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]
27
+ - id: obj-write-thai-numerals
28
+ description: "Write Thai numerals"
29
+ skill: word-production
30
+ references: [num-zero, num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]
31
+ - id: obj-convert-numerals
32
+ description: "Convert between Thai and Arabic numerals"
33
+ skill: character-recognition
34
+ references: [num-zero, num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]
35
+ ---
36
+
37
+ # บทที่ 1 (Lesson 1) — Thai Numerals
38
+
39
+ ## Introduction
40
+
41
+ Thai has its own beautiful numeral system that's been used for centuries. While Arabic numerals (0-9) are common in modern Thailand, Thai numerals still appear on official documents, currency, temple inscriptions, and formal contexts. Learning them connects you to Thai culture and history.
42
+
43
+ ## The Ten Digits
44
+
45
+ :::character-set{id="thai-numerals" title="Thai Numerals ๐-๙"}
46
+
47
+ ::character{id="num-zero" canonicalRef="num-zero" char="๐" name="ศูนย์ (sǒon)" transliteration="0" charType="number"}
48
+
49
+ ::character{id="num-one" canonicalRef="num-one" char="๑" name="หนึ่ง (nʉ̀ng)" transliteration="1" charType="number"}
50
+
51
+ ::character{id="num-two" canonicalRef="num-two" char="๒" name="สอง (sǒng)" transliteration="2" charType="number"}
52
+
53
+ ::character{id="num-three" canonicalRef="num-three" char="๓" name="สาม (sǎam)" transliteration="3" charType="number"}
54
+
55
+ ::character{id="num-four" canonicalRef="num-four" char="๔" name="สี่ (sìi)" transliteration="4" charType="number"}
56
+
57
+ ::character{id="num-five" canonicalRef="num-five" char="๕" name="ห้า (hâa)" transliteration="5" charType="number"}
58
+
59
+ ::character{id="num-six" canonicalRef="num-six" char="๖" name="หก (hòk)" transliteration="6" charType="number"}
60
+
61
+ ::character{id="num-seven" canonicalRef="num-seven" char="๗" name="เจ็ด (jèt)" transliteration="7" charType="number"}
62
+
63
+ ::character{id="num-eight" canonicalRef="num-eight" char="๘" name="แปด (bpàet)" transliteration="8" charType="number"}
64
+
65
+ ::character{id="num-nine" canonicalRef="num-nine" char="๙" name="เก้า (gâo)" transliteration="9" charType="number"}
66
+
67
+ :::
68
+
69
+ ## Recognizing the Shapes
70
+
71
+ Thai numerals have distinctive shapes. Here are some memory tips:
72
+
73
+ | Numeral | Memory Tip |
74
+ |---------|------------|
75
+ | ๐ | Looks like a curly zero |
76
+ | ๑ | A simple hook — the first, simplest number |
77
+ | ๒ | Has two bumps on top |
78
+ | ๓ | Looks like a sideways 3 with curves |
79
+ | ๔ | Four strokes to write |
80
+ | ๕ | Looks like a squiggly 5 |
81
+ | ๖ | Has a loop like a 6 |
82
+ | ๗ | Looks like a 7 with a hat |
83
+ | ๘ | Has curves like an 8 |
84
+ | ๙ | A curly 9 shape |
85
+
86
+ ## Pronunciation Guide
87
+
88
+ | Number | Thai | Romanization | Similar English Sound |
89
+ |--------|------|--------------|----------------------|
90
+ | 0 | ศูนย์ | sǒon | "soon" with rising tone |
91
+ | 1 | หนึ่ง | nʉ̀ng | "nung" (low tone) |
92
+ | 2 | สอง | sǒng | "song" with rising tone |
93
+ | 3 | สาม | sǎam | "saam" with rising tone |
94
+ | 4 | สี่ | sìi | "see" with low tone |
95
+ | 5 | ห้า | hâa | "haa" with falling tone |
96
+ | 6 | หก | hòk | "hok" with low tone |
97
+ | 7 | เจ็ด | jèt | "jet" with low tone |
98
+ | 8 | แปด | bpàet | "bpaet" with low tone |
99
+ | 9 | เก้า | gâo | "gow" with falling tone |
100
+
101
+ ## Where You'll See Thai Numerals
102
+
103
+ - **Currency**: Thai banknotes show amounts in Thai numerals
104
+ - **Official documents**: ID cards, government papers
105
+ - **Temples**: Dates on Buddhist inscriptions
106
+ - **Royal contexts**: Formal announcements
107
+ - **Traditional calendars**: Buddhist Era dates
108
+
109
+ ## Key Points
110
+
111
+ 1. **10 digits**: Thai numerals work just like Arabic — position determines value
112
+ 2. **Same math**: ๑๒๓ = 123 — the system is identical, just different symbols
113
+ 3. **Tones matter**: Each number word has a specific tone
114
+ 4. **Cultural value**: Knowing Thai numerals shows respect for Thai heritage
115
+
116
+ ## Practice
117
+
118
+ Convert these Thai numbers to Arabic:
119
+ - ๕๗ = ?
120
+ - ๒๔ = ?
121
+ - ๑๐๐ = ?
122
+
123
+ (Answers: 57, 24, 100)
124
+
125
+ ## What's Next
126
+
127
+ In Lesson 2, you'll learn how to count from 1 to 100, including the special rules for teens and the unique word for 20.
128
+ `;
129
+ export {
130
+ n as default
131
+ };
132
+ //# sourceMappingURL=lesson-01-CPmBFTe0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-01-CPmBFTe0.js","sources":["../src/syllabi/numbers/lessons/lesson-01.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-numbers-lesson-01\\ntitle: \\\"บทที่ 1 — ตัวเลขไทย\\\"\\ndescription: \\\"Thai Numerals: The ten basic digits ๐-๙\\\"\\norder: 1\\nparentId: thai-numbers\\ndifficulty: beginner\\ncefrLevel: A1\\ncategories:\\n - numbers\\n - numerals\\n - basic\\nmetadata:\\n estimatedTime: 20\\n prerequisites:\\n - thai-alphabet\\n learningObjectives:\\n - id: obj-recognize-thai-numerals\\n description: \\\"Recognize all 10 Thai numerals (๐-๙)\\\"\\n skill: character-recognition\\n references: [num-zero, num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]\\n - id: obj-pronounce-numerals\\n description: \\\"Pronounce each number correctly\\\"\\n skill: character-sound-mapping\\n references: [num-zero, num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]\\n - id: obj-write-thai-numerals\\n description: \\\"Write Thai numerals\\\"\\n skill: word-production\\n references: [num-zero, num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]\\n - id: obj-convert-numerals\\n description: \\\"Convert between Thai and Arabic numerals\\\"\\n skill: character-recognition\\n references: [num-zero, num-one, num-two, num-three, num-four, num-five, num-six, num-seven, num-eight, num-nine]\\n---\\n\\n# บทที่ 1 (Lesson 1) — Thai Numerals\\n\\n## Introduction\\n\\nThai has its own beautiful numeral system that's been used for centuries. While Arabic numerals (0-9) are common in modern Thailand, Thai numerals still appear on official documents, currency, temple inscriptions, and formal contexts. Learning them connects you to Thai culture and history.\\n\\n## The Ten Digits\\n\\n:::character-set{id=\\\"thai-numerals\\\" title=\\\"Thai Numerals ๐-๙\\\"}\\n\\n::character{id=\\\"num-zero\\\" canonicalRef=\\\"num-zero\\\" char=\\\"๐\\\" name=\\\"ศูนย์ (sǒon)\\\" transliteration=\\\"0\\\" charType=\\\"number\\\"}\\n\\n::character{id=\\\"num-one\\\" canonicalRef=\\\"num-one\\\" char=\\\"๑\\\" name=\\\"หนึ่ง (nʉ̀ng)\\\" transliteration=\\\"1\\\" charType=\\\"number\\\"}\\n\\n::character{id=\\\"num-two\\\" canonicalRef=\\\"num-two\\\" char=\\\"๒\\\" name=\\\"สอง (sǒng)\\\" transliteration=\\\"2\\\" charType=\\\"number\\\"}\\n\\n::character{id=\\\"num-three\\\" canonicalRef=\\\"num-three\\\" char=\\\"๓\\\" name=\\\"สาม (sǎam)\\\" transliteration=\\\"3\\\" charType=\\\"number\\\"}\\n\\n::character{id=\\\"num-four\\\" canonicalRef=\\\"num-four\\\" char=\\\"๔\\\" name=\\\"สี่ (sìi)\\\" transliteration=\\\"4\\\" charType=\\\"number\\\"}\\n\\n::character{id=\\\"num-five\\\" canonicalRef=\\\"num-five\\\" char=\\\"๕\\\" name=\\\"ห้า (hâa)\\\" transliteration=\\\"5\\\" charType=\\\"number\\\"}\\n\\n::character{id=\\\"num-six\\\" canonicalRef=\\\"num-six\\\" char=\\\"๖\\\" name=\\\"หก (hòk)\\\" transliteration=\\\"6\\\" charType=\\\"number\\\"}\\n\\n::character{id=\\\"num-seven\\\" canonicalRef=\\\"num-seven\\\" char=\\\"๗\\\" name=\\\"เจ็ด (jèt)\\\" transliteration=\\\"7\\\" charType=\\\"number\\\"}\\n\\n::character{id=\\\"num-eight\\\" canonicalRef=\\\"num-eight\\\" char=\\\"๘\\\" name=\\\"แปด (bpàet)\\\" transliteration=\\\"8\\\" charType=\\\"number\\\"}\\n\\n::character{id=\\\"num-nine\\\" canonicalRef=\\\"num-nine\\\" char=\\\"๙\\\" name=\\\"เก้า (gâo)\\\" transliteration=\\\"9\\\" charType=\\\"number\\\"}\\n\\n:::\\n\\n## Recognizing the Shapes\\n\\nThai numerals have distinctive shapes. Here are some memory tips:\\n\\n| Numeral | Memory Tip |\\n|---------|------------|\\n| ๐ | Looks like a curly zero |\\n| ๑ | A simple hook — the first, simplest number |\\n| ๒ | Has two bumps on top |\\n| ๓ | Looks like a sideways 3 with curves |\\n| ๔ | Four strokes to write |\\n| ๕ | Looks like a squiggly 5 |\\n| ๖ | Has a loop like a 6 |\\n| ๗ | Looks like a 7 with a hat |\\n| ๘ | Has curves like an 8 |\\n| ๙ | A curly 9 shape |\\n\\n## Pronunciation Guide\\n\\n| Number | Thai | Romanization | Similar English Sound |\\n|--------|------|--------------|----------------------|\\n| 0 | ศูนย์ | sǒon | \\\"soon\\\" with rising tone |\\n| 1 | หนึ่ง | nʉ̀ng | \\\"nung\\\" (low tone) |\\n| 2 | สอง | sǒng | \\\"song\\\" with rising tone |\\n| 3 | สาม | sǎam | \\\"saam\\\" with rising tone |\\n| 4 | สี่ | sìi | \\\"see\\\" with low tone |\\n| 5 | ห้า | hâa | \\\"haa\\\" with falling tone |\\n| 6 | หก | hòk | \\\"hok\\\" with low tone |\\n| 7 | เจ็ด | jèt | \\\"jet\\\" with low tone |\\n| 8 | แปด | bpàet | \\\"bpaet\\\" with low tone |\\n| 9 | เก้า | gâo | \\\"gow\\\" with falling tone |\\n\\n## Where You'll See Thai Numerals\\n\\n- **Currency**: Thai banknotes show amounts in Thai numerals\\n- **Official documents**: ID cards, government papers\\n- **Temples**: Dates on Buddhist inscriptions\\n- **Royal contexts**: Formal announcements\\n- **Traditional calendars**: Buddhist Era dates\\n\\n## Key Points\\n\\n1. **10 digits**: Thai numerals work just like Arabic — position determines value\\n2. **Same math**: ๑๒๓ = 123 — the system is identical, just different symbols\\n3. **Tones matter**: Each number word has a specific tone\\n4. **Cultural value**: Knowing Thai numerals shows respect for Thai heritage\\n\\n## Practice\\n\\nConvert these Thai numbers to Arabic:\\n- ๕๗ = ?\\n- ๒๔ = ?\\n- ๑๐๐ = ?\\n\\n(Answers: 57, 24, 100)\\n\\n## What's Next\\n\\nIn Lesson 2, you'll learn how to count from 1 to 100, including the special rules for teens and the unique word for 20.\\n\""],"names":["lesson01"],"mappings":"AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -0,0 +1,158 @@
1
+ const n = `---
2
+ type: lesson
3
+ id: thai-script-lesson-01
4
+ title: "บทที่ 1 — พยัญชนะกลาง I"
5
+ description: "Middle-Class Consonants Part 1: ก จ ด ต ป บ — The foundation of Thai tones"
6
+ order: 1
7
+ parentId: thai-script-alphabet
8
+ difficulty: beginner
9
+ cefrLevel: A1
10
+ categories:
11
+ - consonants
12
+ - middle-class
13
+ - basic-characters
14
+ metadata:
15
+ estimatedTime: 25
16
+ prerequisites: []
17
+ learningObjectives:
18
+ - id: obj-recognize-mid-1
19
+ description: "Recognize the first 6 middle-class consonants"
20
+ skill: character-recognition
21
+ references: [chicken, plate, child, turtle, fish, leaf]
22
+ - id: obj-class-understanding
23
+ description: "Understand why consonant class matters for tones"
24
+ skill: character-class-identification
25
+ - id: obj-mnemonics-1
26
+ description: "Learn the mnemonic words for each consonant"
27
+ skill: character-name-recall
28
+ references: [chicken, plate, child, turtle, fish, leaf]
29
+ - id: obj-sounds-1
30
+ description: "Practice initial and final sounds"
31
+ skill: character-sound-mapping
32
+ references: [chicken, plate, child, turtle, fish, leaf]
33
+ ---
34
+
35
+ # บทที่ 1 (Lesson 1) — Middle-Class Consonants I
36
+
37
+ ## Introduction
38
+
39
+ Welcome to Thai script! In this first lesson, you'll learn 6 of the 9 **middle-class consonants** (พยัญชนะกลาง). We start here because middle-class consonants are the foundation of the Thai tone system.
40
+
41
+ ## Why Middle-Class First?
42
+
43
+ Thai has **5 tones** (mid, low, falling, high, rising), and determining the correct tone requires knowing the consonant's class. Middle-class consonants:
44
+
45
+ - Are the **simplest for tone rules** — they produce all 5 tones directly with tone marks
46
+ - Include the **most common consonants** in everyday Thai
47
+ - Provide the **baseline** for understanding how high and low classes differ
48
+
49
+ Think of middle class as "neutral" — the other classes modify from this baseline.
50
+
51
+ ## Characters
52
+
53
+ :::character-set{id="thai-middle-consonants-1" title="Middle-Class Consonants I"}
54
+
55
+ ::character{id="chicken" canonicalRef="chicken" data:class="middle" char="ก" name="ก ไก่ (gɔɔ gài)" nativeName="ก ไก่" transliteration="g/k" charType="consonant"}
56
+
57
+ ::character{id="plate" canonicalRef="plate" data:class="middle" char="จ" name="จ จาน (jɔɔ jaan)" nativeName="จ จาน" transliteration="j/t" charType="consonant"}
58
+
59
+ ::character{id="child" canonicalRef="child" data:class="middle" char="ด" name="ด เด็ก (dɔɔ dèk)" nativeName="ด เด็ก" transliteration="d/t" charType="consonant"}
60
+
61
+ ::character{id="turtle" canonicalRef="turtle" data:class="middle" char="ต" name="ต เต่า (dtɔɔ dtào)" nativeName="ต เต่า" transliteration="dt/t" charType="consonant"}
62
+
63
+ ::character{id="fish" canonicalRef="fish" data:class="middle" char="ป" name="ป ปลา (bpɔɔ bplaa)" nativeName="ป ปลา" transliteration="bp/p" charType="consonant"}
64
+
65
+ ::character{id="leaf" canonicalRef="leaf" data:class="middle" char="บ" name="บ ใบไม้ (bɔɔ baimáai)" nativeName="บ ใบไม้" transliteration="b/p" charType="consonant"}
66
+
67
+ :::
68
+
69
+ ## Sound Changes: Initial vs Final Position
70
+
71
+ One of Thai's unique features is that consonants often sound **different** at the beginning versus end of a syllable:
72
+
73
+ | Consonant | Initial Sound | Final Sound | Example |
74
+ |-----------|---------------|-------------|---------|
75
+ | ก | **g** (as in "go") | **k** (unreleased) | กา (gaa) vs อัก (àk) |
76
+ | จ | **j** (as in "jam") | **t** (unreleased) | จาน (jaan) vs มืจ (mʉ̀t) |
77
+ | ด | **d** (as in "do") | **t** (unreleased) | ดู (duu) vs วาด (wàat) |
78
+ | ต | **dt** (unaspirated) | **t** (unreleased) | ตา (dtaa) vs รัต (rát) |
79
+ | ป | **bp** (unaspirated) | **p** (unreleased) | ปา (bpaa) vs อับ (àp) |
80
+ | บ | **b** (as in "boy") | **p** (unreleased) | บาน (baan) vs รับ (ráp) |
81
+
82
+ **Key insight**: All these consonants become an unreleased stop (/t/ or /p/) when they end a syllable. This is why Thai speakers might say "maak" for "mark" — there's no equivalent of English final consonant sounds.
83
+
84
+ ## The Unaspirated Pair: ต and ป
85
+
86
+ Notice **ต** (dt) and **ป** (bp) are written with two letters in romanization. This indicates they're **unaspirated** — no puff of air after the sound. This is different from:
87
+ - English "t" and "p" (slightly aspirated)
88
+ - Thai ท and พ (heavily aspirated, low-class)
89
+
90
+ Hold your hand in front of your mouth: you should feel air for English "top" but not for Thai ตา.
91
+
92
+ ## The Mnemonic System
93
+
94
+ Each Thai consonant has a traditional **mnemonic word** starting with that consonant. When Thais spell words aloud, they say "gɔɔ gài, jɔɔ jaan..." — the mnemonic IS the letter's name. **Tap any character above to see its mnemonic!**
95
+
96
+ ## Key Points
97
+
98
+ 1. **Middle class = tone baseline**: These consonants produce a mid tone in basic syllables
99
+ 2. **Two sounds per consonant**: Initial vs final position changes pronunciation
100
+ 3. **Unaspirated consonants**: ต and ป have no puff of air (unlike English)
101
+ 4. **Mnemonics are names**: Learn them as the consonants' proper names, not just memory aids
102
+
103
+ ## Practice Recognition
104
+
105
+ Look at the shapes:
106
+ - **ก** has a "head" loop on top
107
+ - **จ** looks like a fishing hook
108
+ - **ด** and **ต** are similar — ด has a longer tail
109
+ - **ป** and **บ** are similar — ป is more "closed"
110
+
111
+ Shape similarities within pairs (ด/ต, ป/บ) are intentional — they represent related sounds.
112
+
113
+ ## Quick Quiz
114
+
115
+ :::exercise{id="quiz-01" type="matching" title="Match Consonants to Animals" skill="character-name-recall" tests="chicken,turtle,fish" objectiveId="obj-mnemonics-1"}
116
+
117
+ **Question:** Match each consonant to its mnemonic animal
118
+
119
+ - ก
120
+ - ต
121
+ - ป
122
+
123
+ **Answer:**
124
+
125
+ - chicken (ไก่)
126
+ - turtle (เต่า)
127
+ - fish (ปลา)
128
+
129
+ **Explanation:** Each Thai consonant has a traditional mnemonic word. When Thais spell words, they say the consonant name with its mnemonic.
130
+
131
+ :::
132
+
133
+ :::exercise{id="recognition-01" type="fill-in-blank" title="Sound Recognition" skill="character-sound-mapping" tests="chicken,plate,fish" objectiveId="obj-sounds-1"}
134
+
135
+ **Question:** Which consonant makes each sound?
136
+
137
+ - Initial "g" sound (as in "go")
138
+ - Initial "j" sound (as in "jam")
139
+ - Initial "bp" sound (unaspirated, no puff of air)
140
+
141
+ **Answer:**
142
+
143
+ - ก (gɔɔ gài)
144
+ - จ (jɔɔ jaan)
145
+ - ป (bpɔɔ bplaa)
146
+
147
+ **Explanation:** Middle-class consonants have predictable sounds at the start of syllables.
148
+
149
+ :::
150
+
151
+ ## What's Next
152
+
153
+ In Lesson 2, you'll learn the remaining middle-class consonants (ม ย ร ล อ), which include nasals and approximants with different final-position behaviors.
154
+ `;
155
+ export {
156
+ n as default
157
+ };
158
+ //# sourceMappingURL=lesson-01-Cc4Ws8eR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-01-Cc4Ws8eR.js","sources":["../src/syllabi/alphabet/lessons/lesson-01.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-script-lesson-01\\ntitle: \\\"บทที่ 1 — พยัญชนะกลาง I\\\"\\ndescription: \\\"Middle-Class Consonants Part 1: ก จ ด ต ป บ — The foundation of Thai tones\\\"\\norder: 1\\nparentId: thai-script-alphabet\\ndifficulty: beginner\\ncefrLevel: A1\\ncategories:\\n - consonants\\n - middle-class\\n - basic-characters\\nmetadata:\\n estimatedTime: 25\\n prerequisites: []\\n learningObjectives:\\n - id: obj-recognize-mid-1\\n description: \\\"Recognize the first 6 middle-class consonants\\\"\\n skill: character-recognition\\n references: [chicken, plate, child, turtle, fish, leaf]\\n - id: obj-class-understanding\\n description: \\\"Understand why consonant class matters for tones\\\"\\n skill: character-class-identification\\n - id: obj-mnemonics-1\\n description: \\\"Learn the mnemonic words for each consonant\\\"\\n skill: character-name-recall\\n references: [chicken, plate, child, turtle, fish, leaf]\\n - id: obj-sounds-1\\n description: \\\"Practice initial and final sounds\\\"\\n skill: character-sound-mapping\\n references: [chicken, plate, child, turtle, fish, leaf]\\n---\\n\\n# บทที่ 1 (Lesson 1) — Middle-Class Consonants I\\n\\n## Introduction\\n\\nWelcome to Thai script! In this first lesson, you'll learn 6 of the 9 **middle-class consonants** (พยัญชนะกลาง). We start here because middle-class consonants are the foundation of the Thai tone system.\\n\\n## Why Middle-Class First?\\n\\nThai has **5 tones** (mid, low, falling, high, rising), and determining the correct tone requires knowing the consonant's class. Middle-class consonants:\\n\\n- Are the **simplest for tone rules** — they produce all 5 tones directly with tone marks\\n- Include the **most common consonants** in everyday Thai\\n- Provide the **baseline** for understanding how high and low classes differ\\n\\nThink of middle class as \\\"neutral\\\" — the other classes modify from this baseline.\\n\\n## Characters\\n\\n:::character-set{id=\\\"thai-middle-consonants-1\\\" title=\\\"Middle-Class Consonants I\\\"}\\n\\n::character{id=\\\"chicken\\\" canonicalRef=\\\"chicken\\\" data:class=\\\"middle\\\" char=\\\"ก\\\" name=\\\"ก ไก่ (gɔɔ gài)\\\" nativeName=\\\"ก ไก่\\\" transliteration=\\\"g/k\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"plate\\\" canonicalRef=\\\"plate\\\" data:class=\\\"middle\\\" char=\\\"จ\\\" name=\\\"จ จาน (jɔɔ jaan)\\\" nativeName=\\\"จ จาน\\\" transliteration=\\\"j/t\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"child\\\" canonicalRef=\\\"child\\\" data:class=\\\"middle\\\" char=\\\"ด\\\" name=\\\"ด เด็ก (dɔɔ dèk)\\\" nativeName=\\\"ด เด็ก\\\" transliteration=\\\"d/t\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"turtle\\\" canonicalRef=\\\"turtle\\\" data:class=\\\"middle\\\" char=\\\"ต\\\" name=\\\"ต เต่า (dtɔɔ dtào)\\\" nativeName=\\\"ต เต่า\\\" transliteration=\\\"dt/t\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"fish\\\" canonicalRef=\\\"fish\\\" data:class=\\\"middle\\\" char=\\\"ป\\\" name=\\\"ป ปลา (bpɔɔ bplaa)\\\" nativeName=\\\"ป ปลา\\\" transliteration=\\\"bp/p\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"leaf\\\" canonicalRef=\\\"leaf\\\" data:class=\\\"middle\\\" char=\\\"บ\\\" name=\\\"บ ใบไม้ (bɔɔ baimáai)\\\" nativeName=\\\"บ ใบไม้\\\" transliteration=\\\"b/p\\\" charType=\\\"consonant\\\"}\\n\\n:::\\n\\n## Sound Changes: Initial vs Final Position\\n\\nOne of Thai's unique features is that consonants often sound **different** at the beginning versus end of a syllable:\\n\\n| Consonant | Initial Sound | Final Sound | Example |\\n|-----------|---------------|-------------|---------|\\n| ก | **g** (as in \\\"go\\\") | **k** (unreleased) | กา (gaa) vs อัก (àk) |\\n| จ | **j** (as in \\\"jam\\\") | **t** (unreleased) | จาน (jaan) vs มืจ (mʉ̀t) |\\n| ด | **d** (as in \\\"do\\\") | **t** (unreleased) | ดู (duu) vs วาด (wàat) |\\n| ต | **dt** (unaspirated) | **t** (unreleased) | ตา (dtaa) vs รัต (rát) |\\n| ป | **bp** (unaspirated) | **p** (unreleased) | ปา (bpaa) vs อับ (àp) |\\n| บ | **b** (as in \\\"boy\\\") | **p** (unreleased) | บาน (baan) vs รับ (ráp) |\\n\\n**Key insight**: All these consonants become an unreleased stop (/t/ or /p/) when they end a syllable. This is why Thai speakers might say \\\"maak\\\" for \\\"mark\\\" — there's no equivalent of English final consonant sounds.\\n\\n## The Unaspirated Pair: ต and ป\\n\\nNotice **ต** (dt) and **ป** (bp) are written with two letters in romanization. This indicates they're **unaspirated** — no puff of air after the sound. This is different from:\\n- English \\\"t\\\" and \\\"p\\\" (slightly aspirated)\\n- Thai ท and พ (heavily aspirated, low-class)\\n\\nHold your hand in front of your mouth: you should feel air for English \\\"top\\\" but not for Thai ตา.\\n\\n## The Mnemonic System\\n\\nEach Thai consonant has a traditional **mnemonic word** starting with that consonant. When Thais spell words aloud, they say \\\"gɔɔ gài, jɔɔ jaan...\\\" — the mnemonic IS the letter's name. **Tap any character above to see its mnemonic!**\\n\\n## Key Points\\n\\n1. **Middle class = tone baseline**: These consonants produce a mid tone in basic syllables\\n2. **Two sounds per consonant**: Initial vs final position changes pronunciation\\n3. **Unaspirated consonants**: ต and ป have no puff of air (unlike English)\\n4. **Mnemonics are names**: Learn them as the consonants' proper names, not just memory aids\\n\\n## Practice Recognition\\n\\nLook at the shapes:\\n- **ก** has a \\\"head\\\" loop on top\\n- **จ** looks like a fishing hook\\n- **ด** and **ต** are similar — ด has a longer tail\\n- **ป** and **บ** are similar — ป is more \\\"closed\\\"\\n\\nShape similarities within pairs (ด/ต, ป/บ) are intentional — they represent related sounds.\\n\\n## Quick Quiz\\n\\n:::exercise{id=\\\"quiz-01\\\" type=\\\"matching\\\" title=\\\"Match Consonants to Animals\\\" skill=\\\"character-name-recall\\\" tests=\\\"chicken,turtle,fish\\\" objectiveId=\\\"obj-mnemonics-1\\\"}\\n\\n**Question:** Match each consonant to its mnemonic animal\\n\\n- ก\\n- ต\\n- ป\\n\\n**Answer:**\\n\\n- chicken (ไก่)\\n- turtle (เต่า)\\n- fish (ปลา)\\n\\n**Explanation:** Each Thai consonant has a traditional mnemonic word. When Thais spell words, they say the consonant name with its mnemonic.\\n\\n:::\\n\\n:::exercise{id=\\\"recognition-01\\\" type=\\\"fill-in-blank\\\" title=\\\"Sound Recognition\\\" skill=\\\"character-sound-mapping\\\" tests=\\\"chicken,plate,fish\\\" objectiveId=\\\"obj-sounds-1\\\"}\\n\\n**Question:** Which consonant makes each sound?\\n\\n- Initial \\\"g\\\" sound (as in \\\"go\\\")\\n- Initial \\\"j\\\" sound (as in \\\"jam\\\")\\n- Initial \\\"bp\\\" sound (unaspirated, no puff of air)\\n\\n**Answer:**\\n\\n- ก (gɔɔ gài)\\n- จ (jɔɔ jaan)\\n- ป (bpɔɔ bplaa)\\n\\n**Explanation:** Middle-class consonants have predictable sounds at the start of syllables.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 2, you'll learn the remaining middle-class consonants (ม ย ร ล อ), which include nasals and approximants with different final-position behaviors.\\n\""],"names":["lesson01"],"mappings":"AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}