open-insight/SYSPROG/STPROCINS/MSWIN_LOCALE_EQUATES.txt
2024-03-25 15:17:34 -07:00

249 lines
19 KiB
Plaintext

compile insert msWin_Locale_Equates
/*
** Copyright (C) 2012-2022 Revelation Software Inc. All Rights Reserved **
This program is proprietary and is not to be used by or disclosed
to others, nor is it to be copied without written permission from
Revelation Technologies, Inc.
Author : Mr C
Date : 08 Feb 2017
Purpose : Equates for the WinAPI GetLocaleInfo() function
Comments
========
Amended Date Reason
======= ==== ======
*/
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
#ifndef _MSWIN_LOCALE_EQUATES_
#define _MSWIN_LOCALE_EQUATES_
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
declare function msWin_GetLocaleInfo, msWin_GetLocaleInfoEx
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
* // Language IDs
equ LANG_NEUTRAL$ to 0x00
equ LANG_INVARIANT$ to 0x7F
equ SUBLANG_NEUTRAL$ to 0x00 ; * language neutral
equ SUBLANG_DEFAULT$ to 0x01 ; * user default
equ SUBLANG_SYS_DEFAULT$ to 0x02 ; * system default
equ SUBLANG_CUSTOM_DEFAULT$ to 0x03 ; * default custom language/locale
equ SUBLANG_CUSTOM_UNSPECIFIED$ to 0x04 ; * custom language/locale
equ SUBLANG_UI_CUSTOM_DEFAULT$ to 0x05 ; * Default custom MUI language/locale
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
* // Sorting IDs
equ SORT_DEFAULT$ to 0x0 ; * sorting default
equ SORT_INVARIANT_MATH$ to 0x1 ; * Invariant (Mathematical Symbols)
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
* // Locale IDs
* // #define MAKELANGID(p, s) ((((WORD )(s)) << 10) | (WORD )(p))
* //
* // #define MAKELCID(lgid, srtid) ((DWORD)((((DWORD)((WORD )(srtid))) << 16) | \
* // ((DWORD)((WORD )(lgid)))))
equ LANG_SYSTEM_DEFAULT$ to 0x0800 ; * ( MAKELANGID(LANG_NEUTRAL, SUBLANG_SYS_DEFAULT) )
equ LANG_USER_DEFAULT$ to 0x0400 ; * ( MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT) )
equ LOCALE_SYSTEM_DEFAULT$ to 0x0800 ; * ( MAKELCID(LANG_SYSTEM_DEFAULT, SORT_DEFAULT) )
equ LOCALE_USER_DEFAULT$ to 0x0400 ; * ( MAKELCID(LANG_USER_DEFAULT, SORT_DEFAULT ) )
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
* // Locale Types.
equ LOCALE_NOUSEROVERRIDE$ to 0x80000000 ; * do not use user overrides
equ LOCALE_USE_CP_ACP$ to 0x40000000 ; * use the system ACP
equ LOCALE_RETURN_NUMBER$ to 0x20000000 ; * return number instead of string
equ LOCALE_RETURN_GENITIVE_NAMES$ to 0x10000000 ; *Flag to return the Genitive forms of month names
equ LOCALE_ALLOW_NEUTRAL_NAMES$ to 0x08000000 ; *Flag to allow returning neutral names/lcids for name conversion
* // The following LCTypes are mutually exclusive in that they may NOT
* // be used in combination with each other.
* // These are the various forms of the name of the locale:
equ LOCALE_SLOCALIZEDDISPLAYNAME$ to 0x00000002 ; * localized name of locale, eg "German (Germany)" in UI language
equ LOCALE_SENGLISHDISPLAYNAME$ to 0x00000072 ; * Display name (language + country usually) in English, eg "German (Germany)"
equ LOCALE_SNATIVEDISPLAYNAME$ to 0x00000073 ; * Display name in native locale language, eg "Deutsch (Deutschland)
equ LOCALE_SLOCALIZEDLANGUAGENAME$ to 0x0000006f ; * Language Display Name for a language, eg "German" in UI language
equ LOCALE_SENGLISHLANGUAGENAME$ to 0x00001001 ; * English name of language, eg "German"
equ LOCALE_SNATIVELANGUAGENAME$ to 0x00000004 ; * native name of language, eg "Deutsch"
equ LOCALE_SLOCALIZEDCOUNTRYNAME$ to 0x00000006 ; * localized name of country, eg "Germany" in UI language
equ LOCALE_SENGLISHCOUNTRYNAME$ to 0x00001002 ; * English name of country, eg "Germany"
equ LOCALE_SNATIVECOUNTRYNAME$ to 0x00000008 ; * native name of country, eg "Deutschland"
* // Legacy labels for the locale name values
equ LOCALE_SLANGUAGE$ to 0x00000002 ; * localized name of locale, eg "German (Germany)" in UI language
equ LOCALE_SLANGDISPLAYNAME$ to 0x0000006f ; * Language Display Name for a language, eg "German" in UI language
equ LOCALE_SENGLANGUAGE$ to 0x00001001 ; * English name of language, eg "German"
equ LOCALE_SNATIVELANGNAME$ to 0x00000004 ; * native name of language, eg "Deutsch"
equ LOCALE_SCOUNTRY$ to 0x00000006 ; * localized name of country, eg "Germany" in UI language
equ LOCALE_SENGCOUNTRY$ to 0x00001002 ; * English name of country, eg "Germany"
equ LOCALE_SNATIVECTRYNAME$ to 0x00000008 ; * native name of country, eg "Deutschland"
* // Additional LCTypes
equ LOCALE_ILANGUAGE$ to 0x00000001 ; * language id, LOCALE_SNAME preferred
equ LOCALE_SABBREVLANGNAME$ to 0x00000003 ; * arbitrary abbreviated language name, LOCALE_SISO639LANGNAME preferred
equ LOCALE_ICOUNTRY$ to 0x00000005 ; * country code, eg 1, LOCALE_SISO3166CTRYNAME may be more useful.
equ LOCALE_SABBREVCTRYNAME$ to 0x00000007 ; * arbitrary abbreviated country name, LOCALE_SISO3166CTRYNAME preferred
equ LOCALE_IGEOID$ to 0x0000005B ; * geographical location id, eg "244"
equ LOCALE_IDEFAULTLANGUAGE$ to 0x00000009 ; * default language id, deprecated
equ LOCALE_IDEFAULTCOUNTRY$ to 0x0000000A ; * default country code, deprecated
equ LOCALE_IDEFAULTCODEPAGE$ to 0x0000000B ; * default oem code page (use of Unicode is recommended instead)
equ LOCALE_IDEFAULTANSICODEPAGE$ to 0x00001004 ; * default ansi code page (use of Unicode is recommended instead)
equ LOCALE_IDEFAULTMACCODEPAGE$ to 0x00001011 ; * default mac code page (use of Unicode is recommended instead)
equ LOCALE_SLIST$ to 0x0000000C ; * list item separator, eg "," for "1,2,3,4"
equ LOCALE_IMEASURE$ to 0x0000000D ; * 0 = metric, 1 = US measurement system
equ LOCALE_SDECIMAL$ to 0x0000000E ; * decimal separator, eg "." for 1,234.00
equ LOCALE_STHOUSAND$ to 0x0000000F ; * thousand separator, eg "," for 1,234.00
equ LOCALE_SGROUPING$ to 0x00000010 ; * digit grouping, eg "3;0" for 1,000,000
equ LOCALE_IDIGITS$ to 0x00000011 ; * number of fractional digits eg 2 for 1.00
equ LOCALE_ILZERO$ to 0x00000012 ; * leading zeros for decimal, 0 for .97, 1 for 0.97
equ LOCALE_INEGNUMBER$ to 0x00001010 ; * negative number mode, 0-4, see documentation
equ LOCALE_SNATIVEDIGITS$ to 0x00000013 ; * native digits for 0-9, eg "0123456789"
equ LOCALE_SCURRENCY$ to 0x00000014 ; * local monetary symbol, eg "$"
equ LOCALE_SINTLSYMBOL$ to 0x00000015 ; * intl monetary symbol, eg "USD"
equ LOCALE_SMONDECIMALSEP$ to 0x00000016 ; * monetary decimal separator, eg "." for $1,234.00
equ LOCALE_SMONTHOUSANDSEP$ to 0x00000017 ; * monetary thousand separator, eg "," for $1,234.00
equ LOCALE_SMONGROUPING$ to 0x00000018 ; * monetary grouping, eg "3;0" for $1,000,000.00
equ LOCALE_ICURRDIGITS$ to 0x00000019 ; * # local monetary digits, eg 2 for $1.00
equ LOCALE_IINTLCURRDIGITS$ to 0x0000001A ; * # intl monetary digits, eg 2 for $1.00
equ LOCALE_ICURRENCY$ to 0x0000001B ; * positive currency mode, 0-3, see documenation
equ LOCALE_INEGCURR$ to 0x0000001C ; * negative currency mode, 0-15, see documentation
equ LOCALE_SDATE$ to 0x0000001D ; * date separator (derived from LOCALE_SSHORTDATE, use that instead)
equ LOCALE_STIME$ to 0x0000001E ; * time separator (derived from LOCALE_STIMEFORMAT, use that instead)
equ LOCALE_SSHORTDATE$ to 0x0000001F ; * short date format string, eg "MM/dd/yyyy"
equ LOCALE_SLONGDATE$ to 0x00000020 ; * long date format string, eg "dddd, MMMM dd, yyyy"
equ LOCALE_STIMEFORMAT$ to 0x00001003 ; * time format string, eg "HH:mm:ss"
equ LOCALE_IDATE$ to 0x00000021 ; * short date format ordering (derived from LOCALE_SSHORTDATE, use that instead)
equ LOCALE_ILDATE$ to 0x00000022 ; * long date format ordering (derived from LOCALE_SLONGDATE, use that instead)
equ LOCALE_ITIME$ to 0x00000023 ; * time format specifier (derived from LOCALE_STIMEFORMAT, use that instead)
equ LOCALE_ITIMEMARKPOSN$ to 0x00001005 ; * time marker position (derived from LOCALE_STIMEFORMAT, use that instead)
equ LOCALE_ICENTURY$ to 0x00000024 ; * century format specifier (short date, LOCALE_SSHORTDATE is preferred)
equ LOCALE_ITLZERO$ to 0x00000025 ; * leading zeros in time field (derived from LOCALE_STIMEFORMAT, use that instead)
equ LOCALE_IDAYLZERO$ to 0x00000026 ; * leading zeros in day field (short date, LOCALE_SSHORTDATE is preferred)
equ LOCALE_IMONLZERO$ to 0x00000027 ; * leading zeros in month field (short date, LOCALE_SSHORTDATE is preferred)
equ LOCALE_S1159$ to 0x00000028 ; * AM designator, eg "AM"
equ LOCALE_S2359$ to 0x00000029 ; * PM designator, eg "PM"
equ LOCALE_ICALENDARTYPE$ to 0x00001009 ; * type of calendar specifier, eg CAL_GREGORIAN
equ LOCALE_IOPTIONALCALENDAR$ to 0x0000100B ; * additional calendar types specifier, eg CAL_GREGORIAN_US
equ LOCALE_IFIRSTDAYOFWEEK$ to 0x0000100C ; * first day of week specifier, 0-6, 0=Monday, 6=Sunday
equ LOCALE_IFIRSTWEEKOFYEAR$ to 0x0000100D ; * first week of year specifier, 0-2, see documentation
equ LOCALE_SDAYNAME1$ to 0x0000002A ; * long name for Monday
equ LOCALE_SDAYNAME2$ to 0x0000002B ; * long name for Tuesday
equ LOCALE_SDAYNAME3$ to 0x0000002C ; * long name for Wednesday
equ LOCALE_SDAYNAME4$ to 0x0000002D ; * long name for Thursday
equ LOCALE_SDAYNAME5$ to 0x0000002E ; * long name for Friday
equ LOCALE_SDAYNAME6$ to 0x0000002F ; * long name for Saturday
equ LOCALE_SDAYNAME7$ to 0x00000030 ; * long name for Sunday
equ LOCALE_SABBREVDAYNAME1$ to 0x00000031 ; * abbreviated name for Monday
equ LOCALE_SABBREVDAYNAME2$ to 0x00000032 ; * abbreviated name for Tuesday
equ LOCALE_SABBREVDAYNAME3$ to 0x00000033 ; * abbreviated name for Wednesday
equ LOCALE_SABBREVDAYNAME4$ to 0x00000034 ; * abbreviated name for Thursday
equ LOCALE_SABBREVDAYNAME5$ to 0x00000035 ; * abbreviated name for Friday
equ LOCALE_SABBREVDAYNAME6$ to 0x00000036 ; * abbreviated name for Saturday
equ LOCALE_SABBREVDAYNAME7$ to 0x00000037 ; * abbreviated name for Sunday
equ LOCALE_SMONTHNAME1$ to 0x00000038 ; * long name for January
equ LOCALE_SMONTHNAME2$ to 0x00000039 ; * long name for February
equ LOCALE_SMONTHNAME3$ to 0x0000003A ; * long name for March
equ LOCALE_SMONTHNAME4$ to 0x0000003B ; * long name for April
equ LOCALE_SMONTHNAME5$ to 0x0000003C ; * long name for May
equ LOCALE_SMONTHNAME6$ to 0x0000003D ; * long name for June
equ LOCALE_SMONTHNAME7$ to 0x0000003E ; * long name for July
equ LOCALE_SMONTHNAME8$ to 0x0000003F ; * long name for August
equ LOCALE_SMONTHNAME9$ to 0x00000040 ; * long name for September
equ LOCALE_SMONTHNAME10$ to 0x00000041 ; * long name for October
equ LOCALE_SMONTHNAME11$ to 0x00000042 ; * long name for November
equ LOCALE_SMONTHNAME12$ to 0x00000043 ; * long name for December
equ LOCALE_SMONTHNAME13$ to 0x0000100E ; * long name for 13th month (if exists)
equ LOCALE_SABBREVMONTHNAME1$ to 0x00000044 ; * abbreviated name for January
equ LOCALE_SABBREVMONTHNAME2$ to 0x00000045 ; * abbreviated name for February
equ LOCALE_SABBREVMONTHNAME3$ to 0x00000046 ; * abbreviated name for March
equ LOCALE_SABBREVMONTHNAME4$ to 0x00000047 ; * abbreviated name for April
equ LOCALE_SABBREVMONTHNAME5$ to 0x00000048 ; * abbreviated name for May
equ LOCALE_SABBREVMONTHNAME6$ to 0x00000049 ; * abbreviated name for June
equ LOCALE_SABBREVMONTHNAME7$ to 0x0000004A ; * abbreviated name for July
equ LOCALE_SABBREVMONTHNAME8$ to 0x0000004B ; * abbreviated name for August
equ LOCALE_SABBREVMONTHNAME9$ to 0x0000004C ; * abbreviated name for September
equ LOCALE_SABBREVMONTHNAME10$ to 0x0000004D ; * abbreviated name for October
equ LOCALE_SABBREVMONTHNAME11$ to 0x0000004E ; * abbreviated name for November
equ LOCALE_SABBREVMONTHNAME12$ to 0x0000004F ; * abbreviated name for December
equ LOCALE_SABBREVMONTHNAME13$ to 0x0000100F ; * abbreviated name for 13th month (if exists)
equ LOCALE_SPOSITIVESIGN$ to 0x00000050 ; * positive sign, eg ""
equ LOCALE_SNEGATIVESIGN$ to 0x00000051 ; * negative sign, eg "-"
equ LOCALE_IPOSSIGNPOSN$ to 0x00000052 ; * positive sign position (derived from INEGCURR)
equ LOCALE_INEGSIGNPOSN$ to 0x00000053 ; * negative sign position (derived from INEGCURR)
equ LOCALE_IPOSSYMPRECEDES$ to 0x00000054 ; * mon sym precedes pos amt (derived from ICURRENCY)
equ LOCALE_IPOSSEPBYSPACE$ to 0x00000055 ; * mon sym sep by space from pos amt (derived from ICURRENCY)
equ LOCALE_INEGSYMPRECEDES$ to 0x00000056 ; * mon sym precedes neg amt (derived from INEGCURR)
equ LOCALE_INEGSEPBYSPACE$ to 0x00000057 ; * mon sym sep by space from neg amt (derived from INEGCURR)
equ LOCALE_FONTSIGNATURE$ to 0x00000058 ; * font signature
equ LOCALE_SISO639LANGNAME$ to 0x00000059 ; * ISO abbreviated language name, eg "en"
equ LOCALE_SISO3166CTRYNAME$ to 0x0000005A ; * ISO abbreviated country name, eg "US"
equ LOCALE_IDEFAULTEBCDICCODEPAGE$ to 0x00001012 ; * default ebcdic code page (use of Unicode is recommended instead)
equ LOCALE_IPAPERSIZE$ to 0x0000100A ; * 1 = letter, 5 = legal, 8 = a3, 9 = a4
equ LOCALE_SENGCURRNAME$ to 0x00001007 ; * english name of currency, eg "Euro"
equ LOCALE_SNATIVECURRNAME$ to 0x00001008 ; * native name of currency, eg "euro"
equ LOCALE_SYEARMONTH$ to 0x00001006 ; * year month format string, eg "MM/yyyy"
equ LOCALE_SSORTNAME$ to 0x00001013 ; * sort name, usually "", eg "Dictionary" in UI Language
equ LOCALE_IDIGITSUBSTITUTION$ to 0x00001014 ; * 0 = context, 1 = none, 2 = national
equ LOCALE_SNAME$ to 0x0000005c ; * locale name (ie: en-us)
equ LOCALE_SDURATION$ to 0x0000005d ; * time duration format, eg "hh:mm:ss"
equ LOCALE_SKEYBOARDSTOINSTALL$ to 0x0000005e ; * Used internally, see GetKeyboardLayoutName() function
equ LOCALE_SSHORTESTDAYNAME1$ to 0x00000060 ; * Shortest day name for Monday
equ LOCALE_SSHORTESTDAYNAME2$ to 0x00000061 ; * Shortest day name for Tuesday
equ LOCALE_SSHORTESTDAYNAME3$ to 0x00000062 ; * Shortest day name for Wednesday
equ LOCALE_SSHORTESTDAYNAME4$ to 0x00000063 ; * Shortest day name for Thursday
equ LOCALE_SSHORTESTDAYNAME5$ to 0x00000064 ; * Shortest day name for Friday
equ LOCALE_SSHORTESTDAYNAME6$ to 0x00000065 ; * Shortest day name for Saturday
equ LOCALE_SSHORTESTDAYNAME7$ to 0x00000066 ; * Shortest day name for Sunday
equ LOCALE_SISO639LANGNAME2$ to 0x00000067 ; * 3 character ISO abbreviated language name, eg "eng"
equ LOCALE_SISO3166CTRYNAME2$ to 0x00000068 ; * 3 character ISO country name, eg "USA"
equ LOCALE_SNAN$ to 0x00000069 ; * Not a Number, eg "NaN"
equ LOCALE_SPOSINFINITY$ to 0x0000006a ; * + Infinity, eg "infinity"
equ LOCALE_SNEGINFINITY$ to 0x0000006b ; * - Infinity, eg "-infinity"
equ LOCALE_SSCRIPTS$ to 0x0000006c ; * Typical scripts in the locale: ; delimited script codes, eg "Latn;"
equ LOCALE_SPARENT$ to 0x0000006d ; * Fallback name for resources, eg "en" for "en-US"
equ LOCALE_SCONSOLEFALLBACKNAME$ to 0x0000006e ; * Fallback name for within the console for Unicode Only locales, eg "en" for bn-IN
equ LOCALE_IREADINGLAYOUT$ to 0x00000070 ; * Returns one of the following 4 reading layout values:
; * 0 - Left to right (eg en-US)
; * 1 - Right to left (eg arabic locales)
; * 2 - Vertical top to bottom with columns to the left and also left to right (ja-JP locales)
; * 3 - Vertical top to bottom with columns proceeding to the right
equ LOCALE_INEUTRAL$ to 0x00000071 ; * Returns 0 for specific cultures, 1 for neutral cultures.
equ LOCALE_INEGATIVEPERCENT$ to 0x00000074 ; * Returns 0-11 for the negative percent format
equ LOCALE_IPOSITIVEPERCENT$ to 0x00000075 ; * Returns 0-3 for the positive percent formatIPOSITIVEPERCENT
equ LOCALE_SPERCENT$ to 0x00000076 ; * Returns the percent symbol
equ LOCALE_SPERMILLE$ to 0x00000077 ; * Returns the permille (U+2030) symbol
equ LOCALE_SMONTHDAY$ to 0x00000078 ; * Returns the preferred month/day format
equ LOCALE_SSHORTTIME$ to 0x00000079 ; * Returns the preferred short time format (ie: no seconds, just h:mm)
equ LOCALE_SOPENTYPELANGUAGETAG$ to 0x0000007a ; * Open type language tag, eg: "latn" or "dflt"
equ LOCALE_SSORTLOCALE$ to 0x0000007b ; * Name of locale to use for sorting/collation/casing behavior.
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
#endif
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////