diff options
Diffstat (limited to 'src/win32/windows.cpp')
-rw-r--r-- | src/win32/windows.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/win32/windows.cpp b/src/win32/windows.cpp index 5f0c6d5e4..af37282c8 100644 --- a/src/win32/windows.cpp +++ b/src/win32/windows.cpp @@ -12,6 +12,36 @@ #ifdef _WIN32 #include "services.h" +struct WindowsLanguage +{ + const char *languageName; + USHORT windowsLanguageName; +}; + +WindowsLanguage WindowsLanguages[] = { + {"ca_ES", LANG_CATALAN}, + {"de_DE", LANG_GERMAN}, + {"el_GR", LANG_GREEK}, + {"es_ES", LANG_SPANISH}, + {"fr_FR", LANG_FRENCH}, + {"hu_HU", LANG_HUNGARIAN}, + {"it_IT", LANG_ITALIAN}, + {"nl_NL", LANG_DUTCH}, + {"pl_PL", LANG_POLISH}, + {"pt_PT", LANG_PORTUGUESE}, + {"ru_RU", LANG_RUSSIAN}, + {"tr_TR", LANG_TURKISH}, + {NULL, 0} +}; + +USHORT WindowsGetLanguage(const char *lang) +{ + for (int i = 0; WindowsLanguages[i].languageName; ++i) + if (!strcmp(lang, WindowsLanguages[i].languageName)) + return WindowsLanguages[i].windowsLanguageName; + return LANG_NEUTRAL; +} + /** This is inet_pton, but it works on Windows * @param af The protocol type, AF_INET or AF_INET6 * @param src The address |