added
Browse files- 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'))
|