Print this page
12743 man page spelling mistakes


  26 .\"
  27 .\" The contents of this file are subject to the terms of the
  28 .\" Common Development and Distribution License (the "License").
  29 .\" You may not use this file except in compliance with the License.
  30 .\"
  31 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  32 .\" or http://www.opensolaris.org/os/licensing.
  33 .\" See the License for the specific language governing permissions
  34 .\" and limitations under the License.
  35 .\"
  36 .\" When distributing Covered Code, include this CDDL HEADER in each
  37 .\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  38 .\" If applicable, add the following below this CDDL HEADER, with the
  39 .\" fields enclosed by brackets "[]" replaced with your own identifying
  40 .\" information: Portions Copyright [yyyy] [name of copyright owner]
  41 .\"
  42 .\"
  43 .\" Copyright (c) 1992, X/Open Company Limited.  All Rights Reserved.
  44 .\" Portions Copyright (c) 2003, Sun Microsystems, Inc.  All Rights Reserved.
  45 .\"
  46 .TH LOCALE 5 "April 9, 2016"
  47 .SH NAME
  48 locale \- subset of a user's environment that depends on language and cultural
  49 conventions
  50 .SH DESCRIPTION
  51 .LP
  52 A \fBlocale\fR is the definition of the subset of a user's environment that
  53 depends on language and cultural conventions. It is made up from one or more
  54 categories. Each category is identified by its name and controls specific
  55 aspects of the behavior of components of the system. Category names correspond
  56 to the following environment variable names:
  57 .sp
  58 .ne 2
  59 .na
  60 \fB\fBLC_CTYPE\fR\fR
  61 .ad
  62 .RS 15n
  63 Character classification and case conversion.
  64 .RE
  65 
  66 .sp
  67 .ne 2
  68 .na
  69 \fB\fBLC_COLLATE\fR\fR
  70 .ad
  71 .RS 15n


 122 as the \fIname\fR operand to  \fBlocaledef\fR when the locale was created. The
 123 strings "C" and "POSIX" are reserved as identifiers for the POSIX locale.
 124 .sp
 125 .LP
 126 Applications can select the desired locale by invoking the \fBsetlocale()\fR
 127 function with the appropriate value. If the function is invoked with an empty
 128 string, such as:
 129 .sp
 130 .in +2
 131 .nf
 132 setlocale(LC_ALL, "");
 133 .fi
 134 .in -2
 135 
 136 .sp
 137 .LP
 138 the value of the corresponding environment variable is used. If the environment
 139 variable is unset or is set to the empty string, the  \fBsetlocale()\fR
 140 function sets the appropriate environment.
 141 .SS "Locale Definition"
 142 .LP
 143 Locales can be described with the file format accepted by the \fBlocaledef\fR
 144 utility.
 145 .sp
 146 .LP
 147 The locale definition file must contain one or more locale category source
 148 definitions, and must not contain more than one definition for the same locale
 149 category.
 150 .sp
 151 .LP
 152 A category source definition consists of a category header, a category body and
 153 a category trailer. A category header consists of the character string naming
 154 of the category, beginning with the characters \fBLC_\fR. The category trailer
 155 consists of the string \fBEND\fR, followed by one or more blank characters and
 156 the string used in the corresponding category header.
 157 .sp
 158 .LP
 159 The category body consists of one or more lines of text. Each line contains an
 160 identifier, optionally followed by one or more operands. Identifiers are either
 161 keywords, identifying a particular locale element, or collating elements. Each
 162 keyword within a locale must have a unique name (that is, two categories cannot


 324 represented by concatenated constants specified in byte order with the last
 325 constant specifying the least significant byte of the character.
 326 .sp
 327 Example:
 328 .sp
 329 .in +2
 330 .nf
 331 \ed99;\ed231;\ed99\ed104   "\ed77\ed97\ed121"
 332 .fi
 333 .in -2
 334 .sp
 335 
 336 Only characters existing in the character set for which the locale definition
 337 is created can be specified, whether using symbolic names, the characters
 338 themselves, or octal, decimal or hexadecimal constants. If a charmap file is
 339 present, only characters defined in the charmap can be specified using octal,
 340 decimal or hexadecimal constants. Symbolic names not present in the charmap
 341 file can be specified and will be ignored, as specified under item 1 above.
 342 .RE
 343 .SS "LC_CTYPE"
 344 .LP
 345 The  \fBLC_CTYPE\fR category defines character classification, case conversion
 346 and other character attributes. In addition, a series of characters can be
 347 represented by three adjacent periods representing an ellipsis symbol
 348 (\fB\&...\fR). The ellipsis specification is interpreted as meaning that all
 349 values between the values preceding and following it represent valid
 350 characters. The ellipsis specification is valid only within a single encoded
 351 character set, that is, within a group of characters of the same size. An
 352 ellipsis is interpreted as including in the list all characters with an encoded
 353 value higher than the encoded value of the character preceding the ellipsis and
 354 lower than the encoded value of the character following the ellipsis.
 355 .sp
 356 .LP
 357 Example:
 358 .sp
 359 .in +2
 360 .nf
 361 \ex30;...;\ex39;
 362 .fi
 363 .in -2
 364 .sp


 702 
 703 are mapped to the corresponding 26 lower-case characters:
 704 .sp
 705 .in +2
 706 .nf
 707 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
 708 .fi
 709 .in -2
 710 .sp
 711 
 712 In a locale definition file, the operand consists of character pairs, separated
 713 by semicolons. The characters in each character pair are separated by a comma
 714 and the pair enclosed by parentheses. The first character in each pair is the
 715 upper-case letter, the second the corresponding lower-case letter. Only
 716 characters specified for the keywords \fBlower\fR and \fBupper\fR can be
 717 specified. If the \fBtolower\fR keyword is omitted from the locale definition,
 718 the mapping will be the reverse mapping of the one specified for \fBtoupper\fR.
 719 .RE
 720 
 721 .SS "LC_COLLATE"
 722 .LP
 723 The  \fBLC_COLLATE\fR category provides a collation sequence definition for
 724 numerous utilities (such as \fBsort\fR(1), \fBuniq\fR(1), and so forth),
 725 regular expression matching (see \fBregex\fR(5)), and the \fBstrcoll\fR(3C),
 726 \fBstrxfrm\fR(3C), \fBwcscoll\fR(3C), and \fBwcsxfrm\fR(3C) functions.
 727 .sp
 728 .LP
 729 A collation sequence definition defines the relative order between collating
 730 elements (characters and multi-character collating elements) in the locale.
 731 This order is expressed in terms of collation values, that is, by assigning
 732 each element one or more collation values (also known as collation weights).
 733 The following capabilities are provided:
 734 .RS +4
 735 .TP
 736 1.
 737 \fBMulti-character collating elements\fR. Specification of multi-character
 738 collating elements (that is, sequences of two or more characters to be collated
 739 as an entity).
 740 .RE
 741 .RS +4
 742 .TP
 743 2.
 744 \fBUser-defined ordering of collating elements\fR. Each collating element is
 745 assigned a collation value defining its order in the character (or basic)
 746 collation sequence. This ordering is used by regular expressions and pattern
 747 matching and, unless  collation weights are explicity specified, also as the
 748 collation weight to be used in sorting.
 749 .RE
 750 .RS +4
 751 .TP
 752 3.
 753 \fBMultiple weights and equivalence classes\fR. Collating elements can be
 754 assigned one or more (up to the limit \fB{COLL_WEIGHTS_MAX}\fR \fB)\fR
 755 collating weights for use in sorting. The first weight is hereafter referred to
 756 as the primary weight.
 757 .RE
 758 .RS +4
 759 .TP
 760 4.
 761 \fBOne-to-Many mapping\fR. A single character is mapped into a string of
 762 collating elements.
 763 .RE
 764 .RS +4
 765 .TP
 766 5.
 767 \fBEquivalence class definition\fR. Two or more collating elements have the


 816 .ne 2
 817 .na
 818 \fB\fBorder_start\fR\fR
 819 .ad
 820 .RS 21n
 821 Define collation rules. This statement is followed by one or more collation
 822 order statements, assigning character collation values and collation weights to
 823 collating elements.
 824 .RE
 825 
 826 .sp
 827 .ne 2
 828 .na
 829 \fB\fBorder_end\fR\fR
 830 .ad
 831 .RS 21n
 832 Specify the end of the collation-order statements.
 833 .RE
 834 
 835 .SS "collating-element \fIkeyword\fR"
 836 .LP
 837 In addition to the collating elements in the character set, the
 838 \fBcollating-element\fR keyword is used to define multi-character collating
 839 elements. The syntax is:
 840 .sp
 841 .in +2
 842 .nf
 843 \fB"collating-element %s from \e"%s\e"\en",\fR<\fIcollating-symbol\fR>,<\fIstring\fR>
 844 .fi
 845 .in -2
 846 
 847 .sp
 848 .LP
 849 The <\fIcollating-symbol\fR> operand is a symbolic name, enclosed between angle
 850 brackets (\fB<\fR and \fB>\fR), and must not duplicate any symbolic name in the
 851 current charmap file (if any), or any other symbolic name defined in this
 852 collation definition. The string operand is a string of two or more characters
 853 that collates as an entity. A <\fIcollating-element\fR> defined via this
 854 keyword is only recognized with the \fBLC_COLLATE\fR category.
 855 .sp
 856 .LP
 857 Example:
 858 .br
 859 .in +2
 860 \fBcollating-element\fR <\fBch\fR> from "<\fBc\fR><\fBh\fR>"
 861 .in -2
 862 .br
 863 .in +2
 864 \fBcollating-element\fR <\fBe-acute\fR> from "<\fBacute\fR><\fBe\fR>"
 865 .in -2
 866 .br
 867 .in +2
 868 \fBcollating-element\fR <\fBll\fR> from "\fBll\fR"
 869 .in -2
 870 .SS "collating-symbol \fIkeyword\fR"
 871 .LP
 872 This keyword will be used to define symbols for use in collation sequence
 873 statements; that is, between the \fBorder_start\fR and the \fBorder_end\fR
 874 keywords. The syntax is:
 875 .sp
 876 .in +2
 877 .nf
 878 \fB"collating-symbol %s\en",\fR<\fIcollating-symbol\fR>
 879 .fi
 880 .in -2
 881 
 882 .sp
 883 .LP
 884 The \fB<\fR\fIcollating-symbol\fR\fB>\fR is a symbolic name, enclosed between
 885 angle brackets (\fB<\fR and \fB>\fR), and must not duplicate any symbolic name
 886 in the current charmap file (if any), or any other symbolic name defined in
 887 this collation definition.
 888 .sp
 889 .LP
 890 A \fBcollating-symbol\fR defined via this keyword is only recognized with the
 891 \fBLC_COLLATE\fR category.
 892 .sp
 893 .LP
 894 Example:
 895 .br
 896 .in +2
 897 \fBcollating-symbol\fR <\fBUPPER_CASE\fR>
 898 .in -2
 899 .br
 900 .in +2
 901 \fBcollating-symbol\fR <\fBHIGH\fR>
 902 .in -2
 903 .sp
 904 .LP
 905 The \fBcollating-symbol\fR keyword defines a symbolic name that can be
 906 associated with a relative position in the character order sequence. While such
 907 a symbolic name does not represent any collating element, it can be used as a
 908 weight.
 909 .SS "order_start \fIkeyword\fR"
 910 .LP
 911 The \fBorder_start\fR keyword must precede collation order entries and also
 912 defines the number of weights for this collation sequence definition and other
 913 collation rules.
 914 .sp
 915 .LP
 916 The syntax of the \fBorder_start\fR keyword is:
 917 .sp
 918 .in +2
 919 .nf
 920 \fB"order_start %s;%s;...;%s\en",\fR<\fIsort-rules\fR>,<\fIsort-rules\fR>
 921 .fi
 922 .in -2
 923 
 924 .sp
 925 .LP
 926 The operands to the \fBorder_start\fR keyword are optional. If present, the
 927 operands define rules to be applied when strings are compared. The number of
 928 operands define how many weights each element is assigned. If no operands are
 929 present, one \fBforward\fR operand is assumed. If present, the first operand
 930 defines rules to be applied when comparing strings using the first (primary)


 970 .RE
 971 
 972 .sp
 973 .LP
 974 The directives \fBforward\fR and \fBbackward\fR are mutually exclusive.
 975 .sp
 976 .LP
 977 Example:
 978 .sp
 979 .in +2
 980 .nf
 981 order_start     forward;backward
 982 .fi
 983 .in -2
 984 .sp
 985 
 986 .sp
 987 .LP
 988 If no operands are specified, a single \fBforward\fR operand is assumed.
 989 .SS "Collation Order"
 990 .LP
 991 The \fBorder_start\fR keyword is followed by collating identifier entries. The
 992 syntax for the collating element entries is:
 993 .sp
 994 .in +2
 995 .nf
 996 \fB"%s %s;%s;...;%s\en"\fR<\fIcollating-identifier\fR>,<\fIweight\fR>,<\fIweight\fR>\fB,...\fR
 997 .fi
 998 .in -2
 999 
1000 .sp
1001 .LP
1002 Each \fIcollating-identifier\fR consists of either a character described in
1003 \fBLocale Definition\fR above,  a <\fIcollating-element\fR>, a
1004 <\fIcollating-symbol\fR>, an ellipsis, or the special symbol \fBUNDEFINED\fR.
1005 The order in which collating elements are specified determines the character
1006 order sequence, such that each collating element compares less than the
1007 elements following it. The  \fBNUL\fR character compares lower than any other
1008 character.
1009 .sp
1010 .LP


1169 .TP
1170 2.
1171 All characters between <\fBspace\fR> and <\fBa\fR> have the same primary
1172 equivalence class and individual secondary weights based on their ordinal
1173 encoded values.
1174 .RE
1175 .RS +4
1176 .TP
1177 3.
1178 All characters based on the upper- or lower-case character \fBa\fR belong to
1179 the same primary equivalence class.
1180 .RE
1181 .RS +4
1182 .TP
1183 4.
1184 The multi-character collating element <\fBch\fR> is represented by the
1185 collating symbol <\fBch\fR> and belongs to the same primary equivalence class
1186 as the multi-character collating element <\fBCh\fR>.
1187 .RE
1188 .SS "order_end \fIkeyword\fR"
1189 .LP
1190 The collating order entries must be terminated with an \fBorder_end\fR keyword.
1191 .SS "LC_MONETARY"
1192 .LP
1193 The  \fBLC_MONETARY\fR category defines the rules and symbols that are used to
1194 format monetary numeric information. This information is available through the
1195 \fBlocaleconv\fR(3C) function
1196 .sp
1197 .LP
1198 The following items are defined in this category of the locale. The item names
1199 are the keywords recognized by the \fBlocaledef\fR(1) utility when defining a
1200 locale. They are also similar to the member names of the \fBlconv\fR structure
1201 defined in <\fBlocale.h\fR>. The \fBlocaleconv\fR function returns
1202 \fB{CHAR_MAX}\fR for unspecified integer items and the empty string (\fB""\fR)
1203 for unspecified or size zero string items.
1204 .sp
1205 .LP
1206 In a locale definition file the operands are strings. For some keywords, the
1207 strings can contain only integers. Keywords that are not provided, string
1208 values set to the empty string (\fB""\fR), or integer keywords set to \fB-1\fR,
1209 are used to indicate that the value is not available in the locale.
1210 .sp
1211 .ne 2
1212 .na


1679 n_sep_by_space        -1
1680 p_sign_posn           -1
1681 n_sign_posn           -1
1682 int_p_cs_precedes     -1
1683 int_p_sep_by_space    -1
1684 int_n_cs_precedes     -1
1685 int_n_sep_by_space    -1
1686 int_p_sign_posn       -1
1687 int_n_sign_posn       -1
1688 #
1689 END LC_MONETARY
1690 .fi
1691 .in -2
1692 .sp
1693 
1694 .sp
1695 .LP
1696 The entry \fBn/a\fR indicates that the value is not available in the POSIX
1697 locale.
1698 .SS "LC_NUMERIC"
1699 .LP
1700 The  \fBLC_NUMERIC\fR category defines the rules and symbols that will be used
1701 to format non-monetary numeric information. This information is available
1702 through the \fBlocaleconv\fR(3C) function.
1703 .sp
1704 .LP
1705 The following items are defined in this category of the locale. The item names
1706 are the keywords recognized by the \fBlocaledef\fR utility when defining a
1707 locale. They are also similar to the member names of the \fIlconv\fR structure
1708 defined in <\fBlocale.h\fR>. The \fBlocaleconv()\fR function returns
1709 \fB{CHAR_MAX}\fR for unspecified integer items and the empty string (\fB""\fR)
1710 for unspecified or size zero string items.
1711 .sp
1712 .LP
1713 In a locale definition file the operands are strings. For some keywords, the
1714 strings only can contain integers. Keywords that are not provided, string
1715 values set to the empty string (\fB""\fR), or integer keywords set to \fB-1\fR,
1716 will be used to indicate that the value is not available in the locale. The
1717 following keywords are recognized:
1718 .sp
1719 .ne 2


1778 
1779 .sp
1780 
1781 .sp
1782 .TS
1783 l l l l l
1784 l l l l l .
1785         \fBPOSIX locale\fR      \fBlanginfo\fR  \fBlocaleconv()\fR      \fBlocaledef\fR
1786 \fBItem\fR      \fBValue\fR     \fBConstant\fR  \fBValue\fR     \fBValue\fR
1787 _
1788 \fBdecimal_point\fR     \fB"."\fR       \fBRADIXCHAR\fR \fB"."\fR       \fB\&.\fR
1789 \fBthousands_sep\fR     \fBn/a\fR       \fBTHOUSEP\fR   \fB""\fR        \fB""\fR
1790 \fBgrouping\fR  \fBn/a\fR       \fB-\fR \fB""\fR        \fB\(mi1\fR
1791 .TE
1792 
1793 .sp
1794 .LP
1795 The entry \fBn/a\fR indicates that the value is not available in the POSIX
1796 locale.
1797 .SS "LC_TIME"
1798 .LP
1799 The  \fBLC_TIME\fR category defines the interpretation of the field descriptors
1800 supported by  \fBdate\fR(1) and affects the behavior of the \fBstrftime\fR(3C),
1801 \fBwcsftime\fR(3C), \fBstrptime\fR(3C), and \fBnl_langinfo\fR(3C) functions.
1802 Because the interfaces for C-language access and locale definition differ
1803 significantly, they are described separately. For locale definition, the
1804 following mandatory keywords are recognized:
1805 .sp
1806 .ne 2
1807 .na
1808 \fB\fBabday\fR\fR
1809 .ad
1810 .RS 15n
1811 Define the abbreviated weekday names, corresponding to the \fB%a\fR field
1812 descriptor (conversion specification in the \fBstrftime()\fR, \fBwcsftime()\fR,
1813 and \fBstrptime()\fR functions). The operand consists of seven
1814 semicolon-separated strings, each surrounded by double-quotes. The first string
1815 is the abbreviated name of the day corresponding to Sunday, the second the
1816 abbreviated name of the day corresponding to Monday, and so on.
1817 .RE
1818 


2045 Define the locale's appropriate alternative date and time format, corresponding
2046 to the \fB%Ec\fR field descriptor.
2047 .RE
2048 
2049 .sp
2050 .ne 2
2051 .na
2052 \fB\fBalt_digits\fR\fR
2053 .ad
2054 .RS 15n
2055 Define alternative symbols for digits, corresponding to the \fB%O\fR field
2056 descriptor modifier. The operand consists of semicolon-separated strings, each
2057 surrounded by double-quotes. The first string is the alternative symbol
2058 corresponding with zero, the second string the symbol corresponding with one,
2059 and so on. Up to 100 alternative symbol strings can be specified. The \fB%O\fR
2060 modifier indicates that the string corresponding to the value specified via the
2061 field descriptor will be used instead of the value.
2062 .RE
2063 
2064 .SS "LC_TIME \fIC-language\fR Access"
2065 .LP
2066 The following information can be accessed. These correspond to constants
2067 defined in <\fBlanginfo.h\fR> and used as arguments to the
2068 \fBnl_langinfo\fR(3C) function.
2069 .sp
2070 .ne 2
2071 .na
2072 \fB\fBABDAY_\fIx\fR\fR\fR
2073 .ad
2074 .RS 15n
2075 The abbreviated weekday names (for example Sun), where \fIx\fR is a number from
2076 1 to 7.
2077 .RE
2078 
2079 .sp
2080 .ne 2
2081 .na
2082 \fB\fBDAY_\fIx\fR\fR\fR
2083 .ad
2084 .RS 15n
2085 The full weekday names (for example Sunday), where \fIx\fR is a number from 1


2307 \fBabday\fR     \fBABDAY_\fR\fIx\fR     \fB%a\fR
2308 \fBday\fR       \fBDAY_\fR\fIx\fR       \fB%A\fR
2309 \fBabmon\fR     \fBABMON_\fR\fIx\fR     \fB%b\fR
2310 \fBmon\fR       \fBMON\fR       \fB%B\fR
2311 \fBd_t_fmt\fR   \fBD_T_FMT\fR   \fB%c\fR
2312 \fBdate_fmt\fR  \fBDATE_FMT\fR  \fB%C\fR
2313 \fBd_fmt\fR     \fBD_FMT\fR     \fB%x\fR
2314 \fBt_fmt\fR     \fBT_FMT\fR     \fB%X\fR
2315 \fBam_pm\fR     \fBAM_STR\fR    \fB%p\fR
2316 \fBam_pm\fR     \fBPM_STR\fR    \fB%p\fR
2317 \fBt_fmt_ampm\fR        \fBT_FMT_AMPM\fR        \fB%r\fR
2318 \fBera\fR       \fBERA\fR       \fB%EC, %Eg,\fR
2319                 \fB%EG, %Ey, %EY\fR
2320 \fBera_d_fmt\fR \fBERA_D_FMT\fR \fB%Ex\fR
2321 \fBera_t_fmt\fR \fBERA_T_FMT\fR \fB%EX\fR
2322 \fBera_d_t_fmt\fR       \fBERA_D_T_FMT\fR       \fB%Ec\fR
2323 \fBalt_digits\fR        \fBALT_DIGITS\fR        \fB%O\fR
2324 .TE
2325 
2326 .SS "LC_TIME \fIGeneral\fR Information"
2327 .LP
2328 Although certain of the field descriptors in the POSIX locale (such as the name
2329 of the month) are shown with initial capital letters, this need not be the case
2330 in other locales. Programs using these fields may need to adjust the
2331 capitalization if the output is going to be used at the beginning of a
2332 sentence.
2333 .sp
2334 .LP
2335 The \fBLC_TIME\fR descriptions of \fBabday\fR, \fBday\fR, \fBmon\fR, and
2336 \fBabmon\fR imply a Gregorian style calendar (7-day weeks, 12-month years, leap
2337 years, and so forth). Formatting time strings for other types of calendars is
2338 outside the scope of this document set.
2339 .sp
2340 .LP
2341 As specified under \fBdate\fR in \fBLocale Definition\fR and
2342 \fBstrftime\fR(3C), the field descriptors corresponding to the optional
2343 keywords consist of a modifier followed by a traditional field descriptor (for
2344 instance \fB%Ex\fR). If the optional keywords are not supported by the
2345 implementation or are unspecified for the current locale, these field
2346 descriptors are treated as the traditional field descriptor. For instance,
2347 assume the following keywords:
2348 .sp
2349 .in +2
2350 .nf
2351 alt_digits      "0th" ; "1st" ; "2nd" ; "3rd" ; "4th" ; "5th" ; \e
2352 "6th" ; "7th" ; "8th" ; "9th" ; "10th">
2353 d_fmt   "The %Od day of %B in %Y"
2354 .fi
2355 .in -2
2356 .sp
2357 
2358 .sp
2359 .LP
2360 On 7/4/1776, the \fB%x\fR field descriptor would result in "The 4th day of July
2361 in 1776" while 7/14/1789 would come out as "The 14 day of July in 1789" The
2362 above example is for illustrative purposes only. The \fB%O\fR modifier is
2363 primarily intended to provide for Kanji or Hindi digits in \fBdate\fR formats.
2364 .SS "LC_MESSAGES"
2365 .LP
2366 The  \fBLC_MESSAGES\fR category defines the format and values for affirmative
2367 and negative responses.
2368 .sp
2369 .LP
2370 The following keywords are recognized as part of the locale definition file.
2371 The \fBnl_langinfo\fR(3C) function accepts upper-case versions of the first
2372 four keywords.
2373 .sp
2374 .ne 2
2375 .na
2376 \fB\fByesexpr\fR\fR
2377 .ad
2378 .RS 11n
2379 The operand consists of an extended regular expression (see \fBregex\fR(5))
2380 that describes the acceptable affirmative response to a question expecting an
2381 affirmative or negative response.
2382 .RE
2383 
2384 .sp
2385 .ne 2


2438 
2439 .sp
2440 
2441 .sp
2442 .TS
2443 box;
2444 l | l | l
2445 l | l | l .
2446 \fBlocaledef Keyword\fR \fBlanginfo Constant\fR \fBPOSIX Locale Value\fR
2447 \fByesexpr\fR   \fBYESEXPR\fR   \fB"^[yY]"\fR
2448 \fBnoexpr\fR    \fBNOEXPR\fR    \fB"^[nN]"\fR
2449 \fByesstr\fR    \fBYESSTR\fR    \fB"yes"\fR
2450 \fBnostr\fR     \fBNOSTR\fR     \fB"no"\fR
2451 .TE
2452 
2453 .sp
2454 .LP
2455 In an application conforming to the SUSv3 standard, the information on
2456 \fByesstr\fR and \fBnostr\fR is not available.
2457 .SH SEE ALSO
2458 .LP
2459 \fBdate\fR(1), \fBlocale\fR(1), \fBlocaledef\fR(1), \fBsort\fR(1), \fBtr\fR(1),
2460 \fBuniq\fR(1), \fBlocaleconv\fR(3C), \fBnl_langinfo\fR(3C),
2461 \fBsetlocale\fR(3C), \fBstrcoll\fR(3C), \fBstrftime\fR(3C), \fBstrptime\fR(3C),
2462 \fBstrxfrm\fR(3C), \fBwcscoll\fR(3C), \fBwcsftime\fR(3C), \fBwcsxfrm\fR(3C),
2463 \fBwctype\fR(3C), \fBattributes\fR(5), \fBcharmap\fR(5), \fBextensions\fR(5),
2464 \fBregex\fR(5)


  26 .\"
  27 .\" The contents of this file are subject to the terms of the
  28 .\" Common Development and Distribution License (the "License").
  29 .\" You may not use this file except in compliance with the License.
  30 .\"
  31 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  32 .\" or http://www.opensolaris.org/os/licensing.
  33 .\" See the License for the specific language governing permissions
  34 .\" and limitations under the License.
  35 .\"
  36 .\" When distributing Covered Code, include this CDDL HEADER in each
  37 .\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  38 .\" If applicable, add the following below this CDDL HEADER, with the
  39 .\" fields enclosed by brackets "[]" replaced with your own identifying
  40 .\" information: Portions Copyright [yyyy] [name of copyright owner]
  41 .\"
  42 .\"
  43 .\" Copyright (c) 1992, X/Open Company Limited.  All Rights Reserved.
  44 .\" Portions Copyright (c) 2003, Sun Microsystems, Inc.  All Rights Reserved.
  45 .\"
  46 .TH LOCALE 5 "May 16, 2020"
  47 .SH NAME
  48 locale \- subset of a user's environment that depends on language and cultural
  49 conventions
  50 .SH DESCRIPTION

  51 A \fBlocale\fR is the definition of the subset of a user's environment that
  52 depends on language and cultural conventions. It is made up from one or more
  53 categories. Each category is identified by its name and controls specific
  54 aspects of the behavior of components of the system. Category names correspond
  55 to the following environment variable names:
  56 .sp
  57 .ne 2
  58 .na
  59 \fB\fBLC_CTYPE\fR\fR
  60 .ad
  61 .RS 15n
  62 Character classification and case conversion.
  63 .RE
  64 
  65 .sp
  66 .ne 2
  67 .na
  68 \fB\fBLC_COLLATE\fR\fR
  69 .ad
  70 .RS 15n


 121 as the \fIname\fR operand to  \fBlocaledef\fR when the locale was created. The
 122 strings "C" and "POSIX" are reserved as identifiers for the POSIX locale.
 123 .sp
 124 .LP
 125 Applications can select the desired locale by invoking the \fBsetlocale()\fR
 126 function with the appropriate value. If the function is invoked with an empty
 127 string, such as:
 128 .sp
 129 .in +2
 130 .nf
 131 setlocale(LC_ALL, "");
 132 .fi
 133 .in -2
 134 
 135 .sp
 136 .LP
 137 the value of the corresponding environment variable is used. If the environment
 138 variable is unset or is set to the empty string, the  \fBsetlocale()\fR
 139 function sets the appropriate environment.
 140 .SS "Locale Definition"

 141 Locales can be described with the file format accepted by the \fBlocaledef\fR
 142 utility.
 143 .sp
 144 .LP
 145 The locale definition file must contain one or more locale category source
 146 definitions, and must not contain more than one definition for the same locale
 147 category.
 148 .sp
 149 .LP
 150 A category source definition consists of a category header, a category body and
 151 a category trailer. A category header consists of the character string naming
 152 of the category, beginning with the characters \fBLC_\fR. The category trailer
 153 consists of the string \fBEND\fR, followed by one or more blank characters and
 154 the string used in the corresponding category header.
 155 .sp
 156 .LP
 157 The category body consists of one or more lines of text. Each line contains an
 158 identifier, optionally followed by one or more operands. Identifiers are either
 159 keywords, identifying a particular locale element, or collating elements. Each
 160 keyword within a locale must have a unique name (that is, two categories cannot


 322 represented by concatenated constants specified in byte order with the last
 323 constant specifying the least significant byte of the character.
 324 .sp
 325 Example:
 326 .sp
 327 .in +2
 328 .nf
 329 \ed99;\ed231;\ed99\ed104   "\ed77\ed97\ed121"
 330 .fi
 331 .in -2
 332 .sp
 333 
 334 Only characters existing in the character set for which the locale definition
 335 is created can be specified, whether using symbolic names, the characters
 336 themselves, or octal, decimal or hexadecimal constants. If a charmap file is
 337 present, only characters defined in the charmap can be specified using octal,
 338 decimal or hexadecimal constants. Symbolic names not present in the charmap
 339 file can be specified and will be ignored, as specified under item 1 above.
 340 .RE
 341 .SS "LC_CTYPE"

 342 The  \fBLC_CTYPE\fR category defines character classification, case conversion
 343 and other character attributes. In addition, a series of characters can be
 344 represented by three adjacent periods representing an ellipsis symbol
 345 (\fB\&...\fR). The ellipsis specification is interpreted as meaning that all
 346 values between the values preceding and following it represent valid
 347 characters. The ellipsis specification is valid only within a single encoded
 348 character set, that is, within a group of characters of the same size. An
 349 ellipsis is interpreted as including in the list all characters with an encoded
 350 value higher than the encoded value of the character preceding the ellipsis and
 351 lower than the encoded value of the character following the ellipsis.
 352 .sp
 353 .LP
 354 Example:
 355 .sp
 356 .in +2
 357 .nf
 358 \ex30;...;\ex39;
 359 .fi
 360 .in -2
 361 .sp


 699 
 700 are mapped to the corresponding 26 lower-case characters:
 701 .sp
 702 .in +2
 703 .nf
 704 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
 705 .fi
 706 .in -2
 707 .sp
 708 
 709 In a locale definition file, the operand consists of character pairs, separated
 710 by semicolons. The characters in each character pair are separated by a comma
 711 and the pair enclosed by parentheses. The first character in each pair is the
 712 upper-case letter, the second the corresponding lower-case letter. Only
 713 characters specified for the keywords \fBlower\fR and \fBupper\fR can be
 714 specified. If the \fBtolower\fR keyword is omitted from the locale definition,
 715 the mapping will be the reverse mapping of the one specified for \fBtoupper\fR.
 716 .RE
 717 
 718 .SS "LC_COLLATE"

 719 The  \fBLC_COLLATE\fR category provides a collation sequence definition for
 720 numerous utilities (such as \fBsort\fR(1), \fBuniq\fR(1), and so forth),
 721 regular expression matching (see \fBregex\fR(5)), and the \fBstrcoll\fR(3C),
 722 \fBstrxfrm\fR(3C), \fBwcscoll\fR(3C), and \fBwcsxfrm\fR(3C) functions.
 723 .sp
 724 .LP
 725 A collation sequence definition defines the relative order between collating
 726 elements (characters and multi-character collating elements) in the locale.
 727 This order is expressed in terms of collation values, that is, by assigning
 728 each element one or more collation values (also known as collation weights).
 729 The following capabilities are provided:
 730 .RS +4
 731 .TP
 732 1.
 733 \fBMulti-character collating elements\fR. Specification of multi-character
 734 collating elements (that is, sequences of two or more characters to be collated
 735 as an entity).
 736 .RE
 737 .RS +4
 738 .TP
 739 2.
 740 \fBUser-defined ordering of collating elements\fR. Each collating element is
 741 assigned a collation value defining its order in the character (or basic)
 742 collation sequence. This ordering is used by regular expressions and pattern
 743 matching and, unless collation weights are explicitly specified, also as the
 744 collation weight to be used in sorting.
 745 .RE
 746 .RS +4
 747 .TP
 748 3.
 749 \fBMultiple weights and equivalence classes\fR. Collating elements can be
 750 assigned one or more (up to the limit \fB{COLL_WEIGHTS_MAX}\fR \fB)\fR
 751 collating weights for use in sorting. The first weight is hereafter referred to
 752 as the primary weight.
 753 .RE
 754 .RS +4
 755 .TP
 756 4.
 757 \fBOne-to-Many mapping\fR. A single character is mapped into a string of
 758 collating elements.
 759 .RE
 760 .RS +4
 761 .TP
 762 5.
 763 \fBEquivalence class definition\fR. Two or more collating elements have the


 812 .ne 2
 813 .na
 814 \fB\fBorder_start\fR\fR
 815 .ad
 816 .RS 21n
 817 Define collation rules. This statement is followed by one or more collation
 818 order statements, assigning character collation values and collation weights to
 819 collating elements.
 820 .RE
 821 
 822 .sp
 823 .ne 2
 824 .na
 825 \fB\fBorder_end\fR\fR
 826 .ad
 827 .RS 21n
 828 Specify the end of the collation-order statements.
 829 .RE
 830 
 831 .SS "collating-element \fIkeyword\fR"

 832 In addition to the collating elements in the character set, the
 833 \fBcollating-element\fR keyword is used to define multi-character collating
 834 elements. The syntax is:
 835 .sp
 836 .in +2
 837 .nf
 838 \fB"collating-element %s from \e"%s\e"\en",\fR<\fIcollating-symbol\fR>,<\fIstring\fR>
 839 .fi
 840 .in -2
 841 
 842 .sp
 843 .LP
 844 The <\fIcollating-symbol\fR> operand is a symbolic name, enclosed between angle
 845 brackets (\fB<\fR and \fB>\fR), and must not duplicate any symbolic name in the
 846 current charmap file (if any), or any other symbolic name defined in this
 847 collation definition. The string operand is a string of two or more characters
 848 that collates as an entity. A <\fIcollating-element\fR> defined via this
 849 keyword is only recognized with the \fBLC_COLLATE\fR category.
 850 .sp
 851 .LP
 852 Example:
 853 .br
 854 .in +2
 855 \fBcollating-element\fR <\fBch\fR> from "<\fBc\fR><\fBh\fR>"
 856 .in -2
 857 .br
 858 .in +2
 859 \fBcollating-element\fR <\fBe-acute\fR> from "<\fBacute\fR><\fBe\fR>"
 860 .in -2
 861 .br
 862 .in +2
 863 \fBcollating-element\fR <\fBll\fR> from "\fBll\fR"
 864 .in -2
 865 .SS "collating-symbol \fIkeyword\fR"

 866 This keyword will be used to define symbols for use in collation sequence
 867 statements; that is, between the \fBorder_start\fR and the \fBorder_end\fR
 868 keywords. The syntax is:
 869 .sp
 870 .in +2
 871 .nf
 872 \fB"collating-symbol %s\en",\fR<\fIcollating-symbol\fR>
 873 .fi
 874 .in -2
 875 
 876 .sp
 877 .LP
 878 The \fB<\fR\fIcollating-symbol\fR\fB>\fR is a symbolic name, enclosed between
 879 angle brackets (\fB<\fR and \fB>\fR), and must not duplicate any symbolic name
 880 in the current charmap file (if any), or any other symbolic name defined in
 881 this collation definition.
 882 .sp
 883 .LP
 884 A \fBcollating-symbol\fR defined via this keyword is only recognized with the
 885 \fBLC_COLLATE\fR category.
 886 .sp
 887 .LP
 888 Example:
 889 .br
 890 .in +2
 891 \fBcollating-symbol\fR <\fBUPPER_CASE\fR>
 892 .in -2
 893 .br
 894 .in +2
 895 \fBcollating-symbol\fR <\fBHIGH\fR>
 896 .in -2
 897 .sp
 898 .LP
 899 The \fBcollating-symbol\fR keyword defines a symbolic name that can be
 900 associated with a relative position in the character order sequence. While such
 901 a symbolic name does not represent any collating element, it can be used as a
 902 weight.
 903 .SS "order_start \fIkeyword\fR"

 904 The \fBorder_start\fR keyword must precede collation order entries and also
 905 defines the number of weights for this collation sequence definition and other
 906 collation rules.
 907 .sp
 908 .LP
 909 The syntax of the \fBorder_start\fR keyword is:
 910 .sp
 911 .in +2
 912 .nf
 913 \fB"order_start %s;%s;...;%s\en",\fR<\fIsort-rules\fR>,<\fIsort-rules\fR>
 914 .fi
 915 .in -2
 916 
 917 .sp
 918 .LP
 919 The operands to the \fBorder_start\fR keyword are optional. If present, the
 920 operands define rules to be applied when strings are compared. The number of
 921 operands define how many weights each element is assigned. If no operands are
 922 present, one \fBforward\fR operand is assumed. If present, the first operand
 923 defines rules to be applied when comparing strings using the first (primary)


 963 .RE
 964 
 965 .sp
 966 .LP
 967 The directives \fBforward\fR and \fBbackward\fR are mutually exclusive.
 968 .sp
 969 .LP
 970 Example:
 971 .sp
 972 .in +2
 973 .nf
 974 order_start     forward;backward
 975 .fi
 976 .in -2
 977 .sp
 978 
 979 .sp
 980 .LP
 981 If no operands are specified, a single \fBforward\fR operand is assumed.
 982 .SS "Collation Order"

 983 The \fBorder_start\fR keyword is followed by collating identifier entries. The
 984 syntax for the collating element entries is:
 985 .sp
 986 .in +2
 987 .nf
 988 \fB"%s %s;%s;...;%s\en"\fR<\fIcollating-identifier\fR>,<\fIweight\fR>,<\fIweight\fR>\fB,...\fR
 989 .fi
 990 .in -2
 991 
 992 .sp
 993 .LP
 994 Each \fIcollating-identifier\fR consists of either a character described in
 995 \fBLocale Definition\fR above,  a <\fIcollating-element\fR>, a
 996 <\fIcollating-symbol\fR>, an ellipsis, or the special symbol \fBUNDEFINED\fR.
 997 The order in which collating elements are specified determines the character
 998 order sequence, such that each collating element compares less than the
 999 elements following it. The  \fBNUL\fR character compares lower than any other
1000 character.
1001 .sp
1002 .LP


1161 .TP
1162 2.
1163 All characters between <\fBspace\fR> and <\fBa\fR> have the same primary
1164 equivalence class and individual secondary weights based on their ordinal
1165 encoded values.
1166 .RE
1167 .RS +4
1168 .TP
1169 3.
1170 All characters based on the upper- or lower-case character \fBa\fR belong to
1171 the same primary equivalence class.
1172 .RE
1173 .RS +4
1174 .TP
1175 4.
1176 The multi-character collating element <\fBch\fR> is represented by the
1177 collating symbol <\fBch\fR> and belongs to the same primary equivalence class
1178 as the multi-character collating element <\fBCh\fR>.
1179 .RE
1180 .SS "order_end \fIkeyword\fR"

1181 The collating order entries must be terminated with an \fBorder_end\fR keyword.
1182 .SS "LC_MONETARY"

1183 The  \fBLC_MONETARY\fR category defines the rules and symbols that are used to
1184 format monetary numeric information. This information is available through the
1185 \fBlocaleconv\fR(3C) function
1186 .sp
1187 .LP
1188 The following items are defined in this category of the locale. The item names
1189 are the keywords recognized by the \fBlocaledef\fR(1) utility when defining a
1190 locale. They are also similar to the member names of the \fBlconv\fR structure
1191 defined in <\fBlocale.h\fR>. The \fBlocaleconv\fR function returns
1192 \fB{CHAR_MAX}\fR for unspecified integer items and the empty string (\fB""\fR)
1193 for unspecified or size zero string items.
1194 .sp
1195 .LP
1196 In a locale definition file the operands are strings. For some keywords, the
1197 strings can contain only integers. Keywords that are not provided, string
1198 values set to the empty string (\fB""\fR), or integer keywords set to \fB-1\fR,
1199 are used to indicate that the value is not available in the locale.
1200 .sp
1201 .ne 2
1202 .na


1669 n_sep_by_space        -1
1670 p_sign_posn           -1
1671 n_sign_posn           -1
1672 int_p_cs_precedes     -1
1673 int_p_sep_by_space    -1
1674 int_n_cs_precedes     -1
1675 int_n_sep_by_space    -1
1676 int_p_sign_posn       -1
1677 int_n_sign_posn       -1
1678 #
1679 END LC_MONETARY
1680 .fi
1681 .in -2
1682 .sp
1683 
1684 .sp
1685 .LP
1686 The entry \fBn/a\fR indicates that the value is not available in the POSIX
1687 locale.
1688 .SS "LC_NUMERIC"

1689 The  \fBLC_NUMERIC\fR category defines the rules and symbols that will be used
1690 to format non-monetary numeric information. This information is available
1691 through the \fBlocaleconv\fR(3C) function.
1692 .sp
1693 .LP
1694 The following items are defined in this category of the locale. The item names
1695 are the keywords recognized by the \fBlocaledef\fR utility when defining a
1696 locale. They are also similar to the member names of the \fIlconv\fR structure
1697 defined in <\fBlocale.h\fR>. The \fBlocaleconv()\fR function returns
1698 \fB{CHAR_MAX}\fR for unspecified integer items and the empty string (\fB""\fR)
1699 for unspecified or size zero string items.
1700 .sp
1701 .LP
1702 In a locale definition file the operands are strings. For some keywords, the
1703 strings only can contain integers. Keywords that are not provided, string
1704 values set to the empty string (\fB""\fR), or integer keywords set to \fB-1\fR,
1705 will be used to indicate that the value is not available in the locale. The
1706 following keywords are recognized:
1707 .sp
1708 .ne 2


1767 
1768 .sp
1769 
1770 .sp
1771 .TS
1772 l l l l l
1773 l l l l l .
1774         \fBPOSIX locale\fR      \fBlanginfo\fR  \fBlocaleconv()\fR      \fBlocaledef\fR
1775 \fBItem\fR      \fBValue\fR     \fBConstant\fR  \fBValue\fR     \fBValue\fR
1776 _
1777 \fBdecimal_point\fR     \fB"."\fR       \fBRADIXCHAR\fR \fB"."\fR       \fB\&.\fR
1778 \fBthousands_sep\fR     \fBn/a\fR       \fBTHOUSEP\fR   \fB""\fR        \fB""\fR
1779 \fBgrouping\fR  \fBn/a\fR       \fB-\fR \fB""\fR        \fB\(mi1\fR
1780 .TE
1781 
1782 .sp
1783 .LP
1784 The entry \fBn/a\fR indicates that the value is not available in the POSIX
1785 locale.
1786 .SS "LC_TIME"

1787 The  \fBLC_TIME\fR category defines the interpretation of the field descriptors
1788 supported by  \fBdate\fR(1) and affects the behavior of the \fBstrftime\fR(3C),
1789 \fBwcsftime\fR(3C), \fBstrptime\fR(3C), and \fBnl_langinfo\fR(3C) functions.
1790 Because the interfaces for C-language access and locale definition differ
1791 significantly, they are described separately. For locale definition, the
1792 following mandatory keywords are recognized:
1793 .sp
1794 .ne 2
1795 .na
1796 \fB\fBabday\fR\fR
1797 .ad
1798 .RS 15n
1799 Define the abbreviated weekday names, corresponding to the \fB%a\fR field
1800 descriptor (conversion specification in the \fBstrftime()\fR, \fBwcsftime()\fR,
1801 and \fBstrptime()\fR functions). The operand consists of seven
1802 semicolon-separated strings, each surrounded by double-quotes. The first string
1803 is the abbreviated name of the day corresponding to Sunday, the second the
1804 abbreviated name of the day corresponding to Monday, and so on.
1805 .RE
1806 


2033 Define the locale's appropriate alternative date and time format, corresponding
2034 to the \fB%Ec\fR field descriptor.
2035 .RE
2036 
2037 .sp
2038 .ne 2
2039 .na
2040 \fB\fBalt_digits\fR\fR
2041 .ad
2042 .RS 15n
2043 Define alternative symbols for digits, corresponding to the \fB%O\fR field
2044 descriptor modifier. The operand consists of semicolon-separated strings, each
2045 surrounded by double-quotes. The first string is the alternative symbol
2046 corresponding with zero, the second string the symbol corresponding with one,
2047 and so on. Up to 100 alternative symbol strings can be specified. The \fB%O\fR
2048 modifier indicates that the string corresponding to the value specified via the
2049 field descriptor will be used instead of the value.
2050 .RE
2051 
2052 .SS "LC_TIME \fIC-language\fR Access"

2053 The following information can be accessed. These correspond to constants
2054 defined in <\fBlanginfo.h\fR> and used as arguments to the
2055 \fBnl_langinfo\fR(3C) function.
2056 .sp
2057 .ne 2
2058 .na
2059 \fB\fBABDAY_\fIx\fR\fR\fR
2060 .ad
2061 .RS 15n
2062 The abbreviated weekday names (for example Sun), where \fIx\fR is a number from
2063 1 to 7.
2064 .RE
2065 
2066 .sp
2067 .ne 2
2068 .na
2069 \fB\fBDAY_\fIx\fR\fR\fR
2070 .ad
2071 .RS 15n
2072 The full weekday names (for example Sunday), where \fIx\fR is a number from 1


2294 \fBabday\fR     \fBABDAY_\fR\fIx\fR     \fB%a\fR
2295 \fBday\fR       \fBDAY_\fR\fIx\fR       \fB%A\fR
2296 \fBabmon\fR     \fBABMON_\fR\fIx\fR     \fB%b\fR
2297 \fBmon\fR       \fBMON\fR       \fB%B\fR
2298 \fBd_t_fmt\fR   \fBD_T_FMT\fR   \fB%c\fR
2299 \fBdate_fmt\fR  \fBDATE_FMT\fR  \fB%C\fR
2300 \fBd_fmt\fR     \fBD_FMT\fR     \fB%x\fR
2301 \fBt_fmt\fR     \fBT_FMT\fR     \fB%X\fR
2302 \fBam_pm\fR     \fBAM_STR\fR    \fB%p\fR
2303 \fBam_pm\fR     \fBPM_STR\fR    \fB%p\fR
2304 \fBt_fmt_ampm\fR        \fBT_FMT_AMPM\fR        \fB%r\fR
2305 \fBera\fR       \fBERA\fR       \fB%EC, %Eg,\fR
2306                 \fB%EG, %Ey, %EY\fR
2307 \fBera_d_fmt\fR \fBERA_D_FMT\fR \fB%Ex\fR
2308 \fBera_t_fmt\fR \fBERA_T_FMT\fR \fB%EX\fR
2309 \fBera_d_t_fmt\fR       \fBERA_D_T_FMT\fR       \fB%Ec\fR
2310 \fBalt_digits\fR        \fBALT_DIGITS\fR        \fB%O\fR
2311 .TE
2312 
2313 .SS "LC_TIME \fIGeneral\fR Information"

2314 Although certain of the field descriptors in the POSIX locale (such as the name
2315 of the month) are shown with initial capital letters, this need not be the case
2316 in other locales. Programs using these fields may need to adjust the
2317 capitalization if the output is going to be used at the beginning of a
2318 sentence.
2319 .sp
2320 .LP
2321 The \fBLC_TIME\fR descriptions of \fBabday\fR, \fBday\fR, \fBmon\fR, and
2322 \fBabmon\fR imply a Gregorian style calendar (7-day weeks, 12-month years, leap
2323 years, and so forth). Formatting time strings for other types of calendars is
2324 outside the scope of this document set.
2325 .sp
2326 .LP
2327 As specified under \fBdate\fR in \fBLocale Definition\fR and
2328 \fBstrftime\fR(3C), the field descriptors corresponding to the optional
2329 keywords consist of a modifier followed by a traditional field descriptor (for
2330 instance \fB%Ex\fR). If the optional keywords are not supported by the
2331 implementation or are unspecified for the current locale, these field
2332 descriptors are treated as the traditional field descriptor. For instance,
2333 assume the following keywords:
2334 .sp
2335 .in +2
2336 .nf
2337 alt_digits      "0th" ; "1st" ; "2nd" ; "3rd" ; "4th" ; "5th" ; \e
2338 "6th" ; "7th" ; "8th" ; "9th" ; "10th">
2339 d_fmt   "The %Od day of %B in %Y"
2340 .fi
2341 .in -2
2342 .sp
2343 
2344 .sp
2345 .LP
2346 On 7/4/1776, the \fB%x\fR field descriptor would result in "The 4th day of July
2347 in 1776" while 7/14/1789 would come out as "The 14 day of July in 1789" The
2348 above example is for illustrative purposes only. The \fB%O\fR modifier is
2349 primarily intended to provide for Kanji or Hindi digits in \fBdate\fR formats.
2350 .SS "LC_MESSAGES"

2351 The  \fBLC_MESSAGES\fR category defines the format and values for affirmative
2352 and negative responses.
2353 .sp
2354 .LP
2355 The following keywords are recognized as part of the locale definition file.
2356 The \fBnl_langinfo\fR(3C) function accepts upper-case versions of the first
2357 four keywords.
2358 .sp
2359 .ne 2
2360 .na
2361 \fB\fByesexpr\fR\fR
2362 .ad
2363 .RS 11n
2364 The operand consists of an extended regular expression (see \fBregex\fR(5))
2365 that describes the acceptable affirmative response to a question expecting an
2366 affirmative or negative response.
2367 .RE
2368 
2369 .sp
2370 .ne 2


2423 
2424 .sp
2425 
2426 .sp
2427 .TS
2428 box;
2429 l | l | l
2430 l | l | l .
2431 \fBlocaledef Keyword\fR \fBlanginfo Constant\fR \fBPOSIX Locale Value\fR
2432 \fByesexpr\fR   \fBYESEXPR\fR   \fB"^[yY]"\fR
2433 \fBnoexpr\fR    \fBNOEXPR\fR    \fB"^[nN]"\fR
2434 \fByesstr\fR    \fBYESSTR\fR    \fB"yes"\fR
2435 \fBnostr\fR     \fBNOSTR\fR     \fB"no"\fR
2436 .TE
2437 
2438 .sp
2439 .LP
2440 In an application conforming to the SUSv3 standard, the information on
2441 \fByesstr\fR and \fBnostr\fR is not available.
2442 .SH SEE ALSO

2443 \fBdate\fR(1), \fBlocale\fR(1), \fBlocaledef\fR(1), \fBsort\fR(1), \fBtr\fR(1),
2444 \fBuniq\fR(1), \fBlocaleconv\fR(3C), \fBnl_langinfo\fR(3C),
2445 \fBsetlocale\fR(3C), \fBstrcoll\fR(3C), \fBstrftime\fR(3C), \fBstrptime\fR(3C),
2446 \fBstrxfrm\fR(3C), \fBwcscoll\fR(3C), \fBwcsftime\fR(3C), \fBwcsxfrm\fR(3C),
2447 \fBwctype\fR(3C), \fBattributes\fR(5), \fBcharmap\fR(5), \fBextensions\fR(5),
2448 \fBregex\fR(5)