#include "il2cpp-config.h" #if IL2CPP_TARGET_WINRT || IL2CPP_TARGET_XBOXONE || IL2CPP_TARGET_WINDOWS_GAMES #include "os/Locale.h" #include "os/Win32/WindowsHeaders.h" #include namespace il2cpp { namespace os { std::string Locale::GetLocale() { WCHAR wideLocaleName[LOCALE_NAME_MAX_LENGTH]; if (GetUserDefaultLocaleName(wideLocaleName, LOCALE_NAME_MAX_LENGTH) == 0) return std::string(); int length = static_cast(wcslen(wideLocaleName)); std::string multiLocaleName; multiLocaleName.resize(2 * length); int narrowLength = WideCharToMultiByte(CP_ACP, 0, &wideLocaleName[0], length, &multiLocaleName[0], 2 * length, NULL, NULL); multiLocaleName.resize(narrowLength); return multiLocaleName; } } /* namespace os */ } /* namespace il2cpp */ #endif