]> git.ipfire.org Git - thirdparty/man-pages.git/blobdiff - man5/locale.5
user_namespaces.7: ffix
[thirdparty/man-pages.git] / man5 / locale.5
index c34ee872dffddbe73f6dc5741dbb12ad93b28271..3fff4f1ef07077e4d2beb8a92918a15be7a28d43 100644 (file)
@@ -1,3 +1,4 @@
+'\" t -*- coding: UTF-8 -*-
 .\" Copyright (C) 1994  Jochen Hein (Hein@Student.TU-Clausthal.de)
 .\" Copyright (C) 2008  Petr Baudis (pasky@suse.cz)
 .\" Copyright (C) 2014 Michael Kerrisk <mtk@manpages@gmail.com>
 .\" 2008-06-17 Petr Baudis <pasky@suse.cz>
 .\"     LC_TIME: Describe first_weekday and first_workday
 .\"
-.TH LOCALE 5 2014-03-03 "Linux" "Linux User Manual"
+.TH LOCALE 5 2016-07-17 "Linux" "Linux User Manual"
 .SH NAME
 locale \- describes a locale definition file
 .SH DESCRIPTION
 The
 .B locale
-definition files contains all the information that the
+definition file contains all the information that the
 .BR localedef (1)
 command needs to convert it into the binary locale database.
 
 The definition files consist of sections which each describe a
 locale category in detail.
+See
+.BR locale (7)
+for additional details for these categories.
 .SS Syntax
 The locale definition file starts with a header that may consist
 of the following keywords:
 .TP
-.I <escape_char>
+.I escape_char
 is followed by a character that should be used as the
 escape-character for the rest of the file to mark characters that
 should be interpreted in a special way.
 It defaults to the backslash (\\).
 .TP
-.I <comment_char>
+.I comment_char
 is followed by a character that will be used as the
 comment-character for the rest of the file.
 It defaults to the number sign (#).
@@ -53,11 +57,30 @@ Each part can be copied from another existing locale or
 can be defined from scratch.
 If the category should be copied,
 the only valid keyword in the definition is
-.B copy
-followed by the name of the locale which should be copied.
-.\" FIXME glibc 2.2.2 added new nonstandard locale categories:
-.\" LC_ADDRESS, LC_IDENTIFICATION, LC_MEASUREMENT, LC_NAME,
-.\" LC_TELEPHONE.  These need to be documented.
+.I copy
+followed by the name of the locale in double quotes which should be
+copied.
+The exceptions for this rule are
+.B LC_COLLATE
+and
+.B LC_CTYPE
+where a
+.I copy
+statement can be followed by locale-specific rules and selected overrides.
+.PP
+When defining a category from scratch, all field descriptors and strings
+should be defined as Unicode code points in angle brackets, unless
+otherwise stated below.
+For example, "€" is to be presented as "<U20AC>", "%a" as
+"<U0025><U0061>", and "Monday" as
+"<U0053><U0075><U006E><U0064><U0061><U0079>".
+Values defined as Unicode code points must be in double quotes, plain
+number values are not quoted (but
+.BR LC_CTYPE
+and
+.BR LC_COLLATE
+follow special formatting, see the system-provided locale files for
+examples).
 .SS Locale category sections
 The following category sections are defined by POSIX:
 .IP * 3
@@ -87,14 +110,140 @@ the GNU C library supports the following nonstandard categories:
 .B LC_PAPER
 .IP *
 .B LC_TELEPHONE
+.PP
+See
+.BR locale (7)
+for a more detailed description of each category.
+
+.SS LC_ADDRESS
+The definition starts with the string
+.I LC_ADDRESS
+in the first column.
+
+The following keywords are allowed:
+.\" From localedata/locales/uk_UA
+.TP
+.I postal_fmt
+followed by a string containing field descriptors that define
+the format used for postal addresses in the locale.
+The following field descriptors are recognized:
+.RS
+.TP
+%n
+Person's name, possibly constructed with the
+.B LC_NAME
+.I name_fmt
+keyword (since glibc 2.24).
+.TP 4
+%a
+Care of person, or organization.
+.TP
+%f
+Firm name.
+.TP
+%d
+Department name.
+.TP
+%b
+Building name.
+.TP
+%s
+Street or block (e.g., Japanese) name.
+.TP
+%h
+House number or designation.
+.TP
+%N
+Insert an end-of-line if the previous descriptor's value was not an empty
+string; otherwise ignore.
+.TP
+%t
+Insert a space if the previous descriptor's value was not an empty string;
+otherwise ignore.
+.TP
+%r
+Room number, door designation.
+.TP
+%e
+Floor number.
+.TP
+%C
+Country designation, from the
+.I country_post
+keyword.
+.TP
+%l
+Local township within town or city (since glibc 2.24).
+.TP
+%z
+Zip number, postal code.
+.TP
+%T
+Town, city.
+.TP
+%S
+State, province, or prefecture.
+.TP
+%c
+Country, as taken from data record.
+.PP
+Each field descriptor may have an \(aqR\(aq after
+the \(aq%\(aq to specify that the
+information is taken from a Romanized version string of the
+entity.
+.RE
+.TP
+.I country_name
+followed by the country name in the language of the current document
+(e.g., "Deutschland" for the
+.B de_DE
+locale).
+.TP
+.I country_post
+followed by the abbreviation of the country (see CERT_MAILCODES).
+.TP
+.I country_ab2
+followed by the two-letter abbreviation of the country (ISO 3166).
+.TP
+.I country_ab3
+followed by the three-letter abbreviation of the country (ISO 3166).
+.TP
+.I country_num
+followed by the numeric country code as plain numbers (ISO 3166).
+.TP
+.I country_car
+followed by the international licence plate country code.
+.TP
+.I country_isbn
+followed by the ISBN code (for books).
+.TP
+.I lang_name
+followed by the language name in the language of the current document.
+.TP
+.I lang_ab
+followed by the two-letter abbreviation of the language (ISO 639).
+.TP
+.I lang_term
+followed by the three-letter abbreviation of the language (ISO 639-2/T).
+.TP
+.I lang_lib
+followed by the three-letter abbreviation of the language for library
+use (ISO 639-2/B).
+Applications should in general prefer
+.IR lang_term
+over
+.IR lang_lib .
+.PP
+The
+.B LC_ADDRESS
+definition ends with the string
+.IR "END LC_ADDRESS" .
 .SS LC_CTYPE
-The definition for the
-.B LC_CTYPE
-category starts with the string
+The definition starts with the string
 .I LC_CTYPE
 in the first column.
 
-There are the following keywords allowed:
+The following keywords are allowed:
 .TP
 .I upper
 followed by a list of uppercase letters.
@@ -262,6 +411,10 @@ and
 .B <tab>
 are automatically included.
 .TP
+.I charclass
+followed by a list of locale-specific character class names
+which are then to be defined in the locale.
+.TP
 .I toupper
 followed by a list of mappings from lowercase to uppercase
 letters.
@@ -277,57 +430,223 @@ followed by a list of mappings from uppercase to lowercase
 letters.
 If the keyword tolower is not present, the reverse of the
 toupper list is used.
+.TP
+.I map totitle
+followed by a list of mapping pairs of
+characters and letters
+to be used in titles (headings).
+.TP
+.I class
+followed by a locale-specific character class definition,
+starting with the class name followed by the characters
+belonging to the class.
+.TP
+.I charconv
+followed by a list of locale-specific character mapping names
+which are then to be defined in the locale.
+.TP
+.I outdigit
+followed by a list of alternate output digits for the locale.
+.TP
+.I map to_inpunct
+followed by a list of mapping pairs of
+alternate digits and separators
+for input digits for the locale.
+.TP
+.I map to_outpunct
+followed by a list of mapping pairs of
+alternate separators
+for output for the locale.
+.TP
+.I translit_start
+marks the start of the transliteration rules section.
+The section can contain the
+.I include
+keyword in the beginning followed by
+locale-specific rules and overrides.
+Any rule specified in the locale file
+will override any rule
+copied or included from other files.
+In case of duplicate rule definitions in the locale file,
+only the first rule is used.
+
+A transliteration rule consist of a character to be transliterated
+followed by a list of transliteration targets separated by semicolons.
+The first target which can be presented in the target character set
+is used, if none of them can be used the
+.I default_missing
+character will be used instead.
+.TP
+.I include
+in the transliteration rules section includes
+a transliteration rule file
+(and optionally a repertoire map file).
+.TP
+.I default_missing
+in the transliteration rules section
+defines the default character to be used for
+transliteration where none of the targets cannot be presented
+in the target character set.
+.TP
+.I translit_end
+marks the end of the transliteration rules.
 .PP
 The
 .B LC_CTYPE
 definition ends with the string
-.IR "END LC_CYTPE" .
+.IR "END LC_CTYPE" .
 .SS LC_COLLATE
-The
-.B LC_COLLATE
-category defines the rules for collating characters.
-Due to
-limitations of libc not all POSIX-options are implemented.
+Note that glibc does not support all POSIX-defined options,
+only the options described below are supported (as of glibc 2.23).
 
 The definition starts with the string
-.B LC_COLLATE
+.I LC_COLLATE
 in the first column.
 
-There are the following keywords allowed:
+The following keywords are allowed:
+.TP
+.I coll_weight_max
+followed by the number representing used collation levels.
+This keyword is recognized but ignored by glibc.
 .TP
 .I collating-element
+followed by the definition of a collating-element symbol
+representing a multicharacter collating element.
 .TP
 .I collating-symbol
+followed by the definition of a collating symbol
+that can be used in collation order statements.
+.TP
+.I define
+followed by
+.B string
+to be evaluated in an
+.I ifdef
+.B string
+/
+.I else
+/
+.I endif
+construct.
+.TP
+.I reorder-after
+followed by a redefinition of a collation rule.
+.TP
+.I reorder-end
+marks the end of the redefinition of a collation rule.
+.TP
+.I reorder-sections-after
+followed by a script name to reorder listed scripts after.
+.TP
+.I reorder-sections-end
+marks the end of the reordering of sections.
+.TP
+.I script
+followed by a declaration of a script.
+.TP
+.I symbol-equivalence
+followed by a collating-symbol to be equivalent to another defined
+collating-symbol.
 .PP
-The order-definition starts with a line:
+The collation rule definition starts with a line:
 .TP
 .I order_start
-.PP
-followed by a list of keywords out of
+followed by a list of keywords chosen from
 .BR forward ,
 .BR backward ,
 or
 .BR position .
-The order definition consists of lines that describe the order
-and is terminated with the keyword
-.TP
+The order definition consists of lines that describe the collation
+order and is terminated with the keyword
 .IR order_end .
 .PP
-For more details see the sources in
-.I /usr/lib/nls/src
-notably the examples
-.BR POSIX ,
-.B Example
-and
-.B Example2
-.PP
 The
 .B LC_COLLATE
 definition ends with the string
 .IR "END LC_COLLATE" .
+.SS LC_IDENTIFICATION
+The definition starts with the string
+.I LC_IDENTIFICATION
+in the first column.
+
+The values in this category are defined as plain strings.
+
+The following keywords are allowed:
+.TP
+.I title
+followed by the title of the locale document
+(e.g., "Maori language locale for New Zealand").
+.TP
+.I source
+followed by the name of the organization that maintains this document.
+.TP
+.I address
+followed by the address of the organization that maintains this document.
+.TP
+.I contact
+followed by the name of the contact person at
+the organization that maintains this document.
+.TP
+.I email
+followed by the email address of the person or
+organization that maintains this document.
+.TP
+.I tel
+followed by the telephone number (in international format)
+of the organization that maintains this document.
+As of glibc 2.24, this keyword is deprecated in favor of
+other contact methods.
+.TP
+.I fax
+followed by the fax number (in international format)
+of the organization that maintains this document.
+As of glibc 2.24, this keyword is deprecated in favor of
+other contact methods.
+.TP
+.I language
+followed by the name of the language to which this document applies.
+.TP
+.I territory
+followed by the name of the country/geographic extent
+to which this document applies.
+.TP
+.I audience
+followed by a description of the audience for which this document is
+intended.
+.TP
+.I application
+followed by a description of any special application
+for which this document is intended.
+.TP
+.I abbreviation
+followed by the short name for provider of the source of this document.
+.TP
+.I revision
+followed by the revision number of this document.
+.TP
+.I date
+followed by the revision date of this document.
+.PP
+In addition, for each of the categories defined by the document,
+there should be a line starting with the keyword
+.IR category ,
+followed by:
+.IP * 3
+a string that identifies this locale category definition,
+.IP *
+a semicolon, and
+.IP *
+one of the
+.BI LC_ *
+identifiers.
+.PP
+The
+.B LC_IDENTIFICATION
+definition ends with the string
+.IR "END LC_IDENTIFICATION" .
 .SS LC_MESSAGES
 The definition starts with the string
-.B LC_MESSAGES
+.I LC_MESSAGES
 in the first column.
 
 The following keywords are allowed:
@@ -339,17 +658,56 @@ yes-responses.
 .I noexpr
 followed by a regular expression that describes possible
 no-responses.
+.TP
+.I yesstr
+followed by the output string corresponding to "yes".
+.TP
+.I nostr
+followed by the output string corresponding to "no".
 .PP
 The
 .B LC_MESSAGES
 definition ends with the string
 .IR "END LC_MESSAGES" .
+.SS LC_MEASUREMENT
+The definition starts with the string
+.I LC_MEASUREMENT
+in the first column.
+
+The following keywords are allowed:
+.TP
+.I measurement
+followed by number identifying the standard used for measurement.
+The following values are recognized:
+.RS
+.TP 4
+.B 1
+Metric.
+.TP
+.B 2
+US customary measurements.
+.RE
+.PP
+The
+.B LC_MEASUREMENT
+definition ends with the string
+.IR "END LC_MEASUREMENT" .
 .SS LC_MONETARY
 The definition starts with the string
-.B LC_MONETARY
+.I LC_MONETARY
 in the first column.
 
-There are the following keywords allowed:
+Values for
+.IR int_curr_symbol ,
+.IR currency_symbol ,
+.IR mon_decimal_point ,
+.IR mon_thousands_sep ,
+.IR positive_sign ,
+and
+.IR negative_sign
+are defined as Unicode code points, the others as plain numbers.
+
+The following keywords are allowed:
 .TP
 .I int_curr_symbol
 followed by the international currency symbol.
@@ -370,8 +728,11 @@ followed by the string that will be used as a group separator
 when formatting monetary quantities.
 .TP
 .I mon_grouping
-followed by a string that describes the formatting of numeric
-quantities.
+followed by a sequence of integers separated by semicolons that
+describe the formatting of monetary quantities.
+See
+.I grouping
+below for details.
 .TP
 .I positive_sign
 followed by a string that is used to indicate a positive sign for
@@ -384,67 +745,67 @@ monetary quantities.
 .I int_frac_digits
 followed by the number of fractional digits that should be used when
 formatting with the
-.BR int_curr_symbol .
+.IR int_curr_symbol .
 .TP
 .I frac_digits
 followed by the number of fractional digits that should be used when
 formatting with the
-.BR currency_symbol .
+.IR currency_symbol .
 .TP
 .I p_cs_precedes
-followed by an integer set to
-.B 1
-if the
+followed by an integer that indicates the placement of
 .I currency_symbol
-or
-.I int_curr_symbol
-should precede the formatted monetary quantity or set to
+for a nonnegative formatted monetary quantity:
+.RS
+.TP 4
 .B 0
-if the symbol succeeds the value.
+the symbol succeeds the value.
+.TP
+.B 1
+the symbol precedes the value.
+.RE
 .TP
 .I p_sep_by_space
-followed by an integer.
+followed by an integer that indicates the separation of
+.IR currency_symbol ,
+the sign string, and the value for a nonnegative formatted monetary quantity.
+The following values are recognized:
 .RS
-.TP
+.TP 4
 .B 0
-means that no space should be printed between the symbol and the
-value.
+No space separates the currency symbol and the value.
 .TP
 .B 1
-means that a space should be printed between the symbol and the
-value.
+If the currency symbol and the sign string are adjacent,
+a space separates them from the value;
+otherwise a space separates the currency symbol and the value.
 .TP
 .B 2
-means that a space should be printed between the symbol and the
-sign string, if adjacent.
+If the currency symbol and the sign string are adjacent,
+a space separates them from the value;
+otherwise a space separates the sign string and the value.
 .RE
 .TP
 .I n_cs_precedes
-.RS
-.TP
-.B 0
-- the symbol succeeds the value.
-.TP
-.B 1
-- the symbol precedes the value.
-.RE
+followed by an integer that indicates the placement of
+.I currency_symbol
+for a negative formatted monetary quantity.
+The same values are recognized as for
+.IR p_cs_precedes .
 .TP
 .I n_sep_by_space
-An integer set to
-.B 0
-if no space separates the
-.I currency_symbol
-or
-.I int_curr_symbol
-from the value for a negative monetary quantity, set to
-.B 1
-if a space separates the symbol from the value and set to
-.B 2
-if a space separates the symbol and the sign string, if adjacent.
+followed by an integer that indicates the separation of
+.IR currency_symbol ,
+the sign string, and the value for a negative formatted monetary quantity.
+The same values are recognized as for
+.IR p_sep_by_space .
 .TP
 .I p_sign_posn
+followed by an integer that indicates where the
+.I positive_sign
+should be placed for a nonnegative monetary quantity:
 .RS
-.TP
+.TP 4
 .B 0
 Parentheses enclose the quantity and the
 .I currency_symbol
@@ -477,46 +838,153 @@ or the
 .RE
 .TP
 .I n_sign_posn
+followed by an integer that indicates where the
+.I negative_sign
+should be placed for a negative monetary quantity.
+The same values are recognized as for
+.IR p_sign_posn .
+.TP
+.I int_p_cs_precedes
+followed by an integer that indicates the placement of
+.I int_curr_symbol
+for a nonnegative internationally formatted monetary quantity.
+The same values are recognized as for
+.IR p_cs_precedes .
+.TP
+.I int_n_cs_precedes
+followed by an integer that indicates the placement of
+.I int_curr_symbol
+for a negative internationally formatted monetary quantity.
+The same values are recognized as for
+.IR p_cs_precedes .
+.TP
+.I int_p_sep_by_space
+followed by an integer that indicates the separation of
+.IR int_curr_symbol ,
+the sign string,
+and the value for a nonnegative internationally formatted monetary quantity.
+The same values are recognized as for
+.IR p_sep_by_space .
+.TP
+.I int_n_sep_by_space
+followed by an integer that indicates the separation of
+.IR int_curr_symbol ,
+the sign string,
+and the value for a negative internationally formatted monetary quantity.
+The same values are recognized as for
+.IR p_sep_by_space .
+.TP
+.I int_p_sign_posn
+followed by an integer that indicates where the
+.I positive_sign
+should be placed for a nonnegative
+internationally formatted monetary quantity.
+The same values are recognized as for
+.IR p_sign_posn .
+.TP
+.I int_n_sign_posn
+followed by an integer that indicates where the
+.I negative_sign
+should be placed for a negative
+internationally formatted monetary quantity.
+The same values are recognized as for
+.IR p_sign_posn .
+.PP
+The
+.B LC_MONETARY
+definition ends with the string
+.IR "END LC_MONETARY" .
+.SS LC_NAME
+The definition starts with the string
+.I LC_NAME
+in the first column.
+
+Various keywords are allowed, but only
+.IR name_fmt
+is mandatory.
+Other keywords are needed only if there is common convention to
+use the corresponding salutation in this locale.
+The allowed keywords are as follows:
+.TP
+.I name_fmt
+followed by a string containing field descriptors that define
+the format used for names in the locale.
+The following field descriptors are recognized:
+.\" From localedata/locales/uk_UA
 .RS
+.TP 4
+%f
+Family name(s).
 .TP
-.B 0
-Parentheses enclose the quantity and the
-.I currency_symbol
-or
-.IR int_curr_symbol .
+%F
+Family names in uppercase.
 .TP
-.B 1
-The sign string precedes the quantity and the
-.I currency_symbol
-or the
-.IR int_curr_symbol .
+%g
+First given name.
 .TP
-.B 2
-The sign string succeeds the quantity and the
-.I currency_symbol
-or the
-.IR int_curr_symbol .
+%G
+First given initial.
 .TP
-.B 3
-The sign string precedes the
-.I currency_symbol
-or the
-.IR int_curr_symbol .
+%l
+First given name with Latin letters.
 .TP
-.B 4
-The sign string succeeds the
-.I currency_symbol
-or the
-.IR int_curr_symbol .
+%o
+Other shorter name.
+.TP
+%m
+Additional given name(s).
+.TP
+%M
+Initials for additional given name(s).
+.TP
+%p
+Profession.
+.TP
+%s
+Salutation, such as "Doctor".
+.TP
+%S
+Abbreviated salutation, such as "Mr." or "Dr.".
+.TP
+%d
+Salutation, using the FDCC-sets conventions.
+.\"  1 for the name_gen
+.\"        In glibc 2.19, %d1 is used in only:
+.\"            /home/mtk/ARCHIVE/GLIBC/glibc-2.19/localedata/locales/bem_ZM
+.\"            /home/mtk/ARCHIVE/GLIBC/glibc-2.19/localedata/locales/zh_HK
+.\"        In glibc 2.19, %d[2-5] appear to be not used at all
+.\"  2 for name_mr
+.\"  3 for name_mrs
+.\"  4 for name_miss
+.\"  5 for name_ms
+.TP
+%t
+If the preceding field descriptor resulted in an empty string,
+then the empty string, otherwise a space character.
 .RE
+.TP
+.I name_gen
+followed by the general salutation for any gender.
+.TP
+.I name_mr
+followed by the salutation for men.
+.TP
+.I name_mrs
+followed by the salutation for married women.
+.TP
+.I name_miss
+followed by the salutation for unmarried women.
+.TP
+.I name_ms
+followed by the salutation valid for all women.
 .PP
 The
-.B LC_MONETARY
+.B LC_NAME
 definition ends with the string
-.IR "END LC_MONETARY" .
+.IR "END LC_NAME" .
 .SS LC_NUMERIC
 The definition starts with the string
-.B LC_NUMERIC
+.I LC_NUMERIC
 in the first column.
 
 The following keywords are allowed:
@@ -530,8 +998,17 @@ followed by the string that will be used as a group separator
 when formatting numeric quantities.
 .TP
 .I grouping
-followed by a string that describes the formatting of numeric
-quantities.
+followed by a sequence of integers as plain numbers separated by
+semicolons that describe the formatting of numeric quantities.
+.IP
+Each integer specifies the number of digits in a group.
+The first integer defines the size of the group immediately
+to the left of the decimal delimiter.
+Subsequent integers define succeeding groups to the
+left of the previous group.
+If the last integer is not \-1, then the size of the previous group
+(if any) is repeatedly used for the remainder of the digits.
+If the last integer is \-1, then no further grouping is performed.
 .PP
 The
 .B LC_NUMERIC
@@ -539,9 +1016,11 @@ definition ends with the string
 .IR "END LC_NUMERIC" .
 .SS LC_PAPER
 The definition starts with the string
-.B LC_PAPER
+.I LC_PAPER
 in the first column.
 
+Values in this category are defined as plain numbers.
+
 The following keywords are allowed:
 .TP
 .I height
@@ -554,9 +1033,62 @@ The
 .B LC_PAPER
 definition ends with the string
 .IR "END LC_PAPER" .
+.SS LC_TELEPHONE
+The definition starts with the string
+.I LC_TELEPHONE
+in the first column.
+
+The following keywords are allowed:
+.TP
+.I tel_int_fmt
+followed by a string that contains field descriptors that identify
+the format used to dial international numbers.
+The following field descriptors are recognized:
+.\" From localedata/locales/uk_UA
+.RS
+.TP 4
+%a
+Area code without nationwide prefix (the prefix is often "00").
+.TP
+%A
+Area code including nationwide prefix.
+.TP
+%l
+Local number (within area code).
+.TP
+%e
+Extension (to local number).
+.TP
+%c
+Country code.
+.TP
+%C
+Alternate carrier service code used for dialing abroad.
+.TP
+%t
+If the preceding field descriptor resulted in an empty string,
+then the empty string, otherwise a space character.
+.RE
+.TP
+.I tel_dom_fmt
+followed by a string that contains field descriptors that identify
+the format used to dial domestic numbers.
+The recognized field descriptors are the same as for
+.IR tel_int_fmt .
+.TP
+.I int_select
+followed by the prefix used to call international phone numbers.
+.TP
+.I int_prefix
+followed by the prefix used from other countries to dial this country.
+.PP
+The
+.B LC_TELEPHONE
+definition ends with the string
+.IR "END LC_TELEPHONE" .
 .SS LC_TIME
 The definition starts with the string
-.B LC_TIME
+.I LC_TIME
 in the first column.
 
 The following keywords are allowed:
@@ -567,6 +1099,7 @@ The list starts with the first day of the week
 as specified by
 .I week
 (Sunday by default).
+See NOTES.
 .TP
 .I day
 followed by a list of names of the days of the week.
@@ -574,6 +1107,7 @@ The list starts with the first day of the week
 as specified by
 .I week
 (Sunday by default).
+See NOTES.
 .TP
 .I abmon
 followed by a list of abbreviated month names.
@@ -581,27 +1115,124 @@ followed by a list of abbreviated month names.
 .I mon
 followed by a list of month names.
 .TP
-.I am_pm
-The appropriate representation of the
-.B am
-and
-.B pm
-strings.
-.TP
 .I d_t_fmt
-The appropriate date and time format.
+followed by the appropriate date and time format
+(for syntax, see
+.BR strftime (3)).
 .TP
 .I d_fmt
-The appropriate date format.
+followed by the appropriate date format
+(for syntax, see
+.BR strftime (3)).
 .TP
 .I t_fmt
-The appropriate time format.
+followed by the appropriate time format
+(for syntax, see
+.BR strftime (3)).
+.TP
+.I am_pm
+followed by the appropriate representation of the
+.B am
+and
+.B pm
+strings.
+This should be left empty for locales not using AM/PM convention.
 .TP
 .I t_fmt_ampm
-The appropriate time format when using 12h clock format.
+followed by the appropriate time format
+(for syntax, see
+.BR strftime (3))
+when using 12h clock format.
+This should be left empty for locales not using AM/PM convention.
+.TP
+.I era
+followed by semicolon-separated strings that define how years are
+counted and displayed for each era in the locale.
+Each string has the following format:
+.RS
+.PP
+.IR direction ":" offset ":" start_date ":" end_date ":" era_name ":" era_format
+.PP
+The fields are to be defined as follows:
+.PP
+.TP 4
+.I direction
+Either
+.BR +
+or
+.BR -.
+.BR +
+means the years closer to
+.IR start_date
+have lower numbers than years closer to
+.IR end_date .
+.BR -
+means the opposite.
+.TP
+.I offset
+The number of the year closest to
+.IR start_date
+in the era, corresponding to the
+.IR %Ey
+descriptor (see
+.BR strptime (3)).
+.TP
+.I start_date
+The start of the era in the form of
+.IR yyyy/mm/dd .
+Years prior AD 1 are represented as negative numbers.
+.TP
+.I end_date
+The end of the era in the form of
+.IR yyyy/mm/dd ,
+or one of the two special values of
+.BR -*
+or
+.BR +* .
+.BR -*
+means the ending date is the beginning of time.
+.BR +*
+means the ending date is the end of time.
+.TP
+.I era_name
+The name of the era corresponding to the
+.I %EC
+descriptor (see
+.BR strptime (3)).
+.TP
+.I era_format
+The format of the year in the era corresponding to the
+.I %EY
+descriptor (see
+.BR strptime (3)).
+.RE
+.TP
+.I era_d_fmt
+followed by the format of the date in alternative era notation,
+corresponding to the
+.I %Ex
+descriptor (see
+.BR strptime (3)).
+.TP
+.I era_t_fmt
+followed by the format of the time in alternative era notation,
+corresponding to the
+.I %EX
+descriptor (see
+.BR strptime (3)).
+.TP
+.I era_d_t_fmt
+followed by the format of the date and time in alternative era notation,
+corresponding to the
+.I %Ec
+descriptor (see
+.BR strptime (3)).
+.TP
+.I alt_digits
+followed by the alternative digits used for date and time in the locale.
 .TP
 .I week
-followed by a list of three values:
+followed by a list of three values as plain numbers:
 The number of days in a week (by default 7),
 a date of beginning of the week (by default corresponds to Sunday),
 and the minimal length of the first week in year (by default 4).
@@ -610,52 +1241,124 @@ Regarding the start of the week,
 shall be used for Sunday and
 .B 19971201
 shall be used for Monday.
-Thus, countries using
-.B 19971130
-should have local Sunday name as the first day in the
-.I day
-list,
-while countries using
-.B 19971201
-should have Monday translation as the first item in the
-.I day
-list.
+See NOTES.
 .TP
 .IR first_weekday " (since glibc 2.2)"
-Number of the first day from the
+followed by the number of the first day from the
 .I day
 list to be shown in calendar applications.
 The default value of
 .B 1
-corresponds to either Sunday or Monday depending
+(plain number) corresponds to either Sunday or Monday depending
 on the value of the second
 .I week
 list item.
+See NOTES.
 .TP
 .IR first_workday " (since glibc 2.2)"
-Number of the first working day from the
+followed by the number of the first working day from the
 .I day
 list.
+The default value is
+.BR 2
+(plain number).
+See NOTES.
+.TP
+.I cal_direction
+.\" From localedata/locales/uk_UA
+followed by a plain number value that indicates the direction for the
+display of calendar dates, as follows:
+.RS
+.TP 4
+.B 1
+Left-right from top.
+.TP
+.B 2
+Top-down from left.
+.TP
+.B 3
+Right-left from top.
+.RE
+.TP
+.I date_fmt
+followed by the appropriate date representation for
+.BR date (1)
+(for syntax, see
+.BR strftime (3)).
 .PP
 The
 .B LC_TIME
 definition ends with the string
 .IR "END LC_TIME" .
 .SH FILES
-/usr/lib/locale/
-\(em database for the current locale setting of that category
-.br
-/usr/lib/nls/charmap/* \(em charmap-files
+.TP
+.I /usr/lib/locale/locale-archive
+Usual default locale archive location.
+.TP
+.I /usr/share/i18n/locales
+Usual default path for locale definition files.
 .SH CONFORMING TO
-POSIX.2, ISO/IEC 14652.
-.SH BUGS
-This manual page isn't complete.
+POSIX.2.
+.SH NOTES
+The collective GNU C library community wisdom regarding
+.IR abday ,
+.IR day ,
+.IR week ,
+.IR first_weekday ,
+and
+.I first_workday
+states at
+https://sourceware.org/glibc/wiki/Locales
+the following:
+.IP * 3
+The value of the second
+.I week
+list item specifies the base of the
+.I abday
+and
+.I day
+lists.
+.IP *
+.I first_weekday
+specifies the offset of the first day-of-week in the
+.I abday
+and
+.I day
+lists.
+.IP *
+For compatibility reasons, all glibc locales should set the value of the
+second
+.I week
+list item to
+.B 19971130
+(Sunday) and base the
+.I abday
+and
+.I day
+lists appropriately, and set
+.I first_weekday
+and
+.I first_workday
+to
+.B 1
+or
+.BR 2 ,
+depending on whether the week and work week actually starts on Sunday or
+Monday for the locale.
 .\" .SH AUTHOR
 .\" Jochen Hein (Hein@Student.TU-Clausthal.de)
 .SH SEE ALSO
+.BR iconv (1),
 .BR locale (1),
 .BR localedef (1),
 .BR localeconv (3),
+.BR newlocale (3),
 .BR setlocale (3),
+.BR strftime (3),
+.BR strptime (3),
+.BR uselocale (3),
 .BR charmap (5),
-.BR locale (7)
+.BR charsets (7),
+.BR locale (7),
+.BR unicode (7),
+.BR utf-8 (7)