@polyglot-bundles/ka-minimal-pairs 0.2.3 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3 @@
1
+ import { MinimalPairsMinimalPair } from '../../../content-shared/src';
2
+ export declare const level0Pairs: MinimalPairsMinimalPair[];
3
+ //# sourceMappingURL=level-0.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"level-0.d.ts","sourceRoot":"","sources":["../../src/data/level-0.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,eAAO,MAAM,WAAW,EAAE,uBAAuB,EAoBhD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { MinimalPairsMinimalPair } from '../../../content-shared/src';
2
+ export declare const level1Pairs: MinimalPairsMinimalPair[];
3
+ //# sourceMappingURL=level-1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"level-1.d.ts","sourceRoot":"","sources":["../../src/data/level-1.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,eAAO,MAAM,WAAW,EAAE,uBAAuB,EAyDhD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { MinimalPairsMinimalPair } from '../../../content-shared/src';
2
+ export declare const level2Pairs: MinimalPairsMinimalPair[];
3
+ //# sourceMappingURL=level-2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"level-2.d.ts","sourceRoot":"","sources":["../../src/data/level-2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,eAAO,MAAM,WAAW,EAAE,uBAAuB,EA6BhD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { MinimalPairsMinimalPair } from '../../../content-shared/src';
2
+ export declare const level3Pairs: MinimalPairsMinimalPair[];
3
+ //# sourceMappingURL=level-3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"level-3.d.ts","sourceRoot":"","sources":["../../src/data/level-3.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,eAAO,MAAM,WAAW,EAAE,uBAAuB,EAsChD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { MinimalPairsMinimalPair } from '../../../content-shared/src';
2
+ export declare const level4Pairs: MinimalPairsMinimalPair[];
3
+ //# sourceMappingURL=level-4.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"level-4.d.ts","sourceRoot":"","sources":["../../src/data/level-4.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,eAAO,MAAM,WAAW,EAAE,uBAAuB,EAsChD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { MinimalPairsMinimalPair } from '../../../content-shared/src';
2
+ export declare const level5Pairs: MinimalPairsMinimalPair[];
3
+ //# sourceMappingURL=level-5.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"level-5.d.ts","sourceRoot":"","sources":["../../src/data/level-5.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,eAAO,MAAM,WAAW,EAAE,uBAAuB,EAgChD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAEjF,eAAO,MAAM,gBAAgB,EAAE,wBA2I9B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAmBjF,eAAO,MAAM,gBAAgB,EAAE,wBAI9B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
package/dist/data.js CHANGED
@@ -1,228 +1,247 @@
1
- const i = {
2
- levels: [
3
- { level: 0, title: "Getting Started", description: "Practice with clearly different sounds" },
4
- { level: 1, title: "Three-Way Stop Contrast", description: "Ejective vs aspirated vs voiced" },
5
- { level: 2, title: "Vowels", description: "Vowel distinctions" },
6
- { level: 3, title: "Consonant Series", description: "Labial, coronal, and velar contrasts" },
7
- { level: 4, title: "Advanced Consonants", description: "Affricates and fricatives" },
8
- { level: 5, title: "Expert Level", description: "Complex clusters and subtle distinctions" }
9
- ],
10
- minimalPairs: [
11
- // Level 0: Clear contrasts
12
- {
13
- pairId: "ka_l0_001",
14
- level: 0,
15
- tags: ["level_0"],
16
- contrastFeature: "consonant",
17
- contrastDescription: "/k/ vs /t/",
18
- word1: { script: "კარი", romanization: "k'ari", definition: "door", audioFile: null },
19
- word2: { script: "ტარი", romanization: "t'ari", definition: "(handle)", audioFile: null }
20
- },
21
- {
22
- pairId: "ka_l0_002",
23
- level: 0,
24
- tags: ["level_0"],
25
- contrastFeature: "consonant",
26
- contrastDescription: "/m/ vs /n/",
27
- word1: { script: "მა", romanization: "ma", definition: "to me", audioFile: null },
28
- word2: { script: "ნა", romanization: "na", definition: "(particle)", audioFile: null }
29
- },
30
- // Level 1: Three-way stop contrast (ejective, aspirated, voiced)
31
- {
32
- pairId: "ka_l1_001",
33
- level: 1,
34
- tags: ["level_1", "consonant"],
35
- contrastFeature: "consonant",
36
- contrastDescription: "Ejective /p'/ vs aspirated /pʰ/",
37
- pronunciationTipId: "consonant_three_way",
38
- word1: { script: "პარი", romanization: "p'ari", definition: "bald", audioFile: null },
39
- word2: { script: "ფარი", romanization: "pari", definition: "shield", audioFile: null }
40
- },
41
- {
42
- pairId: "ka_l1_002",
43
- level: 1,
44
- tags: ["level_1", "consonant"],
45
- contrastFeature: "consonant",
46
- contrastDescription: "Ejective /t'/ vs aspirated /tʰ/",
47
- word1: { script: "ტანი", romanization: "t'ani", definition: "body", audioFile: null },
48
- word2: { script: "თანი", romanization: "tani", definition: "(equal)", audioFile: null }
49
- },
50
- {
51
- pairId: "ka_l1_003",
52
- level: 1,
53
- tags: ["level_1", "consonant"],
54
- contrastFeature: "consonant",
55
- contrastDescription: "Ejective /k'/ vs aspirated /kʰ/",
56
- word1: { script: "კანი", romanization: "k'ani", definition: "skin", audioFile: null },
57
- word2: { script: "ხანი", romanization: "khani", definition: "time; period", audioFile: null }
58
- },
59
- {
60
- pairId: "ka_l1_004",
61
- level: 1,
62
- tags: ["level_1", "consonant"],
63
- contrastFeature: "consonant",
64
- contrastDescription: "Voiced /b/ vs ejective /p'/",
65
- word1: { script: "ბანი", romanization: "bani", definition: "roof", audioFile: null },
66
- word2: { script: "პანი", romanization: "p'ani", definition: "(pani - name)", audioFile: null }
67
- },
68
- {
69
- pairId: "ka_l1_005",
70
- level: 1,
71
- tags: ["level_1", "consonant"],
72
- contrastFeature: "consonant",
73
- contrastDescription: "Voiced /d/ vs ejective /t'/",
74
- word1: { script: "დარი", romanization: "dari", definition: "(Dari language)", audioFile: null },
75
- word2: { script: "ტარი", romanization: "t'ari", definition: "(handle)", audioFile: null }
76
- },
77
- {
78
- pairId: "ka_l1_006",
79
- level: 1,
80
- tags: ["level_1", "consonant"],
81
- contrastFeature: "consonant",
82
- contrastDescription: "Voiced /g/ vs ejective /k'/",
83
- word1: { script: "გარი", romanization: "gari", definition: "(Gari - name)", audioFile: null },
84
- word2: { script: "კარი", romanization: "k'ari", definition: "door", audioFile: null }
85
- },
86
- // Level 2: Vowel contrasts
87
- {
88
- pairId: "ka_l2_001",
89
- level: 2,
90
- tags: ["level_2", "vowel"],
91
- contrastFeature: "vowel",
92
- contrastDescription: "/a/ vs /e/",
93
- word1: { script: "მა", romanization: "ma", definition: "she/he", audioFile: null },
94
- word2: { script: "მე", romanization: "me", definition: "I", audioFile: null }
95
- },
96
- {
97
- pairId: "ka_l2_002",
98
- level: 2,
99
- tags: ["level_2", "vowel"],
100
- contrastFeature: "vowel",
101
- contrastDescription: "/i/ vs /u/",
102
- word1: { script: "მი", romanization: "mi", definition: "to me", audioFile: null },
103
- word2: { script: "მუ", romanization: "mu", definition: "(dialectal)", audioFile: null }
104
- },
105
- {
106
- pairId: "ka_l2_003",
107
- level: 2,
108
- tags: ["level_2", "vowel"],
109
- contrastFeature: "vowel",
110
- contrastDescription: "/ɛ/ vs /ɔ/",
111
- word1: { script: "ბე", romanization: "be", definition: "(destiny)", audioFile: null },
112
- word2: { script: "ბო", romanization: "bo", definition: "(Bo - name)", audioFile: null }
113
- },
114
- // Level 3: Consonant series
115
- {
116
- pairId: "ka_l3_001",
117
- level: 3,
118
- tags: ["level_3", "consonant"],
119
- contrastFeature: "consonant",
120
- contrastDescription: "Labial /p/ vs coronal /t/",
121
- word1: { script: "ფა", romanization: "pa", definition: "(fa - musical note)", audioFile: null },
122
- word2: { script: "თა", romanization: "ta", definition: "(ta - letter name)", audioFile: null }
123
- },
124
- {
125
- pairId: "ka_l3_002",
126
- level: 3,
127
- tags: ["level_3", "consonant"],
128
- contrastFeature: "consonant",
129
- contrastDescription: "Coronal /t/ vs velar /k/",
130
- word1: { script: "თა", romanization: "ta", definition: "(ta - letter name)", audioFile: null },
131
- word2: { script: "ხა", romanization: "kha", definition: "(kha - letter name)", audioFile: null }
132
- },
133
- {
134
- pairId: "ka_l3_003",
135
- level: 3,
136
- tags: ["level_3", "consonant"],
137
- contrastFeature: "consonant",
138
- contrastDescription: "Nasal /m/ vs nasal /n/",
139
- word1: { script: "მათ", romanization: "mat", definition: "them", audioFile: null },
140
- word2: { script: "ნათ", romanization: "nat", definition: "(clear)", audioFile: null }
141
- },
142
- {
143
- pairId: "ka_l3_004",
144
- level: 3,
145
- tags: ["level_3", "consonant"],
146
- contrastFeature: "consonant",
147
- contrastDescription: "/l/ vs /r/",
148
- word1: { script: "ლა", romanization: "la", definition: "(la - musical note)", audioFile: null },
149
- word2: { script: "რა", romanization: "ra", definition: "what", audioFile: null }
150
- },
151
- // Level 4: Advanced consonants (affricates and fricatives)
152
- {
153
- pairId: "ka_l4_001",
154
- level: 4,
155
- tags: ["level_4", "consonant"],
156
- contrastFeature: "consonant",
157
- contrastDescription: "Affricate /ts/ vs /ts'/",
158
- word1: { script: "ცა", romanization: "tsa", definition: "sky", audioFile: null },
159
- word2: { script: "წა", romanization: "ts'a", definition: "(ts'a - name)", audioFile: null }
160
- },
161
- {
162
- pairId: "ka_l4_002",
163
- level: 4,
164
- tags: ["level_4", "consonant"],
165
- contrastFeature: "consonant",
166
- contrastDescription: "Affricate /tʃ/ vs /tʃ'/",
167
- word1: { script: "ჩა", romanization: "cha", definition: "tea", audioFile: null },
168
- word2: { script: "ჭა", romanization: "ch'a", definition: "well (for water)", audioFile: null }
169
- },
170
- {
171
- pairId: "ka_l4_003",
172
- level: 4,
173
- tags: ["level_4", "consonant"],
174
- contrastFeature: "consonant",
175
- contrastDescription: "Fricative /s/ vs /ʃ/",
176
- word1: { script: "სა", romanization: "sa", definition: "(sa - letter name)", audioFile: null },
177
- word2: { script: "შა", romanization: "sha", definition: "(sha - letter name)", audioFile: null }
178
- },
179
- {
180
- pairId: "ka_l4_004",
181
- level: 4,
182
- tags: ["level_4", "consonant"],
183
- contrastFeature: "consonant",
184
- contrastDescription: "Fricative /x/ vs /h/",
185
- word1: { script: "ხა", romanization: "kha", definition: "(kha - letter name)", audioFile: null },
186
- word2: { script: "ჰა", romanization: "ha", definition: "(ha - letter name)", audioFile: null }
187
- },
188
- // Level 5: Expert - complex clusters and subtle distinctions
189
- {
190
- pairId: "ka_l5_001",
191
- level: 5,
192
- tags: ["level_5", "consonant"],
193
- contrastFeature: "consonant",
194
- contrastDescription: "Ejective affricate /ts'/ vs ejective stop /t'/",
195
- word1: { script: "წა", romanization: "ts'a", definition: "(ts'a - name)", audioFile: null },
196
- word2: { script: "ტა", romanization: "t'a", definition: "(ta - clap)", audioFile: null },
197
- notes: "Georgian has a rich inventory of ejective consonants including stops and affricates."
198
- },
199
- {
200
- pairId: "ka_l5_002",
201
- level: 5,
202
- tags: ["level_5", "cluster"],
203
- contrastFeature: "cluster",
204
- contrastDescription: "Complex consonant clusters",
205
- word1: { script: "მკლა", romanization: "mk'la", definition: "(arm - dialectal)", audioFile: null },
206
- word2: { script: "მკვა", romanization: "mk'va", definition: "(mkva - name)", audioFile: null },
207
- notes: "Georgian is famous for complex consonant clusters like 'gvprtskvni' (you peel us)."
208
- },
209
- {
210
- pairId: "ka_l5_003",
211
- level: 5,
212
- tags: ["level_5", "consonant"],
213
- contrastFeature: "consonant",
214
- contrastDescription: "Voiced velar fricative /ɣ/ vs stop /g/",
215
- word1: { script: "ღა", romanization: "gha", definition: "(poor; only)", audioFile: null },
216
- word2: { script: "გა", romanization: "ga", definition: "(ga - prefix)", audioFile: null },
217
- notes: "ღ (ghani) is a voiced velar fricative, distinct from გ (gani) the stop."
218
- }
219
- ],
220
- pronunciationTips: {
221
- consonant_three_way: "Georgian has a three-way contrast: ejective (პ, ტ, კ), aspirated (ფ, თ, ქ), and voiced (ბ, დ, გ). Ejectives have a glottal burst, aspirated have a strong puff of air.",
222
- consonant_aspirated_ejective: "Aspirated: strong air puff. Ejective: glottal closure with air burst."
1
+ const i = [
2
+ { level: 0, title: "Getting Started", description: "Practice with clearly different sounds" },
3
+ { level: 1, title: "Three-Way Stop Contrast", description: "Ejective vs aspirated vs voiced" },
4
+ { level: 2, title: "Vowels", description: "Vowel distinctions" },
5
+ { level: 3, title: "Consonant Series", description: "Labial, coronal, and velar contrasts" },
6
+ { level: 4, title: "Advanced Consonants", description: "Affricates and fricatives" },
7
+ { level: 5, title: "Expert Level", description: "Complex clusters and subtle distinctions" }
8
+ ], n = {
9
+ consonant_three_way: "Georgian has a three-way contrast: ejective (პ, ტ, კ), aspirated (ფ, თ, ქ), and voiced (ბ, დ, გ). Ejectives have a glottal burst, aspirated have a strong puff of air."
10
+ }, a = [
11
+ // Level 0: Clear contrasts
12
+ {
13
+ pairId: "ka_l0_001",
14
+ level: 0,
15
+ tags: ["level_0"],
16
+ contrastFeature: "consonant",
17
+ contrastDescription: "/k/ vs /t/",
18
+ word1: { script: "კარი", romanization: "k'ari", definition: "door", audioFile: null },
19
+ word2: { script: "ტარი", romanization: "t'ari", definition: "(handle)", audioFile: null }
20
+ },
21
+ {
22
+ pairId: "ka_l0_002",
23
+ level: 0,
24
+ tags: ["level_0"],
25
+ contrastFeature: "consonant",
26
+ contrastDescription: "/m/ vs /n/",
27
+ word1: { script: "მა", romanization: "ma", definition: "to me", audioFile: null },
28
+ word2: { script: "ნა", romanization: "na", definition: "(particle)", audioFile: null }
223
29
  }
30
+ ], t = [
31
+ // Level 1: Three-way stop contrast (ejective, aspirated, voiced)
32
+ {
33
+ pairId: "ka_l1_001",
34
+ level: 1,
35
+ tags: ["level_1", "consonant"],
36
+ contrastFeature: "consonant",
37
+ contrastDescription: "Ejective /p'/ vs aspirated /pʰ/",
38
+ pronunciationTipId: "consonant_three_way",
39
+ word1: { script: "პარი", romanization: "p'ari", definition: "bald", audioFile: null },
40
+ word2: { script: "ფარი", romanization: "pari", definition: "shield", audioFile: null }
41
+ },
42
+ {
43
+ pairId: "ka_l1_002",
44
+ level: 1,
45
+ tags: ["level_1", "consonant"],
46
+ contrastFeature: "consonant",
47
+ contrastDescription: "Ejective /t'/ vs aspirated /tʰ/",
48
+ word1: { script: "ტანი", romanization: "t'ani", definition: "body", audioFile: null },
49
+ word2: { script: "თანი", romanization: "tani", definition: "(equal)", audioFile: null }
50
+ },
51
+ {
52
+ pairId: "ka_l1_003",
53
+ level: 1,
54
+ tags: ["level_1", "consonant"],
55
+ contrastFeature: "consonant",
56
+ contrastDescription: "Ejective /k'/ vs aspirated /kʰ/",
57
+ word1: { script: "კანი", romanization: "k'ani", definition: "skin", audioFile: null },
58
+ word2: { script: "ხანი", romanization: "khani", definition: "time; period", audioFile: null }
59
+ },
60
+ {
61
+ pairId: "ka_l1_004",
62
+ level: 1,
63
+ tags: ["level_1", "consonant"],
64
+ contrastFeature: "consonant",
65
+ contrastDescription: "Voiced /b/ vs ejective /p'/",
66
+ word1: { script: "ბანი", romanization: "bani", definition: "roof", audioFile: null },
67
+ word2: { script: "პანი", romanization: "p'ani", definition: "(pani - name)", audioFile: null }
68
+ },
69
+ {
70
+ pairId: "ka_l1_005",
71
+ level: 1,
72
+ tags: ["level_1", "consonant"],
73
+ contrastFeature: "consonant",
74
+ contrastDescription: "Voiced /d/ vs ejective /t'/",
75
+ word1: { script: "დარი", romanization: "dari", definition: "(Dari language)", audioFile: null },
76
+ word2: { script: "ტარი", romanization: "t'ari", definition: "(handle)", audioFile: null }
77
+ },
78
+ {
79
+ pairId: "ka_l1_006",
80
+ level: 1,
81
+ tags: ["level_1", "consonant"],
82
+ contrastFeature: "consonant",
83
+ contrastDescription: "Voiced /g/ vs ejective /k'/",
84
+ word1: { script: "გარი", romanization: "gari", definition: "(Gari - name)", audioFile: null },
85
+ word2: { script: "კარი", romanization: "k'ari", definition: "door", audioFile: null }
86
+ }
87
+ ], o = [
88
+ // Level 2: Vowel contrasts
89
+ {
90
+ pairId: "ka_l2_001",
91
+ level: 2,
92
+ tags: ["level_2", "vowel"],
93
+ contrastFeature: "vowel",
94
+ contrastDescription: "/a/ vs /e/",
95
+ word1: { script: "მა", romanization: "ma", definition: "she/he", audioFile: null },
96
+ word2: { script: "მე", romanization: "me", definition: "I", audioFile: null }
97
+ },
98
+ {
99
+ pairId: "ka_l2_002",
100
+ level: 2,
101
+ tags: ["level_2", "vowel"],
102
+ contrastFeature: "vowel",
103
+ contrastDescription: "/i/ vs /u/",
104
+ word1: { script: "მი", romanization: "mi", definition: "to me", audioFile: null },
105
+ word2: { script: "მუ", romanization: "mu", definition: "(dialectal)", audioFile: null }
106
+ },
107
+ {
108
+ pairId: "ka_l2_003",
109
+ level: 2,
110
+ tags: ["level_2", "vowel"],
111
+ contrastFeature: "vowel",
112
+ contrastDescription: "/ɛ/ vs /ɔ/",
113
+ word1: { script: "ბე", romanization: "be", definition: "(destiny)", audioFile: null },
114
+ word2: { script: "ბო", romanization: "bo", definition: "(Bo - name)", audioFile: null }
115
+ }
116
+ ], e = [
117
+ // Level 3: Consonant series
118
+ {
119
+ pairId: "ka_l3_001",
120
+ level: 3,
121
+ tags: ["level_3", "consonant"],
122
+ contrastFeature: "consonant",
123
+ contrastDescription: "Labial /p/ vs coronal /t/",
124
+ word1: { script: "ფა", romanization: "pa", definition: "(fa - musical note)", audioFile: null },
125
+ word2: { script: "თა", romanization: "ta", definition: "(ta - letter name)", audioFile: null }
126
+ },
127
+ {
128
+ pairId: "ka_l3_002",
129
+ level: 3,
130
+ tags: ["level_3", "consonant"],
131
+ contrastFeature: "consonant",
132
+ contrastDescription: "Coronal /t/ vs velar /k/",
133
+ word1: { script: "თა", romanization: "ta", definition: "(ta - letter name)", audioFile: null },
134
+ word2: { script: "ხა", romanization: "kha", definition: "(kha - letter name)", audioFile: null }
135
+ },
136
+ {
137
+ pairId: "ka_l3_003",
138
+ level: 3,
139
+ tags: ["level_3", "consonant"],
140
+ contrastFeature: "consonant",
141
+ contrastDescription: "Nasal /m/ vs nasal /n/",
142
+ word1: { script: "მათ", romanization: "mat", definition: "them", audioFile: null },
143
+ word2: { script: "ნათ", romanization: "nat", definition: "(clear)", audioFile: null }
144
+ },
145
+ {
146
+ pairId: "ka_l3_004",
147
+ level: 3,
148
+ tags: ["level_3", "consonant"],
149
+ contrastFeature: "consonant",
150
+ contrastDescription: "/l/ vs /r/",
151
+ word1: { script: "ლა", romanization: "la", definition: "(la - musical note)", audioFile: null },
152
+ word2: { script: "რა", romanization: "ra", definition: "what", audioFile: null }
153
+ }
154
+ ], l = [
155
+ // Level 4: Advanced consonants (affricates and fricatives)
156
+ {
157
+ pairId: "ka_l4_001",
158
+ level: 4,
159
+ tags: ["level_4", "consonant"],
160
+ contrastFeature: "consonant",
161
+ contrastDescription: "Affricate /ts/ vs /ts'/",
162
+ word1: { script: "ცა", romanization: "tsa", definition: "sky", audioFile: null },
163
+ word2: { script: "წა", romanization: "ts'a", definition: "(ts'a - name)", audioFile: null }
164
+ },
165
+ {
166
+ pairId: "ka_l4_002",
167
+ level: 4,
168
+ tags: ["level_4", "consonant"],
169
+ contrastFeature: "consonant",
170
+ contrastDescription: "Affricate /tʃ/ vs /tʃ'/",
171
+ word1: { script: "ჩა", romanization: "cha", definition: "tea", audioFile: null },
172
+ word2: { script: "ჭა", romanization: "ch'a", definition: "well (for water)", audioFile: null }
173
+ },
174
+ {
175
+ pairId: "ka_l4_003",
176
+ level: 4,
177
+ tags: ["level_4", "consonant"],
178
+ contrastFeature: "consonant",
179
+ contrastDescription: "Fricative /s/ vs /ʃ/",
180
+ word1: { script: "სა", romanization: "sa", definition: "(sa - letter name)", audioFile: null },
181
+ word2: { script: "შა", romanization: "sha", definition: "(sha - letter name)", audioFile: null }
182
+ },
183
+ {
184
+ pairId: "ka_l4_004",
185
+ level: 4,
186
+ tags: ["level_4", "consonant"],
187
+ contrastFeature: "consonant",
188
+ contrastDescription: "Fricative /x/ vs /h/",
189
+ word1: { script: "ხა", romanization: "kha", definition: "(kha - letter name)", audioFile: null },
190
+ word2: { script: "ჰა", romanization: "ha", definition: "(ha - letter name)", audioFile: null }
191
+ }
192
+ ], r = [
193
+ // Level 5: Expert - complex clusters and subtle distinctions
194
+ {
195
+ pairId: "ka_l5_001",
196
+ level: 5,
197
+ tags: ["level_5", "consonant"],
198
+ contrastFeature: "consonant",
199
+ contrastDescription: "Ejective affricate /ts'/ vs ejective stop /t'/",
200
+ word1: { script: "წა", romanization: "ts'a", definition: "(ts'a - name)", audioFile: null },
201
+ word2: { script: "ტა", romanization: "t'a", definition: "(ta - clap)", audioFile: null },
202
+ notes: "Georgian has a rich inventory of ejective consonants including stops and affricates."
203
+ },
204
+ {
205
+ pairId: "ka_l5_002",
206
+ level: 5,
207
+ tags: ["level_5", "cluster"],
208
+ contrastFeature: "cluster",
209
+ contrastDescription: "Complex consonant clusters",
210
+ word1: { script: "მკლა", romanization: "mk'la", definition: "(arm - dialectal)", audioFile: null },
211
+ word2: { script: "მკვა", romanization: "mk'va", definition: "(mkva - name)", audioFile: null },
212
+ notes: "Georgian is famous for complex consonant clusters like 'gvprtskvni' (you peel us)."
213
+ },
214
+ {
215
+ pairId: "ka_l5_003",
216
+ level: 5,
217
+ tags: ["level_5", "consonant"],
218
+ contrastFeature: "consonant",
219
+ contrastDescription: "Voiced velar fricative /ɣ/ vs stop /g/",
220
+ word1: { script: "ღა", romanization: "gha", definition: "(poor; only)", audioFile: null },
221
+ word2: { script: "გა", romanization: "ga", definition: "(ga - prefix)", audioFile: null },
222
+ notes: "ღ (ghani) is a voiced velar fricative, distinct from გ (gani) the stop."
223
+ }
224
+ ], s = [
225
+ ...a,
226
+ ...t,
227
+ ...o,
228
+ ...e,
229
+ ...l,
230
+ ...r
231
+ ], c = {
232
+ levels: i,
233
+ minimalPairs: s,
234
+ pronunciationTips: n
224
235
  };
225
236
  export {
226
- i as default,
227
- i as minimalPairsData
237
+ t as a,
238
+ o as b,
239
+ e as c,
240
+ l as d,
241
+ c as default,
242
+ r as e,
243
+ i as f,
244
+ a as l,
245
+ c as minimalPairsData,
246
+ n as p
228
247
  };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,11 @@
1
1
  export { minimalPairsData as default } from './data';
2
- export { minimalPairsData } from './data';
2
+ export { levels } from './levels';
3
+ export { pronunciationTips } from './pronunciationTips';
4
+ export { level0Pairs } from './data/level-0';
5
+ export { level1Pairs } from './data/level-1';
6
+ export { level2Pairs } from './data/level-2';
7
+ export { level3Pairs } from './data/level-3';
8
+ export { level4Pairs } from './data/level-4';
9
+ export { level5Pairs } from './data/level-5';
3
10
  export type { MinimalPairsLanguageData, MinimalPairsLevelInfo, MinimalPairsMinimalPair, MinimalPairsPronunciationTipsMap, MinimalPairsRubySegment, MinimalPairsWordInfo, } from '../../content-shared/src';
4
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,MAAM,QAAQ,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAG1C,YAAY,EACV,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,gCAAgC,EAChC,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,MAAM,QAAQ,CAAC;AAGrD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,YAAY,EACV,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,gCAAgC,EAChC,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,kCAAkC,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,12 @@
1
- import { default as e, default as f } from "./data.js";
1
+ import { default as l, l as s, a as i, b as r, c as v, d as P, e as o, f as p, p as f } from "./data.js";
2
2
  export {
3
- e as default,
4
- f as minimalPairsData
3
+ l as default,
4
+ s as level0Pairs,
5
+ i as level1Pairs,
6
+ r as level2Pairs,
7
+ v as level3Pairs,
8
+ P as level4Pairs,
9
+ o as level5Pairs,
10
+ p as levels,
11
+ f as pronunciationTips
5
12
  };
@@ -0,0 +1,3 @@
1
+ import { MinimalPairsLevelInfo } from '../../content-shared/src';
2
+ export declare const levels: MinimalPairsLevelInfo[];
3
+ //# sourceMappingURL=levels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"levels.d.ts","sourceRoot":"","sources":["../src/levels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAE9E,eAAO,MAAM,MAAM,EAAE,qBAAqB,EAOzC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { MinimalPairsPronunciationTipsMap } from '../../content-shared/src';
2
+ export declare const pronunciationTips: MinimalPairsPronunciationTipsMap;
3
+ //# sourceMappingURL=pronunciationTips.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pronunciationTips.d.ts","sourceRoot":"","sources":["../src/pronunciationTips.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AAEzF,eAAO,MAAM,iBAAiB,EAAE,gCAG/B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polyglot-bundles/ka-minimal-pairs",
3
- "version": "0.2.3",
3
+ "version": "0.3.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -12,14 +12,46 @@
12
12
  "./data": {
13
13
  "types": "./dist/data.d.ts",
14
14
  "import": "./dist/data.js"
15
+ },
16
+ "./levels": {
17
+ "types": "./dist/levels.d.ts",
18
+ "import": "./dist/levels.js"
19
+ },
20
+ "./pronunciationTips": {
21
+ "types": "./dist/pronunciationTips.d.ts",
22
+ "import": "./dist/pronunciationTips.js"
23
+ },
24
+ "./data/level-0": {
25
+ "types": "./dist/data/level-0.d.ts",
26
+ "import": "./dist/data/level-0.js"
27
+ },
28
+ "./data/level-1": {
29
+ "types": "./dist/data/level-1.d.ts",
30
+ "import": "./dist/data/level-1.js"
31
+ },
32
+ "./data/level-2": {
33
+ "types": "./dist/data/level-2.d.ts",
34
+ "import": "./dist/data/level-2.js"
35
+ },
36
+ "./data/level-3": {
37
+ "types": "./dist/data/level-3.d.ts",
38
+ "import": "./dist/data/level-3.js"
39
+ },
40
+ "./data/level-4": {
41
+ "types": "./dist/data/level-4.d.ts",
42
+ "import": "./dist/data/level-4.js"
43
+ },
44
+ "./data/level-5": {
45
+ "types": "./dist/data/level-5.d.ts",
46
+ "import": "./dist/data/level-5.js"
15
47
  }
16
48
  },
17
49
  "files": [
18
50
  "dist"
19
51
  ],
20
52
  "dependencies": {
21
- "@polyglot-bundles/content-shared": "0.3.0",
22
- "@polyglot-bundles/ka-lang": "0.3.2"
53
+ "@polyglot-bundles/content-shared": "0.3.1",
54
+ "@polyglot-bundles/ka-lang": "0.3.3"
23
55
  },
24
56
  "devDependencies": {
25
57
  "vite": "^5.4.0",