Example #1
0
 def reload(self):
     """
     Public method to reload all translators.
     """
     cname = self.selector.currentText()
     if self.currentTranslator is not None:
         QApplication.removeTranslator(self.currentTranslator)
         self.currentTranslator = None
     
     fileNames = []
     for trans in self.translations:
         trans.translator = None
         fileNames.append(trans.fileName)
     self.translations = []
     self.selector.clear()
     
     self.selector.addItem(noTranslationName)
     
     for fileName in fileNames:
         self.add(fileName, False)
     
     if self.__haveName(cname):
         self.set(cname)
     else:
         self.set(noTranslationName)
Example #2
0
    def reload(self):
        """
        Public method to reload all translators.
        """
        cname = self.selector.currentText()
        if self.currentTranslator is not None:
            QApplication.removeTranslator(self.currentTranslator)
            self.currentTranslator = None

        fileNames = []
        for trans in self.translations:
            trans.translator = None
            fileNames.append(trans.fileName)
        self.translations = []
        self.selector.clear()

        self.selector.addItem(noTranslationName)

        for fileName in fileNames:
            self.add(fileName, False)

        if self.__haveName(cname):
            self.set(cname)
        else:
            self.set(noTranslationName)
Example #3
0
 def set(self, name):
     """
     Public slot to set a translator by name.
     
     @param name name (language) of the translator to set (string)
     """
     nTranslator = None
     
     if name != noTranslationName:
         trans = self.__findName(name)
         if trans is None:
             E5MessageBox.warning(
                 self.parent(),
                 self.tr("Set Translator"),
                 self.tr(
                     """<p>The translator <b>{0}</b> is not known.</p>""")
                 .format(name))
             return
             
         nTranslator = trans.translator
     
     if nTranslator == self.currentTranslator:
         return
     
     if self.currentTranslator is not None:
         QApplication.removeTranslator(self.currentTranslator)
     if nTranslator is not None:
         QApplication.installTranslator(nTranslator)
     self.currentTranslator = nTranslator
     
     self.selector.blockSignals(True)
     self.selector.setCurrentIndex(self.selector.findText(name))
     self.selector.blockSignals(False)
     
     self.translationChanged.emit()
Example #4
0
 def handle_current_index_changed(self, index):
     qmfile = self.combobox.itemData(index)
     if qmfile:
         self.translator.load(qmfile)
         QApplication.installTranslator(self.translator)
     else:
         QApplication.removeTranslator(self.translator)
Example #5
0
    def set(self, name):
        """
        Public slot to set a translator by name.
        
        @param name name (language) of the translator to set (string)
        """
        nTranslator = None

        if name != noTranslationName:
            trans = self.__findName(name)
            if trans is None:
                E5MessageBox.warning(
                    self.parent(), self.tr("Set Translator"),
                    self.tr(
                        """<p>The translator <b>{0}</b> is not known.</p>""").
                    format(name))
                return

            nTranslator = trans.translator

        if nTranslator == self.currentTranslator:
            return

        if self.currentTranslator is not None:
            QApplication.removeTranslator(self.currentTranslator)
        if nTranslator is not None:
            QApplication.installTranslator(nTranslator)
        self.currentTranslator = nTranslator

        self.selector.blockSignals(True)
        self.selector.setCurrentIndex(self.selector.findText(name))
        self.selector.blockSignals(False)

        self.translationChanged.emit()
Example #6
0
    def setLanguage(self, language):
        # file dialog
        if not self.file_dialog_translator.isEmpty():
            QApplication.removeTranslator(self.file_dialog_translator)

        qmfile = "qtbase_" + QLocale.system().name().split('_')[0] + '.qm'
        self.file_dialog_translator.load(
            qmfile, QLibraryInfo.location(QLibraryInfo.TranslationsPath))
        QApplication.installTranslator(self.file_dialog_translator)

        # rest of app
        if language == Language.ENGLISH:
            self.actionEnglish.setChecked(True)

        elif language == Language.GERMAN:
            self.actionGerman.setChecked(True)

        else:
            # Fall back to english
            self.actionEnglish.setChecked(True)
            language = Language.ENGLISH

        self.activeConfig.language = language
        self.activeConfig.saveConfig()
        if not self.translator.isEmpty():
            QApplication.removeTranslator(self.translator)
        self.translator.load(
            f':/l10n/gui_{self.activeConfig.language.value}.qm')
        QApplication.installTranslator(self.translator)
        self.retranslateUi(self)
        self.resetEncText()
        self.resetDecText()
Example #7
0
    def setupTranslator(self):
        if self.translator:
            QApplication.removeTranslator(self.translator)

        self.translator = QTranslator()
        QApplication.installTranslator(self.translator)
        lang = self.settingsMgr.getSetting(CFG_SECTION_UI, CFG_KEY_LANG)
        self.translator.load(
            ':/share/translations/galacteek_{0}.qm'.format(lang))
def set_ui_language(qt_app: QtWidgets.QApplication, settings: Settings):
    """ Set the ui language. Retranslate must be called afterwards."""
    if config.translator:
        qt_app.removeTranslator(config.translator)
    if settings.get(LANG) == LANG_ENGLISH:  # default case, ui is written in english
        return

    if not config.translator:
        config.translator = QtCore.QTranslator(qt_app)

    tr_file = Path("NULL")
    if settings.get(LANG) == LANG_GERMAN:
        tr_file = config.base_path / "ui/qt/german.qm"
    if settings.get(LANG) == LANG_HUNGARIAN:
        tr_file = config.base_path / "ui/qt/hungarian.qm"
    if not tr_file.exists():
        logger.error("Cannot find %s translation file.", str(tr_file))

    config.translator.load(str(tr_file))
    qt_app.installTranslator(config.translator)
Example #9
0
    def add_masstab_viewer(self):
        self.view = self.ui.dockWidget_MassTabViewer
        self.view.ui.setupUi(self.ui.dockWidget_MassTabViewer)
        self.view.setup(self.sel, self.ana)


if __name__ == '__main__':

    import sys

    app = QApplication(sys.argv)
    """ remove translator ==> switch to english for qt"""
    """ both qt messages and application messages are written in english """
    translator = QtCore.QTranslator()
    app.removeTranslator(translator)
    """ Load app specific translator """
    locale = QtCore.QLocale.system().name()
    if translator.load("main_window_qt-" + locale):
        app.installTranslator(translator)
    """ Load general translator for QT, for example : (cancel ==> annuler) """
    translatorQT = QtCore.QTranslator()
    path = QtCore.QLibraryInfo.location(QtCore.QLibraryInfo.TranslationsPath)
    if translatorQT.load("qt_" + "fr", path):
        app.installTranslator(translatorQT)

    log.info("Starting...\n")
    win = MainWindowGUI()
    win.add_data_selector()
    win.add_analysis()
    win.add_parameters()
Example #10
0
def switchTranslator(translator, filename, path = ""):
	QApplication.removeTranslator(translator)

	if(translator.load(filename, path)):
		QApplication.installTranslator(translator)
Example #11
0
    def add_masstab_viewer(self):
        self.view = self.ui.dockWidget_MassTabViewer
        self.view.ui.setupUi(self.ui.dockWidget_MassTabViewer)
        self.view.setup(self.sel, self.ana)


if __name__ == '__main__':

    import sys

    app = QApplication(sys.argv)

    """ remove translator ==> switch to english for qt"""
    """ both qt messages and application messages are written in english """
    translator = QtCore.QTranslator()
    app.removeTranslator(translator)

    """ Load app specific translator """
    locale = QtCore.QLocale.system().name()
    if translator.load("main_window_qt-" + locale):
        app.installTranslator(translator)

    """ Load general translator for QT, for example : (cancel ==> annuler) """
    translatorQT = QtCore.QTranslator()
    path = QtCore.QLibraryInfo.location(QtCore.QLibraryInfo.TranslationsPath)
    if translatorQT.load("qt_" + "fr", path):
        app.installTranslator(translatorQT)

    log.info("Starting...\n")
    win = MainWindowGUI()
    win.add_data_selector()
Example #12
0
 def setLanguage(self, language):
     if not self.translator.isEmpty():
         QApplication.removeTranslator(self.translator)
     self.translator.load(f':/l10n/about_{language.value}.qm')
     QApplication.installTranslator(self.translator)
     self.retranslateUi(self)