@polyglot-bundles/vi-minimal-pairs 0.1.0 → 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.
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +236 -10
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -4
- package/package.json +1 -1
package/dist/data.d.ts.map
CHANGED
|
@@ -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,
|
|
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,wBAsP9B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
package/dist/data.js
CHANGED
|
@@ -1,16 +1,242 @@
|
|
|
1
|
-
const
|
|
1
|
+
const i = {
|
|
2
2
|
levels: [
|
|
3
3
|
{ level: 0, title: "Getting Started", description: "Practice with clearly different sounds" },
|
|
4
|
-
{ level: 1, title: "
|
|
5
|
-
{ level: 2, title: "
|
|
6
|
-
{ level: 3, title: "
|
|
7
|
-
{ level: 4, title: "
|
|
8
|
-
{ level: 5, title: "Expert Level", description: "Subtle
|
|
4
|
+
{ level: 1, title: "Six Tones", description: "The Vietnamese tonal system" },
|
|
5
|
+
{ level: 2, title: "Initial Consonants", description: "Consonant contrasts at syllable start" },
|
|
6
|
+
{ level: 3, title: "Vowels", description: "Vietnamese vowel quality" },
|
|
7
|
+
{ level: 4, title: "Final Consonants", description: "Syllable-ending contrasts" },
|
|
8
|
+
{ level: 5, title: "Expert Level", description: "Subtle regional and phonetic distinctions" }
|
|
9
9
|
],
|
|
10
|
-
minimalPairs: [
|
|
11
|
-
|
|
10
|
+
minimalPairs: [
|
|
11
|
+
// Level 0: Clear contrasts
|
|
12
|
+
{
|
|
13
|
+
pairId: "vi_l0_001",
|
|
14
|
+
level: 0,
|
|
15
|
+
tags: ["level_0"],
|
|
16
|
+
contrastFeature: "consonant",
|
|
17
|
+
contrastDescription: "/k/ vs /t/",
|
|
18
|
+
word1: { script: "ca", romanization: "ca", definition: "fish; song", audioFile: null },
|
|
19
|
+
word2: { script: "ta", romanization: "ta", definition: "we", audioFile: null }
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
pairId: "vi_l0_002",
|
|
23
|
+
level: 0,
|
|
24
|
+
tags: ["level_0"],
|
|
25
|
+
contrastFeature: "consonant",
|
|
26
|
+
contrastDescription: "/m/ vs /n/",
|
|
27
|
+
word1: { script: "mẹ", romanization: "mẹ", definition: "mother", audioFile: null },
|
|
28
|
+
word2: { script: "nẹ", romanization: "nẹ", definition: "(dialectal)", audioFile: null }
|
|
29
|
+
},
|
|
30
|
+
// Level 1: The six tones of Vietnamese
|
|
31
|
+
{
|
|
32
|
+
pairId: "vi_l1_001",
|
|
33
|
+
level: 1,
|
|
34
|
+
tags: ["level_1", "tone"],
|
|
35
|
+
contrastFeature: "tone",
|
|
36
|
+
contrastDescription: "ngang (mid level) vs sắc (high rising)",
|
|
37
|
+
pronunciationTipId: "tone_ngang_sac",
|
|
38
|
+
word1: { script: "ma", romanization: "ma", definition: "ghost", audioFile: null },
|
|
39
|
+
word2: { script: "má", romanization: "má", definition: "mother; cheek", audioFile: null }
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
pairId: "vi_l1_002",
|
|
43
|
+
level: 1,
|
|
44
|
+
tags: ["level_1", "tone"],
|
|
45
|
+
contrastFeature: "tone",
|
|
46
|
+
contrastDescription: "ngang (mid level) vs huyền (low falling)",
|
|
47
|
+
word1: { script: "ma", romanization: "ma", definition: "ghost", audioFile: null },
|
|
48
|
+
word2: { script: "mà", romanization: "mà", definition: "but; that", audioFile: null }
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
pairId: "vi_l1_003",
|
|
52
|
+
level: 1,
|
|
53
|
+
tags: ["level_1", "tone"],
|
|
54
|
+
contrastFeature: "tone",
|
|
55
|
+
contrastDescription: "ngang (mid level) vs hỏi (dipping)",
|
|
56
|
+
word1: { script: "ma", romanization: "ma", definition: "ghost", audioFile: null },
|
|
57
|
+
word2: { script: "mả", romanization: "mả", definition: "grave; tomb", audioFile: null }
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
pairId: "vi_l1_004",
|
|
61
|
+
level: 1,
|
|
62
|
+
tags: ["level_1", "tone"],
|
|
63
|
+
contrastFeature: "tone",
|
|
64
|
+
contrastDescription: "ngang (mid level) vs ngã (creaky rising)",
|
|
65
|
+
word1: { script: "ma", romanization: "ma", definition: "ghost", audioFile: null },
|
|
66
|
+
word2: { script: "mã", romanization: "mã", definition: "horse; code", audioFile: null }
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
pairId: "vi_l1_005",
|
|
70
|
+
level: 1,
|
|
71
|
+
tags: ["level_1", "tone"],
|
|
72
|
+
contrastFeature: "tone",
|
|
73
|
+
contrastDescription: "ngang (mid level) vs nặng (glottalized low)",
|
|
74
|
+
word1: { script: "ma", romanization: "ma", definition: "ghost", audioFile: null },
|
|
75
|
+
word2: { script: "mạ", romanization: "mạ", definition: "rice seedling", audioFile: null }
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
pairId: "vi_l1_006",
|
|
79
|
+
level: 1,
|
|
80
|
+
tags: ["level_1", "tone"],
|
|
81
|
+
contrastFeature: "tone",
|
|
82
|
+
contrastDescription: "sắc (high rising) vs ngã (creaky rising)",
|
|
83
|
+
word1: { script: "mái", romanization: "mái", definition: "roof", audioFile: null },
|
|
84
|
+
word2: { script: "mãi", romanization: "mãi", definition: "forever", audioFile: null }
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
pairId: "vi_l1_007",
|
|
88
|
+
level: 1,
|
|
89
|
+
tags: ["level_1", "tone"],
|
|
90
|
+
contrastFeature: "tone",
|
|
91
|
+
contrastDescription: "Full six-tone contrast on /a/",
|
|
92
|
+
word1: { script: "a", romanization: "a", definition: "ah!", audioFile: null },
|
|
93
|
+
word2: { script: "á", romanization: "á", definition: "oh! (surprise)", audioFile: null },
|
|
94
|
+
notes: "Complete series: a (ah!), á (oh!), à (ah...), ả (hả?), ã (ãh), ạ (ạ!)"
|
|
95
|
+
},
|
|
96
|
+
// Level 2: Initial consonants
|
|
97
|
+
{
|
|
98
|
+
pairId: "vi_l2_001",
|
|
99
|
+
level: 2,
|
|
100
|
+
tags: ["level_2", "consonant"],
|
|
101
|
+
contrastFeature: "consonant",
|
|
102
|
+
contrastDescription: "/t/ vs /ɗ/ (voiceless vs implosive)",
|
|
103
|
+
pronunciationTipId: "consonant_t_d",
|
|
104
|
+
word1: { script: "tôi", romanization: "tôi", definition: "I", audioFile: null },
|
|
105
|
+
word2: { script: "đôi", romanization: "đôi", definition: "pair", audioFile: null }
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
pairId: "vi_l2_002",
|
|
109
|
+
level: 2,
|
|
110
|
+
tags: ["level_2", "consonant"],
|
|
111
|
+
contrastFeature: "consonant",
|
|
112
|
+
contrastDescription: "/s/ vs /x/",
|
|
113
|
+
word1: { script: "sa", romanization: "sa", definition: "to fall; to borrow", audioFile: null },
|
|
114
|
+
word2: { script: "xa", romanization: "xa", definition: "far", audioFile: null }
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
pairId: "vi_l2_003",
|
|
118
|
+
level: 2,
|
|
119
|
+
tags: ["level_2", "consonant"],
|
|
120
|
+
contrastFeature: "consonant",
|
|
121
|
+
contrastDescription: "/tr/ vs /ch/",
|
|
122
|
+
word1: { script: "trẻ", romanization: "trẻ", definition: "young", audioFile: null },
|
|
123
|
+
word2: { script: "chẻ", romanization: "chẻ", definition: "to split", audioFile: null }
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
pairId: "vi_l2_004",
|
|
127
|
+
level: 2,
|
|
128
|
+
tags: ["level_2", "consonant"],
|
|
129
|
+
contrastFeature: "consonant",
|
|
130
|
+
contrastDescription: "/g/ vs /k/",
|
|
131
|
+
word1: { script: "gây", romanization: "gây", definition: "to cause", audioFile: null },
|
|
132
|
+
word2: { script: "cây", romanization: "cây", definition: "tree", audioFile: null }
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
pairId: "vi_l2_005",
|
|
136
|
+
level: 2,
|
|
137
|
+
tags: ["level_2", "consonant"],
|
|
138
|
+
contrastFeature: "consonant",
|
|
139
|
+
contrastDescription: "/ŋ/ vs /ɲ/",
|
|
140
|
+
word1: { script: "ngà", romanization: "ngà", definition: "ivory", audioFile: null },
|
|
141
|
+
word2: { script: "nhà", romanization: "nhà", definition: "house", audioFile: null }
|
|
142
|
+
},
|
|
143
|
+
// Level 3: Vowels
|
|
144
|
+
{
|
|
145
|
+
pairId: "vi_l3_001",
|
|
146
|
+
level: 3,
|
|
147
|
+
tags: ["level_3", "vowel"],
|
|
148
|
+
contrastFeature: "vowel",
|
|
149
|
+
contrastDescription: "/a/ vs /ɛ/",
|
|
150
|
+
pronunciationTipId: "vowel_a_e",
|
|
151
|
+
word1: { script: "cỏ", romanization: "cỏ", definition: "grass", audioFile: null },
|
|
152
|
+
word2: { script: "cá", romanization: "cá", definition: "fish", audioFile: null }
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
pairId: "vi_l3_002",
|
|
156
|
+
level: 3,
|
|
157
|
+
tags: ["level_3", "vowel"],
|
|
158
|
+
contrastFeature: "vowel",
|
|
159
|
+
contrastDescription: "/e/ vs /i/",
|
|
160
|
+
word1: { script: "tê", romanization: "tê", definition: "numb", audioFile: null },
|
|
161
|
+
word2: { script: "ti", romanization: "ti", definition: "small", audioFile: null }
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
pairId: "vi_l3_003",
|
|
165
|
+
level: 3,
|
|
166
|
+
tags: ["level_3", "vowel"],
|
|
167
|
+
contrastFeature: "vowel",
|
|
168
|
+
contrastDescription: "Monophthong vs diphthong",
|
|
169
|
+
word1: { script: "cây", romanization: "cây", definition: "tree", audioFile: null },
|
|
170
|
+
word2: { script: "cơi", romanization: "cơi", definition: "to open; enlarge", audioFile: null }
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
pairId: "vi_l3_004",
|
|
174
|
+
level: 3,
|
|
175
|
+
tags: ["level_3", "vowel"],
|
|
176
|
+
contrastFeature: "vowel",
|
|
177
|
+
contrastDescription: "/u/ vs /o/",
|
|
178
|
+
word1: { script: "tua", romanization: "tua", definition: "tentacle", audioFile: null },
|
|
179
|
+
word2: { script: "toa", romanization: "toa", definition: "train car", audioFile: null }
|
|
180
|
+
},
|
|
181
|
+
// Level 4: Final consonants
|
|
182
|
+
{
|
|
183
|
+
pairId: "vi_l4_001",
|
|
184
|
+
level: 4,
|
|
185
|
+
tags: ["level_4", "final"],
|
|
186
|
+
contrastFeature: "final_consonant",
|
|
187
|
+
contrastDescription: "Final /-n/ vs final /-ŋ/",
|
|
188
|
+
pronunciationTipId: "final_n_ng",
|
|
189
|
+
word1: { script: "tân", romanization: "tân", definition: "new", audioFile: null },
|
|
190
|
+
word2: { script: "tâng", romanization: "tâng", definition: "to pitch; flatter", audioFile: null }
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
pairId: "vi_l4_002",
|
|
194
|
+
level: 4,
|
|
195
|
+
tags: ["level_4", "final"],
|
|
196
|
+
contrastFeature: "final_consonant",
|
|
197
|
+
contrastDescription: "Final /-n/ vs final /-k/",
|
|
198
|
+
word1: { script: "bạn", romanization: "bạn", definition: "friend", audioFile: null },
|
|
199
|
+
word2: { script: "bạc", romanization: "bạc", definition: "silver", audioFile: null }
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
pairId: "vi_l4_003",
|
|
203
|
+
level: 4,
|
|
204
|
+
tags: ["level_4", "final"],
|
|
205
|
+
contrastFeature: "final_consonant",
|
|
206
|
+
contrastDescription: "Final /-m/ vs final /-n/",
|
|
207
|
+
word1: { script: "tim", romanization: "tim", definition: "heart", audioFile: null },
|
|
208
|
+
word2: { script: "tin", romanization: "tin", definition: "news; tin", audioFile: null }
|
|
209
|
+
},
|
|
210
|
+
// Level 5: Expert - subtle distinctions
|
|
211
|
+
{
|
|
212
|
+
pairId: "vi_l5_001",
|
|
213
|
+
level: 5,
|
|
214
|
+
tags: ["level_5", "tone"],
|
|
215
|
+
contrastFeature: "tone",
|
|
216
|
+
contrastDescription: "hỏi vs ngã (Northern distinction)",
|
|
217
|
+
word1: { script: "sửa", romanization: "sửa", definition: "to repair", audioFile: null },
|
|
218
|
+
word2: { script: "sữa", romanization: "sữa", definition: "milk", audioFile: null },
|
|
219
|
+
notes: "This distinction is maintained in Northern Vietnamese but merged in Southern"
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
pairId: "vi_l5_002",
|
|
223
|
+
level: 5,
|
|
224
|
+
tags: ["level_5", "consonant"],
|
|
225
|
+
contrastFeature: "consonant",
|
|
226
|
+
contrastDescription: "/l/ vs /n/ (regional variation)",
|
|
227
|
+
word1: { script: "lửa", romanization: "lửa", definition: "fire", audioFile: null },
|
|
228
|
+
word2: { script: "nửa", romanization: "nửa", definition: "half", audioFile: null },
|
|
229
|
+
notes: "Some Southern dialects merge /l/ and /n/. Northern speakers maintain the distinction."
|
|
230
|
+
}
|
|
231
|
+
],
|
|
232
|
+
pronunciationTips: {
|
|
233
|
+
tone_ngang_sac: "ngang (mid): level, neutral. sắc (high rising): starts mid, rises sharply like a question in English.",
|
|
234
|
+
consonant_t_d: "/t/ is voiceless with no aspiration. /ɗ/ (đ) is implosive - pull the glottis down while making the sound.",
|
|
235
|
+
vowel_a_e: "/a/ is open central. /ɛ/ (e) is open-mid front. Vietnamese has many vowel qualities.",
|
|
236
|
+
final_n_ng: "/-n/ is alveolar (tongue on ridge). /-ŋ/ (ng) is velar (back of tongue against soft palate)."
|
|
237
|
+
}
|
|
12
238
|
};
|
|
13
239
|
export {
|
|
14
|
-
|
|
15
|
-
|
|
240
|
+
i as default,
|
|
241
|
+
i as minimalPairsData
|
|
16
242
|
};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { minimalPairsData as default } from './data';
|
|
1
2
|
export { minimalPairsData } from './data';
|
|
2
|
-
export
|
|
3
|
+
export type { MinimalPairsLanguageData, MinimalPairsLevelInfo, MinimalPairsMinimalPair, MinimalPairsPronunciationTipsMap, MinimalPairsRubySegment, MinimalPairsWordInfo, } from '../../content-shared';
|
|
3
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/index.js
CHANGED