示例#1
0
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
示例#2
0
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')))
示例#3
0
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')))
示例#4
0
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
示例#5
0
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
示例#6
0
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
示例#7
0
def read_iana_registry_scripts():
    scripts = set()
    for entry in parse_registry():
        if entry['Type'] == 'script':
            scripts.add(entry['Subtag'])
    return scripts