diff --git a/PartsLibrary.FCMacro b/PartsLibrary.FCMacro
index 3c7a9b67..dda12019 100644
--- a/PartsLibrary.FCMacro
+++ b/PartsLibrary.FCMacro
@@ -88,6 +88,24 @@ else:
     param.SetString('destination',folderDialog)
     LIBRARYPATH = param.GetString('destination')
 
+
+
+try:
+    _encoding = QtGui.QApplication.UnicodeUTF8
+    def translate(context, text, utf8_decode=True):
+        if sys.version_info.major >= 3:
+            return QtGui.QApplication.translate(context, text, None, _encoding)
+        else:
+            return QtGui.QApplication.translate(context, text, None, _encoding)
+except AttributeError:
+    def translate(context, text, utf8_decode=False):
+        if sys.version_info.major >= 3 or utf8_decode:
+            return QtGui.QApplication.translate(context, text, None)
+        else:
+            return QtGui.QApplication.translate(context, text, None).encode("utf8")
+
+
+
 class ExpFileSystemModel(QtGui.QFileSystemModel):
     "a custom QFileSystemModel that displays freecad file icons"
     def __init__(self):
@@ -218,14 +236,14 @@ class ExpDockWidget(QtGui.QDockWidget):
         self.setWidget(container)
         
     def retranslateUi(self):
-        self.setWindowTitle(QtGui.QApplication.translate("PartsLibrary", "Parts Library", None, QtGui.QApplication.UnicodeUTF8))
-        self.updatebutton.setText(QtGui.QApplication.translate("PartsLibrary", "Update from Git", None, QtGui.QApplication.UnicodeUTF8))
-        self.configbutton.setText(QtGui.QApplication.translate("PartsLibrary", "Config", None, QtGui.QApplication.UnicodeUTF8))
-        self.formatLabel.setText(QtGui.QApplication.translate("PartsLibrary", "Add to library", None, QtGui.QApplication.UnicodeUTF8))
-        self.savebutton.setText(QtGui.QApplication.translate("PartsLibrary", "Save", None, QtGui.QApplication.UnicodeUTF8))
-        self.pushbutton.setText(QtGui.QApplication.translate("PartsLibrary", "Push to Git", None, QtGui.QApplication.UnicodeUTF8))
-        self.optbutton.setText(QtGui.QApplication.translate("PartsLibrary", "Options ⏷", None, QtGui.QApplication.UnicodeUTF8))
-        self.prevbutton.setText(QtGui.QApplication.translate("PartsLibrary", "Preview ⏶", None, QtGui.QApplication.UnicodeUTF8))
+        self.setWindowTitle(translate("PartsLibrary", "Parts Library"))
+        self.updatebutton.setText(translate("PartsLibrary", "Update from Git"))
+        self.configbutton.setText(translate("PartsLibrary", "Config"))
+        self.formatLabel.setText(translate("PartsLibrary", "Add to library"))
+        self.savebutton.setText(translate("PartsLibrary", "Save"))
+        self.pushbutton.setText(translate("PartsLibrary", "Push to Git"))
+        self.optbutton.setText(translate("PartsLibrary", "Options ⏷"))
+        self.prevbutton.setText(translate("PartsLibrary", "Preview ⏶"))
 
     def clicked(self, index):
         path = self.dirmodel.filePath(index)