.\" <jochen.hein@delphi.central.de>
.\" Modified Thu Apr 25 00:43:19 2002 by Bruno Haible <bruno@clisp.org>
.\"
-.TH LOCALE 7 2014-03-18 "Linux" "Linux Programmer's Manual"
+.TH LOCALE 7 2019-03-06 "Linux" "Linux Programmer's Manual"
.SH NAME
locale \- description of multilanguage support
.SH SYNOPSIS
This category determines the interpretation of byte sequences as characters
(e.g., single versus multibyte characters), character classifications
(e.g., alphabetic or digit), and the behavior of character classes.
+On glibc systems, this category also determines
+the character transliteration rules for
+.BR iconv (1)
+and
+.BR iconv (3).
It changes the behavior of the character handling and
classification functions, such as
.BR isupper (3)
(a period in most English-speaking countries,
but a comma in many other regions).
It affects functions such as
-.BR printf (3)
+.BR printf (3),
.BR scanf (3),
and
.BR strtod (3).
This category governs the formatting used for date and time values.
For example, most of Europe uses a 24-hour clock versus the
12-hour clock used in the United States.
-the setting of this category affects the behavior of functions such as
+The setting of this category affects the behavior of functions such as
.BR strftime (3)
and
.BR strptime (3).
If the second argument to
.BR setlocale (3)
is an empty string,
-.BR """""" ,
+.IR """""" ,
for the default locale, it is determined using the following steps:
-.IP 1.
+.IP 1. 3
If there is a non-null environment variable
.BR LC_ALL ,
the value of
returned by the
.BR localeconv (3)
function, which has the following declaration:
-.in +2n
-.nf
-
+.PP
+.in +4n
+.EX
struct lconv {
/* Numeric (nonmonetary) information */
char *decimal_point; /* Radix character */
char *thousands_sep; /* Separator for digit groups to left
of radix character */
- char *grouping; /* Each element is the number of digits in a
- group; elements with higher indices are
- further left. An element with value CHAR_MAX
- means that no further grouping is done. An
- element with value 0 means that the previous
- element is used for all groups further left. */
+ char *grouping; /* Each element is the number of digits in
+ a group; elements with higher indices
+ are further left. An element with value
+ CHAR_MAX means that no further grouping
+ is done. An element with value 0 means
+ that the previous element is used for
+ all groups further left. */
/* Remaining fields are for monetary information */
- char *int_curr_symbol; /* First three chars are a currency symbol
- from ISO 4217. Fourth char is the
- separator. Fifth char is \(aq\\0\(aq. */
+ char *int_curr_symbol; /* First three chars are a currency
+ symbol from ISO 4217. Fourth char
+ is the separator. Fifth char
+ is \(aq\e0\(aq. */
char *currency_symbol; /* Local currency symbol */
char *mon_decimal_point; /* Radix character */
char *mon_thousands_sep; /* Like \fIthousands_sep\fP above */
char frac_digits; /* Local fractional digits */
char p_cs_precedes; /* 1 if currency_symbol precedes a
positive value, 0 if succeeds */
- char p_sep_by_space; /* 1 if a space separates currency_symbol
- from a positive value */
+ char p_sep_by_space; /* 1 if a space separates
+ currency_symbol from a positive
+ value */
char n_cs_precedes; /* 1 if currency_symbol precedes a
negative value, 0 if succeeds */
- char n_sep_by_space; /* 1 if a space separates currency_symbol
- from a negative value */
+ char n_sep_by_space; /* 1 if a space separates
+ currency_symbol from a negative
+ value */
/* Positive and negative sign positions:
0 Parentheses surround the quantity and currency_symbol.
1 The sign string precedes the quantity and currency_symbol.
char p_sign_posn;
char n_sign_posn;
};
-.fi
+.EE
.in
.SS POSIX.1-2008 extensions to the locale API
POSIX.1-2008 standardized a number of extensions to the locale API,
These extensions are designed to address the problem that
the traditional locale APIs do not mix well with multithreaded applications
and with applications that must deal with multiple locales.
-
+.PP
The extensions take the form of new functions for creating and
manipulating locale objects
.RB ( newlocale (3),
.BR newlocale (3)
and
.BR setlocale (3),
-and thus affects all localized programs:
+and thus affects all unprivileged localized programs:
.TP
.B LOCPATH
A list of pathnames, separated by colons (\(aq:\(aq),
that should be used to find locale data.
-If this variable is set, only the individual locale data files from
+If this variable is set,
+only the individual compiled locale data files from
.I LOCPATH
-and the system default locale data path are used; any available locale
-archives are not used. The individual locale data files are searched
-under subdirectories which depend on the currently used locale. For
-example, when
+and the system default locale data path are used;
+any available locale archives are not used (see
+.BR localedef (1)).
+The individual compiled locale data files are searched for under
+subdirectories which depend on the currently used locale.
+For example, when
.I en_GB.UTF-8
is used for a category, the following subdirectories are searched for,
in this order:
.IR en.utf8 ,
and
.IR en .
+.SH FILES
+.TP
+.I /usr/lib/locale/locale-archive
+Usual default locale archive location.
+.TP
+.I /usr/lib/locale
+Usual default path for compiled individual locale files.
.SH CONFORMING TO
POSIX.1-2001.
.\"
.\" The GNU gettext functions are specified in LI18NUX2000.
.SH SEE ALSO
+.BR iconv (1),
.BR locale (1),
.BR localedef (1),
.BR catopen (3),
.BR gettext (3),
+.BR iconv (3),
.BR localeconv (3),
.BR mbstowcs (3),
.BR newlocale (3),
.BR strxfrm (3),
.BR uselocale (3),
.BR wcstombs (3),
-.BR locale (5)
+.BR locale (5),
+.BR charsets (7),
+.BR unicode (7),
+.BR utf-8 (7)