LINUX.ORG.RU

Qt, PySide, локаль


0

1

В самом начале файла имеем такие строки:

QLocale.setDefault(QLocale(QLocale.Russian, QLocale.RussianFederation))

print QLocale.system().language()
print QLocale.system().country()
вывод этих двух строк:
PySide.QtCore.QLocale.Language.Russian
PySide.QtCore.QLocale.Country.RussianFederation

далее по сигналу подгружаем визард (QWizard) из .ui, в котором даже есть такое:

  <property name="locale">
   <locale language="Russian" country="RussianFederation"/>
  </property>
но почему-то встроенные кнопки навигации по страницам визарда (Next, Previous, Finish, Cancel) отображаются непереведенными (при этом в дизайнере все отлично, системная локаль - русская).

Что в PySide надо ковырять?

По крайней мере в пикуте
trans = QtCore.QTranslator()
trans.load(«qt_[тут та локаль которая нужна]», QtCore.QLibraryInfo.location(QtCore.QLibraryInfo.TranslationsPath))
app.installTranslator(trans)

zJes ★★
()
Ответ на: комментарий от zJes

Да, помогла подгрузка из /usr/share/qt4. Напрягает только то, что необходимо в load() указывать путь до перевода явным образом. Для портируемого приложения не катит совсем, особенно, когда путь до файла может быть где угодно.

GateKeeper ★★
() автор топика
Ответ на: комментарий от GateKeeper

А, не, всё нормально:

        if translator.load('qt_ru', QLibraryInfo.location(QLibraryInfo.TranslationsPath)):
            self.installTranslator(translator)

GateKeeper ★★
() автор топика
Ответ на: комментарий от zJes

Да, не обратил сначала внимания. Спасибо.

GateKeeper ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.