mirror of
https://github.com/glest/glest-source.git
synced 2025-08-31 19:51:44 +02:00
- updated windows to properly detect locale in windows (stupid non standard platform)
This commit is contained in:
@@ -44,6 +44,7 @@
|
|||||||
//#include "sound.h"
|
//#include "sound.h"
|
||||||
//#include "unicode/uclean.h"
|
//#include "unicode/uclean.h"
|
||||||
#include <locale.h>
|
#include <locale.h>
|
||||||
|
#include "string_utils.h"
|
||||||
|
|
||||||
// For gcc backtrace on crash!
|
// For gcc backtrace on crash!
|
||||||
#if defined(__GNUC__) && !defined(__MINGW32__) && !defined(__FreeBSD__) && !defined(BSD)
|
#if defined(__GNUC__) && !defined(__MINGW32__) && !defined(__FreeBSD__) && !defined(BSD)
|
||||||
@@ -2915,7 +2916,21 @@ int glestMain(int argc, char** argv) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
char *lang_locale = setlocale(LC_ALL,"");
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
int localeBufferSize = GetLocaleInfo(LOCALE_SYSTEM_DEFAULT, LOCALE_SISO639LANGNAME, NULL, 0);
|
||||||
|
wchar_t *sysLocale = new wchar_t[localeBufferSize];
|
||||||
|
GetLocaleInfo(LOCALE_SYSTEM_DEFAULT, LOCALE_SISO639LANGNAME, sysLocale,localeBufferSize);
|
||||||
|
|
||||||
|
//String langValue(sysLocale);
|
||||||
|
//const char *lang_locale = langValue.c_str();
|
||||||
|
char langValue[1024]="";
|
||||||
|
wcstombs(langValue,sysLocale, 1023);
|
||||||
|
const char *lang_locale = &langValue[0];
|
||||||
|
#else
|
||||||
|
const char *lang_locale = setlocale(LC_ALL,"");
|
||||||
|
#endif
|
||||||
|
|
||||||
if(SystemFlags::VERBOSE_MODE_ENABLED) printf("Locale is: [%s]\n", lang_locale);
|
if(SystemFlags::VERBOSE_MODE_ENABLED) printf("Locale is: [%s]\n", lang_locale);
|
||||||
|
|
||||||
if(lang_locale != NULL && strlen(lang_locale) >= 2) {
|
if(lang_locale != NULL && strlen(lang_locale) >= 2) {
|
||||||
@@ -2924,7 +2939,8 @@ int glestMain(int argc, char** argv) {
|
|||||||
language = language.substr(0,2);
|
language = language.substr(0,2);
|
||||||
printf("Auto setting language [%s]\n",language.c_str());
|
printf("Auto setting language [%s]\n",language.c_str());
|
||||||
|
|
||||||
config.setBool("AutoLocaleLanguageDetect",false);
|
config.setString("AutoLocaleLanguageDetect","false");
|
||||||
|
config.save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user