diff -urN kde-workspace-4.10.3/kdm/kcm/kdm-gen.cpp kde-workspace-4.10.3-patched/kdm/kcm/kdm-gen.cpp --- kde-workspace-4.10.3/kdm/kcm/kdm-gen.cpp 2013-05-03 15:36:45.000000000 +1100 +++ kde-workspace-4.10.3-patched/kdm/kcm/kdm-gen.cpp 2013-05-28 01:23:48.374492633 +1100 @@ -35,6 +35,8 @@ #include #include +#include + extern KConfig *config; KDMGeneralWidget::KDMGeneralWidget(QWidget *parent) @@ -208,7 +210,21 @@ colcombo->setCurrentId(configGrp.readEntry("ColorScheme")); // get the language - langcombo->setCurrentItem(configGrp.readEntry("Language", "C")); + QString langEntry = configGrp.readEntry("Language", "C"); + if ((langEntry == "C") || !langcombo->contains(langEntry)) + { + char *locale = setlocale(LC_MESSAGES, NULL); + + QString lang, country, modifier, charset; + KLocale::splitLocale(locale, lang, country, modifier, charset); + + if (lang.toLower() == country.toLower()) + langEntry = lang; + else + langEntry = lang + "_" + country; + } + + langcombo->setCurrentItem(langEntry); // Read the fonts QFont font = stdFontChooser->font();