diff options
Diffstat (limited to 'usr/src/man/man7/locale.7')
-rw-r--r-- | usr/src/man/man7/locale.7 | 2463 |
1 files changed, 2463 insertions, 0 deletions
diff --git a/usr/src/man/man7/locale.7 b/usr/src/man/man7/locale.7 new file mode 100644 index 0000000000..a99304653b --- /dev/null +++ b/usr/src/man/man7/locale.7 @@ -0,0 +1,2463 @@ +.\" +.\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for +.\" permission to reproduce portions of its copyrighted documentation. +.\" Original documentation from The Open Group can be obtained online at +.\" http://www.opengroup.org/bookstore/. +.\" +.\" The Institute of Electrical and Electronics Engineers and The Open +.\" Group, have given us permission to reprint portions of their +.\" documentation. +.\" +.\" In the following statement, the phrase ``this text'' refers to portions +.\" of the system documentation. +.\" +.\" Portions of this text are reprinted and reproduced in electronic form +.\" in the SunOS Reference Manual, from IEEE Std 1003.1, 2004 Edition, +.\" Standard for Information Technology -- Portable Operating System +.\" Interface (POSIX), The Open Group Base Specifications Issue 6, +.\" Copyright (C) 2001-2004 by the Institute of Electrical and Electronics +.\" Engineers, Inc and The Open Group. In the event of any discrepancy +.\" between these versions and the original IEEE and The Open Group +.\" Standard, the original IEEE and The Open Group Standard is the referee +.\" document. The original Standard can be obtained online at +.\" http://www.opengroup.org/unix/online.html. +.\" +.\" This notice shall appear on any product containing this material. +.\" +.\" The contents of this file are subject to the terms of the +.\" Common Development and Distribution License (the "License"). +.\" You may not use this file except in compliance with the License. +.\" +.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +.\" or http://www.opensolaris.org/os/licensing. +.\" See the License for the specific language governing permissions +.\" and limitations under the License. +.\" +.\" When distributing Covered Code, include this CDDL HEADER in each +.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. +.\" If applicable, add the following below this CDDL HEADER, with the +.\" fields enclosed by brackets "[]" replaced with your own identifying +.\" information: Portions Copyright [yyyy] [name of copyright owner] +.\" +.\" +.\" Copyright (c) 1992, X/Open Company Limited. All Rights Reserved. +.\" Portions Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved. +.\" +.TH LOCALE 7 "May 16, 2020" +.SH NAME +locale \- subset of a user's environment that depends on language and cultural +conventions +.SH DESCRIPTION +A \fBlocale\fR is the definition of the subset of a user's environment that +depends on language and cultural conventions. It is made up from one or more +categories. Each category is identified by its name and controls specific +aspects of the behavior of components of the system. Category names correspond +to the following environment variable names: +.sp +.ne 2 +.na +\fB\fBLC_CTYPE\fR\fR +.ad +.RS 15n +Character classification and case conversion. +.RE + +.sp +.ne 2 +.na +\fB\fBLC_COLLATE\fR\fR +.ad +.RS 15n +Collation order. +.RE + +.sp +.ne 2 +.na +\fB\fBLC_TIME\fR\fR +.ad +.RS 15n +Date and time formats. +.RE + +.sp +.ne 2 +.na +\fB\fBLC_NUMERIC\fR\fR +.ad +.RS 15n +Numeric formatting. +.RE + +.sp +.ne 2 +.na +\fB\fBLC_MONETARY\fR\fR +.ad +.RS 15n +Monetary formatting. +.RE + +.sp +.ne 2 +.na +\fB\fBLC_MESSAGES\fR\fR +.ad +.RS 15n +Formats of informative and diagnostic messages and interactive responses. +.RE + +.sp +.LP +The standard utilities base their behavior on the current locale, as defined +in the ENVIRONMENT VARIABLES section for each utility. The behavior of some of +the C-language functions will also be modified based on the current locale, as +defined by the last call to \fBsetlocale\fR(3C). +.sp +.LP +Locales other than those supplied by the implementation can be created by the +application via the \fBlocaledef\fR(1) utility. The value that is used to +specify a locale when using environment variables will be the string specified +as the \fIname\fR operand to \fBlocaledef\fR when the locale was created. The +strings "C" and "POSIX" are reserved as identifiers for the POSIX locale. +.sp +.LP +Applications can select the desired locale by invoking the \fBsetlocale()\fR +function with the appropriate value. If the function is invoked with an empty +string, such as: +.sp +.in +2 +.nf +setlocale(LC_ALL, ""); +.fi +.in -2 + +.sp +.LP +the value of the corresponding environment variable is used. If the environment +variable is unset or is set to the empty string, the \fBsetlocale()\fR +function sets the appropriate environment. +.SS "Locale Definition" +Locales can be described with the file format accepted by the \fBlocaledef\fR +utility. +.sp +.LP +The locale definition file must contain one or more locale category source +definitions, and must not contain more than one definition for the same locale +category. +.sp +.LP +A category source definition consists of a category header, a category body and +a category trailer. A category header consists of the character string naming +of the category, beginning with the characters \fBLC_\fR. The category trailer +consists of the string \fBEND\fR, followed by one or more blank characters and +the string used in the corresponding category header. +.sp +.LP +The category body consists of one or more lines of text. Each line contains an +identifier, optionally followed by one or more operands. Identifiers are either +keywords, identifying a particular locale element, or collating elements. Each +keyword within a locale must have a unique name (that is, two categories cannot +have a commonly-named keyword). No keyword can start with the characters +\fBLC_\fR. Identifiers must be separated from the operands by one or more blank +characters. +.sp +.LP +Operands must be characters, collating elements, or strings of characters. +Strings must be enclosed in double-quotes (\fB"\fR). Literal double-quotes +within strings must be preceded by the <\fIescape character\fR>, as described +below. When a keyword is followed by more than one operand, the operands must +be separated by semicolons (\fB;\fR). Blank characters are allowed both before +and after a semicolon. +.sp +.LP +The first category header in the file can be preceded by a line modifying the +comment character. It has the following format, starting in column 1: +.sp +.in +2 +.nf +"comment_char %c\en",<\fIcomment character\fR> +.fi +.in -2 + +.sp +.LP +The comment character defaults to the number sign (\fB#\fR). Blank lines and +lines containing the <\fIcomment character\fR> in the first position are +ignored. +.sp +.LP +The first category header in the file can be preceded by a line modifying the +escape character to be used in the file. It has the following format, starting +in column 1: +.sp +.in +2 +.nf +"escape_char %c\en",<\fIescape character\fR> +.fi +.in -2 +.sp + +.sp +.LP +The escape character defaults to backslash. +.sp +.LP +A line can be continued by placing an escape character as the last character on +the line; this continuation character will be discarded from the input. +Although the implementation need not accept any one portion of a continued line +with a length exceeding \fB{LINE_MAX}\fR bytes, it places no limits on the +accumulated length of the continued line. Comment lines cannot be continued on +a subsequent line using an escaped newline character. +.sp +.LP +Individual characters, characters in strings, and collating elements must be +represented using symbolic names, as defined below. In addition, characters can +be represented using the characters themselves or as octal, hexadecimal or +decimal constants. When non-symbolic notation is used, the resultant locale +definitions will in many cases not be portable between systems. The left angle +bracket (\fB<\fR) is a reserved symbol, denoting the start of a symbolic name; +when used to represent itself it must be preceded by the escape character. The +following rules apply to character representation: +.RS +4 +.TP +1. +A character can be represented via a symbolic name, enclosed within angle +brackets \fB<\fR and \fB>\fR. The symbolic name, including the angle brackets, +must exactly match a symbolic name defined in the charmap file specified via +the \fBlocaledef\fR \fB-f\fR option, and will be replaced by a character value +determined from the value associated with the symbolic name in the charmap +file. The use of a symbolic name not found in the charmap file constitutes an +error, unless the category is \fBLC_CTYPE\fR or \fBLC_COLLATE\fR, in which +case it constitutes a warning condition (see \fBlocaledef\fR(1) for a +description of action resulting from errors and warnings). The specification of +a symbolic name in a \fBcollating-element\fR or \fBcollating-symbol\fR section +that duplicates a symbolic name in the charmap file (if present) is an error. +Use of the escape character or a right angle bracket within a symbolic name is +invalid unless the character is preceded by the escape character. +.sp +Example: +.sp +.in +2 +.nf +<C>;<c-cedilla> "<M><a><y>" +.fi +.in -2 +.sp + +.RE +.RS +4 +.TP +2. +A character can be represented by the character itself, in which case the +value of the character is implementation-dependent. Within a string, the +double-quote character, the escape character and the right angle bracket +character must be escaped (preceded by the escape character) to be interpreted +as the character itself. Outside strings, the characters +.sp +.in +2 +.nf +\fB, ; < >\fR \fIescape_char\fR +.fi +.in -2 +.sp + +must be escaped to be interpreted as the character itself. +.sp +Example: +.sp +.in +2 +.nf +c "May" +.fi +.in -2 +.sp + +.RE +.RS +4 +.TP +3. +A character can be represented as an octal constant. An octal constant is +specified as the escape character followed by two or more octal digits. Each +constant represents a byte value. Multi-byte values can be represented by +concatenated constants specified in byte order with the last constant +specifying the least significant byte of the character. +.sp +Example: +.sp +.in +2 +.nf +\e143;\e347;\e143\e150 "\e115\e141\e171" +.fi +.in -2 +.sp + +.RE +.RS +4 +.TP +4. +A character can be represented as a hexadecimal constant. A hexadecimal +constant is specified as the escape character followed by an \fBx\fR followed +by two or more hexadecimal digits. Each constant represents a byte value. +Multi-byte values can be represented by concatenated constants specified in +byte order with the last constant specifying the least significant byte of the +character. +.sp +Example: +.sp +.in +2 +.nf +\ex63;\exe7;\ex63\ex68 "\ex4d\ex61\ex79" +.fi +.in -2 +.sp + +.RE +.RS +4 +.TP +5. +A character can be represented as a decimal constant. A decimal constant is +specified as the escape character followed by a \fBd\fR followed by two or more +decimal digits. Each constant represents a byte value. Multi-byte values can be +represented by concatenated constants specified in byte order with the last +constant specifying the least significant byte of the character. +.sp +Example: +.sp +.in +2 +.nf +\ed99;\ed231;\ed99\ed104 "\ed77\ed97\ed121" +.fi +.in -2 +.sp + +Only characters existing in the character set for which the locale definition +is created can be specified, whether using symbolic names, the characters +themselves, or octal, decimal or hexadecimal constants. If a charmap file is +present, only characters defined in the charmap can be specified using octal, +decimal or hexadecimal constants. Symbolic names not present in the charmap +file can be specified and will be ignored, as specified under item 1 above. +.RE +.SS "LC_CTYPE" +The \fBLC_CTYPE\fR category defines character classification, case conversion +and other character attributes. In addition, a series of characters can be +represented by three adjacent periods representing an ellipsis symbol +(\fB\&...\fR). The ellipsis specification is interpreted as meaning that all +values between the values preceding and following it represent valid +characters. The ellipsis specification is valid only within a single encoded +character set, that is, within a group of characters of the same size. An +ellipsis is interpreted as including in the list all characters with an encoded +value higher than the encoded value of the character preceding the ellipsis and +lower than the encoded value of the character following the ellipsis. +.sp +.LP +Example: +.sp +.in +2 +.nf +\ex30;...;\ex39; +.fi +.in -2 +.sp + +.sp +.LP +includes in the character class all characters with encoded values between the +endpoints. +.sp +.LP +The following keywords are recognized. In the descriptions, the term +``automatically included'' means that it is not an error either to include or +omit any of the referenced characters. +.sp +.LP +The character classes \fBdigit\fR, \fBxdigit\fR, \fBlower\fR, \fBupper\fR, and +\fBspace\fR have a set of automatically included characters. These only need to +be specified if the character values (that is, encoding) differ from the +implementation default values. +.sp +.ne 2 +.na +\fB\fBupper\fR\fR +.ad +.RS 18n +Define characters to be classified as upper-case letters. +.sp +In the POSIX locale, the 26 upper-case letters are included: +.sp +.in +2 +.nf +A B C D E F G H I J K L M N O P Q R S T U V W X Y Z +.fi +.in -2 +.sp + +In a locale definition file, no character specified for the keywords +\fBcntrl\fR, \fBdigit\fR, \fBpunct\fR, or \fBspace\fR can be specified. The +upper-case letters \fBA\fR to \fBZ\fR are automatically included in this class. +.RE + +.sp +.ne 2 +.na +\fB\fBlower\fR\fR +.ad +.RS 18n +Define characters to be classified as lower-case letters. In the POSIX locale, +the 26 lower-case letters are included: +.sp +.in +2 +.nf +a b c d e f g h i j k l m n o p q r s t u v w x y z +.fi +.in -2 +.sp + +In a locale definition file, no character specified for the keywords +\fBcntrl\fR, \fBdigit\fR, \fBpunct\fR, or \fBspace\fR can be specified. The +lower-case letters \fBa\fR to \fBz\fR of the portable character set are +automatically included in this class. +.RE + +.sp +.ne 2 +.na +\fB\fBalpha\fR\fR +.ad +.RS 18n +Define characters to be classified as letters. +.sp +In the POSIX locale, all characters in the classes \fBupper\fR and \fBlower\fR +are included. +.sp +In a locale definition file, no character specified for the keywords +\fBcntrl\fR, \fBdigit\fR, \fBpunct\fR, or \fBspace\fR can be specified. +Characters classified as either \fBupper\fR or \fBlower\fR are automatically +included in this class. +.RE + +.sp +.ne 2 +.na +\fB\fBdigit\fR\fR +.ad +.RS 18n +Define the characters to be classified as numeric digits. +.sp +In the POSIX locale, only +.sp +.in +2 +.nf +0 1 2 3 4 5 6 7 8 9 +.fi +.in -2 +.sp + +are included. +.sp +In a locale definition file, only the digits \fB0\fR, \fB1\fR, \fB2\fR, +\fB3\fR, \fB4\fR, \fB5\fR, \fB6\fR, \fB7\fR, \fB8\fR, and \fB9\fR can be +specified, and in contiguous ascending sequence by numerical value. The digits +\fB0\fR to \fB9\fR of the portable character set are automatically included in +this class. +.sp +The definition of character class \fBdigit\fR requires that only ten +characters; the ones defining digits can be specified; alternative digits (for +example, Hindi or Kanji) cannot be specified here. +.RE + +.sp +.ne 2 +.na +\fB\fBalnum\fR\fR +.ad +.RS 18n +Define characters to be classified as letters and numeric digits. Only the +characters specified for the \fBalpha\fR and \fBdigit\fR keywords are +specified. Characters specified for the keywords \fBalpha\fR and \fBdigit\fR +are automatically included in this class. +.RE + +.sp +.ne 2 +.na +\fB\fBspace\fR\fR +.ad +.RS 18n +Define characters to be classified as white-space characters. +.sp +In the POSIX locale, at a minimum, the characters \fBSPACE\fR, \fBFORMFEED\fR, +\fBNEWLINE\fR, \fBCARRIAGE RETURN\fR, \fBTAB\fR, and \fBVERTICAL TAB\fR are +included. +.sp +In a locale definition file, no character specified for the keywords +\fBupper\fR, \fBlower\fR, \fBalpha\fR, \fBdigit\fR, \fBgraph\fR, or +\fBxdigit\fR can be specified. The characters \fBSPACE\fR, \fBFORMFEED\fR, +\fBNEWLINE\fR, \fBCARRIAGE RETURN\fR, \fBTAB\fR, and \fBVERTICAL TAB\fR of the +portable character set, and any characters included in the class \fBblank\fR +are automatically included in this class. +.RE + +.sp +.ne 2 +.na +\fB\fBcntrl\fR\fR +.ad +.RS 18n +Define characters to be classified as control characters. +.sp +In the POSIX locale, no characters in classes \fBalpha\fR or \fBprint\fR are +included. +.sp +In a locale definition file, no character specified for the keywords +\fBupper\fR, \fBlower\fR, \fBalpha\fR, \fBdigit\fR, \fBpunct\fR, \fBgraph\fR, +\fBprint\fR, or \fBxdigit\fR can be specified. +.RE + +.sp +.ne 2 +.na +\fB\fBpunct\fR\fR +.ad +.RS 18n +Define characters to be classified as punctuation characters. +.sp +In the POSIX locale, neither the space character nor any characters in classes +\fBalpha\fR, \fBdigit\fR, or \fBcntrl\fR are included. +.sp +In a locale definition file, no character specified for the keywords +\fBupper\fR, \fBlower\fR, \fBalpha\fR, \fBdigit\fR, \fBcntrl\fR, \fBxdigit\fR +or as the space character can be specified. +.RE + +.sp +.ne 2 +.na +\fB\fBgraph\fR\fR +.ad +.RS 18n +Define characters to be classified as printable characters, not including the +space character. +.sp +In the POSIX locale, all characters in classes \fBalpha\fR, \fBdigit\fR, and +\fBpunct\fR are included; no characters in class \fBcntrl\fR are included. +.sp +In a locale definition file, characters specified for the keywords \fBupper\fR, +\fBlower\fR, \fBalpha\fR, \fBdigit\fR, \fBxdigit\fR, and \fBpunct\fR are +automatically included in this class. No character specified for the keyword +\fBcntrl\fR can be specified. +.RE + +.sp +.ne 2 +.na +\fB\fBprint\fR\fR +.ad +.RS 18n +Define characters to be classified as printable characters, including the space +character. +.sp +In the POSIX locale, all characters in class \fBgraph\fR are included; no +characters in class \fBcntrl\fR are included. +.sp +In a locale definition file, characters specified for the keywords \fBupper\fR, +\fBlower\fR, \fBalpha\fR, \fBdigit\fR, \fBxdigit\fR, \fBpunct\fR, and the space +character are automatically included in this class. No character specified for +the keyword \fBcntrl\fR can be specified. +.RE + +.sp +.ne 2 +.na +\fB\fBxdigit\fR\fR +.ad +.RS 18n +Define the characters to be classified as hexadecimal digits. +.sp +In the POSIX locale, only: +.sp +.in +2 +.nf +0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f +.fi +.in -2 +.sp + +are included. +.sp +In a locale definition file, only the characters defined for the class +\fBdigit\fR can be specified, in contiguous ascending sequence by numerical +value, followed by one or more sets of six characters representing the +hexadecimal digits 10 to 15 inclusive, with each set in ascending order (for +example \fBA\fR, \fBB\fR, \fBC\fR, \fBD\fR, \fBE\fR, \fBF\fR, \fBa\fR, \fBb\fR, +\fBc\fR, \fBd\fR, \fBe\fR, \fBf\fR). The digits \fB0\fR to \fB9\fR, the +upper-case letters \fBA\fR to \fBF\fR and the lower-case letters \fBa\fR to +\fBf\fR of the portable character set are automatically included in this class. +.sp +The definition of character class \fBxdigit\fR requires that the characters +included in character class \fBdigit\fR be included here also. +.RE + +.sp +.ne 2 +.na +\fB\fBblank\fR\fR +.ad +.RS 18n +Define characters to be classified as blank characters. +.sp +In the POSIX locale, only the space and tab characters are included. +.sp +In a locale definition file, the characters space and tab are automatically +included in this class. +.RE + +.sp +.ne 2 +.na +\fB\fBcharclass\fR\fR +.ad +.RS 18n +Define one or more locale-specific character class names as strings separated +by semi-colons. Each named character class can then be defined subsequently in +the \fBLC_CTYPE\fR definition. A character class name consists of at least one +and at most \fB{CHARCLASS_NAME_MAX}\fR bytes of alphanumeric characters from +the portable filename character set. The first character of a character class +name cannot be a digit. The name cannot match any of the \fBLC_CTYPE\fR +keywords defined in this document. +.RE + +.sp +.ne 2 +.na +\fB\fBcharclass-name\fR\fR +.ad +.RS 18n +Define characters to be classified as belonging to the named locale-specific +character class. In the POSIX locale, the locale-specific named character +classes need not exist. If a class name is defined by a \fBcharclass\fR +keyword, but no characters are subsequently assigned to it, this is not an +error; it represents a class without any characters belonging to it. The +\fBcharclass-name\fR can be used as the \fIproperty\fR argument to the +\fBwctype\fR(3C) function, in regular expression and shell pattern-matching +bracket expressions, and by the \fBtr\fR(1) command. +.RE + +.sp +.ne 2 +.na +\fB\fBtoupper\fR\fR +.ad +.RS 18n +Define the mapping of lower-case letters to upper-case letters. +.sp +In the POSIX locale, at a minimum, the 26 lower-case characters: +.sp +.in +2 +.nf +a b c d e f g h i j k l m n o p q r s t u v w x y z +.fi +.in -2 +.sp + +are mapped to the corresponding 26 upper-case characters: +.sp +.in +2 +.nf +A B C D E F G H I J K L M N O P Q R S T U V W X Y Z +.fi +.in -2 +.sp + +In a locale definition file, the operand consists of character pairs, separated +by semicolons. The characters in each character pair are separated by a comma +and the pair enclosed by parentheses. The first character in each pair is the +lower-case letter, the second the corresponding upper-case letter. Only +characters specified for the keywords \fBlower\fR and \fBupper\fR can be +specified. The lower-case letters \fBa\fR to \fBz\fR, and their corresponding +upper-case letters \fBA\fR to \fBZ\fR, of the portable character set are +automatically included in this mapping, but only when the \fBtoupper\fR keyword +is omitted from the locale definition. +.RE + +.sp +.ne 2 +.na +\fB\fBtolower\fR\fR +.ad +.RS 18n +Define the mapping of upper-case letters to lower-case letters. +.sp +In the POSIX locale, at a minimum, the 26 upper-case characters: +.sp +.in +2 +.nf +A B C D E F G H I J K L M N O P Q R S T U V W X Y Z +.fi +.in -2 +.sp + +are mapped to the corresponding 26 lower-case characters: +.sp +.in +2 +.nf +a b c d e f g h i j k l m n o p q r s t u v w x y z +.fi +.in -2 +.sp + +In a locale definition file, the operand consists of character pairs, separated +by semicolons. The characters in each character pair are separated by a comma +and the pair enclosed by parentheses. The first character in each pair is the +upper-case letter, the second the corresponding lower-case letter. Only +characters specified for the keywords \fBlower\fR and \fBupper\fR can be +specified. If the \fBtolower\fR keyword is omitted from the locale definition, +the mapping will be the reverse mapping of the one specified for \fBtoupper\fR. +.RE + +.SS "LC_COLLATE" +The \fBLC_COLLATE\fR category provides a collation sequence definition for +numerous utilities (such as \fBsort\fR(1), \fBuniq\fR(1), and so forth), +regular expression matching (see \fBregex\fR(7)), and the \fBstrcoll\fR(3C), +\fBstrxfrm\fR(3C), \fBwcscoll\fR(3C), and \fBwcsxfrm\fR(3C) functions. +.sp +.LP +A collation sequence definition defines the relative order between collating +elements (characters and multi-character collating elements) in the locale. +This order is expressed in terms of collation values, that is, by assigning +each element one or more collation values (also known as collation weights). +The following capabilities are provided: +.RS +4 +.TP +1. +\fBMulti-character collating elements\fR. Specification of multi-character +collating elements (that is, sequences of two or more characters to be collated +as an entity). +.RE +.RS +4 +.TP +2. +\fBUser-defined ordering of collating elements\fR. Each collating element is +assigned a collation value defining its order in the character (or basic) +collation sequence. This ordering is used by regular expressions and pattern +matching and, unless collation weights are explicitly specified, also as the +collation weight to be used in sorting. +.RE +.RS +4 +.TP +3. +\fBMultiple weights and equivalence classes\fR. Collating elements can be +assigned one or more (up to the limit \fB{COLL_WEIGHTS_MAX}\fR \fB)\fR +collating weights for use in sorting. The first weight is hereafter referred to +as the primary weight. +.RE +.RS +4 +.TP +4. +\fBOne-to-Many mapping\fR. A single character is mapped into a string of +collating elements. +.RE +.RS +4 +.TP +5. +\fBEquivalence class definition\fR. Two or more collating elements have the +same collation value (primary weight). +.RE +.RS +4 +.TP +6. +\fBOrdering by weights\fR. When two strings are compared to determine their +relative order, the two strings are first broken up into a series of collating +elements. The elements in each successive pair of elements are then compared +according to the relative primary weights for the elements. If equal, and more +than one weight has been assigned, the pairs of collating elements are +recompared according to the relative subsequent weights, until either a pair of +collating elements compare unequal or the weights are exhausted. +.RE +.sp +.LP +The following keywords are recognized in a collation sequence definition. They +are described in detail in the following sections. +.sp +.ne 2 +.na +\fB\fBcopy\fR\fR +.ad +.RS 21n +Specify the name of an existing locale which is used as the definition of this +category. If this keyword is specified, no other keyword is specified. +.RE + +.sp +.ne 2 +.na +\fB\fBcollating-element\fR\fR +.ad +.RS 21n +Define a collating-element symbol representing a multi-character collating +element. This keyword is optional. +.RE + +.sp +.ne 2 +.na +\fB\fBcollating-symbol\fR\fR +.ad +.RS 21n +Define a collating symbol for use in collation order statements. This keyword +is optional. +.RE + +.sp +.ne 2 +.na +\fB\fBorder_start\fR\fR +.ad +.RS 21n +Define collation rules. This statement is followed by one or more collation +order statements, assigning character collation values and collation weights to +collating elements. +.RE + +.sp +.ne 2 +.na +\fB\fBorder_end\fR\fR +.ad +.RS 21n +Specify the end of the collation-order statements. +.RE + +.SS "collating-element \fIkeyword\fR" +In addition to the collating elements in the character set, the +\fBcollating-element\fR keyword is used to define multi-character collating +elements. The syntax is: +.sp +.in +2 +.nf +\fB"collating-element %s from \e"%s\e"\en",\fR<\fIcollating-symbol\fR>,<\fIstring\fR> +.fi +.in -2 + +.sp +.LP +The <\fIcollating-symbol\fR> operand is a symbolic name, enclosed between angle +brackets (\fB<\fR and \fB>\fR), and must not duplicate any symbolic name in the +current charmap file (if any), or any other symbolic name defined in this +collation definition. The string operand is a string of two or more characters +that collates as an entity. A <\fIcollating-element\fR> defined via this +keyword is only recognized with the \fBLC_COLLATE\fR category. +.sp +.LP +Example: +.br +.in +2 +\fBcollating-element\fR <\fBch\fR> from "<\fBc\fR><\fBh\fR>" +.in -2 +.br +.in +2 +\fBcollating-element\fR <\fBe-acute\fR> from "<\fBacute\fR><\fBe\fR>" +.in -2 +.br +.in +2 +\fBcollating-element\fR <\fBll\fR> from "\fBll\fR" +.in -2 +.SS "collating-symbol \fIkeyword\fR" +This keyword will be used to define symbols for use in collation sequence +statements; that is, between the \fBorder_start\fR and the \fBorder_end\fR +keywords. The syntax is: +.sp +.in +2 +.nf +\fB"collating-symbol %s\en",\fR<\fIcollating-symbol\fR> +.fi +.in -2 + +.sp +.LP +The \fB<\fR\fIcollating-symbol\fR\fB>\fR is a symbolic name, enclosed between +angle brackets (\fB<\fR and \fB>\fR), and must not duplicate any symbolic name +in the current charmap file (if any), or any other symbolic name defined in +this collation definition. +.sp +.LP +A \fBcollating-symbol\fR defined via this keyword is only recognized with the +\fBLC_COLLATE\fR category. +.sp +.LP +Example: +.br +.in +2 +\fBcollating-symbol\fR <\fBUPPER_CASE\fR> +.in -2 +.br +.in +2 +\fBcollating-symbol\fR <\fBHIGH\fR> +.in -2 +.sp +.LP +The \fBcollating-symbol\fR keyword defines a symbolic name that can be +associated with a relative position in the character order sequence. While such +a symbolic name does not represent any collating element, it can be used as a +weight. +.SS "order_start \fIkeyword\fR" +The \fBorder_start\fR keyword must precede collation order entries and also +defines the number of weights for this collation sequence definition and other +collation rules. +.sp +.LP +The syntax of the \fBorder_start\fR keyword is: +.sp +.in +2 +.nf +\fB"order_start %s;%s;...;%s\en",\fR<\fIsort-rules\fR>,<\fIsort-rules\fR> +.fi +.in -2 + +.sp +.LP +The operands to the \fBorder_start\fR keyword are optional. If present, the +operands define rules to be applied when strings are compared. The number of +operands define how many weights each element is assigned. If no operands are +present, one \fBforward\fR operand is assumed. If present, the first operand +defines rules to be applied when comparing strings using the first (primary) +weight; the second when comparing strings using the second weight, and so on. +Operands are separated by semicolons (\fB;\fR). Each operand consists of one or +more collation directives, separated by commas (\fB,\fR). If the number of +operands exceeds the \fB{COLL_WEIGHTS_MAX}\fR limit, the utility will issue a +warning message. The following directives will be supported: +.sp +.ne 2 +.na +\fB\fBforward\fR\fR +.ad +.RS 12n +Specifies that comparison operations for the weight level proceed from start of +string towards the end of string. +.RE + +.sp +.ne 2 +.na +\fB\fBbackward\fR\fR +.ad +.RS 12n +Specifies that comparison operations for the weight level proceed from end of +string towards the beginning of string. +.RE + +.sp +.ne 2 +.na +\fB\fBposition\fR\fR +.ad +.RS 12n +Specifies that comparison operations for the weight level will consider the +relative position of elements in the strings not subject to \fBIGNORE.\fR The +string containing an element not subject to \fBIGNORE\fR after the fewest +collating elements subject to \fBIGNORE\fR from the start of the compare will +collate first. If both strings contain a character not subject to \fBIGNORE\fR +in the same relative position, the collating values assigned to the elements +will determine the ordering. In case of equality, subsequent characters not +subject to \fBIGNORE\fR are considered in the same manner. +.RE + +.sp +.LP +The directives \fBforward\fR and \fBbackward\fR are mutually exclusive. +.sp +.LP +Example: +.sp +.in +2 +.nf +order_start forward;backward +.fi +.in -2 +.sp + +.sp +.LP +If no operands are specified, a single \fBforward\fR operand is assumed. +.SS "Collation Order" +The \fBorder_start\fR keyword is followed by collating identifier entries. The +syntax for the collating element entries is: +.sp +.in +2 +.nf +\fB"%s %s;%s;...;%s\en"\fR<\fIcollating-identifier\fR>,<\fIweight\fR>,<\fIweight\fR>\fB,...\fR +.fi +.in -2 + +.sp +.LP +Each \fIcollating-identifier\fR consists of either a character described in +\fBLocale Definition\fR above, a <\fIcollating-element\fR>, a +<\fIcollating-symbol\fR>, an ellipsis, or the special symbol \fBUNDEFINED\fR. +The order in which collating elements are specified determines the character +order sequence, such that each collating element compares less than the +elements following it. The \fBNUL\fR character compares lower than any other +character. +.sp +.LP +A <\fIcollating-element\fR> is used to specify multi-character collating +elements, and indicates that the character sequence specified via the +<\fIcollating-element\fR> is to be collated as a unit and in the relative order +specified by its place. +.sp +.LP +A <\fIcollating-symbol\fR> is used to define a position in the relative order +for use in weights. No weights are specified with a <\fIcollating-symbol\fR>. +.sp +.LP +The ellipsis symbol specifies that a sequence of characters will collate +according to their encoded character values. It is interpreted as indicating +that all characters with a coded character set value higher than the value of +the character in the preceding line, and lower than the coded character set +value for the character in the following line, in the current coded character +set, will be placed in the character collation order between the previous and +the following character in ascending order according to their coded character +set values. An initial ellipsis is interpreted as if the preceding line +specified the NUL character, and a trailing ellipsis as if the following line +specified the highest coded character set value in the current coded character +set. An ellipsis is treated as invalid if the preceding or following lines do +not specify characters in the current coded character set. The use of the +ellipsis symbol ties the definition to a specific coded character set and may +preclude the definition from being portable between implementations. +.sp +.LP +The symbol \fBUNDEFINED\fR is interpreted as including all coded character set +values not specified explicitly or via the ellipsis symbol. Such characters are +inserted in the character collation order at the point indicated by the symbol, +and in ascending order according to their coded character set values. If no +\fBUNDEFINED\fR symbol is specified, and the current coded character set +contains characters not specified in this section, the utility will issue a +warning message and place such characters at the end of the character collation +order. +.sp +.LP +The optional operands for each collation-element are used to define the +primary, secondary, or subsequent weights for the collating element. The first +operand specifies the relative primary weight, the second the relative +secondary weight, and so on. Two or more collation-elements can be assigned the +same weight; they belong to the same \fIequivalence class\fR if they have the +same primary weight. Collation behaves as if, for each weight level, elements +subject to \fBIGNORE\fR are removed, unless the \fBposition\fR collation +directive is specified for the corresponding level with the \fBorder_start\fR +keyword. Then each successive pair of elements is compared according to the +relative weights for the elements. If the two strings compare equal, the +process is repeated for the next weight level, up to the limit +{\fBCOLL_WEIGHTS_MAX\fR}. +.sp +.LP +Weights are expressed as characters described in \fBLocale Definition\fR +above, <\fIcollating-symbol\fR>s, <\fIcollating-element\fR>s, an ellipsis, or +the special symbol \fBIGNORE.\fR A single character, a <\fIcollating-symbol\fR> +or a <\fIcollating-element\fR> represent the relative position in the character +collating sequence of the character or symbol, rather than the character or +characters themselves. Thus, rather than assigning absolute values to weights, +a particular weight is expressed using the relative order value assigned to a +collating element based on its order in the character collation sequence. +.sp +.LP +One-to-many mapping is indicated by specifying two or more concatenated +characters or symbolic names. For example, if the character <\fBeszet\fR> is +given the string "<\fBs\fR><\fBs\fR>" as a weight, comparisons are performed as +if all occurrences of the character <\fBeszet\fR> are replaced by +<\fBs\fR><\fBs\fR> (assuming that <\fBs\fR> has the collating weight +<\fBs\fR>). If it is necessary to define <\fBeszet\fR> and <\fBs\fR><\fBs\fR> +as an equivalence class, then a collating element must be defined for the +string \fBss\fR. +.sp +.LP +All characters specified via an ellipsis will by default be assigned unique +weights, equal to the relative order of characters. Characters specified via an +explicit or implicit \fBUNDEFINED\fR special symbol will by default be assigned +the same primary weight (that is, belong to the same equivalence class). An +ellipsis symbol as a weight is interpreted to mean that each character in the +sequence has unique weights, equal to the relative order of their character in +the character collation sequence. The use of the ellipsis as a weight is +treated as an error if the collating element is neither an ellipsis nor the +special symbol \fBUNDEFINED\fR. +.sp +.LP +The special keyword \fBIGNORE\fR as a weight indicates that when strings are +compared using the weights at the level where \fBIGNORE\fR is specified, the +collating element is ignored; that is, as if the string did not contain the +collating element. In regular expressions and pattern matching, all characters +that are subject to \fBIGNORE\fR in their primary weight form an equivalence +class. +.sp +.LP +An empty operand is interpreted as the collating element itself. +.sp +.LP +For example, the order statement: +.sp +.in +2 +.nf +<a> <a>;<a> +.fi +.in -2 +.sp + +.sp +.LP +is equal to: +.sp +.in +2 +.nf +<a> +.fi +.in -2 +.sp + +.sp +.LP +An ellipsis can be used as an operand if the collating element was an ellipsis, +and is interpreted as the value of each character defined by the ellipsis. +.sp +.LP +The collation order as defined in this section defines the interpretation of +bracket expressions in regular expressions. +.sp +.LP +Example: +.sp + +.sp +.TS +l l +l l . +\fBorder_start\fR \fBforward;backward\fR +\fBUNDEFINED\fR \fBIGNORE;IGNORE\fR +\fB<LOW>\fR +\fB<space>\fR \fB<LOW>;<space>\fR +\fB\&.\|.\|.\fR \fB<LOW>;.\|.\|.\fR +\fB<a>\fR \fB<a>;<a>\fR +\fB<a-acute>\fR \fB<a>;<a-acute>\fR +\fB<a-grave>\fR \fB<a>;<a-grave>\fR +\fB<A>\fR \fB<a>;<A>\fR +\fB<A-acute>\fR \fB<a>;<A-acute>\fR +\fB<A-grave>\fR \fB<a>;<A-grave>\fR +\fB<ch>\fR \fB<ch>;<ch>\fR +\fB<Ch>\fR \fB<ch>;<Ch>\fR +\fB<s>\fR \fB<s>;<s>\fR +\fB<eszet>\fR \fB"<s><s>";"<eszet><eszet>"\fR +\fBorder_end\fR +.TE + +.sp +.LP +This example is interpreted as follows: +.RS +4 +.TP +1. +The \fBUNDEFINED\fR means that all characters not specified in this +definition (explicitly or via the ellipsis) are ignored for collation purposes; +for regular expression purposes they are ordered first. +.RE +.RS +4 +.TP +2. +All characters between <\fBspace\fR> and <\fBa\fR> have the same primary +equivalence class and individual secondary weights based on their ordinal +encoded values. +.RE +.RS +4 +.TP +3. +All characters based on the upper- or lower-case character \fBa\fR belong to +the same primary equivalence class. +.RE +.RS +4 +.TP +4. +The multi-character collating element <\fBch\fR> is represented by the +collating symbol <\fBch\fR> and belongs to the same primary equivalence class +as the multi-character collating element <\fBCh\fR>. +.RE +.SS "order_end \fIkeyword\fR" +The collating order entries must be terminated with an \fBorder_end\fR keyword. +.SS "LC_MONETARY" +The \fBLC_MONETARY\fR category defines the rules and symbols that are used to +format monetary numeric information. This information is available through the +\fBlocaleconv\fR(3C) function +.sp +.LP +The following items are defined in this category of the locale. The item names +are the keywords recognized by the \fBlocaledef\fR(1) utility when defining a +locale. They are also similar to the member names of the \fBlconv\fR structure +defined in <\fBlocale.h\fR>. The \fBlocaleconv\fR function returns +\fB{CHAR_MAX}\fR for unspecified integer items and the empty string (\fB""\fR) +for unspecified or size zero string items. +.sp +.LP +In a locale definition file the operands are strings. For some keywords, the +strings can contain only integers. Keywords that are not provided, string +values set to the empty string (\fB""\fR), or integer keywords set to \fB-1\fR, +are used to indicate that the value is not available in the locale. +.sp +.ne 2 +.na +\fB\fBint_curr_symbol\fR\fR +.ad +.RS 22n +The international currency symbol. The operand is a four-character string, with +the first three characters containing the alphabetic international currency +symbol in accordance with those specified in the ISO 4217 standard. The fourth +character is the character used to separate the international currency symbol +from the monetary quantity. +.RE + +.sp +.ne 2 +.na +\fB\fBcurrency_symbol\fR\fR +.ad +.RS 22n +The string used as the local currency symbol. +.RE + +.sp +.ne 2 +.na +\fB\fBmon_decimal_point\fR\fR +.ad +.RS 22n +The operand is a string containing the symbol that is used as the decimal +delimiter (radix character) in monetary formatted quantities. +.RE + +.sp +.ne 2 +.na +\fB\fBmon_thousands_sep\fR\fR +.ad +.RS 22n +The operand is a string containing the symbol that is used as a separator for +groups of digits to the left of the decimal delimiter in formatted monetary +quantities. +.RE + +.sp +.ne 2 +.na +\fB\fBmon_grouping\fR\fR +.ad +.RS 22n +Define the size of each group of digits in formatted monetary quantities. The +operand is a sequence of integers separated by semicolons. Each integer +specifies the number of digits in each group, with the initial integer defining +the size of the group immediately preceding the decimal delimiter, and the +following integers defining the preceding groups. If the last integer is not +\fB-1\fR, then the size of the previous group (if any) will be repeatedly used +for the remainder of the digits. If the last integer is \fB-1\fR, then no +further grouping will be performed. +.sp +The following is an example of the interpretation of the \fBmon_grouping\fR +keyword. Assuming that the value to be formatted is \fB123456789\fR and the +\fBmon_thousands_sep\fR is \fB\&'\fR, then the following table shows the +result. The third column shows the equivalent string in the ISO C standard that +would be used by the \fBlocaleconv\fR function to accommodate this grouping. +.sp +.in +2 +.nf +mon_grouping Formatted Value ISO C String + +3;-1 123456'789 "\e3\e177" +3 123'456'789 "\e3" +3;2;-1 1234'56'789 "\e3\e2\e177" +3;2 12'34'56'789 "\e3\e2" +-1 1234567898 "\e177" +.fi +.in -2 +.sp + +In these examples, the octal value of \fB{CHAR_MAX}\fR is 177. +.RE + +.sp +.ne 2 +.na +\fB\fBpositive_sign\fR\fR +.ad +.RS 22n +A string used to indicate a non-negative-valued formatted monetary quantity. +.RE + +.sp +.ne 2 +.na +\fB\fBnegative_sign\fR\fR +.ad +.RS 22n +A string used to indicate a negative-valued formatted monetary quantity. +.RE + +.sp +.ne 2 +.na +\fB\fBint_frac_digits\fR\fR +.ad +.RS 22n +An integer representing the number of fractional digits (those to the right of +the decimal delimiter) to be written in a formatted monetary quantity using +\fBint_curr_symbol\fR. +.RE + +.sp +.ne 2 +.na +\fB\fBfrac_digits\fR\fR +.ad +.RS 22n +An integer representing the number of fractional digits (those to the right of +the decimal delimiter) to be written in a formatted monetary quantity using +\fBcurrency_symbol\fR. +.RE + +.sp +.ne 2 +.na +\fB\fBp_cs_precedes\fR\fR +.ad +.RS 22n +In an application conforming to the SUSv3 standard, an integer set to \fB1\fR +if the \fBcurrency_symbol\fR precedes the value for a monetary quantity with a +non-negative value, and set to \fB0\fR if the symbol succeeds the value. +.sp +In an application \fBnot\fR conforming to the SUSv3 standard, an integer set to +\fB1\fR if the \fBcurrency_symbol\fR or \fBint_currency_symbol\fR precedes the +value for a monetary quantity with a non-negative value, and set to \fB0\fR if +the symbol succeeds the value. +.RE + +.sp +.ne 2 +.na +\fB\fBp_sep_by_space\fR\fR +.ad +.RS 22n +In an application conforming to the SUSv3 standard, an integer set to \fB0\fR +if no space separates the \fBcurrency_symbol\fR from the value for a monetary +quantity with a non-negative value, set to \fB1\fR if a space separates the +symbol from the value, and set to \fB2\fR if a space separates the symbol and +the sign string, if adjacent. +.sp +In an application \fBnot\fR conforming to the SUSv3 standard, an integer set to +\fB0\fR if no space separates the \fBcurrency_symbol\fR or +\fBint_curr_symbol\fR from the value for a monetary quantity with a +non-negative value, set to \fB1\fR if a space separates the symbol from the +value, and set to \fB2\fR if a space separates the symbol and the sign string, +if adjacent. +.RE + +.sp +.ne 2 +.na +\fB\fBn_cs_precedes\fR\fR +.ad +.RS 22n +In an application conforming to the SUSv3 standard, an integer set to \fB1\fR +if the \fBcurrency_symbol\fR precedes the value for a monetary quantity with a +negative value, and set to \fB0\fR if the symbol succeeds the value. +.sp +In an application \fBnot\fR conforming to the SUSv3 standard, an integer set to +\fB1\fR if the \fBcurrency_symbol\fR or \fBint_currency_symbol\fR precedes the +value for a monetary quantity with a negative value, and set to \fB0\fR if the +symbol succeeds the value. +.RE + +.sp +.ne 2 +.na +\fB\fBn_sep_by_space\fR\fR +.ad +.RS 22n +In an application conforming to the SUSv3 standard, an integer set to \fB0\fR +if no space separates the \fBcurrency_symbol\fR from the value for a monetary +quantity with a negative value, set to \fB1\fR if a space separates the symbol +from the value, and set to \fB2\fR if a space separates the symbol and the sign +string, if adjacent. +.sp +In an application \fBnot\fR conforming to the SUSv3 standard, an integer set to +\fB0\fR if no space separates the \fBcurrency_symbol\fR or +\fBint_curr_symbol\fR from the value for a monetary quantity with a negative +value, set to \fB1\fR if a space separates the symbol from the value, and set +to \fB2\fR if a space separates the symbol and the sign string, if adjacent. +.RE + +.sp +.ne 2 +.na +\fB\fBp_sign_posn\fR\fR +.ad +.RS 22n +An integer set to a value indicating the positioning of the \fBpositive_sign\fR +for a monetary quantity with a non-negative value. The following integer values +are recognized for both \fBp_sign_posn\fR and \fBn_sign_posn\fR: +.sp +In an application conforming to the SUSv3 standard: +.sp +.ne 2 +.na +\fB\fB0\fR\fR +.ad +.RS 5n +Parentheses enclose the quantity and the \fBcurrency_symbol\fR. +.RE + +.sp +.ne 2 +.na +\fB\fB1\fR\fR +.ad +.RS 5n +The sign string precedes the quantity and the \fBcurrency_symbol\fR. +.RE + +.sp +.ne 2 +.na +\fB\fB2\fR\fR +.ad +.RS 5n +The sign string succeeds the quantity and the \fBcurrency_symbol\fR. +.RE + +.sp +.ne 2 +.na +\fB\fB3\fR\fR +.ad +.RS 5n +The sign string precedes the \fBcurrency_symbol\fR. +.RE + +.sp +.ne 2 +.na +\fB\fB4\fR\fR +.ad +.RS 5n +The sign string succeeds the \fBcurrency_symbol\fR. +.RE + +In an application \fBnot\fR conforming to the SUSv3 standard: +.sp +.ne 2 +.na +\fB\fB0\fR\fR +.ad +.RS 5n +Parentheses enclose the quantity and the \fBcurrency_symbol\fR or +\fBint_curr_symbol\fR. +.RE + +.sp +.ne 2 +.na +\fB\fB1\fR\fR +.ad +.RS 5n +The sign string precedes the quantity and the \fBcurrency_symbol\fR or +\fBint_curr_symbol\fR. +.RE + +.sp +.ne 2 +.na +\fB\fB2\fR\fR +.ad +.RS 5n +The sign string succeeds the quantity and the \fBcurrency_symbol\fR or +\fBint_curr_symbol\fR. +.RE + +.sp +.ne 2 +.na +\fB\fB3\fR\fR +.ad +.RS 5n +The sign string precedes the \fBcurrency_symbol\fR or \fBint_curr_symbol\fR. +.RE + +.sp +.ne 2 +.na +\fB\fB4\fR\fR +.ad +.RS 5n +The sign string succeeds the \fBcurrency_symbol\fR or \fBint_curr_symbol\fR. +.RE + +.RE + +.sp +.ne 2 +.na +\fB\fBn_sign_posn\fR\fR +.ad +.RS 22n +An integer set to a value indicating the positioning of the \fBnegative_sign\fR +for a negative formatted monetary quantity. +.RE + +.sp +.ne 2 +.na +\fB\fBint_p_cs_precedes\fR\fR +.ad +.RS 22n +An integer set to \fB1\fR if the \fBint_curr_symbol\fR precedes the value for a +monetary quantity with a non-negative value, and set to \fB0\fR if the symbol +succeeds the value. +.RE + +.sp +.ne 2 +.na +\fB\fBint_n_cs_precedes\fR\fR +.ad +.RS 22n +An integer set to \fB1\fR if the \fBint_curr_symbol\fR precedes the value for a +monetary quantity with a negative value, and set to \fB0\fR if the symbol +succeeds the value. +.RE + +.sp +.ne 2 +.na +\fB\fBint_p_sep_by_space\fR\fR +.ad +.RS 22n +An integer set to \fB0\fR if no space separates the \fBint_curr_symbol\fR from +the value for a monetary quantity with a non-negative value, set to \fB1\fR if +a space separates the symbol from the value, and set to \fB2\fR if a space +separates the symbol and the sign string, if adjacent. +.RE + +.sp +.ne 2 +.na +\fB\fBint_n_sep_by_space\fR\fR +.ad +.RS 22n +An integer set to \fB0\fR if no space separates the \fBint_curr_symbol\fR from +the value for a monetary quantity with a negative value, set to \fB1\fR if a +space separates the symbol from the value, and set to \fB2\fR if a space +separates the symbol and the sign string, if adjacent. +.RE + +.sp +.ne 2 +.na +\fB\fBint_p_sign_posn\fR\fR +.ad +.RS 22n +An integer set to a value indicating the positioning of the \fBpositive_sign\fR +for a positive monetary quantity formatted with the international format. The +following integer values are recognized for \fBint_p_sign_posn\fR and +\fBint_n_sign_posn\fR: +.sp +.ne 2 +.na +\fB\fB0\fR\fR +.ad +.RS 5n +Parentheses enclose the quantity and the \fB\fR\fBint_curr_symbol\fR. +.RE + +.sp +.ne 2 +.na +\fB\fB1\fR\fR +.ad +.RS 5n +The sign string precedes the quantity and the \fBint_curr_symbol\fR. +.RE + +.sp +.ne 2 +.na +\fB\fB2\fR\fR +.ad +.RS 5n +The sign string precedes the quantity and the \fBint_curr_symbol\fR. +.RE + +.sp +.ne 2 +.na +\fB\fB3\fR\fR +.ad +.RS 5n +The sign string precedes the \fBint_curr_symbol\fR. +.RE + +.sp +.ne 2 +.na +\fB\fB4\fR\fR +.ad +.RS 5n +The sign string succeeds the \fBint_curr_symbol\fR. +.RE + +.RE + +.sp +.ne 2 +.na +\fB\fBint_n_sign_posn\fR\fR +.ad +.RS 22n +An integer set to a value indicating the positioning of the \fBnegative_sign\fR +for a negative monetary quantity formatted with the international format. +.RE + +.sp +.LP +The following table shows the result of various combinations: +.sp + +.sp +.TS +l l l l l l +l l l l l l . + \fBp_sep_by_space\fR + 2 1 0 +\fBp_cs_precedes\fR= 1 \fBp_sign_posn\fR= 0 \fB($1.25)\fR \fB($1.25)\fR \fB($1.25)\fR + \fBp_sign_posn\fR= 1 \fB+$1.25\fR \fB+$1.25\fR \fB+$1.25\fR + \fBp_sign_posn\fR= 2 \fB$1.25+\fR \fB$1.25+\fR \fB$1.25+\fR + \fBp_sign_posn\fR= 3 \fB+$1.25\fR \fB+$1.25\fR \fB+$1.25\fR + \fBp_sign_posn\fR= 4 \fB$+1.25\fR \fB$+1.25\fR \fB$+1.25\fR +\fBp_cs_precedes\fR= 0 \fBp_sign_posn\fR= 0 \fB(1.25 $)\fR \fB(1.25 $)\fR \fB(1.25$)\fR + \fBp_sign_posn\fR= 1 \fB+1.25 $\fR \fB+1.25 $\fR \fB+1.25$\fR + \fBp_sign_posn\fR= 2 \fB1.25$ +\fR \fB1.25 $+\fR \fB1.25$+\fR + \fBp_sign_posn\fR= 3 \fB1.25+ $\fR \fB1.25 +$\fR \fB1.25+$\fR + \fBp_sign_posn\fR= 4 \fB1.25$ +\fR \fB1.25 $+\fR \fB1.25$+\fR +.TE + +.sp +.LP +The monetary formatting definitions for the POSIX locale follow. The code +listing depicts the \fBlocaledef\fR(1) input, the table representing the same +information with the addition of \fBlocaleconv\fR(3C) and \fBnl_langinfo\fR(3C) +formats. All values are unspecified in the POSIX locale. +.sp +.in +2 +.nf +LC_MONETARY +# This is the POSIX locale definition for +# the LC_MONETARY category. +# +int_curr_symbol "" +currency_symbol "" +mon_decimal_point "" +mon_thousands_sep "" +mon_grouping -1 +positive_sign "" +negative_sign "" +int_frac_digits -1 +frac_digits -1 +p_cs_precedes -1 +p_sep_by_space -1 +n_cs_precedes -1 +n_sep_by_space -1 +p_sign_posn -1 +n_sign_posn -1 +int_p_cs_precedes -1 +int_p_sep_by_space -1 +int_n_cs_precedes -1 +int_n_sep_by_space -1 +int_p_sign_posn -1 +int_n_sign_posn -1 +# +END LC_MONETARY +.fi +.in -2 +.sp + +.sp +.LP +The entry \fBn/a\fR indicates that the value is not available in the POSIX +locale. +.SS "LC_NUMERIC" +The \fBLC_NUMERIC\fR category defines the rules and symbols that will be used +to format non-monetary numeric information. This information is available +through the \fBlocaleconv\fR(3C) function. +.sp +.LP +The following items are defined in this category of the locale. The item names +are the keywords recognized by the \fBlocaledef\fR utility when defining a +locale. They are also similar to the member names of the \fIlconv\fR structure +defined in <\fBlocale.h\fR>. The \fBlocaleconv()\fR function returns +\fB{CHAR_MAX}\fR for unspecified integer items and the empty string (\fB""\fR) +for unspecified or size zero string items. +.sp +.LP +In a locale definition file the operands are strings. For some keywords, the +strings only can contain integers. Keywords that are not provided, string +values set to the empty string (\fB""\fR), or integer keywords set to \fB-1\fR, +will be used to indicate that the value is not available in the locale. The +following keywords are recognized: +.sp +.ne 2 +.na +\fB\fBdecimal_point\fR\fR +.ad +.RS 17n +The operand is a string containing the symbol that is used as the decimal +delimiter (radix character) in numeric, non-monetary formatted quantities. This +keyword cannot be omitted and cannot be set to the empty string. In contexts +where standards limit the \fBdecimal_point\fR to a single byte, the result of +specifying a multi-byte operand is unspecified. +.RE + +.sp +.ne 2 +.na +\fB\fBthousands_sep\fR\fR +.ad +.RS 17n +The operand is a string containing the symbol that is used as a separator for +groups of digits to the left of the decimal delimiter in numeric, non-monetary +formatted monetary quantities. In contexts where standards limit the +\fBthousands_sep\fR to a single byte, the result of specifying a multi-byte +operand is unspecified. +.RE + +.sp +.ne 2 +.na +\fB\fBgrouping\fR\fR +.ad +.RS 17n +Define the size of each group of digits in formatted non-monetary quantities. +The operand is a sequence of integers separated by semicolons. Each integer +specifies the number of digits in each group, with the initial integer defining +the size of the group immediately preceding the decimal delimiter, and the +following integers defining the preceding groups. If the last integer is not +\fB\(mi1\fR, then the size of the previous group (if any) will be repeatedly +used for the remainder of the digits. If the last integer is \fB-1\fR, then no +further grouping will be performed. The non-monetary numeric formatting +definitions for the POSIX locale follow. The code listing depicts the +\fBlocaledef\fR input, the table representing the same information with the +addition of \fBlocaleconv\fR values, and \fBnl_langinfo\fR constants. +.sp +.in +2 +.nf +LC_NUMERIC +# This is the POSIX locale definition for +# the LC_NUMERIC category. +# +decimal_point "<period>" +thousands_sep "" +grouping -1 +# +END LC_NUMERIC +.fi +.in -2 +.sp + +.RE + +.sp + +.sp +.TS +l l l l l +l l l l l . + \fBPOSIX locale\fR \fBlanginfo\fR \fBlocaleconv()\fR \fBlocaledef\fR +\fBItem\fR \fBValue\fR \fBConstant\fR \fBValue\fR \fBValue\fR +_ +\fBdecimal_point\fR \fB"."\fR \fBRADIXCHAR\fR \fB"."\fR \fB\&.\fR +\fBthousands_sep\fR \fBn/a\fR \fBTHOUSEP\fR \fB""\fR \fB""\fR +\fBgrouping\fR \fBn/a\fR \fB-\fR \fB""\fR \fB\(mi1\fR +.TE + +.sp +.LP +The entry \fBn/a\fR indicates that the value is not available in the POSIX +locale. +.SS "LC_TIME" +The \fBLC_TIME\fR category defines the interpretation of the field descriptors +supported by \fBdate\fR(1) and affects the behavior of the \fBstrftime\fR(3C), +\fBwcsftime\fR(3C), \fBstrptime\fR(3C), and \fBnl_langinfo\fR(3C) functions. +Because the interfaces for C-language access and locale definition differ +significantly, they are described separately. For locale definition, the +following mandatory keywords are recognized: +.sp +.ne 2 +.na +\fB\fBabday\fR\fR +.ad +.RS 15n +Define the abbreviated weekday names, corresponding to the \fB%a\fR field +descriptor (conversion specification in the \fBstrftime()\fR, \fBwcsftime()\fR, +and \fBstrptime()\fR functions). The operand consists of seven +semicolon-separated strings, each surrounded by double-quotes. The first string +is the abbreviated name of the day corresponding to Sunday, the second the +abbreviated name of the day corresponding to Monday, and so on. +.RE + +.sp +.ne 2 +.na +\fB\fBday\fR\fR +.ad +.RS 15n +Define the full weekday names, corresponding to the \fB%A\fR field descriptor. +The operand consists of seven semicolon-separated strings, each surrounded by +double-quotes. The first string is the full name of the day corresponding to +Sunday, the second the full name of the day corresponding to Monday, and so on. +.RE + +.sp +.ne 2 +.na +\fB\fBabmon\fR\fR +.ad +.RS 15n +Define the abbreviated month names, corresponding to the \fB%b\fR field +descriptor. The operand consists of twelve semicolon-separated strings, each +surrounded by double-quotes. The first string is the abbreviated name of the +first month of the year (January), the second the abbreviated name of the +second month, and so on. +.RE + +.sp +.ne 2 +.na +\fB\fBmon\fR\fR +.ad +.RS 15n +Define the full month names, corresponding to the \fB%B\fR field descriptor. +The operand consists of twelve semicolon-separated strings, each surrounded by +double-quotes. The first string is the full name of the first month of the year +(January), the second the full name of the second month, and so on. +.RE + +.sp +.ne 2 +.na +\fB\fBd_t_fmt\fR\fR +.ad +.RS 15n +Define the appropriate date and time representation, corresponding to the +\fB%c\fR field descriptor. The operand consists of a string, and can contain +any combination of characters and field descriptors. In addition, the string +can contain the escape sequences \e\e, \fB\ea\fR, \fB\eb\fR, \fB\ef\fR, +\fB\en\fR, \fB\er\fR, \fB\et\fR, \fB\ev\fR\&. +.RE + +.sp +.ne 2 +.na +\fB\fBdate_fmt\fR\fR +.ad +.RS 15n +Define the appropriate date and time representation, corresponding to the +\fB%C\fR field descriptor. The operand consists of a string, and can contain +any combination of characters and field descriptors. In addition, the string +can contain the escape sequences \fB\e\e\fR, \fB\ea\fR, \fB\eb\fR, \fB\ef\fR, +\fB\en\fR, \fB\er\fR, \fB\et\fR, \fB\ev\fR\&. +.RE + +.sp +.ne 2 +.na +\fB\fBd_fmt\fR\fR +.ad +.RS 15n +Define the appropriate date representation, corresponding to the \fB%x\fR field +descriptor. The operand consists of a string, and can contain any combination +of characters and field descriptors. In addition, the string can contain the +escape sequences \fB\e\e\fR, \fB\ea\fR, \fB\eb\fR, \fB\ef\fR, \fB\en\fR, +\fB\er\fR, \fB\et\fR, \fB\ev\fR\&. +.RE + +.sp +.ne 2 +.na +\fB\fBt_fmt\fR\fR +.ad +.RS 15n +Define the appropriate time representation, corresponding to the \fB%X\fR field +descriptor. The operand consists of a string, and can contain any combination +of characters and field descriptors. In addition, the string can contain the +escape sequences \fB\e\e\fR, \fB\ea\fR, \fB\eb\fR, \fB\ef\fR, \fB\en\fR, +\fB\er\fR, \fB\et\fR, \fB\ev\fR\&. +.RE + +.sp +.ne 2 +.na +\fB\fBam_pm\fR\fR +.ad +.RS 15n +Define the appropriate representation of the \fIante meridiem\fR and \fIpost +meridiem\fR strings, corresponding to the \fB%p\fR field descriptor. The +operand consists of two strings, separated by a semicolon, each surrounded by +double-quotes. The first string represents the \fIante meridiem\fR designation, +the last string the \fIpost meridiem\fR designation. +.RE + +.sp +.ne 2 +.na +\fB\fBt_fmt_ampm\fR\fR +.ad +.RS 15n +Define the appropriate time representation in the 12-hour clock format with +\fBam_pm\fR, corresponding to the \fB%r\fR field descriptor. The operand +consists of a string and can contain any combination of characters and field +descriptors. If the string is empty, the 12-hour format is not supported in the +locale. +.RE + +.sp +.ne 2 +.na +\fB\fBera\fR\fR +.ad +.RS 15n +Define how years are counted and displayed for each era in a locale. The +operand consists of semicolon-separated strings. Each string is an era +description segment with the format: +.sp +\fIdirection\fR:\fIoffset\fR:\fIstart_date\fR:\fIend_date\fR:\fIera_name\fR:\fIera_format\fR +.sp +according to the definitions below. There can be as many era description +segments as are necessary to describe the different eras. +.sp +The start of an era might not be the earliest point For example, the Christian +era B.C. starts on the day before January 1, A.D. 1, and increases with earlier +time. +.sp +.ne 2 +.na +\fB\fIdirection\fR\fR +.ad +.RS 14n +Either a \fB+\fR or a \fB-\fR character. The \fB+\fR character indicates that +years closer to the \fIstart_date\fR have lower numbers than those closer to +the \fIend_date\fR. The \fB-\fR character indicates that years closer to the +\fIstart_date\fR have higher numbers than those closer to the \fIend_date\fR. +.RE + +.sp +.ne 2 +.na +\fB\fIoffset\fR\fR +.ad +.RS 14n +The number of the year closest to the \fIstart_date\fR in the era, +corresponding to the \fB%Eg\fR and \fB%Ey\fR field descriptors. +.RE + +.sp +.ne 2 +.na +\fB\fIstart_date\fR\fR +.ad +.RS 14n +A date in the form \fIyyyy\fR/\fImm\fR/\fBdd\fR, where \fIyyyy\fR, \fImm\fR, +and \fBdd\fR are the year, month and day numbers respectively of the start of +the era. Years prior to A.D. 1 are represented as negative numbers. +.RE + +.sp +.ne 2 +.na +\fB\fIend_date\fR\fR +.ad +.RS 14n +The ending date of the era, in the same format as the \fIstart_date\fR, or one +of the two special values -* or +*. The value -* indicates that the ending date +is the beginning of time. The value +* indicates that the ending date is the +end of time. +.RE + +.sp +.ne 2 +.na +\fB\fIera_name\fR\fR +.ad +.RS 14n +A string representing the name of the era, corresponding to the \fB%EC\fR field +descriptor. +.RE + +.sp +.ne 2 +.na +\fB\fIera_format\fR\fR +.ad +.RS 14n +A string for formatting the year in the era, corresponding to the \fB%EG\fR and +\fB%EY\fR field descriptors. +.RE + +.RE + +.sp +.ne 2 +.na +\fB\fBera_d_fmt\fR\fR +.ad +.RS 15n +Define the format of the date in alternative era notation, corresponding to the +\fB%Ex\fR field descriptor. +.RE + +.sp +.ne 2 +.na +\fB\fBera_t_fmt\fR\fR +.ad +.RS 15n +Define the locale's appropriate alternative time format, corresponding to the +\fB%EX\fR field descriptor. +.RE + +.sp +.ne 2 +.na +\fB\fBera_d_t_fmt\fR\fR +.ad +.RS 15n +Define the locale's appropriate alternative date and time format, corresponding +to the \fB%Ec\fR field descriptor. +.RE + +.sp +.ne 2 +.na +\fB\fBalt_digits\fR\fR +.ad +.RS 15n +Define alternative symbols for digits, corresponding to the \fB%O\fR field +descriptor modifier. The operand consists of semicolon-separated strings, each +surrounded by double-quotes. The first string is the alternative symbol +corresponding with zero, the second string the symbol corresponding with one, +and so on. Up to 100 alternative symbol strings can be specified. The \fB%O\fR +modifier indicates that the string corresponding to the value specified via the +field descriptor will be used instead of the value. +.RE + +.SS "LC_TIME \fIC-language\fR Access" +The following information can be accessed. These correspond to constants +defined in <\fBlanginfo.h\fR> and used as arguments to the +\fBnl_langinfo\fR(3C) function. +.sp +.ne 2 +.na +\fB\fBABDAY_\fIx\fR\fR\fR +.ad +.RS 15n +The abbreviated weekday names (for example Sun), where \fIx\fR is a number from +1 to 7. +.RE + +.sp +.ne 2 +.na +\fB\fBDAY_\fIx\fR\fR\fR +.ad +.RS 15n +The full weekday names (for example Sunday), where \fIx\fR is a number from 1 +to 7. +.RE + +.sp +.ne 2 +.na +\fB\fBABMON_\fIx\fR\fR\fR +.ad +.RS 15n +The abbreviated month names (for example Jan), where \fIx\fR is a number from 1 +to 12. +.RE + +.sp +.ne 2 +.na +\fB\fBMON_\fIx\fR\fR\fR +.ad +.RS 15n +The full month names (for example January), where \fIx\fR is a number from 1 to +12. +.RE + +.sp +.ne 2 +.na +\fB\fBD_T_FMT\fR\fR +.ad +.RS 15n +The appropriate date and time representation. +.RE + +.sp +.ne 2 +.na +\fB\fBD_FMT\fR\fR +.ad +.RS 15n +The appropriate date representation. +.RE + +.sp +.ne 2 +.na +\fB\fBT_FMT\fR\fR +.ad +.RS 15n +The appropriate time representation. +.RE + +.sp +.ne 2 +.na +\fB\fBAM_STR\fR\fR +.ad +.RS 15n +The appropriate ante-meridiem affix. +.RE + +.sp +.ne 2 +.na +\fB\fBPM_STR\fR\fR +.ad +.RS 15n +The appropriate post-meridiem affix. +.RE + +.sp +.ne 2 +.na +\fB\fBT_FMT_AMPM\fR\fR +.ad +.RS 15n +The appropriate time representation in the 12-hour clock format with +\fBAM_STR\fR and \fBPM_STR.\fR +.RE + +.sp +.ne 2 +.na +\fB\fBERA\fR\fR +.ad +.RS 15n +The era description segments, which describe how years are counted and +displayed for each era in a locale. Each era description segment has the +format: +.sp +.in +2 +.nf +\fIdirection\fR:\fIoffset\fR:\fIstart_date\fR:\fIend_date\fR:\fIera_name\fR:\fIera_format\fR +.fi +.in -2 +.sp + +according to the definitions below. There will be as many era description +segments as are necessary to describe the different eras. Era description +segments are separated by semicolons. +.sp +The start of an era might not be the earliest point For example, the Christian +era B.C. starts on the day before January 1, A.D. 1, and increases with earlier +time. +.sp +.ne 2 +.na +\fB\fIdirection\fR\fR +.ad +.RS 14n +Either a + or a - character. The + character indicates that years closer to the +\fIstart_date\fR have lower numbers than those closer to the \fIend_date\fR. +The - character indicates that years closer to the \fIstart_date\fR have higher +numbers than those closer to the \fIend_date\fR. +.RE + +.sp +.ne 2 +.na +\fB\fIoffset\fR\fR +.ad +.RS 14n +The number of the year closest to the start_date in the era. +.RE + +.sp +.ne 2 +.na +\fB\fIstart_date\fR\fR +.ad +.RS 14n +A date in the form \fIyyyy\fR/\fImm\fR/\fIdd\fR, where \fIyyyy\fR, \fImm\fR, +and \fBdd\fR are the year, month and day numbers respectively of the start of +the era. Years prior to AD 1 are represented as negative numbers. +.RE + +.sp +.ne 2 +.na +\fB\fIend_date\fR\fR +.ad +.RS 14n +The ending date of the era, in the same format as the \fIstart_date\fR, or one +of the two special values, \fB-*\fR or \fB+*\fR. The value \fB-*\fR indicates +that the ending date is the beginning of time. The value \fB+*\fR indicates +that the ending date is the end of time. +.RE + +.sp +.ne 2 +.na +\fB\fIera_name\fR\fR +.ad +.RS 14n +The era, corresponding to the \fB%EC\fR conversion specification. +.RE + +.sp +.ne 2 +.na +\fB\fIera_format\fR\fR +.ad +.RS 14n +The format of the year in the era, corresponding to the \fB%EY\fR and \fB%EY\fR +conversion specifications. +.RE + +.RE + +.sp +.ne 2 +.na +\fB\fBERA_D_FMT\fR\fR +.ad +.RS 15n +The era date format. +.RE + +.sp +.ne 2 +.na +\fB\fBERA_T_FMT\fR\fR +.ad +.RS 15n +The locale's appropriate alternative time format, corresponding to the +\fB%EX\fR field descriptor. +.RE + +.sp +.ne 2 +.na +\fB\fBERA_D_T_FMT\fR\fR +.ad +.RS 15n +The locale's appropriate alternative date and time format, corresponding to the +\fB%Ec\fR field descriptor. +.RE + +.sp +.ne 2 +.na +\fB\fBALT_DIGITS\fR\fR +.ad +.RS 15n +The alternative symbols for digits, corresponding to the \fB%O\fR conversion +specification modifier. The value consists of semicolon-separated symbols. The +first is the alternative symbol corresponding to zero, the second is the symbol +corresponding to one, and so on. Up to 100 alternative symbols may be +specified. The following table displays the correspondence between the items +described above and the conversion specifiers used by \fBdate\fR(1) and the +\fBstrftime\fR(3C), \fBwcsftime\fR(3C), and \fBstrptime\fR(3C) functions. +.RE + +.sp + +.sp +.TS +box; +c | c | c +c | c | c . +\fBlocaledef\fR \fBlanginfo\fR \fBConversion\fR +\fBKeyword\fR \fBConstant\fR \fBSpecifier\fR +_ +\fBabday\fR \fBABDAY_\fR\fIx\fR \fB%a\fR +\fBday\fR \fBDAY_\fR\fIx\fR \fB%A\fR +\fBabmon\fR \fBABMON_\fR\fIx\fR \fB%b\fR +\fBmon\fR \fBMON\fR \fB%B\fR +\fBd_t_fmt\fR \fBD_T_FMT\fR \fB%c\fR +\fBdate_fmt\fR \fBDATE_FMT\fR \fB%C\fR +\fBd_fmt\fR \fBD_FMT\fR \fB%x\fR +\fBt_fmt\fR \fBT_FMT\fR \fB%X\fR +\fBam_pm\fR \fBAM_STR\fR \fB%p\fR +\fBam_pm\fR \fBPM_STR\fR \fB%p\fR +\fBt_fmt_ampm\fR \fBT_FMT_AMPM\fR \fB%r\fR +\fBera\fR \fBERA\fR \fB%EC, %Eg,\fR + \fB%EG, %Ey, %EY\fR +\fBera_d_fmt\fR \fBERA_D_FMT\fR \fB%Ex\fR +\fBera_t_fmt\fR \fBERA_T_FMT\fR \fB%EX\fR +\fBera_d_t_fmt\fR \fBERA_D_T_FMT\fR \fB%Ec\fR +\fBalt_digits\fR \fBALT_DIGITS\fR \fB%O\fR +.TE + +.SS "LC_TIME \fIGeneral\fR Information" +Although certain of the field descriptors in the POSIX locale (such as the name +of the month) are shown with initial capital letters, this need not be the case +in other locales. Programs using these fields may need to adjust the +capitalization if the output is going to be used at the beginning of a +sentence. +.sp +.LP +The \fBLC_TIME\fR descriptions of \fBabday\fR, \fBday\fR, \fBmon\fR, and +\fBabmon\fR imply a Gregorian style calendar (7-day weeks, 12-month years, leap +years, and so forth). Formatting time strings for other types of calendars is +outside the scope of this document set. +.sp +.LP +As specified under \fBdate\fR in \fBLocale Definition\fR and +\fBstrftime\fR(3C), the field descriptors corresponding to the optional +keywords consist of a modifier followed by a traditional field descriptor (for +instance \fB%Ex\fR). If the optional keywords are not supported by the +implementation or are unspecified for the current locale, these field +descriptors are treated as the traditional field descriptor. For instance, +assume the following keywords: +.sp +.in +2 +.nf +alt_digits "0th" ; "1st" ; "2nd" ; "3rd" ; "4th" ; "5th" ; \e +"6th" ; "7th" ; "8th" ; "9th" ; "10th"> +d_fmt "The %Od day of %B in %Y" +.fi +.in -2 +.sp + +.sp +.LP +On 7/4/1776, the \fB%x\fR field descriptor would result in "The 4th day of July +in 1776" while 7/14/1789 would come out as "The 14 day of July in 1789" The +above example is for illustrative purposes only. The \fB%O\fR modifier is +primarily intended to provide for Kanji or Hindi digits in \fBdate\fR formats. +.SS "LC_MESSAGES" +The \fBLC_MESSAGES\fR category defines the format and values for affirmative +and negative responses. +.sp +.LP +The following keywords are recognized as part of the locale definition file. +The \fBnl_langinfo\fR(3C) function accepts upper-case versions of the first +four keywords. +.sp +.ne 2 +.na +\fB\fByesexpr\fR\fR +.ad +.RS 11n +The operand consists of an extended regular expression (see \fBregex\fR(7)) +that describes the acceptable affirmative response to a question expecting an +affirmative or negative response. +.RE + +.sp +.ne 2 +.na +\fB\fBnoexpr\fR\fR +.ad +.RS 11n +The operand consists of an extended regular expression that describes the +acceptable negative response to a question expecting an affirmative or negative +response. +.RE + +.sp +.ne 2 +.na +\fB\fByesstr\fR\fR +.ad +.RS 11n +The operand consists of a fixed string (not a regular expression) that can be +used by an application for composition of a message that lists an acceptable +affirmative response, such as in a prompt. +.RE + +.sp +.ne 2 +.na +\fB\fBnostr\fR\fR +.ad +.RS 11n +The operand consists of a fixed string that can be used by an application for +composition of a message that lists an acceptable negative response. The format +and values for affirmative and negative responses of the POSIX locale follow; +the code listing depicting the \fBlocaledef\fR input, the table representing +the same information with the addition of \fBnl_langinfo()\fR constants. +.sp +.in +2 +.nf +LC_MESSAGES +# This is the POSIX locale definition for +# the LC_MESSAGES category. +# +yesexpr "<circumflex><left-square-bracket><y><Y>\e + <right-square-bracket>" +# +noexpr "<circumflex><left-square-bracket><n><N>\e + <right-square-bracket>" +# +yesstr "yes" +nostr "no" +END LC_MESSAGES +.fi +.in -2 +.sp + +.RE + +.sp + +.sp +.TS +box; +l | l | l +l | l | l . +\fBlocaledef Keyword\fR \fBlanginfo Constant\fR \fBPOSIX Locale Value\fR +\fByesexpr\fR \fBYESEXPR\fR \fB"^[yY]"\fR +\fBnoexpr\fR \fBNOEXPR\fR \fB"^[nN]"\fR +\fByesstr\fR \fBYESSTR\fR \fB"yes"\fR +\fBnostr\fR \fBNOSTR\fR \fB"no"\fR +.TE + +.sp +.LP +In an application conforming to the SUSv3 standard, the information on +\fByesstr\fR and \fBnostr\fR is not available. +.SH SEE ALSO +.BR date (1), +.BR locale (1), +.BR localedef (1), +.BR sort (1), +.BR tr (1), +.BR uniq (1), +.BR localeconv (3C), +.BR nl_langinfo (3C), +.BR setlocale (3C), +.BR strcoll (3C), +.BR strftime (3C), +.BR strptime (3C), +.BR strxfrm (3C), +.BR wcscoll (3C), +.BR wcsftime (3C), +.BR wcsxfrm (3C), +.BR wctype (3C), +.BR attributes (7), +.BR charmap (7), +.BR extensions (7), +.BR regex (7) |