def read_iana_registry_names(): language_quads = [] script_quads = [] territory_quads = [] for entry in parse_registry(): target = None if entry['Type'] == 'language': target = language_quads elif entry['Type'] == 'script': target = script_quads elif entry['Type'] == 'region': # IANA's terminology is 'region' where CLDR's is 'territory' target = territory_quads if target is not None: subtag = entry['Subtag'] priority = 2 if 'Deprecated' in entry: priority = 0 if ('en', subtag) in OVERRIDES: target.append(('en', subtag, OVERRIDES['en', subtag], priority)) else: for desc in entry['Description']: target.append(('en', subtag, desc, priority)) return language_quads, script_quads, territory_quads
def main(db_filename): # Create the database with LanguageDB(db_filename) as db: db.setup() load_registry(db, parse_registry(), 'en') load_cldr(db, Path(data_filename('cldr'))) load_bibliographic_aliases(db, Path(data_filename('bibliographic_codes.csv')))
def main(db_filename): # Create the database with LanguageDB(db_filename) as db: db.setup() load_cldr(db, Path(data_filename('cldr'))) load_registry(db, parse_registry(), 'en') load_bibliographic_aliases( db, Path(data_filename('bibliographic_codes.csv'))) load_custom_aliases(db, Path(data_filename('aliases.csv')))
def read_iana_registry_replacements(): replacements = {} for entry in parse_registry(): if entry['Type'] == 'language' and 'Preferred-Value' in entry: # Replacements for language codes replacements[entry['Subtag']] = entry['Preferred-Value'] elif 'Tag' in entry and 'Preferred-Value' in entry: # Replacements for entire tags replacements[entry['Tag'].lower()] = entry['Preferred-Value'] return replacements
def read_iana_registry_macrolanguages(): macros = {} for entry in parse_registry(): if entry['Type'] == 'language' and 'Macrolanguage' in entry: macros[entry['Subtag']] = entry['Macrolanguage'] return macros
def read_iana_registry_scripts(): scripts = {} for entry in parse_registry(): if entry['Type'] == 'language' and 'Suppress-Script' in entry: scripts[entry['Subtag']] = entry['Suppress-Script'] return scripts
def read_iana_registry_scripts(): scripts = set() for entry in parse_registry(): if entry['Type'] == 'script': scripts.add(entry['Subtag']) return scripts