An LCTYPE is a constant that specifies a particular piece of locale information. For example:
typedef DWORD LCTYPE;
The list of supported LCTYPES follows. All values are null-terminated, variable-length strings. Numeric values are expressed as strings of decimal digits, unless otherwise noted. The values in the brackets indicate the maximum number of characters allowed for the string (including the null termination). If no maximum is indicated, the string may be of variable length.
Constant name | Description | ||||
---|---|---|---|---|---|
LOCALE_ILANGUAGE | A LANGID represented in hexadecimal digits. See the previous sections. [5] | ||||
LOCALE_SLANGUAGE | The full localized name of the language. | ||||
LOCALE_SENGLANGUAGE | The full English U.S. name of the language from the ISO Standard 639. This will always be restricted to characters that can be mapped into the ASCII 127-character subset. | ||||
LOCALE_SABBREVLANGNAME | The abbreviated name of the language, created by taking the two-letter language abbreviation, as found in ISO Standard 639, and adding a third letter as appropriate to indicate the sublanguage. | ||||
LOCALE_SNATIVELANGNAME | The native name of the language. | ||||
LOCALE_ICOUNTRY | The country code, based on international phone codes, also referred to as IBM country codes. [6] | ||||
LOCALE_SCOUNTRY | The full localized name of the country. | ||||
LOCALE_SENGCOUNTRY | The full English U.S. name of the country. This will always be restricted to characters that can be mapped into the ASCII 127-character subset. | ||||
LOCALE_SABBREVCTRYNAME | The abbreviated name of the country as found in ISO Standard 3166. | ||||
LOCALE_SNATIVECTRYNAME | The native name of the country. | ||||
LOCALE_IDEFAULTLANGUAGE | LANGID for the principal language spoken in this locale. This is provided so that partially specified locales can be completed with default values. [5] | ||||
LOCALE_IDEFAULTCOUNTRY | Country code for the principal country in this locale. This is provided so that partially specified locales can be completed with default values. [6] | ||||
LOCALE_IDEFAULTANSICODEPAGE | The ANSI code page associated with this locale. Format: 4 Unicode decimal digits plus a Unicode null terminator. [10] [6] |
||||
LOCALE_IDEFAULTCODEPAGE | The OEM code page associated with the country. [6] | ||||
LOCALE_SLIST | Characters used to separate list items. For example, a comma is used in many locales. | ||||
LOCALE_IMEASURE | This value is 0 for the metric system (S.I.) and 1 for the U.S. system of measurements. [2] | ||||
LOCALE_SDECIMAL | Characters used for the decimal separator. | ||||
LOCALE_STHOUSAND | Characters used as the separator between groups of digits left of the decimal. | ||||
LOCALE_SGROUPING | Sizes for each group of digits to the left of the decimal. An explicit size is required for each group. Sizes are separated by semicolons. If the last value is 0, the preceding value is repeated. To group thousands, specify 3;0. | ||||
LOCALE_IDIGITS | The number of fractional digits. [3] | ||||
LOCALE_ILZERO | Whether to use leading zeros in decimal fields. [2] A setting of 0 means use no leading zeros; 1 means use leading zeros. | ||||
LOCALE_SNATIVEDIGITS | The ten characters that are the native equivalent of the ASCII 0-9. | ||||
LOCALE_INEGNUMBER | Negative number mode. [2]
"0" (1.1) |
||||
LOCALE_SCURRENCY | The string used as the local monetary symbol. | ||||
LOCALE_SINTLSYMBOL | Three characters of the International monetary symbol specified in ISO 4217, Codes for the Representation of Currencies and Funds, followed by the character separating this string from the amount. | ||||
LOCALE_SMONDECIMALSEP | Characters used for the monetary decimal separators. | ||||
LOCALE_SMONTHOUSANDSEP | Characters used as monetary separator between groups of digits left of the decimal. | ||||
LOCALE_SMONGROUPING | Sizes for each group of monetary digits to the left of the decimal. An explicit size is needed for each group. Sizes are separated by semicolons. If the last value is 0, the preceding value is repeated. To group thousands, specify 3;0. | ||||
LOCALE_ICURRDIGITS | Number of fractional digits for the local monetary format. [3] | ||||
LOCALE_IINTLCURRDIGITS | Number of fractional digits for the international monetary format. [3] | ||||
LOCALE_ICURRENCY | Positive currency mode. [2]
0 Prefix, no separation. |
||||
LOCALE_INEGCURR | Negative currency mode. [2]
0 ($1.1) |
||||
LOCALE_ICALENDARTYPE | The type of calendar currently in use. [2] 1 Gregorian (as in U.S.) 2 Gregorian (always English strings) 3 Era: Year of the Emperor (Japan) 4 Era: Year of the Taiwan Region 5 Tangun Era (Korea) |
||||
LOCALE_IOPTIONALCALENDAR | The additional calendar types available for this LCID. Can be a null-separated list of all valid optional calendars. [2] 0 None available 1 Gregorian (as in U.S.) 2 Gregorian (always English strings) 3 Era: Year of the Emperor (Japan) 4 Era: Year of the Taiwan Region 5 Tangun Era (Korea) |
||||
LOCALE_SDATE | Characters used for the date separator. | ||||
LOCALE_STIME | Characters used for the time separator. | ||||
LOCALE_STIMEFORMAT | Time-formatting string. [80] | ||||
LOCALE_SSHORTDATE | Short Date_Time formatting strings for this locale. | ||||
LOCALE_SLONGDATE | Long Date_Time formatting strings for this locale. | ||||
LOCALE_IDATE | Short Date format-ordering specifier. [2]
0 Month – Day – Year |
||||
LOCALE_ILDATE | Long Date format ordering specifier. [2]
0 Month – Day – Year |
||||
LOCALE_ITIME | Time format specifier. [2]
0 AM/PM 12-hour format. |
||||
LOCALE_ITIMEMARKPOSN | Whether the time marker string (AM|PM) precedes or follows the time string. (The registry value is named ITimePrefix for previous Far East version compatibility.) 0 Suffix (9:15 AM). 1 Prefix (AM 9:15). |
||||
LOCALE_ICENTURY | Whether to use full 4-digit century. [2]
0 Two digit. |
||||
LOCALE_ITLZERO | Whether to use leading zeros in time fields. [2]
0 No leading zeros. |
||||
LOCALE_IDAYLZERO | Whether to use leading zeros in day fields. [2]
0 No leading zeros. |
||||
LOCALE_IMONLZERO | Whether to use leading zeros in month fields. [2]
0 No leading zeros. |
||||
LOCALE_S1159 | String for the AM designator. | ||||
LOCALE_S2359 | String for the PM designator. | ||||
LOCALE_IFIRSTWEEKOFYEAR | Specifies which week of the year is considered first. [2] 0 Week containing 1/1 is the first week of the year. 1 First full week following 1/1is the first week of the year. 2 First week with at least 4 days is the first week of the year. |
||||
LOCALE_IFIRSTDAYOFWEEK | Specifies the day considered first in the week. [2]
0 SDAYNAME1 |
||||
LOCALE_SDAYNAME1 | Long name for Monday. | ||||
LOCALE_SDAYNAME2 | Long name for Tuesday. | ||||
LOCALE_SDAYNAME2 | Long name for Tuesday. | ||||
LOCALE_SDAYNAME3 | Long name for Wednesday. | ||||
LOCALE_SDAYNAME4 | Long name for Thursday. | ||||
LOCALE_SDAYNAME5 | Long name for Friday. | ||||
LOCALE_SDAYNAME6 | Long name for Saturday. | ||||
LOCALE_SDAYNAME7 | Long name for Sunday. | ||||
LOCALE_SABBREVDAYNAME1 | Abbreviated name for Monday. | ||||
LOCALE_SABBREVDAYNAME2 | Abbreviated name for Tuesday. | ||||
LOCALE_SABBREVDAYNAME3 | Abbreviated name for Wednesday. | ||||
LOCALE_SABBREVDAYNAME4 | Abbreviated name for Thursday. | ||||
LOCALE_SABBREVDAYNAME5 | Abbreviated name for Friday. | ||||
LOCALE_SABBREVDAYNAME6 | Abbreviated name for Saturday. | ||||
LOCALE_SABBREVDAYNAME7 | Abbreviated name for Sunday. | ||||
LOCALE_SMONTHNAME1 | Long name for January. | ||||
LOCALE_SMONTHNAME2 | Long name for February. | ||||
LOCALE_SMONTHNAME3 | Long name for March. | ||||
LOCALE_SMONTHNAME4 | Long name for April. | ||||
LOCALE_SMONTHNAME5 | Long name for May. | ||||
LOCALE_SMONTHNAME6 | Long name for June. | ||||
LOCALE_SMONTHNAME7 | Long name for July. | ||||
LOCALE_SMONTHNAME8 | Long name for August. | ||||
LOCALE_SMONTHNAME9 | Long name for September. | ||||
LOCALE_SMONTHNAME10 | Long name for October. | ||||
LOCALE_SMONTHNAME11 | Long name for November. | ||||
LOCALE_SMONTHNAME12 | Long name for December. | ||||
LOCALE_SMONTHNAME13 | Native name for 13th month, if it exists. | ||||
LOCALE_SABBREVMONTHNAME1 | Abbreviated name for January. | ||||
LOCALE_SABBREVMONTHNAME2 | Abbreviated name for February. | ||||
LOCALE_SABBREVMONTHNAME3 | Abbreviated name for March. | ||||
LOCALE_SABBREVMONTHNAME4 | Abbreviated name for April. | ||||
LOCALE_SABBREVMONTHNAME5 | Abbreviated name for May. | ||||
LOCALE_SABBREVMONTHNAME6 | Abbreviated name for June. | ||||
LOCALE_SABBREVMONTHNAME7 | Abbreviated name for July. | ||||
LOCALE_SABBREVMONTHNAME8 | Abbreviated name for August. | ||||
LOCALE_SABBREVMONTHNAME9 | Abbreviated name for September. | ||||
LOCALE_SABBREVMONTHNAME10 | Abbreviated name for October. | ||||
LOCALE_SABBREVMONTHNAME11 | Abbreviated name for November. | ||||
LOCALE_SABBREVMONTHNAME12 | Abbreviated name for December. | ||||
LOCALE_SABBREVMONTHNAME13 | Native abbreviated name for 13th month, if it exists. | ||||
LOCALE_SPOSITIVESIGN | String value for the positive sign. | ||||
LOCALE_SNEGATIVESIGN | String value for the negative sign. | ||||
LOCALE_IPOSSIGNPOSN | Formatting index for positive values. [2] 0 Parentheses surround the amount and the monetary symbol. 1 The sign string precedes the amount and the monetary symbol. 2 The sign string precedes the amount and the monetary symbol. 3 The sign string precedes the amount and the monetary symbol. 4 The sign string precedes the amount and the monetary symbol. |
||||
LOCALE_INEGSIGNPOSN | Formatting index for negative values. [2] 0 Parentheses surround the amount and the monetary symbol. 1 The sign string precedes the amount and the monetary symbol. 2 The sign string precedes the amount and the monetary symbol. 3 The sign string precedes the amount and the monetary symbol. 4 The sign string precedes the amount and the monetary symbol. |
||||
LOCALE_IPOSSYMPRECEDES | If the monetary symbol precedes, 1. If it succeeds a positive amount, 0. [2] | ||||
LOCALE_IPOSSEPBYSPACE | If the monetary symbol is separated by a space from a positive amount, 1. Otherwise, 0. [2] | ||||
LOCALE_INEGSYMPRECEDES | If the monetary symbol precedes, 1. If it succeeds a negative amount, 0. [2] | ||||
LOCALE_INEGSEPBYSPACE | If the monetary symbol is separated by a space from a negative amount, 1. Otherwise, 0. [2] |
The following table shows the equivalence between LCTYPE values and the information stored in the [intl] section of Win.ini. These values are retrieved from Win.ini if information for the current system locale is queried. Values for LCTYPEs that are not in the following table do not depend on information stored in Win.ini.
Win.ini settings | LCTYPE |
---|---|
sLanguage (1) | LOCALE_SABBREVLANGNAME |
iCountry | LOCALE_ICOUNTRY |
sCountry | LOCALE_SCOUNTRY |
sList | LOCALE_SLIST |
iMeasure | LOCALE_IMEASURE |
sDecimal | LOCALE_SDECIMAL |
sThousand | LOCALE_STHOUSAND |
iDigits | LOCALE_IDIGITS |
iLZero | LOCALE_ILZERO |
sCurrency | LOCALE_SCURRENCY |
iCurrDigits | LOCALE_ICURRDIGITS |
iCurrency | LOCALE_ICURRENCY |
iNegCurr | LOCALE_INEGCURR |
sDate | LOCALE_SDATE |
sTime | LOCALE_STIME |
sShortDate | LOCALE_SSHORTDATE |
sLongDate | LOCALE_SLONGDATE |
iDate | LOCALE_IDATE |
iTime | LOCALE_ITIME |
iTLZero | LOCALE_ITLZERO |
s1159 | LOCALE_S1159 |
s2359 | LOCALE_S2359 |
1 Unlike in Win.ini, values returned by LOCALE_SABBREVLANGNAME are always in uppercase. |