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 /////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////