The lack of this was hidden by other rules (redundant with it) until CLDR v45, but v46 prunes the redundant rules, breaking this. So include the missing rule and tweak the code that assumed likely sub-tag rules preserved language, since this one doesn't. Rework the tail of withLikelySubtagsAdded() to correctly use this rule, now that we have it. (The prior comment about there being no match-all was wrong: CLDR did have it, but our data skipped it.) Amended one test affected by it (when system locale wasn't en_US). On picking to 6.8, uiLanguages() needed some coaxing to avoid duplicate C locale entries in tests of qualified C locale. Task-number: QTBUG-130877 Change-Id: I2a415b67af4bc8aa6a766bcc1e349ee5bda9f174 Reviewed-by: Mate Barany <mate.barany@qt.io> (cherry picked from commit 303863170c3ea7d1ee1b7188f507ad432ed3f860) |
||
|---|---|---|
| .. | ||
| testlocales | ||
| README | ||
| cldr.py | ||
| cldr2qlocalexml.py | ||
| dateconverter.py | ||
| enumdata.py | ||
| formattags.txt | ||
| iso639_3.py | ||
| ldml.py | ||
| localetools.py | ||
| qlocalexml.py | ||
| qlocalexml.rnc | ||
| qlocalexml2cpp.py | ||
| zonedata.py | ||
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, time/q*calendar_data_p.h and time/qtimezone*_data_p.h under src/corelib/). See enumdata.py and zonedata.py for when and how to update the data they provide. You shall definitely need to pass --no-verify or -n to git commit for these changes. NOTE: on Windows it is advisable to set the environment variable PYTHONUTF8 to 1 before running the scripts to avoid encoding errors.