@polyglot-bundles/ko-minimal-pairs 0.2.5 → 0.2.6

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,23 +1,40 @@
1
- const i = [
2
- {
3
- pairId: "ko_l0_001",
4
- level: 0,
5
- tags: ["level_0"],
6
- contrastFeature: "consonant",
7
- contrastDescription: "/k/ vs /t/",
8
- word1: { script: "가구", romanization: "gagu", definition: "furniture", audioFile: null },
9
- word2: { script: "다구", romanization: "dagu", definition: "(name)", audioFile: null }
10
- },
11
- {
12
- pairId: "ko_l0_002",
13
- level: 0,
14
- tags: ["level_0"],
15
- contrastFeature: "consonant",
16
- contrastDescription: "/m/ vs /b/",
17
- word1: { script: "물", romanization: "mul", definition: "water", audioFile: null },
18
- word2: { script: "불", romanization: "bul", definition: "fire", audioFile: null }
19
- }
20
- ];
21
- export {
22
- i as level0Pairs
23
- };
1
+ //#region src/data/level-0.ts
2
+ var e = [{
3
+ pairId: "ko_l0_001",
4
+ level: 0,
5
+ tags: ["level_0"],
6
+ contrastFeature: "consonant",
7
+ contrastDescription: "/k/ vs /t/",
8
+ word1: {
9
+ script: "가구",
10
+ romanization: "gagu",
11
+ definition: "furniture",
12
+ audioFile: null
13
+ },
14
+ word2: {
15
+ script: "다구",
16
+ romanization: "dagu",
17
+ definition: "(name)",
18
+ audioFile: null
19
+ }
20
+ }, {
21
+ pairId: "ko_l0_002",
22
+ level: 0,
23
+ tags: ["level_0"],
24
+ contrastFeature: "consonant",
25
+ contrastDescription: "/m/ vs /b/",
26
+ word1: {
27
+ script: "물",
28
+ romanization: "mul",
29
+ definition: "water",
30
+ audioFile: null
31
+ },
32
+ word2: {
33
+ script: "불",
34
+ romanization: "bul",
35
+ definition: "fire",
36
+ audioFile: null
37
+ }
38
+ }];
39
+ //#endregion
40
+ export { e as level0Pairs };
@@ -1,87 +1,177 @@
1
- const n = [
2
- {
3
- pairId: "ko_l1_001",
4
- level: 1,
5
- tags: ["level_1", "consonant"],
6
- contrastFeature: "consonant",
7
- contrastDescription: "Plain /p/ vs tense /p͈/ vs aspirated /pʰ/",
8
- pronunciationTipId: "consonant_three_way",
9
- word1: { script: "", romanization: "bal", definition: "foot", audioFile: null },
10
- word2: { script: "팔", romanization: "pal", definition: "arm", audioFile: null }
11
- },
12
- {
13
- pairId: "ko_l1_002",
14
- level: 1,
15
- tags: ["level_1", "consonant"],
16
- contrastFeature: "consonant",
17
- contrastDescription: "Plain /p/ vs tense /p͈/",
18
- word1: { script: "발", romanization: "bal", definition: "foot", audioFile: null },
19
- word2: { script: "쌀", romanization: "ssal", definition: "uncooked rice", audioFile: null }
20
- },
21
- {
22
- pairId: "ko_l1_003",
23
- level: 1,
24
- tags: ["level_1", "consonant"],
25
- contrastFeature: "consonant",
26
- contrastDescription: "Tense /p͈/ vs aspirated /pʰ/",
27
- word1: { script: "", romanization: "ppal", definition: "red", audioFile: null },
28
- word2: { script: "팔", romanization: "pal", definition: "arm", audioFile: null }
29
- },
30
- {
31
- pairId: "ko_l1_004",
32
- level: 1,
33
- tags: ["level_1", "consonant"],
34
- contrastFeature: "consonant",
35
- contrastDescription: "Plain /t/ vs tense /t͈/ vs aspirated /tʰ/",
36
- word1: { script: "", romanization: "dal", definition: "moon", audioFile: null },
37
- word2: { script: "딸", romanization: "ttal", definition: "daughter", audioFile: null }
38
- },
39
- {
40
- pairId: "ko_l1_005",
41
- level: 1,
42
- tags: ["level_1", "consonant"],
43
- contrastFeature: "consonant",
44
- contrastDescription: "Plain /t/ vs aspirated /tʰ/",
45
- word1: { script: "", romanization: "dal", definition: "moon", audioFile: null },
46
- word2: { script: "", romanization: "tal", definition: "mask", audioFile: null }
47
- },
48
- {
49
- pairId: "ko_l1_006",
50
- level: 1,
51
- tags: ["level_1", "consonant"],
52
- contrastFeature: "consonant",
53
- contrastDescription: "Plain /k/ vs tense /k͈/ vs aspirated /kʰ/",
54
- word1: { script: "갈", romanization: "gal", definition: "to go", audioFile: null },
55
- word2: { script: "", romanization: "kkal", definition: "to spread", audioFile: null }
56
- },
57
- {
58
- pairId: "ko_l1_007",
59
- level: 1,
60
- tags: ["level_1", "consonant"],
61
- contrastFeature: "consonant",
62
- contrastDescription: "Plain /k/ vs aspirated /kʰ/",
63
- word1: { script: "갈", romanization: "gal", definition: "to go", audioFile: null },
64
- word2: { script: "", romanization: "kal", definition: "knife", audioFile: null }
65
- },
66
- {
67
- pairId: "ko_l1_008",
68
- level: 1,
69
- tags: ["level_1", "consonant"],
70
- contrastFeature: "consonant",
71
- contrastDescription: "Plain /tɕ/ vs tense /tɕ͈/ vs aspirated /tɕʰ/",
72
- word1: { script: "자", romanization: "ja", definition: "self; ruler", audioFile: null },
73
- word2: { script: "짜", romanization: "jja", definition: "salty; to pair", audioFile: null }
74
- },
75
- {
76
- pairId: "ko_l1_009",
77
- level: 1,
78
- tags: ["level_1", "consonant"],
79
- contrastFeature: "consonant",
80
- contrastDescription: "Plain /s/ vs tense /s͈/",
81
- word1: { script: "", romanization: "sal", definition: "flesh; to live", audioFile: null },
82
- word2: { script: "쌀", romanization: "ssal", definition: "uncooked rice", audioFile: null }
83
- }
1
+ //#region src/data/level-1.ts
2
+ var e = [
3
+ {
4
+ pairId: "ko_l1_001",
5
+ level: 1,
6
+ tags: ["level_1", "consonant"],
7
+ contrastFeature: "consonant",
8
+ contrastDescription: "Plain /p/ vs tense /p͈/ vs aspirated /pʰ/",
9
+ pronunciationTipId: "consonant_three_way",
10
+ word1: {
11
+ script: "발",
12
+ romanization: "bal",
13
+ definition: "foot",
14
+ audioFile: null
15
+ },
16
+ word2: {
17
+ script: "",
18
+ romanization: "pal",
19
+ definition: "arm",
20
+ audioFile: null
21
+ }
22
+ },
23
+ {
24
+ pairId: "ko_l1_002",
25
+ level: 1,
26
+ tags: ["level_1", "consonant"],
27
+ contrastFeature: "consonant",
28
+ contrastDescription: "Plain /p/ vs tense /p͈/",
29
+ word1: {
30
+ script: "발",
31
+ romanization: "bal",
32
+ definition: "foot",
33
+ audioFile: null
34
+ },
35
+ word2: {
36
+ script: "",
37
+ romanization: "ssal",
38
+ definition: "uncooked rice",
39
+ audioFile: null
40
+ }
41
+ },
42
+ {
43
+ pairId: "ko_l1_003",
44
+ level: 1,
45
+ tags: ["level_1", "consonant"],
46
+ contrastFeature: "consonant",
47
+ contrastDescription: "Tense /p͈/ vs aspirated /pʰ/",
48
+ word1: {
49
+ script: "",
50
+ romanization: "ppal",
51
+ definition: "red",
52
+ audioFile: null
53
+ },
54
+ word2: {
55
+ script: "",
56
+ romanization: "pal",
57
+ definition: "arm",
58
+ audioFile: null
59
+ }
60
+ },
61
+ {
62
+ pairId: "ko_l1_004",
63
+ level: 1,
64
+ tags: ["level_1", "consonant"],
65
+ contrastFeature: "consonant",
66
+ contrastDescription: "Plain /t/ vs tense /t͈/ vs aspirated /tʰ/",
67
+ word1: {
68
+ script: "달",
69
+ romanization: "dal",
70
+ definition: "moon",
71
+ audioFile: null
72
+ },
73
+ word2: {
74
+ script: "딸",
75
+ romanization: "ttal",
76
+ definition: "daughter",
77
+ audioFile: null
78
+ }
79
+ },
80
+ {
81
+ pairId: "ko_l1_005",
82
+ level: 1,
83
+ tags: ["level_1", "consonant"],
84
+ contrastFeature: "consonant",
85
+ contrastDescription: "Plain /t/ vs aspirated /tʰ/",
86
+ word1: {
87
+ script: "달",
88
+ romanization: "dal",
89
+ definition: "moon",
90
+ audioFile: null
91
+ },
92
+ word2: {
93
+ script: "탈",
94
+ romanization: "tal",
95
+ definition: "mask",
96
+ audioFile: null
97
+ }
98
+ },
99
+ {
100
+ pairId: "ko_l1_006",
101
+ level: 1,
102
+ tags: ["level_1", "consonant"],
103
+ contrastFeature: "consonant",
104
+ contrastDescription: "Plain /k/ vs tense /k͈/ vs aspirated /kʰ/",
105
+ word1: {
106
+ script: "갈",
107
+ romanization: "gal",
108
+ definition: "to go",
109
+ audioFile: null
110
+ },
111
+ word2: {
112
+ script: "깔",
113
+ romanization: "kkal",
114
+ definition: "to spread",
115
+ audioFile: null
116
+ }
117
+ },
118
+ {
119
+ pairId: "ko_l1_007",
120
+ level: 1,
121
+ tags: ["level_1", "consonant"],
122
+ contrastFeature: "consonant",
123
+ contrastDescription: "Plain /k/ vs aspirated /kʰ/",
124
+ word1: {
125
+ script: "갈",
126
+ romanization: "gal",
127
+ definition: "to go",
128
+ audioFile: null
129
+ },
130
+ word2: {
131
+ script: "칼",
132
+ romanization: "kal",
133
+ definition: "knife",
134
+ audioFile: null
135
+ }
136
+ },
137
+ {
138
+ pairId: "ko_l1_008",
139
+ level: 1,
140
+ tags: ["level_1", "consonant"],
141
+ contrastFeature: "consonant",
142
+ contrastDescription: "Plain /tɕ/ vs tense /tɕ͈/ vs aspirated /tɕʰ/",
143
+ word1: {
144
+ script: "자",
145
+ romanization: "ja",
146
+ definition: "self; ruler",
147
+ audioFile: null
148
+ },
149
+ word2: {
150
+ script: "짜",
151
+ romanization: "jja",
152
+ definition: "salty; to pair",
153
+ audioFile: null
154
+ }
155
+ },
156
+ {
157
+ pairId: "ko_l1_009",
158
+ level: 1,
159
+ tags: ["level_1", "consonant"],
160
+ contrastFeature: "consonant",
161
+ contrastDescription: "Plain /s/ vs tense /s͈/",
162
+ word1: {
163
+ script: "살",
164
+ romanization: "sal",
165
+ definition: "flesh; to live",
166
+ audioFile: null
167
+ },
168
+ word2: {
169
+ script: "쌀",
170
+ romanization: "ssal",
171
+ definition: "uncooked rice",
172
+ audioFile: null
173
+ }
174
+ }
84
175
  ];
85
- export {
86
- n as level1Pairs
87
- };
176
+ //#endregion
177
+ export { e as level1Pairs };
@@ -1,43 +1,83 @@
1
- const i = [
2
- {
3
- pairId: "ko_l2_001",
4
- level: 2,
5
- tags: ["level_2", "vowel"],
6
- contrastFeature: "vowel",
7
- contrastDescription: "/a/ vs /ʌ/",
8
- pronunciationTipId: "vowel_a_eo",
9
- word1: { script: "", romanization: "mal", definition: "horse; speech", audioFile: null },
10
- word2: { script: "멀", romanization: "meol", definition: "distance", audioFile: null }
11
- },
12
- {
13
- pairId: "ko_l2_002",
14
- level: 2,
15
- tags: ["level_2", "vowel"],
16
- contrastFeature: "vowel",
17
- contrastDescription: "/o/ vs /u/",
18
- word1: { script: "보", romanization: "bo", definition: "treasure", audioFile: null },
19
- word2: { script: "부", romanization: "bu", definition: "wealth; part", audioFile: null }
20
- },
21
- {
22
- pairId: "ko_l2_003",
23
- level: 2,
24
- tags: ["level_2", "vowel"],
25
- contrastFeature: "vowel",
26
- contrastDescription: "/i/ vs /ɛ/",
27
- word1: { script: "", romanization: "bi", definition: "rain", audioFile: null },
28
- word2: { script: "배", romanization: "bae", definition: "ship; pear; stomach", audioFile: null }
29
- },
30
- {
31
- pairId: "ko_l2_004",
32
- level: 2,
33
- tags: ["level_2", "vowel"],
34
- contrastFeature: "vowel",
35
- contrastDescription: "/e/ vs /ɛ/ (merging in modern Korean)",
36
- word1: { script: "", romanization: "ge", definition: "crab", audioFile: null },
37
- word2: { script: "개", romanization: "gae", definition: "dog", audioFile: null },
38
- notes: "These vowels are merging in modern Seoul Korean"
39
- }
1
+ //#region src/data/level-2.ts
2
+ var e = [
3
+ {
4
+ pairId: "ko_l2_001",
5
+ level: 2,
6
+ tags: ["level_2", "vowel"],
7
+ contrastFeature: "vowel",
8
+ contrastDescription: "/a/ vs /ʌ/",
9
+ pronunciationTipId: "vowel_a_eo",
10
+ word1: {
11
+ script: "말",
12
+ romanization: "mal",
13
+ definition: "horse; speech",
14
+ audioFile: null
15
+ },
16
+ word2: {
17
+ script: "",
18
+ romanization: "meol",
19
+ definition: "distance",
20
+ audioFile: null
21
+ }
22
+ },
23
+ {
24
+ pairId: "ko_l2_002",
25
+ level: 2,
26
+ tags: ["level_2", "vowel"],
27
+ contrastFeature: "vowel",
28
+ contrastDescription: "/o/ vs /u/",
29
+ word1: {
30
+ script: "보",
31
+ romanization: "bo",
32
+ definition: "treasure",
33
+ audioFile: null
34
+ },
35
+ word2: {
36
+ script: "",
37
+ romanization: "bu",
38
+ definition: "wealth; part",
39
+ audioFile: null
40
+ }
41
+ },
42
+ {
43
+ pairId: "ko_l2_003",
44
+ level: 2,
45
+ tags: ["level_2", "vowel"],
46
+ contrastFeature: "vowel",
47
+ contrastDescription: "/i/ vs /ɛ/",
48
+ word1: {
49
+ script: "비",
50
+ romanization: "bi",
51
+ definition: "rain",
52
+ audioFile: null
53
+ },
54
+ word2: {
55
+ script: "배",
56
+ romanization: "bae",
57
+ definition: "ship; pear; stomach",
58
+ audioFile: null
59
+ }
60
+ },
61
+ {
62
+ pairId: "ko_l2_004",
63
+ level: 2,
64
+ tags: ["level_2", "vowel"],
65
+ contrastFeature: "vowel",
66
+ contrastDescription: "/e/ vs /ɛ/ (merging in modern Korean)",
67
+ word1: {
68
+ script: "게",
69
+ romanization: "ge",
70
+ definition: "crab",
71
+ audioFile: null
72
+ },
73
+ word2: {
74
+ script: "개",
75
+ romanization: "gae",
76
+ definition: "dog",
77
+ audioFile: null
78
+ },
79
+ notes: "These vowels are merging in modern Seoul Korean"
80
+ }
40
81
  ];
41
- export {
42
- i as level2Pairs
43
- };
82
+ //#endregion
83
+ export { e as level2Pairs };
@@ -1,33 +1,63 @@
1
- const n = [
2
- {
3
- pairId: "ko_l3_001",
4
- level: 3,
5
- tags: ["level_3", "consonant"],
6
- contrastFeature: "consonant",
7
- contrastDescription: "/n/ vs /l/",
8
- pronunciationTipId: "consonant_n_l",
9
- word1: { script: "", romanization: "nam", definition: "man; south", audioFile: null },
10
- word2: { script: "람", romanization: "ram", definition: "(in compounds)", audioFile: null }
11
- },
12
- {
13
- pairId: "ko_l3_002",
14
- level: 3,
15
- tags: ["level_3", "consonant"],
16
- contrastFeature: "consonant",
17
- contrastDescription: "/m/ vs /n/",
18
- word1: { script: "무", romanization: "mu", definition: "radish", audioFile: null },
19
- word2: { script: "누", romanization: "nu", definition: "(name)", audioFile: null }
20
- },
21
- {
22
- pairId: "ko_l3_003",
23
- level: 3,
24
- tags: ["level_3", "consonant"],
25
- contrastFeature: "consonant",
26
- contrastDescription: "/p/ vs /m/",
27
- word1: { script: "", romanization: "bak", definition: "park (surname); gourd", audioFile: null },
28
- word2: { script: "막", romanization: "mak", definition: "block; 막걸리", audioFile: null }
29
- }
1
+ //#region src/data/level-3.ts
2
+ var e = [
3
+ {
4
+ pairId: "ko_l3_001",
5
+ level: 3,
6
+ tags: ["level_3", "consonant"],
7
+ contrastFeature: "consonant",
8
+ contrastDescription: "/n/ vs /l/",
9
+ pronunciationTipId: "consonant_n_l",
10
+ word1: {
11
+ script: "남",
12
+ romanization: "nam",
13
+ definition: "man; south",
14
+ audioFile: null
15
+ },
16
+ word2: {
17
+ script: "",
18
+ romanization: "ram",
19
+ definition: "(in compounds)",
20
+ audioFile: null
21
+ }
22
+ },
23
+ {
24
+ pairId: "ko_l3_002",
25
+ level: 3,
26
+ tags: ["level_3", "consonant"],
27
+ contrastFeature: "consonant",
28
+ contrastDescription: "/m/ vs /n/",
29
+ word1: {
30
+ script: "무",
31
+ romanization: "mu",
32
+ definition: "radish",
33
+ audioFile: null
34
+ },
35
+ word2: {
36
+ script: "누",
37
+ romanization: "nu",
38
+ definition: "(name)",
39
+ audioFile: null
40
+ }
41
+ },
42
+ {
43
+ pairId: "ko_l3_003",
44
+ level: 3,
45
+ tags: ["level_3", "consonant"],
46
+ contrastFeature: "consonant",
47
+ contrastDescription: "/p/ vs /m/",
48
+ word1: {
49
+ script: "박",
50
+ romanization: "bak",
51
+ definition: "park (surname); gourd",
52
+ audioFile: null
53
+ },
54
+ word2: {
55
+ script: "막",
56
+ romanization: "mak",
57
+ definition: "block; 막걸리",
58
+ audioFile: null
59
+ }
60
+ }
30
61
  ];
31
- export {
32
- n as level3Pairs
33
- };
62
+ //#endregion
63
+ export { e as level3Pairs };
@@ -1,33 +1,63 @@
1
- const i = [
2
- {
3
- pairId: "ko_l4_001",
4
- level: 4,
5
- tags: ["level_4", "final"],
6
- contrastFeature: "final_consonant",
7
- contrastDescription: "Final /-k/ vs final /-t/",
8
- pronunciationTipId: "final_consonants",
9
- word1: { script: "", romanization: "guk", definition: "soup", audioFile: null },
10
- word2: { script: "굳", romanization: "gut", definition: "(firm)", audioFile: null }
11
- },
12
- {
13
- pairId: "ko_l4_002",
14
- level: 4,
15
- tags: ["level_4", "final"],
16
- contrastFeature: "final_consonant",
17
- contrastDescription: "Final /-n/ vs final /-ng/",
18
- word1: { script: "산", romanization: "san", definition: "mountain", audioFile: null },
19
- word2: { script: "상", romanization: "sang", definition: "table; injury", audioFile: null }
20
- },
21
- {
22
- pairId: "ko_l4_003",
23
- level: 4,
24
- tags: ["level_4", "final"],
25
- contrastFeature: "final_consonant",
26
- contrastDescription: "Final /-m/ vs final /-n/",
27
- word1: { script: "", romanization: "gam", definition: "persimmon; feeling", audioFile: null },
28
- word2: { script: "간", romanization: "gan", definition: "liver; interval", audioFile: null }
29
- }
1
+ //#region src/data/level-4.ts
2
+ var e = [
3
+ {
4
+ pairId: "ko_l4_001",
5
+ level: 4,
6
+ tags: ["level_4", "final"],
7
+ contrastFeature: "final_consonant",
8
+ contrastDescription: "Final /-k/ vs final /-t/",
9
+ pronunciationTipId: "final_consonants",
10
+ word1: {
11
+ script: "국",
12
+ romanization: "guk",
13
+ definition: "soup",
14
+ audioFile: null
15
+ },
16
+ word2: {
17
+ script: "",
18
+ romanization: "gut",
19
+ definition: "(firm)",
20
+ audioFile: null
21
+ }
22
+ },
23
+ {
24
+ pairId: "ko_l4_002",
25
+ level: 4,
26
+ tags: ["level_4", "final"],
27
+ contrastFeature: "final_consonant",
28
+ contrastDescription: "Final /-n/ vs final /-ng/",
29
+ word1: {
30
+ script: "산",
31
+ romanization: "san",
32
+ definition: "mountain",
33
+ audioFile: null
34
+ },
35
+ word2: {
36
+ script: "상",
37
+ romanization: "sang",
38
+ definition: "table; injury",
39
+ audioFile: null
40
+ }
41
+ },
42
+ {
43
+ pairId: "ko_l4_003",
44
+ level: 4,
45
+ tags: ["level_4", "final"],
46
+ contrastFeature: "final_consonant",
47
+ contrastDescription: "Final /-m/ vs final /-n/",
48
+ word1: {
49
+ script: "감",
50
+ romanization: "gam",
51
+ definition: "persimmon; feeling",
52
+ audioFile: null
53
+ },
54
+ word2: {
55
+ script: "간",
56
+ romanization: "gan",
57
+ definition: "liver; interval",
58
+ audioFile: null
59
+ }
60
+ }
30
61
  ];
31
- export {
32
- i as level4Pairs
33
- };
62
+ //#endregion
63
+ export { e as level4Pairs };
@@ -1,25 +1,42 @@
1
- const i = [
2
- {
3
- pairId: "ko_l5_001",
4
- level: 5,
5
- tags: ["level_5", "consonant"],
6
- contrastFeature: "consonant",
7
- contrastDescription: "/h/ vs /k/",
8
- word1: { script: "하다", romanization: "hada", definition: "to do", audioFile: null },
9
- word2: { script: "카다", romanization: "kada", definition: "(loanword: card+suffix)", audioFile: null },
10
- notes: "The /h/ sound is often weak or silent in certain positions"
11
- },
12
- {
13
- pairId: "ko_l5_002",
14
- level: 5,
15
- tags: ["level_5", "vowel"],
16
- contrastFeature: "vowel",
17
- contrastDescription: "/ɯ/ (eu) vs /u/ (u)",
18
- word1: { script: "그", romanization: "geu", definition: "that; the", audioFile: null },
19
- word2: { script: "구", romanization: "gu", definition: "district; nine", audioFile: null },
20
- notes: "/ɯ/ is unrounded, /u/ is rounded. English speakers often confuse these."
21
- }
22
- ];
23
- export {
24
- i as level5Pairs
25
- };
1
+ //#region src/data/level-5.ts
2
+ var e = [{
3
+ pairId: "ko_l5_001",
4
+ level: 5,
5
+ tags: ["level_5", "consonant"],
6
+ contrastFeature: "consonant",
7
+ contrastDescription: "/h/ vs /k/",
8
+ word1: {
9
+ script: "하다",
10
+ romanization: "hada",
11
+ definition: "to do",
12
+ audioFile: null
13
+ },
14
+ word2: {
15
+ script: "카다",
16
+ romanization: "kada",
17
+ definition: "(loanword: card+suffix)",
18
+ audioFile: null
19
+ },
20
+ notes: "The /h/ sound is often weak or silent in certain positions"
21
+ }, {
22
+ pairId: "ko_l5_002",
23
+ level: 5,
24
+ tags: ["level_5", "vowel"],
25
+ contrastFeature: "vowel",
26
+ contrastDescription: "/ɯ/ (eu) vs /u/ (u)",
27
+ word1: {
28
+ script: "그",
29
+ romanization: "geu",
30
+ definition: "that; the",
31
+ audioFile: null
32
+ },
33
+ word2: {
34
+ script: "구",
35
+ romanization: "gu",
36
+ definition: "district; nine",
37
+ audioFile: null
38
+ },
39
+ notes: "/ɯ/ is unrounded, /u/ is rounded. English speakers often confuse these."
40
+ }];
41
+ //#endregion
42
+ export { e as level5Pairs };
package/dist/data.js CHANGED
@@ -1,24 +1,22 @@
1
- import { levels as r } from "./levels.js";
2
- import { pronunciationTips as i } from "./pronunciationTips.js";
3
- import { level0Pairs as o } from "./data/level-0.js";
4
- import { level1Pairs as m } from "./data/level-1.js";
5
- import { level2Pairs as l } from "./data/level-2.js";
1
+ import { levels as e } from "./levels.js";
2
+ import { pronunciationTips as t } from "./pronunciationTips.js";
3
+ import { level0Pairs as n } from "./data/level-0.js";
4
+ import { level1Pairs as r } from "./data/level-1.js";
5
+ import { level2Pairs as i } from "./data/level-2.js";
6
6
  import { level3Pairs as a } from "./data/level-3.js";
7
- import { level4Pairs as e } from "./data/level-4.js";
7
+ import { level4Pairs as o } from "./data/level-4.js";
8
8
  import { level5Pairs as s } from "./data/level-5.js";
9
- const t = [
10
- ...o,
11
- ...m,
12
- ...l,
13
- ...a,
14
- ...e,
15
- ...s
16
- ], x = {
17
- levels: r,
18
- minimalPairs: t,
19
- pronunciationTips: i
20
- };
21
- export {
22
- x as default,
23
- x as minimalPairsData
9
+ var c = {
10
+ levels: e,
11
+ minimalPairs: [
12
+ ...n,
13
+ ...r,
14
+ ...i,
15
+ ...a,
16
+ ...o,
17
+ ...s
18
+ ],
19
+ pronunciationTips: t
24
20
  };
21
+ //#endregion
22
+ export { c as default, c as minimalPairsData };
package/dist/index.js CHANGED
@@ -1,20 +1,10 @@
1
- import { default as o } from "./data.js";
2
- import { levels as p } from "./levels.js";
3
- import { pronunciationTips as f } from "./pronunciationTips.js";
4
- import { level0Pairs as m } from "./data/level-0.js";
5
- import { level1Pairs as a } from "./data/level-1.js";
6
- import { level2Pairs as v } from "./data/level-2.js";
7
- import { level3Pairs as n } from "./data/level-3.js";
8
- import { level4Pairs as c } from "./data/level-4.js";
9
- import { level5Pairs as T } from "./data/level-5.js";
10
- export {
11
- o as default,
12
- m as level0Pairs,
13
- a as level1Pairs,
14
- v as level2Pairs,
15
- n as level3Pairs,
16
- c as level4Pairs,
17
- T as level5Pairs,
18
- p as levels,
19
- f as pronunciationTips
20
- };
1
+ import { levels as e } from "./levels.js";
2
+ import { pronunciationTips as t } from "./pronunciationTips.js";
3
+ import { level0Pairs as n } from "./data/level-0.js";
4
+ import { level1Pairs as r } from "./data/level-1.js";
5
+ import { level2Pairs as i } from "./data/level-2.js";
6
+ import { level3Pairs as a } from "./data/level-3.js";
7
+ import { level4Pairs as o } from "./data/level-4.js";
8
+ import { level5Pairs as s } from "./data/level-5.js";
9
+ import c from "./data.js";
10
+ export { c as default, n as level0Pairs, r as level1Pairs, i as level2Pairs, a as level3Pairs, o as level4Pairs, s as level5Pairs, e as levels, t as pronunciationTips };
package/dist/levels.js CHANGED
@@ -1,11 +1,35 @@
1
- const e = [
2
- { level: 0, title: "Getting Started", description: "Practice with clearly different sounds" },
3
- { level: 1, title: "Three-Way Consonant Contrast", description: "Plain vs tense vs aspirated" },
4
- { level: 2, title: "Vowels", description: "Korean vowel system" },
5
- { level: 3, title: "Advanced Consonants", description: "Fricatives and affricates" },
6
- { level: 4, title: "Syllable Structure", description: "Final consonant contrasts" },
7
- { level: 5, title: "Expert Level", description: "Subtle distinctions and loanwords" }
1
+ //#region src/levels.ts
2
+ var e = [
3
+ {
4
+ level: 0,
5
+ title: "Getting Started",
6
+ description: "Practice with clearly different sounds"
7
+ },
8
+ {
9
+ level: 1,
10
+ title: "Three-Way Consonant Contrast",
11
+ description: "Plain vs tense vs aspirated"
12
+ },
13
+ {
14
+ level: 2,
15
+ title: "Vowels",
16
+ description: "Korean vowel system"
17
+ },
18
+ {
19
+ level: 3,
20
+ title: "Advanced Consonants",
21
+ description: "Fricatives and affricates"
22
+ },
23
+ {
24
+ level: 4,
25
+ title: "Syllable Structure",
26
+ description: "Final consonant contrasts"
27
+ },
28
+ {
29
+ level: 5,
30
+ title: "Expert Level",
31
+ description: "Subtle distinctions and loanwords"
32
+ }
8
33
  ];
9
- export {
10
- e as levels
11
- };
34
+ //#endregion
35
+ export { e as levels };
@@ -1,9 +1,9 @@
1
- const n = {
2
- consonant_three_way: "Korean has a three-way contrast: plain (ㄱㄷㅂㅈ), tense (ㄲㄸㅃㅉ), and aspirated (ㅋㅌㅍㅊ). Plain is voiced between vowels, tense is tight with no aspiration, aspirated has a strong puff of air.",
3
- vowel_a_eo: "/a/ () is open front-central. /ʌ/ () is open-mid back. Think of 'father' vs 'sun' for approximation.",
4
- consonant_n_l: "/n/ () is nasal through the nose. /l/ () is a flap - tongue briefly taps the ridge behind teeth.",
5
- final_consonants: "Final consonants are unreleased. /-k/, /-t/, /-p/ stop abruptly without the final release burst."
6
- };
7
- export {
8
- n as pronunciationTips
1
+ //#region src/pronunciationTips.ts
2
+ var e = {
3
+ consonant_three_way: "Korean has a three-way contrast: plain (ㄱㄷㅂㅈ), tense (ㄲㄸㅃㅉ), and aspirated (ㅋㅌㅍㅊ). Plain is voiced between vowels, tense is tight with no aspiration, aspirated has a strong puff of air.",
4
+ vowel_a_eo: "/a/ () is open front-central. /ʌ/ () is open-mid back. Think of 'father' vs 'sun' for approximation.",
5
+ consonant_n_l: "/n/ (ㄴ) is nasal through the nose. /l/ (ㄹ) is a flap - tongue briefly taps the ridge behind teeth.",
6
+ final_consonants: "Final consonants are unreleased. /-k/, /-t/, /-p/ stop abruptly without the final release burst."
9
7
  };
8
+ //#endregion
9
+ export { e as pronunciationTips };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polyglot-bundles/ko-minimal-pairs",
3
- "version": "0.2.5",
3
+ "version": "0.2.6",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -50,12 +50,12 @@
50
50
  "dist"
51
51
  ],
52
52
  "dependencies": {
53
- "@polyglot-bundles/content-shared": "0.4.1",
54
- "@polyglot-bundles/ko-lang": "0.2.2"
53
+ "@polyglot-bundles/content-shared": "0.5.1",
54
+ "@polyglot-bundles/ko-lang": "0.2.3"
55
55
  },
56
56
  "devDependencies": {
57
- "vite": "^5.4.0",
58
- "vite-plugin-dts": "^4.0.0",
57
+ "vite": "^8.0.8",
58
+ "vite-plugin-dts": "^4.5.4",
59
59
  "@polyglot-bundles/lang-tooling": "0.0.0"
60
60
  },
61
61
  "publishConfig": {
@@ -68,7 +68,6 @@
68
68
  },
69
69
  "scripts": {
70
70
  "typecheck": "tsc --noEmit",
71
- "build": "vite build",
72
- "clean": "rm -rf dist"
71
+ "build": "vite build"
73
72
  }
74
73
  }