summaryrefslogtreecommitdiffstats
path: root/man7/locale.7
diff options
context:
space:
mode:
Diffstat (limited to 'man7/locale.7')
-rw-r--r--man7/locale.7204
1 files changed, 204 insertions, 0 deletions
diff --git a/man7/locale.7 b/man7/locale.7
new file mode 100644
index 000000000..c564a8ebe
--- /dev/null
+++ b/man7/locale.7
@@ -0,0 +1,204 @@
+.\" (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
+.\"
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date. The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein. The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\"
+.\" Modified Sat Jul 24 17:28:34 1993 by Rik Faith <faith@cs.unc.edu>
+.\" Modified Sun Jun 01 17:16:34 1997 by Jochen Hein
+.\" <jochen.hein@delphi.central.de>
+.\" Modified Thu Apr 25 00:43:19 2002 by Bruno Haible <bruno@clisp.org>
+.\"
+.TH LOCALE 7 1993-04-24 "Linux" "Linux Programmer's Manual"
+.SH NAME
+locale \- Description of multi-language support
+.SH SYNOPSIS
+.nf
+.B #include <locale.h>
+.fi
+.SH DESCRIPTION
+A locale is a set of language and cultural rules. These cover aspects
+such as language for messages, different character sets, lexigraphic
+conventions, etc. A program needs to be able to determine its locale
+and act accordingly to be portable to different cultures.
+.PP
+The header
+.B <locale.h>
+declares data types, functions and macros which are useful in this
+task.
+.PP
+The functions it declares are
+.B setlocale()
+to set the current locale, and
+.B localeconv()
+to get information about number formatting.
+.PP
+There are different categories for local information a program might
+need; they are declared as macros. Using them as the first argument
+to the
+.B setlocale()
+function, it is possible to set one of these to the desired locale:
+.TP
+.B LC_COLLATE
+This is used to change the behaviour of the functions
+.B strcoll()
+and
+.BR strxfrm() ,
+which are used to compare strings in the local alphabet. For example,
+the German sharp s is sorted as "ss".
+.TP
+.B LC_CTYPE
+This changes the behaviour of the character handling and
+classification functions, such as
+.B isupper()
+and
+.BR toupper() ,
+and the multi\-byte character functions such as
+.B mblen()
+or
+.BR wctomb() .
+.TP
+.B LC_MONETARY
+changes the information returned by
+.B localeconv()
+which describes the way numbers are usually printed, with details such
+as decimal point versus decimal comma. This information is internally
+used by the function
+.BR strfmon() .
+.TP
+.B LC_MESSAGES
+changes the language messages are displayed in and how an affirmative or
+negative answer looks like. The GNU C-library contains the
+.BR gettext() ,
+.BR ngettext() ,
+and
+.B rpmatch()
+functions to ease the use of these information. The GNU gettext family of
+functions also obey the environment variable
+.BR LANGUAGE .
+.TP
+.B LC_NUMERIC
+changes the information used by the
+.B printf()
+and
+.B scanf()
+family of functions, when they are advised to use the
+locale-settings. This information can also be read with the
+.B localeconv()
+function.
+.TP
+.B LC_TIME
+changes the behaviour of the
+.B strftime()
+function to display the current time in a locally acceptable form; for
+example, most of Europe uses a 24\-hour clock vs. the US' 12\-hour
+clock.
+.TP
+.B LC_ALL
+All of the above.
+.PP
+If the second argument to
+.B setlocale()
+is empty string,
+.BR """""" ,
+for the default locale, it is determined using the following steps:
+.IP 1.
+If there is a non-null environment variable
+.BR LC_ALL ,
+the value of
+.B LC_ALL
+is used.
+.IP 2.
+If an environment variable with the same name as one of the categories
+above exists and is non-null, its value is used for that category.
+.IP 3.
+If there is a non-null environment variable
+.BR LANG ,
+the value of
+.B LANG
+is used.
+.PP
+Values about local numeric formatting is made available in a
+.B struct lconv
+returned by the
+.B localeconv()
+function, which has the following declaration:
+.nf
+struct lconv
+{
+ /* Numeric (non-monetary) information. */
+
+ char *decimal_point; /* Decimal point character. */
+ char *thousands_sep; /* Thousands separator. */
+ /* Each element is the number of digits in each group;
+ elements with higher indices are farther 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 farther left. */
+ char *grouping;
+
+ /* Monetary information. */
+
+ /* First three chars are a currency symbol from ISO 4217.
+ Fourth char is the separator. Fifth char is '\0'. */
+ char *int_curr_symbol;
+ char *currency_symbol; /* Local currency symbol. */
+ char *mon_decimal_point; /* Decimal point character. */
+ char *mon_thousands_sep; /* Thousands separator. */
+ char *mon_grouping; /* Like `grouping' element (above). */
+ char *positive_sign; /* Sign for positive values. */
+ char *negative_sign; /* Sign for negative values. */
+ char int_frac_digits; /* Int'l fractional digits. */
+ char frac_digits; /* Local fractional digits. */
+ /* 1 if currency_symbol precedes a positive value, 0 if succeeds. */
+ char p_cs_precedes;
+ /* 1 if a space separates currency_symbol from a positive value. */
+ char p_sep_by_space;
+ /* 1 if currency_symbol precedes a negative value, 0 if succeeds. */
+ char n_cs_precedes;
+ /* 1 if a space separates currency_symbol from a negative value. */
+ char n_sep_by_space;
+ /* Positive and negative sign positions:
+ 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. */
+ char p_sign_posn;
+ char n_sign_posn;
+};
+.fi
+.SH "CONFORMS TO"
+.nf
+POSIX.1
+.fi
+The GNU gettext functions are specified in LI18NUX2000.
+.SH "SEE ALSO"
+.BR locale (1),
+.BR localedef (1),
+.BR gettext (3),
+.BR localeconv (3),
+.BR ngettext (3),
+.BR nl_langinfo (3),
+.BR rpmatch (3),
+.BR setlocale (3),
+.BR strcoll (3),
+.BR strfmon (3),
+.BR strftime (3),
+.BR strxfrm (3)