| /* | |
| * Copyright 2013 Google Inc. | |
| * | |
| * Use of this source code is governed by a BSD-style license that can be | |
| * found in the LICENSE file. | |
| */ | |
| #include <windows.h> | |
| #include <stdio.h> | |
| #define BUFFER_SIZE 512 | |
| BOOL CALLBACK MyFuncLocaleEx(LPWSTR pStr, DWORD dwFlags, LPARAM lparam) { | |
| WCHAR wcBuffer[BUFFER_SIZE]; | |
| int bufferSize; | |
| bufferSize = GetLocaleInfoEx(pStr, LOCALE_SENGLANGUAGE, wcBuffer, BUFFER_SIZE); | |
| if (bufferSize == 0) { | |
| wprintf(L"Locale %s had error %d\n", pStr, GetLastError()); | |
| return (TRUE); | |
| } | |
| LCID lcid = LocaleNameToLCID(pStr, nullptr); | |
| if (lcid == 0) { | |
| wprintf(L"Error %d getting LCID\n", GetLastError()); | |
| return (TRUE); | |
| } | |
| if (lcid > 0x8000) { | |
| wprintf(L"//"); | |
| } | |
| wprintf(L" { 0x%.4x, \"%s\" }, //%s\n", lcid, pStr, wcBuffer); | |
| return (TRUE); | |
| } | |
| int main(int argc, wchar_t* argv[]) { | |
| EnumSystemLocalesEx(MyFuncLocaleEx, LOCALE_ALL, nullptr, nullptr); | |
| } |