rifkat commited on
Commit
b852566
1 Parent(s): 57a39c2
Files changed (1) hide show
  1. krill_to_latin.py +1447 -0
krill_to_latin.py ADDED
@@ -0,0 +1,1447 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # -*- coding: utf-8 -*-
2
+ import re
3
+ import sys
4
+ import random
5
+
6
+ class Perevod:
7
+ def __int__(self):
8
+ pass
9
+
10
+ def isCyrilic(self,text):
11
+ limit=7
12
+ special_characters = """"ўЎқҚғҒҳҲ'!“@#$%^&*()-”+""?_=,<>/"""
13
+ lists = [random.randrange(len(text)) for i in range(10)]
14
+ dummy_list = []
15
+ for item in lists:
16
+ if any(c in special_characters for c in text[item]):
17
+ print(text[item])
18
+ limit-=1
19
+ continue
20
+ dummy_list.append(bool(re.search('[а-яА-Я]', text[item])))
21
+ if sum(dummy_list)>=limit:
22
+ return True
23
+ return False
24
+
25
+ def to_cyrillic(self,text):
26
+ """Transliterate latin text to cyrillic using the following rules:
27
+ 1. ye = е in the beginning of a word or after a vowel
28
+ 2. e = э in the beginning of a word or after a vowel
29
+ 3. ц exception words
30
+ 4. э exception words
31
+ """
32
+ # These compounds must be converted before other letters
33
+ compounds_first = {
34
+ 'ch': 'ч', 'Ch': 'Ч', 'CH': 'Ч',
35
+ # this line must come before 's' because it has an 'h'
36
+ 'sh': 'ш', 'Sh': 'Ш', 'SH': 'Ш',
37
+ # This line must come before 'yo' because of it's apostrophe
38
+ 'yo‘': 'йў', 'Yo‘': 'Йў', 'YO‘': 'ЙЎ',
39
+ }
40
+ compounds_second = {
41
+ 'yo': 'ё', 'Yo': 'Ё', 'YO': 'Ё',
42
+ # 'ts': 'ц', 'Ts': 'Ц', 'TS': 'Ц', # No need for this, see TS_WORDS
43
+ 'yu': 'ю', 'Yu': 'Ю', 'YU': 'Ю',
44
+ 'ya': 'я', 'Ya': 'Я', 'YA': 'Я',
45
+ 'ye': 'е', 'Ye': 'Е', 'YE': 'Е',
46
+ # different kinds of apostrophes
47
+ 'o‘': 'ў', 'O‘': 'Ў', 'oʻ': 'ў', 'Oʻ': 'Ў',
48
+ "o'": 'ў', "O'": 'Ў', "o'": 'ў', "O'": 'Ў',
49
+ 'g‘': 'ғ', 'G‘': 'Ғ', 'gʻ': 'ғ', 'Gʻ': 'Ғ',
50
+ }
51
+ beginning_rules = {
52
+ 'ye': 'е', 'Ye': 'Е', 'YE': 'Е',
53
+ 'e': 'э', 'E': 'Э',
54
+ }
55
+ after_vowel_rules = {
56
+ 'ye': 'е', 'Ye': 'Е', 'YE': 'Е',
57
+ 'e': 'э', 'E': 'Э',
58
+ }
59
+ exception_words_rules = {
60
+ 's': 'ц', 'S': 'Ц',
61
+ 'ts': 'ц', 'Ts': 'Ц', 'TS': 'Ц', # but not tS
62
+ 'e': 'э', 'E': 'э',
63
+ 'sh': 'сҳ', 'Sh': 'Сҳ', 'SH': 'СҲ',
64
+ 'yo': 'йо', 'Yo': 'Йо', 'YO': 'ЙО',
65
+ 'yu': 'йу', 'Yu': 'Йу', 'YU': 'ЙУ',
66
+ 'ya': 'йа', 'Ya': 'Йа', 'YA': 'ЙА',
67
+ }
68
+
69
+ # standardize some characters
70
+ # the first one is the windows string, the second one is the mac string
71
+ text = text.replace('ʻ', '‘')
72
+
73
+ def replace_soft_sign_words(m):
74
+ word = m.group(1)
75
+ if word.isupper():
76
+ result = SOFT_SIGN_WORDS[word.lower()].upper()
77
+ elif word[0].isupper():
78
+ result = SOFT_SIGN_WORDS[word.lower()]
79
+ result = result[0].upper() + result[1:]
80
+ else:
81
+ result = SOFT_SIGN_WORDS[word.lower()]
82
+ return result
83
+
84
+ for word in SOFT_SIGN_WORDS:
85
+ text = re.sub(
86
+ r'\b(%s)' % word,
87
+ replace_soft_sign_words,
88
+ text,
89
+ flags=re.U
90
+ )
91
+
92
+ def replace_exception_words(m):
93
+ """Replace ц (or э) only leaving other characters unchanged"""
94
+ return '%s%s%s' % (
95
+ m.group(1)[:m.start(2)],
96
+ exception_words_rules[m.group(2)],
97
+ m.group(1)[m.end(2):]
98
+ )
99
+
100
+ # loop because of python's limit of 100 named groups
101
+ for word in list(TS_WORDS.keys()) + list(E_WORDS.keys()):
102
+ text = re.sub(
103
+ r'\b(%s)' % word,
104
+ replace_exception_words,
105
+ text,
106
+ flags=re.U
107
+ )
108
+
109
+ # compounds
110
+ text = re.sub(
111
+ r'(%s)' % '|'.join(compounds_first.keys()),
112
+ lambda x: compounds_first[x.group(1)],
113
+ text,
114
+ flags=re.U
115
+ )
116
+
117
+ text = re.sub(
118
+ r'(%s)' % '|'.join(compounds_second.keys()),
119
+ lambda x: compounds_second[x.group(1)],
120
+ text,
121
+ flags=re.U
122
+ )
123
+
124
+ text = re.sub(
125
+ r'\b(%s)' % '|'.join(beginning_rules.keys()),
126
+ lambda x: beginning_rules[x.group(1)],
127
+ text,
128
+ flags=re.U
129
+ )
130
+
131
+ text = re.sub(
132
+ r'(%s)(%s)' % ('|'.join(LATIN_VOWELS),
133
+ '|'.join(after_vowel_rules.keys())),
134
+ lambda x: '%s%s' % (x.group(1), after_vowel_rules[x.group(2)]),
135
+ text,
136
+ flags=re.U
137
+ )
138
+
139
+ text = re.sub(
140
+ r'(%s)' % '|'.join(LATIN_TO_CYRILLIC.keys()),
141
+ lambda x: LATIN_TO_CYRILLIC[x.group(1)],
142
+ text,
143
+ flags=re.U
144
+ )
145
+
146
+ return text
147
+
148
+ def to_latin(self, text):
149
+ """Transliterate cyrillic text to latin using the following rules:
150
+ 1. ц = s at the beginning of a word.
151
+ ц = ts in the middle of a word after a vowel.
152
+ ц = s in the middle of a word after consonant (DEFAULT in CYRILLIC_TO_LATIN)
153
+ цирк = sirk
154
+ цех = sex
155
+ федерация = federatsiya
156
+ функция = funksiya
157
+ 2. е = ye at the beginning of a word or after a vowel.
158
+ е = e in the middle of a word after a consonant (DEFAULT).
159
+ 3. Сентябр = Sentabr, Октябр = Oktabr
160
+ """
161
+ beginning_rules = {
162
+ 'ц': 's', 'Ц': 'S',
163
+ 'е': 'ye', 'Е': 'Ye'
164
+ }
165
+ after_vowel_rules = {
166
+ 'ц': 'ts', 'Ц': 'Ts',
167
+ 'е': 'ye', 'Е': 'Ye'
168
+ }
169
+
170
+ text = re.sub(
171
+ r'(сент|окт)([яЯ])(бр)',
172
+ lambda x: '%s%s%s' % (x.group(1),
173
+ 'a' if x.group(2) == 'я' else 'A', x.group(3)),
174
+ text,
175
+ flags=re.IGNORECASE | re.U
176
+ )
177
+
178
+ text = re.sub(
179
+ r'\b(%s)' % '|'.join(beginning_rules.keys()),
180
+ lambda x: beginning_rules[x.group(1)],
181
+ text,
182
+ flags=re.U
183
+ )
184
+
185
+ text = re.sub(
186
+ r'(%s)(%s)' % ('|'.join(CYRILLIC_VOWELS),
187
+ '|'.join(after_vowel_rules.keys())),
188
+ lambda x: '%s%s' % (x.group(1), after_vowel_rules[x.group(2)]),
189
+ text,
190
+ flags=re.U
191
+ )
192
+
193
+ text = re.sub(
194
+ r'(%s)' % '|'.join(CYRILLIC_TO_LATIN.keys()),
195
+ lambda x: CYRILLIC_TO_LATIN[x.group(1)],
196
+ text,
197
+ flags=re.U
198
+ )
199
+
200
+ return text
201
+
202
+ def transliterate(self, text):
203
+ # print(self.isCyrilic(text))
204
+ if self.isCyrilic(text):
205
+ text = self.to_latin(text)
206
+ else:
207
+ text = self.to_cyrillic(text)
208
+
209
+ # if to_variant == 'cyrillic':
210
+ # text = self.to_cyrillic(text)
211
+ # elif to_variant == 'latin':
212
+ # text = self.to_latin(text)
213
+
214
+ return text
215
+
216
+ def translate_for_summarizer(self, text):
217
+ if not self.isCyrilic(text):
218
+ text = self.to_cyrillic(text)
219
+ return text
220
+
221
+
222
+
223
+ LATIN_TO_CYRILLIC = {
224
+ 'a': 'а', 'A': 'А',
225
+ 'b': 'б', 'B': 'Б',
226
+ 'd': 'д', 'D': 'Д',
227
+ 'e': 'е', 'E': 'Е',
228
+ 'f': 'ф', 'F': 'Ф',
229
+ 'g': 'г', 'G': 'Г',
230
+ 'h': 'ҳ', 'H': 'Ҳ',
231
+ 'i': 'и', 'I': 'И',
232
+ 'j': 'ж', 'J': 'Ж',
233
+ 'k': 'к', 'K': 'К',
234
+ 'l': 'л', 'L': 'Л',
235
+ 'm': 'м', 'M': 'М',
236
+ 'n': 'н', 'N': 'Н',
237
+ 'o': 'о', 'O': 'О',
238
+ 'p': 'п', 'P': 'П',
239
+ 'q': 'қ', 'Q': 'Қ',
240
+ 'r': 'р', 'R': 'Р',
241
+ 's': 'с', 'S': 'С',
242
+ 't': 'т', 'T': 'Т',
243
+ 'u': 'у', 'U': 'У',
244
+ 'v': 'в', 'V': 'В',
245
+ 'x': 'х', 'X': 'Х',
246
+ 'y': 'й', 'Y': 'Й',
247
+ 'z': 'з', 'Z': 'З',
248
+ 'ʼ': 'ъ', # TODO: case?
249
+ }
250
+ LATIN_VOWELS = (
251
+ 'a', 'A', 'e', 'E', 'i', 'I', 'o', 'O', 'u', 'U', 'o‘', 'O‘'
252
+ )
253
+
254
+ # These words cannot be reliably converted to cyrillic because of the lossy
255
+ # nature of the to_latin converter.
256
+ TS_WORDS = {
257
+ 'aberra(ts)ion': 'аберрацион',
258
+ 'aberra(ts)iya': 'аберрация',
259
+ 'abza(ts)': 'абзац',
260
+ 'aboli(ts)iya': 'аболиция',
261
+ 'absorb(s)iya': 'абсорбция',
262
+ 'abstrak(s)ionizm': 'абстракционизм',
263
+ 'abstrak(s)ionist': 'абстракционист',
264
+ 'abstrak(s)iya': 'абстракция',
265
+ 'abs(s)ess': 'абсцесс',
266
+ 'avianose(ts)': 'авианосец',
267
+ 'avia(ts)iya': 'авиация',
268
+ 'avtoinspek(s)iya': 'автоинспекция',
269
+ 'avtopr(s)ep': 'автопрцеп',
270
+ 'avtostan(s)iya': 'автостанция',
271
+ 'agglyutina(ts)iya': 'агглютинация',
272
+ 'agita(ts)ion': 'агитацион',
273
+ 'agita(ts)iya': 'агитация',
274
+ 'aglomera(ts)iya': 'агломерация',
275
+ 'agnosti(ts)izm': 'агностицизм',
276
+ 'agromeliora(ts)iya': 'агромелиорация',
277
+ 'adapta(ts)iya': 'адаптация',
278
+ 'administra(ts)iya': 'администрация',
279
+ 'adsorb(s)iya': 'адсорбция',
280
+ 'aka(ts)iya': 'акация',
281
+ 'akklimatiza(ts)iya': 'акклиматизация',
282
+ 'akkomoda(ts)iya': 'аккомодация',
283
+ 'akkredita(ts)iya': 'аккредитация',
284
+ 'ak(s)ent': 'акцент',
285
+ 'ak(s)iz': 'акциз',
286
+ 'ak(s)ioner': 'акционер',
287
+ 'ak(s)ionerlik': 'акционерлик',
288
+ 'ak(s)iya': 'акция',
289
+ 'ak(s)iyadorlik': 'акциядорлик',
290
+ 'allitera(ts)iya': 'аллитерация',
291
+ 'amortiza(ts)iya': 'амортизация',
292
+ 'amputa(ts)iya': 'ампутация',
293
+ 'annota(ts)iya': 'аннотация',
294
+ 'annulya(ts)iya': 'аннуляция',
295
+ 'anti(ts)iklon': 'антициклон',
296
+ 'antra(ts)it': 'антрацит',
297
+ 'apellya(ts)iya': 'апелляция',
298
+ 'appendi(ts)it': 'аппендицит',
299
+ 'applika(ts)iya': 'аппликация',
300
+ 'aproba(ts)iya': 'апробация',
301
+ 'argumenta(ts)iya': 'аргументация',
302
+ 'assimilya(ts)iya': 'ассимиляция',
303
+ 'asso(ts)ia(ts)iya': 'ассоциация',
304
+ 'attesta(ts)ion': 'аттестацион',
305
+ 'attesta(ts)iya': 'аттестация',
306
+ 'attrak(s)ion': 'аттракцион',
307
+ 'auk(s)ion': 'аукцион',
308
+ 'a(ts)etilen': 'ацетилен',
309
+ 'a(ts)eton': 'ацетон',
310
+ 'aeronaviga(ts)iya': 'аэронавигация',
311
+ 'bakteri(ts)id': 'бактерицид',
312
+ 'ba(ts)illar': 'бациллар',
313
+ 'bioloka(ts)iya': 'биолокация',
314
+ 'biolyumines(s)en(s)iya': 'биолюминесценция',
315
+ 'bo(ts)man': 'боцман',
316
+ 'bronenose(ts)': 'броненосец',
317
+ 'bru(ts)ellyoz': 'бруцеллёз',
318
+ 'vak(s)ina': 'вакцина',
319
+ 'valva(ts)iya': 'вальвация',
320
+ 'vegeta(ts)ion': 'вегетацион',
321
+ 'vegeta(ts)iya': 'вегетация',
322
+ 'venepunk(s)iya': 'венепункция',
323
+ 'ventilya(ts)ion': 'вентиляцион',
324
+ 'ventilya(ts)iya': 'вентиляция',
325
+ 'vibra(ts)iya': 'вибрация',
326
+ 'vibroizolya(ts)iya': 'виброизоляция',
327
+ 'vi(ts)e-': 'вице-',
328
+ 'vi(ts)e-admiral': 'вице-адмирал',
329
+ 'vi(ts)e-prezident': 'вице-президент',
330
+ 'vulkaniza(ts)iya': 'вулканизация',
331
+ 'galli(ts)izm': 'галлицизм',
332
+ 'gallyu(ts)ina(ts)iya': 'галлюцинация',
333
+ 'galvaniza(ts)iya': 'гальванизация',
334
+ 'gastrol-kon(s)ert': 'гастроль-концерт',
335
+ 'gaubi(ts)a': 'гаубица',
336
+ 'gelio(ts)entrik': 'гелиоцентрик',
337
+ 'geno(ts)id': 'геноцид',
338
+ 'geo(ts)entrik': 'геоцентрик',
339
+ 'gerbi(ts)idlar': 'гербицидлар',
340
+ 'ger(s)': 'герц',
341
+ 'ger(s)og': 'герцог',
342
+ 'gia(ts)int': 'гиацинт',
343
+ 'gidromeliora(ts)iya': 'гидромелиорация',
344
+ 'gidromexaniza(ts)iya': 'гидромеханизация',
345
+ 'gidrostan(s)iya': 'гидростанция',
346
+ 'gidroelektrostan(s)iya': 'гидроэлектростанция',
347
+ 'giperinflya(ts)iya': 'гиперинфляция',
348
+ 'gipo(ts)entr': 'гипоцентр',
349
+ 'gli(ts)erin': 'глицерин',
350
+ 'glya(ts)iolog': 'гляциолог',
351
+ 'glya(ts)iologiya': 'гляциология',
352
+ 'gorchi(ts)a': 'горчица',
353
+ 'gravita(ts)iya': 'гравитация',
354
+ 'grada(ts)iya': 'градация',
355
+ 'guseni(ts)a': 'гусеница',
356
+ 'devalva(ts)iya': 'девальвация',
357
+ 'degaza(ts)iya': 'дегазация',
358
+ 'degenera(ts)iya': 'дегенерация',
359
+ 'degustat(s)iya': 'дегустатция',
360
+ 'deduk(s)iya': 'дедукция',
361
+ 'dezaktiva(ts)iya': 'дезактивация',
362
+ 'dezinsek(s)iya': 'дезинсекция',
363
+ 'dezinfek(s)iya': 'дезинфекция',
364
+ 'dezinfek(s)iyalamoq': 'дезинфекцияламоқ',
365
+ 'deklama(ts)iya': 'декламация',
366
+ 'deklama(ts)iyachi': 'декламациячи',
367
+ 'deklara(ts)iya': 'декларация',
368
+ 'dekora(ts)iya': 'декорация',
369
+ 'delega(ts)iya': 'делегация',
370
+ 'delimita(ts)iya': 'делимитация',
371
+ 'demarka(ts)iya': 'демаркация',
372
+ 'demilitariza(ts)iya': 'демилитаризация',
373
+ 'demobiliza(ts)iya': 'демобилизация',
374
+ 'denaturaliza(ts)iya': 'денатурализация',
375
+ 'denomina(ts)iya': 'деноминация',
376
+ 'denonsa(ts)iya': 'денонсация',
377
+ 'depilya(ts)iya': 'депиляция',
378
+ 'deporta(ts)iya': 'депортация',
379
+ 'deratiza(ts)iya': 'дератизация',
380
+ 'deriva(ts)ion': 'деривацион',
381
+ 'deriva(ts)iya': 'деривация',
382
+ 'desika(ts)iya': 'десикация',
383
+ 'detona(ts)iya': 'детонация',
384
+ 'defini(ts)iya': 'дефиниция',
385
+ 'defi(ts)it': 'дефицит',
386
+ 'deflya(ts)iya': 'дефляция',
387
+ 'defolia(ts)iya': 'дефолиация',
388
+ 'deforma(ts)iya': 'деформация',
389
+ 'de(ts)igramm': 'дециграмм',
390
+ 'de(ts)ilitr': 'децилитр',
391
+ 'de(ts)imetr': 'дециметр',
392
+ 'dik(s)iya': 'дикция',
393
+ 'direk(s)iya': 'дирекция',
394
+ 'diskvalifika(ts)iya': 'дисквалификация',
395
+ 'diskrimina(ts)iya': 'дискриминация',
396
+ 'disloka(ts)iya': 'дислокация',
397
+ 'dispropor(s)iya': 'диспропорция',
398
+ 'disserta(ts)iya': 'диссертация',
399
+ 'dissimilya(ts)iya': 'диссимиляция',
400
+ 'disso(ts)ia(ts)iya': 'диссоциация',
401
+ 'distan(s)ion': 'дистанцион',
402
+ 'distan(s)iya': 'дистанция',
403
+ 'distillya(ts)iya': 'дистилляция',
404
+ 'differen(s)ial': 'дифференциал',
405
+ 'differen(s)ia(ts)iya': 'дифференциация',
406
+ 'differen(s)iyalamoq': 'дифференцияламоқ',
407
+ 'dota(ts)iya': 'дотация',
408
+ 'do(ts)ent': 'доцент',
409
+ 'jinoiy-pro(ts)essual': 'жиноий-процессуал',
410
+ 'identifika(ts)iya': 'идентификация',
411
+ 'izolya(ts)ion': 'изоляцион',
412
+ 'izolya(ts)iya': 'изоляция',
413
+ 'izolya(ts)iyalamoq': 'изоляцияламоқ',
414
+ 'illyumina(ts)iya': 'иллюминация',
415
+ 'illyustra(ts)iya': 'иллюстрация',
416
+ 'immigra(ts)iya': 'иммиграция',
417
+ 'immobiliza(ts)iya': 'иммобилизация',
418
+ 'impoten(s)iya': 'импотенция',
419
+ 'improviza(ts)iya': 'импровизация',
420
+ 'inaugura(ts)iya': 'инаугурация',
421
+ 'inventariza(ts)iya': 'инвентаризация',
422
+ 'investi(ts)iya': 'инвестиция',
423
+ 'ingalya(ts)iya': 'ингаляция',
424
+ 'indeksa(ts)iya': 'индексация',
425
+ 'induk(s)ion': 'индукцион',
426
+ 'induk(s)iya': 'индукция',
427
+ 'iner(s)iya': 'инерция',
428
+ 'iner(s)iyali': 'инерцияли',
429
+ 'inkvizi(ts)iya': 'инквизиция',
430
+ 'inkorpora(ts)iya': 'инкорпорация',
431
+ 'inkuba(ts)iya': 'инкубация',
432
+ 'innova(ts)iya': 'инновация',
433
+ 'inspek(s)iya': 'инспекция',
434
+ 'instar(s)iya': 'инстарция',
435
+ 'instruk(s)iya': 'инструкция',
436
+ 'ins(s)enirovka': 'инсценировка',
437
+ 'integra(ts)iya': 'интеграция',
438
+ 'intelligen(s)iya': 'интеллигенция',
439
+ 'interven(s)iya': 'интервенция',
440
+ 'interven(s)iyachi': 'интервенциячи',
441
+ 'interna(ts)ional': 'интернационал',
442
+ 'interna(ts)ionalizm': 'интернационализм',
443
+ 'interna(ts)ionalist': 'интернационалист',
444
+ 'intoksika(ts)iya': 'интоксикация',
445
+ 'intona(ts)ion': 'интонацион',
446
+ 'intona(ts)iya': 'интонация',
447
+ 'intui(ts)iya': 'интуиция',
448
+ 'infek(s)ion': 'инфекцион',
449
+ 'infek(s)iya': 'инфекция',
450
+ 'inflya(ts)iya': 'инфляция',
451
+ 'informa(ts)ion': 'информацион',
452
+ 'informa(ts)iya': 'информация',
453
+ 'inʼek(s)iya': 'инъекция',
454
+ 'irra(ts)ional': 'иррационал',
455
+ 'irriga(ts)ion': 'ирригацион',
456
+ 'irriga(ts)iya': 'ирригация',
457
+ 'kalkulya(ts)iya': 'калькуляция',
458
+ 'kal(s)iy': 'кальций',
459
+ 'kanaliza(ts)iya': 'канализация',
460
+ 'kan(s)eliyariya': 'канцелиярия',
461
+ 'kan(s)erogen': 'канцероген',
462
+ 'kan(s)ler': 'канцлер',
463
+ 'kapitaliza(ts)iya': 'капитализация',
464
+ 'kapitulya(ts)iya': 'капитуляция',
465
+ 'kassa(ts)iya': 'кассация',
466
+ 'katol(s)izm': 'католцизм',
467
+ 'kvalifika(ts)iya': 'квалификация',
468
+ 'kvar(s)': 'кварц',
469
+ 'kvar(s)it': 'кварцит',
470
+ 'kvitan(s)iya': 'квитанция',
471
+ 'kinokon(s)ert': 'киноконцерт',
472
+ 'kinos(s)enariy': 'киносценарий',
473
+ 'klassifika(ts)iya': 'классификация',
474
+ 'klassi(ts)izm': 'классицизм',
475
+ 'koali(ts)ion': 'коалицион',
476
+ 'koali(ts)iya': 'коалиция',
477
+ 'kodifika(ts)iya': 'кодификация',
478
+ 'kollek(s)ioner': 'коллекционер',
479
+ 'kollek(s)iya': 'коллекция',
480
+ 'kollek(s)iyachchi': 'коллекцияччи',
481
+ 'kolon(s)ifra': 'колонцифра',
482
+ 'kombina(ts)iya': 'комбинация',
483
+ 'kommer(s)iya': 'коммерция',
484
+ 'kommunika(ts)iya': 'коммуникация',
485
+ 'kommuta(ts)iya': 'коммутация',
486
+ 'kompensa(ts)iya': 'компенсация',
487
+ 'kompeten(s)iya': 'компетенция',
488
+ 'kompilya(ts)iya': 'компиляция',
489
+ 'kompozi(ts)ion': 'композицион',
490
+ 'kompozi(ts)iya': 'композиция',
491
+ 'konvek(s)iya': 'конвекция',
492
+ 'konven(s)iya': 'конвенция',
493
+ 'konverta(ts)iya': 'конвертация',
494
+ 'kondensa(ts)iya': 'конденсация',
495
+ 'kondi(ts)iya': 'кондиция',
496
+ 'kondi(ts)ioner': 'кондиционер',
497
+ 'konkuren(s)iya': 'конкуренция',
498
+ 'konserva(ts)iya': 'консервация',
499
+ 'konsigna(ts)iya': 'консигнация',
500
+ 'konsolida(ts)iya': 'консолидация',
501
+ 'konsor(s)ium': 'консорциум',
502
+ 'konspira(ts)iya': 'конспирация',
503
+ 'konstitu(ts)ion': 'конституцион',
504
+ 'konstitu(ts)iya': 'конституция',
505
+ 'konstitu(ts)iyaviy': 'конституциявий',
506
+ 'konstruk(s)iya': 'конструкция',
507
+ 'konsulta(ts)iya': 'консультация',
508
+ 'kontrakta(ts)iya': 'контрактация',
509
+ 'kontribu(ts)iya': 'контрибуция',
510
+ 'kontrrevolyu(ts)ion': 'контрреволюцион',
511
+ 'kontrrevolyu(ts)ioner': 'контрреволюционер',
512
+ 'kontrrevolyu(ts)iya': 'контрреволюция',
513
+ 'konfedera(ts)iya': 'конфедерация',
514
+ 'konferen(s)-zal': 'конференц-зал',
515
+ 'konferen(s)iya': 'конференция',
516
+ 'konfiska(ts)iya': 'конфискация',
517
+ 'konfronta(ts)iya': 'конфронтация',
518
+ 'konfu(ts)iylik': 'конфуцийлик',
519
+ 'konfu(ts)iychilik': 'конфуцийчилик',
520
+ 'kon(s)entrat': 'концентрат',
521
+ 'kon(s)entratli': 'концентратли',
522
+ 'kon(s)entra(ts)ion': 'концентрацион',
523
+ 'kon(s)entra(ts)iya': 'концентрация',
524
+ 'kon(s)entra(ts)iyalashmoq': 'концентрациялашмоқ',
525
+ 'kon(s)entrik': 'концентрик',
526
+ 'kon(s)ep(s)iya': 'концепция',
527
+ 'kon(s)ern': 'концерн',
528
+ 'kon(s)ert': 'концерт',
529
+ 'kon(s)ertmeyster': 'концертмейстер',
530
+ 'kon(s)essiya': 'концессия',
531
+ 'kon(s)lager': 'концлагерь',
532
+ 'koopera(ts)iya': 'кооперация',
533
+ 'koopta(ts)iya': 'кооптация',
534
+ 'koordina(ts)ion': 'координацион',
535
+ 'koordina(ts)iya': 'координация',
536
+ 'korpora(ts)iya': 'корпорация',
537
+ 'korrelya(ts)iya': 'корреляция',
538
+ 'korresponden(s)iya': 'корреспонденция',
539
+ 'korrup(s)iya': 'коррупция',
540
+ 'koeffi(ts)iyent': 'коэффициент',
541
+ 'krema(ts)iya': 'кремация',
542
+ 'kristalliza(ts)iya': 'кристаллизация',
543
+ 'kulmina(ts)ion': 'кульминацион',
544
+ 'kulmina(ts)iya': 'кульминация',
545
+ 'kultiva(ts)iya': 'культивация',
546
+ 'lakta(ts)iya': 'лактация',
547
+ 'lamina(ts)iya': 'ламинация',
548
+ 'lan(s)et': 'ланцет',
549
+ 'levomi(ts)etin': 'левомицетин',
550
+ 'legitima(ts)iya': 'легитимация',
551
+ 'leyko(ts)itlar': 'лейкоцитлар',
552
+ 'leyko(ts)itoz': 'лейкоцитоз',
553
+ 'lek(s)iya': 'лекция',
554
+ 'liberaliza(ts)iya': 'либерализация',
555
+ 'li(ts)ey': 'лицей',
556
+ 'li(ts)enziya': 'лицензия',
557
+ 'lokaliza(ts)iya': 'локализация',
558
+ 'loka(ts)iya': 'локация',
559
+ 'lo(ts)man': 'лоцман',
560
+ 'lyumenis(s)en(s)iya': 'люменисценция',
561
+ 'lyute(ts)iy': 'лютеций',
562
+ 'manipulya(ts)iya': 'манипуляция',
563
+ 'margane(ts)': 'марганец',
564
+ 'matri(ts)a': 'матрица',
565
+ 'medi(ts)ina': 'медицина',
566
+ 'meliora(ts)iya': 'мелиорация',
567
+ 'menstrua(ts)iya': 'менструация',
568
+ 'metalliza(ts)iya': 'металлизация',
569
+ 'metiza(ts)iya': 'метизация',
570
+ 'mexaniza(ts)iya': 'механизация',
571
+ 'mexaniza(ts)iyalash': 'механизациялаш',
572
+ 'mexaniza(ts)iyalashmoq': 'механизациялашмоқ',
573
+ 'mexani(ts)izm': 'механицизм',
574
+ 'migra(ts)iya': 'миграция',
575
+ 'mizans(s)ena': 'мизансцена',
576
+ 'militariza(ts)iya': 'милитаризация',
577
+ 'mili(ts)ioner': 'милиционер',
578
+ 'mili(ts)iya': 'милиция',
579
+ 'mili(ts)iyaxona': 'милицияхона',
580
+ 'mineraliza(ts)iya': 'минерализация',
581
+ 'minonose(ts)': 'миноносец',
582
+ 'misti(ts)izm': 'мистицизм',
583
+ 'mobiliza(ts)iya': 'мобилизация',
584
+ 'moderniza(ts)iya': 'модернизация',
585
+ 'moderniza(ts)iyalamoq': 'модернизацияламоқ',
586
+ 'modifika(ts)iya': 'модификация',
587
+ 'moto(ts)ikl': 'мотоцикл',
588
+ 'moto(ts)iklet': 'мотоциклет',
589
+ 'moto(ts)ikletchi': 'мотоциклетчи',
590
+ 'moto(ts)iklli': 'мотоциклли',
591
+ 'moto(ts)iklchi': 'мотоциклчи',
592
+ 'multiplika(ts)ion': 'мультипликацион',
593
+ 'multiplika(ts)iya': 'мультипликация',
594
+ 'muni(ts)ipaliza(ts)iya': 'муниципализация',
595
+ 'muni(ts)ipalitet': 'муниципалитет',
596
+ 'naviga(ts)iya': 'навигация',
597
+ 'naturaliza(ts)iya': 'натурализация',
598
+ 'na(ts)ionaliza(ts)iya': 'национализация',
599
+ 'nene(ts)': 'ненец',
600
+ 'nene(ts)lar': 'ненецлар',
601
+ 'nitrogli(ts)erin': 'нитроглицерин',
602
+ 'nomina(ts)iya': 'номинация',
603
+ 'nostrifika(ts)iya': 'нострификация',
604
+ 'nullifika(ts)iya': 'нуллификация',
605
+ 'obliga(ts)iya': 'облигация',
606
+ 'obroga(ts)iya': 'оброгация',
607
+ 'observa(ts)iya': 'обсервация',
608
+ 'okkupa(ts)ion': 'оккупацион',
609
+ 'okkupa(ts)iya': 'оккупация',
610
+ 'okkupa(ts)iyachi': 'оккупациячи',
611
+ 'opera(ts)iya': 'операция',
612
+ 'opera(ts)iyaviy': 'операциявий',
613
+ 'oppozo(ts)ion': 'оппозоцион',
614
+ 'oppozi(ts)iya': 'оппозиция',
615
+ 'oppozi(ts)iyachi': 'оппозициячи',
616
+ 'op(s)ion': 'опцион',
617
+ 'ordinare(ts)': 'ординарец',
618
+ 'oriyenta(ts)iya': 'ориентация',
619
+ 'osteomalya(ts)iya': 'остеомаляция',
620
+ 'ofi(ts)er': 'офицер',
621
+ 'ofi(ts)iant': 'официант',
622
+ 'ofi(ts)iantka': 'официантка',
623
+ 'palpa(ts)iya': 'пальпация',
624
+ 'pa(ts)iyent': 'пациент',
625
+ 'pa(ts)ifizm': 'пацифизм',
626
+ 'pa(ts)ifist': 'пацифист',
627
+ 'peni(ts)(s)ilin': 'пениццилин',
628
+ 'pesti(ts)idlar': 'пестицидлар',
629
+ 'peti(ts)iya': 'петиция',
630
+ 'petli(ts)a': 'петлица',
631
+ 'pigmenta(ts)iya': 'пигментация',
632
+ 'pin(s)et': 'пинцет',
633
+ 'pi(ts)(s)a': 'пицца',
634
+ 'planta(ts)iya': 'плантация',
635
+ 'pla(ts)darm': 'плацдарм',
636
+ 'pla(ts)kart': 'плацкарт',
637
+ 'pla(ts)karta': 'плацкарта',
638
+ 'pla(ts)kartali': 'плацкартали',
639
+ 'plebis(s)it': 'плебисцит',
640
+ 'podstan(s)iya': 'подстанция',
641
+ 'pozi(ts)ion': 'позицион',
642
+ 'pozi(ts)iya': 'позиция',
643
+ 'poli(ts)iya': 'полиция',
644
+ 'poli(ts)iyachi': 'полициячи',
645
+ 'poli(ts)meyster': 'полицмейстер',
646
+ 'pollyu(ts)iya': 'поллюция',
647
+ 'populya(ts)iya': 'популяция',
648
+ 'por(s)iya': 'порция',
649
+ 'poten(s)ial': 'потенциал',
650
+ 'prezenta(ts)iya': 'презентация',
651
+ 'press-konferen(s)iya': 'пресс-конференция',
652
+ 'preferen(s)iya': 'преференция',
653
+ 'privatiza(ts)iya': 'приватизация',
654
+ 'prin(s)ip': 'принцип',
655
+ 'prin(s)ipial': 'принципиал',
656
+ 'prin(s)ipiallik': 'принципиаллик',
657
+ 'prin(s)ipli': 'принципли',
658
+ 'prin(s)ipsiz': 'принципсиз',
659
+ 'pri(ts)ep': 'прицеп',
660
+ 'provin(s)ializm': 'провинциализм',
661
+ 'provin(s)iya': 'провинция',
662
+ 'provoka(ts)iya': 'провокация',
663
+ 'proyek(s)iya': 'проекция',
664
+ 'proyek(s)iyalamoq': 'проекцияламоқ',
665
+ 'proklama(ts)iya': 'прокламация',
666
+ 'prolonga(ts)iya': 'пролонгация',
667
+ 'propor(s)ional': 'пропорционал',
668
+ 'propor(s)ionallik': 'пропорционаллик',
669
+ 'propor(s)iya': 'пропорция',
670
+ 'protek(s)ionizm': 'протекционизм',
671
+ 'pro(ts)ent': 'процент',
672
+ 'pro(ts)entli': 'процентли',
673
+ 'pro(ts)entchi': 'процентчи',
674
+ 'pro(ts)ess': 'процесс',
675
+ 'pro(ts)essor': 'процессор',
676
+ 'pro(ts)essual': 'процессуал',
677
+ 'publi(ts)ist': 'публицист',
678
+ 'publi(ts)istik': 'публицистик',
679
+ 'publi(ts)istika': 'публицистика',
680
+ 'punktua(ts)ion': 'пунктуацион',
681
+ 'punktua(ts)iya': 'пунктуация',
682
+ 'punk(s)iya': 'пункция',
683
+ 'radia(ts)ion': 'радиацион',
684
+ 'radia(ts)iya': 'радиация',
685
+ 'radioloka(ts)iya': 'радиолокация',
686
+ 'radionaviga(ts)iya': 'радионавигация',
687
+ 'radiostan(s)iya': 'радиостанция',
688
+ 'rane(ts)': 'ранец',
689
+ 'ratifika(ts)iya': 'ратификация',
690
+ 'rafina(ts)iya': 'рафинация',
691
+ 'rafina(ts)iyalash': 'рафинациялаш',
692
+ 'ra(ts)ion': 'рацион',
693
+ 'ra(ts)ional': 'рационал',
694
+ 'ra(ts)ionalizator': 'рационализатор',
695
+ 'ra(ts)ionalizatorlik': 'рационализаторлик',
696
+ 'ra(ts)ionaliza(ts)iya': 'рационализация',
697
+ 'ra(ts)ionalizm': 'рационализм',
698
+ 'ra(ts)ionalist': 'рационалист',
699
+ 'ra(ts)ionlallashmoq': 'рационлаллашмоқ',
700
+ 'ra(ts)iya': 'рация',
701
+ 'reabilita(ts)iya': 'реабилитация',
702
+ 'reak(s)ion': 'реакцион',
703
+ 'reak(s)ioner': 'реакционер',
704
+ 'reak(s)iya': 'реакция',
705
+ 'reak(s)iyachi': 'реакциячи',
706
+ 'realiza(ts)iya': 'реализация',
707
+ 'reanima(ts)iya': 'реанимация',
708
+ 'revalva(ts)iya': 'ревальвация',
709
+ 'revolyu(ts)ion': 'революцион',
710
+ 'revolyu(ts)ioner': 'революционер',
711
+ 'revolyu(ts)iya': 'революция',
712
+ 'regenera(ts)iya': 'регенерация',
713
+ 'registra(ts)iya': 'регистрация',
714
+ 'redak(s)ion': 'редакцион',
715
+ 'redak(s)iya': 'редакция',
716
+ 'reduk(s)iya': 'редукция',
717
+ 'reduplika(ts)iya': 'редупликация',
718
+ 'rezek(s)iya': 'резекция',
719
+ 'reziden(s)iya': 'резиденция',
720
+ 'rezolyu(ts)iya': 'резолюция',
721
+ 'reinvesti(ts)iya': 'реинвестиция',
722
+ 'rekvizi(ts)iya': 'реквизиция',
723
+ 'reklama(ts)iya': 'рекламация',
724
+ 'rekognos(s)irovka': 'рекогносцировка',
725
+ 'rekomenda(ts)iya': 'рекомендация',
726
+ 'rekonstruk(s)iya': 'реконструкция',
727
+ 'rekonstruk(s)iyalamoq': 'реконструкцияламоқ',
728
+ 'remilitariza(ts)iya': 'ремилитаризация',
729
+ 'repara(ts)iya': 'репарация',
730
+ 'repatri(ts)iya': 'репатриция',
731
+ 'repeti(ts)iya': 'репетиция',
732
+ 'reprivatiza(ts)iya': 'реприватизация',
733
+ 'reproduk(s)iya': 'репродукция',
734
+ 'restavra(ts)iya': 'реставрация',
735
+ 'retranslya(ts)iya': 'ретрансляция',
736
+ 'reforma(ts)iya': 'реформация',
737
+ 'refrak(s)iya': 'рефракция',
738
+ 're(ts)enzent': 'рецензент',
739
+ 're(ts)enziya': 'рецензия',
740
+ 're(ts)ept': 'рецепт',
741
+ 're(ts)eptorlar': 'рецепторлар',
742
+ 're(ts)idiv': 'рецидив',
743
+ 're(ts)idivist': 'рецидивист',
744
+ 're(ts)ipiyent': 'реципиент',
745
+ 'reevakua(ts)iya': 'реэвакуация',
746
+ 'reemigra(ts)iya': 'реэмиграция',
747
+ 'ri(ts)arlik': 'рицарлик',
748
+ 'ri(ts)ar': 'рицарь',
749
+ 'rota(ts)ion': 'ротацион',
750
+ 'sana(ts)iya': 'санация',
751
+ 'sana(ts)iyalash': 'санациялаш',
752
+ 'sank(s)iya': 'санкция',
753
+ 'sekre(ts)iya': 'секреция',
754
+ 'sek(s)iya': 'секция',
755
+ 'selek(s)ion': 'селекцион',
756
+ 'selek(s)iya': 'селекция',
757
+ 'selek(s)iyachi': 'селекциячи',
758
+ 'selek(s)iyachilik': 'селекциячилик',
759
+ 'sensa(ts)ion': 'сенсацион',
760
+ 'sensa(ts)iya': 'сенсация',
761
+ 'signaliza(ts)iya': 'сигнализация',
762
+ 'sili(ts)iy': 'силиций',
763
+ 'situa(ts)iya': 'ситуация',
764
+ 'skepti(ts)izm': 'скептицизм',
765
+ 'slane(ts)': 'сланец',
766
+ 'so(ts)ial': 'социал',
767
+ 'so(ts)ial-demokrat': 'социал-демократ',
768
+ 'so(ts)ial-demokratik': 'социал-демократик',
769
+ 'so(ts)ial-demokratiya': 'социал-демократия',
770
+ 'so(ts)ializa(ts)iya': 'социализация',
771
+ 'so(ts)ializm': 'социализм',
772
+ 'so(ts)ialist': 'социалист',
773
+ 'so(ts)ialistik': 'социалистик',
774
+ 'so(ts)iolingvistika': 'социолингвистика',
775
+ 'so(ts)iolog': 'социолог',
776
+ 'so(ts)iologik': 'социологик',
777
+ 'so(ts)iologiya': 'социология',
778
+ 'spekulya(ts)iya': 'спекуляция',
779
+ 'spe(ts)ifik': 'специфик',
780
+ 'spe(ts)ifika': 'специфика',
781
+ 'spe(ts)ifika(ts)iya': 'спецификация',
782
+ 'stabiliza(ts)iya': 'стабилизация',
783
+ 'stan(s)iya': 'станция',
784
+ 'sta(ts)ionar': 'стационар',
785
+ 'steriliza(ts)iya': 'стерилизация',
786
+ 'stoi(ts)izm': 'стоицизм',
787
+ 'stron(s)iy': 'стронций',
788
+ 'substan(s)iya': 'субстанция',
789
+ 's(s)enariy': 'сценарий',
790
+ 's(s)enariychi': 'сценарийчи',
791
+ 's(s)enarist': 'сценарист',
792
+ 'tabli(ts)a': 'таблица',
793
+ 'tan(s)a': 'танца',
794
+ 'teleins(s)enirovka': 'телеинсценировка',
795
+ 'telekommunika(ts)iya': 'телекоммуникация',
796
+ 'telemexaniza(ts)iya': 'телемеханизация',
797
+ 'tenden(s)ioz': 'тенденциоз',
798
+ 'tenden(s)iozlik': 'тенденциозлик',
799
+ 'tenden(s)iya': 'тенденция',
800
+ 'tepli(ts)a': 'теплица',
801
+ 'teploizolya(ts)iya': 'теплоизоляция',
802
+ 'termoizolya(ts)iya': 'термоизоляция',
803
+ 'ter(s)et': 'терцет',
804
+ 'ter(s)iya': 'терция',
805
+ 'texne(ts)iy': 'технеций',
806
+ 'tradi(ts)ion': 'традицион',
807
+ 'tradi(ts)iya': 'традиция',
808
+ 'transkrip(s)ion': 'транскрипцион',
809
+ 'transkrip(s)iya': 'транскрипция',
810
+ 'transkrip(s)iyalamoq': 'транскрипцияламоқ',
811
+ 'translitera(ts)iya': 'транслитерация',
812
+ 'translya(ts)ion': 'трансляцион',
813
+ 'translya(ts)iya': 'трансляция',
814
+ 'transplanta(ts)iya': 'трансплантация',
815
+ 'transforma(ts)iya': 'трансформация',
816
+ 'transforma(ts)iyalamoq': 'трансформацияламоқ',
817
+ 'trape(ts)iya': 'трапеция',
818
+ 'trepana(ts)iya': 'трепанация',
819
+ 'uborshi(ts)a': 'уборшица',
820
+ 'uzurpa(ts)iya': 'узурпация',
821
+ 'unifika(ts)iya': 'унификация',
822
+ 'unifika(ts)iyalashtirmoq': 'унификациялаштирмоқ',
823
+ 'unter-ofi(ts)er': 'унтер-офицер',
824
+ 'urbaniza(ts)iya': 'урбанизация',
825
+ 'fago(ts)it': 'фагоцит',
826
+ 'falsifika(ts)iya': 'фальсификация',
827
+ 'farma(ts)evt': 'фармацевт',
828
+ 'farma(ts)evtika': 'фармацевтика',
829
+ 'farma(ts)iya': 'фармация',
830
+ 'federa(ts)iya': 'федерация',
831
+ 'fermenta(ts)iya': 'ферментация',
832
+ 'film-kon(s)ert': 'фильм-концерт',
833
+ 'filtra(ts)iya': 'фильтрация',
834
+ 'fiton(s)id': 'фитонцид',
835
+ 'forma(ts)iya': 'формация',
836
+ 'frak(s)ion': 'фракцион',
837
+ 'frak(s)iooner': 'фракциоонер',
838
+ 'frak(s)iya': 'фракция',
839
+ 'fran(s)iya': 'франция',
840
+ 'fran(s)uz': 'француз',
841
+ 'fran(s)uzlar': 'французлар',
842
+ 'fran(s)uzcha': 'французча',
843
+ 'fri(ts)': 'фриц',
844
+ 'funk(s)ional': 'функционал',
845
+ 'funk(s)iya': 'функция',
846
+ 'xemosorb(s)iya': 'хемосорбция',
847
+ 'xole(ts)istit': 'холецистит',
848
+ '(s)anga': 'цанга',
849
+ '(s)apfa': 'цапфа',
850
+ '(s)edra': 'цедра',
851
+ '(s)eziy': 'цезий',
852
+ '(s)eytnot': 'цейтнот',
853
+ '(s)ellofan': 'целлофан',
854
+ '(s)elluloid': 'целлулоид',
855
+ '(s)ellyuloza': 'целлюлоза',
856
+ '(s)elsiy': 'цельсий',
857
+ '(s)ement': 'цемент',
858
+ '(s)ementlamoq': 'цементламоқ',
859
+ '(s)enz': 'ценз',
860
+ '(s)enzor': 'цензор',
861
+ '(s)enzura': 'цензура',
862
+ '(s)ent': 'цент',
863
+ '(s)entner': 'центнер',
864
+ '(s)entnerli': 'центнерли',
865
+ '(s)entnerchi': 'центнерчи',
866
+ '(s)entralizm': 'централизм',
867
+ '(s)entrizm': 'центризм',
868
+ '(s)entrist': 'центрист',
869
+ '(s)entrifuga': 'центрифуга',
870
+ '(s)eriy': 'церий',
871
+ '(s)esarka': 'цесарка',
872
+ '(s)ex': 'цех',
873
+ '(s)ian': 'циан',
874
+ '(s)ianli': 'цианли',
875
+ '(s)iviliza(ts)iya': 'цивилизация',
876
+ '(s)igara': 'цигара',
877
+ '(s)ikl': 'цикл',
878
+ '(s)iklik': 'циклик',
879
+ '(s)ikllashtirmoq': 'цикллаштирмоқ',
880
+ '(s)iklli': 'циклли',
881
+ '(s)iklon': 'циклон',
882
+ '(s)iklotron': 'циклотрон',
883
+ '(s)ilindr': 'цилиндр',
884
+ '(s)ilindrik': 'цилиндрик',
885
+ '(s)ilindrli': 'цилиндрли',
886
+ '(s)inga': 'цинга',
887
+ '(s)ink': 'цинк',
888
+ '(s)inkograf': 'цинкограф',
889
+ '(s)inkografiya': 'цинкография',
890
+ '(s)irk': 'цирк',
891
+ '(s)irkoniy': 'цирконий',
892
+ '(s)irkul': 'циркуль',
893
+ '(s)irkulyar': 'циркуляр',
894
+ '(s)irkchi': 'циркчи',
895
+ '(s)irroz': 'цирроз',
896
+ '(s)isterna': 'цистерна',
897
+ '(s)isternali': 'цистернали',
898
+ '(s)istit': 'цистит',
899
+ '(s)itata': 'цитата',
900
+ '(s)itatabozlik': 'цитатабозлик',
901
+ '(s)ito-': 'цито-',
902
+ '(s)itodiagnostika': 'цитодиагностика',
903
+ '(s)itokimyo': 'цитокимё',
904
+ '(s)itoliz': 'цитолиз',
905
+ '(s)itologiya': 'цитология',
906
+ '(s)itrus': 'цитрус',
907
+ '(s)iferblat': 'циферблат',
908
+ '(s)iferblatli': 'циферблатли',
909
+ '(s)okol': 'цоколь',
910
+ '(s)unami': 'цунами',
911
+ 'cherepi(ts)a': 'черепица',
912
+ 'shvey(s)ar': 'швейцар',
913
+ 'shmu(ts)titul': 'шмуцтитул',
914
+ 'shni(ts)el': 'шницель',
915
+ 'shpri(ts)': 'шприц',
916
+ 'shtangen(s)irkul': 'штангенциркуль',
917
+ 'evakua(ts)iya': 'эвакуация',
918
+ 'evolyu(ts)ion': 'эволюцион',
919
+ 'evolyu(ts)iya': 'эволюция',
920
+ 'ego(ts)entrizm': 'эгоцентризм',
921
+ 'eksguma(ts)iya': 'эксгумация',
922
+ 'ekspedi(ts)ion': 'экспедицион',
923
+ 'ekspedi(ts)iya': 'экспедиция',
924
+ 'ekspedi(ts)iyachi': 'экспедициячи',
925
+ 'ekspluata(ts)iya': 'эксплуатация',
926
+ 'ekspluata(ts)iyachi': 'эксплуатациячи',
927
+ 'ekspozi(ts)iya': 'экспозиция',
928
+ 'ekspropria(ts)iya': 'экспроприация',
929
+ 'ekstradi(ts)iya': 'экстрадиция',
930
+ 'ekstrak(s)iya': 'экстракция',
931
+ 'elektrifika(ts)iya': 'электрификация',
932
+ 'elektrostan(s)iya': 'электростанция',
933
+ 'emansipa(ts)iya': 'эмансипация',
934
+ 'emigra(ts)iya': 'эмиграция',
935
+ 'emo(ts)ional': 'эмоционал',
936
+ 'emo(ts)ionallik': 'эмоционаллик',
937
+ 'emo(ts)iya': 'эмоция',
938
+ 'empiriokriti(ts)izm': 'эмпириокритицизм',
939
+ 'en(s)efalit': 'энцефалит',
940
+ 'en(s)efalogramma': 'энцефалограмма',
941
+ 'en(s)iklopedik': 'энциклопедик',
942
+ 'en(s)iklopedist': 'энциклопедист',
943
+ 'en(s)iklopediya': 'энциклопедия',
944
+ 'en(s)iklopediyachi': 'энциклопедиячи',
945
+ 'epi(ts)entr': 'эпицентр',
946
+ 'eritro(ts)itlar': 'эритроцитлар',
947
+ 'erudi(ts)iya': 'эрудиция',
948
+ 'eskala(ts)iya': 'эскалация',
949
+ 'esmine(ts)': 'эсминец',
950
+ 'essen(s)iya': 'эссенция',
951
+ 'yurisdik(s)iya': 'юрисдикция',
952
+ 'yurispruden(s)iya': 'юриспруденция',
953
+ 'yusti(ts)iya': 'юстиция',
954
+ }
955
+ # These words cannot be reliably transliterated into cyrillic
956
+ E_WORDS = {
957
+ 'bel(e)taj': 'бельэтаж',
958
+ 'bugun-(e)rta': 'бугун-эрта',
959
+ 'diqqat-(e)ʼtibor': 'диққат-эътибор',
960
+ 'ich-(e)t': 'ич-эт',
961
+ 'karat(e)': 'каратэ',
962
+ 'm(e)r': 'мэр',
963
+ 'obroʻ-(e)ʼtiborli': 'обрў-эътиборли',
964
+ 'omon-(e)son': 'омон-эсон',
965
+ 'r(e)ket': 'рэкет',
966
+ 'sut(e)mizuvchilar': 'сутэмизувчилар',
967
+ 'upa-(e)lik': 'упа-элик',
968
+ 'xayr-(e)hson': 'хайр-эҳсон',
969
+ 'qayn(e)gachi': 'қайнэгачи',
970
+ }
971
+ # Not to confuse with ш
972
+ SH_WORDS = {
973
+ 'a(sh)ob': 'асҳоб',
974
+ 'mu(sh)af': 'мусҳаф'
975
+ }
976
+ # Not to confuse with ё
977
+ YO_WORDS = {
978
+ 'general-ma(yo)r': 'генерал-майор',
979
+ '(yo)g': 'йог',
980
+ '(yo)ga': 'йога',
981
+ '(yo)gurt': 'йогурт',
982
+ '(yo)d': 'йод',
983
+ '(yo)dlamoq': 'йодламоқ',
984
+ '(yo)dli': 'йодли',
985
+ 'ma(yo)nez': 'майонез',
986
+ 'mikrorayon': 'микрорайон',
987
+ 'ma(yo)r': 'майор',
988
+ 'ra(yo)n': 'район',
989
+ }
990
+ YU_WORDS = {
991
+ 'mo(yu)pa': 'мойупа',
992
+ 'po(yu)stun': 'пойустун'
993
+ }
994
+ YA_WORDS = {
995
+ 'po(ya)bzal': 'пойабзал',
996
+ 'po(ya)ndoz': 'пойандоз',
997
+ 'po(ya)fzal': 'пойафзал'
998
+ }
999
+ YE_WORDS = {
1000
+ 'i(ye)': 'ийе',
1001
+ 'konve(ye)r': 'конвейер',
1002
+ 'ple(ye)r': 'плейер',
1003
+ 'sta(ye)r': 'стайер',
1004
+ 'fo(ye)': 'фойе'
1005
+ }
1006
+ SOFT_SIGN_WORDS = {
1007
+ 'aviamodel': 'авиамодель',
1008
+ 'avtomagistralavtomat': 'автомагистральавтомат',
1009
+ 'avtomobil': 'автомобиль',
1010
+ 'akvarel': 'акварель',
1011
+ 'alkogol': 'алкоголь',
1012
+ 'albatros': 'альбатрос',
1013
+ 'albom': 'альбом',
1014
+ 'alpinizm': 'альпинизм',
1015
+ 'alpinist': 'альпинист',
1016
+ 'alt': 'альт',
1017
+ 'alternativ': 'альтернатив',
1018
+ 'alternativa': 'альтернатива',
1019
+ 'altimetr': 'альтиметр',
1020
+ 'altchi': 'альтчи',
1021
+ 'alfa': 'альфа',
1022
+ 'alfa-zarralar': 'альфа-зарралар',
1023
+ 'alma-terapiya': 'альма-терапия',
1024
+ 'alyans': 'альянс',
1025
+ 'amalgama': 'амальгама',
1026
+ 'ansambl': 'ансамбль',
1027
+ 'apelsin': 'апельсин',
1028
+ 'aprel': 'апрель',
1029
+ 'artel': 'артель',
1030
+ 'artikl': 'артикль',
1031
+ 'arergard': 'арьергард',
1032
+ 'asfalt': 'асфальт',
1033
+ 'asfaltlamoq': 'асфальтламоқ',
1034
+ 'asfaltli': 'асфальтли',
1035
+ 'atele': 'ателье',
1036
+ 'bazalt': 'базальт',
1037
+ 'balzam': 'бальзам',
1038
+ 'balzamlash': 'бальзамлаш',
1039
+ 'balneolog': 'бальнеолог',
1040
+ 'balneologik': 'бальнеологик',
1041
+ 'balneologiya': 'бальнеология',
1042
+ 'balneoterapiya': 'бальнеотерапия',
1043
+ 'balneotexnika': 'бальнеотехника',
1044
+ 'banderol': 'бандероль',
1045
+ 'barelef': 'барельеф',
1046
+ 'barrel': 'баррель',
1047
+ 'barer': 'барьер',
1048
+ 'batalon': 'батальон',
1049
+ 'belveder': 'бельведер',
1050
+ 'belgiyalik': 'бельгиялик',
1051
+ 'belting': 'бельтинг',
1052
+ 'beletaj': 'бельэтаж',
1053
+ 'bilyard': 'бильярд',
1054
+ 'binokl': 'бинокль',
1055
+ 'biofiltr': 'биофильтр',
1056
+ 'bolonya': 'болонья',
1057
+ 'bolshevizm': 'большевизм',
1058
+ 'bolshevik': 'большевик',
1059
+ 'brakonerlik': 'браконьерлик',
1060
+ 'broneavtomobil': 'бронеавтомобиль',
1061
+ 'bron': 'бронь',
1062
+ 'budilnik': 'будильник',
1063
+ 'bulvar': 'бульвар',
1064
+ 'buldenej': 'бульденеж',
1065
+ 'buldog': 'бульдог',
1066
+ 'buldozer': 'бульдозер',
1067
+ 'buldozerchi': 'бульдозерчи',
1068
+ 'bulon': 'бульон',
1069
+ 'byulleten': 'бюллетень',
1070
+ 'valeryanka': 'валерьянка',
1071
+ 'valvatsiya': 'вальвация',
1072
+ 'vals': 'вальс',
1073
+ 'vanil': 'ваниль',
1074
+ 'varete': 'варьете',
1075
+ 'vedomost': 'ведомость',
1076
+ 'veksel': 'вексель',
1077
+ 'ventil': 'вентиль',
1078
+ 'vermishel': 'вермишель',
1079
+ 'verner': 'верньер',
1080
+ 'verf': 'верфь',
1081
+ 'vestibyul': 'вестибюль',
1082
+ 'videofilm': 'видеофильм',
1083
+ 'viklyuchatel': 'виключатель',
1084
+ 'vinetka': 'виньетка',
1085
+ 'violonchel': 'виолончель',
1086
+ 'vklyuchatel': 'включатель',
1087
+ 'vodevil': 'водевиль',
1088
+ 'volost': 'волость',
1089
+ 'volt': 'вольт',
1090
+ 'volta': 'вольта',
1091
+ 'voltli': 'вольтли',
1092
+ 'voltmetr': 'вольтметр',
1093
+ 'volfram': 'вольфрам',
1094
+ 'vulgar': 'вульгар',
1095
+ 'vulgarizm': 'вульгаризм',
1096
+ 'vulgarlashtirmoq': 'вульгарлаштирмоқ',
1097
+ 'gavan': 'гавань',
1098
+ 'galvanizatsiya': 'гальванизация',
1099
+ 'galvanik': 'гальваник',
1100
+ 'galvanometr': 'гальванометр',
1101
+ 'gantel': 'гантель',
1102
+ 'garmon': 'гармонь',
1103
+ 'gastrol': 'гастроль',
1104
+ 'gastrol-konsert': 'гастроль-концерт',
1105
+ 'gelmint': 'гельминт',
1106
+ 'gelmintoz': 'г��льминтоз',
1107
+ 'gelmintologiya': 'гельминтология',
1108
+ 'geraldika': 'геральдика',
1109
+ 'gilza': 'гильза',
1110
+ 'giposulfit': 'гипосульфит',
1111
+ 'golf': 'гольф',
1112
+ 'gorelef': 'горельеф',
1113
+ 'gorizontal': 'горизонталь',
1114
+ 'gospital': 'госпиталь',
1115
+ 'grifel': 'грифель',
1116
+ 'guash': 'гуашь',
1117
+ 'daltonizm': 'дальтонизм',
1118
+ 'dvigatel': 'двигатель',
1119
+ 'devalvatsiya': 'девальвация',
1120
+ 'dekabr': 'декабрь',
1121
+ 'delta': 'дельта',
1122
+ 'delfin': 'дельфин',
1123
+ 'delfinariy': 'дельфинарий',
1124
+ 'delfinsimonlar': 'дельфинсимонлар',
1125
+ 'detal': 'деталь',
1126
+ 'diagonal': 'диагональ',
1127
+ 'diafilm': 'диафильм',
1128
+ 'dizel': 'дизель',
1129
+ 'dizel-motor': 'дизель-мотор',
1130
+ 'dirijabl': 'дирижабль',
1131
+ 'drel': 'дрель',
1132
+ 'duel': 'дуэль',
1133
+ 'jenshen': 'женьшень',
1134
+ 'impuls': 'импульс',
1135
+ 'inventar': 'инвентарь',
1136
+ 'insult': 'инсульт',
1137
+ 'intervyu': 'интервью',
1138
+ 'interer': 'интерьер',
1139
+ 'italyan': 'итальян',
1140
+ 'italyanlar': 'итальянлар',
1141
+ 'italyancha': 'итальянча',
1142
+ 'iyul': 'июль',
1143
+ 'iyun': 'июнь',
1144
+ 'kabel': 'кабель',
1145
+ 'kalendar': 'календарь',
1146
+ 'kalka': 'калька',
1147
+ 'kalkalamoq': 'калькаламоқ',
1148
+ 'kalkulyator': 'калькулятор',
1149
+ 'kalkulyatsiya': 'калькуляция',
1150
+ 'kalsiy': 'кальций',
1151
+ 'kanifol': 'канифоль',
1152
+ 'kapelmeyster': 'капельмейстер',
1153
+ 'kapsyul': 'капсюль',
1154
+ 'karamel': 'карамель',
1155
+ 'kartel': 'картель',
1156
+ 'kartech': 'картечь',
1157
+ 'karusel': 'карусель',
1158
+ 'karer': 'карьер',
1159
+ 'kastryul': 'кастрюль',
1160
+ 'kastryulka': 'кастрюлька',
1161
+ 'katapulta': 'катапульта',
1162
+ 'kafel': 'кафель',
1163
+ 'kinofestival': 'кинофестиваль',
1164
+ 'kinofilm': 'кинофильм',
1165
+ 'kisel': 'кисель',
1166
+ 'kitel': 'китель',
1167
+ 'knyaz': 'князь',
1168
+ 'kobalt': 'кобальт',
1169
+ 'kokil': 'кокиль',
1170
+ 'kokteyl': 'коктейль',
1171
+ 'kompyuter': 'компьютер',
1172
+ 'kompyuterlashtirmoq': 'компьютерлаштирмоқ',
1173
+ 'konsultant': 'консультант',
1174
+ 'konsultativ': 'консультатив',
1175
+ 'konsultatsiya': 'консультация',
1176
+ 'kontrol': 'контроль',
1177
+ 'konferanse': 'конферансье',
1178
+ 'konslager': 'концлагерь',
1179
+ 'kon': 'конь',
1180
+ 'konki': 'коньки',
1181
+ 'konkichi': 'конькичи',
1182
+ 'konyunktiva': 'коньюнктива',
1183
+ 'konyunktivit': 'коньюнктивит',
1184
+ 'konyunktura': 'коньюнктура',
1185
+ 'konyak': 'коньяк',
1186
+ 'korol': 'король',
1187
+ 'kreml': 'кремль',
1188
+ 'krovat': 'кровать',
1189
+ 'kulminatsion': 'кульминацион',
1190
+ 'kulminatsiya': 'кульминация',
1191
+ 'kultivator': 'культиватор',
1192
+ 'kultivatsiya': 'культивация',
1193
+ 'kulturizm': 'культуризм',
1194
+ 'kurer': 'курьер',
1195
+ 'kyat': 'кьят',
1196
+ 'lager': 'лагерь',
1197
+ 'latun': 'латунь',
1198
+ 'losos': 'лосось',
1199
+ 'loson': 'лосьон',
1200
+ 'magistral': 'магистраль',
1201
+ 'marseleza': 'марсельеза',
1202
+ 'mebel': 'мебель',
1203
+ 'medal': 'медаль',
1204
+ 'medalon': 'медальон',
1205
+ 'melxior': 'мельхиор',
1206
+ 'menshevizm': 'меньшевизм',
1207
+ 'menshevik': 'меньшевик',
1208
+ 'migren': 'мигрень',
1209
+ 'mikroinsult': 'микроинсульт',
1210
+ 'mikrofilm': 'микрофильм',
1211
+ 'model': 'модель',
1212
+ 'modeler': 'модельер',
1213
+ 'molbert': 'мольберт',
1214
+ 'monastir': 'монастирь',
1215
+ 'monokultoura': 'монокультоура',
1216
+ 'motel': 'мотель',
1217
+ 'multi-': 'мульти-',
1218
+ 'multimediya': 'мультимедия',
1219
+ 'multimillioner': 'мультимиллионер',
1220
+ 'multiplikatsion': 'мультипликацион',
1221
+ 'multiplikator': 'мультипликатор',
1222
+ 'multiplikatsiya': 'мультипликация',
1223
+ 'neft': 'нефть',
1224
+ 'nikel': 'никель',
1225
+ 'nimpalto': 'нимпальто',
1226
+ 'nippel': 'ниппель',
1227
+ 'nol': 'ноль',
1228
+ 'normal': 'нормаль',
1229
+ 'noyabr': 'ноябрь',
1230
+ 'oblast': 'область',
1231
+ 'okkultizm': 'оккультизм',
1232
+ 'oktabr': 'октябрь',
1233
+ 'otel': 'отель',
1234
+ 'oftalmologiya': 'офтальмология',
1235
+ 'ochered': 'очередь',
1236
+ 'pavilon': 'павильон',
1237
+ 'palma': 'пальма',
1238
+ 'palmazor': 'пальмазор',
1239
+ 'palpatsiya': 'пальпация',
1240
+ 'palto': 'пальто',
1241
+ 'paltobop': 'пальтобоп',
1242
+ 'paltolik': 'пальтолик',
1243
+ 'panel': 'панель',
1244
+ 'parallel': 'параллель',
1245
+ 'parol': 'пароль',
1246
+ 'patrul': 'патруль',
1247
+ 'pedal': 'педаль',
1248
+ 'penalti': 'пенальти',
1249
+ 'pechat': 'печать',
1250
+ 'pechene': 'печенье',
1251
+ 'pech': 'печь',
1252
+ 'plastir': 'пластирь',
1253
+ 'povest': 'повесть',
1254
+ 'polka': 'полька',
1255
+ 'portfel': 'портфель',
1256
+ 'porshen': 'поршень',
1257
+ 'pochtalon': 'почтальон',
1258
+ 'predoxranitel': 'предохранитель',
1259
+ 'premera': 'премьера',
1260
+ 'premer-ministr': 'премьер-министр',
1261
+ 'press-pape': 'пресс-папье',
1262
+ 'press-sekretar': 'пресс-секретарь',
1263
+ 'pristan': 'пристань',
1264
+ 'profil': 'профиль',
1265
+ 'pulverizator': 'пульверизатор',
1266
+ 'pulmonologiya': 'пульмонология',
1267
+ 'pulpa': 'пульпа',
1268
+ 'pulpit': 'пульпит',
1269
+ 'puls': 'пульс',
1270
+ 'pult': 'пульт',
1271
+ 'pesa': 'пьеса',
1272
+ 'radiospektakl': 'радиоспектакль',
1273
+ 'rante': 'рантье',
1274
+ 'revalvatsiya': 'ревальвация',
1275
+ 'revolver': 'револьвер',
1276
+ 'rezba': 'резьба',
1277
+ 'rezbali': 'резьбали',
1278
+ 'relef': 'рельеф',
1279
+ 'rels': 'рельс',
1280
+ 'relsli': 'рельсли',
1281
+ 'relssiz': 'рельссиз',
1282
+ 'retush': 'ретушь',
1283
+ 'riyel': 'риель',
1284
+ 'ritsar': 'рицарь',
1285
+ 'rol': 'роль',
1286
+ 'royal': 'рояль',
1287
+ 'rubilnik': 'рубильник',
1288
+ 'rubl': 'рубль',
1289
+ 'rul': 'руль',
1290
+ 'saldo': 'сальдо',
1291
+ 'salto': 'сальто',
1292
+ 'sekretar': 'секретарь',
1293
+ 'selderey': 'сельдерей',
1294
+ 'seld': 'сельдь',
1295
+ 'sentabr': 'сентябрь',
1296
+ 'senor': 'сеньор',
1297
+ 'senora': 'сеньора',
1298
+ 'sinka': 'синька',
1299
+ 'sinkalamoq': 'синькаламоқ',
1300
+ 'siren': 'сирень',
1301
+ 'skalpel': 'скальпель',
1302
+ 'slesar': 'слесарь',
1303
+ 'sobol': 'соболь',
1304
+ 'sol': 'соль',
1305
+ 'spektakl': 'спектакль',
1306
+ 'spiral': 'спираль',
1307
+ 'statya': 'статья',
1308
+ 'stelka': 'стелька',
1309
+ 'sterjen': 'стержень',
1310
+ 'stil': 'стиль',
1311
+ 'sudya': 'судья',
1312
+ 'sudyalik': 'судьялик',
1313
+ 'sulfat': 'сульфат',
1314
+ 'sulfatlar': 'сульфатлар',
1315
+ 'tabel': 'табель',
1316
+ 'talk': 'тальк',
1317
+ 'tekstil': 'текстиль',
1318
+ 'telefilm': 'телефильм',
1319
+ 'tigel': 'тигель',
1320
+ 'tokar': 'токарь',
1321
+ 'tol': 'толь',
1322
+ 'tonnel': 'тоннель',
1323
+ 'tunnel': 'туннель',
1324
+ 'tush': 'тушь',
1325
+ 'tyulen': 'тюлень',
1326
+ 'tyul': 'тюль',
1327
+ 'ultimatum': 'ультиматум',
1328
+ 'ultra-': 'ультра-',
1329
+ 'ultrabinafsha': 'ультрабинафша',
1330
+ 'ultramikroskop': 'ультрамикроскоп',
1331
+ 'ultratovush': 'ультратовуш',
1332
+ 'ultraqisqa': 'ультрақисқа',
1333
+ 'umivalnik': 'умивальник',
1334
+ 'util': 'утиль',
1335
+ 'fakultativ': 'факультатив',
1336
+ 'fakultet': 'факультет',
1337
+ 'fakultetlalaro': 'факультетлаларо',
1338
+ 'falsifikator': 'фальсификатор',
1339
+ 'falsifikatsiya': 'фальсификация',
1340
+ 'fevral': 'февраль',
1341
+ 'feldmarshal': 'фельдмаршал',
1342
+ 'feldsher': 'фельдшер',
1343
+ 'feldʼeger': 'фельдъегерь',
1344
+ 'feleton': 'фельетон',
1345
+ 'feletonchi': 'фельетончи',
1346
+ 'festival': 'фестиваль',
1347
+ 'fizkultura': 'физкультура',
1348
+ 'fizkulturachi': 'физкультурачи',
1349
+ 'film': 'фильм',
1350
+ 'film-konsert': 'фильм-концерт',
1351
+ 'filmoskop': 'фильмоскоп',
1352
+ 'filmoteka': 'фильмотека',
1353
+ 'filtr': 'фильтр',
1354
+ 'filtratsiya': 'фильтрация',
1355
+ 'filtrlamoq': 'фильтрламоқ',
1356
+ 'filtrli': 'фильтрли',
1357
+ 'folga': 'фольга',
1358
+ 'folklor': 'фольклор',
1359
+ 'folklorist': 'фольклорист',
1360
+ 'folkloristika': 'фольклористика',
1361
+ 'folklorchi': 'фольклорчи',
1362
+ 'folklorshunos': 'фольклоршунос',
1363
+ 'folklorshunoslik': 'фольклоршунослик',
1364
+ 'fonar': 'фонарь',
1365
+ 'fortepyano': 'фортепьяно',
1366
+ 'xolodilnik': 'холодильник',
1367
+ 'xrustal': 'хрусталь',
1368
+ 'selsiy': 'цельсий',
1369
+ 'sirkul': 'циркуль',
1370
+ 'sokol': 'цоколь',
1371
+ 'chizel': 'чизель',
1372
+ 'shagren': 'шагрень',
1373
+ 'shampun': 'шампунь',
1374
+ 'sherst': 'шерсть',
1375
+ 'shinel': 'шинель',
1376
+ 'shifoner': 'шифоньер',
1377
+ 'shnitsel': 'шницель',
1378
+ 'shpatel': 'шпатель',
1379
+ 'shpilka': 'шпилька',
1380
+ 'shpindel': 'шпиндель',
1381
+ 'shtangensirkul': 'штангенциркуль',
1382
+ 'shtapel': 'штапель',
1383
+ 'shtempel': 'штемпель',
1384
+ 'emal': 'эмаль',
1385
+ 'emulsiya': 'эмульсия',
1386
+ 'endshpil': 'эндшпиль',
1387
+ 'eskadrilya': 'эскадрилья',
1388
+ 'yuan': 'юань',
1389
+ 'yuriskonsult': 'юрисконсульт',
1390
+ 'yakor': 'якорь',
1391
+ 'yanvar': 'январь',
1392
+ }
1393
+
1394
+ CYRILLIC_TO_LATIN = {
1395
+ 'а': 'a', 'А': 'A',
1396
+ 'б': 'b', 'Б': 'B',
1397
+ 'в': 'v', 'В': 'V',
1398
+ 'г': 'g', 'Г': 'G',
1399
+ 'д': 'd', 'Д': 'D',
1400
+ 'е': 'e', 'Е': 'E',
1401
+ 'ё': 'yo', 'Ё': 'Yo',
1402
+ 'ж': 'j', 'Ж': 'J',
1403
+ 'з': 'z', 'З': 'Z',
1404
+ 'и': 'i', 'И': 'I',
1405
+ 'й': 'y', 'Й': 'Y',
1406
+ 'к': 'k', 'К': 'K',
1407
+ 'л': 'l', 'Л': 'L',
1408
+ 'м': 'm', 'М': 'M',
1409
+ 'н': 'n', 'Н': 'N',
1410
+ 'о': 'o', 'О': 'O',
1411
+ 'п': 'p', 'П': 'P',
1412
+ 'р': 'r', 'Р': 'R',
1413
+ 'с': 's', 'С': 'S',
1414
+ 'т': 't', 'Т': 'T',
1415
+ 'у': 'u', 'У': 'U',
1416
+ 'ф': 'f', 'Ф': 'F',
1417
+ 'х': 'x', 'Х': 'X',
1418
+ 'ц': 's', 'Ц': 'S',
1419
+ 'ч': 'ch', 'Ч': 'Ch',
1420
+ 'ш': 'sh', 'Ш': 'Sh',
1421
+ 'ъ': 'ʼ', 'Ъ': 'ʼ',
1422
+ 'ь': '', 'Ь': '',
1423
+ 'э': 'e', 'Э': 'E',
1424
+ 'ю': 'yu', 'Ю': 'Yu',
1425
+ 'я': 'ya', 'Я': 'Ya',
1426
+ 'ў': 'oʻ', 'Ў': 'Oʻ',
1427
+ 'қ': 'q', 'Қ': 'Q',
1428
+ 'ғ': 'gʻ', 'Ғ': 'Gʻ',
1429
+ 'ҳ': 'h', 'Ҳ': 'H',
1430
+ }
1431
+ CYRILLIC_VOWELS = (
1432
+ 'а', 'А', 'е', 'Е', 'ё', 'Ё', 'и', 'И', 'о', 'О', 'у', 'У', 'э', 'Э',
1433
+ 'ю', 'Ю', 'я', 'Я', 'ў', 'Ў'
1434
+ )
1435
+
1436
+
1437
+
1438
+
1439
+
1440
+ #
1441
+ # if __name__ == "__main__":
1442
+ # """cat input_in_lat.txt | python transliterate.py > output_in_cyr.txt"""
1443
+ # for line in sys.stdin:
1444
+ # sys.stdout.write(transliterate(line, 'cyrillic'))
1445
+ #
1446
+ # dd = Perevod()
1447
+ # print(dd.transliterate("salom", 'cyrillic'))