From f32b4c3ce1311607cf1b01c4d53d42141a546657 Mon Sep 17 00:00:00 2001 From: Tannin Date: Sun, 10 May 2015 16:01:07 +0200 Subject: - language list in settings no longer contains english twice - language names in settings are now in the native language --- src/settings.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src/settings.cpp') diff --git a/src/settings.cpp b/src/settings.cpp index 54be183a..002db3ef 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -445,7 +445,7 @@ void Settings::writePluginBlacklist() void Settings::addLanguages(QComboBox *languageBox) { - languageBox->addItem("English", "en_US"); + std::vector> languages; QDirIterator langIter(QCoreApplication::applicationDirPath() + "/translations", QDir::Files); QString pattern = ToQString(AppConfig::translationPrefix()) + "_([a-z]{2,3}(_[A-Z]{2,2})?).qm"; @@ -456,7 +456,7 @@ void Settings::addLanguages(QComboBox *languageBox) if (exp.exactMatch(file)) { QString languageCode = exp.cap(1); QLocale locale(languageCode); - QString languageString = QLocale::languageToString(locale.language()); + QString languageString = QString("%1 (%2)").arg(locale.nativeLanguageName()).arg(locale.nativeCountryName()); //QLocale::languageToString(locale.language()); if (locale.language() == QLocale::Chinese) { if (languageCode == "zh_TW") { languageString = "Chinese (traditional)"; @@ -464,9 +464,18 @@ void Settings::addLanguages(QComboBox *languageBox) languageString = "Chinese (simplified)"; } } - languageBox->addItem(QString("%1").arg(languageString), exp.cap(1)); + languages.push_back(std::make_pair(QString("%1").arg(languageString), exp.cap(1))); + //languageBox->addItem(QString("%1").arg(languageString), exp.cap(1)); } } + if (!languageBox->findText("English")) { + languages.push_back(std::make_pair(QString("English"), QString("en_US"))); + //languageBox->addItem("English", "en_US"); + } + std::sort(languages.begin(), languages.end()); + for (const auto &lang : languages) { + languageBox->addItem(lang.first, lang.second); + } } void Settings::addStyles(QComboBox *styleBox) -- cgit v1.3.1