1 '\" t -*- coding: UTF-8 -*-
2 .\" Copyright (C) 1994 Jochen Hein (Hein@Student.TU-Clausthal.de)
3 .\" Copyright (C) 2008 Petr Baudis (pasky@suse.cz)
4 .\" Copyright (C) 2014 Michael Kerrisk <mtk@manpages@gmail.com>
6 .\" %%%LICENSE_START(GPLv2+_SW_3_PARA)
7 .\" This program is free software; you can redistribute it and/or modify
8 .\" it under the terms of the GNU General Public License as published by
9 .\" the Free Software Foundation; either version 2 of the License, or
10 .\" (at your option) any later version.
12 .\" This program is distributed in the hope that it will be useful,
13 .\" but WITHOUT ANY WARRANTY; without even the implied warranty of
14 .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 .\" GNU General Public License for more details.
17 .\" You should have received a copy of the GNU General Public
18 .\" License along with this manual; if not, see
19 .\" <http://www.gnu.org/licenses/>.
22 .\" 2008-06-17 Petr Baudis <pasky@suse.cz>
23 .\" LC_TIME: Describe first_weekday and first_workday
25 .TH LOCALE 5 2016-03-15 "Linux" "Linux User Manual"
27 locale \- describes a locale definition file
31 definition file contains all the information that the
33 command needs to convert it into the binary locale database.
35 The definition files consist of sections which each describe a
36 locale category in detail.
39 for additional details for these categories.
41 The locale definition file starts with a header that may consist
42 of the following keywords:
45 is followed by a character that should be used as the
46 escape-character for the rest of the file to mark characters that
47 should be interpreted in a special way.
48 It defaults to the backslash (\\).
51 is followed by a character that will be used as the
52 comment-character for the rest of the file.
53 It defaults to the number sign (#).
55 The locale definition has one part for each locale category.
56 Each part can be copied from another existing locale or
57 can be defined from scratch.
58 If the category should be copied,
59 the only valid keyword in the definition is
61 followed by the name of the locale in double quotes which should be
63 The exceptions for this rule are
69 statement can be followed by locale-specific rules and selected overrides.
71 When defining a category from scratch, all field descriptors and strings
72 should be defined as Unicode code points in angle brackets, unless
73 otherwise stated below.
74 For example, "€" is to be presented as "<U20AC>", "%a" as
75 "<U0025><U0061>", and "Monday" as
76 "<U0053><U0075><U006E><U0064><U0061><U0079>".
77 Values defined as Unicode code points must be in double quotes, plain
78 number values are not quoted (but
82 follow special formatting, see the system-provided locale files for
84 .SS Locale category sections
85 The following category sections are defined by POSIX:
99 In addition, since version 2.2,
100 the GNU C library supports the following nonstandard categories:
116 for a more detailed description of each category.
119 The definition starts with the string
123 The following keywords are allowed:
124 .\" Thanks to the kind folk who wrote localedata/locales/uk_UA
127 followed by a string containing field descriptors that define
128 the format used for postal addresses in the locale.
129 The following field descriptors are recognized:
133 Person's name, possibly constructed with the
136 keyword (since glibc 2.24).
139 Care of person, or organization.
151 Street or block (e.g., Japanese) name.
154 House number or designation.
157 Insert an end-of-line if the previous descriptor's value was not an empty
158 string; otherwise ignore.
161 Insert a space if the previous descriptor's value was not an empty string;
165 Room number, door designation.
171 Country designation, from the <country_post> keyword.
174 Local township within town or city (since glibc 2.24).
177 Zip number, postal code.
183 State, province, or prefecture.
186 Country, as taken from data record.
188 Each field descriptor may have an \(aqR\(aq after
189 the \(aq%\(aq to specify that the
190 information is taken from a Romanized version string of the
195 followed by the country name in the language of the current document
196 (e.g., "Deutschland" for the
201 followed by the abbreviation of the country (see CERT_MAILCODES).
204 followed by the two-letter abbreviation of the country (ISO 3166).
207 followed by the three-letter abbreviation of the country (ISO 3166).
210 followed by the numeric country code as plain numbers (ISO 3166).
213 followed by the international licence plate country code.
216 followed by the ISBN code (for books).
219 followed by the language name in the language of the current document.
222 followed by the two-letter abbreviation of the language (ISO 639).
225 followed by the three-letter abbreviation of the language (ISO 639-2/T).
228 followed by the three-letter abbreviation of the language for library
230 Applications should in general prefer
237 definition ends with the string
238 .IR "END LC_ADDRESS" .
240 The definition starts with the string
244 The following keywords are allowed:
247 followed by a list of uppercase letters.
252 are included automatically.
253 Characters also specified as
262 followed by a list of lowercase letters.
267 are included automatically.
268 Characters also specified as
277 followed by a list of letters.
278 All character specified as either
282 are automatically included.
283 Characters also specified as
292 followed by the characters classified as numeric digits.
299 They are included by default in this class.
302 followed by a list of characters defined as white-space
304 Characters also specified as
317 .BR <carriage-return> ,
321 are automatically included.
324 followed by a list of control characters.
325 Characters also specified as
338 followed by a list of punctuation characters.
349 character are not allowed.
352 followed by a list of printable characters, not including the
355 The characters defined as
363 are automatically included.
364 Characters also specified as
369 followed by a list of printable characters, including the
372 The characters defined as
381 character are automatically included.
382 Characters also specified as
387 followed by a list of characters classified as hexadecimal
389 The decimal digits must be included followed by one or
390 more set of six characters in ascending order.
392 characters are included by default:
404 followed by a list of characters classified as
410 are automatically included.
413 followed by a list of locale-specific character class names
414 which are then to be defined in the locale.
417 followed by a list of mappings from lowercase to uppercase
419 Each mapping is a pair of a lowercase and an uppercase letter
422 and enclosed in parentheses.
423 The members of the list are separated
427 followed by a list of mappings from uppercase to lowercase
429 If the keyword tolower is not present, the reverse of the
430 toupper list is used.
433 followed by a list of mapping pairs of
434 characters and letters
435 to be used in titles (headings).
438 followed by a locale-specific character class definition,
439 starting with the class name followed by the characters
440 belonging to the class.
443 followed by a list of locale-specific character mapping names
444 which are then to be defined in the locale.
447 followed by a list of alternate output digits for the locale.
450 followed by a list of mapping pairs of
451 alternate digits and separators
452 for input digits for the locale.
455 followed by a list of mapping pairs of
457 for output for the locale.
460 marks the start of the transliteration rules section.
461 The section can contain the
463 keyword in the beginning followed by
464 locale-specific rules and overrides.
465 Any rule specified in the locale file
466 will override any rule
467 copied or included from other files.
468 In case of duplicate rule definitions in the locale file,
469 only the first rule is used.
471 A transliteration rule consist of a character to be transliterated
472 followed by a list of transliteration targets separated by semicolons.
473 The first target which can be presented in the target character set
474 is used, if none of them can be used the
476 character will be used instead.
479 in the transliteration rules section includes
480 a transliteration rule file
481 (and optionally a repertoire map file).
484 in the transliteration rules section
485 defines the default character to be used for
486 transliteration where none of the targets cannot be presented
487 in the target character set.
490 marks the end of the transliteration rules.
494 definition ends with the string
497 Due to limitations of glibc not all POSIX-options are implemented.
499 The definition starts with the string
503 The following keywords are allowed:
504 .\" FIXME The following LC_COLLATE keywords are not documented:
507 .\" reorder-sections-after
508 .\" reorder-sections-end
510 .\" symbol-equivalence
513 followed by the definition of a collating-element symbol
514 representing a multicharacter collating element.
517 followed by the definition of a collating symbol
518 that can be used in collation order statements.
520 The order-definition starts with a line:
523 followed by a list of keywords chosen from
528 The order definition consists of lines that describe the order
529 and is terminated with the keyword
534 definition ends with the string
535 .IR "END LC_COLLATE" .
536 .SS LC_IDENTIFICATION
537 The definition starts with the string
541 The values in this category are defined as plain strings.
543 The following keywords are allowed:
546 followed by the title of the locale document
547 (e.g., "Maori language locale for New Zealand").
550 followed by the name of the organization that maintains this document.
553 followed by the address of the organization that maintains this document.
556 followed by the name of the contact person at
557 the organization that maintains this document.
560 followed by the email address of the person or
561 organization that maintains this document.
564 followed by the telephone number (in international format)
565 of the organization that maintains this document.
566 As of glibc 2.24, this keyword is deprecated in favor of
567 other contact methods.
570 followed by the fax number (in international format)
571 of the organization that maintains this document.
572 As of glibc 2.24, this keyword is deprecated in favor of
573 other contact methods.
576 followed by the name of the language to which this document applies.
579 followed by the name of the country/geographic extent
580 to which this document applies.
583 followed by a description of the audience for which this document is intended.
586 followed by a description of any special application
587 for which this document is intended.
590 followed by the short name for provider of the source of this document.
593 followed by the revision number of this document.
596 followed by the revision date of this document.
598 In addition, for each of the categories defined by the document,
599 there should be a line starting with the keyword
603 a string that identifies this locale category definition,
613 definition ends with the string
614 .IR "END LC_IDENTIFICATION" .
616 The definition starts with the string
620 The following keywords are allowed:
623 followed by a regular expression that describes possible
627 followed by a regular expression that describes possible
631 followed by the output string corresponding to "yes".
634 followed by the output string corresponding to "no".
638 definition ends with the string
639 .IR "END LC_MESSAGES" .
641 The definition starts with the string
645 The following keywords are allowed:
648 followed by number identifying the standard used for measurement.
649 The following values are recognized:
656 US customary measurements.
661 definition ends with the string
662 .IR "END LC_MEASUREMENT" .
664 The definition starts with the string
669 .IR int_curr_symbol ,
670 .IR currency_symbol ,
671 .IR mon_decimal_point ,
672 .IR mon_thousands_sep ,
676 are defined as Unicode code points, the others as plain numbers.
678 The following keywords are allowed:
681 followed by the international currency symbol.
683 4-character string containing the international currency symbol as
684 defined by the ISO 4217 standard (three characters) followed by a
688 followed by the local currency symbol.
691 followed by the string that will be used as the decimal delimiter
692 when formatting monetary quantities.
695 followed by the string that will be used as a group separator
696 when formatting monetary quantities.
699 followed by a sequence of integers separated by semicolons that
700 describe the formatting of monetary quantities.
706 followed by a string that is used to indicate a positive sign for
710 followed by a string that is used to indicate a negative sign for
714 followed by the number of fractional digits that should be used when
716 .IR int_curr_symbol .
719 followed by the number of fractional digits that should be used when
721 .IR currency_symbol .
724 followed by an integer that indicates the placement of
726 for a nonnegative formatted monetary quantity:
730 the symbol succeeds the value.
733 the symbol precedes the value.
737 followed by an integer that indicates the separation of
738 .IR currency_symbol ,
739 the sign string, and the value for a nonnegative formatted monetary quantity.
740 The following values are recognized:
744 No space separates the currency symbol and the value.
747 If the currency symbol and the sign string are adjacent,
748 a space separates them from the value;
749 otherwise a space separates the currency symbol and the value.
752 If the currency symbol and the sign string are adjacent,
753 a space separates them from the value;
754 otherwise a space separates the sign string and the value.
758 followed by an integer that indicates the placement of
760 for a negative formatted monetary quantity.
761 The same values are recognized as for
765 followed by an integer that indicates the separation of
766 .IR currency_symbol ,
767 the sign string, and the value for a negative formatted monetary quantity.
768 The same values are recognized as for
772 followed by an integer that indicates where the
774 should be placed for a nonnegative monetary quantity:
778 Parentheses enclose the quantity and the
781 .IR int_curr_symbol .
784 The sign string precedes the quantity and the
787 .IR int_curr_symbol .
790 The sign string succeeds the quantity and the
793 .IR int_curr_symbol .
796 The sign string precedes the
799 .IR int_curr_symbol .
802 The sign string succeeds the
805 .IR int_curr_symbol .
809 followed by an integer that indicates where the
811 should be placed for a negative monetary quantity.
812 The same values are recognized as for
816 followed by an integer that indicates the placement of
817 .I int_currency_symbol
818 for a nonnegative internationally formatted monetary quantity.
819 The same values are recognized as for
823 followed by an integer that indicates the placement of
824 .I int_currency_symbol
825 for a negative internationally formatted monetary quantity.
826 The same values are recognized as for
829 .I int_p_sep_by_space
830 followed by an integer that indicates the separation of
831 .IR int_currency_symbol ,
833 and the value for a nonnegative internationally formatted monetary quantity.
834 The same values are recognized as for
837 .I int_n_sep_by_space
838 followed by an integer that indicates the separation of
839 .IR int_currency_symbol ,
841 and the value for a negative internationally formatted monetary quantity.
842 The same values are recognized as for
846 followed by an integer that indicates where the
848 should be placed for a nonnegative
849 internationally formatted monetary quantity.
850 The same values are recognized as for
854 followed by an integer that indicates where the
856 should be placed for a negative
857 internationally formatted monetary quantity.
858 The same values are recognized as for
863 definition ends with the string
864 .IR "END LC_MONETARY" .
866 The definition starts with the string
870 Various keywords are allowed, but only
873 Other keywords are needed only if there is common convention to
874 use the corresponding salutation in this locale.
875 The allowed keywords are as follows:
878 followed by a string containing field descriptors that define
879 the format used for names in the locale.
880 The following field descriptors are recognized:
881 .\" From localedata/locales/uk_UA:
888 Family names in uppercase.
897 First given name with Latin letters.
903 Additional given name(s).
906 Initials for additional given name(s).
912 Salutation, such as "Doctor".
915 Abbreviated salutation, such as "Mr." or "Dr.".
918 Salutation, using the FDCC-sets conventions.
919 .\" 1 for the name_gen
920 .\" In glibc 2.19, %d1 is used in only:
921 .\" /home/mtk/ARCHIVE/GLIBC/glibc-2.19/localedata/locales/bem_ZM
922 .\" /home/mtk/ARCHIVE/GLIBC/glibc-2.19/localedata/locales/zh_HK
923 .\" In glibc 2.19, %d[2-5] appear to be not used at all
930 If the preceding field descriptor resulted in an empty string,
931 then the empty string, otherwise a space character.
935 followed by the general salutation for any gender.
938 followed by the salutation for men.
941 followed by the salutation for married women.
944 followed by the salutation for unmarried women.
947 followed by the salutation valid for all women.
951 definition ends with the string
954 The definition starts with the string
958 The following keywords are allowed:
961 followed by the string that will be used as the decimal delimiter
962 when formatting numeric quantities.
965 followed by the string that will be used as a group separator
966 when formatting numeric quantities.
969 followed by a sequence of integers as plain numbers separated by
970 semicolons that describe the formatting of numeric quantities.
972 Each integer specifies the number of digits in a group.
973 The first integer defines the size of the group immediately
974 to the left of the decimal delimiter.
975 Subsequent integers define succeeding groups to the
976 left of the previous group.
977 If the last integer is not \-1, then the size of the previous group
978 (if any) is repeatedly used for the remainder of the digits.
979 If the last integer is \-1, then no further grouping is performed.
983 definition ends with the string
984 .IR "END LC_NUMERIC" .
986 The definition starts with the string
990 Values in this category are defined as plain numbers.
992 The following keywords are allowed:
995 followed by the height, in millimeters, of the standard paper format.
998 followed by the width, in millimeters, of the standard paper format.
1002 definition ends with the string
1003 .IR "END LC_PAPER" .
1005 The definition starts with the string
1007 in the first column.
1009 The following keywords are allowed:
1012 followed by a string that contains field descriptors that identify
1013 the format used to dial international numbers.
1014 The following field descriptors are recognized:
1015 .\" From localedata/locales/uk_UA
1019 Area code without nationwide prefix (the prefix is often "00").
1022 Area code including nationwide prefix.
1025 Local number (within area code).
1028 Extension (to local number).
1034 Alternate carrier service code used for dialing abroad.
1037 If the preceding field descriptor resulted in an empty string,
1038 then the empty string, otherwise a space character.
1042 followed by a string that contains field descriptors that identify
1043 the format used to dial domestic numbers.
1044 The recognized field descriptors are the same as for
1048 followed by the prefix used to call international phone numbers.
1051 followed by the prefix used from other countries to dial this country.
1055 definition ends with the string
1056 .IR "END LC_TELEPHONE" .
1058 The definition starts with the string
1060 in the first column.
1062 The following keywords are allowed:
1065 followed by a list of abbreviated names of the days of the week.
1066 The list starts with the first day of the week
1069 (Sunday by default).
1073 followed by a list of names of the days of the week.
1074 The list starts with the first day of the week
1077 (Sunday by default).
1081 followed by a list of abbreviated month names.
1084 followed by a list of month names.
1087 followed by the appropriate date and time format
1092 followed by the appropriate date format
1097 followed by the appropriate time format
1102 followed by the appropriate representation of the
1107 This should be left empty for locales not using AM/PM convention.
1110 followed by the appropriate time format
1113 when using 12h clock format.
1114 This should be left empty for locales not using AM/PM convention.
1117 followed by semicolon-separated strings that define how years are
1118 counted and displayed for each era in the locale.
1119 Each string has the following format:
1122 .IR direction ":" offset ":" start_date ":" end_date ":" era_name ":" era_format
1124 The fields are to be defined as follows:
1133 means the years closer to
1135 have lower numbers than years closer to
1141 The number of the year closest to
1143 in the era, corresponding to the
1149 The start of the era in the form of
1151 Years prior AD 1 are represented as negative numbers.
1154 The end of the era in the form of
1156 or one of the two special values of
1161 means the ending date is the beginning of time.
1163 means the ending date is the end of time.
1166 The name of the era corresponding to the
1172 The format of the year in the era corresponding to the
1179 followed by the format of the date in alternative era notation,
1180 corresponding to the
1186 followed by the format of the time in alternative era notation,
1187 corresponding to the
1193 followed by the format of the date and time in alternative era notation,
1194 corresponding to the
1200 followed by the alternative digits used for date and time in the locale.
1203 followed by a list of three values as plain numbers:
1204 The number of days in a week (by default 7),
1205 a date of beginning of the week (by default corresponds to Sunday),
1206 and the minimal length of the first week in year (by default 4).
1207 Regarding the start of the week,
1209 shall be used for Sunday and
1211 shall be used for Monday.
1214 .IR first_weekday " (since glibc 2.2)"
1215 followed by the number of the first day from the
1217 list to be shown in calendar applications.
1218 The default value of
1220 (plain number) corresponds to either Sunday or Monday depending
1221 on the value of the second
1226 .IR first_workday " (since glibc 2.2)"
1227 followed by the number of the first working day from the
1230 The default value is
1236 .\" from localedata/locales/uk_UA
1237 followed by a plain number value that indicates the direction for the
1238 display of calendar dates, as follows:
1242 Left-right from top.
1248 Right-left from top.
1252 followed by the appropriate date representation for
1259 definition ends with the string
1263 .I /usr/lib/locale/locale-archive
1264 Usual default locale archive location.
1266 .I /usr/share/i18n/locales
1267 Usual default path for locale definition files.
1269 POSIX.2, ISO/IEC TR 14652.
1271 The collective GNU C library community wisdom regarding
1279 https://sourceware.org/glibc/wiki/Locales
1282 The value of the second
1284 list item specifies the base of the
1291 specifies the offset of the first day-of-week in the
1297 For compatibility reasons, all glibc locales should set the value of the
1302 (Sunday) and base the
1306 lists appropriately, and set
1314 depending on whether the week and work week actually starts on Sunday or
1315 Monday for the locale.
1317 .\" Jochen Hein (Hein@Student.TU-Clausthal.de)