MCPcopy Index your code
hub / github.com/Bitmessage/PyBitmessage / change_translation

Function change_translation

src/bitmessageqt/__init__.py:71–111  ·  view source on GitHub ↗
(newlocale)

Source from the content-addressed store, hash-verified

69
70
71def change_translation(newlocale):
72 global qmytranslator, qsystranslator
73 try:
74 if not qmytranslator.isEmpty():
75 QtGui.QApplication.removeTranslator(qmytranslator)
76 except:
77 pass
78 try:
79 if not qsystranslator.isEmpty():
80 QtGui.QApplication.removeTranslator(qsystranslator)
81 except:
82 pass
83
84 qmytranslator = QtCore.QTranslator()
85 translationpath = os.path.join (paths.codePath(), 'translations', 'bitmessage_' + newlocale)
86 qmytranslator.load(translationpath)
87 QtGui.QApplication.installTranslator(qmytranslator)
88
89 qsystranslator = QtCore.QTranslator()
90 if paths.frozen:
91 translationpath = os.path.join (paths.codePath(), 'translations', 'qt_' + newlocale)
92 else:
93 translationpath = os.path.join (str(QtCore.QLibraryInfo.location(QtCore.QLibraryInfo.TranslationsPath)), 'qt_' + newlocale)
94 qsystranslator.load(translationpath)
95 QtGui.QApplication.installTranslator(qsystranslator)
96
97 lang = locale.normalize(l10n.getTranslationLanguage())
98 langs = [lang.split(".")[0] + "." + l10n.encoding, lang.split(".")[0] + "." + 'UTF-8', lang]
99 if 'win32' in sys.platform or 'win64' in sys.platform:
100 langs = [l10n.getWindowsLocale(lang)]
101 for lang in langs:
102 try:
103 l10n.setlocale(locale.LC_ALL, lang)
104 if 'win32' not in sys.platform and 'win64' not in sys.platform:
105 l10n.encoding = locale.nl_langinfo(locale.CODESET)
106 else:
107 l10n.encoding = locale.getlocale()[1]
108 logger.info("Successfully set locale to %s", lang)
109 break
110 except:
111 logger.error("Failed to set locale to %s", lang, exc_info=True)
112
113
114class MyForm(settingsmixin.SMainWindow):

Callers 2

click_actionSettingsMethod · 0.85
runFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected