UzGPT-uz / krill_to_latin.py
rifkat's picture
added
b852566
# -*- coding: utf-8 -*-
import re
import sys
import random
class Perevod:
def __int__(self):
pass
def isCyrilic(self,text):
limit=7
special_characters = """"ўЎқҚғҒҳҲ'!“@#$%^&*()-”+""?_=,<>/"""
lists = [random.randrange(len(text)) for i in range(10)]
dummy_list = []
for item in lists:
if any(c in special_characters for c in text[item]):
print(text[item])
limit-=1
continue
dummy_list.append(bool(re.search('[а-яА-Я]', text[item])))
if sum(dummy_list)>=limit:
return True
return False
def to_cyrillic(self,text):
"""Transliterate latin text to cyrillic using the following rules:
1. ye = е in the beginning of a word or after a vowel
2. e = э in the beginning of a word or after a vowel
3. ц exception words
4. э exception words
"""
# These compounds must be converted before other letters
compounds_first = {
'ch': 'ч', 'Ch': 'Ч', 'CH': 'Ч',
# this line must come before 's' because it has an 'h'
'sh': 'ш', 'Sh': 'Ш', 'SH': 'Ш',
# This line must come before 'yo' because of it's apostrophe
'yo‘': 'йў', 'Yo‘': 'Йў', 'YO‘': 'ЙЎ',
}
compounds_second = {
'yo': 'ё', 'Yo': 'Ё', 'YO': 'Ё',
# 'ts': 'ц', 'Ts': 'Ц', 'TS': 'Ц', # No need for this, see TS_WORDS
'yu': 'ю', 'Yu': 'Ю', 'YU': 'Ю',
'ya': 'я', 'Ya': 'Я', 'YA': 'Я',
'ye': 'е', 'Ye': 'Е', 'YE': 'Е',
# different kinds of apostrophes
'o‘': 'ў', 'O‘': 'Ў', 'oʻ': 'ў', 'Oʻ': 'Ў',
"o'": 'ў', "O'": 'Ў', "o'": 'ў', "O'": 'Ў',
'g‘': 'ғ', 'G‘': 'Ғ', 'gʻ': 'ғ', 'Gʻ': 'Ғ',
}
beginning_rules = {
'ye': 'е', 'Ye': 'Е', 'YE': 'Е',
'e': 'э', 'E': 'Э',
}
after_vowel_rules = {
'ye': 'е', 'Ye': 'Е', 'YE': 'Е',
'e': 'э', 'E': 'Э',
}
exception_words_rules = {
's': 'ц', 'S': 'Ц',
'ts': 'ц', 'Ts': 'Ц', 'TS': 'Ц', # but not tS
'e': 'э', 'E': 'э',
'sh': 'сҳ', 'Sh': 'Сҳ', 'SH': 'СҲ',
'yo': 'йо', 'Yo': 'Йо', 'YO': 'ЙО',
'yu': 'йу', 'Yu': 'Йу', 'YU': 'ЙУ',
'ya': 'йа', 'Ya': 'Йа', 'YA': 'ЙА',
}
# standardize some characters
# the first one is the windows string, the second one is the mac string
text = text.replace('ʻ', '‘')
def replace_soft_sign_words(m):
word = m.group(1)
if word.isupper():
result = SOFT_SIGN_WORDS[word.lower()].upper()
elif word[0].isupper():
result = SOFT_SIGN_WORDS[word.lower()]
result = result[0].upper() + result[1:]
else:
result = SOFT_SIGN_WORDS[word.lower()]
return result
for word in SOFT_SIGN_WORDS:
text = re.sub(
r'\b(%s)' % word,
replace_soft_sign_words,
text,
flags=re.U
)
def replace_exception_words(m):
"""Replace ц (or э) only leaving other characters unchanged"""
return '%s%s%s' % (
m.group(1)[:m.start(2)],
exception_words_rules[m.group(2)],
m.group(1)[m.end(2):]
)
# loop because of python's limit of 100 named groups
for word in list(TS_WORDS.keys()) + list(E_WORDS.keys()):
text = re.sub(
r'\b(%s)' % word,
replace_exception_words,
text,
flags=re.U
)
# compounds
text = re.sub(
r'(%s)' % '|'.join(compounds_first.keys()),
lambda x: compounds_first[x.group(1)],
text,
flags=re.U
)
text = re.sub(
r'(%s)' % '|'.join(compounds_second.keys()),
lambda x: compounds_second[x.group(1)],
text,
flags=re.U
)
text = re.sub(
r'\b(%s)' % '|'.join(beginning_rules.keys()),
lambda x: beginning_rules[x.group(1)],
text,
flags=re.U
)
text = re.sub(
r'(%s)(%s)' % ('|'.join(LATIN_VOWELS),
'|'.join(after_vowel_rules.keys())),
lambda x: '%s%s' % (x.group(1), after_vowel_rules[x.group(2)]),
text,
flags=re.U
)
text = re.sub(
r'(%s)' % '|'.join(LATIN_TO_CYRILLIC.keys()),
lambda x: LATIN_TO_CYRILLIC[x.group(1)],
text,
flags=re.U
)
return text
def to_latin(self, text):
"""Transliterate cyrillic text to latin using the following rules:
1. ц = s at the beginning of a word.
ц = ts in the middle of a word after a vowel.
ц = s in the middle of a word after consonant (DEFAULT in CYRILLIC_TO_LATIN)
цирк = sirk
цех = sex
федерация = federatsiya
функция = funksiya
2. е = ye at the beginning of a word or after a vowel.
е = e in the middle of a word after a consonant (DEFAULT).
3. Сентябр = Sentabr, Октябр = Oktabr
"""
beginning_rules = {
'ц': 's', 'Ц': 'S',
'е': 'ye', 'Е': 'Ye'
}
after_vowel_rules = {
'ц': 'ts', 'Ц': 'Ts',
'е': 'ye', 'Е': 'Ye'
}
text = re.sub(
r'(сент|окт)([яЯ])(бр)',
lambda x: '%s%s%s' % (x.group(1),
'a' if x.group(2) == 'я' else 'A', x.group(3)),
text,
flags=re.IGNORECASE | re.U
)
text = re.sub(
r'\b(%s)' % '|'.join(beginning_rules.keys()),
lambda x: beginning_rules[x.group(1)],
text,
flags=re.U
)
text = re.sub(
r'(%s)(%s)' % ('|'.join(CYRILLIC_VOWELS),
'|'.join(after_vowel_rules.keys())),
lambda x: '%s%s' % (x.group(1), after_vowel_rules[x.group(2)]),
text,
flags=re.U
)
text = re.sub(
r'(%s)' % '|'.join(CYRILLIC_TO_LATIN.keys()),
lambda x: CYRILLIC_TO_LATIN[x.group(1)],
text,
flags=re.U
)
return text
def transliterate(self, text):
# print(self.isCyrilic(text))
if self.isCyrilic(text):
text = self.to_latin(text)
else:
text = self.to_cyrillic(text)
# if to_variant == 'cyrillic':
# text = self.to_cyrillic(text)
# elif to_variant == 'latin':
# text = self.to_latin(text)
return text
def translate_for_summarizer(self, text):
if not self.isCyrilic(text):
text = self.to_cyrillic(text)
return text
LATIN_TO_CYRILLIC = {
'a': 'а', 'A': 'А',
'b': 'б', 'B': 'Б',
'd': 'д', 'D': 'Д',
'e': 'е', 'E': 'Е',
'f': 'ф', 'F': 'Ф',
'g': 'г', 'G': 'Г',
'h': 'ҳ', 'H': 'Ҳ',
'i': 'и', 'I': 'И',
'j': 'ж', 'J': 'Ж',
'k': 'к', 'K': 'К',
'l': 'л', 'L': 'Л',
'm': 'м', 'M': 'М',
'n': 'н', 'N': 'Н',
'o': 'о', 'O': 'О',
'p': 'п', 'P': 'П',
'q': 'қ', 'Q': 'Қ',
'r': 'р', 'R': 'Р',
's': 'с', 'S': 'С',
't': 'т', 'T': 'Т',
'u': 'у', 'U': 'У',
'v': 'в', 'V': 'В',
'x': 'х', 'X': 'Х',
'y': 'й', 'Y': 'Й',
'z': 'з', 'Z': 'З',
'ʼ': 'ъ', # TODO: case?
}
LATIN_VOWELS = (
'a', 'A', 'e', 'E', 'i', 'I', 'o', 'O', 'u', 'U', 'o‘', 'O‘'
)
# These words cannot be reliably converted to cyrillic because of the lossy
# nature of the to_latin converter.
TS_WORDS = {
'aberra(ts)ion': 'аберрацион',
'aberra(ts)iya': 'аберрация',
'abza(ts)': 'абзац',
'aboli(ts)iya': 'аболиция',
'absorb(s)iya': 'абсорбция',
'abstrak(s)ionizm': 'абстракционизм',
'abstrak(s)ionist': 'абстракционист',
'abstrak(s)iya': 'абстракция',
'abs(s)ess': 'абсцесс',
'avianose(ts)': 'авианосец',
'avia(ts)iya': 'авиация',
'avtoinspek(s)iya': 'автоинспекция',
'avtopr(s)ep': 'автопрцеп',
'avtostan(s)iya': 'автостанция',
'agglyutina(ts)iya': 'агглютинация',
'agita(ts)ion': 'агитацион',
'agita(ts)iya': 'агитация',
'aglomera(ts)iya': 'агломерация',
'agnosti(ts)izm': 'агностицизм',
'agromeliora(ts)iya': 'агромелиорация',
'adapta(ts)iya': 'адаптация',
'administra(ts)iya': 'администрация',
'adsorb(s)iya': 'адсорбция',
'aka(ts)iya': 'акация',
'akklimatiza(ts)iya': 'акклиматизация',
'akkomoda(ts)iya': 'аккомодация',
'akkredita(ts)iya': 'аккредитация',
'ak(s)ent': 'акцент',
'ak(s)iz': 'акциз',
'ak(s)ioner': 'акционер',
'ak(s)ionerlik': 'акционерлик',
'ak(s)iya': 'акция',
'ak(s)iyadorlik': 'акциядорлик',
'allitera(ts)iya': 'аллитерация',
'amortiza(ts)iya': 'амортизация',
'amputa(ts)iya': 'ампутация',
'annota(ts)iya': 'аннотация',
'annulya(ts)iya': 'аннуляция',
'anti(ts)iklon': 'антициклон',
'antra(ts)it': 'антрацит',
'apellya(ts)iya': 'апелляция',
'appendi(ts)it': 'аппендицит',
'applika(ts)iya': 'аппликация',
'aproba(ts)iya': 'апробация',
'argumenta(ts)iya': 'аргументация',
'assimilya(ts)iya': 'ассимиляция',
'asso(ts)ia(ts)iya': 'ассоциация',
'attesta(ts)ion': 'аттестацион',
'attesta(ts)iya': 'аттестация',
'attrak(s)ion': 'аттракцион',
'auk(s)ion': 'аукцион',
'a(ts)etilen': 'ацетилен',
'a(ts)eton': 'ацетон',
'aeronaviga(ts)iya': 'аэронавигация',
'bakteri(ts)id': 'бактерицид',
'ba(ts)illar': 'бациллар',
'bioloka(ts)iya': 'биолокация',
'biolyumines(s)en(s)iya': 'биолюминесценция',
'bo(ts)man': 'боцман',
'bronenose(ts)': 'броненосец',
'bru(ts)ellyoz': 'бруцеллёз',
'vak(s)ina': 'вакцина',
'valva(ts)iya': 'вальвация',
'vegeta(ts)ion': 'вегетацион',
'vegeta(ts)iya': 'вегетация',
'venepunk(s)iya': 'венепункция',
'ventilya(ts)ion': 'вентиляцион',
'ventilya(ts)iya': 'вентиляция',
'vibra(ts)iya': 'вибрация',
'vibroizolya(ts)iya': 'виброизоляция',
'vi(ts)e-': 'вице-',
'vi(ts)e-admiral': 'вице-адмирал',
'vi(ts)e-prezident': 'вице-президент',
'vulkaniza(ts)iya': 'вулканизация',
'galli(ts)izm': 'галлицизм',
'gallyu(ts)ina(ts)iya': 'галлюцинация',
'galvaniza(ts)iya': 'гальванизация',
'gastrol-kon(s)ert': 'гастроль-концерт',
'gaubi(ts)a': 'гаубица',
'gelio(ts)entrik': 'гелиоцентрик',
'geno(ts)id': 'геноцид',
'geo(ts)entrik': 'геоцентрик',
'gerbi(ts)idlar': 'гербицидлар',
'ger(s)': 'герц',
'ger(s)og': 'герцог',
'gia(ts)int': 'гиацинт',
'gidromeliora(ts)iya': 'гидромелиорация',
'gidromexaniza(ts)iya': 'гидромеханизация',
'gidrostan(s)iya': 'гидростанция',
'gidroelektrostan(s)iya': 'гидроэлектростанция',
'giperinflya(ts)iya': 'гиперинфляция',
'gipo(ts)entr': 'гипоцентр',
'gli(ts)erin': 'глицерин',
'glya(ts)iolog': 'гляциолог',
'glya(ts)iologiya': 'гляциология',
'gorchi(ts)a': 'горчица',
'gravita(ts)iya': 'гравитация',
'grada(ts)iya': 'градация',
'guseni(ts)a': 'гусеница',
'devalva(ts)iya': 'девальвация',
'degaza(ts)iya': 'дегазация',
'degenera(ts)iya': 'дегенерация',
'degustat(s)iya': 'дегустатция',
'deduk(s)iya': 'дедукция',
'dezaktiva(ts)iya': 'дезактивация',
'dezinsek(s)iya': 'дезинсекция',
'dezinfek(s)iya': 'дезинфекция',
'dezinfek(s)iyalamoq': 'дезинфекцияламоқ',
'deklama(ts)iya': 'декламация',
'deklama(ts)iyachi': 'декламациячи',
'deklara(ts)iya': 'декларация',
'dekora(ts)iya': 'декорация',
'delega(ts)iya': 'делегация',
'delimita(ts)iya': 'делимитация',
'demarka(ts)iya': 'демаркация',
'demilitariza(ts)iya': 'демилитаризация',
'demobiliza(ts)iya': 'демобилизация',
'denaturaliza(ts)iya': 'денатурализация',
'denomina(ts)iya': 'деноминация',
'denonsa(ts)iya': 'денонсация',
'depilya(ts)iya': 'депиляция',
'deporta(ts)iya': 'депортация',
'deratiza(ts)iya': 'дератизация',
'deriva(ts)ion': 'деривацион',
'deriva(ts)iya': 'деривация',
'desika(ts)iya': 'десикация',
'detona(ts)iya': 'детонация',
'defini(ts)iya': 'дефиниция',
'defi(ts)it': 'дефицит',
'deflya(ts)iya': 'дефляция',
'defolia(ts)iya': 'дефолиация',
'deforma(ts)iya': 'деформация',
'de(ts)igramm': 'дециграмм',
'de(ts)ilitr': 'децилитр',
'de(ts)imetr': 'дециметр',
'dik(s)iya': 'дикция',
'direk(s)iya': 'дирекция',
'diskvalifika(ts)iya': 'дисквалификация',
'diskrimina(ts)iya': 'дискриминация',
'disloka(ts)iya': 'дислокация',
'dispropor(s)iya': 'диспропорция',
'disserta(ts)iya': 'диссертация',
'dissimilya(ts)iya': 'диссимиляция',
'disso(ts)ia(ts)iya': 'диссоциация',
'distan(s)ion': 'дистанцион',
'distan(s)iya': 'дистанция',
'distillya(ts)iya': 'дистилляция',
'differen(s)ial': 'дифференциал',
'differen(s)ia(ts)iya': 'дифференциация',
'differen(s)iyalamoq': 'дифференцияламоқ',
'dota(ts)iya': 'дотация',
'do(ts)ent': 'доцент',
'jinoiy-pro(ts)essual': 'жиноий-процессуал',
'identifika(ts)iya': 'идентификация',
'izolya(ts)ion': 'изоляцион',
'izolya(ts)iya': 'изоляция',
'izolya(ts)iyalamoq': 'изоляцияламоқ',
'illyumina(ts)iya': 'иллюминация',
'illyustra(ts)iya': 'иллюстрация',
'immigra(ts)iya': 'иммиграция',
'immobiliza(ts)iya': 'иммобилизация',
'impoten(s)iya': 'импотенция',
'improviza(ts)iya': 'импровизация',
'inaugura(ts)iya': 'инаугурация',
'inventariza(ts)iya': 'инвентаризация',
'investi(ts)iya': 'инвестиция',
'ingalya(ts)iya': 'ингаляция',
'indeksa(ts)iya': 'индексация',
'induk(s)ion': 'индукцион',
'induk(s)iya': 'индукция',
'iner(s)iya': 'инерция',
'iner(s)iyali': 'инерцияли',
'inkvizi(ts)iya': 'инквизиция',
'inkorpora(ts)iya': 'инкорпорация',
'inkuba(ts)iya': 'инкубация',
'innova(ts)iya': 'инновация',
'inspek(s)iya': 'инспекция',
'instar(s)iya': 'инстарция',
'instruk(s)iya': 'инструкция',
'ins(s)enirovka': 'инсценировка',
'integra(ts)iya': 'интеграция',
'intelligen(s)iya': 'интеллигенция',
'interven(s)iya': 'интервенция',
'interven(s)iyachi': 'интервенциячи',
'interna(ts)ional': 'интернационал',
'interna(ts)ionalizm': 'интернационализм',
'interna(ts)ionalist': 'интернационалист',
'intoksika(ts)iya': 'интоксикация',
'intona(ts)ion': 'интонацион',
'intona(ts)iya': 'интонация',
'intui(ts)iya': 'интуиция',
'infek(s)ion': 'инфекцион',
'infek(s)iya': 'инфекция',
'inflya(ts)iya': 'инфляция',
'informa(ts)ion': 'информацион',
'informa(ts)iya': 'информация',
'inʼek(s)iya': 'инъекция',
'irra(ts)ional': 'иррационал',
'irriga(ts)ion': 'ирригацион',
'irriga(ts)iya': 'ирригация',
'kalkulya(ts)iya': 'калькуляция',
'kal(s)iy': 'кальций',
'kanaliza(ts)iya': 'канализация',
'kan(s)eliyariya': 'канцелиярия',
'kan(s)erogen': 'канцероген',
'kan(s)ler': 'канцлер',
'kapitaliza(ts)iya': 'капитализация',
'kapitulya(ts)iya': 'капитуляция',
'kassa(ts)iya': 'кассация',
'katol(s)izm': 'католцизм',
'kvalifika(ts)iya': 'квалификация',
'kvar(s)': 'кварц',
'kvar(s)it': 'кварцит',
'kvitan(s)iya': 'квитанция',
'kinokon(s)ert': 'киноконцерт',
'kinos(s)enariy': 'киносценарий',
'klassifika(ts)iya': 'классификация',
'klassi(ts)izm': 'классицизм',
'koali(ts)ion': 'коалицион',
'koali(ts)iya': 'коалиция',
'kodifika(ts)iya': 'кодификация',
'kollek(s)ioner': 'коллекционер',
'kollek(s)iya': 'коллекция',
'kollek(s)iyachchi': 'коллекцияччи',
'kolon(s)ifra': 'колонцифра',
'kombina(ts)iya': 'комбинация',
'kommer(s)iya': 'коммерция',
'kommunika(ts)iya': 'коммуникация',
'kommuta(ts)iya': 'коммутация',
'kompensa(ts)iya': 'компенсация',
'kompeten(s)iya': 'компетенция',
'kompilya(ts)iya': 'компиляция',
'kompozi(ts)ion': 'композицион',
'kompozi(ts)iya': 'композиция',
'konvek(s)iya': 'конвекция',
'konven(s)iya': 'конвенция',
'konverta(ts)iya': 'конвертация',
'kondensa(ts)iya': 'конденсация',
'kondi(ts)iya': 'кондиция',
'kondi(ts)ioner': 'кондиционер',
'konkuren(s)iya': 'конкуренция',
'konserva(ts)iya': 'консервация',
'konsigna(ts)iya': 'консигнация',
'konsolida(ts)iya': 'консолидация',
'konsor(s)ium': 'консорциум',
'konspira(ts)iya': 'конспирация',
'konstitu(ts)ion': 'конституцион',
'konstitu(ts)iya': 'конституция',
'konstitu(ts)iyaviy': 'конституциявий',
'konstruk(s)iya': 'конструкция',
'konsulta(ts)iya': 'консультация',
'kontrakta(ts)iya': 'контрактация',
'kontribu(ts)iya': 'контрибуция',
'kontrrevolyu(ts)ion': 'контрреволюцион',
'kontrrevolyu(ts)ioner': 'контрреволюционер',
'kontrrevolyu(ts)iya': 'контрреволюция',
'konfedera(ts)iya': 'конфедерация',
'konferen(s)-zal': 'конференц-зал',
'konferen(s)iya': 'конференция',
'konfiska(ts)iya': 'конфискация',
'konfronta(ts)iya': 'конфронтация',
'konfu(ts)iylik': 'конфуцийлик',
'konfu(ts)iychilik': 'конфуцийчилик',
'kon(s)entrat': 'концентрат',
'kon(s)entratli': 'концентратли',
'kon(s)entra(ts)ion': 'концентрацион',
'kon(s)entra(ts)iya': 'концентрация',
'kon(s)entra(ts)iyalashmoq': 'концентрациялашмоқ',
'kon(s)entrik': 'концентрик',
'kon(s)ep(s)iya': 'концепция',
'kon(s)ern': 'концерн',
'kon(s)ert': 'концерт',
'kon(s)ertmeyster': 'концертмейстер',
'kon(s)essiya': 'концессия',
'kon(s)lager': 'концлагерь',
'koopera(ts)iya': 'кооперация',
'koopta(ts)iya': 'кооптация',
'koordina(ts)ion': 'координацион',
'koordina(ts)iya': 'координация',
'korpora(ts)iya': 'корпорация',
'korrelya(ts)iya': 'корреляция',
'korresponden(s)iya': 'корреспонденция',
'korrup(s)iya': 'коррупция',
'koeffi(ts)iyent': 'коэффициент',
'krema(ts)iya': 'кремация',
'kristalliza(ts)iya': 'кристаллизация',
'kulmina(ts)ion': 'кульминацион',
'kulmina(ts)iya': 'кульминация',
'kultiva(ts)iya': 'культивация',
'lakta(ts)iya': 'лактация',
'lamina(ts)iya': 'ламинация',
'lan(s)et': 'ланцет',
'levomi(ts)etin': 'левомицетин',
'legitima(ts)iya': 'легитимация',
'leyko(ts)itlar': 'лейкоцитлар',
'leyko(ts)itoz': 'лейкоцитоз',
'lek(s)iya': 'лекция',
'liberaliza(ts)iya': 'либерализация',
'li(ts)ey': 'лицей',
'li(ts)enziya': 'лицензия',
'lokaliza(ts)iya': 'локализация',
'loka(ts)iya': 'локация',
'lo(ts)man': 'лоцман',
'lyumenis(s)en(s)iya': 'люменисценция',
'lyute(ts)iy': 'лютеций',
'manipulya(ts)iya': 'манипуляция',
'margane(ts)': 'марганец',
'matri(ts)a': 'матрица',
'medi(ts)ina': 'медицина',
'meliora(ts)iya': 'мелиорация',
'menstrua(ts)iya': 'менструация',
'metalliza(ts)iya': 'металлизация',
'metiza(ts)iya': 'метизация',
'mexaniza(ts)iya': 'механизация',
'mexaniza(ts)iyalash': 'механизациялаш',
'mexaniza(ts)iyalashmoq': 'механизациялашмоқ',
'mexani(ts)izm': 'механицизм',
'migra(ts)iya': 'миграция',
'mizans(s)ena': 'мизансцена',
'militariza(ts)iya': 'милитаризация',
'mili(ts)ioner': 'милиционер',
'mili(ts)iya': 'милиция',
'mili(ts)iyaxona': 'милицияхона',
'mineraliza(ts)iya': 'минерализация',
'minonose(ts)': 'миноносец',
'misti(ts)izm': 'мистицизм',
'mobiliza(ts)iya': 'мобилизация',
'moderniza(ts)iya': 'модернизация',
'moderniza(ts)iyalamoq': 'модернизацияламоқ',
'modifika(ts)iya': 'модификация',
'moto(ts)ikl': 'мотоцикл',
'moto(ts)iklet': 'мотоциклет',
'moto(ts)ikletchi': 'мотоциклетчи',
'moto(ts)iklli': 'мотоциклли',
'moto(ts)iklchi': 'мотоциклчи',
'multiplika(ts)ion': 'мультипликацион',
'multiplika(ts)iya': 'мультипликация',
'muni(ts)ipaliza(ts)iya': 'муниципализация',
'muni(ts)ipalitet': 'муниципалитет',
'naviga(ts)iya': 'навигация',
'naturaliza(ts)iya': 'натурализация',
'na(ts)ionaliza(ts)iya': 'национализация',
'nene(ts)': 'ненец',
'nene(ts)lar': 'ненецлар',
'nitrogli(ts)erin': 'нитроглицерин',
'nomina(ts)iya': 'номинация',
'nostrifika(ts)iya': 'нострификация',
'nullifika(ts)iya': 'нуллификация',
'obliga(ts)iya': 'облигация',
'obroga(ts)iya': 'оброгация',
'observa(ts)iya': 'обсервация',
'okkupa(ts)ion': 'оккупацион',
'okkupa(ts)iya': 'оккупация',
'okkupa(ts)iyachi': 'оккупациячи',
'opera(ts)iya': 'операция',
'opera(ts)iyaviy': 'операциявий',
'oppozo(ts)ion': 'оппозоцион',
'oppozi(ts)iya': 'оппозиция',
'oppozi(ts)iyachi': 'оппозициячи',
'op(s)ion': 'опцион',
'ordinare(ts)': 'ординарец',
'oriyenta(ts)iya': 'ориентация',
'osteomalya(ts)iya': 'остеомаляция',
'ofi(ts)er': 'офицер',
'ofi(ts)iant': 'официант',
'ofi(ts)iantka': 'официантка',
'palpa(ts)iya': 'пальпация',
'pa(ts)iyent': 'пациент',
'pa(ts)ifizm': 'пацифизм',
'pa(ts)ifist': 'пацифист',
'peni(ts)(s)ilin': 'пениццилин',
'pesti(ts)idlar': 'пестицидлар',
'peti(ts)iya': 'петиция',
'petli(ts)a': 'петлица',
'pigmenta(ts)iya': 'пигментация',
'pin(s)et': 'пинцет',
'pi(ts)(s)a': 'пицца',
'planta(ts)iya': 'плантация',
'pla(ts)darm': 'плацдарм',
'pla(ts)kart': 'плацкарт',
'pla(ts)karta': 'плацкарта',
'pla(ts)kartali': 'плацкартали',
'plebis(s)it': 'плебисцит',
'podstan(s)iya': 'подстанция',
'pozi(ts)ion': 'позицион',
'pozi(ts)iya': 'позиция',
'poli(ts)iya': 'полиция',
'poli(ts)iyachi': 'полициячи',
'poli(ts)meyster': 'полицмейстер',
'pollyu(ts)iya': 'поллюция',
'populya(ts)iya': 'популяция',
'por(s)iya': 'порция',
'poten(s)ial': 'потенциал',
'prezenta(ts)iya': 'презентация',
'press-konferen(s)iya': 'пресс-конференция',
'preferen(s)iya': 'преференция',
'privatiza(ts)iya': 'приватизация',
'prin(s)ip': 'принцип',
'prin(s)ipial': 'принципиал',
'prin(s)ipiallik': 'принципиаллик',
'prin(s)ipli': 'принципли',
'prin(s)ipsiz': 'принципсиз',
'pri(ts)ep': 'прицеп',
'provin(s)ializm': 'провинциализм',
'provin(s)iya': 'провинция',
'provoka(ts)iya': 'провокация',
'proyek(s)iya': 'проекция',
'proyek(s)iyalamoq': 'проекцияламоқ',
'proklama(ts)iya': 'прокламация',
'prolonga(ts)iya': 'пролонгация',
'propor(s)ional': 'пропорционал',
'propor(s)ionallik': 'пропорционаллик',
'propor(s)iya': 'пропорция',
'protek(s)ionizm': 'протекционизм',
'pro(ts)ent': 'процент',
'pro(ts)entli': 'процентли',
'pro(ts)entchi': 'процентчи',
'pro(ts)ess': 'процесс',
'pro(ts)essor': 'процессор',
'pro(ts)essual': 'процессуал',
'publi(ts)ist': 'публицист',
'publi(ts)istik': 'публицистик',
'publi(ts)istika': 'публицистика',
'punktua(ts)ion': 'пунктуацион',
'punktua(ts)iya': 'пунктуация',
'punk(s)iya': 'пункция',
'radia(ts)ion': 'радиацион',
'radia(ts)iya': 'радиация',
'radioloka(ts)iya': 'радиолокация',
'radionaviga(ts)iya': 'радионавигация',
'radiostan(s)iya': 'радиостанция',
'rane(ts)': 'ранец',
'ratifika(ts)iya': 'ратификация',
'rafina(ts)iya': 'рафинация',
'rafina(ts)iyalash': 'рафинациялаш',
'ra(ts)ion': 'рацион',
'ra(ts)ional': 'рационал',
'ra(ts)ionalizator': 'рационализатор',
'ra(ts)ionalizatorlik': 'рационализаторлик',
'ra(ts)ionaliza(ts)iya': 'рационализация',
'ra(ts)ionalizm': 'рационализм',
'ra(ts)ionalist': 'рационалист',
'ra(ts)ionlallashmoq': 'рационлаллашмоқ',
'ra(ts)iya': 'рация',
'reabilita(ts)iya': 'реабилитация',
'reak(s)ion': 'реакцион',
'reak(s)ioner': 'реакционер',
'reak(s)iya': 'реакция',
'reak(s)iyachi': 'реакциячи',
'realiza(ts)iya': 'реализация',
'reanima(ts)iya': 'реанимация',
'revalva(ts)iya': 'ревальвация',
'revolyu(ts)ion': 'революцион',
'revolyu(ts)ioner': 'революционер',
'revolyu(ts)iya': 'революция',
'regenera(ts)iya': 'регенерация',
'registra(ts)iya': 'регистрация',
'redak(s)ion': 'редакцион',
'redak(s)iya': 'редакция',
'reduk(s)iya': 'редукция',
'reduplika(ts)iya': 'редупликация',
'rezek(s)iya': 'резекция',
'reziden(s)iya': 'резиденция',
'rezolyu(ts)iya': 'резолюция',
'reinvesti(ts)iya': 'реинвестиция',
'rekvizi(ts)iya': 'реквизиция',
'reklama(ts)iya': 'рекламация',
'rekognos(s)irovka': 'рекогносцировка',
'rekomenda(ts)iya': 'рекомендация',
'rekonstruk(s)iya': 'реконструкция',
'rekonstruk(s)iyalamoq': 'реконструкцияламоқ',
'remilitariza(ts)iya': 'ремилитаризация',
'repara(ts)iya': 'репарация',
'repatri(ts)iya': 'репатриция',
'repeti(ts)iya': 'репетиция',
'reprivatiza(ts)iya': 'реприватизация',
'reproduk(s)iya': 'репродукция',
'restavra(ts)iya': 'реставрация',
'retranslya(ts)iya': 'ретрансляция',
'reforma(ts)iya': 'реформация',
'refrak(s)iya': 'рефракция',
're(ts)enzent': 'рецензент',
're(ts)enziya': 'рецензия',
're(ts)ept': 'рецепт',
're(ts)eptorlar': 'рецепторлар',
're(ts)idiv': 'рецидив',
're(ts)idivist': 'рецидивист',
're(ts)ipiyent': 'реципиент',
'reevakua(ts)iya': 'реэвакуация',
'reemigra(ts)iya': 'реэмиграция',
'ri(ts)arlik': 'рицарлик',
'ri(ts)ar': 'рицарь',
'rota(ts)ion': 'ротацион',
'sana(ts)iya': 'санация',
'sana(ts)iyalash': 'санациялаш',
'sank(s)iya': 'санкция',
'sekre(ts)iya': 'секреция',
'sek(s)iya': 'секция',
'selek(s)ion': 'селекцион',
'selek(s)iya': 'селекция',
'selek(s)iyachi': 'селекциячи',
'selek(s)iyachilik': 'селекциячилик',
'sensa(ts)ion': 'сенсацион',
'sensa(ts)iya': 'сенсация',
'signaliza(ts)iya': 'сигнализация',
'sili(ts)iy': 'силиций',
'situa(ts)iya': 'ситуация',
'skepti(ts)izm': 'скептицизм',
'slane(ts)': 'сланец',
'so(ts)ial': 'социал',
'so(ts)ial-demokrat': 'социал-демократ',
'so(ts)ial-demokratik': 'социал-демократик',
'so(ts)ial-demokratiya': 'социал-демократия',
'so(ts)ializa(ts)iya': 'социализация',
'so(ts)ializm': 'социализм',
'so(ts)ialist': 'социалист',
'so(ts)ialistik': 'социалистик',
'so(ts)iolingvistika': 'социолингвистика',
'so(ts)iolog': 'социолог',
'so(ts)iologik': 'социологик',
'so(ts)iologiya': 'социология',
'spekulya(ts)iya': 'спекуляция',
'spe(ts)ifik': 'специфик',
'spe(ts)ifika': 'специфика',
'spe(ts)ifika(ts)iya': 'спецификация',
'stabiliza(ts)iya': 'стабилизация',
'stan(s)iya': 'станция',
'sta(ts)ionar': 'стационар',
'steriliza(ts)iya': 'стерилизация',
'stoi(ts)izm': 'стоицизм',
'stron(s)iy': 'стронций',
'substan(s)iya': 'субстанция',
's(s)enariy': 'сценарий',
's(s)enariychi': 'сценарийчи',
's(s)enarist': 'сценарист',
'tabli(ts)a': 'таблица',
'tan(s)a': 'танца',
'teleins(s)enirovka': 'телеинсценировка',
'telekommunika(ts)iya': 'телекоммуникация',
'telemexaniza(ts)iya': 'телемеханизация',
'tenden(s)ioz': 'тенденциоз',
'tenden(s)iozlik': 'тенденциозлик',
'tenden(s)iya': 'тенденция',
'tepli(ts)a': 'теплица',
'teploizolya(ts)iya': 'теплоизоляция',
'termoizolya(ts)iya': 'термоизоляция',
'ter(s)et': 'терцет',
'ter(s)iya': 'терция',
'texne(ts)iy': 'технеций',
'tradi(ts)ion': 'традицион',
'tradi(ts)iya': 'традиция',
'transkrip(s)ion': 'транскрипцион',
'transkrip(s)iya': 'транскрипция',
'transkrip(s)iyalamoq': 'транскрипцияламоқ',
'translitera(ts)iya': 'транслитерация',
'translya(ts)ion': 'трансляцион',
'translya(ts)iya': 'трансляция',
'transplanta(ts)iya': 'трансплантация',
'transforma(ts)iya': 'трансформация',
'transforma(ts)iyalamoq': 'трансформацияламоқ',
'trape(ts)iya': 'трапеция',
'trepana(ts)iya': 'трепанация',
'uborshi(ts)a': 'уборшица',
'uzurpa(ts)iya': 'узурпация',
'unifika(ts)iya': 'унификация',
'unifika(ts)iyalashtirmoq': 'унификациялаштирмоқ',
'unter-ofi(ts)er': 'унтер-офицер',
'urbaniza(ts)iya': 'урбанизация',
'fago(ts)it': 'фагоцит',
'falsifika(ts)iya': 'фальсификация',
'farma(ts)evt': 'фармацевт',
'farma(ts)evtika': 'фармацевтика',
'farma(ts)iya': 'фармация',
'federa(ts)iya': 'федерация',
'fermenta(ts)iya': 'ферментация',
'film-kon(s)ert': 'фильм-концерт',
'filtra(ts)iya': 'фильтрация',
'fiton(s)id': 'фитонцид',
'forma(ts)iya': 'формация',
'frak(s)ion': 'фракцион',
'frak(s)iooner': 'фракциоонер',
'frak(s)iya': 'фракция',
'fran(s)iya': 'франция',
'fran(s)uz': 'француз',
'fran(s)uzlar': 'французлар',
'fran(s)uzcha': 'французча',
'fri(ts)': 'фриц',
'funk(s)ional': 'функционал',
'funk(s)iya': 'функция',
'xemosorb(s)iya': 'хемосорбция',
'xole(ts)istit': 'холецистит',
'(s)anga': 'цанга',
'(s)apfa': 'цапфа',
'(s)edra': 'цедра',
'(s)eziy': 'цезий',
'(s)eytnot': 'цейтнот',
'(s)ellofan': 'целлофан',
'(s)elluloid': 'целлулоид',
'(s)ellyuloza': 'целлюлоза',
'(s)elsiy': 'цельсий',
'(s)ement': 'цемент',
'(s)ementlamoq': 'цементламоқ',
'(s)enz': 'ценз',
'(s)enzor': 'цензор',
'(s)enzura': 'цензура',
'(s)ent': 'цент',
'(s)entner': 'центнер',
'(s)entnerli': 'центнерли',
'(s)entnerchi': 'центнерчи',
'(s)entralizm': 'централизм',
'(s)entrizm': 'центризм',
'(s)entrist': 'центрист',
'(s)entrifuga': 'центрифуга',
'(s)eriy': 'церий',
'(s)esarka': 'цесарка',
'(s)ex': 'цех',
'(s)ian': 'циан',
'(s)ianli': 'цианли',
'(s)iviliza(ts)iya': 'цивилизация',
'(s)igara': 'цигара',
'(s)ikl': 'цикл',
'(s)iklik': 'циклик',
'(s)ikllashtirmoq': 'цикллаштирмоқ',
'(s)iklli': 'циклли',
'(s)iklon': 'циклон',
'(s)iklotron': 'циклотрон',
'(s)ilindr': 'цилиндр',
'(s)ilindrik': 'цилиндрик',
'(s)ilindrli': 'цилиндрли',
'(s)inga': 'цинга',
'(s)ink': 'цинк',
'(s)inkograf': 'цинкограф',
'(s)inkografiya': 'цинкография',
'(s)irk': 'цирк',
'(s)irkoniy': 'цирконий',
'(s)irkul': 'циркуль',
'(s)irkulyar': 'циркуляр',
'(s)irkchi': 'циркчи',
'(s)irroz': 'цирроз',
'(s)isterna': 'цистерна',
'(s)isternali': 'цистернали',
'(s)istit': 'цистит',
'(s)itata': 'цитата',
'(s)itatabozlik': 'цитатабозлик',
'(s)ito-': 'цито-',
'(s)itodiagnostika': 'цитодиагностика',
'(s)itokimyo': 'цитокимё',
'(s)itoliz': 'цитолиз',
'(s)itologiya': 'цитология',
'(s)itrus': 'цитрус',
'(s)iferblat': 'циферблат',
'(s)iferblatli': 'циферблатли',
'(s)okol': 'цоколь',
'(s)unami': 'цунами',
'cherepi(ts)a': 'черепица',
'shvey(s)ar': 'швейцар',
'shmu(ts)titul': 'шмуцтитул',
'shni(ts)el': 'шницель',
'shpri(ts)': 'шприц',
'shtangen(s)irkul': 'штангенциркуль',
'evakua(ts)iya': 'эвакуация',
'evolyu(ts)ion': 'эволюцион',
'evolyu(ts)iya': 'эволюция',
'ego(ts)entrizm': 'эгоцентризм',
'eksguma(ts)iya': 'эксгумация',
'ekspedi(ts)ion': 'экспедицион',
'ekspedi(ts)iya': 'экспедиция',
'ekspedi(ts)iyachi': 'экспедициячи',
'ekspluata(ts)iya': 'эксплуатация',
'ekspluata(ts)iyachi': 'эксплуатациячи',
'ekspozi(ts)iya': 'экспозиция',
'ekspropria(ts)iya': 'экспроприация',
'ekstradi(ts)iya': 'экстрадиция',
'ekstrak(s)iya': 'экстракция',
'elektrifika(ts)iya': 'электрификация',
'elektrostan(s)iya': 'электростанция',
'emansipa(ts)iya': 'эмансипация',
'emigra(ts)iya': 'эмиграция',
'emo(ts)ional': 'эмоционал',
'emo(ts)ionallik': 'эмоционаллик',
'emo(ts)iya': 'эмоция',
'empiriokriti(ts)izm': 'эмпириокритицизм',
'en(s)efalit': 'энцефалит',
'en(s)efalogramma': 'энцефалограмма',
'en(s)iklopedik': 'энциклопедик',
'en(s)iklopedist': 'энциклопедист',
'en(s)iklopediya': 'энциклопедия',
'en(s)iklopediyachi': 'энциклопедиячи',
'epi(ts)entr': 'эпицентр',
'eritro(ts)itlar': 'эритроцитлар',
'erudi(ts)iya': 'эрудиция',
'eskala(ts)iya': 'эскалация',
'esmine(ts)': 'эсминец',
'essen(s)iya': 'эссенция',
'yurisdik(s)iya': 'юрисдикция',
'yurispruden(s)iya': 'юриспруденция',
'yusti(ts)iya': 'юстиция',
}
# These words cannot be reliably transliterated into cyrillic
E_WORDS = {
'bel(e)taj': 'бельэтаж',
'bugun-(e)rta': 'бугун-эрта',
'diqqat-(e)ʼtibor': 'диққат-эътибор',
'ich-(e)t': 'ич-эт',
'karat(e)': 'каратэ',
'm(e)r': 'мэр',
'obroʻ-(e)ʼtiborli': 'обрў-эътиборли',
'omon-(e)son': 'омон-эсон',
'r(e)ket': 'рэкет',
'sut(e)mizuvchilar': 'сутэмизувчилар',
'upa-(e)lik': 'упа-элик',
'xayr-(e)hson': 'хайр-эҳсон',
'qayn(e)gachi': 'қайнэгачи',
}
# Not to confuse with ш
SH_WORDS = {
'a(sh)ob': 'асҳоб',
'mu(sh)af': 'мусҳаф'
}
# Not to confuse with ё
YO_WORDS = {
'general-ma(yo)r': 'генерал-майор',
'(yo)g': 'йог',
'(yo)ga': 'йога',
'(yo)gurt': 'йогурт',
'(yo)d': 'йод',
'(yo)dlamoq': 'йодламоқ',
'(yo)dli': 'йодли',
'ma(yo)nez': 'майонез',
'mikrorayon': 'микрорайон',
'ma(yo)r': 'майор',
'ra(yo)n': 'район',
}
YU_WORDS = {
'mo(yu)pa': 'мойупа',
'po(yu)stun': 'пойустун'
}
YA_WORDS = {
'po(ya)bzal': 'пойабзал',
'po(ya)ndoz': 'пойандоз',
'po(ya)fzal': 'пойафзал'
}
YE_WORDS = {
'i(ye)': 'ийе',
'konve(ye)r': 'конвейер',
'ple(ye)r': 'плейер',
'sta(ye)r': 'стайер',
'fo(ye)': 'фойе'
}
SOFT_SIGN_WORDS = {
'aviamodel': 'авиамодель',
'avtomagistralavtomat': 'автомагистральавтомат',
'avtomobil': 'автомобиль',
'akvarel': 'акварель',
'alkogol': 'алкоголь',
'albatros': 'альбатрос',
'albom': 'альбом',
'alpinizm': 'альпинизм',
'alpinist': 'альпинист',
'alt': 'альт',
'alternativ': 'альтернатив',
'alternativa': 'альтернатива',
'altimetr': 'альтиметр',
'altchi': 'альтчи',
'alfa': 'альфа',
'alfa-zarralar': 'альфа-зарралар',
'alma-terapiya': 'альма-терапия',
'alyans': 'альянс',
'amalgama': 'амальгама',
'ansambl': 'ансамбль',
'apelsin': 'апельсин',
'aprel': 'апрель',
'artel': 'артель',
'artikl': 'артикль',
'arergard': 'арьергард',
'asfalt': 'асфальт',
'asfaltlamoq': 'асфальтламоқ',
'asfaltli': 'асфальтли',
'atele': 'ателье',
'bazalt': 'базальт',
'balzam': 'бальзам',
'balzamlash': 'бальзамлаш',
'balneolog': 'бальнеолог',
'balneologik': 'бальнеологик',
'balneologiya': 'бальнеология',
'balneoterapiya': 'бальнеотерапия',
'balneotexnika': 'бальнеотехника',
'banderol': 'бандероль',
'barelef': 'барельеф',
'barrel': 'баррель',
'barer': 'барьер',
'batalon': 'батальон',
'belveder': 'бельведер',
'belgiyalik': 'бельгиялик',
'belting': 'бельтинг',
'beletaj': 'бельэтаж',
'bilyard': 'бильярд',
'binokl': 'бинокль',
'biofiltr': 'биофильтр',
'bolonya': 'болонья',
'bolshevizm': 'большевизм',
'bolshevik': 'большевик',
'brakonerlik': 'браконьерлик',
'broneavtomobil': 'бронеавтомобиль',
'bron': 'бронь',
'budilnik': 'будильник',
'bulvar': 'бульвар',
'buldenej': 'бульденеж',
'buldog': 'бульдог',
'buldozer': 'бульдозер',
'buldozerchi': 'бульдозерчи',
'bulon': 'бульон',
'byulleten': 'бюллетень',
'valeryanka': 'валерьянка',
'valvatsiya': 'вальвация',
'vals': 'вальс',
'vanil': 'ваниль',
'varete': 'варьете',
'vedomost': 'ведомость',
'veksel': 'вексель',
'ventil': 'вентиль',
'vermishel': 'вермишель',
'verner': 'верньер',
'verf': 'верфь',
'vestibyul': 'вестибюль',
'videofilm': 'видеофильм',
'viklyuchatel': 'виключатель',
'vinetka': 'виньетка',
'violonchel': 'виолончель',
'vklyuchatel': 'включатель',
'vodevil': 'водевиль',
'volost': 'волость',
'volt': 'вольт',
'volta': 'вольта',
'voltli': 'вольтли',
'voltmetr': 'вольтметр',
'volfram': 'вольфрам',
'vulgar': 'вульгар',
'vulgarizm': 'вульгаризм',
'vulgarlashtirmoq': 'вульгарлаштирмоқ',
'gavan': 'гавань',
'galvanizatsiya': 'гальванизация',
'galvanik': 'гальваник',
'galvanometr': 'гальванометр',
'gantel': 'гантель',
'garmon': 'гармонь',
'gastrol': 'гастроль',
'gastrol-konsert': 'гастроль-концерт',
'gelmint': 'гельминт',
'gelmintoz': 'гельминтоз',
'gelmintologiya': 'гельминтология',
'geraldika': 'геральдика',
'gilza': 'гильза',
'giposulfit': 'гипосульфит',
'golf': 'гольф',
'gorelef': 'горельеф',
'gorizontal': 'горизонталь',
'gospital': 'госпиталь',
'grifel': 'грифель',
'guash': 'гуашь',
'daltonizm': 'дальтонизм',
'dvigatel': 'двигатель',
'devalvatsiya': 'девальвация',
'dekabr': 'декабрь',
'delta': 'дельта',
'delfin': 'дельфин',
'delfinariy': 'дельфинарий',
'delfinsimonlar': 'дельфинсимонлар',
'detal': 'деталь',
'diagonal': 'диагональ',
'diafilm': 'диафильм',
'dizel': 'дизель',
'dizel-motor': 'дизель-мотор',
'dirijabl': 'дирижабль',
'drel': 'дрель',
'duel': 'дуэль',
'jenshen': 'женьшень',
'impuls': 'импульс',
'inventar': 'инвентарь',
'insult': 'инсульт',
'intervyu': 'интервью',
'interer': 'интерьер',
'italyan': 'итальян',
'italyanlar': 'итальянлар',
'italyancha': 'итальянча',
'iyul': 'июль',
'iyun': 'июнь',
'kabel': 'кабель',
'kalendar': 'календарь',
'kalka': 'калька',
'kalkalamoq': 'калькаламоқ',
'kalkulyator': 'калькулятор',
'kalkulyatsiya': 'калькуляция',
'kalsiy': 'кальций',
'kanifol': 'канифоль',
'kapelmeyster': 'капельмейстер',
'kapsyul': 'капсюль',
'karamel': 'карамель',
'kartel': 'картель',
'kartech': 'картечь',
'karusel': 'карусель',
'karer': 'карьер',
'kastryul': 'кастрюль',
'kastryulka': 'кастрюлька',
'katapulta': 'катапульта',
'kafel': 'кафель',
'kinofestival': 'кинофестиваль',
'kinofilm': 'кинофильм',
'kisel': 'кисель',
'kitel': 'китель',
'knyaz': 'князь',
'kobalt': 'кобальт',
'kokil': 'кокиль',
'kokteyl': 'коктейль',
'kompyuter': 'компьютер',
'kompyuterlashtirmoq': 'компьютерлаштирмоқ',
'konsultant': 'консультант',
'konsultativ': 'консультатив',
'konsultatsiya': 'консультация',
'kontrol': 'контроль',
'konferanse': 'конферансье',
'konslager': 'концлагерь',
'kon': 'конь',
'konki': 'коньки',
'konkichi': 'конькичи',
'konyunktiva': 'коньюнктива',
'konyunktivit': 'коньюнктивит',
'konyunktura': 'коньюнктура',
'konyak': 'коньяк',
'korol': 'король',
'kreml': 'кремль',
'krovat': 'кровать',
'kulminatsion': 'кульминацион',
'kulminatsiya': 'кульминация',
'kultivator': 'культиватор',
'kultivatsiya': 'культивация',
'kulturizm': 'культуризм',
'kurer': 'курьер',
'kyat': 'кьят',
'lager': 'лагерь',
'latun': 'латунь',
'losos': 'лосось',
'loson': 'лосьон',
'magistral': 'магистраль',
'marseleza': 'марсельеза',
'mebel': 'мебель',
'medal': 'медаль',
'medalon': 'медальон',
'melxior': 'мельхиор',
'menshevizm': 'меньшевизм',
'menshevik': 'меньшевик',
'migren': 'мигрень',
'mikroinsult': 'микроинсульт',
'mikrofilm': 'микрофильм',
'model': 'модель',
'modeler': 'модельер',
'molbert': 'мольберт',
'monastir': 'монастирь',
'monokultoura': 'монокультоура',
'motel': 'мотель',
'multi-': 'мульти-',
'multimediya': 'мультимедия',
'multimillioner': 'мультимиллионер',
'multiplikatsion': 'мультипликацион',
'multiplikator': 'мультипликатор',
'multiplikatsiya': 'мультипликация',
'neft': 'нефть',
'nikel': 'никель',
'nimpalto': 'нимпальто',
'nippel': 'ниппель',
'nol': 'ноль',
'normal': 'нормаль',
'noyabr': 'ноябрь',
'oblast': 'область',
'okkultizm': 'оккультизм',
'oktabr': 'октябрь',
'otel': 'отель',
'oftalmologiya': 'офтальмология',
'ochered': 'очередь',
'pavilon': 'павильон',
'palma': 'пальма',
'palmazor': 'пальмазор',
'palpatsiya': 'пальпация',
'palto': 'пальто',
'paltobop': 'пальтобоп',
'paltolik': 'пальтолик',
'panel': 'панель',
'parallel': 'параллель',
'parol': 'пароль',
'patrul': 'патруль',
'pedal': 'педаль',
'penalti': 'пенальти',
'pechat': 'печать',
'pechene': 'печенье',
'pech': 'печь',
'plastir': 'пластирь',
'povest': 'повесть',
'polka': 'полька',
'portfel': 'портфель',
'porshen': 'поршень',
'pochtalon': 'почтальон',
'predoxranitel': 'предохранитель',
'premera': 'премьера',
'premer-ministr': 'премьер-министр',
'press-pape': 'пресс-папье',
'press-sekretar': 'пресс-секретарь',
'pristan': 'пристань',
'profil': 'профиль',
'pulverizator': 'пульверизатор',
'pulmonologiya': 'пульмонология',
'pulpa': 'пульпа',
'pulpit': 'пульпит',
'puls': 'пульс',
'pult': 'пульт',
'pesa': 'пьеса',
'radiospektakl': 'радиоспектакль',
'rante': 'рантье',
'revalvatsiya': 'ревальвация',
'revolver': 'револьвер',
'rezba': 'резьба',
'rezbali': 'резьбали',
'relef': 'рельеф',
'rels': 'рельс',
'relsli': 'рельсли',
'relssiz': 'рельссиз',
'retush': 'ретушь',
'riyel': 'риель',
'ritsar': 'рицарь',
'rol': 'роль',
'royal': 'рояль',
'rubilnik': 'рубильник',
'rubl': 'рубль',
'rul': 'руль',
'saldo': 'сальдо',
'salto': 'сальто',
'sekretar': 'секретарь',
'selderey': 'сельдерей',
'seld': 'сельдь',
'sentabr': 'сентябрь',
'senor': 'сеньор',
'senora': 'сеньора',
'sinka': 'синька',
'sinkalamoq': 'синькаламоқ',
'siren': 'сирень',
'skalpel': 'скальпель',
'slesar': 'слесарь',
'sobol': 'соболь',
'sol': 'соль',
'spektakl': 'спектакль',
'spiral': 'спираль',
'statya': 'статья',
'stelka': 'стелька',
'sterjen': 'стержень',
'stil': 'стиль',
'sudya': 'судья',
'sudyalik': 'судьялик',
'sulfat': 'сульфат',
'sulfatlar': 'сульфатлар',
'tabel': 'табель',
'talk': 'тальк',
'tekstil': 'текстиль',
'telefilm': 'телефильм',
'tigel': 'тигель',
'tokar': 'токарь',
'tol': 'толь',
'tonnel': 'тоннель',
'tunnel': 'туннель',
'tush': 'тушь',
'tyulen': 'тюлень',
'tyul': 'тюль',
'ultimatum': 'ультиматум',
'ultra-': 'ультра-',
'ultrabinafsha': 'ультрабинафша',
'ultramikroskop': 'ультрамикроскоп',
'ultratovush': 'ультратовуш',
'ultraqisqa': 'ультрақисқа',
'umivalnik': 'умивальник',
'util': 'утиль',
'fakultativ': 'факультатив',
'fakultet': 'факультет',
'fakultetlalaro': 'факультетлаларо',
'falsifikator': 'фальсификатор',
'falsifikatsiya': 'фальсификация',
'fevral': 'февраль',
'feldmarshal': 'фельдмаршал',
'feldsher': 'фельдшер',
'feldʼeger': 'фельдъегерь',
'feleton': 'фельетон',
'feletonchi': 'фельетончи',
'festival': 'фестиваль',
'fizkultura': 'физкультура',
'fizkulturachi': 'физкультурачи',
'film': 'фильм',
'film-konsert': 'фильм-концерт',
'filmoskop': 'фильмоскоп',
'filmoteka': 'фильмотека',
'filtr': 'фильтр',
'filtratsiya': 'фильтрация',
'filtrlamoq': 'фильтрламоқ',
'filtrli': 'фильтрли',
'folga': 'фольга',
'folklor': 'фольклор',
'folklorist': 'фольклорист',
'folkloristika': 'фольклористика',
'folklorchi': 'фольклорчи',
'folklorshunos': 'фольклоршунос',
'folklorshunoslik': 'фольклоршунослик',
'fonar': 'фонарь',
'fortepyano': 'фортепьяно',
'xolodilnik': 'холодильник',
'xrustal': 'хрусталь',
'selsiy': 'цельсий',
'sirkul': 'циркуль',
'sokol': 'цоколь',
'chizel': 'чизель',
'shagren': 'шагрень',
'shampun': 'шампунь',
'sherst': 'шерсть',
'shinel': 'шинель',
'shifoner': 'шифоньер',
'shnitsel': 'шницель',
'shpatel': 'шпатель',
'shpilka': 'шпилька',
'shpindel': 'шпиндель',
'shtangensirkul': 'штангенциркуль',
'shtapel': 'штапель',
'shtempel': 'штемпель',
'emal': 'эмаль',
'emulsiya': 'эмульсия',
'endshpil': 'эндшпиль',
'eskadrilya': 'эскадрилья',
'yuan': 'юань',
'yuriskonsult': 'юрисконсульт',
'yakor': 'якорь',
'yanvar': 'январь',
}
CYRILLIC_TO_LATIN = {
'а': 'a', 'А': 'A',
'б': 'b', 'Б': 'B',
'в': 'v', 'В': 'V',
'г': 'g', 'Г': 'G',
'д': 'd', 'Д': 'D',
'е': 'e', 'Е': 'E',
'ё': 'yo', 'Ё': 'Yo',
'ж': 'j', 'Ж': 'J',
'з': 'z', 'З': 'Z',
'и': 'i', 'И': 'I',
'й': 'y', 'Й': 'Y',
'к': 'k', 'К': 'K',
'л': 'l', 'Л': 'L',
'м': 'm', 'М': 'M',
'н': 'n', 'Н': 'N',
'о': 'o', 'О': 'O',
'п': 'p', 'П': 'P',
'р': 'r', 'Р': 'R',
'с': 's', 'С': 'S',
'т': 't', 'Т': 'T',
'у': 'u', 'У': 'U',
'ф': 'f', 'Ф': 'F',
'х': 'x', 'Х': 'X',
'ц': 's', 'Ц': 'S',
'ч': 'ch', 'Ч': 'Ch',
'ш': 'sh', 'Ш': 'Sh',
'ъ': 'ʼ', 'Ъ': 'ʼ',
'ь': '', 'Ь': '',
'э': 'e', 'Э': 'E',
'ю': 'yu', 'Ю': 'Yu',
'я': 'ya', 'Я': 'Ya',
'ў': 'oʻ', 'Ў': 'Oʻ',
'қ': 'q', 'Қ': 'Q',
'ғ': 'gʻ', 'Ғ': 'Gʻ',
'ҳ': 'h', 'Ҳ': 'H',
}
CYRILLIC_VOWELS = (
'а', 'А', 'е', 'Е', 'ё', 'Ё', 'и', 'И', 'о', 'О', 'у', 'У', 'э', 'Э',
'ю', 'Ю', 'я', 'Я', 'ў', 'Ў'
)
#
# if __name__ == "__main__":
# """cat input_in_lat.txt | python transliterate.py > output_in_cyr.txt"""
# for line in sys.stdin:
# sys.stdout.write(transliterate(line, 'cyrillic'))
#
# dd = Perevod()
# print(dd.transliterate("salom", 'cyrillic'))