The locale structure is the main public structure provided by locale.library. The structure is defined in <libraries/locale.h> and consists of the following fields: strptr loc_localename Locale's name. strptr loc_languagename The language of the driver bound to this locale. strptr loc_preflanguages[10] The ordered list of preferred languages for this locale. ULONG loc_Flags locale flags. currently always 0. ULONG loc_CodeSet Specifies the code set required by this locale. Currently, this value is always 0. ULONG loc_CountryCode The international country code. ULONG loc_TelephoneCode The international telephone code for the country. long loc_gmtoffset The offset in minutes of the current location from GMT. Positive indicates a Westerly direction from GMT, negative Easterly. ubyte loc_measuringsystem The measuring system being used. strptr loc_datetimeformat The date and time format string, ready to pass to formatdate() strptr loc_dateformat The date format string. strptr loc_timeformat The time format string. strptr loc_shortdatetimeformat The short date and time format string, ready to pass to formatdate() strptr loc_shortdateformat The short date format string. strptr loc_shorttimeformat The short time format string. strptr loc_decimalpoint The decimal point character used to format non-monetary quantities. strptr loc_groupseparator The characters used to separate groups of digits before the decimal-point character in formatted non-monetary quantities. strptr loc_fracgroupseparator The characters used to separate groups of digits after the decimal-point character in formatted non-monetary quantities. strptr loc_grouping A string whose elements indicate the size of each group of digits before the decimal-point character in formatted non-monetary quantities. strptr loc_fracgrouping A string whose elements indicate the size of each group of digits after the decimal-point character in formatted non-monetary quantities. strptr loc_mondecimalpoint The decimal-point used to format monetary quantities. strptr loc_mongroupseparator The separator for groups of digits before the decimal-point in monetary quantities. strptr loc_monfracgroupseparator The separator for groups of digits after the decimal-point in monetary quantities. strptr loc_mongrouping A string whose elements indicate the size of each group of digits before the decimal-point character in monetary quantities. strptr loc_monfracgrouping A string whose elements indicate the size of each group of digits after the decimal-point character in monetary quantities. ubyte loc_monfracdigits The number of fractional digits (those after the decimal-point) to be displayed in a formatted monetary quantity. ubyte loc_monintfracdigits The number of fractional digits (those after the decimal-point) to be displayed in an internationally formatted monetary quantity. strptr loc_moncs The local currency symbol applicable to the current locale. strptr loc_monsmallcs The currency symbol for small amounts. strptr loc_monintcs The international currency symbol applicable to the current locale. The first three characters contain the alphabetic international currency symbol in accordance with those specified in ISO 4217 Codes for the Representation of Currency and Funds. The fourth character (immediately preceding the NULL) is the character used to separate the international currency symbol from the monetary quantity. strptr loc_monpositivesign The string used to indicate a non-negative monetary quantity. ubyte loc_monpositivespacesep Specifies the number of spaces separating the currency symbol from the non-negative monetary quantity. ubyte loc_monpositivesignpos Set to a value indicating the positioning of loc_MonPositiveSign for a non-negative monetary quantity. ubyte loc_monpositivecspos Set to 1 or 0 if loc_MonCS respectively precedes or succeeds the value for a non-negative monetary quantity. strptr loc_monnegativesign The string used to indicate a negative monetary quantity. ubyte loc_monnegativespacesep Specifies the number of spaces separating the currency symbol from the negative monetary quantity. ubyte loc_monnegativesignpos Set to a value indicating the positioning of loc_MonNegativeSign for a negative monetary quantity. ubyte loc_monnegativecspos Set to 1 or 0 if loc_MonCS respectively precedes or succeeds the value for a negative monetary quantity. The grouping tables pointed to by loc_Grouping, loc_FracGrounping, loc_MonGrouping, and loc_MonFracGrouping contain a stream of bytes with the following values: 255 No further grouping is to be performed. 0 The previous element is to be repeatedly used for the remainder of the digits. 1..254 The integer value is the number of digits that comprise the current group. The next element is examined to determine the size of the next group of digits before the current group. The values of loc_MonPositiveSignPos and loc_MonNegativeSignPos are interpreted according to the following: 0 Parentheses surround the quantity and currency symbol 1 The sign string precedes the quantity and currency symbol 2 The sign string succeeds the quantity and currency symbol 3 The sign string immediately precedes the currency symbol 4 The sign string immediately succeeds the currency symbol.