From f9411f30c4e955968e7abdecade3303b5e63bb4c Mon Sep 17 00:00:00 2001 From: KUDr Date: Fri, 27 Jul 2007 22:19:19 +0000 Subject: (svn r10711) -Fix [Win32]: take default language from current user's locale on Windows (In-) --- src/win32.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/win32.cpp') diff --git a/src/win32.cpp b/src/win32.cpp index a734acf59..0580087ca 100644 --- a/src/win32.cpp +++ b/src/win32.cpp @@ -1264,3 +1264,18 @@ HRESULT OTTDSHGetFolderPath(HWND hwnd, int csidl, HANDLE hToken, DWORD dwFlags, return E_INVALIDARG; } + +/** Determine the current user's locale. */ +const char *GetCurrentLocale(const char *) +{ + char lang[32], country[32]; + static char retbuf[64]; + if (GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SISO639LANGNAME, lang, lengthof(lang)) == 0 || + GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SISO3166CTRYNAME, country, lengthof(country)) == 0) { + /* Unable to retrieve the locale. */ + return NULL; + } + /* Format it as 'en_us'. */ + sprintf(retbuf, "%c%c_%c%c\0", lang[0], lang[1], country[0], country[1]); + return retbuf; +} -- cgit v1.2.3-54-g00ecf