@syllst/ka 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index-B9OHu0Ax.js +52 -0
- package/dist/index-B9OHu0Ax.js.map +1 -0
- package/dist/{index-D9QQnpu5.js → index-D7wYzNIf.js} +18 -40
- package/dist/index-D7wYzNIf.js.map +1 -0
- package/dist/index-DCpqhby8.js +52 -0
- package/dist/index-DCpqhby8.js.map +1 -0
- package/dist/index-DflZY235.js +52 -0
- package/dist/index-DflZY235.js.map +1 -0
- package/dist/index-Dp1OEIeC.js +48 -0
- package/dist/index-Dp1OEIeC.js.map +1 -0
- package/dist/index-Dx8CaIyS.js +42 -0
- package/dist/index-Dx8CaIyS.js.map +1 -0
- package/dist/index.js +41 -11
- package/dist/index.js.map +1 -1
- package/dist/lesson-01-CSwZqadZ.js +193 -0
- package/dist/lesson-01-CSwZqadZ.js.map +1 -0
- package/dist/lesson-01-CXuaNjfX.js +196 -0
- package/dist/lesson-01-CXuaNjfX.js.map +1 -0
- package/dist/lesson-01-CjeVy1Pm.js +148 -0
- package/dist/lesson-01-CjeVy1Pm.js.map +1 -0
- package/dist/lesson-01-Cjq5zM3G.js +169 -0
- package/dist/lesson-01-Cjq5zM3G.js.map +1 -0
- package/dist/lesson-01-Dln4m4gy.js +185 -0
- package/dist/lesson-01-Dln4m4gy.js.map +1 -0
- package/dist/lesson-02-CKmyOzkz.js +189 -0
- package/dist/lesson-02-CKmyOzkz.js.map +1 -0
- package/dist/lesson-02-CW2iIZWk.js +242 -0
- package/dist/lesson-02-CW2iIZWk.js.map +1 -0
- package/dist/lesson-02-CjWc8Ndm.js +159 -0
- package/dist/lesson-02-CjWc8Ndm.js.map +1 -0
- package/dist/lesson-02-D6EZkoTX.js +186 -0
- package/dist/lesson-02-D6EZkoTX.js.map +1 -0
- package/dist/lesson-02-DEX5_pni.js +184 -0
- package/dist/lesson-02-DEX5_pni.js.map +1 -0
- package/dist/lesson-03-Cc9VcHwa.js +310 -0
- package/dist/lesson-03-Cc9VcHwa.js.map +1 -0
- package/dist/lesson-03-D-UB6j-3.js +155 -0
- package/dist/lesson-03-D-UB6j-3.js.map +1 -0
- package/dist/lesson-03-D4MQ-BF0.js +197 -0
- package/dist/lesson-03-D4MQ-BF0.js.map +1 -0
- package/dist/lesson-03-DIsrN1SX.js +192 -0
- package/dist/lesson-03-DIsrN1SX.js.map +1 -0
- package/dist/lesson-03-i2GGdsRN.js +181 -0
- package/dist/lesson-03-i2GGdsRN.js.map +1 -0
- package/dist/lesson-04-D2tqk_vu.js +166 -0
- package/dist/lesson-04-D2tqk_vu.js.map +1 -0
- package/dist/lesson-04-D3NM9z0Z.js +220 -0
- package/dist/lesson-04-D3NM9z0Z.js.map +1 -0
- package/dist/lesson-04-DciNjG8E.js +186 -0
- package/dist/lesson-04-DciNjG8E.js.map +1 -0
- package/dist/lesson-04-vbP_pH7H.js +201 -0
- package/dist/lesson-04-vbP_pH7H.js.map +1 -0
- package/dist/lesson-05-DDD4BdBD.js +197 -0
- package/dist/lesson-05-DDD4BdBD.js.map +1 -0
- package/dist/lesson-05-Dp2ZUMvn.js +227 -0
- package/dist/lesson-05-Dp2ZUMvn.js.map +1 -0
- package/dist/lesson-05-Du04UDw8.js +175 -0
- package/dist/lesson-05-Du04UDw8.js.map +1 -0
- package/dist/lesson-05-VfiWFnKX.js +192 -0
- package/dist/lesson-05-VfiWFnKX.js.map +1 -0
- package/dist/lesson-06-B247Ezo8.js +161 -0
- package/dist/lesson-06-B247Ezo8.js.map +1 -0
- package/dist/lesson-06-CT_T2-CF.js +201 -0
- package/dist/lesson-06-CT_T2-CF.js.map +1 -0
- package/dist/lesson-06-C_aRLClN.js +224 -0
- package/dist/lesson-06-C_aRLClN.js.map +1 -0
- package/dist/lesson-06-Cv5qUy34.js +208 -0
- package/dist/lesson-06-Cv5qUy34.js.map +1 -0
- package/dist/lesson-07-9svk0QSq.js +215 -0
- package/dist/lesson-07-9svk0QSq.js.map +1 -0
- package/dist/lesson-07-DGrnNH3e.js +223 -0
- package/dist/lesson-07-DGrnNH3e.js.map +1 -0
- package/dist/lesson-07-XGTm5Tp2.js +182 -0
- package/dist/lesson-07-XGTm5Tp2.js.map +1 -0
- package/dist/lesson-08-C5Oqga49.js +213 -0
- package/dist/lesson-08-C5Oqga49.js.map +1 -0
- package/dist/lesson-08-CDZOUysk.js +228 -0
- package/dist/lesson-08-CDZOUysk.js.map +1 -0
- package/dist/lesson-08-DiHa8O85.js +196 -0
- package/dist/lesson-08-DiHa8O85.js.map +1 -0
- package/dist/shared-DADMaTE7.js +27 -0
- package/dist/shared-DADMaTE7.js.map +1 -0
- package/dist/syllabi/alphabet/index.js +6 -5
- package/dist/syllabi/alphabet/index.js.map +1 -1
- package/dist/syllabi/dialogue/index.d.ts +7 -0
- package/dist/syllabi/dialogue/index.js +10 -0
- package/dist/syllabi/dialogue/index.js.map +1 -0
- package/dist/syllabi/essentials/index.d.ts +7 -0
- package/dist/syllabi/essentials/index.js +10 -0
- package/dist/syllabi/essentials/index.js.map +1 -0
- package/dist/syllabi/grammar/index.d.ts +7 -0
- package/dist/syllabi/grammar/index.js +10 -0
- package/dist/syllabi/grammar/index.js.map +1 -0
- package/dist/syllabi/numbers/index.d.ts +7 -0
- package/dist/syllabi/numbers/index.js +10 -0
- package/dist/syllabi/numbers/index.js.map +1 -0
- package/dist/syllabi/reading/index.d.ts +7 -0
- package/dist/syllabi/reading/index.js +10 -0
- package/dist/syllabi/reading/index.js.map +1 -0
- package/package.json +36 -10
- package/src/syllabi/dialogue/lessons/lesson-01.mdx +188 -0
- package/src/syllabi/dialogue/lessons/lesson-02.mdx +184 -0
- package/src/syllabi/dialogue/lessons/lesson-03.mdx +192 -0
- package/src/syllabi/dialogue/lessons/lesson-04.mdx +196 -0
- package/src/syllabi/dialogue/lessons/lesson-05.mdx +192 -0
- package/src/syllabi/dialogue/lessons/lesson-06.mdx +196 -0
- package/src/syllabi/dialogue/lessons/lesson-07.mdx +218 -0
- package/src/syllabi/dialogue/lessons/lesson-08.mdx +223 -0
- package/src/syllabi/essentials/lessons/lesson-01.mdx +164 -0
- package/src/syllabi/essentials/lessons/lesson-02.mdx +179 -0
- package/src/syllabi/essentials/lessons/lesson-03.mdx +187 -0
- package/src/syllabi/essentials/lessons/lesson-04.mdx +215 -0
- package/src/syllabi/essentials/lessons/lesson-05.mdx +222 -0
- package/src/syllabi/essentials/lessons/lesson-06.mdx +219 -0
- package/src/syllabi/essentials/meta.mdx +87 -0
- package/src/syllabi/grammar/lessons/lesson-01.mdx +143 -0
- package/src/syllabi/grammar/lessons/lesson-02.mdx +154 -0
- package/src/syllabi/grammar/lessons/lesson-03.mdx +150 -0
- package/src/syllabi/grammar/lessons/lesson-04.mdx +161 -0
- package/src/syllabi/grammar/lessons/lesson-05.mdx +170 -0
- package/src/syllabi/grammar/lessons/lesson-06.mdx +156 -0
- package/src/syllabi/grammar/lessons/lesson-07.mdx +177 -0
- package/src/syllabi/grammar/lessons/lesson-08.mdx +191 -0
- package/src/syllabi/numbers/lessons/lesson-01.mdx +191 -0
- package/src/syllabi/numbers/lessons/lesson-02.mdx +237 -0
- package/src/syllabi/numbers/lessons/lesson-03.mdx +305 -0
- package/src/syllabi/reading/lessons/lesson-01.mdx +180 -0
- package/src/syllabi/reading/lessons/lesson-02.mdx +181 -0
- package/src/syllabi/reading/lessons/lesson-03.mdx +176 -0
- package/src/syllabi/reading/lessons/lesson-04.mdx +181 -0
- package/src/syllabi/reading/lessons/lesson-05.mdx +187 -0
- package/src/syllabi/reading/lessons/lesson-06.mdx +203 -0
- package/src/syllabi/reading/lessons/lesson-07.mdx +210 -0
- package/src/syllabi/reading/lessons/lesson-08.mdx +208 -0
- package/dist/index-D9QQnpu5.js.map +0 -1
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { c as t } from "./shared-DADMaTE7.js";
|
|
2
|
+
const r = {
|
|
3
|
+
id: "ka-reading",
|
|
4
|
+
title: "ქართული კითხვა (Georgian Reading)",
|
|
5
|
+
description: "Progressive Georgian reading practice — from simple words to cultural texts",
|
|
6
|
+
language: "ka",
|
|
7
|
+
locale: "ka-GE",
|
|
8
|
+
lessonCount: 8,
|
|
9
|
+
difficulty: "intermediate",
|
|
10
|
+
cefrLevel: "A2",
|
|
11
|
+
icon: "reading",
|
|
12
|
+
version: "0.1.0"
|
|
13
|
+
};
|
|
14
|
+
async function n(o) {
|
|
15
|
+
switch (o) {
|
|
16
|
+
case 1:
|
|
17
|
+
return import("./lesson-01-Dln4m4gy.js");
|
|
18
|
+
case 2:
|
|
19
|
+
return import("./lesson-02-D6EZkoTX.js");
|
|
20
|
+
case 3:
|
|
21
|
+
return import("./lesson-03-i2GGdsRN.js");
|
|
22
|
+
case 4:
|
|
23
|
+
return import("./lesson-04-DciNjG8E.js");
|
|
24
|
+
case 5:
|
|
25
|
+
return import("./lesson-05-VfiWFnKX.js");
|
|
26
|
+
case 6:
|
|
27
|
+
return import("./lesson-06-Cv5qUy34.js");
|
|
28
|
+
case 7:
|
|
29
|
+
return import("./lesson-07-9svk0QSq.js");
|
|
30
|
+
case 8:
|
|
31
|
+
return import("./lesson-08-C5Oqga49.js");
|
|
32
|
+
default:
|
|
33
|
+
throw new Error(`Lesson ${o} not found`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const e = t(r, n), s = e.loadLesson.bind(e), a = e.loadAllLessons.bind(e), i = e.getAvailableLessons.bind(e), l = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
37
|
+
__proto__: null,
|
|
38
|
+
config: r,
|
|
39
|
+
getAvailableLessons: i,
|
|
40
|
+
loadAllLessons: a,
|
|
41
|
+
loadLesson: s,
|
|
42
|
+
loader: e
|
|
43
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
44
|
+
export {
|
|
45
|
+
a,
|
|
46
|
+
s as b,
|
|
47
|
+
r as c,
|
|
48
|
+
i as g,
|
|
49
|
+
l as i,
|
|
50
|
+
e as l
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=index-B9OHu0Ax.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-B9OHu0Ax.js","sources":["../src/syllabi/reading/index.ts"],"sourcesContent":["/**\n * Georgian Reading syllabus\n */\n\nimport { createContentLoader, type SyllabusConfig, type ContentLoader } from '../../shared.js';\n\nexport const config: SyllabusConfig = {\n id: 'ka-reading',\n title: 'ქართული კითხვა (Georgian Reading)',\n description: 'Progressive Georgian reading practice — from simple words to cultural texts',\n language: 'ka',\n locale: 'ka-GE',\n lessonCount: 8,\n difficulty: 'intermediate',\n cefrLevel: 'A2',\n icon: 'reading',\n version: '0.1.0',\n};\n\nasync function loadLessonMDX(lessonNumber: number) {\n switch (lessonNumber) {\n case 1: return import('./lessons/lesson-01.mdx?raw');\n case 2: return import('./lessons/lesson-02.mdx?raw');\n case 3: return import('./lessons/lesson-03.mdx?raw');\n case 4: return import('./lessons/lesson-04.mdx?raw');\n case 5: return import('./lessons/lesson-05.mdx?raw');\n case 6: return import('./lessons/lesson-06.mdx?raw');\n case 7: return import('./lessons/lesson-07.mdx?raw');\n case 8: return import('./lessons/lesson-08.mdx?raw');\n default: throw new Error(`Lesson ${lessonNumber} not found`);\n }\n}\n\nexport const loader: ContentLoader = createContentLoader(config, loadLessonMDX);\nexport const loadLesson = loader.loadLesson.bind(loader);\nexport const loadAllLessons = loader.loadAllLessons.bind(loader);\nexport const getAvailableLessons = loader.getAvailableLessons.bind(loader);\n"],"names":["config","loadLessonMDX","lessonNumber","loader","createContentLoader","loadLesson","loadAllLessons","getAvailableLessons"],"mappings":";AAMO,MAAMA,IAAyB;AAAA,EACpC,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,aAAa;AAAA,EACb,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,MAAM;AAAA,EACN,SAAS;AACX;AAEA,eAAeC,EAAcC,GAAsB;AACjD,UAAQA,GAAA;AAAA,IACN,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD;AAAS,YAAM,IAAI,MAAM,UAAUA,CAAY,YAAY;AAAA,EAAA;AAE/D;AAEO,MAAMC,IAAwBC,EAAoBJ,GAAQC,CAAa,GACjEI,IAAaF,EAAO,WAAW,KAAKA,CAAM,GAC1CG,IAAiBH,EAAO,eAAe,KAAKA,CAAM,GAClDI,IAAsBJ,EAAO,oBAAoB,KAAKA,CAAM;;;;;;;;"}
|
|
@@ -1,27 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
config: n,
|
|
4
|
-
async loadLesson(e) {
|
|
5
|
-
if (e < 1 || e > n.lessonCount)
|
|
6
|
-
throw new Error(`Lesson ${e} not found. Valid range: 1-${n.lessonCount}`);
|
|
7
|
-
const t = await r(e);
|
|
8
|
-
return {
|
|
9
|
-
number: e,
|
|
10
|
-
rawContent: t.default
|
|
11
|
-
};
|
|
12
|
-
},
|
|
13
|
-
async loadAllLessons() {
|
|
14
|
-
const e = [];
|
|
15
|
-
for (let t = 1; t <= n.lessonCount; t++)
|
|
16
|
-
e.push(await this.loadLesson(t));
|
|
17
|
-
return e;
|
|
18
|
-
},
|
|
19
|
-
getAvailableLessons() {
|
|
20
|
-
return Array.from({ length: n.lessonCount }, (e, t) => t + 1);
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
const s = {
|
|
1
|
+
import { c as n } from "./shared-DADMaTE7.js";
|
|
2
|
+
const t = {
|
|
25
3
|
id: "ka-alphabet",
|
|
26
4
|
title: "ქართული ანბანი (Georgian Alphabet)",
|
|
27
5
|
description: "Learn the Georgian Mkhedruli script - vowels and consonants",
|
|
@@ -33,8 +11,8 @@ const s = {
|
|
|
33
11
|
icon: "alphabet",
|
|
34
12
|
version: "0.1.0"
|
|
35
13
|
};
|
|
36
|
-
async function
|
|
37
|
-
switch (
|
|
14
|
+
async function r(o) {
|
|
15
|
+
switch (o) {
|
|
38
16
|
case 1:
|
|
39
17
|
return import("./lesson-01-Dx39ahX1.js");
|
|
40
18
|
case 2:
|
|
@@ -56,23 +34,23 @@ async function l(n) {
|
|
|
56
34
|
case 10:
|
|
57
35
|
return import("./lesson-10-BxDf0Pp3.js");
|
|
58
36
|
default:
|
|
59
|
-
throw new Error(`Lesson ${
|
|
37
|
+
throw new Error(`Lesson ${o} not found`);
|
|
60
38
|
}
|
|
61
39
|
}
|
|
62
|
-
const
|
|
40
|
+
const e = n(t, r), s = e.loadLesson.bind(e), a = e.loadAllLessons.bind(e), i = e.getAvailableLessons.bind(e), l = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
63
41
|
__proto__: null,
|
|
64
|
-
config:
|
|
65
|
-
getAvailableLessons:
|
|
66
|
-
loadAllLessons:
|
|
67
|
-
loadLesson:
|
|
68
|
-
loader:
|
|
42
|
+
config: t,
|
|
43
|
+
getAvailableLessons: i,
|
|
44
|
+
loadAllLessons: a,
|
|
45
|
+
loadLesson: s,
|
|
46
|
+
loader: e
|
|
69
47
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
70
48
|
export {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
49
|
+
a,
|
|
50
|
+
s as b,
|
|
51
|
+
t as c,
|
|
52
|
+
i as g,
|
|
53
|
+
l as i,
|
|
54
|
+
e as l
|
|
77
55
|
};
|
|
78
|
-
//# sourceMappingURL=index-
|
|
56
|
+
//# sourceMappingURL=index-D7wYzNIf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-D7wYzNIf.js","sources":["../src/syllabi/alphabet/index.ts"],"sourcesContent":["/**\n * Georgian Alphabet syllabus\n */\n\nimport { createContentLoader, type SyllabusConfig, type ContentLoader } from '../../shared.js';\n\nexport const config: SyllabusConfig = {\n id: 'ka-alphabet',\n title: 'ქართული ანბანი (Georgian Alphabet)',\n description: 'Learn the Georgian Mkhedruli script - vowels and consonants',\n language: 'ka',\n locale: 'ka-GE',\n lessonCount: 10,\n difficulty: 'beginner',\n cefrLevel: 'A1',\n icon: 'alphabet',\n version: '0.1.0',\n};\n\nasync function loadLessonMDX(lessonNumber: number) {\n switch (lessonNumber) {\n case 1: return import('./lessons/lesson-01.mdx?raw');\n case 2: return import('./lessons/lesson-02.mdx?raw');\n case 3: return import('./lessons/lesson-03.mdx?raw');\n case 4: return import('./lessons/lesson-04.mdx?raw');\n case 5: return import('./lessons/lesson-05.mdx?raw');\n case 6: return import('./lessons/lesson-06.mdx?raw');\n case 7: return import('./lessons/lesson-07.mdx?raw');\n case 8: return import('./lessons/lesson-08.mdx?raw');\n case 9: return import('./lessons/lesson-09.mdx?raw');\n case 10: return import('./lessons/lesson-10.mdx?raw');\n default: throw new Error(`Lesson ${lessonNumber} not found`);\n }\n}\n\nexport const loader: ContentLoader = createContentLoader(config, loadLessonMDX);\nexport const loadLesson = loader.loadLesson.bind(loader);\nexport const loadAllLessons = loader.loadAllLessons.bind(loader);\nexport const getAvailableLessons = loader.getAvailableLessons.bind(loader);\n"],"names":["config","loadLessonMDX","lessonNumber","loader","createContentLoader","loadLesson","loadAllLessons","getAvailableLessons"],"mappings":";AAMO,MAAMA,IAAyB;AAAA,EACpC,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,aAAa;AAAA,EACb,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,MAAM;AAAA,EACN,SAAS;AACX;AAEA,eAAeC,EAAcC,GAAsB;AACjD,UAAQA,GAAA;AAAA,IACN,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAI,aAAO,OAAO,yBAA6B;AAAA,IACpD;AAAS,YAAM,IAAI,MAAM,UAAUA,CAAY,YAAY;AAAA,EAAA;AAE/D;AAEO,MAAMC,IAAwBC,EAAoBJ,GAAQC,CAAa,GACjEI,IAAaF,EAAO,WAAW,KAAKA,CAAM,GAC1CG,IAAiBH,EAAO,eAAe,KAAKA,CAAM,GAClDI,IAAsBJ,EAAO,oBAAoB,KAAKA,CAAM;;;;;;;;"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { c as a } from "./shared-DADMaTE7.js";
|
|
2
|
+
const t = {
|
|
3
|
+
id: "ka-dialogue",
|
|
4
|
+
title: "ქართული დიალოგები (Georgian Dialogue)",
|
|
5
|
+
description: "Practical Georgian conversations for real-life situations — restaurants, markets, travel, and more",
|
|
6
|
+
language: "ka",
|
|
7
|
+
locale: "ka-GE",
|
|
8
|
+
lessonCount: 8,
|
|
9
|
+
difficulty: "intermediate",
|
|
10
|
+
cefrLevel: "A2",
|
|
11
|
+
icon: "dialogue",
|
|
12
|
+
version: "0.1.0"
|
|
13
|
+
};
|
|
14
|
+
async function r(o) {
|
|
15
|
+
switch (o) {
|
|
16
|
+
case 1:
|
|
17
|
+
return import("./lesson-01-CSwZqadZ.js");
|
|
18
|
+
case 2:
|
|
19
|
+
return import("./lesson-02-CKmyOzkz.js");
|
|
20
|
+
case 3:
|
|
21
|
+
return import("./lesson-03-D4MQ-BF0.js");
|
|
22
|
+
case 4:
|
|
23
|
+
return import("./lesson-04-vbP_pH7H.js");
|
|
24
|
+
case 5:
|
|
25
|
+
return import("./lesson-05-DDD4BdBD.js");
|
|
26
|
+
case 6:
|
|
27
|
+
return import("./lesson-06-CT_T2-CF.js");
|
|
28
|
+
case 7:
|
|
29
|
+
return import("./lesson-07-DGrnNH3e.js");
|
|
30
|
+
case 8:
|
|
31
|
+
return import("./lesson-08-CDZOUysk.js");
|
|
32
|
+
default:
|
|
33
|
+
throw new Error(`Lesson ${o} not found`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const e = a(t, r), s = e.loadLesson.bind(e), n = e.loadAllLessons.bind(e), i = e.getAvailableLessons.bind(e), c = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
37
|
+
__proto__: null,
|
|
38
|
+
config: t,
|
|
39
|
+
getAvailableLessons: i,
|
|
40
|
+
loadAllLessons: n,
|
|
41
|
+
loadLesson: s,
|
|
42
|
+
loader: e
|
|
43
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
44
|
+
export {
|
|
45
|
+
n as a,
|
|
46
|
+
s as b,
|
|
47
|
+
t as c,
|
|
48
|
+
i as g,
|
|
49
|
+
c as i,
|
|
50
|
+
e as l
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=index-DCpqhby8.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-DCpqhby8.js","sources":["../src/syllabi/dialogue/index.ts"],"sourcesContent":["/**\n * Georgian Dialogue syllabus\n */\n\nimport { createContentLoader, type SyllabusConfig, type ContentLoader } from '../../shared.js';\n\nexport const config: SyllabusConfig = {\n id: 'ka-dialogue',\n title: 'ქართული დიალოგები (Georgian Dialogue)',\n description: 'Practical Georgian conversations for real-life situations — restaurants, markets, travel, and more',\n language: 'ka',\n locale: 'ka-GE',\n lessonCount: 8,\n difficulty: 'intermediate',\n cefrLevel: 'A2',\n icon: 'dialogue',\n version: '0.1.0',\n};\n\nasync function loadLessonMDX(lessonNumber: number) {\n switch (lessonNumber) {\n case 1: return import('./lessons/lesson-01.mdx?raw');\n case 2: return import('./lessons/lesson-02.mdx?raw');\n case 3: return import('./lessons/lesson-03.mdx?raw');\n case 4: return import('./lessons/lesson-04.mdx?raw');\n case 5: return import('./lessons/lesson-05.mdx?raw');\n case 6: return import('./lessons/lesson-06.mdx?raw');\n case 7: return import('./lessons/lesson-07.mdx?raw');\n case 8: return import('./lessons/lesson-08.mdx?raw');\n default: throw new Error(`Lesson ${lessonNumber} not found`);\n }\n}\n\nexport const loader: ContentLoader = createContentLoader(config, loadLessonMDX);\nexport const loadLesson = loader.loadLesson.bind(loader);\nexport const loadAllLessons = loader.loadAllLessons.bind(loader);\nexport const getAvailableLessons = loader.getAvailableLessons.bind(loader);\n"],"names":["config","loadLessonMDX","lessonNumber","loader","createContentLoader","loadLesson","loadAllLessons","getAvailableLessons"],"mappings":";AAMO,MAAMA,IAAyB;AAAA,EACpC,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,aAAa;AAAA,EACb,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,MAAM;AAAA,EACN,SAAS;AACX;AAEA,eAAeC,EAAcC,GAAsB;AACjD,UAAQA,GAAA;AAAA,IACN,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD;AAAS,YAAM,IAAI,MAAM,UAAUA,CAAY,YAAY;AAAA,EAAA;AAE/D;AAEO,MAAMC,IAAwBC,EAAoBJ,GAAQC,CAAa,GACjEI,IAAaF,EAAO,WAAW,KAAKA,CAAM,GAC1CG,IAAiBH,EAAO,eAAe,KAAKA,CAAM,GAClDI,IAAsBJ,EAAO,oBAAoB,KAAKA,CAAM;;;;;;;;"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { c as o } from "./shared-DADMaTE7.js";
|
|
2
|
+
const a = {
|
|
3
|
+
id: "ka-grammar",
|
|
4
|
+
title: "ქართული გრამატიკა (Georgian Grammar)",
|
|
5
|
+
description: "Essential Georgian grammar patterns — cases, verb conjugation, and sentence structure",
|
|
6
|
+
language: "ka",
|
|
7
|
+
locale: "ka-GE",
|
|
8
|
+
lessonCount: 8,
|
|
9
|
+
difficulty: "intermediate",
|
|
10
|
+
cefrLevel: "A2",
|
|
11
|
+
icon: "grammar",
|
|
12
|
+
version: "0.1.0"
|
|
13
|
+
};
|
|
14
|
+
async function t(r) {
|
|
15
|
+
switch (r) {
|
|
16
|
+
case 1:
|
|
17
|
+
return import("./lesson-01-CjeVy1Pm.js");
|
|
18
|
+
case 2:
|
|
19
|
+
return import("./lesson-02-CjWc8Ndm.js");
|
|
20
|
+
case 3:
|
|
21
|
+
return import("./lesson-03-D-UB6j-3.js");
|
|
22
|
+
case 4:
|
|
23
|
+
return import("./lesson-04-D2tqk_vu.js");
|
|
24
|
+
case 5:
|
|
25
|
+
return import("./lesson-05-Du04UDw8.js");
|
|
26
|
+
case 6:
|
|
27
|
+
return import("./lesson-06-B247Ezo8.js");
|
|
28
|
+
case 7:
|
|
29
|
+
return import("./lesson-07-XGTm5Tp2.js");
|
|
30
|
+
case 8:
|
|
31
|
+
return import("./lesson-08-DiHa8O85.js");
|
|
32
|
+
default:
|
|
33
|
+
throw new Error(`Lesson ${r} not found`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const e = o(a, t), n = e.loadLesson.bind(e), s = e.loadAllLessons.bind(e), i = e.getAvailableLessons.bind(e), l = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
37
|
+
__proto__: null,
|
|
38
|
+
config: a,
|
|
39
|
+
getAvailableLessons: i,
|
|
40
|
+
loadAllLessons: s,
|
|
41
|
+
loadLesson: n,
|
|
42
|
+
loader: e
|
|
43
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
44
|
+
export {
|
|
45
|
+
s as a,
|
|
46
|
+
n as b,
|
|
47
|
+
a as c,
|
|
48
|
+
i as g,
|
|
49
|
+
l as i,
|
|
50
|
+
e as l
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=index-DflZY235.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-DflZY235.js","sources":["../src/syllabi/grammar/index.ts"],"sourcesContent":["/**\n * Georgian Grammar syllabus\n */\n\nimport { createContentLoader, type SyllabusConfig, type ContentLoader } from '../../shared.js';\n\nexport const config: SyllabusConfig = {\n id: 'ka-grammar',\n title: 'ქართული გრამატიკა (Georgian Grammar)',\n description: 'Essential Georgian grammar patterns — cases, verb conjugation, and sentence structure',\n language: 'ka',\n locale: 'ka-GE',\n lessonCount: 8,\n difficulty: 'intermediate',\n cefrLevel: 'A2',\n icon: 'grammar',\n version: '0.1.0',\n};\n\nasync function loadLessonMDX(lessonNumber: number) {\n switch (lessonNumber) {\n case 1: return import('./lessons/lesson-01.mdx?raw');\n case 2: return import('./lessons/lesson-02.mdx?raw');\n case 3: return import('./lessons/lesson-03.mdx?raw');\n case 4: return import('./lessons/lesson-04.mdx?raw');\n case 5: return import('./lessons/lesson-05.mdx?raw');\n case 6: return import('./lessons/lesson-06.mdx?raw');\n case 7: return import('./lessons/lesson-07.mdx?raw');\n case 8: return import('./lessons/lesson-08.mdx?raw');\n default: throw new Error(`Lesson ${lessonNumber} not found`);\n }\n}\n\nexport const loader: ContentLoader = createContentLoader(config, loadLessonMDX);\nexport const loadLesson = loader.loadLesson.bind(loader);\nexport const loadAllLessons = loader.loadAllLessons.bind(loader);\nexport const getAvailableLessons = loader.getAvailableLessons.bind(loader);\n"],"names":["config","loadLessonMDX","lessonNumber","loader","createContentLoader","loadLesson","loadAllLessons","getAvailableLessons"],"mappings":";AAMO,MAAMA,IAAyB;AAAA,EACpC,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,aAAa;AAAA,EACb,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,MAAM;AAAA,EACN,SAAS;AACX;AAEA,eAAeC,EAAcC,GAAsB;AACjD,UAAQA,GAAA;AAAA,IACN,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD;AAAS,YAAM,IAAI,MAAM,UAAUA,CAAY,YAAY;AAAA,EAAA;AAE/D;AAEO,MAAMC,IAAwBC,EAAoBJ,GAAQC,CAAa,GACjEI,IAAaF,EAAO,WAAW,KAAKA,CAAM,GAC1CG,IAAiBH,EAAO,eAAe,KAAKA,CAAM,GAClDI,IAAsBJ,EAAO,oBAAoB,KAAKA,CAAM;;;;;;;;"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { c as n } from "./shared-DADMaTE7.js";
|
|
2
|
+
const o = {
|
|
3
|
+
id: "ka-essentials",
|
|
4
|
+
title: "ქართული ფრაზები (Georgian Essentials)",
|
|
5
|
+
description: "Essential phrases and greetings for everyday Georgian life",
|
|
6
|
+
language: "ka",
|
|
7
|
+
locale: "ka-GE",
|
|
8
|
+
lessonCount: 6,
|
|
9
|
+
difficulty: "beginner",
|
|
10
|
+
cefrLevel: "A1",
|
|
11
|
+
icon: "dialogue",
|
|
12
|
+
version: "0.1.0"
|
|
13
|
+
};
|
|
14
|
+
async function a(s) {
|
|
15
|
+
switch (s) {
|
|
16
|
+
case 1:
|
|
17
|
+
return import("./lesson-01-Cjq5zM3G.js");
|
|
18
|
+
case 2:
|
|
19
|
+
return import("./lesson-02-DEX5_pni.js");
|
|
20
|
+
case 3:
|
|
21
|
+
return import("./lesson-03-DIsrN1SX.js");
|
|
22
|
+
case 4:
|
|
23
|
+
return import("./lesson-04-D3NM9z0Z.js");
|
|
24
|
+
case 5:
|
|
25
|
+
return import("./lesson-05-Dp2ZUMvn.js");
|
|
26
|
+
case 6:
|
|
27
|
+
return import("./lesson-06-C_aRLClN.js");
|
|
28
|
+
default:
|
|
29
|
+
throw new Error(`Lesson ${s} not found`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
const e = n(o, a), t = e.loadLesson.bind(e), r = e.loadAllLessons.bind(e), i = e.getAvailableLessons.bind(e), c = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
33
|
+
__proto__: null,
|
|
34
|
+
config: o,
|
|
35
|
+
getAvailableLessons: i,
|
|
36
|
+
loadAllLessons: r,
|
|
37
|
+
loadLesson: t,
|
|
38
|
+
loader: e
|
|
39
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
40
|
+
export {
|
|
41
|
+
r as a,
|
|
42
|
+
t as b,
|
|
43
|
+
o as c,
|
|
44
|
+
i as g,
|
|
45
|
+
c as i,
|
|
46
|
+
e as l
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=index-Dp1OEIeC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-Dp1OEIeC.js","sources":["../src/syllabi/essentials/index.ts"],"sourcesContent":["/**\n * Georgian Essentials syllabus\n */\n\nimport { createContentLoader, type SyllabusConfig, type ContentLoader } from '../../shared.js';\n\nexport const config: SyllabusConfig = {\n id: 'ka-essentials',\n title: 'ქართული ფრაზები (Georgian Essentials)',\n description: 'Essential phrases and greetings for everyday Georgian life',\n language: 'ka',\n locale: 'ka-GE',\n lessonCount: 6,\n difficulty: 'beginner',\n cefrLevel: 'A1',\n icon: 'dialogue',\n version: '0.1.0',\n};\n\nasync function loadLessonMDX(lessonNumber: number) {\n switch (lessonNumber) {\n case 1: return import('./lessons/lesson-01.mdx?raw');\n case 2: return import('./lessons/lesson-02.mdx?raw');\n case 3: return import('./lessons/lesson-03.mdx?raw');\n case 4: return import('./lessons/lesson-04.mdx?raw');\n case 5: return import('./lessons/lesson-05.mdx?raw');\n case 6: return import('./lessons/lesson-06.mdx?raw');\n default: throw new Error(`Lesson ${lessonNumber} not found`);\n }\n}\n\nexport const loader: ContentLoader = createContentLoader(config, loadLessonMDX);\nexport const loadLesson = loader.loadLesson.bind(loader);\nexport const loadAllLessons = loader.loadAllLessons.bind(loader);\nexport const getAvailableLessons = loader.getAvailableLessons.bind(loader);\n"],"names":["config","loadLessonMDX","lessonNumber","loader","createContentLoader","loadLesson","loadAllLessons","getAvailableLessons"],"mappings":";AAMO,MAAMA,IAAyB;AAAA,EACpC,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,aAAa;AAAA,EACb,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,MAAM;AAAA,EACN,SAAS;AACX;AAEA,eAAeC,EAAcC,GAAsB;AACjD,UAAQA,GAAA;AAAA,IACN,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD;AAAS,YAAM,IAAI,MAAM,UAAUA,CAAY,YAAY;AAAA,EAAA;AAE/D;AAEO,MAAMC,IAAwBC,EAAoBJ,GAAQC,CAAa,GACjEI,IAAaF,EAAO,WAAW,KAAKA,CAAM,GAC1CG,IAAiBH,EAAO,eAAe,KAAKA,CAAM,GAClDI,IAAsBJ,EAAO,oBAAoB,KAAKA,CAAM;;;;;;;;"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { c as s } from "./shared-DADMaTE7.js";
|
|
2
|
+
const o = {
|
|
3
|
+
id: "ka-numbers",
|
|
4
|
+
title: "ქართული რიცხვები (Georgian Numbers)",
|
|
5
|
+
description: "Learn Georgian number words and the vigesimal counting system",
|
|
6
|
+
language: "ka",
|
|
7
|
+
locale: "ka-GE",
|
|
8
|
+
lessonCount: 3,
|
|
9
|
+
difficulty: "beginner",
|
|
10
|
+
cefrLevel: "A1",
|
|
11
|
+
icon: "numbers",
|
|
12
|
+
version: "0.1.0"
|
|
13
|
+
};
|
|
14
|
+
async function a(n) {
|
|
15
|
+
switch (n) {
|
|
16
|
+
case 1:
|
|
17
|
+
return import("./lesson-01-CXuaNjfX.js");
|
|
18
|
+
case 2:
|
|
19
|
+
return import("./lesson-02-CW2iIZWk.js");
|
|
20
|
+
case 3:
|
|
21
|
+
return import("./lesson-03-Cc9VcHwa.js");
|
|
22
|
+
default:
|
|
23
|
+
throw new Error(`Lesson ${n} not found`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
const e = s(o, a), t = e.loadLesson.bind(e), r = e.loadAllLessons.bind(e), i = e.getAvailableLessons.bind(e), c = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
27
|
+
__proto__: null,
|
|
28
|
+
config: o,
|
|
29
|
+
getAvailableLessons: i,
|
|
30
|
+
loadAllLessons: r,
|
|
31
|
+
loadLesson: t,
|
|
32
|
+
loader: e
|
|
33
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
34
|
+
export {
|
|
35
|
+
r as a,
|
|
36
|
+
t as b,
|
|
37
|
+
o as c,
|
|
38
|
+
i as g,
|
|
39
|
+
c as i,
|
|
40
|
+
e as l
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=index-Dx8CaIyS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-Dx8CaIyS.js","sources":["../src/syllabi/numbers/index.ts"],"sourcesContent":["/**\n * Georgian Numbers syllabus\n */\n\nimport { createContentLoader, type SyllabusConfig, type ContentLoader } from '../../shared.js';\n\nexport const config: SyllabusConfig = {\n id: 'ka-numbers',\n title: 'ქართული რიცხვები (Georgian Numbers)',\n description: 'Learn Georgian number words and the vigesimal counting system',\n language: 'ka',\n locale: 'ka-GE',\n lessonCount: 3,\n difficulty: 'beginner',\n cefrLevel: 'A1',\n icon: 'numbers',\n version: '0.1.0',\n};\n\nasync function loadLessonMDX(lessonNumber: number) {\n switch (lessonNumber) {\n case 1: return import('./lessons/lesson-01.mdx?raw');\n case 2: return import('./lessons/lesson-02.mdx?raw');\n case 3: return import('./lessons/lesson-03.mdx?raw');\n default: throw new Error(`Lesson ${lessonNumber} not found`);\n }\n}\n\nexport const loader: ContentLoader = createContentLoader(config, loadLessonMDX);\nexport const loadLesson = loader.loadLesson.bind(loader);\nexport const loadAllLessons = loader.loadAllLessons.bind(loader);\nexport const getAvailableLessons = loader.getAvailableLessons.bind(loader);\n"],"names":["config","loadLessonMDX","lessonNumber","loader","createContentLoader","loadLesson","loadAllLessons","getAvailableLessons"],"mappings":";AAMO,MAAMA,IAAyB;AAAA,EACpC,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,aAAa;AAAA,EACb,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,MAAM;AAAA,EACN,SAAS;AACX;AAEA,eAAeC,EAAcC,GAAsB;AACjD,UAAQA,GAAA;AAAA,IACN,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD,KAAK;AAAG,aAAO,OAAO,yBAA6B;AAAA,IACnD;AAAS,YAAM,IAAI,MAAM,UAAUA,CAAY,YAAY;AAAA,EAAA;AAE/D;AAEO,MAAMC,IAAwBC,EAAoBJ,GAAQC,CAAa,GACjEI,IAAaF,EAAO,WAAW,KAAKA,CAAM,GAC1CG,IAAiBH,EAAO,eAAe,KAAKA,CAAM,GAClDI,IAAsBJ,EAAO,oBAAoB,KAAKA,CAAM;;;;;;;;"}
|
package/dist/index.js
CHANGED
|
@@ -1,16 +1,46 @@
|
|
|
1
|
-
import { c as
|
|
2
|
-
import { i as
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { c as r } from "./index-D7wYzNIf.js";
|
|
2
|
+
import { i as b, l as L } from "./index-D7wYzNIf.js";
|
|
3
|
+
import { c as i } from "./index-Dx8CaIyS.js";
|
|
4
|
+
import { i as h, l as y } from "./index-Dx8CaIyS.js";
|
|
5
|
+
import { c as s } from "./index-Dp1OEIeC.js";
|
|
6
|
+
import { i as I, l as j } from "./index-Dp1OEIeC.js";
|
|
7
|
+
import { c as e } from "./index-DflZY235.js";
|
|
8
|
+
import { i as q, l as v } from "./index-DflZY235.js";
|
|
9
|
+
import { c as f } from "./index-DCpqhby8.js";
|
|
10
|
+
import { i as z, l as A } from "./index-DCpqhby8.js";
|
|
11
|
+
import { c as n } from "./index-B9OHu0Ax.js";
|
|
12
|
+
import { i as E, l as F } from "./index-B9OHu0Ax.js";
|
|
13
|
+
const m = [
|
|
14
|
+
r,
|
|
15
|
+
i,
|
|
16
|
+
s,
|
|
17
|
+
e,
|
|
18
|
+
f,
|
|
19
|
+
n
|
|
5
20
|
];
|
|
6
|
-
function
|
|
7
|
-
return
|
|
21
|
+
function u(a) {
|
|
22
|
+
return m.find((o) => o.id === a);
|
|
8
23
|
}
|
|
9
24
|
export {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
25
|
+
m as allConfigs,
|
|
26
|
+
b as alphabet,
|
|
27
|
+
r as alphabetConfig,
|
|
28
|
+
L as alphabetLoader,
|
|
29
|
+
z as dialogue,
|
|
30
|
+
f as dialogueConfig,
|
|
31
|
+
A as dialogueLoader,
|
|
32
|
+
I as essentials,
|
|
33
|
+
s as essentialsConfig,
|
|
34
|
+
j as essentialsLoader,
|
|
35
|
+
u as getConfigById,
|
|
36
|
+
q as grammar,
|
|
37
|
+
e as grammarConfig,
|
|
38
|
+
v as grammarLoader,
|
|
39
|
+
h as numbers,
|
|
40
|
+
i as numbersConfig,
|
|
41
|
+
y as numbersLoader,
|
|
42
|
+
E as reading,
|
|
43
|
+
n as readingConfig,
|
|
44
|
+
F as readingLoader
|
|
15
45
|
};
|
|
16
46
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["/**\n * @syllst/ka\n *\n * Georgian SYLLST content package.\n * Contains Georgian language syllabi: alphabet (Mkhedruli script).\n */\n\n// Re-export all syllabi\nexport * as alphabet from './syllabi/alphabet/index.js';\n\n// Re-export configs for convenience\nexport { config as alphabetConfig } from './syllabi/alphabet/index.js';\n\n// Re-export loaders for convenience\nexport { loader as alphabetLoader } from './syllabi/alphabet/index.js';\n\n// Re-export types from 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';\n\nimport type { SyllabusConfig } from './shared.js';\n\n/**\n * All Georgian syllabi configurations\n */\nexport const allConfigs: SyllabusConfig[] = [\n alphabetConfig,\n];\n\n/**\n * Get a syllabus config by ID\n */\nexport function getConfigById(id: string): SyllabusConfig | undefined {\n return allConfigs.find(c => c.id === id);\n}\n"],"names":["allConfigs","alphabetConfig","getConfigById","id","c"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["/**\n * @syllst/ka\n *\n * Georgian SYLLST content package.\n * Contains Georgian language syllabi: alphabet (Mkhedruli script), numbers,\n * essentials, grammar, dialogue, and reading.\n */\n\n// Re-export all syllabi\nexport * as alphabet from './syllabi/alphabet/index.js';\nexport * as numbers from './syllabi/numbers/index.js';\nexport * as essentials from './syllabi/essentials/index.js';\nexport * as grammar from './syllabi/grammar/index.js';\nexport * as dialogue from './syllabi/dialogue/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 numbersConfig } from './syllabi/numbers/index.js';\nexport { config as essentialsConfig } from './syllabi/essentials/index.js';\nexport { config as grammarConfig } from './syllabi/grammar/index.js';\nexport { config as dialogueConfig } from './syllabi/dialogue/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 numbersLoader } from './syllabi/numbers/index.js';\nexport { loader as essentialsLoader } from './syllabi/essentials/index.js';\nexport { loader as grammarLoader } from './syllabi/grammar/index.js';\nexport { loader as dialogueLoader } from './syllabi/dialogue/index.js';\nexport { loader as readingLoader } from './syllabi/reading/index.js';\n\n// Re-export types from 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 numbersConfig } from './syllabi/numbers/index.js';\nimport { config as essentialsConfig } from './syllabi/essentials/index.js';\nimport { config as grammarConfig } from './syllabi/grammar/index.js';\nimport { config as dialogueConfig } from './syllabi/dialogue/index.js';\nimport { config as readingConfig } from './syllabi/reading/index.js';\n\nimport type { SyllabusConfig } from './shared.js';\n\n/**\n * All Georgian syllabi configurations\n */\nexport const allConfigs: SyllabusConfig[] = [\n alphabetConfig,\n numbersConfig,\n essentialsConfig,\n grammarConfig,\n dialogueConfig,\n readingConfig,\n];\n\n/**\n * Get a syllabus config by ID\n */\nexport function getConfigById(id: string): SyllabusConfig | undefined {\n return allConfigs.find(c => c.id === id);\n}\n"],"names":["allConfigs","alphabetConfig","numbersConfig","essentialsConfig","grammarConfig","dialogueConfig","readingConfig","getConfigById","id","c"],"mappings":";;;;;;;;;;;;AAgDO,MAAMA,IAA+B;AAAA,EAC1CC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AACF;AAKO,SAASC,EAAcC,GAAwC;AACpE,SAAOR,EAAW,KAAK,CAAAS,MAAKA,EAAE,OAAOD,CAAE;AACzC;"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
const n = `---
|
|
2
|
+
type: lesson
|
|
3
|
+
id: georgian-dialogue-lesson-01
|
|
4
|
+
title: "გაკვეთილი 1 — რესტორანში (At a Restaurant)"
|
|
5
|
+
description: "Ordering food, asking for the menu, and paying the bill in Georgian"
|
|
6
|
+
order: 1
|
|
7
|
+
parentId: georgian-dialogue
|
|
8
|
+
difficulty: intermediate
|
|
9
|
+
cefrLevel: A2
|
|
10
|
+
categories:
|
|
11
|
+
- dialogue
|
|
12
|
+
- food
|
|
13
|
+
- restaurants
|
|
14
|
+
metadata:
|
|
15
|
+
estimatedTime: 35
|
|
16
|
+
prerequisites:
|
|
17
|
+
- georgian-essentials-lesson-01
|
|
18
|
+
learningObjectives:
|
|
19
|
+
- id: obj-dia-01-order-food
|
|
20
|
+
description: "Order food and drinks at a Georgian restaurant"
|
|
21
|
+
skill: situational-response
|
|
22
|
+
- id: obj-dia-01-ask-menu
|
|
23
|
+
description: "Ask for the menu and understand common menu terms"
|
|
24
|
+
skill: dialogue-comprehension
|
|
25
|
+
- id: obj-dia-01-pay-bill
|
|
26
|
+
description: "Ask for the bill and handle payment exchanges"
|
|
27
|
+
skill: polite-register
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
# გაკვეთილი 1 (Lesson 1) — At a Restaurant
|
|
31
|
+
|
|
32
|
+
## Introduction
|
|
33
|
+
|
|
34
|
+
Georgian restaurants (რესტორანი, restorani) are central to the culture of hospitality — **სტუმართმოყვარეობა** (stumartmoyavreoba). Knowing how to order, ask questions about the menu, and pay the bill will make your dining experience far more rewarding. This lesson covers the essential phrases for navigating a Georgian restaurant.
|
|
35
|
+
|
|
36
|
+
## Arriving and Requesting the Menu
|
|
37
|
+
|
|
38
|
+
:::vocabulary-set{id="ka-dia-01-arrival" title="Arriving at a Restaurant"}
|
|
39
|
+
|
|
40
|
+
::vocab-item{id="restorani" word="რესტორანი" pronunciation="res-to-ra-ni" meaning="restaurant"}
|
|
41
|
+
|
|
42
|
+
::vocab-item{id="menyu" word="მენიუ" pronunciation="me-niu" meaning="menu"}
|
|
43
|
+
|
|
44
|
+
::vocab-item{id="maitane-menyu" word="მომიტანეთ მენიუ, გთხოვთ" pronunciation="mo-mi-ta-net me-niu, g-tkhovt" meaning="Please bring me the menu"}
|
|
45
|
+
|
|
46
|
+
::vocab-item{id="magida" word="მაგიდა" pronunciation="ma-gi-da" meaning="table"}
|
|
47
|
+
|
|
48
|
+
::vocab-item{id="tavisupali" word="თავისუფალი ადგილი" pronunciation="ta-vi-su-pa-li ad-gi-li" meaning="free/available seat"}
|
|
49
|
+
|
|
50
|
+
:::
|
|
51
|
+
|
|
52
|
+
## Ordering Food and Drinks
|
|
53
|
+
|
|
54
|
+
:::vocabulary-set{id="ka-dia-01-ordering" title="Ordering Phrases"}
|
|
55
|
+
|
|
56
|
+
::vocab-item{id="minda" word="მინდა" pronunciation="min-da" meaning="I want / I would like"}
|
|
57
|
+
|
|
58
|
+
::vocab-item{id="momitanet" word="მომიტანეთ" pronunciation="mo-mi-ta-net" meaning="Please bring me (polite imperative)"}
|
|
59
|
+
|
|
60
|
+
::vocab-item{id="ra-gakwvt" word="რა გაქვთ?" pronunciation="ra ga-kvt" meaning="What do you have? (What is available?)"}
|
|
61
|
+
|
|
62
|
+
::vocab-item{id="ratoments" word="რა გირჩევთ?" pronunciation="ra gir-chevt" meaning="What do you recommend?"}
|
|
63
|
+
|
|
64
|
+
::vocab-item{id="gamarjobat-vshvidobit" word="გამარჯობა, მინდა შევუკვეთო" pronunciation="ga-mar-jo-ba, min-da she-vu-kve-to" meaning="Hello, I would like to order"}
|
|
65
|
+
|
|
66
|
+
::vocab-item{id="wqali" word="წყალი" pronunciation="tsqa-li" meaning="water"}
|
|
67
|
+
|
|
68
|
+
::vocab-item{id="ghvino" word="ღვინო" pronunciation="ghvi-no" meaning="wine"}
|
|
69
|
+
|
|
70
|
+
::vocab-item{id="puri" word="პური" pronunciation="pu-ri" meaning="bread"}
|
|
71
|
+
|
|
72
|
+
:::
|
|
73
|
+
|
|
74
|
+
## Asking for the Bill
|
|
75
|
+
|
|
76
|
+
:::vocabulary-set{id="ka-dia-01-bill" title="Paying the Bill"}
|
|
77
|
+
|
|
78
|
+
::vocab-item{id="angarishi" word="ანგარიში" pronunciation="an-ga-ri-shi" meaning="bill / account"}
|
|
79
|
+
|
|
80
|
+
::vocab-item{id="momitanet-angarishi" word="მომიტანეთ ანგარიში" pronunciation="mo-mi-ta-net an-ga-ri-shi" meaning="Please bring the bill"}
|
|
81
|
+
|
|
82
|
+
::vocab-item{id="ra-ghirs" word="რა ღირს?" pronunciation="ra ghirs" meaning="How much does it cost?"}
|
|
83
|
+
|
|
84
|
+
::vocab-item{id="gachleba" word="გადახდა" pronunciation="ga-dakhs-da" meaning="payment"}
|
|
85
|
+
|
|
86
|
+
::vocab-item{id="kartit" word="ბარათით" pronunciation="ba-ra-tit" meaning="by card"}
|
|
87
|
+
|
|
88
|
+
::vocab-item{id="naqvit" word="ნაღდი ფულით" pronunciation="nagh-di fu-lit" meaning="in cash"}
|
|
89
|
+
|
|
90
|
+
:::
|
|
91
|
+
|
|
92
|
+
## Sample Conversation
|
|
93
|
+
|
|
94
|
+
**მიმტანი** (Waiter): გამარჯობა! რა გნებავთ?
|
|
95
|
+
(ga-mar-jo-ba! ra gne-bavt?)
|
|
96
|
+
*Hello! What would you like?*
|
|
97
|
+
|
|
98
|
+
**სტუმარი** (Guest): გამარჯობა. მომიტანეთ მენიუ, გთხოვთ.
|
|
99
|
+
(ga-mar-jo-ba. mo-mi-ta-net me-niu, g-tkhovt.)
|
|
100
|
+
*Hello. Please bring me the menu.*
|
|
101
|
+
|
|
102
|
+
**მიმტანი**: თუ სიამოვნებით. (**hands menu**) გნებავთ სასმელი?
|
|
103
|
+
(tu si-a-mov-ne-bit. gne-bavt sas-me-li?)
|
|
104
|
+
*With pleasure. Would you like a drink?*
|
|
105
|
+
|
|
106
|
+
**სტუმარი**: მინდა ერთი ჭიქა ღვინო და წყალი.
|
|
107
|
+
(min-da er-ti chi-qa ghvi-no da tsqa-li.)
|
|
108
|
+
*I would like a glass of wine and water.*
|
|
109
|
+
|
|
110
|
+
**მიმტანი**: კარგი. საჭმელი გნებავთ?
|
|
111
|
+
(kar-gi. sach-me-li gne-bavt?)
|
|
112
|
+
*Good. Would you like food?*
|
|
113
|
+
|
|
114
|
+
**სტუმარი**: დიახ. რა გირჩევთ?
|
|
115
|
+
(di-akh. ra gir-chevt?)
|
|
116
|
+
*Yes. What do you recommend?*
|
|
117
|
+
|
|
118
|
+
**მიმტანი**: ხინკალი ძალიან გემრიელია.
|
|
119
|
+
(khin-ka-li dza-li-an gem-ri-e-li-a.)
|
|
120
|
+
*The khinkali is very delicious.*
|
|
121
|
+
|
|
122
|
+
**სტუმარი**: კარგი, მომიტანეთ ხინკალი. და მომიტანეთ ანგარიში ბოლოს.
|
|
123
|
+
(kar-gi, mo-mi-ta-net khin-ka-li. da mo-mi-ta-net an-ga-ri-shi bo-los.)
|
|
124
|
+
*Good, please bring the khinkali. And please bring the bill at the end.*
|
|
125
|
+
|
|
126
|
+
## Cultural Note: Georgian Table Culture
|
|
127
|
+
|
|
128
|
+
In Georgian tradition, meals are communal affairs led by a **ტამადა** (tamada) — a toastmaster. Georgian restaurants often serve food family-style, with many shared dishes. It is considered polite to say **გამარჯოს** (gamarjos — "to victory!") when toasting. Leaving food on the plate is generally acceptable and does not offend.
|
|
129
|
+
|
|
130
|
+
## Practice Exercises
|
|
131
|
+
|
|
132
|
+
:::exercise{id="ka-dia-01-menu-request" type="fill-in-blank" title="Requesting the Menu" skill="situational-response" objectiveId="obj-dia-01-order-food"}
|
|
133
|
+
|
|
134
|
+
**Question:** Fill in the blanks to complete the customer's side of the conversation
|
|
135
|
+
|
|
136
|
+
1. Greeting the waiter: ___
|
|
137
|
+
2. Asking for the menu: ___ მენიუ, გთხოვთ
|
|
138
|
+
3. Ordering a drink: ___ ერთი ჭიქა ღვინო
|
|
139
|
+
|
|
140
|
+
**Answer:**
|
|
141
|
+
|
|
142
|
+
1. გამარჯობა
|
|
143
|
+
2. მომიტანეთ
|
|
144
|
+
3. მინდა
|
|
145
|
+
|
|
146
|
+
**Explanation:** გამარჯობა opens any interaction. მომიტანეთ is the polite imperative "please bring." მინდა means "I want / I would like" and is used to express desire for something.
|
|
147
|
+
|
|
148
|
+
:::
|
|
149
|
+
|
|
150
|
+
:::exercise{id="ka-dia-01-comprehension" type="matching" title="Match Phrases to Situations" skill="dialogue-comprehension" objectiveId="obj-dia-01-ask-menu"}
|
|
151
|
+
|
|
152
|
+
**Question:** Match each Georgian phrase to the situation where you would use it
|
|
153
|
+
|
|
154
|
+
- მომიტანეთ მენიუ, გთხოვთ
|
|
155
|
+
- რა გირჩევთ?
|
|
156
|
+
- რა ღირს?
|
|
157
|
+
- მომიტანეთ ანგარიში
|
|
158
|
+
|
|
159
|
+
**Answer:**
|
|
160
|
+
|
|
161
|
+
- მომიტანეთ მენიუ, გთხოვთ → Asking for the menu when seated
|
|
162
|
+
- რა გირჩევთ? → Asking the waiter what to order
|
|
163
|
+
- რა ღირს? → Asking the price of an item
|
|
164
|
+
- მომიტანეთ ანგარიში → Asking for the bill at the end of the meal
|
|
165
|
+
|
|
166
|
+
**Explanation:** Each phrase serves a specific step in the restaurant sequence: arrival, ordering, and payment. Learning this sequence helps you navigate the conversation naturally.
|
|
167
|
+
|
|
168
|
+
:::
|
|
169
|
+
|
|
170
|
+
:::exercise{id="ka-dia-01-payment" type="multiple-choice" title="How Do You Pay?" skill="polite-register" objectiveId="obj-dia-01-pay-bill"}
|
|
171
|
+
|
|
172
|
+
**Question:** You want to ask for the bill politely. Which phrase do you use?
|
|
173
|
+
|
|
174
|
+
**Options:**
|
|
175
|
+
- ანგარიში!
|
|
176
|
+
- მომიტანეთ ანგარიში, გთხოვთ
|
|
177
|
+
- რა ღირს ეს?
|
|
178
|
+
- გამარჯობა
|
|
179
|
+
|
|
180
|
+
**Answer:** 2
|
|
181
|
+
|
|
182
|
+
**Explanation:** მომიტანეთ ანგარიში, გთხოვთ ("Please bring the bill") is the correct, polite way. Simply saying ანგარიში alone sounds abrupt. რა ღირს ეს asks the price of a specific item, not the total bill. გამარჯობა is a greeting.
|
|
183
|
+
|
|
184
|
+
:::
|
|
185
|
+
|
|
186
|
+
## What's Next
|
|
187
|
+
|
|
188
|
+
In Lesson 2, you will learn the vocabulary and phrases for shopping at a Georgian market — bargaining, asking prices, and talking about quantities.
|
|
189
|
+
`;
|
|
190
|
+
export {
|
|
191
|
+
n as default
|
|
192
|
+
};
|
|
193
|
+
//# sourceMappingURL=lesson-01-CSwZqadZ.js.map
|