1 .\" Copyright (c) 2001 Markus Kuhn <mkuhn@acm.org>
2 .\" and Copyright (c) 2015 Sam Varshavchik <mrsam@courier-mta.com>
3 .\" and Copyright (c) 2015 Michael Kerrisk <mtk.manpages@gmail.com>
5 .\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA)
6 .\" This is free documentation; you can redistribute it and/or
7 .\" modify it under the terms of the GNU General Public License as
8 .\" published by the Free Software Foundation; either version 2 of
9 .\" the License, or (at your option) any later version.
12 .\" References consulted:
13 .\" GNU glibc-2 manual
14 .\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
16 .\" Corrected prototype, 2002-10-18, aeb
18 .TH NL_LANGINFO 3 2019-03-06 "GNU" "Linux Programmer's Manual"
20 nl_langinfo, nl_langinfo_l \- query language and locale information
23 .B #include <langinfo.h>
25 .BI "char *nl_langinfo(nl_item " item );
27 .BI "char *nl_langinfo_l(nl_item " item ", locale_t " locale );
31 Feature Test Macro Requirements for glibc (see
32 .BR feature_test_macros (7)):
39 _POSIX_C_SOURCE\ >=\ 200809L
41 Glibc 2.23 and earlier:
42 _POSIX_C_SOURCE\ >=\ 200112L
50 functions provide access to locale information
51 in a more flexible way than
54 returns a string which is the value corresponding to
55 \fIitem\fP in the program's current global
58 returns a string which is the value corresponding to \fIitem\fP
59 for the locale identified by the locale object \fIlocale\fP,
60 which was previously created by
62 Individual and additional elements of the locale categories can
65 Examples for the locale elements that can be specified in \fIitem\fP
66 using the constants defined in \fI<langinfo.h>\fP are:
68 .BR CODESET \ (LC_CTYPE)
69 Return a string with the name of the character encoding used in the
70 selected locale, such as "UTF-8", "ISO-8859-1", or "ANSI_X3.4-1968"
71 (better known as US-ASCII).
72 This is the same string that you get with
74 For a list of character encoding names,
78 .BR D_T_FMT \ (LC_TIME)
79 Return a string that can be used as a format string for
81 to represent time and date in a locale-specific way.
84 Return a string that can be used as a format string for
86 to represent a date in a locale-specific way.
89 Return a string that can be used as a format string for
91 to represent a time in a locale-specific way.
93 .BR DAY_ "{1\(en7} (LC_TIME)"
94 Return name of the \fIn\fP-th day of the week. [Warning: this follows
95 the US convention DAY_1 = Sunday, not the international convention
96 (ISO 8601) that Monday is the first day of the week.]
98 .BR ABDAY_ "{1\(en7} (LC_TIME)"
99 Return abbreviated name of the \fIn\fP-th day of the week.
101 .BR MON_ "{1\(en12} (LC_TIME)"
102 Return name of the \fIn\fP-th month.
104 .BR ABMON_ "{1\(en12} (LC_TIME)"
105 Return abbreviated name of the \fIn\fP-th month.
107 .BR RADIXCHAR \ (LC_NUMERIC)
108 Return radix character (decimal dot, decimal comma, etc.).
110 .BR THOUSEP \ (LC_NUMERIC)
111 Return separator character for thousands (groups of three digits).
113 .BR YESEXPR \ (LC_MESSAGES)
114 Return a regular expression that can be used with the
116 function to recognize a positive response to a yes/no question.
118 .BR NOEXPR \ (LC_MESSAGES)
119 Return a regular expression that can be used with the
121 function to recognize a negative response to a yes/no question.
123 .BR CRNCYSTR \ (LC_MONETARY)
124 Return the currency symbol, preceded by "\-" if the symbol should
125 appear before the value, "+" if the symbol should appear after the
126 value, or "." if the symbol should replace the radix character.
128 The above list covers just some examples of items that can be requested.
129 For a more detailed list, consult
130 .IR "The GNU C Library Reference Manual" .
132 On success, these functions return a pointer to a string which
133 is the value corresponding to
135 in the specified locale.
137 If no locale has been selected by
139 for the appropriate category,
141 return a pointer to the corresponding string in the "C" locale.
146 specifies a locale where
150 If \fIitem\fP is not valid, a pointer to an empty string is returned.
152 The pointer returned by these functions may point to static data that
153 may be overwritten, or the pointer itself may be invalidated,
154 by a subsequent call to
156 .BR nl_langinfo_l (),
159 The same statements apply to
161 if the locale object referred to by
163 is freed or modified by
168 POSIX specifies that the application may not modify
169 the string returned by these functions.
171 For an explanation of the terms used in this section, see
177 Interface Attribute Value
180 T} Thread safety MT-Safe locale
183 POSIX.1-2001, POSIX.1-2008, SUSv2.
189 is the special locale object
191 or is not a valid locale object handle.
193 The following program sets the character type and the numeric locale
194 according to the environment and queries the terminal character set and
198 #include <langinfo.h>
204 main(int argc, char *argv[])
206 setlocale(LC_CTYPE, "");
207 setlocale(LC_NUMERIC, "");
209 printf("%s\en", nl_langinfo(CODESET));
210 printf("%s\en", nl_langinfo(RADIXCHAR));
222 The GNU C Library Reference Manual