@polyglot-bundles/ka-lang 0.3.6 → 0.4.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,4 +1,8 @@
1
1
  import { GeorgianConsonantsInfo, GeorgianVowelsInfo } from './types';
2
2
  export declare const georgianVowels: GeorgianVowelsInfo[];
3
3
  export declare const georgianConsonants: GeorgianConsonantsInfo[];
4
+ export declare function getTraditionalOrderIndex(char: string): number;
5
+ export declare function sortByTraditionalOrder<T extends {
6
+ char: string;
7
+ }>(characters: T[]): T[];
4
8
  //# sourceMappingURL=characters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"characters.d.ts","sourceRoot":"","sources":["../src/characters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,cAAc,EAAE,kBAAkB,EAyC9C,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,sBAAsB,EAyRtD,CAAC"}
1
+ {"version":3,"file":"characters.d.ts","sourceRoot":"","sources":["../src/characters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AASjB,eAAO,MAAM,cAAc,EAAE,kBAAkB,EAmD9C,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,sBAAsB,EA4VtD,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED,wBAAgB,sBAAsB,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAC/D,UAAU,EAAE,CAAC,EAAE,GACd,CAAC,EAAE,CAIL"}
@@ -1,53 +1,89 @@
1
1
  //#region src/characters.ts
2
- var e = [
2
+ var e = /* @__PURE__ */ "ა.ბ.გ.დ.ე.ვ.ზ.თ.ი.კ.ლ.მ.ნ.ო.პ.ჟ.რ.ს.ტ.უ.ფ.ქ.ღ.ყ.შ.ჩ.ც.ძ.წ.ჭ.ხ.ჯ.ჰ".split("."), t = [
3
3
  {
4
4
  char: "ა",
5
5
  id: "ani",
6
6
  charType: "vowel",
7
- georgianName: "ა ანი",
8
- transliteration: "a",
9
- ipa: "ɑ"
7
+ name: "Ani",
8
+ georgianName: "ანი",
9
+ transliteration: {
10
+ national: "a",
11
+ iso9984: "a",
12
+ ipa: "a"
13
+ },
14
+ asomtavruli: "Ⴀ",
15
+ nuskhuri: "ⴀ"
10
16
  },
11
17
  {
12
18
  char: "ე",
13
19
  id: "eni",
14
20
  charType: "vowel",
15
- georgianName: "ე ენი",
16
- transliteration: "e",
17
- ipa: "ɛ"
21
+ name: "Eni",
22
+ georgianName: "ენი",
23
+ transliteration: {
24
+ national: "e",
25
+ iso9984: "e",
26
+ ipa: "ɛ"
27
+ },
28
+ asomtavruli: "Ⴄ",
29
+ nuskhuri: "ⴄ"
18
30
  },
19
31
  {
20
32
  char: "ი",
21
33
  id: "ini",
22
34
  charType: "vowel",
23
- georgianName: "ი ინი",
24
- transliteration: "i",
25
- ipa: "i"
35
+ name: "Ini",
36
+ georgianName: "ინი",
37
+ transliteration: {
38
+ national: "i",
39
+ iso9984: "i",
40
+ ipa: "i"
41
+ },
42
+ asomtavruli: "Ⴈ",
43
+ nuskhuri: "ⴈ"
26
44
  },
27
45
  {
28
46
  char: "ო",
29
47
  id: "oni",
30
48
  charType: "vowel",
31
- georgianName: "ო ონი",
32
- transliteration: "o",
33
- ipa: "ɔ"
49
+ name: "Oni",
50
+ georgianName: "ონი",
51
+ transliteration: {
52
+ national: "o",
53
+ iso9984: "o",
54
+ ipa: "ɔ"
55
+ },
56
+ asomtavruli: "Ⴍ",
57
+ nuskhuri: "ⴍ"
34
58
  },
35
59
  {
36
60
  char: "უ",
37
61
  id: "uni",
38
62
  charType: "vowel",
39
- georgianName: "უ უნი",
40
- transliteration: "u",
41
- ipa: "u"
63
+ name: "Uni",
64
+ georgianName: "უნი",
65
+ transliteration: {
66
+ national: "u",
67
+ iso9984: "u",
68
+ ipa: "u"
69
+ },
70
+ asomtavruli: "Ⴓ",
71
+ nuskhuri: "ⴓ"
42
72
  }
43
- ], t = [
73
+ ], n = [
44
74
  {
45
75
  char: "ბ",
46
76
  id: "bani",
47
77
  charType: "consonant",
48
- georgianName: "ბ ბანი",
49
- transliteration: "b",
50
- ipa: "b",
78
+ name: "Bani",
79
+ georgianName: "ბანი",
80
+ transliteration: {
81
+ national: "b",
82
+ iso9984: "b",
83
+ ipa: "b"
84
+ },
85
+ asomtavruli: "Ⴁ",
86
+ nuskhuri: "ⴁ",
51
87
  phoneticCategory: "stop",
52
88
  voicing: "voiced"
53
89
  },
@@ -55,9 +91,15 @@ var e = [
55
91
  char: "გ",
56
92
  id: "gani",
57
93
  charType: "consonant",
58
- georgianName: "გ განი",
59
- transliteration: "g",
60
- ipa: "ɡ",
94
+ name: "Gani",
95
+ georgianName: "განი",
96
+ transliteration: {
97
+ national: "g",
98
+ iso9984: "g",
99
+ ipa: "ɡ"
100
+ },
101
+ asomtavruli: "Ⴂ",
102
+ nuskhuri: "ⴂ",
61
103
  phoneticCategory: "stop",
62
104
  voicing: "voiced"
63
105
  },
@@ -65,9 +107,15 @@ var e = [
65
107
  char: "დ",
66
108
  id: "doni",
67
109
  charType: "consonant",
68
- georgianName: "დ დონი",
69
- transliteration: "d",
70
- ipa: "d",
110
+ name: "Doni",
111
+ georgianName: "დონი",
112
+ transliteration: {
113
+ national: "d",
114
+ iso9984: "d",
115
+ ipa: "d"
116
+ },
117
+ asomtavruli: "Ⴃ",
118
+ nuskhuri: "ⴃ",
71
119
  phoneticCategory: "stop",
72
120
  voicing: "voiced"
73
121
  },
@@ -75,9 +123,15 @@ var e = [
75
123
  char: "ვ",
76
124
  id: "vini",
77
125
  charType: "consonant",
78
- georgianName: "ვ ვინი",
79
- transliteration: "v",
80
- ipa: "v",
126
+ name: "Vini",
127
+ georgianName: "ვინი",
128
+ transliteration: {
129
+ national: "v",
130
+ iso9984: "v",
131
+ ipa: "v"
132
+ },
133
+ asomtavruli: "Ⴅ",
134
+ nuskhuri: "ⴅ",
81
135
  phoneticCategory: "fricative",
82
136
  voicing: "voiced"
83
137
  },
@@ -85,9 +139,15 @@ var e = [
85
139
  char: "ზ",
86
140
  id: "zeni",
87
141
  charType: "consonant",
88
- georgianName: "ზ ზენი",
89
- transliteration: "z",
90
- ipa: "z",
142
+ name: "Zeni",
143
+ georgianName: "ზენი",
144
+ transliteration: {
145
+ national: "z",
146
+ iso9984: "z",
147
+ ipa: "z"
148
+ },
149
+ asomtavruli: "Ⴆ",
150
+ nuskhuri: "ⴆ",
91
151
  phoneticCategory: "fricative",
92
152
  voicing: "voiced"
93
153
  },
@@ -95,29 +155,49 @@ var e = [
95
155
  char: "თ",
96
156
  id: "tani",
97
157
  charType: "consonant",
98
- georgianName: "თ თანი",
99
- transliteration: "t",
100
- ipa: "tʰ",
158
+ name: "Tani",
159
+ georgianName: "თანი",
160
+ transliteration: {
161
+ national: "t",
162
+ iso9984: "t",
163
+ ipa: "tʰ"
164
+ },
165
+ asomtavruli: "Ⴇ",
166
+ nuskhuri: "ⴇ",
101
167
  phoneticCategory: "stop",
102
- voicing: "voiceless"
168
+ voicing: "voiceless",
169
+ notes: "Aspirated"
103
170
  },
104
171
  {
105
172
  char: "კ",
106
173
  id: "kani",
107
174
  charType: "consonant",
108
- georgianName: "კ კანი",
109
- transliteration: "k'",
110
- ipa: "kʼ",
175
+ name: "K'ani",
176
+ georgianName: "კანი",
177
+ transliteration: {
178
+ national: "k",
179
+ iso9984: "k'",
180
+ ipa: "kʼ"
181
+ },
182
+ asomtavruli: "Ⴉ",
183
+ nuskhuri: "ⴉ",
111
184
  phoneticCategory: "stop",
112
- voicing: "ejective"
185
+ voicing: "ejective",
186
+ notes: "Ejective stop"
113
187
  },
114
188
  {
115
189
  char: "ლ",
116
190
  id: "lasi",
117
191
  charType: "consonant",
118
- georgianName: "ლ ლასი",
119
- transliteration: "l",
120
- ipa: "l",
192
+ name: "Lasi",
193
+ georgianName: "ლასი",
194
+ transliteration: {
195
+ national: "l",
196
+ iso9984: "l",
197
+ ipa: "l"
198
+ },
199
+ asomtavruli: "Ⴊ",
200
+ nuskhuri: "ⴊ",
121
201
  phoneticCategory: "liquid",
122
202
  voicing: "voiced"
123
203
  },
@@ -125,9 +205,15 @@ var e = [
125
205
  char: "მ",
126
206
  id: "mani",
127
207
  charType: "consonant",
128
- georgianName: "მ მანი",
129
- transliteration: "m",
130
- ipa: "m",
208
+ name: "Mani",
209
+ georgianName: "მანი",
210
+ transliteration: {
211
+ national: "m",
212
+ iso9984: "m",
213
+ ipa: "m"
214
+ },
215
+ asomtavruli: "Ⴋ",
216
+ nuskhuri: "ⴋ",
131
217
  phoneticCategory: "nasal",
132
218
  voicing: "voiced"
133
219
  },
@@ -135,9 +221,15 @@ var e = [
135
221
  char: "ნ",
136
222
  id: "nari",
137
223
  charType: "consonant",
138
- georgianName: "ნ ნარი",
139
- transliteration: "n",
140
- ipa: "n",
224
+ name: "Nari",
225
+ georgianName: "ნარი",
226
+ transliteration: {
227
+ national: "n",
228
+ iso9984: "n",
229
+ ipa: "n"
230
+ },
231
+ asomtavruli: "Ⴌ",
232
+ nuskhuri: "ⴌ",
141
233
  phoneticCategory: "nasal",
142
234
  voicing: "voiced"
143
235
  },
@@ -145,19 +237,32 @@ var e = [
145
237
  char: "პ",
146
238
  id: "pari",
147
239
  charType: "consonant",
148
- georgianName: "პ პარი",
149
- transliteration: "p'",
150
- ipa: "pʼ",
240
+ name: "P'ari",
241
+ georgianName: "პარი",
242
+ transliteration: {
243
+ national: "p",
244
+ iso9984: "p'",
245
+ ipa: "pʼ"
246
+ },
247
+ asomtavruli: "Ⴎ",
248
+ nuskhuri: "ⴎ",
151
249
  phoneticCategory: "stop",
152
- voicing: "ejective"
250
+ voicing: "ejective",
251
+ notes: "Ejective stop"
153
252
  },
154
253
  {
155
254
  char: "ჟ",
156
255
  id: "zhani",
157
256
  charType: "consonant",
158
- georgianName: "ჟ ჟანი",
159
- transliteration: "zh",
160
- ipa: "ʒ",
257
+ name: "Zhani",
258
+ georgianName: "ჟანი",
259
+ transliteration: {
260
+ national: "zh",
261
+ iso9984: "ž",
262
+ ipa: "ʒ"
263
+ },
264
+ asomtavruli: "Ⴏ",
265
+ nuskhuri: "ⴏ",
161
266
  phoneticCategory: "fricative",
162
267
  voicing: "voiced"
163
268
  },
@@ -165,9 +270,15 @@ var e = [
165
270
  char: "რ",
166
271
  id: "rae",
167
272
  charType: "consonant",
168
- georgianName: "რ რაე",
169
- transliteration: "r",
170
- ipa: "r",
273
+ name: "Rae",
274
+ georgianName: "რაე",
275
+ transliteration: {
276
+ national: "r",
277
+ iso9984: "r",
278
+ ipa: "r"
279
+ },
280
+ asomtavruli: "Ⴐ",
281
+ nuskhuri: "ⴐ",
171
282
  phoneticCategory: "liquid",
172
283
  voicing: "voiced"
173
284
  },
@@ -175,9 +286,15 @@ var e = [
175
286
  char: "ს",
176
287
  id: "sani",
177
288
  charType: "consonant",
178
- georgianName: "ს სანი",
179
- transliteration: "s",
180
- ipa: "s",
289
+ name: "Sani",
290
+ georgianName: "სანი",
291
+ transliteration: {
292
+ national: "s",
293
+ iso9984: "s",
294
+ ipa: "s"
295
+ },
296
+ asomtavruli: "Ⴑ",
297
+ nuskhuri: "ⴑ",
181
298
  phoneticCategory: "fricative",
182
299
  voicing: "voiceless"
183
300
  },
@@ -185,39 +302,66 @@ var e = [
185
302
  char: "ტ",
186
303
  id: "tari",
187
304
  charType: "consonant",
188
- georgianName: "ტ ტარი",
189
- transliteration: "t'",
190
- ipa: "tʼ",
305
+ name: "T'ari",
306
+ georgianName: "ტარი",
307
+ transliteration: {
308
+ national: "t",
309
+ iso9984: "t'",
310
+ ipa: "tʼ"
311
+ },
312
+ asomtavruli: "Ⴒ",
313
+ nuskhuri: "ⴒ",
191
314
  phoneticCategory: "stop",
192
- voicing: "ejective"
315
+ voicing: "ejective",
316
+ notes: "Ejective stop"
193
317
  },
194
318
  {
195
319
  char: "ფ",
196
320
  id: "phari",
197
321
  charType: "consonant",
198
- georgianName: "ფ ფარი",
199
- transliteration: "p",
200
- ipa: "pʰ",
322
+ name: "Pari",
323
+ georgianName: "ფარი",
324
+ transliteration: {
325
+ national: "p",
326
+ iso9984: "p",
327
+ ipa: "pʰ"
328
+ },
329
+ asomtavruli: "Ⴔ",
330
+ nuskhuri: "ⴔ",
201
331
  phoneticCategory: "stop",
202
- voicing: "voiceless"
332
+ voicing: "voiceless",
333
+ notes: "Aspirated"
203
334
  },
204
335
  {
205
336
  char: "ქ",
206
337
  id: "qani",
207
338
  charType: "consonant",
208
- georgianName: "ქ ქანი",
209
- transliteration: "k",
210
- ipa: "kʰ",
339
+ name: "Kani",
340
+ georgianName: "ქანი",
341
+ transliteration: {
342
+ national: "k",
343
+ iso9984: "k",
344
+ ipa: "kʰ"
345
+ },
346
+ asomtavruli: "Ⴕ",
347
+ nuskhuri: "ⴕ",
211
348
  phoneticCategory: "stop",
212
- voicing: "voiceless"
349
+ voicing: "voiceless",
350
+ notes: "Aspirated"
213
351
  },
214
352
  {
215
353
  char: "ღ",
216
354
  id: "ghani",
217
355
  charType: "consonant",
218
- georgianName: "ღ ღანი",
219
- transliteration: "gh",
220
- ipa: "ɣ",
356
+ name: "Ghani",
357
+ georgianName: "ღანი",
358
+ transliteration: {
359
+ national: "gh",
360
+ iso9984: "ḡ",
361
+ ipa: "ɣ"
362
+ },
363
+ asomtavruli: "Ⴖ",
364
+ nuskhuri: "ⴖ",
221
365
  phoneticCategory: "fricative",
222
366
  voicing: "voiced"
223
367
  },
@@ -225,19 +369,32 @@ var e = [
225
369
  char: "ყ",
226
370
  id: "qari",
227
371
  charType: "consonant",
228
- georgianName: "ყ ყარი",
229
- transliteration: "q'",
230
- ipa: "qʼ",
372
+ name: "Q'ari",
373
+ georgianName: "ყარი",
374
+ transliteration: {
375
+ national: "q",
376
+ iso9984: "q'",
377
+ ipa: "qʼ"
378
+ },
379
+ asomtavruli: "Ⴗ",
380
+ nuskhuri: "ⴗ",
231
381
  phoneticCategory: "stop",
232
- voicing: "ejective"
382
+ voicing: "ejective",
383
+ notes: "Ejective uvular stop"
233
384
  },
234
385
  {
235
386
  char: "შ",
236
387
  id: "shini",
237
388
  charType: "consonant",
238
- georgianName: "შ შინი",
239
- transliteration: "sh",
240
- ipa: "ʃ",
389
+ name: "Shini",
390
+ georgianName: "შინი",
391
+ transliteration: {
392
+ national: "sh",
393
+ iso9984: "š",
394
+ ipa: "ʃ"
395
+ },
396
+ asomtavruli: "Ⴘ",
397
+ nuskhuri: "ⴘ",
241
398
  phoneticCategory: "fricative",
242
399
  voicing: "voiceless"
243
400
  },
@@ -245,29 +402,49 @@ var e = [
245
402
  char: "ჩ",
246
403
  id: "chini",
247
404
  charType: "consonant",
248
- georgianName: "ჩ ჩინი",
249
- transliteration: "ch",
250
- ipa: "t͡ʃʰ",
405
+ name: "Chini",
406
+ georgianName: "ჩინი",
407
+ transliteration: {
408
+ national: "ch",
409
+ iso9984: "č",
410
+ ipa: "tʃʰ"
411
+ },
412
+ asomtavruli: "Ⴙ",
413
+ nuskhuri: "ⴙ",
251
414
  phoneticCategory: "affricate",
252
- voicing: "voiceless"
415
+ voicing: "voiceless",
416
+ notes: "Aspirated"
253
417
  },
254
418
  {
255
419
  char: "ც",
256
420
  id: "tsani",
257
421
  charType: "consonant",
258
- georgianName: "ც ცანი",
259
- transliteration: "ts",
260
- ipa: "t͡sʰ",
422
+ name: "Tsani",
423
+ georgianName: "ცანი",
424
+ transliteration: {
425
+ national: "ts",
426
+ iso9984: "c",
427
+ ipa: "tsʰ"
428
+ },
429
+ asomtavruli: "Ⴚ",
430
+ nuskhuri: "ⴚ",
261
431
  phoneticCategory: "affricate",
262
- voicing: "voiceless"
432
+ voicing: "voiceless",
433
+ notes: "Aspirated"
263
434
  },
264
435
  {
265
436
  char: "ძ",
266
437
  id: "dzili",
267
438
  charType: "consonant",
268
- georgianName: "ძ ძილი",
269
- transliteration: "dz",
270
- ipa: "d͡z",
439
+ name: "Dzili",
440
+ georgianName: "ძილი",
441
+ transliteration: {
442
+ national: "dz",
443
+ iso9984: "j",
444
+ ipa: "dz"
445
+ },
446
+ asomtavruli: "Ⴛ",
447
+ nuskhuri: "ⴛ",
271
448
  phoneticCategory: "affricate",
272
449
  voicing: "voiced"
273
450
  },
@@ -275,29 +452,49 @@ var e = [
275
452
  char: "წ",
276
453
  id: "tsili",
277
454
  charType: "consonant",
278
- georgianName: "წ წილი",
279
- transliteration: "ts'",
280
- ipa: "t͡sʼ",
455
+ name: "Ts'ili",
456
+ georgianName: "წილი",
457
+ transliteration: {
458
+ national: "ts'",
459
+ iso9984: "c'",
460
+ ipa: "tsʼ"
461
+ },
462
+ asomtavruli: "Ⴜ",
463
+ nuskhuri: "ⴜ",
281
464
  phoneticCategory: "affricate",
282
- voicing: "ejective"
465
+ voicing: "ejective",
466
+ notes: "Ejective affricate"
283
467
  },
284
468
  {
285
469
  char: "ჭ",
286
470
  id: "chari",
287
471
  charType: "consonant",
288
- georgianName: "ჭ ჭარი",
289
- transliteration: "ch'",
290
- ipa: "t͡ʃʼ",
472
+ name: "Ch'ari",
473
+ georgianName: "ჭარი",
474
+ transliteration: {
475
+ national: "ch'",
476
+ iso9984: "č'",
477
+ ipa: "tʃʼ"
478
+ },
479
+ asomtavruli: "Ⴝ",
480
+ nuskhuri: "ⴝ",
291
481
  phoneticCategory: "affricate",
292
- voicing: "ejective"
482
+ voicing: "ejective",
483
+ notes: "Ejective affricate"
293
484
  },
294
485
  {
295
486
  char: "ხ",
296
487
  id: "khani",
297
488
  charType: "consonant",
298
- georgianName: "ხ ხანი",
299
- transliteration: "kh",
300
- ipa: "x",
489
+ name: "Khani",
490
+ georgianName: "ხანი",
491
+ transliteration: {
492
+ national: "kh",
493
+ iso9984: "x",
494
+ ipa: "x"
495
+ },
496
+ asomtavruli: "Ⴞ",
497
+ nuskhuri: "ⴞ",
301
498
  phoneticCategory: "fricative",
302
499
  voicing: "voiceless"
303
500
  },
@@ -305,9 +502,15 @@ var e = [
305
502
  char: "ჯ",
306
503
  id: "jani",
307
504
  charType: "consonant",
308
- georgianName: "ჯ ჯანი",
309
- transliteration: "j",
310
- ipa: "d͡ʒ",
505
+ name: "Jani",
506
+ georgianName: "ჯანი",
507
+ transliteration: {
508
+ national: "j",
509
+ iso9984: "ǰ",
510
+ ipa: "dʒ"
511
+ },
512
+ asomtavruli: "Ⴟ",
513
+ nuskhuri: "ⴟ",
311
514
  phoneticCategory: "affricate",
312
515
  voicing: "voiced"
313
516
  },
@@ -315,12 +518,25 @@ var e = [
315
518
  char: "ჰ",
316
519
  id: "hae",
317
520
  charType: "consonant",
318
- georgianName: "ჰ ჰაე",
319
- transliteration: "h",
320
- ipa: "h",
521
+ name: "Hae",
522
+ georgianName: "ჰაე",
523
+ transliteration: {
524
+ national: "h",
525
+ iso9984: "h",
526
+ ipa: "h"
527
+ },
528
+ asomtavruli: "Ⴠ",
529
+ nuskhuri: "ⴠ",
321
530
  phoneticCategory: "fricative",
322
531
  voicing: "voiceless"
323
532
  }
324
533
  ];
534
+ function r(t) {
535
+ let n = e.indexOf(t);
536
+ return n === -1 ? 999 : n;
537
+ }
538
+ function i(e) {
539
+ return [...e].sort((e, t) => r(e.char) - r(t.char));
540
+ }
325
541
  //#endregion
326
- export { t as georgianConsonants, e as georgianVowels };
542
+ export { n as georgianConsonants, t as georgianVowels, r as getTraditionalOrderIndex, i as sortByTraditionalOrder };
package/dist/ids.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * Canonical Georgian Character IDs
3
3
  *
4
4
  * This file exports the canonical IDs used across Georgian language learning content.
5
- * These IDs are the source of truth for @syllst/ka and other packages.
5
+ * These IDs are the source of truth for @polyglot-bundles/ka-syllabi and other packages.
6
6
  * IDs use traditional Georgian letter names (Mkhedruli alphabet).
7
7
  */
8
8
  /**
package/dist/index.d.ts CHANGED
@@ -1,10 +1,13 @@
1
1
  /**
2
2
  * @polyglot-bundles/ka-lang - Georgian Language Foundation Data
3
3
  *
4
- * This package provides the foundational data for Georgian language learning:
5
- * - Character data (vowels and consonants in Mkhedruli script)
6
- * - Canonical IDs for cross-package consistency
7
- * - Type definitions for Georgian characters
4
+ * Foundational data for Georgian (Mkhedruli script):
5
+ * - Character data: 5 vowels + 28 consonants with full transliteration
6
+ * (national / ISO 9984 / IPA) and historical script equivalents
7
+ * (Asomtavruli, Nuskhuri)
8
+ * - Canonical IDs for cross-package consistency (ka-syllabi, ka-content)
9
+ * - Type definitions and guards
10
+ * - Traditional "song sequence" sort helpers
8
11
  *
9
12
  * @example
10
13
  * ```ts
@@ -13,9 +16,9 @@
13
16
  * import type { GeorgianConsonantsInfo } from "@polyglot-bundles/ka-lang/types";
14
17
  * ```
15
18
  */
16
- export { georgianConsonants, georgianVowels, } from './characters';
19
+ export { georgianConsonants, georgianVowels, getTraditionalOrderIndex, sortByTraditionalOrder, } from './characters';
17
20
  export { GEORGIAN_VOWEL_IDS, GEORGIAN_CONSONANT_IDS, GEORGIAN_CHAR_IDS, } from './ids';
18
- export type { GeorgianConsonantsInfo, GeorgianVowelsInfo, GeorgianCharacter, } from './types';
21
+ export type { GeorgianConsonantsInfo, GeorgianVowelsInfo, GeorgianCharacter, GeorgianTransliteration, CharacterMnemonic, } from './types';
19
22
  export { isVowel, isConsonant, getDisplayCharacter, } from './types';
20
23
  export type { GeorgianVowelId, GeorgianConsonantId, GeorgianCharacterId, } from './ids';
21
24
  export { georgianSoundsConfig, vowels, stops, fricatives, affricates, sonorants, } from './sounds';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EACL,kBAAkB,EAClB,cAAc,GACf,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,OAAO,CAAC;AAGf,YAAY,EACV,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,OAAO,EACP,WAAW,EACX,mBAAmB,GACpB,MAAM,SAAS,CAAC;AAGjB,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,OAAO,CAAC;AAGf,OAAO,EACL,oBAAoB,EACpB,MAAM,EACN,KAAK,EACL,UAAU,EACV,UAAU,EACV,SAAS,GACV,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,OAAO,CAAC;AAEf,YAAY,EACV,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,OAAO,EACP,WAAW,EACX,mBAAmB,GACpB,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,oBAAoB,EACpB,MAAM,EACN,KAAK,EACL,UAAU,EACV,UAAU,EACV,SAAS,GACV,MAAM,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { georgianConsonants as e, georgianVowels as t } from "./characters.js";
2
- import { GEORGIAN_CHAR_IDS as n, GEORGIAN_CONSONANT_IDS as r, GEORGIAN_VOWEL_IDS as i } from "./ids.js";
3
- import { getDisplayCharacter as a, isConsonant as o, isVowel as s } from "./types.js";
4
- import { affricates as c, fricatives as l, georgianSoundsConfig as u, sonorants as d, stops as f, vowels as p } from "./sounds.js";
5
- export { n as GEORGIAN_CHAR_IDS, r as GEORGIAN_CONSONANT_IDS, i as GEORGIAN_VOWEL_IDS, c as affricates, l as fricatives, e as georgianConsonants, u as georgianSoundsConfig, t as georgianVowels, a as getDisplayCharacter, o as isConsonant, s as isVowel, d as sonorants, f as stops, p as vowels };
1
+ import { georgianConsonants as e, georgianVowels as t, getTraditionalOrderIndex as n, sortByTraditionalOrder as r } from "./characters.js";
2
+ import { GEORGIAN_CHAR_IDS as i, GEORGIAN_CONSONANT_IDS as a, GEORGIAN_VOWEL_IDS as o } from "./ids.js";
3
+ import { getDisplayCharacter as s, isConsonant as c, isVowel as l } from "./types.js";
4
+ import { affricates as u, fricatives as d, georgianSoundsConfig as f, sonorants as p, stops as m, vowels as h } from "./sounds.js";
5
+ export { i as GEORGIAN_CHAR_IDS, a as GEORGIAN_CONSONANT_IDS, o as GEORGIAN_VOWEL_IDS, u as affricates, d as fricatives, e as georgianConsonants, f as georgianSoundsConfig, t as georgianVowels, s as getDisplayCharacter, n as getTraditionalOrderIndex, c as isConsonant, l as isVowel, p as sonorants, r as sortByTraditionalOrder, m as stops, h as vowels };
package/dist/sounds.js CHANGED
@@ -5,7 +5,7 @@ function n(e) {
5
5
  char: e.char,
6
6
  id: e.id,
7
7
  charType: "vowel",
8
- ipa: e.ipa
8
+ ipa: e.transliteration.ipa
9
9
  };
10
10
  }
11
11
  function r(e) {
@@ -13,7 +13,7 @@ function r(e) {
13
13
  char: e.char,
14
14
  id: e.id,
15
15
  charType: "consonant",
16
- ipa: e.ipa
16
+ ipa: e.transliteration.ipa
17
17
  };
18
18
  }
19
19
  var i = {
package/dist/types.d.ts CHANGED
@@ -5,33 +5,46 @@
5
5
  * Georgian has a simple phonological system: 5 vowels and 28 consonants
6
6
  * with a distinctive three-way stop contrast (voiced/aspirated/ejective).
7
7
  */
8
+ /**
9
+ * Georgian transliteration systems:
10
+ * - national: Georgian National transliteration system
11
+ * - iso9984: ISO 9984:1996 official international standard
12
+ * - ipa: International Phonetic Alphabet
13
+ */
14
+ export type GeorgianTransliteration = {
15
+ national: string;
16
+ iso9984: string;
17
+ ipa: string;
18
+ };
19
+ export type CharacterMnemonic = {
20
+ writing?: string;
21
+ pronunciation?: string;
22
+ imageKeywords?: string[];
23
+ };
8
24
  type GeorgianCharacterBaseInfo = {
9
25
  char: string;
10
26
  id: string;
27
+ name: string;
28
+ georgianName: string;
29
+ transliteration: GeorgianTransliteration;
30
+ asomtavruli?: string;
31
+ nuskhuri?: string;
11
32
  display?: string;
12
33
  audio?: string;
13
34
  notes?: string;
35
+ mnemonic?: CharacterMnemonic;
14
36
  };
15
37
  export type GeorgianVowelsInfo = {
16
38
  charType: "vowel";
17
- georgianName: string;
18
- transliteration: string;
19
- ipa: string;
20
39
  } & GeorgianCharacterBaseInfo;
21
40
  export type GeorgianConsonantsInfo = {
22
41
  charType: "consonant";
23
- georgianName: string;
24
- transliteration: string;
25
- ipa: string;
26
42
  phoneticCategory: "stop" | "fricative" | "affricate" | "nasal" | "liquid";
27
- voicing: "voiced" | "voiceless" | "ejective";
43
+ voicing?: "voiced" | "voiceless" | "ejective";
28
44
  } & GeorgianCharacterBaseInfo;
29
45
  export type GeorgianCharacter = GeorgianVowelsInfo | GeorgianConsonantsInfo;
30
46
  export declare function isVowel(character: GeorgianCharacter): character is GeorgianVowelsInfo;
31
47
  export declare function isConsonant(character: GeorgianCharacter): character is GeorgianConsonantsInfo;
32
- /**
33
- * Get the display character for a Georgian character
34
- */
35
48
  export declare function getDisplayCharacter(character: GeorgianCharacter): string;
36
49
  export {};
37
50
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,KAAK,yBAAyB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,yBAAyB,CAAC;AAE9B,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,WAAW,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC1E,OAAO,EAAE,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;CAC9C,GAAG,yBAAyB,CAAC;AAG9B,MAAM,MAAM,iBAAiB,GACzB,kBAAkB,GAClB,sBAAsB,CAAC;AAG3B,wBAAgB,OAAO,CAAC,SAAS,EAAE,iBAAiB,GAAG,SAAS,IAAI,kBAAkB,CAErF;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,iBAAiB,GAAG,SAAS,IAAI,sBAAsB,CAE7F;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,GAAG,MAAM,CAExE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF,KAAK,yBAAyB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,uBAAuB,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,OAAO,CAAC;CACnB,GAAG,yBAAyB,CAAC;AAE9B,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,WAAW,CAAC;IACtB,gBAAgB,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC1E,OAAO,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;CAC/C,GAAG,yBAAyB,CAAC;AAE9B,MAAM,MAAM,iBAAiB,GACzB,kBAAkB,GAClB,sBAAsB,CAAC;AAE3B,wBAAgB,OAAO,CAAC,SAAS,EAAE,iBAAiB,GAAG,SAAS,IAAI,kBAAkB,CAErF;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,iBAAiB,GAAG,SAAS,IAAI,sBAAsB,CAE7F;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,GAAG,MAAM,CAExE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polyglot-bundles/ka-lang",
3
- "version": "0.3.6",
3
+ "version": "0.4.0",
4
4
  "description": "Georgian language foundation data - characters and transliterations (Mkhedruli script)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -15,7 +15,7 @@
15
15
  "import": "./dist/characters.js"
16
16
  },
17
17
  "./types": {
18
- "types": "./dist/types/index.d.ts",
18
+ "types": "./dist/types.d.ts",
19
19
  "import": "./dist/types.js"
20
20
  },
21
21
  "./ids": {
@@ -47,7 +47,7 @@
47
47
  "directory": "packages/ka/lang"
48
48
  },
49
49
  "dependencies": {
50
- "@polyglot-bundles/content-shared": "0.5.1"
50
+ "@polyglot-bundles/content-shared": "0.5.2"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@polyglot-bundles/lang-tooling": "0.0.0"