Set up translations */
| 113 | |
| 114 | /** Set up translations */ |
| 115 | static 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 | |
| 152 | static bool InitSettings() |
| 153 | { |
no test coverage detected