-
Notifications
You must be signed in to change notification settings - Fork 0
/
ModernizeRU.py
59 lines (56 loc) · 7.33 KB
/
ModernizeRU.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import re
filename = input("Please enter a .txt file name: ")
try:
filehand = open(filename + ".txt")
except: print("Sorry, that file cannot be opened:", filename +".txt")
with open(filename + ".txt", encoding="utf-8", mode="r") as infile:
original = infile.read()
newdict = {'аго': 'ого', 'Анэстезія': 'Анестезия', 'анэстезія': 'анестезия', 'Аріель': 'Ариэль', 'аріель': 'ариэль',
'без': 'бес', 'Без': 'бес', 'Беконъ': 'Бэкон', 'беконъ': 'бэкон', 'Брандмауеръ': 'Брандмауэр',
'брандмауеръ': 'брандмауэр', 'вз': 'вс', 'Вз': 'Вс', 'Галифэ': 'Галифе', 'галифэ': 'галифе',
'Гигіэна': 'Гигиена', 'гигіэна': 'гигиена', 'Гіэна': 'Гиена', 'гіэна': 'гиена', 'Глэзго': 'Глазго',
'глэзго': 'глазго', 'Діэзъ': 'Диез', 'діэзъ': 'диез', 'Діэта': 'Диета', 'діэта': 'диета', 'Дэнди': 'Денди',
'дэнди': 'денди', 'Евфемизмъ': 'Эвфемизм', 'евфемизмъ': 'эвфемизм', 'Евфуизмъ': 'Эвфуизм',
'евфуизмъ': 'эвфуизм', 'ея': 'ее', 'Ея': 'Ее', 'Еѵ': 'Ев', 'еѵ': 'ев', 'из': 'ис', 'Из': 'Ис',
'Итти': 'Идти', 'итти': 'идти', 'І': 'И', 'і': 'и', 'Іеллоустонъ': 'Йеллоустон', 'іеллоустонъ': 'йеллоустон',
'Іель': 'Йель', 'іель': 'йель', 'Іеменъ': 'Йемен', 'іеменъ': 'йемен', 'Іена': 'Йена', 'іена': 'йена',
'Іети': 'Йети', 'іети': 'йети', 'Іиглава': 'Йиглава', 'іиглава': 'йиглава', 'Іога': 'Йога', 'іога': 'йога',
'іоганнисбергъ': 'йоханнесбург', 'Іоганнисбергъ': 'Йоханнесбург', 'Іогуртовый': 'Йогуртовый',
'іогуртовый': 'йогуртовый', 'Іогуртъ': 'Йогурт', 'іогуртъ': 'йогурт', 'Іогъ': 'Йог', 'іогъ': 'йог',
'Іодатъ': 'Йодат', 'іодатъ': 'йодат', 'Іодидъ': 'Йодид', 'іодидъ': 'йодид', 'Іодиноватый': 'Йодиноватый',
'іодиноватый': 'йодиноватый', 'Іодинолъ': 'Йодинол', 'іодинолъ': 'йодинол', 'Іодированный': 'Йодированный',
'іодированный': 'йодированный', 'Іодисто-Водородный': 'Йодисто-Водородный',
'іодисто-водородный': 'йодисто-водородный', 'Іодистый': 'Йодистый', 'іодистый': 'йодистый', 'Іодъ': 'Йод',
'іодъ': 'йод', 'Іожефъ': 'Йожеф', 'іожефъ': 'йожеф', 'Іокаи': 'Йокаи', 'іокаи': 'йокаи', 'Іонна': 'Йонна',
'іонна': 'йонна', 'Іоркширъ': 'Йоркшир', 'іоркширъ': 'йоркшир', 'Іоркъ': 'Йорк', 'іоркъ': 'йорк',
'Іота': 'Йота', 'іота': 'йота', 'Іочки': 'Йочки', 'іочки': 'йочки', 'іяся': 'иеся', 'Кабарэ': 'Кабаре',
'кабарэ': 'кабаре', 'Кафэ': 'Кафе', 'кафэ': 'кафе', 'Кліэнтъ': 'Клиент', 'кліэнтъ': 'клиент',
'Констэбль': 'Констебль', 'констэбль': 'констебль', 'Коттэджъ': 'Коттедж', 'коттэджъ': 'коттедж',
'Кэтгутъ': 'Кетгут', 'кэтгутъ': 'кетгут', 'Лейкэмія': 'Лейкемия', 'лейкэмія': 'лейкемия', 'Маіоръ': 'Майоръ',
'маіоръ': 'майоръ', 'Макрамэ': 'Макраме', 'макрамэ': 'макраме', 'Меръ': 'Мэр', 'меръ': 'мэр',
'Міэлитъ': 'Миелит', 'міэлитъ': 'миелит', 'Мѣр': 'Мир', 'мѣр': 'мир', 'низ': 'нис', 'Низ': 'Нис',
'Нортумберлэндъ': 'Нортумберленд', 'нортумберлэндъ': 'нортумберленд', 'Нью-Іоркъ': 'Нью-Йоркъ',
'нью-іоркъ': 'нью-йоркъ', 'Однѣ': 'Одни', 'однѣ': 'одни', 'Однѣми': 'Одними', 'однѣми': 'одними',
'Однѣмъ': 'Одним', 'однѣмъ': 'одним', 'Однѣхъ': 'Одних', 'однѣхъ': 'одних', 'Онѣ': 'Они', 'онѣ': 'они',
'Отъэкзаменовать': 'Отэкзаменовать', 'отъэкзаменовать': 'отэкзаменовать', 'Пенснэ': 'Пенсне',
'пенснэ': 'пенсне', 'Піэлитъ': 'Пиелит', 'піэлитъ': 'пиелит', 'Піэмія': 'Пиемия', 'піэмія': 'пиемия',
'Піэтизмъ': 'Пиетизм', 'піэтизмъ': 'пиетизм', 'Піэтистъ': 'Пиетист', 'піэтистъ': 'пиетист',
'Пленеръ': 'Пленэр', 'пленеръ': 'пленэр', 'Пліэ': 'Плие', 'пліэ': 'плие', 'Поліоміэлитъ': 'Полиомиелит',
'поліоміэлитъ': 'полиомиелит', 'Портлэндъ': 'Портленд', 'портлэндъ': 'портленд', 'Портмонэ': 'Портмоне',
'портмонэ': 'портмоне', 'Проэктъ': 'Проект', 'проэктъ': 'проект', 'Проэкція': 'Проекция',
'проэкція': 'проекция', 'раз': 'рас', 'Раз': 'рас', 'роз': 'рос', 'Роз': 'рос', 'Серіозно': 'Серьёзно',
'серіозно': 'серьёзно', 'Съэкономить': 'Сэкономить', 'съэкономить': 'сэкономить', 'Тустэпъ': 'Тустеп',
'тустэпъ': 'тустеп', 'Туэръ': 'Туер', 'туэръ': 'туер', 'Уоллэсъ': 'Уоллес', 'уоллэсъ': 'уоллес',
'Чемберлэнъ': 'Чемберлен', 'чемберлэнъ': 'чемберлен', 'через': 'черес', 'Через': 'черес', 'Чортъ': 'Черт',
'чортъ': 'черт', 'чрез': 'чрес', 'Чрез': 'Чрес', 'Щолкатъ': 'Щелкат', 'щолкатъ': 'щелкат', 'Ъ': '', 'ъ': '',
'ыя': 'ые', 'Ѣ': 'Е', 'ѣ': 'е', 'Эривань': 'Ереван', 'эривань': 'ереван', 'яго': 'его', 'Ѳ': 'Ф', 'ѳ': 'ф',
}
def modernize(original, newdict):
# Sorts key by length in descending order to transliterate atypical spelling changes before single letters
substrs = sorted(newdict, key=len, reverse=True)
# Matches substrings with replacements
regexp = re.compile('|'.join(map(re.escape, substrs)))
newtext = "".join(regexp.sub(lambda match: newdict[match.group(0)], original))
with open(filename + "Modernized.txt", encoding="utf-8", mode="w") as outfile:
outfile.writelines(newtext)
modernize(original, newdict)