about summary refs log tree commit diff
path: root/localedata
Commit message (Collapse)AuthorAgeFilesLines
* Keep expected behaviour for [a-z] and [A-z] (Bug 23393).Carlos O'Donell2018-07-252-964/+965
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 9479b6d5e08eacce06c6ab60abc9b2f4eb8b71e4 we updated all of the collation data to harmonize with the new version of ISO 14651 which is derived from Unicode 9.0.0. This collation update brought with it some changes to locales which were not desirable by some users, in particular it altered the meaning of the locale-dependent-range regular expression, namely [a-z] and [A-Z], and for en_US it caused uppercase letters to be matched by [a-z] for the first time. The matching of uppercase letters by [a-z] is something which is already known to users of other locales which have this property, but this change could cause significant problems to en_US and other similar locales that had never had this change before. Whether this behaviour is desirable or not is contentious and GNU Awk has this to say on the topic: https://www.gnu.org/software/gawk/manual/html_node/Ranges-and-Locales.html While the POSIX standard also has this further to say: "RE Bracket Expression": http://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xbd_chap09.html "The current standard leaves unspecified the behavior of a range expression outside the POSIX locale. ... As noted above, efforts were made to resolve the differences, but no solution has been found that would be specific enough to allow for portable software while not invalidating existing implementations." In glibc we implement the requirement of ISO POSIX-2:1993 and use collation element order (CEO) to construct the range expression, the API internally is __collseq_table_lookup(). The fact that we use CEO and also have 4-level weights on each collation rule means that we can in practice reorder the collation rules in iso14651_t1_common (the new data) to provide consistent range expression resolution *and* the weights should maintain the expected total order. Therefore this patch does three things: * Reorder the collation rules for the LATIN script in iso14651_t1_common to deinterlace uppercase and lowercase letters in the collation element orders. * Adds new test data en_US.UTF-8.in for sort-test.sh which exercises strcoll* and strxfrm* and ensures the ISO 14651 collation remains. * Add back tests to tst-fnmatch.input and tst-regexloc.c which exercise that [a-z] does not match A or Z. The reordering of the ISO 14651 data is done in an entirely mechanical fashion using the following program attached to the bug: https://sourceware.org/bugzilla/show_bug.cgi?id=23393#c28 It is up for discussion if the iso14651_t1_common data should be refined further to have 3 very tight collation element ranges that include only a-z, A-Z, and 0-9, which would implement the solution sought after in: https://sourceware.org/bugzilla/show_bug.cgi?id=23393#c12 and implemented here: https://www.sourceware.org/ml/libc-alpha/2018-07/msg00854.html No regressions on x86_64. Verified that removal of the iso14651_t1_common change causes tst-fnmatch to regress with: 422: fnmatch ("[a-z]", "A", 0) = 0 (FAIL, expected FNM_NOMATCH) *** ... 425: fnmatch ("[A-Z]", "z", 0) = 0 (FAIL, expected FNM_NOMATCH) ***
* oc_FR locale: Multiple updates (bug 23140, bug 23422).Quentin PAGÈS2018-07-181-24/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | Multiple updates for Occitan language including alternative month names, update abday and abmon, fix typos in day, fix d_fmt, correct LC_NAME, and use “copy "ca_ES"” as LC_COLLATE. [BZ #23140] * localedata/locales/oc_FR (mon): Rename to... (alt_mon): This, then update October (typo fix). (mon): New content (genitive case, month names preceded by "de" or "d’"). [BZ #23422] * localedata/locales/oc_FR (abday): Update all items. (day): Update Wednesday and Saturday (typo fixes). (abmon): Update all items, except May. (d_fmt): Update "%d.%m.%Y" -> "%d/%m/%Y". (LC_IDENTIFICATION): Bump the revision number and date. Keep the "category" entries in alphabetic order. (LC_ADDRESS): Remove no longer needed comment. (LC_COLLATE): Use “copy "ca_ES"”. (LC_NAME): Set the correct values of "name_fmt", "name_mr", and "name_mrs". Reviewed-by: Carlos O'Donell <carlos@redhat.com>
* New locale: Yakut (Sakha) for Russia (sah_RU) [BZ #22241]Valery Timiriliyev2018-07-184-0/+377
| | | | | | | | | | * localedata/Makefile (test-input): Add sah_RU.UTF-8. (LOCALES): Likewise. * localedata/SUPPORTED (sah_RU/UTF-8): New entry. * localedata/locales/sah_RU: New file. * localedata/sah_RU.UTF-8.in: New file. Reviewed-by: Carlos O'Donell <carlos@redhat.com>
* os_RU: Add alternative month names (bug 23140).Rafal Luzynski2018-07-171-1/+14
| | | | | | | | | [BZ #23140] * localedata/locales/os_RU (mon): Rename to... (alt_mon): This. (mon): Import from CLDR (genitive case). Reviewed-by: Carlos O'Donell <carlos@redhat.com>
* dsb_DE locale: Fix syntax error and add tests (bug 23208).Rafal Luzynski2018-07-133-2/+77
| | | | | | | | | | | | | Fixed syntax error in the collation rules of Lower Sorbian language. Collation test added in order to test the bugs like this early. Reported-by: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com> [BZ #23208] * localedata/Makefile (test-input): Add dsb_DE.UTF-8. (LOCALES): Likewise. * localedata/dsb_DE.UTF-8.in: New file. * localedata/locales/dsb_DE (LC_COLLATE): Fix syntax error.
* Put the correct Unicode version number 11.0.0 into the generated filesMike FABIAN2018-07-104-45/+79
| | | | | | | | | | | In some places there was still the old Unicode version 10.0.0 in the files. * localedata/charmaps/UTF-8: Use correct Unicode version 11.0.0 in comment. * localedata/locales/i18n_ctype: Use correct Unicode version in comments and headers. * localedata/unicode-gen/utf8_gen.py: Add option to specify Unicode version * localedata/unicode-gen/Makefile: Use option to specify Unicode version for utf8_gen.py
* locale: XFAIL newlocale usage in static binary (Bug 23164)Carlos O'Donell2018-07-047-27/+147
| | | | | | | | | | | | | | There is a glibc optimization which allows for locale categories to be removed during static compilation. There have been various bugs for this support over the years, with bug 16915 being the most recent. The solution there was to emit a reference to all the categories to avoid any being removed. This fix, although it's in the generic __nl_langinfo_l function, doesn't appear to be enough to fix the case for a statically linked program that uses newlocale and nl_langinfo_l. This commit doesn't fix the problem, but it does add a XFAIL'd test case such that a fix can be applied against this and the XFAIL removed. It's not entirely clear that the problem is the same as that which was seen in bug 16915.
* Bug 23308: Update to Unicode 11.0.0Mike FABIAN2018-07-0414-2375/+4350
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unicode 11.0.0 Support: Character encoding, character type info, and transliteration tables are all updated to Unicode 11.0.0, using the generator scripts contributed by Mike FABIAN (Red Hat). Some info about the number of characters added: Total added characters in newly generated CHARMAP: 684 Total added characters in newly generated WIDTH: 119 alpha: Added 380 characters in new ctype which were not in old ctype combining: Added 56 characters in new ctype which were not in old ctype combining_level3: Added 37 characters in new ctype which were not in old ctype graph: Added 684 characters in new ctype which were not in old ctype lower: Added 82 characters in new ctype which were not in old ctype print: Added 684 characters in new ctype which were not in old ctype punct: Added 304 characters in new ctype which were not in old ctype tolower: Added 79 characters in new ctype which were not in old ctype totitle: Added 33 characters in new ctype which were not in old ctype toupper: Added 79 characters in new ctype which were not in old ctype upper: Added 79 characters in new ctype which were not in old ctype No characters were removed. [BZ #23308] * unicode-gen/Makefile (UNICODE_VERSION): Set to 11.0.0. * localedata/unicode-gen/DerivedCoreProperties.txt: Update to Unicode 11.0.0. * localedata/unicode-gen/EastAsianWidth.txt: likewise. * localedata/unicode-gen/PropList.txt: likewise. * localedata/unicode-gen/UnicodeData.txt: likewise. * localedata/charmaps/UTF-8: Regenerate. * localedata/locales/i18n_ctype: likewise. * localedata/locales/tr_TR: likewise. * localedata/locales/translit_circle: likewise. * localedata/locales/translit_cjk_compat: likewise. * localedata/locales/translit_combining: likewise. * localedata/locales/translit_compat: likewise. * localedata/locales/translit_font: likewise. * localedata/locales/translit_fraction: likewise.
* New locale: Lower Sorbian (dsb_DE) [BZ #23208]Michael Wolf2018-06-292-0/+252
| | | | | | [BZ #23208] * localedata/SUPPORTED (dsb_DE/UTF-8): New entry. * localedata/locales/dsb_DE: New file.
* hy_AM: Add alternative month names (bug 23140).Rafal Luzynski2018-06-291-12/+24
| | | | | | | | | | | | | This locale already contained correct data in mon array. Updated from CLDR to start the month names with the lowercase letters. alt_mon is a new import from CLDR. The change has been consulted off-list with a native speaker. [BZ #23140] * localedata/locales/hy_AM (mon): Synchronize with CLDR (lowercase, genitive case). (alt_mon): New entry, import from CLDR (nominative case).
* es_BO locale: Change LC_PAPER to en_US (bug 22996).Sylvain Lesage2018-06-291-1/+1
| | | | | [BZ #22996] * localedata/locales/es_BO (LC_PAPER): Change to “copy "en_US"”.
* ast_ES: Add alternative month names (bug 23140).Rafal Luzynski2018-06-291-1/+16
| | | | | | | [BZ #23140] * localedata/locales/ast_ES (mon): Rename to... (alt_mon): This. (mon): Import from CLDR (genitive case).
* csb_PL: Add alternative month names (bug 23140).Rafal Luzynski2018-06-251-2/+20
| | | | | | | | | | | | | | | | | | Kashubian language is not supported by CLDR, data copied from Wikipedia and documents released by RJK (official Kashubian Language Council), also consulted with a native speaker. Note that this language also needs ab_alt_mon feature due to the month May: nominative "môj", genitive "maja"; abbreviated nominative "môj", abbreviated genitive "maj". [BZ #23140] * localedata/locales/csb_PL (mon): Rename to... (alt_mon): This. (abmon): Rename to... (ab_alt_mon): This. (mon): Add with proper genitive forms, copy from Wikipedia. (abmon): Likewise.
* csb_PL: Update month translations + add yesstr/nostr (bug 19485).Rafal Luzynski2018-06-251-2/+4
| | | | | | | | | | Thank you Michal Ostrowski for the feedback. [BZ #19485] * localedata/locales/csb_PL (mon): Fix typos: "łżëkwiôt" -> "łżëkwiat" (April); "lëpinc" -> "lëpińc" (July). (yesstr): Add, value is "jo". (nostr): Add, value is "nié".
* localedata: Make IBM273 compatible with ISO-8859-1 [BZ #23290]Florian Weimer2018-06-141-1/+1
| | | | Reviewed-by: Carlos O'Donell <carlos@redhat.com>
* gd_GB, hsb_DE, wa_BE: Add alternative month names (bug 23140).Rafal Luzynski2018-06-123-10/+45
| | | | | | | | | | | | | | | | | | | | | | | | As a followup of fixing bug 10871, these three languages now support two grammatical cases of the month names. This commit does not resolve the bug because there are more languages to be committed. [BZ #23140] * localedata/locales/gd_GB (mon): Rename to... (alt_mon): This. (mon): Import from CLDR (genitive case). * localedata/locales/hsb_DE (mon): Rename to... (alt_mon): This. (mon): Import from CLDR (genitive case). * localedata/locales/wa_BE (mon): Rename to... (alt_mon): This. (mon): Add, fill with the proper genitive forms, but CLDR data is incomplete; completed according to the comments in this file. (d_t_fmt): Do not use "di" before the month name, no longer needed. * localedata/locales/wa_BE (country_name): Reword "Beljike" -> "Beldjike".
* gd_GB: Fix typo in abbreviated "May" (bug 23152).Rafal Luzynski2018-05-111-2/+2
| | | | | | | | [BZ #23152] * localedata/locales/gd_GB (abmon): Fix typo in May: "Mhàrt" -> "Cèit". Adjust the comment according to the change. Reviewed-by: Carlos O'Donell <carlos@redhat.com>
* hr_HR locale: fix thousands_sep and mon_thousands_sepDragan Stanojevic - Nevidljivi2018-04-231-2/+2
| | | | | | [BZ #23094] * localedata/locales/hr_HR: fix thousands_sep and mon_thousands_sep
* cs_CZ locale: Add alternative month names (bug 22963).Rafal Luzynski2018-03-151-1/+14
| | | | | | | | | Add alternative month names, primary month names are genitive now. [BZ #22963] * localedata/locales/cs_CZ (mon): Rename to... (alt_mon): This. (mon): Import from CLDR (genitive case).
* Greek (el_CY, el_GR) locales: Introduce ab_alt_mon (bug 22937).Rafal Luzynski2018-03-152-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | As spotted by GNOME translation team, Greek language has the actually visible difference between the abbreviated nominative and the abbreviated genitive case for some month names. Examples: May: abbreviated nominative: "Μάι" -> abbreviated genitive: "Μαΐ" July: abbreviated nominative: "Ιούν" -> abbreviated genitive: "Ιουλ" and more month names with similar differences. Original discussion: https://bugzilla.gnome.org/show_bug.cgi?id=793645#c21 [BZ #22937] * localedata/locales/el_CY (abmon): Rename to... (ab_alt_mon): This. (abmon): Import from CLDR (abbreviated genitive case). * localedata/locales/el_GR (abmon): Rename to... (ab_alt_mon): This. (abmon): Import from CLDR (abbreviated genitive case).
* lt_LT locale: Update abbreviated month names (bug 22932).Rafal Luzynski2018-03-151-6/+6
| | | | | | | | | A GNOME translator asked to use the same abbreviated month names as provided by CLDR. This sounds reasonable. See the discussion: https://bugzilla.gnome.org/show_bug.cgi?id=793645#c27 [BZ #22932] * localedata/locales/lt_LT (abmon): Synchronize with CLDR.
* ca_ES locale: Update LC_TIME (bug 22848).Robert Buj2018-03-151-40/+71
| | | | | | | | | | | | | | | | | | | | | | | Add/fix alternative month names, long & short formats, am_pm, abday settings, and improve indentation for Catalan. [BZ #22848] * localedata/locales/ca_ES (abmon): Rename to... (ab_alt_mon): This, then synchronize with CLDR (nominative case). (mon): Rename to... (alt_mon): This. (abmon): Import from CLDR (genitive case, month names preceded by "de" or "d’"). (mon): Likewise. (abday): Synchronize with CLDR. (d_t_fmt): Likewise. (d_fmt): Likewise. (am_pm): Likewise. (LC_TIME): Improve indentation. (LC_TELEPHONE): Likewise. (LC_NAME): Likewise. (LC_ADDRESS): Likewise.
* an_ES locale: update some locale data [BZ #22896]Mike FABIAN2018-03-011-35/+22
| | | | | | | [BZ #22896] * localedata/locales/an_ES: update month and day names, improve d_fmt, improve postal_fmt, add country_post, add country_isbn
* bg_BG locale: Fix a typo in a commentMike FABIAN2018-03-011-1/+1
| | | | | * localedata/locales/bg_BG (LC_COLLATE): The comment mentioned Ukrainian instead of Bulgarian.
* Remove the lines from cmn_TW.UTF-8.in which cannot work at the moment.Mike FABIAN2018-02-271-670/+0
| | | | | | | | | | | | | | See this bug https://sourceware.org/bugzilla/show_bug.cgi?id=22898 These lines don’t yet work because of a glibc bug, not because of problems in the locale data. No matter what sorting rules one uses, these characters cannot be sorted at all at the moment. As soon as that bug is fixed, these lines should be added back to the test file. * localedata/cmn_TW.UTF-8.in: Remove the lines which cannot be sorted correctly at the moment because of a bug.
* Adapt collation in several locales to the new iso14651_t1_common fileMike FABIAN2018-02-27138-5497/+112594
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [BZ #22550] - es_ES locale (and other es_* locales): collation should treat ñ as a primary different character, sync the collation for Spanish with CLDR [BZ #21547] - Tibetan script collation broken (Dzongkha and Tibetan) * localedata/Makefile: Add new test files. * localedata/lv_LV.UTF-8.in: Adapt test file to new collation order. * localedata/sv_SE.ISO-8859-1.in: Adapt test file to new collation order. * localedata/uk_UA.UTF-8.in: Adapt test file to new collation order. * localedata/am_ET.UTF-8.in: New test file. * localedata/az_AZ.UTF-8.in: Likewise. * localedata/be_BY.UTF-8.in: Likewise. * localedata/ber_DZ.UTF-8.in: Likewise. * localedata/ber_MA.UTF-8.in: Likewise. * localedata/bg_BG.UTF-8.in: Likewise. * localedata/br_FR.UTF-8.in: Likewise. * localedata/cmn_TW.UTF-8.in: Likewise. * localedata/crh_UA.UTF-8.in: Likewise. * localedata/csb_PL.UTF-8.in: Likewise. * localedata/cv_RU.UTF-8.in: Likewise. * localedata/cy_GB.UTF-8.in: Likewise. * localedata/dz_BT.UTF-8.in: Likewise. * localedata/eo.UTF-8.in: Likewise. * localedata/es_ES.UTF-8.in: Likewise. * localedata/fa_IR.UTF-8.in: Likewise. * localedata/fi_FI.UTF-8.in: Likewise. * localedata/fil_PH.UTF-8.in: Likewise. * localedata/fur_IT.UTF-8.in: Likewise. * localedata/gez_ER.UTF-8@abegede.in: Likewise. * localedata/ha_NG.UTF-8.in: Likewise. * localedata/ig_NG.UTF-8.in: Likewise. * localedata/ik_CA.UTF-8.in: Likewise. * localedata/kk_KZ.UTF-8.in: Likewise. * localedata/ku_TR.UTF-8.in: Likewise. * localedata/ky_KG.UTF-8.in: Likewise. * localedata/ln_CD.UTF-8.in: Likewise. * localedata/mi_NZ.UTF-8.in: Likewise. * localedata/ml_IN.UTF-8.in: Likewise. * localedata/mn_MN.UTF-8.in: Likewise. * localedata/mr_IN.UTF-8.in: Likewise. * localedata/mt_MT.UTF-8.in: Likewise. * localedata/nb_NO.UTF-8.in: Likewise. * localedata/om_KE.UTF-8.in: Likewise. * localedata/os_RU.UTF-8.in: Likewise. * localedata/ps_AF.UTF-8.in: Likewise. * localedata/ro_RO.UTF-8.in: Likewise. * localedata/ru_RU.UTF-8.in: Likewise. * localedata/sc_IT.UTF-8.in: Likewise. * localedata/se_NO.UTF-8.in: Likewise. * localedata/sq_AL.UTF-8.in: Likewise. * localedata/sv_SE.UTF-8.in: Likewise. * localedata/szl_PL.UTF-8.in: Likewise. * localedata/tg_TJ.UTF-8.in: Likewise. * localedata/tk_TM.UTF-8.in: Likewise. * localedata/tt_RU.UTF-8.in: Likewise. * localedata/tt_RU.UTF-8@iqtelif.in: Likewise. * localedata/ug_CN.UTF-8.in: Likewise. * localedata/uz_UZ.UTF-8.in: Likewise. * localedata/vi_VN.UTF-8.in: Likewise. * localedata/yi_US.UTF-8.in: Likewise. * localedata/yo_NG.UTF-8.in: Likewise. * localedata/zh_CN.UTF-8.in: Likewise. * localedata/locales/am_ET: Adapt collation rules to new iso14651_t1_common file and fix bugs in the collation. * localedata/locales/az_AZ: Likewise. * localedata/locales/be_BY: Likewise. * localedata/locales/ber_DZ: Likewise. * localedata/locales/ber_MA: Likewise. * localedata/locales/bg_BG: Likewise. * localedata/locales/br_FR: Likewise. * localedata/locales/br_FR@euro: Likewise. * localedata/locales/ca_ES: Likewise. * localedata/locales/cns11643_stroke: Likewise. * localedata/locales/crh_UA: Likewise. * localedata/locales/cs_CZ: Likewise. * localedata/locales/csb_PL: Likewise. * localedata/locales/cv_RU: Likewise. * localedata/locales/cy_GB: Likewise. * localedata/locales/da_DK: Likewise. * localedata/locales/dz_BT: Likewise. * localedata/locales/en_CA: Likewise. * localedata/locales/eo: Likewise. * localedata/locales/es_CU: Likewise. * localedata/locales/es_EC: Likewise. * localedata/locales/es_ES: Likewise. * localedata/locales/es_US: Likewise. * localedata/locales/et_EE: Likewise. * localedata/locales/fa_IR: Likewise. * localedata/locales/fi_FI: Likewise. * localedata/locales/fil_PH: Likewise. * localedata/locales/fur_IT: Likewise. * localedata/locales/gez_ER@abegede: Likewise. * localedata/locales/ha_NG: Likewise. * localedata/locales/hr_HR: Likewise. * localedata/locales/hsb_DE: Likewise. * localedata/locales/hu_HU: Likewise. * localedata/locales/ig_NG: Likewise. * localedata/locales/ik_CA: Likewise. * localedata/locales/is_IS: Likewise. * localedata/locales/iso14651_t1_pinyin: Likewise. * localedata/locales/kk_KZ: Likewise. * localedata/locales/ku_TR: Likewise. * localedata/locales/ky_KG: Likewise. * localedata/locales/ln_CD: Likewise. * localedata/locales/lt_LT: Likewise. * localedata/locales/lv_LV: Likewise. * localedata/locales/mi_NZ: Likewise. * localedata/locales/ml_IN: Likewise. * localedata/locales/mn_MN: Likewise. * localedata/locales/mr_IN: Likewise. * localedata/locales/mt_MT: Likewise. * localedata/locales/nb_NO: Likewise. * localedata/locales/om_KE: Likewise. * localedata/locales/os_RU: Likewise. * localedata/locales/pl_PL: Likewise. * localedata/locales/ps_AF: Likewise. * localedata/locales/ro_RO: Likewise. * localedata/locales/ru_RU: Likewise. * localedata/locales/ru_UA: Likewise. * localedata/locales/sc_IT: Likewise. * localedata/locales/se_NO: Likewise. * localedata/locales/si_LK: Likewise. * localedata/locales/sq_AL: Likewise. * localedata/locales/sv_FI: Likewise. * localedata/locales/sv_FI@euro: Likewise. * localedata/locales/sv_SE: Likewise. * localedata/locales/szl_PL: Likewise. * localedata/locales/tg_TJ: Likewise. * localedata/locales/ti_ER: Likewise. * localedata/locales/tk_TM: Likewise. * localedata/locales/tl_PH: Likewise. * localedata/locales/tr_TR: Likewise. * localedata/locales/tt_RU: Likewise. * localedata/locales/tt_RU@iqtelif: Likewise. * localedata/locales/ug_CN: Likewise. * localedata/locales/uk_UA: Likewise. * localedata/locales/uz_UZ: Likewise. * localedata/locales/uz_UZ@cyrillic: Likewise. * localedata/locales/vi_VN: Likewise. * localedata/locales/yi_US: Likewise. * localedata/locales/yo_NG: Likewise.
* Improve gen-locales.mk and gen-locale.sh to make test files with @ options workMike FABIAN2018-02-271-2/+3
| | | | | | | | | With out this, adding collation test files like localedata/gez_ER.UTF-8@abegede.in does not work for locales which contain @ modifiers. * gen-locales.mk: Make test files which contain @ modifiers in their name work. * localedata/gen-locale.sh: Likewise.
* Collation order of @-. and space has changed in new iso14651_t1_common file, ↵Mike FABIAN2018-02-274-12/+14
| | | | | | | | | | | adapt test files * localedata/da_DK.ISO-8859-1.in: In the new iso14651_t1_common file downloaded from ISO, the collation order of @-. and space has changed. Therefore, this test file needed to be adapted. * localedata/fr_CA.UTF-8.in: Likewise. * localedata/fr_FR.UTF-8.in: Likewise. * localedata/uk_UA.UTF-8.in: Likewise.
* Collation order of ȥ has changed in new iso14651_t1_common file, adapt test ↵Mike FABIAN2018-02-272-4/+4
| | | | | | | | files * localedata/cs_CZ.UTF-8.in: adapt this test file to the collation order of ȥ in the new iso14651_t1_common file. * localedata/pl_PL.UTF-8.in: Likewise.
* Add sections for various scripts to the iso14651_t1_common fileMike FABIAN2018-02-271-9/+68
| | | | | * localedata/locales/iso14651_t1_common: Add sections for various scripts to the iso14651_t1_common file.
* iso14651_t1_common: make the fourth level the codepoint for characters which ↵Mike FABIAN2018-02-271-457/+457
| | | | | | | | | | | | | | | | | | | | | | are ignorable on all 4 levels Entries for characters which have “IGNORE” on all 4 levels like: <U0001> IGNORE;IGNORE;IGNORE;IGNORE % START OF HEADING (in ISO 6429) are changed into: <U0001> IGNORE;IGNORE;IGNORE;<U0001> % START OF HEADING (in ISO 6429) i.e. putting the code point of the character into the fourth level instead of “IGNORE”. Without that change, all such characters would compare equal which would make a wcscoll test case fail. It is better to have a clearly defined sort order even for characters like this so it is good to use the code point as a tie-break. * localedata/locales/iso14651_t1_common: Use the code point of a character in the fourth collation level instead of IGNORE for all entries which have IGNORE on all 4 levels.
* Add convenience symbols like <AFTER-A>, <BEFORE-A> to iso14651_t1_commonMike FABIAN2018-02-271-0/+120
| | | | | | * localedata/locales/iso14651_t1_common: Add some convenient collation symbols like <AFTER-A>, <BEFORE-A> to make tailoring easier using rules similar to those in CLDR.
* Fixing syntax errors after updating the iso14651_t1_common fileMike FABIAN2018-02-271-4/+32811
| | | | | | * localedata/locales/iso14651_t1_common: The new version of this file downloaded from ISO contained several syntax errors which are fixed by this patch.
* iso14651_t1_common: <U\([0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F]\)> → <U000\1>Mike FABIAN2018-02-271-13294/+13294
| | | | | * localedata/locales/iso14651_t1_common: replace all <U.....> with <U000.....> because glibc understands only 4 digit or 8 digit
* Necessary changes after updating the iso14651_t1_common fileMike FABIAN2018-02-271-8/+16
| | | | | * localedata/locales/iso14651_t1_common: Necessary changes to make the file downloaded from ISO usable by glibc.
* Update iso14651_t1_common file to ISO14651_2016_TABLE1_en.txt [BZ #14095]Mike FABIAN2018-02-271-9494/+52571
| | | | | | | | | | | | | | | | | | | | | | [BZ #14095] - Review / update collation data from Unicode / ISO 14651 File downloaded from: http://standards.iso.org/iso-iec/14651/ed-4/ISO14651_2016_TABLE1_en.txt Updating this file alone is not enough, there are problems in the new file which need to be fixed and the collation rules for many locales need to be adapted. This is done by the following patches. This update also fixes the problem that many characters are treated as identical when sorting because they were not yet in the old iso14651_t1_common file, see: https://bugzilla.redhat.com/show_bug.cgi?id=1336308 - Infinite (∞) and empty set (∅) are treated as if they were the same character by sort and uniq [BZ #14095] * localedata/locales/iso14651_t1_common: Update file to latest version from ISO (ISO14651_2016_TABLE1_en.txt).
* Remove --quiet argument when installing localesMike FABIAN2018-02-231-1/+1
| | | | | | | Using this argument hides problems. I would like to see when something fails. * localedata/Makefile: Remove --quiet argument when installing locales
* Use / instead of - in d_fmt for pt_BR and pt_PT [BZ #17438]Mike FABIAN2018-02-232-2/+2
| | | | | | | [BZ #17438] * localedata/locales/pt_BR (LC_TIME): use / instead of - in d_fmt. * localedata/locales/pt_PT (LC_TIME): likewise
* Use “copy "es_BO"” in LC_TIME of es_CU, es_CL, and es_ECMike FABIAN2018-02-233-108/+3
| | | | | | | | | | LC_TIME in these 4 locales is identical, using “copy "es_BO"” makes that more obvious. [BZ #22646] * localedata/locales/es_CL (LC_TIME): copy "es_BO". * localedata/locales/es_CU (LC_TIME): copy "es_BO". * localedata/locales/es_EC (LC_TIME): copy "es_BO".
* Add missing “reorder-end” in LC_COLLATE of et_EE [BZ #22517]Mike FABIAN2018-02-211-0/+2
| | | | | [BZ #22517] * localedata/locales/et_EE (LC_COLLATE): add missing “reorder-end”
* hr_HR: Add alternative month names (bug 10871).Rafal Luzynski2018-01-301-2/+14
| | | | | | | | [BZ #10871] * localedata/locales/hr_HR (mon): Rename to... (alt_mon): This. (mon): Import from CLDR (genitive case). (d_t_fmt): Update the comment.
* lt_LT: Add alternative month names (bug 10871).Rafal Luzynski2018-01-291-0/+12
| | | | | | [BZ #10871] * localedata/locales/lt_LT (alt_mon): Import from CLDR (nominative case).
* be_BY, be_BY@latin: Add alternative month names (bug 10871).Rafal Luzynski2018-01-292-26/+62
| | | | | | | | | | | | | | | | | | | This patch also fixes spelling of lang_name in be_BY@latin, as reported by Ihar Hrachyshka. [BZ #10871] * localedata/locales/be_BY (mon): Rename to... (alt_mon): This, then synchronize with CLDR (nominative case). (abmon): Rename to... (ab_alt_mon): This, then synchronize with CLDR (nominative case). (mon): Import from CLDR (genitive case). (abmon): Likewise. * localedata/locales/be_BY@latin (mon): Rename to... (alt_mon): This. (mon): Add, proper genitive forms provided by Viktar Siarheichyk. * localedata/locales/be_BY@latin (lang_name): Reworded to "biełaruskaja mova".
* el_CY, el_GR: Add alternative month names (bug 10871).Rafal Luzynski2018-01-292-2/+26
| | | | | | | | [BZ #10871] * localedata/locales/el_CY (mon): Renamed to... (alt_mon): This. (mon): Import from CLDR (genitive case). * localedata/locales/el_GR: Likewise.
* ru_RU, ru_UA: Add alternative month names (bug 10871).Rafal Luzynski2018-01-292-4/+52
| | | | | | | | | | | | | | [BZ #10871] * localedata/locales/ru_RU (mon): Rename to... (alt_mon): This. (abmon): Rename to... (ab_alt_mon): This. (mon): Import from CLDR (genitive case). (abmon): Copy from the old content except the 5th month which is now in the genitive case, even when abbreviated. * localedata/locales/ru_UA: Likewise. * time/tst-strptime.c (day_tests): Add an actual example of a difference between %b and %Ob in Russian.
* uk_UA: Add alternative month names (bug 10871).Rafal Luzynski2018-01-251-13/+5
| | | | | | | | | | | | | | | Primary month names are in a genitive case now, alternative month names are in a nominative case. The alternative digits hack is no longer needed and has been removed. [BZ #10871] * localedata/locales/uk_UA (mon): Renamed to... (alt_mon): This. (alt_digits): "0" removed and then renamed to... (mon): This. (date_fmt): Definition changed not to use the alternative digits hack.
* pl_PL: Add alternative month names (bug 10871).Rafal Luzynski2018-01-221-1/+13
| | | | | | | | [BZ #10871] * localedata/locales/pl_PL: Alternative month names added, primary month names are genitive now. * time/tst-strptime.c (day_tests): Actually use a genitive case of a month name in Polish language.
* Implement alternative month names (bug 10871).Rafal Luzynski2018-01-221-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some languages (Slavic, Baltic, etc.) require a genitive case of the month name when formatting a full date (with the day number) while they require a nominative case when referring to the month standalone. This requirement cannot be fulfilled without providing two forms for each month name. From now it is specified that nl_langinfo(MON_1) series (up to MON_12) and strftime("%B") generate the month names in the grammatical form used when the month is a part of a complete date. If the grammatical form used when the month is named by itself is needed, the new values nl_langinfo(ALTMON_1) (up to ALTMON_12) and strftime("%OB") are supported. This new feature is optional so the languages which do not need it or do not yet provide the updated locales simply do not use it and their behaviour is unchanged. [BZ #10871] * locale/C-time.c (_nl_C_LC_TIME): Add alternative month names, define them as the same as primary full month names explicitly. * locale/categories.def (LC_TIME): Add alt_mon and wide-alt_mon. * locale/langinfo.h (__ALTMON_1, __ALTMON_2, __ALTMON_3, __ALTMON_4, __ALTMON_5, __ALTMON_6, __ALTMON_7, __ALTMON_8, __ALTMON_9, __ALTMON_10, __ALTMON_11, __ALTMON_12, _NL_WALTMON_1, _NL_WALTMON_2, _NL_WALTMON_3, _NL_WALTMON_4, _NL_WALTMON_5, _NL_WALTMON_6, _NL_WALTMON_7, _NL_WALTMON_8, _NL_WALTMON_9, _NL_WALTMON_10, _NL_WALTMON_11, _NL_WALTMON_12): New enum constants. [__USE_GNU] (ALTMON_1, ALTMON_2, ALTMON_3, ALTMON_4, ALTMON_5, ALTMON_6, ALTMON_7, ALTMON_8, ALTMON_9, ALTMON_10, ALTMON_11, ALTMON_12): New macros. * locale/programs/ld-time.c (struct locale_time_t): Add alt_mon, walt_mon, and alt_mon_defined members. (time_output): Output alt_mon and walt_mon members. (time_read): Read them, initialize them as copies of mon and wmon respectively if they are missing, initialize alt_mon_defined. * locale/programs/locfile-kw.gperf (alt_mon): Define. * locale/programs/locfile-kw.h: Regenerate. * locale/programs/locfile-token.h (tok_alt_mon): New enum constant. * localedata/tst-langinfo.c (map): Add tests for the new constants ALTMON_1 .. ALTMON_12. * time/Makefile [$(run-built-tests) = yes] (LOCALES): Add fr_FR.UTF-8 and pl_PL.UTF-8. * time/strftime_l.c (f_altmonth): New macro. (__strftime_internal): Handle %OB format. * time/strptime_l.c [_LIBC] (alt_month_name): New macro. (__strptime_internal): Handle %OB format. * time/tst-strptime.c (day_tests): Add tests to parse different forms of month names including the new %OB format specifier. Reviewed-by: Carlos O'Donell <carlos@redhat.com>
* locales gu_IN, lo_LA: Fix obvious typos in dates.Rafal Luzynski2018-01-192-2/+2
| | | | | | | | | Reported-by: Robert Pluim <rpluim@gmail.com> * localedata/locales/gu_IN (LC_IDENTIFICATION): Fix an obvious typo in date: "2004-14-09" should be "2004-09-14". * localedata/locales/lo_LA: Fix an obvious typo in date in the header: "2003-15-09" should be "2003-09-15".
* locales bho_NP, mai_IN, mai_NP: Fix an obvious typo in date.Rafal Luzynski2018-01-183-3/+3
| | | | | | | * localedata/locales/bho_NP (LC_IDENTIFICATION): Fix an obvious typo in date: "2017-24-07" should be "2017-07-24". * localedata/locales/mai_IN: Likewise. * localedata/locales/mai_NP: Likewise.