qt6-bb10/util/locale_database
Edward Welbourne 0c809fc3b5 Derive C locale data from en_US, overriding minor details
The qlocalexml.py Locale.C() had to replicate a whole lot of data that
isn't really relevant to how C differs from en_US and every addition
to what we support required further additions to it. So pass the en_US
Locale object to the pseudoconstructor so that C can inherit from it
and only override the parts where we care about the difference.

Hand-code shortening for short Jalali month names, to match Soroush's
original contribution, and include the narrow forms in the hard-coded
data to keep the generated data unchanged (for now). Note some of the
departures from CLDR; we may want to drop these overrides later.

In the process, convert the mapping from keys to locales to
consistently use IDs for all members of the key, instead of using the
(empty) code value for (as yet unused) variant; it now gets ID 0 and
is consistent with returns from codesToIdNames(). This makes life
easier for the code that now has to construct an en_US key.

Task-number: QTBUG-115158
Change-Id: I3d7acb6a4059daec1bba341fcf015c39c7a6803b
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
2024-06-02 15:25:52 +02:00
..
testlocales Modernise testlocales/ program and make it compile 2024-04-26 07:36:16 +02:00
README Integrate timezone data into the CLDR-via-QLocaleXml pipeline 2024-06-02 15:25:27 +02:00
cldr.py Derive C locale data from en_US, overriding minor details 2024-06-02 15:25:52 +02:00
cldr2qlocalexml.py Derive C locale data from en_US, overriding minor details 2024-06-02 15:25:52 +02:00
dateconverter.py Improve fidelity of approximation to CLDR zone representations 2024-04-22 11:58:25 +02:00
enumdata.py Fix spacing inconsistencies brought to light by flake8 2024-04-23 20:51:19 +02:00
formattags.txt
iso639_3.py
ldml.py Add assorted notes and suggestions in util/locale_database/ 2024-06-02 15:25:21 +02:00
localetools.py Use CLDR's names in QLocale::*ToName() for language, script, territory 2023-08-09 17:53:42 +02:00
qlocalexml.py Derive C locale data from en_US, overriding minor details 2024-06-02 15:25:52 +02:00
qlocalexml.rnc Integrate timezone data into the CLDR-via-QLocaleXml pipeline 2024-06-02 15:25:27 +02:00
qlocalexml2cpp.py qlocalexml2cpp.py: Make clear that ByteArrayData is always ASCII 2024-06-02 15:25:45 +02:00
zonedata.py Simplify UTC offset ID data by computing the offsets 2024-06-02 15:25:13 +02:00

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.