How to use the langcodes.db.PARENT_LOCALES.get function in langcodes

To help you get started, we’ve selected a few langcodes examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github LuminosoInsight / langcodes / langcodes / semantics.py View on Github external
desired_complete = fill_likely_values(desired)
    supported_complete = fill_likely_values(supported)
    desired_reduced = _searchable_form(desired_complete)
    supported_reduced = _searchable_form(supported_complete)

    # if the languages match after we normalize them, that's very good
    if desired_reduced == supported_reduced:
        return 99

    # CLDR doesn't tell us how to combine the data in 'parentLocales' with
    # that in 'languageMatching', so here's a heuristic that seems to fit.
    desired_tag = meaning_to_tag(desired_reduced)
    supported_tag = meaning_to_tag(supported_reduced)
    if PARENT_LOCALES.get(desired_tag) == supported_tag:
        return 98
    if PARENT_LOCALES.get(supported_tag) == desired_tag:
        return 97

    if desired_complete['script'] == supported_complete['script']:
        # When the scripts match, we can check for mutually intelligible
        # languages.

        dlang, slang = desired_complete['language'], supported_complete['language']
        if (dlang, slang) in LANGUAGE_MATCHING:
            return LANGUAGE_MATCHING[(dlang, slang)]
    
    if desired_complete['language'] == supported_complete['language']:
        if desired_complete['script'] == supported_complete['script']:
            return 96
        else:
            # When the scripts don't match, check for mutually intelligible scripts.
            dlang_script = meaning_to_tag(_filter_keys(desired_complete, {'language', 'script'}))
github LuminosoInsight / langcodes / langcodes / semantics.py View on Github external
return 100

    desired_complete = fill_likely_values(desired)
    supported_complete = fill_likely_values(supported)
    desired_reduced = _searchable_form(desired_complete)
    supported_reduced = _searchable_form(supported_complete)

    # if the languages match after we normalize them, that's very good
    if desired_reduced == supported_reduced:
        return 99

    # CLDR doesn't tell us how to combine the data in 'parentLocales' with
    # that in 'languageMatching', so here's a heuristic that seems to fit.
    desired_tag = meaning_to_tag(desired_reduced)
    supported_tag = meaning_to_tag(supported_reduced)
    if PARENT_LOCALES.get(desired_tag) == supported_tag:
        return 98
    if PARENT_LOCALES.get(supported_tag) == desired_tag:
        return 97

    if desired_complete['script'] == supported_complete['script']:
        # When the scripts match, we can check for mutually intelligible
        # languages.

        dlang, slang = desired_complete['language'], supported_complete['language']
        if (dlang, slang) in LANGUAGE_MATCHING:
            return LANGUAGE_MATCHING[(dlang, slang)]
    
    if desired_complete['language'] == supported_complete['language']:
        if desired_complete['script'] == supported_complete['script']:
            return 96
        else: