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')
Комментарии
Отправить комментарий