master
asamoukin 16 years ago
parent e47cc954ee
commit 9599bd713b

@ -143,7 +143,7 @@ class lang:
def __translate(self,message): def __translate(self,message):
"""Метод translate возвращает полученное значение без """Метод translate возвращает полученное значение без
изменеsmfprjadnwний""" изменений"""
return message return message
def setLanguage(self,module): def setLanguage(self,module):
@ -163,6 +163,10 @@ class lang:
self.__setLang(mod) self.__setLang(mod)
return self.__setLang(module) return self.__setLang(module)
def __utf8Translate(self, *arg, **argv):
"""Изменение кодировки переведенной строки на UTF-8"""
return self.ugettext(*arg , **argv).encode("UTF-8")
def __setLang(self,module): def __setLang(self,module):
""" Установка языка перевода для модуля module. """ Установка языка перевода для модуля module.
@ -192,7 +196,11 @@ class lang:
"""Если найден словарь то инициализируем переводчик""" """Если найден словарь то инициализируем переводчик"""
transl = gettext.translation(nameDomain\ transl = gettext.translation(nameDomain\
,self.__catalog,la) ,self.__catalog,la)
module._ = transl.ugettext
transl.__utf8Translate =\
lang.__utf8Translate.__get__(transl)
module._ = transl.__utf8Translate
#module._ = transl.ugettext
ret = 1 ret = 1
else: else:
module._ = self.__translate module._ = self.__translate

@ -55,10 +55,8 @@ def prettyColumnStr(*cols):
# перевести текст в юникод, заодно перевести числа в строку # перевести текст в юникод, заодно перевести числа в строку
noconvert = False noconvert = False
space = u' ' space = u' '
nospace = u''
for i in xrange(0,len(cols),2): for i in xrange(0,len(cols),2):
if type(cols[i]) == types.UnicodeType:
space = " "
noconvert = True
cols[i] = _toUNICODE(cols[i]) cols[i] = _toUNICODE(cols[i])
# флаг "есть еще текст для вывода" # флаг "есть еще текст для вывода"
repeat = True repeat = True
@ -84,7 +82,7 @@ def prettyColumnStr(*cols):
cellspacing = space cellspacing = space
else: else:
# разделитель не нужен # разделитель не нужен
cellspacing = "" cellspacing = nospace
# если перевод строки найден, то # если перевод строки найден, то
if brfind != None: if brfind != None:
@ -128,11 +126,7 @@ def prettyColumnStr(*cols):
partstr = partstr.ljust(cols[q+1], ' ') partstr = partstr.ljust(cols[q+1], ' ')
cols[q] = '' cols[q] = ''
# добавить к возвращаемой строки полученную + пробел retstr+= partstr + cellspacing
if noconvert:
retstr+= partstr + cellspacing
else:
retstr+= partstr.encode('utf8') + cellspacing
# остальную часть строки оставить на следующую итерацию # остальную часть строки оставить на следующую итерацию
# если от строки что то осаталось # если от строки что то осаталось
@ -143,7 +137,7 @@ def prettyColumnStr(*cols):
q += 2 q += 2
# колонки отображены # колонки отображены
retstr += "\n" retstr += "\n"
return retstr return retstr.encode('utf8')
def columnStr(*cols): def columnStr(*cols):
'''Вывод данных по колонкам, причем, если данные не вмещаются в указнаную '''Вывод данных по колонкам, причем, если данные не вмещаются в указнаную
@ -254,10 +248,9 @@ def justify(s,width):
# переводим в юникод для правильного вычисления длины # переводим в юникод для правильного вычисления длины
try: try:
s = s.decode( 'utf-8' ) s = s.decode( 'utf-8' )
needConver = True
# пропуск если это не utf-8 # пропуск если это не utf-8
except UnicodeEncodeError: except UnicodeEncodeError:
needConver = False pass
# пока длина строки меньше указанной # пока длина строки меньше указанной
while len(s) < width: while len(s) < width:
# находим очередной пробел # находим очередной пробел
@ -270,10 +263,7 @@ def justify(s,width):
# оставить удвоенный пробел # оставить удвоенный пробел
pos += 3 pos += 3
# вернуть строку в utf8 если она пришла в utf8 # вернуть строку в utf8 если она пришла в utf8
if needConver: return s.encode('utf-8')
return s.encode('utf-8')
else:
return s
def runOsCommand(cmd, inStr=None, ret_first=None): def runOsCommand(cmd, inStr=None, ret_first=None):
"""Выполняет внешнюю программу """Выполняет внешнюю программу

@ -183,7 +183,8 @@ class cl_help:
if visibleChapter: if visibleChapter:
help += nameChapter + ": " + bef help += nameChapter + ": " + bef
help += textChapterBloc + aft help += textChapterBloc + aft
return help.encode("UTF-8") help = help.rstrip()+"\n"
return help
def addChapterHelp(self, numChapter, helpTxt): def addChapterHelp(self, numChapter, helpTxt):
"""Добавить в раздел помощи numChapteк тектстовую строку helpTxt """Добавить в раздел помощи numChapteк тектстовую строку helpTxt

Loading…
Cancel
Save