示例#1
0
class Translator:
    def __init__(self):
        self.translator = QTranslator()
        self.translator.load("./locale/de.ts", "main")

    def tr(self, *args, **kwargs):
        return self.translator.translate(*args, **kwargs)
示例#2
0
class Translator():

    def __init__(self, index):
        self.id = index
        self.gm_file_map = {}
        self.find_qm_files()
        self.translator = QTranslator()
        self.lang_list = []
        self.fill_lang_list()
        self.translator.load(self.get_qm_file())

    def fill_lang_list(self):
        for i in range(0, len(self.gm_file_map)):
            self.translator.load(self.gm_file_map[i])
            self.lang_list.append(self.get_lang_name())

    def find_qm_files(self):
        trans_dir = QDir(":/resources/translations")
        file_names = trans_dir.entryList(['*.qm'], QDir.Files, QDir.Name)

        gm_files = [trans_dir.filePath(fn) for fn in file_names]

        for i, qmf in enumerate(gm_files):
            self.gm_file_map[i] = qmf

    def get_qm_file(self):
        return self.gm_file_map[self.id]

    def get_lang_name(self):
        return self.translator.translate("SettingsPage", "English")
示例#3
0
    def __populateLanguageCombo(self):
        """
        Private method to initialize the language combobox of the Interface
        configuration page.
        """
        self.languageComboBox.clear()

        fnlist = glob.glob("eric6_*.qm") + \
            glob.glob(os.path.join(
                getConfig('ericTranslationsDir'), "eric6_*.qm")) + \
            glob.glob(os.path.join(Utilities.getConfigDir(), "eric6_*.qm"))
        locales = {}
        for fn in fnlist:
            locale = os.path.basename(fn)[6:-3]
            if locale not in locales:
                translator = QTranslator()
                translator.load(fn)
                locales[locale] = translator.translate(
                    "InterfacePage", "English",
                    "Translate this with your language") + \
                    " ({0})".format(locale)
        localeList = sorted(list(locales.keys()))
        try:
            uiLanguage = Preferences.getUILanguage()
            if uiLanguage == "None" or uiLanguage is None:
                currentIndex = 0
            elif uiLanguage == "System":
                currentIndex = 1
            else:
                currentIndex = localeList.index(uiLanguage) + 2
        except ValueError:
            currentIndex = 0
        self.languageComboBox.clear()

        self.languageComboBox.addItem("English (default)", "None")
        self.languageComboBox.addItem(self.tr('System'), "System")
        for locale in localeList:
            self.languageComboBox.addItem(locales[locale], locale)
        self.languageComboBox.setCurrentIndex(currentIndex)
示例#4
0
 def __populateLanguageCombo(self):
     """
     Private method to initialize the language combobox of the Interface
     configuration page.
     """
     self.languageComboBox.clear()
     
     fnlist = glob.glob("eric6_*.qm") + \
         glob.glob(os.path.join(
             getConfig('ericTranslationsDir'), "eric6_*.qm")) + \
         glob.glob(os.path.join(Utilities.getConfigDir(), "eric6_*.qm"))
     locales = {}
     for fn in fnlist:
         locale = os.path.basename(fn)[6:-3]
         if locale not in locales:
             translator = QTranslator()
             translator.load(fn)
             locales[locale] = translator.translate(
                 "InterfacePage", "English",
                 "Translate this with your language") + \
                 " ({0})".format(locale)
     localeList = sorted(list(locales.keys()))
     try:
         uiLanguage = Preferences.getUILanguage()
         if uiLanguage == "None" or uiLanguage is None:
             currentIndex = 0
         elif uiLanguage == "System":
             currentIndex = 1
         else:
             currentIndex = localeList.index(uiLanguage) + 2
     except ValueError:
         currentIndex = 0
     self.languageComboBox.clear()
     
     self.languageComboBox.addItem("English (default)", "None")
     self.languageComboBox.addItem(self.tr('System'), "System")
     for locale in localeList:
         self.languageComboBox.addItem(locales[locale], locale)
     self.languageComboBox.setCurrentIndex(currentIndex)
示例#5
0
try:
    argvb = list(map(os.fsencode, sys.argv))
except AttributeError:
    argvb = sys.argv

app = QCoreApplication(argvb)

for qm in glob(sys.argv[1] + "/output/i18n/qgis_*.qm"):
    translator = QTranslator()
    translator.load(qm)

    lang = qm[len(sys.argv[1] + "/output/i18n/qgis_"):-3]

    for s in strings:
        translation = translator.translate("appinfo", s, "")
        if translation in [s, '']:
            continue
        strings[s][lang] = translation

for elem in ['name', 'summary', 'description']:
    for c in r.iter(elem):
        if c.attrib:
            continue

        l = list(c)
        s = c.text if not l else "".join(
            [et.tostring(x).decode("utf-8") for x in l])

        for lang in strings[s]:
            e = et.Element(elem, attrib={"xml:lang": lang})
示例#6
0
文件: uimain.py 项目: lycying/seeking
    def beginFinalInit(self):
        """
        @see: startup
        Notice the __init__ method . we just setup the basic widget.
        And after the language , style ,plugins etc had loaded .
        we call this method . 
        
        Never call it unless you know what's it
        """
        #when at linux platform . the icon is not visible at menu .
        for key in self.__actions.keys():
            self.__actions.get(key).setIconVisibleInMenu(True)

        #--------------->>Seeking init <<-----------------#
        # __init__ menu
        self.getMenu("settings").addAction(self.getAction("perferences"))

        #i18n , must restart program to make it in use
        action_languages = QAction(
            QIcon(getPath('iconDir', 'languages.png')),
            QApplication.translate("default", "Languages"), self)
        action_languages.setIconVisibleInMenu(True)
        menu_languages = QMenu(self)

        trans_dir = QDir(getPrccisePath("transDir", "", "coredir"))
        fileNames = trans_dir.entryList(['i18n*.qm'], QDir.Files, QDir.Name)
        qmFiles = [trans_dir.filePath(fn) for fn in fileNames]

        for qmf in qmFiles:
            translator = QTranslator()
            translator.load(qmf)
            action = menu_languages.addAction(
                translator.translate("default", "English"))
            action.triggered.connect(lambda re, locale=translator.translate(
                "default", "locale"): self.__evt_changeLanguage(locale))

        action_languages.setMenu(menu_languages)
        self.getMenu("settings").addAction(action_languages)

        #style menu use signalmapper
        action_style = QAction(QIcon(getPath('iconDir', 'style.png')),
                               QApplication.translate("default", "Style"),
                               self)
        action_style.setIconVisibleInMenu(True)
        menu_style = QMenu(self)
        for style_item in QStyleFactory.keys():
            action = menu_style.addAction(style_item)
            action.triggered.connect(
                lambda re, style_item=style_item: changeStyle(style_item))
        action_style.setMenu(menu_style)
        self.getMenu("settings").addAction(action_style)

        menu_plugin = self.getMenu("plugins")

        menu_plugin.addAction(self.getAction("plguinInfos"))

        menu_plugin.addSeparator()
        menu_plugin.addAction(self.getAction("plguinRequest"))

        #--------------->>Seeking init <<-----------------#
        # __init__ toolbar
        toolBar = self.addToolBar(QApplication.translate("default", "common"))

        toolBar.addAction(self.getAction("perferences"))
        toolBar.addAction(self.getAction("close"))
        toolBar.addAction(self.getAction("gotohome"))
        toolBar.addAction(self.getAction("help"))

        #--------------->>Seeking init <<-----------------#
        # __init__ status bar
        self.statusBar().showMessage("Seeking ...")

        #--------------->>Seeking init <<-----------------#
        #Effects of a loading progress .
        #Results appear in the tab of the interior, the window has no effect on the global
        self.overlay = Overlay(self.centralWidget())
        self.overlay.hide()

        #--------------->>Seeking init <<-----------------#
        #other
        self.emit(SIGNAL('updateWindows()'))
示例#7
0
    def languageName(self, qmFile):
        translator = QTranslator()
        translator.load(qmFile)

        return translator.translate("MainWindow", "English")
示例#8
0
    def languageName(self, qmFile):
        translator = QTranslator() 
        translator.load(qmFile)

        return translator.translate("MainWindow", "English")
示例#9
0
文件: uimain.py 项目: lycying/seeking
    def beginFinalInit(self):
        """
        @see: startup
        Notice the __init__ method . we just setup the basic widget.
        And after the language , style ,plugins etc had loaded .
        we call this method . 
        
        Never call it unless you know what's it
        """
        #when at linux platform . the icon is not visible at menu .
        for key in self.__actions.keys():
            self.__actions.get(key).setIconVisibleInMenu(True)
            
        #--------------->>Seeking init <<-----------------#
        # __init__ menu
        self.getMenu("settings").addAction(self.getAction("perferences"))
        
        
        #i18n , must restart program to make it in use
        action_languages = QAction(QIcon(getPath('iconDir','languages.png')),QApplication.translate("default", "Languages"),self)
        action_languages.setIconVisibleInMenu(True)
        menu_languages = QMenu(self)
        
        trans_dir = QDir(getPrccisePath("transDir","","coredir"))
        fileNames = trans_dir.entryList(['i18n*.qm'], QDir.Files,QDir.Name)
        qmFiles = [trans_dir.filePath(fn) for fn in fileNames]
    
        for qmf in qmFiles: 
            translator = QTranslator() 
            translator.load(qmf)
            action = menu_languages.addAction(translator.translate("default", "English"))
            action.triggered.connect(lambda re,locale=translator.translate("default", "locale"):self.__evt_changeLanguage(locale))
        
        action_languages.setMenu(menu_languages)
        self.getMenu("settings").addAction(action_languages)
        
        #style menu use signalmapper
        action_style = QAction(QIcon(getPath('iconDir','style.png')),QApplication.translate("default", "Style"),self)
        action_style.setIconVisibleInMenu(True)
        menu_style = QMenu(self)
        for style_item in QStyleFactory.keys():
            action = menu_style.addAction(style_item)
            action.triggered.connect(lambda re,style_item=style_item:changeStyle(style_item))
        action_style.setMenu(menu_style)
        self.getMenu("settings").addAction(action_style)
        
        menu_plugin = self.getMenu("plugins")
        
        menu_plugin.addAction(self.getAction("plguinInfos"))
        
        menu_plugin.addSeparator()
        menu_plugin.addAction(self.getAction("plguinRequest"))
        
        #--------------->>Seeking init <<-----------------#
        # __init__ toolbar
        toolBar = self.addToolBar(QApplication.translate("default","common"))
        
        toolBar.addAction(self.getAction("perferences"))
        toolBar.addAction(self.getAction("close"))
        toolBar.addAction(self.getAction("gotohome"))
        toolBar.addAction(self.getAction("help"))
        
        #--------------->>Seeking init <<-----------------#
        # __init__ status bar
        self.statusBar().showMessage("Seeking ...")
        
        
        #--------------->>Seeking init <<-----------------#
        #Effects of a loading progress .
        #Results appear in the tab of the interior, the window has no effect on the global
        self.overlay = Overlay(self.centralWidget())
        self.overlay.hide()

        #--------------->>Seeking init <<-----------------#
        #other
        self.emit(SIGNAL('updateWindows()'))
示例#10
0
try:
    argvb = list(map(os.fsencode, sys.argv))
except AttributeError:
    argvb = sys.argv

app = QCoreApplication(argvb)

for qm in glob(sys.argv[1] + "/output/i18n/qgis_*.qm"):
    translator = QTranslator()
    translator.load(qm)

    lang = qm[len(sys.argv[1] + "/output/i18n/qgis_"):-3]

    for s in strings:
        translation = translator.translate("appinfo", s, "")
        if translation in [s, '']:
            continue
        strings[s][lang] = translation

for elem in ['name', 'summary', 'description']:
    for c in r.iter(elem):
        if c.attrib:
            continue

        l = list(c)
        s = c.text if not l else "".join([et.tostring(x).decode("utf-8") for x in l])

        for lang in strings[s]:
            e = et.Element(elem, attrib={"xml:lang": lang})
            e.text = strings[s][lang]