1 /*
2 * Copyright 2013 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7 #include "windows.h"
8 #include "stdio.h"
9
10 #define BUFFER_SIZE 512
MyFuncLocaleEx(LPWSTR pStr,DWORD dwFlags,LPARAM lparam)11 BOOL CALLBACK MyFuncLocaleEx(LPWSTR pStr, DWORD dwFlags, LPARAM lparam) {
12 WCHAR wcBuffer[BUFFER_SIZE];
13 int bufferSize;
14
15 bufferSize = GetLocaleInfoEx(pStr, LOCALE_SENGLANGUAGE, wcBuffer, BUFFER_SIZE);
16 if (bufferSize == 0) {
17 wprintf(L"Locale %s had error %d\n", pStr, GetLastError());
18 return (TRUE);
19 }
20
21 LCID lcid = LocaleNameToLCID(pStr, nullptr);
22 if (lcid == 0) {
23 wprintf(L"Error %d getting LCID\n", GetLastError());
24 return (TRUE);
25 }
26
27 if (lcid > 0x8000) {
28 wprintf(L"//");
29 }
30 wprintf(L" { 0x%.4x, \"%s\" }, //%s\n", lcid, pStr, wcBuffer);
31
32 return (TRUE);
33 }
34
main(int argc,wchar_t * argv[])35 int main(int argc, wchar_t* argv[]) {
36 EnumSystemLocalesEx(MyFuncLocaleEx, LOCALE_ALL, nullptr, nullptr);
37 }
38