@@ -294,9 +294,10 @@ LocaleAttached::LocaleAttached(QObject* parent)
294QJsonObject LocaleAttached::languages() const
294QJsonObject LocaleAttached::languages() const
296 QJsonObject result;
296 QJsonObject result;
297− for (int i = QLocale::C + 1; i < QLocale::LastLanguage; ++i) {
297+
298− QLocale loc(static_cast<QLocale::Language>(i));
298+ const QList<QLocale> allLocales = QLocale::matchingLocales(QLocale::AnyLanguage, QLocale::AnyScript, QLocale::AnyCountry);
299+ Q_FOREACH(const QLocale &loc, allLocales) {
299− result.insert(loc.name().split('_').first(), QLocale::languageToString(loc.language()));
300+ result.insert(loc.name().split('_').first(), loc.nativeLanguageName());
302 return result;
303 return result;