qt5base-lts/util/locale_database
Edward Welbourne 71fa90a37c Enable system locale to skip digit-grouping if configured to do so
On macOS it's possible to configure the system locale to not do digit
grouping (separating "thousands", in most western locales); it then
returns an empty string when asked for the grouping character, which
QLocale's system-configuration then ignored, falling back on using the
base UI locale's grouping separator. This could lead to the same
separator being used for decimal and grouping, which should never
happen, least of all when configured to not group at all.

In order to notice when this happens, query() must take care to return
an empty QString (as a QVariant, which is then non-null) when it *has*
a value for the locale property, and that value is empty, as opposed
to a null QVariant when it doesn't find a configured value. The caller
can then distinguish the two cases.

Furthermore, the group and decimal separators need to be distinct, so
we need to take care to avoid cases where the system overrides one
with what the CLDR has given for the other and doesn't over-ride that
other.

Only presently implemented for macOS and MS-Win, since the (other)
Unix implementation of the system locale returns single QChar values
for the numeric tokens - see QTBUG-69324, QTBUG-81053.

Fixes: QTBUG-80459
Change-Id: Ic3fbb0fb86e974604a60781378b09abc13bab15d
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2020-02-03 15:34:02 +01:00
..
testlocales Rename util/locale_database/ to include the e that was missing 2019-05-20 20:42:10 +02:00
cldr2qlocalexml.py Enable system locale to skip digit-grouping if configured to do so 2020-02-03 15:34:02 +01:00
cldr2qtimezone.py Update CLDR to v36 2019-10-25 11:44:48 +02:00
dateconverter.py Rename util/locale_database/ to include the e that was missing 2019-05-20 20:42:10 +02:00
enumdata.py Update CLDR to v36 2019-10-25 11:44:48 +02:00
formattags.txt Rename util/locale_database/ to include the e that was missing 2019-05-20 20:42:10 +02:00
localexml.py Add support for the Islamic Civil calendar 2019-08-22 10:10:02 +00:00
qlocalexml2cpp.py Correct some references to corelib/tools/ to say corelib/text/ 2019-10-25 11:44:27 +02:00
README Rename util/locale_database/ to include the e that was missing 2019-05-20 20:42:10 +02:00
xpathlite.py Suggest name, when available, for unknown codes 2019-05-20 20:42:11 +02:00

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.