Transliteration from UA to EN with python
Transliteration UA to EN are based on Resolution of the Cabinet of Ministers of Ukraine #55 (01.27.2010)
Python code
ukr_eng_chars = { 'зг': 'zgh', 'а': 'a', 'б': 'b', 'в': 'v', 'г': 'h', 'ґ': 'g', 'д': 'd', 'е': 'e', 'ж': 'zh', 'з': 'z', 'и': 'y', 'і': 'i', 'к': 'k', 'л': 'l', 'м': 'm', 'н': 'n', 'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't', 'у': 'u', 'ф': 'f', 'х': 'kh', 'ц': 'ts', 'ч': 'ch', 'ш': 'sh', 'щ': 'shch', 'ь': '' } lines = [] with open('namesUA.txt', 'r') as file: for line in file: parts = line.strip().lower().split() newparts = '' newline = '' for part in parts: newpart = '' for char in part: if char in ukr_eng_chars.keys(): newpart += ukr_eng_chars.get(char) elif (char == 'є'): if len(newpart) == 0: newpart += 'ye' else: newpart += 'ie' elif (char == 'ї'): if len(newpart) == 0: newpart += 'yi' else: newpart += 'i' elif (char == 'й'): if len(newpart) == 0: newpart += 'y' else: newpart += 'i' elif (char == 'ю'): if len(newpart) == 0: newpart += 'yu' else: newpart += 'iu' elif (char == 'я'): if len(newpart) == 0: newpart += 'ya' else: newpart += 'ia' else: newpart += '' newparts += newpart + ' ' lines.append(newparts.strip().title()) with open('namesEN.txt', 'w') as file: for line in lines: file.write(line + '\n')
Комментарии
Отправить комментарий