def ru(x):
return x.decode('utf-8'

def ur(x):
return x.encode('utf-8'

тогда просто нужно будет добавлять перед каждым русским словом ru(' слово Х '

и все... или уже на худой конец можно и дописать класс ( к примеру вот простенький..):
class Transliterator:
def u(x):
return x.decode('unicode'

def ru(x):
return x.decode('utf-8'

def __init__(self): pass
def standard(self,text):
res = u""
for i in range(len(text)):
uppercase = True
char = text[i]
if (char != string.upper(char)):
uppercase = False
char = string.lower(char)
if char == ru("а"): tmp = u"a"
elif char == ru("б"): tmp = u"b"
elif char == ru("в"): tmp = u"v"
elif char == ru("г"): tmp = u"g"
elif char == ru("д"): tmp = u"d"
elif char == ru("е"): tmp = u"e"
elif char == ru("ё"): tmp = u"yo"
elif char == ru("ж"): tmp = u"zh"
elif char == ru("з"): tmp = u"z"
elif char == ru("и"): tmp = u"i"
elif char == ru("й"): tmp = u"j"
elif char == ru("к"): tmp = u"k"
elif char == ru("л"): tmp = u"l"
elif char == ru("м"): tmp = u"m"
elif char == ru("н"): tmp = u"n"
elif char == ru("о"): tmp = u"o"
elif char == ru("п"): tmp = u"p"
elif char == ru("р"): tmp = u"r"
elif char == ru("с"): tmp = u"s"
elif char == ru("т"): tmp = u"t"
elif char == ru("у"): tmp = u"u"
elif char == ru("ф"): tmp = u"f"
elif char == ru("х"): tmp = u"h"
elif char == ru("ц"): tmp = u"ts"
elif char == ru("ч"): tmp = u"ch"
elif char == ru("ш"): tmp = u"sh"
elif char == ru("щ"): tmp = u"shch"
elif char == ru("ь"): tmp = u"'"
elif char == ru("ы"): tmp = u"y"
elif char == ru("ъ"): tmp = u"'"
elif char == ru("э"): tmp = u"e"
elif char == ru("ю"): tmp = u"yu"
elif char == ru("я"): tmp = u"ya"
else: tmp = char
if uppercase:
tmp = string.upper(tmp)
res += tmp
return res
def compact(self,text):
res = u""
for i in range(len(text)):
uppercase = True
char = text[i]
if (char != string.upper(char)):
uppercase = False
char = string.lower(char)
if char == ru("а"): tmp = u"a"
elif char == ru("б"): tmp = u"b"
elif char == ru("в"): tmp = u"v"
elif char == ru("г"): tmp = u"g"
elif char == ru("д"): tmp = u"d"
elif char == ru("е"): tmp = u"e"
elif char == ru("ё"): tmp = u"e"
elif char == ru("ж"): tmp = u"*"
elif char == ru("з"): tmp = u"z"
elif char == ru("и"): tmp = u"i"
elif char == ru("й"): tmp = u"j"
elif char == ru("к"): tmp = u"k"
elif char == ru("л"): tmp = u"l"
elif char == ru("м"): tmp = u"m"
elif char == ru("н"): tmp = u"n"
elif char == ru("о"): tmp = u"o"
elif char == ru("п"): tmp = u"p"
elif char == ru("р"): tmp = u"r"
elif char == ru("с"): tmp = u"s"
elif char == ru("т"): tmp = u"t"
elif char == ru("у"): tmp = u"u"
elif char == ru("ф"): tmp = u"f"
elif char == ru("х"): tmp = u"h"
elif char == ru("ц"): tmp = u"c"
elif char == ru("ч"): tmp = u"4"
elif char == ru("ш"): tmp = u"w"
elif char == ru("щ"): tmp = u"w"
elif char == ru("ь"): tmp = u"'"
elif char == ru("ы"): tmp = u"y"
elif char == ru("ъ"): tmp = u"'"
elif char == ru("э"): tmp = u"e"
elif char == ru("ю"): tmp = u"u"
elif char == ru("я"): tmp = u"a"
else: tmp = char
if uppercase:
tmp = string.upper(tmp)
res += tmp
return res
def ultracompact(self, text):
res = u""
uppercase = True
for i in range(len(text)):
char = text[i]
if (char == u" "):
uppercase = not uppercase
char = string.lower(char)
if char == ru("а"): tmp = u"a"
elif char == ru("б"): tmp = u"b"
elif char == ru("в"): tmp = u"v"
elif char == ru("г"): tmp = u"g"
elif char == ru("д"): tmp = u"d"
elif char == ru("е"): tmp = u"e"
elif char == ru("ё"): tmp = u"e"
elif char == ru("ж"): tmp = u"*"
elif char == ru("з"): tmp = u"z"
elif char == ru("и"): tmp = u"i"
elif char == ru("й"): tmp = u"j"
elif char == ru("к"): tmp = u"k"
elif char == ru("л"): tmp = u"l"
elif char == ru("м"): tmp = u"m"
elif char == ru("н"): tmp = u"n"
elif char == ru("о"): tmp = u"o"
elif char == ru("п"): tmp = u"p"
elif char == ru("р"): tmp = u"r"
elif char == ru("с"): tmp = u"s"
elif char == ru("т"): tmp = u"t"
elif char == ru("у"): tmp = u"u"
elif char == ru("ф"): tmp = u"f"
elif char == ru("х"): tmp = u"h"
elif char == ru("ц"): tmp = u"c"
elif char == ru("ч"): tmp = u"4"
elif char == ru("ш"): tmp = u"w"
elif char == ru("щ"): tmp = u"w"
elif char == ru("ь"): tmp = u"'"
elif char == ru("ы"): tmp = u"y"
elif char == ru("ъ"): tmp = u"'"
elif char == ru("э"): tmp = u"e"
elif char == ru("ю"): tmp = u"u"
elif char == ru("я"): tmp = u"a"
else: tmp = char
if uppercase:
tmp = string.upper(tmp)
res += tmp
return res
def my_capitalize(text):
text = string.capitalize(text)
res = u""
i = 0
while i < len(text):
if text[i] == u" ":
if i+1 < len(text):
res += u" " + string.upper(text[i+1])
i += 1
else: res += u" "
else: res += text[i]
i += 1
return res