Server IP : 172.67.216.182 / Your IP : 172.69.176.32 Web Server : Apache System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /lib/python3/dist-packages/babel/ |
Upload File : |
# -- 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()