]> git.ipfire.org Git - thirdparty/babel.git/commitdiff
scripts: add territory-language import from CLDR
authorErik Romijn <eromijn@solidlinks.nl>
Sat, 22 Nov 2014 15:06:44 +0000 (16:06 +0100)
committerAarni Koskela <akx@iki.fi>
Fri, 8 Jan 2016 21:40:23 +0000 (23:40 +0200)
Available in the global data onder the 'territory_language' key.

scripts/import_cldr.py

index a5d0ad5dddf4d5287167b1886a56fa50af8c8ba6..8c0e7f7a5b00c68976d46aa91a56c574ef8a937f 100755 (executable)
@@ -183,6 +183,7 @@ def main():
         territory_currencies = global_data.setdefault('territory_currencies', {})
         parent_exceptions = global_data.setdefault('parent_exceptions', {})
         currency_fractions = global_data.setdefault('currency_fractions', {})
+        territory_languages = global_data.setdefault('territory_languages', {})
 
         # create auxiliary zone->territory map from the windows zones (we don't set
         # the 'zones_territories' map directly here, because there are some zones
@@ -276,6 +277,16 @@ def main():
             cur_crounding = int(fraction.attrib.get('cashRounding', cur_rounding))
             currency_fractions[cur_code] = (cur_digits, cur_rounding, cur_cdigits, cur_crounding)
 
+        # Languages in territories
+        for territory in sup.findall('.//territoryInfo/territory'):
+            languages = {}
+            for language in territory.findall('./languagePopulation'):
+                languages[language.attrib['type']] = {
+                    'population_percent': float(language.attrib['populationPercent']),
+                    'official_status': language.attrib.get('officialStatus'),
+                }
+            territory_languages[territory.attrib['type']] = languages
+
         write_datafile(global_path, global_data, dump_json=dump_json)
 
     # build a territory containment mapping for inheritance