# -*- coding: utf-8 -*- TRANS_TABLE = { u'а' : 'a', u'б' : 'b', u'в' : 'v', u'г' : 'g', u'д' : 'd', u'е' : 'e', u'ё' : 'io', u'ж' : 'j', u'з' : 'z', u'и' : 'i', u'й' : 'yi', u'к' : 'k', u'л' : 'l', u'м' : 'm', u'н' : 'n', u'о' : 'o', u'п' : 'p', u'р' : 'r', u'с' : 's', u'т' : 't', u'у' : 'u', u'ф' : 'f', u'х' : 'h', u'ц' : 'ts', u'ч' : 'ch', u'ш' : 'sh', u'щ' : 'shch', u'ъ' : '"', u'ы' : 'i', u'ь' : '\'', u'э' : 'ye', u'ю' : 'u', u'я' : 'ya', u'ă' : 'a', u'î' : 'i', u'ţ' : 't', u'â' : 'a', u'ş' : 's', u' ' : '_', } def trans(to_trans): result = u'' to_trans = unicode(to_trans.lower()) for letter in to_trans: try: result += TRANS_TABLE[letter] except KeyError: result += letter return result