@polyglot-bundles/ka-minimal-pairs 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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,wBAkC9B,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;AAEjF,eAAO,MAAM,gBAAgB,EAAE,wBA2I9B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
package/dist/data.js CHANGED
@@ -1,41 +1,89 @@
1
1
  const i = {
2
2
  levels: [
3
3
  { level: 0, title: "Getting Started", description: "Practice with clearly different sounds" },
4
- { level: 1, title: "Basic Consonants", description: "Thin vs thick consonants" },
4
+ { level: 1, title: "Three-Way Stop Contrast", description: "Ejective vs aspirated vs voiced" },
5
5
  { level: 2, title: "Vowels", description: "Vowel distinctions" },
6
- { level: 3, title: "Agreement", description: "Consonant agreement" },
7
- { level: 4, title: "Advanced", description: "Difficult distinctions" },
8
- { level: 5, title: "Expert Level", description: "The most difficult 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
9
  ],
10
10
  minimalPairs: [
11
+ // Level 0: Clear contrasts
11
12
  {
12
13
  pairId: "ka_l0_001",
13
14
  level: 0,
14
15
  tags: ["level_0"],
15
16
  contrastFeature: "consonant",
16
17
  contrastDescription: "/k/ vs /t/",
17
- word1: { script: "კარი", romanization: "kari", definition: "door", audioFile: null },
18
- word2: { script: "ტარი", romanization: "tari", definition: "(name)", audioFile: null }
18
+ word1: { script: "კარი", romanization: "k'ari", definition: "door", audioFile: null },
19
+ word2: { script: "ტარი", romanization: "t'ari", definition: "(handle)", audioFile: null }
19
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)
20
31
  {
21
32
  pairId: "ka_l1_001",
22
33
  level: 1,
23
34
  tags: ["level_1", "consonant"],
24
35
  contrastFeature: "consonant",
25
- contrastDescription: "/pʰ/ vs /p'/ - aspirated vs ejective",
26
- pronunciationTipId: "consonant_aspirated_ejective",
27
- word1: { script: "ფარი", romanization: "pari", definition: "shield", audioFile: null },
28
- word2: { script: "პარი", romanization: "p'ari", definition: "bald", audioFile: null }
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 }
29
40
  },
30
41
  {
31
42
  pairId: "ka_l1_002",
32
43
  level: 1,
33
44
  tags: ["level_1", "consonant"],
34
45
  contrastFeature: "consonant",
35
- contrastDescription: "/tʰ/ vs /t'/",
36
- word1: { script: "თავი", romanization: "tavi", definition: "head", audioFile: null },
37
- word2: { script: "ტავი", romanization: "t'avi", definition: "(rare)", audioFile: null }
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 }
38
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
39
87
  {
40
88
  pairId: "ka_l2_001",
41
89
  level: 2,
@@ -44,9 +92,133 @@ const i = {
44
92
  contrastDescription: "/a/ vs /e/",
45
93
  word1: { script: "მა", romanization: "ma", definition: "she/he", audioFile: null },
46
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."
47
218
  }
48
219
  ],
49
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.",
50
222
  consonant_aspirated_ejective: "Aspirated: strong air puff. Ejective: glottal closure with air burst."
51
223
  }
52
224
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polyglot-bundles/ka-minimal-pairs",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -18,8 +18,8 @@
18
18
  "dist"
19
19
  ],
20
20
  "dependencies": {
21
- "@polyglot-bundles/content-shared": "0.2.0",
22
- "@polyglot-bundles/ka-lang": "0.2.3"
21
+ "@polyglot-bundles/ka-lang": "0.2.3",
22
+ "@polyglot-bundles/content-shared": "0.2.0"
23
23
  },
24
24
  "devDependencies": {
25
25
  "vite": "^5.4.0",