@polyglot-bundles/lo-minimal-pairs 0.1.0 → 0.2.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.
@@ -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,wBAW9B,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,wBA+L9B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
package/dist/data.js CHANGED
@@ -1,16 +1,187 @@
1
- const e = {
1
+ const i = {
2
2
  levels: [
3
3
  { level: 0, title: "Getting Started", description: "Practice with clearly different sounds" },
4
- { level: 1, title: "Basic Contrasts", description: "Common minimal pairs" },
5
- { level: 2, title: "Vowels", description: "Vowel distinctions" },
6
- { level: 3, title: "Consonants", description: "Consonant contrasts" },
7
- { level: 4, title: "Advanced", description: "More challenging distinctions" },
8
- { level: 5, title: "Expert Level", description: "Subtle differences" }
4
+ { level: 1, title: "Six Tones", description: "The Lao tonal system" },
5
+ { level: 2, title: "Vowel Length", description: "Short vs long vowels" },
6
+ { level: 3, title: "Consonant Classes", description: "High, mid, low class consonants" },
7
+ { level: 4, title: "Vowel Quality", description: "Vowel quality contrasts" },
8
+ { level: 5, title: "Expert Level", description: "Subtle distinctions and dialectal variation" }
9
9
  ],
10
- minimalPairs: [],
11
- pronunciationTips: {}
10
+ minimalPairs: [
11
+ // Level 0: Clear contrasts
12
+ {
13
+ pairId: "lo_l0_001",
14
+ level: 0,
15
+ tags: ["level_0"],
16
+ contrastFeature: "consonant",
17
+ contrastDescription: "/k/ vs /t/",
18
+ word1: { script: "ໄກ່", romanization: "kai", definition: "chicken", audioFile: null },
19
+ word2: { script: "ໄຕ່", romanization: "tai", definition: "to climb", audioFile: null }
20
+ },
21
+ {
22
+ pairId: "lo_l0_002",
23
+ level: 0,
24
+ tags: ["level_0"],
25
+ contrastFeature: "consonant",
26
+ contrastDescription: "/m/ vs /n/",
27
+ word1: { script: "ມາ", romanization: "maa", definition: "to come", audioFile: null },
28
+ word2: { script: "ນາ", romanization: "naa", definition: "rice field", audioFile: null }
29
+ },
30
+ // Level 1: Six tones of Lao
31
+ {
32
+ pairId: "lo_l1_001",
33
+ level: 1,
34
+ tags: ["level_1", "tone"],
35
+ contrastFeature: "tone",
36
+ contrastDescription: "Mid level vs low level",
37
+ pronunciationTipId: "tone_mid_low",
38
+ word1: { script: "ກາ", romanization: "kaa", definition: "crow", audioFile: null },
39
+ word2: { script: "ຂ່າ", romanization: "khàa", definition: "galangal", audioFile: null }
40
+ },
41
+ {
42
+ pairId: "lo_l1_002",
43
+ level: 1,
44
+ tags: ["level_1", "tone"],
45
+ contrastFeature: "tone",
46
+ contrastDescription: "Rising vs high level",
47
+ word1: { script: "ຂ້າ", romanization: "khâa", definition: "to kill", audioFile: null },
48
+ word2: { script: "ຂາ", romanization: "khǎa", definition: "leg", audioFile: null }
49
+ },
50
+ {
51
+ pairId: "lo_l1_003",
52
+ level: 1,
53
+ tags: ["level_1", "tone"],
54
+ contrastFeature: "tone",
55
+ contrastDescription: "High falling vs low falling",
56
+ word1: { script: "ຂ້າ", romanization: "khâa", definition: "to kill", audioFile: null },
57
+ word2: { script: "ຄ່າ", romanization: "khàa", definition: "value; price", audioFile: null }
58
+ },
59
+ {
60
+ pairId: "lo_l1_004",
61
+ level: 1,
62
+ tags: ["level_1", "tone"],
63
+ contrastFeature: "tone",
64
+ contrastDescription: "Tone contrast on /maa/",
65
+ word1: { script: "ມາ", romanization: "maa", definition: "to come", audioFile: null },
66
+ word2: { script: "ໝາ", romanization: "mǎa", definition: "dog", audioFile: null }
67
+ },
68
+ // Level 2: Vowel length
69
+ {
70
+ pairId: "lo_l2_001",
71
+ level: 2,
72
+ tags: ["level_2", "vowel"],
73
+ contrastFeature: "vowel",
74
+ contrastDescription: "Short /a/ vs long /aː/",
75
+ pronunciationTipId: "vowel_length",
76
+ word1: { script: "ຂແງ", romanization: "khɛ̆ng", definition: "strong", audioFile: null },
77
+ word2: { script: "ແຂງ", romanization: "khɛ̄ng", definition: "trousers", audioFile: null }
78
+ },
79
+ {
80
+ pairId: "lo_l2_002",
81
+ level: 2,
82
+ tags: ["level_2", "vowel"],
83
+ contrastFeature: "vowel",
84
+ contrastDescription: "Short /ɯ/ vs long /ɯː/",
85
+ word1: { script: "ກຶ", romanization: "kɯ", definition: "(to search)", audioFile: null },
86
+ word2: { script: "ກື", romanization: "kɯː", definition: "(to forget)", audioFile: null }
87
+ },
88
+ {
89
+ pairId: "lo_l2_003",
90
+ level: 2,
91
+ tags: ["level_2", "vowel"],
92
+ contrastFeature: "vowel",
93
+ contrastDescription: "Short /ɤ/ vs long /ɤː/",
94
+ word1: { script: "ເກິ", romanization: "kɤ", definition: "(dialectal)", audioFile: null },
95
+ word2: { script: "ເກີ", romanization: "kɤː", definition: "to be born", audioFile: null }
96
+ },
97
+ // Level 3: Consonant classes
98
+ {
99
+ pairId: "lo_l3_001",
100
+ level: 3,
101
+ tags: ["level_3", "consonant"],
102
+ contrastFeature: "consonant",
103
+ contrastDescription: "High class vs low class consonant",
104
+ pronunciationTipId: "consonant_class",
105
+ word1: { script: "ກາ", romanization: "kaa", definition: "crow", audioFile: null },
106
+ word2: { script: "ຂາ", romanization: "khǎa", definition: "leg", audioFile: null }
107
+ },
108
+ {
109
+ pairId: "lo_l3_002",
110
+ level: 3,
111
+ tags: ["level_3", "consonant"],
112
+ contrastFeature: "consonant",
113
+ contrastDescription: "Unaspirated vs aspirated",
114
+ word1: { script: "ປາ", romanization: "paa", definition: "fish", audioFile: null },
115
+ word2: { script: "ຜາ", romanization: "phǎa", definition: "cliff", audioFile: null }
116
+ },
117
+ {
118
+ pairId: "lo_l3_003",
119
+ level: 3,
120
+ tags: ["level_3", "consonant"],
121
+ contrastFeature: "consonant",
122
+ contrastDescription: "Implosive /ɓ/ vs plain /b/",
123
+ word1: { script: "ບາ", romanization: "baa", definition: "(to be crazy)", audioFile: null },
124
+ word2: { script: "ຜາ", romanization: "phaa", definition: "cliff", audioFile: null }
125
+ },
126
+ // Level 4: Vowel quality
127
+ {
128
+ pairId: "lo_l4_001",
129
+ level: 4,
130
+ tags: ["level_4", "vowel"],
131
+ contrastFeature: "vowel",
132
+ contrastDescription: "/i/ vs /ɯ/",
133
+ pronunciationTipId: "vowel_i_u",
134
+ word1: { script: "ປີ", romanization: "pii", definition: "year", audioFile: null },
135
+ word2: { script: "ປື", romanization: "pɯː", definition: "(to shoot)", audioFile: null }
136
+ },
137
+ {
138
+ pairId: "lo_l4_002",
139
+ level: 4,
140
+ tags: ["level_4", "vowel"],
141
+ contrastFeature: "vowel",
142
+ contrastDescription: "/u/ vs /o/",
143
+ word1: { script: "ຕູ", romanization: "tuu", definition: "(cupboard)", audioFile: null },
144
+ word2: { script: "ໂຕ", romanization: "too", definition: "body; classifier", audioFile: null }
145
+ },
146
+ {
147
+ pairId: "lo_l4_003",
148
+ level: 4,
149
+ tags: ["level_4", "vowel"],
150
+ contrastFeature: "vowel",
151
+ contrastDescription: "/ɛ/ vs /a/",
152
+ word1: { script: "ແຕ", romanization: "tɛɛ", definition: "but", audioFile: null },
153
+ word2: { script: "ຕາ", romanization: "taa", definition: "eye", audioFile: null }
154
+ },
155
+ // Level 5: Expert - subtle distinctions
156
+ {
157
+ pairId: "lo_l5_001",
158
+ level: 5,
159
+ tags: ["level_5", "tone"],
160
+ contrastFeature: "tone",
161
+ contrastDescription: "Checked syllable tones",
162
+ word1: { script: "ກັດ", romanization: "kat", definition: "to bite", audioFile: null },
163
+ word2: { script: "ກາດ", romanization: "kaat", definition: "to cut", audioFile: null },
164
+ notes: "Checked syllables (ending in -p, -t, -k) have only 4 tones instead of 6."
165
+ },
166
+ {
167
+ pairId: "lo_l5_002",
168
+ level: 5,
169
+ tags: ["level_5", "consonant"],
170
+ contrastFeature: "consonant",
171
+ contrastDescription: "/l/ vs /n/ (dialectal variation)",
172
+ word1: { script: "ລາ", romanization: "laa", definition: "to take leave", audioFile: null },
173
+ word2: { script: "ນາ", romanization: "naa", definition: "rice field", audioFile: null },
174
+ notes: "Some dialects merge /l/ and /n/. Standard Lao maintains the distinction."
175
+ }
176
+ ],
177
+ pronunciationTips: {
178
+ tone_mid_low: "Lao has 6 tones in unchecked syllables. Mid level is steady, low level starts low and falls slightly.",
179
+ vowel_length: "Short vowels are brief, long vowels are held twice as long. Length is phonemic in Lao.",
180
+ consonant_class: "Lao consonants are divided into high, mid, and low classes. This affects tone realization.",
181
+ vowel_i_u: "/i/ is front close (like 'see'). /ɯ/ is back close unrounded (unique to Asian languages)."
182
+ }
12
183
  };
13
184
  export {
14
- e as default,
15
- e as minimalPairsData
185
+ i as default,
186
+ i as minimalPairsData
16
187
  };
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 default minimalPairsData;
3
+ export type { MinimalPairsLanguageData, MinimalPairsLevelInfo, MinimalPairsMinimalPair, MinimalPairsPronunciationTipsMap, MinimalPairsRubySegment, MinimalPairsWordInfo, } from '../../content-shared';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE1C,eAAe,gBAAgB,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;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
@@ -1,6 +1,5 @@
1
- import { default as m } from "./data.js";
2
- const a = minimalPairsData;
1
+ import { default as e, default as f } from "./data.js";
3
2
  export {
4
- a as default,
5
- m as minimalPairsData
3
+ e as default,
4
+ f as minimalPairsData
6
5
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polyglot-bundles/lo-minimal-pairs",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -18,7 +18,7 @@
18
18
  "dist"
19
19
  ],
20
20
  "dependencies": {
21
- "@polyglot-bundles/content-shared": "^0.2.0",
21
+ "@polyglot-bundles/content-shared": "^0.3.0",
22
22
  "@polyglot-bundles/lo-lang": "0.2.0"
23
23
  },
24
24
  "devDependencies": {