from translit import Lexicon en2el = Lexicon('corpora/en2el.txt') rules = sorted([(v,k) for k,v in en2el.rule_model.items()]) rules = reversed(sorted([(v,k) for k,v in en2el.rule_model.items()])) rules = list(reversed(sorted([(v,k) for k,v in en2el.rule_model.items()]))) rules = [v for k,v in rules] def translit(word): letters = list(word) for i, letter in enumerate(letters): letters[i] = lookup(letter) return ''.join(letters) def lookup(letter): for rule in rules: if letter in rule: return rule[1] else: return letter