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
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
|
.\" Copyright (C) 2014 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.TH locale 1 2023-03-30 "Linux man-pages 6.04"
.SH NAME
locale \- get locale-specific information
.SH SYNOPSIS
.nf
.BR locale " [\fIoption\fP]"
.BR locale " [\fIoption\fP] " \-a
.BR locale " [\fIoption\fP] " \-m
.BR locale " [\fIoption\fP] \fIname\fP..."
.fi
.SH DESCRIPTION
The
.B locale
command displays information about the current locale, or all locales,
on standard output.
.PP
When invoked without arguments,
.B locale
displays the current locale settings for each locale category (see
.BR locale (5)),
based on the settings of the environment variables that control the locale
(see
.BR locale (7)).
Values for variables set in the environment are printed without double
quotes, implied values are printed with double quotes.
.PP
If either the
.B \-a
or the
.B \-m
option (or one of their long-format equivalents) is specified,
the behavior is as follows:
.TP
.BR \-a ", " \-\-all\-locales
Display a list of all available locales.
The
.B \-v
option causes the
.B LC_IDENTIFICATION
metadata about each locale to be included in the output.
.TP
.BR \-m ", " \-\-charmaps
Display the available charmaps (character set description files).
To display the current character set for the locale, use
\fBlocale \-c charmap\fR.
.PP
The
.B locale
command can also be provided with one or more arguments,
which are the names of locale keywords (for example,
.IR date_fmt ,
.IR ctype\-class\-names ,
.IR yesexpr ,
or
.IR decimal_point )
or locale categories (for example,
.B LC_CTYPE
or
.BR LC_TIME ).
For each argument, the following is displayed:
.IP \[bu] 3
For a locale keyword, the value of that keyword to be displayed.
.IP \[bu]
For a locale category,
the values of all keywords in that category are displayed.
.PP
When arguments are supplied, the following options are meaningful:
.TP
.BR \-c ", " \-\-category\-name
For a category name argument,
write the name of the locale category
on a separate line preceding the list of keyword values for that category.
.IP
For a keyword name argument,
write the name of the locale category for this keyword
on a separate line preceding the keyword value.
.IP
This option improves readability when multiple name arguments are specified.
It can be combined with the
.B \-k
option.
.TP
.BR \-k ", " \-\-keyword\-name
For each keyword whose value is being displayed,
include also the name of that keyword,
so that the output has the format:
.IP
.in +4n
.EX
.IR keyword =\[dq] value \[dq]
.EE
.in
.PP
The
.B locale
command also knows about the following options:
.TP
.BR \-v ", " \-\-verbose
Display additional information for some command-line option and argument
combinations.
.TP
.BR \-? ", " \-\-help
Display a summary of command-line options and arguments and exit.
.TP
.B \-\-usage
Display a short usage message and exit.
.TP
.BR \-V ", " \-\-version
Display the program version and exit.
.SH FILES
.TP
.I /usr/lib/locale/locale\-archive
Usual default locale archive location.
.TP
.I /usr/share/i18n/locales
Usual default path for locale definition files.
.SH STANDARDS
POSIX.1-2008.
.SH HISTORY
POSIX.1-2001.
.SH EXAMPLES
.EX
$ \fBlocale\fP
LANG=en_US.UTF\-8
LC_CTYPE="en_US.UTF\-8"
LC_NUMERIC="en_US.UTF\-8"
LC_TIME="en_US.UTF\-8"
LC_COLLATE="en_US.UTF\-8"
LC_MONETARY="en_US.UTF\-8"
LC_MESSAGES="en_US.UTF\-8"
LC_PAPER="en_US.UTF\-8"
LC_NAME="en_US.UTF\-8"
LC_ADDRESS="en_US.UTF\-8"
LC_TELEPHONE="en_US.UTF\-8"
LC_MEASUREMENT="en_US.UTF\-8"
LC_IDENTIFICATION="en_US.UTF\-8"
LC_ALL=
$ \fBlocale date_fmt\fP
%a %b %e %H:%M:%S %Z %Y
$ \fBlocale \-k date_fmt\fP
date_fmt="%a %b %e %H:%M:%S %Z %Y"
$ \fBlocale \-ck date_fmt\fP
LC_TIME
date_fmt="%a %b %e %H:%M:%S %Z %Y"
$ \fBlocale LC_TELEPHONE\fP
+%c (%a) %l
(%a) %l
11
1
UTF\-8
$ \fBlocale \-k LC_TELEPHONE\fP
tel_int_fmt="+%c (%a) %l"
tel_dom_fmt="(%a) %l"
int_select="11"
int_prefix="1"
telephone\-codeset="UTF\-8"
.EE
.PP
The following example compiles a custom locale from the
.I ./wrk
directory with the
.BR localedef (1)
utility under the
.I $HOME/.locale
directory, then tests the result with the
.BR date (1)
command, and then sets the environment variables
.B LOCPATH
and
.B LANG
in the shell profile file so that the custom locale will be used in the
subsequent user sessions:
.PP
.EX
$ \fBmkdir \-p $HOME/.locale\fP
$ \fBI18NPATH=./wrk/ localedef \-f UTF\-8 \-i fi_SE $HOME/.locale/fi_SE.UTF\-8\fP
$ \fBLOCPATH=$HOME/.locale LC_ALL=fi_SE.UTF\-8 date\fP
$ \fBecho "export LOCPATH=\e$HOME/.locale" >> $HOME/.bashrc\fP
$ \fBecho "export LANG=fi_SE.UTF\-8" >> $HOME/.bashrc\fP
.EE
.SH SEE ALSO
.BR localedef (1),
.BR charmap (5),
.BR locale (5),
.BR locale (7)
|