QTfrontend/main.cpp
branch0.9.19
changeset 8924 13ac59499066
parent 8918 512753ea4b1b
child 9027 4b8e326251b3
equal deleted inserted replaced
8904:6ea838b8dcd5 8924:13ac59499066
   259     engine->mount(cfgdir->absolutePath() + "/Data");
   259     engine->mount(cfgdir->absolutePath() + "/Data");
   260     engine->mount(cfgdir->absolutePath());
   260     engine->mount(cfgdir->absolutePath());
   261     engine->setWriteDir(cfgdir->absolutePath());
   261     engine->setWriteDir(cfgdir->absolutePath());
   262     engine->mountPacks();
   262     engine->mountPacks();
   263 
   263 
   264     DataManager::ensureFileExists("physfs://hedgewars.ini");
       
   265 
       
   266     QTranslator Translator;
   264     QTranslator Translator;
   267     {
   265     {
   268         QSettings settings("physfs://hedgewars.ini", QSettings::IniFormat);
   266         QSettings settings(DataManager::instance().settingsFileName(), QSettings::IniFormat);
       
   267         settings.setIniCodec("UTF-8");
       
   268 
   269         QString cc = settings.value("misc/locale", QString()).toString();
   269         QString cc = settings.value("misc/locale", QString()).toString();
   270         if(cc.isEmpty())
   270         if (cc.isEmpty())
   271             cc = QLocale::system().name();
   271             cc = HWApplication::keyboardInputLocale().name();
       
   272             // QLocale::system().name() returns only "C"...
   272 
   273 
   273         // load locale file into translator
   274         // load locale file into translator
   274         if(!Translator.load(QString("physfs://Locale/hedgewars_%1").arg(cc)))
   275         if (!Translator.load(QString("physfs://Locale/hedgewars_%1").arg(cc)))
   275             qWarning("Failed to install translation");
   276             qWarning("Failed to install translation (%s)", qPrintable(cc));
   276         app.installTranslator(&Translator);
   277         app.installTranslator(&Translator);
   277     }
   278     }
   278 
   279 
   279 #ifdef _WIN32
   280 #ifdef _WIN32
   280     // Win32 registry setup (used for xfire detection etc. - don't set it if we're running in "portable" mode with a custom config dir)
   281     // Win32 registry setup (used for xfire detection etc. - don't set it if we're running in "portable" mode with a custom config dir)