@polyglot-bundles/th-syllabi 1.0.3 → 1.0.5
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/package.json +4 -4
- package/dist/index.d.ts +0 -80
- package/dist/index.js +0 -28
- package/dist/index.js.map +0 -1
- package/dist/lesson-01-5WMLkFR4.js +0 -6
- package/dist/lesson-01-5WMLkFR4.js.map +0 -1
- package/dist/lesson-01-Ax46-L8c.js +0 -6
- package/dist/lesson-01-Ax46-L8c.js.map +0 -1
- package/dist/lesson-01-BAicxju8.js +0 -6
- package/dist/lesson-01-BAicxju8.js.map +0 -1
- package/dist/lesson-01-Bkv5huMA.js +0 -6
- package/dist/lesson-01-Bkv5huMA.js.map +0 -1
- package/dist/lesson-01-CGdvcTGF.js +0 -6
- package/dist/lesson-01-CGdvcTGF.js.map +0 -1
- package/dist/lesson-01-CUGNC_ZI.js +0 -6
- package/dist/lesson-01-CUGNC_ZI.js.map +0 -1
- package/dist/lesson-01-CXbu1LWK.js +0 -6
- package/dist/lesson-01-CXbu1LWK.js.map +0 -1
- package/dist/lesson-01-Cru6vUXD.js +0 -6
- package/dist/lesson-01-Cru6vUXD.js.map +0 -1
- package/dist/lesson-01-Te5nTr_7.js +0 -6
- package/dist/lesson-01-Te5nTr_7.js.map +0 -1
- package/dist/lesson-02-3mt33eeQ.js +0 -6
- package/dist/lesson-02-3mt33eeQ.js.map +0 -1
- package/dist/lesson-02-BkgwkNSk.js +0 -6
- package/dist/lesson-02-BkgwkNSk.js.map +0 -1
- package/dist/lesson-02-BppqeuRW.js +0 -6
- package/dist/lesson-02-BppqeuRW.js.map +0 -1
- package/dist/lesson-02-C_BELKyt.js +0 -6
- package/dist/lesson-02-C_BELKyt.js.map +0 -1
- package/dist/lesson-02-DWCqJO4h.js +0 -6
- package/dist/lesson-02-DWCqJO4h.js.map +0 -1
- package/dist/lesson-02-DgKk9Fsv.js +0 -6
- package/dist/lesson-02-DgKk9Fsv.js.map +0 -1
- package/dist/lesson-02-DzOSV4Dp.js +0 -6
- package/dist/lesson-02-DzOSV4Dp.js.map +0 -1
- package/dist/lesson-02-Pco4rB-e.js +0 -6
- package/dist/lesson-02-Pco4rB-e.js.map +0 -1
- package/dist/lesson-02-vTQTLjqo.js +0 -6
- package/dist/lesson-02-vTQTLjqo.js.map +0 -1
- package/dist/lesson-03-8YUkTQTv.js +0 -6
- package/dist/lesson-03-8YUkTQTv.js.map +0 -1
- package/dist/lesson-03-BdqAXlLg.js +0 -6
- package/dist/lesson-03-BdqAXlLg.js.map +0 -1
- package/dist/lesson-03-CEOY4VLo.js +0 -6
- package/dist/lesson-03-CEOY4VLo.js.map +0 -1
- package/dist/lesson-03-CKHl0mvU.js +0 -6
- package/dist/lesson-03-CKHl0mvU.js.map +0 -1
- package/dist/lesson-03-C_8Ud78K.js +0 -6
- package/dist/lesson-03-C_8Ud78K.js.map +0 -1
- package/dist/lesson-03-CcEoyIow.js +0 -6
- package/dist/lesson-03-CcEoyIow.js.map +0 -1
- package/dist/lesson-03-DqL8dx5j.js +0 -6
- package/dist/lesson-03-DqL8dx5j.js.map +0 -1
- package/dist/lesson-03-gfHMYFsC.js +0 -6
- package/dist/lesson-03-gfHMYFsC.js.map +0 -1
- package/dist/lesson-03-ovWxl9M5.js +0 -6
- package/dist/lesson-03-ovWxl9M5.js.map +0 -1
- package/dist/lesson-04-5iuH2ilz.js +0 -6
- package/dist/lesson-04-5iuH2ilz.js.map +0 -1
- package/dist/lesson-04-BnRott80.js +0 -6
- package/dist/lesson-04-BnRott80.js.map +0 -1
- package/dist/lesson-04-DSDwkfCW.js +0 -6
- package/dist/lesson-04-DSDwkfCW.js.map +0 -1
- package/dist/lesson-04-DXdHOnBY.js +0 -6
- package/dist/lesson-04-DXdHOnBY.js.map +0 -1
- package/dist/lesson-04-DiBGRoWo.js +0 -6
- package/dist/lesson-04-DiBGRoWo.js.map +0 -1
- package/dist/lesson-04-_0xY9yxd.js +0 -6
- package/dist/lesson-04-_0xY9yxd.js.map +0 -1
- package/dist/lesson-04-aMmWZQzM.js +0 -6
- package/dist/lesson-04-aMmWZQzM.js.map +0 -1
- package/dist/lesson-04-eMzwvqbJ.js +0 -6
- package/dist/lesson-04-eMzwvqbJ.js.map +0 -1
- package/dist/lesson-04-zsMZdbns.js +0 -6
- package/dist/lesson-04-zsMZdbns.js.map +0 -1
- package/dist/lesson-05-B73O6R3e.js +0 -6
- package/dist/lesson-05-B73O6R3e.js.map +0 -1
- package/dist/lesson-05-BJz1OMdo.js +0 -6
- package/dist/lesson-05-BJz1OMdo.js.map +0 -1
- package/dist/lesson-05-CmInabsx.js +0 -6
- package/dist/lesson-05-CmInabsx.js.map +0 -1
- package/dist/lesson-05-CtLAKu4H.js +0 -6
- package/dist/lesson-05-CtLAKu4H.js.map +0 -1
- package/dist/lesson-05-CtxbttlQ.js +0 -6
- package/dist/lesson-05-CtxbttlQ.js.map +0 -1
- package/dist/lesson-05-CvkiKhAc.js +0 -6
- package/dist/lesson-05-CvkiKhAc.js.map +0 -1
- package/dist/lesson-05-DZ2zLG_f.js +0 -6
- package/dist/lesson-05-DZ2zLG_f.js.map +0 -1
- package/dist/lesson-05-LEwbqTUO.js +0 -6
- package/dist/lesson-05-LEwbqTUO.js.map +0 -1
- package/dist/lesson-05-xwJq5Ahp.js +0 -6
- package/dist/lesson-05-xwJq5Ahp.js.map +0 -1
- package/dist/lesson-06-3mzCr_fw.js +0 -6
- package/dist/lesson-06-3mzCr_fw.js.map +0 -1
- package/dist/lesson-06-7LtYBqua.js +0 -6
- package/dist/lesson-06-7LtYBqua.js.map +0 -1
- package/dist/lesson-06-B3nh5S8u.js +0 -6
- package/dist/lesson-06-B3nh5S8u.js.map +0 -1
- package/dist/lesson-06-Bb-2_iM_.js +0 -6
- package/dist/lesson-06-Bb-2_iM_.js.map +0 -1
- package/dist/lesson-06-CGSWklWf.js +0 -6
- package/dist/lesson-06-CGSWklWf.js.map +0 -1
- package/dist/lesson-06-CbptJEVj.js +0 -6
- package/dist/lesson-06-CbptJEVj.js.map +0 -1
- package/dist/lesson-06-UZMKnHut.js +0 -6
- package/dist/lesson-06-UZMKnHut.js.map +0 -1
- package/dist/lesson-06-VVLJG5tS.js +0 -6
- package/dist/lesson-06-VVLJG5tS.js.map +0 -1
- package/dist/lesson-07-B-ymvSq1.js +0 -6
- package/dist/lesson-07-B-ymvSq1.js.map +0 -1
- package/dist/lesson-07-BC_VS67I.js +0 -6
- package/dist/lesson-07-BC_VS67I.js.map +0 -1
- package/dist/lesson-07-BIaB3xua.js +0 -6
- package/dist/lesson-07-BIaB3xua.js.map +0 -1
- package/dist/lesson-07-ChjCsvGT.js +0 -6
- package/dist/lesson-07-ChjCsvGT.js.map +0 -1
- package/dist/lesson-07-Cv5XFbyM.js +0 -6
- package/dist/lesson-07-Cv5XFbyM.js.map +0 -1
- package/dist/lesson-07-DOc-6Wro.js +0 -6
- package/dist/lesson-07-DOc-6Wro.js.map +0 -1
- package/dist/lesson-07-Djb8lV_0.js +0 -6
- package/dist/lesson-07-Djb8lV_0.js.map +0 -1
- package/dist/lesson-08-BQAzD1Fs.js +0 -6
- package/dist/lesson-08-BQAzD1Fs.js.map +0 -1
- package/dist/lesson-08-BTjJzUbl.js +0 -6
- package/dist/lesson-08-BTjJzUbl.js.map +0 -1
- package/dist/lesson-08-CkL1Hm9B.js +0 -6
- package/dist/lesson-08-CkL1Hm9B.js.map +0 -1
- package/dist/lesson-08-DCzbB4SF.js +0 -6
- package/dist/lesson-08-DCzbB4SF.js.map +0 -1
- package/dist/lesson-08-DPH_n5aL.js +0 -6
- package/dist/lesson-08-DPH_n5aL.js.map +0 -1
- package/dist/lesson-08-Dd8wp6wx.js +0 -6
- package/dist/lesson-08-Dd8wp6wx.js.map +0 -1
- package/dist/lesson-09-B5N9z5cw.js +0 -6
- package/dist/lesson-09-B5N9z5cw.js.map +0 -1
- package/dist/lesson-09-DV0xLHEY.js +0 -6
- package/dist/lesson-09-DV0xLHEY.js.map +0 -1
- package/dist/lesson-10-BfrJTy0x.js +0 -6
- package/dist/lesson-10-BfrJTy0x.js.map +0 -1
- package/dist/lesson-10-fqBcOfNb.js +0 -6
- package/dist/lesson-10-fqBcOfNb.js.map +0 -1
- package/dist/lesson-11-tee-mG6O.js +0 -6
- package/dist/lesson-11-tee-mG6O.js.map +0 -1
- package/dist/lesson-12-DkmVVMEs.js +0 -6
- package/dist/lesson-12-DkmVVMEs.js.map +0 -1
- package/dist/shared-Cpn5kpPR.js +0 -35
- package/dist/shared-Cpn5kpPR.js.map +0 -1
- package/dist/syllabi/alphabet/index.d.ts +0 -7
- package/dist/syllabi/alphabet/index.js +0 -42
- package/dist/syllabi/alphabet/index.js.map +0 -1
- package/dist/syllabi/dialogue/index.d.ts +0 -7
- package/dist/syllabi/dialogue/index.js +0 -38
- package/dist/syllabi/dialogue/index.js.map +0 -1
- package/dist/syllabi/essentials/index.d.ts +0 -7
- package/dist/syllabi/essentials/index.js +0 -36
- package/dist/syllabi/essentials/index.js.map +0 -1
- package/dist/syllabi/food/index.d.ts +0 -7
- package/dist/syllabi/food/index.js +0 -38
- package/dist/syllabi/food/index.js.map +0 -1
- package/dist/syllabi/grammar/index.d.ts +0 -7
- package/dist/syllabi/grammar/index.js +0 -38
- package/dist/syllabi/grammar/index.js.map +0 -1
- package/dist/syllabi/numbers/index.d.ts +0 -7
- package/dist/syllabi/numbers/index.js +0 -35
- package/dist/syllabi/numbers/index.js.map +0 -1
- package/dist/syllabi/reading/index.d.ts +0 -7
- package/dist/syllabi/reading/index.js +0 -40
- package/dist/syllabi/reading/index.js.map +0 -1
- package/dist/syllabi/travel/index.d.ts +0 -7
- package/dist/syllabi/travel/index.js +0 -37
- package/dist/syllabi/travel/index.js.map +0 -1
- package/dist/syllabi/vowels-tones/index.d.ts +0 -7
- package/dist/syllabi/vowels-tones/index.js +0 -38
- package/dist/syllabi/vowels-tones/index.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@polyglot-bundles/th-syllabi",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"description": "Thai syllabi - all Thai language syllabi in one package",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -55,10 +55,10 @@
|
|
|
55
55
|
"tsx": "^4.7.0",
|
|
56
56
|
"vite": "^8.0.8",
|
|
57
57
|
"vite-plugin-dts": "^4.5.4",
|
|
58
|
-
"@polyglot-bundles/content-shared": "0.5.
|
|
59
|
-
"@polyglot-bundles/syllabi-base": "0.
|
|
58
|
+
"@polyglot-bundles/content-shared": "0.5.6",
|
|
59
|
+
"@polyglot-bundles/syllabi-base": "0.5.6",
|
|
60
60
|
"@polyglot-bundles/lang-tooling": "0.0.0",
|
|
61
|
-
"@polyglot-bundles/th-lang": "1.0.
|
|
61
|
+
"@polyglot-bundles/th-lang": "1.0.5"
|
|
62
62
|
},
|
|
63
63
|
"peerDependencies": {
|
|
64
64
|
"@syllst/core": "^0.6.1",
|
package/dist/index.d.ts
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared types and utilities for SYLLST content
|
|
3
|
-
* (Inlined from @syllst/content-shared to make package self-contained)
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* CEFR language proficiency levels
|
|
7
|
-
*/
|
|
8
|
-
declare type CEFRLevel = 'A1' | 'A2' | 'B1' | 'B2' | 'C1' | 'C2';
|
|
9
|
-
|
|
10
|
-
export declare const config: SyllabusConfig;
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Content loader interface
|
|
14
|
-
*/
|
|
15
|
-
declare interface ContentLoader {
|
|
16
|
-
/** Syllabus configuration */
|
|
17
|
-
config: SyllabusConfig;
|
|
18
|
-
/** Load a single lesson by number */
|
|
19
|
-
loadLesson(lessonNumber: number): Promise<LoadedLesson>;
|
|
20
|
-
/** Load all lessons */
|
|
21
|
-
loadAllLessons(): Promise<LoadedLesson[]>;
|
|
22
|
-
/** Get list of available lesson numbers */
|
|
23
|
-
getAvailableLessons(): number[];
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Difficulty levels
|
|
28
|
-
*/
|
|
29
|
-
declare type Difficulty = 'beginner' | 'intermediate' | 'advanced';
|
|
30
|
-
|
|
31
|
-
export declare const getAvailableLessons: () => number[];
|
|
32
|
-
|
|
33
|
-
export declare const loadAllLessons: () => Promise<LoadedLesson[]>;
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Result of loading a lesson
|
|
37
|
-
*/
|
|
38
|
-
declare interface LoadedLesson {
|
|
39
|
-
/** Lesson number (1-indexed) */
|
|
40
|
-
number: number;
|
|
41
|
-
/** Raw MDX content */
|
|
42
|
-
rawContent: string;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export declare const loader: ContentLoader;
|
|
46
|
-
|
|
47
|
-
export declare const loadLesson: (lessonNumber: number) => Promise<LoadedLesson>;
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Configuration for a syllabus content package
|
|
51
|
-
*/
|
|
52
|
-
declare interface SyllabusConfig {
|
|
53
|
-
/** Unique syllabus ID (e.g., "th-alphabet") */
|
|
54
|
-
id: string;
|
|
55
|
-
/** Display title */
|
|
56
|
-
title: string;
|
|
57
|
-
/** Description */
|
|
58
|
-
description: string;
|
|
59
|
-
/** Language code (ISO 639-1) */
|
|
60
|
-
language: string;
|
|
61
|
-
/** Locale code (e.g., "th-TH") */
|
|
62
|
-
locale: string;
|
|
63
|
-
/** Number of lessons */
|
|
64
|
-
lessonCount: number;
|
|
65
|
-
/** Difficulty level */
|
|
66
|
-
difficulty: Difficulty;
|
|
67
|
-
/** CEFR level */
|
|
68
|
-
cefrLevel: CEFRLevel;
|
|
69
|
-
/** Icon for display */
|
|
70
|
-
icon?: SyllabusIcon;
|
|
71
|
-
/** Package version */
|
|
72
|
-
version: string;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Icon types for syllabi
|
|
77
|
-
*/
|
|
78
|
-
declare type SyllabusIcon = 'alphabet' | 'dialogue' | 'vocabulary' | 'grammar' | 'reading' | 'numbers' | 'food' | 'travel';
|
|
79
|
-
|
|
80
|
-
export { }
|
package/dist/index.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { config as e, loader as t, t as n } from "./syllabi/alphabet/index.js";
|
|
2
|
-
import { config as r, loader as i, t as a } from "./syllabi/vowels-tones/index.js";
|
|
3
|
-
import { config as o, loader as s, t as c } from "./syllabi/numbers/index.js";
|
|
4
|
-
import { config as l, loader as u, t as d } from "./syllabi/essentials/index.js";
|
|
5
|
-
import { config as f, loader as p, t as m } from "./syllabi/food/index.js";
|
|
6
|
-
import { config as h, loader as g, t as _ } from "./syllabi/travel/index.js";
|
|
7
|
-
import { config as v, loader as y, t as b } from "./syllabi/dialogue/index.js";
|
|
8
|
-
import { config as x, loader as S, t as C } from "./syllabi/grammar/index.js";
|
|
9
|
-
import { config as w, loader as T, t as E } from "./syllabi/reading/index.js";
|
|
10
|
-
//#region src/index.ts
|
|
11
|
-
var D = [
|
|
12
|
-
e,
|
|
13
|
-
r,
|
|
14
|
-
o,
|
|
15
|
-
l,
|
|
16
|
-
f,
|
|
17
|
-
h,
|
|
18
|
-
v,
|
|
19
|
-
x,
|
|
20
|
-
w
|
|
21
|
-
];
|
|
22
|
-
function O(e) {
|
|
23
|
-
return D.find((t) => t.id === e);
|
|
24
|
-
}
|
|
25
|
-
//#endregion
|
|
26
|
-
export { D as allConfigs, n as alphabet, e as alphabetConfig, t as alphabetLoader, b as dialogue, v as dialogueConfig, y as dialogueLoader, d as essentials, l as essentialsConfig, u as essentialsLoader, m as food, f as foodConfig, p as foodLoader, O as getConfigById, C as grammar, x as grammarConfig, S as grammarLoader, c as numbers, o as numbersConfig, s as numbersLoader, E as reading, w as readingConfig, T as readingLoader, _ as travel, h as travelConfig, g as travelLoader, a as vowelsTones, r as vowelsTonesConfig, i as vowelsTonesLoader };
|
|
27
|
-
|
|
28
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"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 local shared\nexport type { SyllabusConfig, ContentLoader, LoadedLesson } from './shared.js';\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 './shared.js';\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"],"mappings":";;;;;;;;;;AA4DA,IAAa,IAA+B;CAC1C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAKD,SAAgB,EAAc,GAAwC;AACpE,QAAO,EAAW,MAAK,MAAK,EAAE,OAAO,EAAG"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
//#region src/syllabi/reading/lessons/lesson-01.mdx?raw
|
|
2
|
-
var e = "---\ntype: lesson\nid: thai-reading-lesson-01\ntitle: \"บทที่ 1 — ป้ายถนน\"\ndescription: \"Street Signs: Read common Thai street signs and navigate the city\"\norder: 1\nparentId: thai-reading\ndifficulty: intermediate\ncefrLevel: B1\ncategories:\n - reading\n - signs\n - navigation\nmetadata:\n estimatedTime: 25\n prerequisites: []\n learningObjectives:\n - id: obj-r1-sign-vocab\n description: \"Recognize common street sign vocabulary\"\n skill: word-recognition\n - id: obj-r1-address-reading\n description: \"Read Thai addresses and street names\"\n skill: text-decoding\n - id: obj-r1-directional-indicators\n description: \"Understand directional indicators on signs\"\n skill: reading-comprehension\n---\n\n# Street Signs\n\nThai streets are full of signs that become readable with practice. This lesson covers the most common street signs you'll encounter.\n\n## Street Types\n\n| Thai | Romanization | English |\n|------|--------------|---------|\n| ถนน | thanon | road/street |\n| ซอย | soi | alley/lane |\n| ถนนใหญ่ | thanon yai | main road |\n| ทางด่วน | thang duan | expressway |\n\n## Common Street Signs\n\n| Thai | Romanization | English |\n|------|--------------|---------|\n| หยุด | yut | stop |\n| ห้ามจอด | ham jot | no parking |\n| ห้ามเข้า | ham khao | no entry |\n| ทางเดินเท้า | thang doen thao | pedestrian walkway |\n\n## Address Components\n\n| Thai | Romanization | English |\n|------|--------------|---------|\n| เลขที่ | lek thi | house number |\n| หมู่ | mu | village/group |\n| ตำบล | tambon | subdistrict |\n| อำเภอ | amphoe | district |\n\n## Practice Reading\n\n**Sign 1:** ห้ามจอดรถ\n*ham jot rot* - No parking (vehicles)\n\n**Sign 2:** ถนนสุขุมวิท ซอย 23\n*thanon sukhumwit soi yii-sip-sam* - Sukhumvit Road, Soi 23\n\n**Sign 3:** ทางเข้าหมู่บ้าน\n*thang khao mu ban* - Village entrance\n\n## Practice Exercises\n\n:::exercise{id=\"reading-1-sign-recognition\" type=\"matching\" title=\"Street Sign Recognition\" skill=\"word-recognition\" objectiveId=\"obj-r1-sign-vocab\"}\n\n**Question:** Match each sign to its meaning\n\n- หยุด\n- ห้ามจอด\n- ห้ามเข้า\n- ทางเดินเท้า\n\n**Answer:**\n\n- หยุด → Stop\n- ห้ามจอด → No parking\n- ห้ามเข้า → No entry\n- ทางเดินเท้า → Pedestrian walkway\n\n**Explanation:** ห้าม means \"prohibited\" and is used in many prohibition signs. ทาง means \"way/path\". Learning these patterns helps you read many signs.\n\n:::\n\n:::exercise{id=\"reading-1-address-components\" type=\"fill-in-blank\" title=\"Address Components\" skill=\"text-decoding\" objectiveId=\"obj-r1-address-reading\"}\n\n**Question:** What do these address components mean?\n\n- เลขที่\n- หมู่\n- ตำบล\n- อำเภอ\n\n**Answer:**\n\n- เลขที่ → House number\n- หมู่ → Village/group number\n- ตำบล → Subdistrict\n- อำเภอ → District\n\n**Explanation:** Thai addresses use a hierarchical system: house number → village → subdistrict → district → province. Understanding these helps you read addresses and give directions.\n\n:::\n\n:::exercise{id=\"reading-1-street-types\" type=\"multiple-choice\" title=\"Street Types\" skill=\"reading-comprehension\" objectiveId=\"obj-r1-directional-indicators\"}\n\n**Question:** What's the difference between ถนน and ซอย?\n\n**Options:**\n- ถนน is a main road, ซอย is an alley/lane\n- They mean the same thing\n- ถนน is an alley, ซอย is a main road\n- ถนน is for cars, ซอย is for pedestrians\n\n**Answer:** 1\n\n**Explanation:** ถนน means \"road/street\" (main thoroughfare), while ซอย means \"alley/lane\" (smaller side street). Bangkok addresses often use both: ถนนสุขุมวิท ซอย 23 (Sukhumvit Road, Soi 23).\n\n:::\n\n## What's Next\n\nIn Lesson 2, you'll learn to read restaurant menus — essential for ordering food and understanding Thai cuisine vocabulary.\n";
|
|
3
|
-
//#endregion
|
|
4
|
-
export { e as default };
|
|
5
|
-
|
|
6
|
-
//# sourceMappingURL=lesson-01-5WMLkFR4.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lesson-01-5WMLkFR4.js","names":[],"sources":["../src/syllabi/reading/lessons/lesson-01.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-reading-lesson-01\\ntitle: \\\"บทที่ 1 — ป้ายถนน\\\"\\ndescription: \\\"Street Signs: Read common Thai street signs and navigate the city\\\"\\norder: 1\\nparentId: thai-reading\\ndifficulty: intermediate\\ncefrLevel: B1\\ncategories:\\n - reading\\n - signs\\n - navigation\\nmetadata:\\n estimatedTime: 25\\n prerequisites: []\\n learningObjectives:\\n - id: obj-r1-sign-vocab\\n description: \\\"Recognize common street sign vocabulary\\\"\\n skill: word-recognition\\n - id: obj-r1-address-reading\\n description: \\\"Read Thai addresses and street names\\\"\\n skill: text-decoding\\n - id: obj-r1-directional-indicators\\n description: \\\"Understand directional indicators on signs\\\"\\n skill: reading-comprehension\\n---\\n\\n# Street Signs\\n\\nThai streets are full of signs that become readable with practice. This lesson covers the most common street signs you'll encounter.\\n\\n## Street Types\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| ถนน | thanon | road/street |\\n| ซอย | soi | alley/lane |\\n| ถนนใหญ่ | thanon yai | main road |\\n| ทางด่วน | thang duan | expressway |\\n\\n## Common Street Signs\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| หยุด | yut | stop |\\n| ห้ามจอด | ham jot | no parking |\\n| ห้ามเข้า | ham khao | no entry |\\n| ทางเดินเท้า | thang doen thao | pedestrian walkway |\\n\\n## Address Components\\n\\n| Thai | Romanization | English |\\n|------|--------------|---------|\\n| เลขที่ | lek thi | house number |\\n| หมู่ | mu | village/group |\\n| ตำบล | tambon | subdistrict |\\n| อำเภอ | amphoe | district |\\n\\n## Practice Reading\\n\\n**Sign 1:** ห้ามจอดรถ\\n*ham jot rot* - No parking (vehicles)\\n\\n**Sign 2:** ถนนสุขุมวิท ซอย 23\\n*thanon sukhumwit soi yii-sip-sam* - Sukhumvit Road, Soi 23\\n\\n**Sign 3:** ทางเข้าหมู่บ้าน\\n*thang khao mu ban* - Village entrance\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"reading-1-sign-recognition\\\" type=\\\"matching\\\" title=\\\"Street Sign Recognition\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-r1-sign-vocab\\\"}\\n\\n**Question:** Match each sign to its meaning\\n\\n- หยุด\\n- ห้ามจอด\\n- ห้ามเข้า\\n- ทางเดินเท้า\\n\\n**Answer:**\\n\\n- หยุด → Stop\\n- ห้ามจอด → No parking\\n- ห้ามเข้า → No entry\\n- ทางเดินเท้า → Pedestrian walkway\\n\\n**Explanation:** ห้าม means \\\"prohibited\\\" and is used in many prohibition signs. ทาง means \\\"way/path\\\". Learning these patterns helps you read many signs.\\n\\n:::\\n\\n:::exercise{id=\\\"reading-1-address-components\\\" type=\\\"fill-in-blank\\\" title=\\\"Address Components\\\" skill=\\\"text-decoding\\\" objectiveId=\\\"obj-r1-address-reading\\\"}\\n\\n**Question:** What do these address components mean?\\n\\n- เลขที่\\n- หมู่\\n- ตำบล\\n- อำเภอ\\n\\n**Answer:**\\n\\n- เลขที่ → House number\\n- หมู่ → Village/group number\\n- ตำบล → Subdistrict\\n- อำเภอ → District\\n\\n**Explanation:** Thai addresses use a hierarchical system: house number → village → subdistrict → district → province. Understanding these helps you read addresses and give directions.\\n\\n:::\\n\\n:::exercise{id=\\\"reading-1-street-types\\\" type=\\\"multiple-choice\\\" title=\\\"Street Types\\\" skill=\\\"reading-comprehension\\\" objectiveId=\\\"obj-r1-directional-indicators\\\"}\\n\\n**Question:** What's the difference between ถนน and ซอย?\\n\\n**Options:**\\n- ถนน is a main road, ซอย is an alley/lane\\n- They mean the same thing\\n- ถนน is an alley, ซอย is a main road\\n- ถนน is for cars, ซอย is for pedestrians\\n\\n**Answer:** 1\\n\\n**Explanation:** ถนน means \\\"road/street\\\" (main thoroughfare), while ซอย means \\\"alley/lane\\\" (smaller side street). Bangkok addresses often use both: ถนนสุขุมวิท ซอย 23 (Sukhumvit Road, Soi 23).\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 2, you'll learn to read restaurant menus — essential for ordering food and understanding Thai cuisine vocabulary.\\n\""],"mappings":";AAAA,IAAA,IAAe"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
//#region src/syllabi/alphabet/lessons/lesson-01.mdx?raw
|
|
2
|
-
var e = "---\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";
|
|
3
|
-
//#endregion
|
|
4
|
-
export { e as default };
|
|
5
|
-
|
|
6
|
-
//# sourceMappingURL=lesson-01-Ax46-L8c.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lesson-01-Ax46-L8c.js","names":[],"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\""],"mappings":";AAAA,IAAA,IAAe"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
//#region src/syllabi/dialogue/lessons/lesson-01.mdx?raw
|
|
2
|
-
var e = "---\ntype: lesson\nid: thai-dialogue-lesson-01\ntitle: \"บทที่ 1 — ที่ตลาด\"\ndescription: \"At the Market: Buying fruits, bargaining, and asking prices\"\norder: 1\nparentId: thai-dialogue\ndifficulty: intermediate\ncefrLevel: A2\ncategories:\n - dialogue\n - market\n - shopping\nmetadata:\n estimatedTime: 30\n learningObjectives:\n - id: obj-market-ask-prices\n description: \"Ask prices at the market\"\n skill: situational-response\n - id: obj-market-bargain\n description: \"Bargain politely\"\n skill: polite-register\n - id: obj-market-buy-fruits\n description: \"Buy fruits and vegetables\"\n skill: word-production\n - id: obj-market-transactions\n description: \"Handle basic transactions\"\n skill: dialogue-comprehension\n---\n\n# บทที่ 1 (Lesson 1) — At the Market\n\n## Situation\n\nYou're at a fresh market (ตลาดสด) buying mangoes from a vendor.\n\n## Dialogue\n\n:::dialogue{id=\"market-dialogue-1\" title=\"Buying Mangoes\"}\n\n**ผู้ขาย (Vendor):** สวัสดีค่ะ รับอะไรดีคะ?\n*sà-wàt-dii khâ, ráp à-rai dii khá?*\nHello! What would you like?\n\n**คุณ (You):** มะม่วงกิโลละเท่าไหร่ครับ/ค่ะ?\n*má-mûang gì-loh lá thâo-rài khráp/khâ?*\nHow much are the mangoes per kilo?\n\n**ผู้ขาย:** กิโลละ 60 บาทค่ะ\n*gì-loh lá hòk-sìp bàat khâ*\n60 baht per kilo.\n\n**คุณ:** ลดได้ไหมครับ/ค่ะ? 50 บาทได้ไหม?\n*lót dâai mái khráp/khâ? hâa-sìp bàat dâai mái?*\nCan you reduce it? How about 50 baht?\n\n**ผู้ขาย:** ไม่ได้ค่ะ แต่ซื้อ 2 กิโล 100 บาทนะคะ\n*mâi dâai khâ, dtàe súue sǎawng gì-loh nùeng-rói bàat ná khá*\nNo, but 2 kilos for 100 baht.\n\n**คุณ:** ได้ครับ/ค่ะ เอา 2 กิโล\n*dâai khráp/khâ, ao sǎawng gì-loh*\nOK, I'll take 2 kilos.\n\n**ผู้ขาย:** ค่ะ นี่ค่ะ ขอบคุณค่ะ\n*khâ, nîi khâ, khàawp-khun khâ*\nHere you go. Thank you!\n\n:::\n\n## Key Phrases\n\n| Thai | Romanization | Meaning |\n|------|--------------|---------|\n| รับอะไรดีคะ? | ráp à-rai dii khá? | What would you like? |\n| ...เท่าไหร่? | ...thâo-rài? | How much is...? |\n| กิโลละ... | gì-loh lá... | ...per kilo |\n| ลดได้ไหม? | lót dâai mái? | Can you reduce it? |\n| ไม่ได้ค่ะ | mâi dâai khâ | No, (I) can't |\n| เอา... | ao... | I'll take... |\n\n## Bargaining Tips\n\n1. **Be friendly** - Smile and be polite\n2. **Start lower** - Offer 20-30% less than asking price\n3. **Walk away** - If they don't budge, start walking; they may call you back\n4. **Bundle** - Ask for discounts on larger quantities\n5. **Don't bargain at supermarkets** - Only at markets and small shops\n\n## Cultural Note\n\nBargaining (ต่อราคา, dtàaw raa-khaa) is expected at fresh markets but not at supermarkets or convenience stores. Always bargain with a smile!\n\n## Variations\n\n**Asking about ripeness:**\n- สุกแล้วหรือยัง? (sùk láew rǔue yang?) - Is it ripe yet?\n- มีสุกๆ ไหม? (mii sùk sùk mái?) - Do you have ripe ones?\n\n**Other quantities:**\n- ขีดละเท่าไหร่? (khìit lá thâo-rài?) - How much per 100g?\n- ลูกละเท่าไหร่? (lûuk lá thâo-rài?) - How much each?\n\n## What's Next\n\nIn Lesson 2, you'll learn restaurant dialogues — ordering food, making special requests, and handling the bill at Thai restaurants.\n";
|
|
3
|
-
//#endregion
|
|
4
|
-
export { e as default };
|
|
5
|
-
|
|
6
|
-
//# sourceMappingURL=lesson-01-BAicxju8.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lesson-01-BAicxju8.js","names":[],"sources":["../src/syllabi/dialogue/lessons/lesson-01.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-dialogue-lesson-01\\ntitle: \\\"บทที่ 1 — ที่ตลาด\\\"\\ndescription: \\\"At the Market: Buying fruits, bargaining, and asking prices\\\"\\norder: 1\\nparentId: thai-dialogue\\ndifficulty: intermediate\\ncefrLevel: A2\\ncategories:\\n - dialogue\\n - market\\n - shopping\\nmetadata:\\n estimatedTime: 30\\n learningObjectives:\\n - id: obj-market-ask-prices\\n description: \\\"Ask prices at the market\\\"\\n skill: situational-response\\n - id: obj-market-bargain\\n description: \\\"Bargain politely\\\"\\n skill: polite-register\\n - id: obj-market-buy-fruits\\n description: \\\"Buy fruits and vegetables\\\"\\n skill: word-production\\n - id: obj-market-transactions\\n description: \\\"Handle basic transactions\\\"\\n skill: dialogue-comprehension\\n---\\n\\n# บทที่ 1 (Lesson 1) — At the Market\\n\\n## Situation\\n\\nYou're at a fresh market (ตลาดสด) buying mangoes from a vendor.\\n\\n## Dialogue\\n\\n:::dialogue{id=\\\"market-dialogue-1\\\" title=\\\"Buying Mangoes\\\"}\\n\\n**ผู้ขาย (Vendor):** สวัสดีค่ะ รับอะไรดีคะ?\\n*sà-wàt-dii khâ, ráp à-rai dii khá?*\\nHello! What would you like?\\n\\n**คุณ (You):** มะม่วงกิโลละเท่าไหร่ครับ/ค่ะ?\\n*má-mûang gì-loh lá thâo-rài khráp/khâ?*\\nHow much are the mangoes per kilo?\\n\\n**ผู้ขาย:** กิโลละ 60 บาทค่ะ\\n*gì-loh lá hòk-sìp bàat khâ*\\n60 baht per kilo.\\n\\n**คุณ:** ลดได้ไหมครับ/ค่ะ? 50 บาทได้ไหม?\\n*lót dâai mái khráp/khâ? hâa-sìp bàat dâai mái?*\\nCan you reduce it? How about 50 baht?\\n\\n**ผู้ขาย:** ไม่ได้ค่ะ แต่ซื้อ 2 กิโล 100 บาทนะคะ\\n*mâi dâai khâ, dtàe súue sǎawng gì-loh nùeng-rói bàat ná khá*\\nNo, but 2 kilos for 100 baht.\\n\\n**คุณ:** ได้ครับ/ค่ะ เอา 2 กิโล\\n*dâai khráp/khâ, ao sǎawng gì-loh*\\nOK, I'll take 2 kilos.\\n\\n**ผู้ขาย:** ค่ะ นี่ค่ะ ขอบคุณค่ะ\\n*khâ, nîi khâ, khàawp-khun khâ*\\nHere you go. Thank you!\\n\\n:::\\n\\n## Key Phrases\\n\\n| Thai | Romanization | Meaning |\\n|------|--------------|---------|\\n| รับอะไรดีคะ? | ráp à-rai dii khá? | What would you like? |\\n| ...เท่าไหร่? | ...thâo-rài? | How much is...? |\\n| กิโลละ... | gì-loh lá... | ...per kilo |\\n| ลดได้ไหม? | lót dâai mái? | Can you reduce it? |\\n| ไม่ได้ค่ะ | mâi dâai khâ | No, (I) can't |\\n| เอา... | ao... | I'll take... |\\n\\n## Bargaining Tips\\n\\n1. **Be friendly** - Smile and be polite\\n2. **Start lower** - Offer 20-30% less than asking price\\n3. **Walk away** - If they don't budge, start walking; they may call you back\\n4. **Bundle** - Ask for discounts on larger quantities\\n5. **Don't bargain at supermarkets** - Only at markets and small shops\\n\\n## Cultural Note\\n\\nBargaining (ต่อราคา, dtàaw raa-khaa) is expected at fresh markets but not at supermarkets or convenience stores. Always bargain with a smile!\\n\\n## Variations\\n\\n**Asking about ripeness:**\\n- สุกแล้วหรือยัง? (sùk láew rǔue yang?) - Is it ripe yet?\\n- มีสุกๆ ไหม? (mii sùk sùk mái?) - Do you have ripe ones?\\n\\n**Other quantities:**\\n- ขีดละเท่าไหร่? (khìit lá thâo-rài?) - How much per 100g?\\n- ลูกละเท่าไหร่? (lûuk lá thâo-rài?) - How much each?\\n\\n## What's Next\\n\\nIn Lesson 2, you'll learn restaurant dialogues — ordering food, making special requests, and handling the bill at Thai restaurants.\\n\""],"mappings":";AAAA,IAAA,IAAe"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
//#region src/syllabi/travel/lessons/lesson-01.mdx?raw
|
|
2
|
-
var e = "---\ntype: lesson\nid: thai-travel-lesson-01\ntitle: \"บทที่ 1 — การเดินทาง\"\ndescription: \"Getting Around: Transportation options in Thailand\"\norder: 1\nparentId: thai-vocab-travel\ndifficulty: beginner\ncefrLevel: A2\ncategories:\n - travel\n - transport\nmetadata:\n estimatedTime: 25\n learningObjectives:\n - id: obj-01a\n description: \"Name common vehicles and transport types\"\n skill: word-recognition\n - id: obj-01b\n description: \"Hail taxis and tuk-tuks\"\n skill: situational-response\n - id: obj-01c\n description: \"Use public transportation vocabulary\"\n skill: word-production\n - id: obj-01d\n description: \"Rent vehicles\"\n skill: pattern-application\n---\n\n# บทที่ 1 (Lesson 1) — Getting Around\n\n## Introduction\n\nThailand has diverse transportation options from modern BTS trains to traditional tuk-tuks. Learning these words helps you choose the right transport for any situation.\n\n## Private Transport\n\n:::vocabulary-set{id=\"thai-private-transport\" title=\"Private Transport\"}\n\n::vocab-item{id=\"rot\" word=\"รถ\" pronunciation=\"rót\" meaning=\"vehicle/car\"}\n\n::vocab-item{id=\"rot-taxi\" word=\"รถแท็กซี่\" pronunciation=\"rót thák-sîi\" meaning=\"taxi\"}\n\n::vocab-item{id=\"tuk-tuk\" word=\"ตุ๊กตุ๊ก\" pronunciation=\"dtúk-dtúk\" meaning=\"tuk-tuk (three-wheeler)\"}\n\n::vocab-item{id=\"rot-motocai\" word=\"รถมอเตอร์ไซค์\" pronunciation=\"rót mɔɔ-dtəə-sai\" meaning=\"motorcycle\"}\n\n::vocab-item{id=\"rot-chao\" word=\"รถเช่า\" pronunciation=\"rót châo\" meaning=\"rental car\"}\n\n:::\n\n## Public Transport\n\n:::vocabulary-set{id=\"thai-public-transport\" title=\"Public Transport\"}\n\n::vocab-item{id=\"rot-me\" word=\"รถเมล์\" pronunciation=\"rót mee\" meaning=\"bus\"}\n\n::vocab-item{id=\"rot-fai\" word=\"รถไฟ\" pronunciation=\"rót fai\" meaning=\"train\"}\n\n::vocab-item{id=\"rot-fai-faa\" word=\"รถไฟฟ้า\" pronunciation=\"rót fai fáa\" meaning=\"BTS/MRT (electric train)\"}\n\n::vocab-item{id=\"reua\" word=\"เรือ\" pronunciation=\"rʉa\" meaning=\"boat\"}\n\n::vocab-item{id=\"kreuang-bin\" word=\"เครื่องบิน\" pronunciation=\"khrʉ̂ang bin\" meaning=\"airplane\"}\n\n:::\n\n## Useful Phrases\n\n| Thai | Meaning |\n|------|---------|\n| เรียกแท็กซี่ | Call a taxi |\n| ไปที่ไหน | Where to? |\n| ไป...ครับ | I'm going to... |\n| เท่าไหร่ครับ | How much? |\n| เปิดมิเตอร์ | Turn on the meter |\n| จอดตรงนี้ | Stop here |\n\n## Sample Conversation\n\n**Hailing a taxi:**\n- คุณ: แท็กซี่ครับ! (Taxi!)\n- คนขับ: ไปไหนครับ (Where to?)\n- คุณ: ไปสยามครับ เปิดมิเตอร์นะครับ (To Siam. Please use the meter)\n- คนขับ: ได้ครับ (Okay)\n\n## Key Points\n\n1. **รถไฟฟ้า = BTS/MRT**: The modern sky train and subway\n2. **เปิดมิเตอร์ = use meter**: Always ask in taxis\n3. **ตุ๊กตุ๊ก**: Negotiate price before getting in\n4. **รถเมล์**: Very cheap but can be confusing for beginners\n\n## Practice Exercises\n\n:::exercise{id=\"travel-1-transport-types\" type=\"matching\" title=\"Transportation Types\" skill=\"word-recognition\" objectiveId=\"obj-01a\"}\n\n**Question:** Match each transport type to its Thai name\n\n- Taxi\n- BTS/MRT\n- Tuk-tuk\n- Bus\n- Boat\n\n**Answer:**\n\n- Taxi → รถแท็กซี่ or แท็กซี่\n- BTS/MRT → รถไฟฟ้า (electric train)\n- Tuk-tuk → ตุ๊กตุ๊ก\n- Bus → รถเมล์\n- Boat → เรือ\n\n**Explanation:** รถ means \"vehicle\" and is a prefix for many transport types. รถไฟฟ้า specifically means the electric train system (BTS/MRT). ตุ๊กตุ๊ก is the iconic three-wheeled vehicle.\n\n:::\n\n:::exercise{id=\"travel-1-taxi-etiquette\" type=\"multiple-choice\" title=\"Taxi Etiquette\" skill=\"situational-response\" objectiveId=\"obj-01b\"}\n\n**Question:** What should you always say when getting in a taxi in Thailand?\n\n**Options:**\n- ไปเร็วๆ (go fast)\n- เปิดมิเตอร์ (turn on meter)\n- ไม่ต้องทอน (keep the change)\n- ไปได้ไหม (can you go?)\n\n**Answer:** 2\n\n**Explanation:** Always say \"เปิดมิเตอร์\" (use the meter) to ensure fair pricing. Some drivers try to negotiate fixed prices which are usually higher. Insisting on the meter protects you.\n\n:::\n\n:::exercise{id=\"travel-1-hailing-transport\" type=\"fill-in-blank\" title=\"Hailing Transportation\" skill=\"situational-response\" objectiveId=\"obj-01b\"}\n\n**Question:** How do you hail different types of transport?\n\n**Answer:**\n\n- Taxi: Raise your hand and say \"แท็กซี่!\" or \"ไป[destination]ได้ไหมครับ\"\n- Tuk-tuk: Approach and negotiate price first: \"[destination]เท่าไหร่\"\n- BTS/MRT: Go to station and buy ticket (no hailing needed)\n\n**Explanation:** Taxis can be hailed on the street. Tuk-tuks require price negotiation before getting in. BTS/MRT use ticket systems - no hailing needed.\n\n:::\n\n## What's Next\n\nIn Lesson 2, you'll learn direction words to guide your driver or find your own way.\n";
|
|
3
|
-
//#endregion
|
|
4
|
-
export { e as default };
|
|
5
|
-
|
|
6
|
-
//# sourceMappingURL=lesson-01-Bkv5huMA.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lesson-01-Bkv5huMA.js","names":[],"sources":["../src/syllabi/travel/lessons/lesson-01.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-travel-lesson-01\\ntitle: \\\"บทที่ 1 — การเดินทาง\\\"\\ndescription: \\\"Getting Around: Transportation options in Thailand\\\"\\norder: 1\\nparentId: thai-vocab-travel\\ndifficulty: beginner\\ncefrLevel: A2\\ncategories:\\n - travel\\n - transport\\nmetadata:\\n estimatedTime: 25\\n learningObjectives:\\n - id: obj-01a\\n description: \\\"Name common vehicles and transport types\\\"\\n skill: word-recognition\\n - id: obj-01b\\n description: \\\"Hail taxis and tuk-tuks\\\"\\n skill: situational-response\\n - id: obj-01c\\n description: \\\"Use public transportation vocabulary\\\"\\n skill: word-production\\n - id: obj-01d\\n description: \\\"Rent vehicles\\\"\\n skill: pattern-application\\n---\\n\\n# บทที่ 1 (Lesson 1) — Getting Around\\n\\n## Introduction\\n\\nThailand has diverse transportation options from modern BTS trains to traditional tuk-tuks. Learning these words helps you choose the right transport for any situation.\\n\\n## Private Transport\\n\\n:::vocabulary-set{id=\\\"thai-private-transport\\\" title=\\\"Private Transport\\\"}\\n\\n::vocab-item{id=\\\"rot\\\" word=\\\"รถ\\\" pronunciation=\\\"rót\\\" meaning=\\\"vehicle/car\\\"}\\n\\n::vocab-item{id=\\\"rot-taxi\\\" word=\\\"รถแท็กซี่\\\" pronunciation=\\\"rót thák-sîi\\\" meaning=\\\"taxi\\\"}\\n\\n::vocab-item{id=\\\"tuk-tuk\\\" word=\\\"ตุ๊กตุ๊ก\\\" pronunciation=\\\"dtúk-dtúk\\\" meaning=\\\"tuk-tuk (three-wheeler)\\\"}\\n\\n::vocab-item{id=\\\"rot-motocai\\\" word=\\\"รถมอเตอร์ไซค์\\\" pronunciation=\\\"rót mɔɔ-dtəə-sai\\\" meaning=\\\"motorcycle\\\"}\\n\\n::vocab-item{id=\\\"rot-chao\\\" word=\\\"รถเช่า\\\" pronunciation=\\\"rót châo\\\" meaning=\\\"rental car\\\"}\\n\\n:::\\n\\n## Public Transport\\n\\n:::vocabulary-set{id=\\\"thai-public-transport\\\" title=\\\"Public Transport\\\"}\\n\\n::vocab-item{id=\\\"rot-me\\\" word=\\\"รถเมล์\\\" pronunciation=\\\"rót mee\\\" meaning=\\\"bus\\\"}\\n\\n::vocab-item{id=\\\"rot-fai\\\" word=\\\"รถไฟ\\\" pronunciation=\\\"rót fai\\\" meaning=\\\"train\\\"}\\n\\n::vocab-item{id=\\\"rot-fai-faa\\\" word=\\\"รถไฟฟ้า\\\" pronunciation=\\\"rót fai fáa\\\" meaning=\\\"BTS/MRT (electric train)\\\"}\\n\\n::vocab-item{id=\\\"reua\\\" word=\\\"เรือ\\\" pronunciation=\\\"rʉa\\\" meaning=\\\"boat\\\"}\\n\\n::vocab-item{id=\\\"kreuang-bin\\\" word=\\\"เครื่องบิน\\\" pronunciation=\\\"khrʉ̂ang bin\\\" meaning=\\\"airplane\\\"}\\n\\n:::\\n\\n## Useful Phrases\\n\\n| Thai | Meaning |\\n|------|---------|\\n| เรียกแท็กซี่ | Call a taxi |\\n| ไปที่ไหน | Where to? |\\n| ไป...ครับ | I'm going to... |\\n| เท่าไหร่ครับ | How much? |\\n| เปิดมิเตอร์ | Turn on the meter |\\n| จอดตรงนี้ | Stop here |\\n\\n## Sample Conversation\\n\\n**Hailing a taxi:**\\n- คุณ: แท็กซี่ครับ! (Taxi!)\\n- คนขับ: ไปไหนครับ (Where to?)\\n- คุณ: ไปสยามครับ เปิดมิเตอร์นะครับ (To Siam. Please use the meter)\\n- คนขับ: ได้ครับ (Okay)\\n\\n## Key Points\\n\\n1. **รถไฟฟ้า = BTS/MRT**: The modern sky train and subway\\n2. **เปิดมิเตอร์ = use meter**: Always ask in taxis\\n3. **ตุ๊กตุ๊ก**: Negotiate price before getting in\\n4. **รถเมล์**: Very cheap but can be confusing for beginners\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"travel-1-transport-types\\\" type=\\\"matching\\\" title=\\\"Transportation Types\\\" skill=\\\"word-recognition\\\" objectiveId=\\\"obj-01a\\\"}\\n\\n**Question:** Match each transport type to its Thai name\\n\\n- Taxi\\n- BTS/MRT\\n- Tuk-tuk\\n- Bus\\n- Boat\\n\\n**Answer:**\\n\\n- Taxi → รถแท็กซี่ or แท็กซี่\\n- BTS/MRT → รถไฟฟ้า (electric train)\\n- Tuk-tuk → ตุ๊กตุ๊ก\\n- Bus → รถเมล์\\n- Boat → เรือ\\n\\n**Explanation:** รถ means \\\"vehicle\\\" and is a prefix for many transport types. รถไฟฟ้า specifically means the electric train system (BTS/MRT). ตุ๊กตุ๊ก is the iconic three-wheeled vehicle.\\n\\n:::\\n\\n:::exercise{id=\\\"travel-1-taxi-etiquette\\\" type=\\\"multiple-choice\\\" title=\\\"Taxi Etiquette\\\" skill=\\\"situational-response\\\" objectiveId=\\\"obj-01b\\\"}\\n\\n**Question:** What should you always say when getting in a taxi in Thailand?\\n\\n**Options:**\\n- ไปเร็วๆ (go fast)\\n- เปิดมิเตอร์ (turn on meter)\\n- ไม่ต้องทอน (keep the change)\\n- ไปได้ไหม (can you go?)\\n\\n**Answer:** 2\\n\\n**Explanation:** Always say \\\"เปิดมิเตอร์\\\" (use the meter) to ensure fair pricing. Some drivers try to negotiate fixed prices which are usually higher. Insisting on the meter protects you.\\n\\n:::\\n\\n:::exercise{id=\\\"travel-1-hailing-transport\\\" type=\\\"fill-in-blank\\\" title=\\\"Hailing Transportation\\\" skill=\\\"situational-response\\\" objectiveId=\\\"obj-01b\\\"}\\n\\n**Question:** How do you hail different types of transport?\\n\\n**Answer:**\\n\\n- Taxi: Raise your hand and say \\\"แท็กซี่!\\\" or \\\"ไป[destination]ได้ไหมครับ\\\"\\n- Tuk-tuk: Approach and negotiate price first: \\\"[destination]เท่าไหร่\\\"\\n- BTS/MRT: Go to station and buy ticket (no hailing needed)\\n\\n**Explanation:** Taxis can be hailed on the street. Tuk-tuks require price negotiation before getting in. BTS/MRT use ticket systems - no hailing needed.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 2, you'll learn direction words to guide your driver or find your own way.\\n\""],"mappings":";AAAA,IAAA,IAAe"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
//#region src/syllabi/essentials/lessons/lesson-01.mdx?raw
|
|
2
|
-
var e = "---\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";
|
|
3
|
-
//#endregion
|
|
4
|
-
export { e as default };
|
|
5
|
-
|
|
6
|
-
//# sourceMappingURL=lesson-01-CGdvcTGF.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lesson-01-CGdvcTGF.js","names":[],"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\""],"mappings":";AAAA,IAAA,IAAe"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
//#region src/syllabi/food/lessons/lesson-01.mdx?raw
|
|
2
|
-
var e = "---\ntype: lesson\nid: thai-food-lesson-01\ntitle: \"บทที่ 1 — คำศัพท์อาหารพื้นฐาน\"\ndescription: \"Essential Food Words: Rice, noodles, and daily basics\"\norder: 1\nparentId: thai-food\ndifficulty: beginner\ncefrLevel: A2\ncategories:\n - food\n - basics\n - vocabulary\nmetadata:\n estimatedTime: 30\n prerequisites: []\n learningObjectives:\n - id: obj-name-staple-foods\n description: \"Name basic staple foods\"\n skill: word-recognition\n - id: obj-order-rice-noodles\n description: \"Order rice and noodle dishes\"\n skill: word-production\n - id: obj-request-water-drinks\n description: \"Request water and common drinks\"\n skill: word-production\n - id: obj-understand-menu-items\n description: \"Understand basic menu items\"\n skill: reading-comprehension\n---\n\n# บทที่ 1 (Lesson 1) — Essential Food Words\n\n## Introduction\n\nBefore diving into Thai cuisine's complexity, you need the foundation: the words for rice, noodles, and basic items you'll encounter in every meal. These are the building blocks of Thai food vocabulary.\n\n## Rice — The Heart of Thai Meals\n\n:::vocabulary-set{id=\"thai-rice\" title=\"Rice Vocabulary\"}\n\n::vocab-item{id=\"khao\" word=\"ข้าว\" pronunciation=\"khâao\" meaning=\"rice\"}\n\n::vocab-item{id=\"khao-suay\" word=\"ข้าวสวย\" pronunciation=\"khâao sǔay\" meaning=\"steamed rice\"}\n\n::vocab-item{id=\"khao-niao\" word=\"ข้าวเหนียว\" pronunciation=\"khâao nǐao\" meaning=\"sticky rice\"}\n\n::vocab-item{id=\"khao-pad\" word=\"ข้าวผัด\" pronunciation=\"khâao phàt\" meaning=\"fried rice\"}\n\n::vocab-item{id=\"khao-tom\" word=\"ข้าวต้ม\" pronunciation=\"khâao dtôm\" meaning=\"rice porridge\"}\n\n:::\n\n### Rice in Thai Culture\n\nRice is so central that \"กินข้าว\" (gin khâao - eat rice) means \"to eat a meal\" even if no rice is involved!\n\n| Phrase | Meaning |\n|--------|---------|\n| กินข้าวหรือยัง | Have you eaten yet? (greeting) |\n| ขอข้าวเพิ่ม | May I have more rice? |\n| ข้าวหมดแล้ว | The rice is finished |\n\n## Noodles — The Other Staple\n\n:::vocabulary-set{id=\"thai-noodles\" title=\"Noodle Vocabulary\"}\n\n::vocab-item{id=\"kuay-tiaw\" word=\"ก๋วยเตี๋ยว\" pronunciation=\"gǔay-dtǐao\" meaning=\"noodles / noodle soup\"}\n\n::vocab-item{id=\"sen-lek\" word=\"เส้นเล็ก\" pronunciation=\"sên lék\" meaning=\"thin rice noodles\"}\n\n::vocab-item{id=\"sen-yai\" word=\"เส้นใหญ่\" pronunciation=\"sên yài\" meaning=\"wide rice noodles\"}\n\n::vocab-item{id=\"sen-mee\" word=\"เส้นหมี่\" pronunciation=\"sên mìi\" meaning=\"rice vermicelli\"}\n\n::vocab-item{id=\"ba-mee\" word=\"บะหมี่\" pronunciation=\"bà-mìi\" meaning=\"egg noodles\"}\n\n::vocab-item{id=\"wun-sen\" word=\"วุ้นเส้น\" pronunciation=\"wún sên\" meaning=\"glass noodles\"}\n\n:::\n\n### Noodle Soup Options\n\nWhen ordering noodle soup, you choose:\n\n| Choice | Options |\n|--------|---------|\n| Noodle type | เส้นเล็ก, เส้นใหญ่, เส้นหมี่, บะหมี่ |\n| Soup style | น้ำ (with soup) / แห้ง (dry) |\n| Protein | หมู (pork), ไก่ (chicken), เนื้อ (beef) |\n\n## Basic Food Items\n\n:::vocabulary-set{id=\"thai-basics\" title=\"Basic Food Items\"}\n\n::vocab-item{id=\"nam\" word=\"น้ำ\" pronunciation=\"náam\" meaning=\"water\"}\n\n::vocab-item{id=\"nam-plao\" word=\"น้ำเปล่า\" pronunciation=\"náam bplào\" meaning=\"plain water\"}\n\n::vocab-item{id=\"khai\" word=\"ไข่\" pronunciation=\"khài\" meaning=\"egg\"}\n\n::vocab-item{id=\"khai-dao\" word=\"ไข่ดาว\" pronunciation=\"khài daao\" meaning=\"fried egg\"}\n\n::vocab-item{id=\"khai-jiaw\" word=\"ไข่เจียว\" pronunciation=\"khài jiao\" meaning=\"Thai omelette\"}\n\n::vocab-item{id=\"phat-thai\" word=\"ผัดไทย\" pronunciation=\"phàt thai\" meaning=\"pad thai\"}\n\n:::\n\n## Essential Ordering Phrases\n\n| Thai | Meaning |\n|------|---------|\n| ขอ...หนึ่งที่ | One order of... please |\n| ขอข้าวสวย | Steamed rice, please |\n| ขอน้ำเปล่า | Plain water, please |\n| เอาข้าวผัดไก่ | I'll have chicken fried rice |\n| ก๋วยเตี๋ยวหมูน้ำ | Pork noodle soup |\n\n## Common Dishes to Know\n\n| Thai | Romanization | Description |\n|------|--------------|-------------|\n| ข้าวผัดไก่ | khâao phàt gài | Chicken fried rice |\n| ข้าวผัดกุ้ง | khâao phàt gûng | Shrimp fried rice |\n| ข้าวมันไก่ | khâao man gài | Hainanese chicken rice |\n| ข้าวหมูแดง | khâao mǔu daeng | Red pork with rice |\n| ผัดไทยไก่ | phàt thai gài | Pad Thai with chicken |\n\n## Practice Conversation\n\n**At a restaurant:**\n- คุณ: ขอข้าวผัดไก่หนึ่งที่ครับ (One chicken fried rice, please)\n- พนักงาน: เอาไข่ดาวไหมคะ (Would you like a fried egg?)\n- คุณ: เอาครับ (Yes, please)\n- พนักงาน: เอาอะไรดื่มคะ (What would you like to drink?)\n- คุณ: ขอน้ำเปล่าครับ (Plain water, please)\n\n## Key Points\n\n1. **ข้าว is essential**: Rice appears in countless dish names\n2. **ก๋วยเตี๋ยว = noodles**: Choose your noodle type\n3. **น้ำเปล่า for water**: Specifying \"plain\" avoids confusion\n4. **ขอ...หนึ่งที่**: Standard ordering pattern\n\n## What's Next\n\nIn Lesson 2, you'll learn the five tastes of Thai cuisine — essential for describing and customizing your food.\n";
|
|
3
|
-
//#endregion
|
|
4
|
-
export { e as default };
|
|
5
|
-
|
|
6
|
-
//# sourceMappingURL=lesson-01-CUGNC_ZI.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lesson-01-CUGNC_ZI.js","names":[],"sources":["../src/syllabi/food/lessons/lesson-01.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-food-lesson-01\\ntitle: \\\"บทที่ 1 — คำศัพท์อาหารพื้นฐาน\\\"\\ndescription: \\\"Essential Food Words: Rice, noodles, and daily basics\\\"\\norder: 1\\nparentId: thai-food\\ndifficulty: beginner\\ncefrLevel: A2\\ncategories:\\n - food\\n - basics\\n - vocabulary\\nmetadata:\\n estimatedTime: 30\\n prerequisites: []\\n learningObjectives:\\n - id: obj-name-staple-foods\\n description: \\\"Name basic staple foods\\\"\\n skill: word-recognition\\n - id: obj-order-rice-noodles\\n description: \\\"Order rice and noodle dishes\\\"\\n skill: word-production\\n - id: obj-request-water-drinks\\n description: \\\"Request water and common drinks\\\"\\n skill: word-production\\n - id: obj-understand-menu-items\\n description: \\\"Understand basic menu items\\\"\\n skill: reading-comprehension\\n---\\n\\n# บทที่ 1 (Lesson 1) — Essential Food Words\\n\\n## Introduction\\n\\nBefore diving into Thai cuisine's complexity, you need the foundation: the words for rice, noodles, and basic items you'll encounter in every meal. These are the building blocks of Thai food vocabulary.\\n\\n## Rice — The Heart of Thai Meals\\n\\n:::vocabulary-set{id=\\\"thai-rice\\\" title=\\\"Rice Vocabulary\\\"}\\n\\n::vocab-item{id=\\\"khao\\\" word=\\\"ข้าว\\\" pronunciation=\\\"khâao\\\" meaning=\\\"rice\\\"}\\n\\n::vocab-item{id=\\\"khao-suay\\\" word=\\\"ข้าวสวย\\\" pronunciation=\\\"khâao sǔay\\\" meaning=\\\"steamed rice\\\"}\\n\\n::vocab-item{id=\\\"khao-niao\\\" word=\\\"ข้าวเหนียว\\\" pronunciation=\\\"khâao nǐao\\\" meaning=\\\"sticky rice\\\"}\\n\\n::vocab-item{id=\\\"khao-pad\\\" word=\\\"ข้าวผัด\\\" pronunciation=\\\"khâao phàt\\\" meaning=\\\"fried rice\\\"}\\n\\n::vocab-item{id=\\\"khao-tom\\\" word=\\\"ข้าวต้ม\\\" pronunciation=\\\"khâao dtôm\\\" meaning=\\\"rice porridge\\\"}\\n\\n:::\\n\\n### Rice in Thai Culture\\n\\nRice is so central that \\\"กินข้าว\\\" (gin khâao - eat rice) means \\\"to eat a meal\\\" even if no rice is involved!\\n\\n| Phrase | Meaning |\\n|--------|---------|\\n| กินข้าวหรือยัง | Have you eaten yet? (greeting) |\\n| ขอข้าวเพิ่ม | May I have more rice? |\\n| ข้าวหมดแล้ว | The rice is finished |\\n\\n## Noodles — The Other Staple\\n\\n:::vocabulary-set{id=\\\"thai-noodles\\\" title=\\\"Noodle Vocabulary\\\"}\\n\\n::vocab-item{id=\\\"kuay-tiaw\\\" word=\\\"ก๋วยเตี๋ยว\\\" pronunciation=\\\"gǔay-dtǐao\\\" meaning=\\\"noodles / noodle soup\\\"}\\n\\n::vocab-item{id=\\\"sen-lek\\\" word=\\\"เส้นเล็ก\\\" pronunciation=\\\"sên lék\\\" meaning=\\\"thin rice noodles\\\"}\\n\\n::vocab-item{id=\\\"sen-yai\\\" word=\\\"เส้นใหญ่\\\" pronunciation=\\\"sên yài\\\" meaning=\\\"wide rice noodles\\\"}\\n\\n::vocab-item{id=\\\"sen-mee\\\" word=\\\"เส้นหมี่\\\" pronunciation=\\\"sên mìi\\\" meaning=\\\"rice vermicelli\\\"}\\n\\n::vocab-item{id=\\\"ba-mee\\\" word=\\\"บะหมี่\\\" pronunciation=\\\"bà-mìi\\\" meaning=\\\"egg noodles\\\"}\\n\\n::vocab-item{id=\\\"wun-sen\\\" word=\\\"วุ้นเส้น\\\" pronunciation=\\\"wún sên\\\" meaning=\\\"glass noodles\\\"}\\n\\n:::\\n\\n### Noodle Soup Options\\n\\nWhen ordering noodle soup, you choose:\\n\\n| Choice | Options |\\n|--------|---------|\\n| Noodle type | เส้นเล็ก, เส้นใหญ่, เส้นหมี่, บะหมี่ |\\n| Soup style | น้ำ (with soup) / แห้ง (dry) |\\n| Protein | หมู (pork), ไก่ (chicken), เนื้อ (beef) |\\n\\n## Basic Food Items\\n\\n:::vocabulary-set{id=\\\"thai-basics\\\" title=\\\"Basic Food Items\\\"}\\n\\n::vocab-item{id=\\\"nam\\\" word=\\\"น้ำ\\\" pronunciation=\\\"náam\\\" meaning=\\\"water\\\"}\\n\\n::vocab-item{id=\\\"nam-plao\\\" word=\\\"น้ำเปล่า\\\" pronunciation=\\\"náam bplào\\\" meaning=\\\"plain water\\\"}\\n\\n::vocab-item{id=\\\"khai\\\" word=\\\"ไข่\\\" pronunciation=\\\"khài\\\" meaning=\\\"egg\\\"}\\n\\n::vocab-item{id=\\\"khai-dao\\\" word=\\\"ไข่ดาว\\\" pronunciation=\\\"khài daao\\\" meaning=\\\"fried egg\\\"}\\n\\n::vocab-item{id=\\\"khai-jiaw\\\" word=\\\"ไข่เจียว\\\" pronunciation=\\\"khài jiao\\\" meaning=\\\"Thai omelette\\\"}\\n\\n::vocab-item{id=\\\"phat-thai\\\" word=\\\"ผัดไทย\\\" pronunciation=\\\"phàt thai\\\" meaning=\\\"pad thai\\\"}\\n\\n:::\\n\\n## Essential Ordering Phrases\\n\\n| Thai | Meaning |\\n|------|---------|\\n| ขอ...หนึ่งที่ | One order of... please |\\n| ขอข้าวสวย | Steamed rice, please |\\n| ขอน้ำเปล่า | Plain water, please |\\n| เอาข้าวผัดไก่ | I'll have chicken fried rice |\\n| ก๋วยเตี๋ยวหมูน้ำ | Pork noodle soup |\\n\\n## Common Dishes to Know\\n\\n| Thai | Romanization | Description |\\n|------|--------------|-------------|\\n| ข้าวผัดไก่ | khâao phàt gài | Chicken fried rice |\\n| ข้าวผัดกุ้ง | khâao phàt gûng | Shrimp fried rice |\\n| ข้าวมันไก่ | khâao man gài | Hainanese chicken rice |\\n| ข้าวหมูแดง | khâao mǔu daeng | Red pork with rice |\\n| ผัดไทยไก่ | phàt thai gài | Pad Thai with chicken |\\n\\n## Practice Conversation\\n\\n**At a restaurant:**\\n- คุณ: ขอข้าวผัดไก่หนึ่งที่ครับ (One chicken fried rice, please)\\n- พนักงาน: เอาไข่ดาวไหมคะ (Would you like a fried egg?)\\n- คุณ: เอาครับ (Yes, please)\\n- พนักงาน: เอาอะไรดื่มคะ (What would you like to drink?)\\n- คุณ: ขอน้ำเปล่าครับ (Plain water, please)\\n\\n## Key Points\\n\\n1. **ข้าว is essential**: Rice appears in countless dish names\\n2. **ก๋วยเตี๋ยว = noodles**: Choose your noodle type\\n3. **น้ำเปล่า for water**: Specifying \\\"plain\\\" avoids confusion\\n4. **ขอ...หนึ่งที่**: Standard ordering pattern\\n\\n## What's Next\\n\\nIn Lesson 2, you'll learn the five tastes of Thai cuisine — essential for describing and customizing your food.\\n\""],"mappings":";AAAA,IAAA,IAAe"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
//#region src/syllabi/vowels-tones/lessons/lesson-01.mdx?raw
|
|
2
|
-
var e = "---\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";
|
|
3
|
-
//#endregion
|
|
4
|
-
export { e as default };
|
|
5
|
-
|
|
6
|
-
//# sourceMappingURL=lesson-01-CXbu1LWK.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lesson-01-CXbu1LWK.js","names":[],"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\""],"mappings":";AAAA,IAAA,IAAe"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
//#region src/syllabi/numbers/lessons/lesson-01.mdx?raw
|
|
2
|
-
var e = "---\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";
|
|
3
|
-
//#endregion
|
|
4
|
-
export { e as default };
|
|
5
|
-
|
|
6
|
-
//# sourceMappingURL=lesson-01-Cru6vUXD.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lesson-01-Cru6vUXD.js","names":[],"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\""],"mappings":";AAAA,IAAA,IAAe"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
//#region src/syllabi/grammar/lessons/lesson-01.mdx?raw
|
|
2
|
-
var e = "---\ntype: lesson\nid: thai-grammar-lesson-01\ntitle: \"บทที่ 1 — โครงสร้างประโยค\"\ndescription: \"Sentence Structure: Subject + Verb + Object basics\"\norder: 1\nparentId: thai-grammar\ndifficulty: intermediate\ncefrLevel: A2\ncategories:\n - grammar\n - sentence-structure\nmetadata:\n estimatedTime: 30\n learningObjectives:\n - id: obj-01-sentence-order\n description: \"Understand basic Thai sentence order\"\n skill: word-order\n - id: obj-01-form-statements\n description: \"Form simple statements\"\n skill: pattern-application\n - id: obj-01-recognize-svo\n description: \"Recognize subject-verb-object patterns\"\n skill: pattern-recognition\n---\n\n# บทที่ 1 (Lesson 1) — Sentence Structure\n\n## Introduction\n\nThai sentence structure is quite similar to English: **Subject + Verb + Object** (SVO). The good news? No verb conjugations!\n\n## Basic Pattern: S + V + O\n\n| Thai | Romanization | Meaning |\n|------|--------------|---------|\n| ผมกินข้าว | phǒm gin khâao | I eat rice |\n| เขาอ่านหนังสือ | khǎo àan nǎng-sǔue | He reads a book |\n| แม่ทำอาหาร | mâe tham aa-hǎan | Mom cooks food |\n\n## Subject Pronouns\n\n| Thai | Romanization | Meaning |\n|------|--------------|---------|\n| ผม | phǒm | I (male) |\n| ดิฉัน | dì-chǎn | I (female, formal) |\n| ฉัน | chǎn | I (neutral) |\n| คุณ | khun | you |\n| เขา | khǎo | he/she/they |\n| เรา | rao | we |\n| มัน | man | it |\n| พวกเขา | phûuak-khǎo | they |\n\n## No Conjugation Needed!\n\nUnlike English, Thai verbs stay the same regardless of subject or tense:\n\n| Subject | Verb (กิน = eat) | Object |\n|---------|------------------|--------|\n| ผม | กิน | ข้าว |\n| คุณ | กิน | ข้าว |\n| เขา | กิน | ข้าว |\n| เรา | กิน | ข้าว |\n\nAll = \"[subject] gin khâao\" = \"[subject] eat rice\"\n\n## Subject Dropping\n\nIn Thai, the subject is often dropped when it's clear from context:\n\n- **กินข้าวหรือยัง?** (gin khâao rǔue yang?) = \"Eaten yet?\" (subject \"you\" implied)\n- **ไปเลย** (bpai ləəi) = \"Go!\" or \"I'm going\" (context determines subject)\n\n## Examples\n\n| Thai | Pattern | Meaning |\n|------|---------|---------|\n| ผมรักคุณ | S + V + O | I love you |\n| เขาซื้อรถ | S + V + O | He/She buys a car |\n| เราไปตลาด | S + V + O | We go to the market |\n| หมากินข้าว | S + V + O | The dog eats rice |\n\n## Key Points\n\n1. **SVO order** - Same as English most of the time\n2. **No conjugations** - Verbs never change form\n3. **Subject dropping** - Common when obvious from context\n4. **No articles** - No \"a\", \"an\", \"the\" needed\n\n## What's Next\n\nIn Lesson 2, you'll learn how to form questions in Thai — both yes/no questions and question words like \"what\", \"where\", and \"when\".\n";
|
|
3
|
-
//#endregion
|
|
4
|
-
export { e as default };
|
|
5
|
-
|
|
6
|
-
//# sourceMappingURL=lesson-01-Te5nTr_7.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lesson-01-Te5nTr_7.js","names":[],"sources":["../src/syllabi/grammar/lessons/lesson-01.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-grammar-lesson-01\\ntitle: \\\"บทที่ 1 — โครงสร้างประโยค\\\"\\ndescription: \\\"Sentence Structure: Subject + Verb + Object basics\\\"\\norder: 1\\nparentId: thai-grammar\\ndifficulty: intermediate\\ncefrLevel: A2\\ncategories:\\n - grammar\\n - sentence-structure\\nmetadata:\\n estimatedTime: 30\\n learningObjectives:\\n - id: obj-01-sentence-order\\n description: \\\"Understand basic Thai sentence order\\\"\\n skill: word-order\\n - id: obj-01-form-statements\\n description: \\\"Form simple statements\\\"\\n skill: pattern-application\\n - id: obj-01-recognize-svo\\n description: \\\"Recognize subject-verb-object patterns\\\"\\n skill: pattern-recognition\\n---\\n\\n# บทที่ 1 (Lesson 1) — Sentence Structure\\n\\n## Introduction\\n\\nThai sentence structure is quite similar to English: **Subject + Verb + Object** (SVO). The good news? No verb conjugations!\\n\\n## Basic Pattern: S + V + O\\n\\n| Thai | Romanization | Meaning |\\n|------|--------------|---------|\\n| ผมกินข้าว | phǒm gin khâao | I eat rice |\\n| เขาอ่านหนังสือ | khǎo àan nǎng-sǔue | He reads a book |\\n| แม่ทำอาหาร | mâe tham aa-hǎan | Mom cooks food |\\n\\n## Subject Pronouns\\n\\n| Thai | Romanization | Meaning |\\n|------|--------------|---------|\\n| ผม | phǒm | I (male) |\\n| ดิฉัน | dì-chǎn | I (female, formal) |\\n| ฉัน | chǎn | I (neutral) |\\n| คุณ | khun | you |\\n| เขา | khǎo | he/she/they |\\n| เรา | rao | we |\\n| มัน | man | it |\\n| พวกเขา | phûuak-khǎo | they |\\n\\n## No Conjugation Needed!\\n\\nUnlike English, Thai verbs stay the same regardless of subject or tense:\\n\\n| Subject | Verb (กิน = eat) | Object |\\n|---------|------------------|--------|\\n| ผม | กิน | ข้าว |\\n| คุณ | กิน | ข้าว |\\n| เขา | กิน | ข้าว |\\n| เรา | กิน | ข้าว |\\n\\nAll = \\\"[subject] gin khâao\\\" = \\\"[subject] eat rice\\\"\\n\\n## Subject Dropping\\n\\nIn Thai, the subject is often dropped when it's clear from context:\\n\\n- **กินข้าวหรือยัง?** (gin khâao rǔue yang?) = \\\"Eaten yet?\\\" (subject \\\"you\\\" implied)\\n- **ไปเลย** (bpai ləəi) = \\\"Go!\\\" or \\\"I'm going\\\" (context determines subject)\\n\\n## Examples\\n\\n| Thai | Pattern | Meaning |\\n|------|---------|---------|\\n| ผมรักคุณ | S + V + O | I love you |\\n| เขาซื้อรถ | S + V + O | He/She buys a car |\\n| เราไปตลาด | S + V + O | We go to the market |\\n| หมากินข้าว | S + V + O | The dog eats rice |\\n\\n## Key Points\\n\\n1. **SVO order** - Same as English most of the time\\n2. **No conjugations** - Verbs never change form\\n3. **Subject dropping** - Common when obvious from context\\n4. **No articles** - No \\\"a\\\", \\\"an\\\", \\\"the\\\" needed\\n\\n## What's Next\\n\\nIn Lesson 2, you'll learn how to form questions in Thai — both yes/no questions and question words like \\\"what\\\", \\\"where\\\", and \\\"when\\\".\\n\""],"mappings":";AAAA,IAAA,IAAe"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
//#region src/syllabi/vowels-tones/lessons/lesson-02.mdx?raw
|
|
2
|
-
var e = "---\ntype: lesson\nid: thai-vowels-lesson-02\ntitle: \"บทที่ 2 — สระเสียงสั้น II\"\ndescription: \"Short Vowels Part 2: Before, after, and around consonants\"\norder: 2\nparentId: thai-vowels-tones\ndifficulty: beginner\ncefrLevel: A1\ncategories:\n - vowels\n - short-vowels\n - basic-vowels\nmetadata:\n estimatedTime: 35\n prerequisites:\n - thai-vowels-lesson-01\n learningObjectives:\n - id: obj-recognize-before-vowels\n description: \"Recognize vowels written before consonants\"\n skill: character-recognition\n references: [vowel-e, vowel-ae, vowel-o, vowel-oe]\n - id: obj-recognize-after-vowels\n description: \"Recognize vowels written after consonants\"\n skill: character-recognition\n references: [vowel-a, vowel-ao]\n - id: obj-write-left-read-right\n description: \"Understand 'write left, read right' principle\"\n skill: vowel-positioning\n references: [vowel-e, vowel-ae, vowel-o, vowel-oe, vowel-ao]\n - id: obj-short-a-vowel-forms\n description: \"Master the short 'a' vowel forms\"\n skill: character-sound-mapping\n references: [vowel-a, vowel-e, vowel-ae, vowel-o]\n---\n\n# บทที่ 2 (Lesson 2) — Short Vowels II\n\n## Introduction\n\nIn this lesson, you'll encounter Thai's most unique vowel feature: vowels that appear **before** the consonant in writing but are pronounced **after** it. This \"write left, read right\" pattern is essential for reading Thai fluently.\n\n## The Glottal Stop Vowel: ะ\n\nThe vowel **ะ** (sara a) is special — it creates a short \"a\" sound followed by a **glottal stop** (a brief catch in the throat, like the pause in \"uh-oh\").\n\n:::character-set{id=\"thai-short-vowel-a\" title=\"Short 'a' Vowel\"}\n\n::character{id=\"vowel-a\" canonicalRef=\"vowel-a\" char=\"ะ\" name=\"สระอะ (sara a)\" nativeName=\"สระอะ\" transliteration=\"a\" charType=\"vowel\"}\n\n:::\n\n## Leading Vowels: Write First, Pronounce After\n\nThese vowels are written **before** the consonant but pronounced **after** it:\n\n:::character-set{id=\"thai-leading-short-vowels\" title=\"Leading Short Vowels\"}\n\n::character{id=\"vowel-e\" canonicalRef=\"vowel-e\" char=\"เ-ะ\" name=\"สระเอะ (sara e)\" nativeName=\"สระเอะ\" transliteration=\"e\" charType=\"vowel\"}\n\n::character{id=\"vowel-ae\" canonicalRef=\"vowel-ae\" char=\"แ-ะ\" name=\"สระแอะ (sara ae)\" nativeName=\"สระแอะ\" transliteration=\"ae\" charType=\"vowel\"}\n\n::character{id=\"vowel-o\" canonicalRef=\"vowel-o\" char=\"โ-ะ\" name=\"สระโอะ (sara o)\" nativeName=\"สระโอะ\" transliteration=\"o\" charType=\"vowel\"}\n\n::character{id=\"vowel-oe\" canonicalRef=\"vowel-oe\" char=\"เ-อะ\" name=\"สระเออะ (sara oe)\" nativeName=\"สระเออะ\" transliteration=\"oe\" charType=\"vowel\"}\n\n:::\n\n## The Wrap-Around Vowel: เ-า\n\nThis vowel \"wraps around\" the consonant:\n\n:::character-set{id=\"thai-wraparound-vowel\" title=\"Wrap-Around Vowel\"}\n\n::character{id=\"vowel-ao\" canonicalRef=\"vowel-ao\" char=\"เ-า\" name=\"สระเอา (sara ao)\" nativeName=\"สระเอา\" transliteration=\"ao\" charType=\"vowel\"}\n\n:::\n\n## Understanding \"Write Left, Read Right\"\n\nIn Thai, when you see: **เ** + ก → **เก**\n\nYou **write** เ first (to the left), but you **read** it as \"gee\" — the consonant ก comes first in pronunciation.\n\n| Written Form | How to Read | Pronunciation |\n|--------------|-------------|---------------|\n| เกะ | ก + เ-ะ | ge (short) |\n| แกะ | ก + แ-ะ | gae (short) |\n| โกะ | ก + โ-ะ | go (short) |\n| เกา | ก + เ-า | gao |\n\n## Short Vowel Pairs\n\nEach short vowel has a long counterpart:\n\n| Short | Long | Sound Comparison |\n|-------|------|------------------|\n| ะ (a) | า (aa) | \"cut\" vs \"car\" |\n| เ-ะ (e) | เ (ee) | \"pet\" vs \"pay\" |\n| แ-ะ (ae) | แ (aae) | \"bat\" vs \"bad\" (longer) |\n| โ-ะ (o) | โ (oo) | \"pot\" vs \"boat\" |\n\n## Key Points\n\n1. **Write left, read right**: Leading vowels are written first but pronounced after the consonant\n2. **ะ marks shortness**: When you see ะ at the end, the vowel is short\n3. **Glottal stop**: Short vowels often end with a brief throat catch\n4. **Two-part vowels**: Some vowels wrap around the consonant (เ-า)\n\n## Common Words Practice\n\nTry reading these common words:\n- เตะ (dte) — to kick\n- แมะ (mae) — informal \"mom\" (some dialects)\n- เกา (gao) — to scratch\n\n## Practice Exercises\n\n:::exercise{id=\"short-vowels-2-direction\" type=\"multiple-choice\" title=\"Write Left, Read Right\" skill=\"vowel-positioning\" tests=\"vowel-e,vowel-ae,vowel-o\" objectiveId=\"obj-write-left-read-right\"}\n\n**Question:** When you see เก (written as เ + ก), how do you read it?\n\n**Options:**\n- Read เ first, then ก (like \"ay-gor\")\n- Read ก first, then เ (like \"gor-ay\")\n- Read them simultaneously\n- It depends on the word\n\n**Answer:** 2\n\n**Explanation:** Leading vowels follow the \"write left, read right\" principle. เ is written first (to the left), but you read ก first, then the vowel sound. เก is pronounced \"gee\" (ก + เ).\n\n:::\n\n:::exercise{id=\"short-vowels-2-recognition\" type=\"matching\" title=\"Short Vowel Recognition\" skill=\"character-sound-mapping\" tests=\"vowel-e,vowel-ae,vowel-o,vowel-ao\" objectiveId=\"obj-short-a-vowel-forms\"}\n\n**Question:** Match each written form to its pronunciation\n\n- เกะ (ก + เ-ะ)\n- แกะ (ก + แ-ะ)\n- โกะ (ก + โ-ะ)\n- เกา (ก + เ-า)\n\n**Answer:**\n\n- เกะ → ge (short e)\n- แกะ → gae (short ae)\n- โกะ → go (short o)\n- เกา → gao (ao sound)\n\n**Explanation:** Short vowels are marked with ะ at the end. The wrap-around vowel เ-า creates the \"ao\" sound. Remember to read the consonant first, then the vowel.\n\n:::\n\n:::exercise{id=\"short-vowels-2-pairs\" type=\"fill-in-blank\" title=\"Short vs Long Pairs\" skill=\"character-sound-mapping\" tests=\"vowel-a,vowel-e,vowel-ae\" objectiveId=\"obj-short-a-vowel-forms\"}\n\n**Question:** What makes a vowel short vs long in these pairs?\n\n- ะ vs า\n- เ-ะ vs เ\n- แ-ะ vs แ\n\n**Answer:**\n\n- ะ is short, า is long (the ะ marks shortness)\n- เ-ะ is short, เ is long (absence of ะ = long)\n- แ-ะ is short, แ is long (same pattern)\n\n**Explanation:** The ะ mark indicates a short vowel. When ะ is absent, the vowel is long. This is a consistent pattern across Thai vowels.\n\n:::\n\n## What's Next\n\nIn Lesson 3, you'll learn the **long vowels** — extended sounds that are crucial for proper pronunciation and affect how tones work.\n";
|
|
3
|
-
//#endregion
|
|
4
|
-
export { e as default };
|
|
5
|
-
|
|
6
|
-
//# sourceMappingURL=lesson-02-3mt33eeQ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lesson-02-3mt33eeQ.js","names":[],"sources":["../src/syllabi/vowels-tones/lessons/lesson-02.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-vowels-lesson-02\\ntitle: \\\"บทที่ 2 — สระเสียงสั้น II\\\"\\ndescription: \\\"Short Vowels Part 2: Before, after, and around consonants\\\"\\norder: 2\\nparentId: thai-vowels-tones\\ndifficulty: beginner\\ncefrLevel: A1\\ncategories:\\n - vowels\\n - short-vowels\\n - basic-vowels\\nmetadata:\\n estimatedTime: 35\\n prerequisites:\\n - thai-vowels-lesson-01\\n learningObjectives:\\n - id: obj-recognize-before-vowels\\n description: \\\"Recognize vowels written before consonants\\\"\\n skill: character-recognition\\n references: [vowel-e, vowel-ae, vowel-o, vowel-oe]\\n - id: obj-recognize-after-vowels\\n description: \\\"Recognize vowels written after consonants\\\"\\n skill: character-recognition\\n references: [vowel-a, vowel-ao]\\n - id: obj-write-left-read-right\\n description: \\\"Understand 'write left, read right' principle\\\"\\n skill: vowel-positioning\\n references: [vowel-e, vowel-ae, vowel-o, vowel-oe, vowel-ao]\\n - id: obj-short-a-vowel-forms\\n description: \\\"Master the short 'a' vowel forms\\\"\\n skill: character-sound-mapping\\n references: [vowel-a, vowel-e, vowel-ae, vowel-o]\\n---\\n\\n# บทที่ 2 (Lesson 2) — Short Vowels II\\n\\n## Introduction\\n\\nIn this lesson, you'll encounter Thai's most unique vowel feature: vowels that appear **before** the consonant in writing but are pronounced **after** it. This \\\"write left, read right\\\" pattern is essential for reading Thai fluently.\\n\\n## The Glottal Stop Vowel: ะ\\n\\nThe vowel **ะ** (sara a) is special — it creates a short \\\"a\\\" sound followed by a **glottal stop** (a brief catch in the throat, like the pause in \\\"uh-oh\\\").\\n\\n:::character-set{id=\\\"thai-short-vowel-a\\\" title=\\\"Short 'a' Vowel\\\"}\\n\\n::character{id=\\\"vowel-a\\\" canonicalRef=\\\"vowel-a\\\" char=\\\"ะ\\\" name=\\\"สระอะ (sara a)\\\" nativeName=\\\"สระอะ\\\" transliteration=\\\"a\\\" charType=\\\"vowel\\\"}\\n\\n:::\\n\\n## Leading Vowels: Write First, Pronounce After\\n\\nThese vowels are written **before** the consonant but pronounced **after** it:\\n\\n:::character-set{id=\\\"thai-leading-short-vowels\\\" title=\\\"Leading Short Vowels\\\"}\\n\\n::character{id=\\\"vowel-e\\\" canonicalRef=\\\"vowel-e\\\" char=\\\"เ-ะ\\\" name=\\\"สระเอะ (sara e)\\\" nativeName=\\\"สระเอะ\\\" transliteration=\\\"e\\\" charType=\\\"vowel\\\"}\\n\\n::character{id=\\\"vowel-ae\\\" canonicalRef=\\\"vowel-ae\\\" char=\\\"แ-ะ\\\" name=\\\"สระแอะ (sara ae)\\\" nativeName=\\\"สระแอะ\\\" transliteration=\\\"ae\\\" charType=\\\"vowel\\\"}\\n\\n::character{id=\\\"vowel-o\\\" canonicalRef=\\\"vowel-o\\\" char=\\\"โ-ะ\\\" name=\\\"สระโอะ (sara o)\\\" nativeName=\\\"สระโอะ\\\" transliteration=\\\"o\\\" charType=\\\"vowel\\\"}\\n\\n::character{id=\\\"vowel-oe\\\" canonicalRef=\\\"vowel-oe\\\" char=\\\"เ-อะ\\\" name=\\\"สระเออะ (sara oe)\\\" nativeName=\\\"สระเออะ\\\" transliteration=\\\"oe\\\" charType=\\\"vowel\\\"}\\n\\n:::\\n\\n## The Wrap-Around Vowel: เ-า\\n\\nThis vowel \\\"wraps around\\\" the consonant:\\n\\n:::character-set{id=\\\"thai-wraparound-vowel\\\" title=\\\"Wrap-Around Vowel\\\"}\\n\\n::character{id=\\\"vowel-ao\\\" canonicalRef=\\\"vowel-ao\\\" char=\\\"เ-า\\\" name=\\\"สระเอา (sara ao)\\\" nativeName=\\\"สระเอา\\\" transliteration=\\\"ao\\\" charType=\\\"vowel\\\"}\\n\\n:::\\n\\n## Understanding \\\"Write Left, Read Right\\\"\\n\\nIn Thai, when you see: **เ** + ก → **เก**\\n\\nYou **write** เ first (to the left), but you **read** it as \\\"gee\\\" — the consonant ก comes first in pronunciation.\\n\\n| Written Form | How to Read | Pronunciation |\\n|--------------|-------------|---------------|\\n| เกะ | ก + เ-ะ | ge (short) |\\n| แกะ | ก + แ-ะ | gae (short) |\\n| โกะ | ก + โ-ะ | go (short) |\\n| เกา | ก + เ-า | gao |\\n\\n## Short Vowel Pairs\\n\\nEach short vowel has a long counterpart:\\n\\n| Short | Long | Sound Comparison |\\n|-------|------|------------------|\\n| ะ (a) | า (aa) | \\\"cut\\\" vs \\\"car\\\" |\\n| เ-ะ (e) | เ (ee) | \\\"pet\\\" vs \\\"pay\\\" |\\n| แ-ะ (ae) | แ (aae) | \\\"bat\\\" vs \\\"bad\\\" (longer) |\\n| โ-ะ (o) | โ (oo) | \\\"pot\\\" vs \\\"boat\\\" |\\n\\n## Key Points\\n\\n1. **Write left, read right**: Leading vowels are written first but pronounced after the consonant\\n2. **ะ marks shortness**: When you see ะ at the end, the vowel is short\\n3. **Glottal stop**: Short vowels often end with a brief throat catch\\n4. **Two-part vowels**: Some vowels wrap around the consonant (เ-า)\\n\\n## Common Words Practice\\n\\nTry reading these common words:\\n- เตะ (dte) — to kick\\n- แมะ (mae) — informal \\\"mom\\\" (some dialects)\\n- เกา (gao) — to scratch\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"short-vowels-2-direction\\\" type=\\\"multiple-choice\\\" title=\\\"Write Left, Read Right\\\" skill=\\\"vowel-positioning\\\" tests=\\\"vowel-e,vowel-ae,vowel-o\\\" objectiveId=\\\"obj-write-left-read-right\\\"}\\n\\n**Question:** When you see เก (written as เ + ก), how do you read it?\\n\\n**Options:**\\n- Read เ first, then ก (like \\\"ay-gor\\\")\\n- Read ก first, then เ (like \\\"gor-ay\\\")\\n- Read them simultaneously\\n- It depends on the word\\n\\n**Answer:** 2\\n\\n**Explanation:** Leading vowels follow the \\\"write left, read right\\\" principle. เ is written first (to the left), but you read ก first, then the vowel sound. เก is pronounced \\\"gee\\\" (ก + เ).\\n\\n:::\\n\\n:::exercise{id=\\\"short-vowels-2-recognition\\\" type=\\\"matching\\\" title=\\\"Short Vowel Recognition\\\" skill=\\\"character-sound-mapping\\\" tests=\\\"vowel-e,vowel-ae,vowel-o,vowel-ao\\\" objectiveId=\\\"obj-short-a-vowel-forms\\\"}\\n\\n**Question:** Match each written form to its pronunciation\\n\\n- เกะ (ก + เ-ะ)\\n- แกะ (ก + แ-ะ)\\n- โกะ (ก + โ-ะ)\\n- เกา (ก + เ-า)\\n\\n**Answer:**\\n\\n- เกะ → ge (short e)\\n- แกะ → gae (short ae)\\n- โกะ → go (short o)\\n- เกา → gao (ao sound)\\n\\n**Explanation:** Short vowels are marked with ะ at the end. The wrap-around vowel เ-า creates the \\\"ao\\\" sound. Remember to read the consonant first, then the vowel.\\n\\n:::\\n\\n:::exercise{id=\\\"short-vowels-2-pairs\\\" type=\\\"fill-in-blank\\\" title=\\\"Short vs Long Pairs\\\" skill=\\\"character-sound-mapping\\\" tests=\\\"vowel-a,vowel-e,vowel-ae\\\" objectiveId=\\\"obj-short-a-vowel-forms\\\"}\\n\\n**Question:** What makes a vowel short vs long in these pairs?\\n\\n- ะ vs า\\n- เ-ะ vs เ\\n- แ-ะ vs แ\\n\\n**Answer:**\\n\\n- ะ is short, า is long (the ะ marks shortness)\\n- เ-ะ is short, เ is long (absence of ะ = long)\\n- แ-ะ is short, แ is long (same pattern)\\n\\n**Explanation:** The ะ mark indicates a short vowel. When ะ is absent, the vowel is long. This is a consistent pattern across Thai vowels.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 3, you'll learn the **long vowels** — extended sounds that are crucial for proper pronunciation and affect how tones work.\\n\""],"mappings":";AAAA,IAAA,IAAe"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
//#region src/syllabi/alphabet/lessons/lesson-02.mdx?raw
|
|
2
|
-
var e = "---\ntype: lesson\nid: thai-script-lesson-02\ntitle: \"บทที่ 2 — พยัญชนะกลาง II\"\ndescription: \"Middle-Class Consonants Part 2: ม ย ร ล อ — Nasals, liquids, and the silent consonant\"\norder: 2\nparentId: thai-script-alphabet\ndifficulty: beginner\ncefrLevel: A1\ncategories:\n - consonants\n - middle-class\n - nasal\n - approximant\n - basic-characters\nmetadata:\n estimatedTime: 25\n prerequisites:\n - thai-script-lesson-01\n learningObjectives:\n - id: obj-complete-mid\n description: \"Complete your knowledge of middle-class consonants\"\n skill: character-recognition\n references: [horse, ogre, boat, monkey, bowl]\n - id: obj-nasal-approx\n description: \"Understand nasals and approximants\"\n skill: character-sound-mapping\n - id: obj-silent-consonant\n description: \"Learn the special role of อ as a silent consonant\"\n skill: character-sound-mapping\n references: [bowl]\n - id: obj-syllable-reading\n description: \"Practice reading simple syllables\"\n skill: character-sound-mapping\n---\n\n# บทที่ 2 (Lesson 2) — Middle-Class Consonants II\n\n## Introduction\n\nIn this lesson, you'll complete the middle-class consonants with 5 more characters. These include **nasals** (ม), **liquids** (ร ล), **approximants** (ย ว), and the unique **silent consonant** (อ).\n\n## Why These Are Different\n\nThe consonants in Lesson 1 were all **stops** — sounds made by completely blocking airflow then releasing. Today's consonants are different:\n\n- **Nasals** (ม): Air flows through the nose\n- **Liquids** (ร ล): Air flows around the tongue\n- **Approximants** (ย): Tongue approaches but doesn't touch\n\nThis affects their behavior in final position — they don't become unreleased stops like the Lesson 1 consonants.\n\n## Characters\n\n:::character-set{id=\"thai-middle-consonants-2\" title=\"Middle-Class Consonants II\"}\n\n::character{id=\"horse\" canonicalRef=\"horse\" data:class=\"low\" char=\"ม\" name=\"ม ม้า (mɔɔ máa)\" nativeName=\"ม ม้า\" transliteration=\"m\" charType=\"consonant\"}\n\n::character{id=\"ogre\" canonicalRef=\"ogre\" data:class=\"low\" char=\"ย\" name=\"ย ยักษ์ (yɔɔ yák)\" nativeName=\"ย ยักษ์\" transliteration=\"y\" charType=\"consonant\"}\n\n::character{id=\"boat\" canonicalRef=\"boat\" data:class=\"low\" char=\"ร\" name=\"ร เรือ (rɔɔ rʉa)\" nativeName=\"ร เรือ\" transliteration=\"r/n\" charType=\"consonant\"}\n\n::character{id=\"monkey\" canonicalRef=\"monkey\" data:class=\"low\" char=\"ล\" name=\"ล ลิง (lɔɔ ling)\" nativeName=\"ล ลิง\" transliteration=\"l/n\" charType=\"consonant\"}\n\n::character{id=\"bowl\" canonicalRef=\"bowl\" data:class=\"middle\" char=\"อ\" name=\"อ อ่าง (ɔɔ àang)\" nativeName=\"อ อ่าง\" transliteration=\"-/vowel\" charType=\"consonant\"}\n\n:::\n\n## The Special Case: อ (Ɔɔ Àang)\n\n**อ** is the most unusual Thai consonant. It has **two completely different roles**:\n\n### As Initial Consonant\nWhen starting a syllable that begins with a vowel sound, อ serves as a **silent placeholder**:\n- อา (aa) — the อ is silent, you just hear \"aa\"\n- Without อ, there would be no consonant to \"carry\" the vowel\n\n### As Vowel Component\nIn certain vowel combinations, อ represents the sound /ɔɔ/:\n- เมือง (mʉang) — the อ makes the /ɔ/ sound\n\nThis dual nature makes อ essential despite being \"silent\" in many words.\n\n## Sound Changes for Nasals and Liquids\n\nUnlike the stop consonants from Lesson 1, these consonants keep their basic sound quality in final position:\n\n| Consonant | Initial Sound | Final Sound | Example |\n|-----------|---------------|-------------|---------|\n| ม | **m** | **m** | มา (maa) / ลม (lom) |\n| ย | **y** | **i** (as vowel) | ยา (yaa) / สาย (sǎai) |\n| ร | **r** (rolled) | **n** | รัก (rák) / ตอร์ (dton) |\n| ล | **l** | **n** | ลา (laa) / กล (gon) |\n\n**Important**: Both ร and ล become /n/ in final position. This surprises many learners!\n\n## The Thai R Sound\n\nThai **ร** is a rolled or flapped R, similar to Spanish. In casual speech, many Thai speakers substitute **ล** for **ร** (so \"ร เรือ\" sounds like \"ล เลือ\"). This is very common but considered informal.\n\nIn careful speech:\n- **ร** = alveolar trill or flap (tongue tip vibrates)\n- **ล** = lateral (air flows around tongue sides)\n\n## Middle-Class Complete\n\nYou've now learned all 9 middle-class consonants! Here's the complete set:\n\n| Stop Consonants | Nasals/Liquids |\n|-----------------|----------------|\n| ก จ ด ต ป บ | ม ย ร ล อ |\n\nWhy only 9 middle-class versus 24 low-class? Historical sound shifts moved many consonants to the low class over time. The remaining middle-class consonants are the \"original\" unvoiced stops plus sonorants.\n\n## Tone Behavior of Middle Class\n\nWith no tone mark, middle-class consonants produce:\n- **Live syllable** (open or nasal ending): **Mid tone**\n- **Dead syllable** (stop ending, short vowel): **Low tone**\n\nExamples:\n- กา (gaa) — live, mid tone\n- กับ (gàp) — dead, low tone\n\nThis will make more sense after you learn vowels and tone marks!\n\n## Key Points\n\n1. **ม** is a nasal — air through nose, same sound initial and final\n2. **ย** becomes a vowel sound (/i/) in final position\n3. **ร and ล** both become /n/ at syllable end\n4. **อ** is the \"silent\" consonant for vowel-initial words\n5. **All 9 middle-class** consonants share the same tone rules\n\n## Practice Tip: Shape Recognition\n\n- **ม** looks like a \"3\" with a tail\n- **ย** has a distinctive curving shape\n- **ร and ล** can be confusing — ร has the loop on top, ล doesn't\n- **อ** looks like a circle with a tail\n\n## Practice Exercises\n\n:::exercise{id=\"middle-2-final-sounds\" type=\"matching\" title=\"Final Position Sounds\" skill=\"character-sound-mapping\" tests=\"boat,monkey,ogre,horse\" objectiveId=\"obj-nasal-approx\"}\n\n**Question:** Match each consonant to its final position sound\n\n- ร (boat)\n- ล (monkey)\n- ย (ogre)\n- ม (horse)\n\n**Answer:**\n\n- ร → /n/ (becomes N in final position)\n- ล → /n/ (becomes N in final position)\n- ย → /i/ (becomes vowel-like sound)\n- ม → /m/ (stays M in final position)\n\n**Explanation:** Unlike stop consonants, these sonorants maintain or transform their sound. Both ร and ล become /n/ finally, which surprises many learners. ย becomes vowel-like, and ม stays the same.\n\n:::\n\n:::exercise{id=\"middle-2-special-case\" type=\"multiple-choice\" title=\"The Special อ Consonant\" skill=\"character-sound-mapping\" tests=\"bowl\" objectiveId=\"obj-silent-consonant\"}\n\n**Question:** What makes อ (bowl) special?\n\n**Options:**\n- It's the only vowel\n- It serves as both silent consonant carrier and vowel component\n- It's never used\n- It's always pronounced\n\n**Answer:** 2\n\n**Explanation:** อ has dual functions: (1) as a silent placeholder for vowel-initial syllables (อา = \"aa\"), and (2) as a vowel component representing /ɔɔ/ in certain combinations. This makes it unique among Thai consonants.\n\n:::\n\n:::exercise{id=\"middle-2-complete-set\" type=\"fill-in-blank\" title=\"Complete Middle-Class Set\" skill=\"character-recognition\" objectiveId=\"obj-complete-mid\"}\n\n**Question:** How many middle-class consonants are there, and what are they?\n\n**Answer:**\n\nThere are **9 middle-class consonants** total:\n- Stop consonants: ก จ ด ต ป บ\n- Nasals/Liquids: ม ย ร ล อ\n\n**Explanation:** Middle-class is the smallest group (9 consonants) compared to high-class (11) and low-class (24). They're called \"middle\" because they produce mid tones in basic patterns, forming the baseline for the tone system.\n\n:::\n\n## What's Next\n\nIn Lesson 3, you'll start learning **high-class consonants** — these create rising tones and are the \"aspirated\" (breathy) versions of sounds you already know.\n";
|
|
3
|
-
//#endregion
|
|
4
|
-
export { e as default };
|
|
5
|
-
|
|
6
|
-
//# sourceMappingURL=lesson-02-BkgwkNSk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lesson-02-BkgwkNSk.js","names":[],"sources":["../src/syllabi/alphabet/lessons/lesson-02.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-script-lesson-02\\ntitle: \\\"บทที่ 2 — พยัญชนะกลาง II\\\"\\ndescription: \\\"Middle-Class Consonants Part 2: ม ย ร ล อ — Nasals, liquids, and the silent consonant\\\"\\norder: 2\\nparentId: thai-script-alphabet\\ndifficulty: beginner\\ncefrLevel: A1\\ncategories:\\n - consonants\\n - middle-class\\n - nasal\\n - approximant\\n - basic-characters\\nmetadata:\\n estimatedTime: 25\\n prerequisites:\\n - thai-script-lesson-01\\n learningObjectives:\\n - id: obj-complete-mid\\n description: \\\"Complete your knowledge of middle-class consonants\\\"\\n skill: character-recognition\\n references: [horse, ogre, boat, monkey, bowl]\\n - id: obj-nasal-approx\\n description: \\\"Understand nasals and approximants\\\"\\n skill: character-sound-mapping\\n - id: obj-silent-consonant\\n description: \\\"Learn the special role of อ as a silent consonant\\\"\\n skill: character-sound-mapping\\n references: [bowl]\\n - id: obj-syllable-reading\\n description: \\\"Practice reading simple syllables\\\"\\n skill: character-sound-mapping\\n---\\n\\n# บทที่ 2 (Lesson 2) — Middle-Class Consonants II\\n\\n## Introduction\\n\\nIn this lesson, you'll complete the middle-class consonants with 5 more characters. These include **nasals** (ม), **liquids** (ร ล), **approximants** (ย ว), and the unique **silent consonant** (อ).\\n\\n## Why These Are Different\\n\\nThe consonants in Lesson 1 were all **stops** — sounds made by completely blocking airflow then releasing. Today's consonants are different:\\n\\n- **Nasals** (ม): Air flows through the nose\\n- **Liquids** (ร ล): Air flows around the tongue\\n- **Approximants** (ย): Tongue approaches but doesn't touch\\n\\nThis affects their behavior in final position — they don't become unreleased stops like the Lesson 1 consonants.\\n\\n## Characters\\n\\n:::character-set{id=\\\"thai-middle-consonants-2\\\" title=\\\"Middle-Class Consonants II\\\"}\\n\\n::character{id=\\\"horse\\\" canonicalRef=\\\"horse\\\" data:class=\\\"low\\\" char=\\\"ม\\\" name=\\\"ม ม้า (mɔɔ máa)\\\" nativeName=\\\"ม ม้า\\\" transliteration=\\\"m\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"ogre\\\" canonicalRef=\\\"ogre\\\" data:class=\\\"low\\\" char=\\\"ย\\\" name=\\\"ย ยักษ์ (yɔɔ yák)\\\" nativeName=\\\"ย ยักษ์\\\" transliteration=\\\"y\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"boat\\\" canonicalRef=\\\"boat\\\" data:class=\\\"low\\\" char=\\\"ร\\\" name=\\\"ร เรือ (rɔɔ rʉa)\\\" nativeName=\\\"ร เรือ\\\" transliteration=\\\"r/n\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"monkey\\\" canonicalRef=\\\"monkey\\\" data:class=\\\"low\\\" char=\\\"ล\\\" name=\\\"ล ลิง (lɔɔ ling)\\\" nativeName=\\\"ล ลิง\\\" transliteration=\\\"l/n\\\" charType=\\\"consonant\\\"}\\n\\n::character{id=\\\"bowl\\\" canonicalRef=\\\"bowl\\\" data:class=\\\"middle\\\" char=\\\"อ\\\" name=\\\"อ อ่าง (ɔɔ àang)\\\" nativeName=\\\"อ อ่าง\\\" transliteration=\\\"-/vowel\\\" charType=\\\"consonant\\\"}\\n\\n:::\\n\\n## The Special Case: อ (Ɔɔ Àang)\\n\\n**อ** is the most unusual Thai consonant. It has **two completely different roles**:\\n\\n### As Initial Consonant\\nWhen starting a syllable that begins with a vowel sound, อ serves as a **silent placeholder**:\\n- อา (aa) — the อ is silent, you just hear \\\"aa\\\"\\n- Without อ, there would be no consonant to \\\"carry\\\" the vowel\\n\\n### As Vowel Component\\nIn certain vowel combinations, อ represents the sound /ɔɔ/:\\n- เมือง (mʉang) — the อ makes the /ɔ/ sound\\n\\nThis dual nature makes อ essential despite being \\\"silent\\\" in many words.\\n\\n## Sound Changes for Nasals and Liquids\\n\\nUnlike the stop consonants from Lesson 1, these consonants keep their basic sound quality in final position:\\n\\n| Consonant | Initial Sound | Final Sound | Example |\\n|-----------|---------------|-------------|---------|\\n| ม | **m** | **m** | มา (maa) / ลม (lom) |\\n| ย | **y** | **i** (as vowel) | ยา (yaa) / สาย (sǎai) |\\n| ร | **r** (rolled) | **n** | รัก (rák) / ตอร์ (dton) |\\n| ล | **l** | **n** | ลา (laa) / กล (gon) |\\n\\n**Important**: Both ร and ล become /n/ in final position. This surprises many learners!\\n\\n## The Thai R Sound\\n\\nThai **ร** is a rolled or flapped R, similar to Spanish. In casual speech, many Thai speakers substitute **ล** for **ร** (so \\\"ร เรือ\\\" sounds like \\\"ล เลือ\\\"). This is very common but considered informal.\\n\\nIn careful speech:\\n- **ร** = alveolar trill or flap (tongue tip vibrates)\\n- **ล** = lateral (air flows around tongue sides)\\n\\n## Middle-Class Complete\\n\\nYou've now learned all 9 middle-class consonants! Here's the complete set:\\n\\n| Stop Consonants | Nasals/Liquids |\\n|-----------------|----------------|\\n| ก จ ด ต ป บ | ม ย ร ล อ |\\n\\nWhy only 9 middle-class versus 24 low-class? Historical sound shifts moved many consonants to the low class over time. The remaining middle-class consonants are the \\\"original\\\" unvoiced stops plus sonorants.\\n\\n## Tone Behavior of Middle Class\\n\\nWith no tone mark, middle-class consonants produce:\\n- **Live syllable** (open or nasal ending): **Mid tone**\\n- **Dead syllable** (stop ending, short vowel): **Low tone**\\n\\nExamples:\\n- กา (gaa) — live, mid tone\\n- กับ (gàp) — dead, low tone\\n\\nThis will make more sense after you learn vowels and tone marks!\\n\\n## Key Points\\n\\n1. **ม** is a nasal — air through nose, same sound initial and final\\n2. **ย** becomes a vowel sound (/i/) in final position\\n3. **ร and ล** both become /n/ at syllable end\\n4. **อ** is the \\\"silent\\\" consonant for vowel-initial words\\n5. **All 9 middle-class** consonants share the same tone rules\\n\\n## Practice Tip: Shape Recognition\\n\\n- **ม** looks like a \\\"3\\\" with a tail\\n- **ย** has a distinctive curving shape\\n- **ร and ล** can be confusing — ร has the loop on top, ล doesn't\\n- **อ** looks like a circle with a tail\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"middle-2-final-sounds\\\" type=\\\"matching\\\" title=\\\"Final Position Sounds\\\" skill=\\\"character-sound-mapping\\\" tests=\\\"boat,monkey,ogre,horse\\\" objectiveId=\\\"obj-nasal-approx\\\"}\\n\\n**Question:** Match each consonant to its final position sound\\n\\n- ร (boat)\\n- ล (monkey)\\n- ย (ogre)\\n- ม (horse)\\n\\n**Answer:**\\n\\n- ร → /n/ (becomes N in final position)\\n- ล → /n/ (becomes N in final position)\\n- ย → /i/ (becomes vowel-like sound)\\n- ม → /m/ (stays M in final position)\\n\\n**Explanation:** Unlike stop consonants, these sonorants maintain or transform their sound. Both ร and ล become /n/ finally, which surprises many learners. ย becomes vowel-like, and ม stays the same.\\n\\n:::\\n\\n:::exercise{id=\\\"middle-2-special-case\\\" type=\\\"multiple-choice\\\" title=\\\"The Special อ Consonant\\\" skill=\\\"character-sound-mapping\\\" tests=\\\"bowl\\\" objectiveId=\\\"obj-silent-consonant\\\"}\\n\\n**Question:** What makes อ (bowl) special?\\n\\n**Options:**\\n- It's the only vowel\\n- It serves as both silent consonant carrier and vowel component\\n- It's never used\\n- It's always pronounced\\n\\n**Answer:** 2\\n\\n**Explanation:** อ has dual functions: (1) as a silent placeholder for vowel-initial syllables (อา = \\\"aa\\\"), and (2) as a vowel component representing /ɔɔ/ in certain combinations. This makes it unique among Thai consonants.\\n\\n:::\\n\\n:::exercise{id=\\\"middle-2-complete-set\\\" type=\\\"fill-in-blank\\\" title=\\\"Complete Middle-Class Set\\\" skill=\\\"character-recognition\\\" objectiveId=\\\"obj-complete-mid\\\"}\\n\\n**Question:** How many middle-class consonants are there, and what are they?\\n\\n**Answer:**\\n\\nThere are **9 middle-class consonants** total:\\n- Stop consonants: ก จ ด ต ป บ\\n- Nasals/Liquids: ม ย ร ล อ\\n\\n**Explanation:** Middle-class is the smallest group (9 consonants) compared to high-class (11) and low-class (24). They're called \\\"middle\\\" because they produce mid tones in basic patterns, forming the baseline for the tone system.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 3, you'll start learning **high-class consonants** — these create rising tones and are the \\\"aspirated\\\" (breathy) versions of sounds you already know.\\n\""],"mappings":";AAAA,IAAA,IAAe"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
//#region src/syllabi/grammar/lessons/lesson-02.mdx?raw
|
|
2
|
-
var e = "---\ntype: lesson\nid: thai-grammar-lesson-02\ntitle: \"บทที่ 2 — การถามคำถาม\"\ndescription: \"Questions: Question words and yes/no questions\"\norder: 2\nparentId: thai-grammar\ndifficulty: intermediate\ncefrLevel: A2\ncategories:\n - grammar\n - questions\nmetadata:\n estimatedTime: 30\n prerequisites:\n - thai-grammar-lesson-01\n learningObjectives:\n - id: obj-02-yes-no-questions\n description: \"Form yes/no questions\"\n skill: pattern-application\n - id: obj-02-question-words\n description: \"Use question words\"\n skill: word-production\n - id: obj-02-question-intonation\n description: \"Understand question intonation\"\n skill: pattern-recognition\n---\n\n# บทที่ 2 (Lesson 2) — Questions\n\n## Introduction\n\nThai has two main question types: **yes/no questions** (add ไหม at the end) and **wh-questions** (use question words).\n\n## Yes/No Questions: Add ไหม (mái)\n\nSimply add **ไหม** at the end of a statement:\n\n| Statement | Question |\n|-----------|----------|\n| คุณกินข้าว (you eat rice) | คุณกินข้าวไหม? (Do you eat rice?) |\n| เขาไปตลาด (he goes to market) | เขาไปตลาดไหม? (Does he go to market?) |\n| มีห้องว่าง (there's a room) | มีห้องว่างไหม? (Is there a room?) |\n\n## Answering Yes/No Questions\n\n| Response | Meaning |\n|----------|---------|\n| ครับ/ค่ะ | Yes (polite) |\n| ใช่ (châi) | Yes/correct |\n| ไม่ (mâi) + verb | No (repeat verb with ไม่) |\n| ไม่ครับ/ค่ะ | No (polite) |\n\nExample:\n- Q: คุณชอบอาหารไทยไหม? (Do you like Thai food?)\n- A: ชอบครับ (Yes, I like it) or ไม่ชอบครับ (No, I don't like it)\n\n## Question Words\n\n| Thai | Romanization | Meaning |\n|------|--------------|---------|\n| อะไร | à-rai | what |\n| ใคร | khrai | who |\n| ที่ไหน | thîi-nǎi | where |\n| เมื่อไหร่ | mûuea-rài | when |\n| ทำไม | tham-mai | why |\n| อย่างไร/ยังไง | yàang-rai/yang-ngai | how |\n| เท่าไหร่ | thâo-rài | how much |\n| กี่ | gìi | how many |\n\n## Question Word Placement\n\nQuestion words go **where the answer would go**:\n\n| Question | Answer |\n|----------|--------|\n| คุณกินอะไร? (What do you eat?) | ผมกินข้าว (I eat rice) |\n| ใครมา? (Who came?) | เพื่อนมา (A friend came) |\n| คุณไปที่ไหน? (Where do you go?) | ผมไปตลาด (I go to market) |\n| นี่อะไร? (What is this?) | นี่หนังสือ (This is a book) |\n\n## Common Question Patterns\n\n| Pattern | Example | Meaning |\n|---------|---------|---------|\n| ...อะไร? | ชื่ออะไร? | What is (your) name? |\n| ...ที่ไหน? | ห้องน้ำอยู่ที่ไหน? | Where is the bathroom? |\n| ...เท่าไหร่? | ราคาเท่าไหร่? | How much (is the price)? |\n| กี่...? | กี่โมง? | What time? (How many hours?) |\n| ...หรือเปล่า? | ร้อนหรือเปล่า? | Is it hot? |\n\n## Alternative: หรือเปล่า (rǔue bplào)\n\nAnother way to ask yes/no questions:\n\n| With ไหม | With หรือเปล่า |\n|----------|----------------|\n| คุณหิวไหม? | คุณหิวหรือเปล่า? |\n\nBoth mean \"Are you hungry?\" but หรือเปล่า sounds slightly softer.\n\n## Key Points\n\n1. **ไหม at the end** makes any statement a yes/no question\n2. **Answer by repeating the verb** (with or without ไม่)\n3. **Question words** replace the unknown information\n4. **No subject-verb inversion** like in English\n\n## What's Next\n\nIn Lesson 3, you'll learn about Thai negation — how to say \"no\" and \"not\" in different contexts, including the important distinction between ไม่ (mâi) and ไม่ใช่ (mâi châi).\n";
|
|
3
|
-
//#endregion
|
|
4
|
-
export { e as default };
|
|
5
|
-
|
|
6
|
-
//# sourceMappingURL=lesson-02-BppqeuRW.js.map
|