LOCALEDEF(1P) POSIX Programmer's Manual LOCALEDEF(1P)
PROLOG
This manual page is part of the POSIX Programmer's Manual. The Linux implementation of
this interface may differ (consult the corresponding Linux manual page for details of
Linux behavior), or the interface may not be implemented on Linux.
NAME
localedef - define locale environment
SYNOPSIS
localedef [-c][-f charmap][-i sourcefile][-u code_set_name] name
DESCRIPTION
The localedef utility shall convert source definitions for locale categories into a format
usable by the functions and utilities whose operational behavior is determined by the set-
ting of the locale environment variables defined in the Base Definitions volume of
IEEE Std 1003.1-2001, Chapter 7, Locale. It is implementation-defined whether users have
the capability to create new locales, in addition to those supplied by the implementation.
If the symbolic constant POSIX2_LOCALEDEF is defined, the system supports the creation of
new locales. On XSI-conformant systems, the symbolic constant POSIX2_LOCALEDEF shall be
defined.
The utility shall read 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.
The name operand identifies the target locale. The utility shall support the creation of
public, or generally accessible locales, as well as private, or restricted-access locales.
Implementations may restrict the capability to create or modify public locales to users
with the appropriate privileges.
Each category source definition shall be identified by the corresponding environment vari-
able name and terminated by an END category-name statement. The following categories shall
be supported. In addition, the input may contain source for implementation-defined cate-
gories.
LC_CTYPE
Defines character classification and case conversion.
LC_COLLATE
Defines collation rules.
LC_MONETARY
Defines the format and symbols used in formatting of monetary information.
LC_NUMERIC
Defines the decimal delimiter, grouping, and grouping symbol for non-monetary
numeric editing.
LC_TIME
Defines the format and content of date and time information.
LC_MESSAGES
Defines the format and values of affirmative and negative responses.
OPTIONS
The localedef utility shall conform to the Base Definitions volume of
IEEE Std 1003.1-2001, Section 12.2, Utility Syntax Guidelines.
The following options shall be supported:
-c Create permanent output even if warning messages have been issued.
-f charmap
Specify the pathname of a file containing a mapping of character symbols and col-
lating element symbols to actual character encodings. The format of the charmap is
described in the Base Definitions volume of IEEE Std 1003.1-2001, Section 6.4,
Character Set Description File. The application shall ensure that this option is
specified if symbolic names (other than collating symbols defined in a collating-
symbol keyword) are used. If the -f option is not present, an implementation-
defined character mapping shall be used.
-i inputfile
The pathname of a file containing the source definitions. If this option is not
present, source definitions shall be read from standard input. The format of the
inputfile is described in the Base Definitions volume of IEEE Std 1003.1-2001, Sec-
tion 7.3, Locale Definition.
-u code_set_name
Specify the name of a codeset used as the target 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.
OPERANDS
The following operand shall be supported:
name Identifies the locale; see the Base Definitions volume of IEEE Std 1003.1-2001,
Chapter 7, Locale for a description of the use of this name. If the name contains
one or more slash characters, name shall be interpreted as a pathname where the
created locale definitions shall be stored. If name does not contain any slash
characters, the interpretation of the name is implementation-defined and the locale
shall be public. This capability may be restricted to users with appropriate privi-
leges. (As a consequence of specifying one name, although several categories can be
processed in one execution, only categories belonging to the same locale can be
processed.)
STDIN
Unless the -i option is specified, the standard input shall be a text file containing one
or more locale category source definitions, as described in the Base Definitions volume of
IEEE Std 1003.1-2001, Section 7.3, Locale Definition. When lines are continued using the
escape character mechanism, there is no limit to the length of the accumulated continued
line.
INPUT FILES
The character set mapping file specified as the charmap option-argument is described in
the Base Definitions volume of IEEE Std 1003.1-2001, Section 6.4, Character Set Descrip-
tion File. If a locale category source definition contains a copy statement, as defined
in the Base Definitions volume of IEEE Std 1003.1-2001, Chapter 7, Locale, and the copy
statement names a valid, existing locale, then localedef shall behave as if the source
definition had contained a valid category source definition for the named locale.
ENVIRONMENT VARIABLES
The following environment variables shall affect the execution of localedef:
LANG Provide a default value for the internationalization variables that are unset or
null. (See the Base Definitions volume of IEEE Std 1003.1-2001, Section 8.2, Inter-
nationalization Variables for the precedence of internationalization variables used
to determine the values of locale categories.)
LC_ALL If set to a non-empty string value, override the values of all the other interna-
tionalization variables.
LC_COLLATE
(This variable has no affect on localedef; the POSIX locale is used for this cate-
gory.)
LC_CTYPE
Determine the locale for the interpretation of sequences of bytes of text data as
characters (for example, single-byte as opposed to multi-byte characters in argu-
ments and input files). This variable has no affect on the processing of localedef
input data; the POSIX locale is used for this purpose, regardless of the value of
this variable.
LC_MESSAGES
Determine the locale that should be used to affect the format and contents of diag-
nostic messages written to standard error.
NLSPATH
Determine the location of message catalogs for the processing of LC_MESSAGES .
ASYNCHRONOUS EVENTS
Default.
STDOUT
The utility shall report all categories successfully processed, in an unspecified format.
STDERR
The standard error shall be used only for diagnostic messages.
OUTPUT FILES
The format of the created output is unspecified. If the name operand does not contain a
slash, the existence of an output file for the locale is unspecified.
EXTENDED DESCRIPTION
When the -u option is used, the code_set_name option-argument shall be interpreted as an
implementation-defined name of a codeset to which the ISO/IEC 10646-1:2000 standard posi-
tion constant values shall be converted via an implementation-defined method. Both the
ISO/IEC 10646-1:2000 standard position constant values and other formats (decimal, hexa-
decimal, or octal) shall be valid as encoding values within the charmap file. The codeset
represented by the implementation-defined name can be any codeset that is supported by the
implementation.
When conflicts occur between the charmap specification of <code_set_name>, <mb_cur_max>,
or <mb_cur_min> and the implementation-defined interpretation of these respective items
for the codeset represented by the -u option-argument code_set_name, the result is unspec-
ified.
When conflicts occur between the charmap encoding values specified for symbolic names of
characters of the portable character set and the implementation-defined assignment of
character encoding values, the result is unspecified.
If a non-printable character in the charmap has a width specified that is not -1,
localedef shall generate a warning.
EXIT STATUS
The following exit values shall be returned:
0 No errors occurred and the locales were successfully created.
1 Warnings occurred and the locales were successfully created.
2 The locale specification exceeded implementation limits or the coded character set
or sets used were not supported by the implementation, and no locale was created.
3 The capability to create new locales is not supported by the implementation.
>3 Warnings or errors occurred and no output was created.
CONSEQUENCES OF ERRORS
If an error is detected, no permanent output shall be created.
If warnings occur, permanent output shall be created if the -c option was specified. The
following conditions shall cause warning messages to be issued:
* 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 shall be an error condi-
tion).
* If the number of operands to the order keyword exceeds the {COLL_WEIGHTS_MAX} limit.
* If optional keywords not supported by the implementation are present in the source.
* If a non-printable character has a width specified other than -1.
Other implementation-defined conditions may also cause warnings.
The following sections are informative.
APPLICATION USAGE
The charmap definition is optional, and is contained outside the locale definition. This
allows both completely self-defined source files, and generic sources (applicable to more
than one codeset). To aid portability, all charmap definitions must use the same symbolic
names for the portable character set. As explained in the Base Definitions volume of
IEEE Std 1003.1-2001, Section 6.4, Character Set Description File, it is implementation-
defined whether or not users or applications can provide additional character set descrip-
tion files. Therefore, the -f option might be operable only when an implementation-defined
charmap is named.
EXAMPLES
None.
RATIONALE
The output produced by the localedef utility is implementation-defined. The name operand
is used to identify the specific locale. (As a consequence, although several categories
can be processed in one execution, only categories belonging to the same locale can be
processed.)
FUTURE DIRECTIONS
None.
SEE ALSO
locale, the Base Definitions volume of IEEE Std 1003.1-2001, Section 7.3, Locale Defini-
tion
COPYRIGHT
Portions of this text are reprinted and reproduced in electronic form from IEEE Std
1003.1, 2003 Edition, Standard for Information Technology -- Portable Operating System
Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003 by
the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the
event of any discrepancy between this version and the original IEEE and The Open Group
Standard, the original IEEE and The Open Group Standard is the referee document. The orig-
inal Standard can be obtained online at http://www.opengroup.org/unix/online.html .
IEEE/The Open Group 2003 LOCALEDEF(1P)
Man(1) output converted with
man2html