- QString localeName = locale.name();
-
- // if the user did not specify a language in the settings, the system locale
- // is used, but Qt < 4.8 does not respect language settings. This bit is
- // based on QLocale::uiLanguages() as in Qt 4.8.3
- if (locale == QLocale::system()) {
- // FIXME: does it make sense to set the locale to the system locale?
- QLocale::setDefault(locale);
- QVariant res = QSystemLocale().query(QSystemLocale::UILanguages, QVariant());
- if (!res.isNull()) {
- QString newName = res.toStringList()[0];
- if (!newName.isEmpty()) {
- localeName = newName.replace('-', "_"); // silly Qt.
- }
- }
- }
-
- bool success = qtTranslator->load(QString("qt_%1").arg(localeName), translationDirPath());