LCTYPE Constants

An LCTYPE constant is a constant that specifies a particular piece of locale information.

The values in the following list correspond to the names of these values in the configuration registry, under both the user's preferences (as values in the registry key HKEY_CURRENT_USER\Control Panel\International) and the system's installed languages (as files pointed to by registry keys, one key per language installed, under HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\NLS). All values are null-terminated Unicode™ strings. If no maximum length is indicated, the strings may vary in length.

Constant Description
LOCALE_ILANGUAGE Language identifier indicating the language. The maximum number of characters allowed for this string is 5.
LOCALE_SLANGUAGE Full localized name of the language.
LOCALE_SENGLANGUAGE Full English name of the language from the International Organization for Standardization (ISO) Standard 639. This is always restricted to characters mappable into the ASCII 127-character subset.
LOCALE_SABBREVLANGNAME Abbreviated name of the language, created by taking the 2-letter language abbreviation from the ISO Standard 639 and adding a third letter, as appropriate, to indicate the sublanguage.
LOCALE_SNATIVELANGNAME Native name of the language.
LOCALE_SSORTNAME The full localized name of the sort for the given locale ID.
LOCALE_ICOUNTRY Country code, based on international phone codes, also referred to as IBM country codes. The maximum number of characters allowed for this string is 6.
LOCALE_SCOUNTRY Full localized name of the country.
LOCALE_SENGCOUNTRY Full English name of the country. This is always restricted to characters mappable into the ASCII 127-character subset.
LOCALE_SABBREVCTRYNAME Abbreviated name of the country from the ISO Standard 3166.
LOCALE_SNATIVECTRYNAME Native name of the country.
LOCALE_IDEFAULTLANGUAGE Language identifier for the principal language spoken in this locale. This is provided so that partially specified locales can be completed with default values. The maximum number of characters allowed for this string is 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. The maximum number of characters allowed for this string is 6.
LOCALE_IDEFAULTANSICODEPAGE American National Standards Institute (ANSI) code page associated with this locale. The maximum number of characters allowed for this string is 6.
LOCALE_IDEFAULTOEMCODEPAGE Original equipment manufacturer (OEM) code page associated with the locale. The maximum number of characters allowed for this string is 6.
LOCALE_IDEFAULTCODEPAGE Original equipment manufacturer (OEM) code page associated with the country. The maximum number of characters allowed for this string is 6.
LOCALE_IDEFAULTEBCDICCODEPAGE Default EBCDIC code page associated with the locale. The maximum number of characters allowed for this string is 6.
LOCALE_SLIST Character(s) used to separate list items. For example, a comma is used in many locales.
LOCALE_IMEASURE System of measurement. This value is 0 if the metric system (Systéme International d'Unités, or S.I.) is used and 1 if the U.S. system is used. The maximum number of characters allowed for this string is 2.
LOCALE_SDECIMAL Character(s) used as the decimal separator.
LOCALE_STHOUSAND Character(s) used to separate groups of digits to the left of the decimal.
LOCALE_SGROUPING Sizes for each group of 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 zero, the preceding value is repeated. To group thousands, specify 3;0, for example.
LOCALE_IDIGITS Number of fractional digits. The maximum number of characters allowed for this string is 3.
LOCALE_ILZERO Specifier for leading zeros in decimal fields. The maximum number of characters allowed for this string is 2. The specifier can be one of the following values:

Value Meaning
0 No leading zeros
1 Leading zeros

LOCALE_INEGNUMBER Negative number mode. The mode can be one of these values:

Value Meaning
0 (1.1)
1 –1.1
2 – 1.1
3 1.1–
4 1.1 –

LOCALE_SNATIVEDIGITS Native equivalents to ASCII 0 through 9.
LOCALE_SENGCURRNAME The full English name of the currency associated with the locale.
LOCALE_SNATIVECURRNAME The native name of the currency associated with the locale.
LOCALE_SCURRENCY 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 Character(s) used as the monetary decimal separator.
LOCALE_SMONTHOUSANDSEP Character(s) used as the monetary separator between groups of digits to the 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 zero, the preceding value is repeated. To group thousands, specify 3;0, for example.
LOCALE_ICURRDIGITS Number of fractional digits for the local monetary format. The maximum number of characters allowed for this string is 3.
LOCALE_IINTLCURRDIGITS Number of fractional digits for the international monetary format. The maximum number of characters allowed for this string is 3.
LOCALE_ICURRENCY Positive currency mode. The maximum number of characters allowed for this string is 2. The mode can be one of the following values:

Value Meaning
0 Prefix, no separation
1 Suffix, no separation
2 Prefix, 1-char. separation
3 Suffix, 1-char. separation

LOCALE_INEGCURR Negative currency mode. The maximum number of characters allowed for this string is 3. The mode can be one of the following values:

Value Example
0 ($1.1)
1 –$1.1
2 $–1.1
3 $1.1–
4 (1.1$)
5 –1.1$
6 1.1–$
7 1.1$–
8 –1.1 $ (space before $)
9 –$ 1.1 (space after $)
10 1.1 $– (space before $)
11 $ 1.1– (space after $)
12 $ –1.1 (space after $)
13 1.1– $ (space before $)
14 ($ 1.1) (space after $)
15 (1.1 $) (space before $)

LOCALE_SDATE Character(s) for the date separator.
LOCALE_STIME Character(s) for the time separator.
LOCALE_STIMEFORMAT Time formatting strings for this locale. The string can consist of a combination of the hour, minute, and second format pictures defined in the Hour, Minute, and Second Format Pictures table in National Language Support Constants.
LOCALE_SYEARMONTH The Year/Month formatting string for the locale. This string shows the proper format for a date string that contains only the year and the month.
LOCALE_SSHORTDATE Short date formatting string for this locale. The string can consist of a combination of day, month, and year format pictures defined in Day, Month, Year, and Era Format Pictures table in National Language Support Constants.
LOCALE_SLONGDATE Long date formatting string for this locale. The string can consist of a combination of day, month, and year format pictures defined in the Day, Month, Year, and Era Format Pictures table in National Language Support Constants and any string of characters enclosed in single quotes. Characters in single quotes remain as given.
LOCALE_IDATE Short date format-ordering specifier. The maximum number of characters allowed for this string is 2. The specifier can be one of the following values:

Value Meaning
0 Month-Day-Year
1 Day-Month-Year
2 Year-Month-Day

LOCALE_ILDATE Long date format-ordering specifier. The maximum number of characters allowed for this string is 2. The specifier can be one of the following values:

Value Meaning
0 Month-Day-Year
1 Day-Month-Year
2 Year-Month-Day

LOCALE_ITIME Time format specifier. The maximum number of characters allowed for this string is 2. The specifier can be one of the following values:

Value Meaning
0 AM / PM 12-hour format
1 24-hour format

LOCALE_ICENTURY Specifier for full 4-digit century. The maximum number of characters allowed for this string is 2. The specifier can be one of the following values:

Value Meaning
0 Abbreviated 2-digit century
1 Full 4-digit century

LOCALE_ITLZERO Specifier for leading zeros in time fields. The maximum number of characters allowed for this string is 2. The specifier can be one of the following values:

Value Meaning
0 No leading zeros for hours
1 Leading zeros for hours

LOCALE_IDAYLZERO Specifier for leading zeros in day fields. The maximum number of characters allowed for this string is 2. The specifier can be one of the following values:

Value Meaning
0 No leading zeros for days
1 Leading zeros for days

LOCALE_IMONLZERO Specifier for leading zeros in month fields. The maximum number of characters allowed for this string is 2. The specifier can be one of the following values:

Value Meaning
0 No leading zeros for months
1 Leading zeros for months

LOCALE_S1159 String for the AM designator.
LOCALE_S2359 String for the PM designator.
LOCALE_ICALENDARTYPE Current calendar type. This type can be one of these values:

Value Meaning
1 Gregorian (as in United States)
2 Gregorian (English strings always)
3 Era: Year of the Emperor (Japan)
4 Era: Year of Taiwan Region
5 Tangun Era (Korea)

LOCALE_IOPTIONALCALENDAR Additional calendar types. This can be a zero-separated list of one or more of these calendars type values:

Value Meaning
0 No additional types valid
1 Gregorian (as in United States)
2 Gregorian (English strings always)
3 Era: Year of the Emperor (Japan)
4 Era: Year of Taiwan Region
5 Tangun Era (Korea)

LOCALE_IFIRSTDAYOFWEEK Specifier for the first day in a week. The specifier can be one of these values:

Value Meaning
0 LOCALE_SDAYNAME1
1 LOCALE_SDAYNAME2
2 LOCALE_SDAYNAME3
3 LOCALE_SDAYNAME4
4 LOCALE_SDAYNAME5
5 LOCALE_SDAYNAME6
6 LOCALE_SDAYNAME7

LOCALE_IFIRSTWEEKOFYEAR Specifier for the first week of the year. The specifier can be one of these values:

Value Meaning
0 Week containing 1/1 is the first week of that year.
1 First full week following 1/1 is the first week of that year.
2 First week containing at least 4 days is the first week of that year.

LOCALE_SDAYNAME1 Native long name for Monday.
LOCALE_SDAYNAME2 Native long name for Tuesday.
LOCALE_SDAYNAME3 Native long name for Wednesday.
LOCALE_SDAYNAME4 Native long name for Thursday.
LOCALE_SDAYNAME5 Native long name for Friday.
LOCALE_SDAYNAME6 Native long name for Saturday.
LOCALE_SDAYNAME7 Native long name for Sunday.
LOCALE_SABBREVDAYNAME1 Native abbreviated name for Monday.
LOCALE_SABBREVDAYNAME2 Native abbreviated name for Tuesday.
LOCALE_SABBREVDAYNAME3 Native abbreviated name for Wednesday.
LOCALE_SABBREVDAYNAME4 Native abbreviated name for Thursday.
LOCALE_SABBREVDAYNAME5 Native abbreviated name for Friday.
LOCALE_SABBREVDAYNAME6 Native abbreviated name for Saturday.
LOCALE_SABBREVDAYNAME7 Native abbreviated name for Sunday.
LOCALE_SMONTHNAME1 Native long name for January.
LOCALE_SMONTHNAME2 Native long name for February.
LOCALE_SMONTHNAME3 Native long name for March.
LOCALE_SMONTHNAME4 Native long name for April.
LOCALE_SMONTHNAME5 Native long name for May.
LOCALE_SMONTHNAME6 Native long name for June.
LOCALE_SMONTHNAME7 Native long name for July.
LOCALE_SMONTHNAME8 Native long name for August.
LOCALE_SMONTHNAME9 Native long name for September.
LOCALE_SMONTHNAME10 Native long name for October.
LOCALE_SMONTHNAME11 Native long name for November.
LOCALE_SMONTHNAME12 Native long name for December.
LOCALE_SMONTHNAME13 Native name for 13th month, if exists.
LOCALE_SABBREVMONTHNAME1 Native abbreviated name for January.
LOCALE_SABBREVMONTHNAME2 Native abbreviated name for February.
LOCALE_SABBREVMONTHNAME3 Native abbreviated name for March.
LOCALE_SABBREVMONTHNAME4 Native abbreviated name for April.
LOCALE_SABBREVMONTHNAME5 Native abbreviated name for May.
LOCALE_SABBREVMONTHNAME6 Native abbreviated name for June.
LOCALE_SABBREVMONTHNAME7 Native abbreviated name for July.
LOCALE_SABBREVMONTHNAME8 Native abbreviated name for August.
LOCALE_SABBREVMONTHNAME9 Native abbreviated name for September.
LOCALE_SABBREVMONTHNAME10 Native abbreviated name for October.
LOCALE_SABBREVMONTHNAME11 Native abbreviated name for November.
LOCALE_SABBREVMONTHNAME12 Native abbreviated name for December.
LOCALE_SABBREVMONTHNAME13 Native abbreviated name for 13th month, if exists.
LOCALE_SPOSITIVESIGN String value for the positive sign.
LOCALE_SNEGATIVESIGN String value for the negative sign.
LOCALE_IPOSSIGNPOSN Formatting index for positive values. The maximum number of characters allowed for this string is 2. The index can be one of the following values:

Value Meaning
0 Parentheses surround the amount and the monetary symbol.
1 The sign string precedes the amount and the monetary symbol.
2 The sign string succeeds the amount and the monetary symbol.
3 The sign string immediately precedes the monetary symbol.
4 The sign string immediately succeeds the monetary symbol.

LOCALE_INEGSIGNPOSN Formatting index for negative values. This index uses the same values as LOCALE_IPOSSIGNPOSN. The maximum number of characters allowed for this string is 2.
LOCALE_IPOSSYMPRECEDES Position of monetary symbol in a positive monetary value. This value is 1 if the monetary symbol precedes the positive amount, 0 if it follows it. The maximum number of characters allowed for this string is 2.
LOCALE_IPOSSEPBYSPACE Separation of monetary symbol in a positive monetary value. This value is 1 if the monetary symbol is separated by a space from a positive amount, 0 if it is not. The maximum number of characters allowed for this string is 2.
LOCALE_INEGSYMPRECEDES Position of monetary symbol in a negative monetary value. This value is 1 if the monetary symbol precedes the negative amount, 0 if it follows it. The maximum number of characters allowed for this string is 2.
LOCALE_INEGSEPBYSPACE Separation of monetary symbol in a negative monetary value. This value is 1 if the monetary symbol is separated by a space from the negative amount, 0 if it is not. The maximum number of characters allowed for this string is 2.
LOCALE_IPAPERSIZE Default paper size associated with the locale.
LOCALE_NOUSEROVERRIDE This constant may be OR'ed with any other LCTYPE constant in a call to the GetLocaleInfo function. This always causes the function to bypass any user overrides, and return the system default value for the other LCTYPE specified in the function call, based on the given LCID.