我正在使用Qt4和pyside开发多语言界面。语言对主体形式起了罚款。
我使用了两种方式进行本地化:
当我使用gettext翻译字符串显示Qt对话框时,阿拉伯字符串显示为乱码。
产生问题的代码:
mb = QtGui.QMessageBox(QtGui.QMessageBox.Warning, _(u"Applying skin"), _(u"You should restart application in order for the skin to take effect"), buttons = QtGui.QMessageBox.Ok)
ret = mb.exec_()
答案 0 :(得分:0)
我自己无法测试,但请尝试:
gettext.install('myapp', unicode=True)
如果这不起作用,请尝试:
_ = gettext.translation('myapp').ugettext
问题似乎是Python2中的默认值是gettext
返回bytes
而不是unicode
。