LOCALEDEF(1)LOCALEDEF(1)NAMElocaledef - define locale environment
SYNOPSISlocaledef [-c] [-v] [-U] [-f charmap]
[-w widthfile] [-i sourcefile]
[-u code_set_name] localename
The localedef utility converts source definitions for locale categories
into a format usable by the functions and utilities whose operational
behavior is determined by the setting of the locale environment vari‐
ables; see environ(5).
The utility reads source definitions for one or more locale categories
belonging to the same locale from the file named in the -i option (if
specified) or from standard input.
Each category source definition is identified by the corresponding
environment variable name and terminated by an END category-name state‐
ment. The following categories are supported.
Defines character classification and case conversion.
Defines collation rules.
Defines the format and symbols used in formatting of
Defines the decimal delimiter, grouping and grouping
symbol for non-monetary numeric editing.
Defines the format and content of date and time informa‐
Defines the format and values of affirmative and nega‐
The following options are supported:
Creates permanent output even if warning mes‐
sages have been issued.
Emit verbose debugging output on standard out‐
Ignore the presence of character symbols that
have no maching character definition. This
facilitates the use of a common locale defini‐
tion file to be used across multiple encodings,
even when some symbols are not present in a
Support for this option is an illumos extension.
Specifies the pathname of a file containing a
mapping of character symbols and collating ele‐
ment symbols to actual character encodings. This
option must be specified if symbolic names
(other than collating symbols defined in a col‐
lating-symbol keyword) are used. If the -f
option is not present, the default character
mapping will be used.
The path name of the file containing character
screen width definitions. If not supplied, then
default screen widths will be assumed, which
will generally not account for East Asian encod‐
ings requiring more than a single character cell
to display, nor for combining or accent marks
that occupy no additional screen width.
The support for width files is an illumos exten‐
The path name of a file containing the source
definitions. If this option is not present,
source definitions will be read from standard
Specifies the name of a codeset used as the tar‐
get mapping of character symbols and collating
element symbols whose encoding values are
defined in terms of the ISO/IEC 10646-1: 2000
standard position constant values. See NOTES.
The following operand is supported:
Identifies the locale. If the name contains one or more
slash characters, localename will be interpreted as a
path name where the created locale definitions will be
stored. This capability may be restricted to users with
appropriate privileges. (As a consequence of specifying
one localename, although several categories can be pro‐
cessed in one execution, only categories belonging to the
same locale can be processed.)
OUTPUTlocaledef creates a directory of files that represents the locale's
data. The contants of this directory should generally be copied into
the appropriate subdirectory of /usr/lib/locale in order the defini‐
tions to be visible to programs linked with libc.
See environ(5) for definitions of the following environment variables
that affect the execution of localedef: LANG, LC_ALL, LC_COLLATE,
LC_CTYPE, LC_MESSAGES, and NLSPATH.
The following exit values are returned:
No errors occurred and the locales were successfully created.
Warnings occurred and the locales were successfully created.
The locale specification exceeded implementation limits or the
coded character set or sets used were not supported by the imple‐
mentation, and no locale was created.
Warnings or errors occurred and no output was created.
If an error is detected, no permanent output will be created.
The directory containing locale data.
See attributes(5) for descriptions of the following attributes:
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
│Interface Stability │ Standard │
SEE ALSOlocale(1), iconv_open(3C), nl_langinfo(3C), strftime(3C),
attributes(5), charmap(5), environ(5), extensions(5), locale(5), stan‐
If warnings occur, permanent output will be created if the -c option
was specified. The following conditions will cause warning messages to
o If a symbolic name not found in the charmap file is used for
the descriptions of the LC_CTYPE or LC_COLLATE categories
(for other categories, this will be an error condition).
o If optional keywords not supported by the implementation are
present in the source.
When the -u option is used, the code_set_name option-argument is inter‐
preted as a name of a codeset to which the ISO/IEC 10646-1: 2000 stan‐
dard position constant values are converted. Both the ISO/IEC 10646-1:
2000 standard position constant values and other formats (decimal,
hexadecimal, or octal) are valid as encoding values within the charmap
file. The codeset can be any codeset that is supported by the
iconv_open(3C) function on the system.
When conflicts occur between the charmap specification of
code_set_name, mb_cur_max, or mb_cur_min and the corresponding value
for the codeset represented by the -u option-argument code_set_name,
the localedef utility fails as an error.
When conflicts occur between the charmap encoding values specified for
symbolic names of characters of the portable character set and the
character encoding values defined by the US-ASCII, the result is
Aug 24, 2013 LOCALEDEF(1)