montbl(1M) montbl(1M)
montbl - create monetary database
montbl [ -o outfile] infile
The montbl command takes as input a specification file, infile, that
describes the formatting conventions for monetary quantities for a
specific locale.
-o outfile Write the output on outfile; otherwise, write the output on a
file named LC_MONETARY.
The output of montbl is suitable for use by the localeconv function [see
localeconv(3C)]. Before outfile can be used by localeconv, it must be
installed in the /usr/lib/locale/locale directory with the name
LC_MONETARY by a user with appropriate privilege or a member of group
bin. locale is the locale whose monetary formatting conventions are
described in infile. This file must be readable by user, group, and
other; no other permissions should be set. To use formatting conventions
for monetary quantities described in this file, use setlocale(3C) to
change the locale for category LC_MONETARY to locale [see setlocale(3C)].
Once installed, this file will be used by the localeconv function to
initialize the monetary specific fields of a structure of type struct
lconv. For a description of each field in this structure, see
localeconv(3C).
struct lconv {
char *decimal_point; /* "." */
char *thousands_sep; /* "" (zero length string) */
char *grouping; /* "" */
char *int_curr_symbol; /* "" */
char *currency_symbol; /* "" */
char *mon_decimal_point; /* "" */
char *mon_thousands_sep; /* "" */
char *mon_grouping; /* "" */
char *positive_sign; /* "" */
char *negative_sign; /* "" */
char int_frac_digits; /* CHAR_MAX */
char frac_digits; /* CHAR_MAX */
char p_cs_precedes; /* CHAR_MAX */
char p_sep_by_space; /* CHAR_MAX */
char n_cs_precedes; /* CHAR_MAX */
char n_sep_by_space; /* CHAR_MAX */
char p_sign_posn; /* CHAR_MAX */
char n_sign_posn; /* CHAR_MAX */
};
Page 1
montbl(1M) montbl(1M)
The specification file specifies the value of each struct lconv member,
except for the first three members, decimal_point, thousands_sep, and
grouping, which are set by the LC_NUMERIC category of setlocale(3C).
Each member's value is given on a line with the following format:
keyword <white space> value
where keyword is identical to the struct lconv field name and value is a
quoted string for those fields that are a char * and an integer for those
fields that hold an integer value. For example,
int_curr_symbol "ITL."
int_frac_digits 0
will set the international currency symbol and the number of fractional
digits to be displayed in an internationally formatted monetary quantity
to ITL. and 0, respectively.
Blank lines and lines starting with a # are taken to be comments and are
ignored. A character in a string may be in octal or hex representation.
For example, \141 or \x61 could be used to represent the letter 'a'. If
there is no specification line for a given structure member, then the
default "C" locale value for that member is used (see the values in
comments in the struct lconv definition above).
Given below is an example of what the specification file for Italy would
look like:
# Italy
int_curr_symbol "ITL."
currency_symbol "L."
mon_decimal_point ""
mon_thousands_sep "."
mon_grouping "\3"
positive_sign ""
negative_sign "-"
int_frac_digits 0
frac_digits 0
p_cs_precedes 1
p_sep_by_space 0
n_cs_precedes 1
n_sep_by_space 0
p_sign_posn 1
n_sign_posn 1
/usr/lib/locale/locale<b>/LC_MONETARY
LC_MONETARY database for locale
/usr/lib/locale/C/montbl_C
input file used to construct LC_MONETARY in the default
locale
Page 2
montbl(1M) montbl(1M)
localeconv(3C), setlocale(3C)
PPPPaaaaggggeeee 3333 [ Back ]
|