locale(7) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

locale(7)

lo...e(7)Standards, Environments, Macros, Character Sets, and miscellanlyo...e(7)

NAME
       locale  -  subset  of a user's environment that depends on language and
       cultural conventions

DESCRIPTION
       A locale 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:

       LC_CTYPE       Character classification and case conversion.


       LC_COLLATE     Collation order.


       LC_TIME        Date and time formats.


       LC_NUMERIC     Numeric formatting.


       LC_MONETARY    Monetary formatting.


       LC_MESSAGES    Formats  of  informative and diagnostic messages and in‐
                      teractive responses.



       The standard utilities base their behavior on the  current  locale,  as
       defined  in the ENVIRONMENT VARIABLES section for each utility. The be‐
       havior of some of the C-language functions will also be modified  based
       on  the current locale, as defined by the last call to setlocale(3C) or
       uselocale(3C).


       In Oracle Solaris 11.0 and later releases, locales are installed or re‐
       moved by using special facets, which are provided by the Image  Packag‐
       ing System (IPS). For example:

         # pkg change-facet locale.ja=true



       The  above  command will install the Japanese locale on the system. For
       more information, see the pkg(7) and nlsadm(8) man pages.


       Locales other than those supplied by the implementation can be  created
       by  using the localedef(1) utility. The value that is used to specify a
       locale when using environment variables will be the string specified as
       the name operand to localedef when the locale was created. The  strings
       "C" and "POSIX" are reserved as identifiers for the POSIX locale.


       Applications  can select the desired locale by invoking the setlocale()
       or uselocale() functions with the appropriate value. If the setlocale()
       function is invoked with an empty string, such as:

         setlocale(LC_ALL, "");



       the value of the corresponding environment variable is used. If the en‐
       vironment variable is unset or is set to the empty string,  the  setlo‐
       cale() function sets the appropriate environment.

   Locale Definition
       Locales can be described with the file format accepted by the localedef
       utility.


       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.


       A  category source definition consists of a category header, a category
       body, and a category trailer. A category header consists of the charac‐
       ter string naming of the category, beginning with the  characters  LC_.
       The  category  trailer  consists  of the string END, followed by one or
       more blank characters and the string used in the corresponding category
       header.


       The category body consists of one or more lines of text. Each line con‐
       tains an identifier, optionally followed by one or more operands. Iden‐
       tifiers 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 LC_. Identifiers  must  be  sepa‐
       rated from the operands by one or more blank characters.


       Operands  must be characters, collating elements, or strings of charac‐
       ters. Strings must be enclosed in double-quotes  (").  Literal  double-
       quotes  within strings must be preceded by the escape character, as de‐
       scribed below. When a keyword is followed by more than one operand, the
       operands must be separated by semicolons (;). Blank characters are  al‐
       lowed both before and after a semicolon.


       The first category header in the file can be preceded by a line modify‐
       ing  the  comment  character.  It has the following format, starting in
       column 1:

         "comment_char %c\n",<comment character>



       The comment character defaults to the number sign (#). Blank lines  and
       lines  containing  the  comment character in the first position are ig‐
       nored.


       The first category header in the file can be preceded by a line modify‐
       ing the escape character to be used in the file. It has  the  following
       format, starting in column 1:

         "escape_char %c\n",<escape character>



       The escape character defaults to backslash.


       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  {LINE_MAX}  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.


       Individual characters, characters in strings,  and  collating  elements
       must  be  represented  using symbolic names, as defined below. In addi‐
       tion, 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 (<) is a reserved sym‐
       bol,  denoting the start of a symbolic name; when used to represent it‐
       self it must be preceded by the escape character. The  following  rules
       apply to character representation:

           1.     A character can be represented by using a symbolic name, en‐
                  closed within angle brackets < and >. The symbolic name, in‐
                  cluding  the  angle  brackets, must exactly match a symbolic
                  name defined in the charmap file specified by using the  lo‐
                  caledef   -f  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 LC_CTYPE or LC_COLLATE, in which case it consti‐
                  tutes a warning condition (see localedef(1) for  a  descrip‐
                  tion  of  action  resulting  from  errors and warnings). The
                  specification of a symbolic name in a  collating-element  or
                  collating-symbol  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 char‐
                  acter.

                  Example:

                    <C>;<c-cedilla> "<M><a><y>"



           2.     A character can be represented by the character  itself,  in
                  which  case the value of the character is implementation-de‐
                  pendent. 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 inter‐
                  preted as the character itself. Outside strings, the charac‐
                  ters


                    , ; < > escape_char

                  must be escaped to be interpreted as the character itself.

                  Example:

                    c       "May"



           3.     A character can be represented as an octal constant. An  oc‐
                  tal  constant  is specified as the escape character followed
                  by two or more octal digits. Each constant represents a byte
                  value. Multibyte values can be represented  by  concatenated
                  constants  specified  in  byte  order with the last constant
                  specifying the least significant byte of the character.

                  Example:

                    \143;\347;\143\150    "\115\141\171"



           4.     A character can be represented as a hexadecimal constant.  A
                  hexadecimal  constant  is  specified as the escape character
                  followed by an x followed by two or more hexadecimal digits.
                  Each constant represents a byte value. Multibyte values  can
                  be  represented  by concatenated constants specified in byte
                  order with the last constant specifying the  least  signifi‐
                  cant byte of the character.

                  Example:

                    \x63;\xe7;\x63\x68    "\x4d\x61\x79"



           5.     A character can be represented as a decimal constant. A dec‐
                  imal  constant is specified as the escape character followed
                  by a d followed by two or more decimal digits. Each constant
                  represents a byte value. Multibyte values can be represented
                  by concatenated constants specified in byte order  with  the
                  last  constant  specifying the least significant byte of the
                  character.

                  Example:


                    \d99;\d231;\d99\d104   "\d77\d97\d121"

                  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 oc‐
                  tal,  decimal  or  hexadecimal constants. Symbolic names not
                  present in the charmap file can be specified and will be ig‐
                  nored, as specified under item 1 above.



   LC_CTYPE
       The LC_CTYPE 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  sym‐
       bol  (...).  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.


       Example:

         \x30;...;\x39;



       includes in the character class all characters with encoded values  be‐
       tween the endpoints.


       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.


       The character classes digit, xdigit, lower, upper, and space have a set
       of  automatically  included characters. These only need to be specified
       if the character values (that is, encoding) differ from the implementa‐
       tion default values.

       upper             Define characters to be classified as uppercase  let‐
                         ters.

                         In the POSIX locale, the 26 uppercase letters are in‐
                         cluded:


                           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

                         In  a  locale definition file, no character specified
                         for the keywords cntrl, digit, punct, or space can be
                         specified. The uppercase letters A to Z are automati‐
                         cally included in this class.


       lower             Define characters to be classified as lowercase  let‐
                         ters.  In  the POSIX locale, the 26 lowercase letters
                         are included:


                           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

                         In a locale definition file, no  character  specified
                         for the keywords cntrl, digit, punct, or space can be
                         specified.  The  lowercase  letters  a  to  z  of the
                         portable character set are automatically included  in
                         this class.


       alpha             Define characters to be classified as letters.

                         In  the  POSIX  locale, all characters in the classes
                         upper and lower are included.

                         In a locale definition file, no  character  specified
                         for the keywords cntrl, digit, punct, or space can be
                         specified.  Characters  classified as either upper or
                         lower are automatically included in this class.


       digit             Define the characters to  be  classified  as  numeric
                         digits.

                         In the POSIX locale, only


                           0 1 2 3 4 5 6 7 8 9

                         are included.

                         In a locale definition file, only the digits 0, 1, 2,
                         3, 4, 5, 6, 7, 8, and 9 can be specified, and in con‐
                         tiguous  ascending  sequence  by numerical value. The
                         digits 0 to 9 of the portable character set are auto‐
                         matically included in this class.

                         The definition of character class digit requires that
                         only ten characters; the ones defining digits can  be
                         specified;  alternative digits (for example, Hindi or
                         Kanji) cannot be specified here.


       alnum             Define characters to be classified as letters and nu‐
                         meric digits. Only the characters specified  for  the
                         alpha  and  digit  keywords are specified. Characters
                         specified for the keywords alpha and digit are  auto‐
                         matically included in this class.


       space             Define  characters  to  be  classified as white-space
                         characters.

                         In the POSIX locale, at  a  minimum,  the  characters
                         SPACE,  FORMFEED,  NEWLINE, CARRIAGE RETURN, TAB, and
                         VERTICAL TAB are included.

                         In a locale definition file, no  character  specified
                         for  the  keywords upper, lower, alpha, digit, graph,
                         or xdigit can be  specified.  The  characters  SPACE,
                         FORMFEED, NEWLINE, CARRIAGE RETURN, TAB, and VERTICAL
                         TAB of the portable character set, and any characters
                         included  in  the  class  blank are automatically in‐
                         cluded in this class.


       cntrl             Define characters to be classified as control charac‐
                         ters.

                         In the POSIX locale, no characters in  classes  alpha
                         or print are included.

                         In  a  locale definition file, no character specified
                         for the keywords upper, lower, alpha,  digit,  punct,
                         graph, print, or xdigit can be specified.


       punct             Define  characters  to  be  classified as punctuation
                         characters.

                         In the POSIX locale, neither the space character  nor
                         any  characters in classes alpha, digit, or cntrl are
                         included.

                         In a locale definition file, no  character  specified
                         for  the  keywords upper, lower, alpha, digit, cntrl,
                         xdigit, or as the space character can be specified.


       graph             Define characters to be classified as printable char‐
                         acters, not including the space character.

                         In the POSIX locale, all characters in classes alpha,
                         digit, and punct are included; no characters in class
                         cntrl are included.

                         In a locale definition file, characters specified for
                         the keywords upper, lower, alpha, digit, xdigit,  and
                         punct  are  automatically  included in this class. No
                         character specified for  the  keyword  cntrl  can  be
                         specified.


       print             Define characters to be classified as printable char‐
                         acters, including the space character.

                         In  the  POSIX  locale, all characters in class graph
                         are included; no characters in class  cntrl  are  in‐
                         cluded.

                         In a locale definition file, characters specified for
                         the  keywords  upper,  lower,  alpha,  digit, xdigit,
                         punct, and the space character are automatically  in‐
                         cluded  in this class. No character specified for the
                         keyword cntrl can be specified.


       xdigit            Define the characters to be classified as hexadecimal
                         digits.

                         In the POSIX locale, only:


                           0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f

                         are included.

                         In a locale definition file, only the characters  de‐
                         fined  for  the class digit can be specified, in con‐
                         tiguous ascending sequence by numerical  value,  fol‐
                         lowed  by  one  or more sets of six characters repre‐
                         senting the hexadecimal digits 10  to  15  inclusive,
                         with  each  set in ascending order (for example A, B,
                         C, D, E, F, a, b, c, d, e, f). The digits 0 to 9, the
                         uppercase letters A to F, and the lowercase letters a
                         to f of the portable character set are  automatically
                         included in this class.

                         The  definition  of  character  class xdigit requires
                         that the characters included in character class digit
                         be included here also.


       blank             Define characters to be classified as  blank  charac‐
                         ters.

                         In  the  POSIX locale, only the space and tab charac‐
                         ters are included.

                         In a locale definition file, the characters space and
                         tab are automatically included in this class.


       charclass         Define one or more  locale-specific  character  class
                         names  as strings separated by semicolons. Each named
                         character class can then be defined  subsequently  in
                         the  LC_CTYPE definition. A character class name con‐
                         sists  of  at  least   one   and   at   most   {CHAR‐
                         CLASS_NAME_MAX} bytes of alphanumeric characters from
                         the  portable filename character set. The first char‐
                         acter of a character class name cannot  be  a  digit.
                         The  name  cannot  match any of the LC_CTYPE keywords
                         defined in this document.


       charclass-name    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  charclass  keyword,  but  no characters are subse‐
                         quently assigned to it, this is not an error; it rep‐
                         resents a class without any characters  belonging  to
                         it.  The  charclass-name  can be used as the property
                         argument to the wctype(3C) function, in  regular  ex‐
                         pression  and  shell pattern-matching bracket expres‐
                         sions, and by the tr(1) command.


       toupper           Define the mapping of lowercase letters to  uppercase
                         letters.

                         In  the  POSIX locale, at a minimum, the 26 lowercase
                         characters:


                           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

                         are mapped to the corresponding 26 uppercase  charac‐
                         ters:


                           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

                         In  a locale definition file, the operand consists of
                         character pairs, separated by semicolons. The charac‐
                         ters in each character pair are separated by a  comma
                         and the pair enclosed by parentheses. The first char‐
                         acter  in each pair is the lowercase letter, the sec‐
                         ond the corresponding uppercase letter. Only  charac‐
                         ters  specified  for the keywords lower and upper can
                         be specified. The lowercase letters a to z, and their
                         corresponding  uppercase  letters  A  to  Z,  of  the
                         portable  character set are automatically included in
                         this mapping, but only when the  toupper  keyword  is
                         omitted from the locale definition.


       tolower           Define  the mapping of uppercase letters to lowercase
                         letters.

                         In the POSIX locale, at a minimum, the  26  uppercase
                         characters:


                           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

                         are  mapped to the corresponding 26 lowercase charac‐
                         ters:


                           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

                         In a locale definition file, the operand consists  of
                         character pairs, separated by semicolons. The charac‐
                         ters  in each character pair are separated by a comma
                         and the pair enclosed by parentheses. The first char‐
                         acter in each pair is the uppercase letter, the  sec‐
                         ond  the corresponding lowercase letter. Only charac‐
                         ters specified for the keywords lower and  upper  can
                         be  specified. If the tolower keyword is omitted from
                         the locale definition, the mapping will  be  the  re‐
                         verse mapping of the one specified for toupper.


   LC_COLLATE
       The  LC_COLLATE  category  provides a collation sequence definition for
       numerous utilities (such as sort(1), uniq(1), and  so  forth),  regular
       expression  matching  (see regex(7)), and the strcoll(3C), strxfrm(3C),
       wcscoll(3C), and wcsxfrm(3C) functions.


       A collation sequence definition defines the relative order between col‐
       lating 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:

           1.     Multi-character  collating elements. Specification of multi-
                  character collating elements (that is, sequences of  two  or
                  more characters to be collated as an entity).


           2.     User-defined  ordering of collating elements. 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, un‐
                  less collation weights are explicitly specified, also as the
                  collation weight to be used in sorting.


           3.     Multiple weights and equivalence classes. Collating elements
                  can  be  assigned   one   or   more   (up   to   the   limit
                  {COLL_WEIGHTS_MAX})  collating  weights  for use in sorting.
                  The first weight is hereafter referred  to  as  the  primary
                  weight.


           4.     One-to-Many  mapping.  A  single  character is mapped into a
                  string of collating elements.


           5.     Equivalence class definition. Two or more collating elements
                  have the same collation value (primary weight).


           6.     Ordering by weights. When two strings are compared to deter‐
                  mine 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 collat‐
                  ing elements are recompared according to the relative subse‐
                  quent weights, until either a  pair  of  collating  elements
                  compare unequal or the weights are exhausted.




       The  following  keywords are recognized in a collation sequence defini‐
       tion. They are described in detail in the following sections.

       copy                 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  speci‐
                            fied.


       point                Specify  the  name of a locale or a relative path‐
                            name of a locale data file which should be used as
                            the definition of this category. Unlike  the  copy
                            keyword  which duplicates the locale category data
                            for this  locale  during  locale  generation,  the
                            point  keyword  merely yields to save a pointer to
                            the locale or the locale data  file  allowing  dy‐
                            namic  locale  category  data  sharing  with  much
                            smaller memory requirement. The locale or the  lo‐
                            cale  data file being pointed to must exist at the
                            target system for this category  to  be  available
                            and usable.

                            The  relative  pathname  of  a locale data file is
                            identified by one or more slash ('/', 0x2f)  char‐
                            acters in the supplied name. When a relative path‐
                            name is specified, it is assumed that they are un‐
                            der  the default locale directory shown in the lo‐
                            caledef(1) man page. It is  not  allowed  to  have
                            ".." as a directory entry. Leading slash character
                            is not necessary.

                            As an example, while:


                              point "common/my-sorting-order"

                            will  point  to /usr/lib/locale/common/my-sorting-
                            order, the following:


                              point "en_US.UTF-8"

                            will  point  to   the   category   definition   of
                            en_US.UTF-8    locale   under   the   /usr/lib/lo‐
                            cale/en_US.UTF-8/ directory for this category.

                            If this keyword is used, no other keyword is spec‐
                            ified.

                            Since this keyword is  a  Solaris-specific  exten‐
                            sion,  any  portable localedef source files should
                            not rely on this extension if source  file  porta‐
                            bility is important.


       collating-element    Define  a  collating-element symbol representing a
                            multi-character collating element. This keyword is
                            optional.


       collating-symbol     Define a collating symbol for use in collation or‐
                            der statements. This keyword is optional.


       order_start          Define collation rules. This statement is followed
                            by one or more collation order statements, assign‐
                            ing  character  collation  values  and   collation
                            weights to collating elements.


       order_end            Specify the end of the collation-order statements.


   collating-element keyword
       In addition to the collating elements in the character set, the collat‐
       ing-element  keyword  is  used to define multi-character collating ele‐
       ments. The syntax is:

         "collating-element %s from \"%s\"\n",<collating-symbol>,<string>



       The <collating-symbol> operand is a symbolic name, enclosed between an‐
       gle brackets (< and >), 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  <collating-element>  de‐
       fined by using this keyword is only recognized with the LC_COLLATE cat‐
       egory.


       Example:
         collating-element <ch> from "<c><h>"
         collating-element <e-acute> from "<acute><e>"
         collating-element <ll> from "ll"

   collating-symbol keyword
       This  keyword  will  be used to define symbols for use in collation se‐
       quence statements; that is, between the order_start and  the  order_end
       keywords. The syntax is:

         "collating-symbol %s\n",<collating-symbol>



       The  <collating-symbol>  is  a  symbolic  name,  enclosed between angle
       brackets (< and >), and must not duplicate any  symbolic  name  in  the
       current  charmap  file  (if any), or any other symbolic name defined in
       this collation definition.


       A collating-symbol defined by using this  keyword  is  only  recognized
       with the LC_COLLATE category.


       Example:
         collating-symbol <UPPER_CASE>
         collating-symbol <HIGH>


       The  collating-symbol keyword defines a symbolic name that can be asso‐
       ciated 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.

   order_start keyword
       The order_start keyword must precede collation order entries  and  also
       defines  the  number  of weights for this collation sequence definition
       and other collation rules.


       The syntax of the order_start keyword is:

         "order_start %s;%s;...;%s\n",<sort-rules>,<sort-rules>



       The operands to the order_start keyword are optional. If  present,  the
       operands define rules to be applied when strings are compared. The num‐
       ber of operands define how many weights each element is assigned. If no
       operands  are  present, one forward 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 (;).
       Each operand consists of one or more collation directives, separated by
       commas (,). If the number of operands  exceeds  the  {COLL_WEIGHTS_MAX}
       limit,  the  utility will issue a warning message. The following direc‐
       tives will be supported:

       forward     Specifies that comparison operations for the  weight  level
                   proceed from start of string toward the end of string.


       backward    Specifies  that  comparison operations for the weight level
                   proceed from end of string toward the beginning of string.


       position    Specifies that comparison operations for the  weight  level
                   will  consider  the  relative  position  of elements in the
                   strings not subject to IGNORE. The string containing an el‐
                   ement not subject to IGNORE after the fewest collating ele‐
                   ments subject to IGNORE from the start of the compare  will
                   collate first. If both strings contain a character not sub‐
                   ject to IGNORE in the same relative position, the collating
                   values  assigned  to the elements will determine the order‐
                   ing. In case of equality, subsequent characters not subject
                   to IGNORE are considered in the same manner.



       The directives forward and backward are mutually exclusive.


       Example:

         order_start    forward;backward



       If no operands are specified, a single forward operand is assumed.

   Collation Order
       The order_start keyword is followed by  collating  identifier  entries.
       The syntax for the collating element entries is:

         "%s %s;%s;...;%s\n"<collating-identifier>,<weight>,<weight>,...



       Each  collating-identifier  consists of either a character described in
       Locale Definition above, a <collating-element>,  a  <collating-symbol>,
       an  ellipsis,  or the special symbol UNDEFINED. The order in which col‐
       lating elements are specified determines the character order  sequence,
       such  that  each collating element compares less than the elements fol‐
       lowing it. The NUL character compares lower than any other character.


       A <collating-element> is used to specify multi-character collating ele‐
       ments, and indicates that the character sequence specified by using the
       <collating-element> is to be collated as a unit and in the relative or‐
       der specified by its place.


       A <collating-symbol> is used to define a position in the relative order
       for use in weights. No weights are specified with a <collating-symbol>.


       The ellipsis symbol specifies that a sequence of characters  will  col‐
       late  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 as‐
       cending 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 be‐
       tween implementations.


       The symbol UNDEFINED is interpreted as including  all  coded  character
       set  values  not  specified explicitly or by using 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 UNDEFINED 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.


       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 equivalence
       class if they have the same primary weight. Collation  behaves  as  if,
       for  each  weight level, elements subject to IGNORE are removed, unless
       the position collation directive is  specified  for  the  corresponding
       level  with  the order_start keyword. Then each successive pair of ele‐
       ments 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 {COLL_WEIGHTS_MAX}.


       Weights are expressed as  characters  described  in  Locale  Definition
       above,  <collating-symbol>s,  <collating-element>s, an ellipsis, or the
       special symbol IGNORE. A single character, a  <collating-symbol>  or  a
       <collating-element>  represent  the  relative position in the character
       collating sequence of the character or symbol, rather than the  charac‐
       ter or characters themselves. Thus, rather than assigning absolute val‐
       ues to weights, a particular weight is expressed using the relative or‐
       der  value  assigned  to  a collating element based on its order in the
       character collation sequence.


       One-to-many mapping is indicated by specifying two or more concatenated
       characters or symbolic names. For example, if the character <eszet>  is
       given  the string "<s><s>" as a weight, comparisons are performed as if
       all occurrences of the character <eszet> are replaced by <s><s> (assum‐
       ing that <s> has the collating weight <s>). If it is necessary  to  de‐
       fine  <eszet> and <s><s> as an equivalence class, then a collating ele‐
       ment must be defined for the string ss.


       All characters specified by using an ellipsis will by  default  be  as‐
       signed unique weights, equal to the relative order of characters. Char‐
       acters  specified  by  using  an explicit or implicit UNDEFINED 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 charac‐
       ter 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 UNDEFINED.


       The special keyword IGNORE as a weight indicates that when strings  are
       compared  using the weights at the level where IGNORE 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 IGNORE in their primary weight  form  an
       equivalence class.


       An empty operand is interpreted as the collating element itself.


       For example, the order statement:

         <a>   <a>;<a>



       is equal to:

         <a>



       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.


       The  collation order as defined in this section defines the interpreta‐
       tion of bracket expressions in regular expressions.


       Example:

       tab();  lw(2.75i)  lw(2.75i)  order_startforward;backward  UNDEFINEDIG‐
       NORE;IGNORE  <LOW>  <space><LOW>;<space>  ...<LOW>;...   <a><a>;<a> <a-
       acute><a>;<a-acute> <a-grave><a>;<a-grave> <A><a>;<A>  <A-acute><a>;<A-
       acute>  <A-grave><a>;<A-grave>  <ch><ch>;<ch>  <Ch><ch>;<Ch> <s><s>;<s>
       <eszet>"<s><s>";"<eszet><eszet>" order_end



       This example is interpreted as follows:

           1.     The UNDEFINED means that all  characters  not  specified  in
                  this  definition  (explicitly  or by using the ellipsis) are
                  ignored for collation purposes; for regular expression  pur‐
                  poses they are ordered first.


           2.     All characters between <space> and <a> have the same primary
                  equivalence  class and individual secondary weights based on
                  their ordinal encoded values.


           3.     All characters based on the upper- or lower-case character a
                  belong to the same primary equivalence class.


           4.     The multi-character collating element <ch> is represented by
                  the collating symbol <ch> and belongs to  the  same  primary
                  equivalence  class  as the multi-character collating element
                  <Ch>.



   order_end keyword
       The collating order entries must be terminated with an  order_end  key‐
       word.

   LC_MONETARY
       The LC_MONETARY category defines the rules and symbols that are used to
       format  monetary  numeric  information.  This  information is available
       through the localeconv(3C) function.


       The following items are defined in this category  of  the  locale.  The
       item names are the keywords recognized by the localedef(1) utility when
       defining  a  locale.  They  are also similar to the member names of the
       lconv structure defined in <locale.h>. The localeconv function  returns
       {CHAR_MAX}  for unspecified integer items and the empty string ("") for
       unspecified or size zero string items.


       In a locale definition file the operands are  strings.  For  some  key‐
       words,  the  strings  can  contain only integers. Keywords that are not
       provided, string values set to the empty string (""), or  integer  key‐
       words  set  to −1, are used to indicate that the value is not available
       in the locale.

       int_curr_symbol       The international currency symbol. The operand is
                             a four-character string,  with  the  first  three
                             characters  containing  the  alphabetic  interna‐
                             tional 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.


       currency_symbol       The string used as the local currency symbol.


       mon_decimal_point     The operand is a  string  containing  the  symbol
                             that  is  used  as  the  decimal delimiter (radix
                             character) in monetary formatted quantities.


       mon_thousands_sep     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.


       mon_grouping          Define the size of each group of digits  in  for‐
                             matted  monetary quantities. The operand is a se‐
                             quence 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
                             −1,  then the size of the previous group (if any)
                             will be repeatedly used for the remainder of  the
                             digits.  If  the last integer is −1, then no fur‐
                             ther grouping will be performed.

                             The following is an example of the interpretation
                             of the mon_grouping keyword.  Assuming  that  the
                             value  to  be  formatted  is  123456789  and  the
                             mon_thousands_sep is ', 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 localeconv function to ac‐
                             commodate this grouping.


                               mon_grouping   Formatted Value  ISO C String

                               3;-1           123456'789       "\3\177"
                               3              123'456'789      "\3"
                               3;2;-1         1234'56'789      "\3\2\177"
                               3;2            12'34'56'789     "\3\2"
                               -1             1234567898       "\177"

                             In these examples, the octal value of  {CHAR_MAX}
                             is 177.


       positive_sign         A  string  used to indicate a non-negative-valued
                             formatted monetary quantity.


       negative_sign         A string used to indicate a negative-valued  for‐
                             matted monetary quantity.


       int_frac_digits       An  integer representing the number of fractional
                             digits (those to the right of the decimal  delim‐
                             iter) to be written in a formatted monetary quan‐
                             tity using int_curr_symbol.


       frac_digits           An  integer representing the number of fractional
                             digits (those to the right of the decimal  delim‐
                             iter) to be written in a formatted monetary quan‐
                             tity using currency_symbol.


       p_cs_precedes         In  an  application conforming to the SUSv3 stan‐
                             dard, an integer set to 1 if the  currency_symbol
                             precedes the value for a monetary quantity with a
                             non-negative  value,  and  set to 0 if the symbol
                             succeeds the value.

                             In an application not  conforming  to  the  SUSv3
                             standard,  an  integer  set  to  1  if  the  cur‐
                             rency_symbol or int_currency_symbol precedes  the
                             value for a monetary quantity with a non-negative
                             value,  and  set  to 0 if the symbol succeeds the
                             value.


       p_sep_by_space        In an application conforming to the  SUSv3  stan‐
                             dard,  an  integer set to 0 if no space separates
                             the currency_symbol from the value for a monetary
                             quantity with a non-negative value, set to 1 if a
                             space separates the symbol from  the  value,  and
                             set  to 2 if a space separates the symbol and the
                             sign string, if adjacent.

                             In an application not  conforming  to  the  SUSv3
                             standard,  an  integer set to 0 if no space sepa‐
                             rates the currency_symbol or int_curr_symbol from
                             the value for a monetary quantity with a non-neg‐
                             ative value, set to 1 if a  space  separates  the
                             symbol  from  the  value, and set to 2 if a space
                             separates the symbol and the sign string, if  ad‐
                             jacent.


       n_cs_precedes         In  an  application conforming to the SUSv3 stan‐
                             dard, an integer set to 1 if the  currency_symbol
                             precedes the value for a monetary quantity with a
                             negative  value,  and set to 0 if the symbol suc‐
                             ceeds the value.

                             In an application not  conforming  to  the  SUSv3
                             standard,  an  integer  set  to  1  if  the  cur‐
                             rency_symbol or int_currency_symbol precedes  the
                             value  for  a  monetary  quantity with a negative
                             value, and set to 0 if the  symbol  succeeds  the
                             value.


       n_sep_by_space        In  an  application conforming to the SUSv3 stan‐
                             dard, an integer set to 0 if no  space  separates
                             the currency_symbol from the value for a monetary
                             quantity  with  a  negative  value, set to 1 if a
                             space separates the symbol from  the  value,  and
                             set  to 2 if a space separates the symbol and the
                             sign string, if adjacent.

                             In an application not  conforming  to  the  SUSv3
                             standard,  an  integer set to 0 if no space sepa‐
                             rates the currency_symbol or int_curr_symbol from
                             the value for a monetary quantity with a negative
                             value, set to 1 if a space separates  the  symbol
                             from the value, and set to 2 if a space separates
                             the symbol and the sign string, if adjacent.


       p_sign_posn           An  integer  set  to a value indicating the posi‐
                             tioning of the positive_sign for a monetary quan‐
                             tity with a non-negative value. The following in‐
                             teger values are recognized for both  p_sign_posn
                             and n_sign_posn:

                             In  an  application conforming to the SUSv3 stan‐
                             dard:


                             0    Parentheses enclose  the  quantity  and  the
                                  currency_symbol.


                             1    The  sign  string  precedes the quantity and
                                  the currency_symbol.


                             2    The sign string succeeds  the  quantity  and
                                  the currency_symbol.


                             3    The  sign  string precedes the currency_sym‐
                                  bol.


                             4    The sign string succeeds  the  currency_sym‐
                                  bol.

                             In  an  application  not  conforming to the SUSv3
                             standard:

                             0    Parentheses enclose  the  quantity  and  the
                                  currency_symbol or int_curr_symbol.


                             1    The  sign  string  precedes the quantity and
                                  the currency_symbol or int_curr_symbol.


                             2    The sign string succeeds  the  quantity  and
                                  the currency_symbol or int_curr_symbol.


                             3    The sign string precedes the currency_symbol
                                  or int_curr_symbol.


                             4    The sign string succeeds the currency_symbol
                                  or int_curr_symbol.



       n_sign_posn           An  integer  set  to a value indicating the posi‐
                             tioning of the negative_sign for a negative  for‐
                             matted monetary quantity.


       int_p_cs_precedes     An  integer  set to 1 if the int_curr_symbol pre‐
                             cedes the value for a monetary  quantity  with  a
                             non-negative  value,  and  set to 0 if the symbol
                             succeeds the value.


       int_n_cs_precedes     An integer set to 1 if the  int_curr_symbol  pre‐
                             cedes  the  value  for a monetary quantity with a
                             negative value, and set to 0 if the  symbol  suc‐
                             ceeds the value.


       int_p_sep_by_space    An  integer  set  to  0 if no space separates the
                             int_curr_symbol from the  value  for  a  monetary
                             quantity with a non-negative value, set to 1 if a
                             space  separates  the  symbol from the value, and
                             set to 2 if a space separates the symbol and  the
                             sign string, if adjacent.


       int_n_sep_by_space    An  integer  set  to  0 if no space separates the
                             int_curr_symbol from the  value  for  a  monetary
                             quantity  with  a  negative  value, set to 1 if a
                             space separates the symbol from  the  value,  and
                             set  to 2 if a space separates the symbol and the
                             sign string, if adjacent.


       int_p_sign_posn       An integer set to a value  indicating  the  posi‐
                             tioning of the positive_sign for a positive mone‐
                             tary  quantity  formatted  with the international
                             format. The following integer values  are  recog‐
                             nized for int_p_sign_posn and int_n_sign_posn:

                             0    Parentheses  enclose  the  quantity  and the
                                  int_curr_symbol.


                             1    The sign string precedes  the  quantity  and
                                  the int_curr_symbol.


                             2    The  sign  string  precedes the quantity and
                                  the int_curr_symbol.


                             3    The sign string precedes  the  int_curr_sym‐
                                  bol.


                             4    The  sign  string succeeds the int_curr_sym‐
                                  bol.



       int_n_sign_posn       An integer set to a value  indicating  the  posi‐
                             tioning of the negative_sign for a negative mone‐
                             tary  quantity  formatted  with the international
                             format.



       The following table shows the result of various combinations:

       tab();  cw(1.48i)  cw(1.48i)  cw(0.8i)  lw(0.8i)  cw(1.48i)   cw(1.48i)
       cw(0.8i)  cw(0.8i)  cw(0.8i)  lw(0.13i)  lw(1.48i)  lw(1.48i)  lw(0.8i)
       lw(0.8i)   lw(0.8i)   lw(0.13i)   p_sep_by_space   210   p_cs_precedes=
       1p_sign_posn=  0($1.25)($1.25)($1.25)  p_sign_posn= 1+$1.25+$1.25+$1.25
       p_sign_posn=   2$1.25+$1.25+$1.25+   p_sign_posn=   3+$1.25+$1.25+$1.25
       p_sign_posn=  4$+1.25$+1.25$+1.25  p_cs_precedes=  0p_sign_posn= 0(1.25
       $)(1.25  $)(1.25$)  p_sign_posn=  1+1.25  $+1.25  $+1.25$  p_sign_posn=
       21.25$  +1.25  $+1.25$+ p_sign_posn= 31.25+ $1.25 +$1.25+$ p_sign_posn=
       41.25$ +1.25 $+1.25$+



       The monetary formatting definitions for the POSIX  locale  follow.  The
       code listing depicts the localedef(1) input, the table representing the
       same  information  with  the  addition  of  localeconv(3C) and nl_lang‐
       info(3C) formats. All values are unspecified in the POSIX locale.

         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



       The entry n/a indicates that the value is not available  in  the  POSIX
       locale.

   LC_NUMERIC
       The LC_NUMERIC category defines the rules and symbols that will be used
       to  format non-monetary numeric information. This information is avail‐
       able through the localeconv(3C) function.


       The following items are defined in this category  of  the  locale.  The
       item  names  are  the keywords recognized by the localedef utility when
       defining a locale. They are also similar to the  member  names  of  the
       lconv  structure  defined  in <locale.h>. The localeconv() function re‐
       turns {CHAR_MAX} for unspecified integer items  and  the  empty  string
       ("") for unspecified or size zero string items.


       In  a  locale  definition  file the operands are strings. For some key‐
       words, the strings only can contain integers.  Keywords  that  are  not
       provided,  string  values set to the empty string (""), or integer key‐
       words set to −1, will be used to indicate that the value is not  avail‐
       able in the locale. The following keywords are recognized:

       decimal_point    The  operand is a string containing the symbol that is
                        used as the decimal delimiter (radix character) in nu‐
                        meric, non-monetary formatted quantities. This keyword
                        cannot be omitted and  cannot  be  set  to  the  empty
                        string.  In  contexts  where standards limit the deci‐
                        mal_point to a single byte, the result of specifying a
                        multibyte operand is unspecified.


       thousands_sep    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 for‐
                        matted monetary quantities. In  contexts  where  stan‐
                        dards  limit  the  thousands_sep to a single byte, the
                        result of specifying a multibyte operand  is  unspeci‐
                        fied.


       grouping         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 speci‐
                        fies the number of digits in each group, with the ini‐
                        tial integer defining the size of  the  group  immedi‐
                        ately preceding the decimal delimiter, and the follow‐
                        ing  integers  defining  the  preceding groups. If the
                        last integer is not −1, then the size of the  previous
                        group (if any) will be repeatedly used for the remain‐
                        der  of the digits. If the last integer is −1, then no
                        further grouping will be performed.  The  non-monetary
                        numeric  formatting  definitions  for the POSIX locale
                        follow. The code listing depicts the localedef  input,
                        the  table  representing the same information with the
                        addition of localeconv values,  and  nl_langinfo  con‐
                        stants.

                          LC_NUMERIC
                          # This is the POSIX locale definition for
                          # the LC_NUMERIC category.
                          #
                          decimal_point  "<period>"
                          thousands_sep  ""
                          grouping  -1
                          #
                          END LC_NUMERIC



       tab();  lw(1.1i) cw(1.1i) cw(1.1i) cw(1.1i) cw(1.11i) cw(1.1i) cw(1.1i)
       cw(1.1i)  cw(1.1i)  cw(1.11i)  lw(1.1i)  cw(1.1i)   cw(1.1i)   cw(1.1i)
       cw(1.11i)  POSIX localelanginfolocaleconv()localedef ItemValueConstant‐
       ValueValue _ decimal_point"."RADIXCHAR".".  thousands_sepn/aTHOUSEP""""
       groupingn/a-""−1



       The entry n/a indicates that the value is not available  in  the  POSIX
       locale.

   LC_TIME
       The  LC_TIME  category defines the interpretation of the field descrip‐
       tors supported by date(1) and affects the behavior of the strftime(3C),
       wcsftime(3C), strptime(3C), and nl_langinfo(3C) functions. Because  the
       interfaces  for C-language access and locale definition differ signifi‐
       cantly, they are described separately. For locale definition, the  fol‐
       lowing mandatory keywords are recognized:

       abday          Define  the  abbreviated weekday names, corresponding to
                      the %a field descriptor (conversion specification in the
                      strftime(), wcsftime(), and strptime()  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.


       day            Define  the  full weekday names, corresponding to the %A
                      field descriptor. The operand consists  of  seven  semi‐
                      colon-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.


       abmon          Define the abbreviated month names, corresponding to the
                      %b  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 abbre‐
                      viated name of the second month, and so on.


       mon            Define the full month names,  corresponding  to  the  %B
                      field  descriptor.  The operand consists of twelve semi‐
                      colon-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.


       d_t_fmt        Define the appropriate  date  and  time  representation,
                      corresponding  to  the  %c 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 \\, \a, \b, \f,
                      \n, \r, \t, \v.


       date_fmt       Define the appropriate  date  and  time  representation,
                      corresponding  to  the  %C 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 \\, \a, \b, \f,
                      \n, \r, \t, \v.


       d_fmt          Define the appropriate date representation,  correspond‐
                      ing  to the %x field descriptor. The operand consists of
                      a string, and can contain any combination of  characters
                      and  field descriptors. In addition, the string can con‐
                      tain the escape sequences \\, \a, \b, \f,  \n,  \r,  \t,
                      \v.


       t_fmt          Define  the appropriate time representation, correspond‐
                      ing to the %X field descriptor. The operand consists  of
                      a  string, and can contain any combination of characters
                      and field descriptors. In addition, the string can  con‐
                      tain  the  escape  sequences \\, \a, \b, \f, \n, \r, \t,
                      \v.


       am_pm          Define the appropriate representation of the ante  meri‐
                      diem  and post meridiem strings, corresponding to the %p
                      field descriptor. The operand consists of  two  strings,
                      separated  by  a  semicolon,  each surrounded by double-
                      quotes. The first string represents  the  ante  meridiem
                      designation,  the last string the post meridiem designa‐
                      tion.


       t_fmt_ampm     Define  the  appropriate  time  representation  in   the
                      12-hour clock format with am_pm, corresponding to the %r
                      field  descriptor.  The operand consists of a string and
                      can contain any combination of characters and field  de‐
                      scriptors. If the string is empty, the 12-hour format is
                      not supported in the locale.


       era            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:

                      direction:offset:start_date:end_date:era_name:era_format

                      according to the definitions below. There can be as many
                      era  description  segments  as are necessary to describe
                      the different eras.

                      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.

                      direction     Either a + or a − character. The + charac‐
                                    ter indicates that  years  closer  to  the
                                    start_date  have  lower numbers than those
                                    closer to the end_date.  The  −  character
                                    indicates   that   years   closer  to  the
                                    start_date have higher numbers than  those
                                    closer to the end_date.


                      offset        The  number  of  the  year  closest to the
                                    start_date in the  era,  corresponding  to
                                    the %Eg and %Ey field descriptors.


                      start_date    A date in the form yyyy/mm/dd, where yyyy,
                                    mm,  and  dd  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.


                      end_date      The  ending  date  of the era, in the same
                                    format as the start_date, or  one  of  the
                                    two  special values −* or +*. The value −*
                                    indicates that the ending date is the  be‐
                                    ginning  of  time.  The value +* indicates
                                    that the ending date is the end of time.


                      era_name      A string representing the name of the era,
                                    corresponding to the %EC field descriptor.


                      era_format    A string for formatting the  year  in  the
                                    era,  corresponding  to  the  %EG  and %EY
                                    field descriptors.



       era_d_fmt      Define the format of the date in alternative  era  nota‐
                      tion, corresponding to the %Ex field descriptor.


       era_t_fmt      Define the locale's appropriate alternative time format,
                      corresponding to the %EX field descriptor.


       era_d_t_fmt    Define  the  locale's  appropriate  alternative date and
                      time format, corresponding to the %Ec field descriptor.


       alt_digits     Define alternative symbols for digits, corresponding  to
                      the  %O  field descriptor modifier. The operand consists
                      of semicolon-separated strings, each surrounded by  dou‐
                      ble-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 %O modifier indi‐
                      cates that the string corresponding to the value  speci‐
                      fied  by using the field descriptor will be used instead
                      of the value.


   LC_TIME C-language Access
       The following information can be accessed.  These  correspond  to  con‐
       stants  defined  in  <langinfo.h> and used as arguments to the nl_lang‐
       info(3C) function.

       ABDAY_x        The abbreviated weekday names (for example Sun), where x
                      is a number from 1 to 7.


       DAY_x          The full weekday names (for example Sunday), where x  is
                      a number from 1 to 7.


       ABMON_x        The  abbreviated  month names (for example Jan), where x
                      is a number from 1 to 12.


       MON_x          The full month names (for example January), where x is a
                      number from 1 to 12.


       D_T_FMT        The appropriate date and time representation.


       D_FMT          The appropriate date representation.


       T_FMT          The appropriate time representation.


       AM_STR         The appropriate ante-meridiem affix.


       PM_STR         The appropriate post-meridiem affix.


       T_FMT_AMPM     The appropriate time representation in the 12-hour clock
                      format with AM_STR and PM_STR.


       ERA            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:


                        direction:offset:start_date:end_date:era_name:era_format

                      according  to  the  definitions  below. There will be as
                      many era description segments as are  necessary  to  de‐
                      scribe  the different eras. Era description segments are
                      separated by semicolons.

                      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.

                      direction     Either a + or a − character. The + charac‐
                                    ter indicates that  years  closer  to  the
                                    start_date  have  lower numbers than those
                                    closer to the end_date.  The  −  character
                                    indicates   that   years   closer  to  the
                                    start_date have higher numbers than  those
                                    closer to the end_date.


                      offset        The  number  of  the  year  closest to the
                                    start_date in the era.


                      start_date    A date in the form yyyy/mm/dd, where yyyy,
                                    mm, and dd are the year,  month,  and  day
                                    numbers  respectively  of the start of the
                                    era. Years prior to AD 1  are  represented
                                    as negative numbers.


                      end_date      The  ending  date  of the era, in the same
                                    format as the start_date, or  one  of  the
                                    two special values, −* or +*. The value −*
                                    indicates  that the ending date is the be‐
                                    ginning of time. The  value  +*  indicates
                                    that the ending date is the end of time.


                      era_name      The  era, corresponding to the %EC conver‐
                                    sion specification.


                      era_format    The format of the year in the era,  corre‐
                                    sponding  to  the  %EY  and %EY conversion
                                    specifications.



       ERA_D_FMT      The era date format.


       ERA_T_FMT      The locale's appropriate alternative time format, corre‐
                      sponding to the %EX field descriptor.


       ERA_D_T_FMT    The locale's appropriate alternative date and time  for‐
                      mat, corresponding to the %Ec field descriptor.


       ALT_DIGITS     The alternative symbols for digits, corresponding to the
                      %O conversion specification modifier. The value consists
                      of  semicolon-separated symbols. The first is the alter‐
                      native symbol corresponding to zero, the second  is  the
                      symbol corresponding to one, and so on. Up to 100 alter‐
                      native  symbols  may  be  specified. The following table
                      displays the correspondence between the items  described
                      above  and the conversion specifiers used by date(1) and
                      the strftime(3C), wcsftime(3C), and  strptime(3C)  func‐
                      tions.


       tab()   box;   cw(1.83i)  |cw(1.83i)  |cw(1.83i)  cw(1.83i)  |cw(1.83i)
       |cw(1.83i) lw(1.83i) |lw(1.83i) |cw(1.83i)  localedeflanginfoConversion
       KeywordConstantSpecifier  _  abdayABDAY_x%a  dayDAY_x%A  abmonABMON_x%b
       monMON%B d_t_fmtD_T_FMT%c date_fmtDATE_FMT%C d_fmtD_FMT%x  t_fmtT_FMT%X
       am_pmAM_STR%p am_pmPM_STR%p t_fmt_ampmT_FMT_AMPM%r eraERA%EC, %Eg, %EG,
       %Ey,        %EY       era_d_fmtERA_D_FMT%Ex       era_t_fmtERA_T_FMT%EX
       era_d_t_fmtERA_D_T_FMT%Ec alt_digitsALT_DIGITS%O


   LC_TIME General 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.


       The LC_TIME descriptions of abday, day, mon, and abmon imply  a  Grego‐
       rian  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.


       As specified under date in  Locale  Definition  and  strftime(3C),  the
       field  descriptors  corresponding to the optional keywords consist of a
       modifier followed by a traditional field descriptor (for instance %Ex).
       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:

         alt_digits     "0th" ; "1st" ; "2nd" ; "3rd" ; "4th" ; "5th" ; \
         "6th" ; "7th" ; "8th" ; "9th" ; "10th">
         d_fmt     "The %Od day of %B in %Y"



       On 7/4/1776, the %x 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 %O mod‐
       ifier is primarily intended to provide for Kanji  or  Hindi  digits  in
       date formats.

   LC_MESSAGES
       The  LC_MESSAGES category defines the format and values for affirmative
       and negative responses.


       The following keywords are recognized as part of the locale  definition
       file.  The  nl_langinfo(3C)  function accepts uppercase versions of the
       first four keywords.

       yesexpr    The operand consists of an extended regular expression  (see
                  regex(7)) that describes the acceptable affirmative response
                  to a question expecting an affirmative or negative response.


       noexpr     The  operand consists of an extended regular expression that
                  describes the acceptable negative response to a question ex‐
                  pecting an affirmative or negative response.


       yesstr     The operand consists of a fixed string (not  a  regular  ex‐
                  pression) that can be used by an application for composition
                  of  a message that lists an acceptable affirmative response,
                  such as in a prompt.


       nostr      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  af‐
                  firmative and negative responses of the POSIX locale follow;
                  the  code  listing  depicting the localedef input, the table
                  representing the  same  information  with  the  addition  of
                  nl_langinfo() constants.

                    LC_MESSAGES
                    # This is the POSIX locale definition for
                    # the LC_MESSAGES category.
                    #
                    yesexpr "<circumflex><left-square-bracket><y><Y>\
                            <right-square-bracket>"
                    #
                    noexpr  "<circumflex><left-square-bracket><n><N>\
                            <right-square-bracket>"
                    #
                    yesstr    "yes"
                    nostr     "no"
                    END LC_MESSAGES



       tab()   box;   lw(1.83i)  |cw(1.83i)  |lw(1.83i)  lw(1.83i)  |lw(1.83i)
       |lw(1.83i) localedef Keywordlanginfo ConstantPOSIX Locale Value  yesex‐
       prYESEXPR"^[yY]" noexprNOEXPR"^[nN]" yesstrYESSTR"yes" nostrNOSTR"no"



       In  an application conforming to the SUSv3 standard, the information on
       yesstr and nostr is not available.

SEE ALSO
       date(1), locale(1),  localedef(1),  sort(1),  tr(1),  uniq(1),  locale‐
       conv(3C),  nl_langinfo(3C),  setlocale(3C),  strcoll(3C), strftime(3C),
       strptime(3C), strxfrm(3C),  uselocale(3C),  wcscoll(3C),  wcsftime(3C),
       wcsxfrm(3C),   wctype(3C),  attributes(7),  charmap(7),  extensions(7),
       regex(7), nlsadm(8)


       Overview of Locales in Internationalizing and  Localizing  Applications
       in Oracle Solaris


       International Language Environments Guide for Oracle Solaris 11.4

Oracle Solaris 11.4               25 Nov 2024                        lo...e(7)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3