summaryrefslogtreecommitdiff
path: root/lib/libc/locale/nl_langinfo.3
blob: d58bf6b69729b4dc42b5a959b4174ba3e2a50d67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
.\"	$NetBSD: nl_langinfo.3,v 1.20 2011/04/14 05:50:49 jruoho Exp $
.\"
.\" Written by J.T. Conklin <jtc@NetBSD.org>.
.\" Public domain.
.\"
.Dd April 14, 2011
.Dt NL_LANGINFO 3
.Os
.Sh NAME
.Nm nl_langinfo
.Nd get locale information
.Sh LIBRARY
.Lb libc
.Sh SYNOPSIS
.In langinfo.h
.Ft char *
.Fn nl_langinfo "nl_item item"
.Sh DESCRIPTION
The
.Fn nl_langinfo
function returns a pointer to a string containing information
set by the program's locale.
.Pp
The names and values of
.Fa item
are defined in
.In langinfo.h .
The entries under Category indicate in which
.Xr setlocale 3
category each item is defined.
.Bl -column ERA_D_T_FMT LC_MESSAGES
.It Sy Constant Ta Sy Category Ta Sy Meaning
.It CODESET	LC_CTYPE	Codeset name
.It D_T_FMT	LC_TIME	String for formatting date and time
.It D_FMT	LC_TIME	Date format string
.It T_FMT	LC_TIME	Time format string
.It T_FMT_AMPM	LC_TIME	A.M. or P.M. time format string
.It AM_STR	LC_TIME	Ante-meridiem affix
.It PM_STR	LC_TIME	Post-meridiem affix
.It DAY_1	LC_TIME	Name of the first day of the week (e.g.: Sunday)
.It DAY_2	LC_TIME	Name of the second day of the week (e.g.: Monday)
.It DAY_3	LC_TIME	Name of the third day of the week (e.g.: Tuesday)
.It DAY_4	LC_TIME	Name of the fourth day of the week (e.g.: Wednesday)
.It DAY_5	LC_TIME	Name of the fifth day of the week (e.g.: Thursday)
.It DAY_6	LC_TIME	Name of the sixth day of the week (e.g.: Friday)
.It DAY_7	LC_TIME	Name of the seventh day of the week (e.g.: Saturday)
.It ABDAY_1	LC_TIME	Abbreviated name of the first day of the week
.It ABDAY_2	LC_TIME	Abbreviated name of the second day of the week
.It ABDAY_3	LC_TIME	Abbreviated name of the third day of the week
.It ABDAY_4	LC_TIME	Abbreviated name of the fourth day of the week
.It ABDAY_5	LC_TIME	Abbreviated name of the fifth day of the week
.It ABDAY_6	LC_TIME	Abbreviated name of the sixth day of the week
.It ABDAY_7	LC_TIME	Abbreviated name of the seventh day of the week
.It MON_1	LC_TIME	Name of the first month of the year
.It MON_2	LC_TIME	Name of the second month
.It MON_3	LC_TIME	Name of the third month
.It MON_4	LC_TIME	Name of the fourth month
.It MON_5	LC_TIME	Name of the fifth month
.It MON_6	LC_TIME	Name of the sixth month
.It MON_7	LC_TIME	Name of the seventh month
.It MON_8	LC_TIME	Name of the eighth month
.It MON_9	LC_TIME	Name of the ninth month
.It MON_10	LC_TIME	Name of the tenth month
.It MON_11	LC_TIME	Name of the eleventh month
.It MON_12	LC_TIME	Name of the twelfth month
.It ABMON_1	LC_TIME	Abbreviated name of the first month
.It ABMON_2	LC_TIME	Abbreviated name of the second month
.It ABMON_3	LC_TIME	Abbreviated name of the third month
.It ABMON_4	LC_TIME	Abbreviated name of the fourth month
.It ABMON_5	LC_TIME	Abbreviated name of the fifth month
.It ABMON_6	LC_TIME	Abbreviated name of the sixth month
.It ABMON_7	LC_TIME	Abbreviated name of the seventh month
.It ABMON_8	LC_TIME	Abbreviated name of the eighth month
.It ABMON_9	LC_TIME	Abbreviated name of the ninth month
.It ABMON_10	LC_TIME	Abbreviated name of the tenth month
.It ABMON_11	LC_TIME	Abbreviated name of the eleventh month
.It ABMON_12	LC_TIME	Abbreviated name of the twelfth month
.It ERA	LC_TIME	Era description segments
.It ERA_D_FMT	LC_TIME	Era date format string
.It ERA_D_T_FMT	LC_TIME	Era date and time format string
.It ERA_T_FMT	LC_TIME	Era time format string
.It ALT_DIGITS	LC_TIME	Alternative symbols for digits
.It RADIXCHAR	LC_NUMERIC	Radix character
.It THOUSEP	LC_NUMERIC	Separator for thousands
.It YESEXPR	LC_MESSAGES	Affirmative response expression
.It NOEXPR	LC_MESSAGES	Negative response expression
.\".It CRNCYSTR	LC_MONETARY	Local currency symbol
.El
.Sh RETURN VALUES
.Fn nl_langinfo
returns a pointer to an empty string if
.Fa item
is invalid.
.Sh EXAMPLES
The following example uses
.Fn nl_langinfo
to obtain the date and time format for the current locale:
.Pp
.Bd -literal -offset indent
#include \*[Lt]time.h\*[Gt]
#include \*[Lt]langinfo.h\*[Gt]
#include \*[Lt]locale.h\*[Gt]

int main(void)
{
	char datestring[100];
	struct tm *tm;
	time_t t;
	char *ptr;

	t = time(NULL);
	tm = localtime(\*[Am]t);
	(void)setlocale(LC_ALL, "");
	ptr = nl_langinfo(D_T_FMT);
	strftime(datestring, sizeof(datestring), ptr, tm);
	printf("%s\en", datestring);
	return (0);
}
.Ed
.\" .Pp
.\" The following example uses
.\" .Fn nl_langinfo
.\" to obtain the setting of the currency symbol for the current locale:
.\" .Pp
.\" .Bd
.\" 	#include \*[Lt]langinfo.h\*[Gt]
.\" 	#include \*[Lt]locale.h\*[Gt]
.\" 	int main(void)
.\" 	{
.\" 		char *ptr;
.\" 		(void)setlocale(LC_ALL, "");
.\" 		ptr = nl_langinfo(CRNCYSTR);
.\" 		printf("%s", ptr);
.\" 	}
.\" .Ed
.Sh SEE ALSO
.Xr setlocale 3 ,
.Xr tm 3 ,
.Xr nls 7
.Sh STANDARDS
The
.Fn nl_langinfo
function conforms to
.St -p1003.1-2001 .
.Sh HISTORY
The
.Fn nl_langinfo
function appeared in
.Nx 1.0 .