summaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
Diffstat (limited to 'util')
-rw-r--r--util/corelib/qurl-generateTLDs/main.cpp2
-rwxr-xr-xutil/local_database/cldr2qlocalexml.py24
-rwxr-xr-xutil/local_database/qlocalexml2cpp.py15
3 files changed, 26 insertions, 15 deletions
diff --git a/util/corelib/qurl-generateTLDs/main.cpp b/util/corelib/qurl-generateTLDs/main.cpp
index b003ff0428..3d46bd9401 100644
--- a/util/corelib/qurl-generateTLDs/main.cpp
+++ b/util/corelib/qurl-generateTLDs/main.cpp
@@ -103,7 +103,7 @@ int main(int argc, char **argv) {
while (!file.atEnd()) {
QString s = QString::fromUtf8(file.readLine());
QString st = s.trimmed();
- int num = qHash(st) % lineCount;
+ int num = qt_hash(st) % lineCount;
QString utf8String = utf8encode(st.toUtf8());
diff --git a/util/local_database/cldr2qlocalexml.py b/util/local_database/cldr2qlocalexml.py
index 3c45db206b..868dd02931 100755
--- a/util/local_database/cldr2qlocalexml.py
+++ b/util/local_database/cldr2qlocalexml.py
@@ -209,13 +209,33 @@ def generateLocaleInfo(path):
try:
return findEntry(path, xpath + "[numberSystem=" + numbering_system + "]")
except xpathlite.Error:
- pass
+ # in CLDR 1.9 number system was refactored for numbers (but not for currency)
+ # so if previous findEntry doesn't work we should try this:
+ try:
+ return findEntry(path, xpath.replace("/symbols/", "/symbols[numberSystem=" + numbering_system + "]/"))
+ except xpathlite.Error:
+ # fallback to default
+ pass
return findEntry(path, xpath)
+
result['decimal'] = get_number_in_system(path, "numbers/symbols/decimal", numbering_system)
result['group'] = get_number_in_system(path, "numbers/symbols/group", numbering_system)
result['list'] = get_number_in_system(path, "numbers/symbols/list", numbering_system)
result['percent'] = get_number_in_system(path, "numbers/symbols/percentSign", numbering_system)
- result['zero'] = get_number_in_system(path, "numbers/symbols/nativeZeroDigit", numbering_system)
+ try:
+ numbering_systems = {}
+ for ns in findTagsInFile(cldr_dir + "/../supplemental/numberingSystems.xml", "numberingSystems"):
+ tmp = {}
+ id = ""
+ for data in ns[1:][0]: # ns looks like this: [u'numberingSystem', [(u'digits', u'0123456789'), (u'type', u'numeric'), (u'id', u'latn')]]
+ tmp[data[0]] = data[1]
+ if data[0] == u"id":
+ id = data[1]
+ numbering_systems[id] = tmp
+ result['zero'] = numbering_systems[numbering_system][u"digits"][0]
+ except e:
+ sys.stderr.write("Native zero detection problem:\n" + str(e) + "\n")
+ result['zero'] = get_number_in_system(path, "numbers/symbols/nativeZeroDigit", numbering_system)
result['minus'] = get_number_in_system(path, "numbers/symbols/minusSign", numbering_system)
result['plus'] = get_number_in_system(path, "numbers/symbols/plusSign", numbering_system)
result['exp'] = get_number_in_system(path, "numbers/symbols/exponential", numbering_system).lower()
diff --git a/util/local_database/qlocalexml2cpp.py b/util/local_database/qlocalexml2cpp.py
index 89f79c984e..3cb2b982e5 100755
--- a/util/local_database/qlocalexml2cpp.py
+++ b/util/local_database/qlocalexml2cpp.py
@@ -504,7 +504,6 @@ def main():
date_format_data = StringData()
time_format_data = StringData()
months_data = StringData()
- standalone_months_data = StringData()
days_data = StringData()
am_data = StringData()
pm_data = StringData()
@@ -546,9 +545,9 @@ def main():
date_format_data.append(l.longDateFormat),
time_format_data.append(l.shortTimeFormat),
time_format_data.append(l.longTimeFormat),
- standalone_months_data.append(l.standaloneShortMonths),
- standalone_months_data.append(l.standaloneLongMonths),
- standalone_months_data.append(l.standaloneNarrowMonths),
+ months_data.append(l.standaloneShortMonths),
+ months_data.append(l.standaloneLongMonths),
+ months_data.append(l.standaloneNarrowMonths),
months_data.append(l.shortMonths),
months_data.append(l.longMonths),
months_data.append(l.narrowMonths),
@@ -612,14 +611,6 @@ def main():
data_temp_file.write("\n")
- # Standalone months data
- #check_static_char_array_length("standalone_months", standalone_months_data.data)
- data_temp_file.write("static const ushort standalone_months_data[] = {\n")
- data_temp_file.write(wrap_list(standalone_months_data.data))
- data_temp_file.write("\n};\n")
-
- data_temp_file.write("\n")
-
# Days data
#check_static_char_array_length("days", days_data.data)
data_temp_file.write("static const ushort days_data[] = {\n")