diff options
Diffstat (limited to 'src/corelib/mimetypes/qmimetype.cpp')
-rw-r--r-- | src/corelib/mimetypes/qmimetype.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/corelib/mimetypes/qmimetype.cpp b/src/corelib/mimetypes/qmimetype.cpp index b824a42049..39cdfaec5e 100644 --- a/src/corelib/mimetypes/qmimetype.cpp +++ b/src/corelib/mimetypes/qmimetype.cpp @@ -221,16 +221,16 @@ QString QMimeType::comment() const { QMimeDatabasePrivate::instance()->loadMimeTypePrivate(const_cast<QMimeTypePrivate&>(*d)); - QStringList languageList = QLocale().uiLanguages(); - qsizetype defaultIndex = languageList.indexOf(u"en-US"_s); + QStringList languageList = QLocale().uiLanguages(QLocale::TagSeparator::Underscore); + qsizetype defaultIndex = languageList.indexOf(u"en_US"_s); // Include the default locale as fall-back. if (defaultIndex >= 0) { // en_US is generally the default, and may be omitted from the // overtly-named locales in the MIME type's data (QTBUG-105007). - ++defaultIndex; // Skip over en-US. - // That's typically followed by en-Latn-US and en (in that order): - if (defaultIndex < languageList.size() && languageList.at(defaultIndex) == u"en-Latn-US") + ++defaultIndex; // Skip over en_US. + // That's typically followed by en_Latn_US and en (in that order): + if (defaultIndex < languageList.size() && languageList.at(defaultIndex) == u"en_Latn_US") ++defaultIndex; if (defaultIndex < languageList.size() && languageList.at(defaultIndex) == u"en") ++defaultIndex; @@ -241,9 +241,7 @@ QString QMimeType::comment() const languageList.insert(defaultIndex, u"default"_s); for (const QString &language : std::as_const(languageList)) { - // uiLanguages() uses '-' as separator, MIME database uses '_' - const QString lang - = language == "C"_L1 ? u"en_US"_s : QString(language).replace(u'-', u'_'); + const QString lang = language == "C"_L1 ? u"en_US"_s : language; QString comm = d->localeComments.value(lang); if (!comm.isEmpty()) return comm; |