bf650edb2e
The digit-grouping and fractional-part separators need to be distinct
for parsing to be able to distinguish between two thousand and one vs
two and one thousandth. Thakfully ldml.py asserted this, so caught the
glitch in CLDR v43's data where mn_Mong_MN over-rode mn's decimal, but
not group, and thereby clashed with group. Fortunately the over-ride
is marked as draft="contributed" so we can back out of the collision
and limit the selection to draft="approved" values (but only when
there *is* such a conflict, as plenty of locales have (compatible)
draft data), thereby ignoring the conflicting contribution.
Brought to the attention of cldr-users at:
https://groups.google.com/a/unicode.org/g/cldr-users/c/6kW9kC6fz3g
hopefully that'll lead to a saner resolution at v44.
Task-number: QTBUG-111550
Change-Id: I1332486e60481cb4494446c0c87d89d74bd317d4
Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>
(cherry picked from commit
|
||
---|---|---|
.. | ||
testlocales | ||
cldr2qlocalexml.py | ||
cldr2qtimezone.py | ||
cldr.py | ||
dateconverter.py | ||
enumdata.py | ||
formattags.txt | ||
iso639_3.py | ||
ldml.py | ||
localetools.py | ||
qlocalexml2cpp.py | ||
qlocalexml.py | ||
qlocalexml.rnc | ||
README |
locale_database is used to generate qlocale data from CLDR. CLDR is the Common Locale Data Repository, a database for localized data (like date formats, country names etc). It is provided by the Unicode consortium. See cldr2qlocalexml.py for how to run it and qlocalexml2cpp.py to update the locale data tables (principally text/qlocale_data_p.h and time/q*calendar_data_p.h under src/corelib/). See enumdata.py for when and how to update the data it provides. You shall definitely need to pass --no-verify or -n to git commit for these changes. See cldr2qtimezone.py on how to update tables of Windows-specific names for zones and UTC-offset zone names.