diff --git a/src/app/tape/dialogs/configpages/tapeconfigurationpage.cpp b/src/app/tape/dialogs/configpages/tapeconfigurationpage.cpp index 9707c11a7..4a2217602 100644 --- a/src/app/tape/dialogs/configpages/tapeconfigurationpage.cpp +++ b/src/app/tape/dialogs/configpages/tapeconfigurationpage.cpp @@ -144,6 +144,9 @@ QGroupBox *TapeConfigurationPage::LangGroup() fileNames.append(it.fileName()); } + bool englishUS = false; + const QString en_US = QStringLiteral("en_US"); + for (int i = 0; i < fileNames.size(); ++i) { // get locale extracted by filename @@ -151,6 +154,11 @@ QGroupBox *TapeConfigurationPage::LangGroup() locale.truncate(locale.lastIndexOf(QLatin1String("."))); // "valentina_de_De" locale.remove(0, locale.indexOf(QLatin1String("_")) + 1); // "de_De" + if (not englishUS) + { + englishUS = (en_US == locale); + } + const QLocale loc(locale); const QString lang = loc.nativeLanguageName(); QIcon ico(QString("%1/%2.png").arg("://flags").arg(QLocale::countryToString(loc.country()))); @@ -158,12 +166,12 @@ QGroupBox *TapeConfigurationPage::LangGroup() langCombo->addItem(ico, lang, locale); } - if (langCombo->count() == 0) + if (langCombo->count() == 0 || not englishUS) { // English language is internal and doens't have own *.qm file. QIcon ico(QString("%1/%2.png").arg("://flags").arg(QLocale::countryToString(QLocale::UnitedStates))); - const QString lang = QLocale("en_US").nativeLanguageName(); - langCombo->addItem(ico, lang, "en_US"); + const QString lang = QLocale(en_US).nativeLanguageName(); + langCombo->addItem(ico, lang, en_US); } // set default translators and language checked diff --git a/src/app/valentina/dialogs/configpages/configurationpage.cpp b/src/app/valentina/dialogs/configpages/configurationpage.cpp index 4f2d11265..e0d2428b8 100644 --- a/src/app/valentina/dialogs/configpages/configurationpage.cpp +++ b/src/app/valentina/dialogs/configpages/configurationpage.cpp @@ -203,6 +203,9 @@ QGroupBox *ConfigurationPage::LangGroup() fileNames.append(it.fileName()); } + bool englishUS = false; + const QString en_US = QStringLiteral("en_US"); + for (int i = 0; i < fileNames.size(); ++i) { // get locale extracted by filename @@ -211,6 +214,11 @@ QGroupBox *ConfigurationPage::LangGroup() locale.truncate(locale.lastIndexOf('.')); // "valentina_de_De" locale.remove(0, locale.indexOf('_') + 1); // "de_De" + if (not englishUS) + { + englishUS = (en_US == locale); + } + QLocale loc = QLocale(locale); QString lang = loc.nativeLanguageName(); QIcon ico(QString("%1/%2.png").arg("://flags").arg(QLocale::countryToString(loc.country()))); @@ -218,12 +226,12 @@ QGroupBox *ConfigurationPage::LangGroup() langCombo->addItem(ico, lang, locale); } - if (langCombo->count() == 0) + if (langCombo->count() == 0 || not englishUS) { // English language is internal and doens't have own *.qm file. QIcon ico(QString("%1/%2.png").arg("://flags").arg(QLocale::countryToString(QLocale::UnitedStates))); - QString lang = QLocale("en_US").nativeLanguageName(); - langCombo->addItem(ico, lang, "en_US"); + QString lang = QLocale(en_US).nativeLanguageName(); + langCombo->addItem(ico, lang, en_US); } // set default translators and language checked