MCPcopy Create free account
hub / github.com/ElementsProject/elements / initTranslations

Function initTranslations

src/qt/bitcoin.cpp:115–150  ·  view source on GitHub ↗

Set up translations */

Source from the content-addressed store, hash-verified

113
114/** Set up translations */
115static void initTranslations(QTranslator &qtTranslatorBase, QTranslator &qtTranslator, QTranslator &translatorBase, QTranslator &translator)
116{
117 // Remove old translators
118 QApplication::removeTranslator(&qtTranslatorBase);
119 QApplication::removeTranslator(&qtTranslator);
120 QApplication::removeTranslator(&translatorBase);
121 QApplication::removeTranslator(&translator);
122
123 // Get desired locale (e.g. "de_DE")
124 // 1) System default language
125 QString lang_territory = GetLangTerritory();
126
127 // Convert to "de" only by truncating "_DE"
128 QString lang = lang_territory;
129 lang.truncate(lang_territory.lastIndexOf('_'));
130
131 // Load language files for configured locale:
132 // - First load the translator for the base language, without territory
133 // - Then load the more specific locale translator
134
135 // Load e.g. qt_de.qm
136 if (qtTranslatorBase.load("qt_" + lang, QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
137 QApplication::installTranslator(&qtTranslatorBase);
138
139 // Load e.g. qt_de_DE.qm
140 if (qtTranslator.load("qt_" + lang_territory, QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
141 QApplication::installTranslator(&qtTranslator);
142
143 // Load e.g. bitcoin_de.qm (shortcut "de" needs to be defined in bitcoin.qrc)
144 if (translatorBase.load(lang, ":/translations/"))
145 QApplication::installTranslator(&translatorBase);
146
147 // Load e.g. bitcoin_de_DE.qm (shortcut "de_DE" needs to be defined in bitcoin.qrc)
148 if (translator.load(lang_territory, ":/translations/"))
149 QApplication::installTranslator(&translator);
150}
151
152static bool InitSettings()
153{

Callers 1

GuiMainFunction · 0.85

Calls 2

GetLangTerritoryFunction · 0.85
loadMethod · 0.45

Tested by

no test coverage detected