taraskevizer 1.3.4 → 1.4.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.
- package/README.md +2 -0
- package/bin/index.js +6 -0
- package/dist/index.cjs +291 -169
- package/dist/index.d.ts +2 -1
- package/dist/index.js +291 -169
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -44,6 +44,7 @@ Alphabet of output text:
|
|
|
44
44
|
0 = cyrillic
|
|
45
45
|
1 = latin
|
|
46
46
|
2 = arabic
|
|
47
|
+
3 = greek
|
|
47
48
|
```
|
|
48
49
|
|
|
49
50
|
### j
|
|
@@ -178,6 +179,7 @@ $ tarask "планета"
|
|
|
178
179
|
# Alpabet
|
|
179
180
|
--latin (-l)
|
|
180
181
|
--arabic (-a)
|
|
182
|
+
--greek (-gr)
|
|
181
183
|
# When to replace і(i) by й(j) after vowels
|
|
182
184
|
--jrandom (-jr)
|
|
183
185
|
--jalways (-ja)
|
package/bin/index.js
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -28,7 +28,270 @@ __export(src_exports, {
|
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(src_exports);
|
|
30
30
|
|
|
31
|
-
// src/dict.ts
|
|
31
|
+
// src/dict/latin.ts
|
|
32
|
+
var latinLetters = [
|
|
33
|
+
["je", /(?<=[аеёіоуыэюяьʼ| ]\(?)е/],
|
|
34
|
+
["jo", /(?<=[аеёіоуыэюяьʼ| ]\(?)ё/],
|
|
35
|
+
["ju", /(?<=[аеёіоуыэюяьʼ| ]\(?)ю/],
|
|
36
|
+
["ja", /(?<=[аеёіоуыэюяьʼ| ]\(?)я/],
|
|
37
|
+
["", /ʼ/],
|
|
38
|
+
["ć", /ць/],
|
|
39
|
+
["ź", /зь/],
|
|
40
|
+
["ś", /сь/],
|
|
41
|
+
["ń", /нь/],
|
|
42
|
+
["l", /ль/],
|
|
43
|
+
["a", /а/],
|
|
44
|
+
["b", /б/],
|
|
45
|
+
["v", /в/],
|
|
46
|
+
["h", /г/],
|
|
47
|
+
["g", /ґ/],
|
|
48
|
+
["d", /д/],
|
|
49
|
+
["ie", /е/],
|
|
50
|
+
["io", /ё/],
|
|
51
|
+
["ž", /ж/],
|
|
52
|
+
["z", /з/],
|
|
53
|
+
["i", /і/],
|
|
54
|
+
["j", /й/],
|
|
55
|
+
["k", /к/],
|
|
56
|
+
["ł", /л/],
|
|
57
|
+
["m", /м/],
|
|
58
|
+
["n", /н/],
|
|
59
|
+
["o", /о/],
|
|
60
|
+
["p", /п/],
|
|
61
|
+
["r", /р/],
|
|
62
|
+
["s", /с/],
|
|
63
|
+
["t", /т/],
|
|
64
|
+
["u", /у/],
|
|
65
|
+
["ŭ", /ў/],
|
|
66
|
+
["f", /ф/],
|
|
67
|
+
["ch", /х/],
|
|
68
|
+
["c", /ц/],
|
|
69
|
+
["č", /ч/],
|
|
70
|
+
["š", /ш/],
|
|
71
|
+
["y", /ы/],
|
|
72
|
+
["e", /э/],
|
|
73
|
+
["iu", /ю/],
|
|
74
|
+
["ia", /я/],
|
|
75
|
+
["l$1", /[łl]i([eoua])/],
|
|
76
|
+
["li", /łi/]
|
|
77
|
+
];
|
|
78
|
+
var latinLettersUpperCase = [
|
|
79
|
+
[" Je", / Е(?= *\p{Ll})/u],
|
|
80
|
+
[" Jo", / Ё(?= *\p{Ll})/u],
|
|
81
|
+
[" Ju", / Ю(?= *\p{Ll})/u],
|
|
82
|
+
[" Ja", / Я(?= *\p{Ll})/u],
|
|
83
|
+
["JE", /(?<=[АЕЁІОУЫЭЮЯЬʼ| ]\(?)Е/],
|
|
84
|
+
["JO", /(?<=[АЕЁІОУЫЭЮЯЬʼ| ]\(?)Ё/],
|
|
85
|
+
["JU", /(?<=[АЕЁІОУЫЭЮЯЬʼ| ]\(?)Ю/],
|
|
86
|
+
["JA", /(?<=[АЕЁІОУЫЭЮЯЬʼ| ]\(?)Я/],
|
|
87
|
+
["IE", /Е/],
|
|
88
|
+
["IO", /Ё/],
|
|
89
|
+
["IU", /Ю/],
|
|
90
|
+
["IA", /Я/],
|
|
91
|
+
["Ć", /Ц[Ьь]/],
|
|
92
|
+
["Ź", /З[Ьь]/],
|
|
93
|
+
["Ś", /С[Ьь]/],
|
|
94
|
+
["Ń", /Н[Ьь]/],
|
|
95
|
+
["L", /Л[Ьь]/],
|
|
96
|
+
["A", /А/],
|
|
97
|
+
["B", /Б/],
|
|
98
|
+
["V", /В/],
|
|
99
|
+
["H", /Г/],
|
|
100
|
+
["G", /Ґ/],
|
|
101
|
+
["D", /Д/],
|
|
102
|
+
["Ž", /Ж/],
|
|
103
|
+
["Z", /З/],
|
|
104
|
+
["I", /І/],
|
|
105
|
+
["J", /Й/],
|
|
106
|
+
["K", /К/],
|
|
107
|
+
["Ł", /Л/],
|
|
108
|
+
["M", /М/],
|
|
109
|
+
["N", /Н/],
|
|
110
|
+
["O", /О/],
|
|
111
|
+
["P", /П/],
|
|
112
|
+
["R", /Р/],
|
|
113
|
+
["S", /С/],
|
|
114
|
+
["T", /Т/],
|
|
115
|
+
["U", /У/],
|
|
116
|
+
["Ŭ", /Ў/],
|
|
117
|
+
["F", /Ф/],
|
|
118
|
+
[" Ch", / Х(?=[\p{Ll} ])/u],
|
|
119
|
+
["CH", /Х/],
|
|
120
|
+
["C", /Ц/],
|
|
121
|
+
["Č", /Ч/],
|
|
122
|
+
["Š", /Ш/],
|
|
123
|
+
["Y", /Ы/],
|
|
124
|
+
["E", /Э/],
|
|
125
|
+
["L$1", /[ŁL][Ii]([AEOUaeou])/],
|
|
126
|
+
["Li", /Łi/],
|
|
127
|
+
["LI", /ŁI/]
|
|
128
|
+
];
|
|
129
|
+
|
|
130
|
+
// src/dict/greek.ts
|
|
131
|
+
var greekLetters = [
|
|
132
|
+
["α", /а/],
|
|
133
|
+
["μπ", /б/],
|
|
134
|
+
["β", /в/],
|
|
135
|
+
["γ", /г/],
|
|
136
|
+
["γκ", /ґ/],
|
|
137
|
+
["δ", /д/],
|
|
138
|
+
["η", /е/],
|
|
139
|
+
["υο", /ё/],
|
|
140
|
+
["ζ̌", /ж/],
|
|
141
|
+
["ζ", /з/],
|
|
142
|
+
["ι", /і/],
|
|
143
|
+
["υ", /й/],
|
|
144
|
+
["κ", /к/],
|
|
145
|
+
["λ", /л/],
|
|
146
|
+
["μ", /м/],
|
|
147
|
+
["ν", /н/],
|
|
148
|
+
["ο", /о/],
|
|
149
|
+
["π", /п/],
|
|
150
|
+
["ρ", /р/],
|
|
151
|
+
["σ", /с/],
|
|
152
|
+
["ς", /сь/],
|
|
153
|
+
["τ", /т/],
|
|
154
|
+
["ϋ", /у/],
|
|
155
|
+
["ΰ", /ў/],
|
|
156
|
+
["φ", /ф/],
|
|
157
|
+
["χ", /х/],
|
|
158
|
+
["τσ", /ц/],
|
|
159
|
+
["τς", /ць/],
|
|
160
|
+
["τσ̌", /ч/],
|
|
161
|
+
["σ̌", /ш/],
|
|
162
|
+
["ί", /ы/],
|
|
163
|
+
["ε", /э/],
|
|
164
|
+
["υϋ", /ю/],
|
|
165
|
+
["υα", /я/],
|
|
166
|
+
["’", /ь/]
|
|
167
|
+
];
|
|
168
|
+
var greekLettersUpperCase = [
|
|
169
|
+
[" Μπ", / Б(?= *\p{Ll})/u],
|
|
170
|
+
[" Γκ", / Ґ(?= *\p{Ll})/u],
|
|
171
|
+
[" Υο", / Ё(?= *\p{Ll})/u],
|
|
172
|
+
[" Υϋ", / Ю(?= *\p{Ll})/u],
|
|
173
|
+
[" Υα", / Я(?= *\p{Ll})/u],
|
|
174
|
+
[" Τσ̌", / Ч(?= *\p{Ll})/u],
|
|
175
|
+
["ΜΠ", /Б/],
|
|
176
|
+
["ΓΚ", /Ґ/],
|
|
177
|
+
["ΥΟ", /Ё/],
|
|
178
|
+
["ΥΫ", /Ю/],
|
|
179
|
+
["ΥΑ", /Я/],
|
|
180
|
+
["ΤΣ̌", /Ч/],
|
|
181
|
+
["Α", /А/],
|
|
182
|
+
["Β", /В/],
|
|
183
|
+
["Γ", /Г/],
|
|
184
|
+
["Δ", /Д/],
|
|
185
|
+
["Η", /Е/],
|
|
186
|
+
["Ζ̌", /Ж/],
|
|
187
|
+
["Ζ", /З/],
|
|
188
|
+
["Ι", /І/],
|
|
189
|
+
["Υ", /Й/],
|
|
190
|
+
["Κ", /К/],
|
|
191
|
+
["Λ", /Л/],
|
|
192
|
+
["Μ", /М/],
|
|
193
|
+
["Ν", /Н/],
|
|
194
|
+
["Ο", /О/],
|
|
195
|
+
["Π", /П/],
|
|
196
|
+
["Ρ", /Р/],
|
|
197
|
+
["Σ", /С/],
|
|
198
|
+
["ς", /С[Ьь]/],
|
|
199
|
+
["Τ", /Т/],
|
|
200
|
+
["Ϋ", /У/],
|
|
201
|
+
["Ϋ́", /Ў/],
|
|
202
|
+
["Φ", /Ф/],
|
|
203
|
+
["Χ", /Х/],
|
|
204
|
+
["Τσ", /Ц/],
|
|
205
|
+
["Τς", /Ц[Ьь]/],
|
|
206
|
+
["Σ̌", /Ш/],
|
|
207
|
+
["Ί", /Ы/],
|
|
208
|
+
["Ε", /Э/],
|
|
209
|
+
["’", /Ь/]
|
|
210
|
+
];
|
|
211
|
+
var thWords = [
|
|
212
|
+
["θει", /тэі(?=зм|ст)/],
|
|
213
|
+
[" αναθεμ", / анатэм/],
|
|
214
|
+
[" αρθα", / арта(?=графі|д[ао]кс|эпі)/],
|
|
215
|
+
[" αρίθμετ", / арытмэт/],
|
|
216
|
+
[" αθεν", / атэн/],
|
|
217
|
+
[" καλιθε", / калітэ/],
|
|
218
|
+
[" καθεδ", / катэд(?=\(?а?р)/],
|
|
219
|
+
[" μαθεματί", / матэматы/],
|
|
220
|
+
[" μιθ", / міт(?=[ауы]|оляг| )/],
|
|
221
|
+
[" μεθ", / мэт(?=[ао]д)/],
|
|
222
|
+
[" πιθαγορ", / пітагор/],
|
|
223
|
+
[" ρίθμ", / ры[тф]м/],
|
|
224
|
+
[" θεαδοσ", / тэадос/],
|
|
225
|
+
[" θεαρεμ", / тэарэм/],
|
|
226
|
+
[" θεατ", / тэат(?=ар |р)/],
|
|
227
|
+
[" θεμ", / тэм(?=[аеуы])/],
|
|
228
|
+
[" Θε", / тэ(?=[ао]р|салёнік|сал)/],
|
|
229
|
+
["θεσ", /тэс(?=\S*алёнік)/],
|
|
230
|
+
["Θερμα", /тэрма/],
|
|
231
|
+
[" εΘερ", / этэр/]
|
|
232
|
+
];
|
|
233
|
+
|
|
234
|
+
// src/dict/arabic.ts
|
|
235
|
+
var soft = "ْ(?=[еёіюяь])";
|
|
236
|
+
var presoft = "([تزكثࢮбвгджзйклмнпрстфхцчшў])ْ?(ّ?)";
|
|
237
|
+
var rawArabLetters = [
|
|
238
|
+
[" لا", / л[ая]/],
|
|
239
|
+
["ـلا", /л[ая]/],
|
|
240
|
+
["$1ّ", /([бвгджзйклмнпрстфхцчшў]|д[зж])\1/],
|
|
241
|
+
// падваеньне зычнага, шадда
|
|
242
|
+
["$1ْ", /([бвгджзйклмнпрстфхцчшў])/],
|
|
243
|
+
// няма галоснага, сукун
|
|
244
|
+
["اа", /а/],
|
|
245
|
+
// а, аліф
|
|
246
|
+
[" ا", / (?=[еэыуо])/],
|
|
247
|
+
// першая галосная, аліф
|
|
248
|
+
["ࢮ", "дْз" + soft],
|
|
249
|
+
["ز", "з" + soft],
|
|
250
|
+
["ك", "к" + soft],
|
|
251
|
+
["ث", "с" + soft],
|
|
252
|
+
["ت", "т" + soft],
|
|
253
|
+
["ы", /([تزكث])і/],
|
|
254
|
+
// $2 - шадда
|
|
255
|
+
["$1$2َ", presoft + "[аяэе]"],
|
|
256
|
+
["$1$2ِ", presoft + "[іы]"],
|
|
257
|
+
[" اِ ", / і /],
|
|
258
|
+
["$1$2ُ", presoft + "[оёую]"],
|
|
259
|
+
["ع", /ʼ/],
|
|
260
|
+
["", /ь/],
|
|
261
|
+
// ['', /[ьʼ]/],
|
|
262
|
+
["يَ", /[яе]/],
|
|
263
|
+
["يِ", /і/],
|
|
264
|
+
["يُ", /[ёю]/],
|
|
265
|
+
["َ", /[аэ]/],
|
|
266
|
+
["ِ", /[ыі]/],
|
|
267
|
+
["ُ", /[оу]/],
|
|
268
|
+
["ب", /б/],
|
|
269
|
+
["و", /[вў]/],
|
|
270
|
+
["ه", /г/],
|
|
271
|
+
["غ", /ґ/],
|
|
272
|
+
["ج", /дْж/],
|
|
273
|
+
["د", /д/],
|
|
274
|
+
["ژ", /ж/],
|
|
275
|
+
["ض", /з/],
|
|
276
|
+
["ي", /й/],
|
|
277
|
+
["ق", /к/],
|
|
278
|
+
["ل", /л/],
|
|
279
|
+
["م", /м/],
|
|
280
|
+
["ن", /н/],
|
|
281
|
+
["پ", /п/],
|
|
282
|
+
["ر", /р/],
|
|
283
|
+
["ص", /с/],
|
|
284
|
+
["ط", /т/],
|
|
285
|
+
["ف", /ф/],
|
|
286
|
+
["ح", /х/],
|
|
287
|
+
["ࢯ", /ц/],
|
|
288
|
+
["چ", /ч/],
|
|
289
|
+
["ش", /ш/],
|
|
290
|
+
["،", /\,/],
|
|
291
|
+
["؟", /\?/]
|
|
292
|
+
];
|
|
293
|
+
|
|
294
|
+
// src/dict/index.ts
|
|
32
295
|
var els1 = [];
|
|
33
296
|
els1[0] = "сканд|ванад|рубід|род|ірыд|рэзэрфорд|";
|
|
34
297
|
els1[1] = "стронц|бар|цэр|лютэц|самар| тор|амэрыц|кальц|кюр|дармштат|лівэрмор|натр";
|
|
@@ -799,7 +1062,7 @@ var rawWordlist = [
|
|
|
799
1062
|
["псых", /псіх(?=[аіо])/],
|
|
800
1063
|
["пілёт", /пілот/],
|
|
801
1064
|
["пілята", /пілата(?=[вж])/],
|
|
802
|
-
["
|
|
1065
|
+
["пітагор", /піфагор/],
|
|
803
1066
|
/* Р */
|
|
804
1067
|
["райх", /рэйх/],
|
|
805
1068
|
["ра(сі|се)", /расі(?=[ійюя] |йс)/],
|
|
@@ -818,7 +1081,6 @@ var rawWordlist = [
|
|
|
818
1081
|
["рэклям", /рэклам/],
|
|
819
1082
|
["рэмэйк", /рэмейк/],
|
|
820
1083
|
/* С */
|
|
821
|
-
[" тэсалёнік", / (?:фе)?сал[ао]нік/],
|
|
822
1084
|
["сакрысты", /сакрысці/],
|
|
823
1085
|
["салён", /салон/],
|
|
824
1086
|
[" самэр", / самер/],
|
|
@@ -1314,9 +1576,14 @@ var rawWordlist = [
|
|
|
1314
1576
|
["сьц(ей|яў) ", /сцей /],
|
|
1315
1577
|
[" $1асьцей ", / (г|(?:най)?ч)асьц\(ей\)\(яў\) /],
|
|
1316
1578
|
/* а > у */
|
|
1317
|
-
["
|
|
1318
|
-
["
|
|
1579
|
+
["$1у ", /(абед| дон|енск|[іы]зм|завод|інстытут| канал|крым|(?:кле|пола|слу)цк|лёндан|мадрыд| рым)а /],
|
|
1580
|
+
["$1(а|у) ", /(бэрлін|нясвіж|парыж)а /],
|
|
1319
1581
|
["дунаю ", /дуная /],
|
|
1582
|
+
/* Грэцкія назовы */
|
|
1583
|
+
[" (тэс|с)алёнік", / фесалёнік/],
|
|
1584
|
+
[" (с|тэс)алёнік", / салёнік/],
|
|
1585
|
+
[" тэ", / фе(?=адос|сал)/],
|
|
1586
|
+
[" тэ", / фэ(?=рмапілы)/],
|
|
1320
1587
|
/* Дэлетувізацыя */
|
|
1321
1588
|
["($&|аўкштота)", /аўкштай(?:ці|ты)я/],
|
|
1322
1589
|
["($&|аўкштоты|аўкштоце)", /аўкштай(?:ці|ты)і/],
|
|
@@ -1791,161 +2058,6 @@ var gwords = [
|
|
|
1791
2058
|
// 'шваґер'
|
|
1792
2059
|
"энэрґ"
|
|
1793
2060
|
].reverse();
|
|
1794
|
-
var latinLetters = [
|
|
1795
|
-
["je", /(?<=[аеёіоуыэюяьʼ| ]\(?)е/],
|
|
1796
|
-
["jo", /(?<=[аеёіоуыэюяьʼ| ]\(?)ё/],
|
|
1797
|
-
["ju", /(?<=[аеёіоуыэюяьʼ| ]\(?)ю/],
|
|
1798
|
-
["ja", /(?<=[аеёіоуыэюяьʼ| ]\(?)я/],
|
|
1799
|
-
["", /ʼ/],
|
|
1800
|
-
["ć", /ць/],
|
|
1801
|
-
["ź", /зь/],
|
|
1802
|
-
["ś", /сь/],
|
|
1803
|
-
["ń", /нь/],
|
|
1804
|
-
["l", /ль/],
|
|
1805
|
-
["a", /а/],
|
|
1806
|
-
["b", /б/],
|
|
1807
|
-
["v", /в/],
|
|
1808
|
-
["h", /г/],
|
|
1809
|
-
["g", /ґ/],
|
|
1810
|
-
["d", /д/],
|
|
1811
|
-
["ie", /е/],
|
|
1812
|
-
["io", /ё/],
|
|
1813
|
-
["ž", /ж/],
|
|
1814
|
-
["z", /з/],
|
|
1815
|
-
["i", /і/],
|
|
1816
|
-
["j", /й/],
|
|
1817
|
-
["k", /к/],
|
|
1818
|
-
["ł", /л/],
|
|
1819
|
-
["m", /м/],
|
|
1820
|
-
["n", /н/],
|
|
1821
|
-
["o", /о/],
|
|
1822
|
-
["p", /п/],
|
|
1823
|
-
["r", /р/],
|
|
1824
|
-
["s", /с/],
|
|
1825
|
-
["t", /т/],
|
|
1826
|
-
["u", /у/],
|
|
1827
|
-
["ŭ", /ў/],
|
|
1828
|
-
["f", /ф/],
|
|
1829
|
-
["ch", /х/],
|
|
1830
|
-
["c", /ц/],
|
|
1831
|
-
["č", /ч/],
|
|
1832
|
-
["š", /ш/],
|
|
1833
|
-
["y", /ы/],
|
|
1834
|
-
["e", /э/],
|
|
1835
|
-
["iu", /ю/],
|
|
1836
|
-
["ia", /я/],
|
|
1837
|
-
["l$1", /[łl]i([eoua])/],
|
|
1838
|
-
["li", /łi/]
|
|
1839
|
-
];
|
|
1840
|
-
var latinLettersUpperCase = [
|
|
1841
|
-
[" Je", / Е(?= *\p{Ll})/u],
|
|
1842
|
-
[" Jo", / Ё(?= *\p{Ll})/u],
|
|
1843
|
-
[" Ju", / Ю(?= *\p{Ll})/u],
|
|
1844
|
-
[" Ja", / Я(?= *\p{Ll})/u],
|
|
1845
|
-
["JE", /(?<=[АЕЁІОУЫЭЮЯЬʼ| ]\(?)Е/],
|
|
1846
|
-
["JO", /(?<=[АЕЁІОУЫЭЮЯЬʼ| ]\(?)Ё/],
|
|
1847
|
-
["JU", /(?<=[АЕЁІОУЫЭЮЯЬʼ| ]\(?)Ю/],
|
|
1848
|
-
["JA", /(?<=[АЕЁІОУЫЭЮЯЬʼ| ]\(?)Я/],
|
|
1849
|
-
["IE", /Е/],
|
|
1850
|
-
["IO", /Ё/],
|
|
1851
|
-
["IU", /Ю/],
|
|
1852
|
-
["IA", /Я/],
|
|
1853
|
-
["Ć", /Ц[Ьь]/],
|
|
1854
|
-
["Ź", /З[Ьь]/],
|
|
1855
|
-
["Ś", /С[Ьь]/],
|
|
1856
|
-
["Ń", /Н[Ьь]/],
|
|
1857
|
-
["L", /Л[Ьь]/],
|
|
1858
|
-
["A", /А/],
|
|
1859
|
-
["B", /Б/],
|
|
1860
|
-
["V", /В/],
|
|
1861
|
-
["H", /Г/],
|
|
1862
|
-
["G", /Ґ/],
|
|
1863
|
-
["D", /Д/],
|
|
1864
|
-
["Ž", /Ж/],
|
|
1865
|
-
["Z", /З/],
|
|
1866
|
-
["I", /І/],
|
|
1867
|
-
["J", /Й/],
|
|
1868
|
-
["K", /К/],
|
|
1869
|
-
["Ł", /Л/],
|
|
1870
|
-
["M", /М/],
|
|
1871
|
-
["N", /Н/],
|
|
1872
|
-
["O", /О/],
|
|
1873
|
-
["P", /П/],
|
|
1874
|
-
["R", /Р/],
|
|
1875
|
-
["S", /С/],
|
|
1876
|
-
["T", /Т/],
|
|
1877
|
-
["U", /У/],
|
|
1878
|
-
["Ŭ", /Ў/],
|
|
1879
|
-
["F", /Ф/],
|
|
1880
|
-
[" Ch", / Х(?=[\p{Ll} ])/u],
|
|
1881
|
-
["CH", /Х/],
|
|
1882
|
-
["C", /Ц/],
|
|
1883
|
-
["Č", /Ч/],
|
|
1884
|
-
["Š", /Ш/],
|
|
1885
|
-
["Y", /Ы/],
|
|
1886
|
-
["E", /Э/],
|
|
1887
|
-
["L$1", /[ŁL][Ii]([AEOUaeou])/],
|
|
1888
|
-
["Li", /Łi/],
|
|
1889
|
-
["LI", /ŁI/]
|
|
1890
|
-
];
|
|
1891
|
-
var soft = "ْ(?=[еёіюяь])";
|
|
1892
|
-
var presoft = "([تزكثࢮбвгджзйклмнпрстфхцчшў])ْ?(ّ?)";
|
|
1893
|
-
var rawArabLetters = [
|
|
1894
|
-
[" لا", / л[ая]/],
|
|
1895
|
-
["ـلا", /л[ая]/],
|
|
1896
|
-
["$1ّ", /([бвгджзйклмнпрстфхцчшў]|д[зж])\1/],
|
|
1897
|
-
// падваеньне зычнага, шадда
|
|
1898
|
-
["$1ْ", /([бвгджзйклмнпрстфхцчшў])/],
|
|
1899
|
-
// няма галоснага, сукун
|
|
1900
|
-
["اа", /а/],
|
|
1901
|
-
// а, аліф
|
|
1902
|
-
[" ا", / (?=[еэыуо])/],
|
|
1903
|
-
// першая галосная, аліф
|
|
1904
|
-
["ࢮ", "дْз" + soft],
|
|
1905
|
-
["ز", "з" + soft],
|
|
1906
|
-
["ك", "к" + soft],
|
|
1907
|
-
["ث", "с" + soft],
|
|
1908
|
-
["ت", "т" + soft],
|
|
1909
|
-
["ы", /([تزكث])і/],
|
|
1910
|
-
// $2 - шадда
|
|
1911
|
-
["$1$2َ", presoft + "[аяэе]"],
|
|
1912
|
-
["$1$2ِ", presoft + "[іы]"],
|
|
1913
|
-
[" اِ ", / і /],
|
|
1914
|
-
["$1$2ُ", presoft + "[оёую]"],
|
|
1915
|
-
["ع", /ʼ/],
|
|
1916
|
-
["", /ь/],
|
|
1917
|
-
// ['', /[ьʼ]/],
|
|
1918
|
-
["يَ", /[яе]/],
|
|
1919
|
-
["يِ", /і/],
|
|
1920
|
-
["يُ", /[ёю]/],
|
|
1921
|
-
["َ", /[аэ]/],
|
|
1922
|
-
["ِ", /[ыі]/],
|
|
1923
|
-
["ُ", /[оу]/],
|
|
1924
|
-
["ب", /б/],
|
|
1925
|
-
["و", /[вў]/],
|
|
1926
|
-
["ه", /г/],
|
|
1927
|
-
["غ", /ґ/],
|
|
1928
|
-
["ج", /дْж/],
|
|
1929
|
-
["د", /д/],
|
|
1930
|
-
["ژ", /ж/],
|
|
1931
|
-
["ض", /з/],
|
|
1932
|
-
["ي", /й/],
|
|
1933
|
-
["ق", /к/],
|
|
1934
|
-
["ل", /л/],
|
|
1935
|
-
["م", /м/],
|
|
1936
|
-
["ن", /н/],
|
|
1937
|
-
["پ", /п/],
|
|
1938
|
-
["ر", /р/],
|
|
1939
|
-
["ص", /с/],
|
|
1940
|
-
["ط", /т/],
|
|
1941
|
-
["ف", /ф/],
|
|
1942
|
-
["ح", /х/],
|
|
1943
|
-
["ࢯ", /ц/],
|
|
1944
|
-
["چ", /ч/],
|
|
1945
|
-
["ش", /ш/],
|
|
1946
|
-
["،", /\,/],
|
|
1947
|
-
["؟", /\?/]
|
|
1948
|
-
];
|
|
1949
2061
|
var gobj = {
|
|
1950
2062
|
"г": "ґ",
|
|
1951
2063
|
"Г": "Ґ",
|
|
@@ -1963,10 +2075,10 @@ var arr = [
|
|
|
1963
2075
|
for (const [raw, obj] of arr)
|
|
1964
2076
|
for (const [result, pattern] of raw)
|
|
1965
2077
|
obj.push([result, RegExp(pattern, "g")]);
|
|
1966
|
-
for (const obj of [latinLetters, latinLettersUpperCase])
|
|
1967
|
-
for (
|
|
1968
|
-
const
|
|
1969
|
-
|
|
2078
|
+
for (const obj of [latinLetters, latinLettersUpperCase, greekLetters, greekLettersUpperCase, thWords])
|
|
2079
|
+
for (let i = 0; i < obj.length; i++) {
|
|
2080
|
+
const item = obj[i];
|
|
2081
|
+
item[1] = RegExp(item[1], "g" + item[1].flags);
|
|
1970
2082
|
}
|
|
1971
2083
|
for (const word of gwords)
|
|
1972
2084
|
wordlist.push([word, RegExp(word.replace(/ґ/g, "г"), "g")]);
|
|
@@ -1977,15 +2089,17 @@ var NOFIX_CHAR = "
|
|
|
1977
2089
|
var NOFIX_REGEX = new RegExp(NOFIX_CHAR, "g");
|
|
1978
2090
|
var OPTIONAL_WORDS_REGEX = /\(.*?\)/g;
|
|
1979
2091
|
var G_REGEX = /[Ґґ]/g;
|
|
1980
|
-
var ALPHABET = { CYRILLIC: 0, LATIN: 1, ARABIC: 2 };
|
|
2092
|
+
var ALPHABET = { CYRILLIC: 0, LATIN: 1, ARABIC: 2, GREEK: 3 };
|
|
1981
2093
|
var J = { NEVER: 0, RANDOM: 1, ALWAYS: 2 };
|
|
1982
2094
|
var VARIATION = { NO: 0, FIRST: 1, ALL: 2 };
|
|
1983
2095
|
var letters = {
|
|
1984
2096
|
[ALPHABET.LATIN]: latinLetters,
|
|
1985
|
-
[ALPHABET.ARABIC]: arabLetters
|
|
2097
|
+
[ALPHABET.ARABIC]: arabLetters,
|
|
2098
|
+
[ALPHABET.GREEK]: greekLetters
|
|
1986
2099
|
};
|
|
1987
2100
|
var lettersUpperCase = {
|
|
1988
|
-
[ALPHABET.LATIN]: latinLettersUpperCase
|
|
2101
|
+
[ALPHABET.LATIN]: latinLettersUpperCase,
|
|
2102
|
+
[ALPHABET.GREEK]: greekLettersUpperCase
|
|
1989
2103
|
};
|
|
1990
2104
|
var additionalReplacements = {
|
|
1991
2105
|
[ALPHABET.CYRILLIC]: [
|
|
@@ -1996,7 +2110,8 @@ var additionalReplacements = {
|
|
|
1996
2110
|
["$1U", /([AEIOUY])<tarF>Ŭ<\/tarF>/g],
|
|
1997
2111
|
[" U", / <tarF>Ŭ<\/tarF>(?=\p{Lu})/gu]
|
|
1998
2112
|
],
|
|
1999
|
-
[ALPHABET.ARABIC]: []
|
|
2113
|
+
[ALPHABET.ARABIC]: [],
|
|
2114
|
+
[ALPHABET.GREEK]: []
|
|
2000
2115
|
};
|
|
2001
2116
|
var tagApplications = {
|
|
2002
2117
|
html: {
|
|
@@ -2031,6 +2146,8 @@ var taraskSync = (text, options) => {
|
|
|
2031
2146
|
text = toTarask(text.toLowerCase());
|
|
2032
2147
|
if (j)
|
|
2033
2148
|
text = replaceIbyJ(text, j === J.ALWAYS);
|
|
2149
|
+
if (abc === ALPHABET.GREEK)
|
|
2150
|
+
text = replaceWithDict(text, thWords);
|
|
2034
2151
|
text = replaceWithDict(text, letters[abc]);
|
|
2035
2152
|
splitted = text.split(" ");
|
|
2036
2153
|
if (abc !== ALPHABET.ARABIC)
|
|
@@ -2073,7 +2190,7 @@ function restoreCase(text, orig) {
|
|
|
2073
2190
|
continue;
|
|
2074
2191
|
if (word === "зь") {
|
|
2075
2192
|
text[i] = isUpperCase(orig[i + 1]) ? "ЗЬ" : "Зь";
|
|
2076
|
-
} else if (isUpperCase(oWord
|
|
2193
|
+
} else if (isUpperCase(getLastLetter(oWord))) {
|
|
2077
2194
|
text[i] = word.toUpperCase();
|
|
2078
2195
|
} else {
|
|
2079
2196
|
text[i] = word[0] === "(" ? word.replace(
|
|
@@ -2084,6 +2201,11 @@ function restoreCase(text, orig) {
|
|
|
2084
2201
|
}
|
|
2085
2202
|
return text;
|
|
2086
2203
|
}
|
|
2204
|
+
var getLastLetter = (word) => {
|
|
2205
|
+
for (let i = word.length - 1; i > 1; i--)
|
|
2206
|
+
if (/\p{L}/u.test(word[i]))
|
|
2207
|
+
return word[i];
|
|
2208
|
+
};
|
|
2087
2209
|
function toTags(text, orig, abc, applyF) {
|
|
2088
2210
|
for (let i = 0; i < text.length; i++) {
|
|
2089
2211
|
const word = text[i];
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ type Promisify<T> = T extends (...args: infer TArgs) => infer TReturn ? (...args
|
|
|
2
2
|
type DeepPartial<T> = T extends object ? {
|
|
3
3
|
[P in keyof T]?: DeepPartial<T[P]>;
|
|
4
4
|
} : T;
|
|
5
|
-
type Alphabet = 0 | 1 | 2;
|
|
5
|
+
type Alphabet = 0 | 1 | 2 | 3;
|
|
6
6
|
type J$1 = 0 | 1 | 2;
|
|
7
7
|
type Variation = 0 | 1 | 2;
|
|
8
8
|
type NonHtmlOptions = {
|
|
@@ -35,6 +35,7 @@ declare const ALPHABET: {
|
|
|
35
35
|
CYRILLIC: number;
|
|
36
36
|
LATIN: number;
|
|
37
37
|
ARABIC: number;
|
|
38
|
+
GREEK: number;
|
|
38
39
|
};
|
|
39
40
|
declare const J: {
|
|
40
41
|
NEVER: number;
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,267 @@
|
|
|
1
|
-
// src/dict.ts
|
|
1
|
+
// src/dict/latin.ts
|
|
2
|
+
var latinLetters = [
|
|
3
|
+
["je", /(?<=[аеёіоуыэюяьʼ| ]\(?)е/],
|
|
4
|
+
["jo", /(?<=[аеёіоуыэюяьʼ| ]\(?)ё/],
|
|
5
|
+
["ju", /(?<=[аеёіоуыэюяьʼ| ]\(?)ю/],
|
|
6
|
+
["ja", /(?<=[аеёіоуыэюяьʼ| ]\(?)я/],
|
|
7
|
+
["", /ʼ/],
|
|
8
|
+
["ć", /ць/],
|
|
9
|
+
["ź", /зь/],
|
|
10
|
+
["ś", /сь/],
|
|
11
|
+
["ń", /нь/],
|
|
12
|
+
["l", /ль/],
|
|
13
|
+
["a", /а/],
|
|
14
|
+
["b", /б/],
|
|
15
|
+
["v", /в/],
|
|
16
|
+
["h", /г/],
|
|
17
|
+
["g", /ґ/],
|
|
18
|
+
["d", /д/],
|
|
19
|
+
["ie", /е/],
|
|
20
|
+
["io", /ё/],
|
|
21
|
+
["ž", /ж/],
|
|
22
|
+
["z", /з/],
|
|
23
|
+
["i", /і/],
|
|
24
|
+
["j", /й/],
|
|
25
|
+
["k", /к/],
|
|
26
|
+
["ł", /л/],
|
|
27
|
+
["m", /м/],
|
|
28
|
+
["n", /н/],
|
|
29
|
+
["o", /о/],
|
|
30
|
+
["p", /п/],
|
|
31
|
+
["r", /р/],
|
|
32
|
+
["s", /с/],
|
|
33
|
+
["t", /т/],
|
|
34
|
+
["u", /у/],
|
|
35
|
+
["ŭ", /ў/],
|
|
36
|
+
["f", /ф/],
|
|
37
|
+
["ch", /х/],
|
|
38
|
+
["c", /ц/],
|
|
39
|
+
["č", /ч/],
|
|
40
|
+
["š", /ш/],
|
|
41
|
+
["y", /ы/],
|
|
42
|
+
["e", /э/],
|
|
43
|
+
["iu", /ю/],
|
|
44
|
+
["ia", /я/],
|
|
45
|
+
["l$1", /[łl]i([eoua])/],
|
|
46
|
+
["li", /łi/]
|
|
47
|
+
];
|
|
48
|
+
var latinLettersUpperCase = [
|
|
49
|
+
[" Je", / Е(?= *\p{Ll})/u],
|
|
50
|
+
[" Jo", / Ё(?= *\p{Ll})/u],
|
|
51
|
+
[" Ju", / Ю(?= *\p{Ll})/u],
|
|
52
|
+
[" Ja", / Я(?= *\p{Ll})/u],
|
|
53
|
+
["JE", /(?<=[АЕЁІОУЫЭЮЯЬʼ| ]\(?)Е/],
|
|
54
|
+
["JO", /(?<=[АЕЁІОУЫЭЮЯЬʼ| ]\(?)Ё/],
|
|
55
|
+
["JU", /(?<=[АЕЁІОУЫЭЮЯЬʼ| ]\(?)Ю/],
|
|
56
|
+
["JA", /(?<=[АЕЁІОУЫЭЮЯЬʼ| ]\(?)Я/],
|
|
57
|
+
["IE", /Е/],
|
|
58
|
+
["IO", /Ё/],
|
|
59
|
+
["IU", /Ю/],
|
|
60
|
+
["IA", /Я/],
|
|
61
|
+
["Ć", /Ц[Ьь]/],
|
|
62
|
+
["Ź", /З[Ьь]/],
|
|
63
|
+
["Ś", /С[Ьь]/],
|
|
64
|
+
["Ń", /Н[Ьь]/],
|
|
65
|
+
["L", /Л[Ьь]/],
|
|
66
|
+
["A", /А/],
|
|
67
|
+
["B", /Б/],
|
|
68
|
+
["V", /В/],
|
|
69
|
+
["H", /Г/],
|
|
70
|
+
["G", /Ґ/],
|
|
71
|
+
["D", /Д/],
|
|
72
|
+
["Ž", /Ж/],
|
|
73
|
+
["Z", /З/],
|
|
74
|
+
["I", /І/],
|
|
75
|
+
["J", /Й/],
|
|
76
|
+
["K", /К/],
|
|
77
|
+
["Ł", /Л/],
|
|
78
|
+
["M", /М/],
|
|
79
|
+
["N", /Н/],
|
|
80
|
+
["O", /О/],
|
|
81
|
+
["P", /П/],
|
|
82
|
+
["R", /Р/],
|
|
83
|
+
["S", /С/],
|
|
84
|
+
["T", /Т/],
|
|
85
|
+
["U", /У/],
|
|
86
|
+
["Ŭ", /Ў/],
|
|
87
|
+
["F", /Ф/],
|
|
88
|
+
[" Ch", / Х(?=[\p{Ll} ])/u],
|
|
89
|
+
["CH", /Х/],
|
|
90
|
+
["C", /Ц/],
|
|
91
|
+
["Č", /Ч/],
|
|
92
|
+
["Š", /Ш/],
|
|
93
|
+
["Y", /Ы/],
|
|
94
|
+
["E", /Э/],
|
|
95
|
+
["L$1", /[ŁL][Ii]([AEOUaeou])/],
|
|
96
|
+
["Li", /Łi/],
|
|
97
|
+
["LI", /ŁI/]
|
|
98
|
+
];
|
|
99
|
+
|
|
100
|
+
// src/dict/greek.ts
|
|
101
|
+
var greekLetters = [
|
|
102
|
+
["α", /а/],
|
|
103
|
+
["μπ", /б/],
|
|
104
|
+
["β", /в/],
|
|
105
|
+
["γ", /г/],
|
|
106
|
+
["γκ", /ґ/],
|
|
107
|
+
["δ", /д/],
|
|
108
|
+
["η", /е/],
|
|
109
|
+
["υο", /ё/],
|
|
110
|
+
["ζ̌", /ж/],
|
|
111
|
+
["ζ", /з/],
|
|
112
|
+
["ι", /і/],
|
|
113
|
+
["υ", /й/],
|
|
114
|
+
["κ", /к/],
|
|
115
|
+
["λ", /л/],
|
|
116
|
+
["μ", /м/],
|
|
117
|
+
["ν", /н/],
|
|
118
|
+
["ο", /о/],
|
|
119
|
+
["π", /п/],
|
|
120
|
+
["ρ", /р/],
|
|
121
|
+
["σ", /с/],
|
|
122
|
+
["ς", /сь/],
|
|
123
|
+
["τ", /т/],
|
|
124
|
+
["ϋ", /у/],
|
|
125
|
+
["ΰ", /ў/],
|
|
126
|
+
["φ", /ф/],
|
|
127
|
+
["χ", /х/],
|
|
128
|
+
["τσ", /ц/],
|
|
129
|
+
["τς", /ць/],
|
|
130
|
+
["τσ̌", /ч/],
|
|
131
|
+
["σ̌", /ш/],
|
|
132
|
+
["ί", /ы/],
|
|
133
|
+
["ε", /э/],
|
|
134
|
+
["υϋ", /ю/],
|
|
135
|
+
["υα", /я/],
|
|
136
|
+
["’", /ь/]
|
|
137
|
+
];
|
|
138
|
+
var greekLettersUpperCase = [
|
|
139
|
+
[" Μπ", / Б(?= *\p{Ll})/u],
|
|
140
|
+
[" Γκ", / Ґ(?= *\p{Ll})/u],
|
|
141
|
+
[" Υο", / Ё(?= *\p{Ll})/u],
|
|
142
|
+
[" Υϋ", / Ю(?= *\p{Ll})/u],
|
|
143
|
+
[" Υα", / Я(?= *\p{Ll})/u],
|
|
144
|
+
[" Τσ̌", / Ч(?= *\p{Ll})/u],
|
|
145
|
+
["ΜΠ", /Б/],
|
|
146
|
+
["ΓΚ", /Ґ/],
|
|
147
|
+
["ΥΟ", /Ё/],
|
|
148
|
+
["ΥΫ", /Ю/],
|
|
149
|
+
["ΥΑ", /Я/],
|
|
150
|
+
["ΤΣ̌", /Ч/],
|
|
151
|
+
["Α", /А/],
|
|
152
|
+
["Β", /В/],
|
|
153
|
+
["Γ", /Г/],
|
|
154
|
+
["Δ", /Д/],
|
|
155
|
+
["Η", /Е/],
|
|
156
|
+
["Ζ̌", /Ж/],
|
|
157
|
+
["Ζ", /З/],
|
|
158
|
+
["Ι", /І/],
|
|
159
|
+
["Υ", /Й/],
|
|
160
|
+
["Κ", /К/],
|
|
161
|
+
["Λ", /Л/],
|
|
162
|
+
["Μ", /М/],
|
|
163
|
+
["Ν", /Н/],
|
|
164
|
+
["Ο", /О/],
|
|
165
|
+
["Π", /П/],
|
|
166
|
+
["Ρ", /Р/],
|
|
167
|
+
["Σ", /С/],
|
|
168
|
+
["ς", /С[Ьь]/],
|
|
169
|
+
["Τ", /Т/],
|
|
170
|
+
["Ϋ", /У/],
|
|
171
|
+
["Ϋ́", /Ў/],
|
|
172
|
+
["Φ", /Ф/],
|
|
173
|
+
["Χ", /Х/],
|
|
174
|
+
["Τσ", /Ц/],
|
|
175
|
+
["Τς", /Ц[Ьь]/],
|
|
176
|
+
["Σ̌", /Ш/],
|
|
177
|
+
["Ί", /Ы/],
|
|
178
|
+
["Ε", /Э/],
|
|
179
|
+
["’", /Ь/]
|
|
180
|
+
];
|
|
181
|
+
var thWords = [
|
|
182
|
+
["θει", /тэі(?=зм|ст)/],
|
|
183
|
+
[" αναθεμ", / анатэм/],
|
|
184
|
+
[" αρθα", / арта(?=графі|д[ао]кс|эпі)/],
|
|
185
|
+
[" αρίθμετ", / арытмэт/],
|
|
186
|
+
[" αθεν", / атэн/],
|
|
187
|
+
[" καλιθε", / калітэ/],
|
|
188
|
+
[" καθεδ", / катэд(?=\(?а?р)/],
|
|
189
|
+
[" μαθεματί", / матэматы/],
|
|
190
|
+
[" μιθ", / міт(?=[ауы]|оляг| )/],
|
|
191
|
+
[" μεθ", / мэт(?=[ао]д)/],
|
|
192
|
+
[" πιθαγορ", / пітагор/],
|
|
193
|
+
[" ρίθμ", / ры[тф]м/],
|
|
194
|
+
[" θεαδοσ", / тэадос/],
|
|
195
|
+
[" θεαρεμ", / тэарэм/],
|
|
196
|
+
[" θεατ", / тэат(?=ар |р)/],
|
|
197
|
+
[" θεμ", / тэм(?=[аеуы])/],
|
|
198
|
+
[" Θε", / тэ(?=[ао]р|салёнік|сал)/],
|
|
199
|
+
["θεσ", /тэс(?=\S*алёнік)/],
|
|
200
|
+
["Θερμα", /тэрма/],
|
|
201
|
+
[" εΘερ", / этэр/]
|
|
202
|
+
];
|
|
203
|
+
|
|
204
|
+
// src/dict/arabic.ts
|
|
205
|
+
var soft = "ْ(?=[еёіюяь])";
|
|
206
|
+
var presoft = "([تزكثࢮбвгджзйклмнпрстфхцчшў])ْ?(ّ?)";
|
|
207
|
+
var rawArabLetters = [
|
|
208
|
+
[" لا", / л[ая]/],
|
|
209
|
+
["ـلا", /л[ая]/],
|
|
210
|
+
["$1ّ", /([бвгджзйклмнпрстфхцчшў]|д[зж])\1/],
|
|
211
|
+
// падваеньне зычнага, шадда
|
|
212
|
+
["$1ْ", /([бвгджзйклмнпрстфхцчшў])/],
|
|
213
|
+
// няма галоснага, сукун
|
|
214
|
+
["اа", /а/],
|
|
215
|
+
// а, аліф
|
|
216
|
+
[" ا", / (?=[еэыуо])/],
|
|
217
|
+
// першая галосная, аліф
|
|
218
|
+
["ࢮ", "дْз" + soft],
|
|
219
|
+
["ز", "з" + soft],
|
|
220
|
+
["ك", "к" + soft],
|
|
221
|
+
["ث", "с" + soft],
|
|
222
|
+
["ت", "т" + soft],
|
|
223
|
+
["ы", /([تزكث])і/],
|
|
224
|
+
// $2 - шадда
|
|
225
|
+
["$1$2َ", presoft + "[аяэе]"],
|
|
226
|
+
["$1$2ِ", presoft + "[іы]"],
|
|
227
|
+
[" اِ ", / і /],
|
|
228
|
+
["$1$2ُ", presoft + "[оёую]"],
|
|
229
|
+
["ع", /ʼ/],
|
|
230
|
+
["", /ь/],
|
|
231
|
+
// ['', /[ьʼ]/],
|
|
232
|
+
["يَ", /[яе]/],
|
|
233
|
+
["يِ", /і/],
|
|
234
|
+
["يُ", /[ёю]/],
|
|
235
|
+
["َ", /[аэ]/],
|
|
236
|
+
["ِ", /[ыі]/],
|
|
237
|
+
["ُ", /[оу]/],
|
|
238
|
+
["ب", /б/],
|
|
239
|
+
["و", /[вў]/],
|
|
240
|
+
["ه", /г/],
|
|
241
|
+
["غ", /ґ/],
|
|
242
|
+
["ج", /дْж/],
|
|
243
|
+
["د", /д/],
|
|
244
|
+
["ژ", /ж/],
|
|
245
|
+
["ض", /з/],
|
|
246
|
+
["ي", /й/],
|
|
247
|
+
["ق", /к/],
|
|
248
|
+
["ل", /л/],
|
|
249
|
+
["م", /м/],
|
|
250
|
+
["ن", /н/],
|
|
251
|
+
["پ", /п/],
|
|
252
|
+
["ر", /р/],
|
|
253
|
+
["ص", /с/],
|
|
254
|
+
["ط", /т/],
|
|
255
|
+
["ف", /ф/],
|
|
256
|
+
["ح", /х/],
|
|
257
|
+
["ࢯ", /ц/],
|
|
258
|
+
["چ", /ч/],
|
|
259
|
+
["ش", /ш/],
|
|
260
|
+
["،", /\,/],
|
|
261
|
+
["؟", /\?/]
|
|
262
|
+
];
|
|
263
|
+
|
|
264
|
+
// src/dict/index.ts
|
|
2
265
|
var els1 = [];
|
|
3
266
|
els1[0] = "сканд|ванад|рубід|род|ірыд|рэзэрфорд|";
|
|
4
267
|
els1[1] = "стронц|бар|цэр|лютэц|самар| тор|амэрыц|кальц|кюр|дармштат|лівэрмор|натр";
|
|
@@ -769,7 +1032,7 @@ var rawWordlist = [
|
|
|
769
1032
|
["псых", /псіх(?=[аіо])/],
|
|
770
1033
|
["пілёт", /пілот/],
|
|
771
1034
|
["пілята", /пілата(?=[вж])/],
|
|
772
|
-
["
|
|
1035
|
+
["пітагор", /піфагор/],
|
|
773
1036
|
/* Р */
|
|
774
1037
|
["райх", /рэйх/],
|
|
775
1038
|
["ра(сі|се)", /расі(?=[ійюя] |йс)/],
|
|
@@ -788,7 +1051,6 @@ var rawWordlist = [
|
|
|
788
1051
|
["рэклям", /рэклам/],
|
|
789
1052
|
["рэмэйк", /рэмейк/],
|
|
790
1053
|
/* С */
|
|
791
|
-
[" тэсалёнік", / (?:фе)?сал[ао]нік/],
|
|
792
1054
|
["сакрысты", /сакрысці/],
|
|
793
1055
|
["салён", /салон/],
|
|
794
1056
|
[" самэр", / самер/],
|
|
@@ -1284,9 +1546,14 @@ var rawWordlist = [
|
|
|
1284
1546
|
["сьц(ей|яў) ", /сцей /],
|
|
1285
1547
|
[" $1асьцей ", / (г|(?:най)?ч)асьц\(ей\)\(яў\) /],
|
|
1286
1548
|
/* а > у */
|
|
1287
|
-
["
|
|
1288
|
-
["
|
|
1549
|
+
["$1у ", /(абед| дон|енск|[іы]зм|завод|інстытут| канал|крым|(?:кле|пола|слу)цк|лёндан|мадрыд| рым)а /],
|
|
1550
|
+
["$1(а|у) ", /(бэрлін|нясвіж|парыж)а /],
|
|
1289
1551
|
["дунаю ", /дуная /],
|
|
1552
|
+
/* Грэцкія назовы */
|
|
1553
|
+
[" (тэс|с)алёнік", / фесалёнік/],
|
|
1554
|
+
[" (с|тэс)алёнік", / салёнік/],
|
|
1555
|
+
[" тэ", / фе(?=адос|сал)/],
|
|
1556
|
+
[" тэ", / фэ(?=рмапілы)/],
|
|
1290
1557
|
/* Дэлетувізацыя */
|
|
1291
1558
|
["($&|аўкштота)", /аўкштай(?:ці|ты)я/],
|
|
1292
1559
|
["($&|аўкштоты|аўкштоце)", /аўкштай(?:ці|ты)і/],
|
|
@@ -1761,161 +2028,6 @@ var gwords = [
|
|
|
1761
2028
|
// 'шваґер'
|
|
1762
2029
|
"энэрґ"
|
|
1763
2030
|
].reverse();
|
|
1764
|
-
var latinLetters = [
|
|
1765
|
-
["je", /(?<=[аеёіоуыэюяьʼ| ]\(?)е/],
|
|
1766
|
-
["jo", /(?<=[аеёіоуыэюяьʼ| ]\(?)ё/],
|
|
1767
|
-
["ju", /(?<=[аеёіоуыэюяьʼ| ]\(?)ю/],
|
|
1768
|
-
["ja", /(?<=[аеёіоуыэюяьʼ| ]\(?)я/],
|
|
1769
|
-
["", /ʼ/],
|
|
1770
|
-
["ć", /ць/],
|
|
1771
|
-
["ź", /зь/],
|
|
1772
|
-
["ś", /сь/],
|
|
1773
|
-
["ń", /нь/],
|
|
1774
|
-
["l", /ль/],
|
|
1775
|
-
["a", /а/],
|
|
1776
|
-
["b", /б/],
|
|
1777
|
-
["v", /в/],
|
|
1778
|
-
["h", /г/],
|
|
1779
|
-
["g", /ґ/],
|
|
1780
|
-
["d", /д/],
|
|
1781
|
-
["ie", /е/],
|
|
1782
|
-
["io", /ё/],
|
|
1783
|
-
["ž", /ж/],
|
|
1784
|
-
["z", /з/],
|
|
1785
|
-
["i", /і/],
|
|
1786
|
-
["j", /й/],
|
|
1787
|
-
["k", /к/],
|
|
1788
|
-
["ł", /л/],
|
|
1789
|
-
["m", /м/],
|
|
1790
|
-
["n", /н/],
|
|
1791
|
-
["o", /о/],
|
|
1792
|
-
["p", /п/],
|
|
1793
|
-
["r", /р/],
|
|
1794
|
-
["s", /с/],
|
|
1795
|
-
["t", /т/],
|
|
1796
|
-
["u", /у/],
|
|
1797
|
-
["ŭ", /ў/],
|
|
1798
|
-
["f", /ф/],
|
|
1799
|
-
["ch", /х/],
|
|
1800
|
-
["c", /ц/],
|
|
1801
|
-
["č", /ч/],
|
|
1802
|
-
["š", /ш/],
|
|
1803
|
-
["y", /ы/],
|
|
1804
|
-
["e", /э/],
|
|
1805
|
-
["iu", /ю/],
|
|
1806
|
-
["ia", /я/],
|
|
1807
|
-
["l$1", /[łl]i([eoua])/],
|
|
1808
|
-
["li", /łi/]
|
|
1809
|
-
];
|
|
1810
|
-
var latinLettersUpperCase = [
|
|
1811
|
-
[" Je", / Е(?= *\p{Ll})/u],
|
|
1812
|
-
[" Jo", / Ё(?= *\p{Ll})/u],
|
|
1813
|
-
[" Ju", / Ю(?= *\p{Ll})/u],
|
|
1814
|
-
[" Ja", / Я(?= *\p{Ll})/u],
|
|
1815
|
-
["JE", /(?<=[АЕЁІОУЫЭЮЯЬʼ| ]\(?)Е/],
|
|
1816
|
-
["JO", /(?<=[АЕЁІОУЫЭЮЯЬʼ| ]\(?)Ё/],
|
|
1817
|
-
["JU", /(?<=[АЕЁІОУЫЭЮЯЬʼ| ]\(?)Ю/],
|
|
1818
|
-
["JA", /(?<=[АЕЁІОУЫЭЮЯЬʼ| ]\(?)Я/],
|
|
1819
|
-
["IE", /Е/],
|
|
1820
|
-
["IO", /Ё/],
|
|
1821
|
-
["IU", /Ю/],
|
|
1822
|
-
["IA", /Я/],
|
|
1823
|
-
["Ć", /Ц[Ьь]/],
|
|
1824
|
-
["Ź", /З[Ьь]/],
|
|
1825
|
-
["Ś", /С[Ьь]/],
|
|
1826
|
-
["Ń", /Н[Ьь]/],
|
|
1827
|
-
["L", /Л[Ьь]/],
|
|
1828
|
-
["A", /А/],
|
|
1829
|
-
["B", /Б/],
|
|
1830
|
-
["V", /В/],
|
|
1831
|
-
["H", /Г/],
|
|
1832
|
-
["G", /Ґ/],
|
|
1833
|
-
["D", /Д/],
|
|
1834
|
-
["Ž", /Ж/],
|
|
1835
|
-
["Z", /З/],
|
|
1836
|
-
["I", /І/],
|
|
1837
|
-
["J", /Й/],
|
|
1838
|
-
["K", /К/],
|
|
1839
|
-
["Ł", /Л/],
|
|
1840
|
-
["M", /М/],
|
|
1841
|
-
["N", /Н/],
|
|
1842
|
-
["O", /О/],
|
|
1843
|
-
["P", /П/],
|
|
1844
|
-
["R", /Р/],
|
|
1845
|
-
["S", /С/],
|
|
1846
|
-
["T", /Т/],
|
|
1847
|
-
["U", /У/],
|
|
1848
|
-
["Ŭ", /Ў/],
|
|
1849
|
-
["F", /Ф/],
|
|
1850
|
-
[" Ch", / Х(?=[\p{Ll} ])/u],
|
|
1851
|
-
["CH", /Х/],
|
|
1852
|
-
["C", /Ц/],
|
|
1853
|
-
["Č", /Ч/],
|
|
1854
|
-
["Š", /Ш/],
|
|
1855
|
-
["Y", /Ы/],
|
|
1856
|
-
["E", /Э/],
|
|
1857
|
-
["L$1", /[ŁL][Ii]([AEOUaeou])/],
|
|
1858
|
-
["Li", /Łi/],
|
|
1859
|
-
["LI", /ŁI/]
|
|
1860
|
-
];
|
|
1861
|
-
var soft = "ْ(?=[еёіюяь])";
|
|
1862
|
-
var presoft = "([تزكثࢮбвгджзйклмнпрстфхцчшў])ْ?(ّ?)";
|
|
1863
|
-
var rawArabLetters = [
|
|
1864
|
-
[" لا", / л[ая]/],
|
|
1865
|
-
["ـلا", /л[ая]/],
|
|
1866
|
-
["$1ّ", /([бвгджзйклмнпрстфхцчшў]|д[зж])\1/],
|
|
1867
|
-
// падваеньне зычнага, шадда
|
|
1868
|
-
["$1ْ", /([бвгджзйклмнпрстфхцчшў])/],
|
|
1869
|
-
// няма галоснага, сукун
|
|
1870
|
-
["اа", /а/],
|
|
1871
|
-
// а, аліф
|
|
1872
|
-
[" ا", / (?=[еэыуо])/],
|
|
1873
|
-
// першая галосная, аліф
|
|
1874
|
-
["ࢮ", "дْз" + soft],
|
|
1875
|
-
["ز", "з" + soft],
|
|
1876
|
-
["ك", "к" + soft],
|
|
1877
|
-
["ث", "с" + soft],
|
|
1878
|
-
["ت", "т" + soft],
|
|
1879
|
-
["ы", /([تزكث])і/],
|
|
1880
|
-
// $2 - шадда
|
|
1881
|
-
["$1$2َ", presoft + "[аяэе]"],
|
|
1882
|
-
["$1$2ِ", presoft + "[іы]"],
|
|
1883
|
-
[" اِ ", / і /],
|
|
1884
|
-
["$1$2ُ", presoft + "[оёую]"],
|
|
1885
|
-
["ع", /ʼ/],
|
|
1886
|
-
["", /ь/],
|
|
1887
|
-
// ['', /[ьʼ]/],
|
|
1888
|
-
["يَ", /[яе]/],
|
|
1889
|
-
["يِ", /і/],
|
|
1890
|
-
["يُ", /[ёю]/],
|
|
1891
|
-
["َ", /[аэ]/],
|
|
1892
|
-
["ِ", /[ыі]/],
|
|
1893
|
-
["ُ", /[оу]/],
|
|
1894
|
-
["ب", /б/],
|
|
1895
|
-
["و", /[вў]/],
|
|
1896
|
-
["ه", /г/],
|
|
1897
|
-
["غ", /ґ/],
|
|
1898
|
-
["ج", /дْж/],
|
|
1899
|
-
["د", /д/],
|
|
1900
|
-
["ژ", /ж/],
|
|
1901
|
-
["ض", /з/],
|
|
1902
|
-
["ي", /й/],
|
|
1903
|
-
["ق", /к/],
|
|
1904
|
-
["ل", /л/],
|
|
1905
|
-
["م", /м/],
|
|
1906
|
-
["ن", /н/],
|
|
1907
|
-
["پ", /п/],
|
|
1908
|
-
["ر", /р/],
|
|
1909
|
-
["ص", /с/],
|
|
1910
|
-
["ط", /т/],
|
|
1911
|
-
["ف", /ф/],
|
|
1912
|
-
["ح", /х/],
|
|
1913
|
-
["ࢯ", /ц/],
|
|
1914
|
-
["چ", /ч/],
|
|
1915
|
-
["ش", /ш/],
|
|
1916
|
-
["،", /\,/],
|
|
1917
|
-
["؟", /\?/]
|
|
1918
|
-
];
|
|
1919
2031
|
var gobj = {
|
|
1920
2032
|
"г": "ґ",
|
|
1921
2033
|
"Г": "Ґ",
|
|
@@ -1933,10 +2045,10 @@ var arr = [
|
|
|
1933
2045
|
for (const [raw, obj] of arr)
|
|
1934
2046
|
for (const [result, pattern] of raw)
|
|
1935
2047
|
obj.push([result, RegExp(pattern, "g")]);
|
|
1936
|
-
for (const obj of [latinLetters, latinLettersUpperCase])
|
|
1937
|
-
for (
|
|
1938
|
-
const
|
|
1939
|
-
|
|
2048
|
+
for (const obj of [latinLetters, latinLettersUpperCase, greekLetters, greekLettersUpperCase, thWords])
|
|
2049
|
+
for (let i = 0; i < obj.length; i++) {
|
|
2050
|
+
const item = obj[i];
|
|
2051
|
+
item[1] = RegExp(item[1], "g" + item[1].flags);
|
|
1940
2052
|
}
|
|
1941
2053
|
for (const word of gwords)
|
|
1942
2054
|
wordlist.push([word, RegExp(word.replace(/ґ/g, "г"), "g")]);
|
|
@@ -1947,15 +2059,17 @@ var NOFIX_CHAR = "
|
|
|
1947
2059
|
var NOFIX_REGEX = new RegExp(NOFIX_CHAR, "g");
|
|
1948
2060
|
var OPTIONAL_WORDS_REGEX = /\(.*?\)/g;
|
|
1949
2061
|
var G_REGEX = /[Ґґ]/g;
|
|
1950
|
-
var ALPHABET = { CYRILLIC: 0, LATIN: 1, ARABIC: 2 };
|
|
2062
|
+
var ALPHABET = { CYRILLIC: 0, LATIN: 1, ARABIC: 2, GREEK: 3 };
|
|
1951
2063
|
var J = { NEVER: 0, RANDOM: 1, ALWAYS: 2 };
|
|
1952
2064
|
var VARIATION = { NO: 0, FIRST: 1, ALL: 2 };
|
|
1953
2065
|
var letters = {
|
|
1954
2066
|
[ALPHABET.LATIN]: latinLetters,
|
|
1955
|
-
[ALPHABET.ARABIC]: arabLetters
|
|
2067
|
+
[ALPHABET.ARABIC]: arabLetters,
|
|
2068
|
+
[ALPHABET.GREEK]: greekLetters
|
|
1956
2069
|
};
|
|
1957
2070
|
var lettersUpperCase = {
|
|
1958
|
-
[ALPHABET.LATIN]: latinLettersUpperCase
|
|
2071
|
+
[ALPHABET.LATIN]: latinLettersUpperCase,
|
|
2072
|
+
[ALPHABET.GREEK]: greekLettersUpperCase
|
|
1959
2073
|
};
|
|
1960
2074
|
var additionalReplacements = {
|
|
1961
2075
|
[ALPHABET.CYRILLIC]: [
|
|
@@ -1966,7 +2080,8 @@ var additionalReplacements = {
|
|
|
1966
2080
|
["$1U", /([AEIOUY])<tarF>Ŭ<\/tarF>/g],
|
|
1967
2081
|
[" U", / <tarF>Ŭ<\/tarF>(?=\p{Lu})/gu]
|
|
1968
2082
|
],
|
|
1969
|
-
[ALPHABET.ARABIC]: []
|
|
2083
|
+
[ALPHABET.ARABIC]: [],
|
|
2084
|
+
[ALPHABET.GREEK]: []
|
|
1970
2085
|
};
|
|
1971
2086
|
var tagApplications = {
|
|
1972
2087
|
html: {
|
|
@@ -2001,6 +2116,8 @@ var taraskSync = (text, options) => {
|
|
|
2001
2116
|
text = toTarask(text.toLowerCase());
|
|
2002
2117
|
if (j)
|
|
2003
2118
|
text = replaceIbyJ(text, j === J.ALWAYS);
|
|
2119
|
+
if (abc === ALPHABET.GREEK)
|
|
2120
|
+
text = replaceWithDict(text, thWords);
|
|
2004
2121
|
text = replaceWithDict(text, letters[abc]);
|
|
2005
2122
|
splitted = text.split(" ");
|
|
2006
2123
|
if (abc !== ALPHABET.ARABIC)
|
|
@@ -2043,7 +2160,7 @@ function restoreCase(text, orig) {
|
|
|
2043
2160
|
continue;
|
|
2044
2161
|
if (word === "зь") {
|
|
2045
2162
|
text[i] = isUpperCase(orig[i + 1]) ? "ЗЬ" : "Зь";
|
|
2046
|
-
} else if (isUpperCase(oWord
|
|
2163
|
+
} else if (isUpperCase(getLastLetter(oWord))) {
|
|
2047
2164
|
text[i] = word.toUpperCase();
|
|
2048
2165
|
} else {
|
|
2049
2166
|
text[i] = word[0] === "(" ? word.replace(
|
|
@@ -2054,6 +2171,11 @@ function restoreCase(text, orig) {
|
|
|
2054
2171
|
}
|
|
2055
2172
|
return text;
|
|
2056
2173
|
}
|
|
2174
|
+
var getLastLetter = (word) => {
|
|
2175
|
+
for (let i = word.length - 1; i > 1; i--)
|
|
2176
|
+
if (/\p{L}/u.test(word[i]))
|
|
2177
|
+
return word[i];
|
|
2178
|
+
};
|
|
2057
2179
|
function toTags(text, orig, abc, applyF) {
|
|
2058
2180
|
for (let i = 0; i < text.length; i++) {
|
|
2059
2181
|
const word = text[i];
|