Description: QTranslator::load() needs filename and directory separate.  Do
  not ignore normalization by getLanguageIndexByCode() in suggestLanguage().
Author: Joachim Reichel <reichel@debian.org>

Index: cppcheck-1.90/gui/translationhandler.cpp
===================================================================
--- cppcheck-1.90.orig/gui/translationhandler.cpp
+++ cppcheck-1.90/gui/translationhandler.cpp
@@ -116,17 +116,18 @@ bool TranslationHandler::setLanguage(con
         if (datadir.isEmpty())
             datadir = appPath;
 
-        QString translationFile;
+        QString directory;
         if (QFile::exists(datadir + "/lang/" + mTranslations[index].mFilename + ".qm"))
-            translationFile = datadir + "/lang/" + mTranslations[index].mFilename + ".qm";
+            directory = datadir + "/lang";
 
         else if (QFile::exists(datadir + "/" + mTranslations[index].mFilename + ".qm"))
-            translationFile = datadir + "/" + mTranslations[index].mFilename + ".qm";
+            directory = datadir;
 
         else
-            translationFile = appPath + "/" + mTranslations[index].mFilename + ".qm";
+            directory = appPath;
+        QString translationFile = directory + "/" + mTranslations[index].mFilename + ".qm";
 
-        if (!mTranslator->load(translationFile) && !failure) {
+        if (!mTranslator->load(mTranslations[index].mFilename, directory) && !failure) {
             //If it failed, lets check if the default file exists
             if (!QFile::exists(translationFile)) {
                 error = QObject::tr("Language file %1 not found!");
@@ -181,7 +182,7 @@ QString TranslationHandler::suggestLangu
         return "en";
     }
 
-    return language;
+    return mTranslations[index].mCode;
 }
 
 void TranslationHandler::addTranslation(const char *name, const char *filename)
