NLSGetLocaleInfo

NLS Function: Returns information about the current locale.

Module: USE DFNLS

Syntax

result = NLSGetLocaleInfo (type, outstr)

type
(Input) INTEGER(4). NLS parameter requested. A list of parameter names is given in the NLS Locale Info Parameters Table.


outstr
(Output) Character*(*). Parameter setting for the current locale. All parameter settings placed in outstr are character strings, even numbers. If a parameter setting is numeric, the ASCII representation of the number is used. If the requested parameter is a date or time string, an explanation of how to interpret the format in outstr is given in NLS Date and Time Format.

Results:

The result is of type INTEGER(4). The result is the number of characters written to outstr if successful, or if outstr has 0 length, the number of characters required to hold the requested information. Otherwise, the result is one of the following error codes (defined in DFNLS.F90):

The NLS$LI parameters are used for the argument type and select the locale information returned by NLSGetLocaleInfo in outstr. You can perform an inclusive OR with NLS$NoUserOverride and any NLS$LI parameter. This causes NLSGetLocaleInfo to bypass any user overrides and always return the system default value. The following table lists the NLS$LI parameters and describes each.

NLS Locale Info Parameters Table
Parameter Description
NLS$LI_ILANGUAGE An ID indicating the language.
NLS$LI_SLANGUAGE The full localized name of the language.
NLS$LI_SENGLANGUAGE The full English name of the language from the ISO Standard 639. This will always be restricted to characters that map into the ASCII 127 character subset.
NLS$LI_SABBREVLANGNAME The abbreviated name of the language, created by taking the 2-letter language abbreviation as found in ISO Standard 639 and adding a third letter as appropriate to indicate the sublanguage.
NLS$LI_SNATIVELANGNAME The native name of the language.
NLS$LI_ICOUNTRY The country code, based on international phone codes, also referred to as IBM country codes.
NLS$LI_SCOUNTRY The full localized name of the country.
NLS$LI_SENGCOUNTRY The full English name of the country. This will always be restricted to characters that map into the ASCII 127 character subset.
NLS$LI_SABBREVCTRYNAME The abbreviated name of the country as per ISO Standard 3166.
NLS$LI_SNATIVECTRYNAME The native name of the country.
NLS$LI_IDEFAULTLANGUAGE Language ID for the principal language spoken in this locale. This is provided so that partially specified locales can be completed with default values.
NLS$LI_IDEFAULTCOUNTRY Country code for the principal country in this locale. This is provided so that partially specified locales can be completed with default values.
NLS$LI_IDEFAULTANSICODEPAGE ANSI code page associated with this locale.
NLS$LI_IDEFAULTOEMCODEPAGE OEM code page associated with the locale.
NLS$LI_SLIST Character(s) used to separate list items, for example, comma in many locales.
NLS$LI_IMEASURE This value is 0 if the metric system (S.I.) is used and 1 for the U.S. system of measurements.
NLS$LI_SDECIMAL The character(s) used as decimal separator. This is restricted such that it cannot be set to digits 0 - 9.
NLS$LI_STHOUSAND The character(s) used as separator between groups of digits left of the decimal. This is restricted such that it cannot be set to digits 0 - 9.
NLS$LI_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 0 the preceding value is repeated. To group thousands, specify "3;0".
NLS$LI_IDIGITS The number of decimal digits.
NLS$LI_ILZERO Determines whether to use leading zeros in decimal fields:
0 - Use no leading zeros
1 - Use leading zeros
NLS$LI_INEGNUMBER Determines how negative numbers are represented:
0 - Puts negative numbers in parentheses: (1.1)
1 - Puts a minus sign in front: -1.1
2 - Puts a minus sign followed by a space in front: - 1.1
3 - Puts a minus sign after: 1.1-
4 - Puts a space then a minus sign after: 1.1 -
NLS$LI_SNATIVEDIGITS The ten characters that are the native equivalent to the ASCII 0-9.
NLS$LI_SCURRENCY The string used as the local monetary symbol. Cannot be set to digits 0-9.
NLS$LI_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.
NLS$LI_SMONDECIMALSEP The character(s) used as monetary decimal separator. This is restricted such that it cannot be set to digits 0-9.
NLS$LI_SMONTHOUSANDSEP The character(s) used as monetary separator between groups of digits left of the decimal. Cannot be set to digits 0-9.
NLS$LI_SMONGROUPING Sizes for each group of monetary digits to the left of the decimal. If the last value is 0, the preceding value is repeated. To group thousands, specify "3;0".
NLS$LI_ICURRDIGITS Number of decimal digits for the local monetary format.
NLS$LI_IINTLCURRDIGITS Number of decimal digits for the international monetary format.
NLS$LI_ICURRENCY Determines how positive currency is represented:
0 - Puts currency symbol in front with no separation: $1.1
1 - Puts currency symbol in back with no separation: 1.1$
2 - Puts currency symbol in front with single space after: $ 1.1
3 - Puts currency symbol in back with single space before: 1.1 $
NLS$LI_INEGCURR Determines how negative currency is represented:
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 $)
NLS$LI_SPOSITIVESIGN String value for the positive sign. Cannot be set to digits 0-9.
NLS$LI_SNEGATIVESIGN String value for the negative sign. Cannot be set to digits 0-9.
NLS$LI_IPOSSIGNPOSN Determines the formatting index for positive values:
0 - Parenthesis surround the amount and the monetary symbol
1 - The sign string precedes the amount and the monetary symbol
2 - The sign string follows the amount and the monetary symbol
3 - The sign string immediately precedes the monetary symbol
4 - The sign string immediately follows the monetary symbol
NLS$LI_INEGSIGNPOSN Determines the formatting index for negative values. Same values as for NLS$LI_IPOSSIGNPOSN.
NLS$LI_IPOSSYMPRECEDES 1 if the monetary symbol precedes, 0 if it follows a positive amount.
NLS$LI_IPOSSEPBYSPACE 1 if the monetary symbol is separated by a space from a positive amount; otherwise, 0.
NLS$LI_INEGSYMPRECEDES 1 if the monetary symbol precedes, 0 if it follows a negative amount.
NLS$LI_INEGSEPBYSPACE 1 if the monetary symbol is separated by a space from a negative amount; otherwise, 0.
NLS$LI_STIMEFORMAT Time formatting string. See the NLS Date and Time Format section for explanations of the valid strings.
NLS$LI_STIME Character(s) for the time separator. Cannot be set to digits 0-9.
NLS$LI_ITIME Time format:
0 - Use 12-hour format
1 - Use 24-hour format
NLS$LI_ITLZERO Determines whether to use leading zeros in time fields:
0 - Use no leading zeros
1 - Use leading zeros for hours
NLS$LI_S1159 String for the AM designator.
NLS$LI_S2359 String for the PM designator.
NLS$LI_SSHORTDATE Short Date formatting string for this locale. The d, M and y should have the day, month, and year substituted, respectively. See the NLS Date and Time Format section for explanations of the valid strings.
NLS$LI_SDATE Character(s) for the date separator. Cannot be set to digits 0-9.
NLS$LI_IDATE Short Date format ordering:
0 - Month-Day-Year
1 - Day-Month-Year
2 - Year-Month-Day
NLS$LI_ICENTURY Specifies whether to use full 4-digit century for the short date only:
0 - Two-digit year
1 - Full century
NLS$LI_IDAYLZERO Specifies whether to use leading zeros in day fields for the short date only:
0 - Use no leading zeros
1 - Use leading zeros
NLS$LI_IMONLZERO Specifies whether to use leading zeros in month fields for the short date only:
0 - Use no leading zeros
1 - Use leading zeros
NLS$LI_SLONGDATE Long Date formatting string for this locale. The string returned may contain a string within single quotes (' '). Any characters within single quotes should be left as is. The d, M and y should have the day, month, and year substituted, respectively.
NLS$LI_ILDATE Long Date format ordering:
0 - Month-Day-Year
1 - Day-Month-Year
2 - Year-Month-Day
NLS$LI_ICALENDARTYPE Specifies which type of calendar is currently being used:
1 - Gregorian (as in United States)
2 - Gregorian (English strings always)
3 - Era: Year of the Emperor (Japan)
4 - Era: Year of the Republic of China
5 - Tangun Era (Korea)
NLS$LI_IOPTIONALCALENDAR Specifies which additional calendar types are valid and available for this locale. This can be a null separated list of all valid optional calendars:
0 - No additional types valid
1 - Gregorian (localized)
2 - Gregorian (English strings always)
3 - Era: Year of the Emperor (Japan)
4 - Era: Year of the Republic of China
5 - Tangun Era (Korea)
NLS$LI_IFIRSTDAYOFWEEK Specifies which day is considered first in a week:
0 - SDAYNAME1
1 - SDAYNAME2
2 - SDAYNAME3
3 - SDAYNAME4
4 - SDAYNAME5
5 - SDAYNAME6
6 - SDAYNAME7
NLS$LI_IFIRSTWEEKOFYEAR Specifies which week of the year is considered first:
0 - Week containing 1/1
1 - First full week following 1/1
2 - First week containing at least 4 days
NLS$LI_SDAYNAME1 -
NLS$LI_SDAYNAME7
Native name for each day of the week. 1 = Monday,
2 = Tuesday, etc.
NLS$LI_SABBREVDAYNAME1 -
NLS$LI_SABBREVDAYNAME7
Native abbreviated name for each day of the week.
1 = Mon, 2 = Tue, etc.
NLS$LI_SMONTHNAME1 -
NLS$LI_SMONTHNAME13
Native name for each month. 1 = January,
2 = February, etc. 13 = the 13th month, if it exists in the locale.
NLS$LI_SABBREVMONTHNAME1 -
NLS$LI_SABBREVMONTHNAME13
Native abbreviated name for each month. 1 = Jan,
2 = Feb, etc. 13 = the 13th month, if it exists in the locale.