diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index c1bc9540b..9159e15a8 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -167,11 +167,14 @@ void MainWindow::LoadSettings() QString error = ""; - SetLanguage(mSettings->value(SETTINGS_LANGUAGE, 0).toInt()); + SetLanguage(mSettings->value(SETTINGS_LANGUAGE, mTranslation->SuggestLanguage()).toInt()); } void MainWindow::SaveSettings() { + //Force toolbar checkbox value to be updated + AboutToShowViewMenu(); + mSettings->setValue(SETTINGS_WINDOW_WIDTH, size().width()); mSettings->setValue(SETTINGS_WINDOW_HEIGHT, size().height()); mSettings->setValue(SETTINGS_WINDOW_MAXIMIZED, isMaximized()); diff --git a/gui/translationhandler.cpp b/gui/translationhandler.cpp index 14b3350f2..04eb59faf 100644 --- a/gui/translationhandler.cpp +++ b/gui/translationhandler.cpp @@ -27,11 +27,11 @@ TranslationHandler::TranslationHandler(QObject *parent) : mTranslator(new QTranslator(this)) { //Add our default languages - mNames << QObject::tr("English") - << QObject::tr("Finnish") - << QObject::tr("Swedish") - << QObject::tr("German") - << QObject::tr("Russian"); + mNames << "English" + << "Finnish" + << "Swedish" + << "German" + << "Russian"; mFiles << "cppcheck_en" << "cppcheck_fi" @@ -109,3 +109,30 @@ int TranslationHandler::GetCurrentLanguage() const return mCurrentLanguage; } +int TranslationHandler::SuggestLanguage() const +{ + /* + Get language from system locale's name + QLocale::languageToString would return the languages full name and we + only want two-letter ISO 639 language code so we'll get it from + locale's name. + */ + QString language = QLocale::system().name().left(2); + //qDebug()<<"Your language is"<