def main(): # For the translations to work, the initialization of QApplication and # the loading of the translations must be done here instead of the # gui module: # from PyQt4.QtGui import QApplication from PyQt4.QtCore import QTranslator, QLocale, QLibraryInfo app = QApplication(sys.argv) translator = QTranslator() success = translator.load( QLocale.system(), 'qt', '_', QLibraryInfo.location(QLibraryInfo.TranslationsPath)) if not success: success = translator.load(QLocale.system(), 'qt', '_', utils.qt_translations_dir()) app.installTranslator(translator) if len(sys.argv) >= 2: filename = utils.path_to_unicode(sys.argv[1]) else: filename = None try: interface = gui.Interface(app, False, False, [], preferred_styles=utils.config['gui-styles']) manager = ProgramManager(interface, session_file=filename) manager.run() except utils.EyegradeException as ex: print(unicode(ex).encode(sys.stdout.encoding)) sys.exit(1)
def setupI18n(self, thePreferredLocale=None): """Setup internationalisation for the plugin. See if QGIS wants to override the system locale and then see if we can get a valid translation file for whatever locale is effectively being used. Args: thePreferredLocale - optional parameter which if set will override any other way of determining locale.. Returns: None. Raises: TranslationLoadException """ myOverrideFlag = QSettings().value( 'locale/overrideFlag', QVariant(False)).toBool() if thePreferredLocale is not None: myLocaleName = thePreferredLocale elif myOverrideFlag: myLocaleName = QSettings().value('locale/userLocale', QVariant('')).toString() else: myLocaleName = QLocale.system().name() # NOTES: we split the locale name because we need the first two # character i.e. 'id', 'af, etc myLocaleName = str(myLocaleName).split('_')[0] # Also set the system locale to the user overridden local # so that the inasafe library functions gettext will work # .. see:: :py:func:`common.utilities` os.environ['LANG'] = str(myLocaleName) LOGGER.debug('%s %s %s %s' % ( thePreferredLocale, myOverrideFlag, QLocale.system().name(), os.environ['LANG'])) myRoot = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) myTranslationPath = os.path.join( myRoot, 'safe_qgis', 'i18n', 'inasafe_' + str(myLocaleName) + '.qm') if os.path.exists(myTranslationPath): self.translator = QTranslator() myResult = self.translator.load(myTranslationPath) if not myResult: myMessage = 'Failed to load translation for %s' % myLocaleName raise TranslationLoadError(myMessage) QCoreApplication.installTranslator(self.translator) LOGGER.debug('%s %s' % ( myTranslationPath, os.path.exists(myTranslationPath)))
def setupI18n(self, thePreferredLocale=None): """Setup internationalisation for the plugin. See if QGIS wants to override the system locale and then see if we can get a valid translation file for whatever locale is effectively being used. Args: thePreferredLocale - optional parameter which if set will override any other way of determining locale.. Returns: None. Raises: TranslationLoadException """ myOverrideFlag = QSettings().value('locale/overrideFlag', QVariant(False)).toBool() if thePreferredLocale is not None: myLocaleName = thePreferredLocale elif myOverrideFlag: myLocaleName = QSettings().value('locale/userLocale', QVariant('')).toString() else: myLocaleName = QLocale.system().name() # NOTES: we split the locale name because we need the first two # character i.e. 'id', 'af, etc myLocaleName = str(myLocaleName).split('_')[0] # Also set the system locale to the user overridden local # so that the inasafe library functions gettext will work # .. see:: :py:func:`common.utilities` os.environ['LANG'] = str(myLocaleName) LOGGER.debug( '%s %s %s %s' % (thePreferredLocale, myOverrideFlag, QLocale.system().name(), os.environ['LANG'])) myRoot = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) myTranslationPath = os.path.join( myRoot, 'safe_qgis', 'i18n', 'inasafe_' + str(myLocaleName) + '.qm') if os.path.exists(myTranslationPath): self.translator = QTranslator() myResult = self.translator.load(myTranslationPath) if not myResult: myMessage = 'Failed to load translation for %s' % myLocaleName raise TranslationLoadError(myMessage) QCoreApplication.installTranslator(self.translator) LOGGER.debug('%s %s' % (myTranslationPath, os.path.exists(myTranslationPath)))
def setup_i18n(self, preferred_locale=None): """Setup internationalisation for the plugin. See if QGIS wants to override the system locale and then see if we can get a valid translation file for whatever locale is effectively being used. :param preferred_locale: If set will override any other way of determining locale. :type preferred_locale: str, None :raises: TranslationLoadException """ override_flag = QSettings().value( 'locale/overrideFlag', False, type=bool) if preferred_locale is not None: locale_name = preferred_locale elif override_flag: locale_name = QSettings().value('locale/userLocale', '', type=str) else: locale_name = QLocale.system().name() # NOTES: we split the locale name because we need the first two # character i.e. 'id', 'af, etc locale_name = str(locale_name).split('_')[0] # Also set the system locale to the user overridden local # so that the inasafe library functions gettext will work # .. see:: :py:func:`common.utilities` os.environ['LANG'] = str(locale_name) LOGGER.debug('%s %s %s %s' % ( preferred_locale, override_flag, QLocale.system().name(), os.environ['LANG'])) root = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) translation_path = os.path.join( root, 'safe_qgis', 'i18n', 'inasafe_' + str(locale_name) + '.qm') if os.path.exists(translation_path): self.translator = QTranslator() result = self.translator.load(translation_path) if not result: message = 'Failed to load translation for %s' % locale_name raise TranslationLoadError(message) # noinspection PyTypeChecker,PyCallByClass QCoreApplication.installTranslator(self.translator) LOGGER.debug('%s %s' % ( translation_path, os.path.exists(translation_path)))
def main(): app = QApplication([i.encode('utf-8') for i in sys.argv]) app.setOrganizationName(ffmc.__name__) app.setOrganizationDomain(ffmc.__url__) app.setApplicationName('FF Multi Converter') app.setWindowIcon(QIcon(':/ffmulticonverter.png')) locale = QLocale.system().name() qtTranslator = QTranslator() if qtTranslator.load('qt_' + locale, ':/'): app.installTranslator(qtTranslator) appTranslator = QTranslator() if appTranslator.load('ffmulticonverter_' + locale, ':/'): app.installTranslator(appTranslator) if not os.path.exists(config.log_dir): os.makedirs(config.log_dir) logging.basicConfig(filename=config.log_file, level=logging.DEBUG, format=config.log_format, datefmt=config.log_dateformat) converter = MainWindow() converter.show() app.exec_()
def loadShortHelp(): h = {} path = os.path.dirname(__file__) for f in os.listdir(path): if f.endswith("yaml"): filename = os.path.join(path, f) with open(filename) as stream: h.update(yaml.load(stream)) version = ".".join(QGis.QGIS_VERSION.split(".")[0:2]) overrideLocale = QSettings().value('locale/overrideFlag', False, bool) if not overrideLocale: locale = QLocale.system().name()[:2] else: locale = QSettings().value('locale/userLocale', '') locale = locale.split("_")[0] def replace(s): if s is not None: return s.replace( "{qgisdocs}", "https://docs.qgis.org/%s/%s/docs" % (version, locale)) else: return None h = {k: replace(v) for k, v in h.iteritems()} return h
def getTranslate(namePlugin, nameDir=None): if nameDir is None: nameDir = namePlugin pluginPath = "python/plugins/{}".format(nameDir) userPath = QFileInfo(QgsApplication.qgisUserDbFilePath()).path() userPluginPath = "{0}{1}".format(userPath, pluginPath) systemPath = QgsApplication.prefixPath() systemPluginPath = "{0}/{1}".format(systemPath, pluginPath) overrideLocale = QSettings().value('locale/overrideFlag', False, type=bool) localeFullName = QLocale.system().name( ) if not overrideLocale else QSettings().value('locale/userLocale', '') qmPathFile = "/i18n/{0}_{1}.qm".format(namePlugin, localeFullName) pp = userPluginPath if QFileInfo( userPluginPath).exists() else systemPluginPath translationFile = "{0}{1}".format(pp, qmPathFile) if QFileInfo(translationFile).exists(): translator = QTranslator() translator.load(translationFile) QCoreApplication.installTranslator(translator) return translator
def locale(): """Get the name of the currently active locale. :returns: Name of the locale e.g. 'id' :rtype: str """ override_flag = QSettings().value( 'locale/overrideFlag', True, type=bool) default = 'en_US' if override_flag: locale_name = QSettings().value('locale/userLocale', default, type=str) else: # noinspection PyArgumentList locale_name = QLocale.system().name() if locale_name == 'C': # On travis, locale/userLocale is equal to C. We want 'en'. locale_name = default # NOTES: we split the locale name because we need the first two # character i.e. 'id', 'af, etc locale_name = str(locale_name).split('_')[0] return locale_name
def __init__(self, iface): if not valid: return # Save reference to the QGIS interface self.iface = iface try: self.QgisVersion = unicode(QGis.QGIS_VERSION_INT) except: self.QgisVersion = unicode(QGis.qgisVersion)[0] if QGis.QGIS_VERSION[0:3] < "1.5": # For i18n support userPluginPath = qgis.utils.home_plugin_path + "/GdalTools" systemPluginPath = qgis.utils.sys_plugin_path + "/GdalTools" overrideLocale = QSettings().value("locale/overrideFlag", False, type=bool) if not overrideLocale: localeFullName = QLocale.system().name() else: localeFullName = QSettings().value("locale/userLocale", "", type=str) if QFileInfo(userPluginPath).exists(): translationPath = userPluginPath + "/i18n/GdalTools_" + localeFullName + ".qm" else: translationPath = systemPluginPath + "/i18n/GdalTools_" + localeFullName + ".qm" self.localePath = translationPath if QFileInfo(self.localePath).exists(): self.translator = QTranslator() self.translator.load(self.localePath) QCoreApplication.installTranslator(self.translator)
def loadTranslators(qtTransDir, app, translationFiles = ()): """ Function to load all required translations. @param qtTransDir directory of the Qt translations files (string) @param app reference to the application object (QApplication) @param translationFiles tuple of additional translations to be loaded (tuple of strings) @return the requested locale (string) """ translations = ("qt", "eric4") + translationFiles loc = Preferences.getUILanguage() if loc is None: return if loc == "System": loc = str(QLocale.system().name()) if loc != "C": dirs = [getConfig('ericTranslationsDir'), Utilities.getConfigDir()] if qtTransDir is not None: dirs.append(qtTransDir) loca = loc for tf in ["%s_%s" % (tr, loc) for tr in translations]: translator, ok = loadTranslatorForLocale(dirs, tf) loaded_translators[tf] = translator if ok: app.installTranslator(translator) else: if tf.startswith("eric4"): loca = None loc = loca else: loc = None return loc
def main(): app = QApplication([i.encode('utf-8') for i in sys.argv]) app.setOrganizationName(ffmc.__name__) app.setOrganizationDomain(ffmc.__url__) app.setApplicationName('FF Muli Converter') app.setWindowIcon(QIcon(':/ffmulticonverter.png')) locale = QLocale.system().name() qtTranslator = QTranslator() if qtTranslator.load('qt_' + locale, ':/'): app.installTranslator(qtTranslator) appTranslator = QTranslator() if appTranslator.load('ffmulticonverter_' + locale, ':/'): app.installTranslator(appTranslator) if not os.path.exists(config.log_dir): os.makedirs(config.log_dir) logging.basicConfig( filename=config.log_file, level=logging.DEBUG, format=config.log_format, datefmt=config.log_dateformat ) converter = MainWindow() converter.show() app.exec_()
def correr_interfaz(app): ESettings().cargar() import src.ui.inicio # lint:ok # Traductor local = QLocale.system().name() qtraductor = QTranslator() qtraductor.load("qt_" + local, QLibraryInfo.location( QLibraryInfo.TranslationsPath)) edis = EDIS() app.setWindowIcon(QIcon(paths.ICONOS['icon'])) # Aplicar estilo with open(os.path.join(paths.PATH, "extras", "temas", "default.qss")) as tema: estilo = tema.read() app.setStyleSheet(estilo) # Archivos de última sesión archivos = ESettings.get('general/archivos') # Archivos recientes recents_files = ESettings.get('general/recientes') if recents_files is None: recents_files = [] edis.cargar_archivos(archivos, recents_files) edis.show() sys.exit(app.exec_())
def __init__(self, iface): """init""" self.iface = iface self.context = StaticContext() self.action_run = None self.action_help = None self.web_menu = '&MetaSearch' LOGGER.debug('Setting up i18n') locale_name = str(QLocale.system().name()).split('_')[0] LOGGER.debug('Locale name: %s', locale_name) # load if exists tr_file = os.path.join(self.context.ppath, 'locale', locale_name, 'LC_MESSAGES', 'ui.qm') if os.path.exists(tr_file): self.translator = QTranslator() result = self.translator.load(tr_file) if not result: msg = 'Failed to load translation: %s' % tr_file LOGGER.error(msg) raise RuntimeError(msg) QCoreApplication.installTranslator(self.translator) LOGGER.debug(translate('Translation loaded: %s' % tr_file))
def change_i18n(self, new_locale): """Change internationalisation for the plugin. Override the system locale and then see if we can get a valid translation file for whatever locale is effectively being used. :param new_locale: The new locale i.e. 'id', 'af', etc. :type new_locale: str :raises: TranslationLoadException """ os.environ['INASAFE_LANG'] = str(new_locale) LOGGER.debug('%s %s %s' % ( new_locale, QLocale.system().name(), os.environ['INASAFE_LANG'])) root = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) translation_path = os.path.join( root, 'safe_qgis', 'i18n', 'inasafe_' + str(new_locale) + '.qm') if os.path.exists(translation_path): self.translator = QTranslator() result = self.translator.load(translation_path) if not result: message = 'Failed to load translation for %s' % new_locale raise TranslationLoadError(message) # noinspection PyTypeChecker,PyCallByClass QCoreApplication.installTranslator(self.translator) LOGGER.debug('%s %s' % ( translation_path, os.path.exists(translation_path)))
def setupLanguageMenu(self): self.languages = QDir(":/languages").entryList() if self.current_language is None: self.current_language = QLocale.system().name( ) # Retrieve Current Locale from the operating system. log.debug("Detected user's locale as %s" % self.current_language) for language in self.languages: translator = QTranslator( ) # Create a translator to translate Language Display Text. translator.load(":/languages/%s" % language) language_display_text = translator.translate( "Translation", "Language Display Text") languageAction = QAction(self) languageAction.setCheckable(True) languageAction.setText(language_display_text) languageAction.setData(language) self.menuLanguage.addAction(languageAction) self.langActionGroup.addAction(languageAction) if self.current_language == str(language).strip("tr_").rstrip( ".qm"): languageAction.setChecked(True)
def init(self, logo, title): from qgis.core import QgsApplication from PyQt4.QtGui import QApplication, QFont, QIcon from PyQt4.QtCore import QLocale, QTranslator try: import PyQt4.QtSql except ImportError: pass self.app = QgsApplication(self.sysargv, True) import roam.roam_style self.app.setStyleSheet(roam.roam_style.appstyle) QgsApplication.setPrefixPath(self.prefixpath, True) QgsApplication.initQgis() locale = QLocale.system().name() self.translationFile = os.path.join(self.i18npath, '{0}.qm'.format(locale)) translator = QTranslator() translator.load(self.translationFile, "i18n") self.app.installTranslator(translator) QApplication.setStyle("Plastique") QApplication.setFont(QFont('Segoe UI')) QApplication.setWindowIcon(QIcon(logo)) QApplication.setApplicationName(title) import roam.editorwidgets.core roam.editorwidgets.core.registerallwidgets() return self
def change_i18n(self, new_locale): """Change internationalisation for the plugin. Override the system locale and then see if we can get a valid translation file for whatever locale is effectively being used. :param new_locale: the new locale i.e. 'id', 'af', etc. :type new_locale: str :raises: TranslationLoadException """ os.environ['LANG'] = str(new_locale) LOGGER.debug('%s %s %s' % (new_locale, QLocale.system().name(), os.environ['LANG'])) root = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) translation_path = os.path.join(root, 'safe_qgis', 'i18n', 'inasafe_' + str(new_locale) + '.qm') if os.path.exists(translation_path): self.translator = QTranslator() result = self.translator.load(translation_path) if not result: message = 'Failed to load translation for %s' % new_locale raise TranslationLoadError(message) # noinspection PyTypeChecker,PyCallByClass QCoreApplication.installTranslator(self.translator) LOGGER.debug('%s %s' % (translation_path, os.path.exists(translation_path)))
def main(): if settings.get('log:errors'): log_filename = settings.get('log:filename') if log_filename: try: log_file = open(log_filename,"w") print ('Redirecting stderr/stdout... to %s' % log_filename) sys.stderr = log_file sys.stdout = log_file except IOError: print "Lector could not open log file '%s'!\n" % log_filename \ + " Redirecting will not work." else: print "Log file is not set. Pleaase set it in settings." app = QApplication(sys.argv) opts = [str(arg) for arg in app.arguments()[1:]] if '--no-scanner' in opts: scanner = False else: scanner = True qsrand(QTime(0, 0, 0).secsTo(QTime.currentTime())) locale = settings.get('ui:lang') if not locale: locale = QLocale.system().name() qtTranslator = QTranslator() if qtTranslator.load(":/translations/ts/lector_" + locale, 'ts'): app.installTranslator(qtTranslator) window = Window(scanner) window.show() app.exec_()
def testFormatDistance(self): """Test formatting distances""" QLocale.setDefault(QLocale.c()) self.assertEqual(QgsDistanceArea.formatDistance(45, 3, QGis.Meters), u'45.000 m') self.assertEqual(QgsDistanceArea.formatDistance(1300, 1, QGis.Meters, False), u'1.3 km') self.assertEqual(QgsDistanceArea.formatDistance(.005, 1, QGis.Meters, False), u'5.0 mm') self.assertEqual(QgsDistanceArea.formatDistance(.05, 1, QGis.Meters, False), u'5.0 cm') self.assertEqual(QgsDistanceArea.formatDistance(1.5, 3, QGis.Kilometers, True), u'1.500 km') self.assertEqual(QgsDistanceArea.formatDistance(1.5, 3, QGis.Kilometers, False), u'1.500 km') self.assertEqual(QgsDistanceArea.formatDistance(0.5, 3, QGis.Kilometers, True), u'0.500 km') self.assertEqual(QgsDistanceArea.formatDistance(0.5, 3, QGis.Kilometers, False), u'500.000 m') self.assertEqual(QgsDistanceArea.formatDistance(6000, 0, QGis.Feet, True), u'6,000 ft') self.assertEqual(QgsDistanceArea.formatDistance(6000, 3, QGis.Feet, False), u'1.136 mi') self.assertEqual(QgsDistanceArea.formatDistance(300, 0, QGis.Feet, True), u'300 ft') self.assertEqual(QgsDistanceArea.formatDistance(300, 0, QGis.Feet, False), u'300 ft') self.assertEqual(QgsDistanceArea.formatDistance(3000, 0, QGis.Yards, True), u'3,000 yd') self.assertEqual(QgsDistanceArea.formatDistance(3000, 3, QGis.Yards, False), u'1.705 mi') self.assertEqual(QgsDistanceArea.formatDistance(300, 0, QGis.Yards, True), u'300 yd') self.assertEqual(QgsDistanceArea.formatDistance(300, 0, QGis.Yards, False), u'300 yd') self.assertEqual(QgsDistanceArea.formatDistance(1.5, 3, QGis.Miles, True), u'1.500 mi') self.assertEqual(QgsDistanceArea.formatDistance(1.5, 3, QGis.Miles, False), u'1.500 mi') self.assertEqual(QgsDistanceArea.formatDistance(0.5, 3, QGis.Miles, True), u'0.500 mi') self.assertEqual(QgsDistanceArea.formatDistance(0.5, 0, QGis.Miles, False), u'2,640 ft') self.assertEqual(QgsDistanceArea.formatDistance(0.5, 1, QGis.NauticalMiles, True), u'0.5 NM') self.assertEqual(QgsDistanceArea.formatDistance(0.5, 1, QGis.NauticalMiles, False), u'0.5 NM') self.assertEqual(QgsDistanceArea.formatDistance(1.5, 1, QGis.NauticalMiles, True), u'1.5 NM') self.assertEqual(QgsDistanceArea.formatDistance(1.5, 1, QGis.NauticalMiles, False), u'1.5 NM') self.assertEqual(QgsDistanceArea.formatDistance(1.5, 1, QGis.Degrees, True), u'1.5 degrees') self.assertEqual(QgsDistanceArea.formatDistance(1.0, 1, QGis.Degrees, False), u'1.0 degree') self.assertEqual(QgsDistanceArea.formatDistance(1.0, 1, QGis.UnknownUnit, False), u'1.0') QLocale.setDefault(QLocale.system())
def __init__(self, iface): # Save reference to the QGIS interface self.iface = iface # i18n support override_locale = QSettings().value('locale/overrideFlag', False, type=bool) if not override_locale: locale_full_name = QLocale.system().name() else: locale_full_name = QSettings().value('locale/userLocale', '', type=unicode) self.locale_path = '%s/i18n/rugeocoder_%s.qm' % (_current_path, locale_full_name[0:2]) if QFileInfo(self.locale_path).exists(): self.translator = QTranslator() self.translator.load(self.locale_path) QCoreApplication.installTranslator(self.translator) # menu && toolbars self.menu_name = self.tr(u'&RuGeocoder') self.toolbar = self.iface.addToolBar(self.menu_name) self.toolbar.setObjectName(u'RuGeocoderToolbar') # instances self.__converter_dlg = ConverterDialog() self.__geocoder_dlg = BatchGeocodingDialog() # Dock tree panel self.__quick_tlb = QuickGeocodingToolbox(self.iface) self.iface.addDockWidget(PluginSettings.dock_area(), self.__quick_tlb) self.__quick_tlb.setFloating(PluginSettings.dock_floating()) self.__quick_tlb.resize(PluginSettings.dock_size()) self.__quick_tlb.move(PluginSettings.dock_pos()) self.__quick_tlb.setVisible(PluginSettings.dock_visibility()) self.__quick_tlb.set_active_geocoder(PluginSettings.dock_geocoder_name()) self.__quick_tlb.setWindowIcon(QIcon(path.join(_current_path, 'edit-find-project.png')))
def __init__(self): ApplicationBase.__init__(self) self.prefs = Preferences() self.prefs.load() global APP_PREFS APP_PREFS = self.prefs locale = QLocale.system() dateFormat = self.prefs.dateFormat decimalSep = locale.decimalPoint() groupingSep = locale.groupSeparator() cachePath = QDesktopServices.storageLocation(QDesktopServices.CacheLocation) appdata = getAppData() plugin_model_path = op.join(BASE_PATH, 'plugin_examples') DateEdit.DATE_FORMAT = dateFormat self.model = MoneyGuruModel( view=self, date_format=dateFormat, decimal_sep=decimalSep, grouping_sep=groupingSep, cache_path=cachePath, appdata_path=appdata, plugin_model_path=plugin_model_path ) # on the Qt side, we're single document based, so it's one doc per app. self.doc = Document(app=self) self.doc.model.connect() self.mainWindow = MainWindow(doc=self.doc) self.preferencesPanel = PreferencesPanel(self.mainWindow, app=self) self.aboutBox = AboutBox(self.mainWindow, self) if sys.argv[1:] and op.exists(sys.argv[1]): self.doc.open(sys.argv[1]) elif self.prefs.recentDocuments: self.doc.open(self.prefs.recentDocuments[0]) self.connect(self, SIGNAL('applicationFinishedLaunching()'), self.applicationFinishedLaunching) QCoreApplication.instance().aboutToQuit.connect(self.applicationWillTerminate)
def main(): if settings.get('log:errors'): log_filename = settings.get('log:filename') if log_filename: try: log_file = open(log_filename, "w") print('Redirecting stderr/stdout... to %s' % log_filename) sys.stderr = log_file sys.stdout = log_file except IOError: print "Lector could not open log file '%s'!\n" % log_filename \ + " Redirecting will not work." else: print "Log file is not set. Pleaase set it in settings." app = QApplication(sys.argv) opts = [str(arg) for arg in app.arguments()[1:]] if '--no-scanner' in opts: scanner = False else: scanner = True qsrand(QTime(0, 0, 0).secsTo(QTime.currentTime())) locale = settings.get('ui:lang') if not locale: locale = QLocale.system().name() qtTranslator = QTranslator() if qtTranslator.load(":/translations/ts/lector_" + locale, 'ts'): app.installTranslator(qtTranslator) window = Window(scanner) window.show() app.exec_()
def __init__(self, iface): if not valid: return # Save reference to the QGIS interface self.iface = iface try: self.QgisVersion = unicode(QGis.QGIS_VERSION_INT) except: self.QgisVersion = unicode(QGis.qgisVersion)[0] if QGis.QGIS_VERSION[0:3] < "1.5": # For i18n support userPluginPath = qgis.utils.home_plugin_path + "/GdalTools" systemPluginPath = qgis.utils.sys_plugin_path + "/GdalTools" overrideLocale = QSettings().value("locale/overrideFlag", False, type=bool) if not overrideLocale: localeFullName = QLocale.system().name() else: localeFullName = QSettings().value("locale/userLocale", "", type=str) if QFileInfo(userPluginPath).exists(): translationPath = userPluginPath + "/i18n/GdalTools_" + localeFullName + ".qm" else: translationPath = systemPluginPath + "/i18n/GdalTools_" + localeFullName + ".qm" self.localePath = translationPath if QFileInfo(self.localePath).exists(): self.translator = QTranslator() self.translator.load(self.localePath) QCoreApplication.installTranslator(self.translator) # The list of actions added to menus, so we can remove them when unloading the plugin self._menuActions = []
def init(self, logo, title): from qgis.core import QgsApplication from PyQt4.QtGui import QApplication, QFont, QIcon from PyQt4.QtCore import QLocale, QTranslator try: import PyQt4.QtSql except ImportError: pass self.app = QgsApplication(self.sysargv, True) QgsApplication.setPrefixPath(self.prefixpath, True) QgsApplication.initQgis() locale = QLocale.system().name() self.translationFile = os.path.join(self.i18npath, '{0}.qm'.format(locale)) translator = QTranslator() translator.load(self.translationFile, "i18n") self.app.installTranslator(translator) QApplication.setStyle("Plastique") QApplication.setFont(QFont('Segoe UI')) QApplication.setWindowIcon(QIcon(logo)) QApplication.setApplicationName(title) import roam.editorwidgets.core roam.editorwidgets.core.registerallwidgets() import roam.qgisfunctions return self
def initializeQtTranslations(language=None): from PyQt4.QtCore import QTranslator, QCoreApplication, QLocale if not language: language = str(QLocale.system().name()) # First we try to load the file with the same system language name # Usually in $LANG and looks something like ca_ES, de_DE, etc. file = Paths.searchFile( '%s.qm' % language, 'l10n' ) if not file: # If the first step didn't work try to remove country # information and try again. language = language.split('_')[0] file = Paths.searchFile( '%s.qm' % language, 'l10n' ) # If no translation files were found, don't crash # but continue silently. if file: translator = QTranslator( QCoreApplication.instance() ) translator.load( file ) QCoreApplication.instance().installTranslator( translator ) # First we try to load the file with the same system language name # Usually in $LANG and looks something like ca_ES, de_DE, etc. file = Paths.searchFile( 'qt_%s.qm' % language, 'l10n' ) if not file: # If the first step didn't work try to remove country # information and try again. language = language.split('_')[0] file = Paths.searchFile( 'qt_%s.qm' % language, 'l10n' ) # If no translation files were found, don't crash # but continue silently. if file: translator = QTranslator( QCoreApplication.instance() ) translator.load( file ) QCoreApplication.instance().installTranslator( translator )
def install_gettext_trans_under_qt(base_folder, lang=None): # So, we install the gettext locale, great, but we also should try to install qt_*.qm if # available so that strings that are inside Qt itself over which I have no control are in the # right language. from PyQt4.QtCore import QCoreApplication, QTranslator, QLocale, QLibraryInfo if not lang: lang = str(QLocale.system().name())[:2] localename = get_locale_name(lang) if localename is not None: try: locale.setlocale(locale.LC_ALL, localename) except locale.Error: logging.warning("Couldn't set locale %s", localename) qmname = 'qt_%s' % lang if ISLINUX: # Under linux, a full Qt installation is already available in the system, we didn't bundle # up the qm files in our package, so we have to load translations from the system. qmpath = op.join(QLibraryInfo.location(QLibraryInfo.TranslationsPath), qmname) else: qmpath = op.join(base_folder, qmname) qtr = QTranslator(QCoreApplication.instance()) qtr.load(qmpath) QCoreApplication.installTranslator(qtr) install_gettext_trans(base_folder, lang)
def main(): global app, aboutData import setproctitle setproctitle.setproctitle("iosshy") from PyQt4.QtCore import QCoreApplication, QTranslator, QLocale, QSettings from PyQt4.QtGui import QApplication, QSystemTrayIcon, QImage from tunneldialog import TunnelDialog try: from PyKDE4.kdecore import ki18n, KAboutData, KCmdLineArgs from PyKDE4.kdeui import KApplication, KIcon aboutData = KAboutData( name, #appName name, #catalogName ki18n(name), #programName version, ki18n(description), #shortDescription KAboutData.License_BSD, #licenseKey ki18n("© 2010 Massimiliano Torromeo"), #copyrightStatement ki18n(""), #text url #homePageAddress ) aboutData.setBugAddress("http://github.com/mtorromeo/iosshy/issues") aboutData.addAuthor( ki18n("Massimiliano Torromeo"), #name ki18n("Main developer"), #task "*****@*****.**" #email ) aboutData.setProgramLogo(QImage(":icons/network-server.png")) KCmdLineArgs.init(sys.argv, aboutData) app = KApplication() app.setWindowIcon(KIcon("network-server")) if app.isSessionRestored(): sys.exit(0) except ImportError: app = QApplication(sys.argv) app.setOrganizationName("MTSoft") app.setApplicationName(name) if QSystemTrayIcon.isSystemTrayAvailable(): translator = QTranslator() qmFile = "tunneller_%s.qm" % QLocale.system().name() if os.path.isfile(qmFile): translator.load(qmFile) app.installTranslator(translator) dialog = TunnelDialog() sys.exit(app.exec_()) else: print "System tray not available. Exiting." sys.exit(1)
def __init__(self, args=[], **kw): QApplication.__init__(self, args) locale = QLocale.system().name() translator=QTranslator () translator.load("qt_" + locale, QLibraryInfo.location(QLibraryInfo.TranslationsPath)) self.installTranslator(translator) self._print_signal.connect(self._print)
def update_translations(): # Get current locale name curlocale = str(QLocale.system().name().toUtf8()) # Update translations of current locale or create new exitcode = os.system( "pylupdate4 AboutWindow.py AllScreensDialog.py urtdsc.py -ts translations/urtdsc-" + curlocale + ".ts" )
def detect_system_language(): """Returns the matching Qt linguist filename for the user's system language. The default is to use en_US if a matching translation does not exist. """ translation = 'tr_{}'.format(QLocale.system().name()) translation_file = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'frontend', 'qtcommon', 'languages', '{}.ts'.format(translation)) return '{}.qm'.format(translation) if os.path.isfile(translation_file) else 'tr_en_US.qm'
def __init__(self, args=[], **kw): QApplication.__init__(self, args) locale = QLocale.system().name() translator=QTranslator () translator.load("qt_" + locale, QLibraryInfo.location(QLibraryInfo.TranslationsPath)) self.installTranslator(translator) if param.style_Qt: self.setStyle(param.style_Qt)
def reset(self): locale = QLocale.system() self.recentDocuments = [] dateFormat = str(locale.dateFormat(QLocale.ShortFormat)) dateFormat = clean_format(dateFormat) self.dateFormat = dateFormat self.tableFontSize = QApplication.font().pointSize() self.language = '' self.debugMode = False
def __init__(self): """Init method @param self A Main module instance """ self._locale = QLocale.system().name() self._user = None self._config = None self._files = []
def __init__(self, args=[], **kw): QApplication.__init__(self, args) locale = QLocale.system().name() translator=QTranslator () translator.load("qt_" + locale, QLibraryInfo.location(QLibraryInfo.TranslationsPath)) self.installTranslator(translator) self._print_signal.connect(self._print) # Pour Mac OS X self.setAttribute(Qt.AA_DontUseNativeMenuBar)
def pluginMetadata(fct): """ calls metadataParser for current l10n. If failed, fallbacks to the standard metadata """ locale = QLocale.system().name() if locale and fct in translatableAttributes: value = metadataParser( "%s[%s]" % (fct, locale ) ) if value: return value value = metadataParser( "%s[%s]" % (fct, locale.split("_")[0] ) ) if value: return value return metadataParser( fct )
def __init__(self): """Init module""" # self.th will be initiated as a QThread instance self.th = None # Init default config self.setConfig() self._locale = QLocale.system().name()
def install_translator(qapp): """Install Qt translator to the QApplication instance""" global QT_TRANSLATOR if QT_TRANSLATOR is None: qt_translator = QTranslator() if qt_translator.load("qt_"+QLocale.system().name(), QLibraryInfo.location(QLibraryInfo.TranslationsPath)): QT_TRANSLATOR = qt_translator # Keep reference alive if QT_TRANSLATOR is not None: qapp.installTranslator(QT_TRANSLATOR)
def pluginMetadata(fct): """ calls metadataParser for current l10n. If failed, fallbacks to the standard metadata """ locale = QLocale.system().name() if locale and fct in translatableAttributes: value = metadataParser("%s[%s]" % (fct, locale)) if value: return value value = metadataParser("%s[%s]" % (fct, locale.split("_")[0])) if value: return value return metadataParser(fct)
def install_translator(qapp): """Install Qt translator to the QApplication instance""" global QT_TRANSLATOR if QT_TRANSLATOR is None: qt_translator = QTranslator() if qt_translator.load( "qt_" + QLocale.system().name(), QLibraryInfo.location(QLibraryInfo.TranslationsPath)): QT_TRANSLATOR = qt_translator # Keep reference alive if QT_TRANSLATOR is not None: qapp.installTranslator(QT_TRANSLATOR)
def main(): gc.set_debug(gc.DEBUG_UNCOLLECTABLE | gc.DEBUG_SAVEALL| gc.DEBUG_INSTANCES | gc.DEBUG_OBJECTS) qtTranslator = QTranslator() qtTranslator.load("qt_" + QLocale.system().name()) appTranslator = QTranslator() appTranslator.load("translations/boincgui_" + QLocale.system().name()) QCoreApplication.setOrganizationName("LinuxOS.sk") QCoreApplication.setOrganizationDomain("linuxos.sk") QCoreApplication.setApplicationName("pyboincgui") cm = ConnectionManager() app = QApplication(sys.argv) app.installTranslator(qtTranslator) app.installTranslator(appTranslator) win = MainWindow(cm) win.show() ret = app.exec_() del win del cm
def detect_system_language(): """Returns the matching Qt linguist filename for the user's system language. The default is to use en_US if a matching translation does not exist. """ translation = 'tr_{}'.format(QLocale.system().name()) translation_file = os.path.join( os.path.dirname(os.path.realpath(__file__)), 'frontend', 'qtcommon', 'languages', '{}.ts'.format(translation)) return '{}.qm'.format(translation) if os.path.isfile( translation_file) else 'tr_en_US.qm'
def main(): """ loader function to start the application """ app = QApplication(sys.argv) locale = QLocale.system().name() translator = QTranslator() translator.load("texteditor_%s.qm" % locale) app.installTranslator(translator) main_window = MainWindow() main_window.show() app.exec_()
def openHelp(self): overrideLocale = QSettings().value('locale/overrideFlag', False, type=bool) if not overrideLocale: localeFullName = QLocale.system().name() else: localeFullName = QSettings().value('locale/userLocale', '') localeShortName = localeFullName[0:2] if localeShortName in ['ru', 'uk']: QDesktopServices.openUrl(QUrl('http://gis-lab.info/qa/osmpoly.html')) else: QDesktopServices.openUrl(QUrl('http://gis-lab.info/qa/osmpoly-en.html'))
def run(self): from puding.ui.qt.main_window import MainWindow app = QApplication(sys.argv) locale = QLocale.system().name() translator = QTranslator() translator.load("%s/translations/puding_%s.qm" % (self.res.DEV_HOME, locale)) app.installTranslator(translator) main_window = MainWindow() main_window.show() sys.exit(app.exec_())
def main(): # For the translations to work, the initialization of QApplication and # the loading of the translations must be done here instead of the # gui module: # from PyQt4.QtGui import QApplication from PyQt4.QtCore import QTranslator, QLocale, QLibraryInfo app = QApplication(sys.argv) translator = QTranslator() success = translator.load(QLocale.system(), 'qt', '_', QLibraryInfo.location(QLibraryInfo.TranslationsPath)) if not success: success = translator.load(QLocale.system(), 'qt', '_', utils.qt_translations_dir()) app.installTranslator(translator) if len(sys.argv) >= 2: filename = sys.argv[1] else: filename = None interface = gui.Interface(app, False, False, []) manager = ProgramManager(interface, session_file=filename) manager.run()
def openHelp(self): overrideLocale = QSettings().value('locale/overrideFlag', False, bool) if not overrideLocale: locale = QLocale.system().name()[:2] else: locale = QSettings().value('locale/userLocale', '') if locale in ['uk']: QDesktopServices.openUrl( QUrl('http://hub.qgis.org/projects/photo2shape/wiki')) else: QDesktopServices.openUrl( QUrl('http://hub.qgis.org/projects/photo2shape/wiki'))
def main(): # For the translations to work, the initialization of QApplication and # the loading of the translations must be done here instead of the # gui module: # from PyQt4.QtGui import QApplication from PyQt4.QtCore import QTranslator, QLocale, QLibraryInfo app = QApplication(sys.argv) translator = QTranslator() success = translator.load( QLocale.system(), 'qt', '_', QLibraryInfo.location(QLibraryInfo.TranslationsPath)) if not success: success = translator.load(QLocale.system(), 'qt', '_', utils.qt_translations_dir()) app.installTranslator(translator) if len(sys.argv) >= 2: filename = sys.argv[1] else: filename = None interface = gui.Interface(app, False, False, []) manager = ProgramManager(interface, session_file=filename) manager.run()
def __init__(self, iface): """Constructor. :param iface: An interface instance that will be passed to this class which provides the hook by which you can manipulate the QGIS application at run time. :type iface: QgsInterface """ # Save reference to the QGIS interface self.iface = iface # initialize plugin directory self.plugin_dir = os.path.dirname(__file__) # initialize locale pluginPath = QFileInfo( os.path.realpath(__file__)).path() # patch by Régis Haubourg localeName = QLocale.system().name() if QFileInfo(pluginPath).exists(): self.localePath = pluginPath + "/i18n/soilerosion_" + localeName + ".qm" if QFileInfo(self.localePath).exists(): self.translator = QTranslator() self.translator.load(self.localePath) if qVersion() > '4.3.3': QCoreApplication.installTranslator(self.translator) # # initialize locale # locale = QSettings().value('locale/userLocale')[0:2] # locale_path = os.path.join( # self.plugin_dir, # 'i18n', # 'SoilErosion_{}.qm'.format(locale)) # # if os.path.exists(locale_path): # self.translator = QTranslator() # self.translator.load(locale_path) # # if qVersion() > '4.3.3': # QCoreApplication.installTranslator(self.translator) # Declare instance attributes self.actions = [] self.menu = self.tr(u'&Soil Erosion') # add plugin icon into plugin toolbar self.toolButton = QToolButton() #print "** INITIALIZING SoilErosion" self.pluginIsActive = False self.dockwidget = None
def openHelp(self): overrideLocale = QSettings().value('locale/overrideFlag', False, type=bool) if not overrideLocale: localeFullName = QLocale.system().name() else: localeFullName = QSettings().value('locale/userLocale', '') localeShortName = localeFullName[0:2] if localeShortName in ['ru', 'uk']: QDesktopServices.openUrl( QUrl('http://gis-lab.info/qa/osmpoly.html')) else: QDesktopServices.openUrl( QUrl('http://gis-lab.info/qa/osmpoly-en.html'))
def locale(): """Get the name of the currently active locale. :returns: Name of hte locale e.g. 'id' :rtype: stre """ override_flag = QSettings().value('locale/overrideFlag', True, type=bool) if override_flag: locale_name = QSettings().value('locale/userLocale', 'en_US', type=str) else: locale_name = QLocale.system().name() # NOTES: we split the locale name because we need the first two # character i.e. 'id', 'af, etc locale_name = str(locale_name).split('_')[0] return locale_name
def __init__( self, iface ): """initialize the plugin""" global control try: control except NameError: try: overrideLocale = bool(QSettings().value("locale/overrideFlag", False)) if not overrideLocale: lang = QLocale.system().name().split("_")[0] else: lang = QSettings().value("locale/userLocale", "").split("_")[0] except: lang="en" # could not get locale, OSX may have this bug info("Plugin language loaded: {}".format(lang)) self.change_i18n(lang) control = TimeManagerControl(iface)
def __init__(self, iface): self.iface = iface self.canvas = self.iface.mapCanvas() self.qgsVersion = unicode(QGis.QGIS_VERSION_INT) overrideLocale = QSettings().value('locale/overrideFlag', False, bool) if not overrideLocale: locale = QLocale.system().name()[:2] else: locale = QSettings().value('locale/userLocale', '') qmPath = '{}/i18n/photo2shape_{}.qm'.format(pluginPath, locale) if os.path.exists(qmPath): self.translator = QTranslator() self.translator.load(translationPath) QCoreApplication.installTranslator(self.translator)
def setupI18n(thePreferredLocale=None): """ Setup internationalisation for the plugin. See if QGIS wants to override the system locale and then see if we can get a valid translation file for whatever locale is effectively being used. @param thePreferredLocale will override any other locale setting """ logger = logging.getLogger(__name__) myOverrideFlag = QSettings().value('locale/overrideFlag', False, type=bool) myLocaleName = None if thePreferredLocale is not None: myLocaleName = thePreferredLocale logger.info('Using preferred locale: ' + myLocaleName) elif myOverrideFlag: myLocaleName = QSettings().value('locale/userLocale', u'') logger.info('Using QGIS override locale: ' + myLocaleName) else: myLocaleName = QLocale.system().name() # NOTES: we split the locale name because we need the first two # character i.e. 'id', 'af, etc myLocaleName = str(myLocaleName) logger.info('Using system default locale: ' + myLocaleName) # Insert into QT's translation system # As soon as translator gets deleted, the translation will stop # Therefore, QCoreApplication is set as parent to not delete it # while the application is running (but we might end up loading # the same translation twice) translator = QTranslator(QCoreApplication.instance()) myTranslatorFile = 'qgepplugin_' + myLocaleName myResult = translator.load(myTranslatorFile, ':/plugins/qgepplugin/i18n') # myResult = translator.load( myTranslatorFile, '/home/kk/dev/python/QGEP/qgepplugin/i18n' ) if myResult: QCoreApplication.instance().installTranslator(translator)
def main(): app = QApplication(sys.argv) app.setOrganizationName('ffmulticonverter') app.setOrganizationDomain('sites.google.com/site/ffmulticonverter/') app.setApplicationName('FF Muli Converter') app.setWindowIcon(QIcon(':/ffmulticonverter.png')) locale = QLocale.system().name() qtTranslator = QTranslator() if qtTranslator.load('qt_' + locale, ':/'): app.installTranslator(qtTranslator) appTranslator = QTranslator() if appTranslator.load('ffmulticonverter_' + locale, ':/'): app.installTranslator(appTranslator) logging_config() converter = MainWindow() converter.show() app.exec_()
def __init__(self, iface): # Save reference to the QGIS interface self.iface = iface # i18n support override_locale = QSettings().value('locale/overrideFlag', False, type=bool) if not override_locale: locale_full_name = QLocale.system().name() else: locale_full_name = QSettings().value('locale/userLocale', '', type=unicode) self.locale_path = '%s/i18n/rugeocoder_%s.qm' % (_current_path, locale_full_name[0:2]) if QFileInfo(self.locale_path).exists(): self.translator = QTranslator() self.translator.load(self.locale_path) QCoreApplication.installTranslator(self.translator) # menu && toolbars self.menu_name = self.tr(u'&RuGeocoder') self.toolbar = self.iface.addToolBar(self.menu_name) self.toolbar.setObjectName(u'RuGeocoderToolbar') # instances self.__converter_dlg = ConverterDialog() self.__geocoder_dlg = BatchGeocodingDialog() # Dock tree panel self.__quick_tlb = QuickGeocodingToolbox(self.iface) self.iface.addDockWidget(PluginSettings.dock_area(), self.__quick_tlb) self.__quick_tlb.setFloating(PluginSettings.dock_floating()) self.__quick_tlb.resize(PluginSettings.dock_size()) self.__quick_tlb.move(PluginSettings.dock_pos()) self.__quick_tlb.setVisible(PluginSettings.dock_visibility()) self.__quick_tlb.set_active_geocoder( PluginSettings.dock_geocoder_name()) self.__quick_tlb.setWindowIcon( QIcon(path.join(_current_path, 'edit-find-project.png')))