initial commit

Signed-off-by: Peter Siegmund <mars3142@noreply.mars3142.dev>
This commit is contained in:
2025-10-31 23:37:30 +01:00
commit bf6b52fd94
9654 changed files with 4035664 additions and 0 deletions

View 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);
}