class __Translator(): def __init__(self): self.dff = QTranslator() self.generic = QTranslator() self.Conf = Conf() self.loadLanguage() def loadLanguage(self): """ Load DFF translation + a Qt translation file FIXME need to check if qt4 directory exists in /usr/share or /usr/local/share """ l1 = self.generic.load('/usr/share/qt4/translations/qt_' + str(self.Conf.getLanguage()).lower()[:2]) l2 = self.dff.load(sys.modules['dff.ui.gui'].__path__[0] + "/i18n/Dff_" + str(self.Conf.getLanguage()).lower()[:2]) return l1 and l2 def getDFF(self): return self.dff def getGeneric(self): return self.generic
class __Translator(): def __init__(self): self.translators = {} self.conf = Conf() if hasattr(sys, "frozen"): translationPath = os.path.abspath( os.path.join(os.path.dirname(sys.executable), "resources/i18n")) self.addTranslationPath(os.path.join(translationPath, "qt_")) self.addTranslationPath(os.path.join(translationPath, "Dff_")) else: self.addTranslationPath( os.path.join( unicode( QLibraryInfo.location( QLibraryInfo.TranslationsPath)), "qt_")) self.addTranslationPath("dff/ui/gui/i18n/Dff_") self.loadLanguage() def addTranslationPath(self, path): translator = QTranslator() QCoreApplication.installTranslator(translator) self.translators[translator] = path def currentLanguage(self): return str(self.conf.getLanguage()).lower()[:2] def loadLanguage(self, language=None): if language == None: language = self.currentLanguage() for translator in self.translators: self.translators[translator] + language translator.load(self.translators[translator] + language)