PHP 8.2.30
Preview: languages.py Size: 2.68 KB
/opt/alt/python37/lib/python3.7/site-packages/babel/languages.py

# -- encoding: UTF-8 --
from babel.core import get_global


def get_official_languages(territory, regional=False, de_facto=False):
    """
    Get the official language(s) for the given territory.

    The language codes, if any are known, are returned in order of descending popularity.

    If the `regional` flag is set, then languages which are regionally official are also returned.

    If the `de_facto` flag is set, then languages which are "de facto" official are also returned.

    .. warning:: Note that the data is as up to date as the current version of the CLDR used
                 by Babel.  If you need scientifically accurate information, use another source!

    :param territory: Territory code
    :type territory: str
    :param regional: Whether to return regionally official languages too
    :type regional: bool
    :param de_facto: Whether to return de-facto official languages too
    :type de_facto: bool
    :return: Tuple of language codes
    :rtype: tuple[str]
    """

    territory = str(territory).upper()
    allowed_stati = {"official"}
    if regional:
        allowed_stati.add("official_regional")
    if de_facto:
        allowed_stati.add("de_facto_official")

    languages = get_global("territory_languages").get(territory, {})
    pairs = [
        (info['population_percent'], language)
        for language, info in languages.items()
        if info.get('official_status') in allowed_stati
    ]
    pairs.sort(reverse=True)
    return tuple(lang for _, lang in pairs)


def get_territory_language_info(territory):
    """
    Get a dictionary of language information for a territory.

    The dictionary is keyed by language code; the values are dicts with more information.

    The following keys are currently known for the values:

    * `population_percent`: The percentage of the territory's population speaking the
                            language.
    * `official_status`: An optional string describing the officiality status of the language.
                         Known values are "official", "official_regional" and "de_facto_official".

    .. warning:: Note that the data is as up to date as the current version of the CLDR used
                 by Babel.  If you need scientifically accurate information, use another source!

    .. note:: Note that the format of the dict returned may change between Babel versions.

    See https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html

    :param territory: Territory code
    :type territory: str
    :return: Language information dictionary
    :rtype: dict[str, dict]
    """
    territory = str(territory).upper()
    return get_global("territory_languages").get(territory, {}).copy()

Directory Contents

Dirs: 3 × Files: 13

Name Size Perms Modified Actions
- drwxr-xr-x 2024-03-03 23:11:06
Edit Download
localtime DIR
- drwxr-xr-x 2024-03-03 23:11:06
Edit Download
messages DIR
- drwxr-xr-x 2024-03-03 23:11:06
Edit Download
36.04 KB lrw-r--r-- 2021-04-28 19:13:54
Edit Download
66.12 KB lrw-r--r-- 2021-04-28 19:13:54
Edit Download
248.46 KB lrw-r--r-- 2021-04-28 19:26:50
Edit Download
2.68 KB lrw-r--r-- 2018-07-20 10:31:17
Edit Download
2.66 KB lrw-r--r-- 2021-04-28 19:13:54
Edit Download
7.75 KB lrw-r--r-- 2021-04-28 19:13:54
Edit Download
38.94 KB lrw-r--r-- 2021-04-28 19:13:54
Edit Download
20.81 KB lrw-r--r-- 2021-04-28 19:13:54
Edit Download
22.09 KB lrw-r--r-- 2021-04-28 19:13:54
Edit Download
11.03 KB lrw-r--r-- 2021-04-28 19:13:49
Edit Download
7.40 KB lrw-r--r-- 2021-04-28 19:13:54
Edit Download
1.65 KB lrw-r--r-- 2019-02-20 13:12:21
Edit Download
714 B lrw-r--r-- 2021-04-28 19:13:54
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).