aboutsummaryrefslogtreecommitdiffstats
path: root/jython-tosca-parser/src/main/resources/Lib/site-packages/babel-2.3.4-py2.7.egg/babel/languages.py
diff options
context:
space:
mode:
Diffstat (limited to 'jython-tosca-parser/src/main/resources/Lib/site-packages/babel-2.3.4-py2.7.egg/babel/languages.py')
-rw-r--r--jython-tosca-parser/src/main/resources/Lib/site-packages/babel-2.3.4-py2.7.egg/babel/languages.py71
1 files changed, 71 insertions, 0 deletions
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/babel-2.3.4-py2.7.egg/babel/languages.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/babel-2.3.4-py2.7.egg/babel/languages.py
new file mode 100644
index 0000000..40f5d98
--- /dev/null
+++ b/jython-tosca-parser/src/main/resources/Lib/site-packages/babel-2.3.4-py2.7.egg/babel/languages.py
@@ -0,0 +1,71 @@
+# -- 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 = set(("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 http://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()