mirror of
https://bitbucket.org/smil3y/katie.git
synced 2025-02-23 18:32:55 +00:00
minor genlocale script review
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
This commit is contained in:
parent
b0ece0296f
commit
096ec68dc4
1 changed files with 123 additions and 122 deletions
|
@ -23,31 +23,31 @@ def stripxmltext(fromxmltext):
|
|||
result = result.replace(' ', ' ')
|
||||
return result.strip()
|
||||
|
||||
def stringtoushort(fromstring):
|
||||
def toushort(fromstring):
|
||||
# NOTE: symbols (plus, minus, etc.) are assumed to be single character which is not true for
|
||||
# many of the locales, however the API for those does not handle them as strings thus the first
|
||||
# character only is used
|
||||
return ord(fromstring)
|
||||
|
||||
def listtochar(stringlist):
|
||||
def tochararray(fromstringlist):
|
||||
result = '{ '
|
||||
for string in stringlist:
|
||||
for string in fromstringlist:
|
||||
result = '%s"%s\\0", ' % (result, string)
|
||||
result = '%s }' % result
|
||||
result = result.replace(', }', ' }')
|
||||
return result
|
||||
|
||||
def stringtochar(string):
|
||||
if string:
|
||||
return '"%s\\0"' % string
|
||||
def tochar(fromstring):
|
||||
if fromstring:
|
||||
return '"%s\\0"' % fromstring
|
||||
return 'Q_NULLPTR'
|
||||
|
||||
def stringtoescapedchar(string):
|
||||
if string:
|
||||
return '"%s\\0"' % string.replace('"', '\\"')
|
||||
def toescapedchar(fromstring):
|
||||
if fromstring:
|
||||
return '"%s\\0"' % fromstring.replace('"', '\\"')
|
||||
return 'Q_NULLPTR'
|
||||
|
||||
def daytoenum(day):
|
||||
def todayenum(day):
|
||||
if day == 'mon':
|
||||
return 'Qt::Monday'
|
||||
elif day == 'tue':
|
||||
|
@ -253,49 +253,49 @@ def printlocaledata(frommap, key):
|
|||
value['first_day_of_week'],
|
||||
value['weekend_start'],
|
||||
value['weekend_end'],
|
||||
stringtoushort(value['decimal']),
|
||||
stringtoushort(value['group']),
|
||||
stringtoushort(value['list']),
|
||||
stringtoushort(value['percent']),
|
||||
stringtoushort(value['zero']),
|
||||
stringtoushort(value['minus']),
|
||||
stringtoushort(value['plus']),
|
||||
stringtoushort(value['exponential']),
|
||||
toushort(value['decimal']),
|
||||
toushort(value['group']),
|
||||
toushort(value['list']),
|
||||
toushort(value['percent']),
|
||||
toushort(value['zero']),
|
||||
toushort(value['minus']),
|
||||
toushort(value['plus']),
|
||||
toushort(value['exponential']),
|
||||
value['currency_digits'],
|
||||
value['currency_rounding'],
|
||||
stringtoescapedchar(value['quotation_start']),
|
||||
stringtoescapedchar(value['quotation_end']),
|
||||
stringtoescapedchar(value['alternate_quotation_start']),
|
||||
stringtoescapedchar(value['alternate_quotation_end']),
|
||||
stringtochar(value['language_endonym']),
|
||||
stringtochar(value['country_endonym']),
|
||||
stringtochar(value['list_pattern_part_start']),
|
||||
stringtochar(value['list_pattern_part_mid']),
|
||||
stringtochar(value['list_pattern_part_end']),
|
||||
stringtochar(value['list_pattern_part_two']),
|
||||
stringtochar(value['short_date_format']),
|
||||
stringtochar(value['long_date_format']),
|
||||
stringtochar(value['short_time_format']),
|
||||
stringtochar(value['long_time_format']),
|
||||
stringtochar(value['am']),
|
||||
stringtochar(value['pm']),
|
||||
stringtochar(value['currency_symbol']),
|
||||
stringtochar(value['currency_format']),
|
||||
stringtochar(value['currency_negative_format']),
|
||||
stringtochar(value['currency_iso_code']),
|
||||
listtochar(value['currency_display_name']),
|
||||
listtochar(value['standalone_short_month_names']),
|
||||
listtochar(value['standalone_long_month_names']),
|
||||
listtochar(value['standalone_narrow_month_names']),
|
||||
listtochar(value['short_month_names']),
|
||||
listtochar(value['long_month_names']),
|
||||
listtochar(value['narrow_month_names']),
|
||||
listtochar(value['standalone_short_day_names']),
|
||||
listtochar(value['standalone_long_day_names']),
|
||||
listtochar(value['standalone_narrow_day_names']),
|
||||
listtochar(value['short_day_names']),
|
||||
listtochar(value['long_day_names']),
|
||||
listtochar(value['narrow_day_names']),
|
||||
toescapedchar(value['quotation_start']),
|
||||
toescapedchar(value['quotation_end']),
|
||||
toescapedchar(value['alternate_quotation_start']),
|
||||
toescapedchar(value['alternate_quotation_end']),
|
||||
tochar(value['language_endonym']),
|
||||
tochar(value['country_endonym']),
|
||||
tochar(value['list_pattern_part_start']),
|
||||
tochar(value['list_pattern_part_mid']),
|
||||
tochar(value['list_pattern_part_end']),
|
||||
tochar(value['list_pattern_part_two']),
|
||||
tochar(value['short_date_format']),
|
||||
tochar(value['long_date_format']),
|
||||
tochar(value['short_time_format']),
|
||||
tochar(value['long_time_format']),
|
||||
tochar(value['am']),
|
||||
tochar(value['pm']),
|
||||
tochar(value['currency_symbol']),
|
||||
tochar(value['currency_format']),
|
||||
tochar(value['currency_negative_format']),
|
||||
tochar(value['currency_iso_code']),
|
||||
tochararray(value['currency_display_name']),
|
||||
tochararray(value['standalone_short_month_names']),
|
||||
tochararray(value['standalone_long_month_names']),
|
||||
tochararray(value['standalone_narrow_month_names']),
|
||||
tochararray(value['short_month_names']),
|
||||
tochararray(value['long_month_names']),
|
||||
tochararray(value['narrow_month_names']),
|
||||
tochararray(value['standalone_short_day_names']),
|
||||
tochararray(value['standalone_long_day_names']),
|
||||
tochararray(value['standalone_narrow_day_names']),
|
||||
tochararray(value['short_day_names']),
|
||||
tochararray(value['long_day_names']),
|
||||
tochararray(value['narrow_day_names']),
|
||||
key,
|
||||
)
|
||||
)
|
||||
|
@ -320,7 +320,7 @@ languagemap['C'] = ['', 'C']
|
|||
countrymap['AnyCountry'] = ['', 'Default']
|
||||
scriptmap['AnyScript'] = ['', 'Default']
|
||||
|
||||
# language to script parsing
|
||||
# locale to script parsing
|
||||
tree = ET.parse('common/supplemental/supplementalData.xml')
|
||||
root = tree.getroot()
|
||||
for supllanguage in root.findall('./languageData/language'):
|
||||
|
@ -328,39 +328,39 @@ for supllanguage in root.findall('./languageData/language'):
|
|||
supllanguagescripts = supllanguage.get('scripts')
|
||||
localescriptmap[supllanguagetype] = supllanguagescripts
|
||||
|
||||
# language to first day parsing
|
||||
# locale to first day parsing
|
||||
for firstday in root.findall('./weekData/firstDay'):
|
||||
firstdayday = firstday.get('day')
|
||||
firstdayterritories = firstday.get('territories')
|
||||
localefirstdaymap[daytoenum(firstdayday)] = stripxmltext(firstdayterritories).split(' ')
|
||||
localefirstdaymap[todayenum(firstdayday)] = stripxmltext(firstdayterritories).split(' ')
|
||||
|
||||
# language to week start parsing
|
||||
# locale to week start parsing
|
||||
for weekstart in root.findall('./weekData/weekendStart'):
|
||||
weekstartday = weekstart.get('day')
|
||||
weekstartterritories = weekstart.get('territories')
|
||||
localeweekstartmap[daytoenum(weekstartday)] = stripxmltext(weekstartterritories).split(' ')
|
||||
localeweekstartmap[todayenum(weekstartday)] = stripxmltext(weekstartterritories).split(' ')
|
||||
|
||||
# language to week end parsing
|
||||
# locale to week end parsing
|
||||
for weekend in root.findall('./weekData/weekendStart'):
|
||||
weekendday = weekend.get('day')
|
||||
weekendterritories = weekend.get('territories')
|
||||
localeweekendmap[daytoenum(weekendday)] = stripxmltext(weekendterritories).split(' ')
|
||||
localeweekendmap[todayenum(weekendday)] = stripxmltext(weekendterritories).split(' ')
|
||||
|
||||
# language to iso4217 parsing
|
||||
# locale to iso4217 parsing
|
||||
for region in root.findall('./currencyData/region'):
|
||||
regioniso3166 = region.get('iso3166')
|
||||
latestcurrency = region.find('currency')
|
||||
lastestcurrencyiso4217 = latestcurrency.get('iso4217')
|
||||
localeiso4217map[regioniso3166] = lastestcurrencyiso4217
|
||||
|
||||
# language to currency parsing
|
||||
# locale to currency parsing
|
||||
for info in root.findall('./currencyData/fractions/info'):
|
||||
infoiso4217 = info.get('iso4217')
|
||||
infodigits = info.get('digits')
|
||||
inforounding = info.get('rounding')
|
||||
localecurrencymap[infoiso4217] = [infodigits, inforounding]
|
||||
|
||||
# language to numeric system parsing
|
||||
# locale to numeric system parsing
|
||||
tree = ET.parse('common/supplemental/numberingSystems.xml')
|
||||
root = tree.getroot()
|
||||
for numeric in root.findall('./numberingSystems/numberingSystem'):
|
||||
|
@ -483,11 +483,11 @@ for xml in glob.glob('common/main/*.xml'):
|
|||
# only interested in specific languages
|
||||
continue
|
||||
|
||||
lang = os.path.basename(xml)
|
||||
lang = lang.replace('.xml', '')
|
||||
locale = os.path.basename(xml)
|
||||
locale = locale.replace('.xml', '')
|
||||
|
||||
localemap[lang] = {}
|
||||
mapcopy(localemap['Default'], localemap[lang])
|
||||
localemap[locale] = {}
|
||||
mapcopy(localemap['Default'], localemap[locale])
|
||||
|
||||
tree = ET.parse(xml)
|
||||
root = tree.getroot()
|
||||
|
@ -497,13 +497,13 @@ for xml in glob.glob('common/main/*.xml'):
|
|||
langtype = None
|
||||
countrytype = None
|
||||
currencytype = None
|
||||
numertype = 'latn' # CLDR default
|
||||
numbertype = 'latn' # CLDR default
|
||||
|
||||
# atleast language is required
|
||||
langtype = language.get('type')
|
||||
for key in languagemap.keys():
|
||||
if langtype == languagemap[key][0]:
|
||||
localemap[lang]['language'] = 'QLocale::Language::%s' % key
|
||||
localemap[locale]['language'] = 'QLocale::Language::%s' % key
|
||||
break
|
||||
|
||||
country = root.find('./identity/territory')
|
||||
|
@ -511,7 +511,7 @@ for xml in glob.glob('common/main/*.xml'):
|
|||
countrytype = country.get('type')
|
||||
for key in countrymap.keys():
|
||||
if countrytype == countrymap[key][0]:
|
||||
localemap[lang]['country'] = 'QLocale::Country::%s' % key
|
||||
localemap[locale]['country'] = 'QLocale::Country::%s' % key
|
||||
break
|
||||
else:
|
||||
# territory often is not specified, use language code as fallback
|
||||
|
@ -523,106 +523,106 @@ for xml in glob.glob('common/main/*.xml'):
|
|||
|
||||
defaultnumbersystem = root.find('./numbers/defaultNumberingSystem')
|
||||
if defaultnumbersystem is not None:
|
||||
numertype = defaultnumbersystem.text
|
||||
numbertype = defaultnumbersystem.text
|
||||
|
||||
# find values from suplemental maps
|
||||
if langtype:
|
||||
for key in scriptmap.keys():
|
||||
if localescriptmap[langtype] == scriptmap[key][0]:
|
||||
localemap[lang]['script'] = 'QLocale::Script::%s' % key
|
||||
localemap[locale]['script'] = 'QLocale::Script::%s' % key
|
||||
break
|
||||
|
||||
for key in localefirstdaymap.keys():
|
||||
for countryvalue in localefirstdaymap[key]:
|
||||
if countryvalue == countrytype:
|
||||
localemap[lang]['first_day_of_week'] = key
|
||||
localemap[locale]['first_day_of_week'] = key
|
||||
break
|
||||
|
||||
for key in localeweekstartmap.keys():
|
||||
for countryvalue in localeweekstartmap[key]:
|
||||
if countryvalue == countrytype:
|
||||
localemap[lang]['weekend_start'] = key
|
||||
localemap[locale]['weekend_start'] = key
|
||||
break
|
||||
|
||||
for key in localeweekendmap.keys():
|
||||
for countryvalue in localeweekendmap[key]:
|
||||
if countryvalue == countrytype:
|
||||
localemap[lang]['weekend_end'] = key
|
||||
localemap[locale]['weekend_end'] = key
|
||||
break
|
||||
|
||||
# find from language data
|
||||
# find from locale data
|
||||
for symbol in root.findall('./numbers/symbols'):
|
||||
symbolnumbersystem = symbol.get('numberSystem')
|
||||
if not symbolnumbersystem == numertype:
|
||||
# should be the language numeric system
|
||||
if not symbolnumbersystem == numbertype:
|
||||
# should be the locale numeric system
|
||||
continue
|
||||
|
||||
decimal = symbol.find('./decimal')
|
||||
if decimal is not None and len(decimal.text) == 1:
|
||||
localemap[lang]['decimal'] = decimal.text
|
||||
localemap[locale]['decimal'] = decimal.text
|
||||
|
||||
group = symbol.find('./group')
|
||||
if group is not None and len(group.text) == 1:
|
||||
localemap[lang]['group'] = group.text
|
||||
localemap[locale]['group'] = group.text
|
||||
|
||||
listdelimiter = symbol.find('./list')
|
||||
if listdelimiter is not None and len(listdelimiter.text) == 1:
|
||||
localemap[lang]['list'] = listdelimiter.text
|
||||
localemap[locale]['list'] = listdelimiter.text
|
||||
|
||||
percent = symbol.find('./percentSign')
|
||||
if percent is not None and len(percent.text) == 1:
|
||||
localemap[lang]['percent'] = percent.text
|
||||
localemap[locale]['percent'] = percent.text
|
||||
|
||||
# zero is from cross-reference numeric system map,
|
||||
# taking the first character works even for UTF-8 chars
|
||||
localemap[lang]['zero'] = localenumericmap[numertype][0]
|
||||
localemap[locale]['zero'] = localenumericmap[numbertype][0]
|
||||
|
||||
minus = symbol.find('./minusSign')
|
||||
if minus is not None and len(minus.text) == 1:
|
||||
localemap[lang]['minus'] = minus.text
|
||||
localemap[locale]['minus'] = minus.text
|
||||
|
||||
plus = symbol.find('./plusSign')
|
||||
if plus is not None and len(plus.text) == 1:
|
||||
localemap[lang]['plus'] = plus.text
|
||||
localemap[locale]['plus'] = plus.text
|
||||
|
||||
exponential = symbol.find('./exponential')
|
||||
if exponential is not None and len(exponential.text) == 1:
|
||||
localemap[lang]['exponential'] = exponential.text
|
||||
localemap[locale]['exponential'] = exponential.text
|
||||
|
||||
# digits/rounding data is specific so check if it is mapped
|
||||
if currencytype and currencytype in localecurrencymap.keys():
|
||||
localemap[lang]['currency_digits'] = localecurrencymap[currencytype][0]
|
||||
localemap[locale]['currency_digits'] = localecurrencymap[currencytype][0]
|
||||
|
||||
localemap[lang]['currency_rounding'] = localecurrencymap[currencytype][1]
|
||||
localemap[locale]['currency_rounding'] = localecurrencymap[currencytype][1]
|
||||
|
||||
quotationstart = root.find('./delimiters/quotationStart')
|
||||
if quotationstart is not None:
|
||||
localemap[lang]['quotation_start'] = quotationstart.text
|
||||
localemap[locale]['quotation_start'] = quotationstart.text
|
||||
|
||||
quotationend = root.find('./delimiters/quotationEnd')
|
||||
if quotationend is not None:
|
||||
localemap[lang]['quotation_end'] = quotationend.text
|
||||
localemap[locale]['quotation_end'] = quotationend.text
|
||||
|
||||
altquotationstart = root.find('./delimiters/alternateQuotationStart')
|
||||
if altquotationstart is not None:
|
||||
localemap[lang]['alternate_quotation_start'] = altquotationstart.text
|
||||
localemap[locale]['alternate_quotation_start'] = altquotationstart.text
|
||||
|
||||
altquotationend = root.find('./delimiters/alternateQuotationEnd')
|
||||
if altquotationend is not None:
|
||||
localemap[lang]['alternate_quotation_end'] = altquotationend.text
|
||||
localemap[locale]['alternate_quotation_end'] = altquotationend.text
|
||||
|
||||
if langtype:
|
||||
for nativelang in root.findall('./localeDisplayNames/languages/language'):
|
||||
nativelangtype = nativelang.get('type')
|
||||
if nativelangtype == langtype:
|
||||
localemap[lang]['language_endonym'] = nativelang.text
|
||||
localemap[locale]['language_endonym'] = nativelang.text
|
||||
break
|
||||
|
||||
if countrytype:
|
||||
for nativecountry in root.findall('./localeDisplayNames/territories/territory'):
|
||||
nativecountrytype = nativecountry.get('type')
|
||||
if nativecountrytype == countrytype:
|
||||
localemap[lang]['country_endonym'] = nativecountry.text
|
||||
localemap[locale]['country_endonym'] = nativecountry.text
|
||||
break
|
||||
|
||||
listpattern = root.find('./listPatterns/listPattern')
|
||||
|
@ -630,13 +630,13 @@ for xml in glob.glob('common/main/*.xml'):
|
|||
for listpatternpart in listpattern.findall('./listPatternPart'):
|
||||
listpatternparttype = listpatternpart.get('type')
|
||||
if listpatternparttype == 'start':
|
||||
localemap[lang]['list_pattern_part_start'] = tolistformat(listpatternpart.text)
|
||||
localemap[locale]['list_pattern_part_start'] = tolistformat(listpatternpart.text)
|
||||
elif listpatternparttype == 'middle':
|
||||
localemap[lang]['list_pattern_part_mid'] = tolistformat(listpatternpart.text)
|
||||
localemap[locale]['list_pattern_part_mid'] = tolistformat(listpatternpart.text)
|
||||
elif listpatternparttype == 'end':
|
||||
localemap[lang]['list_pattern_part_end'] = tolistformat(listpatternpart.text)
|
||||
localemap[locale]['list_pattern_part_end'] = tolistformat(listpatternpart.text)
|
||||
elif listpatternparttype == '2':
|
||||
localemap[lang]['list_pattern_part_two'] = tolistformat(listpatternpart.text)
|
||||
localemap[locale]['list_pattern_part_two'] = tolistformat(listpatternpart.text)
|
||||
|
||||
for calendar in root.findall('./dates/calendars/calendar'):
|
||||
calendartype = calendar.get('type')
|
||||
|
@ -648,20 +648,20 @@ for xml in glob.glob('common/main/*.xml'):
|
|||
dateformattype = dateformat.get('type')
|
||||
if dateformattype == 'short':
|
||||
pattern = dateformat.find('./dateFormat/pattern')
|
||||
localemap[lang]['short_date_format'] = pattern.text
|
||||
localemap[locale]['short_date_format'] = pattern.text
|
||||
elif dateformattype == 'long':
|
||||
pattern = dateformat.find('./dateFormat/pattern')
|
||||
localemap[lang]['long_date_format'] = pattern.text
|
||||
localemap[locale]['long_date_format'] = pattern.text
|
||||
|
||||
timeformat = calendar.find('./timeFormats/timeFormatLength')
|
||||
if timeformat is not None:
|
||||
timeformattype = timeformat.get('type')
|
||||
if timeformattype == 'short':
|
||||
pattern = timeformat.find('./timeFormat/pattern')
|
||||
localemap[lang]['short_time_format'] = pattern.text
|
||||
localemap[locale]['short_time_format'] = pattern.text
|
||||
elif timeformattype == 'long':
|
||||
pattern = timeformat.find('./timeFormat/pattern')
|
||||
localemap[lang]['long_time_format'] = pattern.text
|
||||
localemap[locale]['long_time_format'] = pattern.text
|
||||
|
||||
for dayperiodwidth in calendar.findall('./dayPeriods/dayPeriodContext/dayPeriodWidth'):
|
||||
dayperiodwidthtype = dayperiodwidth.get('type')
|
||||
|
@ -671,9 +671,9 @@ for xml in glob.glob('common/main/*.xml'):
|
|||
for dayperiod in dayperiodwidth.findall('dayPeriod'):
|
||||
dayperiodtype = dayperiod.get('type')
|
||||
if dayperiodtype == 'am':
|
||||
localemap[lang]['am'] = dayperiod.text
|
||||
localemap[locale]['am'] = dayperiod.text
|
||||
elif dayperiodtype == 'pm':
|
||||
localemap[lang]['pm'] = dayperiod.text
|
||||
localemap[locale]['pm'] = dayperiod.text
|
||||
|
||||
# month/day names
|
||||
for monthcontext in calendar.findall('./months/monthContext'):
|
||||
|
@ -683,25 +683,25 @@ for xml in glob.glob('common/main/*.xml'):
|
|||
monthwidthtype = monthwidth.get('type')
|
||||
if monthwidthtype == 'wide':
|
||||
months = monthwidth.findall('./month')
|
||||
localemap[lang]['standalone_long_month_names'] = tomothslist(months, localemap[lang]['standalone_long_month_names'])
|
||||
localemap[locale]['standalone_long_month_names'] = tomothslist(months, localemap[locale]['standalone_long_month_names'])
|
||||
elif monthwidthtype == 'abbreviated':
|
||||
months = monthwidth.findall('./month')
|
||||
localemap[lang]['standalone_short_month_names'] = tomothslist(months, localemap[lang]['standalone_short_month_names'])
|
||||
localemap[locale]['standalone_short_month_names'] = tomothslist(months, localemap[locale]['standalone_short_month_names'])
|
||||
elif monthwidthtype == 'narrow':
|
||||
months = monthwidth.findall('./month')
|
||||
localemap[lang]['standalone_narrow_month_names'] = tomothslist(months, localemap[lang]['standalone_narrow_month_names'])
|
||||
localemap[locale]['standalone_narrow_month_names'] = tomothslist(months, localemap[locale]['standalone_narrow_month_names'])
|
||||
elif monthcontexttype == 'format':
|
||||
for monthwidth in monthcontext.findall('./monthWidth'):
|
||||
monthwidthtype = monthwidth.get('type')
|
||||
if monthwidthtype == 'wide':
|
||||
months = monthwidth.findall('./month')
|
||||
localemap[lang]['long_month_names'] = tomothslist(months, localemap[lang]['long_month_names'])
|
||||
localemap[locale]['long_month_names'] = tomothslist(months, localemap[locale]['long_month_names'])
|
||||
elif monthwidthtype == 'abbreviated':
|
||||
months = monthwidth.findall('./month')
|
||||
localemap[lang]['short_month_names'] = tomothslist(months, localemap[lang]['short_month_names'])
|
||||
localemap[locale]['short_month_names'] = tomothslist(months, localemap[locale]['short_month_names'])
|
||||
elif monthwidthtype == 'narrow':
|
||||
months = monthwidth.findall('./month')
|
||||
localemap[lang]['narrow_month_names'] = tomothslist(months, localemap[lang]['narrow_month_names'])
|
||||
localemap[locale]['narrow_month_names'] = tomothslist(months, localemap[locale]['narrow_month_names'])
|
||||
|
||||
for daycontext in calendar.findall('./days/dayContext'):
|
||||
daycontexttype = daycontext.get('type')
|
||||
|
@ -710,25 +710,25 @@ for xml in glob.glob('common/main/*.xml'):
|
|||
daywidthtype = daywidth.get('type')
|
||||
if daywidthtype == 'wide':
|
||||
days = daywidth.findall('./day')
|
||||
localemap[lang]['standalone_long_day_names'] = todayslist(days, localemap[lang]['standalone_long_day_names'])
|
||||
localemap[locale]['standalone_long_day_names'] = todayslist(days, localemap[locale]['standalone_long_day_names'])
|
||||
elif daywidthtype == 'abbreviated':
|
||||
days = daywidth.findall('./day')
|
||||
localemap[lang]['standalone_short_day_names'] = todayslist(days, localemap[lang]['standalone_short_day_names'])
|
||||
localemap[locale]['standalone_short_day_names'] = todayslist(days, localemap[locale]['standalone_short_day_names'])
|
||||
elif daywidthtype == 'narrow':
|
||||
days = daywidth.findall('./day')
|
||||
localemap[lang]['standalone_narrow_day_names'] = todayslist(days, localemap[lang]['standalone_narrow_day_names'])
|
||||
localemap[locale]['standalone_narrow_day_names'] = todayslist(days, localemap[locale]['standalone_narrow_day_names'])
|
||||
elif daycontexttype == 'format':
|
||||
for daywidth in daycontext.findall('./dayWidth'):
|
||||
daywidthtype = daywidth.get('type')
|
||||
if daywidthtype == 'wide':
|
||||
days = daywidth.findall('./day')
|
||||
localemap[lang]['long_month_names'] = todayslist(days, localemap[lang]['long_month_names'])
|
||||
localemap[locale]['long_month_names'] = todayslist(days, localemap[locale]['long_month_names'])
|
||||
elif daywidthtype == 'abbreviated':
|
||||
days = daywidth.findall('./day')
|
||||
localemap[lang]['short_day_names'] = todayslist(days, localemap[lang]['short_day_names'])
|
||||
localemap[locale]['short_day_names'] = todayslist(days, localemap[locale]['short_day_names'])
|
||||
elif daywidthtype == 'narrow':
|
||||
days = daywidth.findall('./day')
|
||||
localemap[lang]['narrow_day_names'] = todayslist(days, localemap[lang]['narrow_day_names'])
|
||||
localemap[locale]['narrow_day_names'] = todayslist(days, localemap[locale]['narrow_day_names'])
|
||||
|
||||
# gregorian calendar was found, break
|
||||
break
|
||||
|
@ -740,7 +740,7 @@ for xml in glob.glob('common/main/*.xml'):
|
|||
if elemcurrencytype == currencytype:
|
||||
symbol = elemcurrency.find('./symbol')
|
||||
if symbol is not None:
|
||||
localemap[lang]['currency_symbol'] = symbol.text
|
||||
localemap[locale]['currency_symbol'] = symbol.text
|
||||
|
||||
displaynamelist = ['', '', '', '', '', '', '']
|
||||
for displayname in elemcurrency.findall('./displayName'):
|
||||
|
@ -761,24 +761,25 @@ for xml in glob.glob('common/main/*.xml'):
|
|||
elif displaynamecount == 'other':
|
||||
displaynamelist[6] = displayname.text
|
||||
|
||||
localemap[lang]['currency_display_name'] = displaynamelist
|
||||
localemap[locale]['currency_display_name'] = displaynamelist
|
||||
# currency type was found, break
|
||||
break
|
||||
|
||||
for currencyformat in root.findall('./numbers/currencyFormats'):
|
||||
currencyformatnumbersystem = currencyformat.get('numberSystem')
|
||||
if not currencyformatnumbersystem == numertype:
|
||||
# should be the language numeric system
|
||||
if not currencyformatnumbersystem == numbertype:
|
||||
# should be the locale numeric system
|
||||
continue
|
||||
nativecurrencyformat = currencyformat.find('currencyFormatLength/currencyFormat/pattern')
|
||||
if nativecurrencyformat is not None:
|
||||
formats = tocurrencyformat(nativecurrencyformat.text, localemap[lang])
|
||||
localemap[lang]['currency_format'] = formats[0]
|
||||
formats = tocurrencyformat(nativecurrencyformat.text, localemap[locale])
|
||||
localemap[locale]['currency_format'] = formats[0]
|
||||
|
||||
# negative format is optional
|
||||
if len(formats) > 1:
|
||||
localemap[lang]['currency_negative_format'] = formats[1]
|
||||
localemap[locale]['currency_negative_format'] = formats[1]
|
||||
|
||||
localemap[lang]['currency_iso_code'] = currencytype
|
||||
localemap[locale]['currency_iso_code'] = currencytype
|
||||
|
||||
# month/day names are set during calendar parsing
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue