initial commit
Signed-off-by: Peter Siegmund <mars3142@noreply.mars3142.dev>
This commit is contained in:
81
libs/wxWidgets-3.3.1/misc/languages/util/showlocales.c
Normal file
81
libs/wxWidgets-3.3.1/misc/languages/util/showlocales.c
Normal file
@@ -0,0 +1,81 @@
|
||||
#include <windows.h>
|
||||
#include <stdio.h>
|
||||
|
||||
// All of the LCTYPES new to Windows Vista
|
||||
LCTYPE winLocaleTypes[] =
|
||||
{
|
||||
LOCALE_SNAME, // Tag identifying the locale
|
||||
LOCALE_SENGLISHDISPLAYNAME, // English locale name (example: "German (Germany)"
|
||||
LOCALE_SENGLISHLANGUAGENAME, // English language name
|
||||
LOCALE_SENGLISHCOUNTRYNAME, // English country name
|
||||
LOCALE_SSCRIPTS, // List of scripts
|
||||
LOCALE_SISO3166CTRYNAME2,
|
||||
LOCALE_SINTLSYMBOL, // Currency symbol ISO
|
||||
LOCALE_IREADINGLAYOUT, // Layout direction 0=LTR, 1=RTL, 2=TTB-RTL or LTR, 3=TTB-LTR
|
||||
LOCALE_ILANGUAGE, // Numeric language code
|
||||
LOCALE_SNATIVEDISPLAYNAME, // Native locale name (example: "Deutsch (Deutschland)"
|
||||
LOCALE_SNATIVELANGUAGENAME, // Native language name
|
||||
LOCALE_SNATIVECOUNTRYNAME // Native country name
|
||||
};
|
||||
|
||||
// Strings so we can print out the LCTYPES
|
||||
LPCWSTR winLocaleTypeNames[] =
|
||||
{
|
||||
L"LOCALE_SNAME", // Tag identifying the locale
|
||||
L"LOCALE_SENGLISHDISPLAYNAME", // English locale name (example: "German (Germany)"
|
||||
L"LOCALE_SENGLISHLANGUAGENAME", // English language name
|
||||
L"LOCALE_SENGLISHCOUNTRYNAME", // English country name
|
||||
L"LOCALE_SSCRIPTS", // List of scripts
|
||||
L"LOCALE_SISO3166CTRYNAME2",
|
||||
L"LOCALE_SINTLSYMBOL", // Currency symbol ISO
|
||||
L"LOCALE_IREADINGLAYOUT", // Layout direction 0=LTR, 1=RTL, 2=TTB-RTL or LTR, 3=TTB-LTR
|
||||
L"LOCALE_ILANGUAGE", // Numeric language code
|
||||
L"LOCALE_SNATIVEDISPLAYNAME", // Native locale name (example: "Deutsch (Deutschland)"
|
||||
L"LOCALE_SNATIVELANGUAGENAME", // Native language name
|
||||
L"LOCALE_SNATIVECOUNTRYNAME" // Native country name
|
||||
};
|
||||
|
||||
// Callback for EnumSystemLocalesEx()
|
||||
#define BUFFER_SIZE 512
|
||||
BOOL CALLBACK MyFuncLocaleEx(LPWSTR pStr, DWORD dwFlags, LPARAM lparam)
|
||||
{
|
||||
if (*pStr == 0) return (TRUE);
|
||||
|
||||
UNREFERENCED_PARAMETER(dwFlags);
|
||||
UNREFERENCED_PARAMETER(lparam);
|
||||
WCHAR wcBuffer[BUFFER_SIZE];
|
||||
char utf8Buffer[BUFFER_SIZE*4];
|
||||
|
||||
int iResult;
|
||||
int i;
|
||||
|
||||
// Loop through all specified LCTYPES and do GetLocaleInfoEx on them
|
||||
for (i = 0; i < sizeof(winLocaleTypes) / sizeof(winLocaleTypes[0]); i++)
|
||||
{
|
||||
// Get this LCTYPE result for this locale
|
||||
iResult = GetLocaleInfoEx(pStr, winLocaleTypes[i], wcBuffer, BUFFER_SIZE);
|
||||
|
||||
// If it succeeds, print it out
|
||||
if (i != 0) printf("|");
|
||||
if (iResult > 0)
|
||||
{
|
||||
WideCharToMultiByte(CP_UTF8, 0, wcBuffer, -1, utf8Buffer, BUFFER_SIZE*4, NULL, NULL);
|
||||
printf(utf8Buffer);
|
||||
}
|
||||
else
|
||||
{
|
||||
//wprintf(L" %s had error %d\n", NewTypeNames[i], GetLastError());
|
||||
}
|
||||
}
|
||||
printf("\n");
|
||||
|
||||
return (TRUE);
|
||||
}
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
UNREFERENCED_PARAMETER(argc);
|
||||
// Enumerate the known locales and report on them
|
||||
// LOCALE_ALL = LOCALE_WINDOWS | LOCALE_SUPPLEMENTAL | LOCALE_ALTERNATE_SORTS | LOCALE_NEUTRALDATA
|
||||
EnumSystemLocalesEx( MyFuncLocaleEx, LOCALE_WINDOWS, (LPARAM)argv, NULL);
|
||||
}
|
||||
Reference in New Issue
Block a user