if UnicodeUTF8 is not defined use a fallback implementation of translate()

This commit is contained in:
wmayer 2016-12-27 20:12:39 +01:00
parent d9b1ce7ca2
commit f065f8eb53
8 changed files with 63 additions and 28 deletions

View File

@ -103,10 +103,16 @@ class todo:
QtCore.QTimer.singleShot(0, todo.doTasks)
todo.commitlist = cl
def translate(context,text):
try:
_encoding = QtGui.QApplication.UnicodeUTF8
def translate(context, text):
"convenience function for Qt translator"
return QtGui.QApplication.translate(context, text, None,
QtGui.QApplication.UnicodeUTF8)
return QtGui.QApplication.translate(context, text, None, _encoding)
except AttributeError:
def translate(context, text):
"convenience function for Qt translator"
return QtGui.QApplication.translate(context, text, None)
#---------------------------------------------------------------------------
# UNITS handling
@ -1977,10 +1983,10 @@ class FacebinderTaskPanel:
return True
def retranslateUi(self, TaskPanel):
TaskPanel.setWindowTitle(QtGui.QApplication.translate("draft", "Faces", None, QtGui.QApplication.UnicodeUTF8))
self.delButton.setText(QtGui.QApplication.translate("draft", "Remove", None, QtGui.QApplication.UnicodeUTF8))
self.addButton.setText(QtGui.QApplication.translate("draft", "Add", None, QtGui.QApplication.UnicodeUTF8))
self.title.setText(QtGui.QApplication.translate("draft", "Facebinder elements", None, QtGui.QApplication.UnicodeUTF8))
TaskPanel.setWindowTitle(QtGui.QApplication.translate("draft", "Faces", None))
self.delButton.setText(QtGui.QApplication.translate("draft", "Remove", None))
self.addButton.setText(QtGui.QApplication.translate("draft", "Add", None))
self.title.setText(QtGui.QApplication.translate("draft", "Facebinder elements", None))
if not hasattr(FreeCADGui,"draftToolBar"):

View File

@ -74,9 +74,15 @@ MODALT = MODS[Draft.getParam("modalt",2)]
#---------------------------------------------------------------------------
def translate(context,text):
"convenience function for Qt translator"
return QtGui.QApplication.translate(context, text, None, QtGui.QApplication.UnicodeUTF8).encode("utf8")
try:
_encoding = QtGui.QApplication.UnicodeUTF8
def translate(context, text):
"convenience function for Qt translator"
return QtGui.QApplication.translate(context, text, None, _encoding).encode("utf8")
except AttributeError:
def translate(context, text):
"convenience function for Qt translator"
return QtGui.QApplication.translate(context, text, None).encode("utf8")
def msg(text=None,mode=None):
"prints the given message on the FreeCAD status bar"

View File

@ -30,10 +30,17 @@ This Script includes the GUI Commands of the OpenSCAD module
import FreeCAD,FreeCADGui
from PySide import QtCore, QtGui
def translate(context,text):
"convenience function for Qt translator"
return QtGui.QApplication.translate(context, text, None, \
QtGui.QApplication.UnicodeUTF8)
try:
_encoding = QtGui.QApplication.UnicodeUTF8
def translate(context, text):
"convenience function for Qt translator"
return QtGui.QApplication.translate(context, text, None, _encoding)
except AttributeError:
def translate(context, text):
"convenience function for Qt translator"
return QtGui.QApplication.translate(context, text, None)
def utf8(unio):
return unicode(unio).encode('UTF8')

View File

@ -29,11 +29,17 @@ This Script includes various pyhton helper functions that are shared across
the module
'''
def translate(context,text):
"convenience function for Qt translator"
from PySide import QtGui
return QtGui.QApplication.translate(context, text, None, \
QtGui.QApplication.UnicodeUTF8)
try:
_encoding = QtGui.QApplication.UnicodeUTF8
def translate(context, text):
"convenience function for Qt translator"
from PySide import QtGui
return QtGui.QApplication.translate(context, text, None, _encoding)
except AttributeError:
def translate(context, text):
"convenience function for Qt translator"
from PySide import QtGui
return QtGui.QApplication.translate(context, text, None)
try:
import FreeCAD

View File

@ -59,11 +59,17 @@ if open.__module__ == '__builtin__':
import tokrules
from tokrules import tokens
def translate(context,text):
"convenience function for Qt translator"
from PySide import QtGui
return QtGui.QApplication.translate(context, text, None, \
QtGui.QApplication.UnicodeUTF8)
try:
_encoding = QtGui.QApplication.UnicodeUTF8
def translate(context, text):
"convenience function for Qt translator"
from PySide import QtGui
return QtGui.QApplication.translate(context, text, None, _encoding)
except AttributeError:
def translate(context, text):
"convenience function for Qt translator"
from PySide import QtGui
return QtGui.QApplication.translate(context, text, None)
def open(filename):
"called when freecad opens a file."

View File

@ -49,7 +49,7 @@ try:
_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except NameError:
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
#--------------------------/translation-related code ----------------------------------------

View File

@ -46,7 +46,7 @@ try:
_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except NameError:
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
#--------------------------/translation-related code ----------------------------------------

View File

@ -33,8 +33,12 @@ FreeCADGui.updateLocale()
def translate(context,text):
"convenience function for the Qt translator"
# return str(QtGui.QApplication.translate(context, text, None, QtGui.QApplication.UnicodeUTF8).toUtf8())
u = QtGui.QApplication.translate(context, text, None,
QtGui.QApplication.UnicodeUTF8).encode("utf8")
try:
_encoding = QtGui.QApplication.UnicodeUTF8
u = QtGui.QApplication.translate(context, text, None, _encoding).encode("utf8")
except AttributeError:
u = QtGui.QApplication.translate(context, text, None).encode("utf8")
s = cStringIO.StringIO()
for i in u:
if ord(i) == 39: